{"version":3,"sources":["Assets/images/EmptyListImages/no-assessments.svg","utils/prototypes.js","utils/helpers.js","Assets/images/quote-bg.svg","shared/ui-basics/containers.js","shared/ui-basics/date.jsx","shared/ui-basics/index.js","utils/optionsSets/OptionSets.js","features/cx-assessements/reducer/CxAssessementsActions.js","features/folders/reducer/FoldersActions.js","features/settings/reducer/TeamActions.js","redux/index.js","shared/GenericService.js","redux/memoizedSelectors.js","shared/Icons.js","shared/ui-basics/buttons.js","features/settings/modals/EditLogoModal.js","shared/modals/basic/IframeModal.js","features/workspace/components/others/workspace-typehead.jsx","shared/modals/basic/duplicate-modal.js","shared/modals/basic/NewModal.js","shared/modals/cx-goals/EditCxGoalModal.js","features/journey-map/modals/MoveToSwimlaneModal.js","features/journey-map/modals/ExportModal.js","features/journey-map/modals/components/PersonaCardWithSelectedCheck.js","features/journey-map/modals/components/PersonaModalCard.js","features/journey-map/modals/ManagePersonaModal.js","features/grid-table/modals/EditFilterView.js","features/library/modals/CreateLibraryItemCanvas.js","features/journey-map/modals/CjmListStyle.js","features/forms/personas/modals/LinkListCjmModel.js","features/journey-map/modals/CjmListModal.js","features/grid-table/modals/Styles.js","features/grid-table/modals/ColumnSettingsModal.js","features/ai/modals/PromptAICreation.jsx","features/journey-map/reducer/CJMActions.js","features/workspace/reducer/helpers.js","features/workspace/reducer/WorkspaceReducer.js","features/auth/reducer/AuthReducer.js","features/insights/reducer/helpers.js","features/cx-actions/reducer/ActionReducer.js","features/folders/reducer/FoldersReducer.js","features/insights/reducer/InsightReducer.js","features/journey-map/reducer/CJMReducer.js","features/library/reducer/LibrariesReducer.js","features/opportunity/reducer/OpportunityReducer.js","features/projects/reducer/ProjectReducer.js","features/settings/reducer/SettingsReducer.js","features/solutions/reducer/SolutionsReducer.js","redux/middleware.js","features/analytics/reducer/JourneyTrend/journeyTrendReducer.js","features/analytics/reducer/VoCAnalysis/vocAnalysisReducer.js","features/analytics/reducer/ROIAnalysis/roiAnalysisReducer.js","redux/store.js","shared/components/CustomTooltip.js","features/journey-map/view/journey-map-list.jsx","webpack:///./src/Assets/All/Potion-Wizard.svg?dd21","webpack:///./src/Assets/All/wand-Wizard.svg?99bd","features/journey-map/creation/Style.js","webpack:///./src/Assets/All/Detailed.svg?ef21","webpack:///./src/Assets/All/HighLevel.svg?7351","webpack:///./src/Assets/All/ServiceBlueprint.svg?bbba","webpack:///./src/Assets/All/template-map-creation.svg?e1b3","features/journey-map/creation/image-card-style.js","features/journey-map/creation/card-image-template.jsx","features/journey-map/creation/MapType.js","features/journey-map/creation/MapName.js","features/forms/personas/cards/persona-sections-cards/PersonaProfileCard.js","features/forms/personas/creation/PersonaQuickCreate.js","features/journey-map/creation/MapPersonas.js","features/journey-map/view/journey-map-creation.jsx","features/auth/view/authenticate-cemantica.jsx","features/auth/view/inavalid-page.jsx","features/auth/view/authenticate-microsoft.jsx","features/auth/view/log-out-page.jsx","Assets/images/login-page-background.png","Assets/images/logo-final-cem.svg","features/auth/view/auth-style.js","features/auth/components/LoginStep.jsx","features/auth/components/ResetStep.jsx","features/auth/view/login-page.jsx","features/grid-table/components/GroupByMap.js","features/cx-actions/view/cx-actions-list.jsx","shared/components/charts-components/ChartFilter/ChartFilterCards.js","shared/components/charts-components/ChartFilter/ChartFilter.js","shared/components/charts-components/ChartBuildingBlocks.js","shared/components/charts-components/GroupPointSelector.js","shared/components/charts-components/ChartPoint.js","shared/components/charts-components/Chart.js","features/solutions/view/solutions-quadriant.jsx","features/solutions/view/solutions-list.jsx","features/cx-assessements/view/cx-assessements-page.jsx","features/opportunity/Style.js","features/opportunity/view/opportunity-chart.jsx","features/opportunity/view/opportunity-list.jsx","features/journey-map/cards/MapBoxCard.js","features/journey-map/view/journey-map-hierarchy-view.jsx","features/forms/cx-programs/cards/Styles.js","features/forms/cx-programs/cards/CxProgramCard.js","features/grid-table/components/Style.js","features/grid-table/components/CardView.js","features/forms/cx-programs/view/cxprogram-list.jsx","features/forms/personas/creation/PersonaType.js","features/forms/personas/creation/PersonaDetails.js","features/forms/personas/view/persona-creation.jsx","features/grid-table/components/CardViewPersona.js","webpack:///./src/Assets/All/2hand-celebration-emoji.svg?4511","features/forms/personas/view/persona-list.jsx","Assets/homePage/emoji _waving hand.svg","Assets/homePage/horns-emoji.svg","Assets/homePage/victory-hand-emoji.svg","features/home/components/Header.tsx","Assets/homePage/learn-ask-alex.jpg","Assets/homePage/learn-opportunities.jpg","Assets/homePage/learn-program.jpg","Assets/homePage/learn-voc.jpg","features/home/components/Learn.tsx","Assets/homePage/quick-action.png","features/home/components/QuickActions.tsx","features/home/components/recentWork/RecentWorkCard.tsx","features/home/components/recentWork/RecentWorkEmpty.tsx","features/home/components/recentWork/RecentWork.tsx","features/home/view/home-page.jsx","features/insights/view/Insights.jsx","features/projects/view/project-list.jsx","features/search/view/search-page.jsx","shared/dropdowns/BasicActionsDropdown.js","features/library/components/CustomLibrary/CustomLibraryListItem.tsx","features/library/view/library-custom/components/CustomLibraryAddItem.tsx","features/library/actions/library-actions/BaseActions.js","features/library/modals/LibraryUploadFile.tsx","features/library/view/library-custom/components/CustomLibraryHeader.tsx","features/library/view/library-custom/components/CustomLibraryTopSection.tsx","features/library/view/library-custom/CustomLibrary.tsx","features/library/view/library-measure.jsx","features/library/components/LibraryListCard.jsx","features/library/view/library-list.tsx","features/settings/manage-users/components/cards/contract-details-card.jsx","features/settings/manage-users/view/users.jsx","features/workspace/components/cards/workspace-selector-card.jsx","features/settings/manage-users/components/form/form-styles.js","features/settings/manage-users/components/form/form-member-type.jsx","features/settings/manage-users/components/form/form-personal-details.jsx","features/grid-table/components/UserSubscriptionPlanSelector.js","features/settings/manage-users/components/form/form-settings.jsx","features/settings/manage-users/view/edit-user.jsx","shared/modals/manage-access/TeamMembers.jsx","features/settings/manage-users/view/manage-teams.jsx","features/settings/manage-users/view/manage-ownership.jsx","features/settings/view/settings-organization.jsx","features/settings/view/settings-configurations.jsx","features/settings/components/templates/MapTemplates.js","features/settings/components/templates/PersonaTemplates.js","features/settings/view/settings-template.jsx","features/workspace/actions/BaseActions.js","features/workspace/utils.js","features/workspace/components/cards/workspace-card.jsx","features/workspace/view/workspaces-list.jsx","features/workspace/components/others/color-bubble-picker.jsx","features/workspace/components/others/workspace-manage-users.jsx","features/workspace/view/workspace-form/duplicate-workspace-add-on.jsx","features/workspace/view/workspace-form/workspace-form.jsx","features/integrations/modals/MondayFormConnector.jsx","features/integrations/view/Styles.js","features/integrations/view/Integration-list.jsx","features/integrations/view/Integration-form.jsx","features/integrations/view/Integration-card.jsx","features/inactive/components/Records.js","features/inactive/view/inactive.jsx","features/analytics/reducer/JourneyTrend/journeyTrendActions.js","features/analytics/Components/Cards/ActionListCard.jsx","features/analytics/Components/Cards/MapListCard.jsx","features/analytics/Components/Cards/OpportunityListCard.jsx","features/analytics/Components/Cards/SolutionListCard.jsx","features/analytics/Components/CustomWordCloud.jsx","features/analytics/reducer/analyticActions.js","features/analytics/Components/Export.jsx","features/analytics/Components/Filters/DateFilter.jsx","features/analytics/Components/Filters/DateRangeFilter.jsx","features/analytics/Components/Filters/Filter.jsx","features/analytics/Components/Filters/filters_style.js","features/analytics/Components/Filters/FilterBy.jsx","features/analytics/Components/Filters/FiltersManager.jsx","features/analytics/modals/BasicDrillDownModal.jsx","features/analytics/Components/HorizontalBarsChart.jsx","features/analytics/Components/InsightTypeCard.jsx","features/analytics/Components/Section.jsx","features/analytics/Components/Counter.jsx","features/analytics/view/JourneyTrends/Reports/Counters.jsx","features/analytics/Components/CustomLegend.jsx","features/analytics/Components/Tooltips/TextAndValueTooltip.jsx","features/analytics/view/JourneyTrends/journeyTrendDataSelectors.js","features/analytics/view/JourneyTrends/Reports/MapsPerStatus.jsx","features/analytics/Components/Tooltips/AnalyticCustomTooltip.jsx","features/analytics/view/JourneyTrends/Reports/OpportunityAnalysisMatrix.jsx","features/analytics/Components/SolutionLabel.jsx","features/analytics/view/JourneyTrends/Reports/QuadrantScatterChart.jsx","features/analytics/Components/Ticks/CustomZigZagTick.jsx","features/analytics/view/JourneyTrends/Reports/TopNTouchpoints.jsx","features/analytics/view/JourneyTrends/Reports/TopTenWithLabels.jsx","features/analytics/view/JourneyTrends/JourneyTrendsReports.jsx","features/analytics/view/JourneyTrends/JourneyTrendsDashboard.jsx","features/analytics/reducer/ROIAnalysis/roiAnalysisActions.js","features/analytics/view/ROIAnalysis/roiAnalysisDataSelectors.js","features/analytics/view/ROIAnalysis/Reports/FinancialImpactPerMeasure.jsx","features/analytics/view/ROIAnalysis/Reports/KpiByActual.jsx","features/analytics/view/ROIAnalysis/ROIAnalysisReports.jsx","features/analytics/view/ROIAnalysis/ROIAnalysisDashboard.jsx","features/analytics/Components/Tooltips/CustomTooltipById.jsx","features/analytics/view/VoCAnalysis/Reports/CustomLineChart.jsx","features/analytics/view/VoCAnalysis/vocAnalysisDataSelectors.js","features/analytics/view/VoCAnalysis/Reports/GlobalSentimentOverTime.jsx","features/analytics/view/VoCAnalysis/Reports/SentimentByTouchpoints.jsx","features/analytics/view/VoCAnalysis/Reports/SentimentGeolocalization.jsx","features/analytics/view/VoCAnalysis/Reports/VOCAnalysisCounter.jsx","features/analytics/reducer/VoCAnalysis/vocAnalysisActions.js","features/analytics/view/VoCAnalysis/VoCAnalysisReports.jsx","features/analytics/view/VoCAnalysis/VoCAnalysisDashboard.jsx","features/analytics/view/analytics.jsx","features/journey-map/modals/PersonaInteractions/CopyInteractionModal.jsx","features/journey-map/modals/PersonaInteractions/EditInteraction.jsx","features/index.js","features/grid-table/components/TableSettings.js","shared/hooks/index.js","shared/dynamic-imports/index.js","features/journey-map/reducer/helpers.js","webpack:///./src/Assets/All/unexpected.svg?2a41","shared/components/ErrorBoundary.js","features/signalR/provider/hub-connection.jsx","features/workspace/components/watcher/workspace-watcher.jsx","shared/components/PrivateRoute.js","features/search/components/search-result-components.jsx","features/search/components/general-search-bar-nav.jsx","features/navigation/Header/Notifications.js","features/navigation/Header/modals/components/password-manager.jsx","features/navigation/Header/modals/user-profile-modal.jsx","features/navigation/Header/NavMenuHeader/nav-menu-header-style.js","features/navigation/Header/NavMenuHeader/initials-options.jsx","features/navigation/Header/NavMenuHeader/need-help-options.jsx","features/navigation/Header/NavMenuHeader/NavMenuHeader.js","features/navigation/SideBar/NavComponents.jsx","features/folders/FoldersManager.jsx","features/navigation/Components/navigation-element.jsx","features/navigation/Components/top-actions.jsx","features/navigation/SideBar/NavigationSidebar.jsx","features/auth/modals/changePasswordModal.tsx","features/navigation/navigation-component.jsx","shared/global-layouts/app-layouts.jsx","shared/Routes/private-routes-validation.jsx","shared/hooks/useVersionCheck.js","App.js","index.js","shared/components/data-loader.tsx","features/library/reducer/LibraryActions.js","features/projects/reducer/ProjectsActions.js","shared/cx-components/style.js","shared/components/spinners/Spinner.js","shared/cx-components/cx-components.style.ts","features/analytics/Style.js","features/grid-table/columns-components/ReusableListComponents.js","shared/dropdowns/CreateActionsDropdown.js","utils/permissionManager.js","features/settings/manage-users/components/initials-bubble.jsx","features/grid-table/TableHelpers.js","features/grid-table/DataContext.js","features/grid-table/header/ViewPopover.js","features/grid-table/header/HeaderTable.js","features/grid-table/DataTable.js","features/grid-table/TableColumnsManager.js","features/journey-map/modals/AdvancedSearch/Style.js","shared/components/Editor/extensions/insert-options.jsx","shared/components/Editor/extensions/link-options.jsx","shared/components/Editor/extensions/text-align-options.jsx","shared/components/Editor/extensions/color-options.jsx","shared/components/Editor/helpers.js","shared/components/Editor/extensions/ai-options.jsx","shared/components/Editor/Editor.jsx","shared/components/Editor/extensions/mention-config.jsx","shared/global-layouts/PageTemplate.js","features/analytics/analyticsHelper.js","utils/optionsSets/getterApis.js","shared/components/cards/cx-cards/PicklistCard_style.js","features/grid-table/columns-components/Style.js","features/forms/personas/creation/PersonaCreationStyles.js","shared/Routes/routes.js","shared/components/BulkActionsGenerator.js","shared/dropdowns/library-dropdown/group/bulk-update-groups.jsx","shared/dropdowns/library-dropdown/tags/bulk-update-tags.jsx","features/journey-map/actions/BulkActions.js","features/grid-table/columns-components/All_actions/ActionLink.js","features/grid-table/contexts/JourneyMap/GetJourneyMapContext.js","shared/dropdowns/library-dropdown/persona/bulk-unlink-personas.jsx","features/cx-actions/actions/BulkActions.js","features/grid-table/contexts/Action/GetActionContext.js","features/forms/cx-programs/actions/BulkActions.js","features/grid-table/contexts/Program/GetProgramContext.js","features/forms/personas/actions/BulkActions.js","features/grid-table/columns-components/All_actions/ActionLinkPersona.js","features/grid-table/contexts/Persona/GetPersonaContext.js","features/opportunity/actions/BulkActions.js","features/grid-table/contexts/Opportunity/GetOpportunityContext.js","features/solutions/actions/BulkActions.js","features/grid-table/contexts/Solution/GetSolutionContext.js","features/grid-table/contexts/Folder/GetFolderContext.js","features/settings/manage-users/actions/BaseActions.js","features/settings/manage-users/actions/bulkActions/components/bulk-update-status.jsx","features/workspace/components/others/records-selector.jsx","features/settings/manage-users/actions/bulkActions/components/bulk-update-teams.jsx","features/settings/manage-users/actions/bulkActions/components/bulk-update-workspaces.jsx","features/settings/manage-users/actions/bulkActions/BulkActions.js","features/grid-table/contexts/User/GetUserContext.js","features/projects/actions/BulkActions.js","features/grid-table/contexts/Project/GetProjectContext.js","features/grid-table/contexts/Assessment/GetAssessmentContext.js","features/insights/actions/BaseActions.js","features/insights/actions/BulkActions.js","features/grid-table/contexts/Insight/GetInsightContext.js","features/grid-table/columns-components/Groups.js","features/grid-table/columns-components/MapName.js","features/grid-table/columns-components/Owner.js","features/grid-table/columns-components/State.js","features/grid-table/contexts/JourneyMap/GetJourneyMapColumns.js","features/grid-table/columns-components/GroupsCxAttribute.js","features/grid-table/columns-components/JourneyMaps.jsx","features/grid-table/columns-components/TagsCxAttribute.js","features/grid-table/columns-components/User.js","features/grid-table/contexts/Action/GetActionColumns.js","features/grid-table/columns-components/CxProgramName.js","features/grid-table/contexts/Program/GetProgramColumns.js","features/grid-table/columns-components/HistoricalData.js","features/grid-table/columns-components/Occupation.js","features/grid-table/columns-components/Template.js","features/grid-table/contexts/Persona/GetPersonaColumns.js","features/grid-table/columns-components/PersonaName.js","features/grid-table/contexts/Opportunity/GetOpportunityColumns.js","features/grid-table/contexts/Solution/GetSolutionColumns.js","features/grid-table/contexts/Folder/GetFolderColumns.js","features/grid-table/columns-components/teams-column.jsx","features/grid-table/columns-components/workspaces-column.jsx","features/grid-table/contexts/User/GetUserColumns.js","features/grid-table/columns-components/ProjectName.js","features/grid-table/contexts/Project/GetProjectColumns.js","features/grid-table/contexts/Assessment/GetAssessmentColumns.js","features/grid-table/contexts/Insight/GetInsightColumns.js","features/insights/reducer/InsightActions.js","shared/components/edit-mode-switch.tsx","features/ai/components/AISuggestion.tsx","shared/dropdowns/GenericTypeahead.jsx","features/grid-table/columns-components/Styles.js","features/analytics/Components/EmptyData.jsx","features/opportunity/reducer/OpportunityActions.js","features/taxonomy/components/TaxonomyItem.tsx","features/cx-actions/reducer/CxActionActions.js","features/forms/cx-strategy/reducer/StrategyAction.js","features/comments/modals/comment-center.style.ts","features/workspace/reducer/WorkspaceActions.js","features/solutions/reducer/SolutionsActions.js","shared/ui-basics/ui-components/CustomBreadCrumb.js","features/grid-table/reducer/TableSlice.js","shared/popovers/ReactColor.js","shared/ui-basics/input.js","features/library/modals/link-kpi/Style.js","features/settings/reducer/UserActions.js","features/navigation/SideBar/style.js","shared/modals/manage-access/ManageAccessStyle.js","shared/popovers/GenericPopover.js","shared/modals/list-links/ListLinkedModal.jsx","shared/modals/bulk-links/BulkModalLinkComponent.js","shared/ui-basics/ui-components/tag.jsx","features/solutions/solutionsComponents/BenefitCard.js","features/forms/personas/components/PersonaBubble.js","features/opportunity/modals/edit-opportunity.tsx","shared/ui-basics/ui-components/InsightType.jsx","utils/i18n.js","shared/headers/Style.js","features/forms/cx-programs/reducer/CxProgramActions.js","utils/optionsSets/PickListData.js","shared/modals/manage-access/GenericManageAccess.js","features/forms/personas/reducer/PersonaActions.js","features/auth/reducer/AuthActions.js","shared/cx-components/relations/tabs-data.ts","shared/components/cards/cx-cards/ProjectCard.jsx","features/comments/helpers.ts","features/solutions/modals/edit-solution.tsx","shared/components/cards/TextColorCard.tsx","features/journey-map/swimlanes/card-components/MenuItemSelector.tsx","features/integrations/reducer/ConnectorAction.js","features/grid-table/columns-components/Tags.js","features/journey-map/modals/AdvancedSearch/FilterButton.tsx","features/journey-map/modals/AdvancedSearch/FilterOption.tsx","features/journey-map/modals/AdvancedSearch/FilterTemplate.tsx","shared/ui-basics/ui-components/EntityListItem.js","shared/dropdowns/typeahead-styles.js","shared/ui-basics/ui-components/EmotionLevelComponents/SmileyStaticComponent.tsx","features/cx-actions/modals/cx-action.tsx","shared/cx-components/header.tsx","features/comments/reducer/MapActions.js","features/forms/personas/cards/ColorTextCard.jsx","features/journey-map/modals/PersonaInteractions/personaInteractions_style.js","redux/pageReducer.js","shared/ui-basics/ui-components/EmptyList.jsx","features/comments/reducer/commentSlice.js","shared/ui-basics/colors.js","shared/dropdowns/cx-dropdown/components/create-new-item.jsx","shared/Drag-Drop/components/Context.tsx","shared/Drag-Drop/components/Droppable.tsx","shared/Drag-Drop/DragDrop.tsx","shared/dropdowns/library-dropdown/group/GroupDropdown.jsx","shared/ui-basics/ui-components/PriorityItem.jsx","shared/components/EditableText.js","features/grid-table/columns-components/Personas.js","features/journey-map/swimlanes/customer-feedbacks/Styles.js","features/settings/reducer/SettingsActions.js","features/workspace/components/others/workspace-logo-and-name.jsx","shared/popovers/ActionsPopOver.js","features/ai/prompts/AI_prompt.jsx","shared/modals/basic/ZoomImageModal.js","shared/components/UploadImage.js","shared/dropdowns/ActionsDropdown.js","shared/dropdowns/library-dropdown/tags/TagsDropdown.jsx","shared/hooks/useNetworkStatus.js","shared/ui-basics/ui-components/CustomRating.js","shared/cx-components/relations/relations.tsx","features/journey-map/modals/AdvancedSearch/JourneyFilter.tsx","features/journey-map/modals/AdvancedSearch/TagFilter.tsx","shared/dropdowns/cx-dropdown/components/RenderAdvancedFooter.tsx","shared/cx-components/header-title.tsx","redux/helpers.js","features/ai/reducer/ai-actions.js","shared/ui-basics/ui-components/Descriptions.jsx","features/journey-map/modals/PersonaInteractions/components/HeaderTouchpoints.jsx","features/journey-map/modals/PersonaInteractions/components/RoutesButtons.jsx","shared/components/Properties/Property.jsx","shared/components/Properties/Score.jsx","shared/dropdowns/library-dropdown/InsightTypeDropdown.jsx","shared/components/Properties/MainRoute.jsx","shared/components/Properties/PropertyManager.jsx","shared/ui-basics/ui-components/StatusItem.jsx","shared/cx-components/DisplayState.js","shared/dropdowns/library-dropdown/TouchpointDropdown.jsx","features/journey-map/modals/AdvancedSearch/PersonaFilter.tsx","features/journey-map/modals/AdvancedSearch/TouchpointFilter.tsx","features/settings/manage-users/components/user-details.jsx","features/library/components/LibraryItemCard.jsx","features/library/components/LibraryTemplate.jsx","features/auth/helpers.js","shared/ui-basics/ui-components/group-component.jsx","shared/dropdowns/cx-dropdown/PriorityDropdown.tsx","shared/dropdowns/cx-dropdown/StatusDropdown.tsx","shared/popovers/PopoverSubscription.js","features/journey-map/cards/PersonaBadge.jsx","shared/modals/basic/ActionConfirmModal.js","features/projects/modals/SyncWithModal.js","features/search/reducer/QueryAction.js","shared/components/cards/cx-cards/KpisRelationCard.jsx","shared/components/Relations/RelationManager.jsx","shared/dropdowns/GenericDropdown.js","shared/components/typeahead/users-selector-typeahead.jsx","features/workspace/components/others/workspace-logo.jsx","shared/dropdowns/library-dropdown/persona/PersonaDropdown.jsx","features/journey-map/modals/AdvancedSearch/StatusFilter.tsx","features/workspace/components/dropdowns/workspace-dropdown.jsx","shared/cx-components/advanced-ratings.tsx","shared/cx-components/attach-popover.tsx","shared/cx-components/date.tsx","shared/cx-components/rating.tsx","shared/cx-components/detail-panel/columns.ts","shared/cx-components/PersonaRelation.tsx","shared/cx-components/detail-panel/detail-panel.tsx","shared/components/cards/cx-cards/DefaultPickListSelectCard.jsx","shared/cx-components/SearchPickList.js","features/journey-map/reducer/IconService.js","shared/components/cards/cx-cards/TouchpointSelectCard.jsx","shared/components/spinners/CascadeLoader.jsx","features/journey-map/components/journey-map-loading.jsx","features/taxonomy/components/TaxonomyCreateItem.tsx","shared/ui-basics/ui-components/ColorPickerVertical.tsx","features/taxonomy/components/TaxonomyListItem.tsx","features/taxonomy/views/style.js","features/taxonomy/views/taxonomy-group.tsx","features/taxonomy/views/taxonomy-insight-type.tsx","features/taxonomy/views/taxonomy-priority.tsx","features/taxonomy/views/taxonomy-status.tsx","features/taxonomy/views/taxonomy-tag.tsx","shared/Routes/route-validation.js","features/forms/cx-programs/reducer/helpers.js","shared/Drag-Drop/components/Drag.tsx","shared/headers/GenericHeader.js","features/grid-table/columns-components/AuthorizedUsers.js","shared/cx-components/DisplayStatus.js","features/forms/cx-programs/actions/BaseActions.js","features/forms/personas/actions/BaseActions.js","features/forms/components/sections/TargetSection/TargetForm.js","features/forms/components/sections/StakeHolderSection/StakeHolderForm.js","features/workspace/view/workspace-invalid-page.jsx","features/journey-map/modals/AdvancedSearch/RatingFilter.tsx","features/journey-map/swimlanes/solutions/modals/SolutionAdvancedSearchModal.tsx","shared/dropdowns/cx-dropdown/Solution/SolutionDropdownAI.tsx","shared/dropdowns/cx-dropdown/Solution/SolutionDropdown.tsx","features/journey-map/swimlanes/cx-actions/modals/ActionAdvancedSearchModal.tsx","shared/dropdowns/cx-dropdown/CxActions/ActionDropdownAI.tsx","shared/dropdowns/cx-dropdown/CxActions/ActionDropdown.tsx","features/journey-map/swimlanes/opportunities/modals/OpportunityAdvancedSearchModal.tsx","shared/dropdowns/cx-dropdown/Opportunity/OpportunityDropdownAI.tsx","shared/dropdowns/cx-dropdown/Opportunity/OpportunityDropdown.tsx","features/insights/modals/components/EditableTitle.jsx","features/insights/modals/EditInsights.jsx","features/library/components/Stickers/StickerCard.js","features/library/view/library-stickers.jsx","features/taxonomy/components/TaxonomyMenuCard.tsx","features/taxonomy/views/taxonomy-page.jsx","features/library/components/LibraryValue/LibraryValueForm.js","features/library/modals/EditLibrariesModal.js","shared/ui-basics/ui-components/EmotionLevelComponents/SmileyReactiveComponent.tsx","shared/ui-basics/ui-components/EmotionLevelComponents/SmileyRating.tsx","shared/components/spinners/Loaster.jsx","features/library/components/Measures/MeasureForm.js","shared/ui-basics/ui-components/FinancialImpact.jsx","features/library/components/Stickers/StickerForm.js","features/library/components/TouchPoints/TouchPointForm.js","shared/components/cards/cx-goals/EditCxGoalCard.jsx","shared/ui-basics/ui-components/Checkbox.js","features/grid-table/components/TableTemplate.js","shared/dropdowns/cx-dropdown/OwnerDropdown.tsx","shared/dropdowns/library-dropdown/DepartmentDropdown.jsx","shared/dropdowns/library-dropdown/SystemDropdown.jsx","shared/components/cards/cx-cards/ActionCard.jsx","shared/components/cards/cx-cards/InisightCard.jsx","shared/components/cards/cx-cards/OpportunityCard.jsx","shared/components/cards/cx-cards/SolutionCard.jsx","features/solutions/actions/BaseActions.js","shared/components/Relations/RelatedCjmsManager.jsx","features/journey-map/modals/AdvancedSearch/PriorityFilter.tsx","features/opportunity/actions/BaseActions.js","features/cx-actions/actions/BaseActions.js","features/folders/actions/BaseActions.js","features/projects/actions/BaseActions.js","shared/ui-basics/ui-components/EmotionLevelComponents/EmotionLevelAndSmiley.tsx","shared/dropdowns/UserTypeDropdown.jsx","features/forms/components/sections/ManageGenericItems.js","features/library/actions/library-item-actions/BaseActions.js","features/library/components/CustomLibrary/ColorCircle.tsx","features/journey-map/modals/AddFeedback/UploadFile.tsx","features/navigation/Header/SupportForm.js","features/comments/components/CommentEditor.tsx","features/signalR/context/HubConnectionContext.jsx","features/insights/components/cards/insight-pick-list-card.tsx","features/journey-map/modals/AdvancedSearch/InsightTypeFilter.tsx","features/journey-map/swimlanes/insights/modals/AdvancedSearchModal.tsx","shared/dropdowns/cx-dropdown/components/insight-create-new-item.tsx","shared/dropdowns/cx-dropdown/Insights/InsightDropdownAI.tsx","shared/dropdowns/cx-dropdown/Insights/InsightDropdown.tsx","features/forms/personas/components/dropdown/PersonaSelection.jsx","shared/ui-basics/ui-components/SelectButtons.jsx","features/journey-map/modals/AI/ai-creation-style.js","features/journey-map/components/dropdown/templateSelection.jsx","features/journey-map/modals/AI/ai-creation.jsx","features/library/components/BrandValues/Styles.js","features/library/components/BrandValues/BrandValueForm.js","features/ai/components/TextSuggestion.jsx","Assets/All/viewIcon.svg","Assets/All/Book-Wizard.svg","Assets/All/Hat-Wizard.svg","features/journey-map/swimlanes/sentiment-map/chartUtils.js","features/comments/components/comment-popup/add-comment_popup.tsx","shared/components/IconDisplay.js","shared/popovers/IconSelector.js","features/forms/cx-strategy/reducer/StrategyService.js","features/forms/components/sections/Style.js","features/auth/view/no-data-component.jsx","features/library/components/TouchPoints/TouchpointCard.js","features/library/view/library-touchpoints.jsx","shared/modals/colors/CustomColorSelectModal.tsx","shared/modals/colors/ColorSelectModal.tsx","shared/modals/basic/ShowComponentModal.js","features/journey-map/modals/HeaderDetails.js","shared/attachment/AttachCreatePopOver.jsx","shared/attachment/AttachEditPopOver.jsx","shared/components/cards/cx-goals/CxGoalCard.jsx","shared/modals/basic/DeleteWarningModal.js","features/journey-map/cards/ManagePersonaCard.js","features/journey-map/cards/ManageSentimentCard.js","features/journey-map/cards/SwitchRouteCard.js","features/journey-map/modals/SwimlaneDetails/SwimlaneDetailsComponents.js","features/journey-map/modals/SwimlaneDetails/SwimlaneDetailsCanvas.js","features/journey-map/modals/MapVersions/VersionPreviewModal.jsx","features/journey-map/modals/MapVersions/VersionHistoryCard.jsx","features/journey-map/modals/MapVersions/MapVersionsHistory.jsx","features/library/modals/link-kpi/KPICard.js","features/library/modals/link-kpi/SelectedCxGoals.js","features/library/modals/link-kpi/LinkKPI.js","features/library/components/BrandValues/BrandValueLibraryCard.js","features/library/view/library-brand-value.jsx","Assets/images/map-emotions sync nonrecursive /.(png|jpe?g|svg)$","Assets/images/map-icons sync nonrecursive /.(png|jpe?g|svg)$","Assets/images sync /^/PersImg.*/.jpg$","features/journey-map/actions/BaseActions.js","features/journey-map/swimlanes/insights/AddInsight.jsx","features/insights/modals/SelectInsightTypeModal.js","features/forms/personas/creation/PersonaPicture.js","features/forms/components/sections/TargetSection/TargetCard.js","features/forms/components/sections/StakeHolderSection/StakeHolderCard.js","shared/headers/Reusable.js","features/library/modals/EditCustomLibrary.tsx","Assets/images/integration sync nonrecursive /.(png|jpe?g|svg)$","features/journey-map/swimlanes/customer-feedbacks/CustomerFeedbackCard.jsx","features/comments/components/comment-popup/discussion.tsx","shared/modals/basic/NameDescriptionModal.js","shared/ui-basics/ui-components/ColorPicker.tsx","Assets/All/notifications.svg","features/projects/components/ProjectMenu.jsx","features/projects/components/SectionsStyling.js","features/projects/components/BusinessCase/ProjectFinancialImpact.jsx","features/projects/components/BusinessCase/ProjectBusinessCase.jsx","shared/cx-components/OwnerPickList.js","shared/cx-components/Priority.js","features/projects/components/ProjectDetails.jsx","features/projects/components/ProjectGeneral.jsx","shared/components/cards/cx-cards/ProjectRelatedItemCard.jsx","features/projects/components/ProjectRelatedItems.jsx","features/projects/components/ProjectBody.jsx","features/projects/actions/HeaderActions.js","features/projects/header/ProjectHeader.jsx","features/projects/view/project-page.jsx","features/journey-map/modals/AddFeedback/Styles.js","features/journey-map/modals/AddFeedback/components/FeedBackData.jsx","features/journey-map/modals/AddFeedback/components/report-summery-feedback.tsx","features/journey-map/modals/AddFeedback/components/feedback-configuration.jsx","features/journey-map/modals/AddFeedback/components/import-file.jsx","features/journey-map/modals/AddFeedback/components/manual.jsx","features/journey-map/modals/AddFeedback/components/detail-feedback-configuration.tsx","shared/ui-basics/ui-components/LabelDisplay.tsx","features/journey-map/modals/AddFeedback/components/detail-panel-feedback.tsx","features/journey-map/modals/AddFeedback/EditFeedbackData.tsx","features/signalR/methods/workspace.js","features/signalR/hooks/index.js","features/signalR/methods/journey-map.js","features/journey-map/swimlanes/project/modals/ProjectAdvancedSearchModal.tsx","shared/dropdowns/cx-dropdown/ProjectDropdown.tsx","features/forms/cx-programs/reducer/CxProgramReducer.js","features/forms/cx-strategy/reducer/StrategyReducer.js","features/forms/personas/reducer/PersonaReducer.js","Assets/All lazy /^/.*/.svg$/ groupOptions: {} namespace object","Assets/images/map-emotions/abused.svg","Assets/images/map-emotions/admiration.svg","Assets/images/map-emotions/affection.svg","Assets/images/map-emotions/agony.svg","Assets/images/map-emotions/alarm.svg","Assets/images/map-emotions/alone.svg","Assets/images/map-emotions/amazed.svg","Assets/images/map-emotions/amused.svg","Assets/images/map-emotions/angry.svg","Assets/images/map-emotions/anticipation.svg","Assets/images/map-emotions/anxiety.svg","Assets/images/map-emotions/assured.svg","Assets/images/map-emotions/crazy.svg","Assets/images/map-emotions/depressed.svg","Assets/images/map-emotions/disappointed.svg","Assets/images/map-emotions/disgusted.svg","Assets/images/map-emotions/excellent.svg","Assets/images/map-emotions/fear.svg","Assets/images/map-emotions/frustrated.svg","Assets/images/map-emotions/generic.svg","Assets/images/map-emotions/good.svg","Assets/images/map-emotions/happy.svg","Assets/images/map-emotions/inspired.svg","Assets/images/map-emotions/joy.svg","Assets/images/map-emotions/motivated.svg","Assets/images/map-emotions/peaceful.svg","Assets/images/map-emotions/pensive.svg","Assets/images/map-emotions/poor.svg","Assets/images/map-emotions/sad.svg","Assets/images/map-emotions/surprise.svg","Assets/images/map-emotions/terrible.svg","Assets/images/map-emotions/thrilled.svg","Assets/images/map-emotions/tiered.svg","Assets/images/map-emotions/trust.svg","Assets/images/map-emotions/upset.svg","Assets/images/map-icons/1-solid.svg","Assets/images/map-icons/2-solid.svg","Assets/images/map-icons/3-solid.svg","Assets/images/map-icons/4-solid.svg","Assets/images/map-icons/5-solid.svg","Assets/images/map-icons/A-solid.svg","Assets/images/map-icons/B-solid.svg","Assets/images/map-icons/C-solid.svg","Assets/images/map-icons/D-solid.svg","Assets/images/map-icons/E-solid.svg","Assets/images/map-icons/H-solid.svg","Assets/images/map-icons/P-solid.svg","Assets/images/map-icons/S-solid.svg","Assets/images/map-icons/T-solid.svg","Assets/images/map-icons/applause.svg","Assets/images/map-icons/arrow-down-diagonal.svg","Assets/images/map-icons/arrow-down-solid.svg","Assets/images/map-icons/arrow-up-diagonal.svg","Assets/images/map-icons/arrow-up-solid.svg","Assets/images/map-icons/ban-solid.svg","Assets/images/map-icons/bolt-solid.svg","Assets/images/map-icons/check-solid.svg","Assets/images/map-icons/coins-solid.svg","Assets/images/map-icons/comment-regular.svg","Assets/images/map-icons/crossroad.svg","Assets/images/map-icons/dead-end.svg","Assets/images/map-icons/digital.svg","Assets/images/map-icons/dollar.svg","Assets/images/map-icons/double-side-arrow.svg","Assets/images/map-icons/euro.svg","Assets/images/map-icons/exclamation-triangle-solid.svg","Assets/images/map-icons/fire-solid.svg","Assets/images/map-icons/flag-solid.svg","Assets/images/map-icons/gift.svg","Assets/images/map-icons/hand-paper-solid.svg","Assets/images/map-icons/heart-broken-solid.svg","Assets/images/map-icons/heart-solid.svg","Assets/images/map-icons/hourglass-half-solid.svg","Assets/images/map-icons/human.svg","Assets/images/map-icons/info-solid.svg","Assets/images/map-icons/key.svg","Assets/images/map-icons/left-arrow.svg","Assets/images/map-icons/lightbulb-solid.svg","Assets/images/map-icons/location.svg","Assets/images/map-icons/lock.svg","Assets/images/map-icons/loop.svg","Assets/images/map-icons/map-pin-solid.svg","Assets/images/map-icons/money-bill-wave-solid.svg","Assets/images/map-icons/pound.svg","Assets/images/map-icons/question-solid.svg","Assets/images/map-icons/recycle.svg","Assets/images/map-icons/right-arrow.svg","Assets/images/map-icons/search-solid.svg","Assets/images/map-icons/star-of-life-solid.svg","Assets/images/map-icons/star-solid.svg","Assets/images/map-icons/start.svg","Assets/images/map-icons/stop-solid.svg","Assets/images/map-icons/target.svg","Assets/images/map-icons/thumbs-down-solid.svg","Assets/images/map-icons/thumbs-up-solid.svg","Assets/images/map-icons/times-solid.svg","Assets/images/map-icons/wrench-solid.svg","Assets/images/PersImg1.jpg","Assets/images/PersImg10.jpg","Assets/images/PersImg11.jpg","Assets/images/PersImg12.jpg","Assets/images/PersImg13.jpg","Assets/images/PersImg14.jpg","Assets/images/PersImg15.jpg","Assets/images/PersImg16.jpg","Assets/images/PersImg17.jpg","Assets/images/PersImg18.jpg","Assets/images/PersImg19.jpg","Assets/images/PersImg2.jpg","Assets/images/PersImg20.jpg","Assets/images/PersImg21.jpg","Assets/images/PersImg22.jpg","Assets/images/PersImg23.jpg","Assets/images/PersImg24.jpg","Assets/images/PersImg25.jpg","Assets/images/PersImg26.jpg","Assets/images/PersImg27.jpg","Assets/images/PersImg28.jpg","Assets/images/PersImg29.jpg","Assets/images/PersImg3.jpg","Assets/images/PersImg30.jpg","Assets/images/PersImg4.jpg","Assets/images/PersImg5.jpg","Assets/images/PersImg6.jpg","Assets/images/PersImg7.jpg","Assets/images/PersImg8.jpg","Assets/images/PersImg9.jpg","Assets/images/persona-plshldr.jpg","Assets/images/map-touchpoints sync nonrecursive /.(png|jpe?g|svg)$","Assets/images/map-touchpoints/advertisement.svg","Assets/images/map-touchpoints/application.svg","Assets/images/map-touchpoints/article.svg","Assets/images/map-touchpoints/articles.svg","Assets/images/map-touchpoints/atm.svg","Assets/images/map-touchpoints/blog.svg","Assets/images/map-touchpoints/book-open.svg","Assets/images/map-touchpoints/branch.svg","Assets/images/map-touchpoints/briefcase-alt.svg","Assets/images/map-touchpoints/broadcast-media.svg","Assets/images/map-touchpoints/brochure.svg","Assets/images/map-touchpoints/call-center.svg","Assets/images/map-touchpoints/cashier.svg","Assets/images/map-touchpoints/chat.svg","Assets/images/map-touchpoints/circle.svg","Assets/images/map-touchpoints/comment-alt-dots.svg","Assets/images/map-touchpoints/comparison-sites.svg","Assets/images/map-touchpoints/credit-card-solid.svg","Assets/images/map-touchpoints/doctor.svg","Assets/images/map-touchpoints/email.svg","Assets/images/map-touchpoints/employee-portal.svg","Assets/images/map-touchpoints/event.svg","Assets/images/map-touchpoints/face-to-face.svg","Assets/images/map-touchpoints/facebook-messenger.svg","Assets/images/map-touchpoints/facebook.svg","Assets/images/map-touchpoints/fax.svg","Assets/images/map-touchpoints/file.svg","Assets/images/map-touchpoints/hr.svg","Assets/images/map-touchpoints/instagram.svg","Assets/images/map-touchpoints/intranet.svg","Assets/images/map-touchpoints/it.svg","Assets/images/map-touchpoints/laboratory.svg","Assets/images/map-touchpoints/lamp.svg","Assets/images/map-touchpoints/laptop-solid.svg","Assets/images/map-touchpoints/letter.svg","Assets/images/map-touchpoints/linkedin.svg","Assets/images/map-touchpoints/manager.svg","Assets/images/map-touchpoints/medical-center.svg","Assets/images/map-touchpoints/medical-device.svg","Assets/images/map-touchpoints/medical-examination.svg","Assets/images/map-touchpoints/meeting-room.svg","Assets/images/map-touchpoints/message-captions.svg","Assets/images/map-touchpoints/mobile-device.svg","Assets/images/map-touchpoints/nurse.svg","Assets/images/map-touchpoints/office.svg","Assets/images/map-touchpoints/patient.svg","Assets/images/map-touchpoints/paycheck.svg","Assets/images/map-touchpoints/payment-gateway.svg","Assets/images/map-touchpoints/paypal.svg","Assets/images/map-touchpoints/pharmacy.svg","Assets/images/map-touchpoints/phone-volume.svg","Assets/images/map-touchpoints/phone.svg","Assets/images/map-touchpoints/point-of-sale.svg","Assets/images/map-touchpoints/portal.svg","Assets/images/map-touchpoints/press-release.svg","Assets/images/map-touchpoints/print.svg","Assets/images/map-touchpoints/question-circle-print.svg","Assets/images/map-touchpoints/question-circle.svg","Assets/images/map-touchpoints/reception.svg","Assets/images/map-touchpoints/search.svg","Assets/images/map-touchpoints/self-service.svg","Assets/images/map-touchpoints/setting.svg","Assets/images/map-touchpoints/shop.svg","Assets/images/map-touchpoints/shopkeeper.svg","Assets/images/map-touchpoints/shopping-cart.svg","Assets/images/map-touchpoints/skype.svg","Assets/images/map-touchpoints/sms.svg","Assets/images/map-touchpoints/social-media.svg","Assets/images/map-touchpoints/star-half-stroke.svg","Assets/images/map-touchpoints/tablet.svg","Assets/images/map-touchpoints/teams.svg","Assets/images/map-touchpoints/third-party.svg","Assets/images/map-touchpoints/tiktok.svg","Assets/images/map-touchpoints/training.svg","Assets/images/map-touchpoints/truck.svg","Assets/images/map-touchpoints/twitter.svg","Assets/images/map-touchpoints/video-conference.svg","Assets/images/map-touchpoints/wallet.svg","Assets/images/map-touchpoints/web-ads.svg","Assets/images/map-touchpoints/website.svg","Assets/images/map-touchpoints/whatsapp.svg","Assets/images/map-touchpoints/word-of-mouth.svg","Assets/images/map-touchpoints/work-station.svg","Assets/images/map-touchpoints/youtube.svg","Assets/preview-images/detailed.png","Assets/preview-images/blueprint.png","Assets/preview-images/high-level.png","Assets/images/EmptyListImages/no-maps.svg","Assets/images/EmptyListImages/no-personas.svg","Assets/images/integration/asana.png","Assets/images/integration/intercom.png","Assets/images/integration/jira.png","Assets/images/integration/mailchimp.png","Assets/images/integration/marketo.png","Assets/images/integration/medalia.png","Assets/images/integration/microsoft-customer-voice.png","Assets/images/integration/microsoft-dynamics.png","Assets/images/integration/microsoft-power-apps.png","Assets/images/integration/microsoft-power-bi.png","Assets/images/integration/microsoft-sharepoint.png","Assets/images/integration/microsoft-teams.png","Assets/images/integration/miro.png","Assets/images/integration/monday.png","Assets/images/integration/mural.png","Assets/images/integration/qualtrics.png","Assets/images/integration/salesforce.png","Assets/images/integration/sandsiv.png","Assets/images/integration/sap.png","Assets/images/integration/service-now.png","Assets/images/integration/slack.png","Assets/images/integration/smartsheet.png","Assets/images/integration/survey-monkey.png","Assets/images/integration/trello.png","Assets/images/integration/zendesk.png"],"names":["String","prototype","truncate","n","showToast","arguments","length","undefined","this","toast","info","t","slice","Array","sortAsc","attribute","sort","a","b","_a$attribute","_b$attribute","toLowerCase","sortDesc","_a$attribute2","_b$attribute2","isInMap","URLSearchParams","get","getUrl","hideForPdf","toPrint","getPersonaId","query","getCjmId","getStrategyId","getSection","sectionId","map","group","filter","flat","isReadOnly","getChartSelection","_query$get","split","getPersonaChartSelection","_query$get2","isPrint","isInactive","getInitials","firstName","lastName","firstInitial","lastInitial","Boolean","getEntityCurrentState","StateTypeOption","FutureState","CurrentState","Number","setEntityCurrentState","Order","order","isPreview","getAllowedPath","authorized","includes","getAuthenticationProperties","userEmail","userEmail2","lcid","envName","window","location","pathname","body","userName","orgName","secret","getTargetUrl","targetUrl","decodedUrl","decode","getCxProgramID","formatColor","_this$split$","_this$split$$split$","trim","getId","getQuery","getCxActionsProps","selectedItemId","stageId","cjmId","inMap","getOrigin","origin","getTab","getTabName","tab","getMapsParams","cjmIdStr","personaIdStr","mapName","ArrayToIdsStr","dataKey","x","join","FormatFilterArray","attribute1","attribute2","att1","att2","gp","value","name","FormatDropDownArray","JSON","parse","stringify","replaceAll","getAllMapsParams","_query$get3","isLoading","isExporting","swimLaneIds","getBackQuery","isEmpty","cumulateWidth","reduce","acc","obj","widthValidation","width","isEmptyGuid","EMPTY_GUID","isEmptyString","also","guidValidation","getCxProps","localQuery","queryOriginal","cxProgramId","personaId","id","originEncoded","displayList","queryNb","q","_decode","decodedParams","formatDate","Date","toISOString","extractKey","swimlane","key","defaultPlaceholder","label","extractIdsChart","mapIdsPrint","statusIdsPrint","groupIdsPrint","statusIds","mapIds","groupIds","getFolderId","getActiveRecords","checkSample","checkTemplate","disabledFilter","hasStatusCode","hasAttribute","hasSample","hasTemplate","record","statusCode","StatusCode","Active","isSample","isTemplate","getMainFolders","folder","parentId","StringToArray","_this$split","element","searchFilter","searchValue","defaultAttribute","_element$attribute","_element$attribute2","_element$attribute3","_element$attribute4","_element$defaultAttri","_element$defaultAttri2","getById","userId","find","IsViewer","IsContributor","remove","filterItem","add","getLoading","getIntegrationProps","source","getWorkspaceProps","mode","getInvalidWorkspaceProps","getFiltersId","getErrorMessages","messageEncoded","isSubscriptionAllowed","subscriptionList","MAX_SIZE_INPUT","MAX_SIZE_TEXT_BOX","mapModeValidation","mapMode","isFutureValidation","isFuture","resort","list","type","result","from","_a$type","_b$type","_a$type2","_b$type2","_a$type3","_b$type3","_a$type4","_b$type4","_a$linkedCjms","_b$linkedCjms","linkedCjms","_b$linkedCjms2","_a$linkedCjms2","reorder","startIndex","endIndex","removed","splice","isToday","someDate","today","encode","str","btoa","unescape","encodeURIComponent","e","decodeURIComponent","escape","atob","importAll","r","images","keys","forEach","item","index","replace","IconValidation","sentimentLevel","Math","round","firstLetterUppercase","_str$charAt","charAt","toUpperCase","daysDifferenceCalculator","date1","date2","getTime","InteractionArrayValidations","stages","cjmData","Interaction","stage","_cjmData$personaIdStr","Object","entries","flatMap","_ref","personasInteractions","int","_objectSpread","touchPointId","pictureValidationPersona","persona","sessionId","forceRender","stdImage","standardImageNumber","require","concat","default","currentWorkspaceId","random","pictureValidation","icon","isCustom","touchPointIconValidation","_touchPoint$keyIcon","channelName","imageName","GetChannelPredefinedImage","StickerIconValidation","_ref2","_srcIcons$AllIcons$Nu","number","emotions","srcIcons","_emotions$AllIcons$Nu","AllIcons","subscription","accessAuthorized","full","regular","limited","isUserAllowed","userType","action","userCode","adminCode","res","usertype","RestrictUserAccess","role","types","_PrivilegesAllowed","PrivilegesAllowed","emailValidation","email","test","toastWrapper","async","promise","aParams","params","hideProgressBar","autoClose","pending","error","render","success","renfer","GetUserColor","userFullName","lettersTotal","i","charCodeAt","palette","stringToColor","hexToHSL","hex","saturation","lightness","parseInt","substring","g","max","min","hue","delta","GetActiveCJM","cjmIds","all_maps","relevantMap","cjm","getActivePersona","personas","showSampleData","StripHtml","html","tmp","document","createElement","innerHTML","getTextWithSpaces","node","text","child","childNodes","nodeType","Node","TEXT_NODE","textContent","ELEMENT_NODE","nodeName","FilterItemsByStatus","currentRoute","activeRoute","isTrash","isArchive","isActive","attachedToSampleCheck","Trashed","Archived","opp","m","mapId","calculateYScore","solution","_solution$ratings$imp","_solution$ratings$cus","_solution$ratings$rev","_solution$ratings$imp2","ratings","rating","calculateXScore","_solution$ratings$cos","_solution$ratings$imp3","_solution$ratings$eng","_solution$ratings$imp4","calculatesolutionType","solutionTypeByCoordinates","y","SolutionType","QuickWin","NiceToHave","ComplexProject","ToAvoid","oppPointColorByCoordinates","CxValidation","filterMapsByUserRole","_ref4","selectedMaps","currentUserId","isSubscriptionStandard","userRoles","filteredIds","_map$authorizedUsers","_map$authorizedUsers$","currentUserRole","authorizedUsers","user","roleId","roleName","push","filterPersonasByLinkedMaps","_ref5","allMaps","selectedPersonas","_persona$authorizedUs","_persona$authorizedUs2","linkedJourneyMapActive","filterPersonasByUserRole","_ref6","selectedItem","_selectedItem$authori","_selectedItem$authori2","filterItemsByUserRole","_ref7","selectedItems","_selectedItem$authori3","supportedLanguages","CustomXarrow","_ref8","color","startId","endId","_jsx","Xarrow","headSize","lineColor","headColor","path","strokeWidth","startAnchor","endAnchor","start","end","style","zIndex","getNewPersonaObject","_ref9","personaID","colorCode","description","descriptionHtml","image64","imageType","itemsOrder","items","findById","arr","filterUnSelect","select","linked","idName","toLink","unSelect","indexOf","sortType","data","mapType","isCurrentInteractionInRoute","interaction","currentStageInteractions","calculatedRouteAttrib","forcedRouteAttrib","detectImageExtension","image","ext","isFullUsersLicenseAvailable","users","contracts","subscriptionPlanValue","_contracts$find","count","subscriptionPlan","isFullUser","contract","usersNumber","answer","getFullUsersLicenseAvailable","UserType","admin","companyAdmin","getInactiveUsersCount","checkLinkMapBeforeAction","_ref10","personaObject","linkedJourneyMap","showActionPopup","showLinkListCjm","title","description_1","listData","NotNullOrEmpty","array","onSortFunction","event","_a$linkedCjms3","_b$linkedCjms3","_b$linkedCjms4","_a$linkedCjms4","detectDesactivatedPersona","_Object$keys","isCompanyAdmin","haveDataOnPersona","noAccess","activated","Revised","preventEnter","preventDefault","getDate","lastModified","date","year","getFullYear","month","toLocaleString","day","hour","getHours","getMinutes","tableDefaultColumn","EntityList","Opportunity","Solution","Action","CustomerJourney","CXProgram","Persona","Project","Insight","User","checkStyle","queryView","size","_queryViewParsed$find","minWidth","sizeGlobal","xs","s","l","xl","xxl","xxxl","queryViewParsed","viewWidth","newWidth","intWidth","floor","intMinWidth","getEmotionLevelData","_ref11","level","roundedLevel","smiley","backgroundColorSimple","backgroundColor","textColor","borderColor","smileyColor","createDefaultPersonaInteraction","interactionId","touchpointId","modifiedBy","createdOn","modifiedOn","emotionLevel","actions","pros","cons","insights","icons","actionsIcons","prosIcons","consIcons","insightsIcons","ownerId","ownerName","cxMetrics","sourcesOfData","mainRoute","alternativeRoute","forcedMainRoute","forcedAlternativeRoute","channelId","findNextRouteInteractionId","stageIndex","forcedAttribute","sysRouteAttribute","systemCalculatedId","forcedId","_cjmData$stage","getOutterBorderByRouteType","routesProps","showMainRoute","showAlternativeRoute","isInteractionInMainRoute","isInteractionInAlternativeRoute","getInnerBorderByRouteType","createCustomTimeout","seconds","Promise","resolve","setTimeout","areObjectsEqual","obj1","obj2","attr","isArray","createDefaultMap","MapMode","Custom","createDefaultPersona","occupation","age","gender","standardImage","customImage","imageExtension","createDefaultCustomLibraryItem","createDefaultBrandStrategy","card","brandValueID","strategyAttributeID","strategyID","do","dont","createDefaultInsight","_ref12","currentUser","typeId","uuid","UserId","tags","groups","linkedTouchpoints","linkedSystems","linkedDepartments","linkedPersonas","linkedOpps","linkedSols","linkedActions","linkedProjects","jsonProperty","createDefaultAttachItem","_ref13","swimlaneKey","url","fileName","extractTextFromHtml","htmlString","div","innerText","isNullOrUndefined","appendListsAndRemoveDuplicates","list1","list2","uniqueList1","Set","uniqueList2","evaluateFilter","filterValue","matchMode","startsWith","endsWith","toDateString","some","Error","evaluateComplexFilter","field","constraint","constraints","meetsConstraint","operator","applyFilters","filters","validateStringNumberInput","_ref14","isPositive","endsWithDot","parseFloat","isNaN","output","toString","getCxGoalValue","_ref15","cxGoal","actual","goal","direction","CxGoalDirection","Increase","Decrease","reorderActions","_ref16","orderedList","handleAddRenderElement","delay","parentDiv","getElementById","newElement","appendChild","getEntityName","getAllVersionsSorted","_ref17","currentMapId","parentMapId","firstVersion","allVersionsSorted","numberMapVersion","getLastVersionNumber","_ref18","lowercaseKeys","accumulator","_ref19","_name$split","userTypesLabels","readOnly","emptyListData","IconDispatcher","cxPrograms","opportunity","solutions","cxActions","folders","assessments","projects","libraries","getColorsByType","_ref20","getBrandValueIcon","convertEnumToArray","enumObject","getDefaultName","isDarkColor","returnColor","luminance","getTableScrollHeight","_ref21","_ref22","_ref23","_ref24","context","height","calculateFinancialImpact","_ref25","measure","baseUnit","financialValue","calculateTotalFinancialImpact","kpiAttr","allGoals","allMeasures","_kpiAttr$items","_parseInt","sum","cxGoalId","measureId","joinByProperty","property","delimiter","att","hasOwnProperty","call","constructUrl","baseUrl","filteredParams","_ref26","queryString","createDefaultCxGoal","_ref27","financialImpact","achieved","createDefaultUser","_ref28","isMultiSub","subPlan","isMember","loginName","getKeyByValue","object","_Object$keys2","getLanguagebyCode","code","getGenderByNumber","genderNumber","truncateWithEllipsis","maxLength","isNullOrEmptyObject","areYearsSimilar","extractAiGenerateListItem","prompt","_results$items","results","line","sectionTitle","GetDefaultSwimlaneName","InformationType","Text","ActionsList","Timing","Image","Divider","ListItems","CustomerFeedback","SentimentChart","CustomerActions","AdvancedInteractions","AdvancedActions","AdvancedPros","AdvancedCons","AdvancedInsights","Touchpoints","Systems","Departments","Feelings","Insights","KPIs","alphabeticSort","nonAlphaRegex","cleanA","cleanB","createDefaultCustomerFeedback","connectorId","stopRetrieveData","retrieveData","customerFeedbackDatas","surveyId","filterId","ratingQuestionId","jsonCondition","cxMetricsId","ConnectorSource","ImportFile","discussionIds","errorMsg","sourceDescription","createDefaultPositionStrategy","layout","row","newItem","w","h","GetPickListUsers","selectedRecords","mapUserIds","allRelevantusersAndTeams","createDefaultWorkspace","isDefault","isCustomImage","isGUID","getModeType","compareLists","_ref30","originalIds","modifiedIds","originalSet","modifiedSet","has","added","getAuthorizedUserFromRegisteredUser","_ref31","registeredUser","authUser","_registeredUser$login","domainName","findFirstAlphabeticalCharacter","char","isUserActionValid","_ref32","userInfo","isLoggerAdmin","UserEmail","filterByActiveUsers","_ref33","registeredUsers","au","userDetails","ru","_ru$loginName","_au$domainName","validateItems","upsertItem","getAttachMode","isValidURL","parsedUrl","URL","protocol","getIsSubscriptionAllowed","_ref34","isMultiSubscription","access","userSubscriptionName","transformIsoStringToDate","isoString","isNullOrEmpty","groupUniqueIdsWithNames","_ref35","objects","maps","uniqueIdsMap","Map","_obj$cjmIds","set","getCxAttributesItemsIds","_ref36","_data$attributes","_data$attributes$filt","informationType","attributeItem","attributes","getCxAttribute","_ref37","_data$attributes2","getSolutionTypeData","solutionTypeLabel","variant","getLabelForValue","getRandomInt","ceil","getTaxonomyColorData","_ref38","entity","CustomizationColors","getSelectableIds","_ref39","linkedAttribute","selectableIds","_selectedItem$linkedA","linkedItem","getTimeSince","_ref40","difference","now","days","hours","weeks","months","years","formatTime","minutes","padStart","period","recentDate","d","CardContainer","styled","withConfig","displayName","componentId","props","allowSectionsOverFlow","focus","_props$background","background","Quote","img","ActionBox","strategy","css","_templateObject","_taggedTemplateLiteral","SettingPageContainer","Handle","SwimlanesSidebar","open","_templateObject2","DateComponent","format","sameDay","lastDay","lastWeek","sameElse","Moment","calendar","children","Flex","gap","vertical","justify","FlexWrap","scroll","maxHeight","FlexGap","FlexAlignCenter","minHeight","FlexAlign","align","ColFlexAlignCenter","Col","ColFlexAlignCenterBetween","FlexAlignEnd","FlexAlignAndJustifyEnd","FlexJustifyStart","FlexAlignJustifyCenter","FlexBetween","disabled","FlexBetweenAlignEnd","FlexBetweenAlignCenter","allowBackgroundHover","FlexEndAlignCenter","FlexColumn","maxWidth","FlexColumnGap","FlexColumnAlignCenter","FlexColumnJustifyBetween","FlexColumnAlignJustifyCenter","Label","fs","fw","lh","FlexAlignStart","Borders","top","bottom","left","right","className","_objectWithoutProperties","_excluded","borderStyle","borderTop","borderBottom","borderLeft","borderRight","PageContainer","PageHeader","Row","PageTitle","h1","ScrollContainer","EmptyListContainer","small","inNotification","EmptyListImg","EmptyListText","BrandValue","Rating","Slider","Demographic","Tags","Target","StakeHolder","CustomLibrary","Attachment","Owner","DueDate","Priority","Status","Group","AdvancedRating","TextGlobal","JourneyMap","BrandValueType","Emotional","Functional","UserTypeByValue","AttributeItemType","Gender","GenderType","Male","Female","Other","SubscriptionPlan","Basic","Standard","Expert","Enterprise","SharedExpert","SharedEnterprise","TemplateStatus","draft","published","cemantica","Global","DividerPatternType","Solid","Lines","ZigZag","Diagonal","Rectangles","Qualtrics","Manual","SurveyMonkey","Sandsiv","Monday","ConnectorType","VOC","ProjectManagement","AuditOperation","ADDED","UPDATED","DELETED","LINKED","UNLINKED","COPIED","DalleSizeImg","horizontalRec","verticalRec","urlOriginStatus","DefaultReturn","modes","create","update","duplicate","Simple","Advanced","ServiceBluePrint","StatusAI","None","InProcess","Ready","Fails","invalidWorkspaceStatus","Disabled","Removed","DisabledSwitch","RemovedSwitch","InitActionCreator","method","endPoint","responseType","meta","request","BASE_URL","createPostAction","createGetAction","getAllCxAssessments","_ref3","createCxAssessment","genericService","updateCxAssessment","modifiedCxAssessment","modifiedAttribNames","_excluded2","deleteCxAssessment","cxAssessmentIds","_excluded3","displayToast","getCxProgramAssessmentsExcelExportList","getFolders","joinRequest","getAllFoldersFn","updateFolderName","folderId","newValue","deleteFolder","archiveFolder","deleteFolderPermanently","restoreFolder","createFolder","updateFolderLinks","folderIds","idsToLink","idsToUnlink","entityName","getAllTeams","upsertTeam","team","deleteTeam","teamId","addMembers","teamIds","userIds","removeMember","_excluded4","updateUsersTeams","idsToAdd","idsToRemove","_excluded5","headers","submitReportRequest","Subject","Message","getNotifs","createPostAttachment","getFileService","itemId","objId","objName","store","dispatch","getFile","fileDownload","createPosAttribute","updateAttributeAPI","modfifiedCxAttribute","modifiedCxAttribute","updateAttributeAPIMulti","modifiedCxAttributes","linkRecordAttributeAPI","recEntityName","recIds","attributeId","cxAttributeId","unlinkRecordAttributeAPI","updateUserModification","upsertCXAttributeAttachItem","_excluded6","ContentType","deleteCxAttributeItem","attributeItemId","_excluded7","purgeStore","onSuccess","onFailed","setLoading","toastParams","_result$action","_result$action$respon","actionObject","getActionObject","_result$action2","_result$action2$respo","response","status","getWidthValidation","getAllPersonas","state","all_personas","getCjmInteractions","_state$maps$current_m","current_map","cjmInteractions","getCjmContactData","_state$maps$current_m2","cjmContactData","getExperienceData","_state$maps$current_m3","cjmStagesCustomerExperienceData","getAllTouchpoints","touchPoint","getStageData","_state$maps$current_m4","cjmStagesData","getPhasesData","_state$maps$current_m5","cjmPhasesData","personaDataSelector","createSelector","allPersonas","p","getAllMemoizedInteractions","getInteractionSelector","_personaInteractions$3","personaInteractions","_personaInteractions$","_personaInteractions$2","getCjmExperienceData","experienceData","_experienceData$perso","getCjmExperienceDataDiscussions","_experienceData$perso2","prosDiscussionIds","consDiscussionIds","makeGetCjmContactData","_cjmContactData$perso","_cjmContactData$perso2","_cjmContactData$perso3","_cjmContactData$perso4","_cjmContactData$perso5","makeGetTouchpoint","touchPoints","makeFindStageIndex","findIndex","getStage","cjmPersonasData","_state$maps$current_m6","mapCurrentUser","getMapLegend","_state$maps$current_m7","mapLegend","getCjmStagesData","_state$maps$current_m8","getCjmPersonasData","_state$maps$current_m9","getChart","_state$maps$current_m10","chart","getTargetChart","_state$maps$current_m11","feelingPoints_Target","getShowTargetValues","showTargetValues","getCjmCxGoals","_state$maps$current_m12","cjmCxGoals","getMeasures","_state$libraries","measures","getTimeLines","_state$maps$current_m13","cjmTimeLines","getCjmSwimlanes","_state$maps$current_m14","cjmSwimLanes","getCjmCustomerFeedback","_state$maps$current_m16","cjmCustomerFeedback","getSessionId","_state$auth","_state$auth$userInfo","auth","SessionId","getUserInfo","_state$auth2","getStageTimeLine","timeLines","_timeLines$stageId","getStages","getPhases","memoizedSwimlanes","memoizedSwimlanesRelevantCount","_cjmSwimLanes$filter","getSwimlane","swimlanekey","getStageCustomerFeedback","customerFeedback","_customerFeedback$per","getCustomerFeedbackStagesIds","_customerFeedback$per2","_customerFeedback$per3","getRelevantPersonas","person","getTotalWidth","_cjmStagesData$map","memoizedCxGoals","getMeasureById","getAllSolutions","all_solutions","getAllOpportunities","_state$opportunity","all_Opportunities","getAllCxActions","all_actions","getAllMaps","getAllPriorities","_state$libraries2","priority","getAllStatus","_state$libraries3","getAllLibraries","getshowSampleData","_state$settings$organ","settings","organization","getAllCxProgramAssessments","_state$cxProgram","_state$cxProgram$curr","cxProgram","current_program","cxAssessments","getAllCustomLibraryItems","libraryId","_libraries$customLibr","customLibraries","cl","values","FindSolutionById","solutionId","allSolutions","retrieveAllActiveSolutions","FindMapById","getAllMapsList","findPriority","priorityId","all_priority","_all_priority$attribu","pt","FindOpportunityById","opportunityId","allOpportunities","retrieveAllActiveOpportunities","FindActionById","actionId","allActions","retrieveAllActiveActions","FindStatusById","statusId","all_status","_all_status$attribute","FindAssessmentById","assessment","getFolderById","_","getCurrentProject","current_project","projectBusinessCase","attributesList","projectDetails","projectManagementToolLink","projectManagementTool","projectFinancialImpact","currencySymbol","userProvided","getAllProjects","all_projects","FindProjectById","allProjects","project","getMapVersionsSorted","currentMap","getTeamsUsers","_state$settings","_state$settings2","teamUsers","_users$find","u","selectLibraries","selectGroup","_libraries$group","selectTag","_libraries$tags","selectPriorities","_libraries$priority","_libraries$priority$e","selectStatus","_libraries$status","_libraries$status$ent","getAllStatusByEntity","_libraries$status2","getAllPriorityByEntity","_libraries$priority2","selectSelectedViewId","selectUiTableEntity","uiTableEntity","selectedViewId","getCjmSwimlaneDetails","_state$maps$current_m17","cjmSwimLaneDetails","selectQueryView","selectUserSetting","userSetting","getCjmSwimlaneDetailsById","swimlaneId","getSwimlaneDetails","_cjmSwimLaneDetails$s","getSelectedIdsMemoized","_state$ui","_state$ui$table","ui","table","selectedIds","getInsightById","getAllInsights","allInsights","insight","_state$insights","all_insights","getAllMutations","requests","mutations","getRequestStatus","getAllQueries","queries","getQueriesStatus","getAllWorkspaces","_state$workspaces","workspaces","all_workspaces","getAllActiveWorkspaces","_state$workspaces2","ws","findWorkspaceById","allWorkspaces","workspace","getAllActiveWorkspacesMemoized","getCurrentWorkspace","isExistingWorkspaces","getTeams","_state$settings3","teams","teamsDic","_Object$values","fullName","getBottomSwimlanesPosition","getCurrentMapUsers","_state$maps","current_linked_users","allInsightTypes","insightTypes","getStagesDetailsonInsights","insightId","allTouchpoints","allInsightType","_stages$stageIndex","_currentMap$cjmData","_currentMap$cjmData$s","_allTouchpoints$find","_allInsightType$find","_currentMap$cjmSwimLa","_currentMap$cjmSwimLa2","cjmName","mapDescription","cjmDescription","stageName","stageInteractions","_interaction$linkedIn","linkedInsights","touchpointName","touchpoint","interactionDescription","insightName","insightType","swimlaneOpportunity","sw","relatedOpportunities","_cjmSwimLaneDetails$s2","_cjmSwimLaneDetails$s3","_cjmSwimLaneDetails$s4","relatedOppIds","swimlaneSolutions","relatedSolutions","_cjmSwimLaneDetails$s5","_cjmSwimLaneDetails$s6","_cjmSwimLaneDetails$s7","relatedSolIds","getStagesDetails","_getRelatedItems","_getRelatedItems2","stageData","touchpointMap","tp","insightTypeMap","allRelatedTouchpoints","getRelatedItems","allItems","_cjmSwimLaneDetails$s8","_cjmSwimLaneDetails$s9","_cjmSwimLaneDetails$s10","relatedIds","allRelatedInsights","_insight$linkedCjms","_insight$linkedCjms$c","link","getSusbscriptionName","_state$auth3","_state$auth3$userInfo","_state$auth3$userInfo2","UserSubscriptionPlanName","getMapAccess","auhtorized","getMapStatusValidation","_currentMap$cjmPerson","haveDataOnCjm","getAllRecentWork","_state$settings4","recentWorks","isRecentWorkById","recordId","recentWork","work","styling","iconType","styles","parameters","iconMapping","LocalIcon","localIconMapping","_Fragment","FaIcon","iconName","family","DynamicIcon","fontSize","sm","md","medium","lg","large","iconFamily","fill","console","iconSrc","setIconSrc","useState","useEffect","isMounted","importSVG","then","src","alt","HOME","FOLDER","PERSONA","CJM","TEMPLATE","SAMPLE","ARCHIVE","TRASH","DELETE","SETTINGS","COPY","EXPORT","REFRESH","EDIT","RESTORE","ACCESS","REMOVE","VIEW","CAMERA","LINK","UNLINK","PLUS","SQUARE_PLUS","SQUARE_ADD","CHECK","LOCK","UPLOAD","X","DRIP","MALE","FEMALE","GENDERLESS","COMPRESS","EXPAND","DRAG","USERS","COMMENT","EXCEL","PDF","OPPORTUNITY","LIKE","UNLIKE","HEART","SOLUTION","ICONS","ARROW_UP","ARROW_DOWN","ARROW_LEFT","WAND","ARROW_RIGHT","CHECKED","PLAY","BRAIN","PUZZLE","TABLE","FILTER","TEXT","NUMBER","GENDER","IMAGE","SLIDERS","RATING","TAG","SEND","NOTIFICATION","DEMOGRAPHIC","QUOTE","CHART","REOPEN","BOOKMARK","DASH","CIRCLE_DOT","CHEVRON_UP","CHEVRON_DOWN","INFO","PRO","CON","INSIGHTS","ACTIONS","ACTION","TIME","SEARCH","SIDEBAR","SHAPES","SIDEBAR_TRASH","ARROW_UP_RIGHT","PROJECT","ENVELOPE","HIDE_EYE","BOOKS","USERS_LIGHT","DRAG_HORIZONTAL","HASHTAG","CALENDAR","SPARKLES","GEM","ARROW_LONG_UP","EXCLAMATION","GHOST","MONDAY","DEPARTMENT","GROUP","SENTIMENT","STAKEHOLDERS","SYSTEM","CONNECTORS","ANALYTICS","MEASURE","PIN","NOTEBOOK","BRIEFCASE","PACKAGE","SPARKLES_HOME","GROUP_DUOTONE","DEPARTMENT_DUOTONE","LINK_DUOTONE","PERSONA_DUOTONE","SENTIMENT_DUOTONE","STAKEHOLDERS_DUOTONE","SYSTEM_DUOTONE","TAG_DUOTONE","SPARKLES_DUOTONE","CONNECTORS_DUOTONE","ANALYTICS_DUOTONE","INTEGRATION_WIDGET","WIDGET_AI","WIDGET_INTEGRATION","WIDGET_ANALYTIC","YOUTUBE","COLORS","white","primary","primaryHover","primaryFocus","lightHover","purple","primaryPurple","secondary","secondaryBg","secondaryLight","secondaryOutLine","danger","labelText","turquoise","turquoiseHover","dangerHover","dangerFocus","lightOutline","Button","BoostrapButton","isicon","fullwidth","justifyContent","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","_templateObject23","active","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","black","_templateObject32","_templateObject33","_templateObject34","_templateObject35","_templateObject36","_templateObject37","_templateObject38","_templateObject39","secondary1","_templateObject40","_templateObject41","_templateObject42","_templateObject43","_templateObject44","_templateObject45","_templateObject46","_templateObject47","_templateObject48","_templateObject49","_templateObject50","_templateObject51","_templateObject52","_templateObject53","_templateObject54","_templateObject55","_templateObject56","_templateObject57","_templateObject58","_templateObject59","_templateObject60","Switch","Form","isdisabled","GenericSwitch","tooltipText","isChecked","handleToggle","justifycontent","useTranslation","_jsxs","GenericSwitchContainer","CustomTooltip","checked","onChange","UploadLabel","_templateObject61","GenericButton","forwardRef","ref","tooltip","disableIfEllipsis","placement","iconClassName","iconParams","tooltipProps","hide","iconPosition","loading","shouldDisplayTooltip","Btn","Spinner","animation","CustomDropdownButton","onClick","ButtonContainer","RadioButton","selected","showpointer","_templateObject62","_templateObject63","EditLogoModal","isOpen","onClose","updateImg","deleteImage","isFromAccountSettings","isFromCJM","companyLogo","setCompanyLogo","getterApis","Modal","centered","toggle","ModalHeader","ModalBody","UploadImageModal","variantImg","keyFor","onDelete","setCustomImage","ModalFooter","save","IframeModal","objectId","customHeight","fade","Body","Frame","iframe","WorkspaceTypehead","nameWidth","allActivesWorkspaces","useSelector","TypeaheadWrapper","labelKey","multiple","options","placeholder","renderMenuItemChildren","WorkspaceLogoAndName","renderToken","SelectedItem","CustomToken","onRemove","option","showborder","Token","customStyles","content","marginRight","transform","DuplicateModal","memo","inputTitle","inputPlaceholder","inputValue","actionBtnLabel","useAutoFocus","currentWorkspace","setName","selectedWorkspaces","setSelectedWorkspaces","_state$settings$subsc","subscriptionDetails","subscriptionContracts","isConfigAllowed","backdrop","FormGroup","for","Input","charCode","target","innerRef","autoComplete","DropdownContainer","NewModal","closeBtnLabel","haveCancel","EditCxGoalModal","handleAction","cxGoals","setCxGoals","OffcanvasLayout","show","onHide","CloseButton","OffCanvasTitle","EditCxGoalCard","Footer","handleClick","Offcanvas","MoveToSwimlaneModal","newDefaultLane","lanes","moveToFunction","isHaveLanes","selectedStep","setSelectedStep","selectedLane","setSelectedLane","moveTo","newCustomSwimLaneId","SelectLaneStep","MoveToExisting","lane","CheckBoxWrapper","sizecheckbox","stopPropagation","LaneName","LaneDescription","CustomFooter","ModalContainer","NewLaneStep","useLocation","search","cjmSwimlanes","newLaneName","setNewLaneName","NewSwimlane","addMultiSwimlanes","swimlanes","ExportModal","exportBy","setExportBy","selectedSwimlanes","setSelectedSwimlanes","useDispatch","history","useHistory","setExportingQueryParam","exporting","currentSearchParams","setIsExporting","newSearchString","currentTarget","changeSelect","eventClose","setShowHeaderDetails","CheckWrapper","_sw$name","_sw$name2","DivSelectedWrapper","InputWrapper","LabelWrapper","FooterWrapper","DivButton","ButtonWrapper","ButtonExport","exportMap","getExcelExportMap","calculatedWidth","_$$","$","clientWidth","calculatedHeight","selectedSW","heightX","swimlaneElem","_swimlaneElem$","elemHeight","clientHeight","headerDetailsElem","_headerDetailsElem$","promise1","getPDFExportMap","getIMGExportMap","fileDownloads","PersonaCardWithSelectedCheck","_personaDetails$name","setSelected","personaDetails","_state$personas$all_p","pers","Card","CheckLabel","PersonaBubble","PersonaName","PersonaModalCard","unlinkPersona","clickPersona","isShown","setIsShown","viewJourney","CardModelWrapper","onMouseEnter","onMouseLeave","ImageWrapper","CardBodyWrapper","isshown","DivLabelWrapper","WarningWrapper","WarningLabel","iconimported","reLinkPersonaAction","relinkPersona","CardBody","ManagePersonaModal","fast","personasAll","personasLinkCJM","all","currentPersonasLinkCJM","selectToPersona","setToPersona","selectFromPersona","setFromPersona","checkOnClose","ModalWrapper","PersonaHeaderTitle","CustomBody","StepWizard","transitions","Step1","currentPersona","Step2","Step3","useRef","globalFilterValue","setGlobalFilterValue","useAsync","asyncFn","getPreviousLinkedPersonas","parameter","Search","SearchBar","handleChange","current","updateFilter","Step1Container","MapContainer","DataTable","WrappperFooter","addToJourney","singleSelected","_ref$current$singleSe","linkPersona","fromPersonaId","nextStep","selectedOption","setSelectedOption","disable","setDisable","WrappperBody","OptionBox","OptionDetails","OptionTitle","OptionDescription","ModelButton","previousStep","LinkPersona","CardsContainer","newObject","EditFilterView","_useSelector","_useSelector$entityTy","_useSelector$entityTy2","_useSelector2","_useSelector2$entityT","_useSelector2$entityT2","propView","viewFilter","entityType","setNewObject","typeView","setTypeView","updateType","updateCurrentView","_JSON$parse","columnFilterView","loadTableProps","columns","copyObject","columnSetting","filterSetting","sortSetting","upsertSavedView","savedView","CreateLibraryItemCanvas","displayForm","Header","MapIconContainer","MapCardContainer","IsSelected","haveHover","Redirect","Link","WrapperImgPersona","StyledMapName","LinkListCjmModel","border","overflowY","MapRow","_map$linkedPersonas","_map$linkedPersonas$","PersonaIds","personaData","mapCustomImageUrl","mapImage","setMapImage","to","_map$linkedPersonas$f","lnk","EmotionContainer","SmileyStaticComponent","listPersonas","CjmListModal","haveCreateNew","createBtnLabel","IconAdd","IconRemove","IconAddToolTip","IconRemoveToolTip","setSelectedMaps","unSelectedMaps","setUnSelectedMaps","setSearchValue","filteredMaps","setFilteredMaps","addToList","newSelectedMaps","removeFromList","BodyHeader","displayButton","GoToMapCreation","_map$name","ListWrapper","flush","HrefWrapper","href","base","updateAction","ListGroup","HeaderContainer","DivWrapper","ColumnSettingsModal","columnToDisplay","setColumnToDisplay","TransformColumnData","rendering","Drag","handleStyle","cursor","position","S","display","updateColumns","column","prevState","col","RenderValidation","useCallback","closeButton","DragDrop","setItems","newItems","orientation","unshift","setColumnsArray","getColumn","columnsArray","sortByGetColumn","PromptAICreation","i18n","persona_data","setDetails","setPrompt","contextData","systemLanguage","prompt_placeholder","aiPrompt","getPrompt","PERSONA_CREATION_EXTRACT_DETAILS","error_message","pendingRoute","createRoute","regularRoute","completeFunction","completePersonaDetails","createFunction","createPersona","defaultCreationObject","profession","language","aiGeneration","creationData","textAnalysis","callbackvalidation","alexPrompt","askAlex","max_tokens","details","handleEmptyFields","rs","_newDetails$name","generatedDetails","newDetails","handleCreate","CustomModal","tag","IconGroup","TextareaAutosize","minRows","maxRows","onBlur","onSubmit","InputGroup","InputGroupText","returnValue","getRandomItem","createPostActionPhase","createPostActionStage","createPostActionSwim","createPostActionIcon","createGetActionPersInt","createPostActionPersInt","deleteCJM","deletePermanentlyMap","deleteAllVersion","generatedByAI","copyCJM","copiedMapName","workspaceIds","archiveCJM","restoreCJM","createCJM","_props$newCjmParams","_props$newCjmParams2","newCjmParams","createJourneyMap","newMap","goToMap","linkToCxProgramId","CreateMapWithTemplate","linkToFolderId","fromTemplateId","_data$linkedPersonas$","getAllMapsListData","redirectReducer","withPhaseStageDetails","dashboardCode","getPersonaMapDetails","exportingPdf","resetCurrentMap","getMapChartData","forceRecalculate","shareUsersManyMaps","ids","usersIds","roleDetails","shareManyCjm","shareCjm","param","userIdName","unShareCjm","updateCjmName","replaceMapLogo","FileExtension","DocumentBody","deleteMapImage","updateIconSimpleInteraction","personaSTR","payload","newIcon","deleteIconSimpleInteraction","Icon","updateStageAttribute","deleteStageAttribute","updateAdvancedInteractionIcon","cardId","deleteAdvancedInteractionIcon","getMapUsers","forceViewer","cxOwnerEntity","resetMapUsers","updateStateCJM","cjmIdsStr","updateCjmDescription","updateTemplateCJM","updateLockedCJM","updateLinksCjms","cjmIdsToLink","mapsStr","cjmIdsToUnlink","filterEmotionMap","toggleTargetValues","updateExpandedHeader","isExpanded","recomputeMapSentimentLevel","channelIdStr","deleteManyMaps","deletePermanentlyManyMaps","archiveManyMaps","restoreManyMaps","convertCJMToTemplate","newName","updateShowRoute","showRoute","isMain","updateCjmStatus","newValueId","getHierachyPdf","createMapVersion","versionNumber","updateMapVersion","restoreMapVersion","getMapAudit","reorderPhases","newPhasesOrder","updateOrderPhases","destination","updateNamePhase","phaseIdStr","removePhase","addStage","srcStageIdStr","stageIdFrom","updatePhaseLinksWithCjms","updateSinglePhaseColor","phaseId","updatePhaseIdInStage","removeStage","_excluded8","stageIdStr","updateWidthStage","_excluded9","reorderStages","newStagesOrder","_excluded10","updateOrderStages","addPhase","phaseName","phaseIdFrom","_excluded11","namePhase","srcPhaseIdStr","updateNameStage","_excluded12","copyStage","stageIdNew","_excluded13","stageIdOld","reorderStageInteraction","newStageInteractionsOrder","_excluded14","updatePersonaExperienceText","textType","_excluded15","updateStageDesc","_excluded16","updateEmotionLevel","genericID","personaInteractionId","_excluded17","updateStageTargetEmotionLevel","_excluded18","updateStageImage","imageBody64","_excluded19","deleteStageImage","_excluded20","updateStageLinksWithCjms","_excluded21","updateSingleStageColor","_excluded23","orderSwimlanes","newOrder","updateSwimLanesOrder","_ref29","_excluded24","updateTextSwimlaneDesc","_excluded25","customSwimLaneIdStr","updateSwimlaneProps","modifiedSwimLane","_excluded26","deleteSwimLane","genericId","_excluded27","updateTouchPointOrder","upsertListItem","_excluded28","customSwimLaneItemIdStr","updateStageListItem","prevStageIdStr","newStageIdStr","_excluded29","updateStageGlobalItem","_excluded30","updateSwimLanesImage","_excluded31","deleteSwimLaneImage","_excluded32","updateSwimlaneDetailsOrder","newContainers","updateListItemOrder","newItemsOrder","_excluded33","deleteListItems","_ref42","_excluded36","deleteGlobalListItems","_ref43","_excluded37","customSwimLaneItemId","customSwimLaneId","_ref44","_excluded38","updateInteraction","_ref46","_interaction$actions","newChannelId","previousChannelIdStr","_excluded40","newSentimentLevel","previousChannelId","newActions","newJsonProperty","addInteraction","_ref47","lastElement","toastId","_excluded41","deleteInteraction","_ref48","_excluded42","forcePersonaInteractionRoute","_ref49","_excluded43","createMultipleInteractions","personaInteractionsIds","_ref50","_excluded44","newPersonaInteractionIds","linkInteraction","_ref51","prefixRelationships","_excluded45","unlinkInteraction","_ref52","_excluded46","createPostActionTimeline","upsertTimeline","_ref53","timeLine","_excluded47","deleteTimeline","_ref54","_excluded48","updateIconsSwimlane","deleteIconsSwimlane","iconToDelete","linkIconSwimlane","_ref55","iconIdStr","objectIdStr","IconType","_excluded49","unLinkIconSwimlane","_ref56","_excluded50","createPostActionFeedbacks","createGetActionFeedbacks","upsertCustomerFeedback","_ref57","_customerFeedback$sou","_excluded51","deleteCustomerFeedback","_ref58","customerFeedbackId","_excluded52","uploadExcelVOC","_ref59","fileBody64","_excluded53","upsertCustomerFeedbackSummary","_ref60","customerFeedbackData","_excluded54","deleteCustomerFeedbackSummary","_ref61","customerFeedbackDataId","_excluded55","loadChart","getExcelExportListService","columnView","getExcelExportListCjm","getLinkedCjmsExcelExportService","getLinkedCjmsExcelExport","getExcelTemplateExportService","getStagesPhases","getStagesPhasesFn","getCjmHeaderFields","getCjmHeaderFieldsFn","getCjmSwimLaneDetails","collab","getCjmSwimLaneDetailsFn","getCjmSwimLane","getCjmSwimLaneFn","getCjmPersonasDataFn","getInteractions","getInteractionsFn","getCjmContactDataFn","getCjmStagesCustomerExperienceData","getCjmStagesCustomerExperienceDataFn","getCjmCustomerFeedbackFn","getCjmTimeLines","getCjmTimeLinesFn","getCjmCxGoalsFn","getCjmSolutions","getCjmSolutionsFn","getCjmOpportunities","getCjmOpportunitiesFn","getCjmCxActions","getCjmCxActionsFn","getAllInsightOfMap","_ref62","getAllInsightOfMapFu","getPersonaInteractionByStage","_ref63","getPersonaInteractionByStageFn","upsertAttachItem","_ref64","_excluded56","linkRecordsOnMap","_ref65","swimLaneItemIds","objIds","objType","_excluded57","unlinkRecordsOnMap","_ref66","_excluded58","updateGlobalSwimLaneItemsOrder","getCjmInteractionById","_ref67","updateState","otherState","lastModifiedOn","initialState","WorkspaceReducer","_action$meta","_action$meta$requestA","_action$meta$requestA2","_action$meta2","_action$meta2$request","_action$response","requestData","requestAction","requestParams","responseData","Helpers","_jwt_decode","_currentWorkspace$aut","_currentWorkspace$aut2","token","Cookies","jwt_decode","currentWorkspaceRole","_state$all_workspaces","workspaceId","_state$all_workspaces2","modifiedWorkspace","_state$all_workspaces3","_state$all_workspaces4","_state$all_workspaces5","authUsers","updatedWorkspaces","_ws$authorizedUsers","_state$all_workspaces6","loginStatus","AuthReducer","_action$error","expires","setTime","axios","interceptors","use","config","Authorization","MustResetPassword","updateInsightState","fetchArraysAndMerge","array1","array2","ActionReducer","_action$response2","_state$all_actions2","_action$response3","_state$all_actions3","_state$all_actions4","_state$all_actions6","_state$all_actions7","_state$all_actions8","_state$all_actions","cxactionId","task","modifiedCxAction","modifiedCxActions","_modifiedCxActions$fi","cxAction","_action$meta$requestA3","_action$meta$requestA4","_state$all_actions5","_action$request","_state$all_actions9","tagIds","recordType","recordIds","act","currentTagAttribute","updatedTagAttribute","_action$request2","_state$all_actions10","_currentTagAttribute$","tagId","_action$request3","_state$all_actions11","currentGroupAttribute","updatedGroupAttribute","_action$request4","_state$all_actions12","_currentGroupAttribut","groupId","_state$all_actions13","cxActionId","_action$attributes","_action$meta3","_action$meta3$request","_action$meta3$request2","_state$all_actions14","lastUpdated","_action$request5","_state$all_actions15","actionIds","_action$request6","_state$all_actions16","_action$linkedPersona","FolderReducer","expanded","folderToDelete","newState","_folder$linkedFolders","linkedFolders","_updatedFolder$linked","_updatedFolder$linked2","_updatedFolder$linked3","_updatedFolder$linked4","_updatedFolder$linked5","_updatedFolder$linked6","_updatedFolder$linked7","_updatedFolder$linked8","_updatedFolder$linked9","updatedFolder","linkedCxPrograms","InsightReducer","_state$all_insights","_newInsight$name","_newInsight$descripti","_state$all_insights2","newInsight","_state$all_insights3","newAllInsights","modifiedInsight","_state$all_insights4","insightIds","_insight","_insight2","_state$all_insights5","_insight3","_insight3$attribute","_insight4","_insight4$attribute","_state$all_insights6","_insight5","_state$all_insights7","_insight6","_state$all_insights8","updatedInsight","_state$all_insights9","_state$all_insights10","_state$all_insights11","_state$all_insights12","_state$all_insights13","_insight$tags","_state$all_insights14","_state$all_insights15","_state$all_insights16","modifiedInsights","_modifiedInsights$fin","connection","CJMReducer","_state$current_map2","_state$current_map2$c","_state$current_map$cj31","_state$current_map$cj34","_state$current_map$cj35","_state$current_map$cj36","_state$all_maps7","_state$current_linked","_state$all_maps12","_state$all_maps20","_state$current_map$cj44","aiIsDeletingId","localStorage","getItem","_state$all_maps","_state$all_maps2","_state$all_maps3","removeItem","lastJourneyMapCreated","_Helpers$extractAndSo","defaultPersonaObject","phases","phase","swimLane","sentimentsConfig","expandedCard","StageIndex","PhaseIndex","cjmUsersData","_state$current_map","_state$current_map$cj","stageIdStr_descriptions","descriptions","currentSwimlane","currentStage","uuidv4","swimLaneId","updatedStage","updatedSwimlane","swimLaneKey","swimLaneStageId","updatedIcons","iconId","stageCustomerExp","updatedData","_state$current_map$cj2","_state$current_map$cj3","_interaction$attribut","_interaction$attribut2","_interaction$attribut3","stageIdSTR","VALUE_STG","attributeSTG","stagesData","nameIcons","stageIdSTR_DELETE","VALUE_STG_DELETE","attributeSTG_DELETE","stagesData_DELETE","_stage$attributeSTG_D","_state$current_map$cj4","_state$current_map$cj5","_state$current_map3","_state$current_map3$c","newStagesAfterDelete","_state$current_map$cj6","_state$current_map$cj7","_state$current_map$cj8","newStageId","newPhaseId","colorCodePhase","phaseIdFromIndex","colorCodeStages","pop","newPhaseCreated","relatedStageIds","newStageCreated","conclusions","comments","allPhases","newCjmPhases","newStagesPhaseAdded","_Object$entries","_state$all_maps4","linkedUsers1","_state$all_maps5","getMapFromResponse","newLinkUsers","_state$all_maps6","userIdOrTeamId","_state$current_map$cj9","_state$current_map4","_state$current_map4$c","_state$current_map5","_state$current_map5$c","newPhases","newStagesData","newStageIdFromPhase","destIndex","newStages","globalInsightsIcon","descriptionIcons","targetEmotionLevel","timing","kpIs","issues","processes","kpIsIcons","issuesIcons","processesIcons","newStagesOrdered","_state$current_map6","personaIdSTR_COPY","data_copy","updatedCopy","updatedChart","updatedcjmSwimLanes","isChanged","updatedSwimLane","showHideDescription","dividerLineHeight","dividerPattern","newCurrentMap","swimlaneDetailsTypes","_response$swimLaneObj","_response$swimLaneObj2","swimLaneObj","swimLaneInitValues","errorCode","_state$current_map7","_swimLaneInitValues$c","personaExperiences","globalSentimentLevel","cjmGlobalSentimentLevel","chartSwimlaneObj","additionalSwimlanes","chartData","_action$request$data","_state$current_map$cj10","_action$request$param","swimLaneType","fromEntries","entry","_state$current_map$cj11","_state$current_map$cj12","copy","_state$current_map$cj13","_state$current_map$cj14","_state$current_map$cj15","_state$current_map$cj16","_state$current_map$cj17","_state$current_map$cj18","_state$current_map$cj19","_state$current_map$cj20","_state$current_map$cj21","_state$current_map$cj22","_state$current_map$cj23","_state$current_map$cj24","newInteraction","_state$current_map$cj25","_state$current_map$cj26","_state$current_map$cj27","_state$current_map$cj28","_state$current_map$cj29","_state$current_map$cj30","personaIdStr_UPET","stageIdStr_UPET","textType_UPET","_state$current_map$cj32","_state$current_map$cj33","legend","dataChart","getTargetPoints","point","swimLaneItemId","currentSwimLaneDetails","stageDetails","updatedStageDetails","libraryValueIds","allNewItems","libraryValueId","customImageBody","formData","newSwimLaneItem","cookies","incxAction","inOpp","inSolutions","linkedUsers","_state$all_maps8","_state$all_maps$find","_state$current_map8","_state$all_maps9","allMapsLinks","newSet","_linkedCjms","filtered","updatedMap","isLocked","templateStatus","_state$current_map9","_state$current_map9$c","_state$all_maps10","toUnlink","_map$stages","stageIdx","_state$current_map10","_state$current_map10$","_state$all_maps11","_map$phases","phaseIdx","newFilter","showContactsSentimentLevel","showSentiment","showPersonaSentimentLevel","desactivateRoutes","previousPersonasLink","isHeaderExpanded","_state$current_map$cj37","modifiedRouteAttr","_state$all_maps13","successIdDeleted","_state$all_maps14","successIdArchived","_state$all_maps15","successIdRestore","successIdDeletePerma","discussionId","discussion","cjmDiscussions","_discussion$comments","commentId","comment","newDescription","swimLaneDetails","updatedSwimLaneDetails","_system$stageId","_system$stageId$cardI","_system$stageId2","_system$stageId2$card","system","cjmStagesSystemData","_system$stageId3","_system$stageId$cardI2","_system$stageId4","_system$stageId4$card","_system$stageId4$card2","_system$stageId5","_system$stageId$cardI3","_system$stageId6","_system$stageId6$card","cjmStagesDepartmentData","_system$stageId7","_system$stageId$cardI4","_system$stageId8","_system$stageId8$card","_system$stageId8$card2","isResolved","updatedDiscussions","phaseData","PhasesData","_state$current_map11","_state$all_maps16","newGroups","_state$current_map12","_state$all_maps17","_state$current_map13","_state$all_maps18","newTags","_state$current_map14","_state$all_maps19","idsToUpdate","CxGoals","updatedCjmCxGoals","_measures$find","measureName","_updatedCjmCxGoals$st","_state$current_map15","_state$current_map$cj38","_state$current_map$cj39","copyGoal","_state$current_map16","_state$current_map$cj40","_state$current_map$cj41","previousData","timeline","nameMapVersion","descriptionMapVersion","_action$request$data2","_action$request$data3","_action$request$data4","_action$request$data5","_action$request$data6","_action$request$data7","_action$request$data8","_action$request$data9","_customerFeedbacks$pe","newCustomerFeedbacks","customerFeedbacks","_customerFeedbacks$pe2","_customerFeedbacks$pe3","_cjmCustomerFeedback$","_cjmCustomerFeedback$2","_cjmCustomerFeedback$3","_cjmCustomerFeedback$4","_customerFeedbacks$pe4","_customerFeedbacks$pe5","_customerFeedback$cus","_customerFeedback$cus2","contact","customerFeedbackSummary","_customerFeedbackSumm","_customerFeedback$cus3","_state$current_map$cj42","_state$current_map$cj43","sourceIndex","destinationIndex","stageId_source","stageId_destination","_swimLane$stageId","extractedKeys","cjmAssistant","_state$all_maps21","usersLogin","_data$cjmStagesData","pendingRequests","renderCollaborative","_state$current_map17","_state$current_map17$","interactionCountByStage","cjmPersonasInteractionscalculated","_Helpers$extractAndSo2","_state$current_map18","collaborative_update1","collaborative_update","_state$current_map19","_state$current_map19$","updatedcjmStagesData","creationCjmParams","_action$meta$requestA5","_action$request7","updatedCjmSwimLaneDetails","_Object$entries2","acc2","key2","value2","_Object$entries3","_Object$entries4","aiPurchased","aiEnabled","aiConsentGiven","showComments","showResolvedComments","historyData","_state$current_map$cj45","LibrariesReducer","_state$insightTypes","_state$insightTypes2","_state$tags2","_state$measures","_action$response$data3","_action$response$data4","_action$response$data5","_action$response$data6","_Object$entries5","_Object$entries6","_Object$entries7","_Object$entries8","_action$response$data7","_Object$entries9","_action$response$data8","_Object$entries10","_action$response$data9","_Object$entries11","_state$brandValues","_state$cxMetrics","_state$cxMetrics2","_state$stakeholderRol","_state$stakeholderRol2","_state$customLibrarie5","_state$touchPointCate2","idTopUpdate","touchpointArray","touch","Generic","generic","metric","stakeholderRoles","sys","department","dep","updatedId","brandValues","touchPointCategories","_action$request$data$","_action$request2$data","_action$request2$data2","_action$request3$data","_action$request3$data2","modifiedInsightType","_state$tags","_action$response$data","setFocus","newIconName","category","newTouchPoint","newChannelName","categoryId","weight","_action$response$data2","Actions","customerJourney","_state$status$type","modifiedStatus","updatedStatus","modifiedAttribute","statusType","updatedStatusAr","idToRemove","StatusId","st","_action$params","_action$request5$data","priorityTypeUpdate","modifiedAttributes1","modifiedPriority","updatedPriorityArray","ptType","updatedptAr","categoryRelevant","idToDelete","modifiedGroup","updatedGroupAr","groupIdToDelete","newbrandValue","bv","brandValueId","modifiedBrandValue","cxMetric","cxMeasureId","stakeholderRole","library","_state$customLibrarie","_action$response$data10","_action$response$data11","_state$customLibrarie2","libraryValue","_state$customLibrarie3","_state$customLibrarie4","notifications","notificationIds","notificationId","seen","_state$measures2","_action$response4","_action$response5","_action$response5$dat","_requestData$cxGoal","_state$cxGoals","cxg","_state$cxGoals2","cXGoalId","_state$cxGoals3","touchpointCategory","_state$touchPointCate","_action$response$data12","touchPointCategory","_action$request8","_action$request8$data","_state$status$statusT","newStatusOrder","_action$request9","_action$request9$data","_state$priority$prior","newPriorityOrder","priorityType","_action$request10","_action$request10$dat","_state$group","newGroupOrder","_action$request11","_action$request11$dat","_state$tags3","newTagOrder","newTagsOrder","_action$request12","_action$request12$dat","_state$insightTypes3","newInsightTypeOrder","_action$response$data13","OpportunityReducer","_action$meta2$request2","_state$all_Opportunit2","_state$all_Opportunit3","_state$all_Opportunit4","_state$all_Opportunit5","_state$all_Opportunit","modifiedOpportunity","modifiedOpportunities","_modifiedOpportunitie","_state$all_Opportunit6","_state$all_Opportunit7","_state$all_Opportunit8","_state$all_Opportunit9","_state$all_Opportunit10","_opp$attributes","_state$all_Opportunit11","oppIds","_state$all_Opportunit12","_state$all_Opportunit13","_opp$linkedPersonas","isSynching","ProjectReducer","_state$all_projects2","_state$current_projec","_state$current_projec2","_state$current_projec3","_state$current_projec4","attributesDic","_user$roleName","_state$all_projects","modifiedProject","currentProject","_state$all_projects3","_state$all_projects4","_state$all_projects5","stakeholder","stakeholders","stakeholderId","linkedCxProgram","_state$current_projec5","_state$current_projec6","_state$current_projec7","_state$current_projec8","_state$current_projec9","_state$current_projec10","section","_state$all_projects6","recId","_state$all_projects7","linkUsers","getProjectFromResponse","_state$all_projects8","_state$all_projects9","_state$all_projects10","_state$all_projects11","_state$all_projects12","_state$all_projects13","modifiedProjects","_modifiedProjects$fin","configurations","connector","currentWorkspaceAuthorizedUsers","currentWorkspaceTeams","settingsReducer","_state$users","_state$users2","_state$users3","_state$users4","_state$users5","logoRefreshValue","defaultDisplayLanguage","newLangValue","newShowSampleValue","registeredUserId","userToUpdate","updatedUser","newUser","_state$allWorkspaces","_state$allWorkspaces$","currentWorkspaceUserIds","roles","savedViewsArr","savedViews","savedDefaultViews","savedViewsByEntity","_savedViews$savedView","_state$userSetting$sa","viewId","savedViewToDelete","view","queryInfo","newConnector","_state$connector","currentConnector","_state$allWorkspaces2","_state$allWorkspaces3","_state$allWorkspaces4","currentWorkspaceTeamIds","accessType","_state$teams","_requestData$teamId","remainingTeams","_toPropertyKey","updatedTeams","memberUserIds","updatedMembers","_action$request4$data","_team$memberUserIds","_responseData$find","_responseData$find2","_responseData$find2$a","_state$authorizedUser","_Object$values2","SolutionsReducer","_state$all_solutions7","_state$all_solutions8","_state$all_solutions9","_state$all_solutions10","_state$all_solutions11","_state$all_solutions","_state$all_solutions2","modifiedSolution","_state$all_solutions3","sol","_state$all_solutions4","_state$all_solutions5","_state$all_solutions6","modifiedSolutions","_modifiedSolutions$fi","_state$all_solutions12","_solution$attribute","_state$all_solutions13","_state$all_solutions14","solutionIds","_state$all_solutions15","_solution$linkedPerso","customMiddleWare","next","_action$error$respons","LOGIN","AUTHENTICATE","pdfToken","_action$error2","_action$error2$respon","_action$error3","_action$error3$reques","_action$error3$reques2","_action$error3$reques3","apiCall","responseURL","cancelableRequestsMiddleware","requestType","cancellations","previousCancelTokenSource","cancel","cancelTokenSource","CancelToken","cancelToken","cleanup","catch","isObjectEmpty","_items$","_items$2","checkEmptyListMiddleware","getState","currentToken","configHeaderAxios","setAuth","createAction","paths","publicRoutes","_state$settings$userS","_state$settings5","_state$settings6","_state$settings7","_state$settings8","_state$settings8$conn","_state$settings9","_state$settings10","_state$settings11","_state$settings11$rol","_state$settings2$user","log","resetNotif","upsertSettingUser","updateAllStoresStates","getSubscriptionDetails","getSettingUser","getOrganizationSettings","getAllAuthorizedUsers","getAllRegisteredUsers","connectorInit","getAllRoles","checkArrayAndWorkspace","groupInit","tagInit","iconsInit","libraryInit","touchPointInit","brandValueInit","priorityInit","statusInit","measureInit","getAllInsightTypes","getAllStakeholderRoles","getAllCxMetrics","cxGoalsInit","touchPointCategoriesInit","_array$","originalData","allFilterOptions","selectedFilterOptions","currentData","savedAnalyticFilters","getReportsData","cjms","touchpoints","opportunities","gainInsightTypeId","painInsightTypeId","gainInsights","painInsights","currentCjmIds","currentPersonaIds","filterRecords","records","single","_record$cjmIds","_record$personaIds","hasJourney","hasPersona","personaIds","filteredInsights","_cjm$insightIds","currInsight","_insight$type","_insight$type2","wordCloud","journeyTrendReducer","_responseData$cjms","_responseData$persona","isExportMode","selectedCjms","j","_state$savedAnalyticF","_state$savedAnalyticF2","_state$savedAnalyticF3","_state$savedAnalyticF4","_responseData$program","programs","_state$savedAnalyticF5","_state$savedAnalyticF6","dataAttribute","_state$originalData$c","_state$originalData$p","selectableCjmIds","filteredCjms","selectablePersonaIds","filteredPersonas","_state$originalData$p2","_state$selectedFilter2","_state$selectedFilter3","_state$selectedFilter4","_state$selectedFilter","allRelatedCjmIds","allRelatedPersonaIds","vocAnalysisReducer","metrics","contactInteractions","c","filteredTouchpoints","filteredMetrics","filteredPersonaInteractions","pi","filteredContactInteractions","ci","currentContactInteractions","getInteractionsRelatedItems","interactions","allMetrics","_state$originalData","_state$originalData2","_state$originalData3","_state$originalData4","currentPersonaInteractions","getFilteredInteractions","_state$originalData5","_state$originalData6","_state$originalData7","_state$originalData8","_state$originalData9","_state$originalData10","_state$selectedFilter5","_state$selectedFilter6","_state$selectedFilter7","_state$originalData11","_state$originalData12","_state$selectedFilter8","_state$selectedFilter9","_state$selectedFilter10","_state$selectedFilter11","_state$originalData13","_state$originalData14","_state$selectedFilter12","_state$selectedFilter13","_state$originalData15","_state$originalData16","_state$originalData17","_state$originalData18","getProjectsByCjms","projectIds","_cjm$projectIds","projectId","roiAnalysisReducer","filterBy","startDate","endDate","currentProjects","checkStartEndDate","range1","range2","selectedProject","uiReducers","combineReducers","page","Page","reducer","Table","Comment","enableMapSet","getBasename","createBrowserHistory","basename","urlValidationAndRedirect","persistor","requestsReducer","requestsMiddleware","handleRequests","driver","createDriver","takeLatest","analyticsReducer","journeyTrend","vocAnalysis","roiAnalysis","rootReducer","router","connectRouter","PersonaReducer","strategies","StrategyReducer","CxProgramReducer","analytics","persistConfig","storage","createIndexedDBStorage","whitelist","persistedReducer","persistReducer","enhancers","applyMiddleware","routerMiddleware","thunk","composeEnhancers","compose","createStore","persistStore","ConfigureStore","initialReduxState","buttonRef","defaultOpen","setShow","React","visible","OverlayTrigger","onToggle","overlay","Tooltip","JourneyMapList","shallowEqual","useAsyncs","asyncFns","PageTemplate","classNames","pageTitle","_defs","_g","_extends","assign","apply","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgPotionWizard","svgRef","titleId","xmlns","viewBox","points","ForwardRef","SvgWandWizard","xmlnsXlink","x1","y1","x2","y2","gradientTransform","gradientUnits","offset","stopColor","xlinkHref","Potion","CookWizard","fadeIn","keyframes","wave","fallAnimation","BackButton","MainContainer","Container","MainImage1","isAnimating","ImageContainer","MainImage2","Title","SubTitle","NameContainer","TextArea","InputTextarea","Colors","primaryText","Wrapper","Dropdown","WandButton","showwave","StepWrapper","showAnimation","WandContainer","MagicWand","Wand","GOTemplate","NavLink","Mandatory","_path","_path2","_g2","_path3","_path4","_path5","_g3","_g4","_path6","_path7","_path8","_path9","_path10","_path11","_path12","_path13","_path14","_path15","_path16","_path17","_path18","_path19","SvgDetailed","opacity","filterUnits","colorInterpolationFilters","floodOpacity","in","stdDeviation","in2","stopOpacity","SvgHighLevel","SvgServiceBlueprint","SvgTemplateMapCreation","MultiLabel","multi","wizard","LaneCard","Description","ImageCard","preview","header","Style","TitleWrapper","footer","useButton","_object$libraryId","MapType","setKey","setIsAnimating","CemTemplate","GetCemTemplate","setNewMap","OrgTemplate","GetOrgTemplate","goBack","HatWizard","onAnimationEnd","BookWizard","Tabs","activeKey","onSelect","k","mountOnEnter","unmountOnExit","Tab","eventKey","showModal","useModal","template","Detailed","BluePrint","HighLevel","temp","_state$auth2$userInfo","templateTransform","Template","handleCreationTemplate","_templateRelevant$lin","templateRelevant","SetCreationCJMParams","_templateRelevant$lin2","MapName","rows","autoResize","DisplayState","attKey","updateFunction","ProfileCard","selectable","DropDownPosition","CardTop","Occupation","CardBottom","BubbleChecked","TemplateActions","EmotionPosition","PersonaProfileCard","selectPersonas","isTemplateView","associatedContactsCount","rename","setRename","personaName","disableButton","setDisableButton","isActionsAllowed","disableRedirect","isRecenterWork","callbacks","fromTemplateIdStr","selectPersona","CreateActionsDropdown","BaseActions","EditTitle","obj_id","obj_name","updateName","updatePersonaName","updateLockPersonaTemplate","modifiedPersona","updateStatusPersonaTemplate","PersonaQuickCreate","useMediaScreen","newPersona","setNewPersona","callbackCreate","WrapperDiv","createPersonas","MapPersonas","_personas$filter","myRef","allPersonaBase","setAllPErsonaBase","setShowAnimation","showWaveAnimation","setShowWaveAnimation","isCreating","setIsCreating","_allPersonas","newId","handleFocus","_myRef$current","scrollIntoView","perso","noshadow","MagicSelect","mostCompleteMap","prev","custom","enterRight","enterLeft","exitRight","exitLeft","intro","JourneyMapCreation","isLazyMount","totalSteps","Authentication","_props$location$searc","_props$location$searc2","authProps","hasRun","clearPersistedIndexedDB","authenticate","_data$userInfo","_data$userInfo$redire","redirectUrl","getOrganizationFn","defaultWorkspaceId","_error$response","_error$response2","message","handleSubscrClick","CustomContainer","ExpirationEndedText","InvalidPage","errorMessage","WrapperImg","Authenticate","_location$search","targetPage","getLoginUrl","Logout","force","auto","ActionLogout","SVG","Logo","LoginModal","Forms","LayoutAuth","ButtonForgetPassword","DescResetPassword","span","ResetModal","Contact","LoginStep","errors","setErrors","password","globalError","setGlobalError","formValues","FormData","isValidEmail","validateEmail","isValidPassword","validatePassword","tgtUrl","login","encryptPassword","controlId","hasValidation","Control","isInvalid","Feedback","Alert","ResetStep","resetPassword","LoginPage","CEM","loginPage","isHashEnabled","GroupByMap","_state$maps$all_maps","_state$actions$all_ac","_state$actions$all_ac2","expandedRows","setExpandedRows","onRowClick","_e$data","onRowToggle","_e$data$","responsiveLayout","rowExpansionTemplate","disablefixheader","Column","expander","rowData","sortable","CxActions","folderView","handleKeys","renderViewButtons","DataLoader","getAllCxAction","withDetails","reduxActions","disabledSpinner","renderView","GenericCard","filterParams","filterAttribute","handleFilterChange","tooltipRef","isEllipsisActive","setIsEllipsisActive","_tooltipRef$current","_tooltipRef$current2","offsetWidth","scrollWidth","GenericCardWrapper","ColoredBox","ItemName","MapCard","_tooltipRef$current3","_tooltipRef$current4","PersonaWrapper","Personas","ChartFilter","statuses","handleResetFilter","mapsIdsRelatedToItem","mapsRelatedToItem","FilterWrapper","StatusAndGroup","GenericList","JourneyMaps","PrimeInput","OneRow","scale","halfYAxisSquare","isDoubleWidth","empty","idx","Square","lastSquare","halfXAxisSquare","XAxis","XAxisWrapper","XScale","Unit","XAxisTitle","YAxis","yAxisPosLeft","yAxisPosBottom","yAxisTitlePos","YAxisWrapper","yaxisposleft","yaxisposbottom","YAxisTitle","yaxistitlepos","Test","YScale","axis","GroupCard","handleShowModal","allStatus","solutionsStatus","statusColor","labelRef","_labelRef$current","_labelRef$current2","CardWrapper","GroupPointSelector","GroupPoint","ispdf","ChartPoint","_items$$name","xCoordinate","yCoordinate","CustomPoint","modal","refwrapper","op","isQuadrant","multiplier","showEditModal","xAxis","yAxis","ChartPointContainer","BadgeWrapper","pill","bg","multiItems","MultiItemsPoint","OverlayPanel","Badge","Chart","itemsByPosition","CustomLabels","xTitle","yTitle","pdfRef","ChartContainer","Legend","StyledChart","LegendWrapper","SolutionsQuadrant","solutionsData","solutionsByPositionCalc","getPositionning","actualSolutions","_solution$attributes","_solution$attributes$","_solution$attributes2","_solution$attributes3","_filterParams$groupId","statusRes","mapRes","groupRes","groupsAtt","strCoordinates","solutionsByPosition","Fragment","SolutionChartPoint","SolutionLabels","BenefitCard","classes","EditSolution","Solutions","_state$settings$organ2","setFilterParams","logoUrl","handleRedirect","createSolution","ChartButtons","filterDropdownOpen","setFilterDropdownOpen","isAllowed","nFiltersApplied","SolutonDisplayWrapper","exportPdf","_filterParams$mapIds","_filterParams$statusI","offsetHeight","getPdfExportServiceSolutionChart","getPdfExportSol","Filter","toggleFilter","CustomOverlayPanel","renderOtherButtons","renderChartButtons","EmptyList","visibleButtonCreate","buttonCreate","buttonCreateLabel","emptyListIconColor","emptyListIcon","emptyListText","CxAssessmentPage","getCxProgramUsers","GetCxProgram","CxProgramIdStr","CxAssessment","_assessment$date","assessmentId","selectedAssessment","setAssessment","isViewer","competencies","handleSelect","competence","newScore","score","updatedAssessment","contactName","handleBlur","fluid","CustomBreadCrumb","Labels","Score","Maturity","Instructions","CompetenceCard","_t","CardTitle","el","Selector","RatingLabel","ChartDisplayContainer","OpportunityChart","getOppsByPosition","actualOpportunities","_opp$attributes$find","_opp$attributes2","_opp$attributes2$find","oppsByPositionCalc","_opp$attributes3","_opp$attributes3$find","_opp$attributes4","_opp$attributes4$find","buisnessValue","ratingValue","customerValue","OpportunityChartPoint","EditOpportunity","setQuery","showEditOpportunity","createOpportunity","getPdfExportServiceOpportunityChart","getPdfExportOpp","getAllOpportunity","MapBoxCard","_allStatus$customerJo","dataForUnlink","states","PickListData","currentState","currentStatus","cxStatus","FooterState","FooterComponentStyle","CustomLabel","StateTypes","FooterStatus","TaxonomyItem","showDot","BoxContainer","CustomCard","BulletPoint","CardAction","PersonasWrapper","MapNameContainer","MapHierarchyView","metaData","nNodes","maxDepth","memory","disabledExport","setDisableExport","zoomStatus","setZoomStatus","behavior","block","inline","createNodesRec","_currentMap$phases","_currentMap$stages","nodes","parentMap","depth","linkedMapId","createNodes","ActionsContainer","ZoomActions","handleZoomOut","ZoomStatus","handleZoomIn","Reset","exportView","zoom","OrgChartTemplate","nodeTemplate","OrganizationChart","BubbleCount","CxProgramCard","_userInfo$UserType","_card$authorizedUsers","_card$authorizedUsers2","_card$authorizedUsers3","_card$name","_card$tags","_card$tags$slice","_card$CxNumbers","isOwner","picture","setPicture","imageData","api","deleteCxProgramImage","UploadImage","addImageAllowed","updateCxProgramImage","load","redirect","Tag","CxNumbers","cx","_card$cx$linkName","_card$cx$linkName2","linkName","LinkedEntityBubble","desactivateclick","colorcode","AddNewPersona","TableTemplate","PersonaHeaderViewContainer","SortIcon","updown","reference","SortButton","CardView","showCreateModal","isList","getAllCxProgram","_state$cxProgram$all_","all_cxPrograms","showcardView","setCardView","createCxProgram","handleCardViewChange","isCardView","searchParams","delete","pushState","PersonaType","PersonaWizardTemplates","personaCemTemplates","personaOrgTemplates","GetTemplates","PersonaDetails","genderOptions","autoFocus","GenderDropdownSelector","_object$isFuture","handleNextClick","PersonaCreationWizard","step","PersonaPicture","CardViewPersona","isInTemplate","upDown","setUpDown","setType","PersonaValidation","PersonaHeaderViewCard","currentType","goToPersonaCreation","viewCard","setViewCard","Svg2HandCelebrationEmoji","SvgEmojiWavinghand","SvgHornsEmoji","SvgVictoryHandEmoji","_loggerUserInfo$UserF","loggerUserInfo","isWorkspaceOWner","useGetIsLoggedUserWorkspaceOwner","loggerUserType","isShowInvite","getCorrectTime","UserFullName","IconHomeValidation","WavingHand","HornsIcon","CelebrationIcon","VictoryHandICon","Learn","SectionTitle","LearnCard","ProgramsImg","time","AskAlexImg","OpportunitiesImg","VocImg","FooterText","QuickActions","_userInfo$UserSubscri","aiAllowed","showJourneyAiModal","AICreation","showPersonaAiModal","isEnterprise","handleRedirectCjmAI","handleRedirectPersonaAI","QuickActionImg","RecentWorkCard","relatedItems","renderRelatedItems","defaultName","_relatedItems$","relatedItem","getEntityData","IconContainer","Time","RecentWorkEmpty","Emoji","ButtonsGroup","RecentWork","RecentWorkContainer","SectionBody","getRecentWorks","RecentWorkLoaded","RecordsContainer","Home","Projects","_result$EntityList$Gl","_result$EntityList$Gl2","_result$EntityList$CX","_result$EntityList$CX2","_result$EntityList$Pe","_result$EntityList$Pe2","_result$EntityList$Cu","_result$EntityList$Cu2","_result$EntityList$In","_result$EntityList$In2","_result$EntityList$Op","_result$EntityList$Op2","_result$EntityList$So","_result$EntityList$So2","_result$EntityList$Ac","_result$EntityList$Ac2","_result$EntityList$Pr","_result$EntityList$Pr2","setValue","setResult","SetCount","debouncedSearchTerm","useDebounce","useAdvancedSearch","_data$key","floatLabel","onKeyDown","EntityListItem","disableClick","program","BasicActionsDropdown","dropdownClasses","isDisabled","showDropdown","setShowDropdown","DisplayDropdownItem","divider","DropdownItem","itemStyle","itemClasses","handleClickItem","customItem","clickable","draggable","iconStyle","TextWrapper","DropdownWrapper","drop","handleDropdownToggle","originalEvent","Toggle","as","DropdownMenu","Menu","CustomLibraryListItem","filteredItems","EditCustomLibrary","customItemsIds","v","ColorCircle","Name","CustomLibraryAddItem","isCreate","isButtonDisabled","setIsButtonDisabled","TitleInput","noborder","fontWeight","handleAdd","upsertValueLibrary","showCopyModal","showModalDelete","ActionConfirmModal","copyLibrary","handleDelete","callBack","bodyContent","deleteLibrary","actionBtnText","LibraryUploadFile","isHaveFile","setIsFile","validFile","setValidFile","errorFile","setErrorFile","msg","_msg$response","_msg$response2","onSuccessImport","WrapperInfo","UploadFile","fileUploadRef","templateExportService","getExcelLibraryTemplateService","startCreateData","authorizedExtensions","files","getFiles","_file$name","_file$name$split","_file$name$split$pop","file","fileExtension","reader","FileReader","readAsDataURL","onloadend","base64data","uploadExcelLibraryValue","CustomLibraryHeader","copyAction","deleteAction","showImportModal","LibraryHeader","HeaderActions","CustomLibraryTopSection","libraryName","setLibraryName","setDescription","handleUpsert","upsertLibrary","handleNameBlur","it","_it$name","SearchContainer","FlexContainer","Editor","onUpdate","getLibrary","_library$name","_library$values","_library$values$filte","setFilterValue","_item$name","_item$description","nameComparison","localeCompare","LibraryContainer","LibraryItems","AutoSizer","List","rowCount","rowHeight","rowRenderer","_filteredItems$index","_filteredItems$index2","EmptyCard","Measures","EditLibrariesModal","hideCreateModal","MeasureForm","_e$response","LibraryTemplate","addBtnText","displayLibraryItem","deleteMeasures","deleteMeasure","LibraryItemCard","handleEdit","openEdit","deleteFunction","allowDeleteWithoutWarning","actionType","copyFunction","copyMeasure","LibraryListCard","iscustom","Records","nRecords","Libraries","LoadedLibrariesMenu","isStandard","librariesData","getLibrariesSelector","_libraries$touchPoint","_libraries$icons","_libraries$customLibr2","_libraries$customLibr3","_libraries$customLibr4","_libraries$customLibr5","_libraries$customLibr6","_libraries$customLibr7","lib","_libraries$brandValue","_libraries$measures","ContractDetailsCard","fullUsersLicenses","seatUsed","readOnlyUsersCount","ReadOnlyUsers","DisplayNumber","total","Total","PackageContainer","Package","Wrap","Users","UsersPage","_subscriptionDetails$","WorkspaceSelectorCard","isNoneDisabled","SelectorContainer","LogoContainer","CustomDropdown","optionLabel","optionDisabled","CustomGroup","FormMemberType","authorizedUserId","modeType","allTeamsObj","_state$settings2$subs","defaultWs","allTeams","userTeams","_t$memberUserIds","modifiedWorkspaces","setModifiedWorkspaces","currentWorkspaces","setCurrentWorkspaces","getRoleName","currentTeams","setCurrentTeams","handleWorkspaceChange","selectedWorkspace","_workspace$authorized","isSelected","selectedWs","authorizedUser","checkIfNoneDisabled","isWorkspaceCardDisabled","useImperativeHandle","getModifiedWorkspaces","getModifiedTeams","ut","ct","teamIdsToAdd","teamIdsToRemove","Workspaces","renderInput","renderSelectedTeams","inputProps","_props$selected","TypeaheadInputMulti","FormPersonalDetails","modifiedAttributes","setModifiedAttributes","setUser","isSharedExpert","isSSO","isCreateMode","isUpdateMode","showAllEmailsFields","isSync","setIsSynch","handleInputChange","Settings","UserSubscriptionPlanSelector","StyledDropdown","displayDropDownTitle","planTypeCode","StyledDropdownItem","DropdownButton","Item","FormSettings","showPackageSelection","handleUserTypeChange","userTypeCode","handleCreationTypeChange","ButtonsContainer","UserDetailsContainer","UserDetails","desactivateClick","renderPlanAndUserTypeFields","UserTypeDropdown","EditUser","EditUserForm","_getAuthorizedUserFro","memberTypeRef","subscriptionPlanCode","UserSubscriptionPlan","isActionButtonDisabled","setIsActionButtonDisabled","hideLoginName","redirectToList","isUserAlreadyRegistered","userToCompare","Scroll","ContainerPage","backFunction","FormContainer","_memberTypeRef$curren","_memberTypeRef$curren2","roleNames","createUser","isShare","isUpdateTeams","shareWorkspace","isUnshare","updateUser","modifiedUser","TeamMembers","refName","_settings$teams","backOfficeUsers","_backOfficeUsers$find","defaultValue","defaultSelected","InitialsBubble","renderSelectedUsers","_ref$current3","blur","_refName$current","_ref$current","_ref$current$state","_ref$current$state$se","_ref$current2","membersToAdd","membersToRemove","newTeam","clear","MembersRow","member","setSelectedTeam","showTeamModal","ActionConfirm","IconWrapper","TeamRow","TeamColumn","ActionsDropdown","createActions","toggleButton","Teams","setSearch","selectedTeam","_teamsDic$selectedTea","UsersRow","PageBody","handleBackClick","TableWrapper","ManageOwnership","userFromRef","userToRef","isSuccess","setIsSuccess","confirmModal","renderListUsers","WrapperTypehead","Typeahead","submit","_userFromRef$current","_userFromRef$current$","_userToRef$current","_userToRef$current$st","_userFromRef$current2","_userToRef$current2","_from$","_to$","_from$2","_to$2","transfertOwnerShip","userContactIdFrom","userContactIdTo","Organization","_subscriptionDetails$2","defaultLanguage","showSample","isLoggerCompanyAdmin","languages","setLanguages","selectedLanguage","setSelectedLanguage","setChecked","accountImage","setAccountImage","showButtonUpdate","upgradeButtonLink","deleteAccountImg","deleteAccountImage","hideModalIcon","uploadAccountImage","SettingsContainer","SettingsCard","CompanyLogo","TitleLabel","ImageLogo","Language","CustomInput","_supportedLanguages$f","lang","updateAccountSettings","changeLanguage","ShowSampleData","SubDetailsContainer","SubscriptionCard","AIcontent","DivWrap","SubscriptionPlanCustom","validUntil","licensedUsersNumber","readOnlyLicensedUsersNumber","onEnable","enableAlex","enable","ContainerAlex","PolicyText","rel","Checkbox","sze","onCheck","aiAgreementPolicy","bold","Configuration","integrationUserName","integrationMode","organizationPrefix","organizationZone","intMode","setIntMode","setPassword","getSubscriptionConfig","Select","boxShadow","MapTemplates","childRef","ConceptSearchBar","PersonaTemplates","Templates","_search$getTabName","tabName","visibility","isWorkspaceActive","isCurrent","deleteConfirmModal","DeleteWarningModal","handleDisable","updateWorkspace","handleEnable","deleteWorkspace","warningLabel","secondBtnText","boxColor","isDeleteConfirm","isWorkspaceCanBeDisabled","activesWorkspaces","originalDefaultWorkspace","WorkspaceCard","_workspace$name","_workspaceUsers$users","_workspaceUsers$users2","_workspaceUsers$teams","_workspaceUsers$teams2","firstFilterStep","filteredUsers","workspaceUsers","fu","WorkspaceLogo","letter","Default","WorkspacesList","isSharedEnterprise","_ws$authorizedUsers$f","filterWorkspaces","BtnContainer","onCreate","Cards","ColorBubblePicker","colors","ColorContainer","isselected","ColorBubble","WorkspaceManageUsers","setModifiedAttribNames","allActiveUSers","setWorkspaceUsers","selectedUsers","_authorizedUsers$find","domaineName","_u$loginName","isNotRemovable","init","isModified","setIsModified","getSelected","getWorkspaceUsers","UsersSelectorTypeahead","isAllSelected","onUsersChange","showBorder","DuplicateWorkspaceAddOn","duplicateOptions","setDuplicateOptions","getDuplicateOptions","newOptions","opt","DuplicateSection","WorkspaceForm","duplicateRef","ownersRef","usersRef","useGetIsCompanyAdmin","setObject","setWorkspace","useAttributeHandler","Swal","fire","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","isConfirmed","isDismissed","_ownersRef$current","_usersRef$current","_owners$users","_owners$team","owners","updatedUsers","teamsOwners","teamsUsers","createWorkspace","newWorkspace","_duplicateRef$current","srcWorkspaceId","selectedCustomization","copyWorkspace","Section","EditorWrapper","CheckBoxContainer","isBoxDisabled","MondayFormConnector","_connector$mondaySett","_connector$mondaySett2","_connector$mondaySett3","setToggle","validated","setValidated","setIsDisabled","setCurrentConnector","host","apiUrl","mondaySettings","dedicatedBoardTemplateId","globalProjectsBoardId","enableConnection","validation","WrapperForm","upsertConnector","retrieveDataFrequency","warning","WrapperRow","invalid","WrapperFooter","WrapperConnector","WrapperRowError","WrapperError","WrapperRight","ImgWrapper","WrapperHeader","WrapperPage","WrapperSearch","WrapperHerf","WrapperBorderDiv","WrapperColHerf","WrapperBox","IntegrationList","_connectors$filter","_connectors$filter2","_connectors$filter3","connectors","searchedValue","setSearchedValue","supportFormModal","SupportForm","mondayFormConnector","mondayConnectors","listIntegrations","buttonName","classButton","subject","listIntegrationsConnect","integration","listIntegrationsNoConnect","integrations","IntegrationCard","dataFrequency","IntegrationForm","_currentConnector$ret","setError","startUpdate","setStartUpdate","connectorName","isGlobalError","isTokenNotValid","getImgConnector","GenericDropdown","_integrations$integra","actionConfirmModal","updateConnector","recordTitle","childFolder","childPersonas","childMaps","childMapTemplates","childPersonaTemplate","childOpportunities","childSolutions","childActions","childCxPrograms","childProjects","childInsights","_state$folders","FolderValidation","MapValidation","mapTemplates","personaTemplates","_state$solutions$all_","_state$opportunity$al","_state$projects$all_p","_state$insights$all_i","isTemplateAllowed","_childFolder$current","_childPersonas$curren","_childMaps$current","_childMapTemplates$cu","_childOpportunities$c","_childSolutions$curre","_childActions$current","_childCxPrograms$curr","_childProjects$curren","_childInsights$curren","CustomTabs","TrashBin","Archive","getJourneyTrendData","applyFilterJourneyTrend","ActionListCard","isLastItem","EditCxAction","islast","MapListCard","OpportunityListCard","SolutionListCard","CustomWordCloud","dataSelector","colorPalette","emptyDataText","canvasRef","containerRef","setTooltip","useLayoutEffect","_containerRef$current","_containerRef$current2","canvas","ctx","getContext","dpr","devicePixelRatio","clearRect","maxFreq","minFreq","centerX","centerY","angle","radius","colorSteps","stepSize","wordRects","placeWord","word","font","fillStyle","wordValue","groupIndex","getColorForWord","wordWidth","measureText","isOverlapping","isOutOfBounds","attempts","sqrt","cos","sin","rect","checkOverlap","fillText","handleMouseMove","getBoundingClientRect","mouseX","clientX","mouseY","clientY","hoveredWord","addEventListener","removeEventListener","padding","borderRadius","pointerEvents","EmptyDataContainer","EmptyData","Export","dashboardName","getFiltersToSave","currentEntityData","_state$analytics","onExport","_pdfRef$current","_pdfRef$current2","prepareAndGetPdfExport","DateFilter","inputRef","currentDate","_state$analytics$vocA","_state$analytics$vocA2","selectedDate","setSelectedDate","_inputRef$current","displayFilterTitle","dateObj","Calendar","dateFormat","minDate","maxDate","DateRangeFilter","_state$analytics$roiA","_state$analytics$roiA2","selectedDates","setSelectedDates","currentField","setCurrentField","originalDate","_selectedItems$filter","_sortByName","_state$analytics$dash","_state$analytics$dash2","selectedFilterOption","_state$analytics2","_state$analytics2$das","_state$analytics2$das2","setSelectedItems","listItems","setListItems","selectAll","setSelectAll","isItemSelected","_selectedItems$map","blanks","hasBlank","clickedItem","_item$name$toLowerCas","isBlanks","ItemSelectorCard","handleSelectAll","CheckBox","sortByName","handleClear","NoDataContainer","getFilterDetails","currentFilterBy","FilterBy","selectedDetails","onClickSelect","filterName","FiltersManager","filterEntities","applyAction","FiltersSection","filterComponent","getFilterParams","allItemsSelector","BasicDrillDownModal","relatedItemsTitle","renderIllustration","ListItemComponent","itemAttributeId","ListContainer","ListTitle","HorizontalBarsChart","barColor","listItemComponent","drillDownModal","LabelName","newX","newY","CustomLabelName","LabelValue","textAnchor","ResponsiveContainer","BarChart","margin","axisLine","Bar","barSize","LabelList","renderDrillDownIllustration","InsightTypeCard","gemColor","_state$analytics$jour","_insights$insightId","Value","CustomSection","Children","growFactor","InnerSection","grow","Counter","iconColor","ConterContainer","Counters","CustomLegend","customClassNames","Legends","TextAndValueTooltip","TooltipContainer","insightsHorizontalBarDataSelector","wordCloudDataSelector","_state$analytics2$jou","wordFrequency","wordObj","totalFrequency","entitiesByJourneyDataSelector","_state$analytics3","_state$analytics3$jou","_state$analytics3$jou2","_state$analytics4","_state$analytics4$jou","_formatedData$sort","linkedIdsAttribute","allItemsAttribute","allItemIds","formatedData","linkedIds","linkedId","relatedItemsIds","sortedData","_data$relatedItemsIds","relatedItemId","_currentData$allItems","isEmptyObject","mapPerStatusDataSelector","_state$analytics5","_state$analytics5$jou","_state$analytics5$jou2","_state$libraries$stat","_CustomizationColors$","statusName","opportunityAnalysisDataSelector","_state$analytics6","_state$analytics6$jou","_state$analytics6$jou2","businessRatingValue","customerRatingValue","strCoordinate","coordinates","solutionAnalysisDataSelector","_state$analytics7","_state$analytics7$jou","_state$analytics7$jou2","_Object$keys3","finalData","topTenWithLabelsDataSelector","_state$analytics8","_state$analytics8$jou","_state$analytics8$jou2","_state$analytics9","_state$analytics9$jou","_state$analytics9$jou2","rec","_rec$personaIds","_rec$cjmIds","_rec$programIds","totalUsage","programIds","topNTouchpointsDataSelector","_state$analytics10","_state$analytics10$jo","_state$analytics10$jo2","_state$analytics11","_state$analytics11$jo","currentTouchpoints","counter","_map$touchpointIds","touchpointIds","currentTp","sortedTouchpoints","topFiveDataSelector","_state$analytics12","_state$analytics12$jo","_state$analytics12$jo2","_state$analytics13","_state$analytics13$jo","_state$analytics13$jo2","_state$analytics14","_state$analytics14$jo","_state$analytics14$jo2","_rec$cjmIds2","_rec$cjmIds3","relatedItemsMemo","selectedCjm","MapsPerStatus","_payload$","_payload$$payload","_payload$$payload$map","RenderLegend","legendData","_entry$payload","_entry$payload2","toFixed","PieChart","Pie","innerRadius","outerRadius","paddingAngle","percent","Cell","Percent","outline","verticalAlign","isAnimationActive","AnalyticCustomTooltip","OpportunityAnalysisMatrix","CustomScatterPoint","cy","Illustration","CustomRating","OpportunityCard","fontFamily","axisTicks","tickStyle","fontFamilly","ScatterChart","CartesianGrid","strokeDasharray","domain","ticks","dy","tick","stroke","dx","Scatter","shape","dataPoint","SolutionLabel","lineHeight","letterSpacing","CardText","QuadrantScatterChart","getPointColors","displayBenefitCard","SolutionCard","CustomResponsiveRelativeContainer","ReferenceLine","CustomResponsiveContainer","CustomZigZagTick","TopNTouchpoints","_data$2","maxBarSize","layer","interval","_data$","_Array$from","TopTenWithLabels","barFill","maxValue","tickCount","TickStyle","xPosition","renderLabel","JourneyTrendsReports","DashboardContainer","AnalyticsLogoHeader","TopSection","_currentEntityData$se","_currentEntityData$se2","_currentEntityData$se3","_currentEntityData$se4","_currentEntityData$se5","_currentEntityData$se6","BodySection","JourneyTrendsDashboard","getRoiAnalysisData","applyFilterRoiAnalysis","currentProjectsData","allCxGoals","_state$settings2$orga","_state$settings2$orga2","defaultCurrency","symbol","KpiDataSelector","_project$cxGoalIds","me","_cxGoal$achieved","_cxGoal$actual","_cxGoal$goal","_cxGoal$financialImpa","sumAchieved","countMeasure","notAchieved","countMeasuresSelector","_project$cxGoalIds2","roiPerProject","_Object$values3","_Object$values3$filte","_project$cxGoalIds3","cxGoalIds","_cxGoal$financialImpa2","ownerByFinancialImpactSelector","allUsers","_Object$values4","_Object$values4$filte","_allUsers$find","_project$cxGoalIds4","nameOwner","_cxGoal$financialImpa3","sortedProjects","FinancialImpactPerMeasure","_useSelector$filter","CustomTick","tickFormatter","bigNumberFormatter","stackId","KpiByActual","_useSelector$slice","CustomBarChartLabel","labelX","labelY","RenderTooltip","_payload$2","_payload$3","wrapperStyle","paddingLeft","ROIAnalysisReports","_currentEntityData$se7","ROIAnalysisDashboard","CustomTooltipById","_entry$value","CustomLineChart","entityAttribute","allUniquesIds","LineChart","Line","activeDot","MONTHS","topXSentimentByTouchpointDataSelector","_state$analytics2$voc","_selectedFilterOption","_currentData$personaI","_currentData$contactI","totalContactInteractions","personaSentiment","contactSentiment","relatedPersonaInteractions","relatedContactInteractions","numberOfInteractions","toFill","repeat","globalSentimentOverTimeDataSelector","_state$analytics3$voc","_state$analytics3$voc2","_currentData$contactI2","sentimentLevelByMonth","getMonthNumber","totalSentiment","sentimentLevelByMonthSorted","monthNumber","sentimentByEntityOverTimeDataSelector","_state$analytics4$voc","_state$analytics5$voc","_currentData$contactI3","relatedAttributeId","_originalData$touchpo","_originalData$entityN","relatedEntity","sortedMemory","entityId","SentimentGeolocalisationDataSelector","_currentData$contactI4","gpsLatitude","gpsLongitude","latitude","longitude","_state$analytics6$voc","_currentData$contactI5","_interaction$descript","_wordCloud$text","sortedWordCloud","GlobalSentimentOverTime","AreaChart","Area","fillOpacity","SentimentByTouchpoints","CustomRadialAxisTick","formattedValue","RadarChart","PolarGrid","PolarAngleAxis","PolarRadiusAxis","Radar","_payload$2$value","_payload$3$value","minRadius","SentimentGeolocalization","geoMapKey","geoMap","setGeoMap","createCustomClusteredPin","cluster","clusterText","getText","clusterSize","containedPushpins","averageSentimentLevel","getAverageScore","scoreAttribute","customSvg","setOptions","anchor","Microsoft","Maps","Point","textOffset","loadClusteringModule","loadModule","clusterLayer","ClusterLayer","Location","pushpin","Pushpin","_unused","createPushpins","clusteredPinCallback","layers","insert","loadMap","script","defer","initMap","averageLatitude","averageLongitude","getInitialLocation","credentials","center","mapTypeId","MapTypeId","road","showMapTypeSelector","maxZoom","_geoMap$layers","updateMap","LegendContainer","VOCAnalysisCounter","_selectedFilterOption2","_selectedFilterOption3","_selectedFilterOption4","personasLevel","getPersonaSentimentLevel","customerLevel","totalWeight","getContactSentimentLevel","personaEmotionData","getEmotionData","customerEmotionData","getVocAnalysisData","applyFilterVocAnalysis","VoCAnalysisReports","_currentEntityData$se8","_currentEntityData$se9","_currentEntityData$se10","_currentEntityData$cu","_currentEntityData$cu2","_currentEntityData$cu3","_currentEntityData$cu4","VoCAnalysisDashboard","Analytics","filtersId","tabKey","setTabKey","getDashboard","getAnalyticsFilters","RelativeWrapper","CopyInteractionModal","selectedStage","setSelectedStage","ModalWindowMedium","ModalHeaderSmallTitle","StageButton","Save","copyInteraction","EditInteraction","_props$interaction","userAccess","_state$maps$currentUs","current_user","editAllowed","PermissionManager","currentItemId","updateCurrentItem","stagesInteractionsIds","interact","defaultRows","analyzeJSONproperty","displayed","extra","container","showCopyUrl","navigationList","setCurrentItem","HeaderTouchpoints","Descriptions","PropertyManager","linkFunction","unlinkFunction","RelationManager","defaultKey","dataLoading","allowMain","parsedJson","hasMainRoute","hasAlternativeRoute","sentimentIndex","dismissNotifs","updateStatusNotifs","getNotifications","dismissNotifications","updateStatusNotification","dateFilterTemplate","filterCallback","mask","dateBodyTemplate","overflow","toLocaleDateString","hour12","displayedDate","minute","PickListMultipleTemplate","DropDownContainer","MultiSelect","itemTemplate","dropDownItemTemplate","SolutionTypeFilter","GenericFilter","PickListSingleFilterTemplate","NameItem","FloatingToolbar","ReactDOM","createPortal","FloatingToolbars","Toolbar","ActivityFilterTemplate","_options$value","range","Range","renderTrack","renderThumb","balanceFilterTemplate","useClickOutside","handler","authorizedClasses","listener","contains","useClickOutsides","_event$target$classNa","reset","_dispatch","resetRequests","handleSuccess","resets","abortControllers","AbortController","promises","Fn","controller","signal","abort","resetPromises","fn","debouncedValue","setDebouncedValue","clearTimeout","useItemState","initialAction","updateService","currentItem","allowDirectServiceUpdate","updateModifiedAttribute","prevSet","updateAttribute","attributeName","attributeValue","updatedAttribute","updatedSet","useNavigationListData","selectedItemsIds","getSelectedItemsIds","useItem","itemIds","useSubscriptionCheck","useModalHook","setOpen","modalProps","setModalProps","arg","useGetUserTeams","_allAuthorizedUsers$f","allAuthorizedUsers","_user$loginName","useGetUserWorkspaces","_allAuthorizedUsers$f2","useAxiosInterceptor","connectionId","setConnectionId","interceptorIdRef","eject","WorkspaceId","ConnectionKey","updateConnectionID","newConnectionId","useInsertRecentWork","insertRecentWork","ColorPickerContext","createContext","SwitchContext","ImageContext","ColorPickerProvider","ColorPicker","setColorPicker","colorModule","Provider","SwitchProvider","initialValue","setIsOpen","close","useColorPicker","useContext","useSwitch","ImageProvider","useImages","ItemContext","ItemProvider","itemState","updatedState","newData","secondKey","secondData","addIconToCardData","cjmDataShortCut","deleteIconFromCardData","_card$attribute","updateCustomerExperienceData","_stageCustomerExp$per","_stageCustomerExp$per2","deleteIconFromExperienceData","_stageCustomerExp$per3","_stageCustomerExp$per4","_stageCustomerExp$per5","deleteIconFromSwimLaneDetails","_swimLaneDetailsCopy$","swimLaneDetailsCopy","_swimLaneDetailsCopy$2","updateCopyData","defaultPersonaObjectCxData","sortData","filterStages","normalizeCustomerExperienceData","normalizeData","updateChart","updatedFeelingPoints","getUpdatedFeelingPoints","updatePersonasFeelingPoints","_chart$feelingPoints_","_chart$feelingPoints_2","NewFeelingPointsGlobal","feelingPoints_Global","getPointLabel","NewFeelingPointsTarget","feelingPoints_Contact","feelingPoints_Perso","personaToAdd","updateSwimlaneItem","createSwimlaneItem","getStageSwimlanes","StageSwimlanes","pastItems","updateComments","_swimlane$stageId$att","_swimlane$stageId$att2","handleSwimLaneInitValues","cjmStages","relevantStage","deleteItemFromStage","deleteLibraryItemFromStage","deleteLibraryItemsFromStage","moveComments","stageIdOrigin","stageIdDestination","_object$swimlaneId","_object$swimlaneId$st","_object$swimlaneId2","_object$swimlaneId2$s","transformData","channels","updatedItems","formatPersonaInteractions","filterGlobalLegend","showGlobalCustomerSentiment","showGlobalPersonaSentiment","showTargetSentiment","processResponseDataChart","parseArrayStr","eval","err","feelingPoints_PersoVOC","updateStateMuliCJM","updates","updateSameLevel","getLegend","_cjmSwimLanes$find","_window$location$path","_window$location$path2","_cjmPersonasData$map","cookie","initialGlobalLegend","personaIdsOfMap","showPersona","_sentimentsConfig$sho","_sentimentsConfig$sho2","showPersonaSentiment","_sentimentsConfig$sho3","_sentimentsConfig$sho4","showCustomerSentiment","extractAndSortData","dataField","incrementPendingRequests","decrementPendingRequests","calculteRoutes","personaContact","stageKey","maxKey","secondMaxKey","secondMaxLength","stageContacts","mainKey","mainLength","alternativeKey","alternativeLength","applyRoutesPersonaInteractions","interactionCount","updateRelatedData","discussionsAttribute","_cjmCxGoals1$stageId","cjmCxGoals1","personaExperience","_personaExperience","_personaExperience2","cjmCustomerFeedback1","SvgUnexpected","ErrorView","errorInfo","Unexpected","LinkToHomePage","ErrorBoundary","Component","constructor","super","componentDidCatch","setState","HubConnection","HubConnectionProvider","WorkspaceWatcher","_error$message","_error$message2","isOtherWorkspaces","WorkspaceInvalidPage","PrivateRoute","_location$search$spli","component","rest","incorrectEnvName","EnvName","allowsComponent","Route","SearchResultComponent","resetFunction","currentEntity","NavigationSearchBar","showMenu","setShowMenu","setIsLoading","searchRef","callbackData","formattedOptions","redirectAdvanced","restartOptions","_searchRef$current","returnObject","clickAutoFocus","_searchRef$current2","AsyncTypeahead","minLength","onSearch","getResultService","renderMenu","menuProps","MenuWrapper","BodyData","MenuItemWrapper","useCache","MenuItem","Notifications","notif","_notif$referencedObje","referencedObjectURL","hasNewNote","openPopover","PopOverCustom","dismissAll","NotificationPost","trigger","rootClose","NotificationContainer","severity","_user$fullName","originatingUserId","ContainerPost","notificationType","referencedObjectName","DateWrapper","Popover","PasswordManager","showTitle","passwords","setPasswords","newPassword","newPasswordVisible","confirmedPassword","confirmedPasswordVisible","passwordValidations","setPasswordValidations","isValidFormat","areIdentical","handlePasswordChange","isValid","toggleVisibility","isActionDisabled","PasswordSection","FormFeedback","InputIcon","handleChangePassword","changePassword","UserProfileModal","_supportedLanguages$f2","defaultLanguageLcid","sl","isSingleSubscription","setModifiedUser","languageValue","setLanguageValue","dropdownOpen","setDropdownOpen","modifiedUserAttributes","setModifiedUserAttributes","isSaveDisabled","setIsSaveDisabled","isSharedEnvironment","handleUserChange","DetailsContainer","InputsSection","DropdownToggle","caret","onSave","setItem","InitialsOptions","_getInitials","isShow","setIsShow","_userInfo$UserEmail","logout","showUserProfileModal","handleClickProfile","_innerRef$current","initials","NeedHelpOptions","showSupportModal","NeedHelp","NavMenuHeader","isTrial","getDaysDiff","todayDate","expirationDate","ExpirationWarningContainer","ExpirationWarningText","displayDaysDiff","daysDiff","ExpirationWarningAction","button","NavLinkComponent","_allRoutes$footer","_allRoutes$footer$map","route","isFooterRoutes","allRoutes","getSelectedRoute","isWorkspace","_props$activeRoutes","activeRoutes","librariesRoutes","allowPopover","iconcolor","CollapseButton","openFolder","folderName","setFolderName","dropdownAction","elementToScroll","renderActions","menuVariant","FoldersManager","FolderItem","_allRoutes$top","folderIdByUrl","setOpenFolder","allEntities","readOnlyMode","allLinkedCountReducer","allLinkedCount","setAllLinkedCount","_folder$linkedFolders2","RenderLinkElement","_folder$linkedFolders3","navLinkComponents","_folder$linkedFolders4","newRoute","foldId","gotIt","hanldeClick","Collapse","NavigationElement","isNavigationBarOpen","sidebar","ReadOnlyWarning","EyeWrapper","ReadOnlyWarningText","PopoverSubscription","TopActions","setNavigationSidebar","isSubscriptionAuthorized","handleSideBarClick","WorkspaceDropdown","toggleComponent","secondaryAction","getIcon","isWorkspaceOwner","displayMenu","isMenuItemDisabled","iconTooltip","showCreateButton","SidebarButton","NavigationSidebar","_settingsfooterRoutes","_settingsfooterRoutes2","_settingsfooterRoutes3","openTrash","setOpenTrash","openSettings","setOpenSettings","isOverflowAllowed","isCurrentWorkspaceOwner","isAWorkspaceOwner","isAdmin","isUser","hideSidebar","newModal","editRoutes","handleClickSidebar","inactiveProps","settingsProps","showManageUsers","showSettings","showWorkspaces","showCustomizations","showLogo","showFooterElement","handleOpenTrash","handleOpenSettings","settingsRoutesUpdated","settingsfooterRoutes","disableoverflow","Infinity","inactiveTrashRoutes","ChangePasswordModal","NavMenu","mustResetPassword","_auth$userInfo","openModal","ModalProvider","GlobalLayout","isFirefox","navigator","userAgent","PrivateRoutesValidation","AccessDictionary","useMemo","updateDictionnaryAccess","lazyPages","nonLazyPages","filterRoutesAccess","Providers","Suspense","fallback","exact","useVersionCheck","fetch","cache","version","json","reload","checkVersion","App","useNetworkStatus","ToastContainer","theme","pauseOnFocusLoss","newestOnTop","closeOnClick","PersistGate","ConnectedRouter","BrowserRouter","spinnerFixed","CustomLoading","isFixed","createPostActionLib","createGetActionLib","newSubject","deleteValueLibrary","copyValueLibrary","unlinkLibraryValue","getCustomLibraryLinkedRecords","getCustomLibraryLinkedRecordsFn","linkLibraryValues","createPostActionPriorities","createGetActionPriorities","checkIsUsed","showUsedData","updatePriorityAttribute","_modifiedPriority$nam","addPriority","newPriority","removePriority","saveOrderPriority","createPostActionStatus","createGetActionStatus","updateStatusAttribute","_modifiedStatus$name","addStatus","newStatus","removeStatus","saveOrderStatus","createPostActionGroup","createGetActionGroup","saveOrderGroup","updateGroupAttribute","_modifiedGroup$name","addGroup","_newGroup$name","newGroup","_excluded22","removeGroup","linkGroups","unlinkGroups","createGetActionIcon","createCustomIcon","updateCustomIcon","deleteCustomIcon","copyCustomIcon","deleteCustomImage","getIconsLinkedRecords","iconNumber","createPostActionBV","createGetActionBV","addBrandValue","_brandValue$name","_brandValue$descripti","brandValue","newbrandValueParams","Type","deleteBrandValue","copyBrandValue","updateBrandValue","_excluded34","getBrandValueLinkedRecords","createPostActionMeasure","createGetActionMeasure","upsertMeasure","_excluded35","getMeasuresLinkedRecords","createPostActionTags","createGetActionTags","upsertTag","deleteTag","_ref41","_excluded39","linkTags","unlinkTags","saveOrderTags","createPostActionMetrics","createGetActionMetrics","createCxMetric","_ref45","updateCxMetric","deleteCxMetric","createPostActionTP","createGetActionTP","createCustomChannel","updateCustomTouchpoint","deleteCustomTouchpoint","copyCustomTouchpoint","deleteCustomTouchpointImage","recomputeSentimentLevels","getTouchpointLinkedRecords","createPostActionStake","createGetActionStake","upsertStakeholder","deleteStakeholder","createStakeholderRole","updateStakeholderRole","deleteStakeholderRole","createPostActionCxGoals","createGetActionCxGoals","cxGoalsUpsert","updateStageCxGoalsOrder","newCxGoalsOrder","deleteCxGoal","_excluded59","createInsightType","newInsightType","updateInsightType","_props$item$name","saveOrderInsightType","deleteInsightType","touchpointCategoryPostAction","touchpointCategoryGetAction","upsertTouchpointCategory","deleteTouchpointCategory","copyTouchpointCategory","_excluded60","resetProject","getProject","getProjectUsers","createProject","copyProject","srcProjectId","updateProject","updateMultiProject","deleteProjects","deleteProjectsPermanent","archiveProjects","restoreProjects","linkRecords","recToLinkEntityName","recToLinkIds","linkRelated","unlinkRecords","recToUnlinkEntityName","recToUnlinkIds","unlinkRelated","upsertAttributeItem","deleteAttributeItem","shareProject","shareManyProjects","unShareProject","getProjectExcelExportList","getProjectPdfExport","renderDelay","resetProjectUsers","synchronizeProject","stopSynchronizationProject","owner","showPlaceholder","NotData","ColorCheckState","_props$width","oppLabel","InputSwitch","ColorCheck","XButton","ItemsContainer","OwnerPickList","WrapperOverlayPanel","ToggleCaret","bordervisible","MenuDrop","MainTitle","Breadcrumb","QuickSelectionCardTitle","disableScroll","disableViewer","LoaderWrapper","Loader","SmallSpinner","JumpDotSpinner","ProgressBarSpinner","placeholder1","placeholder2","ProgressBar","SideModal","RegularText","Label_ts","StyledCol","NoData","NoDataIcon","NoDataText","_state$settings$autho","TablePriority","handleUpdate","bulkSelectedRecords","PriorityDropdown","updatedRecords","isSwitchDisabled","PriorityCxAttributeColumn","memoizedSelector","onUpdateCxAttribute","allActiveItems","currentPriorityAttribute","currentItems","priorityAttribute","DateCxAttributeColumn","_currentDateAttribute","currentDateAttribute","isundefined","_Date","dateAttribute","StatusDropdown","StatusCxAttributeColumn","_useSelector3","currentStatusAttribute","statusAttribute","OpportunityRatingColumn","_useSelector4","ratingLabel","allActiveOpportunities","currentOpportunity","currentOpportunities","getRatingAttribute","CustomRatingNew","ratingAttribute","_action$name","allowClick","getRelevantModal","EditInsights","getLabel","typeData","solutionType","FolderName","_folder$name","OwnerFolder","createdByName","RedirectText","translateDescription","_data$library","_data$description2","_data$description","InsightName","_insight$name","_insight$name2","dropdownId","DropDownPosition2","relativeId","isLock","userTypeValue","userTypeName","userAccessValue","permissionData","permissionsTree","checkOneAction","_initials","showRoleIcon","showIcon","roleValidation","roleMode","GlobalAuthorizedFilters","useDataTableState","disableBulkActions","setDisableBulkActions","GetJourneyMapContext","GetActionContext","GetProgramContext","GetPersonaContext","GetOpportunityContext","GetSolutionContext","GetFolderContext","GetUserContext","GetAssessmentContext","GetProjectContext","GetInsightContext","DataContext","useDefaultViews","_useSelector2$savedDe","_useSelector2$savedDe2","extractGlobalFilters","_globalFilter","globalFilter","useGetContext","useLoadTableWithSettings","getDefaultView","useGetDefaultView","useSavedViews","currentContext","defaultView","_savedViews$data$enti","ViewCard","refOver","handleFilter","cemanticaDefault","readonly","showModalView","edit","deleteView","deleteSavedView","ManageDefault","saveAsDefault","getActions","SelectedViewWrapper","selectedView","ViewName","isdefault","DefaultView","ActionPopOverWrapper","ActionPopOver","ViewPopover","_useSelector$savedVie","_useSelector$savedVie2","_useSelector3$entityT","_useSelector3$entityT2","_listView$find","_listView$filter","_listView$filter2","listView","nameDefault","cemanticaDefaultView","privateViews","publicViews","WrapperButton","SectionLabel","BorderBottom","HeaderTable","_userSettings$savedVi","_contextData$columns2","dataByFilter","visibleItems","displayExport","displayViewOptions","showLinkFolderButton","LinkFolderAction","LinkActionLabel","aiModal","_ui$table$entity","_ui$table$entity$cont","userSettings","isLinking","setIsLinking","searchId","debouncedUpdateGlobalFilter","isCreateBtnDisabled","setIsCreateBtnDisabled","debounce","updatedFilters","global","setFiltersService","getColumnWidths","_contextData$columns","widthArray","each","hide_popover","showAiModal","saveView","updatedView","PopoverItem","ai","ButtonCreation","GenericPopover","noIcon","HeaderWrapper","CountContainer","exportData","exportExcel","FilterService","register","_value$groups","_value$tags","loadTableWithSettings","showOnlyLinked","linkedObjects","combinedProps","_contextData$noColumn","_contextData$disableF","_contextData$visibleH","_contextData$columns$","_contextData$nonDropD","showCheckbox","showRadioButton","bulkActions","selectedInitialState","getInitialStates","showAllActiveRecord","filtersIds","MAX_DELETE","getLimitDelete","setDataByFilter","forceRefresh","setForceRefresh","tableColumns","tablePropsDictionaryRelevantColumns","headerCheckboxStyle","alignItems","selectionMode","headerStyle","_props$contextData","mapColumns","GetJourneyMapColumns","cxActionsColumns","GetActionColumns","opportunityColumns","GetOpportunityColumns","solutionsColumns","GetSolutionColumns","projectsColumns","GetProjectColumns","personasColumns","GetPersonaColumns","cxProgramsColumns","GetProgramColumns","usersColumns","GetUserColumns","foldersColumns","GetFolderColumns","assessmentsColumns","GetAssessmentColumns","insightColumns","GetInsightColumns","TableColumnsManager","filterInit","tableProps","filterProp","FilterMatchMode","CONTAINS","FilterOperator","AND","STARTS_WITH","projectName","DATE_IS","dueDateNew","isFutureValue","IN","BETWEEN","concatPersona","CUSTOM","businessValue","win","EQUALS","truth","cjmCount","totalNumCjms","totalNumPersonas","totalNumOpps","totalNumSols","totalNumProjects","totalNumActions","occurance","fields","filterField","fil","filteredId","setFilterIdsService","exportRelatedExcelClick","getLinkedDataExportExcel","numberOfItems","unLink","_filters1","DataTableParameters","selection","onSelectionChange","dataFiltered","pauseOnHover","progress","transition","Bounce","setSelectedIdTable","_e$value","setDisabled","getVirtualScroller","scrollable","scrollHeight","virtualScrollerOptions","itemSize","showSpacer","onValueChange","filteredData","onFilter","groupsIds","sortField","sortOrder","onSort","setSortedService","resizableColumns","columnResizeMode","globalFilterFields","noGlobalSearch","visibleHeader","nocolumnheader","noColumnHeader","disableFixHeader","totalRecords","selectionAutoFocus","isheadervisible","emptyListSmall","nonDropDown","bulkActionsFunction","FiltersContainer","ListItemsContainer","ListItem","EmptyIconContainer","InsertOptions","editor","insertRef","handleshow","iconActive","templates","separator","handleInsertChange","chain","toggleBulletList","run","toggleOrderedList","toggleTaskList","toggleBlockquote","setHorizontalRule","TieredMenu","model","popup","breakpoint","LinkOptions","linkRef","previousUrl","getAttributes","LinkTemplate","extendMarkRange","unsetLink","setUrl","ContainerLink","setLink","TextAlignOptions","textAlignRef","setTextAlign","textAlign","TextColors","ColorsOptions","colorRef","handleHeadingChange","command","setColor","commands","createNodeFromHTML","cleanHTML","DOMPurify","sanitize","ALLOWED_TAGS","ALLOWED_ATTR","DOMParser","parseFromString","transformHTML","doc","schema","parsedSlice","proseMirrorParser","fromSchema","transaction","tr","stack","CustomParagraph","Paragraph","extend","renderHTML","HTMLAttributes","mergeAttributes","class","handlePaste","clipboardData","getData","AIOptions","alexLoading","forceUpdate","askAI","f","askCXAssistant","typing","typingEffect","insertContent","requestAnimationFrame","typingEffectFunction","handleAIAction","selectedText","textBetween","languageTemplates","tonesTemplates","tone","extensions","StarterKit","configure","TextAlign","alignments","Highlight","multicolor","TaskList","TaskItem","nested","Blockquote","TextStyle","Color","HorizontalRule","portalContent","setPortalContent","hasFocused","toolbarRef","Mention","mentionFunction","setMentionElement","suggestion","_user$value","onStart","clientRect","popUpHeight","onExit","AddMentionConfig","PlaceholderExtension","Placeholder","showOnlyWhenEditable","showOnlyCurrent","useEditor","editable","getHTML","_toolbarRef$current","editorProps","endPos","setTextSelection","AlexLoading","EditorContent","hideToolbar","ToolBar","aiRef","_colorRef$current","_insertRef$current","_textAlignRef$current","_linkRef$current","_aiRef$current","_colorRef$current2","_insertRef$current2","_textAlignRef$current2","_linkRef$current2","_aiRef$current2","_insertRef$current3","_colorRef$current3","_textAlignRef$current3","_linkRef$current3","_aiRef$current3","_textAlignRef$current4","_colorRef$current4","_insertRef$current4","_linkRef$current4","_aiRef$current4","_linkRef$current5","_colorRef$current5","_insertRef$current5","_textAlignRef$current5","_aiRef$current5","_aiRef$current6","_colorRef$current6","_insertRef$current6","_textAlignRef$current6","_linkRef$current6","BubbleMenu","tippyOptions","interactive","duration","hideOnClick","can","undo","redo","maxwidth","LogoHeader","CustomCol","inputDate","getMonth","_a$name","_b$name","nameA","nameB","formatted","isSelectable","selectedFilters","relatedId","isBlank","touchpointMemory","metricMemory","currentTouchpoint","currentMetric","metricId","cxMetricId","GET_ACCOUNT_IMG","refreshValue","GET_MAP_CUSTOM_IMG","GET_CUSTOM_ICON","GET_CX_PROGRAM_IMG","RemoveButton","StatusWrapper","SubjectWrapper","SwitchWrapper","TextInfo","Ranking","RatingContainer","EllipsisText","isinactive","StyledName","PersonaPosition","FolderNameStyle","LibraryName","DescriptionWrapper","DateContainer","DetailsWrapper","WizardBag","Welcome","CrytalBall","DefinePersonaText","SelectPersonaText","TemplatesContainer","PersonaTemplateCard","EmptyContainer","Bird","CarouselWrapper","singleGrid","UploadImgWrapper","PicturesContainer","PersonaPic","Check","existingRoutes","allRoutesCombines","BulkActionsGenerator","warningText","NumberWrapper","renderCustomComponent","BulkUpdateGroups","ActionContainer","MenuContainer","GroupDropdown","unlink","_selected$groups","menuListHeight","BulkUpdateTags","TagsDropdown","_selected$tags","BulkActions","selectedItemsIdsStr","someIdAreSample","isManageAccessAllowed","filteredItemsIdsStr","filteredItemsByOwnersAndContrib","areAllActionsValid","showAccessModal","GenericManageAccess","manageAccessMany","bulk","showModalArchivePopup","showModalDeletePopup","showModalDeletePermanentPopup","showBulkModalLinkComponent","BulkModalLinkComponent","componentName","idAttribute","ActionLink","unLinkMessage","isJourneyMapUpdate","bool","isBool","showConfirmAssociatedObjects","beforeClose","Translation","_useSelector$EntityLi","_useSelector2$EntityL","_useSelector2$EntityL2","_useSelector3$EntityL","_useSelector3$EntityL2","specificContext","mapData","FormatMapData","goToMapCreation","updateCjmType","updateStatus","_cjms$","showListLinkedModal","ListLinkedModal","journeyMap","clickToOpen","listEditable","showPagination","displayView","archived","deleted","archivedTemplates","deletedTemplates","editPersona","reducerPath","onChangeStatus","onChangeState","disableAction","saveButtonLabel","newDate","isFutureLabel","isCJM","FakeComponent","BulkUnlinkPersonas","allRecordsSelector","handleUnlink","allRecords","ins","getAllLinkedPersonas","linkedPersonaIds","_rec$linkedPersonas","linkedPersonaId","linkedPersona","PersonaBadge","isEdit","selectedActions","tagCxAttributes","groupCxAttributes","archiveManyCxActions","deleteManyCxActions","deleteManyCxActionsPermanently","personaToUnlinkId","bulkUnlinkCxActionRecords","restoreManyCxActions","cxactionID","_all_actions$filter","ActionsData","formatActionsData","showEditAction","createCxAction","cxActionsList","cxActionsListGroup","getExcelExportListServicecxAction","onChangeObject","updateMultiCxActions","onUpdateCxAttributeMulti","allMap","_getCxAttribute","_getCxAttribute2","_getCxAttribute3","_getCxAttribute4","_getCxAttribute5","_allMap$filter","_allMap$filter2","_getCxAttribute6","linkCjm","selectedCxPrograms","archiveManyCxPrograms","deleteManyCxPrograms","deleteManyCxProgramsPermanent","restoreManyCxPrograms","cxProgramData","transformcxProgramData","createCxProgramfn","cxProgramList","getCxProgramExcelExportList","getCxProgramLinkedExcelExportList","_cx$linkedActions","_cx$linkedOpps","_cx$linkedSols","_cx$linkedCjms","_cx$linkedPersonas","_cx$linkedProjects","filteredItemsByRoleIdsStr","archiveManyPersonas","deleteManyPersonas","deletePermanentlyManyPersonas","restoreManyPersonas","ActionLinkPersona","personaCurrentId","updatePersonaLinksWithPersonas","personaIdsToLink","personaIdsToUnlink","personaIdOnPage","_state$personas$curre","current_persona","personasLinkCJMIds","PersonasData","relevantPersonas","transformPersonaData","updatePersonaTypes","updatePersonaType","getExcelExportListPersona","getExcelExportPersona","getLinkedExcelExportPersonaFn","getLinkedExcelExportPersona","personasList","stateEditable","archivedTemplate","deletedTemplate","managePersonas","isPersonas","InCxProgram","isNotCemanticaTemplate","selectedOpps","archiveManyOpportunities","deleteManyOpportunities","deleteManyOpportunitiesPermanently","bulkUnlinkOpportunityRecords","restoreManyOpportunities","oppId","OpportunityData","FormatOpportunityData","exportExcelOpportunity","getExcelExportListOpp","OpportunitiesList","updateMultiOpportunity","_getCxAttribute6$link","_getCxAttribute7","_t2","_t3","_t4","touchpointIdsStr","selectedSolutions","archiveManySolutions","deleteManySolutions","deleteManySolutionsPermanently","bulkUnlinkSolutionRecords","restoreManySolutions","solId","FormatSolutionData","showEditSolution","getExcelExportList","getExcelExportListSol","solutionsList","updateMultiSolutions","handleDeactivate","deactivateUsers","handleActivate","activateUsers","deleteUser","BulkUpdateStatus","successToast","onActivate","onDeactivate","RecordsSelector","SelectedRecord","SelectedRecordContainer","Record","BulkUpdateTeams","_authorizedUsers$filt","selectedAuthorizedUsersIds","WorspacesContainer","Team","BulkUpdateWorkspaces","_items$filter","nselected","shareManyWorkspaces","_filteredItems$map","_useSelector$EntityLi2","userTypes","loggedUserType","isLoggedUserExpert","formatedUsers","formatData","displayCreateButton","createNewUser","getUsersExcelExport","newUsers","userWorkspaces","selectedProjects","_useSelector4$EntityL","_useSelector4$EntityL2","projectTransfromData","createNewProject","getExcelExportListProject","projectsList","_cxProgram$current_pr","isDeletable","isEditable","isContributor","deleteAllowed","assessmentList","handleDeleteAssessment","handleArchive","archiveInsights","deleteInsights","handleDeletePermanent","deleteInsightsPermanent","archiveAllowed","restoreAllowed","deletePermanentAllowed","restoreInsights","selectedInsights","selectInsightTypeModal","SelectInsightTypeModal","bulkUnlinkInsightRecords","relevantInsights","transfromData","createInsight","insightList","getInsightsExcelExport","allMapsActive","_allMapsActive$filter","_allMapsActive$filter2","_insight$groups","lastUpdatedNew","Groups","parentItem","allGroups","currentGroup","_nameRef$current","_nameRef$current2","isIconDisplayed","nameRef","userAccessPrivilege","ellipsis","isTruncated","setIsTruncated","blank","removeMapIcon","showModalIcon","hasHierarchy","disableclick","_map$linkedPersonas$2","endpoint","handleMouseEnter","Owners","_item$authorizedUsers","GroupWrapper","bubbleSize","AvatarGroup","State","_object$authorizedUse","_object$authorizedUse2","editRowAllowed","_selectedIds$map","_useSelector$getById","statusTypes","isInCxProgram","isInPersona","onRedirectMap","resizable","showFilterOperator","showFilterMatchModes","filterElement","_props$contextData2","dataType","sortFunction","AuthorizedUsers","linkedStageName","EmotionLevelAndSmiley","showAddButton","_props$contextData3","_props$contextData4","GroupsCxAttribute","_$get","currentGroupIds","_state$libraries$grou","_state$libraries$grou2","GroupComponent","RenderMapItem","WrapperMap","accessCjmIds","MapListPopover","PopoerTriggerContainer","TagsCxAttribute","currentTagsIds","_state$libraries$tags","_state$libraries$tags2","priorityTypes","_user$domainName","isGroup","isColumnEditable","journeyMapFilters","ac","_props$contextData5","_props$contextData6","cxProgramName","CxProgramName","openToClick","loadData","loadMainData","strategyId","updateObject","modifiedCxProgram","updateCxProgram","nameAttribute","HistoricalData","go","clikable","inPersonas","updateTemplate","updateLocked","statesTypes","historicalData","_props$contextData7","_props$contextData8","_props$contextData9","solutionTypes","_folder$linkedCjms","TeamsColumn","_userTeams$","_userTeams$2","_userTeams$3","WorkspacesColumn","_currentUserWorkspace","currentUserWorkspaces","defaultWorkspace","cuw","ToggleComponent","specificWorkspaces","subPlans","activationStatuses","getUserDetailsParams","updateUserType","displaySubPlan","planCode","isCxProgram","ProjectName","projectProgress","handleMultiUpdate","updateMultiInsight","InsightType","getInsightRelatedRecords","updateInsight","_props$modifiedInsigh","_props$modifiedInsigh2","linkInsightRecords","unLinkInsightRecords","EditModeSwitch","addLabel","renderReadOnlyItems","AISuggestion","allTypes","generatedItems","setGeneratedItems","deselectedItems","setdeselectedItems","relevantType","sentence","wordsArray","match","wordMap","findMatchingWord","lowerWord","normalizedTarget","originalWord","findRelevantMatch","isDescriptionEmpty","setIsDescriptionEmpty","fetchAiData","alexAssistantCjm","handleCheckBox","recordIndex","deselectedItemsUpdated","RelatedItems","FillMapDescription","_allTypes$find","insightTypeId","_item$type","_item$type$trim","relatedTouchpoint","relatedInsight","relatedOpportunity","relatedSolution","setCjmDescription","handleSave","GenericTypeahead","renderSelectedItem","renderCustomMenu","renderMenuItem","renderCreateItem","linkMenuItem","menuLabel","globalWidth","isStrictOpen","virtualScrollerParams","RenderFooter","showShadow","aiParams","typeaheadRef","setWidth","clearInput","_typeaheadRef$current","TypeaheadContainer","showAI","ComponentParams","CustomTypeahead","onMenuToggle","selectableItems","isTextAlreadyExist","_option$name","getIsTextAlreadyExist","showEmptyList","CustomMenu","AIButtonWrapper","openAI","MenuBody","EmptyListLabel","input","MenuLabel","isVirtualScroll","onSelectMenuItem","ChangeIconButton","_props$bubbleSize","_props$bubbleSize2","_props$bubbleSize3","DataTableCustom","_props$selection","imgSize","MainDataTableContainer","HierarchyIcon","getOpportunityRelatedRecords","getOpportunityRelatedRecordsFn","newOpportunityParams","linkToCxProgramIdStr","updateOpportunity","beforeModifiedOpportunity","archiveOpportunity","deleteOpportunity","deleteOpportunityPermanently","restoreOpportunity","linkOpportunityRecords","unlinkOpportunityRecords","isUnlinkable","isShowPointer","Dot","getCxActionRelatedRecords","getCxActionRelatedRecordsFn","newCxActionParams","updateCxAction","beforeModifiedCxAction","archiveCxAction","deleteCxAction","taskToDelete","deleteCxActionPermanently","restoreCxAction","_props$columnView","linkCxActionRecords","unlinkCxActionRecords","createStrategy","strategyName","addStrategyAttribute","newFieldID","attributeType","newFieldIdStr","getStrategyFormData","updateStrategyAttribOrderDB","newOrderConfig","deleteCxStrategy","deleteManyCxStrategies","strategyIds","deleteCxStrategyPermanent","deleteManyCxStrategiesPermanent","archiveCxStrategy","archiveManyCxStrategies","copyCxStrategy","srcCxStrategyId","shareStrategy","shareUsersSingleStrategy","usersId","shareUsersMulipleStrategy","updateStrategyAttributeImage","attributeIdStr","updateStrategyAttribute","modifiedStrategy","modifiedStrategyAttribute","deleteStrategyAttribute","strategyAttributeId","deleteStrategyAttributeImage","upsertStrategyBrandValue","strategyBrandValue","addStrategyBrandValue","strategyIdStr","updateStrategyBrandValue","modifiedStrategyBrandValue","deleteStrategyBrandValue","resetCurrentStrategy","restoreStrategy","restoreManyStrategies","updateCxStrategyListItem","attributeItemIdStr","reorderCxStrategyListItem","deleteCxStrategyCustomListItem","upsertCxStrategyAttributeAttachItem","CustomOffCanvas","WrapperPopup","_newWorkspace$name","_newWorkspace$descrip","_modifiedWorkspace$na","_modifiedWorkspace$de","viewers","teamsViewers","_props$newWorkspace","_props$newWorkspace$n","_props$newWorkspace2","_props$newWorkspace2$","getSolutionRelatedRecords","getSolutionRelatedRecordsFn","newSolutionParams","updateSolution","archiveSolution","deleteSolution","deleteSolutionPermanently","restoreSolution","linkSolutionRecords","unlinkSolutionRecords","PathContainer","CustomBreadcrumb","BreadcrumbItem","Path","createSlice","reducers","_state$entity","_state$entity$entityT","setIdsAfterFilter","_state$entity$entityT2","_state$entity2","_state$entity2$entity","ReactColor","_useColorPicker","updateColor","buttonClassName","ButtonComponent","openWithBtn","autoSave","withPopover","buttonSize","colorsType","allowSectionUpdate","showPickerColor","setShowPickerColode","cemanticaColors","ChromePicker","refClickOutisde","handleClose","setAllowSectionsOverFlow","handleSubmit","_userSettings$colors","_userSettings$colors2","presetColors","ColorPickers","currentColor","chromColor","Cover","SwatchContainer","ColorSwatch","disableAlpha","DisplayButton","showRight","SwimlaneTitleInput","BoostrapInput","lock","updateSectionTitle","showDeletePopup","accessDelete","AIfunction","textPending","otherPending","personalityType","onMouseUp","InputText","specificheight","disabledCreation","isAutoFocus","ButtonPosition","StateDropdownSelector","selectedStateTemplate","valueTemplate","displayIcon","selectedGenderTemplate","translatedName","labelWidth","ModalBox","SearchWrapper","FirstRow","ListObjectActions","ListObjectWrapper","ListDescription","userToRegister","SideBar","SidebarTop","SidebarBottom","MenuDivider","CustomNavLink","ActionButtons","CollapseLabel","Flip","SubSidebarLabel","locked","ColWrapper","LinkContainer","SubLabel","RegularTypehead","UserContainer","isbulk","DraggablePopoverContent","Draggable","_params$hideArrow","show_popover","ItemComponent","customIcon","switch","Separator","popoverBody","noOverflow","popoverContent","PopoverContainer","hidearrow","hideArrow","shadow","annimation","_useSelector$getActiv","_useSelector$getActiv2","_useSelector$getActiv3","useGetAll","getAllRequest","statusPath","LinkFunction","linkElements","unlinkElements","getEntityTypeData","setSearchQuery","removeParentEntity","removeNoAccessRecord","_allStatus$statusPath","RecordContainer","handleCheckboxChange","customClassName","titleVariant","LabelComponent","CustomValue","_item$authorizedUsers2","transferData","linkTag","selectedFromList","linkGroupsFun","ViewList","FolderListView","linkMapsToFolders","submitLabel","defaultTag","renderCustomBody","buttonType","_listData2","_listData","_listData$filter","setSelectedFromList","filteredList","WrapperBody","currentTag","viewHover","viewIcon","PersonaImage","CountBubble","InactiveBackground","displayCountBubble","_opportunity$all_Oppo","Content","getTablePath","_maps$currentUser","HeaderTitle","labelPlaceholder","DetailPanel","Relations","TypesTabs","Opportunities","_ui$table","_ui$table$entity$Enti","_ui$table$entity$Enti2","_ui$table2","_ui$table2$entity","_ui$table2$entity$Ent","_ui$table2$entity$Ent2","handleRemove","_libraries$insightTyp","Backend","LanguageDetector","initReactI18next","debug","fallbackLng","backend","loadPath","requestOptions","lng","_localStorage","HeaderInput","_props$access","RowWrapper","TitleContainer","DivWrapperCol4","first","RowDash","updated","CenterCol","ColEnd","StretchCol","ItemNameWrapper","newCxProgramParams","linkedFolderId","copyCxProgram","srcCxProgramId","archiveCxProgram","restoreCxProgram","deleteCxProgram","deleteCxProgramPermanent","shareCxProgram","unshareCxProgram","shareManyCxPrograms","updateCxProgramAttribOrderDB","newLayout","newPositions","createCxProgramAttribute","deleteCxProgramAttribute","updateCxProgramAttributeColor","newColor","updateCxProgramAttributeTitle","updateCxAttributeDescription","upsertCxAttributeItem","_attributeItem$descri","_attributeItem$name","updateCxAttributeItemsOrder","upserttCxAttributeAttachItem","updateCxAttributeImage","deleteCxAttributeImage","GetStrategyFromCxProgram","resetCxProgram","getPdfCxProgram","resetCxProgramUsers","arrayofType","getPicklistData","_currentUser$roleName","_rolesOptions$","_userItems$sort","getUsers","share","unShare","shareMany","_state$maps$all_maps$","resetPersonasUsers","getPersonaUsers","getUsersParams","sharePersona","unSharePersona","shareUsersSinglePersona","objectIds","shareUsersMuliplePersona","Manager","copyLink","getCopyLink","_filteredUsers$map","_teams$map","otherRecords","rolesOptions","createRoleOptions","restrictAccess","nonSelectedRecords","teamItems","getTeamItems","userItems","getUsersItems","selectedRole","setSelectedRole","isUpdating","setIsUpdating","_rolesOptions$2","_ref$current2$state","allMembersSelected","allSelectedUsers","allteams","UserRow","isTeam","customSort","userDomain","copyFeature","handleCopy","clipboard","writeText","isCurrentUser","setSelectRole","processDelete","setProcessDelete","checkwithIsMemberIds","copyPersona","copiedPersonaName","deletePersona","persona_id","archivePersona","restorePersona","deletePermanentlyPersona","_item$customImage","setCurrentPersona","updatePersonaSingleTxt","updateCustomPersonaAttributeDesc","attributeID","resetCurrentPersona","getPersona","refreshPersona","updatePersonaAttribOrder","updatePersonaAttribOrderDB","updateAttributeName","updateAttributeColor","customAttributeIdStr","newColorCodeParam","addPersonaAttribute","deletePersonaCustomField","AttributeName","attributeNameStr","updatePersonaImage","updatePersonaImageCustom","deleteCustomPersonaImage","updateCustomPersonaAttributeImage","deleteImageOnBox","customImageId","personaCustomImageIdStr","fromPersonaIdStr","getPdfExportPersona","retrieveLinkedMaps","deletePersonaAttributeItem","upsertPersonaAttributeItem","_personaAttributeItem","_personaAttributeItem2","_personaAttributeItem3","_personaAttributeItem4","personaAttributeItem","personaAttribute","sliderMaxTitle","sliderMinTitle","upsertPersonaAttributeAttachItem","updatePersonaAttributeItemsOrder","convertPersonaToTemplate","encryptedPassword","RelatedCjms","CustomLibraries","TabsData","AddComponent","InsightDropdown","InsightCard","swimlaneType","componentProps","cxAttributeID","noDataIcon","noDataText","RelatedCjmsManager","cardProps","mapping","SolutionDropdown","SolutionItemCard","OpportunityDropdown","OpportunityItemCard","ActionDropdown","ActionItemCard","ProjectDropdown","_currentEntity$attrib","_currentEntity$attrib2","_currentEntity$name","StatusItem","addDiscussionAction","jwtDecode","createDiscussion","setDiscussion","setOpenDiscussion","sortByModifiedOn","_a$comments$","_b$comments$","dateCommentA","dateCommentB","dateA","_solutions$all_soluti","TextColorCard","MenuItemSelector","InsightTypeContainer","refreshSurveys","getQuestionsAndFilters","FilterButton","FilterOption","FilterTemplate","handleApply","setSelectedIds","memoIds","setMemoIds","isApplyOrClear","filteredRecords","_rec$name","_rec$name$toLowerCase","getFilters","FilterCustomDropdown","CustomToggle","sId","_data$icon","_entity$LinkedPersona","_entity$LinkedPersona2","_entity$linkedPersona","_entity$linkedPersona2","Id","CjmId","LinkedPersonas","PersonaId","ListItemContainer","redirectTo","isTooltipDisabled","WhiteBackground","_actions$all_actions","currentIndex","disableUp","disableDown","noNavigation","copyUrl","actualActions","handleNavigationUp","handleNavigationDown","createPostMapAction","createComment","mentionedUsers","mentions","string","updateComment","deleteComment","createPostActionDiscu","createGetActionDiscu","getMapDiscussions","getMapDiscussionsFn","relatedName","updateStatusDiscussion","deleteDiscussion","updateToggleComment","updateToggleCommentResolved","ColorTextCard","isclickable","TextContainer","dipslayName","TouchPointLayout","PictureContainer","RoutesWrapper","iseditmode","showHeaderDetails","main","selected_bulk","bulk_type","loadDataHeaders","loadMain","loadDataExportPdfHeaders","loadSizeExportPdfHeaders","setChangeTouchpoint","changeTouchpoint","setSelectBulk","setBulkType","ButtonCreate","EmptyListIcon","openDiscussion","BasicColors","light","dark","gray","gray2","gray3","gray4","gray5","gray6","gray7","gray8","gray9","gray10","orange","orangeHover","cemOrange","backgroundGreySidebar","warning2","cemPurple","MaleActive","FemaleActive","yellow","lightGrey","primlightbg","terrible","terribleIcon","poor","poorIcon","genericIcon","good","goodIcon","excellent","excellentIcon","nosentimentIcon","SwimlaneColors","CustomLibraryColors","CreateNewItem","renderItem","createLabel","MenuItemContainer","NewItemCreation","ContextDnD","onDragEnd","activationConstraint","restrictToHorizontalAxis","restrictToVerticalAxis","isDragging","setIsDragging","lastScrollLeft","scrollLeft","lastScrollTop","scrollTop","lockScroll","overflowX","passive","useScrollLock","mouseSensor","useSensor","MouseSensor","sensors","useSensors","PointerSensor","KeyboardSensor","DndContext","collisionDetection","closestCenter","onDragStart","onDragCancel","modifiers","Droppable","verticalListSortingStrategy","horizontalListSortingStrategy","rectSortingStrategy","rectSwappingStrategy","SortableContext","showRenderElement","over","oldIndex","newIndex","arrayMove","linkedGroups","_object$groups","handleLink","currId","_linkedGroups$map","_group$name","PriorityItem","EditTextWrapper","refFocus","originalName","setOrginalName","handleClickOutside","updateServer","getPersonaIds","_item$linkedAttribute","_item$linkedAttribute2","_item$linkedAttribute3","CustomerFeedbackContainer","CustomerFeedbackHeaderWrapper","CustomerFeedbackCardWrapper","CustomerFeedbackBodyWrapper","LabelNonData","isbold","MomentWrapper","updateIntegrationCredentials","IntegrationPassword","IntegrationUserName","OrganizationName","IntegrationMode","primaryAction","handlePrimaryAction","WorkspaceName","namewidth","_props$variant","_props$size","_props$icon","_props$label","OverlayPanelWrapper","dismissable","onHandleClick","ActionWrapper","ActionIcon","ActionTextWrapper","PERSONA_SECTION","cardName","originalContent","PERSONA_SECTION_TEXT","PERSONA_SECTION_TEXT_GROUP","PERSONA_SECTION_LIST_ITEM","existingItems","PERSONA_SECTION_RATING","PERSONA_SECTION_SLIDER","PERSONA_SECTION_IMAGE","CJM_STAGE_DESCRITION","CJM_STAGE_DESCRIPTION_IMAGE","CJM_TEXT_SWIMLANES","swimlanesName","CJM_TOUCHPOINTS","existingTouchpoints","CJM_OPP_FROM_INSIGHT","CJM_SOL_FROM_INSIGHT","CJM_OPP","CJM_CXACTIONS","CJM_SOL","CJM_INSIGHT","relatedInsights","ZoomImageModal","zoomLevel","setZoomLevel","handlePropagation","onWheel","onDrag","ZoomSlider","generateUsingAI","updateHeight","fileSize","setFileSize","imageLoadingAI","progressBar","setProgressBar","pictureHandler","onerror","openzoom","NoImg","ErrorImg","closeError","accept","fileSizeParent","deleteImg","SizeErrorMessage","dropDownVariant","handleOnSelect","buttonVariant","propsShow","internalShow","setInternalShow","externalContainer","_action$clickable","_action$handleClick","_action$onClick","closeDropdownOnScroll","swimlaneContainer","on","off","_event$originalEvent","allTags","linkedTags","_object$tags","tagColors","newTagColor","_object$tags2","_linkedTags$map","_tag$name","lt","newTag","isOnline","setIsOnline","onLine","handleStatusChange","calculateWrapper","IconComponent","OnIcon","OffIcon","StyledRating","onIcon","offIcon","stars","_TabsData$defaultKey","_TabsData$filter","setCount","_maps$current_map","allSwimlanesDetails","_maps$current_map2","displayedTabs","functions","TabTitleContext","_currentItem$attribut2","_swimlanes$find","_currentItem$attribut3","swimlaneKeyToAddItems","cxItem","isCloseAfterCreate","_allSwimlanesDetails$","_allSwimlanesDetails$2","_allSwimlanesDetails$3","swlimlane","relatedIdsOnThisStage","_currentItem$attribut","JourneyFilter","TagFilter","RenderAdvancedModalFooter","closeDropdown","advancedSearchModal","selectedSolutionIds","_currentItem$name","disabledDescription","renderCustomIcon","baseurl","secondSegment","thirdSegment","workspaceIdDefault","DefaultWorkspaceId","_jwt_decode2","_jwt_decode3","purge","generatePersonaSection_AI","sectionCategory","advanced","resetAlexGeneration","generateImage","resetAlexAssistantCJM","setDescriptions","EditorWrapperOutline","RoutesButtons","allInteractionsStages","inter","isMainRoute","isAlternativeRoute","switches","systemCalculatedRoute","handleSwitchRoute","forceCustomerRoutes","Routes","Property","RenderElement","WrapperLabel","setInteraction","SmileyRating","lvl","updatedLevel","InsightTypeDropdown","linkedInsightTypes","_linkedInsightTypes$m","li","MainRoute","stagesInteractions","isMainOrAlternativeRoute","setRows","fixedRows","handleChangeRows","updatedDisplayed","updatedExtra","propertyDetails","GetPropertyDetails","hidedRows","GetHidedProperties","allAdded","swAdvancedSys","swAdvancedDep","swAdvancedInteractions","all_insightsTypes","localItem","setLocalItem","currentInsightType","handleChangeType","handleChangeElement","prefix","updatedItem","getInteraction","newGuid","linkInsightToInteraction","_swAdvancedSys$","_swAdvancedDep$","handleChangeTagsGroups","handleUpdateStatusPriority","PersonaDropdown","sentiment","departments","DepartmentDropdown","systems","SystemDropdown","TouchpointDropdown","toggleState","setToggleState","choiceFuture","selectedState","showPlaceHolder","borderVisible","dropdownToggle","stateValue","updatedObject","found","prio","_useSelector$flat","showInUse","isCloseWhenSelected","inUseTouchpointsIds","touchpointCategories","inUseTouchpoints","isUseStageTouchpoints","renderInUseTouchpoints","TouchpointSelectCard","renderMenuWithCategories","_touchpointCategories","categoryList","showBorders","_linkedTouchpoints$ma","_tp$name","PersonaFilter","TouchpointFilter","_user$subject","Details","FullName","Email","itemType","imageSrc","deleteText","isDeleting","hideModalDelete","deleteFunctionWrapper","Event","isdeleting","setfocus","CustomShape","ActionsBox","newTouchpointCategory","_categories$filter","_getFilteredItems","_getFilteredItems2","categories","categoryAttId","All","setCategory","subscriptionPlanName","shownCategory","getItemsCount","_items$filter2","_obj$categoryAttId","_item$categoryAttId","selectCategory","getFilteredItems","_filteredItems","_filteredItems$filter","_item$categoryAttId2","_item$categoryAttId3","displayActions","categoryObj","isDeleteAllowed","isUpdatedAllowed","showCreateCategoryModal","LibraryTitle","LibraryBody","isActionBox","menuDisplay","displaymenu","emptyListColor","CryptoJS","enc","Utf8","iv","AES","encrypt","keySize","CBC","pad","Pkcs7","currentPriorityId","prioritiesTypes","getStatusEntityPath","currentPriority","linkedPriorities","_linkedPriorities$map","currentStatusId","linkedStatus","StatusCard","_linkedStatus$map","onlyEnterprise","popover","Pop","Strong","UnlinkButton","DeleteWarningText","confirm","SyncWithModal","bodyText","alertType","currentRequest","requestId","intervalId","getRequestId","advancedSearch","getResult","clearInterval","setInterval","fetchData","KpiRelationCard","_entity$measureName","Impact","_props$item","tabsData","GetTabsData","CustomManager","tabLabel","openRoute","RelatedItemsManager","_baseItems$getActiveR","refPopup","addButtonLabel","getAllPath","reducerSelector","getAllApi","titleAttribute","createDefaultObject","specificPathArray","CustomPickList","isShowAddButton","baseItems","isShowCreateObject","handleLinkRecord","handleUnlinkRecord","SearchPickList","allSwimlanes","swimLaneInsights","isInsight","AddInsight","disableAI","isActiveRecord","_data$filter","subscriptionFilter","relation","insightRelations","_data$filter2","touchpointsRelations","_allSwimlanesDetails$4","_allSwimlanesDetails$5","_allSwimlanesDetails$6","_props$options","_props$options2","_option$id","_props$value","GenericDropdownWrapper","ishoverborder","isborder","customToggle","SelectedOption","LabelPlaceHolder","hoverCaret","DropdownMenuWrapper","minwidth","_option$fullName","_option$fullName$getI","firstUserIndex","UserWrapper","_option$fullName2","_option$fullName2$get","_settings$organizatio","_object$linkedPersona","linkedPersonasOnMap","_linkedPersonas$map","_persona$name","lp","StatusFilter","filteredWorkspaces","workspacesToDisplay","enablescroll","switchWorkspace","getLabelByKeyName","PopoverComponent","_ratings$slice","_Object$entries$map","RatingWrapper","RatingLabelsWrapper","CustomPopover","h3","FlexCardBorder","_currentItem$linkedPe","disableHide","currentAttribute","formattedDate","inputClassName","OwnerDropdown","_getSolutionTypeData","_getSolutionTypeData2","handleHide","_attachementAttribute3","_attachementAttribute4","modifiedItem","setModifiedItem","saveEvent","setSaveEvent","setOpenEdit","attachementAttributes","upsert","append","uploadFile","handleGetFile","_attachementAttribute","newAttachments","_attachementAttribute2","_refPopup$current","_e$originalEvent","_refPopup$current2","AttachCreatePopOver","AttachEditPopOver","filename","columnsOrder","displayedAttribute","hiddenAttribute","updateShowAttribute","useColumns","handleLinkChange","_att$attributeName","idUpdate","updatedLinks","linkorUnlink","relatedAttributeInteraction","sortedOrder","showHideButton","_columns$find","updatedModfifiedCxAttribute","DefaultPickListSelectCard","_obj$attributes","_obj$attributes$find","_obj$titleAttribute","showConfirmAssociatedModal","getstatusType","statusID","_currentItem$stageId","_currentItem$ownerId","specificItems","noItemsText","isPickListCardDisabledFunction","specificItemsLabel","SelectCardComponent","isSearchOnly","filterList","_data$titleAttribute","showCreationButton","createRecord","linkRecord","isPickListCardDisabled","_currentItem$linkedAt","pickListCardData","showCloseIcon","deleteIconCustomSwimlane","specificKey","deleteIconCxGoals","itemDELETE","deleteTimeLineIcon","deleteCustomerFeedbackIcon","deletePhaseIcons","addIconCustomSwimlane","updatePhaseIcons","itemUpdateCxGoals","itemUpdate","updateTimeLineIcon","updateCustomerFeedbackIcon","isRemovable","showborders","isremovable","selectableComponent","ImageIcon","CascadeLoader","words","Middle","Loading","SwimlanesContainer","TaxonomyCreateItem","InputContainer","ColorPickerVertical","_colorData","selectedColor","colorData","ColorSquare","TaxonomyListItem","isEditAllowed","defaultColor","setColorCode","setPlacement","handleResize","isEnoughSpaceForRight","innerWidth","InputContainer2","ColorsContainer","MenuFooter","isUsed","TaxonomyGroup","_newItems$map","TaxonomyInsightType","TaxonomyPriority","priorities","tabs","CXEntity","TaxonomyStatus","TaxonomyTag","_updatedItem$name","routes","lazy","Taxonomy","ManageTeams","TouchPoints","Stickers","BrandValues","_state$personas","isAiGeneration","_state$maps2","GenericHeader","backLabel","TextSuggestions","speed","regularMode","routeAccess","isUserReadyOnlyOrUser","fullAccess","mediumAccess","settingsRoutes","currentUserSubscriptionPlanName","_routes$lazyPages","_routes$nonLazyPages","_AccessDictionary$rou","_AccessDictionary$rou2","updateCxProgramState","defaulthandleStyle","DragContainer","globalStyle","listeners","setNodeRef","useSortable","userSelect","flex","DragIcon","namePath","backPath","userConnected","hideHeader","back","wrap","authorizedUsersBased","_owner$roleName","DisplayStatus","_allStatus$name","toggleStatus","setToggleStatus","selectedStatus","CustomDropdownItem","_cxProgram$authorized","_cxProgram$authorized2","isInWorkspace","callBackCopy","renameAllowed","copyAllowed","manageAccessAllowed","isInEdit","CheckLinkedItems","actionPopup","TargetForm","saveTarget","selectedTarget","panelRef","allMetricsData","setAllMetrics","setMetrics","showManageMetric","setShowManageMetric","isShowManageAllowed","closeForm","handleEditorChange","MetricsContainer","Metric","ManageGenericItems","createItem","updateItem","deleteItem","deleteLabel","FooterButtons","MetricContainer","handleCheckBoxClick","_metrics","CheckboxWrapper","defaultChecked","MetricName","StakeHolderForm","selectedData","stakeHoldersPath","_settings$users","_settings$users$map","activeUsersEmails","currentStakeholders","showManageRole","setShowManageRole","nameDropdownStatus","setNameDropdownStatus","roleDropdownStatus","setRoleDropdownStatus","filteredAuthUsers","isUserAlreadyUsed","setStakeholder","_stakeholderRoles$fin","handleUserSelection","NameBox","handleRoleSelection","RatingFilter","SolutionAdvancedSearchModal","ratingRef","personaRef","cjmRef","touchpointRef","tagRef","statusRef","filteredSolutions","setFilteredSolutions","_ratingRef$current","_personaRef$current","_cjmRef$current","_touchpointRef$curren","_tagRef$current","_statusRef$current","ratingFilters","personaFilters","cjmFilters","touchpointFilters","tagFilters","statusFilters","_getCxAttribute$linke","_getCxAttribute2$tags","recordsToDisplay","_fs$name","_fs$name$toLowerCase","_record$name","handleSelectRecord","createNewSolution","useAIParams","aiParameters","setShowAI","allActiveInsights","handleOpen","compbineDescription","people","process","technology","keymMetrics","impactCustomer","CustomerAffected","customerBenefit","CustomerBenefit","revenueIncrease","PotentialRevenueIncrease","impactBrand","ImproveBrandImage","cost","ImplementationCost","implComplexity","ImplementationComplexity","engagementEffortRanking","ImplementationEffort","implDuration","ImplementationTime","handleRelations","touchpointAtt","findAttribute","personaInteraction","_relatedInsight$split","_allActiveInsights$fi","_sol$name","ActionAdvancedSearchModal","selectedActionIds","filteredActions","setFilteredActions","fa","_fa$name","_fa$name$toLowerCase","createNewAction","_act$name","OpportunityAdvancedSearchModal","_filteredOpportunitie","selectedOpportunityIds","priorityRef","_state$libraries$prio","filteredOpportunities","setFilteredOpportunities","_priorityRef$current","priorityFilters","_opportunity$linkedPe","_getCxAttribute3$tags","fo","_fo$name","_fo$name$toLowerCase","PriorityFilter","createNewOpportunity","modifiedAttCustomerValue","modifiedAttBusinessValue","_opp$name","EditableTitle","setTitle","_e$target$value","customNavigationIds","tableNavigationIds","_state$ui$table$entit","_state$ui$table$entit2","_state$ui$table$entit3","navigationIds","setCurrentInsightId","currentInsight","onInsightChange","handleInsightChange","updateRows","pathToPersonas","StickerCard","hideEditModal","updateCustom","UpdateCustomIcon","DeleteCustomImage","_data$response","deleteCustom","displayCjmTable","iconsDB","createCustom","StickerForm","TaxonomyMenuCard","LoadedTaxonomyPage","_librariesData$group","_librariesData$tags","_librariesData$insigh","menuData","dataFilteredBySubscription","LibraryValueForm","setting","textModalDelete","infoLibrary","callBackCreate","copyItem","SystemDepartmentColorSelector","FooterDiv","IsDeleteAllowed","WrapperMenu","BoxColor","showlinkedRecordsMaps","pathToAllRecords","linkedRecordsAttribute","linkedRecordsTitle","getLinkedRecords","pathContext","isDataFormatable","buildModalByContext","BrandValueForm","selectedBrandValue","indexLibrary","TouchPointForm","srcImg","_props$object","linkedData","linkedItems","setLinkedItems","getLinkedItems","transformLinkedData","LeftCol","RightCol","RelatedContainer","handleCheckLength","TableContainer","SmileyReactiveComponent","StyledWrapper","strokeDashoffset","strokeLinecap","getDefaultItem","systemSourceId","unit","systemsLibrary","setMeasure","relatedSystem","eventEnterLimit","which","keyCode","shiftKey","Textarea","FinancialImpact","handleFinancialImpactChange","noLabel","CustomAddButton","newFinancialImpact","FinancialImpactNumber","FinancialInput","CurrencySymbol","InputNumber","defaultCategory","setSelectCategory","nameExist","setNameExist","setWeight","NameWrapper","ImgBox","SelectWrapper","dataFiltering","_category$find","customCategory","isSaveAllowed","WariningWrapper","_useSelector2$find","_useSelector2$find$va","_cxGoal$date","isFromMap","showDetails","setShowDetails","handleIncrease","handleDecrease","ProgressBarWrapper","displayValueTemplate","BarLabel","handleLinkTouchpoint","expandable","_props$value2","_props$value3","OwnerItem","OwnerName","selectedOwner","GetSelectedOwner","_selectedOwner$map","_it$fullName","_libraries$find","allDepartments","_linkedDepartments$ma","_dep$name","ld","allSystems","_linkedSystems$map","_system$name","ls","cxActionModal","insightModal","allOpps","oppModal","allsolutions","solutionModal","SolutionTypeLabel","labelSolution","_actions","linkedMapIds","relatedMaps","relatedMap","RowCJM","_item$linkedCjms","_item$linkedCjms$cjmI","CustomBorders","WrapperCollapseIcon","_cjm$linkedPersonas$","insightLocation","foldersLength","_folders$filter","isFolderCreatedByCurrentUser","showFolderLinkComponent","moveToFolderAllowed","createInFolderAllowed","linkExistingItemsAllowed","handleToggleMain","$dropdownMenu","$dropdownToggle","is","click","CreateOrLink","linkExisting","entities","handleClickFunction","LinkedCxPrograms","ToggleButton","addFolder","DropdownPosition","_project$authorizedUs","_project$authorizedUs2","isNewUser","isExpert","isFullUserSeatAvailable","showCompanyAdmin","showAdmin","showUser","showReadOnly","onUserTypeChange","StyledDetails","Delete","toDelete","setNewItem","_e$target","_items$index","_allItems$index","_items$index2","_e$target2","handleEnter","ManageItemsContainer","ItemContainer","handleTextChange","AddItem","currentLibrary","showColorModal","ColorSelectModal","colorsPanel","colorSize","isDisable","chooseOptions","iconOnly","cancelOptions","downloadTemplateFile","eventOnFile","haveFile","FileUpload","maxFileSize","emptyTemplate","emptyView","customUpload","headerTemplate","chooseButton","cancelButton","onClear","setRequest","invalidSub","setInvalidSub","invalidDes","setInvalidDes","OffCanvasWrap","OffCanvasHeader","check","SubjectInput","CustomTextArea","CommentEditor","setMentions","HubConnectionContext","setConnection","useSignalR","updateConnection","updateConnectionId","useHubConnection","InsightPickListCard","InsightTypeFilter","InsightAdvancedSearchModal","selectedInsightsIds","insightTypeRef","setFilteredInsights","_insightTypeRef$curre","insightTypeFilters","_insight$linkedPerson","_insight$linkedTouchp","_is$name","_is$name$toLowerCase","handleSelectInsight","createNewInsight","onLinkSuccess","InsightCreateNewItem","_insightTypes$filter","selectedTypeId","setSelectedTypeId","getTypeId","_insightTypes$2","_insightTypes$","currentTypeId","TypeContainer","_op$current","insightsTypes","_insightsTypes$find","_type$trim","_ins$name","DropdownPrimeReact","PersonaSelection","_personas$","dropdownRef","defaultselected","hasDefault","_dropdownRef$current","allOptions","setAllOptions","getSelectedPersona","setSelectedPersona","optionss","cleanOptions","Personalabel","SelectButton","hideSwimlaneSelection","flexWrap","ReactModal","Info","TemplateSelection","setHideSwimlaneSelection","templateCemantica","organizationsTemplates","getSelectedTemplate","Templatelabel","_template$find","templatePersonas","optionGroupLabel","optionGroupChildren","showClear","industryRef","swimlaneRef","templateRef","mapCreation","setAIGeneration","summary","createNewPersona","_industryRef$current2","IndustryDescription","SwimlaneSelection","_industryRef$current","_swimlaneRef$current","_templateRef$current","getSelectedSwimlane","selectedLanes","selectedValue","prevValue","DisplayFlexWrap","DivDropdown","_currentBrandValue$de","mood","callbackCreateBrandValue","brandValueType","currentBrandValue","setBrandValue","attributeToUpdate","setAttributeToUpdate","getTypeIcon","getIconNumber","Styles","selectedbrandValueType","selectBrand","_copy$description","_copy$name","newBrand","setTyping","typingtext","setTypingtext","textHeight","setTextHeight","textRef","createRef","dangerouslySetInnerHTML","__html","TypeValidation","dataValidation","newDatas","getChartOptions","colorLine","totalWidth","lineWidth","easing","startup","series","getChartLineTypes","hAxis","textPosition","baselineColor","minValue","vAxis","chartArea","pointSize","annotations","textStyle","fontName","displayAnnotations","getChartLineColors","isHtml","GLOBAL_LINE","TARGET_LINE","VOC_LINE","PERSONA_COLORS","getChartLinesColors","personaLines","personaLinesVOC","includedLineIds","includedLines","_item$id","_item$id2","lineDashStyle","popoverParams","AddCommentPopup","_discussionState$filt","discussions","_state$ui$comment","uiDiscussions","_state$ui2","_state$ui2$comment","discussionState","setDiscussionState","showResolved","showComment","closeComment","_innerRef$current2","resolvedFilter","_cjmDiscussions$discu","counts","_cjmDiscussions$discu2","_cjmDiscussions$discu3","_cjmDiscussions$discu4","resolved","PopoverStyle","Discussion","_innerRef$current5","_cjmDiscussions$uiDis3","_cjmDiscussions$uiDis4","totalCounts","_cjmDiscussions$uiDis","_cjmDiscussions$uiDis2","CustomButton","_innerRef$current3","_innerRef$current4","IconDisplay","_current_user$roleNam","deleteIcon","iconLibraries","_state$libraries$icon","ic","isEmotion","_iconSet$AllIcons$Num","iconSet","IconItem","RemoveIconAction","IconSelector","addFunction","buttonText","IconDB","emo","ico","ShowComponentModal","HideWrapper","stayOpen","marginLeft","Overlay","CustomPopOver","_icons$AllIconsNumber","AllIconsNumber","DragImg","Revert","_emotions$AllIconsNum","selectedCategory","AccessWrapper","_current_user$roleNam2","IconButtonWrapper","addStrategyAttributeService","deleteStrategyAttributeService","updateStrategyAttribOrderService","updateCxStrategyAttributeService","updateListItemCxStrategy","createListItemcxStrategy","reorderListItemsStrategy","deleteListItemStrategy","deleteStrategyBrandValueService","upsertStrategyBrandValueService","_props$colorCode","_props$colorCode2","_props$colorCode3","AddListItem","WhiteContainer","ButtonAddListItem","ishidden","NoDataComponent","fixed","TouchpointCard","hideEditLibrary","UpdateCustomChannel","RecomputeSentimentLevels","CustomColorSelectModal","setCurrentColor","RenderChromePicker","updateUserSettings","userSettingsColors","onChangeComplete","isRound","isShowColorPicker","showCustomColorModal","openCustomColorSelectModal","handleReset","BigModal","ModalBodyCustom","HeaderDetails","mapUsers","setGroups","manageAccessAction","CustomSidebar","baseZIndex","DetailContainer","handleManageAccess","alignSelf","Sidebar","LinkForm","objectToCreate","setCreateObject","typeMsg","setTypeMsg","uploadHandler","objectToUpdate","setUpdateObject","attachMode","CxGoalCard","_useSelector$find","createCardActions","noBorder","refOut","getMeasure","_state$comments","updatedCxGoal","GoalCard","LabelActualAndGoals","Touchpoint","TPName","ScoreLabel","expand","deleteConfirm","setDeleteConfirm","WarningBox","textcolor","boxcolor","required","ManagePersonaCard","selectedCard","setSelectedCard","nextPersonaId","isViewable","displayLine","showModalRemove","handleSelection","HiddenButton","redirectToPersona","ManageSentimentCard","_swimLane$sentimentsC","_swimLane$sentimentsC2","_swimLane$sentimentsC3","_swimLane$sentimentsC4","_swimLane$sentimentsC5","_swimLane$sentimentsC6","newConfig","_swimLane$sentimentsC7","_swimLane$sentimentsC8","updateVOC","limitFilter","RouteCard","SwitchRouteCard","itemSelectorPath","RouteIcon","GeneralDetails","_swimLane$name","_modifiedSwimLaneRef$13","_modifiedSwimLaneRef$14","_modifiedSwimLaneRef$15","swimlaneTitle","modifiedSwimLaneRef","_modifiedSwimLaneRef$","_modifiedSwimLaneRef$3","_modifiedSwimLaneRef$2","_modifiedSwimLaneRef$4","_modifiedSwimLaneRef$5","_modifiedSwimLaneRef$6","_modifiedSwimLaneRef$7","_modifiedSwimLaneRef$8","_modifiedSwimLaneRef$9","_modifiedSwimLaneRef$10","_modifiedSwimLaneRef$11","_modifiedSwimLaneRef$12","CustomerRoutesDetails","SentimentLevelDetails","personasData","DividerDetails","dividerOptions","setModifiedSwimLane","DropDownDivider","GeneralSentimentLineDetails","FlexColumnGapWrapper","LineIcon","PersonaSentimentLinesDetails","SwimlaneDetailsCanvas","routesAllowed","dataByContext","general","generalSentimentLine","personaSentimentLine","activeIndex","CustomAccordion","AccordionTab","SimpleHeaderDisplay","Accordion","VersionPreviewModal","iframeUrl","versionName","versionDescription","onRestore","Bold","VersionHistoryCard","versionOwner","createdByIdMapVersion","createdOnMapVersion","VersionHistoryCardActions","_allMaps$find","viewVersionAllowed","editVersionAllowed","restoreVersionAllowed","deleteVersionAllowed","showUpdateVersionModal","NameDescriptionModal","handleRestore","showIFrameModal","MapVersionsHistory","KPICard","TextareaWithIcon","SelectedCxGoals","selectedMeasures","addSelected","handleAddSelected","LinkKPI","_measures$sortAsc","isUserAllowedToCreate","_measures$filter","newLibraryValue","isUserAllowedToDelete","_item","setMode","toolTipTextDelete","tooltipEditButton","disabledDelete","hideModalDeletePopup","codeCode","BrandValueLibraryCard","strategybrandValue","eventOnClickBrandValue","buildModal","srcBrandValueId","webpackContext","req","webpackContextResolve","__webpack_require__","o","module","exports","backToOrigin","showHierarchyAllowed","selector","addClass","removeClass","linkInsightOnMapWrapper","selectedType","setSelectedType","TypesContainer","PersonaPictureSelector","handleDoneClick","_pictureGrids","pictureGrids","handleStandardImageClick","Carousel","numVisible","numScroll","grid","pictureNumber","TargetCard","deleteTarget","cardWidth","Metrics","metricObj","len","TargetActions","StakeHolderCard","disableDelete","setDisableDelete","JobTitle","CXNumbers","progFromList","prog","CxData","showInput","setShowInput","setInputValue","colSize","smallscreenupdate","_state$libraries$cust","_state$libraries$cust2","isRelationLoading","setIsRelationLoading","connectorSource","_integrations$qualtri","_integrations$survey","_integrations$sandsiv","StagesCustomerFeedbacks","CustomerFeedbackCard","_customerFeedbackData5","_customerFeedbackData6","connectorData","con","metricsData","cf","feedbackModal","EditFeedbackData","swimlaneItemActionsAllowed","addCommentAllowed","addIcon","HeaderCard","_customerFeedback$nam","getName","Icons","_object$icons","showEdit","NonData","CompareValues","_customerFeedbackData","_customerFeedbackData2","_customerFeedbackData3","_customerFeedbackData4","lastSentimentIndex","interactionDate","AddComment_popup","_discussion$comments2","hidden","setEdit","mention","setMention","isInCommentCenter","commentCounts","showReply","setShowReply","_discussion$comments$3","resolveDiscussion","DiscussionWrapper","_discussion$comments$","_discussion$comments$2","CommentWrapper","LastUpdated","fromNow","EditWrapper","ProjectMenu","_currentProject$linke","_currentProject$linke2","_currentProject$linke3","_currentProject$linke4","_currentProject$linke5","_currentProject$linke6","activeLink","CustomLinkComponent","currentLink","RelatedItemsContainer","ItemCard","CustomLink","RelatedItemContainer","CustomBadge","CustomRow","kpiAttribute","up","setUserProvided","fi","setFinancialImpact","handleButtonClick","RadioButtonContainer","updateFinancialImpact","bordercolor","ProjectBusinessCase","_kpiAttribute$items","_targetAttribute$item","setActiveLink","_s$projects","_s$projects$currentUs","targetAttribute","currentCxGoal","inViewRef","useInView","inView","threshold","root","deleteKpi","_kpiAttribute$items2","kpiAttributeItem","showModalLibrary","ProjectFinancialImpact","AttributeItemsContainer","CardActions","setSelectedOwner","handleClickOut","_lastSelected$","lastSelected","newIdSelected","allPriorities","entityPriorities","togglePriority","setTogglePriority","handlePriority","ProjectDetails","pmt","setPmt","pmtl","setPmtl","ProjectGeneral","_project$startDate","_project$endDate","_currentProject$stake","setProject","readyToUpdate","setReadyToUpdate","initialInView","handleDateChange","ProgressScore","SliderContainer","updateProgressBar","attrList","CardsContainerStyle","ProjectRelatedItemCard","isRemoveAllowed","ProjectRelatedItems","RelatedItemSection","addText","allActiveRecords","linkedItemsIds","allLinkedItems","RelatedSectionTitle","AddButton","relatedItemsSectionsDic","_project$s$linkedAttr","ProjectBody","bodyRef","_mondayConnector$mond","_actionsData$outsideD","onRefresh","handleExport","mondayConnector","LastSave","showSyncModal","globalProjectsBoardName","exportAllowed","refreshAllowed","mondaySyncAllowed","actionsData","externalUrl","baseActions","inDropdownActions","outsideDropdownActions","HeaderActionsContainer","actionValidation","ProjectHeader","_project$financialImp","forceReload","_state$projects","loggedUserId","allFunctions","func","externalSyncEnabled","createSyncActions","Oswald","ProjectPage","_state$projects$curre","setCounters","prevKey","_$","getProjectPDFService","FormFeedbackWrapper","StyledTable","ThWrapper","th","iscenter","TdWrapper","td","isitalic","QueryBuilderDiv","TrWrapper","LabelCenter","DivSurveyWrapper","DivSurveyLabel","FeedBackData","_useLocation","_feedback$customerFee","_feedback$customerFee2","feedback","showStopRetrieveData","feedbackData","averageRating","ReportSummeryFeedback","_feedback$customerFee3","_feedback$customerFee4","_feedback$customerFee5","_feedback$customerFee6","_feedback$customerFee7","dateObject","allowDataOverflow","FeedbackConfiguration","_feedback$surveyId","_feedback$surveyId2","jsonSurveys","listSurvey","surveyData","setFeedback","loadingSurvey","setLoadingSurvey","listFilter","setListFilter","listQuestions","setListQuestions","combinator","rules","onSelectSurvey","fillResult","_data$Filters","_data$Questions","Filters","Questions","question","inputType","operators","startRetrieveData","menu","provided","whiteSpace","overflowWrap","QueryBuilderBootstrap","QueryBuilder","onQueryChange","controlClassnames","valueEditor","valueEditorComponent","selectProps","controlElements","addGroupAction","ActionElement","ConfirmPopup","confirmPopup","acceptClassName","rejectClassName","rejectLabel","acceptLabel","reject","propTypes","PropTypes","_currentItem$errorMsg","_currentItem$errorMsg2","_currentItem$customer","isDisableRetrieveData","authorizedExtenions","contactData","setContactData","onChangeInput","contactId","editData","copyData","dataDB","updateData","_copyData","addContactInteractions","changeEmotionLevel","fd","_contact$interactionD","DetailFeedBackConfiguration","LabelDisplay","showHide","DetailPanelFeedBack","isManual","stagesCustomerFeedbackIds","feedbackId","signalR","withUrl","accessTokenFactory","withAutomaticReconnect","configureLogging","build","shouldReconnect","reconnectTimeout","attempt","startConnection","Disconnected","stop","reinitializeConnection","warn","attemptReconnect","handleOnline","handleOffline","Connected","invoke","handleVisibilityChange","methodName","args","methodWorkspaceFun","onclose","onreconnecting","onreconnected","useHubMapConnection","connectionRef","prevConnectionState","wrapperMethod","methodMapFun","mapUserParameters","setupHandlers","Connecting","ProjectAdvancedSearchModal","selectedProjectIds","filteredProjects","setFilteredProjects","_project$tags","_pro$name","pro","_state$all_cxPrograms2","_state$all_cxPrograms3","_state$all_cxPrograms4","_state$all_cxPrograms5","_state$all_cxPrograms6","_state$all_cxPrograms7","_state$all_cxPrograms8","_state$all_cxPrograms9","_state$current_progra19","_state$current_progra20","_state$current_progra21","_state$current_progra22","_state$current_progra23","_state$current_progra24","_state$current_progra25","attributesPositions","_state$all_cxPrograms","resData","newAtt","newPosition","minH","moved","static","_state$current_progra","_state$current_progra2","_state$current_progra3","_state$current_progra4","_state$current_progra5","_state$current_progra6","_state$current_progra7","_state$current_progra8","attributeIdStr_name","_state$current_progra9","_state$current_progra10","attributeIdStr_desc","_attributeItem$url","_attributeItem$fileNa","_state$current_progra11","_state$current_progra12","_attributeItem$name2","_attributeItem$descri2","_state$current_progra13","_state$current_progra14","_state$current_progra15","_state$current_progra16","_section$items","_state$current_progra17","_state$current_progra18","itemsIds","_state$all_cxPrograms10","cxProgId","userId_","_state$all_cxPrograms11","_state$all_cxPrograms12","_item$metrics","_state$current_progra26","_action$response7","_action$response6","_state$current_progra27","filteredAssessments","_state$all_cxPrograms13","_state$all_cxPrograms14","current_strategy","all_Strategies","_state$all_Strategies2","_state$all_Strategies3","_state$all_Strategies7","_state$all_Strategies8","_state$all_Strategies9","_action$response4$dat","strategyAttributes","stdAttributesDic","strategyBrandValueDic","sortablePosition","_state$all_Strategies","_state$all_Strategies4","dataUpdate","strategyBrandValue1","_state$current_strate","_state$current_strate2","_state$current_strate3","_state$current_strate4","_state$current_strate5","_state$current_strate6","customAttributeIdStrToDelete","newStrategyBrandValueDic","_state$current_strate7","_state$all_Strategies5","_state$all_Strategies6","existUser","strategyData","_state$current_strate8","_state$current_strate9","_state$current_strate10","_state$current_strate11","_state$current_strate12","_state$current_strate13","attributeIdStr_delete","attributeItemIdStr_delete","_action$payload$newOr","_state$current_strate14","_state$current_strate15","current_persona_map","_state$all_personas","_state$all_personas2","_state$all_personas3","_state$all_personas13","_state$all_personas14","personaAtt","personaAttributes","dataPersona","_state$all_personas4","isFutureState","personaForm","personaAttributePositions","_state$current_person","_state$current_person2","newValueCustom","_state$current_person3","_state$current_person4","newNameUpdated","_state$current_person5","_state$current_person6","newPersonaAtt","maxH","_newPersonaData$","newPersonaData","_state$current_person7","_state$current_person8","_state$current_person9","_state$current_person10","isPervios","_state$all_personas5","_state$all_personas6","_state$all_personas7","_state$all_personas8","_state$current_person11","_state$current_person12","_personaAttributeItem5","_personaAttributeItem6","_personaAttributeItem7","_personaAttributeItem8","_state$current_person13","_state$current_person14","_state$current_person15","_state$current_person16","_state$current_person17","_state$current_person18","_state$current_person19","_state$current_person20","attributeIdStr_order","_state$all_personas9","_state$all_personas10","_state$all_personas11","_state$all_personas12","personaIdsToUnlinkArray","personaIdsToLinkArray","_state$all_personas15","_state$all_personas16","_persona$tags","webpackAsyncContext"],"mappings":"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BACJA,GAAa,SACb,MACD,IAAK,MACL,IAAK,UACJA,GAAa,UACb,MACD,IAAK,gBACJA,GAAa,gBACb,MACD,IAAK,YACJA,GAAa,YACb,MACD,IAAK,QACL,IAAK,mBACJA,GAAa,mBACb,MACD,IAAK,WACL,IAAK,QACJA,GAAa,QACb,MACD,IAAK,OACJA,GAAa,OACb,MAKD,IAAK,MACJA,GAAa,eACb,MACD,IAAK,UACJA,GAAa,mBACb,MACD,IAAK,QACJA,GAAa,gBACb,MACD,IAAK,aACJA,GAAa,YACb,MACD,IAAK,WACJA,GAAa,QACb,MACD,IAAK,UACJA,GAAa,SACb,MACD,IAAK,UACJA,GAAa,UACb,MACD,IAAK,SACJA,GAAa,SACb,MACD,IAAK,SACJA,GAAa,SACb,MACD,IAAK,gBACJA,GAAa,SACb,MACD,IAAK,YACL,IAAK,cACJA,GAAa,cACb,MACD,IAAK,UACJA,GAAa,UACb,MACD,IAAK,OACJA,GAAa,OACb,MACD,IAAK,MACJA,GAAa,MACb,MACD,IAAK,SACJA,GAAa,SACb,MACD,IAAK,cACJA,GAAa,cACb,MACD,IAAK,SACJA,GAAa,SACb,MACD,IAAK,SACJA,GAAa,SACb,MACD,IAAK,QACJA,GAAa,QACb,MACD,IAAK,iBACJA,GAAa,iBACb,MACD,IAAK,aACJA,GAAa,aACb,MACD,IAAK,UACJA,GAAa,UACb,MACD,IAAK,WACJA,GAAa,WACb,MACD,IAAK,sBACJA,GAAa,sBACb,MACD,IAAK,OACJA,GAAa,OACb,MACD,IAAK,aACJA,GAAa,aACb,MACD,IAAK,UACJA,GAAa,UACb,MACD,IAAK,WACJA,GAAa,WACb,MACD,IAAK,QACJA,GAAa,QACb,MACD,IAAK,QACJA,GAAa,QACb,MACD,IAAK,YACJA,GAAa,qBACb,MACD,IAAK,OACJA,GAAa,gBACb,MAED,IAAK,kBACJA,GAAa,kBACb,MACD,IAAK,SACJA,GAAa,SACb,MACD,IAAK,cACJA,GAAa,cACb,MACD,IAAK,eACJA,GAAa,eACb,MACD,IAAK,iBACJA,GAAa,iBACb,MACD,IAAK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MAAM0iK,IAAE,IACX,CAAC5+H,GAASyR,gBAGb,CACA,IAAK,wBAAyB,CAC7B,MAAMh7E,EAAKoL,OAAO49D,QAClB,OAAAhgE,0aAAA,GACIy8B,OAAK,IACR0iK,GAAEn/L,0aAAA,GACEy8B,MAAM0iK,IAAE,IACX,CAACnoM,GAAK,QAGT,CACA,QACC,OAAOylC,MAEV,EAEe4yE,oC,0qsBChyBf,IAAIh/G,EAAM,CACT,gCAAiC,CAChC,KACA,IAED,oBAAqB,CACpB,KAED,iBAAkB,CACjB,KACA,IAED,kBAAmB,CAClB,KACA,IAED,mBAAoB,CACnB,KAED,kBAAmB,CAClB,KACA,IAED,sBAAuB,CACtB,KACA,IAED,yBAA0B,CACzB,KACA,IAED,gBAAiB,CAChB,KACA,IAED,iBAAkB,CACjB,KACA,IAED,mCAAoC,CACnC,KACA,IAED,kBAAmB,CAClB,KACA,IAED,aAAc,CACb,KACA,IAED,cAAe,CACd,KACA,IAED,cAAe,CACd,KACA,IAED,cAAe,CACd,KACA,IAED,cAAe,CACd,KACA,IAED,cAAe,CACd,KACA,IAED,cAAe,CACd,KACA,IAED,cAAe,CACd,KACA,IAED,aAAc,CACb,KACA,IAED,aAAc,CACb,KACA,IAED,aAAc,CACb,KACA,IAED,aAAc,CACb,KACA,IAED,aAAc,CACb,KACA,IAED,aAAc,CACb,KACA,IAED,aAAc,CACb,KACA,IAED,aAAc,CACb,KACA,IAED,yBAA0B,CACzB,KACA,IAED,2BAA4B,CAC3B,KACA,IAED,qBAAsB,CACrB,KACA,IAED,uBAAwB,CACvB,KACA,IAED,oBAAqB,CACpB,KACA,IAED,mBAAoB,CACnB,KACA,IAED,mBAAoB,CACnB,KACA,IAED,uBAAwB,CACvB,KACA,IAED,YAAa,CACZ,KACA,IAED,0BAA2B,CAC1B,KACA,IAED,wBAAyB,CACxB,KACA,IAED,qBAAsB,CACrB,KACA,IAED,qBAAsB,CACrB,KACA,IAED,yBAA0B,CACzB,KACA,IAED,sBAAuB,CACtB,KACA,IAED,6BAA8B,CAC7B,KACA,IAED,sBAAuB,CACtB,KACA,IAED,2BAA4B,CAC3B,KACA,IAED,oBAAqB,CACpB,KACA,IAED,wBAAyB,CACxB,KACA,IAED,iBAAkB,CACjB,KACA,IAED,kBAAmB,CAClB,KACA,IAED,mBAAoB,CACnB,KACA,IAED,mBAAoB,CACnB,KACA,IAED,2BAA4B,CAC3B,KACA,IAED,wBAAyB,CACxB,KACA,IAED,mBAAoB,CACnB,KACA,IAED,wBAAyB,CACxB,KACA,IAED,gBAAiB,CAChB,KACA,IAED,qBAAsB,CACrB,KACA,IAED,oBAAqB,CACpB,KACA,IAED,wBAAyB,CACxB,KACA,IAED,mBAAoB,CACnB,KACA,IAED,4BAA6B,CAC5B,KACA,IAED,oBAAqB,CACpB,KACA,IAED,kBAAmB,CAClB,KACA,IAED,gBAAiB,CAChB,KACA,IAED,eAAgB,CACf,KACA,IAED,oBAAqB,CACpB,KACA,IAED,2BAA4B,CAC3B,KACA,IAED,iBAAkB,CACjB,KACA,IAED,sBAAuB,CACtB,KAED,kBAAmB,CAClB,KACA,IAED,gBAAiB,CAChB,KACA,IAED,0BAA2B,CAC1B,KACA,IAED,oBAAqB,CACpB,KACA,IAED,oBAAqB,CACpB,KACA,IAED,2BAA4B,CAC3B,KACA,IAED,4BAA6B,CAC5B,KACA,IAED,kBAAmB,CAClB,KACA,KAED,wBAAyB,CACxB,KACA,KAED,iBAAkB,CACjB,KACA,KAED,sBAAuB,CACtB,KACA,KAED,uBAAwB,CACvB,KACA,KAED,qBAAsB,CACrB,KACA,KAED,sBAAuB,CACtB,KACA,KAED,qBAAsB,CACrB,KACA,KAED,2BAA4B,CAC3B,KACA,KAED,sBAAuB,CACtB,KACA,KAED,sBAAuB,CACtB,KACA,KAED,mBAAoB,CACnB,KACA,KAED,yBAA0B,CACzB,KACA,KAED,yBAA0B,CACzB,KACA,KAED,wBAAyB,CACxB,KACA,KAED,wBAAyB,CACxB,KACA,KAED,4BAA6B,CAC5B,KACA,KAED,yBAA0B,CACzB,KACA,KAED,8BAA+B,CAC9B,KACA,KAED,0BAA2B,CAC1B,KACA,KAED,uBAAwB,CACvB,KACA,KAED,qBAAsB,CACrB,KACA,KAED,oBAAqB,CACpB,KACA,KAED,sBAAuB,CACtB,KACA,KAED,wBAAyB,CACxB,KACA,KAED,sBAAuB,CACtB,KACA,KAED,wBAAyB,CACxB,KACA,KAED,yCAA0C,CACzC,KACA,KAED,mBAAoB,CACnB,KACA,KAED,gBAAiB,CAChB,KACA,KAED,8BAA+B,CAC9B,KACA,KAED,4BAA6B,CAC5B,KACA,KAED,qBAAsB,CACrB,KACA,KAED,iBAAkB,CACjB,KACA,KAED,mBAAoB,CACnB,KACA,KAED,qBAAsB,CACrB,KACA,KAED,iBAAkB,CACjB,KAED,wBAAyB,CACxB,KACA,KAED,iBAAkB,CACjB,KACA,KAED,oBAAqB,CACpB,KACA,KAED,wBAAyB,CACxB,KACA,KAED,kBAAmB,CAClB,KACA,KAED,wBAAyB,CACxB,KACA,KAED,2BAA4B,CAC3B,KACA,KAED,mBAAoB,CACnB,KACA,KAED,gBAAiB,CAChB,KACA,MAGF,SAASugT,EAAoB5gB,GAC5B,IAAIE,EAAoBC,EAAE9/R,EAAK2/R,GAC9B,OAAOh6Q,QAAQC,UAAUi9B,MAAK,WAC7B,IAAIt1C,EAAI,IAAIsc,MAAM,uBAAyB81Q,EAAM,KAEjD,MADApyR,EAAE0jB,KAAO,mBACH1jB,CACP,IAGD,IAAIqhE,EAAM5uE,EAAI2/R,GAAMh5R,EAAKioE,EAAI,GAC7B,OAAOjpD,QAAQ25C,IAAIsP,EAAIrwE,MAAM,GAAGyB,IAAI6/R,EAAoBtyR,IAAIs1C,MAAK,WAChE,OAAOg9O,EAAoBl5R,EAC5B,GACD,CACA45S,EAAoBzyS,KAAO,WAC1B,OAAOuB,OAAOvB,KAAK9N,EACpB,EACAugT,EAAoB55S,GAAK,IACzBo5R,EAAOC,QAAUugB,C,+BC5fjB,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,wC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,wC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,gC,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,gC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,+B,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,gC,+BCAzC,OAAe,cAA0B,+B,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,+C,+BCAzC,OAAe,cAA0B,4C,+BCAzC,OAAe,cAA0B,6C,+BCAzC,OAAe,cAA0B,0C,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,uC,+BCAzC,OAAe,cAA0B,uC,+BCAzC,OAAe,cAA0B,2C,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,6C,+BCAzC,OAAe,cAA0B,gC,+BCAzC,OAAe,cAA0B,sD,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,gC,+BCAzC,OAAe,cAA0B,4C,+BCAzC,OAAe,cAA0B,8C,+BCAzC,OAAe,cAA0B,uC,+BCAzC,OAAe,cAA0B,gD,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,+B,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,2C,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,gC,+BCAzC,OAAe,cAA0B,gC,+BCAzC,OAAe,cAA0B,yC,+BCAzC,OAAe,cAA0B,iD,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,0C,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,uC,+BCAzC,OAAe,cAA0B,wC,+BCAzC,OAAe,cAA0B,8C,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,6C,+BCAzC,OAAe,cAA0B,2C,+BCAzC,OAAe,cAA0B,uC,+BCAzC,OAAe,cAA0B,wC,gGCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,o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,+BCAzC,OAAe,cAA0B,4C,+BCAzC,OAAe,cAA0B,yC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,2C,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,wC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,yC,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,yC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,iD,+BCAzC,OAAe,cAA0B,2C,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,wC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,gC,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,yC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,+B,+BCAzC,OAAe,cAA0B,wC,+BCAzC,OAAe,cAA0B,4C,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,uC,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,iC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,4C,+BCAzC,OAAe,cAA0B,kC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,yC,+BCAzC,OAAe,cAA0B,wC,+BCAzC,OAAe,cAA0B,mC,qGCAzC,OAAe,cAA0B,oC,+BCAzC,OAAe,cAA0B,qC,+BCAzC,OAAe,cAA0B,sC,+BCAzC,OAAe,cAA0B,mC,+BCAzC,OAAe,cAA0B,uC,iDCAzC,OAAe,8mR,+BCAf,OAAe,k4G,+BCAf,OAAe,8tI,+BCAf,OAAe,81R,+BCAf,OAAe,8+Q,+BCAf,OAAe,8hH,+BCAf,OAAe,k7W,+BCAf,OAAe,cAA0B,8C,+BCAzC,OAAe,s9S,+BCAf,OAAe,kuI,+BCAf,OAAe,koN,+BCAf,OAAe,ssK,+BCAf,OAAe,kxQ,+BCAf,OAAe,8hI,+BCAf,OAAe,sgK,+BCAf,OAAe,s0N,+BCAf,OAAe,s6K,+BCAf,OAAe,kkK,+BCAf,OAAe,kkI,+BCAf,OAAe,8kJ,+BCAf,OAAe,8zJ,+BCAf,OAAe,0nH,+BCAf,OAAe,8iI,+BCAf,OAAe,k/D,+BCAf,OAAe,k5G","file":"static/js/main.0f5eef2f.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/no-assessments.57ad6185.svg\";","/* eslint-disable no-extend-native */\r\n\r\nimport { t } from \"i18next\";\r\nimport { toast } from \"react-toastify\";\r\nimport { EMPTY_GUID, decode, hasAttribute, widthValidation } from \"./helpers\";\r\nimport { StateTypeOption, StatusCode } from \"./optionsSets/OptionSets\";\r\n\r\nString.prototype.truncate =\r\n\tString.prototype.truncate ||\r\n\tfunction (n, showToast = false) {\r\n\t\tif (this.length > n && showToast) {\r\n\t\t\ttoast.info(t(\"EXCEEDED_MAX_SIZE_INPUT\"));\r\n\t\t}\r\n\t\treturn this?.slice(0, n);\r\n\t};\r\nArray.prototype.sortAsc =\r\n\tString.prototype.sortAsc ||\r\n\tfunction (attribute) {\r\n\t\treturn this.sort((a, b) => (a[attribute]?.toLowerCase() > b[attribute]?.toLowerCase() ? 1 : -1));\r\n\t};\r\nArray.prototype.sortDesc = function (attribute) {\r\n\treturn this.sort((a, b) => (a[attribute]?.toLowerCase() < b[attribute]?.toLowerCase() ? 1 : -1));\r\n};\r\nString.prototype.isInMap =\r\n\tString.prototype.isInMap ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst onMap = query.get(\"isinmap\") || \"0\";\r\n\t\tconst isInMap = onMap === \"1\";\r\n\t\treturn isInMap;\r\n\t};\r\nString.prototype.getUrl =\r\n\tString.prototype.isInMap ||\r\n\tfunction () {\r\n\t\treturn new URLSearchParams(this.toLowerCase());\r\n\t};\r\nString.prototype.hideForPdf =\r\n\tString.prototype.hideForPdf ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst isPrint = query.get(\"isprint\") || \"0\";\r\n\t\tconst hideForPdf = isPrint === \"1\";\r\n\t\treturn hideForPdf;\r\n\t};\r\nString.prototype.toPrint =\r\n\tString.prototype.toPrint ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst isPrint = query.get(\"toprint\") || \"0\";\r\n\t\tconst toPrint = isPrint === \"1\";\r\n\t\treturn toPrint;\r\n\t};\r\nString.prototype.getPersonaId =\r\n\tString.prototype.getPersonaId ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst personaId = query.get(\"personaid\") || query.get(\"personaidstr\");\r\n\t\treturn personaId;\r\n\t};\r\nString.prototype.getCjmId =\r\n\tString.prototype.getCjmId ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst cjmIdStr = query.get(\"cjmid\");\r\n\t\treturn cjmIdStr;\r\n\t};\r\nString.prototype.getStrategyId =\r\n\tString.prototype.getStrategyId ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst strategyId = query.get(\"strategyid\") || query.get(\"strategyidstr\");\r\n\t\treturn strategyId;\r\n\t};\r\nArray.prototype.getSection =\r\n\tArray.prototype.getSection ||\r\n\tfunction (sectionId) {\r\n\t\treturn this?.map((group) => group?.filter((attribute) => attribute.sectionId === sectionId)).flat()[0] || {};\r\n\t};\r\nString.prototype.isReadOnly =\r\n\tString.prototype.isReadOnly ||\r\n\tfunction () {\r\n\t\tconst readOnlyCode = \"100000003\";\r\n\t\treturn this === readOnlyCode;\r\n\t};\r\nString.prototype.getChartSelection =\r\n\tString.prototype.getChartSelection ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst chartselection = query.get(\"chartselection\")?.split(\"|\") || \"null\";\r\n\t\treturn chartselection;\r\n\t};\r\n//personaschartselection\r\nString.prototype.getPersonaChartSelection =\r\n\tString.prototype.getPersonaChartSelection ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst personaschartselection = query.get(\"personaschartselection\")?.split(\"|\") || \"null\";\r\n\t\treturn personaschartselection;\r\n\t};\r\nString.prototype.isPrint =\r\n\tString.prototype.isPrint ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst isPrint = query.get(\"isprint\") || \"0\";\r\n\t\treturn isPrint;\r\n\t};\r\nString.prototype.isInactive =\r\n\tString.prototype.isInactive ||\r\n\tfunction () {\r\n\t\tconst isInactiveFromTrash = this === \"/trash\" || this === \"/archive\";\r\n\r\n\t\treturn isInactiveFromTrash;\r\n\t};\r\n\r\nString.prototype.getInitials =\r\n\tString.prototype.getInitials ||\r\n\tfunction () {\r\n\t\tconst firstName = this?.split(\" \")[0];\r\n\t\tconst lastName = this?.split(\" \")[1];\r\n\t\tconst firstInitial = firstName?.[0];\r\n\t\tconst lastInitial = lastName?.[0];\r\n\t\tconst initials = (firstInitial ?? \"\") + (lastInitial ?? \"\");\r\n\t\treturn initials;\r\n\t};\r\n\r\nBoolean.prototype.getEntityCurrentState = function () {\r\n\treturn this === true ? StateTypeOption.FutureState : StateTypeOption.CurrentState;\r\n};\r\nNumber.prototype.setEntityCurrentState = function () {\r\n\treturn this === StateTypeOption.FutureState ? true : false;\r\n};\r\nArray.prototype.Order =\r\n\tArray.prototype.Order ||\r\n\tfunction () {\r\n\t\tconst ordered = this?.sort((a, b) => a?.order - b?.order);\r\n\t\treturn ordered;\r\n\t};\r\n\r\nString.prototype.isPreview =\r\n\tString.prototype.isPreview ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst ispreview = query.get(\"ispreview\") === \"true\";\r\n\t\treturn ispreview;\r\n\t};\r\nString.prototype.getAllowedPath =\r\n\tString.prototype.getAllowedPath ||\r\n\tfunction (authorized) {\r\n\t\treturn authorized.includes(this);\r\n\t};\r\nString.prototype.getAuthenticationProperties =\r\n\tString.prototype.getAuthenticationProperties ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst userEmail = query.get(\"useremail\");\r\n\t\tconst userEmail2 = query.get(\"useremail2\");\r\n\t\tconst lcid = query.get(\"lcid\");\r\n\t\tconst envName = window.location.pathname.split(\"/\")[1];\r\n\r\n\t\tconst body = {\r\n\t\t\tuserName: query.get(\"username\"),\r\n\t\t\torgName: query.get(\"orgname\"),\r\n\t\t\tsecret: query.get(\"secret\"),\r\n\t\t\tenvName: envName,\r\n\t\t};\r\n\t\tif (lcid) body.lcid = lcid;\r\n\t\tif (userEmail) body.userEmail = userEmail;\r\n\t\tif (userEmail2) body.userEmail2 = userEmail2;\r\n\r\n\t\treturn body;\r\n\t};\r\nString.prototype.getTargetUrl =\r\n\tString.prototype.getTargetUrl ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this);\r\n\t\tconst targetUrl = query.get(\"tgtUrl\") || \"\";\r\n\t\tconst decodedUrl = decode(targetUrl);\r\n\t\treturn decodedUrl !== \"\" ? decodedUrl : null;\r\n\t};\r\nString.prototype.getCxProgramID =\r\n\tString.prototype.getCxProgramID ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst id = query.get(\"programid\") || query.get(\"programidstr\") || query.get(\"cxprogramid\") || \"\";\r\n\t\treturn id;\r\n\t};\r\nString.prototype.formatColor =\r\n\tString.prototype.formatColor ||\r\n\tfunction () {\r\n\t\treturn this.split(\";\")[0]?.split(\":\")[1]?.trim();\r\n\t};\r\nString.prototype.getId =\r\n\tString.prototype.getId ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst id = query.get(\"id\");\r\n\t\treturn id;\r\n\t};\r\nString.prototype.getQuery =\r\n\tString.prototype.getQuery ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst queryStr = query.get(\"query\");\r\n\t\treturn queryStr;\r\n\t};\r\nString.prototype.getCxActionsProps =\r\n\tString.prototype.getCxActionsProps ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst selectedItemId = query.get(\"id\");\r\n\t\tconst stageId = query.get(\"stageid\");\r\n\t\tconst cjmId = query.get(\"cjmid\");\r\n\t\tconst inMap = query.get(\"inmap\");\r\n\r\n\t\treturn { selectedItemId, stageId, cjmId, inMap };\r\n\t};\r\nString.prototype.getOrigin =\r\n\tString.prototype.getOrigin ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this);\r\n\t\tconst origin = query.get(\"origin\");\r\n\t\tif (origin) {\r\n\t\t\tconst newOr = decode(origin) || \"\";\r\n\t\t\treturn newOr;\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\nString.prototype.getTab =\r\n\tString.prototype.getTab ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this);\r\n\t\tconst tab = query.get(\"tab\");\r\n\t\treturn tab;\r\n\t};\r\n// Array.prototype.defaultValuesLayout = String.prototype.defaultValuesLayout || function () {\r\n\r\n// this.map((item, index) => {\r\n\r\n// let w = 1, h = 60, x = 0, y = index * 60;\r\n// return { i: item, x: x, y: y, w: w, h: h }\r\n\r\n// });\r\n// }\r\nString.prototype.getTabName = function () {\r\n\tconst query = new URLSearchParams(this.toLowerCase());\r\n\tconst tab = query.get(\"tab\");\r\n\treturn { tab };\r\n};\r\nString.prototype.getMapsParams =\r\n\tString.prototype.getMapsParams ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst cjmIdStr = query.get(\"cjmidstr\") || query.get(\"cjmid\");\r\n\t\tconst personaIdStr = query.get(\"personaidstr\") || query.get(\"personaid\");\r\n\r\n\t\treturn { cjmIdStr, personaIdStr };\r\n\t};\r\nString.prototype.mapName =\r\n\tString.prototype.mapName ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this);\r\n\t\tconst mapName = query.get(\"origin\") || \"\";\r\n\t\treturn decode(mapName);\r\n\t};\r\nArray.prototype.ArrayToIdsStr =\r\n\tArray.prototype.ArrayToIdsStr ||\r\n\tfunction (dataKey = \"id\") {\r\n\t\treturn this?.map((x) => x[dataKey]).join(\"|\");\r\n\t};\r\n\r\nArray.prototype.FormatFilterArray =\r\n\tArray.prototype.FormatFilterArray ||\r\n\tfunction (attribute1, attribute2) {\r\n\t\tconst att1 = attribute1 === undefined ? \"id\" : attribute1;\r\n\t\tconst att2 = attribute2 === undefined ? \"name\" : attribute2;\r\n\t\treturn this.map((gp) => {\r\n\t\t\treturn { value: gp[att1], name: gp[att2] };\r\n\t\t});\r\n\t};\r\nArray.prototype.FormatDropDownArray =\r\n\tArray.prototype.FormatDropDownArray ||\r\n\tfunction () {\r\n\t\treturn JSON.parse(JSON.stringify(this).replaceAll('\"name\"', '\"value\"'));\r\n\t};\r\nString.prototype.getAllMapsParams =\r\n\tString.prototype.getAllMapsParams ||\r\n\tfunction () {\r\n\t\tconst query = new URLSearchParams(this.toLowerCase());\r\n\t\tconst isLoading = query.get(\"loading\") === \"true\";\r\n\t\tconst cjmIdStr = query.get(\"cjmid\");\r\n\t\tconst isExporting = query.get(\"isexporting\") === \"true\";\r\n\r\n\t\tconst personaIdStr = query.get(\"personaid\") || \"\";\r\n\t\tconst swimLaneIds = query.get(\"swimlaneids\")?.split(\"|\") || \"\";\r\n\t\tconst isPrint = query.get(\"isprint\") || \"0\";\r\n\t\tconst hideForPdf = isPrint === \"1\";\r\n\t\tconst isPreview = query.get(\"ispreview\") === \"true\";\r\n\t\tconst origin = query.get(\"origin\");\r\n\r\n\t\treturn { cjmIdStr, personaIdStr, swimLaneIds, isLoading, hideForPdf, isPreview, isExporting, origin };\r\n\t};\r\nString.prototype.getBackQuery = function () {\r\n\tconst queryOriginal = new URLSearchParams(this);\r\n\tconst queryNb = queryOriginal.get(\"b\");\r\n\treturn queryNb;\r\n};\r\nString.prototype.isEmpty = function () {\r\n\treturn this.length === 0 || !this.trim();\r\n};\r\n\r\nArray.prototype.cumulateWidth =\r\n\tString.prototype.cumulateWidth ||\r\n\tfunction () {\r\n\t\treturn this.reduce((acc, obj) => acc + widthValidation(obj.width), 0) + (this?.length - 1) * 8;\r\n\t};\r\nString.prototype.isEmptyGuid =\r\n\tString.prototype.isEmptyGuid ||\r\n\tfunction () {\r\n\t\treturn this === EMPTY_GUID;\r\n\t};\r\nString.prototype.isEmptyString = function (also) {\r\n\tif (also) return this.trim().length === 0 || this.trim() === also;\r\n\treturn this.trim().length === 0;\r\n};\r\nString.prototype.guidValidation = function () {\r\n\treturn this.trim() === \"\" ? EMPTY_GUID : this;\r\n};\r\nString.prototype.getCxProps = function (localQuery) {\r\n\tconst queryOriginal = new URLSearchParams(this);\r\n\tconst query = new URLSearchParams(this.toLowerCase());\r\n\tconst cxProgramId = query.get(\"programid\") || query.get(\"programidstr\") || query.get(\"cxprogramid\") || \"\";\r\n\tlet cjmId = query.get(\"cjmid\");\r\n\tlet personaId = query.get(\"personaid\");\r\n\tconst selectedItemId = query.get(\"id\") || localQuery?.id;\r\n\tconst originEncoded = queryOriginal.get(\"origin\");\r\n\r\n\tconst displayList = queryOriginal.get(\"displayList\") === \"true\" || (localQuery?.id && \"true\");\r\n\tconst queryNb = queryOriginal.get(\"q\") || localQuery?.q;\r\n\tlet origin = null;\r\n\r\n\tif (originEncoded) {\r\n\t\tconst decodedParams = decode(originEncoded)?.split(\"|\");\r\n\t\torigin = decodedParams[0] || \"\";\r\n\t\tcjmId = decodedParams?.[1];\r\n\t\tpersonaId = decodedParams?.[2];\r\n\t}\r\n\treturn { selectedItemId, cxProgramId, origin, queryNb, displayList, cjmId, personaId };\r\n};\r\nString.prototype.formatDate =\r\n\tString.prototype.formatDate ||\r\n\tfunction () {\r\n\t\treturn this?.split(\"T\")[0] || new Date().toISOString().split(\"T\")[0];\r\n\t};\r\nArray.prototype.extractKey = function () {\r\n\treturn this.map((swimlane) => swimlane.key);\r\n};\r\n\r\nString.prototype.defaultPlaceholder = function (label) {\r\n\tif (this === null || this === undefined) return t(label);\r\n\treturn this?.isEmptyString() ? t(label) : this;\r\n};\r\nString.prototype.extractIdsChart = function () {\r\n\tconst query = new URLSearchParams(this.toLowerCase());\r\n\tconst hideForPdf = this.hideForPdf();\r\n\tconst mapIdsPrint = query.get(\"mapids\") || \"\";\r\n\tconst statusIdsPrint = query.get(\"statusids\") || \"\";\r\n\tconst groupIdsPrint = query.get(\"groupids\") || \"\";\r\n\treturn {\r\n\t\tstatusIds: hideForPdf && statusIdsPrint !== \"\" ? [...statusIdsPrint?.split(\"|\")] : [],\r\n\t\tmapIds: hideForPdf && mapIdsPrint !== \"\" ? [...mapIdsPrint?.split(\"|\")] : [],\r\n\t\tgroupIds: hideForPdf && groupIdsPrint !== \"\" ? [...groupIdsPrint?.split(\"|\")] : [],\r\n\t\thideForPdf,\r\n\t};\r\n};\r\nString.prototype.getFolderId = function () {\r\n\tconst query = new URLSearchParams(this.toLowerCase());\r\n\tconst folderId = query.get(\"folderid\") || undefined;\r\n\r\n\treturn folderId;\r\n};\r\nArray.prototype.getActiveRecords = function (checkSample = true, checkTemplate = true, disabledFilter) {\r\n\tif (disabledFilter) return this;\r\n\tconst hasStatusCode = hasAttribute(this?.[0], \"statusCode\");\r\n\tconst hasSample = checkSample && hasAttribute(this?.[0], \"isSample\");\r\n\tconst hasTemplate = checkTemplate && hasAttribute(this?.[0], \"isTemplate\");\r\n\tif (hasStatusCode) return this.filter((record) => record.statusCode === StatusCode.Active && (hasSample ? record.isSample === false : true) && (hasTemplate ? record.isTemplate === false : true));\r\n\r\n\treturn [];\r\n\t// this.filter((record) => {\r\n\t// \tif (hasSample && checkSample) return record.isSample === false && record.isInactive === false && record.isArchived === false && (hasTemplate ? record.isTemplate === false : true);\r\n\t// \treturn record.isInactive === false && record.isArchived === false && (hasTemplate ? record.isTemplate === false : true);\r\n\t// });\r\n};\r\nArray.prototype.getMainFolders = function () {\r\n\treturn this.filter((folder) => folder.parentId === EMPTY_GUID);\r\n};\r\nString.prototype.StringToArray = function () {\r\n\treturn this.split(\"|\")?.filter((element) => element !== \"\");\r\n};\r\nArray.prototype.searchFilter = function (searchValue, attribute1, attribute2) {\r\n\tconst defaultAttribute = hasAttribute(this?.[0], \"name\") ? \"name\" : \"subject\";\r\n\r\n\treturn this.filter((element) => {\r\n\t\t// If both attributes are provided, search in both\r\n\t\tif (attribute1 && attribute2) {\r\n\t\t\treturn element?.[attribute1]?.toLowerCase().includes(searchValue?.toLowerCase()) || element?.[attribute2]?.toLowerCase().includes(searchValue?.toLowerCase());\r\n\t\t}\r\n\t\t// If only attribute1 is provided, search in attribute1\r\n\t\telse if (attribute1) {\r\n\t\t\treturn element?.[attribute1]?.toLowerCase().includes(searchValue?.toLowerCase());\r\n\t\t}\r\n\t\t// If only attribute2 is provided, search in attribute2\r\n\t\telse if (attribute2) {\r\n\t\t\treturn element?.[attribute2]?.toLowerCase().includes(searchValue?.toLowerCase());\r\n\t\t}\r\n\t\t// If no attributes are provided, search in the default attribute\r\n\t\telse {\r\n\t\t\treturn element?.[defaultAttribute]?.toLowerCase()?.includes(searchValue?.toLowerCase());\r\n\t\t}\r\n\t});\r\n};\r\nArray.prototype.getById = function (userId, attribute = \"id\") {\r\n\treturn this.find((element) => element?.[attribute] === userId);\r\n};\r\nString.prototype.IsViewer = function () {\r\n\treturn this?.toLowerCase() === \"viewer\";\r\n};\r\nString.prototype.IsContributor = function () {\r\n\treturn this?.toLowerCase() === \"contributor\";\r\n};\r\nArray.prototype.remove = function (filterItem, attribute = \"id\") {\r\n\t// 1- if filter item is a array, no need to pass attribute\r\n\tif (typeof filterItem === \"object\") return this.filter((element) => !filterItem.includes(element));\r\n\t// 2 - Classic filter\r\n\treturn this.filter((element) => element?.[attribute] !== filterItem);\r\n};\r\n\r\nArray.prototype.add = function (value) {\r\n\tif (!this) return [value];\r\n\treturn [...this, value];\r\n};\r\nString.prototype.getLoading = function () {\r\n\tconst query = new URLSearchParams(this.toLowerCase());\r\n\tconst isLoading = query.get(\"loading\") === \"true\";\r\n\treturn isLoading;\r\n};\r\nString.prototype.getIntegrationProps = function (localQuery) {\r\n\tconst query = new URLSearchParams(this.toLowerCase());\r\n\tconst source = query.get(\"source\");\r\n\tconst id = query.get(\"id\") || localQuery?.id;\r\n\treturn { source, id };\r\n};\r\nString.prototype.getWorkspaceProps = function (localQuery) {\r\n\tconst query = new URLSearchParams(this.toLowerCase());\r\n\tconst mode = query.get(\"mode\");\r\n\tconst selectedItemId = query.get(\"id\") || localQuery?.id;\r\n\treturn { mode, selectedItemId };\r\n};\r\n\r\n\r\nString.prototype.getInvalidWorkspaceProps = function () {\r\n\tconst query = new URLSearchParams(this.toLowerCase());\r\n\tconst statusCode = query.get(\"statuscode\");\r\n\r\n\treturn { statusCode };\r\n};\r\n\r\nString.prototype.getFiltersId = function () {\r\n\tconst query = new URLSearchParams(this.toLowerCase());\r\n\tconst id = query.get(\"filtersid\") || undefined;\r\n\r\n\treturn id;\r\n};\r\n\r\nString.prototype.getErrorMessages = function () {\r\n\r\n\tconst query = new URLSearchParams(this);\r\n\tconst messageEncoded = query.get(\"type\")\r\n\tif (messageEncoded === null ||messageEncoded == \"\" ) return;\r\n\tconst message = decode(messageEncoded);\r\n\treturn message;\r\n};\r\n\r\nString.prototype.isSubscriptionAllowed = function (subscriptionList) {\r\n\treturn subscriptionList?.includes(this?.toLowerCase());\r\n};\r\n","/* eslint-disable no-undef */\r\n/* eslint-disable no-extend-native */\r\nimport assessments from \"@Assets/images/EmptyListImages/no-assessments.svg\";\r\nimport i18n from \"@utils/i18n\";\r\nimport { BenefitCard } from \"features/solutions/solutionsComponents/BenefitCard.js\";\r\nimport { t } from \"i18next\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport $ from \"jquery\";\r\nimport { toast } from \"react-toastify\";\r\nimport Xarrow from \"react-xarrows\";\r\nimport { CustomizationColors, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport AllIcons from \"../Assets/images/IconsEmotionDictionaryKey.json\";\r\nimport { ConnectorSource, CxGoalDirection, EntityList, InformationType, MapMode, SolutionType, StateTypeOption, StatusCode, UserType, urlOriginStatus } from \"./optionsSets/OptionSets\";\r\nimport \"./prototypes.js\";\r\nimport \"./utils.scss\";\r\n\r\nconst grid = 8;\r\n\r\nexport const EMPTY_GUID = \"00000000-0000-0000-0000-000000000000\";\r\nexport const MAX_SIZE_INPUT = 90;\r\nexport const MAX_SIZE_TEXT_BOX = 19999;\r\n\r\nexport const IconValidationEmotionLevel = (sentimentLevel) => {\r\n\tconst roundedEmotion = Math.round(sentimentLevel);\r\n\tlet type = \"NOSENTIMENT\";\r\n\tswitch (roundedEmotion) {\r\n\t\tcase 1:\r\n\t\t\ttype = \"TERRIBLE\";\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\ttype = \"POOR\";\r\n\t\t\tbreak;\r\n\t\tcase 3:\r\n\t\t\ttype = \"GENERIC\";\r\n\t\t\tbreak;\r\n\t\tcase 4:\r\n\t\t\ttype = \"GOOD\";\r\n\t\t\tbreak;\r\n\t\tcase 5:\r\n\t\t\ttype = \"EXCELLENT\";\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\ttype = \"NOSENTIMENT\";\r\n\t\t\tbreak;\r\n\t}\r\n\treturn type;\r\n};\r\nexport const getItemStyle = (isDragging, draggableStyle) => ({\r\n\tuserSelect: \"none\",\r\n\tmargin: \"0 0 8px 0\",\r\n\r\n\t...draggableStyle,\r\n});\r\n\r\nexport const getItemStyleSwimlanes = (isDragging, draggableStyle, inMap) => ({\r\n\tuserSelect: \"none\",\r\n\t// margin: \"0 0px 4px 0\",\r\n\tposition: \"relative\",\r\n\tbackground: isDragging ? \"white !important\" : \"transparent\",\r\n\t...draggableStyle,\r\n});\r\nexport const getListStyle = (isDraggingOver) => ({\r\n\tbackground: isDraggingOver ? \"lightgrey\" : \"\",\r\n\tpadding: grid,\r\n\twidth: \"28%\",\r\n});\r\nexport const getListStyleStrategy = (isDraggingOver) => ({\r\n\tbackground: isDraggingOver ? \"lightgrey\" : \"\",\r\n\tpadding: \"4px\",\r\n\twidth: \"50%\",\r\n});\r\nexport const getListInteractions = (isDraggingOver, width) => ({\r\n\tbackground: isDraggingOver ? \"lightgrey\" : \"\",\r\n\t// padding: grid,\r\n\tmarginRight: \"8px\",\r\n\twidth: widthValidation(width),\r\n\t// marginRight: \"5px\",\r\n});\r\nexport const getListStyleStage = () => ({\r\n\tminHeight: \"56px\",\r\n\talignItems: \"center\",\r\n\theight: \"100%\",\r\n\tpaddingTop: \"0.5rem\",\r\n\tpaddingBottom: \"0.5rem\",\r\n});\r\nexport const getListStyleSwimLanes = () => ({\r\n\twidth: \"max-content\",\r\n\tminWidth: \"100%\",\r\n});\r\nexport const mapModeValidation = (mapMode) => {\r\n\tswitch (mapMode) {\r\n\t\tcase 100000000:\r\n\t\t\treturn \"ASPX_116\";\r\n\t\tcase 100000001:\r\n\t\t\treturn \"ASPX_117\";\r\n\t\tcase 100000002:\r\n\t\t\treturn \"ASPX_128\";\r\n\t\tcase 100000003:\r\n\t\t\treturn \"ASPX_256\";\r\n\t\tdefault:\r\n\t\t\treturn;\r\n\t}\r\n};\r\nexport const StatusActionValidation = (status, color) => {\r\n\tswitch (status) {\r\n\t\tcase 100000000:\r\n\t\t\treturn color ? \"background-color:#F5F5F5; color:#92919D;\" : \"NEW_ACTION_STATUS\";\r\n\t\tcase 100000001:\r\n\t\t\treturn color ? \"background-color:#FFF8B9;border:1px solid #FBF5BD; color:#B4A200;\" : \"IN_PROGRESS\";\r\n\t\tcase 100000002:\r\n\t\t\treturn color ? \"background-color:#FD7171; color:#C20202;\" : \"STUCK\";\r\n\t\tcase 100000003:\r\n\t\t\treturn color ? \"background-color:#92919D; color:#333333;\" : \"DEFERRED\";\r\n\t\tcase 100000004:\r\n\t\t\treturn color ? \"background-color:#57FFD6; color:#028969;\" : \"DONE\";\r\n\t\tdefault:\r\n\t\t\treturn color ? \"background-color:#57FFD6; color:#028969;\" : \"DONE\";\r\n\t}\r\n};\r\nexport const PriorityValidation = (priority, color) => {\r\n\tswitch (priority) {\r\n\t\tcase 0:\r\n\t\t\treturn color ? \"background-color:#CFFF47; border:1px solid #E6E6E6;\" : \"LOW\";\r\n\t\tcase 1:\r\n\t\t\treturn color ? \"background-color:#FCFF5C; border:1px solid #E6E6E6;\" : \"NORMAL\";\r\n\t\tcase 2:\r\n\t\t\treturn color ? \"background-color:#FF71E0; border:1px solid #E6E6E6;\" : \"HIGH\";\r\n\t\tdefault:\r\n\t\t\treturn color ? \"background-color:#CFFF47; border:1px solid #E6E6E6;\" : \"LOW\";\r\n\t}\r\n};\r\nexport const isFutureValidation = (isFuture) => {\r\n\tif (isFuture) return \"FUTURE\";\r\n\treturn \"CURRENT\";\r\n};\r\nexport const isPrivateValidation = (isPrivate) => {\r\n\tif (isPrivate) return \"Private\";\r\n\treturn \"Public\";\r\n};\r\nexport const resort = (list, type, value) => {\r\n\tconst result = Array.from(list);\r\n\tif (type === \"mapMode\") {\r\n\t\tvalue === \"up\"\r\n\t\t\t? result.sort((a, b) => {\r\n\t\t\t\tif (t(mapModeValidation(a[type])) < t(mapModeValidation(b[type]))) return -1;\r\n\t\t\t\tif (t(mapModeValidation(a[type])) > t(mapModeValidation(b[type]))) return 1;\r\n\t\t\t\treturn 0;\r\n\t\t\t})\r\n\t\t\t: result.sort((a, b) => {\r\n\t\t\t\tif (t(mapModeValidation(a[type])) > t(mapModeValidation(b[type]))) return -1;\r\n\t\t\t\tif (t(mapModeValidation(a[type])) < t(mapModeValidation(b[type]))) return 1;\r\n\t\t\t\treturn 0;\r\n\t\t\t});\r\n\t} else if (type === \"isFuture\") {\r\n\t\tvalue === \"up\"\r\n\t\t\t? result.sort((a, b) => {\r\n\t\t\t\tif (t(isFutureValidation(a[type])) < t(isFutureValidation(b[type]))) return -1;\r\n\t\t\t\tif (t(isFutureValidation(a[type])) > t(isFutureValidation(b[type]))) return 1;\r\n\t\t\t\treturn 0;\r\n\t\t\t})\r\n\t\t\t: result.sort((a, b) => {\r\n\t\t\t\tif (t(isFutureValidation(a[type])) > t(isFutureValidation(b[type]))) return -1;\r\n\t\t\t\tif (t(isFutureValidation(a[type])) < t(isFutureValidation(b[type]))) return 1;\r\n\t\t\t\treturn 0;\r\n\t\t\t});\r\n\t}\r\n\tswitch (result?.length && typeof result[0][type]) {\r\n\t\tcase \"string\":\r\n\t\t\tvalue === \"up\"\r\n\t\t\t\t? result?.sort((a, b) => {\r\n\t\t\t\t\tif (a[type]?.toLowerCase() < b[type]?.toLowerCase()) return -1;\r\n\t\t\t\t\tif (a[type]?.toLowerCase() > b[type]?.toLowerCase()) return 1;\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t})\r\n\t\t\t\t: result?.sort((a, b) => {\r\n\t\t\t\t\tif (a[type]?.toLowerCase() > b[type]?.toLowerCase()) return -1;\r\n\t\t\t\t\tif (a[type]?.toLowerCase() < b[type]?.toLowerCase()) return 1;\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t});\r\n\t\t\tbreak;\r\n\t\tcase \"number\":\r\n\t\t\tvalue === \"up\"\r\n\t\t\t\t? result?.sort((a, b) => {\r\n\t\t\t\t\treturn a[type] - b[type];\r\n\t\t\t\t})\r\n\t\t\t\t: result?.sort((a, b) => {\r\n\t\t\t\t\treturn b[type] - a[type];\r\n\t\t\t\t});\r\n\t\t\tbreak;\r\n\t\tcase \"object\":\r\n\t\t\tvalue === \"up\"\r\n\t\t\t\t? result?.sort((a, b) => {\r\n\t\t\t\t\treturn a.linkedCjms?.length - b.linkedCjms?.length;\r\n\t\t\t\t})\r\n\t\t\t\t: result?.sort((a, b) => {\r\n\t\t\t\t\treturn b.linkedCjms?.length - a.linkedCjms?.length;\r\n\t\t\t\t});\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t}\r\n\r\n\treturn result;\r\n};\r\nexport const reorder = (list, startIndex, endIndex) => {\r\n\tconst result = Array.from(list);\r\n\tconst [removed] = result.splice(startIndex, 1);\r\n\tresult.splice(endIndex, 0, removed);\r\n\r\n\treturn result;\r\n};\r\nexport const move = (source, destination, droppableSource, droppableDestination) => {\r\n\tconst sourceClone = Array.from(source);\r\n\tconst destClone = Array.from(destination);\r\n\tconst [removed] = sourceClone.splice(droppableSource.index, 1);\r\n\r\n\tdestClone.splice(droppableDestination.index, 0, removed);\r\n\r\n\tconst result = {};\r\n\tresult[droppableSource.droppableId] = sourceClone;\r\n\tresult[droppableDestination.droppableId] = destClone;\r\n\r\n\treturn result;\r\n};\r\nexport const isToday = (someDate) => {\r\n\tconst today = new Date();\r\n\treturn someDate?.split(\"T\")[0] === today.toISOString().split(\"T\")[0];\r\n};\r\nexport const encode = (str) => {\r\n\ttry {\r\n\t\treturn str && window.btoa(unescape(encodeURIComponent(str)));\r\n\t} catch (e) {\r\n\t\treturn str;\r\n\t}\r\n};\r\nexport const decode = (str) => {\r\n\ttry {\r\n\t\treturn str && decodeURIComponent(escape(window.atob(str)));\r\n\t} catch (e) {\r\n\t\treturn str;\r\n\t}\r\n};\r\nexport const widthValidation = (width) => {\r\n\tif (width <= 0) return 272;\r\n\treturn width;\r\n};\r\n\r\nexport function importAll(r) {\r\n\tlet images = {};\r\n\tr.keys().forEach((item, index) => {\r\n\t\timages[item.replace(\"./\", \"\")] = r(item);\r\n\t});\r\n\treturn images;\r\n}\r\nexport const IconValidation = (sentimentLevel) => {\r\n\tconst roundedEmotion = Math.round(sentimentLevel);\r\n\tswitch (roundedEmotion) {\r\n\t\tcase 1:\r\n\t\t\treturn \"icon-face-terrible\";\r\n\t\tcase 2:\r\n\t\t\treturn \"icon-face-poor\";\r\n\t\tcase 3:\r\n\t\t\treturn \"icon-face-generic\";\r\n\t\tcase 4:\r\n\t\t\treturn \"icon-face-good\";\r\n\t\tcase 5:\r\n\t\t\treturn \"icon-face-excellent\";\r\n\t\tdefault:\r\n\t\t\treturn \"icon-face-noSentiment\";\r\n\t}\r\n};\r\nexport const firstLetterUppercase = (str) => {\r\n\tif (!str) return \"\";\r\n\treturn str?.charAt(0)?.toUpperCase() + str?.slice(1);\r\n};\r\n\r\nexport const GetChannelPredefinedImage = (channelName) => {\r\n\tvar imageName = \"\";\r\n\tswitch (channelName) {\r\n\t\tcase \"Store\":\r\n\t\tcase \"Point of sale\":\r\n\t\t\timageName += \"point-of-sale\";\r\n\t\t\tbreak;\r\n\t\tcase \"Phone\":\r\n\t\t\timageName += \"phone\";\r\n\t\t\tbreak;\r\n\t\tcase \"Email\":\r\n\t\t\timageName += \"email\";\r\n\t\t\tbreak;\r\n\t\tcase \"Twitter\":\r\n\t\t\timageName += \"twitter\";\r\n\t\t\tbreak;\r\n\t\tcase \"Web\":\r\n\t\tcase \"Website\":\r\n\t\t\timageName += \"website\";\r\n\t\t\tbreak;\r\n\t\tcase \"Friends\":\r\n\t\tcase \"Word of mouth\":\r\n\t\t\timageName += \"word-of-mouth\";\r\n\t\t\tbreak;\r\n\t\tcase \"Mobile\":\r\n\t\tcase \"Mobile device\":\r\n\t\t\timageName += \"mobile-device\";\r\n\t\t\tbreak;\r\n\t\tcase \"Chat\":\r\n\t\t\timageName += \"chat\";\r\n\t\t\tbreak;\r\n\t\tcase \"Direct Mail\":\r\n\t\tcase \"Letter\":\r\n\t\t\timageName += \"letter\";\r\n\t\t\tbreak;\r\n\t\tcase \"Broadcast\":\r\n\t\tcase \"Broadcast media\":\r\n\t\t\timageName += \"broadcast-media\";\r\n\t\t\tbreak;\r\n\t\tcase \"Fax\":\r\n\t\t\timageName += \"fax\";\r\n\t\t\tbreak;\r\n\t\tcase \"WhatsApp\":\r\n\t\t\timageName += \"whatsapp\";\r\n\t\t\tbreak;\r\n\t\tcase \"Self Service\":\r\n\t\tcase \"Kiosk (self-service)\":\r\n\t\t\timageName += \"self-service\";\r\n\t\t\tbreak;\r\n\t\tcase \"Print\":\r\n\t\t\timageName += \"print\";\r\n\t\t\tbreak;\r\n\t\tcase \"SMS\":\r\n\t\t\timageName += \"sms\";\r\n\t\t\tbreak;\r\n\t\tcase \"Share\":\r\n\t\t\timageName += \"social-media\";\r\n\t\t\tbreak;\r\n\t\tcase \"Facebook\":\r\n\t\t\timageName += \"facebook\";\r\n\t\t\tbreak;\r\n\t\tcase \"LinkedIn\":\r\n\t\t\timageName += \"linkedin\";\r\n\t\t\tbreak;\r\n\t\tcase \"Portal\":\r\n\t\tcase \"Customer portal\":\r\n\t\t\timageName += \"portal\";\r\n\t\t\tbreak;\r\n\t\tcase \"Ads\":\r\n\t\tcase \"Web ads\":\r\n\t\t\timageName += \"web-ads\";\r\n\t\t\tbreak;\r\n\t\tcase \"Advertisement\":\r\n\t\t\timageName += \"advertisement\";\r\n\t\t\tbreak;\r\n\t\tcase \"Instagram\":\r\n\t\t\timageName += \"instagram\";\r\n\t\t\tbreak;\r\n\t\tcase \"Video\":\r\n\t\tcase \"Video conference\":\r\n\t\t\timageName += \"video-conference\";\r\n\t\t\tbreak;\r\n\t\tcase \"Calendar\":\r\n\t\tcase \"Event\":\r\n\t\t\timageName += \"event\";\r\n\t\t\tbreak;\r\n\t\tcase \"File\":\r\n\t\t\timageName += \"file\";\r\n\t\t\tbreak;\r\n\t\tcase \"Social Media\":\r\n\t\tcase \"Social Network\":\r\n\t\t\timageName += \"social-media\";\r\n\t\t\tbreak;\r\n\t\tcase \"IVR\":\r\n\t\t\timageName += \"phone-volume\";\r\n\t\t\tbreak;\r\n\t\tcase \"Chatbot\":\r\n\t\t\timageName += \"comment-alt-dots\";\r\n\t\t\tbreak;\r\n\t\tcase \"Agent\":\r\n\t\t\timageName += \"briefcase-alt\";\r\n\t\t\tbreak;\r\n\t\tcase \"User Guide\":\r\n\t\t\timageName += \"book-open\";\r\n\t\t\tbreak;\r\n\t\tcase \"Delivery\":\r\n\t\t\timageName += \"truck\";\r\n\t\t\tbreak;\r\n\t\tcase \"Generic\":\r\n\t\t\timageName += \"circle\";\r\n\t\t\tbreak;\r\n\t\tcase \"YouTube\":\r\n\t\t\timageName += \"youtube\";\r\n\t\t\tbreak;\r\n\t\tcase \"TikTok\":\r\n\t\t\timageName += \"tiktok\";\r\n\t\t\tbreak;\r\n\t\tcase \"Tablet\":\r\n\t\t\timageName += \"tablet\";\r\n\t\t\tbreak;\r\n\t\tcase \"Search Engine\":\r\n\t\t\timageName += \"search\";\r\n\t\t\tbreak;\r\n\t\tcase \"3rd Party\":\r\n\t\tcase \"Third Party\":\r\n\t\t\timageName += \"third-party\";\r\n\t\t\tbreak;\r\n\t\tcase \"Article\":\r\n\t\t\timageName += \"article\";\r\n\t\t\tbreak;\r\n\t\tcase \"Blog\":\r\n\t\t\timageName += \"blog\";\r\n\t\t\tbreak;\r\n\t\tcase \"ATM\":\r\n\t\t\timageName += \"atm\";\r\n\t\t\tbreak;\r\n\t\tcase \"Branch\":\r\n\t\t\timageName += \"branch\";\r\n\t\t\tbreak;\r\n\t\tcase \"Call Center\":\r\n\t\t\timageName += \"call-center\";\r\n\t\t\tbreak;\r\n\t\tcase \"Wallet\":\r\n\t\t\timageName += \"wallet\";\r\n\t\t\tbreak;\r\n\t\tcase \"Doctor\":\r\n\t\t\timageName += \"doctor\";\r\n\t\t\tbreak;\r\n\t\tcase \"Nurse\":\r\n\t\t\timageName += \"nurse\";\r\n\t\t\tbreak;\r\n\t\tcase \"Medical center\":\r\n\t\t\timageName += \"medical-center\";\r\n\t\t\tbreak;\r\n\t\tcase \"Laboratory\":\r\n\t\t\timageName += \"laboratory\";\r\n\t\t\tbreak;\r\n\t\tcase \"Patient\":\r\n\t\t\timageName += \"patient\";\r\n\t\t\tbreak;\r\n\t\tcase \"Pharmacy\":\r\n\t\t\timageName += \"pharmacy\";\r\n\t\t\tbreak;\r\n\t\tcase \"Medical examination\":\r\n\t\t\timageName += \"medical-examination\";\r\n\t\t\tbreak;\r\n\t\tcase \"Shop\":\r\n\t\t\timageName += \"shop\";\r\n\t\t\tbreak;\r\n\t\tcase \"Shopkeeper\":\r\n\t\t\timageName += \"shopkeeper\";\r\n\t\t\tbreak;\r\n\t\tcase \"Cashier\":\r\n\t\t\timageName += \"cashier\";\r\n\t\t\tbreak;\r\n\t\tcase \"Brochure\":\r\n\t\t\timageName += \"brochure\";\r\n\t\t\tbreak;\r\n\t\tcase \"Teams\":\r\n\t\t\timageName += \"teams\";\r\n\t\t\tbreak;\r\n\t\tcase \"Skype\":\r\n\t\t\timageName += \"skype\";\r\n\t\t\tbreak;\r\n\t\tcase \"Messenger\":\r\n\t\t\timageName += \"facebook-messenger\";\r\n\t\t\tbreak;\r\n\t\tcase \"Cart\":\r\n\t\t\timageName += \"shopping-cart\";\r\n\t\t\tbreak;\r\n\r\n\t\tcase \"Payment Gateway\":\r\n\t\t\timageName += \"payment-gateway\";\r\n\t\t\tbreak;\r\n\t\tcase \"PayPal\":\r\n\t\t\timageName += \"paypal\";\r\n\t\t\tbreak;\r\n\t\tcase \"Application\":\r\n\t\t\timageName += \"application\";\r\n\t\t\tbreak;\r\n\t\tcase \"Face to Face\":\r\n\t\t\timageName += \"face-to-face\";\r\n\t\t\tbreak;\r\n\t\tcase \"Medical device\":\r\n\t\t\timageName += \"medical-device\";\r\n\t\t\tbreak;\r\n\t\tcase \"HR\":\r\n\t\t\timageName += \"hr\";\r\n\t\t\tbreak;\r\n\t\tcase \"IT\":\r\n\t\t\timageName += \"it\";\r\n\t\t\tbreak;\r\n\t\tcase \"Work Station\":\r\n\t\t\timageName += \"work-station\";\r\n\t\t\tbreak;\r\n\t\tcase \"Manager\":\r\n\t\t\timageName += \"manager\";\r\n\t\t\tbreak;\r\n\t\tcase \"Reception\":\r\n\t\t\timageName += \"reception\";\r\n\t\t\tbreak;\r\n\t\tcase \"Office\":\r\n\t\t\timageName += \"office\";\r\n\t\t\tbreak;\r\n\t\tcase \"Meeting Room\":\r\n\t\t\timageName += \"meeting-room\";\r\n\t\t\tbreak;\r\n\t\tcase \"Paycheck\":\r\n\t\t\timageName += \"paycheck\";\r\n\t\t\tbreak;\r\n\t\tcase \"Intranet\":\r\n\t\t\timageName += \"intranet\";\r\n\t\t\tbreak;\r\n\t\tcase \"Training\":\r\n\t\t\timageName += \"training\";\r\n\t\t\tbreak;\r\n\t\tcase \"Employee Portal\":\r\n\t\t\timageName += \"employee-portal\";\r\n\t\t\tbreak;\r\n\t\tcase \"Press Release\":\r\n\t\t\timageName += \"press-release\";\r\n\t\t\tbreak;\r\n\t\tcase \"Comparison sites\":\r\n\t\t\timageName += \"comparison-sites\";\r\n\t\t\tbreak;\r\n\t\tcase \"Reviews\":\r\n\t\t\timageName += \"star-half-stroke\";\r\n\t\t\tbreak;\r\n\t\tcase \"Forum\":\r\n\t\t\timageName += \"message-captions\";\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\tif (imageName === \"\") imageName = \"question-circle\";\r\n\r\n\treturn imageName + \".svg\";\r\n};\r\n\r\nexport const daysDifferenceCalculator = (date1, date2) => {\r\n\tconst timeDiff = date2?.getTime() - date1?.getTime();\r\n\tconst daysDiff = timeDiff / (1000 * 3600 * 24);\r\n\treturn daysDiff;\r\n};\r\n\r\nexport const InteractionArrayValidations = (stages, personaIdStr, cjmData) => {\r\n\tconst Interaction = stages?.map((stage) =>\r\n\t\tObject.entries(cjmData?.[personaIdStr]?.[stage.id] || {}).flatMap(([key, personasInteractions]) => personasInteractions?.map((int) => ({ ...int, stageId: stage.id, touchPointId: key })))\r\n\t);\r\n\r\n\tconst sortedInteraction = Interaction?.map((group) => group?.sort((a, b) => a.order - b.order));\r\n\r\n\treturn sortedInteraction || [];\r\n};\r\nexport const pictureValidationPersona = (persona, sessionId, forceRender = false) => {\r\n\tconst stdImage = persona?.standardImageNumber !== 0 && persona?.standardImageNumber !== -1 ? persona?.standardImageNumber : null;\r\n\tif (stdImage) return require(`../Assets/images/PersImg${persona?.standardImageNumber}.jpg`).default;\r\n\tif (persona?.personaId !== undefined) {\r\n\t\treturn `api/persona/getCustomImage?personaIdStr=${persona?.personaId}&sid=${sessionId}&workspaceId=${currentWorkspaceId}` + (forceRender ? `&${Math.random()}=true` : \"\");\r\n\t}\r\n\r\n\treturn require(`../Assets/images/persona-plshldr.jpg`).default;\r\n};\r\nexport const pictureValidation = (icon, sessionId) => {\r\n\tif (icon?.isCustom) return `api/touchpoint/getCustomImage?channelIdStr=${icon?.id}&sid=${sessionId}&workspaceId=${currentWorkspaceId}`;\r\n\treturn touchPointIconValidation(icon?.name);\r\n};\r\nexport const touchPointIconValidation = (name) => {\r\n\tconst touchPoint = importAll(require.context(\"@Assets/images/map-touchpoints/\", false, /\\.(png|jpe?g|svg)$/));\r\n\tconst keyIcon = GetChannelPredefinedImage(name);\r\n\tconst icon = touchPoint[keyIcon]?.default;\r\n\treturn icon;\r\n};\r\nexport const StickerIconValidation = ({ number, type }) => {\r\n\tconst emotions = importAll(require.context(\"../Assets/images/map-emotions\", false, /\\.(png|jpe?g|svg)$/));\r\n\tconst srcIcons = importAll(require.context(\"../Assets/images/map-icons\", false, /\\.(png|jpe?g|svg)$/));\r\n\r\n\tif (type === 100000001) {\r\n\t\treturn emotions[AllIcons[Number(number)]]?.default;\r\n\t}\r\n\treturn srcIcons[AllIcons[Number(number)]]?.default;\r\n};\r\n\r\nexport const isSubscriptionAllowed = (subscription, accessAuthorized) => {\r\n\tconst full = [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"];\r\n\tconst regular = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"];\r\n\tconst limited = [\"Enterprise\"];\r\n\r\n\tswitch (accessAuthorized) {\r\n\t\tcase \"full\":\r\n\t\t\treturn full.includes(subscription);\r\n\t\tcase \"regular\":\r\n\t\t\treturn regular.includes(subscription);\r\n\t\tcase \"limited\":\r\n\t\t\treturn limited.includes(subscription);\r\n\t\tdefault:\r\n\t\t\treturn true;\r\n\t}\r\n};\r\n\r\nexport const isUserAllowed = (userType, action) => {\r\n\tconst userCode = 100000000;\r\n\tconst adminCode = 100000001;\r\n\tconst companyAdminCode = 100000002;\r\n\tlet res = false;\r\n\tconst usertype = Number(userType);\r\n\r\n\tif (usertype === companyAdminCode) return true;\r\n\tswitch (action) {\r\n\t\tcase \"manage-access\":\r\n\t\t\tif (usertype === adminCode) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"template\":\r\n\t\t\tif (usertype === adminCode) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"user\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"trash\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"archive\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"settings\":\r\n\t\t\tif (usertype === adminCode) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"admin\":\r\n\t\t\tif (usertype === adminCode) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"delete-library\":\r\n\t\t\tif (usertype === adminCode) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"actions-dropdown\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"edit-persona\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"edit-folder\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"edit-cjm\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"edit-action-list\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"create-new-solution\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"edit-strategy\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"edit-program\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\t\tcase \"table\":\r\n\t\t\tif ([adminCode, userCode].includes(usertype)) res = true;\r\n\t\t\tbreak;\r\n\r\n\t\tdefault:\r\n\t\t\treturn res;\r\n\t}\r\n\r\n\treturn res;\r\n};\r\n\r\nexport const RestrictUserAccess = (role, types) => {\r\n\tlet PrivilegesAllowed = types;\r\n\tif (typeof types === \"object\") {\r\n\t\tPrivilegesAllowed = types?.map((type) => type.toLowerCase());\r\n\t}\r\n\tif (role) return PrivilegesAllowed?.includes(role?.toLowerCase());\r\n\treturn false;\r\n};\r\n\r\nexport const isReadOnly = (userType) => userType === 100000003;\r\n\r\nexport const SwimlaneTypeValidation = (type) => {\r\n\tswitch (type) {\r\n\t\tcase \"Text\":\r\n\t\t\treturn 100000000;\r\n\t\tcase \"Image\":\r\n\t\t\treturn 100000001;\r\n\t\tcase \"ListItems\":\r\n\t\t\treturn 100000002;\r\n\t\tcase \"ActionsList\":\r\n\t\t\treturn 100000003;\r\n\t\tcase \"Opportunity\":\r\n\t\t\treturn 100000004;\r\n\t\tcase \"Feelings\":\r\n\t\t\treturn 100000006;\r\n\t\tcase \"Touchpoints\":\r\n\t\t\treturn 100000008;\r\n\t\tcase \"Systems\":\r\n\t\t\treturn 100000009;\r\n\t\tcase \"Departments\":\r\n\t\t\treturn 100000010;\r\n\t\tcase \"Timing\":\r\n\t\t\treturn 100000011;\r\n\t\tdefault:\r\n\t\t\treturn 100000000;\r\n\t}\r\n};\r\n\r\nexport const emailValidation = (email) => {\r\n\tconst emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\r\n\treturn emailRegex.test(String(email).toLowerCase());\r\n};\r\n\r\nexport const toastWrapper = async (promise, action, aParams = {}) => {\r\n\tconst params = {\r\n\t\thideProgressBar: true,\r\n\t\tautoClose: 4000,\r\n\t\t...aParams,\r\n\t};\r\n\r\n\tswitch (action) {\r\n\t\tcase \"CREATE_NO_SUCCESS_TOAST\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"CREATING\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"CREATE\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"CREATING\"),\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"SUCCESS_CREATE\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"UPDATE\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"UPDATING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"RECORD_UPDATE_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"SAVE\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"SAVING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"SAVE_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"COPY\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"COPYING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"COPY_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_60\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"DELETE\":\r\n\t\t\treturn await toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"DELETING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"DELETE_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"BULK_DELETE_SUCCESS\":\r\n\t\t\treturn await toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"DELETING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"BULK_ACTIONS_DELETE_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"BULK_DELETE_PARTIAL\":\r\n\t\t\treturn await toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"DELETING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"BULK_ACTIONS_DELETE_PARTIAL\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"RESTORE\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"RESTORING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"RESTORE_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"ARCHIVE\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"ARCHIVING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"ARCHIVE_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"BULK_ARCHIVE_SUCCESS\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"ARCHIVING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"BULK_ACTIONS_ARCHIVE_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"BULK_ARCHIVE_PARTIAL\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"ARCHIVING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"BULK_ACTIONS_ARCHIVE_PARTIAL\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"LINK\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"LINKING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"LINK_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"LINK_RECORD\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"LINKING_RECORD\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"LINK_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"RELINK\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"RELINKING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"LINK_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"UNLINK\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"UNLINKING_RECORD\"),\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"UNLINK_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"EXPORT\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"JS_178\"),\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"EXPORT_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"EXPORT_START\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"JS_178\"),\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"EXPORT_PDF\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"JS_178\"),\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"EXPORT_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"REFRESH\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"REFRESHING\"),\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"DATA_REFRESH_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"SEND\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"SENDING\"),\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"MESSAGE_SENT_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"MAP_VIEWER_WARNING\":\r\n\t\t\treturn toast.info(t(\"MAP_VIEWER_WARNING\"), params);\r\n\t\tcase \"ACTION_VIEWER_WARNING\":\r\n\t\t\treturn toast.info(t(\"ACTION_VIEWER_WARNING\"), params);\r\n\t\tcase \"OPPORTUNITY_VIEWER_WARNING\":\r\n\t\t\treturn toast.info(t(\"OPPORTUNITY_VIEWER_WARNING\"), params);\r\n\t\tcase \"SOLUTION_VIEWER_WARNING\":\r\n\t\t\treturn toast.info(t(\"SOLUTION_VIEWER_WARNING\"), params);\r\n\t\tcase \"PERSONA_VIEWER_WARNING\":\r\n\t\t\treturn toast.info(t(\"PERSONA_VIEWER_WARNING\"), params);\r\n\t\tcase \"ERROR\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"CX_STRATEGY_VIEWER_WARNING\":\r\n\t\t\treturn toast.info(t(\"CX_STRATEGY_VIEWER_WARNING\"), params);\r\n\t\tcase \"SAVE_MAP_AS_TEMPLATE_SUCCESS\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"SAVING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"SAVE_MAP_AS_TEMPLATE_SUCCESS\"), // t('COPY_SUCCESS'),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_60\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"SAVE_PERSONA_AS_TEMPLATE_SUCCESS\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"SAVING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"SAVE_PERSONA_AS_TEMPLATE_SUCCESS\"), // t('COPY_SUCCESS'),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_60\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"DELETE-MANY-PERSONA\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"DELETING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"DELETE_MANY_PERSONA_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"BULK_DELETE_PERSONAS_SUCCESS\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"DELETING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"DELETE_MANY_PERSONA_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"BULK_ARCHIVE_PERSONAS_SUCCESS\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"ARCHIVING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"ARCHIVE_MANY_PERSONA_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"BULK_ARCHIVE_PERSONAS_PARTIAL\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"ARCHIVING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"BULK_ARCHIVE_PERSONAS_PARTIAL\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"BULK_DELETE_PERSONAS_PARTIAL\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"DELETING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"BULK_DELETE_PERSONAS_PARTIAL\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"DELETE-SWIMLANE\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"DELETING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"DELETE_SWIMLANE_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"ACTIVATE_USER\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"ACTIVATING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"ACTIVATE_USER_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"CX_PROGRAM_VIEWER_WARNING\":\r\n\t\t\treturn toast.info(t(\"CX_PROGRAM_VIEWER_WARNING\"), params);\r\n\t\tcase \"WARNING_SELECT_PERSONA\":\r\n\t\t\treturn toast.info(t(\"WARNING_PERSONA\"), params);\r\n\r\n\t\tcase \"DEACTIVATE_USER\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"DEACTIVATING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"DEACTIVATE_USER_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trenfer() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"RESTORE_VERSION\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"RESTORE_VERSION\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"RESTORE_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"NOTIFICATION_BY_EMAIL\":\r\n\t\t\treturn toast.success(t(\"NOTIFICATION_BY_EMAIL\"), params);\r\n\t\tcase \"PROFILE_UPDATED\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"UPDATING\") + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"PROFILE_UPDATED\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tcase \"IMPORT\":\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(\"IMPORTING\"),\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(\"IMPORT_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t\tdefault:\r\n\t\t\treturn toast.promise(\r\n\t\t\t\tpromise,\r\n\t\t\t\t{\r\n\t\t\t\t\tpending: params.pending ? params.pending + \"...\" : t(action) + \"...\",\r\n\t\t\t\t\tsuccess: params.success ? params.success : t(action + \"_SUCCESS\"),\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\trender() {\r\n\t\t\t\t\t\t\treturn t(\"JS_13\");\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tparams\r\n\t\t\t);\r\n\t}\r\n};\r\n\r\nexport const isEllipsisActiveFun = (id) => {\r\n\tconst e = $(\"#input\" + id);\r\n\treturn e[0]?.offsetWidth < e[0]?.scrollWidth;\r\n};\r\nexport const GetUserColor = (userFullName) => {\r\n\tif (userFullName === null || userFullName.length === 0) return \"rgb(255, 242, 179)\";\r\n\tvar lettersTotal = 0;\r\n\tfor (var i = 0; i < userFullName.length; i++) {\r\n\t\tlettersTotal += userFullName.charCodeAt(i);\r\n\t}\r\n\treturn \"hsl(\" + (lettersTotal % 360) + \", 100%, 85%)\";\r\n};\r\nconst palette = [\"#F96209\", \"#18AEAD\", \"#0078E7\", \"#60C1EF\", \"#FDD03E\", \"#3F3D56\", \"#465B65\"];\r\nexport const stringToColor = (str, index) => {\r\n\tif (index < palette.length) {\r\n\t\treturn palette[index];\r\n\t}\r\n\tvar lettersTotal = 0;\r\n\tfor (var i = 0; i < str.length; i++) {\r\n\t\tlettersTotal += str.charCodeAt(i);\r\n\t}\r\n\treturn \"hsl(\" + (lettersTotal % 360) + \", 80%, 40%)\";\r\n};\r\nexport const hexToHSL = (hex, saturation, lightness) => {\r\n\t// Remove the '#' if it's included\r\n\thex = hex.replace(\"#\", \"\");\r\n\r\n\t// Convert hex to RGB\r\n\tvar r = parseInt(hex.substring(0, 2), 16) / 255;\r\n\tvar g = parseInt(hex.substring(2, 4), 16) / 255;\r\n\tvar b = parseInt(hex.substring(4, 6), 16) / 255;\r\n\r\n\t// Find the minimum and maximum values of RGB\r\n\tvar max = Math.max(r, g, b);\r\n\tvar min = Math.min(r, g, b);\r\n\r\n\t// Check for grayscale\r\n\tif (max === min) {\r\n\t\treturn [0, 0, lightness];\r\n\t}\r\n\r\n\t// Calculate the hue and saturation\r\n\tvar delta = max - min;\r\n\tvar hue;\r\n\r\n\tif (max === r) {\r\n\t\thue = (g - b) / delta + (g < b ? 6 : 0);\r\n\t} else if (max === g) {\r\n\t\thue = (b - r) / delta + 2;\r\n\t} else {\r\n\t\thue = (r - g) / delta + 4;\r\n\t}\r\n\r\n\thue *= 60;\r\n\r\n\t// Ensure hue is within the range [0, 360]\r\n\tif (hue < 0) {\r\n\t\thue += 360;\r\n\t}\r\n\treturn `hsl(${Math.round(hue)}, ${saturation}%, ${lightness}%)`;\r\n};\r\n\r\nexport const defaultTypeColorValidation = (type) => {\r\n\tswitch (type) {\r\n\t\tcase \"issues\":\r\n\t\t\treturn \"#51b6ff\";\r\n\t\tcase \"kpIs\":\r\n\t\t\treturn \"#449ad9\";\r\n\t\tcase \"processes\":\r\n\t\t\treturn \"#a1d4f9\";\r\n\t\tdefault:\r\n\t}\r\n};\r\nexport const IconTypeValidation = (type) => {\r\n\tswitch (type) {\r\n\t\tcase \"issues\":\r\n\t\t\treturn 12;\r\n\t\tcase \"kpIs\":\r\n\t\t\treturn 11;\r\n\t\tcase \"processes\":\r\n\t\t\treturn 13;\r\n\t\tcase \"pros\":\r\n\t\t\treturn 4;\r\n\t\tcase \"cons\":\r\n\t\t\treturn 2;\r\n\t\tcase \"insights\":\r\n\t\t\treturn 3;\r\n\t\tcase \"actions\":\r\n\t\t\treturn 26;\r\n\t\tdefault:\r\n\t}\r\n};\r\nexport const GetActiveCJM = (cjmIds, all_maps) => {\r\n\treturn cjmIds?.filter((cjmId) => {\r\n\t\tconst relevantMap = all_maps?.find((cjm) => cjm.cjmId === cjmId);\r\n\t\treturn relevantMap?.statusCode === StatusCode.Active;\r\n\t});\r\n};\r\nexport const getActivePersona = (personas, showSampleData) => {\r\n\treturn personas.filter((persona) => {\r\n\t\tif (showSampleData) return persona.statusCode === StatusCode.Active && !persona.isTemplate;\r\n\t\treturn !persona.isSample && persona.statusCode === StatusCode.Active && !persona.isTemplate;\r\n\t});\r\n};\r\nexport const StripHtml = (html) => {\r\n\tvar tmp = document.createElement(\"DIV\");\r\n\ttmp.innerHTML = html;\r\n\r\n\tconst getTextWithSpaces = (node) => {\r\n\t\tlet text = \"\";\r\n\t\tfor (let child of node.childNodes) {\r\n\t\t\tif (child.nodeType === Node.TEXT_NODE) {\r\n\t\t\t\ttext += child.textContent;\r\n\t\t\t} else if (child.nodeType === Node.ELEMENT_NODE) {\r\n\t\t\t\tif ([\"BR\", \"P\", \"DIV\", \"LI\"].includes(child.nodeName)) {\r\n\t\t\t\t\ttext += \" \";\r\n\t\t\t\t}\r\n\t\t\t\ttext += getTextWithSpaces(child);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn text;\r\n\t};\r\n\r\n\treturn getTextWithSpaces(tmp).trim();\r\n};\r\nexport const colorCheck = (colorCode) => {\r\n\tconst customColor = colorCode?.charAt(0) === \"#\" ? colorCode : colorCode?.split(\":\")[1];\r\n\treturn customColor !== undefined ? customColor.toUpperCase().split(\";\")[0] : \"\";\r\n};\r\n\r\nexport const FilterItemsByStatus = (item, currentRoute, activeRoute, showSampleData, all_maps) => {\r\n\tconst isTrash = currentRoute === \"/trash\";\r\n\tconst isArchive = currentRoute === \"/archive\";\r\n\tconst isPage = [\"/EditCxProgram\"].includes(currentRoute);\r\n\tconst isActive = currentRoute === activeRoute;\r\n\tif (isPage) {\r\n\t\tif (showSampleData !== undefined) {\r\n\t\t\tif (showSampleData) return item?.statusCode === StatusCode.Active;\r\n\r\n\t\t\treturn item?.isSample === false && item?.statusCode === StatusCode.Active;\r\n\t\t}\r\n\t}\r\n\tif (isActive) {\r\n\t\tif (showSampleData) return item?.statusCode === StatusCode.Active;\r\n\t\tif ([\"/opportunity\", \"/cx-actions\", \"/solutions\"].includes(currentRoute) && all_maps)\r\n\t\t\treturn item?.statusCode === StatusCode.Active && !item?.isSample && attachedToSampleCheck(item, showSampleData, all_maps);\r\n\r\n\t\treturn item?.statusCode === StatusCode.Active && !item?.isSample;\r\n\t}\r\n\tif (isTrash) return item?.statusCode === StatusCode.Trashed;\r\n\tif (isArchive) return item?.statusCode === StatusCode.Archived;\r\n\treturn item;\r\n};\r\nconst attachedToSampleCheck = (opp, showSampleData, all_maps) => {\r\n\tif (showSampleData) return true;\r\n\tconst map = all_maps?.find((m) => m.cjmId === opp.mapId);\r\n\tif (map && !showSampleData) {\r\n\t\treturn !map.isSample;\r\n\t}\r\n\treturn true;\r\n};\r\n\r\nexport const calculateYScore = (solution) => {\r\n\tif (solution?.ratings)\r\n\t\treturn solution.ratings[\"impactCustomer\"]?.rating + solution.ratings[\"customerBenefit\"]?.rating + solution.ratings[\"revenueIncrease\"]?.rating + solution.ratings[\"impactBrand\"]?.rating;\r\n\treturn 0;\r\n};\r\n\r\nexport const calculateXScore = (solution) => {\r\n\tif (solution?.ratings)\r\n\t\treturn solution.ratings[\"cost\"]?.rating + solution.ratings[\"implComplexity\"]?.rating + solution.ratings[\"engagementEffortRanking\"]?.rating + solution.ratings[\"implDuration\"]?.rating;\r\n\treturn 0;\r\n};\r\n\r\nexport const calculatesolutionType = (solution) => {\r\n\t// Rules\r\n\t// If Sum left column > 10 and Sum Right column <= 10 then Quick Win\r\n\t// If Sum 0 < left column <= 10 and Sum Right column <= 10 then Nice to Have\r\n\t// If Sum left column > 10 and Sum Right column > 10 || left column === 0 && Right column > 0 then Complex Project\r\n\t// If Sum left column <= 10 and Sum Right column > 10 then To Avoid\r\n\treturn solutionTypeByCoordinates(calculateXScore(solution), calculateYScore(solution));\r\n};\r\n\r\nexport const solutionTypeByCoordinates = (x, y) => {\r\n\tif (y === 0 && x === 0) return -1;\r\n\tif (y > 10 && x <= 10) return SolutionType.QuickWin;\r\n\tif (y > 0 && y <= 10 && x <= 10) return SolutionType.NiceToHave;\r\n\tif (y >= 10 && x > 10) return SolutionType.ComplexProject;\r\n\tif ((y <= 10 && x > 10) || (y === 0 && x > 0)) return SolutionType.ToAvoid;\r\n};\r\n\r\nexport const oppPointColorByCoordinates = (x, y) => {\r\n\tif (y == 0 && x == 0) return \"#c4c4c4\";\r\n\treturn \"#0078E7\";\r\n};\r\n\r\nexport const CxValidation = (type) => {\r\n\tswitch (type) {\r\n\t\tcase \"opportunity\":\r\n\t\t\treturn 100000000;\r\n\t\tcase \"cxActions\":\r\n\t\t\treturn 100000001;\r\n\t\tcase \"solutions\":\r\n\t\t\treturn 100000002;\r\n\t\tcase \"customerJourney\":\r\n\t\t\treturn 100000003;\r\n\t\tcase \"project\":\r\n\t\t\treturn 100000004;\r\n\t\tcase \"insight\":\r\n\t\t\treturn 100000005;\r\n\t\tdefault:\r\n\t\t\treturn 0;\r\n\t}\r\n};\r\n\r\nexport const filterItemsByUserMapRole = ({ allItems, selectedItems, currentUserId, userRoles = [\"owner\"] }) => {\r\n\tconst filteredItems = [];\r\n\tselectedItems?.forEach((selectedItem) => {\r\n\t\tconst relatedMap = allItems?.find((map) => map.cjmId === selectedItem.mapId);\r\n\t\tlet currentUserRole = relatedMap?.authorizedUsers?.find((user) => user.id === currentUserId && user.roleId === EMPTY_GUID)?.roleName;\r\n\t\tif (!relatedMap && selectedItem.mapId === EMPTY_GUID) currentUserRole = \"owner\";\r\n\t\tif (userRoles.includes(currentUserRole?.toLowerCase())) filteredItems.push(selectedItem);\r\n\t});\r\n\r\n\treturn filteredItems;\r\n};\r\n\r\nexport const filterMapsByUserRole = ({ selectedMaps, currentUserId, isSubscriptionStandard, userRoles = [\"owner\"] }) => {\r\n\tconst filteredIds = [];\r\n\r\n\tselectedMaps?.forEach((map) => {\r\n\t\tconst currentUserRole = map?.authorizedUsers?.find((user) => user.id === currentUserId && user.roleId === EMPTY_GUID)?.roleName;\r\n\t\tif (!map?.isSample && (isSubscriptionStandard || userRoles.includes(currentUserRole?.toLowerCase()))) {\r\n\t\t\tfilteredIds.push(map.cjmId);\r\n\t\t}\r\n\t});\r\n\r\n\treturn filteredIds.map((id) => id).join(\"|\");\r\n};\r\n\r\nexport const filterPersonasByLinkedMaps = ({ allMaps, selectedPersonas, currentUserId, isSubscriptionStandard }) => {\r\n\tconst filteredIds = [];\r\n\tselectedPersonas?.forEach((persona) => {\r\n\t\tconst currentUserRole = persona?.authorizedUsers?.find((user) => user.id === currentUserId && user.roleId === EMPTY_GUID)?.roleName;\r\n\t\tconst linkedJourneyMapActive = GetActiveCJM(persona.linkedCjms, allMaps);\r\n\t\tif (!persona?.isSample && linkedJourneyMapActive?.length === 0 && (isSubscriptionStandard || currentUserRole?.toLowerCase() === \"owner\" || persona?.isTemplate))\r\n\t\t\tfilteredIds.push(persona.personaId);\r\n\t});\r\n\r\n\treturn filteredIds.map((id) => id).join(\"|\");\r\n};\r\n\r\nexport const filterPersonasByUserRole = ({ selectedPersonas, currentUserId, userRoles = [] }) => {\r\n\tconst filteredIds = [];\r\n\tselectedPersonas?.forEach((selectedItem) => {\r\n\t\tconst currentUserRole = selectedItem?.authorizedUsers?.find((user) => user.id === currentUserId && user.roleId === EMPTY_GUID)?.roleName;\r\n\t\tif (userRoles?.includes(currentUserRole?.toLowerCase())) filteredIds.push(selectedItem.personaId);\r\n\t});\r\n\r\n\treturn filteredIds.map((id) => id).join(\"|\");\r\n};\r\n\r\nexport const filterItemsByUserRole = ({ selectedItems, currentUserId, isSubscriptionStandard, userRoles = [] }) => {\r\n\tconst filteredIds = [];\r\n\tselectedItems?.forEach((selectedItem) => {\r\n\t\tconst currentUserRole = selectedItem?.authorizedUsers?.find((user) => user.id === currentUserId && user.roleId === EMPTY_GUID).roleName;\r\n\t\tif (isSubscriptionStandard || userRoles?.includes(currentUserRole?.toLowerCase())) filteredIds.push(selectedItem.id);\r\n\t});\r\n\r\n\treturn filteredIds.map((id) => id).join(\"|\");\r\n};\r\n\r\nexport const filterStrategiesByUserRole = (allStrategies, selectedStrategies, currentUserId) => {\r\n\tconst filteredIds = [];\r\n\tselectedStrategies?.forEach((selectedStrategy) => {\r\n\t\tconst currentStrategy = allStrategies?.filter((strategy) => strategy.id === selectedStrategy.id)[0];\r\n\t\tconst currentUserRole = currentStrategy?.authorizedUsers?.find((user) => user.id === currentUserId && user.roleId === EMPTY_GUID).roleName;\r\n\t\tif (currentUserRole?.toLowerCase() === \"owner\") filteredIds.push(selectedStrategy.id);\r\n\t});\r\n\r\n\treturn filteredIds.map((id) => id).join(\"|\");\r\n};\r\n\r\nexport function ChangeLanguages(lcid) {\r\n\tswitch (lcid) {\r\n\t\tcase \"1033\":\r\n\t\t\ti18n?.changeLanguage(\"en\");\r\n\t\t\tbreak;\r\n\t\tcase \"1036\":\r\n\t\t\ti18n?.changeLanguage(\"fr\");\r\n\t\t\tbreak;\r\n\t\tcase \"1031\":\r\n\t\t\ti18n?.changeLanguage(\"de\");\r\n\t\t\tbreak;\r\n\t\tcase \"1043\":\r\n\t\t\ti18n?.changeLanguage(\"nl\");\r\n\t\t\tbreak;\r\n\t\tcase \"3082\":\r\n\t\t\ti18n?.changeLanguage(\"es\");\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t}\r\n}\r\n\r\nexport const supportedLanguages = [\r\n\t{ name: \"English\", value: \"en\", lcid: 1033 },\r\n\t{ name: \"Français\", value: \"fr\", lcid: 1036 },\r\n\t{ name: \"Español\", value: \"es\", lcid: 3082 },\r\n\t{ name: \"Deutsch\", value: \"de\", lcid: 1031 },\r\n\t{ name: \"Nederlands\", value: \"nl\", lcid: 1043 },\r\n];\r\n\r\nexport const CustomXarrow = ({ color, startId, endId }) => {\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const getNewPersonaObject = ({ personaID, type, sectionId }) => {\r\n\treturn {\r\n\t\tcolorCode: \"\",\r\n\t\tdescription: \"\",\r\n\t\tdescriptionHtml: \"\",\r\n\t\tid: sectionId,\r\n\t\timage64: \"\",\r\n\t\timageType: \"\",\r\n\t\tname: \"\",\r\n\t\tpersonaID: personaID,\r\n\t\ttype: type,\r\n\t\tsectionId: sectionId,\r\n\t\titemsOrder: \"\",\r\n\t\titems: [],\r\n\t};\r\n};\r\nexport function getNextPosition(items, itemHeight) {\r\n\tlet maxY = 0;\r\n\r\n\titems.forEach((item) => {\r\n\t\tmaxY = Math.max(maxY, item.y + item.h);\r\n\t});\r\n\r\n\tconst newRow = Math.ceil(maxY / itemHeight);\r\n\tconst newX = newRow % 3;\r\n\tconst newY = newRow * itemHeight;\r\n\r\n\treturn { x: newX, y: newY };\r\n}\r\n\r\nexport function findById(arr, id, attribute = \"id\") {\r\n\treturn arr?.find((x) => x?.[attribute] === id) || {};\r\n}\r\n\r\nexport const filterUnSelect = (select, linked, idName) => {\r\n\tconst toLink = select?.map((x) => x[idName]);\r\n\tconst unSelect = [];\r\n\tfor (var i = 0; i < linked?.length; i += 1) {\r\n\t\tif (toLink?.indexOf(linked[i]) === -1) {\r\n\t\t\tunSelect.push(linked[i]);\r\n\t\t}\r\n\t}\r\n\treturn unSelect;\r\n};\r\nexport const sortType = (e) => {\r\n\tif (e.order === 1) {\r\n\t\treturn e.data.sort((a, b) => (a.mapType > b.mapType ? -1 : 1));\r\n\t}\r\n\tif (e.order === -1) {\r\n\t\treturn e.data.sort((a, b) => (b.mapType > a.mapType ? -1 : 1));\r\n\t}\r\n};\r\n\r\nexport const isCurrentInteractionInRoute = (interaction, currentStageInteractions, calculatedRouteAttrib, forcedRouteAttrib) => {\r\n\t// Check if the current interaction should be part of the routes\r\n\t// If it is forced, then yes (because only 1 interaction per stage can be forced)\r\n\t// If it is calculated, then yes if no other interactions in the stage is forced\r\n\tif (interaction?.[forcedRouteAttrib]) return true;\r\n\telse if (interaction?.[calculatedRouteAttrib]) {\r\n\t\tlet res = true;\r\n\t\tcurrentStageInteractions?.forEach((int) => {\r\n\t\t\tif (interaction?.[calculatedRouteAttrib] && int?.[forcedRouteAttrib]) {\r\n\t\t\t\tres = false;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn res;\r\n\t}\r\n\treturn false;\r\n};\r\n\r\nexport const flattenDictionary = (dict, resultSet, parentKeys = []) => {\r\n\tfor (let key in dict) {\r\n\t\tlet currentKeys = [...parentKeys, key];\r\n\t\tif (Array.isArray(dict[key])) {\r\n\t\t\tdict[key].forEach((item) => {\r\n\t\t\t\tlet swimlaneId = currentKeys[0];\r\n\t\t\t\tlet stageId = currentKeys[1];\r\n\t\t\t\tlet attributeId = currentKeys[2] === \"comments\" ? null : currentKeys[2];\r\n\t\t\t\tresultSet.add({ ...item, keys: { swimlaneId, stageId, attributeId } });\r\n\t\t\t});\r\n\t\t} else if (typeof dict[key] === \"object\") {\r\n\t\t\tflattenDictionary(dict[key], resultSet, currentKeys);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport const getCommentType = (type, id) => {\r\n\tif (id === \"StageDescription\") return 10;\r\n\tif (id === \"Insights\") return 9;\r\n\tif (id === \"Processes\") return 13;\r\n\tif (id === \"KPIs\") return 11;\r\n\tif (id === \"Issues\") return 12;\r\n\tif (id === \"StageHeaders\") return 22; //if phase it's 23\r\n\r\n\tswitch (type) {\r\n\t\tcase InformationType.Text:\r\n\t\t\treturn 5;\r\n\t\tcase InformationType.Image:\r\n\t\t\treturn 14;\r\n\t\tcase InformationType.ListItems:\r\n\t\t\treturn 16;\r\n\t\tcase InformationType.Opportunity:\r\n\t\t\treturn 20;\r\n\t\tcase InformationType.KPIs:\r\n\t\t\treturn 19;\r\n\t\tcase InformationType.AdvancedInteractions:\r\n\t\tcase InformationType.Touchpoints:\r\n\t\t\treturn 1;\r\n\t\tcase InformationType.Feelings:\r\n\t\t\treturn 8;\r\n\t\tcase InformationType.ActionsList:\r\n\t\t\treturn 21;\r\n\t\tcase InformationType.AdvancedCons:\r\n\t\t\treturn 2;\r\n\t\tcase InformationType.AdvancedPros:\r\n\t\t\treturn 4;\r\n\t\tcase InformationType.AdvancedActions:\r\n\t\t\treturn 26;\r\n\t\tcase InformationType.AdvancedInsights:\r\n\t\t\treturn 3;\r\n\t\tcase InformationType.Timing:\r\n\t\t\treturn 24;\r\n\t\tcase InformationType.Departments:\r\n\t\t\treturn 18;\r\n\t\tcase InformationType.Systems:\r\n\t\t\treturn 17;\r\n\t\tdefault:\r\n\t\t\treturn 0;\r\n\t}\r\n};\r\nexport function findMovedElement(oldArray, newArray) {\r\n\tfor (let i = 0; i < oldArray.length; i++) {\r\n\t\tfor (let j = 0; j < oldArray[i].length; j++) {\r\n\t\t\tif (!newArray[i][j] || oldArray[i][j].id !== newArray[i][j].id) {\r\n\t\t\t\treturn oldArray[i][j];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\nexport const detectImageExtension = (image) => {\r\n\tconst extensions = [\"png\", \"svg\", \"jpg\", \"jpeg\"];\r\n\tconst extension = extensions.find((ext) => image.includes(ext));\r\n\treturn extension || null;\r\n};\r\n\r\nexport const isFullUsersLicenseAvailable = (users, contracts, subscriptionPlanValue) => {\r\n\t// Check number of usersNumber (user / admin / company admin) are left\r\n\tlet count = 0;\r\n\tusers?.forEach((user) => {\r\n\t\tif (user.subscriptionPlan === subscriptionPlanValue && isFullUser(user.userType) && user.isActive) count++;\r\n\t});\r\n\r\n\tconst max = contracts?.find((contract) => contract.subscriptionPlanValue === subscriptionPlanValue)?.usersNumber;\r\n\treturn { count, answer: count < max };\r\n};\r\n\r\nexport const getFullUsersLicenseAvailable = (users, subscriptionPlanValue) => {\r\n\t// Check number of usersNumber (user / admin / company admin) are left\r\n\tlet count = 0;\r\n\tusers?.forEach((user) => {\r\n\t\tif (user.subscriptionPlan === subscriptionPlanValue && isFullUser(user.userType) && user.isActive) count++;\r\n\t});\r\n\r\n\treturn count;\r\n};\r\n\r\nexport const isFullUser = (userType) => [UserType.user, UserType.admin, UserType.companyAdmin].includes(userType);\r\n\r\nexport const getInactiveUsersCount = (users, subscriptionPlanValue) => {\r\n\tlet count = 0;\r\n\tusers?.forEach((user) => {\r\n\t\tif (user.subscriptionPlan === subscriptionPlanValue && !user.isActive) count++;\r\n\t});\r\n\treturn count;\r\n};\r\nexport const checkLinkMapBeforeAction = ({ allMaps, personaObject, linkedJourneyMap, showActionPopup, showLinkListCjm, title, description_1 }) => {\r\n\tif (linkedJourneyMap?.length === 0) showActionPopup();\r\n\telse {\r\n\t\tconst linkedCjmsData = allMaps?.filter((map) => linkedJourneyMap?.includes(map.cjmId)) || [];\r\n\t\tshowLinkListCjm({\r\n\t\t\tlistData: linkedCjmsData,\r\n\t\t\ttitle,\r\n\t\t\tdescription_1,\r\n\t\t\tpersonaObject,\r\n\t\t});\r\n\t}\r\n};\r\n\r\nexport const getMaxChars = (text, max_width) => {\r\n\tif (!text) return 0;\r\n\tconst canvas = document.createElement(\"canvas\");\r\n\tconst context = canvas.getContext(\"2d\");\r\n\tcontext.font = \"16px sans-serif\"; // Set the font size and family\r\n\tconst width = context.measureText(text)?.width; // Measure the width of the text\r\n\tconst maxWidth = max_width; // Set the maximum width\r\n\tconst chars = Math.floor((text?.length * maxWidth) / width); // Calculate the number of characters\r\n\treturn chars;\r\n};\r\n\r\nexport const NotNullOrEmpty = (array) => {\r\n\tif (array !== null && array !== undefined && array.length > 0) {\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n};\r\nexport const onSortFunction = (event) => {\r\n\treturn event.data.sort((a, b) => {\r\n\t\treturn event.order === -1 ? a.linkedCjms?.length - b.linkedCjms?.length : b.linkedCjms?.length - a.linkedCjms?.length;\r\n\t});\r\n};\r\n\r\n\r\nexport const detectDesactivatedPersona = (persona, userType) => {\r\n\tlet label = \"active\";\r\n\tconst isCompanyAdmin = userType === UserType.companyAdmin;\r\n\tconst haveDataOnPersona = Object.keys(persona)?.length > 0;\r\n\tif (persona.noAccess) return { activated: false, label: \"PERSONA_NO_ACCESS\" };\r\n\tif (!haveDataOnPersona) return { activated: true, label: \"ERROR_LOADING_MAP\" };\r\n\tif (persona.statusCode === StatusCode.Archived) label = \"PERSONA_ARCHIVED\";\r\n\telse if (persona?.statusCode === StatusCode.Trashed) label = \"PERSONA_DELETED\";\r\n\telse if (persona.personaId === null) label = \"PERSONA_NOT_FOUND\";\r\n\t// else if (map?.cjmPersonasData && !map?.cjmPersonasData?.find(x => x.personaId == personaId)) return { activated: false, personaId: personaId, label: \"PERSONA_NOCONNECT\" };\r\n\tconst activated = haveDataOnPersona && !isCompanyAdmin && persona.personaId !== null && (persona?.statusCode === StatusCode.Active || persona?.statusCode === StatusCode.Revised);\r\n\r\n\treturn { activated, label };\r\n};\r\nexport const preventEnter = (event) => {\r\n\tif (event.key === \"Enter\") {\r\n\t\tevent.preventDefault();\r\n\t}\r\n};\r\nexport const getDate = (lastModified) => {\r\n\tif (lastModified) {\r\n\t\tconst date = new Date(lastModified);\r\n\t\treturn { year: date.getFullYear(), month: date.toLocaleString(\"default\", { month: \"long\" }), day: date.getDate(), hour: date.getHours(), min: date.getMinutes() };\r\n\t}\r\n\treturn `-`;\r\n};\r\n\r\nexport const tableDefaultColumn = (type) => {\r\n\tswitch (type) {\r\n\t\tcase EntityList.Opportunity:\r\n\t\t\treturn [\"select\", \"name\", \"cjmIds\", \"occurance\", \"customerValue\", \"businessValue\", \"priorityId\", \"groupIds\", \"tagIds\", \"statusId\", \"actions\"];\r\n\t\tcase EntityList.Solution:\r\n\t\t\treturn [\"select\", \"name\", \"description\", \"statusId\", \"solutionType\", \"cjmIds\", \"occurance\", \"tagIds\", \"groupIds\", \"lastUpdated\", \"dueDateNew\", \"actions\"];\r\n\t\tcase EntityList.Action:\r\n\t\t\treturn [\"select\", \"name\", \"statusId\", \"priorityId\", \"dueDateNew\", \"groupIds\", \"actions\"];\r\n\t\tcase EntityList.CustomerJourney:\r\n\t\t\treturn [\"select\", \"name\", \"linkedPersonas\", \"score\", \"isFutureLabel\", \"statusId\", \"owner\", \"lastModifiedOn\", \"tagIds\", \"groupIds\", \"actions\"];\r\n\t\tcase EntityList.CXProgram:\r\n\t\t\treturn [\"select\", \"cxProgramName\", \"totalNumCjms\", \"totalNumPersonas\", \"totalNumOpps\", \"totalNumSols\", \"totalNumActions\", \"totalNumProjects\", \"lastUpdated\", \"actions\"];\r\n\t\tcase EntityList.Persona:\r\n\t\t\treturn [\"select\", \"personaName\", \"cjmCount\", \"occupation\", \"tagIds\", \"isFutureLabel\", \"associatedContactsCount\", \"owner\", \"lastModifiedOn\", \"actions\"];\r\n\t\tcase EntityList.Project:\r\n\t\t\treturn [\"select\", \"projectName\", \"lastUpdated\", \"tagIds\", \"statusId\", \"actions\"];\r\n\t\tcase EntityList.Insight:\r\n\t\t\treturn [\"select\", \"insightType\", \"insightName\", \"description\", \"occurance\", \"cjmIds\", \"linkedPersonas\", \"priorityId\", \"statusId\", \"tagIds\", \"groupIds\", \"lastUpdated\", \"actions\"];\r\n\t\tcase EntityList.User:\r\n\t\t\treturn [\"select\", \"userDetails\", \"role\", \"userTypeName\", \"teams\", \"isActive\", \"actions\"];\r\n\t\tdefault:\r\n\t\t\treturn [];\r\n\t}\r\n};\r\nexport const checkStyle = (queryView, id, size, minWidth = \"120px\") => {\r\n\tconst sizeGlobal = { xs: \"5%\", s: \"10%\", m: \"15%\", l: \"20%\", xl: \"25%\", xxl: \"30%\", xxxl: \"35%\" };\r\n\tconst queryViewParsed = queryView ? JSON.parse(queryView) : undefined;\r\n\tconst viewWidth = queryView ? queryViewParsed?.find((x) => x.name === id)?.width : undefined;\r\n\tlet newWidth;\r\n\tif (viewWidth) {\r\n\t\tconst intWidth = Math.floor(viewWidth);\r\n\t\tconst intMinWidth = Number(minWidth?.split(\"px\")[0]);\r\n\t\tif (intWidth > intMinWidth) {\r\n\t\t\tnewWidth = `${intWidth}px`;\r\n\t\t} else {\r\n\t\t\tnewWidth = `${intMinWidth}px`;\r\n\t\t}\r\n\t} else {\r\n\t\tnewWidth = sizeGlobal[size];\r\n\t}\r\n\r\n\treturn { width: newWidth, minWidth: minWidth };\r\n};\r\n\r\nexport const getEmotionLevelData = ({ level }) => {\r\n\tconst roundedLevel = Math.round(level);\r\n\tif (roundedLevel === 1)\r\n\t\treturn {\r\n\t\t\tsmiley: \"face-frown-open\",\r\n\t\t\tdescription: t(\"ASPX_76\"),\r\n\t\t\tbackgroundColorSimple: \"#EF4444\",\r\n\t\t\tbackgroundColor: \"linear-gradient(180deg, #FEF2F2 0%, #FFF 100%)\",\r\n\t\t\ttextColor: \"#DC2626\",\r\n\t\t\tborderColor: \"#DC2626\",\r\n\t\t\tsmileyColor: \"#DC2626\",\r\n\t\t};\r\n\tif (roundedLevel === 2)\r\n\t\treturn {\r\n\t\t\tsmiley: \"face-frown-slight\",\r\n\t\t\tdescription: t(\"ASPX_77\"),\r\n\t\t\tbackgroundColorSimple: \"#F97316\",\r\n\t\t\tbackgroundColor: \"linear-gradient(0deg, #FFF 0%, #FFF7ED 100%)\",\r\n\t\t\ttextColor: \"#EA580C\",\r\n\t\t\tborderColor: \"#EA580C\",\r\n\t\t\tsmileyColor: \"#EA580C\",\r\n\t\t};\r\n\tif (roundedLevel === 3)\r\n\t\treturn {\r\n\t\t\tsmiley: \"face-meh\",\r\n\t\t\tdescription: t(\"ASPX_78\"),\r\n\t\t\tbackgroundColorSimple: \"#EAB308\",\r\n\t\t\tbackgroundColor: \"linear-gradient(0deg, #FFF 0%, #FEFCE8 100%)\",\r\n\t\t\ttextColor: \"#CA8A04\",\r\n\t\t\tborderColor: \"#CA8A04\",\r\n\t\t\tsmileyColor: \"#CA8A04\",\r\n\t\t};\r\n\tif (roundedLevel === 4)\r\n\t\treturn {\r\n\t\t\tsmiley: \"face-smile\",\r\n\t\t\tdescription: t(\"ASPX_79\"),\r\n\t\t\tbackgroundColorSimple: \"#16A34A\",\r\n\t\t\tbackgroundColor: \"linear-gradient(0deg, #FFF 0%, #F0FDF4 100%)\",\r\n\t\t\ttextColor: \"#16A34A\",\r\n\t\t\tborderColor: \"#16A34A\",\r\n\t\t\tsmileyColor: \"#16A34A\",\r\n\t\t};\r\n\tif (roundedLevel === 5)\r\n\t\treturn {\r\n\t\t\tsmiley: \"face-grin\",\r\n\t\t\tdescription: t(\"ASPX_80\"),\r\n\t\t\tbackgroundColorSimple: \"#14B8A6\",\r\n\t\t\tbackgroundColor: \"linear-gradient(0deg, #FFF 0%, #F0FDFA 100%)\",\r\n\t\t\ttextColor: \"#0D9488\",\r\n\t\t\tborderColor: \"#0D9488\",\r\n\t\t\tsmileyColor: \"#0D9488\",\r\n\t\t};\r\n\r\n\treturn { smiley: \"face-meh\", description: t(\"NO_SENTIMENT\"), backgroundColorSimple: \"#E5E4E5\", backgroundColor: \"#E5E4E5\", textColor: \"#A1A1A1\", borderColor: \"#A1A1A1\", smileyColor: \"#BFBFBF\" };\r\n};\r\n\r\nexport function areObjectAttributesEmpty(obj, ...attributes) {\r\n\tif (!obj) return true;\r\n\tlet isEmpty = true;\r\n\tfor (const attribute of attributes) {\r\n\t\tif (!obj?.[attribute]?.isEmptyString()) {\r\n\t\t\tisEmpty = false;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\treturn isEmpty;\r\n}\r\nexport const createDefaultPersonaInteraction = (interactionId, stageId, touchpointId, order, modifiedBy) => {\r\n\treturn {\r\n\t\tid: interactionId,\r\n\t\tcreatedOn: new Date().toISOString(),\r\n\t\tmodifiedOn: new Date().toISOString(),\r\n\t\tmodifiedBy: modifiedBy ?? \"\",\r\n\t\torder: order,\r\n\t\temotionLevel: -1,\r\n\t\trating: 0,\r\n\t\tactions: \"\",\r\n\t\tpros: \"\",\r\n\t\tcons: \"\",\r\n\t\tinsights: \"\",\r\n\t\ticons: null,\r\n\t\tactionsIcons: null,\r\n\t\tprosIcons: null,\r\n\t\tconsIcons: null,\r\n\t\tinsightsIcons: null,\r\n\t\townerId: EMPTY_GUID,\r\n\t\townerName: \"\",\r\n\t\tcxMetrics: null,\r\n\t\tsourcesOfData: null,\r\n\t\tmainRoute: false,\r\n\t\talternativeRoute: false,\r\n\t\tforcedMainRoute: false,\r\n\t\tforcedAlternativeRoute: false,\r\n\t\tstageId: stageId,\r\n\t\tchannelId: touchpointId,\r\n\t};\r\n};\r\n\r\nexport const findNextRouteInteractionId = (stages, cjmData, stageIndex, forcedAttribute, sysRouteAttribute) => {\r\n\t// Must take in account the following cases:\r\n\t// - when next stage does not have any interactions\r\n\t// - when next stage does not have a system / forced (main or alternative) route, need to search next stages\r\n\t// - Search end when we reach last stage\r\n\t// - When stage has both system calculated and forced routes (prioritize forced)\r\n\r\n\tlet index = 0;\r\n\tlet systemCalculatedId = \"\";\r\n\tlet forcedId = \"\";\r\n\tfor (const stage of stages) {\r\n\r\n\t\tif (index > stageIndex && cjmData[stage]?.length > 0) {\r\n\t\t\tfor (const interaction of cjmData[stage]) {\r\n\t\t\t\tif (interaction[forcedAttribute] === true) {\r\n\t\t\t\t\tforcedId = interaction.id;\r\n\t\t\t\t}\r\n\t\t\t\tif (interaction[sysRouteAttribute] === true) {\r\n\t\t\t\t\tsystemCalculatedId = interaction.id;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (forcedId !== \"\" || systemCalculatedId !== \"\") break;\r\n\t\t}\r\n\t\tindex++;\r\n\t}\r\n\r\n\treturn forcedId !== \"\" ? forcedId : systemCalculatedId;\r\n};\r\n\r\nexport const getOutterBorderByRouteType = (routesProps, item) => {\r\n\tconst { showMainRoute, showAlternativeRoute, isInteractionInMainRoute, isInteractionInAlternativeRoute } = routesProps;\r\n\tconst { mainRoute, forcedMainRoute, alternativeRoute, forcedAlternativeRoute } = item || {};\r\n\r\n\tif (showMainRoute && (mainRoute || forcedMainRoute) && isInteractionInMainRoute) return \"main\";\r\n\tif (showAlternativeRoute && (alternativeRoute || forcedAlternativeRoute) && isInteractionInAlternativeRoute) return \"alternative\";\r\n};\r\nexport const getInnerBorderByRouteType = (routesProps) => {\r\n\tconst { showMainRoute, showAlternativeRoute, isInteractionInMainRoute, isInteractionInAlternativeRoute } = routesProps;\r\n\r\n\tif (showMainRoute && showAlternativeRoute && isInteractionInMainRoute && isInteractionInAlternativeRoute) return \"alternative\";\r\n};\r\nexport function createCustomTimeout(seconds, action) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\taction();\r\n\t\t\tresolve();\r\n\t\t}, seconds * 1000);\r\n\t});\r\n}\r\n\r\nexport const extractGuidsFromArray = (arr) => {\r\n\tconst guidRegex = /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/;\r\n\treturn arr\r\n\t\t.filter((str) => typeof str === \"string\")\r\n\t\t.map((str) => str.match(guidRegex))\r\n\t\t.filter((match) => match !== null)\r\n\t\t.map((match) => match[0]);\r\n};\r\nexport function formatTime(value) {\r\n\tconst cleanedValue = value.replace(/[^0-9:]/g, \"\"); // Remove non-numeric and non-colon characters\r\n\r\n\tif (cleanedValue.length === 1 && parseInt(cleanedValue, 10) > 2) {\r\n\t\treturn `0${cleanedValue}:00:00`;\r\n\t} else if (cleanedValue.length === 2) {\r\n\t\treturn `${cleanedValue}:00:00`;\r\n\t} else if (cleanedValue.length === 3) {\r\n\t\tconst hours = cleanedValue.slice(0, 1);\r\n\t\tconst minutes = cleanedValue.slice(1);\r\n\t\treturn `0${hours}:${minutes}:00`;\r\n\t} else if (cleanedValue.length === 4) {\r\n\t\tconst hours = cleanedValue.slice(0, 2);\r\n\t\tconst minutes = cleanedValue.slice(2);\r\n\t\treturn `${hours}:${minutes}:00`;\r\n\t} else if (cleanedValue.length === 5) {\r\n\t\tconst hours = cleanedValue.slice(0, 1);\r\n\t\tconst minutes = cleanedValue.slice(1, 3);\r\n\t\tconst seconds = cleanedValue.slice(3);\r\n\t\treturn `0${hours}:${minutes}:${seconds}`;\r\n\t} else if (cleanedValue.length === 6) {\r\n\t\tconst hours = cleanedValue.slice(0, 2);\r\n\t\tconst minutes = cleanedValue.slice(2, 4);\r\n\t\tconst seconds = cleanedValue.slice(4);\r\n\t\treturn `${hours}:${minutes}:${seconds}`;\r\n\t}\r\n\r\n\treturn cleanedValue;\r\n}\r\nexport function areObjectsEqual(obj1, obj2) {\r\n\t// Check if either object is null or undefined\r\n\tif (obj1 === null || obj1 === undefined || obj2 === null || obj2 === undefined) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\t// Check if the objects have the same number of attributes\r\n\tif (Object.keys(obj1).length !== Object.keys(obj2).length) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\t// Iterate over the attributes of obj1\r\n\tfor (let attr in obj1) {\r\n\t\t// Check if the attribute exists in obj2\r\n\t\tif (!(attr in obj2)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// Check if the values of the attributes are equal\r\n\t\tif (obj1[attr] !== null && obj2[attr] !== null && typeof obj1[attr] === \"object\" && typeof obj2[attr] === \"object\") {\r\n\t\t\tif (Array.isArray(obj1[attr]) && Array.isArray(obj2[attr])) {\r\n\t\t\t\t// If the attribute is an array, compare its length and values\r\n\t\t\t\tif (obj1[attr].length !== obj2[attr].length) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tfor (let i = 0; i < obj1[attr].length; i++) {\r\n\t\t\t\t\tif (obj1[attr][i] !== obj2[attr][i]) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// If the attribute is an object, recursively compare its attributes\r\n\t\t\t\tif (!areObjectsEqual(obj1[attr], obj2[attr])) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (obj1[attr] !== obj2[attr]) {\r\n\t\t\t// If the attribute is not an object or array, compare its value\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\t// The objects are equal\r\n\treturn true;\r\n}\r\n\r\nexport function removeS(str) {\r\n\tif (str.endsWith(\"s\")) {\r\n\t\treturn str.slice(0, -1);\r\n\t}\r\n\treturn str;\r\n}\r\n\r\nexport const createDefaultMap = (isTemplate, personaId) => {\r\n\treturn {\r\n\t\tmapMode: MapMode.Custom,\r\n\t\tname: \"\",\r\n\t\tdescription: \"\",\r\n\t\tpersonaId: personaId || EMPTY_GUID,\r\n\t\tmapType: 100000000,\r\n\t\tisTemplate,\r\n\t};\r\n};\r\n\r\nexport const createDefaultPersona = () => {\r\n\treturn {\r\n\t\tpersonaId: EMPTY_GUID,\r\n\t\tname: \"\",\r\n\t\toccupation: \"\",\r\n\t\tstandardImageNumber: 0,\r\n\t\tage: \"\",\r\n\t\tgender: \"\",\r\n\t\tisFuture: 100000000,\r\n\t\tstandardImage: \"\",\r\n\t\tcustomImage: \"\",\r\n\t\timageExtension: \"\",\r\n\t\tisTemplate: false,\r\n\t};\r\n};\r\n\r\nexport const createDefaultAssessment = (currentUser) => {\r\n\treturn {\r\n\t\tid: EMPTY_GUID,\r\n\t\townerId: currentUser?.UserId,\r\n\t\tcontactName: currentUser.UserFullName,\r\n\t\tdate: new Date().toISOString(),\r\n\t\tproposition: 0,\r\n\t\treadiness: 0,\r\n\t\tjourney: 0,\r\n\t\teffort: 0,\r\n\t\tfunctionality: 0,\r\n\t\tcapability: 0,\r\n\t\temotion: 0,\r\n\t\tadvocacy: 0,\r\n\t\tmeasurement: 0,\r\n\t\troi: 0,\r\n\t\tscore: 0,\r\n\t};\r\n};\r\n\r\nexport const createDefaultCustomLibraryItem = (colorCode = \"\") => {\r\n\treturn {\r\n\t\tid: EMPTY_GUID,\r\n\t\tname: \"\",\r\n\t\tdescription: \"\",\r\n\t\tcolorCode,\r\n\t\tisCustom: true,\r\n\t};\r\n};\r\n\r\nexport const createDefaultBrandStrategy = (card) => {\r\n\treturn {\r\n\t\tid: EMPTY_GUID,\r\n\t\tbrandValueID: EMPTY_GUID,\r\n\t\tstrategyAttributeID: card?.id,\r\n\t\tstrategyID: card?.strategyID,\r\n\t\tdo: \"\",\r\n\t\tdont: \"\",\r\n\t};\r\n};\r\n\r\nexport const createDefaultInsight = ({ currentUser, name = \"\", typeId = EMPTY_GUID }) => {\r\n\treturn {\r\n\t\tid: uuid(),\r\n\t\tname,\r\n\t\tdescription: \"\",\r\n\t\ttypeId,\r\n\t\townerId: currentUser?.UserId,\r\n\t\tstatusCode: 1,\r\n\t\ttags: [],\r\n\t\tisSample: false,\r\n\t\tgroups: [],\r\n\t\tlinkedTouchpoints: [],\r\n\t\tlinkedSystems: [],\r\n\t\tlinkedDepartments: [],\r\n\t\tlinkedCjms: {},\r\n\t\tlinkedPersonas: [],\r\n\t\tlinkedOpps: [],\r\n\t\tlinkedSols: [],\r\n\t\tlinkedActions: [],\r\n\t\tlinkedProjects: [],\r\n\t\tjsonProperty: \"\",\r\n\t};\r\n};\r\nexport const createDefaultAttachItem = ({ stageId, swimlaneKey, description = \"\", url = \"\", fileName = \"\" }) => {\r\n\treturn {\r\n\t\tid: uuid(),\r\n\t\tstageId: stageId,\r\n\t\tswimlaneKey: swimlaneKey,\r\n\t\tdescription: description,\r\n\t\tfileName: fileName,\r\n\t\turl: url,\r\n\t\ticons: [],\r\n\t};\r\n};\r\nexport const extractTextFromHtml = (html) => {\r\n\tconst htmlString = html;\r\n\tconst div = document.createElement(\"div\");\r\n\tdiv.innerHTML = htmlString;\r\n\tconst text = div.innerText;\r\n\treturn text;\r\n};\r\n\r\nexport const isNullOrUndefined = (obj) => {\r\n\treturn obj === null || obj === undefined;\r\n};\r\n\r\nexport function appendListsAndRemoveDuplicates(list1, list2) {\r\n\t// Use Set to remove duplicates, then convert it back to an array\r\n\tconst uniqueList1 = Array.from(new Set(list1));\r\n\tconst uniqueList2 = Array.from(new Set(list2));\r\n\r\n\t// Use the concat method to append uniqueList2 to uniqueList1\r\n\treturn Array.from(new Set(uniqueList1.concat(uniqueList2)));\r\n}\r\n\r\nfunction evaluateFilter(value, filterValue, matchMode) {\r\n\tif (filterValue === null || value === undefined) return true;\r\n\tswitch (matchMode) {\r\n\t\tcase \"startsWith\":\r\n\t\t\treturn typeof value === \"string\" && value.startsWith(filterValue);\r\n\t\tcase \"contains\":\r\n\t\t\treturn typeof value === \"string\" && value.includes(filterValue);\r\n\t\tcase \"endsWith\":\r\n\t\t\treturn typeof value === \"string\" && value.endsWith(filterValue);\r\n\t\tcase \"equals\":\r\n\t\t\treturn value === filterValue;\r\n\t\tcase \"notEquals\":\r\n\t\t\treturn value !== filterValue;\r\n\t\tcase \"lt\":\r\n\t\t\treturn value < filterValue;\r\n\t\tcase \"lte\":\r\n\t\t\treturn value <= filterValue;\r\n\t\tcase \"gt\":\r\n\t\t\treturn value > filterValue;\r\n\t\tcase \"gte\":\r\n\t\t\treturn value >= filterValue;\r\n\t\tcase \"in\":\r\n\t\t\treturn Array.isArray(filterValue) && filterValue.includes(value);\r\n\t\tcase \"dateIs\":\r\n\t\t\treturn new Date(value).toDateString() === new Date(filterValue).toDateString();\r\n\t\tcase \"between\":\r\n\t\t\treturn Array.isArray(filterValue) && value >= filterValue[0] && value <= filterValue[1];\r\n\t\tcase \"custom\":\r\n\t\t\treturn Array.isArray(filterValue) && filterValue.some((id) => value.includes(id));\r\n\t\tdefault:\r\n\t\t\tthrow new Error(\"Unknown filter matchMode: \" + matchMode);\r\n\t}\r\n}\r\n\r\nfunction evaluateComplexFilter(item, field, filter) {\r\n\tconst value = item[field];\r\n\r\n\tfor (let constraint of filter.constraints) {\r\n\t\tif (constraint.value === null) continue; // Skip the current constraint if its value is null\r\n\r\n\t\tconst meetsConstraint = evaluateFilter(value, constraint.value, constraint.matchMode);\r\n\r\n\t\t// If using AND logic and any filter fails, then this item fails the filter\r\n\t\tif (filter.operator === \"and\" && !meetsConstraint) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// If using OR logic and any filter passes, then this item passes the filter\r\n\t\tif (filter.operator === \"or\" && meetsConstraint) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\t// For AND logic, reaching here means all filters passed. For OR logic, it means none did.\r\n\treturn filter.operator === \"and\";\r\n}\r\n\r\nexport function applyFilters(data, filters) {\r\n\treturn data.filter((item) => {\r\n\t\tfor (let [field, filter] of Object.entries(filters)) {\r\n\t\t\tif (field === \"global\") continue;\r\n\t\t\tif (\"value\" in filter && \"matchMode\" in filter) {\r\n\t\t\t\t// Simple filter\r\n\t\t\t\tif (!evaluateFilter(item[field], filter.value, filter.matchMode)) {\r\n\t\t\t\t\treturn false; // This item doesn't match the simple filter\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (\"constraints\" in filter && \"operator\" in filter) {\r\n\t\t\t\t// Complex filter\r\n\t\t\t\tif (!evaluateComplexFilter(item, field, filter)) {\r\n\t\t\t\t\treturn false; // This item doesn't match the complex filter\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true; // If it made it through all filters\r\n\t});\r\n}\r\n\r\nexport const validateStringNumberInput = ({ n, isPositive }) => {\r\n\tif (n === undefined || n === \"\") return \"\";\r\n\r\n\t// Check if the last character is a decimal point\r\n\tconst endsWithDot = n.endsWith(\".\");\r\n\r\n\t// Check if the input is a valid number (excluding the trailing dot)\r\n\tconst number = parseFloat(n);\r\n\tif (!isNaN(number) && number >= 0) {\r\n\t\tlet output = number.toString();\r\n\r\n\t\t// Add the decimal point back if the input ended with it\r\n\t\tif (endsWithDot && !output.includes(\".\")) {\r\n\t\t\toutput += \".\";\r\n\t\t}\r\n\r\n\t\treturn output;\r\n\t}\r\n\treturn undefined;\r\n};\r\n\r\nexport function getCxGoalValue({ cxGoal }) {\r\n\tconst actual = Number(cxGoal?.actual || 0);\r\n\tconst goal = Number(cxGoal?.goal || 0);\r\n\r\n\tif (actual === 0 && goal === 0) return 0;\r\n\tif (actual === goal) return 100;\r\n\r\n\tif (cxGoal.direction === CxGoalDirection.Increase) {\r\n\t\tif (goal === 0) return 0;\r\n\t\tif (actual >= goal) return 100;\r\n\t\tlet res = (actual / goal) * 100;\r\n\t\tif (res < 0) res = 0;\r\n\t\treturn res;\r\n\t}\r\n\tif (cxGoal.direction === CxGoalDirection.Decrease) {\r\n\t\tif (actual === 0) return 0;\r\n\t\tif (goal >= actual) return 100;\r\n\t\tlet res = (goal / actual) * 100;\r\n\t\tif (res < 0) res = 0;\r\n\t\treturn res;\r\n\t}\r\n}\r\n\r\nexport const reorderActions = ({ actions, order }) => {\r\n\tconst orderedList = [];\r\n\tlet index = 0;\r\n\torder.forEach((element) => {\r\n\t\tconst action = actions.find((action) => action.id === element);\r\n\t\tif (action) {\r\n\t\t\torderedList[index] = action;\r\n\t\t\tindex++;\r\n\t\t}\r\n\t});\r\n\r\n\treturn orderedList;\r\n};\r\n\r\nexport const handleAddRenderElement = (delay = 1000) => {\r\n\tsetTimeout(() => {\r\n\t\tvar parentDiv = document.getElementById(\"addRenderElement\");\r\n\t\tvar isExist = document.getElementById(\"RenderElement\");\r\n\t\tif (isExist) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar newElement = document.createElement(\"p\");\r\n\r\n\t\tnewElement.id = \"RenderElement\";\r\n\t\tif (parentDiv) parentDiv.appendChild(newElement);\r\n\t}, delay);\r\n};\r\nexport const SolutionTypeLabel = (solution, params) => {\r\n\tswitch (solution?.solutionType) {\r\n\t\tcase SolutionType.QuickWin:\r\n\t\t\treturn ;\r\n\t\tcase SolutionType.NiceToHave:\r\n\t\t\treturn ;\r\n\t\tcase SolutionType.ComplexProject:\r\n\t\t\treturn ;\r\n\t\tcase SolutionType.ToAvoid:\r\n\t\t\treturn ;\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n};\r\nexport const getEntityName = (attribute) => {\r\n\tswitch (attribute) {\r\n\t\tcase \"linkedOpps\":\r\n\t\t\treturn \"cem_cxopportunity\";\r\n\t\tcase \"linkedSols\":\r\n\t\t\treturn \"cem_cxsolution\";\r\n\t\tcase \"linkedActions\":\r\n\t\t\treturn \"cem_cxactiontask\";\r\n\t\tcase \"linkedCjms\":\r\n\t\t\treturn \"cem_customerjourney\";\r\n\t\tcase \"linkedPersonas\":\r\n\t\t\treturn \"cem_persona\";\r\n\t\tcase \"linkedCxProgram\":\r\n\t\t\treturn \"cem_cxprogram\";\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n};\r\nexport const getEntityCurrentState = (value = false) => {\r\n\treturn value === true ? StateTypeOption.FutureState : StateTypeOption.CurrentState;\r\n};\r\n\r\nexport const getAllVersionsSorted = ({ allMaps, currentMapId, parentMapId }) => {\r\n\t//The first version have a parentMapId === EMPTY_GUID\r\n\tconst firstVersion = allMaps.find((map) => map.cjmId === parentMapId);\r\n\r\n\t//Current map is NOT considered a version\r\n\tconst allVersionsSorted = allMaps\r\n\t\t.filter((map) => parentMapId !== EMPTY_GUID && map.cjmId !== currentMapId && map.parentMapId === parentMapId)\r\n\t\t.sort((a, b) => b.numberMapVersion - a.numberMapVersion);\r\n\r\n\tif (firstVersion) allVersionsSorted.push(firstVersion);\r\n\r\n\treturn allVersionsSorted;\r\n};\r\n\r\nexport const getLastVersionNumber = ({ allMaps, currentMapId, parentMapId }) => {\r\n\tif (parentMapId === EMPTY_GUID) return 0;\r\n\tconst allVersionsSorted = getAllVersionsSorted({ allMaps, currentMapId, parentMapId });\r\n\treturn allVersionsSorted[0].numberMapVersion;\r\n};\r\n\r\nexport const lowercaseKeys = (obj) => {\r\n\treturn Object.keys(obj).reduce((accumulator, key) => {\r\n\t\taccumulator[key.toLowerCase()] = obj[key];\r\n\t\treturn accumulator;\r\n\t}, {});\r\n};\r\nexport const getInitials = ({ name }) =>\r\n\tname\r\n\t\t?.split(\" \")\r\n\t\t?.map((name) => name[0])\r\n\t\t.join(\"\") || \"\";\r\n\r\nexport function getLengthByWidth(width, fontSize) {\r\n\tconst ellipsisWidth = 0; // Width of \"...\" in pixels (adjust as needed)\r\n\tconst charsPerWidth = Math.floor((width - ellipsisWidth) / fontSize);\r\n\r\n\treturn charsPerWidth;\r\n}\r\n\r\nexport const userTypesLabels = {\r\n\t[UserType.companyAdmin]: \"SUPER_ADMIN\",\r\n\t[UserType.admin]: \"CS_53\",\r\n\t[UserType.user]: \"CS_52\",\r\n\t[UserType.readOnly]: \"READ_ONLY\",\r\n};\r\n\r\nexport const getDropdownPosition = (id = \"#original-dropdown\") => {\r\n\tconst originalDropdown = document.querySelector(id);\r\n\tconst rect = originalDropdown?.getBoundingClientRect();\r\n\treturn {\r\n\t\ttop: rect?.top,\r\n\t\tleft: rect?.left,\r\n\t};\r\n};\r\n\r\nexport const emptyListData = {\r\n\tmap: { icon: IconDispatcher(\"CJM\", \"\", { size: \"3rem\", style: \"light\" }), color: \"#18AEAD\" },\r\n\tcxPrograms: { icon: IconDispatcher(\"CX-PROGRAM\", \"\", { size: \"3rem\", style: \"light\" }), color: \"#F96209\" },\r\n\tpersonas: { icon: IconDispatcher(\"PERSONA\", \"\", { size: \"3rem\", style: \"light\" }), color: \"\" },\r\n\topportunity: { icon: IconDispatcher(\"OPPORTUNITY\", \"\", { size: \"3rem\", style: \"light\" }), color: \"#20A9E9\" },\r\n\tsolutions: { icon: IconDispatcher(\"SOLUTION\", \"\", { size: \"3rem\", style: \"light\" }), color: \"#FDD03E\" },\r\n\tcxActions: { icon: IconDispatcher(\"ACTION\", \"\", { size: \"3rem\", style: \"light\" }), color: \"#F48E09\" },\r\n\tfolders: { icon: IconDispatcher(\"FOLDER\", \"\", { size: \"3rem\", style: \"light\" }), color: \"#FDD03E\" },\r\n\tassessments,\r\n\tprojects: { icon: IconDispatcher(\"PROJECT\", \"\", { size: \"3rem\", style: \"light\" }), color: \"#3F3D56\" },\r\n\tinsights: { icon: IconDispatcher(\"GEM\", \"\", { size: \"3rem\", style: \"light\" }), color: \"#3F3D56\" },\r\n\tlibraries: { icon: IconDispatcher(\"BOOKS\", \"\", { size: \"3rem\", style: \"light\" }), color: \"#3F3D56\" },\r\n};\r\n\r\nexport const getFromLocalStorage = (queryNumber) => {\r\n\tconst itemStr = localStorage.getItem(`queryView_${queryNumber}`);\r\n\r\n\t// If the item doesn't exist, return null\r\n\tif (!itemStr) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst item = JSON.parse(itemStr);\r\n\t// Compare the current time with the expiration time\r\n\t// If the item is expired, delete it from the storage and return null\r\n\tfor (let i = localStorage.length - 1; i >= 0; i--) {\r\n\t\tconst key = localStorage.key(i);\r\n\t\tif (key.startsWith(\"queryView\") && key !== `queryView_${queryNumber}`) {\r\n\t\t\tlocalStorage.removeItem(key);\r\n\t\t}\r\n\t}\r\n\t//localStorage.removeItem(`queryView_${queryNumber}`);\r\n\r\n\t// Otherwise, return the value\r\n\treturn item.value;\r\n};\r\n\r\n\r\nexport const colorsAssociations = [\r\n\t{ background: \"#e0f2fe\", text: \"#075985\" },\r\n\t{ background: \"#dbeafe\", text: \"#1e40af\" },\r\n\t{ background: \"#e0e7ff\", text: \"#3730a3\" },\r\n\t{ background: \"#ede9fe\", text: \"#5b21b6\" },\r\n\t{ background: \"#fae8ff\", text: \"#86198f\" },\r\n\t{ background: \"#fce7f3\", text: \"#9d174d\" },\r\n\t{ background: \"#fee2e2\", text: \"#991b1b\" },\r\n\t{ background: \"#fef3c7\", text: \"#92400e\" },\r\n\t{ background: \"#fef9c3\", text: \"#854d0e\" },\r\n\t{ background: \"#ecfccb\", text: \"#3f6212\" },\r\n\t{ background: \"#dcfce7\", text: \"#166534\" },\r\n\t{ background: \"#ccfbf1\", text: \"#115e59\" },\r\n\t{ background: \"#cffafe\", text: \"#155e75\" },\r\n\t{ background: \"#f1f5f9\", text: \"#1e293b\" },\r\n];\r\n\r\nexport const getColorsByType = ({ type }) => {\r\n\tswitch (type) {\r\n\t\tcase \"status\":\r\n\t\t\treturn [\"#FC222F\", \"#138A8A\", \"#F48E09\", \"#20A9E9\", \"#F6BD02\", \"#465B65\", \"#FFFFFF\"];\r\n\t\tcase \"priority\":\r\n\t\t\treturn [\"#FC222F\", \"#138A8A\", \"#F48E09\", \"#20A9E9\", \"#F6BD02\", \"#465B65\", \"#FFFFFF\"];\r\n\t\tdefault:\r\n\t\t\treturn [\"#F8C8AE\", \"#D8FAFA\", \"#FDE7CB\", \"#D2EEFB\", \"#FEF2C8\", \"#C5C2D4\", \"#FFFFFF\"];\r\n\t}\r\n};\r\n\r\nexport const getBrandValueIcon = (n) => {\r\n\tconst number = Number(n);\r\n\tif (!number || number === \"\" || number > 16) return \"BV-1\";\r\n\treturn \"BV-\" + number;\r\n};\r\nexport const convertEnumToArray = (enumObject) => {\r\n\treturn Object.keys(enumObject).map((key) => ({\r\n\t\tvalue: t(key),\r\n\t\tid: enumObject[key],\r\n\t}));\r\n};\r\n\r\nexport const getDefaultName = (pathname) => {\r\n\tif (pathname === \"/opportunity\") return t(\"NEW_OPPORTUNITY_NAME\");\r\n\tif (pathname === \"/solutions\") return t(\"NEW_SOLUTION_NAME\");\r\n};\r\nexport function isDarkColor(hex, returnColor = false) {\r\n\t// Convertir hex en RGB\r\n\tif (hex === undefined || hex === \"\" || hex === null) {\r\n\t\tif (returnColor) return \"#333333\";\r\n\t\treturn false;\r\n\t}\r\n\tlet r = parseInt(hex.slice(1, 3), 16);\r\n\tlet g = parseInt(hex.slice(3, 5), 16);\r\n\tlet b = parseInt(hex.slice(5, 7), 16);\r\n\r\n\t// Calculer la luminance\r\n\tconst luminance = 0.299 * r + 0.587 * g + 0.114 * b;\r\n\tif (returnColor) return luminance < 150 ? \"#FFFFFF\" : \"#333333\";\r\n\r\n\treturn luminance < 150;\r\n}\r\n\r\nexport const getTableScrollHeight = ({ items, context }) => {\r\n\tlet height = items?.length * 56 + 100;\r\n\r\n\tif ([\"managePersonas\", \"library\"].includes(context)) return \"500px\";\r\n\tif (context === \"manageUsers\" && items?.length > 4) return \"calc(100vh - 450px)\";\r\n\r\n\tif (context === \"manageUsers\" && items?.length < 4) height += 300;\r\n\tif (![\"editPersona\", \"cxProgram\", \"cxActionsListGroup\"]?.includes(context) && items?.length > 4) return \"calc(100vh - 230px)\";\r\n\tif (items?.length < 4 && ![\"manageUsers\", \"cxProgram\", \"editPersona\", \"cxActionsListGroup\"]?.includes(context)) {\r\n\t\theight += 200; // for dropdown when the list is short\r\n\t}\r\n\tif (context === \"cxActionsListGroup\") {\r\n\t\theight += 200;\r\n\t}\r\n\tif (height < 500 && ![\"manageUsers\", \"cxProgram\", \"editPersona\", \"cxActionsListGroup\"]?.includes(context)) {\r\n\t\treturn \"calc(100vh - 230px)\";\r\n\t}\r\n\treturn height + \"px\";\r\n};\r\n\r\nexport const calculateFinancialImpact = ({ cxGoal, measure }) => {\r\n\tconst actual = Number(cxGoal?.actual || 0);\r\n\tconst goal = Number(cxGoal?.goal || 0);\r\n\r\n\tif (cxGoal.direction === CxGoalDirection.Increase) {\r\n\t\tif (goal - actual > 0) return measure?.baseUnit === 0 ? 0 : ((cxGoal?.goal - cxGoal?.actual) / measure?.baseUnit) * measure?.financialValue;\r\n\t\treturn 0;\r\n\t}\r\n\tif (cxGoal.direction === CxGoalDirection.Decrease) {\r\n\t\tif (actual - goal > 0) return measure?.baseUnit === 0 ? 0 : ((cxGoal?.actual - cxGoal?.goal) / measure?.baseUnit) * measure?.financialValue;\r\n\t\treturn 0;\r\n\t}\r\n\treturn 0;\r\n};\r\n\r\nexport const calculateTotalFinancialImpact = (kpiAttr, allGoals, allMeasures) => {\r\n\tlet sum = 0;\r\n\tkpiAttr?.items?.forEach((item) => {\r\n\t\tconst cxGoal = allGoals?.find((cxGoal) => cxGoal.id === item?.cxGoalId);\r\n\t\tconst measure = allMeasures?.find((measure) => measure.id === cxGoal?.measureId);\r\n\t\tif (measure) {\r\n\t\t\tsum += calculateFinancialImpact({ cxGoal, measure });\r\n\t\t}\r\n\t});\r\n\tif (isNaN(sum)) sum = \"\";\r\n\tconst newSum = parseInt(Math.round(sum))?.toLocaleString();\r\n\r\n\treturn newSum;\r\n};\r\nexport function joinByProperty(items, property, delimiter = \"|\") {\r\n\tif (delimiter === \"none\") return items?.map((item) => item[property]);\r\n\treturn items.map((item) => item[property]).join(delimiter);\r\n}\r\n\r\nexport function hasAttribute(obj, att) {\r\n\tif (obj !== undefined && obj !== null) {\r\n\t\treturn Object.prototype.hasOwnProperty.call(obj, att);\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nexport function constructUrl(baseUrl, params) {\r\n\t// Remove any undefined or empty values\r\n\tconst filteredParams = Object.entries(params).reduce((acc, [key, value]) => {\r\n\t\tif (value !== undefined && value !== \"\") {\r\n\t\t\tacc[key] = value;\r\n\t\t}\r\n\t\treturn acc;\r\n\t}, {});\r\n\r\n\t// Construct the query string\r\n\tconst queryString = new URLSearchParams(filteredParams).toString();\r\n\r\n\t// Return the full URL\r\n\treturn queryString ? `${baseUrl}?${queryString}` : baseUrl;\r\n}\r\nexport function getVeryLightShade(hexColor, opacity = 1.0) {\r\n\t// Remove the '#' character if it exists\r\n\thexColor = hexColor.replace(\"#\", \"\");\r\n\r\n\t// Convert the HEX color to RGB\r\n\tlet r = parseInt(hexColor.substring(0, 2), 16);\r\n\tlet g = parseInt(hexColor.substring(2, 4), 16);\r\n\tlet b = parseInt(hexColor.substring(4, 6), 16);\r\n\r\n\t// Lighten the color by adding a fixed amount to each RGB component\r\n\tlet lightR = Math.min(r + 80, 255);\r\n\tlet lightG = Math.min(g + 80, 255);\r\n\tlet lightB = Math.min(b + 80, 255);\r\n\r\n\t// Calculate the new RGB values for a very light pastel shade\r\n\tlet pastelR = Math.round((1 - opacity) * r + opacity * lightR);\r\n\tlet pastelG = Math.round((1 - opacity) * g + opacity * lightG);\r\n\tlet pastelB = Math.round((1 - opacity) * b + opacity * lightB);\r\n\r\n\t// Convert the new RGB values back to HEX\r\n\tlet pastelHexR = pastelR.toString(16).padStart(2, \"0\");\r\n\tlet pastelHexG = pastelG.toString(16).padStart(2, \"0\");\r\n\tlet pastelHexB = pastelB.toString(16).padStart(2, \"0\");\r\n\r\n\t// Construct the very light pastel HEX color string\r\n\tlet pastelHexColor = \"#\" + pastelHexR + pastelHexG + pastelHexB;\r\n\r\n\treturn pastelHexColor.toUpperCase();\r\n}\r\nexport function rgbaToHex(rgbaColor) {\r\n\t// Parse the RGBA color components\r\n\tlet rgbaValues = rgbaColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*([\\d.]+))?\\)$/);\r\n\tlet r = parseInt(rgbaValues[1]);\r\n\tlet g = parseInt(rgbaValues[2]);\r\n\tlet b = parseInt(rgbaValues[3]);\r\n\tlet a = rgbaValues[4] ? parseFloat(rgbaValues[4]) : 1;\r\n\r\n\t// Convert the RGBA values to HEX\r\n\tlet hexR = r.toString(16).padStart(2, \"0\");\r\n\tlet hexG = g.toString(16).padStart(2, \"0\");\r\n\tlet hexB = b.toString(16).padStart(2, \"0\");\r\n\tlet hexA = Math.round(a * 255)\r\n\t\t.toString(16)\r\n\t\t.padStart(2, \"0\");\r\n\r\n\t// Construct the HEX color string\r\n\tlet hexColor = \"#\" + hexR + hexG + hexB + hexA;\r\n\r\n\treturn hexColor.toUpperCase(); // Return uppercase hex color\r\n}\r\nexport function hexToRgb(hex = \"#FFFFFF\") {\r\n\t// Remove the hash at the start if it's there\r\n\thex = hex?.replace(/^#/, \"\");\r\n\r\n\t// Parse the hex string\r\n\tlet r, g, b;\r\n\r\n\tif (hex?.length === 3) {\r\n\t\t// If it's a shorthand hex code (e.g., #FFF)\r\n\t\tr = parseInt(hex[0] + hex[0], 16);\r\n\t\tg = parseInt(hex[1] + hex[1], 16);\r\n\t\tb = parseInt(hex[2] + hex[2], 16);\r\n\t} else if (hex?.length === 6) {\r\n\t\t// If it's a full hex code (e.g., #FFFFFF)\r\n\t\tr = parseInt(hex.substring(0, 2), 16);\r\n\t\tg = parseInt(hex.substring(2, 4), 16);\r\n\t\tb = parseInt(hex.substring(4, 6), 16);\r\n\t} else {\r\n\t\tthrow new Error(\"Invalid HEX color.\");\r\n\t}\r\n\r\n\treturn { r, g, b };\r\n}\r\n\r\nexport const createDefaultCxGoal = ({ mapId = EMPTY_GUID, stageId = EMPTY_GUID, measureId = EMPTY_GUID, cxGoalId = EMPTY_GUID }) => {\r\n\treturn {\r\n\t\tid: cxGoalId,\r\n\t\tmeasureId,\r\n\t\tmapId,\r\n\t\tstageId,\r\n\t\ttouchpointId: EMPTY_GUID,\r\n\t\tactual: 0,\r\n\t\tgoal: 0,\r\n\t\tfinancialImpact: 0,\r\n\t\tachieved: 0,\r\n\t\tdescription: \"\",\r\n\t\tdirection: CxGoalDirection.Increase,\r\n\t\tdate: \"\",\r\n\t};\r\n};\r\n\r\nexport const calculateOccurance = (insight) => {\r\n\tlet sum = 0;\r\n\tsum += Object.keys(insight?.linkedCjms).length;\r\n\tsum += insight?.linkedPersonas?.length;\r\n\tsum += insight?.linkedTouchpoints?.length;\r\n\tsum += insight?.linkedOpps?.length;\r\n\tsum += insight?.linkedSols?.length;\r\n\tsum += insight?.linkedActions?.length;\r\n\treturn sum;\r\n};\r\n\r\nexport const createDefaultUser = ({ isMultiSub, subPlan, userType }) => {\r\n\treturn {\r\n\t\tisMember: false,\r\n\t\tloginName: \"\",\r\n\t\temail: \"\",\r\n\t\tfirstName: \"\",\r\n\t\tlastName: \"\",\r\n\t\trole: \"\",\r\n\t\tsubscriptionPlan: isMultiSub ? -1 : Number(subPlan),\r\n\t\tuserType,\r\n\t\tisActive: true,\r\n\t};\r\n};\r\nexport const getKeyByValue = (object, value) => {\r\n\tif (!object) return \"\";\r\n\treturn Object.keys(object)?.find((key) => object[key].toString() === value.toString());\r\n};\r\nexport const typingEffectEditor = ({ text, setText, setEnd, speed = 30 }) => {\r\n\tlet index = 0;\r\n\tconst intervalId = setInterval(() => {\r\n\t\tif (index < text.length) {\r\n\t\t\tsetText((prev) => prev + text[index]);\r\n\t\t\tindex++;\r\n\t\t} else {\r\n\t\t\tif (setEnd) setEnd(true);\r\n\t\t\tclearInterval(intervalId); // Clear the interval to stop the typing effect\r\n\t\t}\r\n\t}, speed);\r\n};\r\n\r\nexport const getLanguagebyCode = (code) => {\r\n\tswitch (code) {\r\n\t\tcase \"en\":\r\n\t\t\treturn \"English\";\r\n\t\tcase \"es\":\r\n\t\t\treturn \"Spanish\";\r\n\t\tcase \"fr\":\r\n\t\t\treturn \"French\";\r\n\t\tcase \"de\":\r\n\t\t\treturn \"German\";\r\n\t\tcase \"it\":\r\n\t\t\treturn \"Italian\";\r\n\t\tcase \"nl\":\r\n\t\t\treturn \"Dutch\";\r\n\t\tdefault:\r\n\t\t\treturn \"English\";\r\n\t}\r\n};\r\nexport const getGenderByNumber = (genderNumber) => {\r\n\tswitch (genderNumber) {\r\n\t\tcase 100000000:\r\n\t\t\treturn \"Man\";\r\n\t\tcase 100000001:\r\n\t\t\treturn \"Woman\";\r\n\t\tdefault:\r\n\t\t\treturn \"Other\";\r\n\t}\r\n};\r\n\r\nexport function truncateWithEllipsis(str, maxLength) {\r\n\tif (str.length > maxLength) {\r\n\t\treturn str.substring(0, maxLength) + \"...\";\r\n\t}\r\n\treturn str;\r\n}\r\n\r\nexport const isEmptyObject = (obj) => Object.keys(obj).length === 0;\r\n\r\nexport const isNullOrEmptyObject = (obj) => {\r\n\tif (obj === null || obj === undefined) return true;\r\n\tif (typeof obj === \"object\" && Object.keys(obj).length === 0) return true;\r\n\treturn false;\r\n};\r\n\r\nexport const areYearsSimilar = (date1, date2) => {\r\n\tconst year1 = new Date(date1).getFullYear();\r\n\tconst year2 = new Date(date2).getFullYear();\r\n\r\n\treturn year1 === year2;\r\n};\r\nexport function extractAiGenerateListItem(prompt) {\r\n\t// Extract section title using a regex pattern\r\n\tconst results = prompt.result;\r\n\t// Split the prompt into lines and filter out those that contain designer info\r\n\r\n\t// Map each line to an object with id and description\r\n\tconst items = results?.items?.map((line, index) => {\r\n\t\tconst description = line.replace(/- /, \"\").trim(); // Remove the dash and space at the start\r\n\t\treturn {\r\n\t\t\tid: `${index + 1}`, // Assuming ID is a simple incremental value\r\n\t\t\tdescription,\r\n\t\t};\r\n\t});\r\n\tconst resultsTitle = results?.title;\r\n\t// Return the structured information\r\n\treturn {\r\n\t\tsectionTitle: resultsTitle,\r\n\t\titems,\r\n\t};\r\n}\r\n\r\nexport const GetDefaultSwimlaneName = (type) => {\r\n\tswitch (type) {\r\n\t\tcase InformationType.Text:\r\n\t\t\treturn \"TEXT_SWIMLANE\";\r\n\t\tcase InformationType.ActionsList:\r\n\t\t\treturn \"ACTION_SWIMLANE\";\r\n\t\tcase InformationType.Timing:\r\n\t\t\treturn \"TIMING_SWIMLANE\";\r\n\t\tcase InformationType.Opportunity:\r\n\t\t\treturn \"OPPORTUNITY_SWIMLANE\";\r\n\t\tcase InformationType.Image:\r\n\t\t\treturn \"IMAGE_SWIMLANE\";\r\n\t\tcase InformationType.Divider:\r\n\t\t\treturn \"DIVIDER_SWIMLANE\";\r\n\t\tcase InformationType.Solution:\r\n\t\t\treturn \"SOLUTION_SWIMLANE\";\r\n\t\tcase InformationType.ListItems:\r\n\t\t\treturn \"LISTITEMS_SWIMLANE\";\r\n\t\tcase InformationType.CustomerFeedback:\r\n\t\t\treturn \"FEEDBACKDATA_SWIMLANE\";\r\n\t\tcase InformationType.SentimentChart:\r\n\t\t\treturn \"SENTIMENT_CHART_SWIMLANE\";\r\n\t\tcase InformationType.CustomerActions:\r\n\t\t\treturn \"CUSTOMER_ACTIONS_SWIMLANE\";\r\n\t\tcase InformationType.AdvancedInteractions:\r\n\t\t\treturn \"INTERACTION_SWIMLANE\";\r\n\t\tcase InformationType.AdvancedActions:\r\n\t\t\treturn \"ADVANCED_ACTIONS_SWIMLANE\";\r\n\t\tcase InformationType.AdvancedPros:\r\n\t\t\treturn \"ADVANCED_PROS_SWIMLANE\";\r\n\t\tcase InformationType.AdvancedCons:\r\n\t\t\treturn \"ADVANCED_CONS_SWIMLANE\";\r\n\t\tcase InformationType.AdvancedInsights:\r\n\t\t\treturn \"ADVANCED_INSIGHTS_SWIMLANE\";\r\n\t\tcase InformationType.Touchpoints:\r\n\t\t\treturn \"TOUCHPOINTS_SWIMLANE\";\r\n\t\tcase InformationType.Systems:\r\n\t\t\treturn \"SYSTEM_SWIMLANE\";\r\n\t\tcase InformationType.Departments:\r\n\t\t\treturn \"DEPARTMENT_SWIMLANE\";\r\n\t\tcase InformationType.Feelings:\r\n\t\t\treturn \"FEELINGS_SWIMLANE\";\r\n\t\tcase InformationType.Insights:\r\n\t\t\treturn \"ADVANCED_INSIGHTS_SWIMLANE\";\r\n\t\tcase InformationType.KPIs:\r\n\t\t\treturn \"NEW_CX_GOALS_SWIMLANE\";\r\n\t}\r\n\treturn null;\r\n};\r\nexport function alphabeticSort(a, b) {\r\n\t// Regular expression to match non-alphabetic characters.\r\n\tconst nonAlphaRegex = /[^a-zA-Z]/g;\r\n\r\n\t// Remove non-alphabetic characters for comparison\r\n\tlet cleanA = a.name.replace(nonAlphaRegex, \"\").toLowerCase();\r\n\tlet cleanB = b.name.replace(nonAlphaRegex, \"\").toLowerCase();\r\n\r\n\t// Compare the cleaned strings\r\n\tif (cleanA < cleanB) return -1;\r\n\tif (cleanA > cleanB) return 1;\r\n\treturn 0;\r\n}\r\nexport const createDefaultCustomerFeedback = (stageId, personaId, id, name) => {\r\n\treturn {\r\n\t\tid: uuid(),\r\n\t\tstageId,\r\n\t\tpersonaId,\r\n\t\tconnectorId: id,\r\n\t\tstopRetrieveData: false,\r\n\t\tretrieveData: false,\r\n\t\ticons: [],\r\n\t\tcustomerFeedbackDatas: [],\r\n\t\tsurveyId: \"\",\r\n\t\tfilterId: \"\",\r\n\t\tratingQuestionId: \"\",\r\n\t\tjsonCondition: \"\",\r\n\t\tname: name ?? \"\",\r\n\t\tcxMetricsId: EMPTY_GUID,\r\n\t\ttouchpointId: EMPTY_GUID,\r\n\t\tsource: ConnectorSource.ImportFile,\r\n\t\tdiscussionIds: [],\r\n\t\terrorMsg: \"\",\r\n\t\tdescription: \"\",\r\n\t\tsourceDescription: null,\r\n\t};\r\n};\r\n\r\nexport const createDefaultPositionStrategy = (attribute = []) => {\r\n\tlet layout = [];\r\n\tlet row = 0;\r\n\tattribute.forEach((att, index) => {\r\n\t\tif (index != 0 && index % 2 == 0) {\r\n\t\t\trow++;\r\n\t\t}\r\n\r\n\t\tconst newItem = {\r\n\t\t\tw: 1,\r\n\t\t\th: 220,\r\n\t\t\tx: index % 2,\r\n\t\t\ty: row * 220,\r\n\t\t\ti: att.id,\r\n\t\t};\r\n\t\tlayout = [...layout, newItem];\r\n\t});\r\n\r\n\treturn layout;\r\n};\r\n\r\nexport const GetPickListUsers = (authorizedUsers, selectedRecords) => {\r\n\tconst mapUserIds = selectedRecords?.map((user) => user.id) || [];\r\n\tconst allRelevantusersAndTeams = authorizedUsers?.filter((user) => !mapUserIds?.includes(user?.id)) || [];\r\n\tconst teams = allRelevantusersAndTeams?.filter((user) => Object.prototype.hasOwnProperty.call(user, \"memberUserIds\") === true);\r\n\tconst users = allRelevantusersAndTeams?.filter((user) => Object.prototype.hasOwnProperty.call(user, \"memberUserIds\") === false);\r\n\treturn [...teams, ...users];\r\n};\r\n\r\nexport const createDefaultWorkspace = () => {\r\n\t//statusCode: active:1, trashed: 2\r\n\t//accessType: user or team\r\n\t//roleName: owner or viewer\r\n\treturn {\r\n\t\tname: \"My Workspace\",\r\n\t\tdescription: \"\",\r\n\t\tauthorizedUsers: [],\r\n\t\tcolorCode: \"#18AEAD\",\r\n\t\tisDefault: false,\r\n\t\tisCustomImage: false,\r\n\t\tstatusCode: 1,\r\n\t};\r\n};\r\n\r\nexport function isGUID(str) {\r\n\tconst guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\r\n\treturn guidRegex.test(str);\r\n}\r\n\r\nexport const getModeType = (mode) => {\r\n\tconst m = Number(mode);\r\n\tif (m === 1) return \"create\";\r\n\tif (m === 2) return \"update\";\r\n\tif (m === 3) return \"duplicate\";\r\n};\r\n\r\nexport function compareLists({ originalIds, modifiedIds }) {\r\n\t// Create sets from the lists to easily determine differences\r\n\tconst originalSet = new Set(originalIds);\r\n\tconst modifiedSet = new Set(modifiedIds);\r\n\r\n\t// Determine elements removed from the original list\r\n\tconst removed = originalIds.filter((item) => !modifiedSet.has(item)) || [];\r\n\r\n\t// Determine elements added to the modified list\r\n\tconst added = modifiedIds.filter((item) => !originalSet.has(item)) || [];\r\n\r\n\treturn { removed, added };\r\n}\r\n\r\nexport const getAuthorizedUserFromRegisteredUser = ({ authorizedUsers, registeredUser }) =>\r\n\tauthorizedUsers.find((authUser) => authUser?.domainName.toLowerCase() === registeredUser?.loginName?.toLowerCase());\r\n\r\nexport const findFirstAlphabeticalCharacter = (text) => {\r\n\tif (!text) return \"\";\r\n\tfor (let i = 0; i < text?.length; i++) {\r\n\t\tconst char = text[i];\r\n\t\tif (/[a-zA-Z]/.test(char)) {\r\n\t\t\treturn char;\r\n\t\t}\r\n\t}\r\n\r\n\treturn text.length > 0 ? text.charAt(0) : \"\";\r\n};\r\n\r\nexport const isUserActionValid = ({ user, userInfo }) => {\r\n\tconst userType = Number(userInfo.UserType);\r\n\tconst isLoggerCompanyAdmin = userType === UserType.companyAdmin;\r\n\tconst isLoggerAdmin = userType === UserType.admin;\r\n\r\n\t// Logged user actions are disabled\r\n\tif (userInfo.UserEmail.toLowerCase() === user?.loginName.toLowerCase()) return false;\r\n\r\n\t// If logged user is Admin, He can only modify roles / activate-deactivate User and Admin\r\n\t// He cannot modify / activate-deactivate a user with Company Admin role\r\n\tif (isLoggerAdmin && user.userType === UserType.companyAdmin) return false;\r\n\tif (isLoggerCompanyAdmin) return true;\r\n\r\n\treturn true;\r\n};\r\n\r\nexport const filterByActiveUsers = ({ authorizedUsers, registeredUsers }) => {\r\n\treturn authorizedUsers.filter((au) => {\r\n\t\tconst userDetails = registeredUsers?.find((ru) => ru?.loginName?.toLowerCase() === au?.domainName?.toLowerCase());\r\n\t\tif (userDetails) return userDetails?.isActive;\r\n\t\treturn false;\r\n\t});\r\n};\r\n\r\nexport const validateItems = (items, upsertItem) => {\r\n\tif (items.find((item) => item.id === upsertItem.id)) {\r\n\t\treturn items.map((item) => {\r\n\t\t\tif (item.id === upsertItem.id) {\r\n\t\t\t\titem = { ...upsertItem };\r\n\t\t\t}\r\n\t\t\treturn item;\r\n\t\t});\r\n\t}\r\n\treturn [...items, upsertItem];\r\n};\r\n\r\nexport const getAttachMode = (item) => {\r\n\tif (item?.fileName && item?.fileName !== \"\") return \"file\";\r\n\treturn \"link\";\r\n};\r\nexport const isValidURL = (url) => {\r\n\ttry {\r\n\t\tconst parsedUrl = new URL(url);\r\n\t\tif (parsedUrl.protocol === \"http:\" || parsedUrl.protocol === \"https:\") {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t} catch (e) {\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\nexport const getIsSubscriptionAllowed = ({ isMultiSubscription, contracts, access, userSubscriptionName }) => {\r\n\tif (!isMultiSubscription) return access?.includes(userSubscriptionName);\r\n\r\n\t// Check that the user has at least one contract with the requested access\r\n\treturn contracts?.find((contract) => access?.includes(contract.subscriptionPlan)) ? true : false;\r\n};\r\n\r\nexport const lightenColor = (color, percent) => {\r\n\tif (!color) return \"\";\r\n\tconst num = parseInt(color.replace(\"#\", \"\"), 16);\r\n\tconst amt = Math.round(2.55 * (percent || 0));\r\n\tconst R = (num >> 16) + amt;\r\n\tconst G = ((num >> 8) & 0x00ff) + amt;\r\n\tconst B = (num & 0x0000ff) + amt;\r\n\tconst blendFactor = 0.8; // You can adjust this to control how close to white the color becomes\r\n\tconst blendedR = Math.round(R + blendFactor * (255 - R));\r\n\tconst blendedG = Math.round(G + blendFactor * (255 - G));\r\n\tconst blendedB = Math.round(B + blendFactor * (255 - B));\r\n\treturn \"#\" + (0x1000000 + blendedR * 0x10000 + blendedG * 0x100 + blendedB).toString(16).slice(1);\r\n};\r\n\r\nexport const transformIsoStringToDate = (isoString) => {\r\n\tif (!isoString || isoString === \"\") return null;\r\n\tconst date = new Date(isoString);\r\n\treturn date;\r\n};\r\n\r\nexport const isNullOrEmpty = (value) => {\r\n\tif (value === null || value === undefined || value === \"\") {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tif (Array.isArray(value) && value.length === 0) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tif (typeof value === \"object\" && Object.keys(value).length === 0) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\treturn false;\r\n};\r\n\r\nexport const groupUniqueIdsWithNames = ({ objects, maps }) => {\r\n\tlet uniqueIdsMap = new Map();\r\n\r\n\tobjects?.forEach((obj) => {\r\n\t\tobj?.cjmIds?.forEach((id) => {\r\n\t\t\tif (!uniqueIdsMap.has(id)) {\r\n\t\t\t\tconst cjm = maps?.find((map) => map.cjmId === id);\r\n\t\t\t\tuniqueIdsMap.set(id, cjm.name);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\tlet result = [];\r\n\tuniqueIdsMap.forEach((name, id) => {\r\n\t\tresult.push({ value: id, name });\r\n\t});\r\n\r\n\treturn result.sort(alphabeticSort);\r\n};\r\n\r\nexport const getCxAttributesItemsIds = ({ data, informationType, attributeItem }) =>\r\n\tdata?.attributes?.filter((att) => att.type === informationType)?.flatMap((attribute) => attribute?.[attributeItem] || []);\r\nexport const getCxAttribute = ({ data, informationType }) => data?.attributes?.find((att) => att?.type === informationType);\r\n\r\nexport const getSolutionTypeData = (solutionTypeLabel = -1) => {\r\n\tswitch (solutionTypeLabel) {\r\n\t\tcase SolutionType.QuickWin:\r\n\t\t\treturn { variant: \"quickWin\", text: \"QUICK_WIN\" };\r\n\t\tcase SolutionType.NiceToHave:\r\n\t\t\treturn { variant: \"niceToHave\", text: \"NICE_TO_HAVE\" };\r\n\t\tcase SolutionType.ComplexProject:\r\n\t\t\treturn { variant: \"complexProj\", text: \"COMPLEX_PROJ\" };\r\n\t\tcase SolutionType.ToAvoid:\r\n\t\t\treturn { variant: \"toAvoid\", text: \"TO_AVOID\" };\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n};\r\nexport function getLabelForValue(value) {\r\n\tswitch (value) {\r\n\t\tcase 100000000:\r\n\t\t\treturn t(\"SECONDS\");\r\n\t\tcase 100000001:\r\n\t\t\treturn t(\"MINUTES\");\r\n\t\tcase 100000002:\r\n\t\t\treturn t(\"HOURS\");\r\n\t\tcase 100000003:\r\n\t\t\treturn t(\"DAYS\");\r\n\t\tcase 100000004:\r\n\t\t\treturn t(\"WEEKS\");\r\n\t\tcase 100000005:\r\n\t\t\treturn t(\"MONTHS\");\r\n\t\tcase 100000006:\r\n\t\t\treturn t(\"YEARS\");\r\n\t\tdefault:\r\n\t\t\treturn \"\";\r\n\t}\r\n}\r\n\r\nexport const actionSanitizer = (action) => {\r\n\tconst uiRouterActions = /@ui-router.+/g;\r\n\treturn uiRouterActions.test(action.type) ? { type: action.type, transition: sanitizeUIRouterTransition(action.transition) } : action;\r\n};\r\nexport const stateSanitizer = (state) => {\r\n\tif (state.router && state.router.last && state.router.last) {\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\trouter: sanitizeUIRouterTransition(state.router.last),\r\n\t\t};\r\n\t}\r\n\treturn state;\r\n};\r\nexport const sanitizeUIRouterTransition = (transition) => ({\r\n\tparams: transition.router && transition.router.globals && transition.router.globals.params,\r\n\tcurrent: transition.router && transition.router.globals && transition.router.globals.current,\r\n\ttargetState: transition.targetState && transition.targetState().state(),\r\n\tfrom: transition.from && transition.from(),\r\n\tto: transition.to && transition.to(),\r\n});\r\n\r\nexport function getRandomInt(x, y) {\r\n\tconst min = Math.ceil(x);\r\n\tconst max = Math.floor(y);\r\n\treturn Math.floor(Math.random() * (max - min + 1)) + min;\r\n}\r\n\r\nexport const getTaxonomyColorData = ({ entity, colorCode }) => {\r\n\tswitch (entity) {\r\n\t\tcase \"tag\":\r\n\t\t\treturn CustomizationColors[colorCode] || { color: \"#333\", backgroundColor: colorCode };\r\n\t\tcase \"group\":\r\n\t\t\treturn CustomizationColors[colorCode] || { color: \"#1e293b\", backgroundColor: \"#f3f4f6\" }\r\n\t\tcase \"status\":\r\n\t\t\treturn CustomizationColors[colorCode] || { color: \"#333\", backgroundColor: colorCode };\r\n\t\tcase \"priority\":\r\n\t\t\treturn CustomizationColors[colorCode] || { color: \"#333\", backgroundColor: colorCode };\r\n\t\tcase \"insightType\":\r\n\t\t\treturn CustomizationColors[colorCode] || { color: \"#333\", backgroundColor: colorCode };\r\n\t\tdefault:\r\n\t\t\treturn \"\";\r\n\t}\r\n};\r\n\r\nexport const getSelectableIds = ({ selectedItems, linkedAttribute }) => {\r\n const selectableIds = [];\r\n selectedItems?.forEach((selectedItem) => {\r\n selectedItem[linkedAttribute]?.forEach((linkedItem) => {\r\n if (!selectableIds?.includes(linkedItem)) selectableIds.push(linkedItem);\r\n });\r\n });\r\n return selectableIds;\r\n}\r\n\r\nexport const getTimeSince = ({ createdOn }) => {\r\n\tconst now = Date.now();\r\n\tconst createdOnTime = new Date(createdOn).getTime();\r\n\tconst difference = now - createdOnTime; // Difference in milliseconds\r\n\r\n\t// Define time units in milliseconds\r\n\tconst seconds = 1000;\r\n\tconst minutes = seconds * 60;\r\n\tconst hours = minutes * 60;\r\n\tconst days = hours * 24;\r\n\tconst weeks = days * 7;\r\n\tconst months = days * 30;\r\n\tconst years = days * 365;\r\n\r\n\t// Helper function to format time in hh:mm AM/PM format\r\n\tconst formatTime = (date) => {\r\n\t\tlet hours = date.getHours();\r\n\t\tconst minutes = date.getMinutes().toString().padStart(2, \"0\");\r\n\t\tconst period = hours >= 12 ? \"PM\" : \"AM\";\r\n\r\n\t\t// Convert to 12-hour format\r\n\t\thours = hours % 12;\r\n\t\thours = hours ? hours : 12; // If hour is 0, display as 12\r\n\t\treturn `${hours}:${minutes} ${period}`;\r\n\t};\r\n\r\n\t// Get the current date and the most recent date\r\n\tconst recentDate = new Date(createdOn);\r\n\r\n\t// If the difference is less than a day, show the time \"Today at...\"\r\n\tif (difference < days) {\r\n\t\treturn `Today at ${formatTime(recentDate)}`;\r\n\t}\r\n\t// If the difference is less than two days, show \"Yesterday at...\"\r\n\telse if (difference < days * 2) {\r\n\t\treturn `Yesterday at ${formatTime(recentDate)}`;\r\n\t}\r\n\t// If the difference is less than a week, show in days\r\n\telse if (difference < weeks) {\r\n\t\tconst d = Math.floor(difference / days);\r\n\t\treturn `${d} days ago`;\r\n\t}\r\n\t// If the difference is less than a month, show in weeks\r\n\telse if (difference < months) {\r\n\t\tconst w = Math.floor(difference / weeks);\r\n\t\treturn `${w} week${w > 1 ? \"s\" : \"\"} ago`;\r\n\t}\r\n\t// If the difference is less than a year, show in months\r\n\telse if (difference < years) {\r\n\t\tconst m = Math.floor(difference / months);\r\n\t\treturn `${m} month${m > 1 ? \"s\" : \"\"} ago`;\r\n\t}\r\n\t// If the difference is more than a year, show in years\r\n\tconst y = Math.floor(difference / years);\r\n\treturn `${y} year${y > 1 ? \"s\" : \"\"} ago`;\r\n};\r\n","export default __webpack_public_path__ + \"static/media/quote-bg.34cd5e00.svg\";","import styled, { css } from \"styled-components/macro\";\r\nimport { ActionBox } from \"./input\";\r\nimport img from \"@Assets/images/quote-bg.svg\";\r\nimport { InformationType } from \"@utils/optionsSets/OptionSets\";\r\n\r\nexport const CardContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\r\n\t/* border-radius: 0.25rem; */\r\n\t/* box-shadow: 1px 1px 3px rgba(33,33,33,.3); */\r\n\t/* overflow: hidden; DO NOT ADD THIS LINE EVER - it cut the toolbar of the editor*/\r\n\toverflow: ${(props) => (props.allowSectionsOverFlow ? \"none\" : \"hidden\")}; // this hide the custom Editor but also allow the cursor to be hidden if we add many text. Simon.B\r\n\r\n\tmin-height: calc(220px - 0.5rem);\r\n\twidth: 100%;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid transparent;\r\n\r\n\t${(props) => props.focus && `animation: name 2s ease-out;`}\r\n\t@keyframes name {\r\n\t\t100% {\r\n\t\t\tborder: 1px solid #f96209;\r\n\t\t}\r\n\t}\r\n\tbackground: ${(props) => (props?.background?.length === 0 ? \"#FFFFFF\" : props.background)};\r\n\r\n\t${(props) =>\r\n\t\tprops.type === InformationType.Quote &&\r\n\t\t` background-image:url(${img}) ;\r\n background-repeat:no-repeat;\r\n background-size:20%;\r\n background-position:50% 20%;\r\n `}\r\n\t&:hover ${ActionBox} {\r\n\t\tdisplay: flex;\r\n\t}\r\n\tinput {\r\n\t\tbackground: ${(props) => props.background};\r\n\t}\r\n\t#img {\r\n\t\tbackground-color: #fff;\r\n\t\twidth: 100%;\r\n\t\tmax-height: 266px;\r\n\t\tobject-fit: contains;\r\n\t}\r\n\t:hover {\r\n\t\tborder: 1px solid #c4c4c4;\r\n\t\t#addTargetButton {\r\n\t\t\tvisibility: visible;\r\n\t\t}\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.strategy &&\r\n\t\tcss`\r\n\t\t\tpadding: 0.8rem;\r\n\t\t`}\r\n`;\r\n\r\nexport const SettingPageContainer = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\toverflow: auto;\r\n\tpadding: 1rem;\r\n`;\r\n\r\nexport const Handle = styled.div`\r\n\tposition: absolute;\r\n\ttop: 25%;\r\n\tleft: -10px;\r\n`;\r\n\r\nexport const SwimlanesSidebar = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: start;\r\n\tflex-direction: column;\r\n\tbackground: ${({color}) => color || \"#ffffff\"};\r\n\tmin-width: 212px;\r\n\tmax-width: 212px;\r\n\tdisplay: ${(props) => (props.open ? \"flex\" : \"none\")};\r\n\ttransition: width 0.5s ease-in-out;\r\n\tposition: sticky;\r\n\tleft: 0;\r\n\tz-index: 2;\r\n\t:hover {\r\n\t\tz-index: 3;\r\n\t}\r\n\t.expand {\r\n\t\tvisibility: hidden !important;\r\n\t}\r\n\t:hover .expand {\r\n\t\tvisibility: inherit !important;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.stage === \"true\" &&\r\n\t\tcss`\r\n\t\t\theight: 100%;\r\n\t\t`}\r\n\tborder-right: 1px solid #C4C4C4;\r\n`;\r\n","import Moment from \"react-moment\";\r\nimport React from \"react\";\r\n\r\nexport const DateComponent = ({\r\n\tdate,\r\n\tformat = {\r\n\t\tsameDay: \"LT\",\r\n\t\tlastDay: \"[Yesterday] LT\",\r\n\t\tlastWeek: \"MMM D LT\",\r\n\t\tsameElse: \"MMM D LT\",\r\n\t},\r\n}) => {\r\n\treturn {date};\r\n};\r\n","import styled, { css } from \"styled-components/macro\";\r\nimport { Col } from \"reactstrap\";\r\nimport { Row } from \"react-bootstrap\";\r\n\r\nexport * from \"./buttons\";\r\nexport * from \"./input.js\";\r\nexport * from \"./containers\";\r\nexport * from \"../Icons\";\r\nexport * from \"./colors\";\r\nexport * from \"./date\";\r\nexport * from \"../dropdowns/ActionsDropdown\";\r\nexport * from \"../dropdowns/GenericDropdown\";\r\nexport * from \"../popovers/GenericPopover\";\r\n\r\nexport const Flex = styled.div`\r\n\tdisplay: flex;\r\n\t${(props) => props.gap && `gap: ${props.gap}px`};\r\n\t${(props) => props.vertical && `flex-direction: column;`}\r\n\t${(props) => props.justify && `justify-content: ${props.justify};`}\r\n`;\r\nexport const FlexWrap = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\talign-items: center;\r\n\t${(props) => props.scroll && `overflow-y: scroll;max-height: ${props.maxHeight}px;`}\r\n\tgap: ${(props) => props.gap}px;\r\n`;\r\n\r\nexport const FlexGap = styled.div`\r\n\tdisplay: flex;\r\n\tgap: ${(props) => props.gap}px;\r\n`;\r\n\r\nexport const FlexAlignCenter = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t${(props) => props?.gap && `gap: ${props.gap}px`};\r\n\t${(props) => props?.minHeight && `min-height: ${props.minHeight}px`};\r\n`;\r\nexport const FlexAlign = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t${(props) => props.gap && `gap: ${props.gap}px`};\r\n\t${(props) => props.minHeight && `min-height: ${props.minHeight}px`};\r\n\t${(props) => props.align && `align-items: ${props.align}`};\r\n`;\r\nexport const ColFlexAlignCenter = styled(Col)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t${(props) => props.gap && `gap: ${props.gap}px`};\r\n`;\r\nexport const ColFlexAlignCenterBetween = styled(Col)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\t${(props) => props.gap && `gap: ${props.gap}px`};\r\n\t.generic-button-delete {\r\n\t\tdisplay: none;\r\n\t}\r\n\t:hover {\r\n\t\tbackground-color: #efefef;\r\n\t}\r\n\t&:hover .generic-button-delete {\r\n\t\tdisplay: block;\r\n\t}\r\n`;\r\n\r\nexport const FlexAlignEnd = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: flex-end;\r\n`;\r\nexport const FlexAlignAndJustifyEnd = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: flex-end;\r\n\tjustify-content: end;\r\n`;\r\nexport const FlexJustifyStart = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: start;\r\n\t${(props) => props.gap && `gap: ${props.gap}px`};\r\n`;\r\nexport const FlexAlignJustifyCenter = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\t${(props) => props.gap && `gap: ${props.gap}px`};\r\n`;\r\n\r\nexport const FlexBetween = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t\topacity: 0.5;\r\n\t\t`};\r\n\t${(props) => props.gap && `gap: ${props.gap}px;`}\r\n`;\r\n\r\nexport const FlexBetweenAlignEnd = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: end;\r\n`;\r\n\r\nexport const FlexBetweenAlignCenter = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\t${(props) => props.gap && `gap: ${props.gap}px`};\r\n\t${(props) => props.disabled && `pointer-events:none;opacity:0.5;`}\r\n\t${(props) => props.width && `width: ${props.width}px; min-width: ${props.width}px; min-width: ${props.width}px;`};\r\n\t${(props) => props.minHeight && `min-height: ${props.minHeight}px`};\r\n\t${(props) => props.minWidth && `min-width: ${props.minWidth}`};\r\n\t.generic-button-delete {\r\n\t\tdisplay: none;\r\n\t}\r\n\t:hover {\r\n\t\t${(props) => props.allowBackgroundHover && `background-color:#EFEFEF`};\r\n\t}\r\n\t&:hover .generic-button-delete {\r\n\t\tdisplay: block;\r\n\t}\r\n`;\r\nexport const FlexEndAlignCenter = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\talign-items: center;\r\n\t${(props) => props.gap && `gap: ${props.gap}px`};\r\n\t${(props) => props.disabled && `pointer-events:none;opacity:0.5;`}\r\n`;\r\n\r\nexport const FlexColumn = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: ${(props) => props.gap}px;\r\n\t${(props) => props.maxWidth && `max-width: ${props.maxWidth}%`};\r\n`;\r\n\r\nexport const FlexColumnGap = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: ${(props) => props.gap}px;\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t\topacity: 0.5;\r\n\t\t`}\r\n`;\r\nexport const FlexColumnAlignCenter = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n`;\r\nexport const FlexColumnJustifyBetween = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nexport const FlexColumnAlignJustifyCenter = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nexport const Label = styled.div`\r\n\tcolor: ${(props) => (props.color ? props.color : \"#605f60\")};\r\n\tfont-family: \"Inter\";\r\n\tfont-size: ${(props) => props.size}px;\r\n\tfont-style: ${(props) => (props.fs ? props.fs : \"normal\")};\r\n\tfont-weight: ${(props) => (props.fw ? props.fw : 400)};\r\n\t/* text-transform: capitalize; */\r\n\tline-height: ${(props) => (props.lh && props.lh )}px;\r\n`;\r\nexport const FlexAlignStart = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: self-start;\r\n\t${(props) => props.gap && `gap: ${props.gap}px`};\r\n\t${(props) => props.minWidth && `min-width: ${props.minWidth}`};\r\n`;\r\n\r\nexport const Borders = ({ children, top = false, bottom = false, left = false, right = false, color = \"#EFEFEF\", className = \"\", ...props }) => {\r\n\t// Styles based on the provided props\r\n\tconst borderStyle = {\r\n\t\tborderTop: top ? `1px solid ${color}` : \"none\",\r\n\t\tborderBottom: bottom ? `1px solid ${color}` : \"none\",\r\n\t\tborderLeft: left ? `1px solid ${color}` : \"none\",\r\n\t\tborderRight: right ? `1px solid ${color}` : \"none\",\r\n\t\tminHeight: \"30px\",\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{children}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const PageContainer = styled.div`\r\n\tpadding: 3rem;\r\n`;\r\n\r\nexport const PageHeader = styled(Row)`\r\n\t/* margin: 1.5rem !important; */\r\n\t/* margin-bottom: 0rem !important; */\r\n\tjustify-content: space-between !important;\r\n\tdisplay: flex !important;\r\n`;\r\n\r\nexport const PageTitle = styled.h1`\r\n\t/* margin: 1.5rem !important;\r\n\t padding: 0;\r\n\tcolor: #333333; */\r\n`;\r\n\r\nexport const ScrollContainer = styled.div`\r\n\t//overflow-y: auto;\r\n\twidth: 100%;\r\n`;\r\n\r\nexport const EmptyListContainer = styled.div`\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\t${(props) => (props.small === \"true\" ? \"\" : \"height: 24vh; padding-top: 6rem;\")};\r\n\toverflow: hidden;\r\n\t${(props) => (props.inNotification ? \"height: 100%; padding-top:0rem;\" : \"\")}\r\n`;\r\n\r\nexport const EmptyListImg = styled.img`\r\n\twidth: 150px;\r\n`;\r\n\r\nexport const EmptyListText = styled.div`\r\n\tmargin-top: 1rem;\r\n`;\r\n","\r\nexport const StatusCode = { Active: 1, Archived: 100000000, Trashed: 2, Revised: 100000002 };\r\n\r\nexport const InformationType = {\r\n\tText: 100000000,\r\n\tImage: 100000001,\r\n\tListItems: 100000002,\r\n\tActionsList: 100000003,\r\n\tOpportunity: 100000004,\r\n\tBrandValue: 100000005,\r\n\tFeelings: 100000006,\r\n\tCustomerActions: 100000007,\r\n\tTouchpoints: 100000008,\r\n\tSystems: 100000009,\r\n\tDepartments: 100000010,\r\n\tTiming: 100000011,\r\n\tSentimentChart: 100000012,\r\n\tRating: 100000013,\r\n\tSlider: 100000014,\r\n\tDemographic: 100000015,\r\n\tTags: 100000016,\r\n\tAdvancedInteractions: 100000017,\r\n\tQuote: 100000018,\r\n\tTarget: 100000019,\r\n\tStakeHolder: 100000020,\r\n\tKPIs: 100000021,\r\n\tAdvancedPros: 100000022,\r\n\tAdvancedCons: 100000023,\r\n\tAdvancedInsights: 100000024,\r\n\tCustomLibrary: 100000025,\r\n\tDivider: 100000026,\r\n\tAdvancedActions: 100000027,\r\n\tSolution: 100000028,\r\n\tCustomerFeedback: 100000029,\r\n\tInsights: 100000030,\r\n\tAttachment: 100000031,\r\n\tPersona: 100000032,\r\n\tOwner: 100000033,\r\n\tDueDate: 100000034,\r\n\tPriority: 100000035,\r\n\tStatus: 100000036,\r\n\tGroup: 100000037,\r\n\tAdvancedRating: 100000038,\r\n\tTextGlobal: 100000040,\r\n JourneyMap: 100000041,\r\n Project: 100000042\r\n};\r\n\r\n\r\nexport const BrandValueType = { Emotional: 100000000, Functional: 100000001 };\r\n\r\nexport const SolutionType = { QuickWin: 100000000, ComplexProject: 100000001, NiceToHave: 100000002, ToAvoid: 100000003 };\r\n\r\nexport const UserType = { user: 100000000, admin: 100000001, companyAdmin: 100000002, readOnly: 100000003 };\r\n\r\nexport const UserTypeByValue = { 100000000: \"user\", 100000001: \"admin\", 100000002: \"companyAdmin\", 100000003: \"readOnly\" };\r\n\r\nexport const StateTypeOption = { CurrentState: 100000000, FutureState: 100000001 };\r\n\r\nexport const AttributeItemType = { Text: 100000000, Gender: 100000001, Number: 100000002 };\r\n\r\nexport const GenderType = { Male: 100000000, Female: 100000001, Other: 100000002 };\r\n\r\nexport const SubscriptionPlan = { Basic: 100000000, Standard: 100000001, Expert: 100000002, Enterprise: 100000003, SharedExpert: 100000004, SharedEnterprise: 100000005 };\r\n\r\nexport const TemplateStatus = { draft: 100000000, published: 100000001, cemantica: 100000002 };\r\n\r\nexport const EntityList = {\r\n\tGlobal: 1,\r\n\tCustomerJourney: 100000000,\r\n\tPersona: 100000001,\r\n\tCXProgram: 100000002,\r\n\tOpportunity: 100000003,\r\n\tSolution: 100000004,\r\n\tAction: 100000005,\r\n\tProject: 100000006,\r\n Insight: 100000007,\r\n User: 100000008,\r\n CustomLibrary: 100000009\r\n};\r\n\r\nexport const DividerPatternType = { Solid: 100000000, Lines: 100000001, ZigZag: 100000002, Diagonal: 100000003, Rectangles: 100000004 };\r\n\r\nexport const CxGoalDirection = { Increase: 100000000, Decrease: 100000001 };\r\nexport const ConnectorSource = { Qualtrics: 100000000, Manual: 100000001, SurveyMonkey: 100000002, Sandsiv: 100000003, ImportFile: 100000004, Monday: 100000005 };\r\nexport const ConnectorType = { VOC: 100000000, ProjectManagement: 100000001 };\r\n\r\nexport const AuditOperation = { ADDED: 0, UPDATED: 1, DELETED: 2, LINKED: 3, UNLINKED: 4, COPIED: 5 };\r\n\r\nexport const DalleSizeImg = { regular: \"1024x1024\", horizontalRec: \"1792x1024\", verticalRec: \"1024x1792\" };\r\n\r\nexport const urlOriginStatus = { DefaultReturn: \"1\" };\r\n\r\nexport const modes = { create: 1, update: 2, duplicate: 3 };\r\nexport const MapMode = { Simple : 100000000, Advanced : 100000001, Custom : 100000002, ServiceBluePrint : 100000003 };\r\nexport const StatusAI = { None : 100000000, InProcess : 100000001, Ready : 100000002, Fails : 100000003 };\r\nexport const invalidWorkspaceStatus = { Disabled: 1, Removed: 2, DisabledSwitch: 3, RemovedSwitch: 4 };","import { constructUrl } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\n\r\nconst BASE_URL = \"api/cxassessment/\";\r\n\r\nconst createPostAction = InitActionCreator({ baseUrl: BASE_URL, method: \"POST\" });\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" });\r\n\r\nexport const getAllCxAssessments = ({ cxProgramId }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_ALL_CX_ASSESSMENTS\",\r\n\t\tendPoint: constructUrl(\"getAll\", {\r\n\t\t\tcxProgramId,\r\n\t\t}),\r\n\t});\r\n\r\nexport const createCxAssessment = ({ cxProgramId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_CX_ASSESSMENT\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateCxAssessment = ({ cxProgramId, modifiedCxAssessment, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CX_ASSESSMENT\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tmodifiedCxAssessment,\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteCxAssessment = ({ cxProgramId, cxAssessmentIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_CX_ASSESSMENTS\",\r\n\t\t\tendPoint: \"deletePermanently\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tcxAssessmentIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props?.displayToast || \"DELETE\",\r\n\t});\r\n\r\nexport const getCxProgramAssessmentsExcelExportList = ({ cxProgramId }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_CX_PROGRAM_ASSESSMENTS_EXCEL\",\r\n\t\tendPoint: constructUrl(\"getExcelExport\", {\r\n\t\t\tcxProgramId,\r\n\t\t}),\r\n\t\tresponseType: \"blob\",\r\n\t});\r\n","import { encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/folder/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/folder/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const getFolders = () => createGetAction({ type: 'GET_FOLDERS', endPoint: \"getAll\", meta: { joinRequest: 'GET_FOLDERS' } })\r\nexport const getAllFoldersFn = () => genericService({ action: getFolders });\r\nexport const updateFolderName = (props) => createPostAction({\r\n\ttype: 'UPDATE_FOLDER_NAME', endPoint: \"updateFolderName\",\r\n\tdata: {\r\n\t\tfolderId: props?.id,\r\n\t\tnewValue: window.btoa(unescape(encodeURIComponent(props.name))),\r\n\t}\r\n})\r\nexport const deleteFolder = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: 'DELETE_FOLDER', endPoint: \"deleteFolder\",\r\n\t\tdata: {\r\n\t\t\tfolderId: props?.id,\r\n\t\t}\r\n\t})\r\n});\r\nexport const archiveFolder = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: 'ARCHIVE_FOLDER', endPoint: \"archiveFolder\",\r\n\t\tdata: {\r\n\t\t\tfolderId: props?.id,\r\n\t\t}\r\n\t})\r\n});\r\n\r\nexport const deleteFolderPermanently = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: 'DELETE_FOLDER_PERMANENTLY', endPoint: \"deletePermanentlyFolder\",\r\n\t\tdata: {\r\n\t\t\tfolderId: props?.id,\r\n\t\t}\r\n\t})\r\n});\r\nexport const restoreFolder = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: 'RESTORE_FOLDER', endPoint: \"restoreFolder\",\r\n\t\tdata: {\r\n\t\t\tfolderId: props?.id,\r\n\t\t}\r\n\t})\r\n});\r\nexport const createFolder = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: 'CREATE_FOLDER', endPoint: \"createFolder\",\r\n\t\tdata: {\r\n\t\t\tname: encode(props.name),\r\n\t\t\tparentId: props.parentId,\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: \"CREATE\",\r\n});\r\nexport const updateFolderLinks = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: 'UPDATE_LINKED_FOLDERS', endPoint: \"updateFolderLinks\",\r\n\t\tdata: {\r\n\t\t\tfolderIds: props?.folderIds,\r\n\t\t\tidsToLink: props?.idsToLink || [],\r\n\t\t\tidsToUnlink: props?.idsToUnlink || [],\r\n\t\t\tentityName: props?.entityName,\r\n\t\t}\r\n\t}),\r\n\t// displayToast: \"UPDATE\", toastParams: {success: t(\"RECORDS_MOVED_TO_FOLDER\")}\r\n});\r\n","import { genericService } from \"shared/GenericService\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/team/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/team/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const getAllTeams = () => createGetAction({ type: \"GET_ALL_TEAMS\", endPoint: \"getAll\" });\r\n\r\nexport const upsertTeam = ({ team, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPSERT_TEAM\",\r\n\t\t\tendPoint: \"upsert\",\r\n\t\t\tdata: {\r\n\t\t\t\tteam,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const deleteTeam = ({ teamId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_TEAM\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tteamId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const addMembers = ({ teamIds, userIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ADD_MEMBERS_TO_TEAM\",\r\n\t\t\tendPoint: \"addMembers\",\r\n\t\t\tdata: { teamIds, userIds },\r\n\t\t}),\r\n\t});\r\n\r\nexport const removeMember = ({ teamId, userId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"REMOVE_MEMBER_FROM_TEAM\",\r\n\t\t\tendPoint: \"removeMember\",\r\n\t\t\tdata: { teamId, userId },\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateUsersTeams = ({ userIds, idsToAdd, idsToRemove, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_USERS_TEAMS\",\r\n\t\t\tendPoint: \"updateMembers\",\r\n\t\t\tdata: { userIds, idsToAdd, idsToRemove },\r\n\t\t}),\r\n\t});\r\n","/* eslint-disable no-undef */\r\nimport { encode, toastWrapper } from '@utils/helpers';\r\nimport { store } from 'redux/store';\r\nimport { genericService } from 'shared/GenericService';\r\n\r\nexport * from '../features/cx-actions/reducer/CxActionActions';\r\nexport * from \"../features/cx-assessements/reducer/CxAssessementsActions\";\r\nexport * from \"../features/folders/reducer/FoldersActions\";\r\nexport * from \"../features/forms/cx-programs/reducer/CxProgramActions\";\r\nexport * from \"../features/forms/personas/reducer/PersonaActions\";\r\nexport * from \"../features/insights/reducer/InsightActions\";\r\nexport * from '../features/journey-map/reducer/CJMActions';\r\nexport * from \"../features/library/reducer/LibraryActions\";\r\nexport * from \"../features/opportunity/reducer/OpportunityActions\";\r\nexport * from \"../features/settings/reducer/SettingsActions\";\r\nexport * from \"../features/settings/reducer/TeamActions\";\r\nexport * from \"../features/settings/reducer/UserActions\";\r\nexport * from \"../features/solutions/reducer/SolutionsActions\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta,headers }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\theaders,\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nexport const updateLanguage = (language) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_LANGUAGE\",\r\n\t\tpayload: language,\r\n\t};\r\n};\r\n\r\nexport const submitReportRequest = (Subject, Message) => {\r\n\treturn {\r\n\t\ttype: \"SUBMIT_REPORT_REQUEST\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/bo/submitReportRequest\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tSubject,\r\n\t\t\t\tMessage,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\n\r\n\r\n\r\nexport const getNotifs = () => {\r\n\treturn {\r\n\t\ttype: 'GET_NOTIFICATIONS',\r\n\t\trequest: {\r\n\t\t\turl: 'api/notif/getMyLast30',\r\n\t\t\tmethod: 'GET',\r\n\r\n\t\t},\r\n\t\tmeta: { joinRequest: 'GET_NOTIFICATIONS' },\r\n\r\n\t}\r\n}\r\nexport const dismissNotifs = ({ notificationIds }) => {\r\n\treturn {\r\n\t\ttype: 'DISMISS_NOTIFICATIONS',\r\n\t\trequest: {\r\n\t\t\turl: 'api/notif/dismiss',\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: {\r\n\t\t\t\tnotificationIds: notificationIds\r\n\t\t\t}\r\n\r\n\t\t},\r\n\r\n\t}\r\n}\r\nexport const updateStatusNotifs = ({ seen, notificationId }) => {\r\n\treturn {\r\n\t\ttype: 'UPDATE_STATUS_NOTIFICATION',\r\n\t\trequest: {\r\n\t\t\turl: 'api/notif/updateStatus',\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: {\r\n\t\t\t\tseen: seen,\r\n\t\t\t\tnotificationId: notificationId\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport const createNotif = ({ mentionedUsersId, notificationType, referencedObjectId, referenceObjectUrl }) => {\r\n\treturn {\r\n\t\ttype: 'CREATE_NOTIFICATION',\r\n\t\trequest: {\r\n\t\t\turl: 'api/notif/create',\r\n\t\t\tmethod: 'POST',\r\n\t\t\tdata: {\r\n\t\t\t\tmentionedUsersId: mentionedUsersId,\r\n\t\t\t\tnotificationType: notificationType,\r\n\t\t\t\treferencedObjectId: referencedObjectId,\r\n\t\t\t\treferenceObjectUrl: referenceObjectUrl\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst createPostAttachment = InitActionCreator({ baseUrl: \"api/attachment/\", method: \"POST\" }); // api actions type post\r\n\r\nconst getFile = ({ name, itemId, objId, objName }) => createPostAttachment({\r\n\ttype: \"GET_FILE\", endPoint: \"getFile\",\r\n\tdata: {\r\n\t\tname: encode(name),\r\n\t\titemId: itemId,\r\n\t\tobjId: objId,\r\n\t\tobjName: objName\r\n\t},\r\n\tresponseType: \"blob\",\r\n\r\n});\r\nexport const getFileService = ({ name, itemId, objId, objName }) => {\r\n\tconst promise = async () => {\r\n\t\tconst { data, error } = await store.dispatch(getFile({ name, itemId, objId, objName }));\r\n\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\tfileDownload(data, name);\r\n\t\tif (error) throw error;\r\n\t};\r\n\ttoastWrapper(promise, \"EXPORT\");\r\n};\r\nconst createPosAttribute = InitActionCreator({ baseUrl: \"api/cxattribute/\", method: \"POST\" });\r\n// api actions type post\r\nexport const updateAttributeAPI = ({ modfifiedCxAttribute, modifiedAttribNames, ...props }) => genericService({\r\n\t...props,\r\n\taction: createPosAttribute({\r\n\t\ttype: \"UPDATE_CX_ATTRIBUTE\",\r\n\t\tendPoint: \"update\",\r\n\t\tdata: {\r\n\t\t\tmodifiedCxAttribute: modfifiedCxAttribute,\r\n\t\t\tmodifiedAttribNames: modifiedAttribNames,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateAttributeAPIMulti = ({ modifiedCxAttributes, modifiedAttribNames, ...props }) => genericService({\r\n\t...props,\r\n\taction: createPosAttribute({\r\n\t\ttype: \"UPDATE_CX_ATTRIBUTES\",\r\n\t\tendPoint: \"updateMulti\",\r\n\t\tdata: {\r\n\t\t\tmodifiedCxAttributes,\r\n\t\t\tmodifiedAttribNames,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\n\r\n\r\n\r\nexport const linkRecordAttributeAPI = ({ recEntityName, recIds, attributeId, objId, objName, ...props }) => genericService({\r\n\t...props,\r\n\taction: createPosAttribute({\r\n\t\ttype: \"LINK_CX_ATTRIBUTE\",\r\n\t\tendPoint: \"linkRecords\",\r\n\t\tdata: {\r\n\t\t\trecEntityName: recEntityName,\r\n\t\t\trecIds: recIds, // array of record ids to link\r\n\t\t\tcxAttributeId: attributeId,\r\n\t\t\tobjId: objId,\r\n\t\t\tobjName: objName\r\n\r\n\t\t},\r\n\t}),\r\n});\r\n\r\n\r\nexport const unlinkRecordAttributeAPI = ({ recEntityName, recIds, attributeId, objId, objName, ...props }) => genericService({\r\n\t...props,\r\n\taction: createPosAttribute({\r\n\t\ttype: \"UNLINK_CX_ATTRIBUTE\",\r\n\t\tendPoint: \"unLinkRecords\",\r\n\t\tdata: {\r\n\t\t\trecEntityName: recEntityName,\r\n\t\t\trecIds: recIds, // array of record ids to link\r\n\t\t\tcxAttributeId: attributeId,\r\n\t\t\tobjId: objId,\r\n\t\t\tobjName: objName\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateUserModification = ({ objId, objName, userName, ...props }) => genericService({\r\n\t...props,\r\n\taction: createPosAttribute({\r\n\t\ttype: \"UPDATE_USER_MODIFICATION\",\r\n\t\tendPoint: \"updateUserModification\",\r\n\t\tdata: {\r\n\t\t\tobjId: objId,\r\n\t\t\tobjName: objName\r\n\t\t},\r\n\t\tparams: {\r\n\t\t\tuserName\r\n\t\t}\r\n\t}),\r\n});\r\n\r\n\r\nexport const upsertCXAttributeAttachItem = ({ data, ...props }) => {\r\n\tgenericService({\r\n\t\t...props, action: createPosAttribute({\r\n\t\t\ttype: \"UPSERT_CX_ATTRIBUTE_ATTACH_ITEM\",\r\n\t\t\theaders: {\r\n\t\t\t\tContentType: \"multipart/form-data\"\r\n\t\t\t},\r\n\t\t\tendPoint: \"upsertCxAttributeAttachItem\",\r\n\t\t\tdata: data\r\n\t\t}),\r\n\t});\r\n};\r\n\r\nexport const deleteCxAttributeItem = ({ attributeItemId, attributeId, objId, objName, ...props }) => {\r\n\tgenericService({\r\n\t\t...props, action: createPosAttribute({\r\n\t\t\ttype: \"DELETE_CX_ATTRIBUTE_ATTACH_ITEM\",\r\n\t\t\tendPoint: \"deleteCxAttributeItem\",\r\n\t\t\tdata: {\r\n\t\t\t\tattributeItemId, attributeId, objId, objName\r\n\t\t\t}\r\n\t\t}),\r\n\t});\r\n};\r\n\r\nexport const purgeStore = () => {\r\n\treturn {\r\n\t\ttype: \"PURGE\",\r\n\t};\r\n}","import { toastWrapper } from \"@utils/helpers\";\r\nimport { store } from \"../redux/store\";\r\n\r\nconst getActionObject = (action, params) => {\r\n\tif (typeof action === \"object\") {\r\n\t\treturn action;\r\n\t}\r\n\treturn action(params);\r\n}\r\n\r\nexport const genericService = (params) => {\r\n\tconst { action, onSuccess, onFailed, setLoading, displayToast, toastParams, ...rest } = params || {};\r\n\r\n\tconst promise = async () => {\r\n\r\n\t\ttry {\r\n\t\t\tif (setLoading) {\r\n\t\t\t\tsetLoading(true);\r\n\t\t\t}\r\n\r\n\t\t\tconst actionObject = getActionObject(action, params);\r\n\t\t\tconst result = await store.dispatch(actionObject);\r\n\r\n\t\t\tif ([200, 202, 208].includes(result?.action?.response?.status)) {\r\n\t\t\t\tif (onSuccess) {\r\n\t\t\t\t\tonSuccess(result?.action?.response?.data, result?.action);\r\n\t\t\t\t}\r\n\t\t\t} else if (result?.error) {\r\n\t\t\t\tthrow result.error;\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tif (onFailed) {\r\n\t\t\t\tonFailed(error);\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tif (setLoading) {\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tif (displayToast) {\r\n\t\ttoastWrapper(promise, displayToast, toastParams);\r\n\t} else {\r\n\t\tpromise();\r\n\t}\r\n};","import { EMPTY_GUID, encode, getAllVersionsSorted, hasAttribute, widthValidation } from \"@utils/helpers\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { get } from \"lodash\";\r\nimport { createSelector } from \"reselect\";\r\nimport { InformationType, UserType } from \"utils/optionsSets/OptionSets\";\r\nconst getWidthValidation = (item) => widthValidation(item.width);\r\n\r\nexport const getAllPersonas = (state) => state.personas.all_personas;\r\nexport const getCjmInteractions = (state) => state.maps.current_map?.cjmInteractions;\r\nexport const getCjmContactData = (state) => state.maps.current_map?.cjmContactData;\r\nexport const getExperienceData = (state) => state.maps.current_map?.cjmStagesCustomerExperienceData;\r\nexport const getAllTouchpoints = (state) => state.libraries.touchPoint;\r\nconst getStageData = (state) => state.maps.current_map?.cjmStagesData;\r\nexport const getPhasesData = (state) => state.maps.current_map?.cjmPhasesData;\r\n\r\nexport const personaDataSelector = (personaId) => {\r\n\treturn createSelector([getAllPersonas], (allPersonas) => allPersonas.find((p) => p.personaId === personaId));\r\n};\r\nexport const getAllMemoizedInteractions = createSelector([getCjmInteractions], (cjmInteractions) => cjmInteractions);\r\nexport const getInteractionSelector = (personaId, stageId, itemId, channelId) => {\r\n\treturn createSelector(\r\n\t\t[getCjmInteractions],\r\n\t\t(cjmInteractions) => {\r\n\t\t\tconst personaInteractions = cjmInteractions?.[personaId];\r\n\r\n\t\t\tif (!stageId) {\r\n\t\t\t\treturn personaInteractions || {}; // Return same object reference if unchanged\r\n\t\t\t}\r\n\t\t\tif(channelId){\r\n\t\t\t\treturn personaInteractions?.[stageId]?.find(interaction => interaction.channelId === channelId) || {}\r\n\t\t\t}\r\n\t\t\tif (!itemId) {\r\n\t\t\t\treturn personaInteractions?.[stageId]?.sort((a, b) => a?.order - b?.order) || []; // Return same array reference if unchanged\r\n\t\t\t}\r\n\t\t\treturn personaInteractions?.[stageId]?.find(interaction => interaction.id === itemId) || {}\r\n\t\t}\r\n\t);\r\n};\r\nexport const getCjmExperienceData = (personaId, stageId) => {\r\n\treturn createSelector([getExperienceData], (experienceData) => experienceData?.[personaId]?.[stageId] || {});\r\n};\r\nexport const getCjmExperienceDataDiscussions = (personaId, stageId, type) => {\r\n\treturn createSelector([getExperienceData], (experienceData) => {\r\n\t\tconst data = experienceData?.[personaId]?.[stageId] || {};\r\n\t\treturn type ==='pros' ? data.prosDiscussionIds : data.consDiscussionIds\r\n\t});\r\n};\r\n\r\nexport const makeGetCjmContactData = (personaIdStr, stageId, touchpointId) => {\r\n\tif (touchpointId !== EMPTY_GUID) {\r\n\t\treturn createSelector([getCjmContactData], (cjmContactData) => cjmContactData?.[personaIdStr]?.[stageId]?.[touchpointId] ?? []);\r\n\t}\r\n\treturn createSelector([getCjmContactData], (cjmContactData) => cjmContactData?.[personaIdStr]?.[stageId] ?? []);\r\n};\r\n\r\nexport const makeGetTouchpoint = (touchpointId) => {\r\n\treturn createSelector([getAllTouchpoints], (touchPoints) => touchPoints?.find((touchPoint) => touchPoint.id === touchpointId));\r\n};\r\nexport const makeFindStageIndex = (stageId) => {\r\n\treturn createSelector([getStageData], (stages) => stages?.findIndex((stage) => stage.id === stageId));\r\n};\r\nexport const getStage = (stageId) => {\r\n\treturn createSelector([getStageData], (stages) => stages?.find((stage) => stage.id === stageId));\r\n};\r\nexport const getPhase = (phaseId) => {\r\n\treturn createSelector([getPhasesData], (phases) => phases?.find((phase) => phase.id === phaseId));\r\n};\r\nexport const getPhaseByStageId = (stageId) => {\r\n\treturn createSelector([getStageData, getPhasesData], (stages, phases) => {\r\n\t\tconst stage = stages?.find((stage) => stage.id === stageId);\r\n\t\treturn phases?.find((phase) => phase.id === stage?.phase.id);\r\n\t});\r\n};\r\n\r\nexport const getShowContactsSentimentLevel = (state) => state.maps.current_map.showContactsSentimentLevel;\r\nexport const getShowPersonaSentimentLevel = (state) => state.maps.current_map.showPersonaSentimentLevel;\r\nexport const cjmPersonasData = (state) => state.maps.current_map?.cjmPersonasData;\r\nexport const getToken = (state) => state.auth.token;\r\nexport const mapCurrentUser = (state) => state.maps.currentUser;\r\nexport const getMapLegend = (state) => state.maps.current_map?.mapLegend || [];\r\nexport const getCjmStagesData = (state) => state.maps.current_map?.cjmStagesData;\r\nexport const getCjmPersonasData = (state) => state.maps.current_map?.cjmPersonasData;\r\nexport const getChart = (state) => state.maps.current_map?.chart || {};\r\nexport const getTargetChart = (state) => state.maps.current_map.chart?.feelingPoints_Target || [];\r\nexport const getShowTargetValues = (state) => state.maps.current_map.showTargetValues;\r\nexport const getCjmCxGoals = (state) => state.maps.current_map?.cjmCxGoals || {};\r\nexport const getMeasures = (state) => state.libraries?.measures || [];\r\nexport const getTimeLines = (state) => state.maps.current_map?.cjmTimeLines || {};\r\nexport const getCjmSwimlanes = (state) => state.maps.current_map?.cjmSwimLanes || [];\r\nexport const getCjmDiscussions = (state) => state.maps.current_map?.cjmDiscussions || {};\r\nexport const getCjmCustomerFeedback = (state) => state.maps.current_map?.cjmCustomerFeedback || [];\r\nexport const getSessionId = (state) => encode(state?.auth?.userInfo?.SessionId || \"\");\r\nexport const gelAllTouchpoints = (state) => state.libraries.touchPoint;\r\nexport const getUserInfo = (state) => state?.auth?.userInfo;\r\n\r\n\r\nexport const allMemoizedTouchpoints = createSelector([gelAllTouchpoints], (touchPoints) => touchPoints);\r\n\r\nexport const getStageTimeLine = (stageId) => {\r\n\treturn createSelector([getTimeLines], (timeLines) => timeLines?.[stageId]?.[0] || false);\r\n};\r\n\r\nexport const getStages = createSelector([getCjmStagesData], (cjmStagesData) => cjmStagesData);\r\nexport const getPhases = createSelector([getPhasesData], (cjmPhasesData) => cjmPhasesData);\r\n\r\nexport const memoizedSwimlanes = createSelector([getCjmSwimlanes], (cjmSwimLanes) => cjmSwimLanes || []);\r\nexport const memoizedSwimlanesRelevantCount = createSelector(\r\n\t[getCjmSwimlanes],\r\n\t(cjmSwimLanes) => cjmSwimLanes?.filter((swimlane) => ![\"StageHeaders\", \"PhaseHeaders\"].includes(swimlane.id))?.length || 0\r\n);\r\n\r\nexport const getSwimlane = (swimlanekey) => {\r\n\treturn createSelector([getCjmSwimlanes], (getCjmSwimlanes) => getCjmSwimlanes?.find((swimlane) => swimlane.key === swimlanekey));\r\n};\r\nexport const getStageCustomerFeedback = (stageId, personaId) => {\r\n\treturn createSelector([getCjmCustomerFeedback], (customerFeedback) => customerFeedback?.[personaId]?.[stageId] || {});\r\n};\r\nexport const getCustomerFeedbackStagesIds = (stageId, personaId) => {\r\n\treturn createSelector([getCjmCustomerFeedback], (customerFeedback) => customerFeedback?.[personaId]?.[stageId]?.map((int) => int.id) || []);\r\n};\r\nexport const getRelevantPersonas = createSelector([getCjmPersonasData, getAllPersonas], (cjmPersonasData, allPersonas) =>\r\n\tcjmPersonasData?.map((person) => allPersonas?.find((persona) => persona.personaId === person.personaId))\r\n);\r\n\r\nexport const getTotalWidth = createSelector([getCjmStagesData], (cjmStagesData) => cjmStagesData?.map(getWidthValidation)?.reduce((a, b) => a + b, 0) || 0);\r\n\r\n\r\n\r\nexport const memoizedCxGoals = createSelector([getCjmCxGoals], (cjmCxGoals) => cjmCxGoals)\r\nexport const makeGetCjmGoalsFormated = createSelector([getCjmCxGoals, getCjmStagesData], (cjmCxGoals, cjmStagesData) => {\r\n\treturn cjmStagesData?.map((stage, index) => (!hasAttribute(cjmCxGoals, stage.id) ? [] : cjmCxGoals[stage.id]));\r\n});\r\nexport const getMeasureById = (measureId) => {\r\n\treturn createSelector([getMeasures], (measures) => measures?.find((measure) => measure.id === measureId));\r\n};\r\nexport const findCxGoal = (stageId, cxGoalId) => {\r\n\treturn createSelector([getCjmCxGoals], (cjmCxGoals) => cjmCxGoals?.[stageId]?.find((cxGoal) => cxGoal.id === cxGoalId));\r\n};\r\n\r\n\r\nexport const getCurrentMapPersonaIds = createSelector([getCjmPersonasData], (personas) => personas?.map((p) => p.personaId));\r\n\r\n// cxPages\r\nexport const getAllSolutions = (state) => state.solutions.all_solutions;\r\nexport const getAllOpportunities = (state) => state?.opportunity?.all_Opportunities;\r\nexport const getAllCxActions = (state) => state.actions.all_actions;\r\n\r\nexport const getAllMaps = (state) => state.maps.all_maps;\r\nexport const getAllPriorities = (state) => state.libraries?.priority;\r\nexport const getAllStatus = (state) => state.libraries?.status;\r\nexport const getAllLibraries = (state) => state.libraries;\r\nexport const getAllProgramsSelector = (state) => state.cxProgram.all_cxPrograms;\r\nexport const getshowSampleData = (state) => state.settings.organization?.showSampleData;\r\n\r\nexport const getAllCxProgramAssessments = (state) => state.cxProgram?.current_program?.cxAssessments;\r\n\r\nexport const getLibraries = createSelector([getAllLibraries], (libraries) => libraries);\r\n\r\nexport const getAllCustomLibraryItems = (libraryId) => {\r\n\treturn createSelector([getAllLibraries], (libraries) => libraries?.customLibraries.find((cl) => cl.id === libraryId)?.values || []);\r\n};\r\n\r\nexport const FindSolutionById = (solutionId) => {\r\n\treturn createSelector([getAllSolutions], (allSolutions) => allSolutions?.find((solution) => solution.id === solutionId));\r\n};\r\nexport const FindSolutionIndexById = (solutionId) => {\r\n\treturn createSelector([retrieveAllActiveSolutions], (allSolutions) => allSolutions?.findIndex((solution) => solution.id === solutionId));\r\n};\r\nexport const retrieveAllActiveSolutions = createSelector([getAllSolutions, getshowSampleData], (allSolutions, showSampleData) =>\r\n\tallSolutions?.filter((solution) => (showSampleData ? solution.statusCode === StatusCode.Active : solution.statusCode === StatusCode.Active && solution.isSample === false))\r\n);\r\nexport const FindMapById = (mapId) => {\r\n\treturn createSelector([getAllMaps], (allMaps) => allMaps?.find((map) => map.cjmId === mapId));\r\n};\r\nexport const getAllMapsList = createSelector([getAllMaps], (allMaps) => allMaps);\r\nexport const findPriority = (attribute, priorityId) => {\r\n\treturn createSelector([getAllPriorities], (all_priority) => all_priority?.[attribute]?.find((pt) => pt.id === priorityId));\r\n};\r\n\r\nexport const FindOpportunityById = (opportunityId) => {\r\n\treturn createSelector([getAllOpportunities], (allOpportunities) => allOpportunities?.find((opportunity) => opportunity.id === opportunityId));\r\n};\r\nexport const FindOpportunityIndexById = (opportunityId) => {\r\n\treturn createSelector([retrieveAllActiveOpportunities], (allOpportunities) => allOpportunities?.findIndex((opportunity) => opportunity.id === opportunityId));\r\n};\r\nexport const retrieveAllActiveOpportunities = createSelector([getAllOpportunities, getshowSampleData], (allOpportunities, showSampleData) =>\r\n\tallOpportunities?.filter((opportunity) => (showSampleData ? opportunity.statusCode === StatusCode.Active : opportunity.statusCode === StatusCode.Active && opportunity.isSample === false))\r\n);\r\nexport const FindActionById = (actionId) => {\r\n\treturn createSelector([getAllCxActions], (allActions) => allActions?.find((action) => action.id === actionId));\r\n};\r\nexport const FindActionIndexById = (actionId) => {\r\n\treturn createSelector([retrieveAllActiveActions], (allActions) => allActions?.findIndex((action) => action.id === actionId));\r\n};\r\nexport const retrieveAllActiveActions = createSelector([getAllCxActions, getshowSampleData], (allActions, showSampleData) =>\r\n\tallActions?.filter((action) => (showSampleData ? action.statusCode === StatusCode.Active : action.statusCode === StatusCode.Active && action.isSample === false))\r\n);\r\nexport const FindStatusById = (attribute, statusId) => {\r\n\treturn createSelector([getAllStatus], (all_status) => all_status?.[attribute]?.find((pt) => pt.id === statusId));\r\n};\r\n\r\nexport const FindAssessmentById = (id) => {\r\n\treturn createSelector([getAllCxProgramAssessments], (assessments) => assessments?.find((assessment) => assessment.id === id));\r\n};\r\n\r\n// solutiosn\r\n\r\nexport const getCjmSolutions = (state) => state.maps.current_map.cjmSolutions;\r\nexport const getFolders = (state) => state.folders;\r\n\r\nexport const getFolderById = createSelector(\r\n\t(state) => state.folders,\r\n\t(_, folderId) => folderId,\r\n\t(folders, folderId) => folders?.find((folder) => folder.id === folderId) || {}\r\n);\r\n\r\nexport const getCurrentProject = (state) => state.projects.current_project || {};\r\n\r\nexport const projectBusinessCase = createSelector([getCurrentProject], (current_project) => ({\r\n\tid: current_project.id,\r\n\tauthorizedUsers: current_project.authorizedUsers,\r\n\tattributesList: current_project.attributesList,\r\n}));\r\n\r\nexport const projectDetails = createSelector([getCurrentProject], (current_project) => ({\r\n\tid: current_project.id,\r\n\tprojectManagementToolLink: current_project.projectManagementToolLink,\r\n\tprojectManagementTool: current_project.projectManagementTool,\r\n}));\r\n\r\nexport const projectFinancialImpact = createSelector([getCurrentProject], (current_project) => ({\r\n\tid: current_project.id,\r\n\tfinancialImpact: current_project.financialImpact,\r\n\tattributesList: current_project.attributesList,\r\n\tcurrencySymbol: current_project.currencySymbol,\r\n\tuserProvided: current_project.userProvided,\r\n}));\r\n\r\n//projects\r\n\r\nexport const getAllProjects = (state) => state.projects.all_projects;\r\n\r\nexport const FindProjectById = (id) => {\r\n\treturn createSelector([getAllProjects], (allProjects) => allProjects?.find((project) => project.id === id));\r\n};\r\n\r\nexport const getMapVersionsSorted = ({ currentMapId }) => {\r\n\treturn createSelector([getAllMaps], (allMaps) => {\r\n\t\tconst currentMap = allMaps.find((map) => map.cjmId === currentMapId);\r\n\t\tconst parentMapId = currentMap?.parentMapId;\r\n\t\tconst allVersionsSorted = getAllVersionsSorted({ allMaps, currentMapId, parentMapId });\r\n\t\treturn allVersionsSorted;\r\n\t});\r\n};\r\nexport const getTeamsUsers = createSelector(\r\n\t(state) => ({ authorizedUsers: state.settings?.authorizedUsers, users: state.settings?.users }),\r\n\t(_, teamUsers) => teamUsers,\r\n\t({ authorizedUsers, users }, teamUsers) => {\r\n\t\treturn authorizedUsers?.filter((user) => teamUsers?.includes(user.id) && users.find((u) => u.loginName.toLowerCase() === user?.domainName.toLowerCase())?.isActive) || [];\r\n\t}\r\n);\r\n\r\nexport const getAllTags = (state) => state.libraries.tags;\r\nexport const getAllGroups = (state) => state.libraries.group;\r\nconst selectLibraries = (state) => state.libraries;\r\nconst selectUiTableEntity = (state, entity, context) => get(state, [\"ui\", \"table\", \"entity\", entity, context]);\r\nconst selectUserSetting = (state, entity) => get(state, [\"settings\", \"userSetting\", \"savedViewsByEntity\", entity]);\r\n\r\nexport const selectGroup = createSelector([selectLibraries], (libraries) => libraries?.group?.FormatFilterArray());\r\n\r\nexport const selectTag = createSelector([selectLibraries], (libraries) => libraries?.tags?.FormatFilterArray());\r\nexport const selectPriorities = ({ entity }) => createSelector(selectLibraries, (libraries) => libraries?.priority?.[entity]?.FormatFilterArray());\r\nexport const selectStatus = ({ entity }) => createSelector(selectLibraries, (libraries) => libraries?.status?.[entity]?.FormatFilterArray());\r\nexport const getAllStatusByEntity = ({ entity }) => createSelector(selectLibraries, (libraries) => libraries?.status?.[entity] || []);\r\nexport const getAllPriorityByEntity = ({ entity }) => createSelector(selectLibraries, (libraries) => libraries?.priority?.[entity] || []);\r\n\r\nexport const selectSelectedViewId = createSelector([selectUiTableEntity], (uiTableEntity) => uiTableEntity?.selectedViewId);\r\nexport const getCjmSwimlaneDetails = (state) => state.maps.current_map?.cjmSwimLaneDetails;\r\nexport const selectQueryView = createSelector([selectUserSetting], (userSetting) => userSetting);\r\nexport const getCjmSwimlaneDetailsById = (swimlaneId) => createSelector([getCjmSwimlaneDetails], (cjmSwimLaneDetails) => cjmSwimLaneDetails?.[swimlaneId] || {})\r\n\r\nexport const getSwimlaneDetails = (swimlaneId, stageId) => {\r\n\treturn createSelector([getCjmSwimlaneDetails], (cjmSwimLaneDetails) => {\r\n\t\t// console.log(cjmSwimLaneDetails[swimlaneId][stageId],cjmSwimLaneDetails,swimlaneId,stageId);\r\n\t\treturn cjmSwimLaneDetails?.[swimlaneId]?.[stageId] || {};\r\n\t});\r\n};\r\n\r\n\r\nconst getSelectedIds = (state) => state?.ui?.table?.selectedIds || [];\r\nexport const getSelectedIdsMemoized = createSelector([getSelectedIds], (selectedIds) => selectedIds);\r\n\r\nexport const getInsightById = (id) => {\r\n\treturn createSelector([getAllInsights], (allInsights) => {\r\n\t\tconst insight = allInsights?.find((insight) => insight.id === id);\r\n\t\treturn insight;\r\n\t});\r\n};\r\n\r\n//Insights\r\nexport const getAllInsights = (state) => state.insights?.all_insights || [];\r\n\r\nexport const getInsightPersonaIds = (id) => {\r\n\treturn createSelector([getAllInsights], (allInsights) => allInsights?.find((insight) => insight.id === id)?.linkedPersonas);\r\n};\r\n\r\n//Analytics\r\nexport const analyticsOriginalDataSelector = (state) => state.analytics.originalData;\r\n\r\n// requests\r\nexport const getAllMutations = (state) => state.requests.mutations;\r\nexport const getRequestStatus = ({ type }) => createSelector([getAllMutations], (requests) => requests?.[type] || {});\r\n\r\nexport const getAllQueries = (state) => state.requests.queries;\r\nexport const getQueriesStatus = ({ type }) => createSelector([getAllQueries], (requests) => requests?.[type] || {});\r\n\r\n//Workspaces\r\nexport const getAllWorkspaces = (state) => state?.workspaces?.all_workspaces || [];\r\nexport const getAllActiveWorkspaces = (state) => state?.workspaces?.all_workspaces.filter((ws) => ws.statusCode === 1) || [];\r\nexport const findWorkspaceById = (id) => {\r\n\treturn createSelector([getAllWorkspaces], (allWorkspaces) => allWorkspaces?.find((workspace) => workspace.id == id));\r\n};\r\nexport const getAllActiveWorkspacesMemoized = createSelector([getAllWorkspaces], (workspaces) => workspaces?.filter((ws) => ws.statusCode === 1));\r\n\r\nexport const getCurrentWorkspace = createSelector([getAllWorkspaces], (workspaces) => workspaces.find((ws) => ws?.id === currentWorkspaceId));\r\nexport const isExistingWorkspaces = createSelector([getAllActiveWorkspaces], (workspaces) => workspaces?.length > 0);\r\n\r\nexport const getTeamsObject = (state) => state.settings?.teams || {};\r\nexport const getTeams = createSelector([getTeamsObject], (teamsDic) => Object.values(teamsDic)?.map((team) => ({ ...team, fullName: team.name })) || []);\r\n\r\n\r\nexport const getMemoizedCjmStagesData = createSelector([getCjmStagesData], (cjmStagesData) => cjmStagesData);\r\n\r\nconst getMainRoute = (state) => state.maps.current_map.showMainRoute;\r\nconst getAlternativeRoute = (state) => state.maps.current_map.showAlternativeRoute;\r\n\r\nexport const getMainAlternativeRoutes = createSelector([getMainRoute, getAlternativeRoute], (showMainRoute, showAlternativeRoute) => ({ showMainRoute, showAlternativeRoute }));\r\n\r\nexport const getPendingGetRequestsCount = (state) => {\r\n\tconst queries = state.requests.queries;\r\n\tlet pendingCount = 0;\r\n\r\n\tfor (const key in queries) {\r\n\t\tif (queries[key].networkStatus === \"loading\" && queries[key].request.method === \"GET\") {\r\n\t\t\tpendingCount++;\r\n\t\t}\r\n\t}\r\n\r\n\treturn pendingCount;\r\n};\r\nexport const getBottomSwimlanesPosition = (swimlaneKey) => {\r\n\treturn createSelector([getCjmSwimlanes], (cjmSwimLanes) => {\r\n\t\tconst index = cjmSwimLanes?.findIndex((swimlane) => swimlane.key === swimlaneKey);\r\n\t\treturn index === cjmSwimLanes?.length - 3 || index === cjmSwimLanes?.length - 2 || index === cjmSwimLanes?.length - 1;\r\n\t});\r\n};\r\nexport const mapUsers = (state) => state.maps?.current_linked_users || [];\r\nexport const getCurrentMapUsers = createSelector([mapUsers], (users) => users);\r\n\r\nconst currentMap = (state) => state.maps.current_map;\r\nexport const allInsightTypes = (state) => state.libraries.insightTypes;\r\n\r\nexport const getStagesDetailsonInsights = (stageId, insightId) => {\r\n\treturn createSelector(\r\n\t\t[getAllInsights, currentMap, getStageData, getAllTouchpoints, allInsightTypes, getAllOpportunities, getAllSolutions],\r\n\t\t(allInsights, currentMap, stages, allTouchpoints, allInsightType, allOpportunities, allSolutions) => {\r\n\t\t\tconst mapName = currentMap?.cjmName;\r\n\r\n\t\t\tconst mapDescription = currentMap?.cjmDescription;\r\n\r\n\t\t\tconst stageIndex = stages?.findIndex((stage) => stage.id === stageId);\r\n\r\n\t\t\tconst stageName = stages?.[stageIndex]?.name;\r\n\r\n\t\t\tconst stageInteractions = currentMap?.cjmData?.[stageIndex]?.find((interaction) => interaction.linkedInsights?.includes(insightId));\r\n\r\n\t\t\tconst touchpointName = allTouchpoints?.find((touchpoint) => touchpoint.id === stageInteractions?.touchPointId)?.name;\r\n\r\n\t\t\tconst interactionDescription = stageInteractions?.actions;\r\n\r\n\t\t\tconst insight = allInsights?.find((insight) => insight.id === insightId);\r\n\r\n\t\t\tconst insightName = insight?.name;\r\n\r\n\t\t\tconst insightType = allInsightType?.find((type) => type.id === insight?.typeId)?.name;\r\n\r\n\t\t\t// find opportunities in this stage and on this map.\r\n\t\t\tconst cjmSwimLaneDetails = currentMap?.cjmSwimLaneDetails;\r\n\t\t\tconst swimlaneOpportunity = currentMap?.cjmSwimLanes?.find((sw) => sw.type === InformationType.Opportunity);\r\n\t\t\tlet relatedOpportunities = [];\r\n\t\t\tif (swimlaneOpportunity) {\r\n\t\t\t\tconst relatedOppIds = cjmSwimLaneDetails?.[swimlaneOpportunity.key]?.[stageId]?.items?.map((i) => i.opportunityId) || [];\r\n\t\t\t\trelatedOpportunities = allOpportunities?.filter((opp) => relatedOppIds.includes(opp.id));\r\n\t\t\t}\r\n\t\t\tconst swimlaneSolutions = currentMap?.cjmSwimLanes?.find((sw) => sw.type === InformationType.Solution);\r\n\t\t\tlet relatedSolutions = [];\r\n\t\t\tif (swimlaneSolutions) {\r\n\t\t\t\tconst relatedSolIds = cjmSwimLaneDetails?.[swimlaneSolutions.key]?.[stageId]?.items?.map((i) => i.solutionId) || [];\r\n\t\t\t\trelatedSolutions = allSolutions?.filter((opp) => relatedSolIds.includes(opp.id));\r\n\t\t\t}\r\n\t\t\treturn { mapName, mapDescription, stageName, insightName, insightType, touchpointName, interactionDescription, relatedOpportunities, relatedSolutions };\r\n\t\t}\r\n\t);\r\n};\r\nconst cache = new Map();\r\n\r\nexport const getStagesDetails = (stageId) => {\r\n\treturn createSelector([\r\n\t\tgetAllInsights,\r\n\t\tcurrentMap,\r\n\t\tgetStageData,\r\n\t\tgetAllTouchpoints,\r\n\t\tallInsightTypes,\r\n\t\tgetAllOpportunities,\r\n\t\tgetAllSolutions\r\n\t], (\r\n\t\tallInsights,\r\n\t\tcurrentMap,\r\n\t\tstages,\r\n\t\tallTouchpoints,\r\n\t\tallInsightTypes,\r\n\t\tallOpportunities,\r\n\t\tallSolutions\r\n\t) => {\r\n\r\n\r\n\t\tconst { cjmName: mapName, cjmId, cjmDescription: mapDescription, cjmData, cjmSwimLaneDetails, cjmSwimLanes } = currentMap || {};\r\n\r\n\t\tconst stage = stages?.find((stage) => stage.id === stageId);\r\n\t\tconst stageName = stage?.name;\r\n\t\tconst stageData = cjmData?.[stages?.indexOf(stage)] || [];\r\n\r\n\t\tconst touchpointMap = new Map(allTouchpoints?.map(tp => [tp.id, tp.name]));\r\n\t\tconst insightTypeMap = new Map(allInsightTypes?.map(type => [type.id, type.name]));\r\n\r\n\t\tconst allRelatedTouchpoints = stageData\r\n\t\t\t.map(interaction => touchpointMap.get(interaction?.touchPointId))\r\n\t\t\t.filter(Boolean);\r\n\r\n\t\tconst allRelatedInsights = allInsights\r\n\t\t\t?.filter(insight => insight?.linkedCjms?.[cjmId]?.some(link => link.stageId === stageId))\r\n\t\t\t.map(insight => ({\r\n\t\t\t\tname: insight.name,\r\n\t\t\t\ttype: insightTypeMap.get(insight?.typeId)\r\n\t\t\t}))\r\n\t\t\t.filter(Boolean);\r\n\r\n\t\tconst getRelatedItems = (type, allItems, key) => {\r\n\t\t\tconst swimlane = cjmSwimLanes?.find(sw => sw.type === type);\r\n\t\t\tif (!swimlane) return [];\r\n\r\n\t\t\tconst relatedIds = cjmSwimLaneDetails?.[swimlane.key]?.[stageId]?.items?.map(item => item[key]) || [];\r\n\t\t\treturn allItems?.filter(item => relatedIds.includes(item.id) && item.name.trim() !== \"\");\r\n\t\t};\r\n\r\n\t\tconst relatedOpportunities = getRelatedItems(InformationType.Opportunity, allOpportunities, 'opportunityId')?.map(item => item.name);\r\n\t\tconst relatedSolutions = getRelatedItems(InformationType.Solution, allSolutions, 'solutionId')?.map(item => item.name);\r\n\r\n\t\tconst result = {\r\n\t\t\tmapName,\r\n\t\t\tmapDescription,\r\n\t\t\tstageName,\r\n\t\t\tallRelatedInsights,\r\n\t\t\tallRelatedTouchpoints,\r\n\t\t\trelatedOpportunities,\r\n\t\t\trelatedSolutions,\r\n\t\t\tinsightTypes: allInsightTypes.map(type => type.name),\r\n\t\t};\r\n\r\n\r\n\t\treturn result;\r\n\t});\r\n};\r\nexport const getSusbscriptionName = (state) => state.auth?.userInfo?.UserSubscriptionPlanName?.toLowerCase();\r\n\r\nexport const getMapAccess = createSelector([currentMap, getUserInfo],\r\n\t(currentMap, userInfo) => {\r\n\t\tconst userType = userInfo.UserType;\r\n\r\n\t\tconst isCompanyAdmin = userType === UserType.companyAdmin;\r\n\t\tif (isCompanyAdmin) return { auhtorized: true, label: \"active\" };\r\n\r\n\t\tif (currentMap.noAccess) return { auhtorized: false, label: \"MAP_NO_ACCESS\" };\r\n\r\n\r\n\r\n\t\treturn { auhtorized: true, label: \"active\" };\r\n\t})\r\n\r\nexport const getMapStatusValidation = (personaIdStr) => {\r\n\treturn createSelector([currentMap, getUserInfo],\r\n\t\t(currentMap, userInfo) => {\r\n\r\n\r\n\t\t\tconst haveDataOnCjm = Object.keys(currentMap)?.length > 0;\r\n\t\t\tif (!haveDataOnCjm) return { activated: true, label: \"ERROR_LOADING_MAP\" };\r\n\r\n\t\t\tif (currentMap.statusCode === StatusCode.Archived) return { activated: false, label: \"MAP_ARCHIVED\" };\r\n\t\t\tif (currentMap.statusCode === StatusCode.Trashed) return { activated: false, label: \"MAP_DELETED\" };\r\n\t\t\tif (currentMap.cjmId === null) return { activated: false, label: \"MAP_NOT_FOUND\" };\r\n\r\n\t\t\tif (currentMap?.cjmPersonasData && !currentMap?.cjmPersonasData?.some(x => x.personaId === personaIdStr)) {\r\n\t\t\t\treturn { activated: false, personaId: personaIdStr, label: \"PERSONA_NOCONNECT\" };\r\n\t\t\t}\r\n\r\n\r\n\t\t\tconst isActive = currentMap.statusCode === StatusCode.Active || currentMap.statusCode === StatusCode.Revised;\r\n\t\t\tconst activated = haveDataOnCjm && currentMap.cjmId !== null && isActive;\r\n\r\n\t\t\treturn { activated, label: activated ? \"active\" : \"MAP_INACTIVE\" };\r\n\t\t})\r\n}\r\nconst getAllRecentWork = (state) => state.settings?.recentWorks || [];\r\nexport const isRecentWorkById = (recordId) => {\r\n\treturn createSelector([getAllRecentWork], (recentWork) => recentWork?.some((work) => work.recordId === recordId));\r\n}","import { useEffect, useState } from \"react\";\r\n\r\nexport const IconDispatcher = (type, styling = \"\", params = {}) => {\r\n\tconst iconType = typeof type === \"object\" ? type.type : type;\r\n\tconst styles = typeof type === \"object\" ? type.styling : styling;\r\n\tconst parameters = typeof type === \"object\" ? type.params : params;\r\n\r\n\tconst icon = iconMapping[iconType]; // Get the icon based on the type\r\n\tconst LocalIcon = localIconMapping[iconType]; // Get the icon based on the type\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{icon ? (\r\n\t\t\t\t\r\n\t\t\t) : LocalIcon ? (\r\n\t\t\t\t\r\n\t\t\t) : typeof iconType === \"string\" ? (\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst FaIcon = ({ iconName, style = \"regular\", className, size, color, family = \"\" }) => {\r\n\ttry {\r\n\t\tif (!iconName) return null;\r\n\r\n\t\tconst sizeMap = {\r\n\t\t\tsm: \"14px\",\r\n\t\t\tsmall: \"14px\",\r\n\t\t\tmd: \"16px\",\r\n\t\t\tmedium: \"16px\",\r\n\t\t\tlg: \"24px\",\r\n\t\t\tlarge: \"24px\",\r\n\t\t\txl: \"32px\",\r\n\t\t\t\"extra-large\": \"32px\",\r\n\t\t\t\"2xl\": \"40px\",\r\n\t\t};\r\n\r\n\t\tconst fontSize = sizeMap[size] || size;\r\n\t\tconst iconFamily = family === \"sharp\" ? \"fa-sharp\" : \"\";\r\n\r\n\t\treturn ;\r\n\t} catch (error) {\r\n\t\tconsole.error(\"Error rendering FaIcon:\", error);\r\n\t\treturn ?;\r\n\t}\r\n};\r\n\r\nconst DynamicIcon = ({ iconName, ...props }) => {\r\n\tconst [iconSrc, setIconSrc] = useState(\"\");\r\n\tuseEffect(() => {\r\n\t\tlet isMounted = true;\r\n\t\timportSVG(iconName).then((src) => {\r\n\t\t\tif (isMounted) setIconSrc(src);\r\n\t\t});\r\n\t\treturn () => {\r\n\t\t\tisMounted = false;\r\n\t\t};\r\n\t}, [iconName]);\r\n\tif (!iconSrc) return null; // or a placeholder while loading\r\n\treturn {iconName};\r\n};\r\n\r\nconst importSVG = async (iconName) => {\r\n\tif (!iconName) return null;\r\n\ttry {\r\n\t\tconst svg = await import(`../Assets/All/${iconName}.svg`);\r\n\t\treturn svg.default; // Adapt based on your file structure\r\n\t} catch (error) {\r\n\t\t// console.error(`Could not load icon: ${iconName}`, error);\r\n\t\treturn null;\r\n\t}\r\n};\r\n\r\nconst iconMapping = {\r\n\tHOME: \"house-blank\",\r\n\tFOLDER: \"folder\",\r\n\t\"FOLDER-OPEN\": \"folder-open\",\r\n\tPERSONA: \"user-hair\",\r\n\tCJM: \"map\",\r\n\t\"MENU-ACTION\": \"bolt-lightning\",\r\n\tTEMPLATE: \"clone\",\r\n\tSAMPLE: \"memo-pad\",\r\n\tARCHIVE: \"box-archive\",\r\n\tTRASH: \"trash\",\r\n\tDELETE: \"trash\",\r\n\tSETTINGS: \"gear\",\r\n\tCOPY: \"copy\",\r\n\tEXPORT: \"file-export\",\r\n\tREFRESH: \"arrows-rotate\",\r\n\tEDIT: \"pen\",\r\n\tRESTORE: \"clock-rotate-left\",\r\n\tACCESS: \"key\",\r\n\tREMOVE: \"circle-minus\",\r\n\tVIEW: \"eye\",\r\n\t\"MANAGE-PERSONAS\": \"user-group\",\r\n\t\"MAP-HIERARCHY\": \"sitemap\",\r\n\t\"ACTION-DROPDOWN\": \"ellipsis-vertical\",\r\n\t\"ACTION-DROPDOWN-HORIZONTAL\": \"ellipsis\",\r\n\tCAMERA: \"camera\",\r\n\tLINK: \"link-simple\",\r\n\tUNLINK: \"link-simple-slash\",\r\n\tPLUS: \"plus\",\r\n\tSQUARE_PLUS: \"plus\",\r\n\t\"CIRCLE-PLUS\": \"circle-plus\",\r\n\tSQUARE_ADD: \"square-dashed-circle-plus\",\r\n\t\"LIST-VIEW\": \"list\",\r\n\t\"GRID-VIEW\": \"grid-2\",\r\n\tCHECK: \"check\",\r\n\tLOCK: \"lock-keyhole\",\r\n\tUPLOAD: \"upload\",\r\n\tX: \"x\",\r\n\tDRIP: \"fill-drip\",\r\n\tMALE: \"mars\",\r\n\tFEMALE: \"venus\",\r\n\tGENDERLESS: \"genderless\",\r\n\t\"ANGLE-DOWN\": \"angle-down\",\r\n\t\"ANGLE-UP\": \"angle-up\",\r\n\t\"CIRCLE-QUESTION\": \"circle-question\",\r\n\tCOMPRESS: \"arrow-down-left-and-arrow-up-right-to-center\",\r\n\tEXPAND: \"arrow-up-right-and-arrow-down-left-from-center\",\r\n\tDRAG: \"grip-dots-vertical\",\r\n\tUSERS: \"users\",\r\n\tCOMMENT: \"comment-lines\",\r\n\tEXCEL: \"file-excel\",\r\n\tPDF: \"file-pdf\",\r\n\tOPPORTUNITY: \"telescope\",\r\n\tLIKE: \"thumbs-up\",\r\n\tUNLIKE: \"thumbs-down\",\r\n\tHEART: \"heart\",\r\n\tSOLUTION: \"lightbulb\",\r\n\t\"FILL-DRIP\": \"fill-drip\",\r\n\t\"CIRCLE-CHECK\": \"circle-check\",\r\n\t\"CIRCLE-X\": \"circle-x\",\r\n\t\"LEFT-ARROW\": \"arrow-left-long\",\r\n\tICONS: \"circle-dashed\",\r\n\tARROW_UP: \"chevron-up\",\r\n\tARROW_DOWN: \"chevron-down\",\r\n\tARROW_LEFT: \"arrow-left\",\r\n\tWAND: \"wand-sparkles\",\r\n\tARROW_RIGHT: \"arrow-right\",\r\n\tCHECKED: \"check-circle\",\r\n\t\"ANGLE-LEFT\": \"chevron-left\",\r\n\t\"ANGLE-RIGHT\": \"chevron-right\",\r\n\t\"CHEVRON-DOWN\": \"chevron-down\",\r\n\tPLAY: \"play\",\r\n\t\"CX-STRATEGY\": \"chess-rook-piece\",\r\n\t\"CX-PROGRAM\": \"solar-system\",\r\n\t\"CIRCLE-X-MARK\": \"circle-xmark\",\r\n\tBRAIN: \"brain\",\r\n\tPUZZLE: \"puzzle-piece\",\r\n\t\"ROAD-BARRIER\": \"road-barrier\",\r\n\t\"STAR-LIFE\": \"star-of-life\",\r\n\t\"X-MARK\": \"xmark\",\r\n\t\"CHART-SCATTER-BUBBLE\": \"chart-scatter-bubble\",\r\n\t\"VERTICAL-AXIS\": \"ruler-vertical\",\r\n\t\"HORIZONTAL-AXIS\": \"ruler-horizontal\",\r\n\t\"TABLE-CELLS\": \"table-cells\",\r\n\tTABLE: \"table\",\r\n\tFILTER: \"filter\",\r\n\t\"FILTER-LIST\": \"filter-list\",\r\n\tTEXT: \"text\",\r\n\tNUMBER: \"input-numeric\",\r\n\tGENDER: \"venus-mars\",\r\n\tIMAGE: \"image\",\r\n\tSLIDERS: \"sliders-simple\",\r\n\tRATING: \"star-half-stroke\",\r\n\tTAG: \"tag\",\r\n\tSEND: \"circle-arrow-up-right\",\r\n\tNOTIFICATION: \"bell\",\r\n\tDEMOGRAPHIC: \"id-card\",\r\n\tQUOTE: \"comment-quote\",\r\n\t\"BULLSEYE-ARROW\": \"bullseye-arrow\",\r\n\tCHART: \"chart-mixed\",\r\n\t\"USER-GROUP-SIMPLE\": \"user-group\",\r\n\t\"SIMPLE-COMMENT\": \"comment\",\r\n\tREOPEN: \"reply\",\r\n\t\"SWIMLANE-KPIS\": \"chart-line-up\",\r\n\t\"CHART-LINE-UP\": \"chart-line-up\",\r\n\tBOOKMARK: \"bookmark\",\r\n\tDASH: \"dash\",\r\n\tCIRCLE_DOT: \"circle-dot\",\r\n\tCHEVRON_UP: \"chevrons-up\",\r\n\tCHEVRON_DOWN: \"chevrons-down\",\r\n\tINFO: \"info-circle\",\r\n\tPRO: \"thumbs-up\",\r\n\tCON: \"thumbs-down\",\r\n\tINSIGHTS: \"lightbulb\",\r\n\tACTIONS: \"bolt\",\r\n\tACTION: \"bolt\",\r\n\tTIME: \"timer\",\r\n\t\"CIRCLE-EXCLAMATION\": \"circle-exclamation\",\r\n\tSEARCH: \"search\",\r\n\tSIDEBAR: \"sidebar\",\r\n\tSHAPES: \"shapes\",\r\n\tSIDEBAR_TRASH: \"trash-can-arrow-up\",\r\n\t\"LIB-BRANDVALUES\": \"book-bookmark\",\r\n\t\"CLOCK-ROTATE\": \"clock-rotate-left\",\r\n\t\"ARROW-TURN\": \"arrow-turn-down-right\",\r\n\t\"ARROWS-TURN\": \"arrows-turn-right\",\r\n\t\"GRIP-LINE\": \"grip-lines\",\r\n\tARROW_UP_RIGHT: \"arrow-up-right-from-square\",\r\n\t\"MENU-SIDEBAR\": \"bars-sort\",\r\n\t\"FOLDER-PLUS\": \"folder-plus\",\r\n\tPROJECT: \"diagram-project\",\r\n\t\"PROJECT-LIGHT\": \"diagram-project\",\r\n\t\"SAVE-VERSION\": \"layer-plus\",\r\n\t\"SAVED-VERSIONS\": \"layer-group\",\r\n\t\"USER-GROUP\": \"user-group\",\r\n\tENVELOPE: \"envelope\",\r\n\t\"GRADUATION-HAT\": \"graduation-cap\",\r\n\t\"MAGNIFYING-GLASS-CHART\": \"magnifying-glass-chart\",\r\n\t\"MESSAGE-SMILE\": \"message-smile\",\r\n\tHIDE_EYE: \"eye-slash\",\r\n\tBOOKS: \"books\",\r\n\tUSERS_LIGHT: \"users\",\r\n\t\"PUZZLE-PIECE\": \"puzzle-piece\",\r\n\tDRAG_HORIZONTAL: \"grip-dots\",\r\n\tHASHTAG: \"hashtag-lock\",\r\n\t\"GRID-DIVIDERS\": \"grid-dividers\",\r\n\t\"CHART-SIMPLE\": \"chart-simple\",\r\n\tCALENDAR: \"calendar-days\",\r\n\tSPARKLES: \"sparkles\",\r\n\t\"PIE-CHART\": \"pie-chart\",\r\n\t\"CHART-COLUMN\": \"chart-column\",\r\n\t\"CHART-BAR\": \"chart-bar\",\r\n\t\"CHART-SCATTER\": \"chart-scatter\",\r\n\t\"CLOUD-WORD\": \"cloud-word\",\r\n\t\"CHART-LINE-UP-THIN\": \"chart-line-up\",\r\n\t\"CHART-RADAR\": \"chart-radar\",\r\n\t\"CHART-AREA\": \"chart-area\",\r\n\t\"BULLSEYES-POINTER\": \"bullseye-pointer\",\r\n\tGEM: \"gem\",\r\n\t\"CIRCLE-CARET-DOWN\": \"circle-caret-down\",\r\n\t\"FILE-XLS-THIN\": \"file-excel\",\r\n\t\"FILE-XLS-LIGHT\": \"file-excel\",\r\n\t\"PEN-TO-SQUARE\": \"pen-to-square\",\r\n\t\"UPLOAD-LIGHT\": \"upload\",\r\n\t\"ARROW-UP-RIGHT-FROM-SQUARE-LIGHT\": \"arrow-up-right-from-square\",\r\n\tARROW_LONG_UP: \"long-arrow-alt-up\",\r\n\tEXCLAMATION: \"triangle-exclamation\",\r\n\t\"FA-LIGHTBULB-EXCLAMATION-ON\": \"lightbulb-exclamation-on\",\r\n\tGHOST: \"ghost\",\r\n\t\"CIRCLE-PAUSE\": \"circle-pause\",\r\n\t// Add more mappings as needed\r\n};\r\nconst localIconMapping = {\r\n\t\"SUBSCRIPTION-END\": \"hourglass1\",\r\n\t\"LOG-OUT\": \"open-door\",\r\n\t\"WHITE-CHECK\": \"white-checkmark\",\r\n\t\"DELETE-BIG\": \"delete-big\",\r\n\t\"UPLOAD-IMG\": \"upload-image\",\r\n\t\"SLIDER-ARROW\": \"slider-arrow\",\r\n\t\"CRYSTAL-BALL\": \"crystal-ball\",\r\n\t\"WIZARD-BIRD\": \"persona-wizard-bird\",\r\n\t\"WIZARD-BAG\": \"wizard-bag\",\r\n\t\"EMPTY-LIBRARY\": \"empty-library\",\r\n\t\"PRIMARY-CHECK\": \"primary-check\",\r\n\t\"MAIN-ROUTE\": \"voc-main\",\r\n\t\"ALTERNATIVE-ROUTE\": \"voc-alternative\",\r\n\t\"GROUP-BY\": \"group-list\",\r\n\t\"SWIMLANE-CUSTOM\": \"swimlane-custom\",\r\n\t\"SWIMLANE-SOLUTION\": \"solutions-swimlane\",\r\n\t\"SWIMLANE-ACTIONS\": \"swimlane-actions\",\r\n\t\"SWIMLANE-DEPARTMENT\": \"swimlane-department\",\r\n\t\"SWIMLANE-DIVIDER\": \"swimlane-divider\",\r\n\t\"SWIMLANE-FEEDBACK-DATA\": \"swimlane-feedbackdata\",\r\n\t\"SWIMLANE-FEELINGS\": \"swimlane-feelings\",\r\n\t\"SWIMLANE-IMAGE\": \"swimlane-image\",\r\n\t\"SWIMLANE-ATTACH\": \"swimlane-attach\",\r\n\t\"SWIMLANE-LI\": \"swimlane-li\",\r\n\t\"SWIMLANE-OPPT\": \"swimlane-oppt\",\r\n\t\"SWIMLANE-SYSTEM\": \"swimlane-system\",\r\n\t\"SWIMLANE-TEXT\": \"swimlane-text\",\r\n\t\"SWIMLANE-TIMING\": \"swimlane-timing\",\r\n\t\"SWIMLANE-TOUCHPOINTS\": \"swimlane-touchpoints&intractions\",\r\n\tMONDAY: \"monday\",\r\n\t\"PERSONA-EMPTY-LIST\": \"persona-empty-list\",\r\n\tDEPARTMENT: \"department-atr\",\r\n\tGROUP: \"group-atr\",\r\n\tLINK: \"linked-atr\",\r\n\tPERSONA: \"persona-atr\",\r\n\tSENTIMENT: \"sentiment-atr\",\r\n\tSTAKEHOLDERS: \"stakeholders-atr\",\r\n\tSYSTEM: \"system-atr\",\r\n\tTAG: \"tag-atr\",\r\n\tSPARKLES: \"sparkles-thin\",\r\n\tCONNECTORS: \"plug-thin\",\r\n\tANALYTICS: \"chart-simple-light\",\r\n\t\"LIB-BRAND-VALUES\": \"lib-brandValues\",\r\n\t\"LIB-CUSTOM\": \"lib-custom\",\r\n\t\"LIB-DEPARTMENTS\": \"lib-departments\",\r\n\t\"LIB-KPI\": \"lib-kpi\",\r\n\t\"LIB-STICKERS\": \"lib-stickers\",\r\n\t\"LIB-SYSTEMS\": \"lib-systems\",\r\n\t\"LIB-TOUCHPOINTS\": \"lib-touchpoints\",\r\n\tMEASURE: \"measure\",\r\n\tPIN: \"pin-info\",\r\n\t\"PENCIL-LOWER-LEFT\": \"pencil-lower-left\",\r\n\t\"EXCELLENT-BTN\": \"excellent-btn\",\r\n\t\"EXCELLENT-BTN-ACTIVE\": \"excellent-btn-active\",\r\n\t\"GENERIC-BTN\": \"generic-btn\",\r\n\t\"GENERIC-BTN-ACTIVE\": \"generic-btn-active\",\r\n\t\"GOOD-BTN\": \"good-btn\",\r\n\t\"GOOD-BTN-ACTIVE\": \"good-btn-active\",\r\n\t\"NEUTRAL-BTN\": \"neutral-btn\",\r\n\t\"POOR-BTN\": \"poor-btn\",\r\n\t\"POOR-BTN-ACTIVE\": \"poor-btn-active\",\r\n\t\"TERIBLE-BTN\": \"terrible-btn\",\r\n\t\"TERIBLE-BTN-ACTIVE\": \"terrible-btn-active\",\r\n\t\"EMOTION-EXCELLENT\": \"emotion-excellent\",\r\n\t\"EMOTION-GENERIC\": \"emotion-generic\",\r\n\t\"EMOTION-GOOD\": \"emotion-good\",\r\n\t\"EMOTION-POOR\": \"emotion-poor\",\r\n\t\"EMOTION-TERRIBLE\": \"emotion-terrible\",\r\n\t\"NO-SENTIMENT-SMILEY\": \"nosentiment-smiley\",\r\n\t\"NOSENTIMENT-SMILEY\": \"nosentiment-smiley\",\r\n\t\"ALTERNATIVE-CUSTOMER-ROUTE\": \"alternative-customer-route\",\r\n\t\"LINE-GRAPH\": \"chart-line-graph\",\r\n\t\"MAIN-CUSTOMER-ROUTE\": \"main-customer-route\",\r\n\t\"BV-1\": \"bv-1\",\r\n\t\"BV-2\": \"bv-2\",\r\n\t\"BV-3\": \"bv-3\",\r\n\t\"BV-4\": \"bv-4\",\r\n\t\"BV-5\": \"bv-5\",\r\n\t\"BV-6\": \"bv-6\",\r\n\t\"BV-7\": \"bv-7\",\r\n\t\"BV-8\": \"bv-8\",\r\n\t\"BV-9\": \"bv-9\",\r\n\t\"BV-10\": \"bv-10\",\r\n\t\"BV-11\": \"bv-11\",\r\n\t\"BV-12\": \"bv-12\",\r\n\t\"BV-13\": \"bv-13\",\r\n\t\"BV-14\": \"bv-14\",\r\n\t\"BV-15\": \"bv-15\",\r\n\t\"BV-16\": \"bv-16\",\r\n\t\"LINE-DASH-GRAPH\": \"dash-solid\",\r\n\t\"PROJECT-HEADER\": \"project-header\",\r\n\tNOTEBOOK: \"notebook\",\r\n\tBRIEFCASE: \"briefcase\",\r\n\tPACKAGE: \"package\",\r\n\tSPARKLES_HOME: \"sparkles-thin\",\r\n\tGROUP_DUOTONE: \"group-atr\",\r\n\tDEPARTMENT_DUOTONE: \"department-atr\",\r\n\tLINK_DUOTONE: \"linked-atr\",\r\n\tPERSONA_DUOTONE: \"persona-atr\",\r\n\tSENTIMENT_DUOTONE: \"sentiment-atr\",\r\n\tSTAKEHOLDERS_DUOTONE: \"stakeholders-atr\",\r\n\tSYSTEM_DUOTONE: \"system-atr\",\r\n\tTAG_DUOTONE: \"tag-atr\",\r\n\tSPARKLES_DUOTONE: \"sparkles-thin\",\r\n\tCONNECTORS_DUOTONE: \"plug-thin\",\r\n\tANALYTICS_DUOTONE: \"chart-simple-light\",\r\n\tINTEGRATION_WIDGET: \"integration-widget\",\r\n\tWIDGET_AI: \"widget-ai\",\r\n\tWIDGET_INTEGRATION: \"widget-integration\",\r\n\tWIDGET_ANALYTIC: \"widget-analytic\",\r\n\t\"SPARKLES-LIGHT\": \"sparkles-ligh\",\r\n\t\"MAP-LIGHT\": \"map-light\",\r\n\t\"MAP-DEFAULT\": \"map-default\",\r\n\tYOUTUBE: \"youtube\",\r\n};\r\n\r\nexport default DynamicIcon;\r\n","import { forwardRef } from \"react\";\r\nimport { Button as BoostrapButton } from \"react-bootstrap\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport Spinner from \"react-bootstrap/Spinner\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Label } from \"reactstrap\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { IconDispatcher } from \"../Icons\";\r\n\r\nexport const COLORS = {\r\n\twhite: \"#FFFFFF\",\r\n\tprimary: \"#F96209\",\r\n\tprimaryHover: \"#E35806\",\r\n\tprimaryFocus: \"#FA7222\",\r\n\tlightHover: \"#EFEFEF\",\r\n\tpurple: \"#7676d2\",\r\n\tprimaryPurple: \"#4b4b7b\",\r\n\tsecondary: \"#92919D\",\r\n\tsecondaryBg: \"#E4E7F1\",\r\n\tlabel: \"#605F60\",\r\n\tsecondaryLight: \"#E4E7F1\",\r\n\tsecondaryOutLine: \"#6C757D\",\r\n\tdanger: \"#DC3545\",\r\n\tlabelText: \"#605F60\",\r\n\tturquoise: \"#18AEAD\",\r\n\tturquoiseHover: \"#138A8A\",\r\n\tdangerHover: \"#DC3545\",\r\n\tdangerFocus: \"#DC3545\",\r\n\tlightOutline: \"#C4C4C4\",\r\n};\r\n\r\nexport const Button = styled(BoostrapButton)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\ttext-transform: capitalize;\r\n\twhite-space: nowrap;\r\n\tline-height: 24px;\r\n\r\n\t${(props) =>\r\n\t\t(props.isicon === \"true\" || props.isicon) &&\r\n\t\tcss`\r\n\t\t\tdisplay: flex !important;\r\n\t\t\talign-items: center !important;\r\n\t\t\tjustify-content: center !important;\r\n\t\t\tborder: none;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.fullwidth &&\r\n\t\tcss`\r\n\t\t\twidth: 100%;\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.justifyContent &&\r\n\t\tcss`\r\n\t\t\tjustify-content: ${({ justifyContent }) => justifyContent} !important;\r\n\t\t`}\r\n\r\n\t///// SIZES \\\\\\\\\\\\\r\n\r\n\t${(props) =>\r\n\t\tprops.size === \"xs\" &&\r\n\t\tcss`\r\n\t\t\theight: 24px;\r\n\t\t\tfont-size: 14px;\r\n\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 14px !important;\r\n\t\t\t\theight: 14px !important;\r\n\t\t\t}\r\n\r\n\t\t\t${props.isicon === \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\twidth: 24px;\r\n\t\t\t`}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.size === \"s\" &&\r\n\t\tcss`\r\n\t\t\theight: 32px;\r\n\t\t\tfont-size: 14px;\r\n\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 16px !important;\r\n\t\t\t\theight: 16px !important;\r\n\t\t\t}\r\n\r\n\t\t\t${props.isicon === \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\twidth: 32px;\r\n\t\t\t`}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\theight: 36px;\r\n\t\t\tfont-size: 14px;\r\n\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 16px !important;\r\n\t\t\t\theight: 16px !important;\r\n\t\t\t}\r\n\r\n\t\t\t${props.isicon === \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\twidth: 36px;\r\n\t\t\t`}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.size === \"l\" &&\r\n\t\tcss`\r\n\t\t\theight: 40px;\r\n\t\t\tfont-size: 16px;\r\n\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 16px !important;\r\n\t\t\t\theight: 16px !important;\r\n\t\t\t}\r\n\r\n\t\t\t${props.isicon === \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\twidth: 40px;\r\n\t\t\t`}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.size === \"xl\" &&\r\n\t\tcss`\r\n\t\t\theight: 48px;\r\n\t\t\tfont-size: 16px;\r\n\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 16px !important;\r\n\t\t\t\theight: 16px !important;\r\n\t\t\t}\r\n\r\n\t\t\t${props.isicon === \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\twidth: 48px;\r\n\t\t\t`}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.size === \"xxl\" &&\r\n\t\tcss`\r\n\t\t\theight: 60px;\r\n\t\t\tfont-size: 24px;\r\n\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 24px !important;\r\n\t\t\t\theight: 24px !important;\r\n\t\t\t}\r\n\r\n\t\t\t${props.isicon === \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\twidth: 60px;\r\n\t\t\t`}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.size === \"home\" &&\r\n\t\tcss`\r\n\t\t\theight: 36px;\r\n\t\t\tfont-size: 14px;\r\n\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 20px !important;\r\n\t\t\t\theight: 20px !important;\r\n\t\t\t}\r\n\r\n\t\t\t${props.isicon === \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\twidth: 36px;\r\n\t\t\t`}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.size === \"icon-12\" &&\r\n\t\tcss`\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 12px !important;\r\n\t\t\t\theight: 12px !important;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n\r\n /// SIZES END \\\\\\\r\n\r\n &.form-control:focus {\r\n\t\toutline: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n\r\n\t&:focus {\r\n\t\toutline: none;\r\n\t\tbox-shadow: none;\r\n\t\t&:active {\r\n\t\t\toutline: none;\r\n\t\t\tbox-shadow: none;\r\n\t\t}\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tprops.disabled === true &&\r\n\t\tcss`\r\n\t\t\topacity: 0.7 !important;\r\n\t\t\tpointer-events: none !important;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.variant === \"clean\" &&\r\n\t\tcss`\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 100%;\r\n\t\t\tpadding: 0px;\r\n\t\t\tmargin: 0px;\r\n\t\t\tbackground-color: none;\r\n\t\t\tborder: none !important;\r\n\t\t\tcolor: none;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: none;\r\n\t\t\t\tbackground-color: none;\r\n\t\t\t\tborder: none;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tcolor: none;\r\n\t\t\t\tbackground-color: none;\r\n\t\t\t\tborder: none;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"default\" &&\r\n\t\tcss`\r\n\t\t\tbackground: #f8f9fa;\r\n\t\t\tbox-shadow: 0px 1px 0.5px rgba(0, 0, 0, 0.25);\r\n\t\t\t&:hover {\r\n\t\t\t\topacity: 0.8;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n\r\n ///// PRIMARY \\\\\\\\\\\\\r\n ${(props) =>\r\n\t\tprops.variant === \"primary\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: ${COLORS.primary} !important;\r\n\t\t\tborder: 1px solid ${COLORS.primary} !important;\r\n\t\t\tcolor: ${COLORS.white};\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: ${COLORS.white};\r\n\t\t\t\tbackground-color: ${COLORS.primaryHover} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.primaryHover} !important;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tcolor: ${COLORS.white};\r\n\t\t\t\tbackground-color: ${COLORS.primaryFocus} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.primaryFocus} !important;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n ///// PRIMARY- OUTLINE \\\\\\\\\\\\\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"primary-outline\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${COLORS.primary} !important;\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tborder: 1px solid ${COLORS.primary};\r\n\t\t\t/* ${props.active && `color: #FFFFFF !important;background-color: ${COLORS.primaryFocus} !important;`} */\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: #ffffff !important;\r\n\t\t\t\tbackground-color: ${COLORS.primaryHover} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.primaryHover} !important;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tcolor: #ffffff !important;\r\n\t\t\t\tbackground-color: ${COLORS.primaryFocus} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.primaryFocus} !important;\r\n\t\t\t}\r\n\t\t`}\r\n ///// PRIMARY-LINK \\\\\\\\\\\\\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"primary-link\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${COLORS.primary} !important;\r\n\t\t\tbackground-color: transparent !important;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tbackground-color: transparent !important;\r\n\t\t\t\tcolor: ${COLORS.primaryHover} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.primaryHover} !important;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tbackground-color: transparent !important;\r\n\t\t\t\tcolor: ${COLORS.primaryFocus} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.primaryFocus} !important;\r\n\t\t\t}\r\n\t\t`}\r\n ///// LIGHT \\\\\\\\\\\\\r\n ${(props) =>\r\n\t\tprops.variant === \"light\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\tborder: 1px solid transparent !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 18px;\r\n\t\t\t\theight: 18px;\r\n\t\t\t}\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.lightHover} !important;\r\n\t\t\t`}\r\n\r\n\t\t\t&:hover, &:focus {\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.lightHover} !important;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n\r\n ///// LIGHT-OUTLINE \\\\\\\\\\\\\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"light-outline\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: ${COLORS.white} !important;\r\n\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\tborder: 1px solid ${COLORS.lightOutline} !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightOutline} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.lightOutline} !important;\r\n\t\t\t`}\r\n\r\n\t\t\t&:hover, &:focus {\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightOutline} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.lightOutline} !important;\r\n\t\t\t}\r\n\t\t`}\r\n ///// LIGHT-LINK \\\\\\\\\\\\\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"light-link\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t`}\r\n\r\n\t\t\t:hover {\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t}\r\n\t\t\t:focus {\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t}\r\n\t\t`}\r\n\t\t${(props) =>\r\n\t\tprops.variant === \"dark-link\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tcolor: ${COLORS.black} !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tcolor: ${COLORS.black} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t`}\r\n\r\n\t\t\t:hover {\r\n\t\t\t\tcolor: ${COLORS.black} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t}\r\n\t\t\t:focus {\r\n\t\t\t\tcolor: ${COLORS.black} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n\r\n ///// DASHED-LIGHT-LINK \\\\\\\\\\\\\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"dashed-light-link\" &&\r\n\t\tcss`\r\n\t\t\twidth: 100%;\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\tborder: 1px dashed #c4c4c4 !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t`}\r\n\r\n\t\t\t:hover {\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t}\r\n\t\t\t:focus {\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t}\r\n\t\t`}\r\n ///// LINK \\\\\\\\\\\\\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"link\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${COLORS.labelText} !important;\r\n\t\t\tpadding-top: 0.25rem;\r\n\t\t\t&:hover {\r\n\t\t\t\tborder-radius: 4px;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"tertiary-outline\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tcolor: ${COLORS.turquoise} !important;\r\n\t\t\tborder: 1px solid ${COLORS.turquoise} !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${(props) =>\r\n\t\t\t\tprops.active &&\r\n\t\t\t\t`\r\n color: ${COLORS.white} !important;\r\n background-color: ${COLORS.turquoise} !important;\r\n `}\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: ${COLORS.white} !important;\r\n\t\t\t\tbackground-color: ${COLORS.turquoise} !important;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"tertiary-ghost\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tcolor: ${COLORS.turquoise} !important;\r\n\t\t\tborder: 1px solid transparent !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${(props) =>\r\n\t\t\t\tprops.active &&\r\n\t\t\t\t`\r\n color: ${COLORS.turquoise} !important;\r\n background-color: transparent !important;\r\n `}\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: #138a8a !important;\r\n\t\t\t\tbackground-color: transparent !important;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"chart\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: ${COLORS.white};\r\n\t\t\tborder: 1px solid ${COLORS.secondaryLight};\r\n\t\t\tborder-radius: 0.25rem;\r\n\t\t\theight: 40px;\r\n\t\t\tmin-width: 30px;\r\n\t\t\tmin-height: 40px;\r\n\t\t\twidth: fit-content;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t\tmargin: 0.2rem;\r\n\t\t\tpadding: 0.4rem;\r\n\t\t\topacity: 0.5;\r\n\t\t\t&.active {\r\n\t\t\t\topacity: 1;\r\n\t\t\t}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.variant === \"floating\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tcolor: ${COLORS.secondary1} !important;\r\n\t\t\tborder: 1px solid transparent !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t\tbox-shadow: -2px 2px 4px rgba(0, 0, 0, 0.25), 2px -2px 4px rgba(0, 0, 0, 0.25);\r\n\t\t\twidth: 30px;\r\n\t\t\theight: 30px;\r\n\t\t\tborder-radius: 50%;\r\n\t\t\tpadding: 0.2rem;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tborder: 1px solid ${COLORS.secondaryLight} !important;\r\n\t\t\t}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.variant === \"arrow\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: ${COLORS.white} !important;\r\n\t\t\tcolor: #c4c4c4 !important;\r\n\t\t\tborder: 1px solid #c4c4c4 !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t\tbox-shadow: -2px 2px 4px rgba(0, 0, 0, 0.15), 2px -2px 4px rgba(0, 0, 0, 0.15);\r\n\t\t\twidth: 22px;\r\n\t\t\theight: 22px;\r\n\t\t\tborder-radius: 50%;\r\n\t\t\tpadding: 0.2rem;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tborder: 1px solid ${COLORS.secondaryLight} !important;\r\n\t\t\t}\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 10px !important;\r\n\t\t\t\theight: 10px !important;\r\n\t\t\t}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.variant === \"add\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: ${COLORS.primary} !important;\r\n\t\t\tcolor: ${COLORS.white} !important;\r\n\t\t\tborder: 1px solid #c4c4c4 !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t\tbox-shadow: -2px 2px 4px rgba(0, 0, 0, 0.15), 2px -2px 4px rgba(0, 0, 0, 0.15);\r\n\t\t\theight: inherit;\r\n\t\t\tborder-radius: 5px;\r\n\t\t\tpadding: 0.2rem 0.5rem;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tborder: 1px solid ${COLORS.secondaryLight} !important;\r\n\t\t\t}\r\n\t\t`}\r\n\t\t${(props) =>\r\n\t\tprops.variant === \"floating-light-sidebar\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: ${COLORS.white} !important;\r\n\t\t\tcolor: ${COLORS.black} !important;\r\n\t\t\tborder: 1px solid #c4c4c4 !important;\r\n\t\t\tbox-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25);\r\n\t\t\tborder-radius: 3.2px;\r\n\t\t\t&:hover {\r\n\t\t\t\tborder: 1px solid ${COLORS.secondaryLight} !important;\r\n\t\t\t}\r\n\t\t`}\r\n\t\t${(props) =>\r\n\t\tprops.variant === \"danger\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${COLORS.white} !important;\r\n\t\t\tbackground-color: ${COLORS.danger} !important;\r\n\t\t\tborder: 1px solid ${COLORS.danger} !important;\r\n\t\t\t/* ${props.active && `color: #FFFFFF !important;background-color: ${COLORS.primaryFocus} !important;`} */\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: ${COLORS.danger} !important;\r\n\t\t\t\tbackground-color: transparent !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.dangerHover} !important;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tcolor: ${COLORS.danger} !important;\r\n\t\t\t\tbackground-color: transparent !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.dangerHover} !important;\r\n\t\t\t}\r\n\t\t`}\r\n\t\t${(props) =>\r\n\t\tprops.variant === \"danger-outline\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${COLORS.danger} !important;\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tborder: 1px solid ${COLORS.danger};\r\n\t\t\t/* ${props.active && `color: #FFFFFF !important;background-color: ${COLORS.primaryFocus} !important;`} */\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: #ffffff !important;\r\n\t\t\t\tbackground-color: ${COLORS.dangerHover} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.dangerHover} !important;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tcolor: #ffffff !important;\r\n\t\t\t\tbackground-color: ${COLORS.dangerFocus} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.dangerFocus} !important;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n\t\t${(props) =>\r\n\t\tprops.variant === \"dashed\" &&\r\n\t\tcss`\r\n\t\t\tborder: 1px dashed #c4c4c4 !important;\r\n\r\n\t\t\tbackground-color: #fff !important;\r\n\t\t\tcolor: #c4c4c4 !important;\r\n\t\t\t:hover {\r\n\t\t\t\topacity: 0.8;\r\n\t\t\t}\r\n\t\t`}\r\n\t\t${(props) =>\r\n\t\tprops.variant === \"ai\" &&\r\n\t\tcss`\r\n\t\t\tborder: 1px solid transparent !important;\r\n\t\t\tbackground-color: #ffffff !important;\r\n\t\t\tbackground: linear-gradient(45deg, #f96209, #f8ad48, #18aead, #60c1ef, #3f3d56), linear-gradient(90deg, #f8ad48 7.21%, #18aead 51.97%, #3f3d56 97.69%);\r\n\r\n\t\t\t-webkit-background-clip: text;\r\n\t\t\t-webkit-text-fill-color: transparent;\r\n\t\t\tbackground-clip: text;\r\n\t\t\ttext-fill-color: transparent;\r\n\t\t\tsvg {\r\n\t\t\t\tcolor: ${COLORS.primary};\r\n\t\t\t}\r\n\t\t\t:hover {\r\n\t\t\t\topacity: 0.8;\r\n\t\t\t\tborder: 1px solid transparent !important;\r\n\t\t\t}\r\n\t\t`}\r\n\t\t${(props) =>\r\n\t\tprops.variant === \"light-bulk\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${COLORS.white} !important;\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tborder: 1px solid transparent !important;\r\n\t\t\tline-height: 1.5 !important;\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: ${COLORS.primary} !important;\r\n\t\t\t\tbackground-color: transparent !important;\r\n\t\t\t\tborder: 1px solid transparent !important;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tcolor: ${COLORS.primary} !important;\r\n\t\t\t\tbackground-color: transparent !important;\r\n\t\t\t\tborder: 1px solid transparent !important;\r\n\t\t\t}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.variant === \"dark\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: #333 !important;\r\n\t\t\tcolor: #fff !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #000 !important;\r\n\t\t\t`}\r\n\r\n\t\t\t:hover {\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #000 !important;\r\n\t\t\t}\r\n\t\t\t:focus {\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #000 !important;\r\n\t\t\t}\r\n\t\t\t${props.disabled &&\r\n\t\t\tcss`\r\n\t\t\t\tborder-color: #888 !important;\r\n\t\t\t\tbackground-color: #888 !important;\r\n\t\t\t`}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.variant === \"dark-outline\" &&\r\n\t\tcss`\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t\tborder: 1px solid #333;\r\n\t\t\tborder-radius: 0.25rem;\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tcolor: #333 !important;\r\n\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #333 !important;\r\n\t\t\t`}\r\n\t\t\t:hover {\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #333 !important;\r\n\t\t\t}\r\n\t\t\t:focus {\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #333 !important;\r\n\t\t\t}\r\n\t\t\t${props.disabled &&\r\n\t\t\tcss`\r\n\t\t\t\tborder: 1px solid #888;\r\n\t\t\t\tcolor: #888;\r\n\t\t\t`}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.variant === \"secondary\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: #3f3d56 !important;\r\n\t\t\tcolor: #fff !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #333044 !important;\r\n\t\t\t`}\r\n\r\n\t\t\t:hover {\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #333044 !important;\r\n\t\t\t}\r\n\t\t\t:focus {\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #333044 !important;\r\n\t\t\t}\r\n\r\n\t\t\t${props.disabled &&\r\n\t\t\tcss`\r\n\t\t\t\tbackground-color: #888796 !important;\r\n\t\t\t`}\r\n\t\t`}\r\n\r\n\r\n\t\t${(props) =>\r\n\t\tprops.variant === \"black-link\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tcolor: #333333 !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tcolor: #fff !important;\r\n\t\t\t\tbackground-color: #000 !important;\r\n\t\t\t`}\r\n\r\n\t\t\t:hover {\r\n\t\t\t\t/* color: #fff !important; */\r\n\t\t\t\t/* background-color: #000 !important; */\r\n\t\t\t}\r\n\t\t\t:focus {\r\n\t\t\t\t/* color: #fff !important;\r\n\t\t\t\tbackground-color: #000 !important; */\r\n\t\t\t}\r\n\t\t`}\r\n\r\n ///// FILTER \\\\\\\\\\\\\r\n ${(props) =>\r\n\t\tprops.variant === \"filter\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: #F0F0F0 !important;\r\n\t\t\tcolor: #262626 !important;\r\n\t\t\tborder: 1px solid transparent !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 18px;\r\n\t\t\t\theight: 18px;\r\n\t\t\t}\r\n\t\t\t${props.active &&\r\n\t\t\tcss`\r\n\t\t\t\tborder: 1px solid #333 !important;\r\n\t\t\t`}\r\n\r\n\t\t\t&:hover, &:focus {\r\n\t\t\t\tborder: 1px solid #333 !important;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n\r\nexport const Switch = styled(Form.Switch)`\r\n\tline-height: 1.5 !important;\r\n\t.form-check-input {\r\n\t\tbackground-color: #c4c4c4;\r\n\t\tborder-color: #c4c4c4;\r\n\t}\r\n\tinput[type=\"checkbox\" i] {\r\n\t\tcursor: ${(props) => (props.isdisabled === \"true\" ? \"not-allowed\" : \"pointer\")}!important;\r\n\t}\r\n\t.form-check-input:checked {\r\n\t\tbackground-color: #f9650d;\r\n\t\tborder-color: #f9650d;\r\n\t}\r\n\r\n\t.form-check-input:focus {\r\n\t\tborder-color: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n`;\r\n\r\nexport default function GenericSwitch({ text, tooltipText, isChecked, handleToggle, gap, justifycontent, name, isdisabled, ...props }) {\r\n\tconst { t } = useTranslation();\r\n\treturn (\r\n\t\t\r\n\t\t\t{text && (\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t(text)}
\r\n\t\t\t\t\t{tooltipText && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{IconDispatcher(\"CIRCLE-QUESTION\")}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst GenericSwitchContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tjustify-content: ${(props) => props.justifycontent};\r\n\tgap: ${(props) => props.gap}px;\r\n`;\r\n\r\nexport const UploadLabel = styled(Label)`\r\n\tcolor: ${COLORS.label};\r\n\tbackground-color: ${COLORS.lightHover} !important;\r\n\tborder: 1px solid transparent !important;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\theight: 36px;\r\n\tfont-size: 14px;\r\n\r\n\tsvg {\r\n\t\twidth: 14px !important;\r\n\t\theight: 14px !important;\r\n\t}\r\n\r\n\t&:hover,\r\n\t&:focus {\r\n\t\tcolor: ${COLORS.label};\r\n\t\tbackground-color: ${COLORS.lightHover}!important;\r\n\t\tborder: 1px solid ${COLORS.lightHover} !important;\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tprops.variant === \"tertiary-outline\" &&\r\n\t\tcss`\r\n\t\t\tbackground-color: transparent !important;\r\n\t\t\tcolor: ${COLORS.primary} !important;\r\n\t\t\tborder: 1px solid ${COLORS.primary} !important;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t${(props) =>\r\n\t\t\t\tprops.active &&\r\n\t\t\t\t`\r\n color: ${COLORS.white} !important;\r\n background-color: ${COLORS.primary} !important;\r\n `}\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: ${COLORS.white} !important;\r\n\t\t\t\tbackground-color: ${COLORS.primary} !important;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n\r\n\r\nexport const GenericButton = forwardRef(\r\n\t(\r\n\t\t{\r\n\t\t\ttooltip = undefined,\r\n\t\t\tdisableIfEllipsis = undefined,\r\n\t\t\tid = undefined,\r\n\t\t\ttooltipText = undefined,\r\n\t\t\tplacement = \"bottom\",\r\n\t\t\ticon = undefined,\r\n\t\t\ticonClassName = \"\",\r\n\t\t\ticonParams = {},\r\n\t\t\ttooltipProps = {},\r\n\t\t\tchildren = undefined,\r\n\t\t\thide = undefined,\r\n\t\t\ticonPosition = \"before\",\r\n\t\t\tsize = \"m\",\r\n\t\t\tloading = false,\r\n\t\t\t...props\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\t// const [buttonRef, isEllipsis] = useIsEllipsis(disableIfEllipsis);\r\n\t\tconst shouldDisplayTooltip = tooltip && tooltipText && !disableIfEllipsis;\r\n\t\tconst isicon = props.isicon ? props.isicon : children === undefined ? \"true\" : \"false\";\r\n\t\tif (hide) return null;\r\n\r\n\t\tconst Btn = () => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{shouldDisplayTooltip ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n);\r\nGenericButton.displayName = \"GenericButton\";\r\n\r\nexport const CustomDropdownButton = forwardRef(({ children, onClick, disabled, width }, ref) => {\r\n\treturn (\r\n\t\t {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tonClick(e);\r\n\t\t\t}}\r\n\t\t\tdisabled={disabled}>\r\n\t\t\t
{children}
\r\n\t\t\t
{IconDispatcher(\"angle-down\")}
\r\n\t\t\r\n\t);\r\n});\r\n\r\nCustomDropdownButton.displayName = \"CustomButton\";\r\n\r\nexport const RadioButton = styled.div`\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tborder-radius: 100px;\r\n\tborder: ${(props) => (props.selected ? \"4px solid #333333\" : \"1px solid var(--components-checkbox-border, rgba(0, 0, 0, 0.15))\")};\r\n\tbackground: var(--gray-white, #fff);\r\n\t${(props) =>\r\n\t\tprops.showpointer &&\r\n\t\tcss`\r\n\t\t\tcursor: pointer;\r\n\t\t`}\r\n`;\r\n\r\nconst ButtonContainer = styled.div`\r\n\theight: 36px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tgap: 8px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t\tbackground-color: #efefef;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tbackground-color: #efefef;\r\n\t\t\tpointer-events: none;\r\n\t\t`}\r\n`;\r\n","import React, { useState } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter} from \"reactstrap\";\r\nimport { t } from \"i18next\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport { UploadImageModal } from \"shared/components/UploadImage\";\r\n\r\nexport const EditLogoModal = ({ isOpen, onClose, updateImg, cjmIdStr, sessionId, deleteImage }) => {\r\n\tconst isFromAccountSettings = sessionId && !cjmIdStr ? true : false;\r\n\tconst isFromCJM = sessionId && cjmIdStr ? true : false;\r\n\r\n\tconst getLogo = () => {\r\n\t\tif (isFromCJM) return getterApis[\"GET_MAP_CUSTOM_IMG\"](cjmIdStr, sessionId);\r\n\t\telse if (isFromAccountSettings) return getterApis[\"GET_ACCOUNT_IMG\"](sessionId);\r\n\t\telse return null;\r\n\t};\r\n\r\n\tconst [companyLogo, setCompanyLogo] = useState(getLogo() + `&${Math.random()}=true`);\r\n\r\n\tconst save = () => {\r\n\t\tupdateImg(companyLogo);\r\n\t\tonClose();\r\n\t};\r\n\tconst onDelete = () => {\r\n\t\tif (deleteImage) deleteImage(setCompanyLogo);\r\n\t};\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{t(\"ASPX_236\")}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\n\r\nexport function IframeModal({ isOpen, onClose, title, url, add, objectId, img, customHeight = 1000 }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(title)}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
{img ? \"\" : }
\r\n\t\t\t\r\n\t\t\t{add && (\r\n\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tadd(objectId);\r\n\t\t\t\t\t\t\tonClose();\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t{t(\"USE\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n}\r\nconst Frame = styled.iframe`\r\n\twidth: 100%;\r\n\theight: 1000px;\r\n\toverflow: auto;\r\n\tzoom: 0.7;\r\n\tborder: 1px solid #c4c4c4;\r\n`;\r\nconst Body = styled(ModalBody)`\r\n\toverflow: auto;\r\n\tmin-height: ${({customHeight}) => customHeight}px;\r\n\tmax-height: ${({customHeight}) => customHeight}px;\r\n\r\n\t@media (max-height: 800px) {\r\n\t\tmin-height: 700px;\r\n\t\tmax-height: 700px;\r\n\t}\r\n`;\r\nconst Image = styled.img`\r\n\twidth: inherit;\r\n\tzoom: 0.5;\r\n`;\r\n","import { getAllActiveWorkspaces } from \"@redux/memoizedSelectors\";\r\nimport { Token } from \"react-bootstrap-typeahead\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { TypeaheadWrapper } from \"shared/modals/manage-access/ManageAccessStyle\";\r\nimport styled from \"styled-components/macro\";\r\nimport WorkspaceLogoAndName from \"./workspace-logo-and-name\";\r\n\r\nexport const WorkspaceTypehead = ({ selected, onChange, nameWidth, disabled = false }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst allActivesWorkspaces = useSelector(getAllActiveWorkspaces);\r\n\r\n\tconst MenuItem = (workspace) => (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n\r\n\tconst SelectedItem = (workspace, props) => (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nWorkspaceTypehead.displayName = \"WorkspaceTypehead\";\r\n\r\nconst CustomToken = styled(Token)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tborder-radius: 4px;\r\n\tbackground: #efefef;\r\n\t.rbt-token-label {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tgap: 5px;\r\n\t}\r\n\t.rbt-token-remove-button {\r\n\t\talign-items: center;\r\n\t\tbackground: #efefef;\r\n\t\tcolor: #605f60;\r\n\t}\r\n`;\r\n","import { getAllActiveWorkspaces } from \"@redux/memoizedSelectors\";\r\nimport { WorkspaceTypehead } from \"features/workspace/components/others/workspace-typehead\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { memo, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { FormGroup, Label, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { useAutoFocus } from \"shared/hooks/index\";\r\nimport { GenericButton, Input } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\n\r\nconst customStyles = {\r\n\tcontent: {\r\n\t\ttop: \"50%\",\r\n\t\tleft: \"50%\",\r\n\t\tright: \"auto\",\r\n\t\tbottom: \"auto\",\r\n\t\tmarginRight: \"-50%\",\r\n\t\ttransform: \"translate(-50%, -50%)\",\r\n\t},\r\n};\r\n\r\nconst DuplicateModal = memo(({ isOpen, onClose, title, inputTitle, inputPlaceholder, inputValue, actionBtnLabel = \"ASPX_83\", action }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useAutoFocus();\r\n\r\n\tconst allActivesWorkspaces = useSelector(getAllActiveWorkspaces);\r\n\tconst currentWorkspace = allActivesWorkspaces.find((ws) => ws.id === currentWorkspaceId);\r\n\tconst [name, setName] = useState(inputValue?.truncate(90) || \"\");\r\n\tconst [selectedWorkspaces, setSelectedWorkspaces] = useState([currentWorkspace]);\r\n\tconst contracts = useSelector((state) => state.settings?.subscriptionDetails?.subscriptionContracts);\r\n\r\n\tconst isConfigAllowed = contracts?.find((contract) => [\"Enterprise\"].includes(contract.subscriptionPlan)) ? true : false;\r\n\r\n\tconst duplicate = () => {\r\n action({ name, selectedWorkspaces });\r\n\t\tonClose();\r\n\t};\r\n\r\n\tconst handleChange = (e) => {\r\n\t\te.preventDefault();\r\n\t\tif (e.charCode === 13) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tsetName(e.target.value.truncate(100));\r\n\t};\r\n\r\n\tconst onTypeheadChange = (selected) => {\r\n\t\tsetSelectedWorkspaces([...selected]);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{t(title)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(actionBtnLabel)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\n\r\nDuplicateModal.displayName = \"DuplicateModal\";\r\nexport { DuplicateModal };\r\n\r\nconst DropdownContainer = styled.div`\r\n\theight: 150px;\r\n`;\r\n","import { GenericButton, Input } from \"shared/ui-basics/index\";\r\nimport { useAutoFocus } from \"shared/hooks/index\";\r\nimport React,{ memo, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FormGroup, Label, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nconst customStyles = {\r\n\tcontent: {\r\n\t\ttop: \"50%\",\r\n\t\tleft: \"50%\",\r\n\t\tright: \"auto\",\r\n\t\tbottom: \"auto\",\r\n\t\tmarginRight: \"-50%\",\r\n\t\ttransform: \"translate(-50%, -50%)\",\r\n\t},\r\n};\r\n const NewModal = memo(({ isOpen, onClose, title, inputTitle, placeholder, value, closeBtnLabel='ASPX_135', action, haveCancel = false }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useAutoFocus();\r\n\r\n\tconst [name, setName] = useState(value || \"\");\r\n\r\n\tconst create = () => {\r\n\t\taction(name);\r\n\t\tonClose();\r\n\t};\r\n\tconst handleChange = (e) => {\r\n\t\te.preventDefault();\r\n\t\tif (e.charCode === 13) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tsetName(e.target.value.truncate(100));\r\n\t};\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{t(title)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(closeBtnLabel)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{haveCancel ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tcancel\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\nNewModal.displayName = \"NewModal\";\r\nexport {NewModal}","import { t } from \"i18next\";\r\nimport { useState } from \"react\";\r\nimport { Offcanvas } from \"react-bootstrap\";\r\nimport EditCxGoalCard from \"shared/components/cards/cx-goals/EditCxGoalCard\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const EditCxGoalModal = ({ cxGoal, handleAction, isOpen, onClose }) => {\r\n\tconst [cxGoals, setCxGoals] = useState([cxGoal]);\r\n\r\n\tconst handleClick = () => {\r\n\t\tonClose();\r\n\t\thandleAction(cxGoals[0]);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"SELECTED_MEASURE\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"JS_88\")}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst OffcanvasLayout = styled(Offcanvas)`\r\n\twidth: 480px;\r\n`;\r\n\r\nconst Body = styled.div`\r\n\theight: 92vh;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst CloseButton = styled.div`\r\n\talign-self: flex-end;\r\n`;\r\n\r\nconst OffCanvasTitle = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\tmargin-bottom: 32px;\r\n align-self: flex-start;\r\n margin-left: 60px;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tborder-top: 1px solid #c4c4c4;\r\n`;\r\n","import { addMultiSwimlanes } from \"features/index\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { Input } from \"shared/ui-basics/input\";\r\nimport { FlexAlignCenter, FlexColumn } from \"shared/ui-basics/index\";\r\nimport { memo, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { Modal, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\nimport { CheckBoxWrapper } from \"../../library/modals/link-kpi/Style\";\r\nimport { encode, StripHtml } from \"@utils/helpers\";\r\n\r\nconst MoveToSwimlaneModal = memo(({ isOpen, onClose, newDefaultLane, lanes, defaultPlaceholder, moveToFunction }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst isHaveLanes = lanes?.length > 0;\r\n\tconst [selectedStep, setSelectedStep] = useState(isHaveLanes ? \"select\" : \"new\");\r\n\tconst [selectedLane, setSelectedLane] = useState(\"\");\r\n\r\n\tconst moveTo = () => {\r\n\t\tonClose();\r\n\t\tmoveToFunction({ newCustomSwimLaneId: selectedLane });\r\n\t};\r\n\r\n\tconst SelectLaneStep = () => (\r\n\t\t<>\r\n\t\t\t{t(\"SELECT_SWIMLANES\")}\r\n\t\t\t\r\n\t\t\t\t{!isHaveLanes ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{lanes?.map((lane) => {\r\n\t\t\t\t\t\t\tconst description = StripHtml(lane?.description);\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t e.stopPropagation()}\r\n\t\t\t\t\t\t\t\t\t\tonChange={() => setSelectedLane(lane?.key)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{lane?.name ? lane?.name : defaultPlaceholder}\r\n\t\t\t\t\t\t\t\t\t\t{description}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t setSelectedStep(\"new\")}>\r\n\t\t\t\t\t{t(\"ASPX_113\")}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"MOVE_SELECTED\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{selectedStep === \"select\" && }\r\n\t\t\t{selectedStep === \"new\" && }\r\n\t\t\r\n\t);\r\n});\r\n\r\nconst NewLaneStep = ({ setSelectedStep, newDefaultLane, moveToFunction, onClose }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { personaIdStr, cjmIdStr } = useLocation().search.getAllMapsParams();\r\n\tconst cjmSwimlanes = useSelector((state) => state.maps?.current_map?.cjmSwimLanes);\r\n\r\n\tconst [newLaneName, setNewLaneName] = useState(\"\");\r\n\r\n\tconst createNewAndMove = () => {\r\n\t\tonClose();\r\n\t\tconst onSuccess = () => moveToFunction({ newCustomSwimLaneId: newDefaultLane.id });\r\n\t\taddMultiSwimlanes({ swimlanes: [{ ...newDefaultLane, name: encode(newLaneName) }], cjmId: cjmIdStr, personaIdStr, order: cjmSwimlanes.length, onSuccess });\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{t(\"ASPX_113\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t setNewLaneName(e.target.value)} />\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t setSelectedStep(\"select\")}>\r\n\t\t\t\t\t{t(\"ASPX_132\")}\r\n\t\t\t\t\r\n\t\t\t\t createNewAndMove(onClose)}>\r\n\t\t\t\t\t{t(\"MOVE\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nMoveToSwimlaneModal.displayName = \"MoveToSwimlaneModal\";\r\nexport { MoveToSwimlaneModal };\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 400px;\r\n`;\r\n\r\nconst NewSwimlane = styled.div`\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n`;\r\n\r\nconst MoveToExisting = styled.div`\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n\tmax-height: 500px;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst Label = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nconst LaneName = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 16px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nconst LaneDescription = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tdisplay: flow;\r\n\t-webkit-line-clamp: 3;\r\n\t-webkit-box-orient: vertical;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tmax-height: 100px;\r\n\tmax-width: 300px;\r\n`;\r\n\r\nconst CustomFooter = styled(ModalFooter)`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n","import { setShowHeaderDetails } from \"@redux/pageReducer\";\r\nimport { GetDefaultSwimlaneName, toastWrapper } from \"@utils/helpers\";\r\nimport { getExcelExportMap, getIMGExportMap, getPDFExportMap, setIsExporting } from \"features/journey-map/reducer/CJMActions\";\r\nimport $ from 'jquery';\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { Input, Label, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { Button, GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from 'styled-components/macro';\r\n\r\nconst calculatedHeight = (swimLaneIds, selectedSW, width) => {\r\n let heightX = 0;\r\n\r\n selectedSW.forEach(element => {\r\n\r\n const swimlaneElem = $('*[id=\"swimlanes_' + element + '\"]');\r\n if (swimlaneElem.length > 0) {\r\n const elemHeight = swimlaneElem[0]?.clientHeight || 0;\r\n heightX += elemHeight\r\n \r\n }\r\n });\r\n\r\n const headerDetailsElem = $('#headerDetails_PDF_height');\r\n if (headerDetailsElem.length > 0) {\r\n headerDetailsElem[0].style.width = width + 'px'; // set the new width ->then the des change the height\r\n heightX += headerDetailsElem[0]?.clientHeight;\r\n }\r\n\r\n return heightX;\r\n}\r\nconst calculatedWidth = () => {\r\n let width = 0;\r\n if ($('#export_PDF_width').length > 0) {\r\n width += $('#export_PDF_width')[0]?.clientWidth;\r\n }\r\n return width;\r\n}\r\nexport const ExportModal = ({ isOpen, onClose }) => {\r\n const { cjmIdStr, personaIdStr } = useLocation().search.getAllMapsParams();\r\n const cjmSwimLanes = useSelector((state) => state.maps.current_map?.cjmSwimLanes);\r\n const cjmName = useSelector((state) => state.maps.current_map.cjmName);\r\n\r\n const { t } = useTranslation();\r\n const [exportBy, setExportBy] = useState('pdf');\r\n const [selectedSwimlanes, setSelectedSwimlanes] = useState(cjmSwimLanes?.extractKey() || [])\r\n const dispatch = useDispatch();\r\n //const token = useSelector(state => state.auth.token)\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n const setExportingQueryParam = (exporting) => {\r\n const currentSearchParams = new URLSearchParams(location.search);\r\n\r\n if (exporting) {\r\n dispatch(setIsExporting(true));\r\n } else {\r\n dispatch(setIsExporting(false));\r\n }\r\n\r\n // Create the new search string\r\n const newSearchString = currentSearchParams.toString();\r\n\r\n history.push({\r\n pathname: location.pathname,\r\n search: newSearchString ? `?${newSearchString}` : '',\r\n });\r\n };\r\n setExportingQueryParam(isOpen);\r\n\r\n return () => {\r\n setExportingQueryParam(false);\r\n };\r\n }, []);\r\n\r\n const exportMap = () => {\r\n switch (exportBy) {\r\n case \"excel\": {\r\n\r\n\r\n const promise = async () => {\r\n const { data, error } = await dispatch(getExcelExportMap({ cjmIdStr: cjmIdStr }));\r\n var fileDownload = require('js-file-download');\r\n fileDownload(data, cjmName + '.xlsx');\r\n\r\n if (error) throw error\r\n }\r\n toastWrapper(promise, \"EXPORT\")\r\n break;\r\n }\r\n case \"pdf\":\r\n case \"image\": {\r\n\r\n const swimLaneIds = selectedSwimlanes.length > 0 ? selectedSwimlanes.join('|') : ' ';\r\n const width = calculatedWidth();\r\n const height = calculatedHeight(cjmSwimLanes.map((sw) => sw.key) || [], selectedSwimlanes, width)+200;\r\n const promise1 = async () => {\r\n if (exportBy === \"pdf\") {\r\n const { data, error } = await dispatch(getPDFExportMap({ cjmIdStr, personaIdStr, swimLaneIds, width, height }));\r\n //const url = `/EditMap?isPrint=1&cjmId=${cjmIdStr}&personaId=${personaIdStr}&swimLaneIds=${swimLaneIds}&token=${token}`;\r\n // console.log(url);\r\n var fileDownload = require('js-file-download');\r\n fileDownload(data, cjmName + '.pdf');\r\n if (error) throw error\r\n }\r\n else {\r\n const { data, error } = await dispatch(getIMGExportMap({ cjmIdStr, personaIdStr, swimLaneIds, width, height }));\r\n var fileDownloads = require('js-file-download');\r\n fileDownloads(data, cjmName + '.png');\r\n\r\n\r\n if (error) throw error\r\n }\r\n }\r\n toastWrapper(promise1, \"EXPORT\")\r\n\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n setShowHeaderDetails(false);\r\n onClose();\r\n }\r\n const handleClick = (e) => {\r\n setExportBy(e.currentTarget.id);\r\n }\r\n const changeSelect = (e) => {\r\n\r\n if (selectedSwimlanes.includes(e.currentTarget.id))\r\n setSelectedSwimlanes(selectedSwimlanes.filter((sw) => sw !== e.currentTarget.id))\r\n else\r\n setSelectedSwimlanes([...selectedSwimlanes, e.currentTarget.id])\r\n }\r\n const eventClose = () => {\r\n setShowHeaderDetails(false);\r\n onClose();\r\n }\r\n return \r\n {t('JS_172')}\r\n \r\n {t('JS_173')}\r\n \r\n {cjmSwimLanes?.filter(sw => !['StageHeaders', 'PhaseHeaders'].includes(sw.id)).map((sw) =>\r\n \r\n \r\n \r\n \r\n {sw.name?.isEmptyString() ?\r\n t(GetDefaultSwimlaneName(sw.type))\r\n : sw.name}\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n
{t('JS_174')}
\r\n \r\n
{IconDispatcher(\"PDF\", \"me-1\")}{t('JS_175')}
\r\n
{IconDispatcher(\"EXCEL\", \"me-1\")}{t('JS_176')}
\r\n
{IconDispatcher(\"IMAGE\", \"me-1\")}{t('JS_177')}
\r\n
\r\n
\r\n
\r\n {t('JS_172')}\r\n
\r\n
\r\n
\r\n}\r\n\r\nconst LabelWrapper = styled(Label)`\r\n max-width: 200px;\r\n align-self: center;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n text-transform: capitalize;\r\n\r\n`\r\n\r\nconst FooterWrapper = styled(ModalFooter)`\r\n border-top: 1px solid #dee2e6 !important;\r\n padding:0;\r\n\r\n`\r\nconst DivButton = styled.div`\r\n width:100%;\r\n border-bottom: 1px solid #dee2e6;\r\n display:flex;\r\n justify-content: center;\r\n flex-direction: column;\r\n align-content: space-around;\r\n padding-bottom: 1.5rem!important;\r\n padding:0.75rem;\r\n`\r\nconst ButtonExport = styled(Button)`\r\n margin-right: 1rem;\r\n color: #333333;\r\n border: 1px solid #C4C4C4;\r\n background:#FFFFFF;\r\n &.active{\r\n color:#F96209;\r\n background: #FFE5D6;\r\n border: 1px solid #F96209;\r\n\r\n }\r\n & div{\r\n display:flex;\r\n align-items: center\r\n }\r\n\r\n`\r\nconst ButtonWrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n`\r\nconst DivSelectedWrapper = styled.div`\r\ndisplay: flex;\r\njustify-content:flex-start;\r\nalign-items:center;\r\nmargin-top:20px;\r\nwidth: 33.3%;\r\n\r\n`\r\nconst InputWrapper = styled(Input)`\r\nmargin:10px;\r\n &:checked{\r\n\r\n background-color: #333333;\r\n border-color: #333333;\r\n\r\n }\r\n`\r\nconst CheckWrapper = styled.div`\r\n display:flex;\r\n flex-wrap: wrap;\r\n margin-bottom:1.5rem;\r\n`\r\n","import { FlexAlignJustifyCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport PersonaBubble from \"features/forms/personas/components/PersonaBubble\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components/macro\";\r\nimport CustomTooltip from \"../../../../shared/components/CustomTooltip\";\r\nimport React from \"react\";\r\n\r\nconst PersonaCardWithSelectedCheck = ({ persona, selected, setSelected }) => {\r\n\tconst MAX_LENGTH = 15;\r\n\r\n\t// redux\r\n\tconst personaDetails = useSelector((state) => state.personas.all_personas?.find((pers) => persona.personaId === pers.personaId));\r\n\r\n\treturn (\r\n\t\t setSelected(personaDetails?.personaId)}>\r\n\t\t\t{IconDispatcher(\"PRIMARY-CHECK\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{personaDetails?.name}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default PersonaCardWithSelectedCheck;\r\n\r\nconst CheckLabel = styled.div`\r\n\tposition: absolute;\r\n\theight: 16px;\r\n\twidth: 16px;\r\n\tdisplay: flex;\r\n\ttop: 5px;\r\n\tleft: 5px;\r\n\tvisibility: ${(props) => (props.selected === true ? \"visible\" : \"hidden\")};\r\n`;\r\n\r\nconst Card = styled.div`\r\n\tposition: relative;\r\n\twidth: 160px;\r\n\theight: 180px;\r\n\t/* display: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-around; */\r\n\talign-items: center;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid ${(props) => (props.selected ? \"#F96209\" : \"#c4c4c4\")};\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t\tbox-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25);\r\n\t}\r\n`;\r\n\r\nconst PersonaName = styled.div`\r\n\tmargin: 1rem 0;\r\n\twidth: 100%;\r\n\tcolor: #605f60;\r\n\ttext-align: center;\r\n\tfont-size: 16px;\r\n\tfont-family: Inter;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n","import { GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { relinkPersona } from '@redux/index';\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { pictureValidationPersona, toastWrapper } from \"@utils/helpers\";\r\nimport { useState } from \"react\";\r\nimport { Image } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Card, CardBody } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const PersonaModalCard = ({ persona, variant, onClose, selected, unlinkPersona, clickPersona, cjmId, ...props }) => {\r\n\tconst history = useHistory();\r\n\tconst dispatch = useDispatch();\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst [isShown, setIsShown] = useState(false);\r\n\r\n\tconst viewJourney = () => {\r\n\t\thistory.push(`/EditMap?cjmid=${cjmId}&personaId=${persona.personaId}`);\r\n\r\n\t};\r\n\tconst reLinkPersonaAction = () => {\r\n\t\tconst onSuccess = () => {\r\n\t\t\tonClose();\r\n\t\t\thistory.push(`/EditMap?cjmid=${cjmId}&personaId=${persona.personaId}`);\r\n\r\n\t\t}\r\n\r\n\t\trelinkPersona({ personaIdStr: persona.personaId, cjmIdStr: cjmId , onSuccess ,displayToast: \"RELINK\"});\r\n\t};\r\n\r\n\treturn (\r\n\t\t (variant !== \"new\" ? setIsShown(true) : \"\")} onMouseLeave={() => setIsShown(false)}>\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{!isShown && (\r\n\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{persona?.name}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{persona?.occupation}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{variant === \"previousData\" && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"INFO\",\"me-1\")}\r\n\t\t\t\t\t\t\t{t(\"DESCRIPTION_PERSONA_LINK\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{isShown && (\r\n\t\t\t\t\r\n\t\t\t\t\t{variant === \"linkCjm\" && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
{t(\"JS_179\")}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
{t(\"JS_180\")}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{variant === \"previousData\" && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"USE_DATA\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"START_NEW_JOURNEY\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{variant === \"add\" && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"JS_181\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{variant === \"currentPersona\" && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{t(\"JS_179\")}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\r\n\t\t\t{/* } */}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst ImageWrapper = styled(Image)`\r\n\twidth: 120px;\r\n\theight: 120px;\r\n\tborder-radius: 50%;\r\n\tobject-fit: cover;\r\n\tborder: 3px solid #c9c9c9;\r\n\t@media screen and (max-width: 1280px) {\r\n\t\twidth: 90px;\r\n\t\theight: 90px;\r\n\t}\r\n`;\r\nconst WarningWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tsvg {\r\n\t\tpath {\r\n\t\t\tcolor: #7b2cbf;\r\n\t\t}\r\n\t}\r\n`;\r\nconst WarningLabel = styled.div`\r\n\twhite-space: pre-wrap;\r\n\twidth: 80%;\r\n\tline-height: 1rem;\r\n\tfont-size: 12px;\r\n`;\r\nconst CardBodyWrapper = styled(CardBody)`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: start;\r\n\talign-items: center;\r\n\t/* padding-top:0rem; */\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\t${(props) =>\r\n\t\tprops?.variant === \"previousData\" &&\r\n\t\t`\r\n padding: 0.5rem;\r\n `}\r\n\t${(props) =>\r\n\t\t(props?.variant === \"linkCjm\" || props?.variant === \"currentPersona\") &&\r\n\t\t`\r\n align-items:flex-center;\r\n padding: 0;\r\n width:230px;\r\n `}\r\n ${(props) =>\r\n\t\tprops?.variant === \"add\" &&\r\n\t\t`\r\n padding: 0;\r\n justify-content:start;\r\n `}\r\n ${(props) =>\r\n\t\tprops?.isshown === \"true\" &&\r\n\t\t`\r\n background: rgba(255, 255, 255, 0.98);\r\n box-shadow: 0px -2px 4px rgba(0, 0, 0, 0.25);\r\n justify-content:center;\r\n `}\r\n ${(props) =>\r\n\t\tprops?.isshown === \"false\" &&\r\n\t\t`\r\n padding-top:0;\r\n`}\r\n\r\nmax-width:230px;\r\n`;\r\nconst DivLabelWrapper = styled.div`\r\n\tmax-width: 100%;\r\n\t/* font-size: 28px; */\r\n\t${(props) => props.variant === \"title\" && `font-size: 20px`}\r\n`;\r\nexport const CardModelWrapper = styled(Card)`\r\n\tmax-width: 230px;\r\n\twidth: 230px;\r\n\theight: 260px;\r\n\tborder: 1px solid #d9d9d9;\r\n\tbox-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 8px;\r\n\tpadding: 0;\r\n\tmargin-bottom: 1.5rem;\r\n\t${(props) =>\r\n\t\tprops.selected &&\r\n\t\t`\r\n border:3px solid #18AEAD;\r\n `}\r\n\tposition:relative;\r\n\t:hover {\r\n\t\tbox-shadow: 0px 5px 5px rgba(0, 0, 0, 0.25);\r\n\t}\r\n`;\r\n","import { getPreviousLinkedPersonas, linkPersona } from \"@redux/index\";\r\nimport { toastWrapper } from \"@utils/helpers\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport DataTable from \"features/grid-table/DataTable\";\r\nimport PersonaCardWithSelectedCheck from \"features/journey-map/modals/components/PersonaCardWithSelectedCheck\";\r\nimport { PersonaModalCard } from \"features/journey-map/modals/components/PersonaModalCard\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport StepWizard from \"react-step-wizard\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Modal, ModalBody, ModalHeader } from \"reactstrap\";\r\nimport { useAsync } from \"shared/hooks/index\";\r\nimport { Button, GenericButton, SearchBar } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const ManagePersonaModal = ({ isOpen, onClose, cjmId, personaId, fast }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst personasAll = useSelector((state) =>\r\n\t\tstate.personas.all_personas.filter((persona) => {\r\n\t\t\tif (showSampleData) return persona.statusCode === StatusCode.Active && !persona?.isTemplate;\r\n\t\t\telse return persona.statusCode === StatusCode.Active && !persona?.isTemplate && !persona?.isSample;\r\n\t\t})\r\n\t);\r\n\r\n\tconst personasLinkCJM = useSelector((state) => state.maps.current_map?.cjmPersonasData?.map((persona) => personasAll?.filter((all) => all.personaId === persona.personaId)).flat());\r\n\r\n\tconst currentPersonasLinkCJM = personasAll?.filter((persona) => persona.personaId === personaId) || [];\r\n\tconst cjmPersonasData = personasLinkCJM?.map((persona) => persona.personaId);\r\n\r\n\tconst [selectToPersona, setToPersona] = useState(currentPersonasLinkCJM[0]);\r\n\tconst [selectFromPersona, setFromPersona] = useState(currentPersonasLinkCJM[0]);\r\n\r\n\tconst checkOnClose = () => {\r\n\t\tif (!cjmPersonasData.includes(personaId) && personaId !== undefined) {\r\n\t\t\thistory.push(`/EditMap?cjmid=${cjmId}&personaId=${cjmPersonasData[0]}`);\r\n\t\t} else onClose();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"ADD_PERSONA_TO_JOURNEY\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Step1 = ({ cjmId, onClose, fast, setToPersona, ...props }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useRef(null);\r\n\tconst [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\tconst history = useHistory();\r\n\r\n\tuseAsync({ asyncFn: getPreviousLinkedPersonas, parameter: { cjmId } });\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tsetGlobalFilterValue(e.target.value);\r\n\t\tref.current.updateFilter(e.target.value);\r\n\t};\r\n\r\n\tconst addToJourney = () => {\r\n\t\tif (!ref.current.singleSelected) toastWrapper(\"\", \"WARNING_SELECT_PERSONA\");\r\n\t\telse {\r\n\t\t\tsetToPersona(ref.current.singleSelected);\r\n\t\t\tconst personaId = ref.current.singleSelected?.personaId\r\n\r\n\t\t\tif(fast){\r\n\t\t\t\tconst onSuccess = (data) => {\r\n\t\t\t\t\tonClose && onClose();\r\n\t\t\t\t\thistory.push(`/EditMap?cjmid=${cjmId}&personaId=${personaId}`);\r\n\t\t\t\t};\r\n\t\t\t\tlinkPersona({ cjmId, personaId: personaId, fromPersonaId: \"\", onSuccess, displayToast: \"LINK\" });\r\n\t\t\t\treturn \r\n\t\t\t}else {\r\n\t\t\t\tprops.nextStep();\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst Search = SearchBar({ globalFilterValue, handleChange, height: 40 });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
{Search}
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t addToJourney()}>\r\n\t\t\t\t\t{t(\"ADD_SELECTED\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Step2 = ({ onClose, cjmId, selectToPersona, ...props }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst [selectedOption, setSelectedOption] = useState(\"blank\");\r\n\tconst [disable, setDisable] = useState(false);\r\n\r\n\tconst LinkPersona = () => {\r\n\t\tconst onSuccess = () => {\r\n\t\t\tonClose();\r\n\t\t\thistory.push(`/EditMap?cjmid=${cjmId}&personaId=${selectToPersona.personaId}`);\r\n\t\t};\r\n\t\tlinkPersona({ cjmId, personaId: selectToPersona.personaId, fromPersonaId: \"\", setLoading: setDisable, onSuccess, displayToast: \"LINK\" });\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t setSelectedOption(\"blank\")}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"START_FROM_BLANK\")}\r\n\t\t\t\t\t\t{t(\"START_FROM_BLANK_DESCR\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t setSelectedOption(\"copy\")}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"COPY_DATA\")}\r\n\t\t\t\t\t\t{t(\"COPY_DATA_DESCR\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"JS_155\")}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"JS_154\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Step3 = ({ onClose, cjmId, personasAll, selectToPersona, ...props }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst personasLinkCJM = useSelector((state) => state.maps.current_map?.cjmPersonasData?.map((persona) => personasAll?.filter((all) => all.personaId === persona.personaId)).flat());\r\n\r\n\tconst [selected, setSelected] = useState(\"\");\r\n\tconst [disable, setDisable] = useState(false);\r\n\tuseEffect(() => {\r\n\t\tif (personasLinkCJM.length === 1) setSelected(personasLinkCJM[0].personaId);\r\n\t}, []);\r\n\r\n\tconst LinkPersona = () => {\r\n const onSuccess = () => {\r\n toast.success(t(\"LINK_SUCCESS\"));\r\n\t\t\tonClose();\r\n\t\t\thistory.push(`/EditMap?cjmid=${cjmId}&personaId=${selectToPersona.personaId}`);\r\n\t\t};\r\n\r\n\t\tconst onFailed = () => {\r\n\t\t\tonClose();\r\n\t\t\ttoast.error(t(\"JS_13\"));\r\n\t\t};\r\n\r\n\t\tlinkPersona({ cjmId, personaId: selectToPersona.personaId, fromPersonaId: selected, setLoading: setDisable, onSuccess, onFailed });\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
\r\n\t\t\t\t{t(\"SELECT_PERSONA_TO_COPY_FROM\")}\r\n\t\t\t\t\r\n\t\t\t\t\t{personasLinkCJM?.map((persona, index) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"JS_155\")}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"JS_154\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst ModalWrapper = styled(Modal)`\r\n\tmax-width: 1000px;\r\n\twidth: 100%;\r\n\t@media screen and (max-width: 1280px) {\r\n\t\tmax-width: 900px;\r\n\t}\r\n`;\r\n\r\nconst PersonaHeaderTitle = styled(ModalHeader)`\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tfont-size: 20px;\r\n\tline-height: 24px;\r\n\tcolor: #353535;\r\n`;\r\n\r\nconst CustomBody = styled(ModalBody)``;\r\n\r\nconst Step1Container = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 32px;\r\n`;\r\n\r\nconst MapContainer = styled.div``;\r\n\r\nconst Text = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-size: 20px;\r\n\tfont-family: Inter;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst CardsContainer = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tgap: 15px;\r\n\toverflow-x: auto;\r\n`;\r\n\r\nconst OptionBox = styled.div`\r\n\twidth: 390px;\r\n\theight: 109px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 20px;\r\n\tborder: 1px solid ${(props) => (props.selected ? \"#F96209\" : \"#c4c4c4\")};\r\n\tborder-radius: 4px;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst OptionDetails = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 10px;\r\n`;\r\n\r\nconst OptionTitle = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-size: 24px;\r\n\tfont-family: Inter;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n\r\nconst OptionDescription = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-size: 14px;\r\n\tfont-family: Inter;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n\r\nconst WrappperBody = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n`;\r\n\r\nconst WrappperFooter = styled.div`\r\n\tpadding-top: 10px;\r\n\tborder-top: 1px solid #d9d9d9;\r\n\tdisplay: flex;\r\n\tjustify-content: end;\r\n\talign-items: center;\r\n`;\r\n\r\nconst ModelButton = styled(Button)`\r\n\theight: 50px;\r\n\twidth: 100px;\r\n`;\r\n\r\nconst RadioButton = styled.div`\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tmin-width: 16px;\r\n\tmin-height: 16px;\r\n\tborder-radius: 100px;\r\n\tborder: ${(props) => (props.selected ? \"4px solid #333333\" : \"1px solid var(--components-checkbox-border, rgba(0, 0, 0, 0.15))\")};\r\n\tbackground: var(--gray-white, #fff);\r\n`;\r\n","import { upsertSavedView } from \"@redux/index\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { loadTableProps } from \"features/grid-table/reducer/TableSlice\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Label, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { GenericButton, Input } from \"shared/ui-basics/index\";\r\n\r\nconst newObject = {\r\n name: \"\",\r\n level: false,\r\n id: EMPTY_GUID\r\n\r\n}\r\nexport const EditFilterView = ({ isOpen, onClose, propView, viewFilter, context, entityType }) => {\r\n const { t } = useTranslation();\r\n const {search} = useLocation();\r\n const filters = useSelector(state => state.ui.table.entity)?.[entityType]?.[context]?.filters || \"\"\r\n const sort = useSelector(state => state.ui.table.entity)?.[entityType]?.[context]?.sort || {}\r\n const folderId = search.getFolderId() ||EMPTY_GUID;\r\n const mode = viewFilter ? 'update' : 'create';\r\n const [object, setNewObject] = useState(viewFilter ?? newObject)\r\n\r\n const [typeView, setTypeView] = useState(object?.level);\r\n\r\n const handleChange = (e) => {\r\n setNewObject({ ...object, name: e.target.value })\r\n }\r\n const updateType = (e) => {\r\n setTypeView(e.value)\r\n setNewObject({ ...object, level: e.value })\r\n\r\n }\r\n const updateCurrentView = (att) => {\r\n const columnFilterView = JSON.parse(propView)?.map(x => x[\"name\"]) || [];\r\n loadTableProps({ context: context, columns: columnFilterView, filter: filters, sort: sort, selectedViewId: att?.id, entityType: entityType })\r\n }\r\n const update = () => {\r\n const copyObject = { ...object }\r\n copyObject.columnSetting = (propView)\r\n copyObject.filterSetting = (JSON.stringify(filters))\r\n copyObject.sortSetting = (JSON.stringify(sort))\r\n copyObject.folderId=folderId\r\n if (entityType)\r\n copyObject.type = entityType;\r\n upsertSavedView({savedView :copyObject, onSuccess: mode === 'create' ? updateCurrentView : null})\r\n onClose();\r\n }\r\n return \r\n {t(mode === \"update\" ? \"EDIT_VIEW\" :\"ADD_VIEW\")}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n {t('ASPX_12')}\r\n
\r\n
\r\n
\r\n}\r\nexport default EditFilterView;","import { GenericButton } from \"shared/ui-basics/index\";\r\nimport { t } from \"i18next\";\r\nimport { Offcanvas } from \"react-bootstrap\";\r\nimport styled from \"styled-components\";\r\nimport React from \"react\";\r\nexport const CreateLibraryItemCanvas = ({ title, displayForm, isOpen, onClose }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{t(title)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{displayForm(onClose)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst OffcanvasLayout = styled(Offcanvas)`\r\n\twidth: 480px;\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n justify-content: space-between;\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n`;\r\n\r\nconst OffCanvasTitle = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\talign-self: flex-start;\r\n`;\r\n\r\nconst Body = styled.div`\r\n\theight: 92vh;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nconst CloseButton = styled.div`\r\n`;\r\n","import { Link } from \"react-router-dom\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const MapIconContainer = styled.div`\r\n\theight: 32px;\r\n\twidth: 32px;\r\n\tmargin-right: 1rem;\r\n\tdisplay: flex;\r\n\tjustify-content: start;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\t& img {\r\n\t\twidth: 32px;\r\n\t\tobject-fit: cover;\r\n\t\tposition: relative;\r\n\t\tborder-bottom-left-radius: 0.25rem;\r\n\t\tborder-top-left-radius: 0.25rem;\r\n\t\tmargin-right: 0.5rem;\r\n\t}\r\n`;\r\nexport const MapCardContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tbackground-color: #fff;\r\n\tborder-radius: 0.25rem;\r\n\tbox-shadow: 1px 1px 3px rgb(33 33 33 / 30%);\r\n\tborder: 1px solid #c4c4c4;\r\n\tline-height: 40px;\r\n\tmin-height: 56px;\r\n\tmargin-top: 0 !important;\r\n\tpadding-right: 0 !important;\r\n\tmargin-bottom: 5px !important;\r\n\tfont-size: 16px !important;\r\n\t${(props) =>\r\n\t\tprops.IsSelected &&\r\n\t\t`\r\n background-color: #E2DFEE;\r\n `}\r\n\t${(props) =>\r\n\t\tprops.haveHover &&\r\n\t\t`\r\n cursor:pointer;\r\n &:hover \r\n {\r\n background-color:#e9ecef;\r\n }\r\n `}\r\n`;\r\nexport const Redirect = styled(Link)`\r\n\ttext-decoration: none;\r\n`;\r\nexport const WrapperImgPersona = styled.div`\r\n\tmargin-top: 5px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\tposition: relative;\r\n`;\r\nexport const PersonaImage = styled.img`\r\n\tborder: 2px solid #92919d;\r\n\twidth: 120px;\r\n\theight: 120px;\r\n\tborder-radius: 50%;\r\n\tobject-fit: cover;\r\n\tbox-sizing: border-box;\r\n\tmargin-top: 15px;\r\n`;\r\nexport const StyledMapName = styled.div`\r\n\tfont-weight: 500;\r\n\tline-height: 20px;\r\n\tcursor: pointer;\r\n\tcolor: #333333;\r\n\tmax-width: 230px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: pointer;\r\n`;\r\n","import { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport PersonaBubble from \"features/forms/personas/components/PersonaBubble\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Col, Modal, ModalBody, ModalHeader } from \"reactstrap\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { SmileyStaticComponent } from \"shared/ui-basics/ui-components/EmotionLevelComponents/SmileyStaticComponent\";\r\nimport styled from \"styled-components\";\r\nimport { MapCardContainer, MapIconContainer, Redirect, StyledMapName, WrapperImgPersona } from \"../../../journey-map/modals/CjmListStyle\";\r\n\r\nexport const LinkListCjmModel = ({ isOpen, onClose, title, listData, description_1, personaObject }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { name } = personaObject;\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(title)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
{name + \" \" + t(description_1)}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{listData.map((cjm, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\nconst MapRow = ({ map, onClose }) => {\r\n\tconst PersonaIds = map?.linkedPersonas?.map((persona) => persona.personaId) || [];\r\n\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst personaData = useSelector((state) => state.personas.all_personas?.filter((persona) => PersonaIds?.includes(persona?.personaId)) || []);\r\n\r\n\tconst mapCustomImageUrl = getterApis[\"GET_MAP_CUSTOM_IMG\"](map.cjmId, sessionId);\r\n\r\n\tconst [mapImage, setMapImage] = useState(mapCustomImageUrl);\r\n\r\n\tconst listPersonas = (index) => {\r\n\t\tconst personas = []; // no capital letter for variable (react convention)\r\n\t\tfor (let i = 0; i < index && i < personaData?.length; i++) {\r\n\t\t\tpersonas.push(personaData[i]);\r\n\t\t}\r\n\r\n\t\treturn personas?.map((persona) => {\r\n\t\t\tconst sentimentLevel = map?.linkedPersonas.find((lnk) => lnk.personaId === persona.personaId)?.sentimentLevel;\r\n\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t});\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t{map.name}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{listPersonas(3)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nconst EmotionContainer = styled.div`\r\n\tposition: absolute;\r\n\tright: -8px;\r\n\ttop: 22px;\r\n\tz-index: 2;\r\n`;\r\n","import { Modal, ModalHeader, ModalBody, ModalFooter, ListGroup, Col } from \"reactstrap\";\r\nimport React, { useState, memo } from \"react\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { EMPTY_GUID, mapModeValidation } from \"@utils/helpers\";\r\nimport { MapIconContainer, MapCardContainer } from \"./CjmListStyle\";\r\nimport { useHistory } from \"react-router\";\r\nimport { SearchBar } from \"shared/ui-basics/index\";\r\nimport { base } from \"../../../redux/store\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\n\r\n\r\n const CjmListModal = memo(\r\n\t({ allMaps, haveCreateNew, isOpen, onClose, title, closeBtnLabel, Action, createBtnLabel, data, IconAdd, IconRemove, IconAddToolTip, IconRemoveToolTip, folderId }) => {\r\n\t\tconst { t } = useTranslation();\r\n\t\tconst history = useHistory();\r\n\r\n\t\tconst [selectedMaps, setSelectedMaps] = useState(data || []);\r\n\t\tconst [unSelectedMaps, setUnSelectedMaps] = useState([]);\r\n\t\tconst [searchValue, setSearchValue] = useState(\"\");\r\n\t\tconst showSampleData = useSelector((state) => state.settings.organization.showSampleData);\r\n const sessionId = useSelector(getSessionId);\r\n const maps = allMaps?.getActiveRecords(!showSampleData)\r\n\t\tconst [filteredMaps, setFilteredMaps] = useState(maps);\r\n\r\n\t\tconst GoToMapCreation = () => {\r\n\t\t\tonClose();\r\n\t\t\thistory.push(`/map-creation?folderId=${folderId}`);\r\n\t\t};\r\n\r\n\t\tconst updateAction = () => {\r\n\t\t\tAction(selectedMaps.filter((item) => item !== \"\" && !data.includes(item)).join(\"|\"), unSelectedMaps.filter((item) => item !== \"\").join(\"|\"));\r\n\t\t\tsetSelectedMaps([]);\r\n\t\t\tonClose();\r\n\t\t};\r\n\r\n\t\tconst addToList = (e) => {\r\n\t\t\tconst id = e.currentTarget.id;\r\n\t\t\tconst index = unSelectedMaps.indexOf(id);\r\n\t\t\tif (index > -1) {\r\n\t\t\t\tconst newSelectedMaps = unSelectedMaps.filter((item) => item !== id).filter((item) => item !== \"\");\r\n\t\t\t\tsetUnSelectedMaps(newSelectedMaps);\r\n\t\t\t}\r\n\t\t\tsetSelectedMaps([...selectedMaps, id]);\r\n\t\t};\r\n\r\n\t\tconst removeFromList = (e) => {\r\n\t\t\tconst id = e.currentTarget.id;\r\n\t\t\tconst index = selectedMaps.indexOf(id);\r\n\t\t\tif (index > -1) {\r\n\t\t\t\tconst newSelectedMaps = selectedMaps.filter((item) => item !== id).filter((item) => item !== \"\");\r\n\t\t\t\tsetSelectedMaps(newSelectedMaps);\r\n\t\t\t}\r\n\t\t\tconst indexLink = data?.indexOf(id);\r\n\t\t\tif (indexLink > -1) {\r\n\t\t\t\tsetUnSelectedMaps([...unSelectedMaps, id]);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst handleSearchChange = (e) => {\r\n\t\t\tconst value = e.target.value;\r\n\t\t\tsetSearchValue(value);\r\n\t\t\tif (!value) setFilteredMaps(maps);\r\n\t\t\telse setFilteredMaps(maps.filter((map) => map?.name?.toLowerCase().includes(value.toLowerCase())));\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t{t(title)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{haveCreateNew ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t(createBtnLabel)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{filteredMaps?.length > 0 &&\r\n\t\t\t\t\t\t\t\tfilteredMaps?.map((map, index) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{map.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t(mapModeValidation(map.mapMode))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{selectedMaps?.includes(map.cjmId) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{IconRemove}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{IconAdd}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{maps.length === 0 &&
{t(\"NO_AVAILABLE_MAPS\")}
}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{maps?.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(closeBtnLabel)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n);\r\nCjmListModal.displayName = \"CjmListModal\";\r\nexport {CjmListModal};\r\nconst ListWrapper = styled(ListGroup)`\r\n\tmin-height: 500px;\r\n\tmax-height: 500px;\r\n\theight: auto;\r\n`;\r\n\r\nconst HrefWrapper = styled.a`\r\n\tdisplay: block;\r\n\tfloat: right;\r\n\tcolor: #92919d;\r\n\ttext-decoration: none;\r\n\t:hover {\r\n\t\tcolor: #605f60;\r\n\t\ttext-decoration: underline;\r\n\t}\r\n`;\r\n\r\nconst BodyHeader = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\r\n\t${(props) =>\r\n\t\tprops.displayButton === false &&\r\n\t\t`display: flex;\r\n justify-content: flex-end;`}\r\n`;\r\n\r\nconst StyledMapName = styled.div`\r\n\tfont-weight: 500;\r\n\tline-height: 20px;\r\n\tcursor: pointer;\r\n\tcolor: #333333;\r\n\tmax-width: 350px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: pointer;\r\n`;\r\n","import { Offcanvas } from \"react-bootstrap\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const OffcanvasLayout = styled(Offcanvas)`\r\n\twidth: 480px;\r\n\tbackground-color: #FFFFFF !important;\r\n\r\n\t.offcanvas-body {\r\n\t\toverflow: hidden;\r\n\t\tpadding-left: 0px;\r\n\t\tborder-radius: 0px;\r\n\t\tpadding: 0px;\r\n\t}\r\n\t.btn-close:focus {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n`;\r\nexport const HeaderContainer = styled(Offcanvas.Header)`\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\tpadding: 10px;\r\n\tmargin: 0;\r\n\tbackground-color: #FFFFFF !important;\r\n`;\r\n\r\nexport const DivWrapper=styled.div`\r\nheight:48px;\r\nbackground: #F9FBFC;\r\n\r\n`","import { reorder, tableDefaultColumn } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { setColumnsArray } from \"features/grid-table/reducer/TableSlice\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Offcanvas } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport DragDrop from \"shared/Drag-Drop/DragDrop\";\r\nimport Drag from \"shared/Drag-Drop/components/Drag\";\r\nimport GenericSwitch, { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components\";\r\nimport * as S from \"./Styles\";\r\n\r\nconst settingInfo = () => {\r\n\tconst array = {\r\n\t\t[EntityList.Persona]: [\r\n\t\t\t{ name: \"JS_82\", id: \"personaName\" },\r\n\t\t\t{ name: \"OCCUPATION\", id: \"occupation\" },\r\n\t\t\t{ name: \"JS_72\", id: \"lastModifiedOn\" },\r\n\t\t\t{ name: \"CS_41\", id: \"associatedContactsCount\" },\r\n\t\t\t{ name: \"ASPX_97\", id: \"cjmCount\" },\r\n\t\t\t{ name: \"TAGS\", id: \"tagIds\" },\r\n\t\t\t{ name: \"JS_77\", id: \"isFutureLabel\" },\r\n\t\t\t{ name: \"CS_35\", id: \"owner\" },\r\n\t\t],\r\n\t\t[EntityList.CustomerJourney]: [\r\n\t\t\t{ name: \"JOURNEY_MAP_NAME\", id: \"name\" },\r\n\t\t\t{ name: \"RELATED_PERSONAS\", id: \"linkedPersonas\" },\r\n\t\t\t{ name: \"JS_77\", id: \"isFutureLabel\" },\r\n\t\t\t{ name: \"JS_72\", id: \"lastModifiedOn\" },\r\n\t\t\t{ name: \"JS_78\", id: \"mapType\" },\r\n\t\t\t{ name: \"CS_35\", id: \"owner\" },\r\n\t\t\t{ name: \"JS_79\", id: \"score\" },\r\n\t\t\t{ name: \"ASPX_222\", id: \"statusId\" },\r\n\t\t\t{ name: \"GROUPS\", id: \"groupIds\" },\r\n\t\t\t{ name: \"TAGS\", id: \"tagIds\" },\r\n\t\t],\r\n\r\n\t\t[EntityList.Opportunity]: [\r\n\t\t\t{ name: \"OPPORTUNITY_NAME\", id: \"name\" },\r\n\t\t\t{ name: \"JOURNEY_MAP\", id: \"cjmIds\" },\r\n\t\t\t{ name: \"OCCURANCE\", id: \"occurance\" },\r\n\t\t\t{ name: \"CUSTOMER_VALUE\", id: \"customerValue\" },\r\n\t\t\t{ name: \"BUSINESS_VALUE\", id: \"businessValue\" },\r\n\t\t\t{ name: \"PRIORITY\", id: \"priorityId\" },\r\n\t\t\t{ name: \"CS_35\", id: \"userId\" },\r\n\t\t\t{ name: \"GROUPS\", id: \"groupIds\" },\r\n\t\t\t{ name: \"TAGS\", id: \"tagIds\" },\r\n\t\t\t{ name: \"ASPX_222\", id: \"statusId\" },\r\n\t\t\t{ name: \"DUE_DATE\", id: \"dueDateNew\" },\r\n\t\t\t{ name: \"JS_72\", id: \"lastUpdated\" },\r\n\t\t\t{ name: \"ASPX_9\", id: \"description\" },\r\n\t\t],\r\n\t\t[EntityList.Action]: [\r\n\t\t\t{ name: \"ACTION_NAME\", id: \"name\" },\r\n\t\t\t{ name: \"ASPX_222\", id: \"statusId\" },\r\n\t\t\t{ name: \"PRIORITY\", id: \"priorityId\" },\r\n\t\t\t{ name: \"DUE_DATE\", id: \"dueDateNew\" },\r\n\t\t\t{ name: \"CS_35\", id: \"userId\" },\r\n\t\t\t{ name: \"GROUPS\", id: \"groupIds\" },\r\n\t\t\t{ name: \"JOURNEY_MAP\", id: \"cjmIds\" },\r\n\t\t\t{ name: \"OCCURANCE\", id: \"occurance\" },\r\n\t\t\t{ name: \"TAGS\", id: \"tagIds\" },\r\n\t\t\t{ name: \"JS_72\", id: \"lastUpdated\" },\r\n\t\t\t{ name: \"ASPX_9\", id: \"description\" },\r\n\t\t],\r\n\t\t[EntityList.Solution]: [\r\n\t\t\t{ name: \"SOLUTION_NAME\", id: \"name\" },\r\n\t\t\t{ name: \"ASPX_9\", id: \"description\" },\r\n\t\t\t{ name: \"ASPX_222\", id: \"statusId\" },\r\n\t\t\t{ name: \"JS_78\", id: \"solutionType\" },\r\n\t\t\t{ name: \"JOURNEY_MAP\", id: \"cjmIds\" },\r\n\t\t\t{ name: \"OCCURANCE\", id: \"occurance\" },\r\n\t\t\t{ name: \"CS_35\", id: \"userId\" },\r\n\t\t\t{ name: \"TAGS\", id: \"tagIds\" },\r\n\t\t\t{ name: \"GROUPS\", id: \"groupIds\" },\r\n\t\t\t{ name: \"JS_72\", id: \"lastUpdated\" },\r\n\t\t\t{ name: \"DUE_DATE\", id: \"dueDateNew\" },\r\n\t\t],\r\n\t\t[EntityList.CXProgram]: [\r\n\t\t\t{ name: \"CX_PROGRAM_NAME\", id: \"cxProgramName\" },\r\n\t\t\t{ name: \"ASPX_97\", id: \"totalNumCjms\" },\r\n\t\t\t{ name: \"ASPX_98\", id: \"totalNumPersonas\" },\r\n\t\t\t{ name: \"OPPORTUNITIES\", id: \"totalNumOpps\" },\r\n\t\t\t{ name: \"SOLUTIONS\", id: \"totalNumSols\" },\r\n\t\t\t{ name: \"JS_80\", id: \"totalNumActions\" },\r\n\t\t\t{ name: \"CS_35\", id: \"authorizedUsers\" },\r\n\t\t\t{ name: \"JS_72\", id: \"lastUpdated\" },\r\n\t\t\t{ name: \"TAGS\", id: \"tagIds\" },\r\n\t\t\t{ name: \"PROJECTS\", id: \"totalNumProjects\" },\r\n\t\t],\r\n\t\t[EntityList.Project]: [\r\n\t\t\t{ name: \"PROJECT_NAME\", id: \"projectName\" },\r\n\t\t\t{ name: \"CREATED_ON\", id: \"createdOn\" },\r\n\t\t\t{ name: \"JS_72\", id: \"lastUpdated\" },\r\n\t\t\t{ name: \"START_DATE\", id: \"startDate\" },\r\n\t\t\t{ name: \"END_DATE\", id: \"endDate\" },\r\n\t\t\t{ name: \"PROJECT_OWNER\", id: \"ownerId\" },\r\n\t\t\t{ name: \"ASPX_222\", id: \"statusId\" },\r\n\t\t\t{ name: \"TAGS\", id: \"tagIds\" },\r\n\t\t\t{ name: \"GROUPS\", id: \"groupIds\" },\r\n\t\t\t{ name: \"PRIORITY\", id: \"priorityId\" },\r\n\t\t\t{ name: \"PROGRESS\", id: \"projectProgress\" },\r\n\t\t],\r\n\t\t[EntityList.Insight]: [\r\n\t\t\t{ name: \"NAME\", id: \"insightName\" },\r\n\t\t\t{ name: \"ASPX_98\", id: \"linkedPersonas\" },\r\n\t\t\t{ name: \"OCCURANCE\", id: \"occurance\" },\r\n\t\t\t{ name: \"JOURNEY_MAP\", id: \"cjmIds\" },\r\n\t\t\t{ name: \"JS_78\", id: \"insightType\" },\r\n\t\t\t{ name: \"TAGS\", id: \"tagIds\" },\r\n\t\t\t{ name: \"GROUPS\", id: \"groupIds\" },\r\n\t\t\t{ name: \"ASPX_222\", id: \"statusId\" },\r\n\t\t\t{ name: \"PRIORITY\", id: \"priorityId\" },\r\n\t\t\t{ name: \"JS_72\", id: \"lastUpdated\" },\r\n\t\t\t{ name: \"ASPX_9\", id: \"description\" },\r\n\t\t],\r\n\t\t[EntityList.User]: [\r\n\t\t\t{ name: \"CS_52\", id: \"userDetails\" },\r\n\t\t\t{ name: \"ROLE\", id: \"role\" },\r\n\t\t\t{ name: \"CS_59\", id: \"userTypeName\" },\r\n\t\t\t{ name: \"PLAN_TYPE\", id: \"subscriptionPlan\" },\r\n\t\t\t{ name: \"WORKSPACES\", id: \"workspaces\" },\r\n\t\t\t{ name: \"TEAMS\", id: \"teams\" },\r\n\t\t\t{ name: \"CS_48\", id: \"isActive\" },\r\n\t\t],\r\n\t};\r\n\treturn array;\r\n};\r\nexport const ColumnSettingsModal = ({ isOpen, onClose, context, entityType }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [columnToDisplay, setColumnToDisplay] = useState(TransformColumnData(context, entityType));\r\n\r\n\tconst updateColumns = (column) => {\r\n\t\tsetColumnToDisplay((prevState) => {\r\n\t\t\treturn prevState.map((col) => {\r\n\t\t\t\tif (col.id === column.id) {\r\n\t\t\t\t\treturn { ...column, display: !column?.display };\r\n\t\t\t\t}\r\n\t\t\t\treturn col;\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\tconst saveQuery = async () => {\r\n\t\tconst column = columnToDisplay?.filter((i) => i.display === true).map((i) => i.id);\r\n\t\tif (column && !column.includes(\"actions\")) column.push(\"actions\");\r\n\t\tif (column && !column.includes(\"select\")) column.unshift(\"select\");\r\n\t\tsetColumnsArray({ entityType: entityType, columns: column, context: context });\r\n\t\tonClose();\r\n\t};\r\n\tconst rendering = ({ item }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t updateColumns(item)} text={item.name} justifycontent=\"space-between\" gap={\"10\"} className=\"w-100 me-3 ms-5\" />\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\tconst RenderValidation = useCallback(\r\n\t\t({ item }) => {\r\n\t\t\treturn rendering({ item });\r\n\t\t},\r\n\t\t[columnToDisplay?.length, rendering]\r\n\t);\r\n\r\n\tconst onDragEnd = ({ newItems }) => {\r\n\t\tsetColumnToDisplay(newItems);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"CONFIGURE_COLUMNS\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(item) => RenderValidation({ item })}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"APPLY\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nconst TransformColumnData = (context, entityType) => {\r\n\tconst getColumn = settingInfo()[entityType];\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[entityType]?.[context]?.columns || tableDefaultColumn(entityType);\r\n\t///check from back display props\r\n\tconst sortByGetColumn = getColumn\r\n\t\t?.map((col) => {\r\n\t\t\treturn { ...col, display: columnsArray?.includes(col.id) };\r\n\t\t})\r\n\t\t.sort((a, b) => columnsArray?.indexOf(a?.id) - columnsArray?.indexOf(b?.id));\r\n\treturn sortByGetColumn?.sort((a, b) => b.display - a.display);\r\n};\r\nconst DivWrapper = styled.div`\r\n\theight: calc(100% - 80px);\r\n\toverflow-y: auto;\r\n`;\r\n","import { createPersona, updateFolderLinks } from '@redux/index';\r\nimport { getLanguagebyCode } from '@utils/helpers';\r\nimport { StateTypeOption } from '@utils/optionsSets/OptionSets';\r\nimport { getPrompt } from 'features/ai/prompts/AI_prompt';\r\nimport { useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useLocation } from 'react-router-dom/cjs/react-router-dom.min';\r\nimport TextareaAutosize from \"react-textarea-autosize\";\r\nimport { toast } from 'react-toastify';\r\nimport { InputGroup, InputGroupText, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { IconDispatcher } from 'shared/Icons';\r\nimport { GenericButton } from 'shared/ui-basics/buttons';\r\nimport styled from 'styled-components/macro';\r\nimport { askAlex } from '../reducer/ai-actions';\r\n\r\nconst creationData = ({ pathname, systemLanguage }) => {\r\n const data = {}\r\n switch (pathname) {\r\n case '/personas':\r\n data.prompt_placeholder = \"DESCRIBE_PERSONA_PLACHOLDER\";\r\n data.aiPrompt = getPrompt.PERSONA_CREATION_EXTRACT_DETAILS;\r\n data.error_message = \"ERROR_CREATING_PERSONA\";\r\n data.pendingRoute = '/edit-persona-pending';\r\n data.createRoute = '/EditPersona?personaIdStr=';\r\n data.regularRoute = '/personas';\r\n data.completeFunction = completePersonaDetails;\r\n data.createFunction = createPersona;\r\n data.defaultCreationObject = ({ name, profession, age, gender, language = systemLanguage, location, context }) => ({\r\n name: name,\r\n occupation: isNullOrUndefined(profession, \"\"),\r\n age: isNullOrUndefined(age, \"\"),\r\n gender: isNullOrUndefined(gender, 'Other'),\r\n isFuture: StateTypeOption.CurrentState,\r\n standardImage: \"\",\r\n customImage: \"upload\",\r\n imageExtension: \"\",\r\n isTemplate: false,\r\n aiGeneration: true,\r\n language: language,\r\n location: isNullOrUndefined(location, \"\"),\r\n context: isNullOrUndefined(context, \"\")\r\n })\r\n\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n return data;\r\n}\r\nfunction PromptAICreation({ isOpen, onClose }) {\r\n\r\n const { t, i18n } = useTranslation();\r\n const { search, pathname } = useLocation();\r\n\r\n const history = useHistory();\r\n const [persona_data, setDetails] = useState();\r\n const folderId = search.getFolderId();\r\n const [prompt, setPrompt] = useState(\"\");\r\n const contextData = creationData({ pathname, systemLanguage: getLanguagebyCode(i18n.language) })\r\n\r\n const handleChange = (event) => setPrompt(event.target.value);\r\n\r\n const handleCreate = (details) => {\r\n\r\n const object = contextData?.defaultCreationObject({ ...details });\r\n const onSuccess = (data) => {\r\n if (folderId) {\r\n updateFolderLinks({ folderIds: [folderId], idsToLink: [data.personaId], entityName: \"cem_persona\", onSuccess: () => history.push(`${contextData?.regularRoute}?folderId=${folderId}`) })\r\n\r\n } else {\r\n history.push(`${contextData?.createRoute}${data?.personaId}`);\r\n }\r\n }\r\n const onFailed = () => {\r\n toast.error(t(contextData?.error_message));\r\n history.push(contextData?.regularRoute);\r\n }\r\n contextData?.createFunction({ item: { ...object }, onSuccess, onFailed });\r\n\r\n history.push(contextData?.pendingRoute);\r\n onClose()\r\n\r\n }\r\n const textAnalysis = ({ callbackvalidation }) => {\r\n if (prompt.isEmptyString()) return\r\n const alexPrompt = contextData?.aiPrompt({ prompt })\r\n const onSuccess = (data) => {\r\n setDetails({ prompt, details: data?.result })\r\n if (callbackvalidation) {\r\n callbackvalidation(data?.result)\r\n }\r\n\r\n }\r\n askAlex({ prompt: alexPrompt, max_tokens: 100, onSuccess })\r\n }\r\n\r\n const handleEmptyFields = (rs) => {\r\n const generatedDetails = rs ? rs : persona_data?.details\r\n const newDetails = contextData?.completeFunction({ ...generatedDetails, language: getLanguagebyCode(i18n.language) })\r\n setDetails({ prompt, details: newDetails })\r\n\r\n if (!newDetails?.name?.isEmptyString()) {\r\n handleCreate({ ...newDetails, language: getLanguagebyCode(i18n.language) })\r\n }\r\n }\r\n\r\n const onSubmit = () => {\r\n if (prompt.isEmptyString()) return toast.info(t(\"EMPTY_PROMPT\"))\r\n textAnalysis({ callbackvalidation: handleEmptyFields })\r\n onClose()\r\n }\r\n\r\n\r\n return (\r\n \r\n
{t('GENERATE_AI_PERSONA')}
\r\n \r\n \r\n textAnalysis({ prompt })}\r\n\r\n />\r\n \r\n \r\n \r\n\r\n \r\n {t(\"GENERATE\")}\r\n \r\n\r\n \r\n {IconDispatcher('INFO', 'me-1')}{t(\"AI_DATA_SECURE\")}\r\n
\r\n )\r\n\r\n}\r\n\r\nconst IconGroup = ({ icon, children }) => {\r\n return (\r\n \r\n \r\n {IconDispatcher(icon)}\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\n\r\nconst isNullOrUndefined = (value, returnValue) => {\r\n if (value === 'Unknown' || value === null || value === undefined) return returnValue\r\n return value\r\n}\r\n\r\n\r\nconst completePersonaDetails = ({ name, gender, age, profession, location, language, context }) => {\r\n const names = [\r\n \"Alex Johnson\", \"Jamie Smith\", \"Pat Taylor\", \"Jordan Lee\", \"Casey Kim\",\r\n \"Morgan Bailey\", \"Taylor Morgan\", \"Chris Parker\", \"Dana Reynolds\", \"Riley Brooks\",\r\n \"Sam Jordan\", \"Cameron Diaz\", \"Robin Avery\", \"Drew Austin\", \"Jesse Carson\",\r\n \"Quinn Harper\", \"Skyler Grey\", \"Avery Quinn\", \"Reese Kendall\", \"Peyton Sawyer\",\r\n \"Charlie Lane\", \"Emerson Blake\", \"Jordan Casey\", \"Kai Rivera\", \"Dakota Ellis\",\r\n \"Sage Finley\", \"Rowan Murphy\", \"Harper Lee\", \"Finley Sage\", \"Alexis Stone\"\r\n ];\r\n\r\n const professions = [\r\n \"Accountant\", \"Software Engineer\", \"Designer\", \"Customer Success Manager\", \"Environmental Scientist\",\r\n \"Marketing Specialist\", \"Data Analyst\", \"Nurse\", \"Architect\", \"Teacher\",\r\n \"Content Writer\", \"HR Manager\", \"Electrical Engineer\", \"Chef\", \"Photographer\",\r\n \"Civil Engineer\", \"Sales Executive\", \"Graphic Designer\", \"Pharmacist\", \"Mechanical Engineer\",\r\n \"Journalist\", \"Web Developer\", \"Psychologist\", \"Real Estate Agent\", \"Dietitian\",\r\n \"Biologist\", \"Veterinarian\", \"Physiotherapist\", \"Financial Advisor\", \"UI/UX Designer\",\r\n \"Public Relations Specialist\", \"Social Worker\", \"Project Manager\", \"Art Director\", \"Event Planner\",\r\n \"SEO Specialist\", \"Aerospace Engineer\", \"Fashion Designer\", \"Film Director\", \"Game Developer\"\r\n ];\r\n\r\n const ages = [\r\n \"18\", \"20\", \"22\", \"25\", \"28\",\r\n \"30\", \"33\", \"35\", \"38\", \"40\",\r\n \"42\", \"45\", \"48\", \"50\", \"55\", \"60\"\r\n ];\r\n const genders = [\"Man\", \"Woman\", \"Other\"];\r\n const getRandomItem = (array) => array[Math.floor(Math.random() * array.length)];\r\n const randomName = name === \"Unknown\" ? getRandomItem(names) : name;\r\n const randomProfession = profession === \"Unknown\" ? getRandomItem(professions) : profession;\r\n const randomAge = age === \"Unknown\" || isNaN(Number(age)) ? getRandomItem(ages) : age;\r\n const randomGender = gender === \"Unknown\" ? getRandomItem(genders) : gender;\r\n const randomLanguage = language === \"Unknown\" ? \"English\" : language;\r\n const randomContext = context === 'Unknown' ? 'Global' : context;\r\n return {\r\n name: randomName,\r\n profession: randomProfession,\r\n age: randomAge,\r\n gender: randomGender,\r\n language: randomLanguage,\r\n location: location,\r\n context: randomContext\r\n };\r\n}\r\n\r\n\r\n\r\nPromptAICreation.displayName = \"PromptAICreation\";\r\nexport default PromptAICreation;\r\n\r\nconst CustomModal = styled(Modal)`\r\n\twidth: 650px !important;\r\n max-width: 650px !important;\r\n textarea {\r\n\t\tbackground-color: transparent;\r\n\t\twidth: calc(100% - 42px);\r\n\t\tcolor: #333333;\r\n\t\tresize: none;\r\n\t\toverflow: hidden;\r\n\t\tborder: none;\r\n\t\tpadding: 0.5rem;\r\n border: 1px solid #ced4da;\r\n border-radius: 5px;\r\n border-left: 0;\r\n ::placeholder {\r\n color: #ced4da;\r\n font-size: 14px;\r\n font-style: italic;\r\n }\r\n\t}\r\n.modal-header {\r\n border: none;\r\n}\r\n.modal-footer {\r\n border:none;\r\n}\r\n.input-group-text {\r\n background-color: #ffffff !important;\r\n\r\n\r\n}\r\n.modal-content {\r\n\r\n}\r\n\r\n.form-text {\r\n margin-left: 4px;\r\n font-size:12px;\r\n font-style: italic; // Added italic style\r\n\r\n }\r\n`;\r\nconst Text = styled.div`\r\n font-size: 14px;\r\n font-weight: 400;\r\n color: #333333;\r\n border-radius: 4px;\r\nbackground: #EFEFEF;\r\ncolor: #605F60;\r\npadding: 8px;\r\nwidth: 100%;\r\n\r\nfont-family: Inter;\r\nfont-size: 12px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 150%;\r\n\r\n`\r\nconst Header = styled(ModalHeader)`\r\n\tbackground: var(--AI-gradient-bg, linear-gradient(104deg, #FFEEE3 0.73%, #FFF8EE 32.71%, #E8F7FF 66.16%, #F1F0FF 97.16%));\r\n\r\n `","/* eslint-disable no-undef */\r\nimport { EMPTY_GUID, constructUrl, encode, toastWrapper } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport { store } from \"redux/store\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst BASE_URL = \"api/map/\";\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, headers }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\theaders,\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: BASE_URL, method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" }); // api actions type get\r\nconst createPostActionPhase = InitActionCreator({ baseUrl: \"api/phase/\", method: \"POST\" }); // api actions type post\r\nconst createPostActionStage = InitActionCreator({ baseUrl: \"api/stage/\", method: \"POST\" }); // api actions type post\r\nconst createPostActionSwim = InitActionCreator({ baseUrl: \"api/swimlane/\", method: \"POST\" }); // api actions type post\r\nconst createPostActionIcon = InitActionCreator({ baseUrl: \"api/icon/\", method: \"POST\" }); // api actions type post\r\nconst createGetActionPersInt = InitActionCreator({ baseUrl: \"api/personaInteraction/\", method: \"GET\" }); // api actions type post\r\nconst createPostActionPersInt = InitActionCreator({ baseUrl: \"api/personaInteraction/\", method: \"POST\" }); // api actions type post\r\nconst createPostAttachment = InitActionCreator({ baseUrl: \"api/attachment/\", method: \"POST\" }); // api actions type post\r\n\r\n\r\nexport const deleteCJM = (props) => genericService({\r\n\t...props,\r\n\taction: createPostAction({ type: \"DELETE_CJM\", endPoint: \"deleteCJM\", data: { cjmIdStr: props.id } }),\r\n\t// displayToast: \"DELETE\" \r\n});\r\nexport const deletePermanentlyMap = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"DELETE_PERMANENTLY_MAP\", endPoint: \"deletePermanentlyCJM\", data: {\r\n\t\t\tcjmIdStr: props?.id,\r\n\t\t\tdeleteAllVersion: props?.deleteAllVersion || false,\r\n\t\t\tgeneratedByAI: props?.generatedByAI || false,\r\n\t\t}\r\n\t}),\r\n\t// displayToast: \"DELETE\"\r\n});\r\n\r\nexport const copyCJM = (props) => genericService({\r\n\t...props,\r\n\taction: createPostAction({\r\n\t\ttype: \"COPY_MAP\", endPoint: \"copy\",\r\n\t\tdata: {\r\n\t\t\tcjmId: props.id,\r\n\t\t\tcopiedMapName: encode(props.name),\r\n\t\t\tworkspaceIds: props.workspaceIds\r\n\t\t},\r\n\t}),\r\n\tdisplayToast: props.displayToast || \"COPY\",\r\n\r\n});\r\n\r\nexport const archiveCJM = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"ARCHIVE_CJM\", endPoint: \"archiveCJM\", data: {\r\n\t\t\tcjmIdStr: props.id\r\n\t\t}\r\n\t}),\r\n\t// displayToast: \"ARCHIVE\"\r\n});\r\nexport const restoreCJM = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"RESTORE_CJM\", endPoint: \"restoreCJM\", data: {\r\n\t\t\tcjmIdStr: props.id\r\n\t\t}\r\n\t}),\r\n\t// displayToast: \"RESTORE\"\r\n});\r\n\r\nexport const createCJM = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"CREATE_CJM\", endPoint: \"createCJM\", data: {\r\n\t\t\tnewCjmParams: {\r\n\t\t\t\t...props.newCjmParams,\r\n\t\t\t\tname: encode(props?.newCjmParams?.name),\r\n\t\t\t\tdescription: encode(props?.newCjmParams?.description),\r\n\t\t\t}\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: props?.displayToast\r\n});\r\n\r\n\r\nexport const createJourneyMap = ({ newMap, history = undefined, onSuccess, goToMap = true, displayToast = undefined }) => {\r\n\tgoToMap && history?.push(\"/map-creation-loading\");\r\n\r\n\tconst callbackFunc = (data) => {\r\n\t\tif (goToMap) history?.push(`/EditMap?cjmid=${data.cjmId}&personaId=${newMap.personaId}${newMap.linkToCxProgramId ? `&cxProgramId=${newMap.linkToCxProgramId}` : ''}`);\r\n\t\tif (onSuccess) onSuccess(data);\r\n\t}\r\n\tconst onFailed = (error) => {\r\n\t\thistory?.push(\"/journey-map\");\r\n\t\tthrow error;\r\n\t}\r\n\tcreateCJM({\r\n\t\tnewCjmParams: newMap,\r\n\t\tonSuccess: callbackFunc,\r\n\t\tonFailed,\r\n\t\tdisplayToast\r\n\t})\r\n};\r\nexport const CreateMapWithTemplate = ({ cjmId, name, history, folderId }) => {\r\n\thistory.push(\"/map-creation-loading\");\r\n\tconst callbackFunc = (data) => {\r\n\t\thistory.push(`/EditMap?cjmid=${data.cjmId}&personaId=${data?.linkedPersonas[0]?.personaId || \"00000000-0000-0000-0000-000000000000\"}`);\r\n\t}\r\n\tconst onFailed = (error) => {\r\n\t\thistory?.push(\"/journey-map\");\r\n\t\tthrow error;\r\n\t}\r\n\tcreateCJM({\r\n\t\tnewCjmParams: {\r\n\t\t\tname: name,\r\n\t\t\tisTemplate: false,\r\n\t\t\tlinkToFolderId: folderId || EMPTY_GUID,\r\n\t\t\tfromTemplateId: cjmId,\r\n\r\n\t\t},\r\n\t\tonSuccess: callbackFunc,\r\n\t\tonFailed,\r\n\t\tdisplayToast: \"CREATE\"\r\n\t})\r\n};\r\nexport const getAllMapsListData = (props) => createGetAction({\r\n\ttype: \"GET_ALL_MAPS_LIST_DATA\",\r\n\tendPoint: constructUrl(\"getAllMapsListData\", {\r\n\t\tredirectReducer: props?.redirectReducer,\r\n\t\twithPhaseStageDetails: props?.withPhaseStageDetails\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_ALL_MAPS_LIST_DATA' },\r\n\tparams: { dashboardCode: props?.dashboardCode, showSampleData: props?.showSampleData }\r\n});\r\n\r\nexport const getPersonaMapDetails = (props) => createGetAction({\r\n\ttype: \"GET_CURRENT_MAP\", endPoint: constructUrl(\"getPersonaMapDetails\", {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\tpersonaIdStr: props?.personaIdStr,\r\n\t\t\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_CURRENT_MAP' },\r\n\tparams: {\r\n\t\tpersonaIdStr: props?.personaIdStr,\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\texportingPdf: props?.exportingPdf\r\n\t}\r\n});\r\n\r\nexport const resetCurrentMap = () => ({ type: \"RESET_CURRENT_MAP\" });\r\n\r\nexport const getMapChartData = (props) => createGetAction({\r\n\ttype: \"GET_MAP_CHART_DATA\", endPoint: constructUrl(\"getMapChartData\", {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\tpersonaIdStr: props?.personaIdStr,\r\n\t\tforceRecalculate: props?.forceRecalculate || false,\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_MAP_CHART_DATA' },\r\n\tparams: {\r\n\t\tpersonaIdStr: props?.personaIdStr,\r\n\t}\r\n});\r\nexport const shareUsersManyMaps = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"SHARE_USERS_MANY_MAP\", endPoint: \"shareManyMap\", data: {\r\n\t\t\tids: props?.usersIds,\r\n\t\t\tcjmIds: props?.cjmIds,\r\n\t\t\troleDetails: props?.roleDetails,\r\n\t\t\tteamIds: props?.teamIds,\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: \"UPDATE\"\r\n});\r\nexport const shareManyCjm = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"SHARE_USERS_SINGLE_MAP\", endPoint: \"shareMany\", data: {\r\n\t\t\tids: props?.usersIds,\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\troleDetails: props?.roleDetails,\r\n\t\t\tteamIds: props?.teamIds,\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: \"UPDATE\"\r\n});\r\n\r\nexport const shareCjm = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_SHARE_CJM_DB\", endPoint: \"shareCJM\",\r\n\t\tdata: {\r\n\t\t\tuserId: props?.userId,\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\troleDetails: props?.roleDetails,\r\n\t\t\tteamId: props?.teamId,\r\n\t\t},\r\n\t\tparam: {\r\n\t\t\tfullName: props?.userIdName,\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: \"UPDATE\"\r\n});\r\n\r\nexport const unShareCjm = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_UNSHARE_CJM_DB\", endPoint: \"unShareCJM\",\r\n\t\tdata: {\r\n\t\t\tuserId: props?.userId,\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\tteamId: props?.teamId,\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: \"UPDATE\"\r\n});\r\n\r\nexport const updateCjmName = (props) => createPostAction({\r\n\ttype: \"UPDATE_CJM_NAME_v1\", endPoint: \"updateCjmName\",\r\n\tdata: {\r\n\t\tcjmIdStr: props?.id,\r\n\t\tnewValue: window.btoa(unescape(encodeURIComponent(props?.name))),\r\n\t}\r\n})\r\n\r\nexport const replaceMapLogo = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"REPLACE_MAP_LOGO\", endPoint: \"replaceMapLogo\",\r\n\t\tdata: {\r\n\t\t\tcjmId: props?.cjmId,\r\n\t\t\tFileExtension: props?.FileExtension,\r\n\t\t\tDocumentBody: props?.DocumentBody,\r\n\t\t}\r\n\t}),\r\n});\r\nexport const deleteMapImage = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"DELETE_MAP_IMAGE\", endPoint: \"deleteMapImage\",\r\n\t\tdata: {\r\n\t\t\tcjmIdStr: props?.cjmId,\r\n\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const updateIconSimpleInteraction = (personaSTR, stageId, icon, attribute) => ({\r\n\ttype: \"UPDATE_ICON_SIMPLE_INTERACTION\",\r\n\tpayload: { personaIdStr: personaSTR, stageId: stageId, newIcon: icon, attribute: attribute },\r\n});\r\nexport const deleteIconSimpleInteraction = (personaIdStr, stageId, Icon, attribute) => ({\r\n\ttype: \"DELETE_ICON_SIMPLE_INTERACTION\",\r\n\tpayload: { personaIdStr: personaIdStr, stageId: stageId, Icon: Icon, attribute: attribute },\r\n});\r\nexport const updateStageAttribute = (stageId, attribute, value) => ({\r\n\ttype: \"UPDATE_STAGE_ATTRIBUTE\",\r\n\tpayload: { stageId: stageId, attribute: attribute, value: value },\r\n});\r\nexport const deleteStageAttribute = (stageId, attribute, value) => ({\r\n\ttype: \"DELETE_STAGE_ATTRIBUTE\",\r\n\tpayload: { stageId: stageId, attribute: attribute, value: value },\r\n});\r\nexport const updateAdvancedInteractionIcon = (personaIdStr, stageId, cardId, attribute, value) => ({\r\n\ttype: \"UPDATE_ADVANCED_INTERACTION_ICON\",\r\n\tpayload: { personaId: personaIdStr, stageId, cardId: cardId, attribute: attribute, value: value },\r\n});\r\nexport const deleteAdvancedInteractionIcon = (personaIdStr, stageId, cardId, attribute, value) => ({\r\n\ttype: \"DELETE_ADVANCED_INTERACTION_ICON\",\r\n\tpayload: { personaId: personaIdStr, stageId, cardId: cardId, attribute: attribute, value: value },\r\n});\r\n\r\nexport const getMapUsers = (props) => createGetAction({\r\n\ttype: \"GET_MAP_USERS\", endPoint: constructUrl(\"getMapUsers\", {\r\n\t\tcjmIdStr: props?.cjmId,\r\n\t\tforceViewer: props?.forceViewer,\r\n\r\n\t}),\r\n\tparams: {\r\n\t\tisPrint: props?.isPrint,\r\n\t\tuserId: props?.userId,\r\n\t\tcxOwnerEntity: props?.cxOwnerEntity,\r\n\t}\r\n});\r\n\r\nexport const resetMapUsers = () => ({ type: \"RESET_MAP_USER\" });\r\n\r\nexport const updateStateCJM = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_CJM_TYPE\", endPoint: \"updateCjmType\",\r\n\t\tdata: {\r\n\t\t\tcjmIdsStr: props?.id,\r\n\t\t\tnewValue: props?.value,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const updateCjmDescription = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_CJM_DESCRIPTION\", endPoint: \"updateCjmDescription\",\r\n\t\tdata: {\r\n\t\t\tcjmIdStr: props?.id,\r\n\t\t\tnewValue: props?.value !== null ? encode(props?.value) : \"\",\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const updateTemplateCJM = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_CJM_TEMPLATE_PUBLISH\", endPoint: \"updateTemplatePublished\",\r\n\t\tdata: {\r\n\t\t\tcjmIdStr: props?.id,\r\n\t\t\tisChecked: props?.isChecked,\r\n\t\t}\r\n\t}),\r\n});\r\nexport const updateLockedCJM = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_CJM_TEMPLATE_LOCKED\", endPoint: \"updateTemplateLocked\",\r\n\t\tdata: {\r\n\t\t\tcjmIdStr: props?.id,\r\n\t\t\tisChecked: props?.isChecked,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const updateLinksCjms = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_MAP_LINKS_CJM\", endPoint: \"updateMapLinksWithCjms\",\r\n\t\tdata: {\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\tcjmIdsToLink: props?.mapsStr,\r\n\t\t\tpersonaIdStr: props?.personaIdStr,\r\n\t\t\tcjmIdsToUnlink: props?.cjmIdsToUnlink,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const getExcelExportMap = (props) => createGetAction({\r\n\ttype: \"GET_EXCEL_EXPORT\", endPoint: constructUrl(\"getExcelExport\", {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}),\r\n\tresponseType: \"blob\",\r\n\r\n});\r\n\r\nexport const getPDFExportMap = (props) => createGetAction({\r\n\ttype: \"GET_PDF_EXPORT_CJM\", endPoint: constructUrl(\"getPdfExport\", {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\tpersonaId: props?.personaIdStr,\r\n\t\tswimLaneIds: props?.swimLaneIds,\r\n\t\twidth: props?.width + 300,\r\n\t\theight: props?.height + 300,\r\n\t}),\r\n\tresponseType: \"blob\",\r\n\r\n});\r\n\r\nexport const getIMGExportMap = (props) => createGetAction({\r\n\ttype: \"GET_IMG_EXPORT\", endPoint: constructUrl(\"getImgExport\", {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\tpersonaId: props?.personaIdStr,\r\n\t\tswimLaneIds: props?.swimLaneIds,\r\n\t\twidth: props?.width + 300,\r\n\t\theight: props?.height + 300,\r\n\t}),\r\n\tresponseType: \"blob\",\r\n\r\n});\r\n\r\nexport const filterEmotionMap = (id) => ({ type: \"FILTER_EMOTION_MAP\", payload: id });\r\n\r\nexport const toggleTargetValues = () => ({ type: \"SHOW_TARGET_VALUES\" });\r\n\r\nexport const updateExpandedHeader = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_HEADER_EXPANDED\", endPoint: \"updateHeaderExpanded\",\r\n\t\tdata: {\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\tisExpanded: props?.show,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const recomputeMapSentimentLevel = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"RECOMPUTE_MAP_SENTIMENT_LEVEL\", endPoint: \"recomputeMapSentimentLevel\",\r\n\t\tdata: {\r\n\t\t\tchannelIdStr: props?.channelIdStr,\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\tpersonaIdStr: props?.personaIdStr,\r\n\t\t}\r\n\t})\r\n});\r\n\r\nexport const deleteManyMaps = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"DELETE_MANY_MAPS\", endPoint: \"deleteMany\",\r\n\t\tdata: {\r\n\t\t\tcjmIds: props?.ids,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const deletePermanentlyManyMaps = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"DELETE_PERMANENTLY_MANY_MAPS\", endPoint: \"deletePermanentlyMany\",\r\n\t\tdata: {\r\n\t\t\tcjmIds: props?.ids,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const archiveManyMaps = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"ARCHIVE_MANY_MAPS\", endPoint: \"archiveMany\",\r\n\t\tdata: {\r\n\t\t\tcjmIds: props?.ids,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const restoreManyMaps = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"RESTORE_MANY_MAPS\", endPoint: \"restoreMany\",\r\n\t\tdata: {\r\n\t\t\tcjmIds: props?.ids,\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: \"RESTORE\"\r\n});\r\n\r\nexport const convertCJMToTemplate = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"CONVERT_CJM_TO_TEMPLATE\", endPoint: \"convertCJMToTemplate\",\r\n\t\tdata: {\r\n\t\t\tcjmId: props?.cjmId,\r\n\t\t\tnewName: encode(props?.name),\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: \"SAVE_MAP_AS_TEMPLATE_SUCCESS\"\r\n});\r\n\r\nexport const getExcelExportListCjm = (ids, columns) => createPostAction({\r\n\ttype: \"GET_EXCEL\", endPoint: \"getListExcelExport\",\r\n\tdata: {\r\n\t\tids,\r\n\t\tcolumns: columns?.join(\"|\").replace(\"name\", \"mapName\"),\r\n\t},\r\n\tresponseType: \"blob\",\r\n\r\n});\r\n\r\nexport const getLinkedCjmsExcelExport = (entityName, id) => createGetAction({\r\n\ttype: \"GET_EXCEL_LINK_CJM\", endPoint: constructUrl(\"getLinkedCjmsExcelExport\", {\r\n\t\tentityName: entityName,\r\n\t\tid: id,\r\n\t}),\r\n\tresponseType: \"blob\",\r\n\r\n});\r\n\r\nexport const updateShowRoute = ({ cjmIdStr, showRoute, isMain, ...props }) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_SHOW_ROUTE\",\r\n\t\tendPoint: \"updateShowRoutes\",\r\n\t\tdata: { cjmIdStr, showRoute, isMain },\r\n\t}),\r\n});\r\n\r\nexport const updateCjmStatus = (props) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_CJM_STATUS\", endPoint: \"updateCjmStatus\",\r\n\t\tdata: {\r\n\t\t\tnewValueId: props?.newValueId,\r\n\t\t\tcjmIdsStr: props?.cjmIdsStr,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const getHierachyPdf = ({ cjmIdStr, personaIdStr, width, height, ...props }) => genericService({\r\n\t...props,\r\n\taction: createGetAction({\r\n\t\ttype: \"GET_PDF_EXPORT_HIERARCHY\", endPoint: constructUrl(\"getHierarchyPdfExport\", {\r\n\t\t\tcjmIdStr,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t\twidth,\r\n\t\t\theight\r\n\t\t}),\r\n\t\tresponseType: \"blob\",\r\n\t})\r\n});\r\n/*********** VERSION - MAP ************/\r\n\r\nexport const createMapVersion = ({ cjmId, name, description, versionNumber, ...props }) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"CREATE_MAP_VERSION\", endPoint: \"createMapVersion\",\r\n\t\tdata: {\r\n\t\t\tcjmId,\r\n\t\t\tname,\r\n\t\t\tdescription,\r\n\t\t\tversionNumber,\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: \"SAVE\"\r\n});\r\n\r\nexport const updateMapVersion = ({ cjmId, name, description, ...props }) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UPDATE_MAP_VERSION\", endPoint: \"updateMapVersion\",\r\n\t\tdata: {\r\n\t\t\tcjmId,\r\n\t\t\tname,\r\n\t\t\tdescription,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const restoreMapVersion = ({ cjmId, versionNumber, ...props }) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"RESTORE_MAP_VERSION\", endPoint: \"restoreMapVersion\",\r\n\t\tdata: {\r\n\t\t\tcjmId,\r\n\t\t\tversionNumber,\r\n\t\t}\r\n\t}),\r\n\tdisplayToast: \"RESTORE_VERSION\"\r\n});\r\n\r\n\r\nexport const getMapAudit = ({ cjmId, personaId }) => createGetAction({\r\n\ttype: \"GET_MAP_AUDIT\", endPoint: constructUrl(\"getMapAuditTrail\", {\r\n\t\tcjmId: cjmId,\r\n\t\tpersonaId: personaId,\r\n\r\n\t}),\r\n})\r\n\r\n\r\n\r\n\r\n// **** PHASES ****\r\nexport const reorderPhases = (props) => genericService({\r\n\t...props, action: createPostActionPhase({\r\n\t\ttype: \"REORDER_PHASE_DB\", endPoint: \"reorderPhases\",\r\n\t\tdata: {\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\tnewPhasesOrder: props?.newPhasesOrder,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const updateOrderPhases = (source, destination) => ({\r\n\ttype: \"ORDER_PHASES\",\r\n\tpayload: { source: source, destination: destination }\r\n});\r\n\r\nexport const updateNamePhase = (props) => genericService({\r\n\t...props, action: createPostActionPhase({\r\n\t\ttype: \"UPDATE_PHASE_NAME\", endPoint: \"updatePhaseName\",\r\n\t\tdata: {\r\n\t\t\tphaseIdStr: props?.phaseIdStr,\r\n\t\t\tnewValue: encode(props?.newValue),\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const removePhase = (props) => genericService({\r\n\t...props, action: createPostActionPhase({\r\n\t\ttype: \"DELETE_PHASE\", endPoint: \"deletePhase\",\r\n\t\tdata: {\r\n\t\t\tphaseIdStr: props?.phaseIdStr,\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\tpersonaIdStr: props?.personaIdStr,\r\n\t\t}\r\n\t}),\r\n});\r\n\r\nexport const addStage = (props) => genericService({\r\n\t...props, action: createPostActionPhase({\r\n\t\ttype: \"ADD_STAGE_FROM_PHASE\", endPoint: \"addStageFromPhase\",\r\n\t\tdata: {\r\n\t\t\tphaseIdStr: props?.phaseIdStr,\r\n\t\t\tname: props?.stageName,\r\n\t\t\tmapMode: props?.mapMode,\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\tpersonaIdStr: props?.personaIdStr,\r\n\t\t\tsrcStageIdStr: props?.stageIdFrom,\r\n\t\t},\r\n\t\tparams: { stageIdFrom: props?.stageIdFrom },\r\n\r\n\t}),\r\n});\r\n\r\nexport const updatePhaseLinksWithCjms = (props) => genericService({\r\n\t...props, action: createPostActionPhase({\r\n\t\ttype: \"UPDATE_PHASE_LINKS_CJM\", endPoint: \"updatePhaseLinksWithCjms\",\r\n\t\tdata: {\r\n\t\t\tphaseIdStr: props?.phaseIdStr,\r\n\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\tpersonaIdStr: props?.personaIdStr,\r\n\t\t\tcjmIdsToLink: props?.cjmIdsToLink,\r\n\t\t\tcjmIdsToUnlink: props?.cjmIdsToUnlink,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updatePhasesColor = ({ newValue, cjmId, ...props }) => genericService({\r\n\t...props, action: createPostActionPhase({\r\n\t\ttype: \"UPDATE_ALL_PHASE_COLOR\", endPoint: \"updateAllPhasesColor\",\r\n\t\tdata: {\r\n\t\t\tnewValue: newValue,\r\n\t\t\tcjmId: cjmId,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateSinglePhaseColor = ({ newValue, phaseIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionPhase({\r\n\t\ttype: \"UPDATE_PHASE_COLOR\", endPoint: \"updatePhaseColor\",\r\n\t\tdata: {\r\n\t\t\tphaseId: phaseIdStr,\r\n\t\t\tnewValue: newValue,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updatePhaseIdInStage = (stageId, phaseId) => ({\r\n\ttype: \"UPDATE_PHASE_ID_IN_STAGE\",\r\n\tpayload: { stageId: stageId, phaseId: phaseId },\r\n});\r\n\r\n/// **** STAGES ****\r\nexport const removeStage = ({ stageId, personaIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"REMOVE_STAGE\", endPoint: \"deleteStage\",\r\n\t\tdata: {\r\n\t\t\tstageIdStr: stageId,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateWidthStage = ({ stageIdStr, width, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_STAGE_WIDTH\", endPoint: \"updateStageWidth\",\r\n\t\tdata: {\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tnewValue: width,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const reorderStages = ({ cjmIdStr, personaIdStr, newStagesOrder, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_ORDER_STAGE_DB\", endPoint: \"reorderStages\",\r\n\t\tdata: {\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t\tnewStagesOrder: newStagesOrder,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateOrderStages = (newStagesOrder) => ({\r\n\ttype: \"ORDER_STAGES\",\r\n\tpayload: { newStagesOrder: newStagesOrder }\r\n});\r\n\r\nexport const addPhase = ({ stageName, phaseName, mapMode, cjmIdStr, personaIdStr, phaseIdFrom, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"ADD_STAGE_AND_PHASE_DB\", endPoint: \"addPhaseAndStage\",\r\n\t\tdata: {\r\n\t\t\tname: stageName,\r\n\t\t\tnamePhase: phaseName,\r\n\t\t\tmapMode: mapMode,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t\tsrcPhaseIdStr: phaseIdFrom,\r\n\t\t},\r\n\t\tparams: { phaseIdFrom: phaseIdFrom },\r\n\r\n\t}),\r\n});\r\n\r\nexport const updateNameStage = ({ stageIdStr, newValue, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_STAGE_NAME\", endPoint: \"updateStageName\",\r\n\t\tdata: {\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tnewValue: encode(newValue),\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const copyStage = ({ stageIdStr, stageIdNew, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"COPY_STAGE\", endPoint: \"copyStage\",\r\n\t\tdata: {\r\n\t\t\tstageIdOld: stageIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tstageIdNew: stageIdNew,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const reorderStageInteraction = ({ newStageInteractionsOrder, cjmId, stageId, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"REORDER_STAGE_INTERACTIONS\", endPoint: \"reorderStageInteractions\",\r\n\t\tdata: {\r\n\t\t\tcjmId,\r\n\t\t\tstageId,\r\n\t\t\tnewStageInteractionsOrder: newStageInteractionsOrder,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updatePersonaExperienceText = ({ newValue, textType, stageIdStr, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_PERSONA_EXPERIENCE_TEXT\", endPoint: \"updatePersonaExperienceText\",\r\n\t\tdata: {\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\ttextType: textType,\r\n\t\t\tnewValue: encode(newValue),\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateStageDesc = ({ newValue, stageIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_STAGE_DESCRIPTION\", endPoint: \"updateStageDescription\",\r\n\t\tdata: {\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tnewValue: encode(newValue),\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateEmotionLevel = ({ newValue, stageIdStr, personaIdStr, cjmIdStr, genericID, personaInteractionId, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_PERSONA_STAGE_SIMPLE_SENTIMENT\", endPoint: \"updatePersonaStageSimpleSentiment\",\r\n\t\tdata: {\r\n\t\t\tstageId: stageIdStr,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t\tnewValue: newValue,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t\tpersonaInteractionId: personaInteractionId,\r\n\t\t},\r\n\t\tparams: genericID\r\n\t}),\r\n});\r\n\r\nexport const updateStageTargetEmotionLevel = ({ newValue, stageIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_STAGE_TARGET_EMOTION_LEVEL\", endPoint: \"updateStageTargetEmotionLevel\",\r\n\t\tdata: {\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tnewValue: newValue,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateStageKPIs = (newValue, stageIdStr, cjmIdStr) => createPostActionStage({\r\n\ttype: \"UPDATE_STAGE_KPIS\", endPoint: \"updateStageKPIs\",\r\n\tdata: {\r\n\t\tstageIdStr: stageIdStr,\r\n\t\tnewValue: encode(newValue),\r\n\t\tcjmIdStr: cjmIdStr,\r\n\t},\r\n})\r\n\r\nexport const updateStageIssues = (newValue, stageIdStr, cjmIdStr) => createPostActionStage({\r\n\ttype: \"UPDATE_STAGE_ISSUES\", endPoint: \"updateStageIssues\",\r\n\tdata: {\r\n\t\tstageIdStr: stageIdStr,\r\n\t\tnewValue: encode(newValue),\r\n\t\tcjmIdStr: cjmIdStr,\r\n\t},\r\n})\r\n\r\nexport const updateStageProcesses = (newValue, stageIdStr, cjmIdStr) => createPostActionStage({\r\n\ttype: \"UPDATE_STAGE_PROCESSES\", endPoint: \"updateStageProcesses\",\r\n\tdata: {\r\n\t\tstageIdStr: stageIdStr,\r\n\t\tnewValue: encode(newValue),\r\n\t\tcjmIdStr: cjmIdStr,\r\n\t},\r\n})\r\n\r\nexport const updateStageImage = ({ stageIdStr, imageExtension, imageBody64, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_STAGE_IMAGE\", endPoint: \"updateStageImage\",\r\n\t\tdata: {\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\timageExtension: imageExtension,\r\n\t\t\timageBody64: imageBody64,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const deleteStageImage = ({ stageIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"DELETE_STAGE_IMAGE\", endPoint: \"deleteStageImage\",\r\n\t\tdata: {\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateStageLinksWithCjms = ({ stageIdStr, cjmIdStr, cjmIdsToLink, cjmIdsToUnlink, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_STAGE_LINKS_CJM\", endPoint: \"updateStageLinksWithCjms\",\r\n\t\tdata: {\r\n\t\t\tstageIdStr,\r\n\t\t\tcjmIdStr,\r\n\t\t\tpersonaIdStr,\r\n\t\t\tcjmIdsToLink,\r\n\t\t\tcjmIdsToUnlink,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateStagesColor = ({ newValue, cjmId, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_ALL_STAGE_COLOR\", endPoint: \"updateAllStageColor\",\r\n\t\tdata: {\r\n\t\t\tnewValue: newValue,\r\n\t\t\tcjmId: cjmId,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateSingleStageColor = ({ newValue, stageIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionStage({\r\n\t\ttype: \"UPDATE_STAGE_COLOR\", endPoint: \"updateStageColor\",\r\n\t\tdata: {\r\n\t\t\tstageId: stageIdStr,\r\n\t\t\tnewValue: newValue,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\n////// **** Swimlanes **** //////\r\nexport const orderSwimlanes = (newOrder) => ({\r\n\ttype: \"ORDER_SWIMLANES\",\r\n\tpayload: newOrder,\r\n});\r\n\r\nexport const updateSwimLanesOrder = ({ newOrder, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"UPDATE_SWIMLANES_ORDER_DB\", endPoint: \"updateSwimLamesOrder\",\r\n\t\tdata: {\r\n\t\t\tnewOrder: newOrder,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateTextSwimlaneDesc = ({ key, stageId, value, cjmIdStr, personaIdStr, type, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"UPDATE_SWIMLANES_DESCRIPTION\", endPoint: \"updateCustomSwimLaneDetails\",\r\n\t\tdata: {\r\n\t\t\tcustomSwimLaneIdStr: key,\r\n\t\t\tstageIdStr: stageId,\r\n\t\t\tdescription: encode(value),\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t\ttype: type\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateSwimlaneProps = ({ cjmId, modifiedSwimLane, modifiedAttribNames, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"UPDATE_SWIMLANES_PROPERTIES\", endPoint: \"updateProperties\",\r\n\t\tdata: {\r\n\t\t\tcjmId,\r\n\t\t\tmodifiedSwimLane: {\r\n\t\t\t\t...modifiedSwimLane,\r\n\t\t\t\tname: encode(modifiedSwimLane.name),\r\n\t\t\t\tdescription: encode(modifiedSwimLane.description)\r\n\t\t\t},\r\n\t\t\tmodifiedAttribNames,\r\n\t\t},\r\n\t}),\r\n});\r\nexport const deleteSwimLane = ({ customSwimLaneIdStr, cjmIdStr, personaIdStr, genericId, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"DELETE_CUSTOM_SWIMLANE\", endPoint: \"deleteCustomSwimLane\",\r\n\t\tdata: {\r\n\t\t\tcustomSwimLaneIdStr: customSwimLaneIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t\tparams: { genericId },\r\n\t}),\r\n\t// displayToast: \"DELETE\"\r\n});\r\n\r\nexport const updateTouchPointOrder = (newOrder) => ({\r\n\ttype: \"UPDATE_TOUCHPOINT_ORDER\",\r\n\tpayload: newOrder,\r\n});\r\nexport const upsertListItem = ({ item, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"UPDATE_CUSTOM_LIST_ITEM_SWIMLANE_DETAILS\", endPoint: \"upsertCustomListItem\",\r\n\t\tdata: {\r\n\t\t\tcustomSwimLaneItemIdStr: item.id,\r\n\t\t\tcustomSwimLaneIdStr: item.swimlaneKey,\r\n\t\t\tstageIdStr: item.stageId,\r\n\t\t\tdescription: encode(item.description),\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\nexport const updateStageListItem = ({ customSwimLaneItemIdStr, customSwimLaneIdStr, prevStageIdStr, newStageIdStr, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"UPDATE_STAGE_LIST_ITEM\", endPoint: \"updateCustomListItemStage\",\r\n\t\tdata: {\r\n\t\t\tcustomSwimLaneItemIdStr: customSwimLaneItemIdStr,\r\n\t\t\tcustomSwimLaneIdStr: customSwimLaneIdStr,\r\n\t\t\tprevStageIdStr: prevStageIdStr,\r\n\t\t\tnewStageIdStr: newStageIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateStageGlobalItem = ({ customSwimLaneItemIdStr, customSwimLaneIdStr, prevStageIdStr, newStageIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"UPDATE_STAGE_LIST_ITEM\", endPoint: \"updateGlobalCustomItemStage\",\r\n\t\tdata: {\r\n\t\t\tcustomSwimLaneItemIdStr: customSwimLaneItemIdStr,\r\n\t\t\tcustomSwimLaneIdStr: customSwimLaneIdStr,\r\n\t\t\tprevStageIdStr: prevStageIdStr,\r\n\t\t\tnewStageIdStr: newStageIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\n\r\nexport const updateOrderKPI = (newOrder, swimlaneKey) => ({\r\n\ttype: \"UPDATE_ORDER_KPI\",\r\n\tpayload: { newOrder: newOrder, swimlaneKey: swimlaneKey }\r\n});\r\nexport const updateSwimLanesImage = ({ customSwimLaneIdStr, stageIdStr, imageExtension, imageBody64, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"UPDATE_SWIMLANES_IMAGE\", endPoint: \"uploadCustomImage\",\r\n\t\tdata: {\r\n\t\t\tcustomSwimLaneIdStr: customSwimLaneIdStr,\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\timageExtension: imageExtension,\r\n\t\t\timageBody64: imageBody64,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const deleteSwimLaneImage = ({ customSwimLaneIdStr, stageIdStr, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"DELETE_SWIMLANES_IMAGE\", endPoint: \"deleteCustomImage\",\r\n\t\tdata: {\r\n\t\t\tcustomSwimLaneIdStr: customSwimLaneIdStr,\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const updateSwimlaneDetailsOrder = ({ newContainers, source, target, itemId, swimlaneId }) => ({\r\n\ttype: \"UPDATE_SWIMLANE_DETAILS_ORDER\",\r\n\tpayload: {\r\n\t\tnewContainers, source, target, itemId, swimlaneId\r\n\t}\r\n});\r\n\r\nexport const updateListItemOrder = ({ newItemsOrder, customSwimLaneIdStr, stageIdStr, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"ORDER_LIST_ITEM_DB\", endPoint: \"updateCustomListItemsOrder\",\r\n\t\tdata: {\r\n\t\t\tnewItemsOrder: newItemsOrder,\r\n\t\t\tcustomSwimLaneIdStr: customSwimLaneIdStr,\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\nexport const updateGlobalItemOrder = ({ newItemsOrder, customSwimLaneIdStr, stageIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"ORDER_LIBRARY_ITEM_DB\", endPoint: \"updateGlobalSwimLaneItemsOrder\",\r\n\t\tdata: {\r\n\t\t\tnewItemsOrder: newItemsOrder,\r\n\t\t\tcustomSwimLaneIdStr: customSwimLaneIdStr,\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\nexport const updateLibraryItemOrder = ({ newItemsOrder, customSwimLaneIdStr, stageIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"ORDER_LIBRARY_ITEM_DB\", endPoint: \"updateGlobalSwimLaneItemsOrder\",\r\n\t\tdata: {\r\n\t\t\tnewItemsOrder: newItemsOrder,\r\n\t\t\tcustomSwimLaneIdStr: customSwimLaneIdStr,\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n\r\nexport const deleteListItems = ({ customSwimLaneItemIdStr, customSwimLaneIdStr, stageIdStr, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"DELETE_LIST_ITEMS\", endPoint: \"deleteCustomListItem\",\r\n\t\tdata: {\r\n\t\t\tcustomSwimLaneItemIdStr: customSwimLaneItemIdStr,\r\n\t\t\tcustomSwimLaneIdStr: customSwimLaneIdStr,\r\n\t\t\tstageIdStr: stageIdStr,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\nexport const deleteGlobalListItems = ({ customSwimLaneItemIdStr, customSwimLaneIdStr, stageIdStr, cjmIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"DELETE_GLOBAL_LIST_ITEMS\", endPoint: \"deleteGlobalCustomItem\",\r\n\t\tdata: {\r\n\t\t\tcustomSwimLaneItemId: customSwimLaneItemIdStr,\r\n\t\t\tcustomSwimLaneId: customSwimLaneIdStr,\r\n\t\t\tstageId: stageIdStr,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t},\r\n\t}),\r\n\tdisplayToast: \"DELETE\"\r\n});\r\nexport const addMultiSwimlanes = ({ swimlanes, cjmId, order, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"ADD_MULTI_SWIMLANES\", endPoint: \"addMultiSwimLane\",\r\n\t\tdata: {\r\n\t\t\tswimlanes,\r\n\t\t\tcjmId,\r\n\t\t\torder,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t},\r\n\t\tparams: {\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n\tdisplayToast: \"UPDATE\",\r\n\ttoastParams: { success: t(\"NEW_LANE_READY\") }\r\n});\r\nexport const updateGlobalSwimLaneOrder = ({ cjmId, stageId, prevCustomSwimLaneId, newCustomSwimLaneId, customSwimLaneItemId, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"UPDATE_GLOBAL_SWIMLANE_ORDER\", endPoint: \"updateGlobalSwimLaneOrder\",\r\n\t\tdata: {\r\n\t\t\tcjmId,\r\n\t\t\tstageId,\r\n\t\t\tprevCustomSwimLaneId,\r\n\t\t\tnewCustomSwimLaneId,\r\n\t\t\tcustomSwimLaneItemId,\r\n\t\t},\r\n\r\n\t}),\r\n});\r\n\r\n\r\n/// *** persona Interaction *** //createPostActionPersInt\r\n\r\nexport const updateInteraction = ({ interaction, newChannelId, stageId, cjmIdStr, personaIdStr, previousChannelIdStr = EMPTY_GUID, modifiedBy, ...props }) => genericService({\r\n\t...props, action: createPostActionPersInt({\r\n\t\ttype: \"UPDATE_PERSONA_INTERACTION\", endPoint: \"updatePersonaInteraction\",\r\n\t\tdata: {\r\n\t\t\tpersonaInteractionId: interaction?.id,\r\n\t\t\tnewSentimentLevel: interaction?.emotionLevel + 1 === 0 ? -1 : interaction?.emotionLevel,\r\n\t\t\tnewChannelId: newChannelId || interaction?.channelId,\r\n\t\t\tpreviousChannelId: previousChannelIdStr,\r\n\t\t\tnewActions: encode(interaction?.actions?.truncate(19999)),\r\n\t\t\tnewJsonProperty: interaction?.jsonProperty,\r\n\t\t\tstageId,\r\n\t\t\townerId: interaction?.ownerId,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t\tmodifiedBy: modifiedBy,\r\n\t\t},\r\n\t\tparams: { ...interaction, channelId: previousChannelIdStr !== EMPTY_GUID ? newChannelId : interaction?.channelId },\r\n\r\n\t})\r\n});\r\nexport const addInteraction = ({ interaction, cjmIdStr, personaIdStr, lastElement, toastId, ...props }) => genericService({\r\n\t...props, action: createPostActionPersInt({\r\n\t\ttype: \"CREATE_PERSONA_INTERACTION\", endPoint: \"createPersonaInteraction\",\r\n\t\tdata: {\r\n\t\t\tsentimentLevel: interaction.emotionLevel === -1 ? -1 : interaction.emotionLevel !== \"\" ? interaction.emotionLevel : -1,\r\n\t\t\tchannelId: interaction.channelId,\r\n\t\t\tactions: encode(interaction.actions.truncate(19999)) || \"\",\r\n\t\t\tpros: encode(interaction.pros.truncate(19999)) || \"\",\r\n\t\t\tcons: encode(interaction.cons.truncate(19999)) || \"\",\r\n\t\t\tinsights: encode(interaction.insights.truncate(19999)) || \"\",\r\n\t\t\tstageId: interaction.stageId,\r\n\t\t\townerId: interaction.ownerId,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t\torder: interaction.order,\r\n\t\t},\r\n\t\tparams: { ...interaction, emotionLevel: interaction.emotionLevel !== \"\" ? interaction.emotionLevel : -1 },\r\n\r\n\t})\r\n});\r\nexport const deleteInteraction = ({ interaction, stageId, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionPersInt({\r\n\t\ttype: \"DELETE_PERSONA_INTERACTION\", endPoint: \"deletePersonaInteraction\",\r\n\t\tdata: {\r\n\t\t\tpersonaInteractionId: interaction?.id,\r\n\t\t\tchannelId: interaction?.channelId,\r\n\t\t\tstageId,\r\n\t\t\townerId: interaction?.ownerId,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t},\r\n\t\tparams: interaction,\r\n\t})\r\n});\r\n\r\nexport const forcePersonaInteractionRoute = ({ personaInteractionId, newValue, isMain, stageId, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionPersInt({\r\n\t\ttype: \"FORCE_PERSONA_INTERACTION_ROUTE\", endPoint: \"forcePersonaInteractionRoute\",\r\n\t\tdata: {\r\n\t\t\tpersonaInteractionId,\r\n\t\t\tstageId,\r\n\t\t\tnewValue,\r\n\t\t\tisMain,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t}\r\n\t})\r\n});\r\nexport const createMultipleInteractions = async ({ personaInteractionsIds, personaIdStr, cjmIdStr, stageId, ownerId, modifiedBy, ...props }) => genericService({\r\n\t...props, action: createPostActionPersInt({\r\n\t\ttype: \"CREATE_MULTI_PERSONA_INTERACTION\", endPoint: \"createPersonaInteractions\",\r\n\t\tdata: {\r\n\t\t\tnewPersonaInteractionIds: personaInteractionsIds,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t\tstageId: stageId,\r\n\t\t\townerId,\r\n\t\t\tsentimentLevel: -1,\r\n\t\t\tmodifiedBy: modifiedBy,\r\n\t\t}\r\n\t})\r\n});\r\nexport const linkInteraction = ({ recEntityName, recIds = [], itemId = EMPTY_GUID, prefixRelationships = \"\", stageId, attribute, ...props }) => genericService({\r\n\t...props, action: createPostActionPersInt({\r\n\t\ttype: \"LINK_INTERACTION_RECORDS\", endPoint: \"linkRecords\",\r\n\t\tdata: {\r\n\t\t\trecEntityName,\r\n\t\t\trecIds,\r\n\t\t\tpersonaInteractionId: itemId,\r\n\t\t\tprefixRelationships,\r\n\t\t},\r\n\t\tparams: {\r\n\t\t\tstageId,\r\n\t\t\tattribute,\r\n\t\t},\r\n\t})\r\n});\r\nexport const unlinkInteraction = ({ recEntityName, recIds = [], itemId = EMPTY_GUID, prefixRelationships = \"\", stageId, attribute, ...props }) => genericService({\r\n\t...props, action: createPostActionPersInt({\r\n\t\ttype: \"UNLINK_INTERACTION_RECORDS\", endPoint: \"unLinkRecords\",\r\n\t\tdata: {\r\n\t\t\trecEntityName,\r\n\t\t\trecIds,\r\n\t\t\tpersonaInteractionId: itemId,\r\n\t\t\tprefixRelationships,\r\n\t\t},\r\n\t\tparams: {\r\n\t\t\tstageId,\r\n\t\t\tattribute,\r\n\t\t},\r\n\t})\r\n});\r\n\r\n//// **** timeline **** //createPostActionTimeline\r\nconst createPostActionTimeline = InitActionCreator({ baseUrl: \"api/timeline/\", method: \"POST\" }); // api actions type post\r\n\r\nexport const upsertTimeline = ({ timeLine, ...props }) => genericService({\r\n\t...props, action: createPostActionTimeline({\r\n\t\ttype: \"UPSERT_TIMELINE\", endPoint: \"upsert\",\r\n\t\tdata: {\r\n\t\t\ttimeLine\r\n\t\t}\r\n\t})\r\n});\r\nexport const deleteTimeline = ({ id, stageId, ...props }) => genericService({\r\n\t...props, action: createPostActionTimeline({\r\n\t\ttype: \"DELETE_TIMELINE\", endPoint: \"delete\",\r\n\t\tdata: {\r\n\t\t\tid\r\n\t\t},\r\n\t\tparams: {\r\n\t\t\tstageId,\r\n\t\t},\r\n\t})\r\n});\r\n\r\n/// **** Icons ****** //\r\nexport const updateIconsSwimlane = (key, stageId, value) => ({\r\n\ttype: \"UPDATE_SWIMLANES_ICONS\",\r\n\tpayload: { key: key, stageId: stageId, newIcon: value },\r\n});\r\n\r\nexport const deleteIconsSwimlane = (key, stageId, value) => ({\r\n\ttype: \"DELETE_SWIMLANES_ICONS\",\r\n\tpayload: { key: key, stageId: stageId, iconToDelete: value },\r\n})\r\n\r\nexport const linkIconSwimlane = ({ iconIdStr, objectIdStr, IconType, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionIcon({\r\n\t\ttype: \"LINK_SWIMLANES_ICONS\", endPoint: \"linkIcon\",\r\n\t\tdata: {\r\n\t\t\ticonIdStr: String(iconIdStr).padStart(5, \"0\"),\r\n\t\t\tobjectIdStr: objectIdStr,\r\n\t\t\tIconType: IconType,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\nexport const unLinkIconSwimlane = ({ iconIdStr, objectIdStr, IconType, cjmIdStr, personaIdStr, ...props }) => genericService({\r\n\t...props, action: createPostActionIcon({\r\n\t\ttype: \"UNLINK_SWIMLANES_ICONS\", endPoint: \"unLinkIcon\",\r\n\t\tdata: {\r\n\t\t\ticonIdStr: String(iconIdStr).padStart(5, \"0\"),\r\n\t\t\tobjectIdStr: objectIdStr,\r\n\t\t\tIconType: IconType,\r\n\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t},\r\n\t}),\r\n});\r\n/***********CUSTOMER FEEBACKS ************/\r\nconst createPostActionFeedbacks = InitActionCreator({ baseUrl: \"api/customerFeedback/\", method: \"POST\" });\r\nconst createGetActionFeedbacks = InitActionCreator({ baseUrl: \"api/customerFeedback/\", method: \"GET\" }); // api actions type post\r\n\r\nexport const upsertCustomerFeedback = ({ customerFeedback, cjmId, modifiedAttribNames, ...props }) => genericService({\r\n\t...props, action: createPostActionFeedbacks({\r\n\t\ttype: \"UPSERT_CUSTOMER_FEEDBACK\", endPoint: \"upsert\",\r\n\t\tdata: {\r\n\t\t\tcustomerFeedback: {\r\n\t\t\t\t...customerFeedback,\r\n\t\t\t\tdescription: encode(customerFeedback?.description),\r\n\t\t\t\tname: encode(customerFeedback?.name),\r\n\t\t\t\tsourceDescription: encode(customerFeedback?.sourceDescription?.truncate(19999))\r\n\t\t\t},\r\n\t\t\tcjmId,\r\n\t\t},\r\n\t\tparams: { modifiedAttribNames }\r\n\r\n\t})\r\n});\r\nexport const deleteCustomerFeedback = ({ customerFeedbackId, personaId, cjmId, stageId, ...props }) => genericService({\r\n\t...props, action: createPostActionFeedbacks({\r\n\t\ttype: \"DELETE_CUSTOMER_FEEDBACK\", endPoint: \"delete\",\r\n\t\tdata: {\r\n\t\t\tcustomerFeedbackId,\r\n\t\t\tpersonaId,\r\n\t\t\tcjmId,\r\n\t\t},\r\n\t\tparams: {\r\n\t\t\tstageId,\r\n\t\t},\r\n\t})\r\n});\r\nexport const uploadExcelVOC = ({ customerFeedback, fileBody64, cjmId, ...props }) => genericService({\r\n\t...props, action: createPostActionFeedbacks({\r\n\t\ttype: \"UPLOAD_CUSTOMER_FEEDBACK\", endPoint: \"uploadExcel\",\r\n\t\tdata: {\r\n\t\t\tcustomerFeedback,\r\n\t\t\tfileBody64,\r\n\t\t\tcjmId\r\n\t\t}\r\n\t})\r\n});\r\n\r\nexport const getExcelTemplateExport = () => createGetActionFeedbacks({ type: \"GET_EXCEL_TEMPLATE_EXPORT\", endPoint: \"getExcelTemplateExport\", responseType: \"blob\" });\r\n\r\nexport const upsertCustomerFeedbackSummary = ({ customerFeedbackData, customerFeedbackId, cjmId, stageId, personaId, touchPointId, cxMetricsId, ...props }) => genericService({\r\n\t...props, action: createPostActionFeedbacks({\r\n\t\ttype: \"UPSERT_CUSTOMER_FEEDBACK_DATA\", endPoint: \"upsertCustomerFeedBackSummary\",\r\n\t\tdata: {\r\n\t\t\tcustomerFeedbackData: { ...customerFeedbackData, sourcesOfData: encode(customerFeedbackData?.sourcesOfData), description: encode(customerFeedbackData?.description) },\r\n\t\t\tcustomerFeedbackId,\r\n\t\t\tcjmId,\r\n\t\t\tstageId,\r\n\t\t\tpersonaId,\r\n\t\t\ttouchPointId,\r\n\t\t\tcxMetricsId,\r\n\t\t},\r\n\t})\r\n});\r\nexport const deleteCustomerFeedbackSummary = ({ customerFeedbackDataId, cjmId, stageId, personaId, touchPointId, customerFeedbackId, ...props }) => genericService({\r\n\t...props, action: createPostActionFeedbacks({\r\n\t\ttype: \"DELETE_CUSTOMER_FEEDBACK_DATA\", endPoint: \"deleteCustomerFeedBackSummary\",\r\n\t\tdata: {\r\n\t\t\tcustomerFeedbackDataId,\r\n\t\t\tcjmId,\r\n\t\t\tstageId,\r\n\t\t\tpersonaId,\r\n\t\t\ttouchPointId,\r\n\t\t},\r\n\t\tparams: {\r\n\t\t\tcustomerFeedbackId,\r\n\t\t},\r\n\t})\r\n});\r\n\r\n\r\n\r\n\r\n\r\n// SERVICE ****************************************************************\r\nexport const loadChart = async (props) => genericService({ ...props, action: getMapChartData });\r\nexport const getCurrentMap = async (props) => genericService({ ...props, action: getPersonaMapDetails });\r\n\r\n\r\nexport const getExcelExportListService = (ids, columnView) => {\r\n\tconst promise = async () => {\r\n\t\tconst { data, error } = await store.dispatch(getExcelExportListCjm(ids, columnView));\r\n\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\tfileDownload(data, \"Journey Maps List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\tif (error) throw error;\r\n\t};\r\n\ttoastWrapper(promise, \"EXPORT\");\r\n};\r\nexport const getLinkedCjmsExcelExportService = (ids, entityName) => {\r\n\tconst promise = async () => {\r\n\t\tconst { data, error } = await store.dispatch(getLinkedCjmsExcelExport(entityName, ids));\r\n\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\tfileDownload(data, \"Journey Maps List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\tif (error) throw error;\r\n\t};\r\n\ttoastWrapper(promise, \"EXPORT\");\r\n};\r\nexport const getExcelTemplateExportService = () => {\r\n\tconst promise = async () => {\r\n\t\tconst { data, error } = await store.dispatch(getExcelTemplateExport());\r\n\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\tfileDownload(data, \"Feedback Data Import Template\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\tif (error) throw error;\r\n\t};\r\n\ttoastWrapper(promise, \"EXPORT\");\r\n};\r\nexport const getStagesPhases = (props) => createGetAction({\r\n\ttype: \"GET_STAGES_PHASES\", endPoint: constructUrl(\"getStagesPhases\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_STAGES_PHASES' },\r\n\tparams: props?.params || {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getStagesPhasesFn = async (props) => genericService({ ...props, action: getStagesPhases });\r\nexport const getCjmHeaderFields = (props) => createGetAction({\r\n\ttype: \"GET_CJM_HEADER_FIELDS\", endPoint: constructUrl(\"getCjmHeaderFields\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_CJM_HEADER_FIELDS' },\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getCjmHeaderFieldsFn = async (props) => genericService({ ...props, action: getCjmHeaderFields });\r\nexport const getCjmSwimLaneDetails = (props) => createGetAction({\r\n\ttype: \"GET_CJM_SWIM_LANE_DETAILS\", endPoint: constructUrl(\"getCjmSwimLaneDetails\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t\tpersonaId: props?.personaIdStr\r\n\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_CJM_SWIM_LANE_DETAILS' },\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\tcollab: props?.collab || false\r\n\t}\r\n});\r\nexport const getCjmSwimLaneDetailsFn = async (props) => genericService({ ...props, action: getCjmSwimLaneDetails });\r\n\r\nexport const getCjmSwimLane = (props) => createGetAction({\r\n\ttype: \"GET_CJM_SWIM_LANE\", endPoint: constructUrl(\"getCjmSwimLanes\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t\tpersonaId: props?.personaIdStr\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_CJM_SWIM_LANE' },\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getCjmSwimLaneFn = async (props) => genericService({ ...props, action: getCjmSwimLane });\r\n\r\nexport const getCjmPersonasData = (props) => createGetAction({\r\n\ttype: \"GET_PERSONA_DATA\", endPoint: constructUrl(\"getCjmPersonasData\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_PERSONA_DATA' },\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\r\n\t}\r\n});\r\nexport const getCjmPersonasDataFn = async (props) => genericService({ ...props, action: getCjmPersonasData });\r\n\r\nexport const getInteractions = (props) => createGetAction({\r\n\ttype: \"GET_CJM_INTERACTIONS\", endPoint: constructUrl(\"getCjmInteractions\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\r\n\t}),\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getInteractionsFn = async (props) => genericService({ ...props, action: getInteractions });\r\n\r\n\r\nexport const getCjmContactData = (props) => createGetAction({\r\n\ttype: \"GET_CONTACT_DATA\", endPoint: constructUrl(\"getCjmContactData\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t}),\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\tpersonaIdStr: props?.personaIdStr\r\n\t}\r\n});\r\nexport const getCjmContactDataFn = async (props) => genericService({ ...props, action: getCjmContactData });\r\nexport const getCjmStagesCustomerExperienceData = (props) => createGetAction({\r\n\ttype: \"GET_CJM_STAGES_CUSTOME_REXPERIENCE_DATA\", endPoint: constructUrl(\"getCjmStagesCustomerExperienceData\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t\tpersonaId: props?.personaIdStr\r\n\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_CJM_STAGES_CUSTOME_REXPERIENCE_DATA' },\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\r\n\t}\r\n});\r\nexport const getCjmStagesCustomerExperienceDataFn = async (props) => genericService({ ...props, action: getCjmStagesCustomerExperienceData });\r\nexport const getCjmCustomerFeedback = (props) => createGetAction({\r\n\ttype: \"GET_CJM_CUSTOMER_FEEDBACK\", endPoint: constructUrl(\"getCjmCustomerFeedback\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t}),\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getCjmCustomerFeedbackFn = async (props) => genericService({ ...props, action: getCjmCustomerFeedback });\r\n\r\n\r\nexport const getCjmTimeLines = (props) => createGetAction({\r\n\ttype: \"GET_CJM_TIME_LINES\", endPoint: constructUrl(\"getCjmTimeLines\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t}),\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getCjmTimeLinesFn = async (props) => genericService({ ...props, action: getCjmTimeLines });\r\n\r\n\r\nexport const getCjmCxGoals = (props) => createGetAction({\r\n\ttype: \"GET_CJM_CXGOALS\", endPoint: constructUrl(\"getCjmCxGoals\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t}),\r\n\tmeta: { joinRequest: 'GET_CJM_CXGOALS' },\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getCjmCxGoalsFn = async (props) => genericService({ ...props, action: getCjmCxGoals });\r\n\r\n\r\nexport const getCjmSolutions = (props) => createGetAction({\r\n\ttype: \"GET_CJM_SOLUTIONS\", endPoint: constructUrl(\"getCjmSolutions\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t}),\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getCjmSolutionsFn = async (props) => genericService({ ...props, action: getCjmSolutions });\r\n\r\n\r\nexport const getCjmOpportunities = (props) => createGetAction({\r\n\ttype: \"GET_CJM_OPPORTUNITIES\", endPoint: constructUrl(\"getCjmOpportunities\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t}),\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getCjmOpportunitiesFn = async (props) => genericService({ ...props, action: getCjmOpportunities });\r\n\r\n\r\nexport const getCjmCxActions = (props) => createGetAction({\r\n\ttype: \"GET_CJM_CXACTIONS\", endPoint: constructUrl(\"getCjmCxActions\", {\r\n\t\tcjmId: props?.cjmIdStr,\r\n\t}),\r\n\tparams: {\r\n\t\tcjmIdStr: props?.cjmIdStr,\r\n\t}\r\n});\r\nexport const getCjmCxActionsFn = async (props) => genericService({ ...props, action: getCjmCxActions });\r\nexport const getAllInsightOfMap = ({ cjmId }) => {\r\n\treturn {\r\n\t\ttype: \"GET_ALL_INSIGHTS_MAP\",\r\n\t\trequest: {\r\n\t\t\turl: `api/map/getAllMapInsights?cjmId=${cjmId}`,\r\n\t\t\tmethod: \"get\",\r\n\t\t},\r\n\t};\r\n};\r\nexport const getAllInsightOfMapFu = async (props) => genericService({ ...props, action: getAllInsightOfMap });\r\n\r\nexport const getPersonaInteractionByStage = ({ cjmId, personaId, stageId }) => {\r\n\treturn {\r\n\t\ttype: \"GET_PERSONA_INTERACTION_BY_STAGE\",\r\n\t\trequest: {\r\n\t\t\turl: `api/map/getPersonaInteractionByStage?cjmId=${cjmId}&personaId=${personaId}&stageId=${stageId}`,\r\n\t\t\tmethod: \"get\",\r\n\t\t},\r\n\t\tparams: { cjmId, personaId, stageId }\r\n\t};\r\n};\r\nexport const getPersonaInteractionByStageFn = async (props) => genericService({ ...props, action: getPersonaInteractionByStage });\r\n\r\nexport const setIsExporting = (isExporting) => ({\r\n\ttype: \"SET_IS_EXPORTING\",\r\n\tpayload: { isExporting: isExporting },\r\n});\r\n\r\nexport const getAllCjmData = (props) => createGetAction({\r\n\ttype: \"GET_ALL_CJM_DATA\", endPoint: constructUrl(\"getAllCjmData\", {\r\n\t\tcjmId: props?.cjmId,\r\n\t})\r\n});\r\nexport const getAllCjmDataFn = async (props) => genericService({ ...props, action: getAllCjmData });\r\n\r\nexport const updateStageGlobalInsights = (newValue, stageIdStr, cjmIdStr) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_STAGE_GLOBAL_INSIGHTS\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/stage/updateStageGlobalInsights\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstageIdStr: stageIdStr,\r\n\t\t\t\tnewValue: encode(newValue),\r\n\t\t\t\tcjmIdStr: cjmIdStr,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\n\r\nexport const upsertAttachItem = ({ data, ...props }) => {\r\n\r\n\r\n\tgenericService({\r\n\t\t...props, action: createPostActionSwim({\r\n\t\t\ttype: \"UPDATE_ATTACH_LIST_ITEM_SWIMLANE_DETAILS\",\r\n\t\t\theaders: {\r\n\t\t\t\tContentType: \"multipart/form-data\"\r\n\t\t\t},\r\n\t\t\tendPoint: \"upsertAttachItem\",\r\n\t\t\tdata: data\r\n\t\t}),\r\n\t});\r\n};\r\n\r\nexport const linkRecordsOnMap = ({ swimLaneItemIds, objIds, customSwimLaneId, stageId, cjmId, personaId = EMPTY_GUID, objType, attributeId, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"LINK_RECORDS_ON_MAP\", endPoint: \"linkRecordsOnMap\",\r\n\t\tdata: {\r\n\t\t\tswimLaneItemIds, objIds, customSwimLaneId, stageId, cjmId, personaId, objType\r\n\t\t},\r\n\t\tparams: { attributeId }\r\n\t}),\r\n});\r\n\r\nexport const unlinkRecordsOnMap = ({ swimLaneItemIds, customSwimLaneId, stageId, cjmId, objName, ...props }) => genericService({\r\n\t...props, action: createPostActionSwim({\r\n\t\ttype: \"UNLINK_RECORDS_ON_MAP\", endPoint: \"unlinkRecordsOnMap\",\r\n\t\tdata: {\r\n\t\t\tswimLaneItemIds, customSwimLaneId, stageId, cjmId, objName\r\n\t\t},\r\n\t}),\r\n});\r\n\r\n\r\nexport const updateGlobalSwimLaneItemsOrder = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionSwim({\r\n\t\t\ttype: \"ORDER_GLOBAL_SWIMLANE_ITEMS\",\r\n\t\t\tendPoint: \"updateGlobalSwimLaneItemsOrder\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewItemsOrder: props?.newItemsOrder,\r\n\t\t\t\tcustomSwimLaneIdStr: props?.customSwimLaneIdStr,\r\n\t\t\t\tstageIdStr: props?.stageIdStr,\r\n\t\t\t\tcjmIdStr: props?.cjmIdStr,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const getCjmInteractionById = ({ personaInteractionId, personaId, cjmId, stageId }) => createGetActionPersInt({\r\n\ttype: \"GET_INTERACTION\",\r\n\tendPoint: constructUrl(\"getPersonaInteraction\", {\r\n\t\tpersonaInteractionId,\r\n\t\tcjmId,\r\n\t}),\r\n\tparams: {\r\n\t\tpersonaInteractionId,\r\n\t\tpersonaId,\r\n\t\tstageId\r\n\t},\r\n});\r\n","export const updateState = ({ state, otherState = {} }) => {\r\n\treturn {\r\n\t\t...state,\r\n\t\t...otherState,\r\n\t\tlastModifiedOn: new Date().toISOString(),\r\n\t};\r\n};\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport * as Helpers from \"./helpers\";\r\nimport Cookies from \"js-cookie\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { updateWorkspace } from \"./WorkspaceActions\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\n\r\nconst initialState = {\r\n\tall_workspaces: [],\r\n\tloading: false,\r\n};\r\n\r\nconst WorkspaceReducer = (state = initialState, action) => {\r\n\tconst requestData = action?.meta?.requestAction?.request?.data;\r\n\tconst requestParams = action?.meta?.requestAction?.params;\r\n\tconst responseData = action?.response?.data;\r\n\r\n\tswitch (action.type) {\r\n\t\tcase \"GET_ALL_WORKSPACES\":\r\n\t\t\treturn Helpers.updateState({ state, otherState: { loading: state.all_workspaces.length === 0 } });\r\n\t\tcase error(\"GET_ALL_WORKSPACES\"):\r\n\t\t\treturn Helpers.updateState({ state, otherState: { loading: false } });\r\n\t\tcase success(\"GET_ALL_WORKSPACES\"): {\r\n\t\t\tconst token = Cookies.get(\"Authorization-cemantica\");\r\n\t\t\tlet currentUserId = EMPTY_GUID;\r\n\t\t\tif (token) currentUserId = jwt_decode(token)?.UserId;\r\n\t\t\tconst currentWorkspace = responseData?.find((ws) => ws?.id === currentWorkspaceId);\r\n\t\t\tconst currentWorkspaceRole = currentWorkspace?.authorizedUsers?.find((u) => u?.id === currentUserId && u?.roleId !== EMPTY_GUID)?.roleName;\r\n\t\t\treturn Helpers.updateState({ state, otherState: { all_workspaces: responseData, currentWorkspaceRole, loading: false } });\r\n\t\t}\r\n\t\tcase success(\"GET_WORKSPACE\"): {\r\n\t\t\tconst data = responseData;\r\n\t\t\tconst all_workspaces = state.all_workspaces?.map((workspace) => {\r\n\t\t\t\tif (workspace.id === requestParams?.workspaceId) {\r\n\t\t\t\t\tworkspace = { ...workspace, ...data };\r\n\t\t\t\t}\r\n\t\t\t\treturn workspace;\r\n\t\t\t});\r\n\r\n\t\t\treturn Helpers.updateState({ state, otherState: { all_workspaces: all_workspaces } });\r\n\t\t}\r\n\t\tcase success(\"CREATE_WORKSPACE\"): {\r\n\t\t\tconst isDefault = responseData?.isDefault;\r\n\t\t\tlet workspaces = state.all_workspaces;\r\n\t\t\tif (isDefault) {\r\n\t\t\t\tworkspaces = state.all_workspaces?.map((workspace) => {\r\n\t\t\t\t\tif (workspace?.isDefault) {\r\n\t\t\t\t\t\tworkspace.isDefault = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn workspace;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn Helpers.updateState({ state, otherState: { all_workspaces: [...workspaces, responseData], loading: false } });\r\n\t\t}\r\n\t\tcase success(\"COPY_WORKSPACE\"): {\r\n\t\t\treturn Helpers.updateState({ state, otherState: { all_workspaces: [...state.all_workspaces, responseData], loading: false } });\r\n\t\t}\r\n\t\tcase \"UPDATE_WORKSPACE\": {\r\n\t\t\tconst { modifiedAttribNames, modifiedWorkspace } = action.request.data || {}\r\n\r\n\t\t\tif(modifiedAttribNames.includes('statusCode') || modifiedAttribNames.includes(\"isDefault\")) {\r\n\t\t\t\tconst workspaces = state.all_workspaces?.map((workspace) => {\r\n\t\t\t\t\tif (modifiedAttribNames?.length === 1 && modifiedAttribNames.includes(\"isDefault\")) {\r\n\t\t\t\t\t\tworkspace.isDefault = false;\r\n\t\t\t\t\t\tif (workspace.id === modifiedWorkspace.id) {\r\n\t\t\t\t\t\t\tworkspace.isDefault = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (workspace.id === modifiedWorkspace.id) {\r\n\t\t\t\t\t\tworkspace = {...workspace, statusCode: modifiedWorkspace.statusCode};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn workspace;\r\n\t\t\t\t});\r\n\t\t\t\treturn Helpers.updateState({ state, otherState: { all_workspaces: workspaces } });\r\n\t\t\t}\r\n\t\t\treturn state;\r\n\t\t}\r\n\t\tcase success(\"UPDATE_WORKSPACE\"): {\r\n\t\t\tconst { modifiedAttribNames, modifiedWorkspace } = requestData || {}\r\n\t\t\tconst workspaces = state.all_workspaces?.map((workspace) => {\r\n\t\t\t\tif (modifiedAttribNames?.length === 1 && modifiedAttribNames.includes(\"isDefault\")) {\r\n\t\t\t\t\tworkspace.isDefault = false;\r\n\t\t\t\t\tif (workspace.id === modifiedWorkspace.id) {\r\n\t\t\t\t\t\tworkspace.isDefault = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (workspace.id === modifiedWorkspace.id) {\r\n\t\t\t\t\tworkspace = responseData;\r\n\t\t\t\t}\r\n\t\t\t\treturn workspace;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updateState({ state, otherState: { all_workspaces: workspaces } });\r\n\t\t}\r\n\t\tcase success(\"SHARE_MANY_WORKSPACES\"): {\r\n\t\t\tconst userIds = requestData?.userIds;\r\n\t\t\tconst workspaceIds = requestData?.workspaceIds;\r\n\t\t\tconst authUsers = requestParams.authorizedUsers;\r\n\t\t\tconst updatedWorkspaces = state.all_workspaces?.map((ws) => {\r\n\t\t\t\tuserIds.forEach((userId) => {\r\n\t\t\t\t\tif (workspaceIds?.includes(ws.id)) {\r\n\t\t\t\t\t\tif (!ws.authorizedUsers?.find((au) => au.id === userId)) {\r\n\t\t\t\t\t\t\tconst authUser = authUsers?.find((au) => au.id === userId);\r\n\t\t\t\t\t\t\tws.authorizedUsers.push(authUser);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\treturn ws;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updateState({ state, otherState: { all_workspaces: updatedWorkspaces } });\r\n\t\t}\r\n\r\n\t\tcase \"DELETE_WORKSPACE\": {\r\n\t\t\tconst { workspaceId } = action.request.data\r\n\t\t\tconst updatedWorkspaces = state.all_workspaces?.filter((workspace) => workspace.id !== workspaceId);\r\n\t\t\treturn Helpers.updateState({ state, otherState: { all_workspaces: updatedWorkspaces } });\r\n\t\t}\r\n\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default WorkspaceReducer;\r\n","import { error, success } from \"@redux-requests/core\"\r\nimport Cookies from \"js-cookie\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport axios from 'axios';\r\n\r\nconst initState = () => {\r\n\r\n return {\r\n token: null,\r\n userInfo: null ,//token ? jwt_decode(token) : null,\r\n error:null,\r\n loading: false,\r\n loginStatus: false\r\n }\r\n}\r\nconst initialState = initState()\r\n\r\n\r\nconst AuthReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'AUTHENTICATE':\r\n Cookies.remove('Authorization-cemantica');\r\n\r\n return {\r\n ...state,\r\n token : null,\r\n userInfo: null,\r\n loading:true,\r\n error:null,\r\n\r\n }\r\n case success('AUTHENTICATE'):{\r\n\r\n let expires = new Date()\r\n expires.setTime(expires.getTime() + (86400 * 60 * 1000 * 6))\r\n const token = action.response.data.token\r\n const userInfo = jwt_decode(token)\r\n Cookies.set('Authorization-cemantica', token, { path: '/', expires })\r\n\r\n axios.interceptors.request.use(function (config) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n return config;\r\n });\r\n\r\n return {\r\n ...state,\r\n token: token,\r\n userInfo: token ? userInfo : null,\r\n loading:false,\r\n error: null,\r\n loginStatus: true\r\n }\r\n }\r\n case \"SET_AUTHENTICATED\":\r\n return {\r\n ...state,\r\n token: action.payload,\r\n userInfo: action.payload ? jwt_decode(action.payload) : null,\r\n loginStatus: true\r\n }\r\n case \"UPDATE_LOGIN_STATUS\":\r\n return {\r\n ...state,\r\n loginStatus: false\r\n }\r\n case error('AUTHENTICATE') :\r\n return {\r\n ...state,\r\n loading:false,\r\n error:action?.error?.data\r\n }\r\n case 'LOGOUT':\r\n Cookies.remove('Authorization-cemantica');\r\n return {\r\n ...state,\r\n token: null,\r\n userInfo: {}\r\n };\r\n case \"PURGE\":{\r\n return initState();\r\n }\r\n case success(\"CHANGE_PASSWORD\"):\r\n return {\r\n ...state,\r\n userInfo: {\r\n ...state.userInfo,\r\n MustResetPassword: 'False'\r\n }\r\n }\r\n default:\r\n return state;\r\n }\r\n\r\n\r\n}\r\nexport default AuthReducer;","export const updateInsightState = ({ state, otherState = {} }) => {\r\n\treturn {\r\n\t\t...state,\r\n\t\t...otherState,\r\n\t\tlastModifiedOn: new Date().toISOString(),\r\n\t};\r\n};\r\nexport function fetchArraysAndMerge(array1, array2) {\r\n\tconst map = new Map(); // Add all objects from array1 to the map \r\n\tarray1.forEach(obj => map.set(obj.id, obj)); // Add objects from array2 to the map, duplicates will be overwritten \r\n\tarray2.forEach(obj => map.set(obj.id, obj));\r\n\t// Convert map values back to an array\r\n\tconst mergedArrayUnique = Array.from(map.values());\r\n\treturn mergedArrayUnique;\r\n}\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport { fetchArraysAndMerge } from \"features/insights/reducer/helpers\";\r\nimport { EMPTY_GUID, getCxAttribute } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\n\r\nconst initialState = {\r\n\tall_actions: [],\r\n\tloading: false,\r\n};\r\n\r\nconst ActionReducer = (state = initialState, action) => {\r\n\tconst responseData = action?.response?.data;\r\n\tconst requestParams = action?.meta?.requestAction?.params;\r\n\tswitch (action.type) {\r\n\t\tcase \"GET_ALL_CX_ACTIONS\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: state.all_actions.length === 0,\r\n\t\t\t};\r\n\r\n\t\tcase error(\"GET_ALL_CX_ACTIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"GET_ALL_CX_ACTIONS\"): {\r\n\t\t\tconst { url } = action?.meta?.requestAction?.request;\r\n\t\t\tif (url?.includes(\"redirectReducer\")) return state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: action.response.data || [],\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CX_ACTION\"): {\r\n\t\t\tconst data = responseData;\r\n\t\t\tconst all_actions = state.all_actions?.map((action) => {\r\n\t\t\t\tif (action.id === requestParams?.cxactionId) {\r\n\t\t\t\t\taction = { ...action, ...data };\r\n\t\t\t\t}\r\n\t\t\t\treturn action;\r\n\t\t\t});\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: all_actions,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"CREATE_CX_ACTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: [...state.all_actions, action?.response?.data],\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_CX_ACTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.map((task) => {\r\n\t\t\t\t\tif (task.id === action.meta.requestAction.request.data.modifiedCxAction.id) {\r\n\t\t\t\t\t\ttask = action.response.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn task;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_MULTI_CX_ACTION\"): {\r\n\t\t\tconst modifiedCxActions = action.meta.requestAction.request.data.modifiedCxActions;\r\n\t\t\tconst ids = action.meta.requestAction.request.data.modifiedCxActions?.map((x) => x.id);\r\n\t\t\tconst modifiedAttribNames = action.meta.requestAction.request.data.modifiedAttribNames;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions.map((action) => {\r\n\t\t\t\t\tif (ids.includes(action.id)) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...action,\r\n\t\t\t\t\t\t\t[modifiedAttribNames]: modifiedCxActions?.find((x) => x.id === action?.id)?.[modifiedAttribNames],\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn action;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"COPY_CX_ACTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: [...state.all_actions, action?.response?.data],\r\n\t\t\t};\r\n\t\tcase success(\"ARCHIVE_CX_ACTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state?.all_actions?.map((cxAction) => {\r\n\t\t\t\t\tif (cxAction.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn { ...cxAction, statusCode: StatusCode.Archived };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxAction;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"ARCHIVE_MANY_CX_ACTIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state?.all_actions?.map((cxAction) => {\r\n\t\t\t\t\tif (action.response.data.includes(cxAction.id)) {\r\n\t\t\t\t\t\treturn { ...cxAction, statusCode: StatusCode.Archived };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxAction;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_CX_ACTION\"): {\r\n\t\t\tconst actionId = action.meta.requestAction.request?.data?.id;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state?.all_actions?.map((cxAction) => {\r\n\t\t\t\t\tif (cxAction.id === actionId) {\r\n\t\t\t\t\t\treturn { ...cxAction, statusCode: StatusCode.Trashed };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxAction;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_MANY_CX_ACTIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state?.all_actions?.map((cxAction) => {\r\n\t\t\t\t\tif (action.response.data.includes(cxAction.id)) {\r\n\t\t\t\t\t\treturn { ...cxAction, statusCode: StatusCode.Trashed };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxAction;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_CX_ACTION_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.filter((task) => task.id !== action.meta.requestAction.request.data.id),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_CX_ACTIONS_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.filter((cxAction) => !action.response.data.includes(cxAction.id)),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_CX_ACTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions.map((cxAction) => {\r\n\t\t\t\t\tif (cxAction.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn { ...cxAction, statusCode: StatusCode.Active };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxAction;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_MANY_CX_ACTIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions.map((cxAction) => {\r\n\t\t\t\t\tif (action.response.data.includes(cxAction.id)) {\r\n\t\t\t\t\t\treturn { ...cxAction, statusCode: StatusCode.Active };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxAction;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase \"LINK_TAGS\": {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.map((act) => {\r\n\t\t\t\t\tconst currentTagAttribute = getCxAttribute({ data: act, informationType: InformationType.Tags });\r\n\r\n\t\t\t\t\tif (currentTagAttribute && recordIds.includes(currentTagAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedTagAttribute = {\r\n\t\t\t\t\t\t\t...currentTagAttribute,\r\n\t\t\t\t\t\t\ttags: [...currentTagAttribute.tags, ...tagIds],\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...act,\r\n\t\t\t\t\t\t\tattributes: act.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Tags) att = updatedTagAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn act;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UNLINK_TAGS\": {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.map((act) => {\r\n\t\t\t\t\tconst currentTagAttribute = getCxAttribute({ data: act, informationType: InformationType.Tags });\r\n\r\n\t\t\t\t\tif (currentTagAttribute && recordIds.includes(currentTagAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedTagAttribute = {\r\n\t\t\t\t\t\t\t...currentTagAttribute,\r\n\t\t\t\t\t\t\ttags: currentTagAttribute.tags?.filter((tagId) => !tagIds?.includes(tagId)),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...act,\r\n\t\t\t\t\t\t\tattributes: act.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Tags) att = updatedTagAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn act;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"LINK_GROUPS\": {\r\n\t\t\tconst { groupIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.map((act) => {\r\n\t\t\t\t\tconst currentGroupAttribute = getCxAttribute({ data: act, informationType: InformationType.Group });\r\n\r\n\t\t\t\t\tif (currentGroupAttribute && recordIds.includes(currentGroupAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedGroupAttribute = {\r\n\t\t\t\t\t\t\t...currentGroupAttribute,\r\n\t\t\t\t\t\t\tgroups: [...currentGroupAttribute.groups, ...groupIds],\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...act,\r\n\t\t\t\t\t\t\tattributes: act.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Group) att = updatedGroupAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn act;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UNLINK_GROUPS\": {\r\n\t\t\tconst { groupIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.map((act) => {\r\n\t\t\t\t\tconst currentGroupAttribute = getCxAttribute({ data: act, informationType: InformationType.Group });\r\n\r\n\t\t\t\t\tif (currentGroupAttribute && recordIds.includes(currentGroupAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedGroupAttribute = {\r\n\t\t\t\t\t\t\t...currentGroupAttribute,\r\n\t\t\t\t\t\t\tgroups: currentGroupAttribute.groups?.filter((groupId) => !groupIds?.includes(groupId)),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...act,\r\n\t\t\t\t\t\t\tattributes: act.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Group) att = updatedGroupAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn act;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_CX_ATTRIBUTE\"): {\r\n\t\t\tconst { modifiedCxAttribute } = action.meta.requestAction.request.data;\r\n\t\t\tif (modifiedCxAttribute.cxActionId === EMPTY_GUID) return state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.map((action) => {\r\n\t\t\t\t\tif (action.id === modifiedCxAttribute.cxActionId) {\r\n\t\t\t\t\t\taction.attributes = action.attributes?.map((attr) => {\r\n\t\t\t\t\t\t\tif (attr.id === modifiedCxAttribute.id) {\r\n\t\t\t\t\t\t\t\tattr = responseData;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn attr;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn action;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_USER_MODIFICATION\"): {\r\n\t\t\tconst { objId, objName } = action?.meta?.requestAction?.request?.data || {};\r\n\t\t\tif (objName !== \"cem_cxactiontask\") return state;\r\n\t\t\tconst { userName } = requestParams;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.map((action) => {\r\n\t\t\t\t\tif (action.id === objId) {\r\n\t\t\t\t\t\taction.modifiedBy = userName;\r\n\t\t\t\t\t\taction.lastUpdated = new Date().toISOString();\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn action;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_CX_ATTRIBUTES\": {\r\n\t\t\tconst { modifiedCxAttributes } = action?.request?.data;\r\n\t\t\tconst actionIds = modifiedCxAttributes.map((att) => att?.cxActionId);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.map((action) => {\r\n\t\t\t\t\tif (actionIds?.includes(action?.id)) {\r\n\t\t\t\t\t\tconst modifiedCxAttribute = modifiedCxAttributes.find((att) => att.cxActionId === action?.id);\r\n\t\t\t\t\t\taction.attributes = action.attributes.map((attr) => {\r\n\t\t\t\t\t\t\tif (attr.id === modifiedCxAttribute.id) attr = modifiedCxAttribute;\r\n\t\t\t\t\t\t\treturn attr;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn action;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CJM_CXACTIONS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: fetchArraysAndMerge(state.all_actions, responseData),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"BULK_UNLINK_CXACTION_RECORDS\": {\r\n\t\t\tconst { ids, recIds } = action?.request?.data;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_actions: state.all_actions?.map((action) => {\r\n\t\t\t\t\tif (ids?.includes(action?.id)) {\r\n\t\t\t\t\t\taction.linkedPersonas = action.linkedPersonas?.filter((id) => !recIds?.includes(id));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn action;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default ActionReducer;\r\n","import { success } from \"@redux-requests/core\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport { EMPTY_GUID, decode } from \"@utils/helpers\";\r\n\r\nconst FolderReducer = (state = [], action) => {\r\n const requestData = action.meta?.requestAction?.request?.data;\r\n switch (action.type) {\r\n case success(\"GET_FOLDERS\"):\r\n return (\r\n Object.entries(action.response.data).map((folder) => {\r\n return { ...folder[1], expanded: false };\r\n }) || []\r\n );\r\n\r\n case success(\"UPDATE_FOLDER_NAME\"):\r\n return state.map((folder) => {\r\n if (folder.id === requestData.folderId) {\r\n return {\r\n ...folder,\r\n name: decode(action.meta.requestAction.request.data.newValue),\r\n modifiedOn: new Date().toISOString()\r\n\r\n };\r\n }\r\n return folder;\r\n });\r\n case success(\"DELETE_FOLDER\"):\r\n return state.map((folder) => {\r\n if (folder.id === requestData.folderId) {\r\n return {\r\n ...folder,\r\n statusCode: StatusCode.Trashed\r\n\r\n };\r\n }\r\n return folder;\r\n });\r\n case success(\"ARCHIVE_FOLDER\"):\r\n return state.map((folder) => {\r\n if (folder.id === requestData.folderId) {\r\n return {\r\n ...folder,\r\n statusCode: StatusCode.Archived\r\n };\r\n }\r\n return folder;\r\n });\r\n case success(\"DELETE_FOLDER_PERMANENTLY\"): {\r\n const folderToDelete = state?.find((folder) => folder.id === requestData.folderId);\r\n\r\n let newState = state?.filter((folder) => folder.id !== requestData.folderId);\r\n\r\n if (folderToDelete.parentId !== EMPTY_GUID) {\r\n newState = newState.map((folder) => {\r\n if (folder.id === folderToDelete.parentId) {\r\n return {\r\n ...folder,\r\n linkedFolders: folder.linkedFolders?.filter((id) => id !== requestData.folderId),\r\n };\r\n }\r\n return folder;\r\n });\r\n }\r\n\r\n return newState;\r\n }\r\n\r\n case success(\"RESTORE_FOLDER\"):\r\n return state.map((folder) => {\r\n if (folder.id === requestData.folderId) {\r\n return {\r\n ...folder,\r\n statusCode: StatusCode.Active\r\n\r\n };\r\n }\r\n return folder;\r\n });\r\n\r\n case success(\"CREATE_FOLDER\"): {\r\n const { data } = action.response;\r\n let newState = [...state, data];\r\n\r\n if (data.parentId !== EMPTY_GUID) {\r\n newState = newState.map((folder) => {\r\n if (folder.id === data.parentId) {\r\n return {\r\n ...folder,\r\n linkedFolders: [...folder.linkedFolders, data.id],\r\n };\r\n }\r\n return folder;\r\n });\r\n }\r\n\r\n return newState;\r\n }\r\n\r\n\r\n case \"UPDATE_LINKED_FOLDERS\": {\r\n const { folderIds, idsToLink, idsToUnlink, entityName } = action?.request?.data;\r\n\r\n const newState = state.map(folder => {\r\n if (folderIds.includes(folder.id)) {\r\n // Make a copy of the folder to avoid modifying the original\r\n const updatedFolder = { ...folder };\r\n\r\n switch (entityName) {\r\n case \"cem_customerjourney\":\r\n updatedFolder.linkedCjms = Array.from(new Set([...updatedFolder.linkedCjms, ...idsToLink]));\r\n updatedFolder.linkedCjms = updatedFolder.linkedCjms?.filter(cjm => !idsToUnlink.includes(cjm));\r\n break;\r\n case \"cem_persona\":\r\n updatedFolder.linkedPersonas = Array.from(new Set([...updatedFolder.linkedPersonas, ...idsToLink]));\r\n updatedFolder.linkedPersonas = updatedFolder.linkedPersonas?.filter(cjm => !idsToUnlink.includes(cjm));\r\n break;\r\n\r\n case \"cem_cxopportunity\":\r\n updatedFolder.linkedOpps = Array.from(new Set([...updatedFolder.linkedOpps, ...idsToLink]));\r\n updatedFolder.linkedOpps = updatedFolder.linkedOpps?.filter(cjm => !idsToUnlink.includes(cjm));\r\n break\r\n case \"cem_cxactiontask\":\r\n updatedFolder.linkedActions = Array.from(new Set([...updatedFolder.linkedActions, ...idsToLink]));\r\n updatedFolder.linkedActions = updatedFolder.linkedActions?.filter(cjm => !idsToUnlink.includes(cjm));\r\n break\r\n case \"cem_cxsolution\":\r\n updatedFolder.linkedSols = Array.from(new Set([...updatedFolder.linkedSols, ...idsToLink]));\r\n updatedFolder.linkedSols = updatedFolder.linkedSols?.filter(cjm => !idsToUnlink.includes(cjm));\r\n break\r\n case \"cem_cxprogram\":\r\n updatedFolder.linkedCxPrograms = Array.from(new Set([...updatedFolder.linkedCxPrograms, ...idsToLink]));\r\n updatedFolder.linkedCxPrograms = updatedFolder.linkedCxPrograms?.filter(cjm => !idsToUnlink.includes(cjm));\r\n break\r\n case \"cem_cxproject\":\r\n updatedFolder.linkedProjects = Array.from(new Set([...updatedFolder.linkedProjects, ...idsToLink]));\r\n updatedFolder.linkedProjects = updatedFolder.linkedProjects?.filter(cjm => !idsToUnlink.includes(cjm));\r\n break\r\n case \"cem_folder\":\r\n updatedFolder.linkedFolders = Array.from(new Set([...updatedFolder.linkedFolders, ...idsToLink]));\r\n updatedFolder.linkedFolders = updatedFolder.linkedFolders?.filter(cjm => !idsToUnlink.includes(cjm));\r\n break\r\n case \"cem_insight\":\r\n updatedFolder.linkedInsights = Array.from(new Set([...updatedFolder.linkedInsights, ...idsToLink]));\r\n updatedFolder.linkedInsights = updatedFolder.linkedInsights?.filter(cjm => !idsToUnlink.includes(cjm));\r\n break\r\n }\r\n return updatedFolder;\r\n }\r\n if (idsToLink.includes(folder.id)) {\r\n const updatedFolder = { ...folder };\r\n updatedFolder.parentId = folderIds[0];\r\n return updatedFolder;\r\n }\r\n return folder;\r\n });\r\n return newState;\r\n }\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default FolderReducer;\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport { appendListsAndRemoveDuplicates, decode } from \"@utils/helpers\";\r\nimport * as Helpers from \"./helpers\";\r\n\r\nconst initialState = {\r\n all_insights: [],\r\n loading: false,\r\n};\r\n\r\nconst InsightReducer = (state = initialState, action) => {\r\n const requestData = action?.meta?.requestAction?.request?.data;\r\n const requestParams = action?.meta?.requestAction?.params;\r\n const responseData = action?.response?.data;\r\n\r\n switch (action.type) {\r\n case \"RESET_INSIGHT\": {\r\n return Helpers.updateInsightState({ state, otherState: { loading: false } });\r\n }\r\n case \"GET_ALL_INSIGHTS\":\r\n return Helpers.updateInsightState({ state, otherState: { loading: state.all_insights.length === 0 } });\r\n case error(\"GET_ALL_INSIGHTS\"):\r\n return Helpers.updateInsightState({ state, otherState: { loading: false } });\r\n case success(\"GET_ALL_INSIGHTS_MAP\"):\r\n case success(\"GET_ALL_INSIGHTS\"): {\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: Helpers.fetchArraysAndMerge(state.all_insights, responseData), loading: false } });\r\n }\r\n case success(\"GET_INSIGHT\"): {\r\n const data = responseData;\r\n const all_insights = state.all_insights?.map((insight) => {\r\n if (insight.id === requestParams?.insightId) {\r\n insight = { ...insight, ...data };\r\n }\r\n return insight;\r\n });\r\n\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: all_insights } });\r\n }\r\n case \"CREATE_INSIGHT\": {\r\n const { newInsight } = action.request.data;\r\n const insight = {\r\n ...newInsight,\r\n name: decode(newInsight?.name ?? \"\"),\r\n description: decode(newInsight?.description ?? \"\"),\r\n };\r\n const all_insights = state.all_insights?.map((insight) => insight);\r\n\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: [...all_insights, insight], loading: false } });\r\n }\r\n case success(\"UPDATE_INSIGHT\"): {\r\n const newAllInsights = state.all_insights?.map((insight) => {\r\n if (insight.id === requestData?.modifiedInsight.id) {\r\n insight = responseData;\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: newAllInsights } });\r\n }\r\n case \"LINK_INSIGHT_ON_MAP\": {\r\n const { personaId, insightIds } = action.request.data;\r\n const newAllInsights = state.all_insights?.map((insight) => {\r\n if (insightIds.includes(insight.id) && personaId && !insight?.[\"linkedPersonas\"].includes(personaId)) {\r\n insight = { ...insight, [\"linkedPersonas\"]: insight?.[\"linkedPersonas\"].add(personaId) };\r\n return insight;\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: newAllInsights } });\r\n }\r\n case success(\"LINK_INSIGHT_RECORDS\"): {\r\n const { attribute } = requestParams;\r\n const { insightId, recIds } = requestData;\r\n const newAllInsights = state.all_insights?.map((insight) => {\r\n if (insight.id === insightId && !insight?.[attribute]?.includes(recIds)) {\r\n insight = { ...insight, [attribute]: insight?.[attribute]?.add(...recIds) || recIds };\r\n return insight;\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: newAllInsights } });\r\n }\r\n case success(\"UNLINK_INSIGHT_RECORDS\"): {\r\n const { attribute } = requestParams;\r\n const { insightId, recIds } = requestData;\r\n const newAllInsights = state.all_insights?.map((insight) => {\r\n if (insight.id === insightId) {\r\n insight = { ...insight, [attribute]: insight?.[attribute].remove(recIds) };\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: newAllInsights } });\r\n }\r\n case success(\"BULK_UNLINK_INSIGHT_RECORDS\"): {\r\n const { attribute } = requestParams;\r\n const { insightIds, recIds } = requestData;\r\n const newAllInsights = state.all_insights?.map((insight) => {\r\n if (insightIds?.includes(insight.id)) {\r\n insight = { ...insight, [attribute]: insight?.[attribute].remove(recIds) };\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: newAllInsights } });\r\n }\r\n case success(\"ARCHIVE_INSIGHTS\"): {\r\n const updatedInsight = state.all_insights?.map((insight) => {\r\n if (requestData?.ids.includes(insight.id)) {\r\n return { ...insight, statusCode: 100000000 };\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: updatedInsight } });\r\n }\r\n case success(\"RESTORE_INSIGHTS\"): {\r\n const updatedInsight = state.all_insights?.map((insight) => {\r\n if (requestData?.ids.includes(insight.id)) {\r\n return { ...insight, statusCode: 1 };\r\n }\r\n return insight;\r\n });\r\n\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: updatedInsight } });\r\n }\r\n case success(\"DELETE_INSIGHTS\"): {\r\n const updatedInsight = state.all_insights?.map((insight) => {\r\n if (requestData?.ids.includes(insight.id)) {\r\n return { ...insight, statusCode: 2 };\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: updatedInsight } });\r\n }\r\n case success(\"DELETE_INSIGHTS_PERMANENT\"): {\r\n const updatedInsight = state.all_insights?.filter((insight) => !requestData.ids.includes(insight.id));\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: updatedInsight } });\r\n }\r\n case success(\"LINK_TAGS\"): {\r\n const { tagIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n if (recordType !== \"cem_insight\") return state;\r\n const updatedInsight = state.all_insights?.map((insight) => {\r\n if (recordIds.includes(insight.id)) {\r\n return { ...insight, tags: [...appendListsAndRemoveDuplicates(insight.tags, tagIds)] };\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: updatedInsight } });\r\n }\r\n case success(\"UNLINK_TAGS\"): {\r\n const { tagIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n if (recordType !== \"cem_insight\") return state;\r\n const updatedInsight = state.all_insights?.map((insight) => {\r\n if (recordIds.includes(insight.id)) {\r\n return { ...insight, tags: insight.tags?.filter((tagId) => !tagIds.includes(tagId)) };\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: updatedInsight } });\r\n }\r\n case success(\"LINK_GROUPS\"): {\r\n const { groupIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n if (recordType !== \"cem_insight\") return state;\r\n const updatedInsight = state.all_insights?.map((insight) => {\r\n if (recordIds.includes(insight.id)) {\r\n return { ...insight, groups: [...appendListsAndRemoveDuplicates(insight.groups, groupIds)] };\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: updatedInsight } });\r\n }\r\n case success(\"UNLINK_GROUPS\"): {\r\n const { groupIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n if (recordType !== \"cem_insight\") return state;\r\n const updatedInsight = state.all_insights?.map((insight) => {\r\n if (recordIds.includes(insight.id)) {\r\n return { ...insight, groups: insight.groups.filter((groupId) => !groupIds.includes(groupId)) };\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: updatedInsight } });\r\n }\r\n case success(\"UPDATE_MULTI_INSIGHT\"): {\r\n const { modifiedInsights, modifiedAttribNames } = requestData;\r\n\r\n const newAllInsights = state.all_insights?.map((insight) => {\r\n if (modifiedInsights?.map((insight) => insight.id).includes(insight.id)) {\r\n return {\r\n ...insight,\r\n [modifiedAttribNames]: modifiedInsights?.find((x) => x.id === insight?.id)?.[modifiedAttribNames],\r\n };\r\n }\r\n return insight;\r\n });\r\n return Helpers.updateInsightState({ state, otherState: { all_insights: newAllInsights } });\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\nexport default InsightReducer;\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport {\r\n\tEMPTY_GUID,\r\n\tInteractionArrayValidations,\r\n\tappendListsAndRemoveDuplicates,\r\n\tcreateDefaultPersonaInteraction,\r\n\tdecode,\r\n\tfirstLetterUppercase,\r\n\thasAttribute,\r\n\tisNullOrUndefined,\r\n\treorder,\r\n\ttoastWrapper,\r\n} from \"utils/helpers\";\r\nimport { InformationType, StatusCode, TemplateStatus } from \"utils/optionsSets/OptionSets\";\r\nimport { t } from \"i18next\";\r\nimport Cookies from \"js-cookie\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { toast } from \"react-toastify\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport * as Helpers from \"./helpers\";\r\n\r\nconst initialState = {\r\n\tcurrent_map: {},\r\n\tall_maps: [],\r\n\tcurrent_linked_users: [],\r\n\tloading: false,\r\n\tconnection: false,\r\n};\r\n\r\nconst CJMReducer = (state = initialState, action) => {\r\n\tconst requestData = action?.meta?.requestAction?.request?.data;\r\n\tconst responseData = action?.response?.data;\r\n\tconst requestParams = action?.meta?.requestAction?.params;\r\n\r\n\tswitch (action.type) {\r\n\t\tcase success(\"GET_MAPS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: responseData || [],\r\n\t\t\t};\r\n\t\tcase \"GET_ALL_MAPS_LIST_DATA\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: state.all_maps.length === 0,\r\n\t\t\t};\r\n\r\n\t\tcase error(\"GET_ALL_MAPS_LIST_DATA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"GET_ALL_MAPS_LIST_DATA\"): {\r\n\t\t\tconst { url } = action?.meta?.requestAction?.request;\r\n\t\t\tif (url.includes(\"redirectReducer\")) return state;\r\n\t\t\tconst aiIsDeletingId = localStorage.getItem(\"ai-delete\");\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: responseData.filter((d) => d.cjmId !== aiIsDeletingId) || {},\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_CJM\": {\r\n\t\t\tconst { cjmIdStr } = action.request.data || {};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (map.cjmId === cjmIdStr) {\r\n\t\t\t\t\t\treturn { ...map, statusCode: StatusCode.Trashed };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ARCHIVE_CJM\": {\r\n\t\t\tconst { cjmIdStr } = action.request.data || {};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (map.cjmId === cjmIdStr) {\r\n\t\t\t\t\t\treturn { ...map, statusCode: StatusCode.Archived };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"RESTORE_CJM\": {\r\n\t\t\tconst { cjmIdStr } = action.request.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (map.cjmId === cjmIdStr) {\r\n\t\t\t\t\t\treturn { ...map, statusCode: StatusCode.Active };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_PERMANENTLY_MAP\": {\r\n\t\t\tconst { cjmIdStr } = action.request.data || {};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps.filter((map) => map.cjmId !== cjmIdStr),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_PERMANENTLY_MAP\"): {\r\n\t\t\tlocalStorage.removeItem(\"ai-delete\");\r\n\t\t\treturn state;\r\n\t\t}\r\n\t\tcase success(\"COPY_MAP\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: [...state.all_maps, responseData],\r\n\t\t\t};\r\n\t\tcase success(\"CREATE_CJM\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: [...state.all_maps, responseData],\r\n\t\t\t\tlastJourneyMapCreated: responseData.cjmId,\r\n\t\t\t};\r\n\r\n\t\tcase \"GET_CURRENT_MAP\":\r\n\t\t\treturn { ...state, loading: true };\r\n\t\tcase error(\"GET_CURRENT_MAP\"):\r\n\t\t\treturn { ...state, loading: false };\r\n\t\tcase success(\"GET_CURRENT_MAP\"): {\r\n\t\t\tconst data = responseData;\r\n\r\n\t\t\t// Exit early if data is not valid\r\n\t\t\tif (!data) return state;\r\n\r\n\t\t\t// Extract from action\r\n\t\t\tconst { personaIdStr } = action.meta.requestAction.params;\r\n\r\n\t\t\t// Default persona object\r\n\t\t\tconst defaultPersonaObject = { [personaIdStr]: {} };\r\n\r\n\r\n\t\t\t// Phases and stages extraction and sorting\r\n\t\t\tconst phases = Helpers.extractAndSortData(data.cjmPhasesData);\r\n\t\t\tconst stages = Helpers.extractAndSortData(data.cjmStagesData);\r\n\r\n\t\t\t// Data updates\r\n\t\t\tdata.cjmPersonasData = Object.entries(data.cjmPersonasData).map(([, persona]) => persona);\r\n\t\t\tdata.cjmPhasesData = phases;\r\n\t\t\tdata.cjmStagesData = phases.map((phase) => stages.filter((stage) => stage.phase.id == phase.id)).flat();\r\n\t\t\tdata.cjmStagesCustomerExperienceData =\r\n\t\t\t\tdata.cjmStagesCustomerExperienceData === null || !data.cjmStagesCustomerExperienceData[personaIdStr] ? defaultPersonaObject : data.cjmStagesCustomerExperienceData;\r\n\r\n\t\t\tdata.cjmSwimLanes = Helpers.extractAndSortData(data.cjmSwimLanes)?.map((swimLane) => {\r\n\t\t\t\tswimLane.sentimentsConfig = JSON.parse(swimLane.sentimentsConfig);\r\n\t\t\t\tif (requestParams.exportingPdf) {\r\n\t\t\t\t\tswimLane.expandedCard = true;\r\n\t\t\t\t}\r\n\t\t\t\treturn swimLane;\r\n\t\t\t});\r\n\t\t\tconst StageIndex = data.cjmSwimLanes.findIndex((stage) => stage.id === \"StageHeaders\");\r\n\t\t\tdata.cjmSwimLanes = reorder(data.cjmSwimLanes, StageIndex, data.cjmSwimLanes.length - 1);\r\n\t\t\tconst PhaseIndex = data.cjmSwimLanes.findIndex((stage) => stage.id === \"PhaseHeaders\");\r\n\t\t\tdata.cjmSwimLanes = reorder(data.cjmSwimLanes, PhaseIndex, data.cjmSwimLanes.length - 1);\r\n\r\n\t\t\tdata.cjmUsersData = Object.entries(data.cjmUsersData).map(([, user]) => user);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\r\n\t\t\t\tcurrent_map: { ...state.current_map, ...data },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"NO_ACCESS_map\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tnoAccess: true,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\tcase \"RESET_CURRENT_MAP\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {},\r\n\t\t\t};\r\n\t\tcase \"ORDER_SWIMLANES\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: { ...state.current_map, cjmSwimLanes: action.payload },\r\n\t\t\t};\r\n\t\tcase \"ORDER_STAGES\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData: state.current_map?.cjmPhasesData?.filter((phase) => action.payload.newStagesOrder.find((stage) => stage.phase.id === phase.id) !== undefined),\r\n\t\t\t\t\tcjmStagesData: action.payload.newStagesOrder,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ORDER_PHASES\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData: reorder(state.current_map.cjmPhasesData, action.payload.source, action.payload.destination),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"REORDER_PHASE_DB\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_SWIMLANES_DESCRIPTION\"): {\r\n\t\t\tconst {\r\n\t\t\t\tcurrent_map: { cjmSwimLaneDetails = {} },\r\n\t\t\t} = state;\r\n\t\t\tconst { customSwimLaneIdStr, stageIdStr: stageIdStr_descriptions, description: descriptions } = requestData;\r\n\t\t\tconst currentSwimlane = cjmSwimLaneDetails[customSwimLaneIdStr] || {};\r\n\t\t\tconst currentStage = currentSwimlane[stageIdStr_descriptions] || {\r\n\t\t\t\tid: uuidv4(),\r\n\t\t\t\tswimLaneId: customSwimLaneIdStr,\r\n\t\t\t\tstageId: stageIdStr_descriptions,\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ticons: [],\r\n\t\t\t\timage64: \"\",\r\n\t\t\t\timageType: \"\",\r\n\t\t\t\tdiscussionIds: [],\r\n\t\t\t};\r\n\r\n\t\t\tconst updatedStage = { ...currentStage, description: decode(descriptions) };\r\n\t\t\tconst updatedSwimlane = { ...currentSwimlane, [stageIdStr_descriptions]: updatedStage };\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t\t...cjmSwimLaneDetails,\r\n\t\t\t\t\t\t[customSwimLaneIdStr]: updatedSwimlane,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"UPDATE_SWIMLANES_ICONS\": {\r\n\t\t\tconst {\r\n\t\t\t\tcurrent_map: { cjmSwimLaneDetails },\r\n\t\t\t} = state;\r\n\t\t\tconst {\r\n\t\t\t\tpayload: { key: swimLaneKey, stageId: swimLaneStageId, newIcon },\r\n\t\t\t} = action;\r\n\t\t\tconst newObject = {\r\n\t\t\t\tid: uuidv4(),\r\n\t\t\t\tswimLaneId: swimLaneKey,\r\n\t\t\t\tstageId: swimLaneStageId,\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ticons: [newIcon],\r\n\t\t\t\timage64: \"\",\r\n\t\t\t\timageType: \"\",\r\n\t\t\t};\r\n\r\n\t\t\tconst currentSwimlane = cjmSwimLaneDetails[swimLaneKey] || {};\r\n\t\t\tconst currentStage = currentSwimlane[swimLaneStageId] || {};\r\n\r\n\t\t\t// Update the icons list if it exists; otherwise, create a new one\r\n\t\t\tconst updatedIcons = currentStage.icons ? [...currentStage.icons, newIcon] : [newIcon];\r\n\r\n\t\t\t// Update the stage\r\n\t\t\tconst updatedStage = { ...currentStage, icons: updatedIcons };\r\n\r\n\t\t\t// If the current swimlane already has this stage, update it; otherwise, use newObject\r\n\t\t\tconst updatedSwimlane = { ...currentSwimlane, [swimLaneStageId]: currentStage.icons ? updatedStage : newObject };\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t\t...cjmSwimLaneDetails,\r\n\t\t\t\t\t\t[swimLaneKey]: updatedSwimlane,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"UPDATE_ICON_SIMPLE_INTERACTION\": {\r\n\t\t\tconst { personaIdStr, stageId, newIcon: iconId, attribute } = action.payload;\r\n\t\t\tconst { cjmStagesCustomerExperienceData: stageCustomerExp = {} } = state.current_map;\r\n\t\t\tconst updatedData = Helpers.updateCustomerExperienceData(stageCustomerExp, personaIdStr, stageId, attribute, iconId);\r\n\t\t\treturn Helpers.updatedState(state, \"cjmStagesCustomerExperienceData\", updatedData);\r\n\t\t}\r\n\r\n\t\tcase \"DELETE_ICON_SIMPLE_INTERACTION\": {\r\n\t\t\tconst { personaIdStr, stageId, Icon: iconId, attribute } = action.payload;\r\n\t\t\tconst { cjmStagesCustomerExperienceData: stageCustomerExp = {} } = state.current_map;\r\n\t\t\tconst updatedData = Helpers.deleteIconFromExperienceData(stageCustomerExp, personaIdStr, stageId, attribute, iconId);\r\n\t\t\treturn Helpers.updatedState(state, \"cjmStagesCustomerExperienceData\", updatedData);\r\n\t\t}\r\n\r\n\t\tcase \"UPDATE_ADVANCED_INTERACTION_ICON\":\r\n\t\tcase \"DELETE_ADVANCED_INTERACTION_ICON\": {\r\n\t\t\tconst { personaId, stageId, cardId, attribute, value: iconId } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...(state.current_map.cjmInteractions[personaId] ?? {}), // Ensure personaId exists\r\n\t\t\t\t\t\t\t[stageId]: state.current_map.cjmInteractions[personaId]?.[stageId]\r\n\t\t\t\t\t\t\t\t? state.current_map.cjmInteractions[personaId][stageId].map((interaction) => {\r\n\t\t\t\t\t\t\t\t\tif (interaction.id == cardId) {\r\n\t\t\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t\t\t...interaction, // Ensure immutability\r\n\t\t\t\t\t\t\t\t\t\t\t[attribute]:\r\n\t\t\t\t\t\t\t\t\t\t\t\taction.type === \"UPDATE_ADVANCED_INTERACTION_ICON\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? [...(interaction[attribute] ?? []), iconId] // Ensure `attribute` exists as an array\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: interaction[attribute]?.filter((i) => i != iconId) ?? [], // Prevent errors if `attribute` is undefined\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn interaction;\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t: [], // Initialize as an empty array if stageId does not exist\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_SWIMLANES_ICONS\": {\r\n\t\t\tconst { key, stageId, iconToDelete } = action.payload;\r\n\t\t\tconst { cjmSwimLaneDetails = {} } = state.current_map;\r\n\t\t\tconst updatedData = Helpers.deleteIconFromSwimLaneDetails(cjmSwimLaneDetails, key, stageId, iconToDelete);\r\n\t\t\treturn Helpers.updatedState(state, \"cjmSwimLaneDetails\", updatedData);\r\n\t\t}\r\n\r\n\t\tcase \"UPDATE_STAGE_ATTRIBUTE\": {\r\n\t\t\tconst stageIdSTR = action.payload.stageId;\r\n\t\t\tconst VALUE_STG = action.payload.value;\r\n\t\t\tconst attributeSTG = action.payload.attribute;\r\n\t\t\tconst stagesData = state.current_map.cjmStagesData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: stagesData.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === stageIdSTR) {\r\n\t\t\t\t\t\t\treturn { ...stage, [attributeSTG]: [...(stage[attributeSTG] || []), VALUE_STG] };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_PHASE_ICONS\": {\r\n\t\t\tconst phaseId = action.payload.phaseId;\r\n\t\t\tconst iconId = action.payload.iconId;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData: state.current_map.cjmPhasesData.map((phase) => {\r\n\t\t\t\t\t\tif (phase.id === phaseId) {\r\n\t\t\t\t\t\t\treturn { ...phase, nameIcons: [...(phase.nameIcons || []), iconId] };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn phase;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_PHASE_ICONS\": {\r\n\t\t\tconst phaseId = action.payload.phaseId;\r\n\t\t\tconst iconId = action.payload.iconId;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData: state.current_map.cjmPhasesData.map((phase) => {\r\n\t\t\t\t\t\tif (phase.id === phaseId) {\r\n\t\t\t\t\t\t\treturn { ...phase, nameIcons: phase.nameIcons.filter((i) => i !== iconId) };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn phase;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_STAGE_ATTRIBUTE\": {\r\n\t\t\tconst stageIdSTR_DELETE = action.payload.stageId;\r\n\t\t\tconst VALUE_STG_DELETE = action.payload.value;\r\n\t\t\tconst attributeSTG_DELETE = action.payload.attribute;\r\n\t\t\tconst stagesData_DELETE = state.current_map.cjmStagesData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: stagesData_DELETE.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === stageIdSTR_DELETE) {\r\n\t\t\t\t\t\t\treturn { ...stage, [attributeSTG_DELETE]: stage[attributeSTG_DELETE]?.filter((icon) => icon !== VALUE_STG_DELETE) };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"LINK_SWIMLANES_ICONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: { ...state.current_map, lastModifiedOn: new Date().toISOString() },\r\n\t\t\t};\r\n\t\tcase success(\"UNLINK_SWIMLANES_ICONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: { ...state.current_map, lastModifiedOn: new Date().toISOString() },\r\n\t\t\t};\r\n\t\tcase \"UPDATE_PHASE_ID_IN_STAGE\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: state.current_map.cjmStagesData.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === action.payload.stageId) {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...stage,\r\n\t\t\t\t\t\t\t\tphase: state.current_map.cjmPhasesData?.find((phase) => phase.id === action.payload.phaseId),\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"FILTER_PHASE_WITH_NO_STAGE\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData: state.current_map?.cjmPhasesData?.filter((phase) => state.current_map.cjmStagesData?.find((stage) => stage.phase.id === phase.id) !== undefined),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"REMOVE_STAGE\": {\r\n\t\t\tconst { stageIdStr } = action.request.data\r\n\t\t\tconst stgIndexToDelete = state.current_map.cjmStagesData.findIndex((stage) => stage.id === stageIdStr);\r\n\t\t\tconst newStagesAfterDelete = state.current_map.cjmStagesData.filter((stage) => stage.id !== stageIdStr);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData: state.current_map?.cjmPhasesData?.filter((phase) => newStagesAfterDelete?.find((stage) => stage.phase.id === phase.id) !== undefined),\r\n\t\t\t\t\tcjmStagesData: newStagesAfterDelete,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ADD_STAGE_AND_PHASE_DB\"): {\r\n\t\t\tconst newStageId = responseData.split(\"|\")[0];\r\n\t\t\tconst newPhaseId = responseData.split(\"|\")[1];\r\n\t\t\tconst phaseIdFrom = action.meta.requestAction.params.phaseIdFrom;\r\n\t\t\tconst colorCodePhase = state.current_map.cjmPhasesData.find((phase) => phase.id === phaseIdFrom)?.colorCode;\r\n\t\t\tconst phaseIdFromIndex = state.current_map.cjmPhasesData.findIndex((phase) => phase.id === phaseIdFrom);\r\n\t\t\tconst colorCodeStages = state.current_map.cjmStagesData.filter((stage) => stage.phase.id === phaseIdFrom)?.pop()?.colorCode;\r\n\r\n\t\t\tconst newPhaseCreated = {\r\n\t\t\t\tid: newPhaseId,\r\n\t\t\t\tname: \"\",\r\n\t\t\t\trelatedStageIds: [],\r\n\t\t\t\torder: state.current_map.cjmPhasesData.length + 1,\r\n\t\t\t\twidth: -1,\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\tlinkedCjms: [],\r\n\t\t\t\tcolorCode: colorCodePhase,\r\n\t\t\t};\r\n\t\t\tconst newStageCreated = {\r\n\t\t\t\tid: newStageId,\r\n\t\t\t\tname: \"\",\r\n\t\t\t\tphase: newPhaseCreated,\r\n\t\t\t\torder: state.current_map.cjmStagesData.length + 1,\r\n\t\t\t\tlinkedCjms: [],\r\n\t\t\t\twidth: -1,\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\tconclusions: \"\",\r\n\t\t\t\timage64: \"\",\r\n\t\t\t\tcomments: [],\r\n\t\t\t\tcolorCode: colorCodeStages,\r\n\t\t\t};\r\n\t\t\tconst allPhases = [...state.current_map.cjmPhasesData, newPhaseCreated];\r\n\t\t\tconst newCjmPhases = phaseIdFrom === undefined ? allPhases : reorder(allPhases, state.current_map.cjmPhasesData.length, phaseIdFromIndex + 1);\r\n\t\t\tconst newStagesPhaseAdded = newCjmPhases\r\n\t\t\t\t.map((phase) => {\r\n\t\t\t\t\treturn [...state.current_map.cjmStagesData, newStageCreated].filter((stage) => stage.phase.id === phase.id);\r\n\t\t\t\t})\r\n\t\t\t\t.flat();\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: newStagesPhaseAdded,\r\n\t\t\t\t\tcjmPhasesData: newCjmPhases,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_STAGE_WIDTH\": {\r\n\t\t\tconst { stageIdStr, newValue } = action.request.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: state.current_map.cjmStagesData.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === stageIdStr) {\r\n\t\t\t\t\t\t\treturn { ...stage, width: newValue };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_ORDER_STAGE_DB\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_SWIMLANES_ORDER_DB\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"SHARE_USERS_SINGLE_MAP\"): {\r\n\t\t\tconst linkedUsers1 = Object.entries(responseData)?.map((user) => user[1]) || [];\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((x) => {\r\n\t\t\t\t\tif (x.cjmId === requestData.cjmIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...x,\r\n\t\t\t\t\t\t\tauthorizedUsers: linkedUsers1,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn x;\r\n\t\t\t\t}),\r\n\r\n\t\t\t\tcurrent_linked_users: linkedUsers1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"SHARE_USERS_MANY_MAP\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((x) => {\r\n\t\t\t\t\tconst getMapFromResponse = responseData?.find((y) => y.cjmId === x.cjmId);\r\n\t\t\t\t\tif (getMapFromResponse) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...getMapFromResponse,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn x;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_SHARE_CJM_DB\"): {\r\n\t\t\t//current_linked_users\r\n\r\n\t\t\tconst userId = state.current_linked_users.find((user) => user.id === requestData.userId);\r\n\t\t\tconst teamId = state.current_linked_users.find((user) => user.id === requestData.teamId);\r\n\t\t\tconst roleName = requestData.roleDetails.split(\"_\")[0];\r\n\t\t\tconst roleId = requestData.roleDetails.split(\"_\")[1];\r\n\t\t\tconst fullName = action.meta.requestAction.request.param.fullName;\r\n\r\n\t\t\tconst newLinkUsers =\r\n\t\t\t\tuserId === undefined && teamId === undefined\r\n\t\t\t\t\t? [...state.current_linked_users, { id: userId, roleName, roleId, fullName }]\r\n\t\t\t\t\t: state.current_linked_users.map((user) => (user.id === userId || user.id === teamId ? { ...user, roleName, roleId } : user));\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_linked_users: newLinkUsers,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_UNSHARE_CJM_DB\"): {\r\n\t\t\tconst userIdOrTeamId = requestData.userId || requestData.teamId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((x) => {\r\n\t\t\t\t\tif (x.cjmId === requestData.cjmIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...x,\r\n\t\t\t\t\t\t\tauthorizedUsers: x.authorizedUsers.filter((user) => user.id !== userIdOrTeamId),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn x;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: state.current_linked_users.filter((user) => user.id !== userIdOrTeamId),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_PHASE_NAME\": {\r\n\t\t\tconst { phaseIdStr, newValue } = action.request.data;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData: state.current_map.cjmPhasesData?.map((phase) => {\r\n\t\t\t\t\t\tif (phase.id === phaseIdStr) {\r\n\t\t\t\t\t\t\treturn { ...phase, name: decode(newValue) };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn phase;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_PHASE\": {\r\n\t\t\tconst { phaseIdStr } = action.request.data;\r\n\t\t\tconst newPhases = state.current_map?.cjmPhasesData?.filter((phase) => phase.id !== phaseIdStr);\r\n\t\t\tconst newStagesData = state.current_map?.cjmStagesData?.filter((stage) => stage.phase.id !== phaseIdStr);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData: newPhases,\r\n\t\t\t\t\tcjmStagesData: newStagesData,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_STAGE_NAME\": {\r\n\t\t\tconst { stageIdStr, newValue, cjmIdStr } = action.request.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: state.current_map.cjmStagesData.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === stageIdStr) {\r\n\t\t\t\t\t\t\treturn { ...stage, name: decode(newValue) };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t\tall_maps: state.all_maps.map((cjm) => {\r\n\t\t\t\t\tif (cjm.cjmId === cjmIdStr) {\r\n\t\t\t\t\t\tconst stages = cjm.stages.map((stage) => {\r\n\t\t\t\t\t\t\tif (stage.id === stageIdStr) {\r\n\t\t\t\t\t\t\t\treturn { ...stage, name: decode(newValue) };\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tcjm = { ...cjm, stages: stages };\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn cjm;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ADD_STAGE_FROM_PHASE\"): {\r\n\t\t\tconst newStageIdFromPhase = responseData;\r\n\t\t\tconst stageIdFrom = action.meta.requestAction.params.stageIdFrom;\r\n\t\t\tconst colorCode = state.current_map.cjmStagesData.find((stage) => stage.id === stageIdFrom).colorCode;\r\n\t\t\tconst destIndex = state.current_map.cjmStagesData.findIndex((stage) => stage.id === stageIdFrom) + 1;\r\n\r\n\t\t\tconst newStages = [\r\n\t\t\t\t...state.current_map.cjmStagesData,\r\n\t\t\t\t{\r\n\t\t\t\t\tid: newStageIdFromPhase,\r\n\t\t\t\t\tname: \"\",\r\n\t\t\t\t\tphase: { id: requestData.phaseIdStr },\r\n\t\t\t\t\torder: +1,\r\n\t\t\t\t\tlinkedCjms: [],\r\n\t\t\t\t\twidth: -1,\r\n\t\t\t\t\tdescription: \"\",\r\n\t\t\t\t\tconclusions: \"\",\r\n\t\t\t\t\timage64: \"\",\r\n\t\t\t\t\tglobalInsightsIcon: [],\r\n\t\t\t\t\tdescriptionIcons: [],\r\n\t\t\t\t\ttargetEmotionLevel: 0,\r\n\t\t\t\t\ttiming: \"\",\r\n\t\t\t\t\tkpIs: \"\",\r\n\t\t\t\t\tissues: \"\",\r\n\t\t\t\t\tprocesses: \"\",\r\n\t\t\t\t\tkpIsIcons: [],\r\n\t\t\t\t\tissuesIcons: [],\r\n\t\t\t\t\tprocessesIcons: [],\r\n\t\t\t\t\tcomments: [],\r\n\t\t\t\t\tcolorCode: colorCode,\r\n\t\t\t\t},\r\n\t\t\t];\r\n\t\t\tconst newStagesOrder = reorder(newStages, newStages.length - 1, destIndex);\r\n\t\t\tconst newStagesOrdered = state.current_map.cjmPhasesData\r\n\t\t\t\t.map((phase) => {\r\n\t\t\t\t\treturn newStagesOrder.filter((stage) => stage.phase.id === phase.id);\r\n\t\t\t\t})\r\n\t\t\t\t.flat();\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: newStagesOrdered,\r\n\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"COPY_STAGE\"): {\r\n\t\t\tconst { stageIdOld, stageIdNew, personaIdStr: personaIdSTR_COPY } = requestData;\r\n\t\t\tconst data_copy = { ...responseData };\r\n\r\n\t\t\tconst updatedCopy = Helpers.updateCopyData(data_copy, personaIdSTR_COPY);\r\n\t\t\tconst updatedChart = Helpers.updateChart(state.current_map?.chart, stageIdOld, stageIdNew);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\t...updatedCopy,\r\n\t\t\t\t\tchart: updatedChart,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_SWIMLANES_PROPERTIES\": {\r\n\t\t\tconst { modifiedAttribNames, modifiedSwimLane } = action.request.data;\r\n\r\n\t\t\tconst updatedcjmSwimLanes = state.current_map.cjmSwimLanes.map((swimLane) => {\r\n\t\t\t\tif (swimLane.key !== modifiedSwimLane.key) {\r\n\t\t\t\t\treturn swimLane;\r\n\t\t\t\t}\r\n\t\t\t\tlet isChanged = false;\r\n\t\t\t\tlet updatedSwimLane = { ...swimLane };\r\n\t\t\t\tmodifiedAttribNames.forEach((attr) => {\r\n\t\t\t\t\tswitch (attr) {\r\n\t\t\t\t\t\tcase \"sentimentsconfig\": {\r\n\t\t\t\t\t\t\tconst { sentimentsConfig } = modifiedSwimLane;\r\n\t\t\t\t\t\t\tif (swimLane.sentimentsConfig !== sentimentsConfig) {\r\n\t\t\t\t\t\t\t\tupdatedSwimLane.sentimentsConfig = { ...updatedSwimLane.sentimentsConfig, ...JSON.parse(sentimentsConfig) };\r\n\t\t\t\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// Add other cases for different attributes here, setting isChanged to true if there's a change\r\n\t\t\t\t\t\t// ...\r\n\t\t\t\t\t\tcase \"showhidedescription\":\r\n\t\t\t\t\t\t\tupdatedSwimLane.showHideDescription = !updatedSwimLane.showHideDescription;\r\n\t\t\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"name\":\r\n\t\t\t\t\t\t\tupdatedSwimLane.name = decode(modifiedSwimLane.name);\r\n\t\t\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"description\":\r\n\t\t\t\t\t\t\tupdatedSwimLane.description = decode(modifiedSwimLane.description);\r\n\t\t\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"dividerlineheight\":\r\n\t\t\t\t\t\t\tupdatedSwimLane.dividerLineHeight = modifiedSwimLane.dividerLineHeight;\r\n\t\t\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"dividerpattern\":\r\n\t\t\t\t\t\t\tupdatedSwimLane.dividerPattern = modifiedSwimLane.dividerPattern;\r\n\t\t\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"colorcode\":\r\n\t\t\t\t\t\t\tupdatedSwimLane.colorCode = modifiedSwimLane.colorCode;\r\n\t\t\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"expanded\":\r\n\t\t\t\t\t\t\tupdatedSwimLane.expanded = modifiedSwimLane.expanded;\r\n\t\t\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"expandedcard\":\r\n\t\t\t\t\t\t\tupdatedSwimLane.expandedCard = modifiedSwimLane.expandedCard;\r\n\t\t\t\t\t\t\tisChanged = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn isChanged ? updatedSwimLane : swimLane; // Only return a new object if there was a change\r\n\t\t\t});\r\n\r\n\t\t\treturn Helpers.updatedState(state, \"cjmSwimLanes\", updatedcjmSwimLanes);\r\n\t\t}\r\n\r\n\t\tcase success(\"UPDATE_SWIMLANES_PROPERTIES\"):\r\n\t\t\treturn state;\r\n\r\n\t\tcase success(\"ADD_MULTI_SWIMLANES\"): {\r\n\t\t\tconst { current_map: newCurrentMap } = state;\r\n\r\n\t\t\tconst personaId = action.meta.requestAction.params.personaIdStr;\r\n\t\t\tconst {\r\n\t\t\t\tText,\r\n\t\t\t\tImage,\r\n\t\t\t\tListItems,\r\n\t\t\t\tKPIs,\r\n\t\t\t\tTiming,\r\n\t\t\t\tSystems,\r\n\t\t\t\tDepartments,\r\n\t\t\t\tFeelings,\r\n\t\t\t\tAdvancedInteractions,\r\n\t\t\t\tInsights,\r\n\t\t\t\tTouchpoints,\r\n\t\t\t\tActionsList,\r\n\t\t\t\tOpportunity,\r\n\t\t\t\tCustomLibrary,\r\n\t\t\t\tSolution,\r\n\t\t\t\tCustomerFeedback,\r\n\t\t\t\tProject,\r\n\t\t\t} = InformationType;\r\n\t\t\tconst swimlaneDetailsTypes = [CustomLibrary, Systems, Departments, Text, Image, ListItems, KPIs, Opportunity, Solution, ActionsList, Insights, Project];\r\n\t\t\tresponseData.forEach((response, index) => {\r\n\t\t\t\tconst sentimentsConfig = !isNullOrUndefined(response.swimLaneObj?.sentimentsConfig) && JSON.parse(response.swimLaneObj?.sentimentsConfig);\r\n\t\t\t\tconst swimLaneObj = { ...response.swimLaneObj, sentimentsConfig: sentimentsConfig };\r\n\t\t\t\tconst type = swimLaneObj.type;\r\n\t\t\t\tconst swimLaneInitValues = response?.swimLaneInitValues;\r\n\r\n\t\t\t\tconst errorCode = response?.errorCode;\r\n\t\t\t\tif (errorCode !== 0 && errorCode !== undefined) return state;\r\n\r\n\t\t\t\tnewCurrentMap.cjmSwimLanes = [...newCurrentMap.cjmSwimLanes, swimLaneObj];\r\n\t\t\t\tif (swimlaneDetailsTypes.includes(type)) newCurrentMap.cjmSwimLaneDetails = { ...newCurrentMap.cjmSwimLaneDetails, [swimLaneObj.key]: {} };\r\n\t\t\t\t//let cjmStages = [...state.current_map?.cjmStagesData];\r\n\r\n\t\t\t\tif (swimLaneInitValues !== null) {\r\n\t\t\t\t\tif (type === CustomerFeedback) newCurrentMap.cjmCustomerFeedback = swimLaneInitValues;\r\n\t\t\t\t\tif (type === KPIs) newCurrentMap.cjmCxGoals = swimLaneInitValues;\r\n\t\t\t\t\tif (type === Timing) newCurrentMap.cjmTimeLines = swimLaneInitValues;\r\n\t\t\t\t\tif (swimlaneDetailsTypes.includes(type)) newCurrentMap.cjmSwimLaneDetails = { ...state.current_map?.cjmSwimLaneDetails, [swimLaneObj.key]: swimLaneInitValues[swimLaneObj.key] };\r\n\t\t\t\t\tif ([Feelings, AdvancedInteractions].includes(type)) {\r\n\t\t\t\t\t\tif (swimLaneInitValues?.personaExperiences) newCurrentMap.cjmStagesCustomerExperienceData = swimLaneInitValues?.personaExperiences;\r\n\t\t\t\t\t\tif (swimLaneInitValues?.globalSentimentLevel) newCurrentMap.cjmGlobalSentimentLevel = swimLaneInitValues?.globalSentimentLevel;\r\n\t\t\t\t\t\tconst chartSwimlaneObj = { ...swimLaneInitValues?.chartSwimlaneObj, sentimentsConfig: JSON.parse(swimLaneInitValues?.chartSwimlaneObj?.sentimentsConfig) };\r\n\t\t\t\t\t\tnewCurrentMap.cjmSwimLanes = [...newCurrentMap.cjmSwimLanes, chartSwimlaneObj, ...swimLaneInitValues?.additionalSwimlanes];\r\n\r\n\t\t\t\t\t\tconst { cjmPersonasData, cjmSwimLanes } = newCurrentMap;\r\n\t\t\t\t\t\tnewCurrentMap.chart = Helpers.processResponseDataChart(swimLaneInitValues.chartData);\r\n\t\t\t\t\t\tnewCurrentMap.mapLegend = Helpers.getLegend(cjmSwimLanes, cjmPersonasData, state.subscriptionDetails);\r\n\t\t\t\t\t\tnewCurrentMap.showTargetValues = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (!hasAttribute(newCurrentMap.cjmStagesCustomerExperienceData, personaId)) newCurrentMap.cjmStagesCustomerExperienceData = { [personaId]: {} };\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: newCurrentMap,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"DELETE_CUSTOM_SWIMLANE\": {\r\n\t\t\tconst customSwimLaneIdStr = action.request?.data?.customSwimLaneIdStr;\r\n\t\t\tlet cjmSwimLanes = [...state.current_map.cjmSwimLanes];\r\n\t\t\tconst swimLaneType = state.current_map.cjmSwimLanes?.find((swimLane) => swimLane.key === customSwimLaneIdStr).type;\r\n\t\t\tlet showMainRoute = state.current_map.showMainRoute;\r\n\t\t\tlet showAlternativeRoute = state.current_map.showAlternativeRoute;\r\n\t\t\tconst genericId = action.request.params?.genericId;\r\n\t\t\tlet chart = state.current_map.chart;\r\n\t\t\tlet mapLegend = state.current_map.mapLegend;\r\n\t\t\tcjmSwimLanes = cjmSwimLanes.filter((swimLane) => swimLane.key !== customSwimLaneIdStr);\r\n\r\n\t\t\tif (swimLaneType === InformationType.Touchpoints) {\r\n\t\t\t\t// keep only generic\r\n\t\t\t}\r\n\r\n\t\t\tif ([InformationType.Feelings, InformationType.AdvancedInteractions].includes(swimLaneType)) {\r\n\t\t\t\tchart = null;\r\n\t\t\t\tmapLegend = null;\r\n\t\t\t\tcjmSwimLanes = cjmSwimLanes.filter((swimLane) => swimLane.type !== InformationType.SentimentChart);\r\n\t\t\t\tif (InformationType.AdvancedInteractions === swimLaneType) {\r\n\t\t\t\t\tshowMainRoute = false;\r\n\t\t\t\t\tshowAlternativeRoute = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmSwimLanes: cjmSwimLanes,\r\n\t\t\t\t\tcjmSwimLaneDetails: Object.fromEntries(Object.entries(state.current_map.cjmSwimLaneDetails).filter((entry) => entry[0] !== customSwimLaneIdStr)),\r\n\t\t\t\t\tcjmCxGoals: swimLaneType === InformationType.KPIs ? {} : state.current_map.cjmCxGoals,\r\n\t\t\t\t\tcjmTimeLines: swimLaneType === InformationType.Timing ? {} : state.current_map.cjmTimeLines,\r\n\t\t\t\t\tcjmCustomerFeedback: swimLaneType === InformationType.CustomerFeedback ? {} : state.current_map.cjmCustomerFeedback,\r\n\t\t\t\t\tcjmStagesCustomerExperienceData: swimLaneType === 100000006 ? {} : state.current_map.cjmStagesCustomerExperienceData,\r\n\t\t\t\t\tshowMainRoute: showMainRoute,\r\n\t\t\t\t\tshowAlternativeRoute: showAlternativeRoute,\r\n\t\t\t\t\tchart: chart,\r\n\t\t\t\t\tmapLegend: mapLegend,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_TOUCHPOINT_ORDER\": {\r\n\t\t\tconst { newContainers, personaId } = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: newContainers,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_PERSONA_INTERACTION\": {\r\n\t\t\tconst { personaId, stageId, newChannelId, personaInteractionId, modifiedBy } = action.request.data;\r\n\t\t\t// Ensure persona and stage exist\r\n\t\t\tif (!state.current_map.cjmInteractions?.[personaId]?.[stageId]) {\r\n\t\t\t\treturn state; // No change needed if nothing exists\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...state.current_map.cjmInteractions[personaId],\r\n\t\t\t\t\t\t\t[stageId]: state.current_map.cjmInteractions[personaId][stageId].map((interaction) => {\r\n\t\t\t\t\t\t\t\tif (interaction.id == personaInteractionId) {\r\n\t\t\t\t\t\t\t\t\tconst copy = { ...action.params };\r\n\t\t\t\t\t\t\t\t\tcopy.modifiedOn = new Date().toISOString();\r\n\t\t\t\t\t\t\t\t\tif (modifiedBy) copy.modifiedBy = modifiedBy;\r\n\r\n\t\t\t\t\t\t\t\t\treturn copy;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn interaction;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"LINK_INTERACTION_RECORDS\": {\r\n\t\t\tconst { recIds, personaInteractionId } = action.request.data;\r\n\t\t\tconst { stageId, attribute } = action.params;\r\n\r\n\t\t\t// Find personaId dynamically\r\n\t\t\tconst personaId = Object.keys(state.current_map.cjmInteractions || {}).find((persona) =>\r\n\t\t\t\tstate.current_map.cjmInteractions[persona]?.[stageId]?.some((interaction) => interaction.id === personaInteractionId)\r\n\t\t\t);\r\n\r\n\t\t\tif (!personaId) {\r\n\t\t\t\treturn state; // No change if personaId is not found\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...state.current_map.cjmInteractions[personaId],\r\n\t\t\t\t\t\t\t[stageId]: state.current_map.cjmInteractions[personaId][stageId].map((interaction) =>\r\n\t\t\t\t\t\t\t\tinteraction.id === personaInteractionId ? { ...interaction, [attribute]: [...(interaction?.[attribute] || []), ...recIds] } : interaction\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"UNLINK_INTERACTION_RECORDS\": {\r\n\t\t\tconst { recIds, personaInteractionId } = action.request.data;\r\n\t\t\tconst { stageId, attribute } = action.params;\r\n\r\n\t\t\t// Find personaId dynamically\r\n\t\t\tconst personaId = Object.keys(state.current_map.cjmInteractions || {}).find((persona) =>\r\n\t\t\t\tstate.current_map.cjmInteractions[persona]?.[stageId]?.some((interaction) => interaction.id === personaInteractionId)\r\n\t\t\t);\r\n\r\n\t\t\tif (!personaId) {\r\n\t\t\t\treturn state; // No change if personaId is not found\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...state.current_map.cjmInteractions[personaId],\r\n\t\t\t\t\t\t\t[stageId]: state.current_map.cjmInteractions[personaId][stageId].map((interaction) =>\r\n\t\t\t\t\t\t\t\tinteraction.id === personaInteractionId ? { ...interaction, [attribute]: interaction?.[attribute].filter((item) => !recIds.includes(item)) } : interaction\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"DELETE_PERSONA_INTERACTION\": {\r\n\t\t\tconst { personaInteractionId, personaId, stageId } = action.request.data;\r\n\r\n\t\t\t// Ensure persona and stage exist\r\n\t\t\tif (!state.current_map.cjmInteractions?.[personaId]?.[stageId]) {\r\n\t\t\t\treturn state; // No change needed if nothing exists\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...state.current_map.cjmInteractions[personaId],\r\n\t\t\t\t\t\t\t[stageId]: state.current_map.cjmInteractions[personaId][stageId].filter((interaction) => interaction.id !== personaInteractionId), // Remove the interaction\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"CREATE_PERSONA_INTERACTION\"): {\r\n\t\t\tconst interactionId = responseData;\r\n\t\t\tconst { stageId, personaId } = requestData;\r\n\t\t\tconst order = (state.current_map.cjmInteractions?.[personaId]?.[stageId]?.length || 0) + 1;\r\n\t\t\tconst interaction = createDefaultPersonaInteraction(interactionId, stageId, action.meta.requestAction.params.channelId, order);\r\n\t\t\tconst newInteraction = {\r\n\t\t\t\t...interaction,\r\n\t\t\t\t...action.meta.requestAction.params,\r\n\t\t\t\tid: interactionId,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...state.current_map.cjmInteractions?.[personaId], // Ensure persona-level immutability\r\n\t\t\t\t\t\t\t[stageId]: [...(state.current_map.cjmInteractions?.[personaId]?.[stageId] || []), newInteraction],\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"CREATE_MULTI_PERSONA_INTERACTION\": {\r\n\t\t\tconst { stageId, newPersonaInteractionIds, modifiedBy, personaId } = action.request.data;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...state.current_map.cjmInteractions?.[personaId], // Ensure persona-level immutability\r\n\t\t\t\t\t\t\t[stageId]: [\r\n\t\t\t\t\t\t\t\t...(state.current_map.cjmInteractions?.[personaId]?.[stageId] || []),\r\n\t\t\t\t\t\t\t\t...Object.keys(newPersonaInteractionIds).map((channelId) => {\r\n\t\t\t\t\t\t\t\t\tconst interactionId = newPersonaInteractionIds[channelId];\r\n\t\t\t\t\t\t\t\t\tconst order = (state.current_map.cjmInteractions?.[personaId]?.[stageId]?.length || 0) + 1;\r\n\t\t\t\t\t\t\t\t\treturn createDefaultPersonaInteraction(interactionId, stageId, channelId, order, modifiedBy);\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"CHANGE_INTERACTION_STAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_PERSONA_EXPERIENCE_TEXT\"): {\r\n\t\t\tconst personaIdStr_UPET = requestData.personaIdStr;\r\n\t\t\tconst stageIdStr_UPET = requestData.stageIdStr;\r\n\t\t\tconst textType_UPET = requestData.textType;\r\n\t\t\tconst newValue = requestData.newValue;\r\n\t\t\tif (!hasAttribute(state.current_map.cjmStagesCustomerExperienceData, personaIdStr_UPET)) return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesCustomerExperienceData: {\r\n\t\t\t\t\t\t...state.current_map.cjmStagesCustomerExperienceData,\r\n\t\t\t\t\t\t[personaIdStr_UPET]: {\r\n\t\t\t\t\t\t\t...state.current_map.cjmStagesCustomerExperienceData[personaIdStr_UPET],\r\n\t\t\t\t\t\t\t[stageIdStr_UPET]: {\r\n\t\t\t\t\t\t\t\t...state.current_map.cjmStagesCustomerExperienceData[personaIdStr_UPET][stageIdStr_UPET],\r\n\t\t\t\t\t\t\t\t[textType_UPET]: decode(newValue),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"UPDATE_STAGE_DESCRIPTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: state.current_map.cjmStagesData?.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === requestData.stageIdStr) {\r\n\t\t\t\t\t\t\tstage.description = decode(requestData.newValue);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"UPDATE_PERSONA_STAGE_SIMPLE_SENTIMENT\": {\r\n\t\t\tconst { personaId, stageId, newValue, personaInteractionId } = action.request.data;\r\n\t\t\tconst genericId = action.params;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...(state.current_map.cjmInteractions[personaId] ?? {}), // Ensure personaId exists\r\n\t\t\t\t\t\t\t[stageId]: state.current_map.cjmInteractions[personaId]?.[stageId]\r\n\t\t\t\t\t\t\t\t? state.current_map.cjmInteractions[personaId][stageId].map((interaction) => {\r\n\t\t\t\t\t\t\t\t\tif (interaction.id == personaInteractionId) {\r\n\t\t\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t\t\t...interaction, // Create a new object to maintain immutability\r\n\t\t\t\t\t\t\t\t\t\t\temotionLevel: newValue,\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn interaction;\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t: [{ id: personaInteractionId, channelId: genericId, emotionLevel: newValue }], // Create new interaction if stageId does not exist\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"GET_MAP_CHART_DATA\"): {\r\n\t\t\tconst { current_map } = state;\r\n\t\t\tconst { cjmPersonasData, cjmSwimLanes } = current_map;\r\n\r\n\t\t\tconst legend = Helpers.getLegend(cjmSwimLanes, cjmPersonasData, state.subscriptionDetails);\r\n\t\t\tconst dataChart = Helpers.processResponseDataChart(responseData);\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, { chart: dataChart, mapLegend: legend, showTargetValues: false });\r\n\t\t}\r\n\r\n\t\tcase success(\"UPDATE_STAGE_TARGET_EMOTION_LEVEL\"): {\r\n\t\t\tconst getTargetPoints = (number) => `
Target
${number}
`;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tchart: {\r\n\t\t\t\t\t\t...state.current_map.chart,\r\n\t\t\t\t\t\tfeelingPoints_Target: state.current_map.chart.feelingPoints_Target.map((point) => {\r\n\t\t\t\t\t\t\tif (point[0] === requestData.stageIdStr) {\r\n\t\t\t\t\t\t\t\tpoint[1] = Number(requestData.newValue - 1);\r\n\t\t\t\t\t\t\t\tpoint[2] = getTargetPoints(Number(requestData.newValue));\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\treturn point;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"UNLINK_LIBRARY_VALUE\": {\r\n\t\t\tif (!hasAttribute(state.current_map, \"cjmSwimLaneDetails\")) return state;\r\n\r\n\t\t\tconst { swimLaneItemId, customSwimLaneId, stageId } = action.request.data;\r\n\t\t\tconst currentSwimLaneDetails = { ...state.current_map.cjmSwimLaneDetails };\r\n\r\n\t\t\t// Ensure `customSwimLaneId` exists in `cjmSwimLaneDetails`\r\n\t\t\tif (!currentSwimLaneDetails[customSwimLaneId]) {\r\n\t\t\t\tcurrentSwimLaneDetails[customSwimLaneId] = {};\r\n\t\t\t}\r\n\r\n\t\t\t// Ensure `stageId` exists before calling the helper function\r\n\t\t\tconst stageDetails = currentSwimLaneDetails[customSwimLaneId][stageId] || { items: [] };\r\n\t\t\tconst updatedStageDetails = Helpers.deleteLibraryItemFromStage(stageDetails, swimLaneItemId);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t\t...currentSwimLaneDetails,\r\n\t\t\t\t\t\t[customSwimLaneId]: {\r\n\t\t\t\t\t\t\t...currentSwimLaneDetails[customSwimLaneId],\r\n\t\t\t\t\t\t\t[stageId]: updatedStageDetails,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"LINK_LIBRARY_VALUES_MULTI\": {\r\n\t\t\tconst { swimLaneItemIds, libraryValueIds, customSwimLaneId, stageId } = action.request.data;\r\n\r\n\t\t\t// Ensure `cjmSwimLaneDetails` exists\r\n\t\t\tconst cjmSwimLaneDetails = { ...state.current_map.cjmSwimLaneDetails };\r\n\r\n\t\t\t// Ensure `customSwimLaneId` exists in `cjmSwimLaneDetails`\r\n\t\t\tif (!cjmSwimLaneDetails[customSwimLaneId]) {\r\n\t\t\t\tcjmSwimLaneDetails[customSwimLaneId] = {};\r\n\t\t\t}\r\n\r\n\t\t\t// Ensure `stageId` exists and initialize it with `id` if missing\r\n\t\t\tif (!cjmSwimLaneDetails[customSwimLaneId][stageId]) {\r\n\t\t\t\tcjmSwimLaneDetails[customSwimLaneId][stageId] = {\r\n\t\t\t\t\tid: uuidv4(),\r\n\t\t\t\t\tstageId: stageId,\r\n\t\t\t\t\tswimlaneId: customSwimLaneId,\r\n\t\t\t\t\tdiscussionIds: [],\r\n\t\t\t\t\titems: [],\r\n\t\t\t\t};\r\n\t\t\t} else if (!hasAttribute(cjmSwimLaneDetails[customSwimLaneId][stageId], \"id\")) {\r\n\t\t\t\tcjmSwimLaneDetails[customSwimLaneId][stageId].id = uuidv4();\r\n\t\t\t}\r\n\r\n\t\t\t// Extract past items safely\r\n\t\t\tconst pastItems = cjmSwimLaneDetails[customSwimLaneId][stageId].items || [];\r\n\r\n\t\t\t// Create new items\r\n\t\t\tconst newItems =\r\n\t\t\t\tlibraryValueIds?.map((libraryValueId, index) => ({\r\n\t\t\t\t\tid: swimLaneItemIds[index] || uuidv4(), // Ensure an ID exists\r\n\t\t\t\t\tlibraryValueId,\r\n\t\t\t\t\ticons: [],\r\n\t\t\t\t\tdiscussionIds: [],\r\n\t\t\t\t})) || [];\r\n\r\n\t\t\t// Assign the new items\r\n\t\t\tconst allNewItems = [...pastItems, ...newItems];\r\n\t\t\tcjmSwimLaneDetails[customSwimLaneId][stageId].items = allNewItems;\r\n\t\t\tcjmSwimLaneDetails[customSwimLaneId][stageId].itemsOrder = allNewItems.map((i) => i.id).join(\"|\");\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t\t...state.current_map.cjmSwimLaneDetails,\r\n\t\t\t\t\t\t[customSwimLaneId]: {\r\n\t\t\t\t\t\t\t...(state.current_map.cjmSwimLaneDetails[customSwimLaneId] || {}),\r\n\t\t\t\t\t\t\t[stageId]: cjmSwimLaneDetails[customSwimLaneId][stageId],\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"UPDATE_STAGE_KPIS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: state.current_map.cjmStagesData?.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === requestData.stageIdStr) {\r\n\t\t\t\t\t\t\tstage.kpIs = decode(requestData.newValue);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_STAGE_ISSUES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: state.current_map.cjmStagesData?.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === requestData.stageIdStr) {\r\n\t\t\t\t\t\t\tstage.issues = decode(requestData.newValue);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_STAGE_PROCESSES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: state.current_map.cjmStagesData?.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === requestData.stageIdStr) {\r\n\t\t\t\t\t\t\tstage.processes = decode(requestData.newValue);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"REPLACE_MAP_LOGO\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (map.cjmId === requestData.cjmId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...map,\r\n\t\t\t\t\t\t\tisCustomImage: true,\r\n\t\t\t\t\t\t\tcustomImageBody: requestData.DocumentBody,\r\n\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\r\n\t\tcase \"UPDATE_CUSTOM_LIST_ITEM_SWIMLANE_DETAILS\": {\r\n\t\t\tif (!hasAttribute(state.current_map, \"cjmSwimLaneDetails\")) return state;\r\n\t\t\tconst { customSwimLaneItemIdStr, customSwimLaneIdStr: swimlaneKey, stageIdStr, description } = action.request.data;\r\n\r\n\t\t\treturn Helpers.updateSwimlaneItem(state, customSwimLaneItemIdStr, swimlaneKey, stageIdStr, description);\r\n\t\t}\r\n\t\tcase success(\"UPDATE_ATTACH_LIST_ITEM_SWIMLANE_DETAILS\"): {\r\n\t\t\tif (!hasAttribute(state.current_map, \"cjmSwimLaneDetails\")) return state;\r\n\t\t\tconst formData = action.meta.requestAction.request.data; // Accessing the FormData object\r\n\t\t\tconst newSwimLaneItem = formData?.get(\"newSwimLaneItem\");\r\n\t\t\tconst { id: customSwimLaneItemIdStr, swimlaneKey, stageId: stageIdStr, description, url, fileName } = JSON.parse(newSwimLaneItem);\r\n\t\t\treturn Helpers.updateSwimlaneItem(state, customSwimLaneItemIdStr, swimlaneKey, stageIdStr, description, url, fileName);\r\n\t\t}\r\n\r\n\t\tcase success(\"UPDATE_SWIMLANES_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_SWIMLANES_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_CJM_DESCRIPTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmDescription: decode(requestData.newValue),\r\n\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"GET_MAP_USERS\"): {\r\n\t\t\tconst cookies = Cookies.get(\"Authorization-cemantica\");\r\n\t\t\tconst isReadOnly = cookies ? jwt_decode(cookies).UserType.isReadOnly() : true;\r\n\t\t\tconst isPrint = action.meta.requestAction.params.isPrint;\r\n\t\t\tconst userId = action.meta.requestAction.params.userId;\r\n\t\t\tconst cxOwnerEntity = action.meta.requestAction.params.cxOwnerEntity;\r\n\t\t\tconst pathname = window.location.pathname.split(\"/\");\r\n\t\t\tconst inMap = pathname.includes(\"EditMap\");\r\n\t\t\tconst incxAction = pathname.includes(\"edit-cxactions\");\r\n\t\t\tconst inOpp = pathname.includes(\"edit-opportunity\");\r\n\t\t\tconst inSolutions = pathname.includes(\"edit-solution\");\r\n\t\t\tconst linkedUsers = Object.entries(responseData).map((user) => user[1]) || [];\r\n\t\t\tconst user = linkedUsers.find((users) => users.id === userId && users.roleId === EMPTY_GUID);\r\n\t\t\tif (hasAttribute(user, \"roleName\")) user.roleName = isPrint ? \"viewer\" : firstLetterUppercase(user?.roleName); // only to export pdf\r\n\t\t\tif (user?.roleName.toLowerCase() === \"viewer\" && isPrint === false && inMap) {\r\n\t\t\t\ttoastWrapper(\"\", \"MAP_VIEWER_WARNING\", { autoClose: 10000 });\r\n\t\t\t} else {\r\n\t\t\t\tif ((isReadOnly && incxAction) || (user?.roleName.toLowerCase() === \"viewer\" && incxAction && cxOwnerEntity !== userId))\r\n\t\t\t\t\ttoastWrapper(\"\", \"ACTION_VIEWER_WARNING\", { autoClose: 10000 });\r\n\t\t\t\tif ((isReadOnly && inOpp) || (user?.roleName.toLowerCase() === \"viewer\" && inOpp && cxOwnerEntity !== userId)) toastWrapper(\"\", \"OPPORTUNITY_VIEWER_WARNING\", { autoClose: 10000 });\r\n\t\t\t\tif ((isReadOnly && inSolutions) || (user?.roleName.toLowerCase() === \"viewer\" && inSolutions && cxOwnerEntity !== userId))\r\n\t\t\t\t\ttoastWrapper(\"\", \"SOLUTION_VIEWER_WARNING\", { autoClose: 10000 });\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_linked_users: linkedUsers,\r\n\t\t\t\tcurrentUser: user,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"RESET_MAP_USER\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrentUser: null,\r\n\t\t\t\tcurrent_linked_users: null,\r\n\t\t\t};\r\n\t\tcase success(\"LINK_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPersonasData: [...state.current_map.cjmPersonasData, { personaId: requestData.personaIdStr }],\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UNLINK_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPersonasData: state.current_map.cjmPersonasData.filter((persona) => persona.personaId !== requestData.personaIdStr),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\tcase success(\"UPDATE_CJM_TYPE\"): {\r\n\t\t\tconst ids = requestData.cjmIdsStr.split(\"|\") || [];\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tisFuture: requestData.newValue === 100000001 ? true : false,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (ids.includes(map.cjmId)) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...map,\r\n\t\t\t\t\t\t\tisFuture: requestData.newValue === 100000001 ? true : false,\r\n\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"UPDATE_MAP_LINKS_CJM\": {\r\n\t\t\tconst { cjmIdStr, cjmIdsToUnlink, cjmIdsToLink } = action.request.data || {};\r\n\t\t\tconst allMapsLinks = state.all_maps.find((m) => m.cjmId === cjmIdStr)?.linkedCjms || [];\r\n\t\t\tlet linkedCjms = [...(state.current_map?.linkedCjms || allMapsLinks || [])];\r\n\r\n\t\t\tif (cjmIdsToLink && !cjmIdsToLink.isEmptyString()) {\r\n\t\t\t\tconst newSet = new Set([...linkedCjms, ...cjmIdsToLink.split(\"|\")]);\r\n\t\t\t\tlinkedCjms = Array.from(newSet);\r\n\t\t\t}\r\n\t\t\tif (cjmIdsToUnlink && !cjmIdsToUnlink.isEmptyString()) {\r\n\t\t\t\tconst filtered = linkedCjms?.filter((l) => !cjmIdsToUnlink.split(\"|\").includes(l));\r\n\t\t\t\tlinkedCjms = filtered;\r\n\t\t\t}\r\n\r\n\t\t\tconst updatedMap = state.all_maps?.map((map) => {\r\n\t\t\t\tif (map.cjmId === cjmIdStr) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...map,\r\n\t\t\t\t\t\tlinkedCjms,\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\treturn map;\r\n\t\t\t});\r\n\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, { linkedCjms }, { all_maps: updatedMap });\r\n\t\t}\r\n\t\tcase \"UPDATE_CJM_TEMPLATE_LOCKED\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tisLocked: action.request.data.isChecked,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"UPDATE_CJM_TEMPLATE_PUBLISH\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\ttemplateStatus: action.request.data.isChecked ? TemplateStatus.published : TemplateStatus.draft,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\tcase \"SET_CURRENT_USER_ROLE_MAP\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcurrentUser: state.current_linked_users?.find((users) => users.id === action.payload),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"UPDATE_STAGE_LINKS_CJM\": {\r\n\t\t\tif (!state.current_map) return state;\r\n\r\n\t\t\tconst { stageIdStr, cjmIdsToLink, cjmIdsToUnlink, cjmIdStr } = action.request.data;\r\n\r\n\t\t\t// 1. Update cjmStagesData in current_map\r\n\t\t\tconst cjmStagesData = state.current_map?.cjmStagesData?.map((stage) => {\r\n\t\t\t\tif (stage.id === stageIdStr) {\r\n\t\t\t\t\tlet linkedCjms = [...(stage.linkedCjms || [])];\r\n\r\n\t\t\t\t\t// Link\r\n\t\t\t\t\tif (cjmIdsToLink && cjmIdsToLink !== \"\") {\r\n\t\t\t\t\t\tconst toLink = cjmIdsToLink.split(\"|\");\r\n\t\t\t\t\t\tlinkedCjms = linkedCjms.concat(toLink);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Unlink\r\n\t\t\t\t\tif (cjmIdsToUnlink && cjmIdsToUnlink !== \"\") {\r\n\t\t\t\t\t\tconst toUnlink = cjmIdsToUnlink.split(\"|\");\r\n\t\t\t\t\t\tlinkedCjms = linkedCjms.filter((id) => !toUnlink.includes(id));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// (Optional) remove duplicates\r\n\t\t\t\t\tlinkedCjms = Array.from(new Set(linkedCjms));\r\n\r\n\t\t\t\t\tstage.linkedCjms = linkedCjms;\r\n\t\t\t\t}\r\n\t\t\t\treturn stage;\r\n\t\t\t});\r\n\r\n\t\t\t// 3. Update all_maps to keep everything consistent\r\n\t\t\tconst all_maps = state.all_maps?.map((map) => {\r\n\t\t\t\tif (map.cjmId === cjmIdStr) {\r\n\t\t\t\t\t// Find stage index\r\n\t\t\t\t\tconst stageIdx = map?.stages?.findIndex((s) => s.id === stageIdStr);\r\n\t\t\t\t\tif (stageIdx >= 0) {\r\n\t\t\t\t\t\tlet linkedCjms = [...(map.stages[stageIdx].linkedCjms || [])];\r\n\r\n\t\t\t\t\t\tif (cjmIdsToLink && cjmIdsToLink !== \"\") {\r\n\t\t\t\t\t\t\tconst toLink = cjmIdsToLink.split(\"|\");\r\n\t\t\t\t\t\t\tlinkedCjms = linkedCjms.concat(toLink);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (cjmIdsToUnlink && cjmIdsToUnlink !== \"\") {\r\n\t\t\t\t\t\t\tconst toUnlink = cjmIdsToUnlink.split(\"|\");\r\n\t\t\t\t\t\t\tlinkedCjms = linkedCjms.filter((id) => !toUnlink.includes(id));\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// (Optional) remove duplicates\r\n\t\t\t\t\t\tlinkedCjms = Array.from(new Set(linkedCjms));\r\n\r\n\t\t\t\t\t\tmap.stages[stageIdx].linkedCjms = linkedCjms;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...map,\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\treturn map;\r\n\t\t\t});\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t\tall_maps,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_PHASE_LINKS_CJM\": {\r\n\t\t\tif (!state.current_map) return state;\r\n\r\n\t\t\tconst { phaseIdStr, cjmIdsToLink, cjmIdsToUnlink, cjmIdStr } = action.request.data;\r\n\r\n\t\t\t// 1. Update cjmPhasesData in current_map\r\n\t\t\tconst cjmPhasesData = state.current_map?.cjmPhasesData?.map((phase) => {\r\n\t\t\t\tif (phase.id === phaseIdStr) {\r\n\t\t\t\t\tlet linkedCjms = [...(phase.linkedCjms || [])];\r\n\r\n\t\t\t\t\t// Link\r\n\t\t\t\t\tif (cjmIdsToLink && cjmIdsToLink !== \"\") {\r\n\t\t\t\t\t\tconst toLink = cjmIdsToLink.split(\"|\");\r\n\t\t\t\t\t\tlinkedCjms = linkedCjms.concat(toLink);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Unlink\r\n\t\t\t\t\tif (cjmIdsToUnlink && cjmIdsToUnlink !== \"\") {\r\n\t\t\t\t\t\tconst toUnlink = cjmIdsToUnlink.split(\"|\");\r\n\t\t\t\t\t\tlinkedCjms = linkedCjms.filter((id) => !toUnlink.includes(id));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// (Optional) remove duplicates\r\n\t\t\t\t\tlinkedCjms = Array.from(new Set(linkedCjms));\r\n\r\n\t\t\t\t\tphase.linkedCjms = linkedCjms;\r\n\t\t\t\t}\r\n\t\t\t\treturn phase;\r\n\t\t\t});\r\n\r\n\t\t\t// 3. Update all_maps to keep everything consistent\r\n\t\t\tconst all_maps = state.all_maps?.map((map) => {\r\n\t\t\t\tif (map.cjmId === cjmIdStr) {\r\n\t\t\t\t\t// Find phase index\r\n\t\t\t\t\tconst phaseIdx = map?.phases?.findIndex((p) => p.id === phaseIdStr);\r\n\t\t\t\t\tif (phaseIdx >= 0) {\r\n\t\t\t\t\t\tlet linkedCjms = [...(map.phases[phaseIdx].linkedCjms || [])];\r\n\r\n\t\t\t\t\t\tif (cjmIdsToLink && cjmIdsToLink !== \"\") {\r\n\t\t\t\t\t\t\tconst toLink = cjmIdsToLink.split(\"|\");\r\n\t\t\t\t\t\t\tlinkedCjms = linkedCjms.concat(toLink);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (cjmIdsToUnlink && cjmIdsToUnlink !== \"\") {\r\n\t\t\t\t\t\t\tconst toUnlink = cjmIdsToUnlink.split(\"|\");\r\n\t\t\t\t\t\t\tlinkedCjms = linkedCjms.filter((id) => !toUnlink.includes(id));\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// (Optional) remove duplicates\r\n\t\t\t\t\t\tlinkedCjms = Array.from(new Set(linkedCjms));\r\n\r\n\t\t\t\t\t\tmap.phases[phaseIdx].linkedCjms = linkedCjms;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...map,\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\treturn map;\r\n\t\t\t});\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t\tall_maps,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"FILTER_EMOTION_MAP\": {\r\n\t\t\t// reconstruction,persona order\r\n\t\t\tconst newFilter = Helpers.getLegend(state.current_map.cjmSwimLanes, state.current_map.cjmPersonasData, state.subscriptionDetails);\r\n\t\t\tif (newFilter?.length === 1) {\r\n\t\t\t\ttoast.info(\"You need to select at least one line\");\r\n\t\t\t\treturn state;\r\n\t\t\t}\r\n\t\t\treturn Helpers.updatedState(state, \"mapLegend\", newFilter);\r\n\t\t}\r\n\t\tcase \"SHOW_TARGET_VALUES\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tshowTargetValues: !state.current_map.showTargetValues,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_STAGE_ACTIONS_ORDER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_STAGE_OPPORTUNITY_ORDER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\tcase success(\"UPDATE_SHOW_CUSTOMER_SENTIMENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tshowContactsSentimentLevel: requestData.showSentiment,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_SHOW_PERSONA_SENTIMENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tshowPersonaSentimentLevel: requestData.showSentiment,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"UPDATE_SHOW_ROUTE\": {\r\n\t\t\tconst { showRoute, isMain } = action.request.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tshowMainRoute: isMain ? showRoute : state.current_map.showMainRoute,\r\n\t\t\t\t\tshowAlternativeRoute: isMain ? state.current_map.showAlternativeRoute : showRoute,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DESACTIVATE_ROUTE\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\r\n\t\t\t\t\tdesactivateRoutes: action.payload.value,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"RETRIEVE_PERVIOUS_LINK_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tpreviousPersonasLink: responseData,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"UPDATE_HEADER_EXPANDED\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tisHeaderExpanded: action.request.data.isExpanded,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_HEADER_EXPANDED\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\t// isHeaderExpanded :requestData.isExpanded ,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"FORCE_PERSONA_INTERACTION_ROUTE\": {\r\n\t\t\tconst { personaId, newValue, isMain, stageId, personaInteractionId } = action.request.data;\r\n\r\n\t\t\tlet modifiedRouteAttr = \"forcedMainRoute\";\r\n\t\t\tif (!isMain) modifiedRouteAttr = \"forcedAlternativeRoute\";\r\n\r\n\t\t\tif (!personaId) {\r\n\t\t\t\treturn state; // No change if personaId is not found\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...state.current_map.cjmInteractions[personaId],\r\n [stageId]: state.current_map.cjmInteractions[personaId][stageId]?.map((interaction) => {\r\n if (newValue === true) {\r\n if (interaction?.id === personaInteractionId) return { ...interaction, [modifiedRouteAttr]: true }\r\n return { ...interaction, [modifiedRouteAttr]: false }\r\n }\r\n \r\n if (interaction?.id === personaInteractionId) return { ...interaction, [modifiedRouteAttr]: newValue }\r\n return interaction\r\n \r\n }\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"DELETE_MAP_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (map.cjmId === requestData.cjmIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...map,\r\n\t\t\t\t\t\t\tisCustomImage: false,\r\n\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_MAPS\"): {\r\n\t\t\tconst successIdDeleted = responseData;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (successIdDeleted.includes(map.cjmId)) {\r\n\t\t\t\t\t\treturn { ...map, statusCode: StatusCode.Trashed };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ARCHIVE_MANY_MAPS\"): {\r\n\t\t\tconst successIdArchived = responseData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (successIdArchived.includes(map.cjmId)) {\r\n\t\t\t\t\t\treturn { ...map, statusCode: StatusCode.Archived };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"RESTORE_MANY_MAPS\"): {\r\n\t\t\tconst successIdRestore = responseData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (successIdRestore.includes(map.cjmId)) {\r\n\t\t\t\t\t\treturn { ...map, statusCode: StatusCode.Active };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_PERMANENTLY_MANY_MAPS\"): {\r\n\t\t\tconst successIdDeletePerma = responseData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps.filter((map) => !successIdDeletePerma.includes(map.cjmId)),\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"UPDATE_SWIMLANE_DETAILS_ORDER\": {\r\n\t\t\tconst { newContainers, swimlaneId } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t\t...state.current_map.cjmSwimLaneDetails,\r\n\t\t\t\t\t\t[swimlaneId]: newContainers,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"DELETE_LIST_ITEMS\": {\r\n\t\t\tif (!hasAttribute(state.current_map, \"cjmSwimLaneDetails\")) return state;\r\n\r\n\t\t\tconst { customSwimLaneItemIdStr, customSwimLaneIdStr: swimlaneKey, stageIdStr } = action.request.data;\r\n\r\n\t\t\tconst currentSwimLaneDetails = state.current_map.cjmSwimLaneDetails;\r\n\t\t\tconst stageDetails = currentSwimLaneDetails[swimlaneKey][stageIdStr];\r\n\t\t\tconst updatedStageDetails = Helpers.deleteItemFromStage(stageDetails, customSwimLaneItemIdStr);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t\t...currentSwimLaneDetails,\r\n\t\t\t\t\t\t[swimlaneKey]: {\r\n\t\t\t\t\t\t\t...currentSwimLaneDetails[swimlaneKey],\r\n\t\t\t\t\t\t\t[stageIdStr]: updatedStageDetails,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_GLOBAL_LIST_ITEMS\"): {\r\n\t\t\tif (!hasAttribute(state.current_map, \"cjmSwimLaneDetails\")) return state;\r\n\r\n\t\t\tconst { customSwimLaneItemId, customSwimLaneId: swimlaneKey, stageId } = requestData;\r\n\r\n\t\t\tconst currentSwimLaneDetails = state.current_map.cjmSwimLaneDetails;\r\n\t\t\tconst stageDetails = currentSwimLaneDetails[swimlaneKey][stageId];\r\n\t\t\tconst updatedStageDetails = Helpers.deleteItemFromStage(stageDetails, customSwimLaneItemId);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t\t...currentSwimLaneDetails,\r\n\t\t\t\t\t\t[swimlaneKey]: {\r\n\t\t\t\t\t\t\t...currentSwimLaneDetails[swimlaneKey],\r\n\t\t\t\t\t\t\t[stageId]: updatedStageDetails,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"CREATE_COMMENT\"): {\r\n\t\t\tconst { discussionId } = requestData;\r\n\t\t\tconst discussion = { ...state.current_map.cjmDiscussions[discussionId] };\r\n\t\t\tdiscussion.comments = [...(discussion?.comments || []), responseData];\r\n\t\t\treturn Helpers.updatedState(state, \"cjmDiscussions\", { ...state.current_map.cjmDiscussions, [discussionId]: discussion });\r\n\t\t}\r\n\r\n\t\tcase success(\"DELETE_COMMENT\"): {\r\n\t\t\tconst { discussionId, commentId } = requestData;\r\n\r\n\t\t\tconst discussion = state.current_map.cjmDiscussions[discussionId];\r\n\t\t\tdiscussion.comments = discussion.comments?.filter((comment) => comment.id !== commentId);\r\n\r\n\t\t\treturn Helpers.updatedState(state, \"cjmDiscussions\", { ...state.current_map.cjmDiscussions, [discussionId]: discussion });\r\n\t\t}\r\n\r\n\t\tcase success(\"UPDATE_COMMENT\"): {\r\n\t\t\tconst { commentId, newDescription, discussionId } = requestData;\r\n\t\t\tconst discussion = state.current_map.cjmDiscussions[discussionId];\r\n\t\t\tconst comment = discussion.comments.find((comment) => comment.id === commentId);\r\n\t\t\tcomment.description = decode(newDescription);\r\n\t\t\tcomment.lastModifiedOn = new Date().toISOString();\r\n\r\n\t\t\treturn Helpers.updatedState(state, \"cjmDiscussions\", { ...state.current_map.cjmDiscussions, [discussionId]: discussion });\r\n\t\t}\r\n\r\n\t\tcase \"ADD_ICON_SWIMLANE_ITEMS\": {\r\n\t\t\tconst { swimlaneKey, stageId, iconId, cardId } = action.payload;\r\n\t\t\tconst swimLaneDetails = state.current_map.cjmSwimLaneDetails;\r\n\t\t\tconst swimLane = swimLaneDetails[swimlaneKey];\r\n\r\n\t\t\tconst updatedSwimLane = {\r\n\t\t\t\t...swimLane,\r\n\t\t\t\t[stageId]: {\r\n\t\t\t\t\t...swimLane[stageId],\r\n\t\t\t\t\titems: swimLane[stageId].items.map((item) => {\r\n\t\t\t\t\t\tif (item.id === cardId) {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\t\t\ticons: [...item.icons, iconId],\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn item;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t\tconst updatedSwimLaneDetails = {\r\n\t\t\t\t...swimLaneDetails,\r\n\t\t\t\t[swimlaneKey]: updatedSwimLane,\r\n\t\t\t};\r\n\t\t\treturn Helpers.updatedState(state, \"cjmSwimLaneDetails\", updatedSwimLaneDetails);\r\n\t\t}\r\n\t\tcase \"DELETE_ICON_SWIMLANE_ITEMS\": {\r\n\t\t\tconst { swimlaneKey, stageId, iconId, cardId } = action.payload;\r\n\t\t\tconst swimLaneDetails = state.current_map.cjmSwimLaneDetails;\r\n\t\t\tconst swimLane = swimLaneDetails[swimlaneKey];\r\n\t\t\tconst updatedSwimLane = {\r\n\t\t\t\t...swimLane,\r\n\t\t\t\t[stageId]: {\r\n\t\t\t\t\t...swimLane[stageId],\r\n\t\t\t\t\titems: swimLane[stageId].items.map((item) => {\r\n\t\t\t\t\t\tif (item.id === cardId) {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\t\t\ticons: item.icons.filter((icon) => icon !== iconId),\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn item;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t\tconst updatedSwimLaneDetails = {\r\n\t\t\t\t...swimLaneDetails,\r\n\t\t\t\t[swimlaneKey]: updatedSwimLane,\r\n\t\t\t};\r\n\t\t\treturn Helpers.updatedState(state, \"cjmSwimLaneDetails\", updatedSwimLaneDetails);\r\n\t\t}\r\n\t\tcase \"ADD_ICON_SYSTEM\": {\r\n\t\t\tconst { stageId, iconId, cardId } = action.payload;\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst system = currentMap.cjmStagesSystemData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...currentMap,\r\n\t\t\t\t\tcjmStagesSystemData: {\r\n\t\t\t\t\t\t...system,\r\n\t\t\t\t\t\t[stageId]: {\r\n\t\t\t\t\t\t\t...system[stageId],\r\n\t\t\t\t\t\t\t[cardId]: {\r\n\t\t\t\t\t\t\t\t...system[stageId]?.[cardId],\r\n\t\t\t\t\t\t\t\ticons: [...(system[stageId]?.[cardId]?.icons ?? []), iconId],\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_ICON_SYSTEM\": {\r\n\t\t\tconst { stageId, iconId, cardId } = action.payload;\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst system = currentMap.cjmStagesSystemData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...currentMap,\r\n\t\t\t\t\tcjmStagesSystemData: {\r\n\t\t\t\t\t\t...system,\r\n\t\t\t\t\t\t[stageId]: {\r\n\t\t\t\t\t\t\t...system[stageId],\r\n\t\t\t\t\t\t\t[cardId]: {\r\n\t\t\t\t\t\t\t\t...system[stageId]?.[cardId],\r\n\t\t\t\t\t\t\t\ticons: system[stageId]?.[cardId]?.icons?.filter((icon) => icon !== iconId) ?? [],\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ADD_ICON_DEPARTMENT\": {\r\n\t\t\tconst { stageId, iconId, cardId } = action.payload;\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst system = currentMap.cjmStagesDepartmentData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...currentMap,\r\n\t\t\t\t\tcjmStagesDepartmentData: {\r\n\t\t\t\t\t\t...system,\r\n\t\t\t\t\t\t[stageId]: {\r\n\t\t\t\t\t\t\t...system[stageId],\r\n\t\t\t\t\t\t\t[cardId]: {\r\n\t\t\t\t\t\t\t\t...system[stageId]?.[cardId],\r\n\t\t\t\t\t\t\t\ticons: [...(system[stageId]?.[cardId]?.icons ?? []), iconId],\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_ICON_DEPARTMENT\": {\r\n\t\t\tconst { stageId, iconId, cardId } = action.payload;\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst system = currentMap.cjmStagesDepartmentData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...currentMap,\r\n\t\t\t\t\tcjmStagesDepartmentData: {\r\n\t\t\t\t\t\t...system,\r\n\t\t\t\t\t\t[stageId]: {\r\n\t\t\t\t\t\t\t...system[stageId],\r\n\t\t\t\t\t\t\t[cardId]: {\r\n\t\t\t\t\t\t\t\t...system[stageId]?.[cardId],\r\n\t\t\t\t\t\t\t\ticons: system[stageId]?.[cardId]?.icons?.filter((icon) => icon !== iconId) ?? [],\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\r\n\t\tcase success(\"GET_MAP_DISCUSSIONS\"): {\r\n\t\t\treturn Helpers.updatedState(state, \"cjmDiscussions\", responseData);\r\n\t\t}\r\n\t\tcase success(\"CREATE_DISCUSSION\"): {\r\n\t\t\tconst params = Helpers.updateRelatedData(state, responseData);\r\n\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, { cjmDiscussions: { ...state.current_map.cjmDiscussions, [responseData.id]: responseData }, ...params });\r\n\t\t}\r\n\t\tcase success(\"UPDATE_STATUS_DISCUSSION\"): {\r\n\t\t\tconst { discussionId, isResolved } = requestData;\r\n\r\n\t\t\treturn Helpers.updatedState(state, \"cjmDiscussions\", {\r\n\t\t\t\t...state.current_map.cjmDiscussions,\r\n\t\t\t\t[discussionId]: { ...state.current_map.cjmDiscussions[discussionId], isResolved },\r\n\t\t\t});\r\n\t\t}\r\n\t\tcase success(\"DELETE_DISCUSSION\"): {\r\n\t\t\tconst { discussionId } = requestData;\r\n\t\t\tconst updatedDiscussions = { ...state.current_map.cjmDiscussions };\r\n\t\t\tdelete updatedDiscussions[discussionId];\r\n\t\t\treturn Helpers.updatedState(state, \"cjmDiscussions\", updatedDiscussions);\r\n\t\t}\r\n\t\tcase \"UPDATE_ALL_STAGE_COLOR\": {\r\n\t\t\tconst { newValue } = action?.request?.data || {};\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst stageData = currentMap.cjmStagesData.map((stage) => {\r\n\t\t\t\tstage.colorCode = newValue;\r\n\t\t\t\treturn stage;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updatedState(state, \"cjmStagesData\", stageData);\r\n\t\t}\r\n\t\tcase \"UPDATE_STAGE_COLOR\": {\r\n\t\t\tconst { newValue, stageId } = action?.request?.data || {};\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst stageData = currentMap.cjmStagesData.map((stage) => {\r\n\t\t\t\tif (stage.id === stageId) {\r\n\t\t\t\t\tstage.colorCode = newValue;\r\n\t\t\t\t}\r\n\t\t\t\treturn stage;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updatedState(state, \"cjmStagesData\", stageData);\r\n\t\t}\r\n\t\tcase \"UPDATE_ALL_PHASE_COLOR\": {\r\n\t\t\tconst { newValue } = action?.request?.data || {};\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst phaseData = currentMap.cjmPhasesData.map((phase) => {\r\n\t\t\t\tphase.colorCode = newValue;\r\n\r\n\t\t\t\treturn phase;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updatedState(state, \"cjmPhasesData\", phaseData);\r\n\t\t}\r\n\t\tcase \"UPDATE_PHASE_COLOR\": {\r\n\t\t\tconst { newValue, phaseId } = action?.request?.data || {};\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst PhasesData = currentMap.cjmPhasesData.map((stage) => {\r\n\t\t\t\tif (stage.id === phaseId) {\r\n\t\t\t\t\tstage.colorCode = newValue;\r\n\t\t\t\t}\r\n\t\t\t\treturn stage;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updatedState(state, \"cjmPhasesData\", PhasesData);\r\n\t\t}\r\n\t\tcase success(\"LINK_GROUPS\"): {\r\n\t\t\tconst { groupIds, recordType, recordIds } = requestData;\r\n\r\n\t\t\tif (recordType !== \"cem_customerjourney\") return state;\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tif (state.current_map?.cjmId) {\r\n\t\t\t\tconst newGroups = [...state.current_map.groups, ...groupIds];\r\n\t\t\t\tcurrentMap.groups = [...appendListsAndRemoveDuplicates(state.current_map.groups, newGroups)];\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: currentMap,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (recordIds.includes(map.cjmId)) {\r\n\t\t\t\t\t\tconst newGroups = [...map.groups, ...groupIds];\r\n\t\t\t\t\t\tmap.groups = [...appendListsAndRemoveDuplicates(map.groups, newGroups)];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UNLINK_GROUPS\"): {\r\n\t\t\tconst { groupIds, recordIds, recordType } = requestData;\r\n\t\t\tif (recordType !== \"cem_customerjourney\") return state;\r\n\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\r\n\t\t\tif (state.current_map?.cjmId) {\r\n\t\t\t\tconst newGroups = state.current_map.groups.filter((id) => !groupIds?.includes(id));\r\n\t\t\t\tcurrentMap.groups = newGroups;\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: currentMap,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (recordIds.includes(map.cjmId)) {\r\n\t\t\t\t\t\tmap.groups = map.groups.filter((id) => !groupIds?.includes(id));\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"LINK_TAGS\"): {\r\n\t\t\tconst { tagIds, recordType, recordIds } = requestData;\r\n\t\t\tif (recordType !== \"cem_customerjourney\") return state;\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\r\n\t\t\tif (state.current_map?.cjmId) {\r\n\t\t\t\tconst newTags = [...state.current_map.tags, ...tagIds];\r\n\t\t\t\tcurrentMap.tags = [...appendListsAndRemoveDuplicates(state.current_map.tags, newTags)];\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: currentMap,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (recordIds.includes(map.cjmId)) {\r\n\t\t\t\t\t\tconst newTags = [...map.tags, ...tagIds];\r\n\t\t\t\t\t\tmap.tags = [...appendListsAndRemoveDuplicates(map.tags, newTags)];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UNLINK_TAGS\"): {\r\n\t\t\tconst { tagIds, recordIds, recordType } = requestData;\r\n\t\t\tif (recordType !== \"cem_customerjourney\") return state;\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tif (state.current_map?.cjmId) {\r\n\t\t\t\tconst newTags = state.current_map.tags.filter((id) => !tagIds?.includes(id));\r\n\t\t\t\tcurrentMap.tags = newTags;\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: currentMap,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (recordIds.includes(map.cjmId)) {\r\n\t\t\t\t\t\tmap.tags = map.tags.filter((id) => !tagIds?.includes(id));\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"UPDATE_CJM_STATUS\"): {\r\n\t\t\tconst { newValueId, cjmIdsStr } = requestData;\r\n\t\t\tconst idsToUpdate = cjmIdsStr.split(\"|\") || [];\r\n\r\n\t\t\treturn Helpers.updatedState(state, \"cxStatus\", newValueId, null, null, idsToUpdate);\r\n\t\t}\r\n\t\tcase success(\"CX_GOALS_UPSERT\"): {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { stageId, id, measures } = requestData.CxGoals[0];\r\n\t\t\tconst updatedCjmCxGoals = { ...currentMap.cjmCxGoals };\r\n\t\t\tconst response = responseData.map((goal) => {\r\n\t\t\t\treturn { ...goal, measureName: measures?.find((measure) => measure.id === goal.measureId)?.name };\r\n\t\t\t});\r\n\r\n\t\t\tif (stageId) {\r\n\t\t\t\tif (id === EMPTY_GUID) {\r\n\t\t\t\t\tupdatedCjmCxGoals[stageId] = updatedCjmCxGoals[stageId] ? [...updatedCjmCxGoals[stageId], ...response] : [...response];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Update the specific goal\r\n\t\t\t\t\tupdatedCjmCxGoals[stageId] = updatedCjmCxGoals[stageId]?.map((goal) => (goal.id === id ? response[0] : goal)) || [response[0]];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn Helpers.updatedState(state, \"cjmCxGoals\", updatedCjmCxGoals);\r\n\t\t}\r\n\t\tcase \"ADD_ICON_SWIMLANE_CX_GOALS\": {\r\n\t\t\tconst { stageId, iconId, cardId } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmCxGoals: {\r\n\t\t\t\t\t\t...state.current_map?.cjmCxGoals, [stageId]: state.current_map.cjmCxGoals?.[stageId]\r\n\t\t\t\t\t\t\t?.map((goal) => {\r\n\t\t\t\t\t\t\t\tif (goal.id === cardId) {\r\n\t\t\t\t\t\t\t\t\tconst copyGoal = { ...goal };\r\n\t\t\t\t\t\t\t\t\tcopyGoal.icons = [...copyGoal.icons, iconId];\r\n\t\t\t\t\t\t\t\t\treturn copyGoal;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn goal;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase \"DELETE_ICON_SWIMLANE_CX_GOALS\": {\r\n\t\t\tconst { stageId, iconId, cardId } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmCxGoals: {\r\n\t\t\t\t\t\t...state.current_map?.cjmCxGoals, [stageId]: state.current_map.cjmCxGoals?.[stageId]\r\n\t\t\t\t\t\t\t?.map((goal) => {\r\n\t\t\t\t\t\t\t\tif (goal.id === cardId) {\r\n\t\t\t\t\t\t\t\t\tconst copyGoal = { ...goal };\r\n\t\t\t\t\t\t\t\t\tcopyGoal.icons = copyGoal.icons.filter((id) => id !== iconId);\r\n\t\t\t\t\t\t\t\t\treturn copyGoal;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn goal;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase \"UPDATE_LOCAL_CX_GOAL_ORDER\": {\r\n\t\t\t// const newcxGoalsOrder = state.current_map.cjmStagesData?.map((stage, index) => {\r\n\t\t\t// \treturn { [stage.id]: action.payload.newState[index] };\r\n\t\t\t// });\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmCxGoals: action.payload.newState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_CX_GOAL\"): {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst id = requestData.id;\r\n\t\t\tconst stageId = action.meta.requestAction.params.stageId;\r\n\t\t\tconst cjmCxGoals = { ...currentMap?.cjmCxGoals };\r\n\t\t\tconst previousData = cjmCxGoals[stageId] || [];\r\n\t\t\tcjmCxGoals[stageId] = previousData.filter((goal) => goal.id !== id);\r\n\t\t\treturn Helpers.updatedState(state, \"cjmCxGoals\", cjmCxGoals);\r\n\t\t}\r\n\t\tcase success(\"UPSERT_TIMELINE\"): {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmTimeLines } = currentMap;\r\n\t\t\tconst { id, stageId } = requestData?.timeLine;\r\n\t\t\tconst timeLines = JSON.parse(JSON.stringify(cjmTimeLines));\r\n\t\t\ttimeLines[stageId] = [responseData];\r\n\t\t\treturn Helpers.updatedState(state, \"cjmTimeLines\", timeLines);\r\n\t\t}\r\n\t\tcase success(\"DELETE_TIMELINE\"): {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmTimeLines } = currentMap;\r\n\t\t\tconst { stageId } = action.meta.requestAction?.params;\r\n\t\t\tconst timeLines = JSON.parse(JSON.stringify(cjmTimeLines));\r\n\r\n\t\t\tdelete timeLines[stageId];\r\n\t\t\treturn Helpers.updatedState(state, \"cjmTimeLines\", timeLines);\r\n\t\t}\r\n\t\tcase \"ADD_ICON_TIMELINE\": {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmTimeLines } = currentMap;\r\n\t\t\tconst { cardId, iconId, stageId } = action.payload;\r\n\t\t\tconst timeLines = JSON.parse(JSON.stringify(cjmTimeLines));\r\n\t\t\ttimeLines[stageId] = timeLines[stageId]?.map((timeline) => {\r\n\t\t\t\tif (timeline.id === cardId) {\r\n\t\t\t\t\ttimeline.icons = [...timeline?.icons, iconId];\r\n\t\t\t\t}\r\n\t\t\t\treturn timeline;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updatedState(state, \"cjmTimeLines\", timeLines);\r\n\t\t}\r\n\t\tcase \"DELETE_ICON_TIMELINE\": {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmTimeLines } = currentMap;\r\n\t\t\tconst { cardId, iconId, stageId } = action.payload;\r\n\t\t\tconst timeLines = JSON.parse(JSON.stringify(cjmTimeLines));\r\n\t\t\ttimeLines[stageId] = timeLines[stageId].map((timeline) => {\r\n\t\t\t\tif (timeline.id === cardId) {\r\n\t\t\t\t\ttimeline.icons = timeline.icons.filter((id) => id !== iconId);\r\n\t\t\t\t}\r\n\t\t\t\treturn timeline;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updatedState(state, \"cjmTimeLines\", timeLines);\r\n\t\t}\r\n\t\tcase success(\"UPDATE_MAP_VERSION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (map.cjmId === requestData.cjmId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...map,\r\n\t\t\t\t\t\t\tnameMapVersion: decode(requestData.name),\r\n\t\t\t\t\t\t\tdescriptionMapVersion: decode(requestData.description),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase \"UPSERT_CUSTOMER_FEEDBACK\":\r\n\t\tcase \"UPLOAD_CUSTOMER_FEEDBACK\": {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmCustomerFeedback } = currentMap;\r\n\t\t\tconst newCustomerFeedbacks = {\r\n\t\t\t\t...action.request.data?.customerFeedback,\r\n\t\t\t\tname: decode(action.request.data?.customerFeedback?.name),\r\n\t\t\t\tdescription: decode(action.request.data?.customerFeedback?.description),\r\n\t\t\t\tsourceDescription: decode(action.request.data?.customerFeedback?.sourceDescription) || null,\r\n\t\t\t\tlastUpdated: new Date().toISOString(),\r\n\t\t\t};\r\n\t\t\tconst { id, personaId, stageId } = action.request.data?.customerFeedback;\r\n\r\n\t\t\tconst customerFeedbacks = JSON.parse(JSON.stringify(cjmCustomerFeedback));\r\n\t\t\tif (customerFeedbacks[personaId][stageId]?.find((item) => item.id === id)) {\r\n\t\t\t\tcustomerFeedbacks[personaId][stageId] = customerFeedbacks[personaId][stageId]?.map((customerFeedback) => {\r\n\t\t\t\t\tif (customerFeedback.id === id) {\r\n\t\t\t\t\t\tcustomerFeedback = newCustomerFeedbacks;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn customerFeedback;\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tcustomerFeedbacks[personaId][stageId] = [...(customerFeedbacks?.[personaId]?.[stageId] || []), newCustomerFeedbacks];\r\n\t\t\t}\r\n\t\t\treturn Helpers.updatedState(state, \"cjmCustomerFeedback\", customerFeedbacks);\r\n\t\t}\r\n\t\tcase success(\"UPSERT_CUSTOMER_FEEDBACK\"): {\r\n\t\t\tconst newCustomerFeedbacks = action.response.data || {};\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmCustomerFeedback } = currentMap;\r\n\t\t\tconst { id, personaId, stageId } = newCustomerFeedbacks;\r\n\t\t\tif (cjmCustomerFeedback?.[personaId]?.[stageId]?.find((item) => item.id === id)) {\r\n\t\t\t\tcjmCustomerFeedback[personaId][stageId] = cjmCustomerFeedback[personaId][stageId]?.map((customerFeedback) => {\r\n\t\t\t\t\tif (customerFeedback.id === id) {\r\n\t\t\t\t\t\tcustomerFeedback = newCustomerFeedbacks;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn customerFeedback;\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tcjmCustomerFeedback[personaId][stageId] = [...(cjmCustomerFeedback?.[personaId]?.[stageId] || []), newCustomerFeedbacks];\r\n\t\t\t}\r\n\t\t\treturn Helpers.updatedState(state, \"cjmCustomerFeedback\", cjmCustomerFeedback);\r\n\t\t}\r\n\r\n\t\tcase \"DELETE_CUSTOMER_FEEDBACK\": {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmCustomerFeedback } = currentMap;\r\n\t\t\tconst { personaId, customerFeedbackId } = action.request.data;\r\n\t\t\tconst { stageId } = action?.params;\r\n\r\n\t\t\tconst customerFeedbacks = JSON.parse(JSON.stringify(cjmCustomerFeedback));\r\n\r\n\t\t\tcustomerFeedbacks[personaId][stageId] = customerFeedbacks[personaId][stageId]?.filter((customerFeedback) => customerFeedback.id !== customerFeedbackId);\r\n\t\t\treturn Helpers.updatedState(state, \"cjmCustomerFeedback\", customerFeedbacks);\r\n\t\t}\r\n\t\tcase \"ADD_ICON_CUSTOMER_FEEDBACK\": {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmCustomerFeedback } = currentMap;\r\n\t\t\tconst { cardId, iconId, stageId, personaId } = action.payload;\r\n\t\t\tconst customerFeedbacks = JSON.parse(JSON.stringify(cjmCustomerFeedback));\r\n\r\n\t\t\tcustomerFeedbacks[personaId][stageId] = customerFeedbacks[personaId][stageId]?.map((customerFeedback) => {\r\n\t\t\t\tif (customerFeedback.id === cardId) {\r\n\t\t\t\t\tcustomerFeedback.icons = [...customerFeedback?.icons, iconId];\r\n\t\t\t\t}\r\n\t\t\t\treturn customerFeedback;\r\n\t\t\t});\r\n\r\n\t\t\treturn Helpers.updatedState(state, \"cjmCustomerFeedback\", customerFeedbacks);\r\n\t\t}\r\n\t\tcase \"DELETE_ICON_CUSTOMER_FEEDBACK\": {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmCustomerFeedback } = currentMap;\r\n\t\t\tconst { cardId, iconId, stageId, personaId } = action.payload;\r\n\t\t\tconst customerFeedbacks = JSON.parse(JSON.stringify(cjmCustomerFeedback));\r\n\t\t\tcustomerFeedbacks[personaId][stageId] = customerFeedbacks[personaId][stageId].map((customerFeedback) => {\r\n\t\t\t\tif (customerFeedback.id === cardId) {\r\n\t\t\t\t\tcustomerFeedback.icons = customerFeedback.icons.filter((id) => id !== iconId);\r\n\t\t\t\t}\r\n\t\t\t\treturn customerFeedback;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updatedState(state, \"cjmCustomerFeedback\", customerFeedbacks);\r\n\t\t}\r\n\t\tcase \"UPSERT_CUSTOMER_FEEDBACK_DATA\": {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { stageId, personaId, customerFeedbackData, customerFeedbackId } = action.request.data;\r\n\t\t\tconst { cjmCustomerFeedback } = currentMap;\r\n\t\t\tconst customerFeedbacks = JSON.parse(JSON.stringify(cjmCustomerFeedback));\r\n\t\t\tif (customerFeedbackId) {\r\n\t\t\t\tcustomerFeedbacks[personaId][stageId] = customerFeedbacks[personaId][stageId].map((customerFeedback) => {\r\n\t\t\t\t\tif (customerFeedback.id === customerFeedbackId) {\r\n\t\t\t\t\t\tif (customerFeedback?.customerFeedbackDatas?.find((contact) => contact.id === customerFeedbackData?.id)) {\r\n\t\t\t\t\t\t\tcustomerFeedback.customerFeedbackDatas = customerFeedback.customerFeedbackDatas?.map((customerFeedbackSummary) => {\r\n\t\t\t\t\t\t\t\tif (customerFeedbackSummary?.id === customerFeedbackData?.id)\r\n\t\t\t\t\t\t\t\t\tcustomerFeedbackSummary = {\r\n\t\t\t\t\t\t\t\t\t\t...customerFeedbackData,\r\n\t\t\t\t\t\t\t\t\t\tsourcesOfData: decode(customerFeedbackData?.sourcesOfData),\r\n\t\t\t\t\t\t\t\t\t\tdescription: decode(customerFeedbackData?.description),\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\treturn customerFeedbackSummary;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcustomerFeedback.customerFeedbackDatas = [customerFeedbackData, ...customerFeedback.customerFeedbackDatas];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn customerFeedback;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn Helpers.updatedState(state, \"cjmCustomerFeedback\", customerFeedbacks);\r\n\t\t}\r\n\t\tcase \"DELETE_CUSTOMER_FEEDBACK_DATA\": {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { cjmCustomerFeedback } = currentMap;\r\n\r\n\t\t\tconst { stageId, personaId, customerFeedbackDataId } = action.request.data;\r\n\t\t\tconst { customerFeedbackId } = action.request?.params || action?.params;\r\n\t\t\tconst customerFeedbacks = JSON.parse(JSON.stringify(cjmCustomerFeedback));\r\n\r\n\t\t\tif (customerFeedbackId) {\r\n\t\t\t\tcustomerFeedbacks[personaId][stageId] = customerFeedbacks[personaId][stageId].map((customerFeedback) => {\r\n\t\t\t\t\tif (customerFeedback.id === customerFeedbackId) {\r\n\t\t\t\t\t\tcustomerFeedback.customerFeedbackDatas = customerFeedback?.customerFeedbackDatas?.filter((contact) => contact.id !== customerFeedbackDataId) || [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn customerFeedback;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn Helpers.updatedState(state, \"cjmCustomerFeedback\", customerFeedbacks);\r\n\t\t}\r\n\t\tcase \"ORDER_SWIMLANE_DETAILS_LOCALLY\": {\r\n\t\t\tconst newState = action.payload.newState;\r\n\t\t\tconst sourceIndex = action.payload.source;\r\n\t\t\tconst destinationIndex = action.payload.destination;\r\n\t\t\tconst swimlaneId = action.payload.swimlaneId;\r\n\t\t\tlet cjmSwimLaneDetails = JSON.parse(JSON.stringify({ ...state.current_map.cjmSwimLaneDetails[swimlaneId] }));\r\n\t\t\tconst stageId_source = state.current_map.cjmStagesData[sourceIndex]?.id;\r\n\t\t\tconst stageId_destination = state.current_map.cjmStagesData[destinationIndex]?.id;\r\n\r\n\t\t\tif (stageId_source) {\r\n\t\t\t\tcjmSwimLaneDetails = {\r\n\t\t\t\t\t...cjmSwimLaneDetails,\r\n\t\t\t\t\t[stageId_source]: {\r\n\t\t\t\t\t\tid: cjmSwimLaneDetails[stageId_source]?.id || uuidv4(),\r\n\t\t\t\t\t\tswimLaneId: swimlaneId,\r\n\t\t\t\t\t\tstageId: stageId_source,\r\n\t\t\t\t\t\titems: newState[sourceIndex],\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tif (stageId_destination) {\r\n\t\t\t\tcjmSwimLaneDetails = {\r\n\t\t\t\t\t...cjmSwimLaneDetails,\r\n\t\t\t\t\t[stageId_destination]: {\r\n\t\t\t\t\t\tid: cjmSwimLaneDetails[stageId_destination]?.id || uuidv4(),\r\n\t\t\t\t\t\tswimLaneId: swimlaneId,\r\n\t\t\t\t\t\tstageId: stageId_destination,\r\n\t\t\t\t\t\titems: newState[destinationIndex],\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tcjmSwimLaneDetails = {\r\n\t\t\t\t...state.current_map.cjmSwimLaneDetails,\r\n\t\t\t\t[swimlaneId]: cjmSwimLaneDetails,\r\n\t\t\t};\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, { cjmSwimLaneDetails });\r\n\t\t}\r\n\t\tcase \"UNLINK_INSIGHT_ON_MAP\": {\r\n\t\t\tconst { swimLaneItemId, customSwimLaneId, stageId } = action.request.data;\r\n\t\t\tconst cjmSwimLaneDetails = { ...state.current_map.cjmSwimLaneDetails };\r\n\t\t\tconst swimLane = cjmSwimLaneDetails[customSwimLaneId];\r\n\t\t\tconst stage = swimLane[stageId];\r\n\t\t\tstage.items = stage.items.remove(swimLaneItemId);\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, cjmSwimLaneDetails);\r\n\t\t}\r\n\t\tcase \"LINK_INSIGHT_ON_MAP\": {\r\n\t\t\tconst { swimLaneItemIds, insightIds, customSwimLaneId, stageId } = action.request.data;\r\n\r\n\t\t\t// Clone the current map's cjmSwimLaneDetails to avoid mutation\r\n\t\t\tconst cjmSwimLaneDetails = { ...state.current_map.cjmSwimLaneDetails };\r\n\r\n\t\t\t// Ensure the customSwimLaneId exists in the details\r\n\t\t\tif (!cjmSwimLaneDetails[customSwimLaneId]) {\r\n\t\t\t\tcjmSwimLaneDetails[customSwimLaneId] = {};\r\n\t\t\t}\r\n\r\n\t\t\t// Get or initialize the swim lane\r\n\t\t\tconst swimLane = cjmSwimLaneDetails[customSwimLaneId];\r\n\t\t\tif (!swimLane[stageId]) {\r\n\t\t\t\tswimLane[stageId] = {\r\n\t\t\t\t\tid: uuidv4(),\r\n\t\t\t\t\tswimLaneId: customSwimLaneId,\r\n\t\t\t\t\tstageId: stageId,\r\n\t\t\t\t\titems: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\t// Create new items\r\n\t\t\tconst newItems = swimLaneItemIds.map((id, i) => ({\r\n\t\t\t\tid,\r\n\t\t\t\tinsightId: insightIds[i],\r\n\t\t\t\ticons: [],\r\n\t\t\t\tname: \"\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t}));\r\n\r\n\t\t\t// Update stage items immutably\r\n\t\t\tconst updatedStage = {\r\n\t\t\t\t...swimLane[stageId],\r\n\t\t\t\titems: [...(swimLane[stageId]?.items || []), ...newItems],\r\n\t\t\t};\r\n\r\n\t\t\t// Update the swim lane immutably\r\n\t\t\tcjmSwimLaneDetails[customSwimLaneId] = {\r\n\t\t\t\t...swimLane,\r\n\t\t\t\t[stageId]: updatedStage,\r\n\t\t\t};\r\n\t\t\t// Return the updated state using the helper\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, { cjmSwimLaneDetails });\r\n\t\t}\r\n\r\n\t\tcase success(\"ASSISTANT_CJM\"): {\r\n\t\t\tconst { keys } = requestParams;\r\n\t\t\tconst extractedKeys = keys?.split(\"|\");\r\n\t\t\tconst swimLaneKey = extractedKeys?.[0];\r\n\t\t\tconst stageId = extractedKeys?.[1];\r\n\r\n\t\t\tif (!swimLaneKey) return state;\r\n\r\n\t\t\tconst response = JSON.parse(JSON.stringify({ ...state.cjmAssistant }));\r\n\t\t\tif (response?.[swimLaneKey] === undefined) {\r\n\t\t\t\tresponse[swimLaneKey] = {};\r\n\t\t\t}\r\n\r\n\t\t\tresponse[swimLaneKey] = { ...response[swimLaneKey], [stageId]: responseData };\r\n\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, {}, { cjmAssistant: response });\r\n\t\t}\r\n\t\tcase \"RESET_ASSISTANT_CJM\": {\r\n\t\t\tconst keys = action.payload.split(\"|\");\r\n\t\t\tconst response = JSON.parse(JSON.stringify({ ...state.cjmAssistant }));\r\n\t\t\tif (response[keys[0]] && response[keys[0]][keys[1]]) {\r\n\t\t\t\tdelete response[keys[0]][keys[1]];\r\n\t\t\t}\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, {}, { cjmAssistant: response });\r\n\t\t}\r\n\r\n\t\tcase \"UPDATE_CJM_NAME\": {\r\n\t\t\tconst { newValue, cjmIdStr } = action?.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_maps: state.all_maps?.map((map) => {\r\n\t\t\t\t\tif (map.cjmId === cjmIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...map,\r\n\t\t\t\t\t\t\tname: decode(newValue),\r\n\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn map;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmName: decode(newValue),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ONLINE_USER_REGISTRY\":\r\n\t\tcase \"ONLINE_USER_REGISTRY_LOGOUT\":\r\n\t\tcase \"ONLINE_USER_REGISTRY_LOGOUT_CLOSE\": {\r\n\t\t\tconst { userIds } = action?.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tusersLogin: userIds,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"GET_STAGES_PHASES\":\r\n\t\tcase \"GET_CJM_CXGOALS\":\r\n\t\tcase \"GET_CJM_TIME_LINES\":\r\n\t\tcase \"GET_CJM_HEADER_FIELDS\":\r\n\t\tcase \"GET_CJM_SWIM_LANE_DETAILS\":\r\n\t\tcase \"GET_CJM_CUSTOMER_FEEDBACK\":\r\n\t\tcase \"GET_COMMENTS\":\r\n\t\tcase \"GET_CJM_STAGES_CUSTOME_REXPERIENCE_DATA\":\r\n\t\tcase \"GET_PERSONA_DATA\":\r\n\t\tcase \"GET_CJM_INTERACTIONS\":\r\n\t\tcase \"GET_CJM_SWIM_LANE\":\r\n\t\tcase \"GET_CONTACT_DATA\":\r\n\t\tcase \"GET_PERSONA_INTERACTION_BY_STAGE\":\r\n\t\t\treturn Helpers.incrementPendingRequests(state);\r\n\t\tcase success(\"GET_STAGES_PHASES\"): {\r\n\t\t\tconst data = responseData;\r\n\t\t\t// Exit early if data is not valid\r\n\t\t\tif (!data) return state;\r\n\r\n\t\t\t// Phases and stages extraction and sorting\r\n\t\t\tconst phases = Helpers.extractAndSortData(data.cjmPhasesData);\r\n\t\t\tconst stages = Helpers.extractAndSortData(data.cjmStagesData);\r\n\r\n\t\t\t// Data updates\r\n\t\t\tdata.cjmPhasesData = phases;\r\n\t\t\tdata.cjmStagesData = phases.map((phase) => stages.filter((stage) => stage.phase.id == phase.id)).flat();\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmPhasesData: data.cjmPhasesData.map((phase) => {\r\n\t\t\t\t\t\tif ([\"name\", \"color\", \"description\", \"width\"].includes(requestParams?.type) && requestParams?.phaseId === phase.id) {\r\n\t\t\t\t\t\t\tphase.render = Math.random();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (requestParams === \"cem_stage\") {\r\n\t\t\t\t\t\t\tphase.render = Math.random();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn phase;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tcjmStagesData: data.cjmStagesData?.map((stage) => {\r\n\t\t\t\t\t\tif ([\"name\", \"color\", \"description\", \"width\"].includes(requestParams?.type) && requestParams?.stageId === stage.id) {\r\n\t\t\t\t\t\t\tstage.render = Math.random();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (requestParams === \"cem_stage\") {\r\n\t\t\t\t\t\t\tstage.render = Math.random();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\r\n\r\n\t\t\t\t},\r\n\t\t\t\tpendingRequests: state.pendingRequests - 1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CJM_CXGOALS\"):\r\n\t\tcase success(\"GET_CJM_TIME_LINES\"):\r\n\t\tcase success(\"GET_CJM_HEADER_FIELDS\"):\r\n\t\tcase success(\"GET_CJM_SWIM_LANE_DETAILS\"):\r\n\t\tcase success(\"GET_CJM_CUSTOMER_FEEDBACK\"): {\r\n\t\t\t// Exit early if data is not valid\r\n\t\t\tif (!responseData) return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\t...responseData,\r\n\t\t\t\t},\r\n\t\t\t\tpendingRequests: state.pendingRequests - 1,\r\n\t\t\t\trenderCollaborative: action.meta.requestAction.params?.collab ? `${action.type}_${Math.random()}` : null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"GET_CJM_STAGES_CUSTOME_REXPERIENCE_DATA\"): {\r\n\t\t\tconst data = responseData;\r\n\t\t\t// Exit early if data is not valid\r\n\t\t\tif (!data) return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesCustomerExperienceData: { ...data.cjmStagesCustomerExperienceData, render: Math.random() },\r\n\t\t\t\t},\r\n\t\t\t\tpendingRequests: state.pendingRequests - 1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_PERSONA_DATA\"): {\r\n\t\t\tconst data = responseData;\r\n\t\t\t// Exit early if data is not valid\r\n\t\t\tif (!data) return state;\r\n\r\n\t\t\tdata.cjmPersonasData = Object.entries(data.cjmPersonasData).map(([, persona]) => persona);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\t...data,\r\n\t\t\t\t},\r\n\t\t\t\tpendingRequests: state.pendingRequests - 1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CJM_INTERACTIONS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\t...responseData,\r\n\t\t\t\t},\r\n\t\t\t\tpendingRequests: state.pendingRequests - 1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CONTACT_DATA\"): {\r\n\t\t\tconst cjmContactData = responseData?.cjmContactData || {};\r\n\t\t\tconst { personaIdStr } = action.meta.requestAction.params;\r\n\t\t\tconst stages = state.current_map.cjmStagesData;\r\n\t\t\tlet interactionCountByStage = Helpers.calculteRoutes(cjmContactData, personaIdStr);\r\n\t\t\tconst cjmPersonasInteractionscalculated = Helpers.applyRoutesPersonaInteractions(state.current_map?.cjmInteractions?.[personaIdStr] || {}, interactionCountByStage, stages);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmContactData: cjmContactData,\r\n\t\t\t\t\tcjmInteractions: { ...state.current_map.cjmInteractions, [personaIdStr]: cjmPersonasInteractionscalculated },\r\n\t\t\t\t},\r\n\t\t\t\tpendingRequests: state.pendingRequests - 1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CJM_SWIM_LANE\"): {\r\n\t\t\tconst data = responseData;\r\n\t\t\t// Exit early if data is not valid\r\n\t\t\tif (!data) return state;\r\n\r\n\t\t\tdata.cjmSwimLanes = Helpers.extractAndSortData(data.cjmSwimLanes)?.map((swimLane) => {\r\n\t\t\t\tswimLane.sentimentsConfig = JSON.parse(swimLane.sentimentsConfig);\r\n\t\t\t\tif (requestParams.exportingPdf) {\r\n\t\t\t\t\tswimLane.expandedCard = true;\r\n\t\t\t\t}\r\n\t\t\t\treturn swimLane;\r\n\t\t\t});\r\n\t\t\tconst StageIndex = data.cjmSwimLanes.findIndex((stage) => stage.id === \"StageHeaders\");\r\n\t\t\tdata.cjmSwimLanes = reorder(data.cjmSwimLanes, StageIndex, data.cjmSwimLanes.length - 1);\r\n\t\t\tconst PhaseIndex = data.cjmSwimLanes.findIndex((stage) => stage.id === \"PhaseHeaders\");\r\n\t\t\tdata.cjmSwimLanes = reorder(data.cjmSwimLanes, PhaseIndex, data.cjmSwimLanes.length - 1);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\t...data,\r\n\t\t\t\t},\r\n\t\t\t\tpendingRequests: state.pendingRequests - 1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPLOAD_IMG\": {\r\n\t\t\tconst { customSwimLaneId, stageId } = action?.payload;\r\n\t\t\tconst collaborative_update1 = state.current_map?.collaborative_update || {};\r\n\t\t\treturn Helpers.updatedState(state, \"collaborative_update\", {\r\n\t\t\t\t...collaborative_update1,\r\n\t\t\t\t[`${customSwimLaneId}_${stageId}`]: stageId + \"_\" + Math.random(),\r\n\t\t\t});\r\n\t\t}\r\n\t\tcase \"UPLOAD_STAGE_IMG\": {\r\n\t\t\tconst { stageId } = action?.payload;\r\n\r\n\t\t\tconst updatedcjmStagesData = state.current_map?.cjmStagesData?.map((stage) => {\r\n\t\t\t\tif (stage.id === stageId) {\r\n\t\t\t\t\tstage.render = Math.random();\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn stage;\r\n\t\t\t});\r\n\r\n\t\t\treturn Helpers.updatedState(state, \"cjmStagesData\", updatedcjmStagesData);\r\n\t\t}\r\n\t\tcase \"SET_CREATION_CJM_PARAMS\":\r\n\t\t\treturn { ...state, creationCjmParams: action.payload };\r\n\t\tcase \"SET_AI_GENERATION\":\r\n\t\t\treturn { ...state, aiGeneration: action.payload };\r\n\t\tcase error(\"GET_STAGES_PHASES\"):\r\n\t\tcase error(\"GET_CJM_CXGOALS\"):\r\n\t\tcase error(\"GET_CJM_TIME_LINES\"):\r\n\t\tcase error(\"GET_CJM_HEADER_FIELDS\"):\r\n\t\tcase error(\"GET_CJM_SWIM_LANE_DETAILS\"):\r\n\t\tcase error(\"GET_CJM_CUSTOMER_FEEDBACK\"):\r\n\t\tcase error(\"GET_COMMENTS\"):\r\n\t\tcase error(\"GET_CJM_STAGES_CUSTOME_REXPERIENCE_DATA\"):\r\n\t\tcase error(\"GET_PERSONA_DATA\"):\r\n\t\tcase error(\"GET_CJM_INTERACTIONS\"):\r\n\t\tcase error(\"GET_CJM_SWIM_LANE\"):\r\n\t\tcase error(\"GET_PERSONA_INTERACTION_BY_STAGE\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpendingRequests: state.pendingRequests - 1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_PERSONA_INTERACTION_BY_STAGE\"): {\r\n\t\t\tconst { current_map: currentMap } = state;\r\n\t\t\tconst { personaId, stageId, cjmId } = action.meta.requestAction?.params;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...(state.current_map.cjmInteractions[personaId] || {}),\r\n\t\t\t\t\t\t\t[stageId]: responseData,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tpendingRequests: state.pendingRequests - 1,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"SET_IS_EXPORTING\": {\r\n\t\t\tconst { isExporting } = action.payload;\r\n\t\t\treturn Helpers.updatedState(state, \"isExporting\", isExporting);\r\n\t\t}\r\n\t\tcase \"UPDATE_CJM_NAME_v1\": {\r\n\t\t\tconst { newValue, cjmIdStr } = action?.request.data;\r\n\t\t\tconst value = decode(newValue);\r\n\t\t\treturn Helpers.updateStateMuliCJM(\r\n\t\t\t\tstate,\r\n\t\t\t\t{ cjmName: value },\r\n\t\t\t\t{\r\n\t\t\t\t\tall_maps: state.all_maps.map((map) => {\r\n\t\t\t\t\t\tif (map.cjmId === cjmIdStr) {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...map,\r\n\t\t\t\t\t\t\t\tname: value,\r\n\t\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn map;\r\n\t\t\t\t\t}),\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t\tcase success(\"UPDATE_STAGE_GLOBAL_INSIGHTS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmStagesData: state.current_map.cjmStagesData?.map((stage) => {\r\n\t\t\t\t\t\tif (stage.id === requestData.stageIdStr) {\r\n\t\t\t\t\t\t\tstage.conclusions = decode(requestData.newValue);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stage;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"LINK_RECORDS_ON_MAP\": {\r\n\t\t\tconst { swimLaneItemIds, objIds, customSwimLaneId, stageId } = action?.request?.data || {};\r\n\t\t\tconst { attributeId } = action?.params || {};\r\n\t\t\tconst cjmSwimLaneDetails = { ...state.current_map.cjmSwimLaneDetails };\r\n\r\n\t\t\t// Ensure customSwimLaneId exists in cjmSwimLaneDetails\r\n\t\t\tif (!cjmSwimLaneDetails[customSwimLaneId]) {\r\n\t\t\t\tcjmSwimLaneDetails[customSwimLaneId] = {};\r\n\t\t\t}\r\n\r\n\t\t\tconst swimLane = cjmSwimLaneDetails[customSwimLaneId];\r\n\r\n\t\t\t// Ensure stageId exists in swimLane\r\n\t\t\tif (!swimLane[stageId]) {\r\n\t\t\t\tswimLane[stageId] = {\r\n\t\t\t\t\tid: uuidv4(),\r\n\t\t\t\t\tswimLaneId: customSwimLaneId,\r\n\t\t\t\t\tstageId: stageId,\r\n\t\t\t\t\titems: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tconst stage = swimLane[stageId];\r\n\r\n\t\t\t// Map new items with proper attributes\r\n\t\t\tconst newItems = swimLaneItemIds.map((id, i) => ({\r\n\t\t\t\tid: id,\r\n\t\t\t\t[attributeId]: objIds[i],\r\n\t\t\t\ticons: [],\r\n\t\t\t\tname: \"\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t}));\r\n\r\n\t\t\t// Add new items immutably\r\n\t\t\tconst updatedStage = {\r\n\t\t\t\t...stage,\r\n\t\t\t\titems: [...(stage.items || []), ...newItems],\r\n\t\t\t};\r\n\r\n\t\t\t// Update the swim lane immutably\r\n\t\t\tconst updatedSwimLane = {\r\n\t\t\t\t...swimLane,\r\n\t\t\t\t[stageId]: updatedStage,\r\n\t\t\t};\r\n\r\n\t\t\t// Update cjmSwimLaneDetails immutably\r\n\t\t\tconst updatedCjmSwimLaneDetails = {\r\n\t\t\t\t...cjmSwimLaneDetails,\r\n\t\t\t\t[customSwimLaneId]: updatedSwimLane,\r\n\t\t\t};\r\n\r\n\t\t\t// Update the state using the helper\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, {\r\n\t\t\t\tcjmSwimLaneDetails: updatedCjmSwimLaneDetails,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tcase \"UNLINK_RECORDS_ON_MAP\": {\r\n\t\t\tif (!hasAttribute(state.current_map, \"cjmSwimLaneDetails\")) return state;\r\n\r\n\t\t\tconst { swimLaneItemIds, customSwimLaneId, stageId } = action.request.data;\r\n\t\t\tconst currentSwimLaneDetails = { ...state.current_map.cjmSwimLaneDetails };\r\n\t\t\t// Ensure `customSwimLaneId` exists in `cjmSwimLaneDetails`\r\n\t\t\tif (!currentSwimLaneDetails[customSwimLaneId]) {\r\n\t\t\t\tcurrentSwimLaneDetails[customSwimLaneId] = {};\r\n\t\t\t}\r\n\r\n\t\t\t// Ensure `stageId` exists before calling the helper function\r\n\t\t\tconst stageDetails = currentSwimLaneDetails[customSwimLaneId][stageId] || { items: [] };\r\n\t\t\tconst updatedStageDetails = {\r\n\t\t\t\t...stageDetails,\r\n\t\t\t\titems: stageDetails.items.filter((item) => !swimLaneItemIds.includes(item.id)),\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t\t...currentSwimLaneDetails,\r\n\t\t\t\t\t\t[customSwimLaneId]: {\r\n\t\t\t\t\t\t\t...currentSwimLaneDetails[customSwimLaneId],\r\n\t\t\t\t\t\t\t[stageId]: updatedStageDetails,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"DELETE_SOLUTION\"):\r\n\t\tcase success(\"ARCHIVE_SOLUTION\"): {\r\n\t\t\tconst { id } = requestData;\r\n\t\t\tif (!state.current_map.cjmSwimLaneDetails) return state;\r\n\r\n\t\t\tconst cjmSwimLaneDetails = Object.entries(state.current_map.cjmSwimLaneDetails)?.reduce((acc, [key, value]) => {\r\n\t\t\t\tacc[key] = Object.entries(value).reduce((acc2, [key2, value2]) => {\r\n\t\t\t\t\tacc2[key2] = { ...value2, items: value2.items.filter((item) => item.solutionId !== id) };\r\n\t\t\t\t\treturn acc2;\r\n\t\t\t\t}, {});\r\n\t\t\t\treturn acc;\r\n\t\t\t}, {});\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, { cjmSwimLaneDetails });\r\n\t\t}\r\n\t\tcase success(\"DELETE_OPPORTUNITY\"):\r\n\t\tcase success(\"ARCHIVE_OPPORTUNITY\"): {\r\n\t\t\tconst { id } = requestData;\r\n\t\t\tif (!state.current_map.cjmSwimLaneDetails) return state;\r\n\r\n\t\t\tconst cjmSwimLaneDetails = Object.entries(state.current_map.cjmSwimLaneDetails)?.reduce((acc, [key, value]) => {\r\n\t\t\t\tacc[key] = Object.entries(value).reduce((acc2, [key2, value2]) => {\r\n\t\t\t\t\tacc2[key2] = { ...value2, items: value2.items.filter((item) => item.opportunityId !== id) };\r\n\t\t\t\t\treturn acc2;\r\n\t\t\t\t}, {});\r\n\t\t\t\treturn acc;\r\n\t\t\t}, {});\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, { cjmSwimLaneDetails });\r\n\t\t}\r\n\t\tcase success(\"DELETE_CX_ACTION\"):\r\n\t\tcase success(\"ARCHIVE_CX_ACTION\"): {\r\n\t\t\tconst { id } = requestData;\r\n\t\t\tif (!state.current_map.cjmSwimLaneDetails) return state;\r\n\t\t\tconst cjmSwimLaneDetails = Object.entries(state.current_map.cjmSwimLaneDetails)?.reduce((acc, [key, value]) => {\r\n\t\t\t\tacc[key] = Object.entries(value).reduce((acc2, [key2, value2]) => {\r\n\t\t\t\t\tacc2[key2] = { ...value2, items: value2.items.filter((item) => item.cxActionId !== id) };\r\n\t\t\t\t\treturn acc2;\r\n\t\t\t\t}, {});\r\n\t\t\t\treturn acc;\r\n\t\t\t}, {});\r\n\t\t\treturn Helpers.updateStateMuliCJM(state, { cjmSwimLaneDetails });\r\n\t\t}\r\n\t\tcase success(\"GET_SUBSCRIPTION_DETAILS\"):\r\n\t\t\tif (responseData.aiPurchased === false) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tsubscriptionDetails: { ...responseData, aiEnabled: false, aiConsentGiven: false } || {},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsubscriptionDetails: responseData || {},\r\n\t\t\t};\r\n\t\tcase \"UPDATE_TOGGLE_COMMENT\": {\r\n\t\t\tconst currentMap = state.current_map;\r\n\t\t\tconst { show } = action.request.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...currentMap,\r\n\t\t\t\t\tshowComments: show,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_TOGGLE_COMMENT_RESOLVED\": {\r\n\t\t\tconst currentMap = state.current_map;\r\n\t\t\tconst { show } = action.request.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...currentMap,\r\n\t\t\t\t\tshowResolvedComments: show,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_MAP_AUDIT\"): {\r\n\t\t\tconst currentMap = state.current_map;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...currentMap,\r\n\t\t\t\t\thistoryData: responseData,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_INTERACTION\"): {\r\n\t\t\tconst { personaInteractionId, personaId, stageId } = action.meta.requestAction.params;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_map: {\r\n\t\t\t\t\t...state.current_map,\r\n\t\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t\t...state.current_map.cjmInteractions,\r\n\t\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t\t...state.current_map.cjmInteractions[personaId],\r\n\t\t\t\t\t\t\t[stageId]: state.current_map.cjmInteractions[personaId]?.[stageId].map((interaction) => {\r\n\t\t\t\t\t\t\t\tif (interaction.id === personaInteractionId) {\r\n\t\t\t\t\t\t\t\t\tinteraction = responseData;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn interaction;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default CJMReducer;\r\n","import { success } from \"@redux-requests/core\";\r\nimport { decode, EMPTY_GUID } from \"@utils/helpers\";\r\n\r\nconst initialState = {\r\n\terror: null,\r\n\tloading: false,\r\n};\r\n\r\nconst LibrariesReducer = (state = initialState, action) => {\r\n\tconst requestData = action?.meta?.requestAction?.request?.data;\r\n\tconst responseData = action?.response?.data;\r\n\tconst requestParams = action?.meta?.requestAction?.params;\r\n\r\n\tswitch (action.type) {\r\n\t\tcase success(\"TOUCHPOINT_INIT\"): {\r\n\t\t\tconst idTopUpdate = requestParams;\r\n\t\t\tlet touchpointArray = Object.entries(action.response.data).map((touch) => touch[1]);\r\n\t\t\tconst Generic = touchpointArray.find((tp) => tp.number === \"00032\" && !tp.isCustom);\r\n\t\t\tif (idTopUpdate) {\r\n\t\t\t\ttouchpointArray = touchpointArray.map((tp) => {\r\n\t\t\t\t\tif (tp.id === idTopUpdate) {\r\n\t\t\t\t\t\ttp.render = Math.random();\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn tp;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttouchPoint: touchpointArray || [],\r\n\t\t\t\tgeneric: Generic,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_ALL_CX_METRICS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcxMetrics: Object.entries(action.response.data).map((metric) => metric[1]) || [],\r\n\t\t\t};\r\n\t\tcase success(\"GET_ALL_STAKEHOLDER_ROLES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tstakeholderRoles: Object.entries(action.response.data).map((role) => role[1]) || [],\r\n\t\t\t};\r\n\t\tcase success(\"SYSTEM_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsystem: Object.entries(action.response.data).map((sys) => sys[1]) || [],\r\n\t\t\t};\r\n\t\tcase success(\"DEPARTMENT_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdepartment: Object.entries(action.response.data).map((dep) => dep[1]) || [],\r\n\t\t\t};\r\n\r\n\t\tcase success(\"ICONS_INIT\"): {\r\n\t\t\tconst updatedId = requestParams;\r\n\t\t\tconst allIcons = Object.entries(action.response.data).map((icon) => icon[1]) || [];\r\n\t\t\tconst updatedIcons = allIcons.map((icon) => {\r\n\t\t\t\tif (icon.id === updatedId) {\r\n\t\t\t\t\ticon.render = Math.random();\r\n\t\t\t\t}\r\n\t\t\t\treturn icon;\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ticons: updatedIcons,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"BRAND_VALUE_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tbrandValues: Object.entries(action.response.data).map((x) => x[1]) || [],\r\n\t\t\t};\r\n\r\n\t\tcase success(\"TAG_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttags: Object.entries(action.response.data).map((x) => x[1]) || [],\r\n\t\t\t};\r\n\t\tcase success(\"MEASURE_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmeasures: Object.entries(action.response.data).map((x) => x[1]) || [],\r\n\t\t\t};\r\n\t\tcase success(\"CX_GOALS_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcxGoals: Object.entries(action.response.data).map((x) => x[1]) || [],\r\n\t\t\t};\r\n\t\tcase success(\"GET_ALL_INSIGHT_TYPES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tinsightTypes: Object.entries(action.response.data).map((x) => x[1]) || [],\r\n\t\t\t};\r\n\t\tcase success(\"TOUCHPOINT_CATEGORIES_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttouchPointCategories: Object.entries(action.response.data).map((x) => x[1]) || [],\r\n\t\t\t};\r\n\t\tcase success(\"CREATE_INSIGHT_TYPE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tinsightTypes: [...state.insightTypes, action.response.data],\r\n\t\t\t};\r\n\t\tcase \"UPDATE_INSIGHT_TYPE\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tinsightTypes: state.insightTypes?.map((insightType) => {\r\n\t\t\t\t\tif (insightType.id === action?.request?.data?.modifiedInsightType?.id) {\r\n\t\t\t\t\t\tinsightType.name = decode(action?.request?.data?.modifiedInsightType?.name);\r\n\t\t\t\t\t\tinsightType.colorCode = action?.request?.data?.modifiedInsightType?.colorCode;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn insightType;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_INSIGHT_TYPE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tinsightTypes: state.insightTypes?.filter((insightType) => insightType.id !== action.meta.requestAction.request.data.id),\r\n\t\t\t};\r\n\t\tcase success(\"UPSERT_TAG\"): {\r\n\t\t\tconst tag = requestData?.tag;\r\n\t\t\tif (tag.id !== EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\ttags: state.tags?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === tag.id) return { ...tag, name: decode(tag.name) };\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tconst newObject = { ...tag, id: responseData, name: decode(tag.name) };\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\ttags: [...state.tags, newObject],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"TAG_GET_RELATED_RECORDS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttags: state.tags.map((tag) => {\r\n\t\t\t\t\tif (tag.id === responseData.id) {\r\n\t\t\t\t\t\ttag = responseData;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn tag;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\r\n\t\tcase success(\"DELETE_TAG\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttags: state.tags?.filter((tag) => tag.id !== action.meta.requestAction.request.data.tagId),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MEASURE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmeasures: state.measures?.filter((measure) => measure.id !== action.meta.requestAction.request.data.measureId),\r\n\t\t\t};\r\n\r\n\t\tcase \"DELETE_CUSTOM_ICON\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ticons: state.icons.filter((icon) => icon.id !== action.request.data.iconIdStr),\r\n\t\t\t};\r\n\t\tcase success(\"CREATE_ICON\"):\r\n\t\tcase success(\"COPY_CUSTOM_ICON\"): {\r\n\t\t\tif (action.response.data && action.response.data?.id) {\r\n\t\t\t\tconst newIcon = { ...action.response.data, setFocus: true };\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\ticons: [\r\n\t\t\t\t\t\t...state.icons.map((icon) => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...icon,\r\n\t\t\t\t\t\t\t\tsetFocus: false,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tnewIcon,\r\n\t\t\t\t\t],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn { ...state };\r\n\t\t}\r\n\t\tcase success(\"UPDATE_CUSTOM_ICON\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ticons: state.icons.map((icon) => {\r\n\t\t\t\t\tif (icon.id === action.meta.requestAction.request.data.iconIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...icon,\r\n\t\t\t\t\t\t\tname: decode(action.meta.requestAction.request.data.newIconName),\r\n\t\t\t\t\t\t\tcategory: action.meta.requestAction.request.data.category,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn icon;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"ICONS_GET_RELATED_RECORDS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ticons: state.icons.map((icon) => {\r\n\t\t\t\t\tif (icon.id === responseData.id) {\r\n\t\t\t\t\t\ticon = responseData;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn icon;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"ICON_GET_RELATED_RECORDS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ticons: state.icons.map((icon) => {\r\n\t\t\t\t\tif (icon.id === responseData.id) {\r\n\t\t\t\t\t\ticon = responseData;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn icon;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"CREATE_TOUCHPOINT\"): {\r\n\t\t\tconst newTouchPoint = {\r\n\t\t\t\tname: decode(action.meta.requestAction.request.data.newChannelName),\r\n\t\t\t\tcategoryId: action.meta.requestAction.request.data.categoryId,\r\n\t\t\t\tisCustom: true,\r\n\t\t\t\tid: action.response.data,\r\n\t\t\t\tweight: action.meta.requestAction.request.data.weight,\r\n\t\t\t\tsetFocus: true,\r\n\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttouchPoint: [\r\n\t\t\t\t\t...state.touchPoint.map((touchpoint) => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...touchpoint,\r\n\t\t\t\t\t\t\tsetFocus: false,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tnewTouchPoint,\r\n\t\t\t\t],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_CUSTOM_TOUCHPOINT\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttouchPoint: state.touchPoint.filter((tp) => tp.id !== action.request.data.channelIdStr),\r\n\t\t\t};\r\n\r\n\t\tcase success(\"TOUCHPOINT_GET_RELATED_RECORDS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttouchPoint: state.touchPoint.map((tp) => {\r\n\t\t\t\t\tif (tp.id === responseData.id) {\r\n\t\t\t\t\t\ttp = responseData;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn tp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_CUSTOM_TOUCHPOINT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttouchPoint: state.touchPoint.map((tp) => {\r\n\t\t\t\t\tif (tp.id === requestData.channelIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...tp,\r\n\t\t\t\t\t\t\tname: decode(requestData.newChannelName),\r\n\t\t\t\t\t\t\tcategoryId: requestData.categoryId,\r\n\t\t\t\t\t\t\tweight: requestData.weight,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn tp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"COPY_CUSTOM_TOUCHPOINT\"): {\r\n\t\t\tif (action.response.data && action.response.data?.id) {\r\n\t\t\t\tconst newTouchPoint = {\r\n\t\t\t\t\t...action.response.data,\r\n\t\t\t\t\tsetFocus: true,\r\n\t\t\t\t};\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\ttouchPoint: [\r\n\t\t\t\t\t\t...state.touchPoint.map((touchpoint) => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...touchpoint,\r\n\t\t\t\t\t\t\t\tsetFocus: false,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tnewTouchPoint,\r\n\t\t\t\t\t],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn { ...state };\r\n\t\t}\r\n\t\tcase success(\"PRIORITY_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpriority: {\r\n\t\t\t\t\tcxActions: Object.entries(action.response.data?.Action)?.map((Actions) => Actions[1]),\r\n\t\t\t\t\topportunity: Object.entries(action.response.data?.Opportunity)?.map((opportunity) => opportunity[1]),\r\n\t\t\t\t\tproject: Object.entries(action.response.data?.Project)?.map((project) => project[1]),\r\n\t\t\t\t\tinsight: Object.entries(action.response.data?.Insight)?.map((insight) => insight[1]),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"STATUS_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tstatus: {\r\n\t\t\t\t\tcxActions: Object.entries(action.response.data.Action)?.map((Actions) => Actions[1]),\r\n\t\t\t\t\tsolutions: Object.entries(action.response.data.Solution)?.map((Solution) => Solution[1]),\r\n\t\t\t\t\topportunity: Object.entries(action.response.data.Opportunity)?.map((opportunity) => opportunity[1]),\r\n\t\t\t\t\tcustomerJourney: Object.entries(action.response.data?.CustomerJourney)?.map((cjm) => cjm[1]),\r\n\t\t\t\t\tproject: Object.entries(action.response.data?.Project)?.map((project) => project[1]),\r\n\t\t\t\t\tinsight: Object.entries(action.response.data?.Insight)?.map((insight) => insight[1]),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\tcase success(\"GROUP_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgroup: Object.entries(action.response.data)?.map((group) => group[1]),\r\n\t\t\t};\r\n\t\tcase \"UPDATE_STATUS\": {\r\n\t\t\tconst { type } = action?.params || {};\r\n\t\t\tconst { modifiedAttribNames, modifiedStatus } = action?.request?.data || {};\r\n\r\n\t\t\tconst updatedStatus = state.status[type]?.map((status) => {\r\n\t\t\t\tif (status.id === modifiedStatus.id) {\r\n\t\t\t\t\tmodifiedAttribNames.forEach((modifiedAttribute) => {\r\n\t\t\t\t\t\tif (modifiedAttribute === \"name\") {\r\n\t\t\t\t\t\t\tstatus.name = decode(modifiedStatus.name);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tstatus[modifiedAttribute] = modifiedStatus[modifiedAttribute];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn status;\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tstatus: { ...state.status, [type]: updatedStatus },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ADD_STATUS\"): {\r\n\t\t\tconst statusType = action.meta.requestAction.params.type;\r\n\t\t\tconst relevantStatusArray = state.status[statusType];\r\n\t\t\tconst updatedStatusAr = [...relevantStatusArray, action.response.data];\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tstatus: { ...state.status, [statusType]: updatedStatusAr },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"REMOVE_STATUS\"): {\r\n\t\t\tconst category = action.meta.requestAction.params.type;\r\n\t\t\tconst idToRemove = action.meta.requestAction.request.data.StatusId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tstatus: { ...state.status, [category]: state.status[category].filter((st) => st.id !== idToRemove) },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_PRIORITY\": {\r\n\t\t\tconst priorityTypeUpdate = action?.params?.type;\r\n\t\t\tconst modifiedAttributes1 = action?.request?.data?.modifiedAttribNames;\r\n\t\t\tconst modifiedPriority = action?.request?.data.modifiedPriority;\r\n\r\n\t\t\tconst updatedPriorityArray = state.priority[priorityTypeUpdate].map((pt) => {\r\n\t\t\t\tif (pt.id === modifiedPriority.id) {\r\n\t\t\t\t\tmodifiedAttributes1.forEach((modifiedAttribute) => {\r\n\t\t\t\t\t\tpt[modifiedAttribute] = modifiedAttribute === \"name\" ? decode(modifiedPriority[modifiedAttribute]) : modifiedPriority[modifiedAttribute];\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn pt;\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpriority: { ...state.priority, [priorityTypeUpdate]: updatedPriorityArray },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ADD_PRIORITY\"): {\r\n\t\t\tconst ptType = action.meta.requestAction.params.type;\r\n\t\t\tconst relevantPriorityArray = state.priority[ptType];\r\n\t\t\tconst updatedptAr = [...relevantPriorityArray, action.response.data];\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpriority: { ...state.priority, [ptType]: updatedptAr },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"REMOVE_PRIORITY\"): {\r\n\t\t\tconst categoryRelevant = action.meta.requestAction.params.type;\r\n\t\t\tconst idToDelete = action.meta.requestAction.request.data.priorityId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpriority: { ...state.priority, [categoryRelevant]: state.priority[categoryRelevant].filter((st) => st.id !== idToDelete) },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_GROUP\": {\r\n\t\t\tconst { modifiedGroup, modifiedAttribNames } = action?.request?.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgroup: state.group.map((pt) => {\r\n\t\t\t\t\tif (pt.id === modifiedGroup.id) {\r\n\t\t\t\t\t\tmodifiedAttribNames.forEach((modifiedAttribute) => {\r\n\t\t\t\t\t\t\tpt[modifiedAttribute] = modifiedAttribute === \"name\" ? decode(modifiedGroup[modifiedAttribute]) : modifiedGroup[modifiedAttribute];\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn pt;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ADD_GROUP\"): {\r\n\t\t\tconst updatedGroupAr = [...state.group, action.response.data];\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgroup: updatedGroupAr,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"REMOVE_GROUP\"): {\r\n\t\t\tconst groupIdToDelete = action.meta.requestAction.request.data.groupId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgroup: state.group.filter((st) => st.id !== groupIdToDelete),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ADD_BRAND_VALUE\"): {\r\n\t\t\tconst newbrandValue = { ...action.response.data, setFocus: true };\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tbrandValues: [\r\n\t\t\t\t\t...state.brandValues.map((bv) => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...bv,\r\n\t\t\t\t\t\t\tsetFocus: false,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tnewbrandValue,\r\n\t\t\t\t],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_BRAND_VALUE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tbrandValues: state.brandValues.filter((bv) => bv.id !== action.meta.requestAction.request.data.brandValueId),\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_BRAND_VALUE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tbrandValues: state.brandValues?.map((bv) => {\r\n\t\t\t\t\tif (bv.id === action.meta.requestAction.request.data.modifiedBrandValue.id) {\r\n\t\t\t\t\t\tbv = action.response.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn bv;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"BRAND_VALUE_GET_RELATED_RECORDS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tbrandValues: state.brandValues.map((bv) => {\r\n\t\t\t\t\tif (bv.id === responseData.id) {\r\n\t\t\t\t\t\tbv = responseData;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn bv;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\r\n\t\tcase success(\"CREATE_CX_METRIC\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcxMetrics: [...state.cxMetrics, action?.response?.data],\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_CX_METRIC\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcxMetrics: state.cxMetrics?.map((cxMetric) => {\r\n\t\t\t\t\tif (cxMetric.id === action.meta.requestAction.request.data.cxMeasureId) {\r\n\t\t\t\t\t\tcxMetric.name = decode(action.meta.requestAction.request.data.newName);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxMetric;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_CX_METRIC\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcxMetrics: state?.cxMetrics?.filter((cxMetric) => cxMetric.id !== action.meta.requestAction.request.data.cxMeasureId),\r\n\t\t\t};\r\n\t\tcase success(\"CREATE_STAKEHOLDER_ROLE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tstakeholderRoles: [...state.stakeholderRoles, action?.response?.data],\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_STAKEHOLDER_ROLE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tstakeholderRoles: state.stakeholderRoles?.map((stakeholderRole) => {\r\n\t\t\t\t\tif (stakeholderRole.id === action.meta.requestAction.request.data.roleId) {\r\n\t\t\t\t\t\tstakeholderRole.name = decode(action.meta.requestAction.request.data.newName);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn stakeholderRole;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_STAKEHOLDER_ROLE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tstakeholderRoles: state?.stakeholderRoles?.filter((stakeholderRole) => stakeholderRole.id !== action.meta.requestAction.request.data.roleId),\r\n\t\t\t};\r\n\t\tcase success(\"LIBRARY_INIT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcustomLibraries: action.response.data || [],\r\n\t\t\t};\r\n\t\tcase success(\"UPSERT_LIBRARY\"): {\r\n\t\t\tconst library = action.meta.requestAction.request.data.library;\r\n\t\t\tif (library.id !== EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcustomLibraries: state.customLibraries?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === library.id) return { ...action.response.data };\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tconst newObject = { ...action.response.data };\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcustomLibraries: [...state.customLibraries, newObject],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"COPY_LIBRARY\"): {\r\n\t\t\tif (action.response.data && action.response.data?.id) {\r\n\t\t\t\tconst newObject = { ...action.response.data };\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcustomLibraries: [...state.customLibraries, newObject],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn { ...state };\r\n\t\t}\r\n\t\tcase \"DELETE_LIBRARY\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcustomLibraries: state.customLibraries.filter((x) => x.id !== action.request.data.libraryId),\r\n\t\t\t};\r\n\t\tcase success(\"COPY_VALUE_LIBRARY\"): {\r\n\t\t\tconst libraryId = action.meta.requestAction.request.data.libraryId;\r\n\t\t\tif (action.response.data && action.response.data?.id) {\r\n\t\t\t\tconst newObject = { ...action.response.data, setFocus: true };\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcustomLibraries: state.customLibraries?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === libraryId) {\r\n\t\t\t\t\t\t\tatt.values = att.values.map((x) => {\r\n\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t...x,\r\n\t\t\t\t\t\t\t\t\tsetFocus: false,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tatt.values.push(newObject);\r\n\t\t\t\t\t\t\treturn { ...att };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t} else return { ...state };\r\n\t\t}\r\n\t\tcase success(\"UPSERT_VALUE_LIBRARY\"): {\r\n\t\t\tconst libraryValue = action.meta.requestAction.request.data.libraryValue;\r\n\t\t\tconst libraryId = action.meta.requestAction.request.data.libraryId;\r\n\r\n\t\t\tif (libraryValue.id !== EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcustomLibraries: state.customLibraries?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === libraryId) {\r\n\t\t\t\t\t\t\tatt.values = att?.values.map((x) => {\r\n\t\t\t\t\t\t\t\tif (x.id === libraryValue.id) {\r\n\t\t\t\t\t\t\t\t\tconst linkedCjms = x.linkedCjms;\r\n\t\t\t\t\t\t\t\t\tx = { ...action.response.data, linkedCjms: linkedCjms };\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn x;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tconst newObject = { ...action.response.data, setFocus: true };\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcustomLibraries: state.customLibraries?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === libraryId) {\r\n\t\t\t\t\t\t\tatt.values = att.values.map((x) => {\r\n\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t...x,\r\n\t\t\t\t\t\t\t\t\tsetFocus: false,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tatt.values.push(newObject);\r\n\t\t\t\t\t\t\treturn { ...att };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"DELETE_VALUE_LIBRARY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcustomLibraries: state.customLibraries?.map((att) => {\r\n\t\t\t\t\tif (att.id === action.meta.requestAction.request.data.libraryId) {\r\n\t\t\t\t\t\tatt.values = att.values.filter((x) => x.id !== action.meta.requestAction.request.data.libraryValueId);\r\n\t\t\t\t\t\treturn { ...att };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn att;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"CUSTOM_LIBRARY_GET_RELATED_RECORDS\"): {\r\n\t\t\tconst { libraryId } = action.meta.requestAction.params;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcustomLibraries: state.customLibraries.map((library) => {\r\n\t\t\t\t\tif (library.id === libraryId) {\r\n\t\t\t\t\t\tlibrary.values = library.values.map((value) => {\r\n\t\t\t\t\t\t\tif (value.id === responseData.id) {\r\n\t\t\t\t\t\t\t\treturn responseData;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn value;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn library;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_NOTIFICATIONS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tnotifications: action.response.data,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase 'RESET_NOTIFICATIONS':\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tnotifications: [],\r\n\t\t\t};\r\n\r\n\t\tcase success(\"DISMISS_NOTIFICATIONS\"): {\r\n\t\t\tconst { notificationIds } = requestData;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tnotifications: state.notifications.filter((x) => !notificationIds.includes(x.id)),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_STATUS_NOTIFICATION\"): {\r\n\t\t\tconst { notificationId, seen } = requestData;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tnotifications: state.notifications.map((x) => {\r\n\t\t\t\t\tif (x.id === notificationId) {\r\n\t\t\t\t\t\tx.seen = seen;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn x;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPSERT_MEASURE\"): {\r\n\t\t\tconst measure = action.meta.requestAction.request.data.measure;\r\n\t\t\tif (measure.id !== EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tmeasures: state.measures?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === measure.id) att = action.response.data;\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tmeasures: [...state.measures.map((m) => ({ ...m, setFocus: false })), { ...action.response.data, setFocus: true }],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tcase success(\"COPY_MEASURE\"): {\r\n\t\t\tif (action?.response?.data && action?.response?.data?.id)\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tmeasures: [...state.measures.map((m) => ({ ...m, setFocus: false })), { ...action.response.data, setFocus: true }],\r\n\t\t\t\t};\r\n\t\t\treturn { ...state };\r\n\t\t}\r\n\t\tcase success(\"MEASURE_GET_RELATED_RECORDS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmeasures: state.measures.map((measure) => {\r\n\t\t\t\t\tif (measure.id === responseData.id) {\r\n\t\t\t\t\t\tmeasure = responseData;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn measure;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"PROJECT_UPSERT_ATTRIBUTE_ITEM\"): {\r\n\t\t\tconst cxGoal = { ...requestData?.cxGoal, id: responseData?.cxGoalId };\r\n\r\n\t\t\tif (requestData?.cxGoal?.id === EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcxGoals: [cxGoal, ...state.cxGoals],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcxGoals: state?.cxGoals?.map((cxg) => {\r\n\t\t\t\t\tif (cxg.id === cxGoal.id) return { ...cxGoal };\r\n\t\t\t\t\treturn cxg;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPSERT_CXPROGRAM_ATTRIBUTE_ITEM\": {\r\n\t\t\tconst { cxGoal } = action.request.data;\r\n\t\t\tif (cxGoal) {\r\n\t\t\t\tif (state?.cxGoals.find((item) => item.id === cxGoal.id)) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tcxGoals: state?.cxGoals?.map((cxg) => {\r\n\t\t\t\t\t\t\tif (cxg.id === cxGoal.id) return { ...cxGoal };\r\n\t\t\t\t\t\t\treturn cxg;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t};\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tcxGoals: [cxGoal, ...state.cxGoals],\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"PROJECT_DELETE_ATTRIBUTE_ITEM\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcxGoals: state.cxGoals.filter((cxGoal) => cxGoal.id !== requestData.cXGoalId),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"CX_GOALS_UPSERT\"): {\r\n\t\t\tconst cxGoal = requestData.CxGoals[0];\r\n\r\n\t\t\tif (cxGoal.id !== EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcxGoals: state.cxGoals?.map((cxg) => {\r\n\t\t\t\t\t\tif (cxg.id === cxGoal.id) {\r\n\t\t\t\t\t\t\tcxGoal.description = decode(cxGoal?.description);\r\n\t\t\t\t\t\t\tcxg = cxGoal;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn cxg;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcxGoals: [...(state?.cxGoals || []), cxGoal],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPSERT_TOUCHPOINT_CATEGORY\"): {\r\n\t\t\tconst touchpointCategory = action.meta.requestAction.request.data.touchpointCategory;\r\n\t\t\tif (touchpointCategory.id !== EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\ttouchPointCategories: state.touchPointCategories?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === touchpointCategory.id) return { ...touchpointCategory, name: decode(touchpointCategory.name) };\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tconst newObject = { ...action.response.data, name: decode(touchpointCategory.name) };\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\ttouchPointCategories: [...state.touchPointCategories, newObject],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tcase success(\"COPY_TOUCHPOINT_CATEGORY\"): {\r\n\t\t\tif (action.response.data && action.response.data?.id) {\r\n\t\t\t\tconst newObject = { ...action.response.data };\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\ttouchPointCategories: [...state.touchPointCategories, newObject],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn { ...state };\r\n\t\t}\r\n\t\tcase success(\"DELETE_TOUCHPOINT_CATEGORY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttouchPointCategories: state.touchPointCategories?.filter((touchPointCategory) => touchPointCategory.id !== action.meta.requestAction.request.data.id),\r\n\t\t\t};\r\n\t\tcase \"ORDER_STATUS\": {\r\n\t\t\tconst newStatusOrder = action?.request?.data?.newStatusOrder.split(\"|\");\r\n\t\t\tconst statusType = action?.params;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tstatus: {\r\n\t\t\t\t\t...state.status,\r\n\t\t\t\t\t[statusType]: state.status[statusType]?.sort((a, b) => newStatusOrder.indexOf(a.id) - newStatusOrder.indexOf(b.id)),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ORDER_PRIORITY\": {\r\n\t\t\tconst newPriorityOrder = action?.request?.data?.newPriorityOrder.split(\"|\");\r\n\t\t\tconst priorityType = action?.params;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpriority: {\r\n\t\t\t\t\t...state.priority,\r\n\t\t\t\t\t[priorityType]: state.priority[priorityType]?.sort((a, b) => newPriorityOrder.indexOf(a.id) - newPriorityOrder.indexOf(b.id)),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ORDER_GROUP\": {\r\n\t\t\tconst newGroupOrder = action?.request?.data?.newGroupOrder.split(\"|\");\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tgroup: state.group?.sort((a, b) => newGroupOrder.indexOf(a.id) - newGroupOrder.indexOf(b.id)),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ORDER_TAG\": {\r\n\t\t\tconst newTagOrder = action?.request?.data?.newTagsOrder.split(\"|\");\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttags: [...state.tags?.sort((a, b) => newTagOrder.indexOf(a.id) - newTagOrder.indexOf(b.id))],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ORDER_INSIGHT_TYPE\": {\r\n\t\t\tconst newInsightTypeOrder = action?.request?.data?.newInsightTypeOrder.split(\"|\");\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tinsightTypes: [...state.insightTypes?.sort((a, b) => newInsightTypeOrder.indexOf(a.id) - newInsightTypeOrder.indexOf(b.id))],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"COPY_BRAND_VALUE\"): {\r\n\t\t\tif (action.response.data && action.response.data?.id) {\r\n\t\t\t\tconst newObject = { ...action.response.data };\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tbrandValues: [...state.brandValues, newObject],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn { ...state };\r\n\t\t}\r\n\t\tcase \"PURGE\": {\r\n\t\t\treturn {\r\n\t\t\t\t...initialState,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default LibrariesReducer;\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport { fetchArraysAndMerge } from \"features/insights/reducer/helpers\";\r\nimport { EMPTY_GUID, getCxAttribute } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\n\r\nconst initialState = {\r\n\tall_Opportunities: [],\r\n\tloading: false,\r\n};\r\n\r\nconst OpportunityReducer = (state = initialState, action) => {\r\n\tconst responseData = action?.response?.data;\r\n\tconst requestParams = action?.meta?.requestAction?.params;\r\n\tconst requestData = action?.meta?.requestAction?.request?.data;\r\n\tswitch (action.type) {\r\n\t\tcase \"OPPORTUNITY_GET_ALL\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: state.all_Opportunities.length === 0,\r\n\t\t\t};\r\n\t\tcase success(\"OPPORTUNITY_GET_ALL\"): {\r\n\t\t\tconst { url } = action?.meta?.requestAction?.request;\r\n\t\t\tif (url.includes(\"redirectReducer\")) return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: action.response.data,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase error(\"OPPORTUNITY_GET_ALL\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"GET_OPPORTUNITY\"): {\r\n\t\t\tconst data = responseData;\r\n\t\t\tconst all_Opportunities = state.all_Opportunities?.map((opp) => {\r\n\t\t\t\tif (opp.id === requestParams?.opportunityId) {\r\n\t\t\t\t\topp = { ...opp, ...data };\r\n\t\t\t\t}\r\n\t\t\t\treturn opp;\r\n\t\t\t});\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: all_Opportunities,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"CREATE_OPPORTUNITY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: [...state.all_Opportunities, action.response.data],\r\n\t\t\t};\r\n\t\tcase success(\"COPY_OPPORTUNITY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: [...state.all_Opportunities, action?.response?.data],\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_OPPORTUNITY\"): {\r\n\t\t\tconst modifiedOpportunity = action?.response?.data;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities.map((opp) => {\r\n\t\t\t\t\tif (opp.id === modifiedOpportunity.id) {\r\n\t\t\t\t\t\topp = modifiedOpportunity;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_MULTI_OPPORTUNITY\"): {\r\n\t\t\tconst modifiedOpportunities = action.meta.requestAction.request.data.modifiedOpportunities;\r\n\t\t\tconst ids = action.meta.requestAction.request.data.modifiedOpportunities?.map((x) => x.id);\r\n\t\t\tconst modifiedAttribNames = action.meta.requestAction.request.data.modifiedAttribNames;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities.map((opp) => {\r\n\t\t\t\t\tif (ids.includes(opp.id)) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...opp,\r\n\t\t\t\t\t\t\t[modifiedAttribNames]: modifiedOpportunities?.find((x) => x.id === opp?.id)?.[modifiedAttribNames],\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ARCHIVE_OPPORTUNITY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state?.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tif (opp.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn { ...opp, statusCode: StatusCode.Archived };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"ARCHIVE_MANY_OPPORTUNITIES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state?.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tif (action.response.data.includes(opp.id)) {\r\n\t\t\t\t\t\treturn { ...opp, statusCode: StatusCode.Archived };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_OPPORTUNITY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state?.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tif (opp.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn { ...opp, statusCode: StatusCode.Trashed };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_OPPORTUNITIES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state?.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tif (action.response.data.includes(opp.id)) {\r\n\t\t\t\t\t\treturn { ...opp, statusCode: StatusCode.Trashed };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_OPPORTUNITY_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities.filter((opp) => opp.id !== action.meta.requestAction.request.data.id),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_OPPORTUNITIES_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities.filter((opp) => !action.response.data.includes(opp.id)),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_OPPORTUNITY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities.map((opp) => {\r\n\t\t\t\t\tif (opp.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn { ...opp, statusCode: StatusCode.Active };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_MANY_OPPORTUNITIES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities.map((opp) => {\r\n\t\t\t\t\tif (action.response.data.includes(opp.id)) {\r\n\t\t\t\t\t\treturn { ...opp, statusCode: StatusCode.Active };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase \"LINK_TAGS\": {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tconst currentTagAttribute = getCxAttribute({ data: opp, informationType: InformationType.Tags });\r\n\r\n\t\t\t\t\tif (currentTagAttribute && recordIds.includes(currentTagAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedTagAttribute = {\r\n\t\t\t\t\t\t\t...currentTagAttribute,\r\n\t\t\t\t\t\t\ttags: [...currentTagAttribute.tags, ...tagIds],\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...opp,\r\n\t\t\t\t\t\t\tattributes: opp.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Tags) att = updatedTagAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UNLINK_TAGS\": {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tconst currentTagAttribute = getCxAttribute({ data: opp, informationType: InformationType.Tags });\r\n\r\n\t\t\t\t\tif (currentTagAttribute && recordIds.includes(currentTagAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedTagAttribute = {\r\n\t\t\t\t\t\t\t...currentTagAttribute,\r\n\t\t\t\t\t\t\ttags: currentTagAttribute.tags?.filter((tagId) => !tagIds?.includes(tagId)),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...opp,\r\n\t\t\t\t\t\t\tattributes: opp.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Tags) att = updatedTagAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"LINK_GROUPS\": {\r\n\t\t\tconst { groupIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tconst currentGroupAttribute = getCxAttribute({ data: opp, informationType: InformationType.Group });\r\n\r\n\t\t\t\t\tif (currentGroupAttribute && recordIds.includes(currentGroupAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedGroupAttribute = {\r\n\t\t\t\t\t\t\t...currentGroupAttribute,\r\n\t\t\t\t\t\t\tgroups: [...currentGroupAttribute.groups, ...groupIds],\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...opp,\r\n\t\t\t\t\t\t\tattributes: opp.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Group) att = updatedGroupAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UNLINK_GROUPS\": {\r\n\t\t\tconst { groupIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tconst currentGroupAttribute = getCxAttribute({ data: opp, informationType: InformationType.Group });\r\n\r\n\t\t\t\t\tif (currentGroupAttribute && recordIds.includes(currentGroupAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedGroupAttribute = {\r\n\t\t\t\t\t\t\t...currentGroupAttribute,\r\n\t\t\t\t\t\t\tgroups: currentGroupAttribute.groups?.filter((groupId) => !groupIds?.includes(groupId)),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...opp,\r\n\t\t\t\t\t\t\tattributes: opp.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Group) att = updatedGroupAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_CX_ATTRIBUTE\"): {\r\n\t\t\tconst { modifiedCxAttribute } = action.meta.requestAction.request.data;\r\n\t\t\tif (modifiedCxAttribute.opportunityId === EMPTY_GUID) return state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tif (opp.id === modifiedCxAttribute.opportunityId) {\r\n\t\t\t\t\t\topp.attributes = opp.attributes?.map((attr) => {\r\n\t\t\t\t\t\t\tif (attr.id === modifiedCxAttribute.id) {\r\n\t\t\t\t\t\t\t\tattr = responseData;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn attr;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_CX_ATTRIBUTES\": {\r\n\t\t\tconst { modifiedCxAttributes } = action?.request?.data;\r\n\t\t\tconst oppIds = modifiedCxAttributes.map((att) => att?.opportunityId);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tif (oppIds?.includes(opp?.id)) {\r\n\t\t\t\t\t\tconst modifiedCxAttribute = modifiedCxAttributes.find((att) => att.opportunityId === opp?.id);\r\n\t\t\t\t\t\topp.attributes = opp.attributes.map((attr) => {\r\n\t\t\t\t\t\t\tif (attr.id === modifiedCxAttribute.id) attr = modifiedCxAttribute;\r\n\t\t\t\t\t\t\treturn attr;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_USER_MODIFICATION\"): {\r\n\t\t\tconst { objId, objName } = requestData || {};\r\n\r\n\t\t\tif (objName !== \"cem_cxopportunity\") return state;\r\n\t\t\tconst { userName } = requestParams;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tif (opp.id === objId) {\r\n\t\t\t\t\t\topp.modifiedBy = userName;\r\n\t\t\t\t\t\topp.lastUpdated = new Date().toISOString();\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CJM_OPPORTUNITIES\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: fetchArraysAndMerge(state.all_Opportunities, responseData),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"BULK_UNLINK_OPPORTUNITY_RECORDS\": {\r\n\t\t\tconst { ids, recIds } = action?.request?.data;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Opportunities: state.all_Opportunities?.map((opp) => {\r\n\t\t\t\t\tif (ids?.includes(opp?.id)) {\r\n\t\t\t\t\t\topp.linkedPersonas = opp.linkedPersonas?.filter((id) => !recIds?.includes(id));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn opp;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default OpportunityReducer;\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { EMPTY_GUID, appendListsAndRemoveDuplicates, decode, firstLetterUppercase, hasAttribute, toastWrapper } from \"@utils/helpers\";\r\nimport { forEach } from \"lodash\";\r\n\r\nconst initialState = {\r\n\tcurrent_project: {},\r\n\tall_projects: [],\r\n\tcurrent_linked_users: [],\r\n loading: false,\r\n isSynching: false,\r\n};\r\n\r\nconst ProjectReducer = (state = initialState, action) => {\r\n\tconst requestData = action?.meta?.requestAction?.request?.data;\r\n\tconst responseData = action?.response?.data;\r\n\tswitch (action.type) {\r\n\t\tcase \"RESET_PROJECT\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: {},\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"GET_ALL_PROJECTS\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: state.all_projects.length === 0,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase error(\"GET_ALL_PROJECTS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"GET_ALL_PROJECTS\"): {\r\n\t\t\tconst { url } = action?.meta?.requestAction?.request;\r\n\t\t\tif (url.includes(\"redirectReducer\")) return state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: responseData,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"GET_PROJECT\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t};\r\n\t\tcase success(\"GET_PROJECT\"): {\r\n\t\t\tconst data = responseData;\r\n\t\t\tdata.attributesList = data.attributesDic === null ? [] : Object.entries(data.attributesDic)?.map((att) => att[1]);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: { ...state.current_project, ...data },\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"NO_ACCESS_project\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: { noAccess: true },\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase error(\"GET_PROJECT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"GET_PROJECT_USERS\"): {\r\n\t\t\tconst isPrint = action.meta.requestAction.params.isPrint;\r\n\t\t\tconst userId = action.meta.requestAction.params.userId;\r\n\r\n\t\t\tconst linkedUsers = Object.entries(action.response.data).map((user) => user[1]) || [];\r\n\t\t\tconst user = linkedUsers.find((users) => users.id === userId && users.roleId === EMPTY_GUID);\r\n\t\t\tif (hasAttribute(user, \"roleName\")) user.roleName = isPrint ? \"Viewer\" : firstLetterUppercase(user?.roleName); // only to export pdf\r\n\t\t\tif (user?.roleName?.toLowerCase() === \"viewer\" && isPrint === undefined) toastWrapper(\"\", \"CX_PROGRAM_VIEWER_WARNING\", { autoClose: 10000 });\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_linked_users: linkedUsers,\r\n\t\t\t\tcurrentUser: user,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"CREATE_PROJECT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: [...state.all_projects, action.response.data],\r\n\t\t\t};\r\n\t\tcase success(\"COPY_PROJECT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: [...state.all_projects, responseData],\r\n\t\t\t};\r\n\t\tcase \"UPDATE_PROJECT\": {\r\n\t\t\tconst { modifiedProject, modifiedAttribNames } = action?.request?.data;\r\n\t\t\tconst currentProject = { ...state.current_project };\r\n\r\n\t\t\tforEach(modifiedAttribNames, (attr) => {\r\n\t\t\t\tif (attr === \"name\") currentProject.name = decode(modifiedProject?.name);\r\n\t\t\t\telse currentProject[attr] = modifiedProject[attr];\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (project.id === requestData?.modifiedProject.id) {\r\n\t\t\t\t\t\tforEach(modifiedAttribNames, (attr) => {\r\n\t\t\t\t\t\t\tif (attr === \"name\") {\r\n\t\t\t\t\t\t\t\tproject.name = decode(modifiedProject?.name);\r\n\t\t\t\t\t\t\t} else project[attr] = modifiedProject[attr];\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\t...currentProject,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"RENAME_PROJECT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (project.id === requestData?.id) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...project,\r\n\t\t\t\t\t\t\tname: decode(requestData?.newValue),\r\n\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\tname: decode(requestData?.newValue),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"ARCHIVE_PROJECTS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (requestData?.ids.includes(project.id)) {\r\n\t\t\t\t\t\treturn { ...project, statusCode: 100000000 };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"RESTORE_PROJECTS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (requestData?.ids.includes(project.id)) {\r\n\t\t\t\t\t\treturn { ...project, statusCode: 1 };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_PROJECTS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state?.all_projects?.map((project) => {\r\n\t\t\t\t\tif (requestData.ids.includes(project.id)) {\r\n\t\t\t\t\t\treturn { ...project, statusCode: 2 };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_PROJECTS_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects.filter((project) => !requestData.ids.includes(project.id)),\r\n\t\t\t};\r\n\t\tcase success(\"UPSERT_PROJECT_STAKEHOLDER\"): {\r\n\t\t\tif (requestData.stakeholder.id === EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\t\tstakeholders: [...state.current_project.stakeholders, { ...action.response.data }],\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\t\tstakeholders: state.current_project.stakeholders.map((stakeholder) => {\r\n\t\t\t\t\t\t\tif (stakeholder.id === requestData.stakeholder.id) stakeholder = responseData;\r\n\t\t\t\t\t\t\treturn stakeholder;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"DELETE_PROJECT_STAKEHOLDER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\tstakeholders: state.current_project.stakeholders.filter((stakeholder) => stakeholder.id !== requestData.stakeholderId),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_STAKEHOLDER_ROLE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\tstakeholders: state.current_project?.stakeholders?.filter((stakeholder) => stakeholder.roleId !== requestData.roleId),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_STAKEHOLDER_ROLE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\tstakeholders: state.current_project?.stakeholders?.map((stakeholder) => {\r\n\t\t\t\t\t\tif (stakeholder.roleId === requestData.roleId) {\r\n\t\t\t\t\t\t\tstakeholder.roleName = decode(requestData.newName);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stakeholder;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"LINK_UNLINK_RECORDS_TO_PROJECT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\tlinkedCjms: responseData[EntityList.CustomerJourney],\r\n\t\t\t\t\tlinkedPersonas: responseData[EntityList.Persona],\r\n\t\t\t\t\tlinkedCxProgram: responseData[EntityList.CXProgram],\r\n\t\t\t\t\tlinkedOpps: responseData[EntityList.Opportunity],\r\n\t\t\t\t\tlinkedSols: responseData[EntityList.Solution],\r\n\t\t\t\t\tlinkedActions: responseData[EntityList.Action],\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"PROJECT_UPSERT_ATTRIBUTE_ITEM\"): {\r\n\t\t\tif (requestData.attributeItem.id === EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\t\tattributesList: state.current_project?.attributesList?.map((attribute) => {\r\n\t\t\t\t\t\t\tif (attribute.id === requestData.attribute.id) {\r\n\t\t\t\t\t\t\t\tattribute.items = [...attribute.items, { ...responseData }];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn attribute;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\t\tattributesList: state.current_project?.attributesList?.map((att) => {\r\n\t\t\t\t\t\t\tif (att.id === requestData.attribute.id) {\r\n\t\t\t\t\t\t\t\tatt.items = att.items.map((item) => {\r\n\t\t\t\t\t\t\t\t\tif (item.id === requestData.attributeItem.id) {\r\n\t\t\t\t\t\t\t\t\t\titem = { ...action.response.data, id: requestData.attributeItem.id };\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn item;\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"PROJECT_DELETE_ATTRIBUTE_ITEM\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: {\r\n\t\t\t\t\t...state.current_project,\r\n\t\t\t\t\tattributesList: state.current_project?.attributesList?.map((section) => {\r\n\t\t\t\t\t\tif (section.id === requestData.attributeId) {\r\n\t\t\t\t\t\t\tsection.items = section.items.filter((item) => item.id !== requestData.attributeItemId);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"SHARE_PROJECT\"): {\r\n\t\t\tconst userId = state.current_linked_users.find((user) => user.id === requestData.userId);\r\n\t\t\tconst teamId = state.current_linked_users.find((user) => user.id === requestData.teamId);\r\n\t\t\tconst roleName = requestData.roleDetails.split(\"_\")[0];\r\n\t\t\tconst roleId = requestData.roleDetails.split(\"_\")[1];\r\n\t\t\tconst fullName = action.meta.requestAction.params?.fullName;\r\n\r\n\t\t\tconst newLinkUsers =\r\n\t\t\t\tuserId === undefined && teamId === undefined\r\n\t\t\t\t\t? [...state.current_linked_users, { id: userId, roleName, roleId, fullName }]\r\n\t\t\t\t\t: state.current_linked_users.map((user) => (user.id === userId || user.id === teamId ? { ...user, roleName, roleId } : user));\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (project.id === requestData.recId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...project,\r\n\t\t\t\t\t\t\tauthorizedUsers: newLinkUsers,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: newLinkUsers,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"SHARE_MANY_PROJECTS\"): {\r\n\t\t\tconst recIds = requestData.recIds;\r\n\t\t\tlet linkUsers = [...state.current_linked_users];\r\n\t\t\tif (recIds.length === 1) {\r\n\t\t\t\tlinkUsers = action.response.data.find((item) => item.id === recIds[0]).authorizedUsers;\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tconst getProjectFromResponse = action.response.data.find((item) => item.id === project.id);\r\n\t\t\t\t\tif (getProjectFromResponse) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...getProjectFromResponse,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: linkUsers,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UNSHARE_PROJECT\"): {\r\n\t\t\tconst { recId, userId, teamId } = requestData;\r\n\t\t\tconst id = userId || teamId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (project.id === recId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...project,\r\n\t\t\t\t\t\t\tauthorizedUsers: project.authorizedUsers.filter((user) => user.id !== id),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: state.current_linked_users.filter((user) => user.id !== id),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"LINK_TAGS\"): {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n\t\t\tif (recordType !== \"cem_cxproject\") return state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (recordIds.includes(project.id)) {\r\n\t\t\t\t\t\tproject.tags = [...appendListsAndRemoveDuplicates(project.tags, tagIds)];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UNLINK_TAGS\"): {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n\t\t\tif (recordType !== \"cem_cxproject\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (recordIds.includes(project.id)) {\r\n\t\t\t\t\t\tproject.tags = project.tags.filter((tagId) => !tagIds.includes(tagId));\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"LINK_GROUPS\"): {\r\n\t\t\tconst { groupIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n\t\t\tif (recordType !== \"cem_cxproject\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (recordIds.includes(project.id)) {\r\n\t\t\t\t\t\tproject.groups = [...appendListsAndRemoveDuplicates(project.groups, groupIds)];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UNLINK_GROUPS\"): {\r\n\t\t\tconst { groupIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n\t\t\tif (recordType !== \"cem_cxproject\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((project) => {\r\n\t\t\t\t\tif (recordIds.includes(project.id)) {\r\n\t\t\t\t\t\tproject.groups = project.groups.filter((groupId) => !groupIds.includes(groupId));\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn project;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"RESET_PROJECT_USERS\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_linked_users: null,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_MULTI_PROJECT\"): {\r\n\t\t\tconst { modifiedProjects, modifiedAttribNames } = requestData;\r\n\t\t\tconst ids = modifiedProjects?.map((x) => x.id);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_projects: state.all_projects?.map((action) => {\r\n\t\t\t\t\tif (ids.includes(action.id)) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...action,\r\n\t\t\t\t\t\t\t[modifiedAttribNames]: modifiedProjects?.find((x) => x.id === action?.id)?.[modifiedAttribNames],\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn action;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n }\r\n case \"SYNCHRONIZE_PROJECT\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tisSynching: true\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"SYNCHRONIZE_PROJECT\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: { ...responseData },\r\n loading: false,\r\n isSynching: false\r\n\t\t\t};\r\n }\r\n case error(\"SYNCHRONIZE_PROJECT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tisSynching: false\r\n\t\t\t};\r\n\t\tcase success(\"STOP_SYNCHRONIZATION_PROJECT\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_project: { ...responseData },\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default ProjectReducer;\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { EMPTY_GUID, hasAttribute } from \"@utils/helpers\";\r\nimport { currentWorkspaceId } from \"index\";\r\n\r\nconst initialState = {\r\n\tsubscriptionDetails: {},\r\n\tuserSetting: {},\r\n\tusers: [],\r\n\tconfigurations: {},\r\n\torganization: {},\r\n\tauthorizedUsers: [],\r\n\tloading: false,\r\n\tconnector: [],\r\n\tallWorkspaces: [],\r\n\tcurrentWorkspaceAuthorizedUsers: [],\r\n\tcurrentWorkspaceTeams: [],\r\n\trecentWorks: [],\r\n};\r\n\r\nconst settingsReducer = (state = initialState, action) => {\r\n\tconst requestData = action?.meta?.requestAction?.request?.data;\r\n\tconst responseData = action?.response?.data;\r\n\tswitch (action.type) {\r\n\t\tcase success(\"GET_SUBSCRIPTION_DETAILS\"):\r\n\t\t\tif (responseData.aiPurchased === false) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tsubscriptionDetails: { ...responseData, aiEnabled: false, aiConsentGiven: false } || {},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsubscriptionDetails: responseData || {},\r\n\t\t\t};\r\n\t\tcase success(\"GET_ALL_REGISTERED_USERS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tusers: responseData.map((user) => ({ ...user, fullName: `${user.firstName} ${user.lastName}` })) || {},\r\n\t\t\t};\r\n\t\tcase success(\"GET_CONFIGURATIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tconfigurations: responseData || {},\r\n\t\t\t};\r\n\t\tcase success(\"GET_ORGANIZATION_SETTINGS\"): {\r\n\t\t\tconst { url } = action?.meta?.requestAction?.request;\r\n\t\t\tif (url.includes(\"redirectReducer\")) return state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\torganization: { ...responseData, logoRefreshValue: null } || {},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_ACCOUNT_SETTINGS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\torganization: {\r\n\t\t\t\t\t...state.organization,\r\n\t\t\t\t\tdefaultDisplayLanguage: Number(requestData?.newLangValue),\r\n\t\t\t\t\tshowSampleData: requestData?.newShowSampleValue,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_ACCOUNT_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\torganization: {\r\n\t\t\t\t\t...state.organization,\r\n\t\t\t\t\tlogoRefreshValue: uuidv4(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_ACCOUNT_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\torganization: {\r\n\t\t\t\t\t...state.organization,\r\n\t\t\t\t\tlogoRefreshValue: uuidv4(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_INTEGRATION_CREDENTIALS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\tcase success(\"CREATE_USER\"): {\r\n\t\t\tconst data = action?.response?.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tusers: data.id !== \"00000000-0000-0000-0000-000000000000\" ? [...state.users, data] : [...state.users],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_USER\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_USER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tusers: state?.users?.filter((user) => user.id !== requestData.registeredUserId),\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase error(\"DELETE_USER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase \"UPDATE_USER\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_USER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tusers: state.users?.map((user) => {\r\n\t\t\t\t\tif (user.id === requestData.userToUpdate.id) {\r\n\t\t\t\t\t\tuser = responseData;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn user;\r\n\t\t\t\t}),\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase \"UPDATE_USER_TYPE\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tusers: state.users?.map((user) => {\r\n\t\t\t\t\tif (user.id === action?.request?.data?.params?.updatedUser.id) {\r\n\t\t\t\t\t\tuser = action?.request?.data?.params?.updatedUser;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn user;\r\n\t\t\t\t}),\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase error(\"UPDATE_USER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase \"ACTIVATE_USERS\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t};\r\n\t\tcase success(\"ACTIVATE_USERS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t\tusers: state?.users?.map((user) => {\r\n\t\t\t\t\tconst newUser = { ...user };\r\n\t\t\t\t\tif (responseData?.includes(user.id)) {\r\n\t\t\t\t\t\tnewUser.isActive = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn newUser;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase error(\"ACTIVATE_USERS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase \"DEACTIVATE_USER\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t};\r\n\t\tcase success(\"DEACTIVATE_USERS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t\tusers: state?.users?.map((user) => {\r\n\t\t\t\t\tconst newUser = { ...user };\r\n\t\t\t\t\tif (responseData?.includes(user.id)) {\r\n\t\t\t\t\t\tnewUser.isActive = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn newUser;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase error(\"DEACTIVATE_USER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"GET_AUTHORIZED_USERS\"): {\r\n\t\t\tconst currentWorkspaceUserIds = state?.allWorkspaces?.find((ws) => ws.id === currentWorkspaceId)?.authorizedUsers.map((au) => au.id);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tauthorizedUsers: responseData || [],\r\n\t\t\t\tcurrentWorkspaceAuthorizedUsers: responseData?.filter((data) => currentWorkspaceUserIds?.includes(data?.id)),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_ALL_ROLES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\troles: responseData || [],\r\n\t\t\t};\r\n\r\n\t\tcase success(\"GET_SETTING_USER\"): {\r\n\t\t\tconst savedViewsArr = Object.entries(responseData?.savedViews).map((x) => x[1]);\r\n\t\t\tconst savedDefaultViews = responseData?.savedDefaultViews ? JSON.parse(responseData?.savedDefaultViews) : {};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tuserSetting: { ...state.userSetting, ...responseData, savedViews: savedViewsArr, savedDefaultViews: savedDefaultViews } || [],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_SETTING_USER\"): {\r\n\t\t\tconst savedViewsArr = Object.entries(responseData?.savedViews).map((x) => x[1]);\r\n\t\t\tconst savedDefaultViews = responseData?.savedDefaultViews ? JSON.parse(responseData?.savedDefaultViews) : {};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tuserSetting: { ...responseData, savedViews: savedViewsArr, savedDefaultViews: savedDefaultViews } || [],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_SAVED_VIEW\"): {\r\n\t\t\tconst savedView = requestData.savedView;\r\n\t\t\tconst savedViews = JSON.parse(JSON.stringify(state.userSetting.savedViewsByEntity));\r\n\t\t\tif (!hasAttribute(savedViews, savedView.type)) {\r\n\t\t\t\tsavedViews[savedView.type] = [responseData];\r\n\t\t\t} else if (savedView.id !== EMPTY_GUID) {\r\n\t\t\t\tsavedViews[savedView.type] = savedViews?.[savedView.type]?.map((att) => {\r\n\t\t\t\t\tif (att.id === savedView.id) return { ...responseData };\r\n\t\t\t\t\treturn att;\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tsavedViews[savedView.type] = [...savedViews[savedView.type], responseData];\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tuserSetting: { ...state.userSetting, savedViewsByEntity: savedViews },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_SAVED_VIEW\"): {\r\n\t\t\tconst savedViewsArr = Object.entries(responseData?.savedViews).map((x) => x[1]);\r\n\t\t\tconst savedDefaultViews = responseData?.savedDefaultViews ? JSON.parse(responseData?.savedDefaultViews) : {};\r\n\t\t\tconst viewId = requestData.savedViewToDelete.id;\r\n\t\t\tconst type = requestData.savedViewToDelete.type;\r\n\t\t\tconst savedViewsByEntity = {\r\n\t\t\t\t...state.userSetting.savedViewsByEntity,\r\n\t\t\t\t[type]: state.userSetting.savedViewsByEntity[type]?.filter((view) => view.id !== viewId),\r\n\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tuserSetting: { ...state.userSetting, savedViewsByEntity, savedViews: savedViewsArr, savedDefaultViews: savedDefaultViews } || [],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_QUERY\": {\r\n\t\t\tconst { type, queryInfo } = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tuserSetting: { ...state.userSetting, [type]: queryInfo },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"CONNECTOR_INIT\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tconnector: action.response.data || [],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPSERT_CONNECTOR\"): {\r\n\t\t\tconst { connector } = state;\r\n\r\n\t\t\tconst { id } = requestData?.connector;\r\n\t\t\tconst newConnector = action.response.data;\r\n\t\t\tif (id === EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tconnector: [...connector, newConnector],\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tconnector: state?.connector?.map((currentConnector) => {\r\n\t\t\t\t\t\tif (currentConnector.id === id) {\r\n\t\t\t\t\t\t\tcurrentConnector = newConnector;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn currentConnector;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"GET_ALL_TEAMS\"): {\r\n\t\t\tconst currentWorkspaceTeamIds = state?.allWorkspaces\r\n\t\t\t\t?.find((ws) => ws.id === currentWorkspaceId)\r\n\t\t\t\t?.authorizedUsers?.map((au) => {\r\n\t\t\t\t\tif (au.accessType === \"team\") return au.id;\r\n\t\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tteams: responseData || {},\r\n\t\t\t\tcurrentWorkspaceTeams: Object.values(responseData)\r\n\t\t\t\t\t?.map((team) => ({ ...team, fullName: team.name }))\r\n\t\t\t\t\t.filter((t) => currentWorkspaceTeamIds?.includes(t.id)),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPSERT_TEAM\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tteams: {\r\n\t\t\t\t\t...state.teams,\r\n\t\t\t\t\t[responseData.id]: responseData,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"DELETE_TEAM\"): {\r\n\t\t\tconst { [requestData.teamId]: _, ...remainingTeams } = state.teams;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tteams: remainingTeams,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"ADD_MEMBERS_TO_TEAM\"): {\r\n\t\t\tconst updatedTeams = requestData.teamIds.reduce((acc, teamId) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...acc,\r\n\t\t\t\t\t[teamId]: {\r\n\t\t\t\t\t\t...state.teams[teamId],\r\n\t\t\t\t\t\tmemberUserIds: [...state.teams[teamId].memberUserIds, ...requestData.userIds],\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}, {});\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tteams: { ...state.teams, ...updatedTeams },\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"REMOVE_MEMBER_FROM_TEAM\"): {\r\n\t\t\tconst { userId, teamId } = requestData;\r\n\t\t\tconst updatedTeam = state.teams[teamId];\r\n\t\t\tconst updatedMembers = updatedTeam.memberUserIds.filter((id) => id !== userId);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tteams: {\r\n\t\t\t\t\t...state.teams,\r\n\t\t\t\t\t[teamId]: {\r\n\t\t\t\t\t\t...state.teams[teamId],\r\n\t\t\t\t\t\tmemberUserIds: updatedMembers,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\r\n\t\tcase \"AGREEMENT_POLICY\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsubscriptionDetails: {\r\n\t\t\t\t\t...state.subscriptionDetails,\r\n\t\t\t\t\taiConsentGiven: action?.request?.data?.newValue,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ENABLE_ALEX\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsubscriptionDetails: {\r\n\t\t\t\t\t...state.subscriptionDetails,\r\n\t\t\t\t\taiEnabled: action?.request?.data?.newValue,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_USERS_TEAMS\"): {\r\n\t\t\tconst { userIds, idsToAdd } = requestData;\r\n\t\t\tconst teams = Object.values(state.teams);\r\n\t\t\tconst updatedTeams = teams?.map((team) => {\r\n\t\t\t\tuserIds.forEach((userId) => {\r\n\t\t\t\t\tif (idsToAdd?.includes(team.id)) {\r\n\t\t\t\t\t\tif (!team.memberUserIds?.find((id) => id === userId)) {\r\n\t\t\t\t\t\t\tteam.memberUserIds.push(userId);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\treturn team;\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tteams: updatedTeams?.reduce((acc, item) => {\r\n\t\t\t\t\tacc[item.id] = item;\r\n\t\t\t\t\treturn acc;\r\n\t\t\t\t}, {}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_ALL_WORKSPACES\"): {\r\n\t\t\tconst currentWorkspaceUserIds = responseData?.find((ws) => ws.id === currentWorkspaceId)?.authorizedUsers.map((au) => au.id);\r\n\t\t\tconst currentWorkspaceTeamIds = responseData\r\n\t\t\t\t?.find((ws) => ws.id === currentWorkspaceId)\r\n\t\t\t\t?.authorizedUsers?.map((au) => {\r\n\t\t\t\t\tif (au.accessType === \"team\") return au.id;\r\n\t\t\t\t});\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tallWorkspaces: responseData,\r\n\t\t\t\tcurrentWorkspaceAuthorizedUsers: state.authorizedUsers?.filter((data) => currentWorkspaceUserIds?.includes(data?.id)),\r\n\t\t\t\tcurrentWorkspaceTeams: state.teams\r\n\t\t\t\t\t? Object.values(state.teams)\r\n\t\t\t\t\t\t\t?.map((team) => ({ ...team, fullName: team.name }))\r\n\t\t\t\t\t\t\t.filter((t) => currentWorkspaceTeamIds?.includes(t.id))\r\n\t\t\t\t\t: [],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_RECENT_WORKS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\trecentWorks: responseData || [],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"PURGE\": {\r\n\t\t\treturn {\r\n\t\t\t\t...initialState,\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default settingsReducer;\r\n","import { success, error } from \"@redux-requests/core\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport { fetchArraysAndMerge } from \"features/insights/reducer/helpers\";\r\nimport { EMPTY_GUID, getCxAttribute } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\n\r\nconst initialState = {\r\n\tall_solutions: [],\r\n\tloading: false,\r\n};\r\n\r\nconst SolutionsReducer = (state = initialState, action) => {\r\n\tconst responseData = action?.response?.data;\r\n\tconst requestParams = action?.meta?.requestAction?.params;\r\n\tswitch (action.type) {\r\n\t\tcase \"GET_ALL_SOLUTIONS\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: state.all_solutions.length === 0,\r\n\t\t\t};\r\n\r\n\t\tcase error(\"GET_ALL_SOLUTIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"GET_ALL_SOLUTIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: action.response.data || [],\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"GET_SOLUTION\"): {\r\n\t\t\tconst data = responseData;\r\n\t\t\tconst all_solutions = state.all_solutions?.map((solution) => {\r\n\t\t\t\tif (solution.id === requestParams?.solutionId) {\r\n\t\t\t\t\tsolution = { ...solution, ...data };\r\n\t\t\t\t}\r\n\t\t\t\treturn solution;\r\n\t\t\t});\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: all_solutions,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"CREATE_SOLUTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: [...state.all_solutions, action?.response?.data],\r\n\t\t\t};\r\n\t\tcase success(\"COPY_SOLUTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: [...state.all_solutions, action?.response?.data],\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_SOLUTION\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (solution.id === action.meta.requestAction.request.data.modifiedSolution.id) {\r\n\t\t\t\t\t\tsolution = action.response.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"LINK_TAGS\": {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((sol) => {\r\n\t\t\t\t\tconst currentTagAttribute = getCxAttribute({ data: sol, informationType: InformationType.Tags });\r\n\r\n\t\t\t\t\tif (currentTagAttribute && recordIds.includes(currentTagAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedTagAttribute = {\r\n\t\t\t\t\t\t\t...currentTagAttribute,\r\n\t\t\t\t\t\t\ttags: [...currentTagAttribute.tags, ...tagIds],\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...sol,\r\n\t\t\t\t\t\t\tattributes: sol.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Tags) att = updatedTagAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn sol;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UNLINK_TAGS\": {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((sol) => {\r\n\t\t\t\t\tconst currentTagAttribute = getCxAttribute({ data: sol, informationType: InformationType.Tags });\r\n\r\n\t\t\t\t\tif (currentTagAttribute && recordIds.includes(currentTagAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedTagAttribute = {\r\n\t\t\t\t\t\t\t...currentTagAttribute,\r\n\t\t\t\t\t\t\ttags: currentTagAttribute.tags?.filter((tagId) => !tagIds?.includes(tagId)),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...sol,\r\n\t\t\t\t\t\t\tattributes: sol.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Tags) att = updatedTagAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn sol;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"LINK_GROUPS\": {\r\n\t\t\tconst { groupIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((sol) => {\r\n\t\t\t\t\tconst currentGroupAttribute = getCxAttribute({ data: sol, informationType: InformationType.Group });\r\n\r\n\t\t\t\t\tif (currentGroupAttribute && recordIds.includes(currentGroupAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedGroupAttribute = {\r\n\t\t\t\t\t\t\t...currentGroupAttribute,\r\n\t\t\t\t\t\t\tgroups: [...currentGroupAttribute.groups, ...groupIds],\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...sol,\r\n\t\t\t\t\t\t\tattributes: sol.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Group) att = updatedGroupAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn sol;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UNLINK_GROUPS\": {\r\n\t\t\tconst { groupIds, recordType, recordIds } = action?.request?.data;\r\n\t\t\tif (recordType !== \"cem_cxattribute\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((sol) => {\r\n\t\t\t\t\tconst currentGroupAttribute = getCxAttribute({ data: sol, informationType: InformationType.Group });\r\n\r\n\t\t\t\t\tif (currentGroupAttribute && recordIds.includes(currentGroupAttribute.id)) {\r\n\t\t\t\t\t\tconst updatedGroupAttribute = {\r\n\t\t\t\t\t\t\t...currentGroupAttribute,\r\n\t\t\t\t\t\t\tgroups: currentGroupAttribute.groups?.filter((groupId) => !groupIds?.includes(groupId)),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...sol,\r\n\t\t\t\t\t\t\tattributes: sol.attributes.map((att) => {\r\n\t\t\t\t\t\t\t\tif (att.type === InformationType.Group) att = updatedGroupAttribute;\r\n\t\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn sol;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_MULTI_SOLUTION\"): {\r\n\t\t\tconst modifiedSolutions = action.meta.requestAction.request.data.modifiedSolutions;\r\n\t\t\tconst ids = action.meta.requestAction.request.data.modifiedSolutions?.map((x) => x.id);\r\n\t\t\tconst modifiedAttribNames = action.meta.requestAction.request.data.modifiedAttribNames;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions.map((solution) => {\r\n\t\t\t\t\tif (ids.includes(solution.id)) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...solution,\r\n\t\t\t\t\t\t\t[modifiedAttribNames]: modifiedSolutions?.find((x) => x.id === solution?.id)?.[modifiedAttribNames],\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ARCHIVE_SOLUTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state?.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (solution.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn { ...solution, statusCode: StatusCode.Archived };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"ARCHIVE_MANY_SOLUTIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (action.response.data.includes(solution.id)) {\r\n\t\t\t\t\t\treturn { ...solution, statusCode: StatusCode.Archived };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_SOLUTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state?.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (solution.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn { ...solution, statusCode: StatusCode.Trashed };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_SOLUTIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (action.response.data.includes(solution.id)) {\r\n\t\t\t\t\t\treturn { ...solution, statusCode: StatusCode.Trashed };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_SOLUTION_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions.filter((solution) => solution.id !== action.meta.requestAction.request.data.id),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_SOLUTIONS_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions.filter((solution) => !action.response.data.includes(solution.id)),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_SOLUTION\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions.map((solution) => {\r\n\t\t\t\t\tif (solution.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn { ...solution, statusCode: StatusCode.Active };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_MANY_SOLUTIONS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (action.response.data.includes(solution.id)) {\r\n\t\t\t\t\t\treturn { ...solution, statusCode: StatusCode.Active };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_CX_ATTRIBUTE\"): {\r\n\t\t\tconst { modifiedCxAttribute } = action.meta.requestAction.request.data;\r\n\t\t\tif (modifiedCxAttribute.solutionId === EMPTY_GUID) return state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (solution.id === modifiedCxAttribute.solutionId) {\r\n\t\t\t\t\t\tsolution.attributes = solution.attribute?.map((attr) => {\r\n\t\t\t\t\t\t\tif (attr.id === modifiedCxAttribute.id) {\r\n\t\t\t\t\t\t\t\tattr = responseData;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn attr;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_USER_MODIFICATION\"): {\r\n\t\t\tconst { objId, objName } = action.meta.requestAction?.request?.data || {};\r\n\t\t\tif (objName !== \"cem_cxsolution\") return state;\r\n\t\t\tconst { userName } = requestParams;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (solution.id === objId) {\r\n\t\t\t\t\t\tsolution.modifiedBy = userName;\r\n\t\t\t\t\t\tsolution.lastUpdated = new Date().toISOString();\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_CX_ATTRIBUTES\": {\r\n\t\t\tconst { modifiedCxAttributes } = action?.request?.data;\r\n\t\t\tconst solutionIds = modifiedCxAttributes.map((att) => att?.solutionId);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (solutionIds?.includes(solution?.id)) {\r\n\t\t\t\t\t\tconst modifiedCxAttribute = modifiedCxAttributes?.find((att) => att.solutionId === solution?.id);\r\n\t\t\t\t\t\tsolution.attributes = solution.attributes.map((attr) => {\r\n\t\t\t\t\t\t\tif (attr.id === modifiedCxAttribute.id) attr = modifiedCxAttribute;\r\n\t\t\t\t\t\t\treturn attr;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CJM_SOLUTIONS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: fetchArraysAndMerge(state.all_solutions, responseData),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"BULK_UNLINK_SOLUTION_RECORDS\": {\r\n\t\t\tconst { ids, recIds } = action?.request?.data;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_solutions: state.all_solutions?.map((solution) => {\r\n\t\t\t\t\tif (ids?.includes(solution?.id)) {\r\n\t\t\t\t\t\tsolution.linkedPersonas = solution.linkedPersonas?.filter((id) => !recIds?.includes(id));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn solution;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\n\r\nexport default SolutionsReducer;\r\n","/* eslint-disable no-undef */\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nimport axios from \"axios\";\r\nimport { AUTHENTICATE, LOGIN } from \"features/auth/reducer/AuthActions\";\r\nimport { connectorInit } from \"features/integrations/reducer/ConnectorAction\";\r\nimport { getOrganizationSettings, getSubscriptionDetails } from \"features/settings/reducer/SettingsActions\";\r\nimport { getAllAuthorizedUsers, getAllRegisteredUsers, getAllRoles, getSettingUser, upsertSettingUser } from \"features/settings/reducer/UserActions\";\r\nimport { updateAllStoresStates } from \"shared/hooks/useNetworkStatus\";\r\nimport { configHeaderAxios } from \"shared/Routes/route-validation\";\r\nimport { publicRoutes } from \"shared/Routes/routes\";\r\nimport { brandValueInit, cxGoalsInit, getAllCxMetrics, getAllInsightTypes, getAllStakeholderRoles, getAllTeams, getNotifs, groupInit, iconsInit, libraryInit, measureInit, priorityInit, statusInit, tagInit, touchPointCategoriesInit, touchPointInit } from \"./index\";\r\nimport { base } from \"./store\";\r\n//reducers\r\nexport const customMiddleWare = (store) => (next) => async (action) => {\r\n\ttry {\r\n\t\tif (action.type === LOGIN || action.type === AUTHENTICATE) {\r\n\t\t\treturn next(action);\r\n\t\t}\r\n\t\t//TODO Refactoring token should be anywhere and not only at the end\r\n\t\tconst urlParams = new URLSearchParams(window.location.search);\r\n\t\tconst pdfToken = urlParams.get(\"token\");\r\n\t\tif (action?.error?.response?.status === 401 && pdfToken === null) {\r\n\r\n\t\t\tif (action?.error?.response?.data === \"Refused\") {\r\n\t\t\t\tconst apiCall = action?.error?.request?.responseURL?.split(\"/api/\")[1]?.split(\"/\")[0];\r\n\r\n\t\t\t\tstore.dispatch({ type: `NO_ACCESS_${apiCall}` });\r\n\t\t\t} else {\r\n\t\t\t\tstore.dispatch({ type: \"LOGOUT\" });\r\n\t\t\t\tprocess.env.NODE_ENV === \"development\" && console.log(\"LOG OUT From Middleware\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn next(action);\r\n\t} catch (e) {\r\n\t\tconsole.error(e);\r\n\t}\r\n};\r\n\r\nexport const cancelableRequestsMiddleware = (store) => (next) => (action) => {\r\n\tif (action.request && action.request.method === \"GET\") {\r\n\t\tconst requestType = action.type;\r\n\r\n\t\t// Use a static variable to store the cancellation tokens\r\n\t\tif (!cancelableRequestsMiddleware.cancellations) {\r\n\t\t\tcancelableRequestsMiddleware.cancellations = {};\r\n\t\t}\r\n\r\n\t\tconst previousCancelTokenSource = cancelableRequestsMiddleware.cancellations[requestType];\r\n\t\tif (previousCancelTokenSource) {\r\n\t\t\t// console.log(`Cancelling previous request of type ${requestType}`);\r\n\t\t\tpreviousCancelTokenSource.cancel(`Cancelled previous request of type ${requestType}`);\r\n\t\t}\r\n\r\n\t\t// Create a new cancel token source for the new request\r\n\t\tconst cancelTokenSource = axios.CancelToken.source();\r\n\t\taction.request.cancelToken = cancelTokenSource.token; // Attach the cancel token to the request\r\n\t\tcancelableRequestsMiddleware.cancellations[requestType] = cancelTokenSource;\r\n\r\n\t\t// Clean up after the request is done\r\n\t\tconst cleanup = () => {\r\n\t\t\tdelete cancelableRequestsMiddleware.cancellations[requestType];\r\n\t\t};\r\n\r\n\t\tif (action.promise && typeof action.promise.then === \"function\") {\r\n\t\t\taction.promise.then(cleanup).catch(cleanup);\r\n\t\t}\r\n\t}\r\n\treturn next(action);\r\n};\r\n\r\nfunction isObjectEmpty(obj, workspaceId) {\r\n\tif (!obj || Object.keys(obj).length === 0) {\r\n\t\treturn true\r\n\t}\r\n\r\n\tif (workspaceId) {\r\n\t\tconst items = Object.values(obj).flat();\r\n\t\tif (items[0]?.workspaceId) {\r\n\t\t\treturn items[0]?.workspaceId !== workspaceId\r\n\t\t}\r\n\t}\r\n\treturn false\r\n}\r\n\r\nexport const checkEmptyListMiddleware = (store) => (next) => (action) => {\r\n\t// Proceed with the current action\r\n\tconst result = next(action);\r\n\r\n\t// Check for the PERSIST/REHYDRATE action from redux-persist\r\n\tconst urlParams = new URLSearchParams(window.location.search);\r\n\tconst pdfToken = urlParams.get(\"token\");\r\n\tif (action.type === \"persist/REHYDRATE\") {\r\n\t\tconst state = store.getState();\r\n\r\n\t\tconst currentToken = pdfToken || state.auth?.token\r\n\r\n\t\tif (currentToken) {\r\n\t\t\tconfigHeaderAxios(currentToken);\r\n\t\t}\r\n\t\tif (currentToken && (typeof currentToken === 'string') && currentToken !== state.auth?.token) {\r\n\t\t\tconst setAuth = createAction(\"SET_AUTHENTICATED\");\r\n\t\t\tstore.dispatch(setAuth(currentToken));\r\n\t\t}\r\n\t\tconst paths = window.location.pathname.split(\"/\");\r\n\r\n\t\tif (currentToken && !publicRoutes.some((path) => paths.includes(path))) {\r\n\t\t\t/// **** CHECK IF SWITCH WORkSPACE **** ///\r\n\t\t\tconst workspaceId = base.split(\"/\")[2];\r\n\t\t\tif (state.settings?.userSetting?.workspaceId !== workspaceId) {\r\n\t\t\t\tconsole.log(\"resetAllStore\")\r\n\t\t\t\tconst resetNotif = createAction(\"RESET_NOTIFICATIONS\");\r\n\t\t\t\tstore.dispatch(resetNotif());\r\n\t\t\t\tupsertSettingUser({ userSetting: { id: state.settings?.userSetting?.id, workspaceId: workspaceId }, modifiedAttribNames: [\"workspaceId\"] });\r\n\t\t\t\tupdateAllStoresStates(store.dispatch);\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\r\n\t\t\t/// **** SETTINGS **** ///\r\n\r\n\t\t\t// Check if `subscriptionDetails` in `settings` is empty\r\n\t\t\tif (isObjectEmpty(state.settings?.subscriptionDetails)) {\r\n\t\t\t\t// Dispatch an action to fetch subscription details\r\n\t\t\t\tstore.dispatch(getSubscriptionDetails());\r\n\t\t\t}\r\n\t\t\tif (isObjectEmpty(state.settings?.userSetting)) {\r\n\t\t\t\tstore.dispatch(getSettingUser());\r\n\t\t\t}\r\n\t\t\tif (isObjectEmpty(state.settings?.organization)) {\r\n\t\t\t\tstore.dispatch(getOrganizationSettings());\r\n\t\t\t}\r\n\t\t\tif (isObjectEmpty(state.settings?.authorizedUsers)) {\r\n\t\t\t\tstore.dispatch(getAllAuthorizedUsers());\r\n\t\t\t}\r\n\t\t\tif (isObjectEmpty(state.settings?.users)) {\r\n\t\t\t\tstore.dispatch(getAllRegisteredUsers())\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif (state.settings?.connector?.length === 0) {\r\n\t\t\t\tstore.dispatch(connectorInit());\r\n\t\t\t}\r\n\t\t\tif (isObjectEmpty(state.settings?.teams)) {\r\n\t\t\t\tstore.dispatch(getAllTeams());\r\n\t\t\t}\r\n\t\t\tif (!state.settings?.roles || state.settings?.roles?.length === 0) {\r\n\t\t\t\tstore.dispatch(getAllRoles());\r\n\t\t\t}\r\n\t\t\t/// **** LIBRARIES **** ///\r\n\t\t\tconst { group, tags, icons, customLibraries, touchPoint, brandValues, notifications,\r\n\t\t\t\tmeasures, insightTypes, stakeholderRoles, cxMetrics, cxGoals, touchPointCategories } = state.libraries || {}\r\n\t\t\tif (checkArrayAndWorkspace(group, workspaceId)) {\r\n\t\t\t\tstore.dispatch(groupInit());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(tags, workspaceId)) {\r\n\t\t\t\tstore.dispatch(tagInit());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(icons, workspaceId)) {\r\n\t\t\t\tstore.dispatch(iconsInit());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(customLibraries, workspaceId)) {\r\n\t\t\t\tstore.dispatch(libraryInit());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(touchPoint, workspaceId)) {\r\n\t\t\t\tstore.dispatch(touchPointInit());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(notifications, workspaceId)) {\r\n\t\t\t\tstore.dispatch(getNotifs());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(brandValues, workspaceId)) {\r\n\t\t\t\tstore.dispatch(brandValueInit());\r\n\t\t\t}\r\n\t\t\tif (isObjectEmpty(state.libraries?.priority, workspaceId)) {\r\n\t\t\t\tstore.dispatch(priorityInit());\r\n\t\t\t}\r\n\t\t\tif (isObjectEmpty(state.libraries?.status, workspaceId)) {\r\n\t\t\t\tstore.dispatch(statusInit());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(measures, workspaceId)) {\r\n\t\t\t\tstore.dispatch(measureInit());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(insightTypes, workspaceId)) {\r\n\t\t\t\tstore.dispatch(getAllInsightTypes());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(stakeholderRoles, workspaceId)) {\r\n\t\t\t\tstore.dispatch(getAllStakeholderRoles());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(cxMetrics, workspaceId)) {\r\n\t\t\t\tstore.dispatch(getAllCxMetrics());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(cxGoals, workspaceId)) {\r\n\t\t\t\tstore.dispatch(cxGoalsInit());\r\n\t\t\t}\r\n\t\t\tif (checkArrayAndWorkspace(touchPointCategories, workspaceId)) {\r\n\t\t\t\tstore.dispatch(touchPointCategoriesInit());\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n\r\nfunction checkArrayAndWorkspace(array, workspaceId) {\r\n\tif (!array && array?.length === 0) {\r\n\t\treturn true;\r\n\t}\r\n\tif (array?.[0]?.workspaceId) {\r\n\t\treturn workspaceId !== array[0].workspaceId\r\n\t}\r\n\treturn false\r\n}","import { error, success } from \"@redux-requests/core\";\r\nimport { getSelectableIds } from \"utils/helpers\";\r\n\r\nconst initialState = {\r\n\toriginalData: {},\r\n\tallFilterOptions: {},\r\n\tselectedFilterOptions: {},\r\n\tcurrentData: {},\r\n\tsavedAnalyticFilters: {},\r\n\tloading: false,\r\n};\r\n\r\nconst getReportsData = ({ cjms, personas, touchpoints, opportunities, solutions, actions, insights, tags, groups, gainInsightTypeId, painInsightTypeId }) => {\r\n\tif (cjms.length === 0 && personas.length === 0)\r\n\t\treturn {\r\n\t\t\ttouchpoints: [],\r\n\t\t\topportunities: [],\r\n\t\t\tsolutions: [],\r\n\t\t\tactions: [],\r\n\t\t\tinsights: [],\r\n\t\t\tgainInsights: {},\r\n\t\t\tpainInsights: {},\r\n\t\t\ttags: [],\r\n\t\t\tgroups: [],\r\n\t\t};\r\n\r\n\tconst currentCjmIds = cjms.map((cjm) => cjm.id);\r\n\tconst currentPersonaIds = personas.map((p) => p.id);\r\n\r\n\tconst filterRecords = ({ records, mode = \"and\", single = false }) => {\r\n\t\treturn records.filter((record) => {\r\n\t\t\tconst hasJourney = single ? currentCjmIds.includes(record?.cjmId) : record?.cjmIds?.some((cjmId) => currentCjmIds.includes(cjmId));\r\n\t\t\tconst hasPersona = single ? currentPersonaIds.includes(record?.personaId) : record?.personaIds?.some((personaId) => currentPersonaIds.includes(personaId));\r\n\t\t\treturn mode === \"and\" ? hasPersona && hasJourney : hasPersona || hasJourney;\r\n\t\t});\r\n\t};\r\n\r\n\tconst gainInsights = {};\r\n\tconst painInsights = {};\r\n\tconst filteredInsights = filterRecords({ records: insights });\r\n\r\n\tcjms.forEach((cjm) => {\r\n\t\tcjm.insightIds?.forEach((insightId) => {\r\n\t\t\tconst insight = filteredInsights.find((currInsight) => currInsight.id === insightId);\r\n\t\t\tif (insight) {\r\n\t\t\t\tif (insight?.type?.id === gainInsightTypeId) {\r\n\t\t\t\t\tif (!(insightId in gainInsights)) gainInsights[insightId] = { name: insight?.name, value: 0, cjms: [], wordCloud: insight.wordCloud };\r\n\t\t\t\t\tgainInsights[insightId] = { ...gainInsights[insightId], value: gainInsights[insightId].value + 1, cjms: [...gainInsights[insightId].cjms, cjm] };\r\n\t\t\t\t}\r\n\t\t\t\tif (insight?.type?.id === painInsightTypeId) {\r\n\t\t\t\t\tif (!(insightId in painInsights)) painInsights[insightId] = { name: insight?.name, value: 0, cjms: [], wordCloud: insight.wordCloud };\r\n\t\t\t\t\tpainInsights[insightId] = { ...painInsights[insightId], value: painInsights[insightId].value + 1, cjms: [...painInsights[insightId].cjms, cjm] };\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\treturn {\r\n\t\ttouchpoints: filterRecords({ records: touchpoints, single: true }),\r\n\t\topportunities: filterRecords({ records: opportunities }),\r\n\t\tsolutions: filterRecords({ records: solutions }),\r\n\t\tactions: filterRecords({ records: actions }),\r\n\t\tinsights: filteredInsights,\r\n\t\tgainInsights,\r\n\t\tpainInsights,\r\n\t\ttags: filterRecords({ records: tags, mode: \"or\" }),\r\n\t\tgroups: groups?.filter((group) => group?.cjmIds.some((cjmId) => currentCjmIds.includes(cjmId))),\r\n\t};\r\n};\r\n\r\nconst journeyTrendReducer = (state = initialState, action) => {\r\n\tconst responseData = action?.response?.data;\r\n\r\n\tswitch (action.type) {\r\n\t\tcase success(\"GET_JOURNEY_TREND_DATA\"): {\r\n\t\t\tconst { isExportMode } = action?.meta?.requestAction?.params;\r\n\t\t\tconst selectedCjms = responseData?.cjms?.filter((j) => state?.savedAnalyticFilters?.cjms?.includes(j.id));\r\n\t\t\tconst selectedPersonas = responseData?.personas?.filter((p) => state?.savedAnalyticFilters?.personas?.includes(p.id));\r\n\r\n\t\t\tif (isExportMode) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\toriginalData: responseData,\r\n\t\t\t\t\tselectedFilterOptions: {\r\n\t\t\t\t\t\tprograms: responseData?.programs?.filter((p) => state?.savedAnalyticFilters?.programs?.includes(p.id)),\r\n\t\t\t\t\t\tcjms: selectedCjms,\r\n\t\t\t\t\t\tpersonas: selectedPersonas,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcurrentData: getReportsData({ ...responseData, cjms: selectedCjms, personas: selectedPersonas }),\r\n\t\t\t\t\tloading: false,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\toriginalData: responseData,\r\n\t\t\t\tallFilterOptions: { programs: responseData.programs, cjms: responseData.cjms, personas: responseData.personas },\r\n\t\t\t\tselectedFilterOptions: { programs: [], cjms: responseData.cjms, personas: responseData.personas },\r\n\t\t\t\tcurrentData: getReportsData(responseData),\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase error(\"GET_JOURNEY_TREND_DATA\"):\r\n\t\t\treturn state;\r\n\t\tcase \"APPLY_FILTER_JOURNEY_TRENDS\": {\r\n\t\t\tconst { dataAttribute, selectedItems } = action?.payload;\r\n\r\n\t\t\tswitch (dataAttribute) {\r\n\t\t\t\tcase \"programs\": {\r\n\t\t\t\t\tif (selectedItems.length === 0) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tallFilterOptions: { programs: state.originalData.programs, cjms: state.originalData.cjms, personas: state.originalData.personas },\r\n\t\t\t\t\t\t\tselectedFilterOptions: { programs: [], cjms: state.originalData.cjms, personas: state.originalData.personas },\r\n\t\t\t\t\t\t\tcurrentData: getReportsData(state.originalData),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst selectableCjmIds = getSelectableIds({\r\n\t\t\t\t\t\tselectedItems,\r\n\t\t\t\t\t\tlinkedAttribute: \"cjmIds\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst filteredCjms = state.originalData.cjms?.filter((cjm) => selectableCjmIds.includes(cjm.id));\r\n\r\n\t\t\t\t\tconst selectablePersonaIds = getSelectableIds({\r\n\t\t\t\t\t\tselectedItems: filteredCjms,\r\n\t\t\t\t\t\tlinkedAttribute: \"personaIds\",\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst filteredPersonas = state.originalData.personas?.filter((persona) => selectablePersonaIds.includes(persona.id));\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tallFilterOptions: { ...state.allFilterOptions, cjms: filteredCjms, personas: filteredPersonas },\r\n\t\t\t\t\t\tselectedFilterOptions: { programs: selectedItems, cjms: filteredCjms, personas: filteredPersonas },\r\n\t\t\t\t\t\tcurrentData: getReportsData({ ...state.originalData, cjms: filteredCjms, personas: filteredPersonas }),\r\n\t\t\t\t\t\tloading: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"cjms\": {\r\n\t\t\t\t\tif (selectedItems.length === 0) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tallFilterOptions: { ...state.allFilterOptions, personas: [] },\r\n\t\t\t\t\t\t\tselectedFilterOptions: { ...state.selectedFilterOptions, cjms: [], personas: [] },\r\n\t\t\t\t\t\t\tcurrentData: getReportsData({ cjms: [], personas: [] }),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst selectablePersonaIds = getSelectableIds({\r\n\t\t\t\t\t\tselectedItems,\r\n\t\t\t\t\t\tlinkedAttribute: \"personaIds\",\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst filteredPersonas = state.originalData.personas?.filter((persona) => selectablePersonaIds.includes(persona.id));\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tallFilterOptions: { ...state.allFilterOptions, personas: filteredPersonas },\r\n\t\t\t\t\t\tselectedFilterOptions: { ...state.selectedFilterOptions, cjms: selectedItems, personas: filteredPersonas },\r\n\t\t\t\t\t\tcurrentData: getReportsData({ ...state.originalData, cjms: selectedItems, personas: filteredPersonas }),\r\n\t\t\t\t\t\tloading: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"personas\": {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tselectedFilterOptions: { ...state.selectedFilterOptions, personas: selectedItems },\r\n\t\t\t\t\t\tcurrentData: getReportsData({ ...state.originalData, personas: selectedItems }),\r\n\t\t\t\t\t\tloading: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"tags\": {\r\n\t\t\t\t\tif (selectedItems.length === 0) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tselectedFilterOptions: { ...state.selectedFilterOptions, tags: [] },\r\n\t\t\t\t\t\t\tcurrentData: getReportsData({ ...state.originalData, cjms: state?.selectedFilterOptions?.cjms, personas: state.selectedFilterOptions.personas }),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconst allRelatedCjmIds = [];\r\n\t\t\t\t\tconst allRelatedPersonaIds = [];\r\n\t\t\t\t\tselectedItems.forEach((tag) => {\r\n\t\t\t\t\t\tallRelatedCjmIds.push(...tag.cjmIds);\r\n\t\t\t\t\t\tallRelatedPersonaIds.push(...tag.personaIds);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst selectedCjms = state?.selectedFilterOptions?.cjms?.filter((cjm) => allRelatedCjmIds?.includes(cjm?.id));\r\n\t\t\t\t\tconst selectedPersonas = state.selectedFilterOptions.personas?.filter((persona) => allRelatedPersonaIds?.includes(persona?.id));\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tselectedFilterOptions: { ...state.selectedFilterOptions, tags: selectedItems },\r\n\t\t\t\t\t\tcurrentData: getReportsData({ ...state.originalData, cjms: selectedCjms, personas: selectedPersonas }),\r\n\t\t\t\t\t\tloading: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn state;\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"GET_ANALYTICS_FILTERS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsavedAnalyticFilters: responseData,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default journeyTrendReducer;\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport { areYearsSimilar } from \"@utils/helpers\";\r\nimport { getFilteredInteractions, getInteractionsRelatedItems } from \"features/analytics/analyticsHelper\";\r\nimport { getSelectableIds } from \"utils/helpers\";\r\n\r\nconst initialState = {\r\n\toriginalData: {},\r\n\tallFilterOptions: {},\r\n\tselectedFilterOptions: {},\r\n\tcurrentData: {},\r\n\tsavedAnalyticFilters: {},\r\n\tloading: false,\r\n};\r\n\r\nconst vocAnalysisReducer = (state = initialState, action) => {\r\n\tconst responseData = action?.response?.data;\r\n\r\n\tswitch (action.type) {\r\n\t\tcase success(\"GET_VOC_ANALYSIS_DATA\"): {\r\n\t\t\tconst { isExportMode } = action?.meta?.requestAction?.params;\r\n\r\n\t\t\tif (isExportMode) {\r\n\t\t\t\tconst { cjms, personas, touchpoints, metrics, contactInteractions, personaInteractions, date } = state?.savedAnalyticFilters;\r\n\t\t\t\tconst filteredCjms = responseData?.cjms.filter((c) => cjms?.includes(c?.id));\r\n\t\t\t\tconst filteredPersonas = responseData?.personas.filter((p) => personas?.includes(p?.id));\r\n\t\t\t\tconst filteredTouchpoints = responseData?.touchpoints.filter((tp) => touchpoints?.includes(tp?.id));\r\n\t\t\t\tconst filteredMetrics = responseData?.metrics.filter((m) => metrics?.includes(m?.id));\r\n\t\t\t\tconst filteredPersonaInteractions = responseData?.personaInteractions.filter((pi) => personaInteractions?.includes(pi?.id));\r\n\t\t\t\tconst filteredContactInteractions = responseData?.contactInteractions.filter((ci) => contactInteractions?.includes(ci?.id));\r\n\r\n\t\t\t\tconst filters = {\r\n\t\t\t\t\tcjms: filteredCjms,\r\n\t\t\t\t\tpersonas: filteredPersonas,\r\n\t\t\t\t\ttouchpoints: filteredTouchpoints,\r\n\t\t\t\t\tmetrics: filteredMetrics,\r\n\t\t\t\t\tdate: date,\r\n\t\t\t\t};\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\toriginalData: responseData,\r\n\t\t\t\t\tallFilterOptions: { ...filters },\r\n\t\t\t\t\tselectedFilterOptions: { ...filters },\r\n\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\tpersonaInteractions: filteredPersonaInteractions,\r\n\t\t\t\t\t\tcontactInteractions: filteredContactInteractions,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tloading: false,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tconst date = new Date();\r\n\t\t\tconst { cjms, personas, contactInteractions, personaInteractions } = responseData;\r\n\r\n\t\t\tconst currentContactInteractions = contactInteractions?.filter((interaction) => areYearsSimilar(interaction?.date, date));\r\n\t\t\tconst { touchpoints, metrics } = getInteractionsRelatedItems({\r\n\t\t\t\tinteractions: [...personaInteractions, ...currentContactInteractions],\r\n\t\t\t\tallTouchpoints: responseData?.touchpoints,\r\n\t\t\t\tallMetrics: responseData?.metrics,\r\n\t\t\t});\r\n\r\n\t\t\tconst filters = {\r\n\t\t\t\tcjms,\r\n\t\t\t\tpersonas,\r\n\t\t\t\ttouchpoints,\r\n\t\t\t\tmetrics,\r\n\t\t\t\tdate: new Date(),\r\n\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\toriginalData: responseData,\r\n\t\t\t\tallFilterOptions: { ...filters },\r\n\t\t\t\tselectedFilterOptions: { ...filters },\r\n\t\t\t\tcurrentData: {\r\n\t\t\t\t\tpersonaInteractions: personaInteractions,\r\n\t\t\t\t\tcontactInteractions: currentContactInteractions,\r\n\t\t\t\t},\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase error(\"GET_DASHBOARD_DATA\"):\r\n\t\t\treturn state;\r\n\t\tcase \"APPLY_FILTER_VOC_ANALYSIS\": {\r\n const { dataAttribute, selectedItems } = action?.payload;\r\n console.log(\"selectedItems:\",selectedItems)\r\n\r\n\t\t\tswitch (dataAttribute) {\r\n\t\t\t\tcase \"cjms\": {\r\n\t\t\t\t\tconst selectablePersonaIds = getSelectableIds({\r\n\t\t\t\t\t\tselectedItems,\r\n\t\t\t\t\t\tlinkedAttribute: \"personaIds\",\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst filteredPersonas = state.originalData.personas?.filter((persona) => selectablePersonaIds.includes(persona.id));\r\n\t\t\t\t\tconst { currentPersonaInteractions, currentContactInteractions } = getFilteredInteractions({\r\n\t\t\t\t\t\tpersonaInteractions: state?.originalData?.personaInteractions,\r\n\t\t\t\t\t\tcontactInteractions: state?.originalData?.contactInteractions,\r\n\t\t\t\t\t\tcjms: selectedItems,\r\n\t\t\t\t\t\tpersonas: filteredPersonas,\r\n\t\t\t\t\t\tdate: state?.selectedFilterOptions?.date,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst { touchpoints, metrics } = getInteractionsRelatedItems({\r\n\t\t\t\t\t\tinteractions: [...currentPersonaInteractions, ...currentContactInteractions],\r\n\t\t\t\t\t\tallTouchpoints: state?.originalData?.touchpoints,\r\n\t\t\t\t\t\tallMetrics: state?.originalData?.metrics,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tallFilterOptions: { ...state?.allFilterOptions, personas: filteredPersonas, touchpoints, metrics },\r\n\t\t\t\t\t\tselectedFilterOptions: {\r\n\t\t\t\t\t\t\t...state?.selectedFilterOptions,\r\n\t\t\t\t\t\t\tcjms: selectedItems,\r\n\t\t\t\t\t\t\tpersonas: filteredPersonas,\r\n\t\t\t\t\t\t\ttouchpoints,\r\n\t\t\t\t\t\t\tmetrics,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\t\tpersonaInteractions: currentPersonaInteractions,\r\n\t\t\t\t\t\t\tcontactInteractions: currentContactInteractions,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tloading: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"personas\": {\r\n\t\t\t\t\tconst { currentPersonaInteractions, currentContactInteractions } = getFilteredInteractions({\r\n\t\t\t\t\t\tpersonaInteractions: state?.originalData?.personaInteractions,\r\n\t\t\t\t\t\tcontactInteractions: state?.originalData?.contactInteractions,\r\n\t\t\t\t\t\tcjms: state?.selectedFilterOptions?.cjms,\r\n\t\t\t\t\t\tpersonas: selectedItems,\r\n\t\t\t\t\t\tdate: state?.selectedFilterOptions?.date,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst { touchpoints, metrics } = getInteractionsRelatedItems({\r\n\t\t\t\t\t\tinteractions: [...currentPersonaInteractions, ...currentContactInteractions],\r\n\t\t\t\t\t\tallTouchpoints: state?.originalData?.touchpoints,\r\n\t\t\t\t\t\tallMetrics: state?.originalData?.metrics,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tallFilterOptions: { ...state?.allFilterOptions, touchpoints, metrics },\r\n\t\t\t\t\t\tselectedFilterOptions: {\r\n\t\t\t\t\t\t\t...state?.selectedFilterOptions,\r\n\t\t\t\t\t\t\tpersonas: selectedItems,\r\n\t\t\t\t\t\t\ttouchpoints,\r\n\t\t\t\t\t\t\tmetrics,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\t\tpersonaInteractions: currentPersonaInteractions,\r\n\t\t\t\t\t\t\tcontactInteractions: currentContactInteractions,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tloading: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"touchpoints\": {\r\n\t\t\t\t\tconst { currentPersonaInteractions, currentContactInteractions } = getFilteredInteractions({\r\n\t\t\t\t\t\tpersonaInteractions: state?.originalData?.personaInteractions,\r\n\t\t\t\t\t\tcontactInteractions: state?.originalData?.contactInteractions,\r\n\t\t\t\t\t\tcjms: state?.selectedFilterOptions?.cjms,\r\n\t\t\t\t\t\tpersonas: state?.selectedFilterOptions?.personas,\r\n\t\t\t\t\t\ttouchpoints: selectedItems,\r\n\t\t\t\t\t\tmetrics: state?.selectedFilterOptions?.metrics,\r\n\t\t\t\t\t\tdate: state?.selectedFilterOptions?.date,\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tselectedFilterOptions: { ...state.selectedFilterOptions, touchpoints: selectedItems },\r\n\t\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\t\tpersonaInteractions: currentPersonaInteractions,\r\n\t\t\t\t\t\t\tcontactInteractions: currentContactInteractions,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"metrics\": {\r\n\t\t\t\t\tconst { currentPersonaInteractions, currentContactInteractions } = getFilteredInteractions({\r\n\t\t\t\t\t\tpersonaInteractions: state?.originalData?.personaInteractions,\r\n\t\t\t\t\t\tcontactInteractions: state?.originalData?.contactInteractions,\r\n\t\t\t\t\t\tcjms: state?.selectedFilterOptions?.cjms,\r\n\t\t\t\t\t\tpersonas: state?.selectedFilterOptions?.personas,\r\n\t\t\t\t\t\ttouchpoints: state?.selectedFilterOptions?.touchpoints,\r\n\t\t\t\t\t\tmetrics: selectedItems,\r\n\t\t\t\t\t\tdate: state?.selectedFilterOptions?.date,\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tselectedFilterOptions: { ...state.selectedFilterOptions, metrics: selectedItems },\r\n\t\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\t\tpersonaInteractions: currentPersonaInteractions,\r\n\t\t\t\t\t\t\tcontactInteractions: currentContactInteractions,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"date\": {\r\n\t\t\t\t\tconst { currentPersonaInteractions, currentContactInteractions } = getFilteredInteractions({\r\n\t\t\t\t\t\tpersonaInteractions: state?.originalData?.personaInteractions,\r\n\t\t\t\t\t\tcontactInteractions: state?.originalData?.contactInteractions,\r\n\t\t\t\t\t\tcjms: state?.selectedFilterOptions?.cjms,\r\n\t\t\t\t\t\tpersonas: state?.selectedFilterOptions?.personas,\r\n\t\t\t\t\t\ttouchpoints: state?.originalData?.touchpoints,\r\n\t\t\t\t\t\tmetrics: state?.originalData?.metrics,\r\n\t\t\t\t\t\tdate: selectedItems,\r\n\t\t\t\t\t});\r\n\t\t\t\t\t\r\n const { touchpoints, metrics } = getInteractionsRelatedItems({\r\n\t\t\t\t\t\tinteractions: [...currentPersonaInteractions, ...currentContactInteractions],\r\n\t\t\t\t\t\tallTouchpoints: state?.originalData?.touchpoints,\r\n\t\t\t\t\t\tallMetrics: state?.originalData?.metrics,\r\n });\r\n \r\n\t\t\t\t\treturn {\r\n ...state,\r\n allFilterOptions: { ...state?.allFilterOptions, touchpoints, metrics },\r\n\t\t\t\t\t\tselectedFilterOptions: { ...state.selectedFilterOptions, touchpoints, metrics, date: selectedItems },\r\n\t\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\t\tpersonaInteractions: currentPersonaInteractions,\r\n\t\t\t\t\t\t\tcontactInteractions: currentContactInteractions,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn state;\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"GET_ANALYTICS_FILTERS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsavedAnalyticFilters: responseData,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default vocAnalysisReducer;\r\n","import { error, success } from \"@redux-requests/core\";\r\n\r\nconst initialState = {\r\n\toriginalData: {},\r\n\tallFilterOptions: {},\r\n\tselectedFilterOptions: {},\r\n\tcurrentData: {},\r\n\tsavedAnalyticFilters: {},\r\n\tloading: false,\r\n};\r\n\r\nconst getProjectsByCjms = ({ projects, cjms }) => {\r\n\tconst projectIds = [];\r\n\tcjms?.forEach((cjm) => {\r\n\t\tcjm?.projectIds?.forEach((projectId) => {\r\n\t\t\tif (!projectIds?.includes(projectId)) projectIds.push(projectId);\r\n\t\t});\r\n\t});\r\n\r\n\treturn projects?.filter((project) => projectIds.includes(project?.id));\r\n};\r\n\r\nconst roiAnalysisReducer = (state = initialState, action) => {\r\n\tconst responseData = action?.response?.data;\r\n\r\n\tswitch (action.type) {\r\n\t\tcase success(\"GET_ROI_ANALYSIS_DATA\"): {\r\n\t\t\tconst { isExportMode } = action?.meta?.requestAction?.params;\r\n\r\n\t\t\tif (isExportMode) {\r\n\t\t\t\tconst { filterBy, cjms, projects, startDate, endDate } = state?.savedAnalyticFilters;\r\n\t\t\t\tconst currentProjects = responseData?.projects.filter((p) => projects?.includes(p?.id));\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\toriginalData: responseData,\r\n\t\t\t\t\tallFilterOptions: { filterBy: [\"cjms\", \"projects\"], cjms: responseData?.cjms, projects: responseData?.projects },\r\n\t\t\t\t\tselectedFilterOptions: {\r\n\t\t\t\t\t\tfilterBy,\r\n\t\t\t\t\t\tcjms: responseData?.cjms.filter((c) => cjms?.includes(c?.id)),\r\n\t\t\t\t\t\tprojects: currentProjects,\r\n\t\t\t\t\t\tdate: { startDate, endDate },\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\tprojects: currentProjects,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tloading: false,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\toriginalData: responseData,\r\n\t\t\t\tallFilterOptions: { filterBy: [\"cjms\", \"projects\"], cjms: responseData?.cjms, projects: responseData?.projects },\r\n\t\t\t\tselectedFilterOptions: {\r\n\t\t\t\t\tfilterBy: \"projects\",\r\n\t\t\t\t\tcjms: responseData?.cjms,\r\n\t\t\t\t\tprojects: responseData?.projects,\r\n\t\t\t\t\tdate: { startDate: new Date(new Date().getFullYear(), 0, 1), endDate: new Date() },\r\n\t\t\t\t},\r\n\t\t\t\tcurrentData: {\r\n\t\t\t\t\tprojects: responseData?.projects,\r\n\t\t\t\t},\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase error(\"GET_ROI_ANALYSIS_DATA\"):\r\n\t\t\treturn state;\r\n\t\tcase \"APPLY_FILTER_ROI_ANALYSIS\": {\r\n\t\t\tconst { dataAttribute, selectedItems } = action?.payload;\r\n\r\n\t\t\tswitch (dataAttribute) {\r\n\t\t\t\tcase \"filterBy\": {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tselectedFilterOptions: { ...state?.selectedFilterOptions, filterBy: selectedItems },\r\n\t\t\t\t\t\tloading: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"projects\": {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tselectedFilterOptions: {\r\n\t\t\t\t\t\t\t...state.selectedFilterOptions,\r\n\t\t\t\t\t\t\tprojects: selectedItems,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\t\tprojects: selectedItems,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"cjms\": {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tselectedFilterOptions: {\r\n\t\t\t\t\t\t\t...state.selectedFilterOptions,\r\n\t\t\t\t\t\t\tcjms: selectedItems,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\t\tprojects: getProjectsByCjms({ projects: state?.originalData?.projects, cjms: selectedItems }),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"date\": {\r\n\t\t\t\t\tconst checkStartEndDate = (date, project) => {\r\n\t\t\t\t\t\tif (date?.startDate === \"\" || date?.endDate === \"\" || project?.startDate === \"\" || project?.endDate === \"\") return true;\r\n\t\t\t\t\t\tconst range1 = { start: new Date(date?.startDate), end: new Date(date?.endDate) };\r\n\t\t\t\t\t\tconst range2 = { start: new Date(project?.startDate), end: new Date(project?.endDate) };\r\n\t\t\t\t\t\tif (range1?.start <= range2?.end && range2?.start <= range1?.end) {\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tselectedFilterOptions: {\r\n\t\t\t\t\t\t\t...state?.selectedFilterOptions,\r\n\t\t\t\t\t\t\tdate: selectedItems,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tcurrentData: {\r\n\t\t\t\t\t\t\tprojects: state?.selectedFilterOptions?.projects?.filter((selectedProject) => checkStartEndDate(selectedItems, selectedProject)),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn state;\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"GET_ANALYTICS_FILTERS\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsavedAnalyticFilters: responseData,\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default roiAnalysisReducer;\r\n","/* eslint-disable no-undef */\r\nimport { createDriver } from \"@redux-requests/axios\";\r\nimport { handleRequests } from \"@redux-requests/core\";\r\nimport axios from \"axios\";\r\nimport { connectRouter, routerMiddleware } from \"connected-react-router\";\r\nimport { applyMiddleware, combineReducers, compose, createStore } from \"redux\";\r\nimport { composeWithDevTools } from \"redux-devtools-extension\";\r\nimport thunk from \"redux-thunk\";\r\nimport { actionSanitizer, stateSanitizer } from \"utils/helpers\";\r\n//reducers\r\nimport { Comment } from \"features/comments/reducer/commentSlice\";\r\nimport { Table } from \"features/grid-table/reducer/TableSlice.js\";\r\nimport WorkspaceReducer from \"features/workspace/reducer/WorkspaceReducer\";\r\nimport { enableMapSet } from \"immer\";\r\nimport AuthReducer from \"../features/auth/reducer/AuthReducer\";\r\nimport ActionReducer from \"../features/cx-actions/reducer/ActionReducer\";\r\nimport FolderReducer from \"../features/folders/reducer/FoldersReducer\";\r\nimport CxProgramReducer from \"../features/forms/cx-programs/reducer/CxProgramReducer\";\r\nimport StrategyReducer from \"../features/forms/cx-strategy/reducer/StrategyReducer\";\r\nimport PersonaReducer from \"../features/forms/personas/reducer/PersonaReducer\";\r\nimport InsightReducer from \"../features/insights/reducer/InsightReducer\";\r\nimport CJMReducer from \"../features/journey-map/reducer/CJMReducer\";\r\nimport LibrariesReducer from \"../features/library/reducer/LibrariesReducer\";\r\nimport OpportunityReducer from \"../features/opportunity/reducer/OpportunityReducer\";\r\nimport ProjectReducer from \"../features/projects/reducer/ProjectReducer\";\r\nimport settingsReducer from \"../features/settings/reducer/SettingsReducer\";\r\nimport SolutionsReducer from \"../features/solutions/reducer/SolutionsReducer\";\r\nimport { cancelableRequestsMiddleware, customMiddleWare, checkEmptyListMiddleware } from \"./middleware\";\r\nimport { Page } from \"./pageReducer\";\r\nimport { persistStore, persistReducer } from \"redux-persist\";\r\nimport { createBrowserHistory } from \"history\";\r\nimport { urlValidationAndRedirect, getBasename } from \"./helpers\";\r\nimport createIndexedDBStorage from \"redux-persist-indexeddb-storage\";\r\nimport journeyTrendReducer from \"features/analytics/reducer/JourneyTrend/journeyTrendReducer\";\r\nimport vocAnalysisReducer from \"features/analytics/reducer/VoCAnalysis/vocAnalysisReducer\";\r\nimport roiAnalysisReducer from \"features/analytics/reducer/ROIAnalysis/roiAnalysisReducer\";\r\nconst uiReducers = combineReducers({\r\n\tpage: Page.reducer,\r\n\ttable: Table.reducer,\r\n\tcomment: Comment.reducer,\r\n});\r\n\r\nenableMapSet();\r\n\r\nfunction ConfigureStore(history, initialState) {\r\n\tconst { requestsReducer, requestsMiddleware } = handleRequests({\r\n\t\tdriver: createDriver(axios),\r\n\t\ttakeLatest: false,\r\n\t});\r\n\r\n\tconst analyticsReducer = combineReducers({\r\n\t\tjourneyTrend: journeyTrendReducer,\r\n\t\tvocAnalysis: vocAnalysisReducer,\r\n\t\troiAnalysis: roiAnalysisReducer,\r\n\t});\r\n\r\n\tconst rootReducer = combineReducers({\r\n\t\trouter: connectRouter(history),\r\n\t\tauth: AuthReducer,\r\n\t\tsettings: settingsReducer,\r\n\t\tlibraries: LibrariesReducer,\r\n\t\tfolders: FolderReducer,\r\n\t\tmaps: CJMReducer,\r\n\t\tinsights: InsightReducer,\r\n\t\tpersonas: PersonaReducer,\r\n\t\tactions: ActionReducer,\r\n\t\topportunity: OpportunityReducer,\r\n\t\tsolutions: SolutionsReducer,\r\n\t\tprojects: ProjectReducer,\r\n\t\tstrategies: StrategyReducer,\r\n\t\tcxProgram: CxProgramReducer,\r\n\t\tui: uiReducers,\r\n\t\trequests: requestsReducer,\r\n\t\tanalytics: analyticsReducer,\r\n\t\tworkspaces: WorkspaceReducer,\r\n\t});\r\n\r\n\tconst persistConfig = {\r\n\t\tkey: \"root\",\r\n\t\tstorage: createIndexedDBStorage(\"cemantica-local-db\"), // Name your IndexedDB database\r\n\t\twhitelist: [\"auth\", \"settings\", \"libraries\"], // Choose reducers to persist\r\n\t};\r\n\r\n\tconst persistedReducer = persistReducer(persistConfig, rootReducer);\r\n\tconst enhancers = applyMiddleware(routerMiddleware(history), cancelableRequestsMiddleware, checkEmptyListMiddleware, customMiddleWare, ...requestsMiddleware, thunk);\r\n\tlet composeEnhancers = compose(enhancers);\r\n\tif (process.env.NODE_ENV === \"development\") {\r\n\t\tcomposeEnhancers = composeWithDevTools({\r\n\t\t\ttrace: true, // if you want to enable tracing\r\n\t\t\ttraceLimit: 15, // limit the trace steps\r\n\t\t\tserialize: {\r\n\t\t\t\toptions: true,\r\n\t\t\t},\r\n\t\t\tactionSanitizer, // Include your actionSanitizer\r\n\t\t\tstateSanitizer, //\r\n\t\t})(enhancers);\r\n\t}\r\n\tconst store = createStore(persistedReducer, initialState, composeEnhancers);\r\n\tconst persistor = persistStore(store); // Create the persistor instance\r\n\r\n\treturn { store, persistor };\r\n}\r\nconst base = getBasename(window.location.pathname);\r\nconst history = createBrowserHistory({ basename: base });\r\nurlValidationAndRedirect(window.location.pathname, history, base);\r\nconst { store, persistor } = ConfigureStore(history, window.initialReduxState);\r\n\r\nexport { store, persistor, history, base };\r\n","import React from 'react';\r\nimport { OverlayTrigger, Tooltip } from 'react-bootstrap';\r\n\r\nexport const CustomTooltip = (props) => {\r\n const { id, text, placement, delay, children, disabled = false, style, className, buttonRef , defaultOpen = false} = props;\r\n\r\n const [show, setShow] = React.useState(defaultOpen);\r\n const handleToggle = (visible) => {\r\n setShow(visible);\r\n }\r\n const handleClick = () => {\r\n setShow(false);\r\n };\r\n\r\n const displayTooltip = () => {\r\n if (disabled) {\r\n return children;\r\n } else {\r\n return (\r\n buttonRef.current}\r\n delay={delay !== undefined ? delay : ''}\r\n placement={placement !== undefined ? placement : 'auto'}\r\n onToggle={handleToggle}\r\n show={show}\r\n overlay={\r\n \r\n {text}\r\n \r\n }\r\n >\r\n
\r\n {children}\r\n
\r\n\r\n \r\n );\r\n }\r\n };\r\n\r\n return displayTooltip();\r\n}\r\n\r\n\r\nexport default CustomTooltip;\r\n\r\n","import { getAllMapsListData, getAllPersonas } from \"@redux/index\";\r\nimport { getFolderById } from \"@redux/memoizedSelectors\";\r\nimport DataTable from \"features/grid-table/DataTable\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { useAsyncs } from \"shared/hooks/index\";\r\n\r\nexport default function JourneyMapList() {\r\n\tconst { t } = useTranslation();\r\n\tconst folderId = useLocation().search.getFolderId();\r\n\tconst { linkedCjms } = useSelector((state) => getFolderById(state, folderId), shallowEqual);\r\n\r\n\tuseAsyncs({\r\n\t\tasyncFns: [{ asyncFn: getAllMapsListData }, { asyncFn: getAllPersonas }],\r\n\t});\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","var _defs, _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgPotionWizard(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 307.79 793.68\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .cls-1, .cls-2 {\\r\\n fill: #fff;\\r\\n }\\r\\n\\r\\n .cls-3 {\\r\\n fill: #c14e10;\\r\\n }\\r\\n\\r\\n .cls-4 {\\r\\n fill: #63534b;\\r\\n }\\r\\n\\r\\n .cls-5 {\\r\\n fill: #8798af;\\r\\n }\\r\\n\\r\\n .cls-6 {\\r\\n fill: #5f544e;\\r\\n }\\r\\n\\r\\n .cls-7 {\\r\\n opacity: .11;\\r\\n }\\r\\n\\r\\n .cls-8 {\\r\\n fill: #807169;\\r\\n }\\r\\n\\r\\n .cls-9 {\\r\\n fill: #35221f;\\r\\n }\\r\\n\\r\\n .cls-10 {\\r\\n fill: #f48e09;\\r\\n }\\r\\n\\r\\n .cls-11 {\\r\\n fill: #1a120c;\\r\\n }\\r\\n\\r\\n .cls-12 {\\r\\n fill: #f96209;\\r\\n }\\r\\n\\r\\n .cls-2 {\\r\\n opacity: .28;\\r\\n }\\r\\n\\r\\n .cls-13 {\\r\\n fill: #bfccdc;\\r\\n }\\r\\n\\r\\n .cls-14 {\\r\\n fill: #e0e6ef;\\r\\n }\\r\\n\\r\\n .cls-15 {\\r\\n fill: #2c1e15;\\r\\n }\\r\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"objects\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-13\",\n d: \"m195.63,523.44c-4.5-29.87,16.69-84.24,26.66-107.15-18.88-9.82-114.21.63-122.78,7.8,29.67,19.32,52.8,71.43,48.75,99.23-64.11,11.08-112.88,66.93-112.86,134.21.02,75.22,61.02,136.18,136.24,136.16,75.22-.02,136.18-61.02,136.16-136.24-.02-67-48.43-122.65-112.16-134.01Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-7\",\n d: \"m216.51,427.99c.84-3.8,4.03-7.37,5.37-10.65-26.24,8.73-80.55,13.84-119.95,8.36,5.21,3.55,8.04,7.59,14.02,12.55,12.16,2.09,28.63,3.83,42.12,3.18,22.33-1.08,47.53-6.84,58.44-13.44Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-14\",\n d: \"m156.89,392.65c-2.07.05-4.11.13-6.13.23-.27.46-.55.9-.87,1.33-.27.36-.61.61-1,.72-.16.13-.34.21-.54.26-.68.54-1.6.5-2.17-.07-.59-.6-1.16-1.22-1.74-1.83-32.13,2.53-56.32,11.5-56.07,21.57.28,11.34,31.4,19.79,69.51,18.86,38.12-.92,68.79-10.87,68.52-22.21-.28-11.34-31.4-19.79-69.51-18.86Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"m48.24,657.51c.02,68.13,55.26,123.34,123.39,123.32,68.13-.02,123.34-55.26,123.32-123.39l-246.7.07Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-12\",\n d: \"m171.58,624.07c-4.67,0-9.29.07-13.83.21-7.43-23.5-23.13-37.13-34.49,2.95-8.18.79-8.98.58-16.26,1.8-12.87-9.43-31.46-4.67-37.71,9.8-13.3,5.34-21.06,11.77-21.06,18.68,0,18.45,55.24,33.39,123.36,33.37,68.13-.02,123.35-14.99,123.34-33.44,0-5.65-5.18-10.97-14.33-15.64-1.78-15.65-29.06-31.14-46.41-13.78-20.14-3.87-36.04-3.96-62.63-3.96Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m106.02,638.27c0,6.39-26.24,6.4-26.24,0,0-6.39,5.87-11.57,13.12-11.57,7.25,0,13.12,5.18,13.12,11.57Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m271.2,641.86c0,9.36-38.43,9.37-38.43.01,0-9.36,8.6-16.95,19.21-16.95,10.61,0,19.22,7.58,19.22,16.94Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m200.75,660.19c0,13.48-55.36,13.5-55.37.02,0-13.48,12.39-24.42,27.68-24.42,15.29,0,27.69,10.92,27.69,24.41Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m154.83,624.61c0,8.71-21.8,8.72-21.8,0,0-8.71,4.88-15.78,10.9-15.78,6.02,0,10.9,7.06,10.9,15.77Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"m210.6,407.06c-.15-6.01-24.14-10.29-53.59-9.58-29.45.71-53.21,6.16-53.07,12.17.15,6.01,24.14,10.29,53.59,9.58,6.02-.15,11.79-.49,17.17-1,1.76,1.36,3.72,2.42,5.83,3.16.85.3,1.57-.6,1.38-1.38-.2-.84-.39-1.67-.59-2.51,1.44-.18,2.82-.38,4.18-.58.1.26.21.53.34.77.16.29.36.55.56.82.16.21.54.33.79.33.28,0,.6-.12.79-.33.2-.21.34-.5.33-.79-.01-.1-.03-.2-.04-.3-.05-.19-.15-.35-.29-.5.05.06.1.13.15.19-.13-.17-.22-.37-.32-.56,13.84-2.3,22.86-5.79,22.77-9.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"m181.51,532.81c-6.95-26.7,18.14-75.75,20.64-96.53-19.74,4.72-42.19,8.81-64.52,7.05,27.75,24.7,17.71,61.23,17.87,85.18-37.43,8.75-86.9,58.71-86.88,120.51.02,67.3,54.43,117.13,88.91,121.83,28.67,3.91,72.58-55.65,72.56-122.94-.01-53.99-25.39-99.61-48.58-115.1Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m151,541.84s-30.84,10.29-48.81,46.27c-17.83,35.69.02,61.68.02,61.68,0,0,8.85-37.42,12.83-51.4,10.27-35.98,35.96-56.55,35.96-56.55Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-7\",\n d: \"m245.98,611.29c0,12.31-7.39,21.72-15.38,30.32-9.56,10.3-21.07,18.65-36.77,18.65-14.32,0-23.86-8.95-33.29-17.71-9.54-8.87-18.88-17.64-18.89-31.24,0-14.94,8.95-25.54,20.18-34.53,9.1-7.28,19.08-14.45,31.97-14.45,16.87,0,35.1,5.54,44.64,17.2,6.75,8.25,7.54,20.54,7.54,31.75Z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"cls-7\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m174.41,562.02c-.02-.54-.43-13.2,5.56-18.54,2.21-1.97,5.05-2.75,8.22-2.26,8.54,1.31,9.26,14.77,9.32,16.3l-4.29.15c-.11-2.96-1.39-11.55-5.67-12.21-1.92-.29-3.46.1-4.71,1.22-3.73,3.33-4.24,12.08-4.12,15.17l-4.29.16Z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-11\",\n d: \"m244.12,603.65c0,12.41-7,21.9-14.56,30.58-9.05,10.39-19.95,18.81-34.81,18.81-13.55,0-22.59-9.02-31.51-17.86-9.03-8.94-17.88-17.79-17.88-31.5,0-15.06,8.47-25.76,19.1-34.82,8.62-7.34,18.06-14.57,30.26-14.57,15.96,0,33.22,5.59,42.25,17.34,6.39,8.32,7.13,20.71,7.14,32.02Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-9\",\n d: \"m249.08,605.5c0,11.87-6.69,20.94-13.92,29.24-8.65,9.93-19.07,17.98-33.28,17.98-12.96,0-21.59-8.62-30.13-17.08-8.63-8.55-17.09-17-17.09-30.12,0-14.4,8.1-24.62,18.26-33.29,8.24-7.02,17.26-13.93,28.93-13.93,15.26,0,31.76,5.35,40.4,16.58,6.11,7.96,6.82,19.8,6.82,30.61Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-6\",\n d: \"m184.31,546.81c-22.45,0-36.31-22.9-36.89-23.88-.3-.51-.13-1.17.38-1.47.51-.31,1.17-.14,1.47.37.14.23,13.83,22.83,35.06,22.83.21,0,.43,0,.64,0h.53c1.52-.03,3.82-.07,5.32-.63.55-.2,1.17.07,1.38.63.21.56-.07,1.17-.63,1.38-1.85.69-4.27.73-6.04.76h-.51c-.24.01-.47.02-.71.02Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-8\",\n d: \"m184.61,544.93c-20.04,0-34.45-21.03-35.06-21.95-.33-.49-.2-1.16.29-1.49.49-.33,1.16-.2,1.49.29.15.22,15.01,21.83,34.4,20.98.64-.05,1.09.43,1.12,1.03.02.59-.44,1.09-1.03,1.12-.41.02-.81.03-1.21.03Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-15\",\n d: \"m182.75,562.01c-1.15,0-2.1-.91-2.14-2.07-.02-.54-.43-13.2,5.56-18.54,2.21-1.97,5.05-2.75,8.22-2.26,8.54,1.31,9.26,14.77,9.31,16.3.04,1.19-.88,2.18-2.07,2.22-1.17.04-2.18-.88-2.22-2.07-.11-2.96-1.39-11.55-5.67-12.21-1.92-.29-3.46.1-4.71,1.22-3.72,3.31-4.24,12.08-4.13,15.18.04,1.19-.88,2.18-2.07,2.23-.03,0-.05,0-.08,0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-6\",\n d: \"m191.04,546.18c-.45,0-.86-.28-1.02-.73-.19-.56.11-1.17.67-1.36,2.44-.84,4.22-2.39,5.3-4.62,3.11-6.44-.38-16.44-.42-16.54-.2-.56.09-1.17.65-1.37.55-.2,1.17.09,1.37.65.16.44,3.82,10.95.33,18.19-1.34,2.77-3.54,4.69-6.54,5.72-.12.04-.23.06-.35.06Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-4\",\n d: \"m195.81,522.93c.91,1.81,1.44,3.77,1.77,5.77.34,2,.37,4.05.13,6.11-.29,2.04-.85,4.14-2.12,5.89-1.21,1.77-3.09,3.06-5.09,3.41,1.63-1.24,2.8-2.66,3.57-4.3.79-1.63,1.18-3.45,1.41-5.3.51-3.72.33-7.57.33-11.58Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-6\",\n d: \"m196.17,523.85c-41.25-.32-63.33-53.26-63.52-53.79-.2-.56.09-1.17.65-1.37.55-.2,1.17.09,1.37.65.18.52,21.66,52.05,61.5,52.36.59,0,1.07.49,1.07,1.08,0,.59-.48,1.07-1.07,1.07Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-8\",\n d: \"m195.47,522.31c-35.98,0-60.06-48.58-61.5-53.88-.16-.57.18-1.16.75-1.32.58-.16,1.16.18,1.32.75.14.53,22.63,52.29,59.4,52.29.25,0,.5,0,.76,0,.55,0,1.08.46,1.1,1.05.01.59-.46,1.08-1.05,1.09-.26,0-.52,0-.77,0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-6\",\n d: \"m148.34,523.45c-.56,0-1.03-.43-1.07-1-.04-.59.41-1.1,1-1.15,35.49-2.42,49.14-34.36,49.27-34.68.23-.55.86-.81,1.4-.58.55.23.81.86.58,1.4-.14.33-14.31,33.5-51.11,36-.03,0-.05,0-.08,0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-8\",\n d: \"m148.29,522.01c-.54,0-1-.41-1.07-.95-.07-.59.36-1.12.95-1.19,36.22-4.07,48.11-34.35,48.22-34.65.21-.55.83-.84,1.38-.62.56.21.84.83.63,1.38-.12.32-12.44,31.81-49.99,36.03-.04,0-.08,0-.12,0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-11\",\n d: \"m241.13,605.51c0,9.87-5.56,17.41-11.57,24.31-7.19,8.26-15.86,14.95-27.67,14.95-10.78,0-17.95-7.17-25.05-14.2-7.18-7.11-14.21-14.14-14.21-25.04,0-11.98,6.73-20.48,15.18-27.68,6.85-5.84,14.35-11.58,24.06-11.59,12.69,0,26.41,4.45,33.59,13.79,5.08,6.62,5.67,16.47,5.67,25.46Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-9\",\n d: \"m236.17,605.51c0,8.62-4.86,15.21-10.11,21.24-6.29,7.21-13.85,13.06-24.17,13.06-9.41,0-15.69-6.27-21.89-12.41-6.27-6.21-12.42-12.35-12.42-21.88,0-10.46,5.88-17.89,13.27-24.18,5.98-5.1,12.54-10.12,21.02-10.12,11.09,0,23.08,3.88,29.35,12.05,4.44,5.78,4.95,14.39,4.96,22.24Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-11\",\n d: \"m205.5,628.86s-24.06-19.69-24.18-24.37c-.1-4.18,9.91-17.36,13.01-16.53,3.1.83,12.81,10.74,12.81,10.74,0,0,7.44-6.41,9.71-7.03,3.15-.86,6.2,9.09,6.2,13.84,0,4.75-17.55,23.35-17.55,23.35Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-10\",\n d: \"m208.09,625.31s-22.62-18.51-22.73-22.91c-.1-3.93,9.32-16.32,12.23-15.54,2.91.78,12.05,10.1,12.05,10.1,0,0,6.99-6.02,9.13-6.61,2.96-.81,5.83,8.54,5.83,13.01,0,4.47-16.5,21.95-16.5,21.95Z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-2\",\n points: \"113.1 654.09 115.79 659 120.69 661.68 115.79 664.36 113.11 669.27 110.42 664.37 105.51 661.68 110.42 659 113.1 654.09\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-12\",\n points: \"155.73 705.52 163.77 720.21 178.46 728.24 163.77 736.28 155.74 750.97 147.7 736.28 133.01 728.25 147.7 720.21 155.73 705.52\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-12\",\n points: \"242.08 694.34 247.05 703.42 256.13 708.39 247.05 713.36 242.09 722.44 237.12 713.36 228.04 708.39 237.12 703.42 242.08 694.34\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-12\",\n d: \"m14.06,182.98c1.6,3.72-.11,8.03-3.83,9.63-3.72,1.6-8.03-.11-9.63-3.83-1.6-3.72.11-8.03,3.83-9.63,3.72-1.6,8.03.12,9.63,3.83Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-12\",\n d: \"m87.1,312.97c2.8,6.5-.2,14.04-6.7,16.84-6.5,2.8-14.04-.2-16.84-6.7-2.8-6.5.2-14.04,6.7-16.84,6.5-2.8,14.04.2,16.84,6.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-12\",\n d: \"m213.68,175.13c1.32,3.07-.1,6.63-3.16,7.95-3.07,1.32-6.63-.09-7.95-3.16-1.32-3.07.1-6.62,3.16-7.94,3.06-1.32,6.62.09,7.95,3.16Z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-12\",\n points: \"294.73 230.55 303.19 231.35 297.95 238.04 297.16 246.5 290.46 241.27 282 240.47 287.24 233.78 288.03 225.32 294.73 230.55\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-12\",\n points: \"143.16 223.18 170.44 230.56 141.78 235.96 131.96 267.03 129.01 234.58 103.96 225.41 130.39 221.8 138.63 186.49 143.16 223.18\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-12\",\n points: \"233.86 291.69 248.45 287.97 236.57 297.98 240.16 314.96 230.29 300.69 216.28 303 227.58 294.4 222.16 275.87 233.86 291.69\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-12\",\n points: \"250.47 88.15 265.05 84.43 253.17 94.44 256.76 111.42 246.89 97.15 232.88 99.45 244.18 90.86 238.76 72.33 250.47 88.15\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-12\",\n points: \"156.34 36.68 183.62 44.06 154.96 49.47 145.14 80.54 142.18 48.09 117.14 38.91 143.56 35.3 151.81 0 156.34 36.68\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgPotionWizard);\nexport default __webpack_public_path__ + \"static/media/Potion-Wizard.8ee7bd12.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgWandWizard(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n viewBox: \"0 0 521.03 218.29\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n .cls-1 {\\r\\n fill: url(#linear-gradient-2);\\r\\n }\\r\\n\\r\\n .cls-2 {\\r\\n fill: url(#linear-gradient-17);\\r\\n }\\r\\n\\r\\n .cls-3 {\\r\\n fill: url(#linear-gradient-15);\\r\\n }\\r\\n\\r\\n .cls-4 {\\r\\n fill: url(#linear-gradient-18);\\r\\n }\\r\\n\\r\\n .cls-5 {\\r\\n fill: url(#linear-gradient-14);\\r\\n }\\r\\n\\r\\n .cls-6 {\\r\\n fill: url(#linear-gradient-20);\\r\\n }\\r\\n\\r\\n .cls-7 {\\r\\n fill: url(#linear-gradient-6);\\r\\n }\\r\\n\\r\\n .cls-8 {\\r\\n fill: url(#linear-gradient-11);\\r\\n }\\r\\n\\r\\n .cls-9 {\\r\\n fill: url(#linear-gradient-10);\\r\\n }\\r\\n\\r\\n .cls-10 {\\r\\n fill: url(#linear-gradient-16);\\r\\n }\\r\\n\\r\\n .cls-11 {\\r\\n fill: url(#linear-gradient-21);\\r\\n }\\r\\n\\r\\n .cls-12 {\\r\\n fill: url(#linear-gradient-5);\\r\\n }\\r\\n\\r\\n .cls-13 {\\r\\n fill: url(#linear-gradient-7);\\r\\n }\\r\\n\\r\\n .cls-14 {\\r\\n fill: url(#linear-gradient-9);\\r\\n }\\r\\n\\r\\n .cls-15 {\\r\\n fill: url(#linear-gradient-22);\\r\\n }\\r\\n\\r\\n .cls-16 {\\r\\n fill: url(#linear-gradient-3);\\r\\n }\\r\\n\\r\\n .cls-17 {\\r\\n fill: url(#linear-gradient);\\r\\n }\\r\\n\\r\\n .cls-18 {\\r\\n fill: url(#linear-gradient-23);\\r\\n }\\r\\n\\r\\n .cls-19 {\\r\\n fill: url(#linear-gradient-19);\\r\\n }\\r\\n\\r\\n .cls-20 {\\r\\n fill: url(#linear-gradient-4);\\r\\n }\\r\\n\\r\\n .cls-21 {\\r\\n fill: url(#linear-gradient-8);\\r\\n }\\r\\n\\r\\n .cls-22 {\\r\\n fill: url(#linear-gradient-12);\\r\\n }\\r\\n\\r\\n .cls-23 {\\r\\n fill: url(#linear-gradient-13);\\r\\n }\\r\\n \"), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient\",\n x1: -3468.06,\n y1: 1167.72,\n x2: -3412.7,\n y2: 1197.25,\n gradientTransform: \"translate(2330.61 -2687.79) rotate(-70.5) scale(1 -1)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#513664\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#010303\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-2\",\n x1: -4183.92,\n y1: -1133.33,\n x2: -4183.78,\n y2: -1158.96,\n gradientTransform: \"translate(3987.97 -2172.51) rotate(-10.58) scale(1 -1.38) skewX(1.41)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.01,\n stopColor: \"#040505\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#000\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-3\",\n x1: -3998.76,\n y1: -1351.99,\n x2: -4420.12,\n y2: -1341.71,\n gradientTransform: \"translate(4029.7 -1898.07) rotate(-9.99) scale(1 -1)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.01,\n stopColor: \"#c4370c\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#460f00\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-4\",\n x1: 88.59,\n y1: -83.92,\n x2: 116.33,\n y2: 243.96,\n gradientTransform: \"translate(550.52 24.81) rotate(130.03)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.02,\n stopColor: \"#ffea00\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#ff2300\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-5\",\n x1: 56.96,\n y1: -81.24,\n x2: 84.71,\n y2: 246.63,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-6\",\n x1: 130,\n y1: -87.42,\n x2: 157.75,\n y2: 240.45,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-7\",\n x1: 90.46,\n y1: -84.07,\n x2: 118.2,\n y2: 243.79,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-8\",\n x1: 54.44,\n y1: -81.03,\n x2: 82.19,\n y2: 246.85,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-9\",\n x1: 116.29,\n y1: -86.25,\n x2: 144.03,\n y2: 241.61,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-10\",\n x1: 177.72,\n y1: -91.46,\n x2: 205.46,\n y2: 236.41,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-11\",\n x1: 200.14,\n y1: -93.36,\n x2: 227.89,\n y2: 234.52,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-12\",\n x1: 135.26,\n y1: -87.87,\n x2: 163.01,\n y2: 240.01,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-13\",\n x1: 41.68,\n y1: -79.95,\n x2: 69.42,\n y2: 247.93,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-14\",\n x1: 200.97,\n y1: -93.43,\n x2: 228.71,\n y2: 234.45,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-15\",\n x1: 120.55,\n y1: -86.62,\n x2: 148.29,\n y2: 241.25,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-16\",\n x1: 75.23,\n y1: -82.79,\n x2: 102.97,\n y2: 245.09,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-17\",\n x1: 232.25,\n y1: -96.07,\n x2: 259.99,\n y2: 231.8,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-18\",\n x1: 65.14,\n y1: -81.93,\n x2: 92.88,\n y2: 245.94,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-19\",\n x1: 136.39,\n y1: -87.96,\n x2: 164.14,\n y2: 239.91,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-20\",\n x1: 170.6,\n y1: -90.86,\n x2: 198.34,\n y2: 237.02,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-21\",\n x1: 147.65,\n y1: -88.91,\n x2: 175.39,\n y2: 238.96,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-22\",\n x1: 85.95,\n y1: -83.69,\n x2: 113.69,\n y2: 244.18,\n xlinkHref: \"#linear-gradient-4\"\n }), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linear-gradient-23\",\n x1: 237.98,\n y1: -96.56,\n x2: 265.73,\n y2: 231.32,\n xlinkHref: \"#linear-gradient-4\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"objects\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-17\",\n d: \"m138.98,175.69s-22.1-3.38-47.8.64c-47.23,7.37-65.62,39.78-74.49,41.9-4.48,1.07-12.31-10.75-15.44-31.05-3.12-20.3-.11-37.26,5.66-38.07,4.19-.59,31.98,15.73,76.29,10.04,27.3-3.51,50.81-22.11,50.81-22.11l4.97,38.64Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"m145.24,154.9c-1.71-10.79-6.73-18.79-11.22-17.86-4.49.93-6.74,10.42-5.03,21.21,1.71,10.79,6.73,18.79,11.22,17.86,4.49-.93,6.74-10.42,5.03-21.21Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-16\",\n d: \"m382.14,115.92l-240.33,48.25c-2.7.48-5.6-3.15-6.47-8.11-.87-4.95.61-9.35,3.31-9.83l242.61-35.32c1.37-.21,2.65.71,2.89,2.07.24,1.36-.65,2.66-2,2.93Z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"wandStars\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-20\",\n d: \"m473.23,81.65c-.47-3.5-3.7-5.96-7.2-5.48-3.5.47-5.96,3.7-5.48,7.2.47,3.5,3.7,5.96,7.2,5.48,3.5-.47,5.96-3.7,5.48-7.2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-12\",\n d: \"m428.12,8.32c-.71-5.26-5.56-8.94-10.81-8.23-5.26.71-8.95,5.55-8.23,10.81.71,5.26,5.56,8.95,10.81,8.23,5.26-.71,8.95-5.55,8.23-10.81Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-7\",\n d: \"m384.71,70.15c-.47-3.45-3.65-5.87-7.1-5.4-3.45.47-5.87,3.64-5.4,7.1.47,3.45,3.65,5.87,7.1,5.4,3.45-.47,5.87-3.64,5.4-7.1Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-13\",\n d: \"m521.01,121.25c-.15-1.14-1.2-1.94-2.34-1.78-1.14.15-1.94,1.2-1.78,2.34.15,1.14,1.2,1.94,2.34,1.78,1.14-.15,1.94-1.2,1.78-2.34Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-21\",\n d: \"m466.83,39.13c-.13-.93-.98-1.57-1.9-1.45-.93.13-1.57.98-1.45,1.9.13.93.98,1.57,1.9,1.45.93-.13,1.57-.98,1.45-1.9Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-14\",\n d: \"m358.54,38.7c-.13-.93-.98-1.57-1.9-1.45-.93.13-1.57.98-1.45,1.9.13.93.98,1.57,1.9,1.45.92-.13,1.57-.98,1.45-1.9Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-9\",\n d: \"m466.87,189.7c-.2-1.48-1.56-2.52-3.05-2.32-1.48.2-2.52,1.56-2.32,3.05.2,1.48,1.56,2.52,3.05,2.32s2.52-1.56,2.32-3.05Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-8\",\n d: \"m391.77,163.93c-.23-1.71-1.8-2.9-3.51-2.67-1.71.23-2.9,1.8-2.67,3.51.23,1.71,1.8,2.9,3.51,2.67,1.71-.23,2.9-1.8,2.67-3.51Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-22\",\n d: \"m339.03,46.75c-.26-1.91-2.02-3.25-3.93-2.99-1.91.26-3.25,2.02-2.99,3.93.26,1.91,2.02,3.25,3.93,2.99,1.91-.26,3.25-2.02,2.99-3.93Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-23\",\n d: \"m499.49,43.9c-.36-2.63-2.78-4.47-5.4-4.11-2.62.36-4.47,2.77-4.11,5.4.36,2.62,2.78,4.46,5.4,4.11,2.62-.36,4.47-2.77,4.11-5.4Z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-5\",\n points: \"444.59 205.08 452.37 199.35 443.35 195.89 437.62 188.12 434.16 197.14 426.38 202.87 435.4 206.33 441.14 214.11 444.59 205.08\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-3\",\n points: \"512.69 154.22 516.64 151.31 512.06 149.55 509.15 145.61 507.4 150.19 503.45 153.09 508.03 154.85 510.94 158.79 512.69 154.22\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-10\",\n points: \"388.8 11.17 392.75 8.26 388.17 6.51 385.26 2.56 383.51 7.14 379.56 10.05 384.14 11.8 387.05 15.75 388.8 11.17\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-2\",\n points: \"338.67 168.64 342.62 165.73 338.04 163.98 335.13 160.04 333.38 164.61 329.43 167.52 334.01 169.28 336.92 173.22 338.67 168.64\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-4\",\n points: \"510 84.27 513.95 81.36 509.37 79.61 506.46 75.66 504.71 80.24 500.76 83.15 505.34 84.9 508.25 88.85 510 84.27\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-19\",\n points: \"424.37 109.61 443.92 103.75 423.12 100.41 415.42 78.16 413.92 101.65 396.02 108.76 415.17 110.86 421.82 136.18 424.37 109.61\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-6\",\n points: \"326.86 83.47 338.81 79.89 326.09 77.84 321.39 64.24 320.47 78.61 309.52 82.95 321.23 84.23 325.3 99.72 326.86 83.47\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-11\",\n points: \"457.07 147.42 465.39 144.93 456.54 143.51 453.27 134.05 452.63 144.04 445.01 147.06 453.16 147.95 455.99 158.73 457.07 147.42\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-15\",\n points: \"413.24 40.85 420.18 38.77 412.8 37.59 410.07 29.7 409.53 38.03 403.18 40.55 409.98 41.3 412.33 50.28 413.24 40.85\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-18\",\n points: \"373.73 199.7 380.67 197.62 373.29 196.43 370.56 188.54 370.02 196.88 363.67 199.4 370.47 200.14 372.82 209.13 373.73 199.7\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgWandWizard);\nexport default __webpack_public_path__ + \"static/media/wand-Wizard.97407e0d.svg\";\nexport { ForwardRef as ReactComponent };","import { Container } from \"reactstrap\";\r\nimport styled, { css, keyframes } from \"styled-components/macro\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Button, Colors } from \"shared/ui-basics/index\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { ReactComponent as CookWizard } from \"@Assets/All/Potion-Wizard.svg\";\r\nimport { ReactComponent as Wand } from \"@Assets/All/wand-Wizard.svg\";\r\n\r\nexport const Potion = styled(CookWizard)`\r\n\twidth: 120px;\r\n\theight: fit-content;\r\n`;\r\nconst fadeOut = keyframes`\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n`;\r\n\r\nconst fadeIn = keyframes`\r\n 0% {\r\n opacity: 0;\r\n }\r\n 50% {\r\n opacity: 1;\r\n }\r\n\r\n`;\r\nconst upDown = keyframes`\r\n from {\r\n transform: translateY(-5%);\r\n }\r\n to {\r\n transform: translateY(5%);\r\n }\r\n`;\r\nconst wave = keyframes`\r\n from {\r\n transform: rotate(25deg);\r\n }\r\n to {\r\n transform: rotate(-25deg);\r\n }\r\n\r\n`;\r\nconst appearBottom = keyframes`\r\n 0% {\r\n transform: translateY(+500%);\r\n\r\n }\r\n 50% {\r\n transform: translateY(-50%);\r\n transform: rotate(5deg);\r\n }\r\n 100% {\r\n transform: translateY(0);\r\n transform: rotate(-5deg);\r\n\r\n }\r\n\r\n from {\r\n transform: translateY(+500%);\r\n }\r\n to {\r\n transform: translateY(0)\r\n }\r\n\r\n`;\r\n\r\nconst fallAnimation = keyframes`\r\n 0% {\r\n transform: translateY(100%);\r\n }\r\n 50% {\r\n transform: translateY(-50%);\r\n }\r\n 75% {\r\n transform: translateY(-75%);\r\n }\r\n 100% {\r\n transform: translateY(0%);\r\n }\r\n\r\n`;\r\nexport const BackButton = styled(Button)`\r\n\tposition: absolute;\r\n\ttop: 25px;\r\n\tleft: 0;\r\n\tborder: 0 !important;\r\n\tz-index: 50;\r\n`;\r\nexport const MainContainer = styled(Container)`\r\n\tposition: relative;\r\n\toverflow: auto;\r\n\theight: 100%;\r\n\tdisplay: grid;\r\n\t> div {\r\n\t\theight: 100%;\r\n\t}\r\n\t.rsw_2Y {\r\n\t\theight: 100%;\r\n\t}\r\n\t.rsw_2f {\r\n\t\theight: 100%;\r\n\t}\r\n`;\r\nexport const MainImage1 = styled.img`\r\n\twidth: 150px;\r\n\theight: 150px;\r\n\t${(props) =>\r\n\t\tprops.isAnimating &&\r\n\t\tcss`\r\n\t\t\tanimation: ${fadeIn} 2s ease-in;\r\n\t\t`} align-self: center;\r\n\t/* :hover {\r\n animation: ${upDown} 0.4s ease-in-out infinite alternate;\r\n\r\n } */\r\n`;\r\nexport const ImageContainer = styled.div`\r\n\tposition: relative;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n`;\r\nexport const MainImage2 = styled.img`\r\n\twidth: 150px;\r\n\theight: 150px;\r\n\t${(props) =>\r\n\t\tprops.isAnimating &&\r\n\t\tcss`\r\n\t\t\tanimation: ${fadeIn} 2s ease-in;\r\n\t\t`}\r\n\talign-self: center;\r\n\t/* :hover {\r\n animation: ${upDown} 0.4s ease-in-out infinite alternate; */\r\n`;\r\nexport const Title = styled.div`\r\n\tfont-size: 24px;\r\n\talign-self: center;\r\n`;\r\nexport const SubTitle = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\talign-self: center;\r\n`;\r\nexport const CookingImg = styled.img`\r\n\tobject-fit: scale-down;\r\n\twidth: 220px;\r\n`;\r\nexport const NameContainer = styled.div`\r\n\twidth: 50%;\r\n`;\r\nexport const TextArea = styled(InputTextarea)`\r\n\tmargin-top: 1rem;\r\n\twidth: 100%;\r\n\t:focus {\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t/* -webkit-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\t-moz-box-shadow: 0 0 3px #9df2f2 !important; */\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t&:hover {\r\n\t\tborder-color: ${Colors.primaryText} !important;\r\n\t}\r\n\t::placeholder {\r\n\t\tcolor: #c4c4c4;\r\n\t\tfont-style: italic;\r\n\t}\r\n`;\r\n\r\nexport const StateLabel = styled.div`\r\n\twidth: 68px;\r\n\ttext-align: center;\r\n\tborder-radius: 5px;\r\n\theight: 26px;\r\n\tbackground: ${(props) => (props.isFuture ? \"#FDE7CB\" : \"#D2EEFB\")};\r\n\tcolor: ${(props) => (props.isFuture ? \"#F48E09\" : \"#20A9E9\")};\r\n\t${(props) =>\r\n\t\tprops.variant === \"small\" &&\r\n\t\tcss`\r\n\t\t\tfont-size: 14px !important;\r\n\t\t`}\r\n`;\r\nexport const State = styled(Dropdown)`\r\n\tmargin-top: 1rem;\r\n\tbox-shadow: none !important;\r\n\r\n\t.p-dropdown:not(.p-disabled) {\r\n\t\tborder: 1px solid #18aead !important;\r\n\t\t/* -webkit-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\t-moz-box-shadow: 0 0 3px #9df2f2 !important; */\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t:focus {\r\n\t\tborder: 1px solid #18aead !important;\r\n\t\t/* -webkit-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\t-moz-box-shadow: 0 0 3px #9df2f2 !important; */\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t:hover {\r\n\t\tborder-color: #18aead !important;\r\n\t}\r\n\t:active {\r\n\t\tborder-color: #18aead !important;\r\n\t}\r\n`;\r\nexport const Wrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tmax-height: 330px;\r\n\toverflow: auto;\r\n\tgap: 30px;\r\n\tjustify-content: center;\r\n\tpadding-top: 20px;\r\n\tmin-height: 330px;\r\n`;\r\nexport const WandButton = styled(Button)`\r\n\twidth: 60px;\r\n\theight: 60px;\r\n\tborder-radius: 50%;\r\n\tbackground: #ffffff;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tcolor: #f96209;\r\n\tborder: none !important;\r\n\tbox-shadow: 0px -4px 4px rgba(0, 0, 0, 0.25), 0px 4px 4px rgba(0, 0, 0, 0.25);\r\n\tposition: absolute;\r\n\tleft: 47%;\r\n\ttop: -55%;\r\n\tsvg {\r\n\t\twidth: 28px;\r\n\t\theight: 28px;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.showwave === \"true\" &&\r\n\t\tcss`\r\n\t\t\tanimation: ${wave} 0.8s ease-in-out infinite alternate !important;\r\n\t\t`}\r\n\t:hover {\r\n\t\tbackground: #f96209;\r\n\t\tcolor: #ffffff;\r\n\t}\r\n\t:focus {\r\n\t\tbackground: #f96209;\r\n\t\tcolor: #ffffff;\r\n\t}\r\n`;\r\n\r\nexport const StepWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-evenly;\r\n\tflex-direction: column;\r\n\theight: 100%;\r\n\t//${(props) => props.vh && `min-height:${props.vh}vh`}\r\n\t${WandButton} {\r\n\t\t${(props) =>\r\n\t\t\tprops.showAnimation &&\r\n\t\t\tcss`\r\n\t\t\t\tanimation: ${fallAnimation} 1s linear;\r\n\t\t\t`}\r\n\t}\r\n`;\r\nexport const WandContainer = styled.div`\r\n\tmin-height: 100px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n`;\r\nexport const MagicWand = styled(Wand)`\r\n\twidth: 150px;\r\n\t/* height: 120px;\r\n svg {\r\n height: 120px;\r\n } */\r\n\r\n\t/* #objects {\r\n ${(props) =>\r\n\t\tprops.showAnimation &&\r\n\t\tcss`\r\n\t\t\tanimation: ${wave} 0.3s ease-in-out infinite alternate;\r\n\r\n\t\t\tz-index: 500;\r\n\t\t`}\r\n } */\r\n\t/* #wandStars {\r\n ${(props) =>\r\n\t\tprops.showAnimation &&\r\n\t\tcss`\r\n\t\t\tanimation: ${fadeIn} 0.3s ease-in-out infinite alternate;\r\n\r\n\t\t\tz-index: 500;\r\n\t\t`}\r\n\r\n } */\r\n`;\r\nexport const GOTemplate = styled(NavLink)`\r\n\tcolor: #605f60 !important;\r\n\r\n\t:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n`;\r\nexport const Mandatory = styled.div`\r\n\tcolor: #c4c4c4;\r\n\tfont-style: italic;\r\n`;\r\n","var _path, _path2, _g, _g2, _path3, _path4, _path5, _g3, _g4, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _defs;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgDetailed(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 299,\n height: 122,\n viewBox: \"0 0 299 122\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M298.89 120H-0.89C-0.95 120 -1 119.95 -1 119.89V4C-1 1.79 0.79 0 3 0H294.89C297.16 0 299 1.84 299 4.11V119.89C299 119.95 298.95 120 298.89 120Z\",\n fill: \"url(#paint0_linear_223_28185)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.8,\n d: \"M178.44 84.7202C178.44 81.4102 181.13 78.7202 184.44 78.7202C187.75 78.7202 190.44 81.4102 190.44 84.7202C190.44 88.0302 187.75 90.7202 184.44 90.7202C181.13 90.7202 178.44 88.0302 178.44 84.7202ZM184.45 86.5002C183.34 86.5002 182.29 86.3402 181.36 86.0502C181.07 85.9602 180.79 86.2102 180.91 86.4902C181.49 87.8802 182.86 88.8502 184.45 88.8502C186.04 88.8502 187.41 87.8802 187.99 86.4902C188.11 86.2102 187.83 85.9602 187.54 86.0502C186.61 86.3302 185.56 86.5002 184.45 86.5002ZM182.57 81.7202C182.16 81.7202 181.82 82.3902 181.82 83.2202C181.82 84.0502 182.16 84.7202 182.57 84.7202C182.98 84.7202 183.32 84.0502 183.32 83.2202C183.32 82.3902 182.98 81.7202 182.57 81.7202ZM186.32 84.7202C186.73 84.7202 187.07 84.0502 187.07 83.2202C187.07 82.3902 186.73 81.7202 186.32 81.7202C185.91 81.7202 185.57 82.3902 185.57 83.2202C185.57 84.0502 185.91 84.7202 186.32 84.7202Z\",\n fill: \"white\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.8\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M262.94 84.7798C262.94 81.4698 265.63 78.7798 268.94 78.7798C272.25 78.7798 274.94 81.4698 274.94 84.7798C274.94 88.0898 272.25 90.7798 268.94 90.7798C265.63 90.7798 262.94 88.0898 262.94 84.7798ZM271.09 88.0298C271.23 88.1898 271.46 88.1998 271.62 88.0698C271.78 87.9298 271.79 87.6998 271.66 87.5398C271.14 86.9398 270.23 86.2898 268.94 86.2898C267.65 86.2898 266.74 86.9398 266.22 87.5398C266.08 87.6998 266.1 87.9298 266.26 88.0698C266.42 88.2098 266.65 88.1898 266.79 88.0298C267.21 87.5398 267.93 87.0298 268.94 87.0298C269.95 87.0298 270.65 87.5398 271.09 88.0298ZM267.07 82.9098C266.66 82.9098 266.32 83.2498 266.32 83.6598C266.32 84.0698 266.66 84.4098 267.07 84.4098C267.48 84.4098 267.82 84.0698 267.82 83.6598C267.82 83.2498 267.48 82.9098 267.07 82.9098ZM270.82 84.4098C271.23 84.4098 271.57 84.0698 271.57 83.6598C271.57 83.2498 271.23 82.9098 270.82 82.9098C270.41 82.9098 270.07 83.2498 270.07 83.6598C270.07 84.0698 270.41 84.4098 270.82 84.4098Z\",\n fill: \"white\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_223_28185)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M299 8.54C298.78 8.51 298.55 8.5 298.32 8.5H12.18C9.05 8.5 6.5 10.94 6.5 13.94V120H7.54V13.94C7.54 11.49 9.62 9.5 12.18 9.5H298.31C298.54 9.5 298.77 9.53 298.99 9.57V8.55L299 8.54Z\",\n fill: \"white\"\n }))), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.16 25.7202H99.19C103 25.7202 106.1 28.8202 106.1 32.6302V54.8302C106.1 58.6402 103 61.7402 99.19 61.7402H41.16C37.35 61.7402 34.25 58.6402 34.25 54.8302V32.6302C34.25 28.8202 37.35 25.7202 41.16 25.7202Z\",\n fill: \"url(#paint1_linear_223_28185)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M126.13 25.7202H184.16C187.97 25.7202 191.07 28.8202 191.07 32.6302V54.8302C191.07 58.6402 187.97 61.7402 184.16 61.7402H126.13C122.32 61.7402 119.22 58.6402 119.22 54.8302V32.6302C119.22 28.8202 122.32 25.7202 126.13 25.7202Z\",\n fill: \"url(#paint2_linear_223_28185)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M211.11 25.7202H269.14C272.95 25.7202 276.05 28.8202 276.05 32.6302V54.8302C276.05 58.6402 272.95 61.7402 269.14 61.7402H211.11C207.3 61.7402 204.2 58.6402 204.2 54.8302V32.6302C204.2 28.8202 207.3 25.7202 211.11 25.7202Z\",\n fill: \"url(#paint3_linear_223_28185)\"\n })), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.5\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.28 53.5802C156.3 53.5802 155.53 52.2002 156.56 50.5102L165.75 35.5502C166.79 33.8602 168.48 33.8602 169.52 35.5502L178.71 50.5102C179.75 52.2002 178.98 53.5802 176.99 53.5802H158.27H158.28Z\",\n fill: \"url(#paint4_linear_223_28185)\"\n }))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.5\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.1599 34.2598H77.0299C75.0417 34.2598 73.4299 35.8715 73.4299 37.8598V49.9898C73.4299 51.978 75.0417 53.5898 77.0299 53.5898H89.1599C91.1482 53.5898 92.7599 51.978 92.7599 49.9898V37.8598C92.7599 35.8715 91.1482 34.2598 89.1599 34.2598Z\",\n fill: \"url(#paint5_linear_223_28185)\"\n }))), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.5,\n d: \"M244.51 44.5002C244.51 50.9902 249.78 56.2602 256.27 56.2602C262.76 56.2602 268.03 50.9902 268.03 44.5002C268.03 38.0102 262.77 32.7402 256.27 32.7402C249.77 32.7402 244.51 38.0102 244.51 44.5002Z\",\n fill: \"url(#paint6_linear_223_28185)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.21 73.1598C47.21 75.8298 45.04 77.9898 42.37 77.9898C39.7 77.9898 37.53 75.8198 37.53 73.1598C37.53 70.4998 39.7 68.3198 42.37 68.3198C45.04 68.3198 47.21 70.4798 47.21 73.1598Z\",\n fill: \"url(#paint7_linear_223_28185)\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M132.52 73.1598C132.52 75.8298 130.36 77.9898 127.69 77.9898C125.02 77.9898 122.85 75.8198 122.85 73.1598C122.85 70.4998 125.02 68.3198 127.69 68.3198C130.36 68.3198 132.52 70.4798 132.52 73.1598Z\",\n fill: \"url(#paint8_linear_223_28185)\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.33 75.9199H55.8899C54.3599 75.9199 53.1299 74.6799 53.1299 73.1599C53.1299 71.6399 54.3699 70.3999 55.8899 70.3999H103.33C104.86 70.3999 106.09 71.6399 106.09 73.1599C106.09 74.6799 104.85 75.9199 103.33 75.9199Z\",\n fill: \"url(#paint9_linear_223_28185)\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.32 88.1101H40.97C40.41 88.1101 39.96 87.4901 39.96 86.7301C39.96 85.9701 40.41 85.3501 40.97 85.3501H88.32C88.88 85.3501 89.33 85.9701 89.33 86.7301C89.33 87.4901 88.88 88.1101 88.32 88.1101Z\",\n fill: \"url(#paint10_linear_223_28185)\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.16 97.4001H39.35C38.59 97.4001 37.97 96.7801 37.97 96.0201C37.97 95.2601 38.59 94.6401 39.35 94.6401H104.17C104.93 94.6401 105.55 95.2601 105.55 96.0201C105.55 96.7801 104.93 97.4001 104.17 97.4001H104.16Z\",\n fill: \"url(#paint11_linear_223_28185)\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.65 75.9199H140.21C138.68 75.9199 137.45 74.6799 137.45 73.1599C137.45 71.6399 138.69 70.3999 140.21 70.3999H187.65C189.18 70.3999 190.41 71.6399 190.41 73.1599C190.41 74.6799 189.17 75.9199 187.65 75.9199Z\",\n fill: \"url(#paint12_linear_223_28185)\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M172.92 88.1101H125.57C125.01 88.1101 124.56 87.4901 124.56 86.7301C124.56 85.9701 125.01 85.3501 125.57 85.3501H172.92C173.48 85.3501 173.93 85.9701 173.93 86.7301C173.93 87.4901 173.48 88.1101 172.92 88.1101Z\",\n fill: \"url(#paint13_linear_223_28185)\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M188.49 97.4001H123.67C122.91 97.4001 122.29 96.7801 122.29 96.0201C122.29 95.2601 122.91 94.6401 123.67 94.6401H188.49C189.25 94.6401 189.87 95.2601 189.87 96.0201C189.87 96.7801 189.25 97.4001 188.49 97.4001Z\",\n fill: \"url(#paint14_linear_223_28185)\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M272.86 75.9199H225.42C223.89 75.9199 222.66 74.6799 222.66 73.1599C222.66 71.6399 223.9 70.3999 225.42 70.3999H272.86C274.39 70.3999 275.62 71.6399 275.62 73.1599C275.62 74.6799 274.38 75.9199 272.86 75.9199Z\",\n fill: \"url(#paint15_linear_223_28185)\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M258.16 87.1101H210.81C210.25 87.1101 209.8 86.4901 209.8 85.7301C209.8 84.9701 210.25 84.3501 210.81 84.3501H258.16C258.72 84.3501 259.17 84.9701 259.17 85.7301C259.17 86.4901 258.72 87.1101 258.16 87.1101Z\",\n fill: \"url(#paint16_linear_223_28185)\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M273.7 97.4001H208.88C208.12 97.4001 207.5 96.7801 207.5 96.0201C207.5 95.2601 208.12 94.6401 208.88 94.6401H273.7C274.46 94.6401 275.08 95.2601 275.08 96.0201C275.08 96.7801 274.46 97.4001 273.7 97.4001Z\",\n fill: \"url(#paint17_linear_223_28185)\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M217.34 72.9499C217.34 75.6199 215.18 77.7799 212.51 77.7799C209.84 77.7799 207.67 75.6099 207.67 72.9499C207.67 70.2899 209.84 68.1099 212.51 68.1099C215.18 68.1099 217.34 70.2699 217.34 72.9499Z\",\n fill: \"url(#paint18_linear_223_28185)\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.8,\n d: \"M94.5 84.9399C94.5 81.6299 97.19 78.9399 100.5 78.9399C103.81 78.9399 106.5 81.6299 106.5 84.9399C106.5 88.2499 103.81 90.9399 100.5 90.9399C97.19 90.9399 94.5 88.2499 94.5 84.9399ZM100.51 86.7199C99.4 86.7199 98.35 86.5599 97.42 86.2699C97.13 86.1799 96.85 86.4299 96.97 86.7099C97.55 88.0999 98.92 89.0699 100.51 89.0699C102.1 89.0699 103.47 88.0999 104.05 86.7099C104.17 86.4299 103.89 86.1799 103.6 86.2699C102.67 86.5499 101.62 86.7199 100.51 86.7199ZM98.63 81.9399C98.22 81.9399 97.88 82.6099 97.88 83.4399C97.88 84.2699 98.22 84.9399 98.63 84.9399C99.04 84.9399 99.38 84.2699 99.38 83.4399C99.38 82.6099 99.04 81.9399 98.63 81.9399ZM102.38 84.9399C102.79 84.9399 103.13 84.2699 103.13 83.4399C103.13 82.6099 102.79 81.9399 102.38 81.9399C101.97 81.9399 101.63 82.6099 101.63 83.4399C101.63 84.2699 101.97 84.9399 102.38 84.9399Z\",\n fill: \"white\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_223_28185\",\n x: 4.5,\n y: 6.5,\n width: 296.5,\n height: 115.5,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.8 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_223_28185\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_223_28185\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_223_28185\",\n x1: -1,\n y1: 60,\n x2: 299,\n y2: 60,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3F3D56\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#525FAA\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_223_28185\",\n x1: 34.25,\n y1: 43.7302,\n x2: 106.1,\n y2: 43.7302,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear_223_28185\",\n x1: 119.22,\n y1: 0.000213505,\n x2: 191.07,\n y2: 0.000213505,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear_223_28185\",\n x1: 204.2,\n y1: 0.000214147,\n x2: 276.04,\n y2: 0.000214147,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint4_linear_223_28185\",\n x1: 156.1,\n y1: 43.9302,\n x2: 179.18,\n y2: 43.9302,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint5_linear_223_28185\",\n x1: 73.4199,\n y1: 43.9298,\n x2: 92.7599,\n y2: 43.9298,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint6_linear_223_28185\",\n x1: 244.51,\n y1: 44.5002,\n x2: 268.03,\n y2: 44.5002,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint7_linear_223_28185\",\n x1: 37.54,\n y1: 73.1598,\n x2: 47.21,\n y2: 73.1598,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint8_linear_223_28185\",\n x1: 122.85,\n y1: 73.1598,\n x2: 132.52,\n y2: 73.1598,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint9_linear_223_28185\",\n x1: 53.1199,\n y1: 73.1599,\n x2: 106.09,\n y2: 73.1599,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint10_linear_223_28185\",\n x1: 39.96,\n y1: 86.7301,\n x2: 89.33,\n y2: 86.7301,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint11_linear_223_28185\",\n x1: 37.96,\n y1: 96.0201,\n x2: 105.55,\n y2: 96.0201,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint12_linear_223_28185\",\n x1: 137.45,\n y1: 73.1599,\n x2: 190.42,\n y2: 73.1599,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint13_linear_223_28185\",\n x1: 124.56,\n y1: 86.7301,\n x2: 173.93,\n y2: 86.7301,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint14_linear_223_28185\",\n x1: 122.29,\n y1: 96.0201,\n x2: 189.87,\n y2: 96.0201,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint15_linear_223_28185\",\n x1: 222.65,\n y1: 73.1599,\n x2: 275.62,\n y2: 73.1599,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint16_linear_223_28185\",\n x1: 209.8,\n y1: 85.7301,\n x2: 259.17,\n y2: 85.7301,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint17_linear_223_28185\",\n x1: 207.5,\n y1: 96.0201,\n x2: 275.08,\n y2: 96.0201,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint18_linear_223_28185\",\n x1: 207.66,\n y1: 72.9399,\n x2: 217.34,\n y2: 72.9399,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.6\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDetailed);\nexport default __webpack_public_path__ + \"static/media/Detailed.75376e41.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _g, _path9, _path10, _path11, _path12, _path13, _g2, _defs;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgHighLevel(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 299,\n height: 119,\n viewBox: \"0 0 299 119\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M298.89 117H-0.89C-0.95 117 -1 116.95 -1 116.89V1C-1 -1.21 0.79 -3 3 -3H294.89C297.16 -3 299 -1.16 299 1.11V116.89C299 116.95 298.95 117 298.89 117Z\",\n fill: \"url(#paint0_linear_223_28099)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.5599 36.8599C41.5599 39.5999 39.3399 41.8199 36.5999 41.8199C33.8599 41.8199 31.6399 39.5999 31.6399 36.8599C31.6399 34.1199 33.8599 31.8999 36.5999 31.8999C39.3399 31.8999 41.5599 34.1199 41.5599 36.8599Z\",\n fill: \"url(#paint1_linear_223_28099)\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.99 39.69H49.33C47.76 39.69 46.49 38.42 46.49 36.86C46.49 35.3 47.76 34.02 49.33 34.02H97.99C99.56 34.02 100.83 35.29 100.83 36.86C100.83 38.43 99.56 39.69 97.99 39.69Z\",\n fill: \"url(#paint2_linear_223_28099)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.2801 53.21C41.2801 55.95 39.0601 58.17 36.3201 58.17C33.5801 58.17 31.3601 55.95 31.3601 53.21C31.3601 50.47 33.5801 48.25 36.3201 48.25C39.0601 48.25 41.2801 50.47 41.2801 53.21Z\",\n fill: \"url(#paint3_linear_223_28099)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.7102 56.0499H49.0502C47.4802 56.0499 46.2102 54.7799 46.2102 53.2199C46.2102 51.6599 47.4802 50.3799 49.0502 50.3799H97.7102C99.2802 50.3799 100.55 51.6499 100.55 53.2199C100.55 54.7899 99.2802 56.0499 97.7102 56.0499Z\",\n fill: \"url(#paint4_linear_223_28099)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M214.73 36.5699C214.73 39.3099 212.51 41.5299 209.77 41.5299C207.03 41.5299 204.81 39.3099 204.81 36.5699C204.81 33.8299 207.03 31.6099 209.77 31.6099C212.51 31.6099 214.73 33.8299 214.73 36.5699Z\",\n fill: \"url(#paint5_linear_223_28099)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M271.16 39.4H222.5C220.93 39.4 219.66 38.13 219.66 36.57C219.66 35.01 220.93 33.73 222.5 33.73H271.16C272.73 33.73 274 35 274 36.57C274 38.14 272.73 39.4 271.16 39.4Z\",\n fill: \"url(#paint6_linear_223_28099)\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.8,\n d: \"M60.7 78.1102C60.7 71.2502 66.26 65.7002 73.11 65.7002C79.96 65.7002 85.5199 71.2602 85.5199 78.1102C85.5199 84.9602 79.96 90.5202 73.11 90.5202C66.26 90.5202 60.7 84.9602 60.7 78.1102ZM73.1299 81.7902C70.8299 81.7902 68.6599 81.4602 66.7399 80.8702C66.1399 80.6902 65.56 81.2002 65.8 81.7802C67.01 84.6502 69.8299 86.6502 73.1299 86.6502C76.4299 86.6502 79.24 84.6402 80.4599 81.7802C80.6999 81.2102 80.1199 80.6902 79.5199 80.8702C77.5899 81.4602 75.4299 81.7902 73.1299 81.7902ZM69.2399 71.9102C68.3799 71.9102 67.69 73.3002 67.69 75.0102C67.69 76.7202 68.3799 78.1102 69.2399 78.1102C70.0999 78.1102 70.79 76.7202 70.79 75.0102C70.79 73.3002 70.0999 71.9102 69.2399 71.9102ZM77 78.1202C77.86 78.1202 78.55 76.7302 78.55 75.0202C78.55 73.3102 77.86 71.9202 77 71.9202C76.14 71.9202 75.4499 73.3102 75.4499 75.0202C75.4499 76.7302 76.14 78.1202 77 78.1202Z\",\n fill: \"white\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.8\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M148.09 78.5999C148.09 71.7399 153.65 66.1899 160.5 66.1899C167.35 66.1899 172.91 71.7499 172.91 78.5999C172.91 85.4499 167.35 91.0099 160.5 91.0099C153.65 91.0099 148.09 85.4499 148.09 78.5999ZM164.96 85.3199C165.24 85.6399 165.73 85.6799 166.06 85.3999C166.38 85.1199 166.42 84.6299 166.14 84.2999C165.06 83.0599 163.18 81.7099 160.51 81.7099C157.84 81.7099 155.96 83.0599 154.88 84.2999C154.6 84.6199 154.63 85.1099 154.96 85.3999C155.28 85.6799 155.77 85.6499 156.06 85.3199C156.93 84.3199 158.41 83.2599 160.52 83.2599C162.63 83.2599 164.06 84.3199 164.98 85.3199H164.96ZM156.64 74.7199C155.78 74.7199 155.09 75.4099 155.09 76.2699C155.09 77.1299 155.78 77.8199 156.64 77.8199C157.5 77.8199 158.19 77.1299 158.19 76.2699C158.19 75.4099 157.49 74.7199 156.64 74.7199ZM164.4 77.8199C165.25 77.8199 165.95 77.1299 165.95 76.2699C165.95 75.4099 165.25 74.7199 164.4 74.7199C163.55 74.7199 162.85 75.4099 162.85 76.2699C162.85 77.1299 163.54 77.8199 164.4 77.8199Z\",\n fill: \"white\"\n }))), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.28 36.5C128.28 39.24 126.06 41.46 123.32 41.46C120.58 41.46 118.36 39.24 118.36 36.5C118.36 33.76 120.58 31.54 123.32 31.54C126.06 31.54 128.28 33.76 128.28 36.5Z\",\n fill: \"url(#paint7_linear_223_28099)\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M184.71 39.3302H136.05C134.48 39.3302 133.21 38.0602 133.21 36.5002C133.21 34.9402 134.48 33.6602 136.05 33.6602H184.71C186.28 33.6602 187.55 34.9302 187.55 36.5002C187.55 38.0702 186.28 39.3302 184.71 39.3302Z\",\n fill: \"url(#paint8_linear_223_28099)\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M127.99 52.8501C127.99 55.5901 125.77 57.8101 123.03 57.8101C120.29 57.8101 118.07 55.5901 118.07 52.8501C118.07 50.1101 120.29 47.8901 123.03 47.8901C125.77 47.8901 127.99 50.1101 127.99 52.8501Z\",\n fill: \"url(#paint9_linear_223_28099)\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M184.43 55.69H135.77C134.2 55.69 132.93 54.42 132.93 52.86C132.93 51.3 134.2 50.02 135.77 50.02H184.43C186 50.02 187.27 51.29 187.27 52.86C187.27 54.43 186 55.69 184.43 55.69Z\",\n fill: \"url(#paint10_linear_223_28099)\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.8,\n d: \"M234.29 78.7C234.29 71.84 239.85 66.29 246.7 66.29C253.55 66.29 259.11 71.85 259.11 78.7C259.11 85.55 253.55 91.11 246.7 91.11C239.85 91.11 234.29 85.55 234.29 78.7ZM246.72 82.38C244.42 82.38 242.25 82.05 240.33 81.46C239.73 81.28 239.15 81.79 239.39 82.37C240.6 85.24 243.42 87.24 246.72 87.24C250.02 87.24 252.83 85.23 254.05 82.37C254.29 81.8 253.71 81.28 253.11 81.46C251.18 82.05 249.02 82.38 246.72 82.38ZM242.83 72.5C241.97 72.5 241.28 73.89 241.28 75.6C241.28 77.31 241.97 78.7 242.83 78.7C243.69 78.7 244.38 77.31 244.38 75.6C244.38 73.89 243.69 72.5 242.83 72.5ZM250.59 78.71C251.45 78.71 252.14 77.32 252.14 75.61C252.14 73.9 251.45 72.51 250.59 72.51C249.73 72.51 249.04 73.9 249.04 75.61C249.04 77.32 249.73 78.71 250.59 78.71Z\",\n fill: \"white\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_223_28099)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M299 5.54C298.78 5.51 298.55 5.5 298.32 5.5H12.18C9.05 5.5 6.5 7.94 6.5 10.94V117H7.54V10.94C7.54 8.49 9.62 6.5 12.18 6.5H298.31C298.54 6.5 298.77 6.53 298.99 6.57V5.55L299 5.54Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_223_28099\",\n x: 4.5,\n y: 3.5,\n width: 296.5,\n height: 115.5,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.8 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_223_28099\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_223_28099\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_223_28099\",\n x1: -1,\n y1: 57,\n x2: 299,\n y2: 57,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F96209\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#FDAE4F\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_223_28099\",\n x1: 31.6399,\n y1: 36.8599,\n x2: 41.5599,\n y2: 36.8599,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear_223_28099\",\n x1: 46.5,\n y1: 36.86,\n x2: 100.83,\n y2: 36.86,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear_223_28099\",\n x1: 31.3601,\n y1: 53.21,\n x2: 41.2801,\n y2: 53.21,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint4_linear_223_28099\",\n x1: 46.2202,\n y1: 53.2099,\n x2: 100.55,\n y2: 53.2099,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint5_linear_223_28099\",\n x1: 204.81,\n y1: 36.5699,\n x2: 214.73,\n y2: 36.5699,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint6_linear_223_28099\",\n x1: 219.67,\n y1: 36.56,\n x2: 274,\n y2: 36.56,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint7_linear_223_28099\",\n x1: 118.36,\n y1: 36.5,\n x2: 128.28,\n y2: 36.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint8_linear_223_28099\",\n x1: 133.22,\n y1: 36.5002,\n x2: 187.55,\n y2: 36.5002,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint9_linear_223_28099\",\n x1: 118.07,\n y1: 52.8501,\n x2: 127.99,\n y2: 52.8501,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint10_linear_223_28099\",\n x1: 132.94,\n y1: 52.85,\n x2: 187.26,\n y2: 52.85,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHighLevel);\nexport default __webpack_public_path__ + \"static/media/HighLevel.1de46ecb.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _g, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _defs;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgServiceBlueprint(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 300,\n height: 122,\n viewBox: \"0 0 300 122\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M299.89 120H0.11C0.05 120 0 119.95 0 119.89V4C0 1.79 1.79 0 4 0H295.89C298.16 0 300 1.84 300 4.11V119.89C300 119.95 299.95 120 299.89 120Z\",\n fill: \"url(#paint0_linear_223_28220)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.1899 39.99H35.7999C33.7899 39.99 32.1599 38.43 32.1599 36.51C32.1599 34.59 33.7899 33.02 35.7999 33.02H98.1899C100.2 33.02 101.83 34.58 101.83 36.51C101.83 38.44 100.2 39.99 98.1899 39.99Z\",\n fill: \"url(#paint1_linear_223_28220)\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_223_28220)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M300 8.54C299.78 8.51 299.55 8.5 299.32 8.5H13.18C10.05 8.5 7.5 10.94 7.5 13.94V120H8.54V13.94C8.54 11.49 10.62 9.5 13.18 9.5H299.31C299.54 9.5 299.77 9.53 299.99 9.57V8.55L300 8.54Z\",\n fill: \"white\"\n }))), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.7 39.9798H123.31C121.3 39.9798 119.67 38.4198 119.67 36.4998C119.67 34.5798 121.3 33.0098 123.31 33.0098H185.7C187.71 33.0098 189.34 34.5698 189.34 36.4998C189.34 38.4298 187.71 39.9798 185.7 39.9798Z\",\n fill: \"url(#paint2_linear_223_28220)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M270.7 39.9798H208.31C206.3 39.9798 204.67 38.4198 204.67 36.4998C204.67 34.5798 206.3 33.0098 208.31 33.0098H270.7C272.71 33.0098 274.34 34.5698 274.34 36.4998C274.34 38.4298 272.71 39.9798 270.7 39.9798Z\",\n fill: \"url(#paint3_linear_223_28220)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.4499 93.99H36.0599C34.0499 93.99 32.4199 92.43 32.4199 90.51C32.4199 88.59 34.0499 87.02 36.0599 87.02H98.4499C100.46 87.02 102.09 88.58 102.09 90.51C102.09 92.44 100.46 93.99 98.4499 93.99Z\",\n fill: \"url(#paint4_linear_223_28220)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.95 93.9798H123.56C121.55 93.9798 119.92 92.4198 119.92 90.4998C119.92 88.5798 121.55 87.0098 123.56 87.0098H185.95C187.96 87.0098 189.59 88.5698 189.59 90.4998C189.59 92.4298 187.96 93.9798 185.95 93.9798Z\",\n fill: \"url(#paint5_linear_223_28220)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M270.95 93.9798H208.56C206.55 93.9798 204.92 92.4198 204.92 90.4998C204.92 88.5798 206.55 87.0098 208.56 87.0098H270.95C272.96 87.0098 274.59 88.5698 274.59 90.4998C274.59 92.4298 272.96 93.9798 270.95 93.9798Z\",\n fill: \"url(#paint6_linear_223_28220)\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.4499 105.99H36.0599C34.0499 105.99 32.4199 104.43 32.4199 102.51C32.4199 100.59 34.0499 99.02 36.0599 99.02H98.4499C100.46 99.02 102.09 100.58 102.09 102.51C102.09 104.44 100.46 105.99 98.4499 105.99Z\",\n fill: \"url(#paint7_linear_223_28220)\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.95 105.98H123.56C121.55 105.98 119.92 104.42 119.92 102.5C119.92 100.58 121.55 99.0098 123.56 99.0098H185.95C187.96 99.0098 189.59 100.57 189.59 102.5C189.59 104.43 187.96 105.98 185.95 105.98Z\",\n fill: \"url(#paint8_linear_223_28220)\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M270.95 105.98H208.56C206.55 105.98 204.92 104.42 204.92 102.5C204.92 100.58 206.55 99.0098 208.56 99.0098H270.95C272.96 99.0098 274.59 100.57 274.59 102.5C274.59 104.43 272.96 105.98 270.95 105.98Z\",\n fill: \"url(#paint9_linear_223_28220)\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.75,\n d: \"M173.14 65.5C173.14 63.61 174.62 62.12 176.52 62.12C178.42 62.12 179.9 63.6 179.9 65.5C179.9 67.4 178.39 68.88 176.52 68.88C174.65 68.88 173.14 67.37 173.14 65.5ZM176.52 63.81C175.59 63.81 174.83 64.57 174.83 65.5C174.83 66.43 175.59 67.19 176.52 67.19C177.45 67.19 178.21 66.43 178.21 65.5C178.21 64.57 177.45 63.81 176.52 63.81ZM177.82 56.5C178.6 56.5 179.28 57.03 179.46 57.79L179.73 58.93C180.03 59.08 180.31 59.24 180.58 59.42L181.71 59.09C182.46 58.87 183.26 59.19 183.65 59.86L184.95 62.12C185.34 62.79 185.21 63.65 184.65 64.19L183.8 64.97C183.81 65.16 183.82 65.33 183.82 65.49C183.82 65.65 183.82 65.82 183.8 65.98L184.65 66.79C185.21 67.33 185.34 68.18 184.95 68.86L183.65 71.12C183.26 71.79 182.46 72.11 181.71 71.9L180.58 71.57C180.31 71.75 180.02 71.92 179.73 72.07L179.46 73.21C179.28 73.97 178.6 74.5 177.82 74.5H175.21C174.43 74.5 173.75 73.97 173.57 73.21L173.3 72.07C173 71.92 172.72 71.76 172.45 71.57L171.29 71.9C170.57 72.12 169.77 71.8 169.38 71.12L168.08 68.86C167.69 68.19 167.81 67.33 168.38 66.79L169.23 65.98C169.22 65.82 169.21 65.65 169.21 65.46C169.21 65.33 169.21 65.16 169.23 64.97L168.38 64.19C167.82 63.65 167.69 62.8 168.08 62.12L169.38 59.86C169.77 59.18 170.57 58.86 171.29 59.09L172.45 59.42C172.72 59.24 173.01 59.07 173.3 58.93L173.57 57.79C173.75 57.03 174.43 56.5 175.21 56.5H177.82ZM174.74 60.14L174.35 60.31C173.9 60.5 173.49 60.74 173.11 61.03L172.77 61.29L170.84 60.72L169.54 62.98L171 64.37L170.95 64.79C170.92 65.03 170.91 65.26 170.91 65.51C170.91 65.76 170.93 65.99 170.95 66.23L171 66.65L169.54 68.04L170.84 70.3L172.77 69.73L173.11 69.99C173.49 70.28 173.9 70.52 174.35 70.71L174.74 70.88L175.21 72.83H177.82L178.29 70.88L178.68 70.71C179.13 70.52 179.54 70.28 179.92 69.99L180.26 69.73L182.19 70.3L183.49 68.04L182.03 66.65L182.08 66.23C182.11 65.99 182.13 65.76 182.13 65.51C182.13 65.26 182.12 65.03 182.08 64.79L182.03 64.37L183.49 62.98L182.19 60.72L180.26 61.29L179.92 61.03C179.54 60.74 179.13 60.5 178.68 60.31L178.29 60.14L177.82 58.19H175.21L174.74 60.14Z\",\n fill: \"white\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.75,\n d: \"M162.38 73.1L157.67 68.39C158.69 67.14 159.25 65.57 159.25 63.85C159.25 59.81 155.98 56.54 151.94 56.54C147.9 56.54 144.66 59.81 144.66 63.85C144.66 67.89 147.93 71.16 151.94 71.16C153.66 71.16 155.23 70.57 156.48 69.58L161.19 74.29C161.39 74.46 161.6 74.54 161.82 74.54C162.04 74.54 162.25 74.46 162.42 74.29C162.75 73.96 162.75 73.43 162.39 73.1H162.38ZM146.35 63.85C146.35 60.75 148.87 58.23 151.97 58.23C155.07 58.23 157.59 60.75 157.59 63.85C157.59 66.95 155.07 69.47 151.97 69.47C148.87 69.47 146.35 66.95 146.35 63.85Z\",\n fill: \"white\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.75,\n d: \"M127.95 72.18C127.95 72.4 128.01 72.62 128.14 72.8L128.74 73.7C128.92 73.98 129.34 74.2 129.68 74.2H131.85C132.18 74.2 132.6 73.97 132.79 73.7L133.39 72.8C133.49 72.64 133.58 72.37 133.58 72.18V70.8H127.96V72.18H127.95ZM130.76 56.21C127.17 56.22 124.57 59.13 124.57 62.37C124.57 63.93 125.15 65.35 126.1 66.44C126.68 67.1 127.59 68.49 127.94 69.66C127.94 69.66 127.94 69.68 127.94 69.69H133.57C133.57 69.69 133.57 69.67 133.57 69.66C133.92 68.49 134.82 67.11 135.41 66.44C136.36 65.38 136.94 63.96 136.94 62.37C136.94 58.98 134.17 56.21 130.75 56.21H130.76ZM134.15 65.35C133.6 65.98 132.92 66.98 132.43 68.02H129.1C128.61 66.98 127.93 65.98 127.38 65.35C126.66 64.53 126.27 63.45 126.27 62.36C126.27 60.19 127.96 57.9 130.74 57.89C133.25 57.89 135.27 59.91 135.27 62.36C135.27 63.45 134.88 64.53 134.16 65.35H134.15ZM130.2 59.02C128.65 59.02 127.39 60.28 127.39 61.83C127.39 62.14 127.64 62.39 127.95 62.39C128.26 62.39 128.51 62.14 128.51 61.83C128.51 60.9 129.27 60.14 130.2 60.14C130.51 60.14 130.76 59.89 130.76 59.58C130.76 59.27 130.51 59.02 130.2 59.02Z\",\n fill: \"white\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.75,\n d: \"M241.28 71.6199C241.28 71.8399 241.34 72.0599 241.47 72.2399L242.07 73.1399C242.25 73.4199 242.67 73.6399 243.01 73.6399H245.18C245.51 73.6399 245.93 73.4099 246.12 73.1399L246.72 72.2399C246.82 72.0799 246.91 71.8099 246.91 71.6199V70.2399H241.29V71.6199H241.28ZM244.09 55.6499C240.5 55.6599 237.9 58.5699 237.9 61.8099C237.9 63.3699 238.48 64.7899 239.43 65.8799C240.01 66.5399 240.92 67.9299 241.27 69.0999C241.27 69.0999 241.27 69.1199 241.27 69.1299H246.9C246.9 69.1299 246.9 69.1099 246.9 69.0999C247.25 67.9299 248.15 66.5499 248.74 65.8799C249.69 64.8199 250.27 63.3999 250.27 61.8099C250.27 58.4199 247.5 55.6499 244.08 55.6499H244.09ZM247.48 64.7899C246.93 65.4199 246.25 66.4199 245.76 67.4599H242.43C241.94 66.4199 241.26 65.4199 240.71 64.7899C239.99 63.9699 239.6 62.8899 239.6 61.7999C239.6 59.6299 241.29 57.3399 244.07 57.3299C246.58 57.3299 248.6 59.3499 248.6 61.7999C248.6 62.8899 248.21 63.9699 247.49 64.7899H247.48ZM243.53 58.4599C241.98 58.4599 240.72 59.7199 240.72 61.2699C240.72 61.5799 240.97 61.8299 241.28 61.8299C241.59 61.8299 241.84 61.5799 241.84 61.2699C241.84 60.3399 242.6 59.5799 243.53 59.5799C243.84 59.5799 244.09 59.3299 244.09 59.0199C244.09 58.7099 243.84 58.4599 243.53 58.4599Z\",\n fill: \"white\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.75,\n d: \"M65.72 64.6499C65.72 62.7599 67.2 61.2699 69.1 61.2699C71 61.2699 72.48 62.7499 72.48 64.6499C72.48 66.5499 70.97 68.0299 69.1 68.0299C67.23 68.0299 65.72 66.5199 65.72 64.6499ZM69.1 62.9599C68.17 62.9599 67.41 63.7199 67.41 64.6499C67.41 65.5799 68.17 66.3399 69.1 66.3399C70.03 66.3399 70.79 65.5799 70.79 64.6499C70.79 63.7199 70.03 62.9599 69.1 62.9599ZM70.4 55.6499C71.18 55.6499 71.86 56.1799 72.04 56.9399L72.31 58.0799C72.61 58.2299 72.89 58.3899 73.16 58.5699L74.29 58.2399C75.04 58.0199 75.84 58.3399 76.23 59.0099L77.53 61.2699C77.92 61.9399 77.79 62.7999 77.23 63.3399L76.38 64.1199C76.39 64.3099 76.4 64.4799 76.4 64.6399C76.4 64.7999 76.4 64.9699 76.38 65.1299L77.23 65.9399C77.79 66.4799 77.92 67.3299 77.53 68.0099L76.23 70.2699C75.84 70.9399 75.04 71.2599 74.29 71.0499L73.16 70.7199C72.89 70.8999 72.6 71.0699 72.31 71.2199L72.04 72.3599C71.86 73.1199 71.18 73.6499 70.4 73.6499H67.79C67.01 73.6499 66.33 73.1199 66.15 72.3599L65.88 71.2199C65.58 71.0699 65.3 70.9099 65.03 70.7199L63.87 71.0499C63.15 71.2699 62.35 70.9499 61.96 70.2699L60.66 68.0099C60.27 67.3399 60.39 66.4799 60.96 65.9399L61.81 65.1299C61.8 64.9699 61.79 64.7999 61.79 64.6099C61.79 64.4799 61.79 64.3099 61.81 64.1199L60.96 63.3399C60.4 62.7999 60.27 61.9499 60.66 61.2699L61.96 59.0099C62.35 58.3299 63.15 58.0099 63.87 58.2399L65.03 58.5699C65.3 58.3899 65.59 58.2199 65.88 58.0799L66.15 56.9399C66.33 56.1799 67.01 55.6499 67.79 55.6499H70.4ZM67.32 59.2899L66.93 59.4599C66.48 59.6499 66.07 59.8899 65.69 60.1799L65.35 60.4399L63.42 59.8699L62.12 62.1299L63.58 63.5199L63.53 63.9399C63.5 64.1799 63.49 64.4099 63.49 64.6599C63.49 64.9099 63.51 65.1399 63.53 65.3799L63.58 65.7999L62.12 67.1899L63.42 69.4499L65.35 68.8799L65.69 69.1399C66.07 69.4299 66.48 69.6699 66.93 69.8599L67.32 70.0299L67.79 71.9799H70.4L70.87 70.0299L71.26 69.8599C71.71 69.6699 72.12 69.4299 72.5 69.1399L72.84 68.8799L74.77 69.4499L76.07 67.1899L74.61 65.7999L74.66 65.3799C74.69 65.1399 74.71 64.9099 74.71 64.6599C74.71 64.4099 74.7 64.1799 74.66 63.9399L74.61 63.5199L76.07 62.1299L74.77 59.8699L72.84 60.4399L72.5 60.1799C72.12 59.8899 71.71 59.6499 71.26 59.4599L70.87 59.2899L70.4 57.3399H67.79L67.32 59.2899Z\",\n fill: \"white\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_223_28220\",\n x: 5.5,\n y: 6.5,\n width: 296.5,\n height: 115.5,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.8 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_223_28220\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_223_28220\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_223_28220\",\n x1: 0,\n y1: 60,\n x2: 300,\n y2: 60,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#016161\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#18AEAD\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_223_28220\",\n x1: 32.1699,\n y1: 36.51,\n x2: 101.83,\n y2: 36.51,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear_223_28220\",\n x1: 119.67,\n y1: 36.4998,\n x2: 189.33,\n y2: 36.4998,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear_223_28220\",\n x1: 204.67,\n y1: 36.4998,\n x2: 274.33,\n y2: 36.4998,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint4_linear_223_28220\",\n x1: 32.4199,\n y1: 90.5,\n x2: 102.08,\n y2: 90.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint5_linear_223_28220\",\n x1: 119.92,\n y1: 90.4998,\n x2: 189.58,\n y2: 90.4998,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint6_linear_223_28220\",\n x1: 204.92,\n y1: 90.4998,\n x2: 274.58,\n y2: 90.4998,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint7_linear_223_28220\",\n x1: 32.4199,\n y1: 102.5,\n x2: 102.08,\n y2: 102.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint8_linear_223_28220\",\n x1: 119.92,\n y1: 102.5,\n x2: 189.58,\n y2: 102.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint9_linear_223_28220\",\n x1: 204.92,\n y1: 102.5,\n x2: 274.58,\n y2: 102.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgServiceBlueprint);\nexport default __webpack_public_path__ + \"static/media/ServiceBlueprint.f31a2798.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _defs;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgTemplateMapCreation(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 300,\n height: 121,\n viewBox: \"0 0 300 121\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M300 0.00244141H0V120.275H300V0.00244141Z\",\n fill: \"url(#paint0_linear_290_27914)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.03 65.9803H32.64C30.63 65.9803 29 64.4203 29 62.5003C29 60.5803 30.63 59.0103 32.64 59.0103H95.03C97.04 59.0103 98.67 60.5703 98.67 62.5003C98.67 64.4303 97.04 65.9803 95.03 65.9803Z\",\n fill: \"url(#paint1_linear_290_27914)\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M182.53 65.97H120.14C118.13 65.97 116.5 64.41 116.5 62.49C116.5 60.57 118.13 59 120.14 59H182.53C184.54 59 186.17 60.56 186.17 62.49C186.17 64.42 184.54 65.97 182.53 65.97Z\",\n fill: \"url(#paint2_linear_290_27914)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M267.53 65.97H205.14C203.13 65.97 201.5 64.41 201.5 62.49C201.5 60.57 203.13 59 205.14 59H267.53C269.54 59 271.17 60.56 271.17 62.49C271.17 64.42 269.54 65.97 267.53 65.97Z\",\n fill: \"url(#paint3_linear_290_27914)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.03 77.9803H32.64C30.63 77.9803 29 76.4203 29 74.5003C29 72.5803 30.63 71.0103 32.64 71.0103H95.03C97.04 71.0103 98.67 72.5703 98.67 74.5003C98.67 76.4303 97.04 77.9803 95.03 77.9803Z\",\n fill: \"url(#paint4_linear_290_27914)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M182.53 77.97H120.14C118.13 77.97 116.5 76.41 116.5 74.49C116.5 72.57 118.13 71 120.14 71H182.53C184.54 71 186.17 72.56 186.17 74.49C186.17 76.42 184.54 77.97 182.53 77.97Z\",\n fill: \"url(#paint5_linear_290_27914)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M267.53 77.97H205.14C203.13 77.97 201.5 76.41 201.5 74.49C201.5 72.57 203.13 71 205.14 71H267.53C269.54 71 271.17 72.56 271.17 74.49C271.17 76.42 269.54 77.97 267.53 77.97Z\",\n fill: \"url(#paint6_linear_290_27914)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_290_27914\",\n x1: 0,\n y1: 60.1388,\n x2: 300,\n y2: 60.1388,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3F3E58\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#525EA8\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_290_27914\",\n x1: 29,\n y1: 62.4903,\n x2: 98.66,\n y2: 62.4903,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear_290_27914\",\n x1: 116.5,\n y1: 62.49,\n x2: 186.16,\n y2: 62.49,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear_290_27914\",\n x1: 201.5,\n y1: 62.49,\n x2: 271.16,\n y2: 62.49,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint4_linear_290_27914\",\n x1: 29,\n y1: 74.4903,\n x2: 98.66,\n y2: 74.4903,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint5_linear_290_27914\",\n x1: 116.5,\n y1: 74.49,\n x2: 186.16,\n y2: 74.49,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint6_linear_290_27914\",\n x1: 201.5,\n y1: 74.49,\n x2: 271.16,\n y2: 74.49,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0.5\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTemplateMapCreation);\nexport default __webpack_public_path__ + \"static/media/template-map-creation.277bebf3.svg\";\nexport { ForwardRef as ReactComponent };","import styled, { css } from \"styled-components\";\r\nimport { Card } from 'primereact/card';\r\n\r\nexport const TypeLabel = styled.div`\r\ncolor: ${props => props.type === 'Standard' ? '#3F3D56' : '#20A9E9'};\r\nbackground-color: ${props => props.type === 'Standard' ? '#E6E2F8' : '#D2EEFB'};\r\npadding: 3px 7px;\r\nborder-radius: 6px;\r\nmargin-right: 0.5rem;\r\nfont-size: 14px;\r\nfont-weight: 400;\r\n`\r\nexport const MultiLabel = styled.div`\r\ncolor: ${props => props.multi ? '#138A8A' : '#F48E09'};\r\nbackground-color: ${props => props.multi ? '#D8FAFA' : '#FDE7CB'};\r\npadding: 3px 7px;\r\nborder-radius: 6px;\r\nfont-size: 14px;\r\nfont-weight: 400;\r\n`\r\nexport const ImageContainer = styled.div`\r\n\r\n\r\n${props => props.wizard === 'true' ? css`\r\n\r\nsvg {\r\n border-top-right-radius: 5px;\r\n border-top-left-radius: 5px;\r\n width: 325px;\r\n height: 134px;\r\n\r\n zoom: 1.02;\r\n\r\n}\r\n`: css`\r\nwidth: 100%;\r\nheight:200px;\r\noverflow: hidden;\r\nposition: relative;\r\nsvg {\r\n border-top-right-radius: 5px;\r\n border-top-left-radius: 5px;\r\n width: 325px;\r\n height: 200px;\r\n position: absolute;\r\n left: -5px;\r\n zoom: 1.02;\r\n\r\n}\r\n\r\n`\r\n\r\n}\r\n\r\n`\r\nexport const LaneCard = styled(Card)`\r\nwidth: 320px;\r\nheight: ${props => props.wizard === 'true' ? '370px': '392px'};\r\npadding: 0;\r\nborder: 1px solid #C4C4C4;\r\nbox-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px rgba(0, 0, 0, 0.14), 0px 1px 3px rgba(0, 0, 0, 0.12);\r\n.p-card-footer{\r\n padding: 5px 0px !important;\r\n}\r\n.p-card-content{\r\n padding: 0 5px!important;\r\n}\r\n.p-card-title{\r\n display: inline-block;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n max-width: 100%;\r\n}\r\ncursor: pointer;\r\n${props => props.disabled &&css`\r\n pointer-events: none;\r\n opacity: 0.5;\r\n\r\n`}\r\n${props => props.wizard === 'true' &&css`\r\n cursor: default;\r\n width:334px;\r\n`}\r\n`\r\nexport const Description = styled.p`\r\ncolor:#333333;\r\nfont-weight: 400;\r\nline-height: 24px;\r\npadding: 0;\r\nmargin: 0;\r\ncursor: pointer;\r\ncolor: #333333;\r\ndisplay: -webkit-box;\r\n-webkit-line-clamp: 3;\r\n-webkit-box-orient: vertical;\r\ntext-overflow: ellipsis;\r\nalign-self: center !important;\r\ncursor: pointer;\r\noverflow: hidden;\r\nfont-weight: 500 !important;\r\nheight: 73px;\r\n`","import { EMPTY_GUID, extractTextFromHtml } from \"@utils/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components/macro\";\r\nimport CustomTooltip from \"../../../shared/components/CustomTooltip\";\r\nimport * as Style from \"./image-card-style\";\r\nfunction ImageCard({ object, add, preview }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst header = (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n\r\n\tconst title = (\r\n\t\t\r\n\t\t\t{object.title}\r\n\t\t\r\n\t);\r\n\r\n\tconst footer = (\r\n\t\t<>\r\n\t\t\t{object?.multi !== undefined && {!object.multi && {object.multi ? \"\" : t(\"SINGLE\")}}}\r\n\t\t\t{object?.useButton && (\r\n\t\t\t\t
\r\n\t\t\t\t\t preview(object) : undefined}>\r\n\t\t\t\t\t\t{t(\"PREVIEW\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t add(object.id, object?.libraryId ?? EMPTY_GUID)}>\r\n\t\t\t\t\t\t{t(\"USE\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n\r\n\treturn (\r\n\t\t {} : () => add(object.id)}>\r\n\t\t\t{extractTextFromHtml(object?.description)}\r\n\t\t\r\n\t);\r\n}\r\nImageCard.displayName = \"ImageCard\";\r\nexport default ImageCard;\r\nconst TitleWrapper = styled.div`\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tline-height: 1.5;\r\n`;\r\n","import BookWizard from \"@Assets/All/Book-Wizard.svg\";\r\nimport { ReactComponent as Detailed } from \"@Assets/All/Detailed.svg\";\r\nimport HatWizard from \"@Assets/All/Hat-Wizard.svg\";\r\nimport { ReactComponent as HighLevel } from \"@Assets/All/HighLevel.svg\";\r\nimport { ReactComponent as BluePrint } from \"@Assets/All/ServiceBlueprint.svg\";\r\nimport { ReactComponent as Template } from \"@Assets/All/template-map-creation.svg\";\r\nimport { useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router\";\r\nimport { FlexAlignJustifyCenter, FlexColumnGap, GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport * as Style from \"./Style.js\";\r\n\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nimport { isSubscriptionAllowed, isUserAllowed } from \"@utils/helpers\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets.js\";\r\nimport ImageCard from \"features/journey-map/creation/card-image-template.jsx\";\r\nimport { CreateMapWithTemplate } from \"features/journey-map/reducer/CJMActions.js\";\r\nimport { t } from \"i18next\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { IframeModal } from \"shared/modals/index\";\r\nimport { EmptyListContainer, EmptyListImg, EmptyListText } from 'shared/ui-basics/index';\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { base } from \"../../../redux/store\";\r\n\r\nexport default function MapType(props) {\r\n\tconst history = useHistory();\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst [key, setKey] = useState(\"cemantica\");\r\n\tconst [isAnimating, setIsAnimating] = useState(false);\r\n\r\n\tconst selectType = (id) => {\r\n\t\tprops.setNewMap({ ...props.newMap, mapMode: id ? id : \"100000002\" });\r\n\t\tprops.nextStep();\r\n\t};\r\n\tconst CemTemplate = GetCemTemplate(props.newMap, selectType);\r\n\tconst OrgTemplate = GetOrgTemplate(props.newMap, history, props?.folderId);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(\"ARROW_LEFT\", \"me-1\")}\r\n\t\t\t\t{t(\"ASPX_132\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{key === \"cemantica\" ? (\r\n\t\t\t\t\t setIsAnimating(false)} />\r\n\t\t\t\t) : (\r\n\t\t\t\t\t setIsAnimating(false)} />\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"MAP_CREATION_TITLE\")}\r\n\t\t\t\t{t(\"MAP_CREATION_SUBTITLE\")}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"QUICK_START\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t {\r\n\t\t\t\t\tsetKey(k);\r\n\t\t\t\t\tsetIsAnimating(true);\r\n\t\t\t\t}}\r\n\t\t\t\tclassName=\"m-3\"\r\n\t\t\t\tmountOnEnter={true}\r\n\t\t\t\tunmountOnExit={true}>\r\n\t\t\t\t\r\n\t\t\t\t\t{CemTemplate}\r\n\t\t\t\t\r\n\t\t\t\t{isSubscriptionAllowed(subscriptionPlan, \"regular\") && !props.newMap.isTemplate && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{OrgTemplate}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst GetCemTemplate = (newMap, updateType) => {\r\n\tconst { t } = useTranslation();\r\n\tconst [showModal] = useModal(IframeModal);\r\n\r\n\tconst template = [\r\n\t\t{ id: \"100000001\", image: Detailed, title: t(\"ASPX_117\"), description: t(\"ASPX_131\"), wizard: true, useButton: true, active: newMap.type === \"100000001\",img: require(\"@Assets/preview-images/detailed.png\").default },\r\n\t\t{ id: \"100000003\", image: BluePrint, title: t(\"ASPX_256\"), description: t(\"ASPX_257\"), wizard: true, useButton: true, active: newMap.type === \"100000003\" ,img: require(\"@Assets/preview-images/blueprint.png\").default},\r\n\t\t{ id: \"100000000\", image: HighLevel, title: t(\"ASPX_116\"), description: t(\"ASPX_130\"), wizard: true, useButton: true, active: newMap.type === \"100000000\",img: require(\"@Assets/preview-images/high-level.png\").default},\r\n\t];\r\n\r\n\tconst preview = (temp) => {\r\n\t\t\tshowModal({\r\n\t\t\t\ttitle: \"PREVIEW\",\r\n\t\t\t\tadd: updateType,\r\n\t\t\t\tobjectId: temp.id,\r\n\t\t\t\timg:temp.img\r\n\t\t\t});\r\n\t};\r\n\treturn (\r\n\t\t
\r\n\t\t\t{template.map((types) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst GetOrgTemplate = (newMap, history, folderId) => {\r\n\tconst template = useSelector((state) => state.maps.all_maps).filter((map) => map.isTemplate === true && map.statusCode===StatusCode.Active && map.templateStatus === 100000001);\r\n\tconst userType = Number(useSelector((state) => state.auth?.userInfo?.UserType));\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst isSubscriptionAllowed = [\"Expert\", \"Enterprise\"].includes(subscriptionPlan);\r\n\tconst dispatch = useDispatch();\r\n\tconst [showModal] = useModal(IframeModal);\r\n\tconst templateTransform = template?.map((temp) => {\r\n\t\treturn { id: temp.cjmId, image: Template, title: temp.name, description: temp?.description || \"\", useButton: true, wizard: true };\r\n\t});\r\n\tconst handleCreationTemplate = (id) => {\r\n\t\tconst templateRelevant = template?.find((tmp) => tmp.cjmId === id);\r\n\t\tconst SetCreationCJMParams = createAction(\"SET_CREATION_CJM_PARAMS\")\r\n\t\tdispatch(SetCreationCJMParams({cjmId: id, name: templateRelevant.name, description:\"\",personaId:templateRelevant?.linkedPersonas[0]?.personaId } ))\r\n\r\n\t\tCreateMapWithTemplate({ cjmId: id, name: templateRelevant.name, history: history, folderId });\r\n\t}\r\n\r\n\tconst preview = (temp) => {\r\n\t\tconst templateRelevant = template?.find((tmp) => tmp.cjmId === temp.id);\r\n\r\n\t\tshowModal({\r\n\t\t\ttitle: \"PREVIEW\",\r\n\t\t\turl: `${base}EditMap?cjmid=${templateRelevant.cjmId}&personaId=${templateRelevant?.linkedPersonas[0]?.personaId || \"00000000-0000-0000-0000-000000000000\"}&ispreview=true`,\r\n\t\t\tadd:handleCreationTemplate,\r\n\t\t\tobjectId: temp.id,\r\n\t\t});\r\n\t};\r\n\treturn (\r\n\t\t
\r\n\t\t\t{templateTransform?.map((temp) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\t{templateTransform.length === 0 && (\r\n\t\t\t\t\r\n\t\t\t\t\t{}\r\n\t\t\t\t\t{t(\"NO_ORG_TEMPLATE\")}\r\n\t\t\t\t\t{isSubscriptionAllowed && isUserAllowed(userType, \"template\") && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"GO_TEMPLATE\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n","import { FlexColumnGap, GenericButton, IconDispatcher, Input } from \"shared/ui-basics/index\";\r\nimport { useAutoFocus } from \"shared/hooks/index.js\";\r\nimport DisplayState from \"shared/cx-components/DisplayState.js\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Label } from \"reactstrap\";\r\nimport * as Style from \"./Style.js\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function MapName(props) {\r\n\tconst { name, description } = props?.newMap;\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useAutoFocus();\r\n\r\n\tconst update = (e) => {\r\n\t\tconst name = e.target.name;\r\n\t\tlet value = e.target.value;\r\n\t\tif (name === \"name\") {\r\n\t\t\tvalue = value.truncate(90, true);\r\n\t\t}\r\n\t\telse if (name === \"description\") value = value.truncate(19999, true);\r\n\t\tprops.setNewMap({ ...props.newMap, [name]: value });\r\n\r\n\t};\r\n\r\n\tconst updateState = (object) => {\r\n\t\tprops.setNewMap({ ...props.newMap, mapType: object?.mapType });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(\"ARROW_LEFT\", \"me-1\")}\r\n\t\t\t\t{t(\"ASPX_132\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"MAP_CREATION_TITLE_STEP2\")}\r\n\t\t\t\t{t(\"MAP_CREATION_SUBTITLE_STEP2\")}\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"CONTINUE\")}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n","import { createPersona, updateLockPersonaTemplate, updatePersonaName, updateStatusPersonaTemplate } from \"@redux/index\";\r\nimport { GetActiveCJM, isUserAllowed } from \"@utils/helpers\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport PersonaBubble from \"features/forms/personas/components/PersonaBubble\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Card, CardBody, NavLink } from \"reactstrap\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { IframeModal } from \"shared/modals/index\";\r\nimport GenericSwitch, { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { base } from \"../../../../../redux/store\";\r\nimport CustomTooltip from \"../../../../../shared/components/CustomTooltip\";\r\nimport EditTitle from \"../../../../../shared/components/EditableText\";\r\nimport { DropDownPosition } from \"../../../../grid-table/columns-components/Styles\";\r\nimport BaseActions from \"../../actions/BaseActions\";\r\nimport { SmileyStaticComponent } from \"shared/ui-basics/ui-components/EmotionLevelComponents/SmileyStaticComponent\";\r\nimport { isRecentWorkById } from \"redux/memoizedSelectors\";\r\n\r\nfunction PersonaProfileCard({ personaId, selectPersonas, newMap, isTemplateView }) {\r\n\tconst { t } = useTranslation();\r\n\tconst pathname = useLocation().pathname;\r\n\tconst history = useHistory();\r\n\tconst [showModal] = useModal(IframeModal);\r\n\r\n\tconst all_maps = useSelector((state) => state.maps.all_maps);\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\tconst persona = useSelector((state) => state.personas.all_personas.find((p) => p.personaId === personaId));\r\n\tconst { name, statusCode, isLocked, templateStatus, sentimentLevel, linkedCjms, associatedContactsCount, occupation } = persona;\r\n\r\n\tconst [rename, setRename] = React.useState(\"\");\r\n\tconst [personaName, setName] = useState(name);\r\n\tconst [disableButton, setDisableButton] = useState(false);\r\n\tconst linkedJourneyMapActive = GetActiveCJM(linkedCjms, all_maps);\r\n\tconst isActionsAllowed = isUserAllowed(userType, \"actions-dropdown\") && selectPersonas === undefined && !isTemplateView;\r\n\tconst MAX_OCCUPATION_LENGTH = 24;\r\n\tconst MAX_PERSONA_LENGTH = 14;\r\n\tconst emotionLevel = Math.round(sentimentLevel);\r\n\tconst disableRedirect = isTemplateView || statusCode === StatusCode.Archived || statusCode === StatusCode.Trashed || selectPersonas !== undefined;\r\n\tconst query = new URLSearchParams(window.location.search.toLowerCase());\r\n\tconst isTemplate = query.get(\"istemplate\") === \"true\";\r\n\tconst isRecenterWork = useSelector(isRecentWorkById(persona?.personaId));\r\n\r\n\tuseEffect(() => {\r\n\t\tsetName(name);\r\n\t}, [persona.name]);\r\n\r\n\tconst selectPersona = () => {\r\n\t\tif (selectPersonas !== undefined) selectPersonas(personaId);\r\n\t};\r\n\tconst callbacks = {\r\n\t\tonSuccess: (persona) => {\r\n\t\t\tsetDisableButton(false);\r\n\t\t\thistory.push(`/EditPersona?personaIdStr=${persona.personaId}`);\r\n\t\t},\r\n\t\tonFailed: () => {\r\n\t\t\tsetDisableButton(false);\r\n\t\t},\r\n\t};\r\n\r\n\tconst preview = (persona) => {\r\n\t\tshowModal({\r\n\t\t\ttitle: \"PREVIEW\",\r\n\t\t\turl: `${base}EditPersona?personaIdStr=${persona.personaId}&ispreview=true`,\r\n\t\t\tadd: () => createPersona({ fromTemplateIdStr: persona.personaId }, null, callbacks.onSuccess, null, callbacks.onFailed),\r\n objectId: persona.personaId,\r\n customHeight: 750,\r\n\t\t});\r\n\t};\r\n\r\n\tconst displayJourneyText = () => {\r\n\t\tif (linkedJourneyMapActive?.length === 1) return t(\"JOURNEY\");\r\n\t\treturn t(\"JOURNEYS\");\r\n\t};\r\n\r\n\tconst displayContactText = () => {\r\n\t\tif (associatedContactsCount === 1) return t(\"CONTACT\");\r\n\t\treturn t(\"CONTACTS\");\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{selectPersonas !== undefined && personaId === newMap?.personaId && {IconDispatcher(\"CHECKED\")}}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{emotionLevel > 0 && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{isActionsAllowed && CreateActionsDropdown({ actions: BaseActions({ persona, setRename }), right: \"-45\", top: \"0\" })}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{rename !== personaId && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{personaName}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{rename === personaId && }\r\n\t\t\t\t\r\n\t\t\t\t\t{occupation}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{!persona.isTemplate && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t
{linkedJourneyMapActive?.length + \" \" + displayJourneyText()}
\r\n\t\t\t\t\t\t
{associatedContactsCount + \" \" + displayContactText()}
\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{pathname === \"/persona-creation\" && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t preview(persona) : undefined} disabled={disableButton}>\r\n\t\t\t\t\t\t\t{t(\"PREVIEW\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tsetDisableButton(true);\r\n\t\t\t\t\t\t\t\tcreatePersona({ item: { fromTemplateIdStr: personaId, isTemplate }, ...callbacks });\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tdisabled={disableButton}>\r\n\t\t\t\t\t\t\t{t(\"USE\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{pathname === \"/templates\" && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t updateLockPersonaTemplate({ modifiedPersona: { personaId, isLocked: !isLocked }, modifiedAttribNames: [\"isLocked\"] })}\r\n\t\t\t\t\t\t\ttext={\"JS_169\"}\r\n\t\t\t\t\t\t\ttooltipText={\"PERSONA_TEMPLATE_TOOLTIP_LOCK\"}\r\n\t\t\t\t\t\t\tjustifycontent=\"space-between\"\r\n\t\t\t\t\t\t\tgap={\"20\"}\r\n\t\t\t\t\t\t\tisdisabled={statusCode === StatusCode.Archived || statusCode === StatusCode.Trashed}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tupdateStatusPersonaTemplate({\r\n\t\t\t\t\t\t\t\t\tmodifiedPersona: { personaId, templateStatus: templateStatus === 100000001 ? 100000000 : 100000001 },\r\n\t\t\t\t\t\t\t\t\tmodifiedAttribNames: [\"templateStatus\"],\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttext=\"JS_170\"\r\n\t\t\t\t\t\t\ttooltipText=\"PERSONA_TEMPLATE_TOOLTIP_PUBLISH\"\r\n\t\t\t\t\t\t\tjustifycontent=\"space-between\"\r\n\t\t\t\t\t\t\tgap=\"20\"\r\n\t\t\t\t\t\t\tisdisabled={statusCode === StatusCode.Archived || statusCode === StatusCode.Trashed}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{disableButton && }\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport const ProfileCard = styled(Card)`\r\n\twidth: 220px;\r\n\theight: 280px;\r\n\tbackground: #ffffff;\r\n\tborder-radius: 4px;\r\n\tposition: relative;\r\n\t${(props) =>\r\n\t\tprops.selectable === \"true\" &&\r\n\t\tcss`\r\n\t\t\tcursor: pointer;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.selected === true &&\r\n\t\tprops.selectable === \"true\" &&\r\n\t\tcss`\r\n\t\t\tborder: 2px solid #f96209;\r\n\t\t`}\r\n\r\n ${DropDownPosition} {\r\n\t\tleft: -25px;\r\n\t\ttop: 0px;\r\n\t}\r\n\t:hover {\r\n\t\tbox-shadow: rgba(33, 43, 54, 0.1) 0px 1px 5px;\r\n\t}\r\n\t:hover ${DropDownPosition} {\r\n\t\tdisplay: flex;\r\n\t}\r\n`;\r\n\r\nconst CardTop = styled.div`\r\n\tmargin-top: 5px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\tposition: relative;\r\n\t#icon {\r\n\t\tposition: absolute;\r\n\t\tbottom: 5px;\r\n\t\tright: 45px;\r\n\t\tbackground: #ffffff;\r\n\t\tborder-radius: 50%;\r\n\t\twidth: fit-content;\r\n\t}\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tborder: none;\r\n\tpadding: 5px;\r\n\tcolor: #333333;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tfont-size: 20px;\r\n\tline-height: 24px;\r\n\twidth: 100%;\r\n\ttext-align: center;\r\n\tmargin: 5px 0px;\r\n\tmax-width: 219px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tpadding: 0px 20px;\r\n\tcursor: ${(props) => (props.selectable === \"true\" ? \"pointer\" : \"auto\")};\r\n`;\r\n\r\nconst Redirect = styled(NavLink)`\r\n\ttext-decoration: none;\r\n`;\r\n\r\nconst Occupation = styled.div`\r\n\tmax-width: 100%;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tmin-height: 20px;\r\n\tline-height: 19px;\r\n\ttext-align: center;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tcolor: #333333;\r\n\twidth: 100%;\r\n\tpadding: 0px 20px;\r\n`;\r\n\r\nconst CardBottom = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-evenly;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\t#cjm {\r\n\t\tbackground: #d6d4e1;\r\n\t\talign-self: center;\r\n\t\tpadding: 4px 10px;\r\n\t\tcolor: #3f3d56;\r\n\t\tborder-radius: 4px;\r\n\t\tfont-weight: 500;\r\n\t\tfont-size: 13px;\r\n\t\tline-height: 15px;\r\n\t}\r\n\t#contacts {\r\n\t\tbackground: #d2eefb;\r\n\t\talign-self: center;\r\n\t\tpadding: 4px 10px;\r\n\t\tcolor: #20a9e9;\r\n\t\tborder-radius: 4px;\r\n\t\tfont-weight: 500;\r\n\t\tfont-size: 13px;\r\n\t\tline-height: 15px;\r\n\t}\r\n`;\r\n\r\nconst BubbleChecked = styled.div`\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\tposition: absolute;\r\n\tbackground-color: #fdc09d;\r\n\tborder-radius: 50%;\r\n\tleft: 2px;\r\n\tcolor: #f96209;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-content: center;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Actions = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\tjustify-content: flex-start;\r\n\twidth: 90%;\r\n\tborder-top: 1px solid #c4c4c4;\r\n`;\r\n\r\nconst TemplateActions = styled.div`\r\n\twidth: 90%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 5px;\r\n\tborder-top: 1px solid #c4c4c4;\r\n`;\r\n\r\nexport const EmotionPosition = styled.div`\r\n\tposition: absolute;\r\n\tbottom: 0px;\r\n\tright: 50px;\r\n`;\r\n\r\nexport default PersonaProfileCard;\r\n","import { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { createDefaultPersona, pictureValidationPersona } from \"@utils/helpers\";\r\nimport PersonaBubble from \"features/forms/personas/components/PersonaBubble\";\r\nimport { t } from \"i18next\";\r\nimport { useState } from \"react\";\r\nimport { Image } from \"react-bootstrap\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { GenericButton, Input } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport { createPersona } from \"../reducer/PersonaActions\";\r\n\r\nconst PersonaQuickCreate = ({ useMediaScreen }) => {\r\n\tconst [newPersona, setNewPersona] = useState(createDefaultPersona());\r\n\tconst [disabled, setDisable] = useState(false);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\r\n\tconst callbackCreate = () => {\r\n\t\tsetDisable(false);\r\n\t\tsetNewPersona(createDefaultPersona());\r\n\t};\r\n\r\n\tconst createPersonas = () => {\r\n\t\tsetDisable(true);\r\n\t\tcreatePersona({item: newPersona,onSuccess:callbackCreate});\r\n\t};\r\n\r\n\tconst setNamePersona = (e) => {\r\n\t\tconst { value } = e.target;\r\n\t\tif (value.length > 90) {\r\n\t\t\ttoast.info(t(\"EXCEEDED_MAX_SIZE_INPUT\"));\r\n\t\t}\r\n\t\tsetNewPersona((prevState) => ({ ...prevState, name: value.truncate(90) }));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{useMediaScreen ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"JS_87\")}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nexport default PersonaQuickCreate;\r\n\r\nconst WrapperDiv = styled.div`\r\n\t${(props) => (props?.useMediaScreen ? \"padding-top:1rem;\" : \"margin-top:5px;\")}\r\n\theight: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n\r\nconst ImageWrapper = styled(Image)`\r\n\twidth: 120px;\r\n\theight: 120px;\r\n\tborder-radius: 50%;\r\n\tobject-fit: cover;\r\n\tborder: 3px solid #c9c9c9;\r\n\t@media screen and (max-width: 1280px) {\r\n\t\twidth: 90px;\r\n\t\theight: 90px;\r\n\t}\r\n`;\r\n","import { updateFolderLinks } from \"@redux/index.js\";\r\nimport { EMPTY_GUID, getEntityCurrentState } from \"@utils/helpers.js\";\r\nimport PersonaProfileCard, { ProfileCard } from \"features/forms/personas/cards/persona-sections-cards/PersonaProfileCard.js\";\r\nimport PersonaQuickCreate from \"features/forms/personas/creation/PersonaQuickCreate.js\";\r\nimport { createJourneyMap, resetCurrentMap } from \"features/journey-map/reducer/CJMActions.js\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { GenericButton, IconDispatcher, SearchBar } from \"shared/ui-basics/index\";\r\nimport * as Style from \"./Style.js\";\r\n\r\nimport { GetActiveCJM, getActivePersona } from \"@utils/helpers.js\";\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\n\r\nexport default function MapPersonas(props) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst myRef = useRef(null);\r\n\tconst { search } = useLocation()\r\n\tconst dispatch = useDispatch();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization.showSampleData);\r\n\tconst allPersonas = useSelector((state) => state.personas.all_personas);\r\n\tconst all_maps = useSelector((state) => state.maps.all_maps);\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\tconst folderId = search.getFolderId()\r\n\r\n\tconst [allPersonaBase, setAllPErsonaBase] = useState(allPersonas);\r\n\tconst personas = getActivePersona(allPersonas, showSampleData).sortAsc(\"name\");\r\n\tconst [showAnimation, setShowAnimation] = React.useState(true);\r\n\tconst [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\tconst [showWaveAnimation, setShowWaveAnimation] = React.useState(false);\r\n\tconst [isCreating, setIsCreating] = useState(false);\r\n\tconst handleChange = (e) => {\r\n\t\tsetGlobalFilterValue(e.target.value);\r\n\t};\r\n\r\n\tconst Search = SearchBar({ globalFilterValue, handleChange, height: 40 });\r\n\tuseEffect(() => {\r\n\t\tif (allPersonaBase.length !== allPersonas.length) {\r\n\t\t\tconst newId = allPersonas[allPersonas.length - 1]?.personaId;\r\n\t\t\tprops.setNewMap({ ...props.newMap, personaId: newId });\r\n\t\t\thandleFocus();\r\n\t\t\tsetAllPErsonaBase(allPersonas);\r\n\t\t}\r\n\t}, [allPersonas]);\r\n\r\n\tconst selectPersonas = (id) => {\r\n\t\tprops.setNewMap({ ...props.newMap, personaId: id });\r\n\t};\r\n\tconst create = () => {\r\n\t\tif (props.newMap.name.length === 0) {\r\n\t\t\ttoast.info(t(\"WARNING_MAP_NAME\"));\r\n\t\t\treturn props.previousStep();\r\n\t\t}\r\n\t\tif (props.newMap.personaId === EMPTY_GUID) {\r\n\t\t\treturn toast.info(t(\"WARNING_PERSONA\"));\r\n\t\t}\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\tupdateFolderLinks({\r\n\t\t\t\tfolderIds: [folderId], idsToLink: [data.cjmId], entityName: \"cem_customerjourney\",\r\n\t\t\t\tonSuccess: () => history.push(`/journey-map${folderId ? `?folderId=${folderId}` : \"\"}${cxProgramId ? `&cxProgramId=${cxProgramId}` : ''}`)\r\n\t\t\t});\r\n\t\t\tsetIsCreating(false)\r\n\t\t}\r\n\t\tsetIsCreating(true)\r\n\t\tdispatch(resetCurrentMap());\r\n\t\tconst SetCreationCJMParams = createAction(\"SET_CREATION_CJM_PARAMS\")\r\n\t\tdispatch(SetCreationCJMParams(props.newMap))\r\n\r\n\t\tcreateJourneyMap({\r\n\t\t\tnewMap: {\r\n\t\t\t\t...props.newMap,\r\n\t\t\t\tlinkToCxProgramId: cxProgramId.isEmptyString() ? undefined : cxProgramId\r\n\t\t\t},\r\n\t\t\tgoToMap: folderId ? false : true,\r\n\t\t\thistory: history,\r\n\t\t\tonSuccess: folderId ? onSuccess : null\r\n\t\t});\r\n\r\n\t};\r\n\r\n\tconst handleFocus = () => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tmyRef.current?.scrollIntoView();\r\n\t\t}, 100);\r\n\t};\r\n\r\n\tconst MagicSelect = () => {\r\n\t\tsetShowWaveAnimation(true);\r\n\t\tsetShowAnimation(false);\r\n\t\tconst pers = personas.map((p) => {\r\n\t\t\treturn { ...p, linkedCjms: GetActiveCJM(p.linkedCjms, all_maps) };\r\n\t\t});\r\n\t\tconst mostCompleteMap = pers.reduce((prev, current) => {\r\n\t\t\treturn prev.associatedContactsCount + prev.linkedCjms.length > current.associatedContactsCount + current.linkedCjms.length ? prev : current;\r\n\t\t});\r\n\t\tsetTimeout(() => {\r\n\t\t\tsetShowWaveAnimation(false);\r\n\t\t\tprops.setNewMap({ ...props.newMap, personaId: mostCompleteMap.personaId });\r\n\t\t\thandleFocus();\r\n\t\t}, 1000);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(\"ARROW_LEFT\", \"me-1\")}\r\n\t\t\t\t{t(\"ASPX_132\")}\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{t(\"ADDING_PERSONAS\")}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{t(personas.length === 0 ? \"NO_PERSONAS_WARNING\" : \"STEP3_SUBTITLE\")}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{Search}
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{personas\r\n\t\t\t\t\t?.filter((perso) => perso.name.toLowerCase().includes(globalFilterValue.toLowerCase()))\r\n\t\t\t\t\t?.map((persona, index) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"WAND\")}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"CREATE_JOURNEY_MAP\")}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\n\r\n\r\n\r\n","import React, { useState } from \"react\";\r\nimport StepWizard from \"react-step-wizard\";\r\nimport * as Style from \"../creation/Style.js\";\r\nimport { useAsync } from \"shared/hooks/index\";\r\nimport { getAllMapsListData, getAllPersonas } from \"@redux/index.js\";\r\nimport MapType from \"../creation/MapType.js\";\r\nimport MapName from \"../creation/MapName.js\";\r\nimport MapPersonas from \"../creation/MapPersonas.js\";\r\nimport { createDefaultMap } from \"@utils/helpers.js\";\r\n\r\nlet custom = {\r\n\tenterRight: \"your custom css transition classes\",\r\n\tenterLeft: \"your custom css transition classes\",\r\n\texitRight: \"your custom css transition classes\",\r\n\texitLeft: \"your custom css transition classes\",\r\n\tintro: \"your custom css transition classes\",\r\n};\r\n\r\nexport default function JourneyMapCreation() {\r\n\tconst query = new URLSearchParams(window.location.search.toLowerCase());\r\n\tconst isTemplate = query.get(\"istemplate\") === \"true\";\r\n\tconst folderId = query.get(\"folderid\");\r\n\r\n\tconst [newMap, setNewMap] = useState(createDefaultMap(isTemplate));\r\n\tuseAsync({ asyncFn: getAllMapsListData });\r\n\tuseAsync({ asyncFn: getAllPersonas });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { getAllFoldersFn, getOrganizationFn } from \"@redux/index\";\r\nimport { encode, isGUID } from \"@utils/helpers\";\r\nimport Cookies from \"js-cookie\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { clearPersistedIndexedDB } from \"redux/helpers\";\r\nimport { base } from \"redux/store\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { updateAllStoresStates } from \"shared/hooks/useNetworkStatus\";\r\nimport { GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { authenticate } from \"../reducer/AuthActions\";\r\n\r\nexport default function Authentication(props) {\r\n\tconst history = useHistory();\r\n\tconst { t } = useTranslation();\r\n\tconst dispatch = useDispatch();\r\n\tconst targetUrl = props.location.search?.getTargetUrl();\r\n\tconst authProps = props.location.search?.getAuthenticationProperties();\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst error = useSelector((state) => state.auth?.error);\r\n\tconst hasRun = useRef(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!hasRun.current) {\r\n\r\n\t\t\tCookies.remove(\"Authorization-cemantica\");\r\n\t\t\tclearPersistedIndexedDB()\r\n\r\n\t\t\tif (authProps.userName && authProps.orgName && authProps.secret) {\r\n\t\t\t\tsetLoading(true);\r\n\t\t\t\tauthenticate({\r\n\t\t\t\t\tbody: authProps,\r\n\t\t\t\t\tonSuccess: (data) => {\r\n\t\t\t\t\t\tconst baseUrl = base.split(\"/\").filter(Boolean);\r\n\t\t\t\t\t\tconst target = targetUrl ? targetUrl.startsWith(\"/\") ? targetUrl : `/${targetUrl}` : null;\r\n\t\t\t\t\t\tif(data.userInfo?.redirectUrl?.length > 10) {\r\n\t\t\t\t\t\t\twindow.location.href = data.userInfo.redirectUrl;\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t\t\tif (!isGUID(baseUrl[1])) {\r\n\t\t\t\t\t\t\twindow.location.href = `/${baseUrl[0]}/${data.userInfo.defaultWorkspaceId}${target || \"/home\"}`;\r\n\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tgetOrganizationFn();\r\n\t\t\t\t\t\t\tgetAllFoldersFn();\r\n\t\t\t\t\t\t\tupdateAllStoresStates(dispatch);\r\n\r\n\t\t\t\t\t\t\thistory.push(target || \"/home\");\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonFailed: (error) => {\r\n\t\t\t\t\t\tconst message = error?.data || error?.response?.data;\r\n\t\t\t\t\t\tconst status = error?.status || error?.response?.status;\r\n\t\t\t\t\t\tif (status === 403) {\r\n\t\t\t\t\t\t\treturn history.push(\"/invalid-workspace?statusCode=1\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn history.push(`/invalid-url?type=${encode(message)}`);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsetLoading,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\thistory.push(\"/logout?force=true\");\r\n\t\t\t}\r\n\t\t\thasRun.current = true;\r\n\t\t}\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [authProps, history, targetUrl]);\r\n\r\n\tconst displayError = () => {\r\n\t\tif (error === \"Your subscription plan has expired\")\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"SUBSCRIPTION-END\", \"m-3 mt-0 mb-5\")}\r\n\t\t\t\t\t{t(\"CS_19\") + \"... \"}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"EXTEND_NOW\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(\"EXCLAMATION\", \"me-1\")}\r\n\t\t\t\t{t(error)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst handleSubscrClick = (e) => {\r\n\t\te.preventDefault();\r\n\t\treturn window.open(\"https://www.cemantica.com/Pricing\");\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{loading && }\r\n\t\t\t{error &&
{displayError()}
}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport const CustomContainer = styled.h1`\r\n\twidth: 50% !important;\r\n\ttext-align: center;\r\n`;\r\n\r\nconst ExpirationEndedText = styled.div`\r\n\tcolor: #333333 !important;\r\n\tfont-size: 20px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-self: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\ttext-align: center;\r\n\tcolor: #014f76;\r\n\tmargin-bottom: 2rem;\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\n\r\nexport default function InvalidPage() {\r\n\tconst { t } = useTranslation();\r\n\tconst {pathname,search} = useLocation();\r\n\tconst errorMessage = search.getErrorMessages()\r\n\tconst label = pathname === \"/invalid-url\" ? \"INVALID_URL\" : \"AUTHENTICATION_ERROR\";\r\n\treturn (\r\n\t\t
\r\n\t\t\t{IconDispatcher(\"LOG-OUT\", \"m-3 mt-0 mb-5\", { style: \"light\" })}\r\n\t\t\t{errorMessage && errorMessage !== 'undefined' ? errorMessage : t(label) }\r\n\t\t
\r\n\t);\r\n}\r\nconst WrapperImg = styled.div`\r\n\tsvg {\r\n\t\theight: 150px;\r\n\t}\r\n`;\r\nexport const CustomContainer = styled.div`\r\n\twidth: 50% !important;\r\n\ttext-align: center;\r\n\tfont-size: 20px;\r\n`;\r\n","import { useEffect } from 'react';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { Spinner } from 'shared/components/spinners/Spinner';\r\nimport { getLoginUrl } from '../reducer/AuthActions';\r\n\r\nexport default function Authenticate() {\r\n\r\n const location = useLocation();\r\n const history = useHistory();\r\n const envName = window.location.pathname.split('/')[1];\r\n const targetPage = location.search?.getTargetUrl() || '';\r\n useEffect(() => {\r\n if (envName.length === 0) {\r\n return history.push('/invalid-url')\r\n }\r\n getLoginUrl({ envName, targetPage , onSuccess: (response) => {\r\n if (response) {\r\n window.location.href = response\r\n }\r\n }\r\n })\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n <>\r\n )\r\n}\r\n","import { useTranslation } from 'react-i18next';\r\nimport styled from 'styled-components/macro'\r\nimport { IconDispatcher } from 'shared/ui-basics/index';\r\nimport { Logout as ActionLogout } from '../reducer/AuthActions';\r\nimport { useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nconst Logout = (props) => {\r\n\r\n const {t} = useTranslation()\r\n const dispatch = useDispatch()\r\n const query = new URLSearchParams(props.location.search)\r\n const force = query.get('force')=== 'true'\r\n const auto = query.get('auto')=== 'true'\r\n useEffect(()=>{\r\n dispatch(ActionLogout())\r\n },[dispatch])\r\n return (\r\n
\r\n \r\n {IconDispatcher(\"LOG-OUT\", 'm-3 mt-0 mb-5')}\r\n \r\n \r\n {t(auto ? \"LOGOUT_AUTO\": force ? \"LOGOUT_FORCE\" : \"LOGOUT_SUCCESS\")}\r\n \r\n
)\r\n}\r\nconst WrapperImg=styled.div`\r\nsvg {\r\n height:150px;\r\n}`\r\nexport const CustomContainer = styled.div `\r\n width: 50% !important;\r\n text-align: center;\r\n font-size: 20px;\r\n`\r\nexport default Logout;\r\n","export default __webpack_public_path__ + \"static/media/login-page-background.3338702b.png\";","export default __webpack_public_path__ + \"static/media/logo-final-cem.79d1bdaf.svg\";","\r\nimport Form from 'react-bootstrap/Form';\r\nimport styled from 'styled-components/macro';\r\n\r\nexport const Container = styled.div`\r\n height: 100vh;\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n `\r\nexport const SVG = styled.img`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100vh;\r\n width: 100%;\r\n transform: scale(1.07);\r\n z-index: 2;\r\n\r\n `\r\nexport const Logo = styled.img`\r\n position: absolute;\r\n top: 30px;\r\n left:32px;\r\n z-index: 3;\r\n\r\n`\r\nexport const LoginModal = styled.div`\r\nborder-radius: 10px;\r\nbackground: #FFF;\r\nbox-shadow: 1px 4px 4px 0px rgba(0, 0, 0, 0.25), -1px -1px 4px 0px rgba(0, 0, 0, 0.25);\r\nwidth: 540px;\r\nheight: 410px;\r\nflex-shrink: 0;\r\nz-index: 3;\r\ndisplay: flex;\r\nflex-direction: column;\r\ngap: 20px;\r\npadding: 2rem;\r\n`\r\nexport const Forms = styled(Form)`\r\ndisplay: flex;\r\nflex-direction: column;\r\ngap: 20px;\r\n`\r\nexport const Title = styled.div`\r\ncolor: #3F3D56;\r\n\r\nfont-family: Inter;\r\nfont-size: 24px;\r\nfont-style: normal;\r\nfont-weight: 600;\r\nline-height: normal;\r\n`\r\nexport const Description = styled.div`\r\ncolor: #3F3D56;\r\n\r\nfont-family:Inter;\r\nfont-size: 20px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: normal;\r\n`\r\nexport const Label = styled(Form.Label)`\r\ncolor: #3F3D56;\r\n\r\nfont-family: Inter;\r\nfont-size: 14px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: normal;\r\n`\r\nexport const LayoutAuth = styled.div`\r\ndisplay: flex;\r\nflex-direction: column;\r\ngap: ${props => props.gap}px;\r\n`\r\nexport const ButtonForgetPassword = styled.div`\r\ncolor: #3F3D56;\r\ntext-decoration: underline;\r\ntext-underline-offset: 6px;\r\ntext-decoration-thickness: 1px; /* Thickness of the underline */\r\nfont-size: 14px;\r\nline-height: 24px;\r\nfont-weight: 400;\r\ncursor: pointer;\r\n`\r\nexport const DescResetPassword = styled.span`\r\ncolor: #3F3D56;\r\nfont-family:Inter;\r\nfont-size: 12px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 150%; /* 18px */\r\n`\r\nexport const ResetModal = styled.div`\r\nborder-radius: 10px;\r\nbackground: #FFF;\r\nbox-shadow: 1px 4px 4px 0px rgba(0, 0, 0, 0.25), -1px -1px 4px 0px rgba(0, 0, 0, 0.25);\r\nwidth: 540px;\r\nheight: 354px;\r\nflex-shrink: 0;\r\nz-index: 3;\r\ndisplay: flex;\r\nflex-direction: column;\r\ngap: 24px;\r\npadding: 2rem;\r\n`\r\nexport const Contact = styled.a`\r\ntext-decoration: underline;\r\ncolor: #3F3D56;\r\n`","import { useState } from 'react';\r\n\r\nimport { encode } from \"@utils/helpers\";\r\nimport { Alert, InputGroup } from 'react-bootstrap';\r\nimport Form from 'react-bootstrap/Form';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Spinner } from 'reactstrap';\r\nimport { GenericButton } from 'shared/ui-basics/buttons';\r\nimport { FlexBetweenAlignCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { encryptPassword, validateEmail, validatePassword } from '../helpers';\r\nimport { login } from \"../reducer/AuthActions\";\r\nimport { ButtonForgetPassword, Description, Forms, Label, LayoutAuth, LoginModal, Title } from '../view/auth-style';\r\n\r\nconst LoginStep = (props) => {\r\n\r\n const { t } = useTranslation()\r\n\r\n const [errors, setErrors] = useState({ email: '', password: '' });\r\n const [globalError, setGlobalError] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const targetPage = useLocation().search.getTargetUrl();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n setGlobalError('');\r\n\r\n const formValues = new FormData(e.currentTarget);\r\n const { email, password } = Object.fromEntries(formValues.entries())\r\n\r\n const isValidEmail = validateEmail(email);\r\n const isValidPassword = validatePassword(password);\r\n\r\n setErrors({\r\n email: isValidEmail ? '' : 'Invalid email',\r\n password: isValidPassword ? '' : 'Password should be at least 6 characters long',\r\n });\r\n\r\n if (isValidEmail && isValidPassword) {\r\n const callbacks = {\r\n onSuccess: (response) => {\r\n if (response?.startsWith('https://')) {\r\n window.location.href = response;\r\n }\r\n setLoading(false);\r\n },\r\n onFailed: ({ response }) => {\r\n\r\n setGlobalError(response?.data === \"Invalid credentials\" ? t(\"INVALID_CREDENTIALS\") : response?.data);\r\n setLoading(false);\r\n }\r\n }\r\n const tgtUrl = targetPage ? encode(targetPage) : null;\r\n setLoading(true);\r\n login({ email, password: encryptPassword(password), tgtUrl, ...callbacks });\r\n\r\n\r\n }\r\n };\r\n\r\n return \r\n \r\n {t('LOGIN')}\r\n {t('LOGIN_DESCRIPTION')}\r\n \r\n \r\n \r\n \r\n \r\n {errors.email} \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.password} \r\n \r\n \r\n
\r\n {globalError && \r\n
{IconDispatcher(\"triangle-exclamation\", \"\", { style: \"solid\", color: \"#D50000\" })}
\r\n
{globalError}
\r\n
}\r\n
\r\n \r\n props.nextStep()}>{t('FORGET_PASSWORD')}\r\n \r\n {loading && }\r\n {t('SUBMIT')}\r\n \r\n
\r\n
\r\n
\r\n}\r\nexport default LoginStep;","import { useState } from 'react';\r\n\r\nimport { InputGroup } from 'react-bootstrap';\r\nimport Form from 'react-bootstrap/Form';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { toast } from \"react-toastify\";\r\nimport { GenericButton } from 'shared/ui-basics/buttons';\r\nimport { validateEmail } from '../helpers';\r\nimport { resetPassword } from \"../reducer/AuthActions\";\r\nimport { ButtonForgetPassword, Contact, DescResetPassword, Forms, Label, LayoutAuth, ResetModal, Title } from '../view/auth-style';\r\nimport { FlexBetweenAlignCenter } from \"shared/ui-basics/index\";\r\n\r\nconst ResetStep = (props) => {\r\n\r\n const { t } = useTranslation()\r\n const [errors, setErrors] = useState({ email: '' });\r\n const [loading, setLoading] = useState(false);\r\n\r\n const onSuccess = (response) => {\r\n if (response) {\r\n toast.info(t(\"RESET_PASSWORD_EMAIL_SENT\"))\r\n props.previousStep()\r\n } else if (response === false) {\r\n setErrors({ email: t(\"RESET_PASSWORD_EMAIL_NOT_SENT\") });\r\n }\r\n }\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n const formValues = new FormData(e.currentTarget);\r\n const { email } = Object.fromEntries(formValues.entries())\r\n const isValidEmail = validateEmail(email);\r\n\r\n if (!isValidEmail) return setErrors({ email: 'Invalid email' });\r\n\r\n setErrors({ email: '' });\r\n resetPassword({ email, setLoading, onSuccess });\r\n };\r\n\r\n return \r\n \r\n {t('FORGET_PASSWORD')}\r\n \r\n \r\n \r\n \r\n \r\n {errors.email} \r\n \r\n \r\n
\r\n
\r\n {t(\"DESC_RESET_PASSWORD\")}\r\n
\r\n
\r\n \r\n {t(\"DESC_RESET_PASSWORD_2\")}\r\n support@cemantica.com\r\n \r\n
\r\n
\r\n \r\n props.previousStep()}>{t('LOGIN')}\r\n {t('RESET_PASSWORD')}\r\n \r\n
\r\n
\r\n
\r\n}\r\nexport default ResetStep;","import loginPage from \"@Assets/images/login-page-background.png\";\r\nimport CEM from \"@Assets/images/logo-final-cem.svg\";\r\n\r\nimport StepWizard from \"react-step-wizard\";\r\nimport LoginStep from \"../components/LoginStep\";\r\nimport ResetStep from \"../components/ResetStep\";\r\nimport { Container, SVG ,Logo} from \"./auth-style\";\r\n\r\nexport default function LoginPage() {\r\n\r\n let custom = { enterRight: \"\", enterLeft: \"\", exitRight: \"\", exitLeft: \"\", intro: \"\", };\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n}\r\n","import { FilterItemsByStatus } from \"@utils/helpers\";\r\nimport { Column } from \"primereact/column\";\r\nimport { forwardRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport DataTable from \"../DataTable\";\r\nimport * as Style from \"../columns-components/Styles\";\r\n\r\nconst GroupByMap = forwardRef(() => {\r\n\tconst { t } = useTranslation();\r\n\tconst pathname = useLocation().pathname;\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\r\n\tconst maps = useSelector((state) =>\r\n\t\tstate.maps.all_maps?.filter((map) =>\r\n\t\t\tstate.actions.all_actions?.filter((action) => FilterItemsByStatus(action, pathname, \"/cx-actions\", showSampleData))?.find((action) => action.linkedCjms[map.cjmId] !== undefined)\r\n\t\t)\r\n\t);\r\n\r\n\tconst [expandedRows, setExpandedRows] = useState(null);\r\n\r\n\tconst RowExpansionTemplate = (data) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst allowExpansion = (rowData) => {\r\n\t\treturn true || rowData?.orders?.length > 0;\r\n\t};\r\n\tconst onRowClick = (cjmId) => {\r\n\t\tif (expandedRows?.includes(cjmId)) return setExpandedRows([]);\r\n\t\tsetExpandedRows([cjmId]);\r\n\t};\r\n\r\n\treturn (\r\n\t\t maps?.find((map) => map.cjmId === id))}\r\n\t\t\tonRowClick={(e) => onRowClick(e.data?.cjmId)}\r\n\t\t\tonRowToggle={(e) => {\r\n\t\t\t\tonRowClick(e.data[0]?.cjmId);\r\n\t\t\t}}\r\n\t\t\tresponsiveLayout=\"scroll\"\r\n\t\t\trowExpansionTemplate={RowExpansionTemplate}\r\n\t\t\tdisablefixheader=\"true\">\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\nGroupByMap.displayName = \"GroupByMap\";\r\nexport { GroupByMap };\r\n","import { getAllCxAction, getAllMapsListData } from \"@redux/index\";\r\nimport { getFolderById } from \"@redux/memoizedSelectors\";\r\nimport { GroupByMap } from \"features/grid-table/components/GroupByMap.js\";\r\nimport DataTable from \"features/grid-table/DataTable\";\r\nimport React, { useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\n\r\nexport default function CxActions() {\r\n\tconst { t } = useTranslation();\r\n\tconst { search } = useLocation();\r\n\tconst hideForPdf = search.hideForPdf();\r\n\tconst folderId = search.getFolderId();\r\n\tconst folderView = folderId === undefined ? false : true;\r\n\tconst { linkedActions } = useSelector((state) => getFolderById(state, folderId), shallowEqual);\r\n\tconst [key, setKey] = React.useState(\"list\");\r\n\r\n\r\n\tuseEffect(() => {\r\n\t\tif (folderView) {\r\n\t\t\tsetKey(\"list\");\r\n\t\t}\r\n\t}, [folderView]);\r\n\r\n\r\n\r\n\tconst isShowViewButtons = () => {\r\n\t\tif (hideForPdf || folderView) return false;\r\n\t\treturn true;\r\n\t};\r\n\r\n\tconst renderViewButtons = (t) => {\r\n\t\tif (!isShowViewButtons()) return <>;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t handleKeys(\"list\")} />\r\n\t\t\t\t handleKeys(\"byMap\")} />\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderView = () => {\r\n\t\tswitch (key) {\r\n\t\t\tcase \"list\":\r\n\t\t\t\treturn ;\r\n\t\t\tcase \"byMap\":\r\n\t\t\t\treturn ;\r\n\t\t\tdefault:\r\n\t\t\t\treturn <>;\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleKeys = (name) => {\r\n\t\tsetKey(name);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{renderView()}\r\n\t\t\r\n\t);\r\n}\r\n","import { getSessionId } from '@redux/memoizedSelectors';\r\nimport { getterApis } from '@utils/optionsSets/getterApis';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport styled from 'styled-components/macro';\r\nimport Personas from '../../../../features/grid-table/columns-components/Personas';\r\nimport CustomTooltip from '../../CustomTooltip';\r\n\r\n\r\nexport function GenericCard({ item, filterParams, filterAttribute, handleFilterChange }) {\r\n const tooltipRef = useRef(null);\r\n const [isEllipsisActive, setIsEllipsisActive] = useState(false);\r\n\r\n useEffect(() => {\r\n if (tooltipRef?.current?.offsetWidth < tooltipRef?.current?.scrollWidth) {\r\n setIsEllipsisActive(true);\r\n }\r\n }, [tooltipRef?.current]);\r\n\r\n return (\r\n \r\n handleFilterChange(filterAttribute, item?.id)}>\r\n \r\n { }} />\r\n \r\n {filterAttribute === \"statusIds\" && }\r\n {item?.name}\r\n \r\n \r\n )\r\n}\r\n\r\nconst GenericCardWrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n width: 100%;\r\n height: 38px;\r\n border: 1px solid #C4C4C4;\r\n border-radius: 4px;\r\n :hover {\r\n cursor: pointer;\r\n }\r\n input[type=\"checkbox\"] {\r\n accent-color: #333333;\r\n width: 15px !important;\r\n height: 15px !important;\r\n }\r\n`\r\n\r\nconst InputWrapper = styled.div`\r\n width: 5%;\r\n`\r\n\r\nconst ColoredBox = styled.div`\r\n width: 28px;\r\n height: 28px;\r\n border-radius: 4px;\r\n background: ${props => props.color};\r\n`\r\n\r\nconst ItemName = styled.div`\r\n font-weight: 400;\r\n font-size: 14px;\r\n line-height: 150%;\r\n color: #000000;\r\n align-self: center;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n`\r\n\r\nexport function MapCard({ map, filterParams, handleFilterChange }) {\r\n const tooltipRef = useRef(null);\r\n const [isEllipsisActive, setIsEllipsisActive] = useState(false);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\r\n const mapCustomImageUrl = getterApis['GET_MAP_CUSTOM_IMG'](map.cjmId, sessionId)\r\n const [mapImage, setMapImage] = useState(mapCustomImageUrl + `&${Math.random()}=true`)\r\n\r\n useEffect(() => {\r\n if (tooltipRef?.current?.offsetWidth < tooltipRef?.current?.scrollWidth) {\r\n setIsEllipsisActive(true);\r\n }\r\n }, [tooltipRef?.current]);\r\n\r\n return (\r\n \r\n handleFilterChange(\"mapIds\", map?.cjmId)}>\r\n \r\n { }} />\r\n \r\n \"\"\r\n \r\n {Personas(map, 1, 26)}\r\n \r\n {map?.name}\r\n \r\n \r\n )\r\n}\r\n\r\nconst PersonaWrapper = styled.div`\r\n`\r\n\r\nconst Image = styled.img`\r\n max-height: 30px;\r\n max-width: 30px;\r\n`\r\n","import React, { useState } from 'react'\r\nimport styled from 'styled-components/macro'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useSelector } from 'react-redux'\r\nimport { GenericButton, PrimeInput } from 'shared/ui-basics/index'\r\nimport { GenericCard, MapCard } from './ChartFilterCards'\r\n\r\n\r\nexport function ChartFilter({items, statuses, filterParams, handleFilterChange, handleResetFilter}){\r\n const {t} = useTranslation()\r\n\r\n const groups = useSelector(state => state.libraries.group)\r\n const allMaps = useSelector((state) => state.maps.all_maps)\r\n\r\n // We use only the map related to a solution/opportunity\r\n const mapsIdsRelatedToItem = [...new Set(items.map(item => Object.keys(item.linkedCjms || {})).flat())]\r\n const mapsRelatedToItem = allMaps.filter(map => mapsIdsRelatedToItem.includes(map.cjmId))\r\n\r\n const [searchValue, setSearchValue] = useState('');\r\n const [filteredMaps, setFilteredMaps] = useState(mapsRelatedToItem);\r\n\r\n const handleSearchChange = e => {\r\n const value = e.target.value\r\n setSearchValue(value)\r\n if (!value) setFilteredMaps(mapsRelatedToItem)\r\n else setFilteredMaps(mapsRelatedToItem.filter(map => map?.name?.toLowerCase().includes(value.toLowerCase())))\r\n }\r\n\r\n return (\r\n \r\n
{t('FILTER_BY')}
\r\n \r\n \r\n \r\n \r\n {statuses?.map(status => )}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {groups?.map(group => )}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {filteredMaps?.map(map => )}\r\n \r\n \r\n
\r\n Clear All\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nconst FilterWrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n width: 500px;\r\n height: 600px;\r\n box-shadow: -2px -2px 4px rgba(0, 0, 0, 0.25), 2px 2px 4px rgba(0, 0, 0, 0.25);\r\n border-radius: 4px;\r\n`\r\n\r\nconst Header = styled.div`\r\n font-weight: 400;\r\n font-size: 20px;\r\n color: #605F60;\r\n`\r\n\r\nconst StatusAndGroup = styled.div`\r\n display: flex;\r\n gap: 20px;\r\n`\r\n\r\nconst JourneyMaps = styled.div`\r\n`\r\n\r\nconst Status = styled.div`\r\n flex: 1 1 0;\r\n width: 0;\r\n`\r\n\r\nconst GenericList = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 5px;\r\n max-height: 180px;\r\n overflow: scroll;\r\n`\r\n\r\nconst Group = styled.div`\r\n flex: 1 1 0;\r\n width: 0;\r\n`\r\n\r\nconst Label = styled.div`\r\n font-weight: 400;\r\n font-size: 14px;\r\n color: #605F60;\r\n margin-bottom: 16px;\r\n`\r\n\r\nconst Search = styled.div`\r\n width: 100%;\r\n`\r\n\r\nconst Footer = styled.div`\r\n\r\n`\r\n\r\n","import React from \"react\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\n\r\nexport function OneRow({ scale, halfYAxisSquare, baseUnit, isDoubleWidth }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{Array.from(Array(scale.length - 1)).map((empty, idx) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function XAxis({ scale, baseUnit, title }) {\r\n\tconst { t } = useTranslation();\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{scale.map((idx) => (\r\n\t\t\t\t\t{idx}\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
{t(title)}
\r\n\t\t\t\t
{IconDispatcher(\"ARROW_RIGHT\", \"ms-2\")}
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport function YAxis({ scale, baseUnit, title, yAxisPosLeft = \"-150\", yAxisPosBottom = \"-8\", yAxisTitlePos = \"20\" }) {\r\n\tconst { t } = useTranslation();\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{t(title)}
\r\n\t\t\t\t\t
{IconDispatcher(\"ARROW_RIGHT\", \"ms-2\")}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{scale.map((idx) => (\r\n\t\t\t\t\t{scale[scale.length - 1] - idx}\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst Row = styled.div`\r\n\tdisplay: flex;\r\n`;\r\n\r\nconst XAxisTitle = styled.div`\r\n\tdisplay: flex;\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tcolor: #8c8c8c;\r\n`;\r\n\r\nconst YAxisWrapper = styled.div`\r\n\tposition: absolute;\r\n\tdisplay: flex;\r\n\talign-items: flex-end;\r\n\tleft: ${(props) => props.yaxisposleft}px;\r\n\tbottom: ${(props) => props.yaxisposbottom}px;\r\n`;\r\n\r\nconst YAxisTitle = styled.div`\r\n\tposition: relative;\r\n\twidth: 20px;\r\n\t/* margin-bottom: ${(props) => props.yaxistitlepos}px; */\r\n`;\r\n\r\nconst Test = styled.div`\r\n\tdisplay: flex;\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tcolor: #8c8c8c;\r\n\tposition: absolute;\r\n\ttransform: rotate(-90deg);\r\n\tleft: -70px;\r\n bottom: 71px;\r\n width: 150px;\r\n\r\n`;\r\n\r\nconst XAxisWrapper = styled.div`\r\n\tposition: absolute;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 10px;\r\n\tleft: -12px;\r\n\tbottom: -70px;\r\n`;\r\n\r\nconst XScale = styled.div`\r\n\tdisplay: flex;\r\n\tgap: ${(props) => props.baseUnit - 26}px;\r\n`;\r\n\r\nconst YScale = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: ${(props) => props.baseUnit - 18}px;\r\n`;\r\n\r\nconst Square = styled.div`\r\n\tborder-top: 1px solid #eeeeee;\r\n\tborder-left: 1px solid #eeeeee;\r\n\tborder-bottom: 1px solid #eeeeee;\r\n\theight: ${(props) => props.baseUnit}px;\r\n\twidth: ${(props) => props.baseUnit}px;\r\n\r\n ${props => props.isDoubleWidth && css`\r\n width: ${(props) => props.baseUnit * 2}px;\r\n `}\r\n\r\n\t${(props) =>\r\n\t\tprops.lastSquare &&\r\n\t\t`\r\n border-right: 1px solid #EEEEEE;\r\n `}\r\n\r\n\t${(props) =>\r\n\t\tprops.axis &&\r\n\t\t`\r\n border: none;\r\n `}\r\n\r\n ${(props) =>\r\n\t\tprops.halfXAxisSquare &&\r\n\t\t`\r\n border-left: 1px solid #605F60;\r\n `}\r\n\r\n ${(props) =>\r\n\t\tprops.halfYAxisSquare &&\r\n\t\t`\r\n border-bottom: 1px solid #605F60;\r\n `}\r\n`;\r\n\r\nconst Unit = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\twidth: 26px;\r\n\theight: 18px;\r\n\tbackground: #ffffff;\r\n\tfont-weight: 400;\r\n\tfont-size: 12px;\r\n\tline-height: 15px;\r\n\tcolor: #8c8c8c;\r\n`;\r\n","import { getDefaultName } from \"@utils/helpers\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport CustomTooltip from \"../CustomTooltip\";\r\n\r\nfunction GroupCard({ item, handleShowModal }) {\r\n\tconst location = useLocation();\r\n\tconst pathname = location.pathname;\r\n\r\n\tconst allStatus = useSelector((state) => state.libraries?.status);\r\n\tconst solutionsStatus = allStatus?.solutions;\r\n\tconst statusColor = solutionsStatus?.filter((status) => status.id === item?.statusId).colorCode;\r\n\r\n\tconst labelRef = useRef(null);\r\n\tconst [isEllipsisActive, setIsEllipsisActive] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (labelRef?.current?.offsetWidth < labelRef?.current?.scrollWidth) {\r\n\t\t\tsetIsEllipsisActive(true);\r\n\t\t}\r\n\t}, [labelRef?.current]);\r\n\r\n\tconst handleClick = () => {\r\n\t\thandleShowModal(item.id);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{item?.name.defaultPlaceholder(getDefaultName(pathname))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport const GroupPointSelector = ({ isOpen, onClose, items, handleShowModal }) => {\r\n\tconst location = useLocation();\r\n\tconst hideForPdf = location.search.hideForPdf();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{items.map((item) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst GroupPoint = styled.div`\r\n\tz-index: 5000;\r\n\tmin-height: 38px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 8px;\r\n\t${(props) =>\r\n\t\t!props.ispdf &&\r\n\t\tcss`\r\n\t\t\tmax-height: 200px;\r\n\t\t\toverflow: scroll;\r\n\t\t`}\r\n`;\r\n\r\nconst CardWrapper = styled.div`\r\n\twidth: 400px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-left: 6px solid ${(props) => props.statusColor};\r\n\tborder-radius: 4px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\r\n\tbackground-color: white;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t\tbox-shadow: 0px 1px 4px rgb(0 0 0 / 25%);\r\n\t}\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\ttext-align: center;\r\n\tcolor: #333333;\r\n\talign-self: center;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n","import { getDefaultName } from \"@utils/helpers\";\r\nimport EditOpportunity from \"features/opportunity/modals/edit-opportunity\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { useRef } from \"react\";\r\nimport { Badge } from \"react-bootstrap\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport CustomTooltip from \"../CustomTooltip\";\r\nimport { GroupPointSelector } from \"./GroupPointSelector\";\r\n\r\nexport function ChartPoint({ items, index, xCoordinate, yCoordinate, CustomPoint, modal, baseUnit, isDoubleWidth }) {\r\n\tconst location = useLocation();\r\n\tconst pathname = location?.pathname;\r\n\tconst hideForPdf = location.search.hideForPdf();\r\n\tconst refwrapper = useRef(null);\r\n\tconst op = useRef(null);\r\n\tconst isQuadrant = pathname === \"/solutions\";\r\n\tconst multiplier = isDoubleWidth ? 2 : 1;\r\n\tconst [showEditModal] = useModal(modal)\r\n\r\n\r\n\tconst handleClick = () =>{\r\n\t\tshowEditModal({ id: items[0].id, item: items[0] });\r\n\t}\r\n\r\n\tconst calculateXAxis = () => {\r\n if (xCoordinate) {\r\n\t\t\tif (isQuadrant) return xCoordinate * (baseUnit / 2);\r\n\t\t\treturn xCoordinate * baseUnit * multiplier;\r\n\t\t} return 0;\r\n\t};\r\n\r\n\tconst calculateYAxis = () => {\r\n\t\tif (yCoordinate) {\r\n\t\t\tif (isQuadrant) return yCoordinate * (baseUnit / 2);\r\n\t\t\treturn yCoordinate * baseUnit;\r\n\t\t} return 0;\r\n };\r\n\r\n\tconst handleShowModal = (id) => {\r\n\t\tshowEditModal({ id });\r\n\t}\r\n\tconst xAxis = calculateXAxis();\r\n const yAxis = calculateYAxis();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{items?.length === 1 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{hideForPdf && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{index + 1}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t op.current.toggle(e)} xCoordinate={xCoordinate} yCoordinate={yCoordinate} multiItems>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"PLUS\")}\r\n\t\t\t\t\t\t\t{items?.length}\r\n\t\t\t\t\t\t\t{hideForPdf && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{index + 1}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst BadgeWrapper = styled(Badge)`\r\n\tposition: absolute;\r\n\tbottom: 25px;\r\n\tright: -5px;\r\n`;\r\n\r\nconst ChartPointContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 42px;\r\n\theight: 42px;\r\n\tposition: absolute;\r\n\tz-index: 999;\r\n\tbottom: calc(-21px + ${(props) => props.yAxis}px + ${(props) => (props.multiItems ? 0 : 0)}px);\r\n\tleft: calc(-21px + ${(props) => props.xAxis}px + ${(props) => (props.multiItems ? 2 : 0)}px);\r\n`;\r\n\r\nconst MultiItemsPoint = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tposition: relative;\r\n`;\r\n","import React from \"react\";\r\nimport styled from \"styled-components/macro\";\r\nimport { OneRow, XAxis, YAxis } from \"shared/components/charts-components/ChartBuildingBlocks\";\r\nimport { Badge, Col, Row } from \"react-bootstrap\";\r\nimport { ChartPoint } from \"shared/components/charts-components/ChartPoint\";\r\nimport { GroupPointSelector } from \"shared/components/charts-components/GroupPointSelector\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { handleAddRenderElement } from \"@utils/helpers\";\r\n\r\nexport const Chart = ({ itemsByPosition, CustomPoint, CustomLabels, modal, xTitle, yTitle, scale, baseUnit, pdfRef, yAxisPosLeft, yAxisPosBottom, yAxisTitlePos, isDoubleWidth }) => {\r\n\tconst location = useLocation();\r\n\tconst hideForPdf = location.search.hideForPdf();\r\n\tconst isQuadrant = location.pathname === \"/solutions\";\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{hideForPdf &&
{handleAddRenderElement()}
}\r\n\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{Array.from(Array(scale.length - 1).keys()).map((index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\t{Object.entries(itemsByPosition)?.map((position, index) => {\r\n\t\t\t\t\tconst xCoordinate = position[0].split(\"|\")[0];\r\n\t\t\t\t\tconst yCoordinate = position[0].split(\"|\")[1];\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{CustomLabels && }\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Legend = ({ itemsByPosition, hideForPdf, pdfRef }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{Object.entries(itemsByPosition)?.map((position, index) => {\r\n\t\t\t\tconst items = position[1];\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{index + 1}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst ChartContainer = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\t${(props) =>\r\n\t\tprops.hideForPdf === true &&\r\n\t\t`\r\n margin-top: 50px;\r\n margin-left: 200px;\r\n `}\r\n`;\r\n\r\nconst LegendWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tposition: absolute;\r\n\tleft: 40px;\r\n\t${(props) => !props.hideForPdf && `visibility:hidden;`}\r\n`;\r\n\r\nconst StyledChart = styled.div`\r\n\tposition: relative;\r\n`;\r\n","import { calculateXScore, calculateYScore, FilterItemsByStatus, solutionTypeByCoordinates } from \"@utils/helpers\";\r\nimport { SolutionType } from \"@utils/optionsSets/OptionSets\";\r\nimport React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Chart } from \"shared/components/charts-components/Chart\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { BenefitCard } from \"../solutionsComponents/BenefitCard\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { getAllMapsList } from \"@redux/memoizedSelectors\";\r\nimport EditSolution from \"../modals/edit-solution\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\n\r\nexport const SolutionsQuadrant = ({ pdfRef, loading, filterParams, baseUnit }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { pathname } = useLocation();\r\n\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst all_maps = useSelector(getAllMapsList);\r\n\r\n\tconst solutionsData = useSelector(({ solutions }) => solutions.all_solutions.filter((opp) => FilterItemsByStatus(opp, pathname, \"/solutions\",showSampleData,all_maps)));\r\n\r\n\tconst getFilteredSolutions = () => {\r\n\t\treturn solutionsData.filter((solution) => {\r\n\t\t\tlet statusRes = false;\r\n\t\t\tlet mapRes = false;\r\n\t\t\tlet groupRes = false;\r\n\t\t\tconst groupsAtt = solution?.attributes?.find((attr) => attr.type === InformationType.Group)?.groups;\r\n\t\t\tconst statusId = solution?.attributes?.find((attr) => attr.type === InformationType.Status)?.statusId;\r\n\t\t\tif (filterParams?.statusIds.length === 0 || filterParams.statusIds.includes(statusId)) statusRes = true;\r\n\r\n\t\t\tif (filterParams?.mapIds.length === 0 || filterParams.mapIds.some((id) => Object.keys(solution.linkedCjms)?.includes(id))) mapRes = true;\r\n\t\t\tif (filterParams?.groupIds.length === 0 || filterParams.groupIds.filter((groupId) => groupsAtt?.includes(groupId))?.length > 0) groupRes = true;\r\n\r\n\t\t\treturn statusRes && mapRes && groupRes;\r\n\t\t});\r\n\t};\r\n\r\n \r\n\tconst getPositionning = () => {\r\n const actualSolutions = getFilteredSolutions();\r\n\t\tconst obj = {};\r\n\t\tactualSolutions.forEach((solution) => {\r\n\t\t\tconst strCoordinates = calculateXScore(solution) + \"|\" + calculateYScore(solution);\r\n\t\t\tif (strCoordinates in obj) obj[strCoordinates].push(solution);\r\n\t\t\telse obj[strCoordinates] = [solution];\r\n\t\t});\r\n\t\treturn obj;\r\n\t};\r\n\r\n\tconst solutionsByPositionCalc = getPositionning();\r\n\tconst solutionsByPosition = Object.keys(solutionsByPositionCalc)\r\n\t\t?.sort((a, b) => (Number(a.split(\"|\")[1]) < Number(b.split(\"|\")[1]) ? 1 : -1))\r\n\t\t.reduce((obj, key) => {\r\n\t\t\tobj[key] = solutionsByPositionCalc[key];\r\n\t\t\treturn obj;\r\n\t\t}, {});\r\n\r\n\tconst SolutionLabels = () => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\tsolutionsData?.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst SolutionChartPoint = styled.div`\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\tborder-radius: 50%;\r\n\ttransition: all 1.5s ease;\r\n\tbackground-color: #c4c4c4;\r\n color: #262626;\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tsolutionTypeByCoordinates(props.xCoordinate, props.yCoordinate) === SolutionType.QuickWin &&\r\n\t\tcss`\r\n\t\t\tbackground: #DBEAFE;\r\n\t\t\tborder: 1px solid #93C5FD;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tsolutionTypeByCoordinates(props.xCoordinate, props.yCoordinate) === SolutionType.ComplexProject &&\r\n\t\tcss`\r\n\t\t\tbackground: #FFEDD5;\r\n\t\t\tborder: 1px solid #FDBA74;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tsolutionTypeByCoordinates(props.xCoordinate, props.yCoordinate) === SolutionType.NiceToHave &&\r\n\t\tcss`\r\n\t\t\tbackground: #EDE9FE;\r\n\t\t\tborder: 1px solid #C4B5FD;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tsolutionTypeByCoordinates(props.xCoordinate, props.yCoordinate) === SolutionType.ToAvoid &&\r\n\t\tcss`\r\n\t\t\tbackground: #FEE2E2;\r\n\t\t\tborder: 1px solid #FCA5A5;\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.multiItems &&\r\n\t\tcss`\r\n\t\t\twidth: 40px;\r\n\t\t\theight: 40px;\r\n\t\t`}\r\n`;\r\n","import { createSolution, getAllMapsListData, getAllSolutions, getPdfExportSol } from \"@redux/index.js\";\r\nimport { getAllMapsList, getFolderById, getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { FilterItemsByStatus, emptyListData, isUserAllowed, toastWrapper } from \"@utils/helpers\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis.js\";\r\nimport DataTable from \"features/grid-table/DataTable.js\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { ChartFilter } from \"shared/components/charts-components/ChartFilter/ChartFilter.js\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate.js\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport { EmptyList } from \"shared/ui-basics/ui-components/EmptyList.jsx\";\r\nimport styled from \"styled-components/macro\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets.js\";\r\nimport { SolutionsQuadrant } from \"./solutions-quadriant.jsx\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nexport default function Solutions() {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst child = useRef(null);\r\n\tconst op = useRef(null);\r\n\tconst pdfRef = useRef();\r\n\tconst { pathname, search } = useLocation();\r\n\tconst history = useHistory();\r\n\r\n\tconst { statusIds, mapIds, groupIds, hideForPdf } = search.extractIdsChart();\r\n\tconst folderId = search.getFolderId();\r\n\tconst folderView = folderId === undefined ? false : true;\r\n\tconst tab = search?.getTab();\r\n\r\n\tconst all_maps = useSelector(getAllMapsList);\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\r\n\tconst solutions = useSelector(({ solutions }) => solutions.all_solutions.filter((opp) => FilterItemsByStatus(opp, pathname, \"/solutions\", showSampleData, all_maps)));\r\n\tconst userInfo = useSelector((state) => state.auth.userInfo);\r\n\tconst { linkedSols } = useSelector((state) => getFolderById(state, folderId), shallowEqual);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst logoRefreshValue = useSelector((state) => state.settings.organization?.logoRefreshValue);\r\n\r\n\tconst [key, setKey] = React.useState(hideForPdf ? \"chart\" : \"list\");\r\n\tconst [filterParams, setFilterParams] = useState({ statusIds, mapIds, groupIds });\r\n\r\n\tconst logoUrl = getterApis[\"GET_ACCOUNT_IMG\"](sessionId, logoRefreshValue);\r\n\r\n\tconst { icon, color } = emptyListData.solutions;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (folderView) {\r\n\t\t\tsetKey(\"list\");\r\n\t\t}\r\n\t\tif (tab) setKey(tab);\r\n\t}, [folderView, tab]);\r\n\r\n\tconst handleRedirect = () => {\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\thistory.push(`/edit-solution?id=${data.id}`);\r\n\t\t};\r\n\t\tcreateSolution({ item: { id: uuid(), name: \"\" }, onSuccess });\r\n\t};\r\n\r\n\tconst ChartButtons = () => {\r\n\t\tconst { t } = useTranslation();\r\n\t\tconst dispatch = useDispatch();\r\n\t\tconst statuses = useSelector((state) => state.libraries?.status)?.solutions;\r\n\t\tconst [filterDropdownOpen, setFilterDropdownOpen] = useState(false);\r\n\t\tconst isAllowed = isUserAllowed(userInfo?.UserType, \"create-new-solution\");\r\n\t\tconst nFiltersApplied = filterParams.statusIds.length + filterParams.mapIds.length + filterParams.groupIds.length;\r\n\r\n\t\tconst toggleFilter = () => setFilterDropdownOpen((prevState) => !prevState);\r\n\r\n\t\tconst handleFilterChange = (attribute, newId) => {\r\n\t\t\tif (filterParams[attribute].includes(newId)) filterParams[attribute] = filterParams[attribute].filter((id) => id !== newId);\r\n\t\t\telse filterParams[attribute].push(newId);\r\n\r\n\t\t\tsetFilterParams({ ...filterParams });\r\n\t\t};\r\n\r\n\t\tconst handleResetFilter = () => {\r\n\t\t\tsetFilterParams({\r\n\t\t\t\tstatusIds: [],\r\n\t\t\t\tmapIds: [],\r\n\t\t\t\tgroupIds: [],\r\n\t\t\t});\r\n\t\t};\r\n\t\tconst getPdfExportServiceSolutionChart = (width, height, mapIds, statusIds, groupIds) => {\r\n\t\t\tconst promise = async () => {\r\n\t\t\t\tconst { data, error } = await dispatch(getPdfExportSol(width, height + 230, mapIds, statusIds, groupIds));\r\n\t\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\t\tfileDownload(data, \"Solutions Chart\" + \".pdf\");\r\n\t\t\t\tif (error) {\r\n\t\t\t\t\tthrow error;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t\t};\r\n\t\tconst exportPdf = () => {\r\n\t\t\tlet height = pdfRef.current.offsetHeight + 150;\r\n\t\t\theight = height > 1200 ? height : 1200;\r\n\t\t\tconst mapIds = filterParams?.mapIds?.join(\"|\") || \"\";\r\n\t\t\tconst statusIds = filterParams?.statusIds?.join(\"|\") || \"\";\r\n\t\t\tconst groupIds = filterParams?.groupIds?.join(\"|\") || \"\";\r\n\t\t\tgetPdfExportServiceSolutionChart(1800, height, mapIds, statusIds, groupIds);\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{isAllowed && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"NEW_SOLUTION\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{t(\"ASPX_14\")}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t op.current.toggle(e)}>\r\n\t\t\t\t\t\t\t{t(\"FILTER\")}\r\n\t\t\t\t\t\t\t{nFiltersApplied > 0 && \" / \" + nFiltersApplied}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst handleKeys = (name) => {\r\n\t\tsetKey(name);\r\n\t};\r\n\r\n\tconst renderChartButtons = () => {\r\n\t\tif (!hideForPdf && key === \"chart\") {\r\n\t\t\tif (solutions.length > 0) return ;\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\tconst isShowViewButtons = () => {\r\n\t\tif (hideForPdf || folderView) return false;\r\n\t\treturn true;\r\n\t};\r\n\r\n\tconst renderViewButtons = (t) => {\r\n\t\tif (!isShowViewButtons()) return <>;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t handleKeys(\"list\")} />\r\n\t\t\t\t handleKeys(\"chart\")} />\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderView = () => {\r\n\t\tswitch (key) {\r\n\t\t\tcase \"list\":\r\n\t\t\t\treturn ;\r\n\t\t\tcase \"chart\":\r\n\t\t\t\treturn ;\r\n\t\t\tdefault:\r\n\t\t\t\treturn <>;\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t 0 ? \"graph\" : \"\"}>\r\n\t\t\t\r\n\t\t\t\t{renderView()}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst SolutonDisplayWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 1.5rem !important;\r\n`;\r\n\r\nconst Filter = styled.div`\r\n\twidth: 120px;\r\n`;\r\n\r\nconst CustomOverlayPanel = styled(OverlayPanel)`\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n`;\r\n","import { t } from \"i18next\";\r\nimport React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Flex, FlexAlignCenter, FlexBetween, FlexBetweenAlignCenter, FlexColumnGap, Input } from \"shared/ui-basics/index\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner.js\";\r\nimport { useAsyncs } from \"shared/hooks/index\";\r\nimport { encode } from \"@utils/helpers.js\";\r\nimport * as Style from \"../../../shared/cx-components/style.js\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { FindAssessmentById } from \"@redux/memoizedSelectors.js\";\r\nimport { GetCxProgram, getAllCxAssessments, getCxProgramUsers, updateCxAssessment } from \"@redux/index.js\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb.js\";\r\n\r\nexport default function CxAssessmentPage() {\r\n\tconst { search } = useLocation();\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\r\n const userId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst [loading, setLoading] = useState(true);\r\n\r\n const asyncFns = [\r\n { asyncFn: getCxProgramUsers, parameter: { cxProgramId, userId: userId } },\r\n\t\t{ asyncFn: getAllCxAssessments, parameter: { cxProgramId: cxProgramId } },\r\n\t\t{ asyncFn: GetCxProgram, parameter: { CxProgramIdStr: cxProgramId } },\r\n\t];\r\n\r\n\tuseAsyncs({\r\n\t\tasyncFns,\r\n\t\tsetLoading,\r\n\t});\r\n\r\n\treturn <>{loading ? : };\r\n}\r\n\r\nconst CxAssessment = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst { search } = useLocation();\r\n\r\n\tconst assessmentId = search.getId();\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\r\n\tconst selectedAssessment = useSelector(FindAssessmentById(assessmentId));\r\n\tconst roleName = useSelector((state) => state.cxProgram?.currentUser?.roleName)?.toLowerCase();\r\n\tconst [assessment, setAssessment] = useState(selectedAssessment);\r\n\tconst isViewer = roleName === \"viewer\";\r\n\r\n\tconst competencies = [\"proposition\", \"readiness\", \"journey\", \"effort\", \"functionality\", \"capability\", \"emotion\", \"advocacy\", \"measurement\", \"roi\"];\r\n\r\n\tconst getMaturity = (score) => {\r\n\t\tif (score < 21) return \"MATURITY_1\";\r\n\t\tif (score < 36) return \"MATURITY_2\";\r\n\t\tif (score < 46) return \"MATURITY_3\";\r\n\t\tif (score < 61) return \"MATURITY_4\";\r\n\t\tif (score < 81) return \"MATURITY_5\";\r\n\t\tif (score <= 100) return \"MATURITY_6\";\r\n\t};\r\n\r\n\tconst handleSelect = (competence, value) => {\r\n\t\tif (assessment[competence] === value) value = 0;\r\n\t\tconst newScore = assessment.score - assessment[competence] + value;\r\n\t\tsetAssessment((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\t[competence]: value,\r\n\t\t\tscore: newScore,\r\n\t\t}));\r\n\t\tupdateCxAssessment({ modifiedAttribNames: [competence, \"score\"], modifiedCxAssessment: { ...assessment, [competence]: value, score: newScore }, cxProgramId });\r\n\t};\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tconst { value, name } = e.target;\r\n\t\tif (name === \"date\") {\r\n\t\t\tconst updatedAssessment = { ...assessment, [name]: new Date(value).toISOString() };\r\n\t\t\tupdateCxAssessment({ cxProgramId, modifiedCxAssessment: updatedAssessment, modifiedAttribNames: [name] });\r\n\t\t\treturn setAssessment(updatedAssessment);\r\n\t\t}\r\n\t\tsetAssessment({ ...assessment, contactName: value.truncate(100) });\r\n\t};\r\n\r\n\tconst handleBlur = (modifiedAttribNames) => {\r\n\t\tupdateCxAssessment({ modifiedAttribNames, modifiedCxAssessment: { ...assessment, contactName: encode(assessment.contactName.truncate(100,true)) }, cxProgramId });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t(\"CONTACT_NAME\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t handleBlur([\"contactName\"])} disabled={isViewer} />\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {t(\"DUE_DATE\")}\r\n\t\t\t\t\t\t\t\t\t\t handleBlur([\"date\"])}\r\n\t\t\t\t\t\t\t\t\t\t\tdisabled={isViewer}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t(\"SCORE\")}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{assessment?.score}\r\n\t\t\t\t\t\t\t\t\t\t\t{t(getMaturity(assessment?.score))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"RATE_ASSESSMENT_INSTRUCTION\")}\r\n\t\t\t\t\t\t{competencies?.map((competence, i) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst CompetenceCard = ({ index, assessment, competence, handleSelect, isViewer }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{index + \". \" + t(competence?.toUpperCase())?.toUpperCase()}\r\n\t\t\t\r\n\t\t\t\t{Array(10)\r\n\t\t\t\t\t.fill(1)\r\n\t\t\t\t\t.map((el, i) => (\r\n\t\t\t\t\t\t handleSelect(competence, i + 1)} disabled={isViewer}>\r\n\t\t\t\t\t\t\t{i + 1}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(competence?.toUpperCase() + \"_LOW\")}\r\n\t\t\t\t{t(competence?.toUpperCase() + \"_HIGH\")}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Wrapper = styled.div`\r\n\tmax-height: 36px !important;\r\n`;\r\n\r\nconst MainContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: flex-start;\r\n\theight: calc(100vh - 220px);\r\n\toverflow: auto;\r\n\tbox-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tpadding: 1rem 2rem;\r\n\tbackground-color: #ffffff;\r\n`;\r\n\r\nconst Instructions = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst CardContainer = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: flex-start;\r\n\tgap: 16px;\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n`;\r\n\r\nconst CardTitle = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst RatingLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst Selector = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\twidth: 48px;\r\n\theight: 48px;\r\n\tborder-radius: 50%;\r\n\tbackground-color: #efefef;\r\n\tcolor: #605f60;\r\n\tfont-size: 16px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.selected === true &&\r\n\t\tcss`\r\n\t\t\tbackground-color: #f96209;\r\n\t\t\tcolor: #ffffff;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.disabled === true &&\r\n\t\tcss`\r\n\t\t\tcursor: not-allowed;\r\n\t\t\tpointer-events: none;\r\n\t\t`}\r\n`;\r\n\r\nconst Labels = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst Score = styled.div`\r\n\tcolor: var(--primary, #f96209);\r\n\tfont-family: 'Oswald', sans-serif;\r\n\tfont-size: 40px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nconst Maturity = styled(Labels)`\r\n\twidth: 367px;\r\n`;\r\n","import { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const ChartDisplayContainer = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 1.5rem !important;\r\n`;\r\n\r\nexport const Filter = styled.div`\r\n\twidth: 120px;\r\n`;\r\n\r\nexport const CustomOverlayPanel = styled(OverlayPanel)`\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n`;\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { FilterItemsByStatus, oppPointColorByCoordinates } from \"@utils/helpers\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Chart } from \"shared/components/charts-components/Chart\";\r\nimport { useLocation } from \"react-router\";\r\nimport EditOpportunity from \"../modals/edit-opportunity\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\n\r\nexport const OpportunityChart = ({ pdfRef, loading, filterParams, baseUnit, isDoubleWidth = true }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst pathname = useLocation().pathname;\r\n\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n const opportunities = useSelector((state) => state.opportunity.all_Opportunities.filter((opp) => FilterItemsByStatus(opp, pathname, \"/opportunity\", showSampleData)));\r\n\r\n\tconst getFilteredOpps = () =>\r\n\t\topportunities.filter((opp) => {\r\n\t\t\tlet statusRes = false;\r\n\t\t\tlet mapRes = false;\r\n\t\t\tlet groupRes = false;\r\n\t\t\tconst groupsAtt = opp?.attributes?.find((attr) => attr.type === InformationType.Group)?.groups;\r\n\t\t\tconst statusId = opp?.attributes?.find((attr) => attr.type === InformationType.Status)?.statusId;\r\n\t\t\tif (filterParams?.statusIds.length === 0 || filterParams.statusIds.includes(statusId)) statusRes = true;\r\n\t\t\tif (filterParams?.mapIds.length === 0 || filterParams.mapIds.some((id) => Object.keys(opp.linkedCjms)?.includes(id))) mapRes = true;\r\n\t\t\tif (filterParams?.groupIds.length === 0 || filterParams.groupIds.filter((groupId) => groupsAtt?.includes(groupId))?.length > 0) groupRes = true;\r\n\r\n\t\t\treturn statusRes && mapRes && groupRes;\r\n\t\t});\r\n\r\n\tconst getOppsByPosition = () => {\r\n\t\tconst actualOpportunities = getFilteredOpps();\r\n\t\tconst oppsByPositionCalc = {};\r\n\t\tactualOpportunities.forEach((opp) => {\r\n\t\t\tconst buisnessValue = opp?.attributes?.find((attr) => attr.name === \"BUSINESS_VALUE\")?.ratingValue;\r\n\t\t\tconst customerValue = opp?.attributes?.find((attr) => attr.name === \"CUSTOMER_VALUE\")?.ratingValue;\r\n\r\n\t\t\tlet strCoordinates = (buisnessValue === -1 ? 0 : buisnessValue ?? 0) + \"|\" + (customerValue === -1 ? 0 : customerValue ?? 0);\r\n\t\t\tif (strCoordinates in oppsByPositionCalc) oppsByPositionCalc[strCoordinates].push(opp);\r\n\t\t\telse oppsByPositionCalc[strCoordinates] = [opp];\r\n\t\t});\r\n\r\n\t\treturn Object.keys(oppsByPositionCalc)\r\n\t\t\t?.sort((a, b) => (Number(a.split(\"|\")[1]) < Number(b.split(\"|\")[1]) ? 1 : -1))\r\n\t\t\t.reduce((obj, key) => {\r\n\t\t\t\tobj[key] = oppsByPositionCalc[key];\r\n\t\t\t\treturn obj;\r\n\t\t\t}, {});\r\n\t};\r\n\r\n\tconst renderFunction = () => {\r\n\t\tif (loading) return ;\r\n\t\telse if (opportunities?.length > 0)\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t};\r\n\r\n\treturn <>{renderFunction()};\r\n};\r\n\r\nconst OpportunityChartPoint = styled.div`\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\tborder-radius: 50%;\r\n\ttransition: all 1.5s ease;\r\n\tbackground-color: #c4c4c4;\r\n\tbackground: ${(props) => oppPointColorByCoordinates(props.xCoordinate, props.yCoordinate)};\r\n\tcolor: \"#FFFFFF\";\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tprops.multiItems &&\r\n\t\tcss`\r\n\t\t\twidth: 40px;\r\n\t\t\theight: 40px;\r\n\t\t`}\r\n`;\r\n","import { createOpportunity, getAllMapsListData, getAllOpportunity, getPdfExportOpp } from \"@redux/index\";\r\nimport { getAllMapsList, getFolderById, getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { FilterItemsByStatus, emptyListData, isUserAllowed, toastWrapper } from \"@utils/helpers\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis.js\";\r\nimport DataTable from \"features/grid-table/DataTable\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { ChartFilter } from \"shared/components/charts-components/ChartFilter/ChartFilter\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate.js\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport { EmptyList } from \"shared/ui-basics/ui-components/EmptyList\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport EditOpportunity from \"../modals/edit-opportunity\";\r\nimport * as Style from \"../Style.js\";\r\nimport { OpportunityChart } from \"./opportunity-chart\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nexport default function Opportunity() {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst { pathname, search } = useLocation();\r\n\tconst pdfRef = useRef();\r\n\tconst folderId = search.getFolderId();\r\n\tconst tab = search.getTab();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst folderView = folderId === undefined ? false : true;\r\n\tconst { statusIds, mapIds, groupIds, hideForPdf } = search.extractIdsChart();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst all_maps = useSelector(getAllMapsList);\r\n\r\n\tconst opportunities = useSelector(({ opportunity }) => opportunity.all_Opportunities.filter((opp) => FilterItemsByStatus(opp, pathname, \"/opportunity\", showSampleData, all_maps)));\r\n\r\n\tconst userInfo = useSelector((state) => state.auth.userInfo);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst logoRefreshValue = useSelector((state) => state.settings.organization?.logoRefreshValue);\r\n\r\n\tconst logoUrl = getterApis[\"GET_ACCOUNT_IMG\"](sessionId, logoRefreshValue);\r\n\r\n\tconst [key, setKey] = useState(hideForPdf ? \"chart\" : \"list\");\r\n\tconst [query, setQuery] = useState(false);\r\n\tconst [filterParams, setFilterParams] = useState({ statusIds, mapIds, groupIds });\r\n\tconst { linkedOpps } = useSelector((state) => getFolderById(state, folderId), shallowEqual);\r\n\tconst [showEditOpportunity] = useModal(EditOpportunity);\r\n\r\n\tconst { icon, color } = emptyListData.opportunity;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (folderView) {\r\n\t\t\tsetKey(\"list\");\r\n\t\t}\r\n\t\tif (tab) setKey(tab);\r\n\t}, [folderView, tab]);\r\n\r\n\tconst handleRedirect = () => {\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\tshowEditOpportunity({ id: data.id, item: data });\r\n\t\t};\r\n\t\tcreateOpportunity({ item: { id: uuid(), name: \"\" }, onSuccess });\r\n\t};\r\n\r\n\tconst ChartButtons = () => {\r\n\t\tconst { t } = useTranslation();\r\n\t\tconst op = useRef(null);\r\n\r\n\t\tconst isAllowed = isUserAllowed(userInfo?.UserType, \"create-new-solution\");\r\n\t\tconst statuses = useSelector((state) => state.libraries?.status)?.opportunity;\r\n\r\n\t\tconst [filterDropdownOpen, setFilterDropdownOpen] = useState(false);\r\n\t\tconst nFiltersApplied = filterParams.statusIds.length + filterParams.mapIds.length + filterParams.groupIds.length;\r\n\r\n\t\tconst getPdfExportServiceOpportunityChart = (width, height, mapIds, statusIds, groupIds) => {\r\n\t\t\tconst promise = async () => {\r\n\t\t\t\tconst { data, error } = await dispatch(getPdfExportOpp(width, height + 230, mapIds, statusIds, groupIds));\r\n\t\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\t\tfileDownload(data, \"Opportunity Chart\" + \".pdf\");\r\n\t\t\t\tif (error) {\r\n\t\t\t\t\tthrow error;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t\t};\r\n\r\n\t\tconst exportPdf = () => {\r\n\t\t\tconst height = pdfRef.current.offsetHeight + 150;\r\n\t\t\tgetPdfExportServiceOpportunityChart(\r\n\t\t\t\t1800,\r\n\t\t\t\theight > 1200 ? height : 1200,\r\n\t\t\t\tfilterParams[\"mapIds\"]?.join(\"|\") || \"\",\r\n\t\t\t\tfilterParams[\"statusIds\"].join(\"|\") || \"\",\r\n\t\t\t\tfilterParams[\"groupIds\"].join(\"|\") || \"\"\r\n\t\t\t);\r\n\t\t};\r\n\t\tconst handleResetFilter = () => {\r\n\t\t\tsetFilterParams({\r\n\t\t\t\tstatusIds: [],\r\n\t\t\t\tmapIds: [],\r\n\t\t\t\tgroupIds: [],\r\n\t\t\t});\r\n\t\t};\r\n\t\tconst toggleFilter = () => setFilterDropdownOpen((prevState) => !prevState);\r\n\r\n\t\tconst handleFilterChange = (attribute, newId) => {\r\n\t\t\tif (filterParams[attribute].includes(newId)) filterParams[attribute] = filterParams[attribute].filter((id) => id !== newId);\r\n\t\t\telse filterParams[attribute].push(newId);\r\n\r\n\t\t\tsetFilterParams({ ...filterParams });\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{isAllowed && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"NEW_OPPORTUNITY\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{t(\"ASPX_14\")}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t op.current.toggle(e)}>\r\n\t\t\t\t\t\t\t{t(\"FILTER\")}\r\n\t\t\t\t\t\t\t{nFiltersApplied > 0 && \" / \" + nFiltersApplied}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst handleKeys = (name) => {\r\n\t\tif (name !== \"grid-view\") setQuery(false);\r\n\t\tsetKey(name);\r\n\t};\r\n\r\n\tconst renderChartButtons = () => {\r\n\t\tif (!hideForPdf && key === \"chart\") {\r\n\t\t\tif (opportunities.length > 0) return ;\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\tconst isShowViewButtons = () => {\r\n\t\tif (hideForPdf || folderView) return false;\r\n\t\treturn true;\r\n\t};\r\n\r\n\tconst renderViewButtons = (t) => {\r\n\t\tif (!isShowViewButtons()) return <>;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t handleKeys(\"list\")} />\r\n\t\t\t\t handleKeys(\"chart\")} />\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderView = () => {\r\n\t\tswitch (key) {\r\n\t\t\tcase \"list\":\r\n\t\t\t\treturn ;\r\n\t\t\tcase \"chart\":\r\n\t\t\t\treturn ;\r\n\t\t\tdefault:\r\n\t\t\t\treturn <>;\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{renderView()}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { getEntityCurrentState } from \"@utils/helpers\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport PickListData from \"@utils/optionsSets/PickListData\";\r\nimport { updateLinksCjms, updatePhaseLinksWithCjms, updateStageLinksWithCjms } from \"features/index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Card } from \"reactstrap\";\r\nimport { ColorCheckState, StateTypes } from \"shared/cx-components/style\";\r\nimport { CustomizationColors, FlexAlignCenter, GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { SmileyStaticComponent } from \"shared/ui-basics/ui-components/EmotionLevelComponents/SmileyStaticComponent\";\r\nimport styled from \"styled-components/macro\";\r\nimport CustomTooltip from \"../../../shared/components/CustomTooltip\";\r\nimport Personas from \"../../grid-table/columns-components/Personas\";\r\nimport { BoxContainer } from \"../../grid-table/columns-components/Styles\";\r\nimport TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\n\r\nexport default function MapBoxCard({ map, type, label, dataForUnlink }) {\r\n\tconst { t } = useTranslation();\r\n\tconst allStatus = useSelector((state) => state.libraries?.status);\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\r\n\tconst states = PickListData(\"state\");\r\n\tconst state = getEntityCurrentState(map.isFuture);\r\n\r\n\tconst currentState = states?.find((s) => s.value === state);\r\n\tconst statuses = allStatus && allStatus.customerJourney?.filter((status) => !status.name.isEmptyString());\r\n\tconst currentStatus = statuses?.find((s) => s.id === map.cxStatus);\r\n\r\n\r\n\tconst unlink = async () => {\r\n\t\tif (type === \"stage\") {\r\n\t\t\tupdateStageLinksWithCjms({\r\n\t\t\t\tstageIdStr: dataForUnlink.stageId,\r\n\t\t\t\tcjmIdStr: dataForUnlink.cjmIdStr,\r\n\t\t\t\tcjmIdsToLink: \"\",\r\n\t\t\t\tcjmIdsToUnlink: map.cjmId,\r\n\t\t\t\tpersonaIdStr: dataForUnlink.personaIdStr,\r\n\t\t\t});\r\n\t\t} else if (type === \"phase\") {\r\n\t\t\tupdatePhaseLinksWithCjms({\r\n\t\t\t\tphaseIdStr: dataForUnlink.phaseId,\r\n\t\t\t\tcjmIdStr: dataForUnlink.cjmIdStr,\r\n\t\t\t\tcjmIdsToLink: \"\",\r\n\t\t\t\tcjmIdsToUnlink: map.cjmId,\r\n\t\t\t\tpersonaIdStr: dataForUnlink.personaIdStr,\r\n\t\t\t});\r\n\t\t} else updateLinksCjms({ cjmIdStr: dataForUnlink.cjmIdStr, cjmIdsToLink: \"\", cjmIdsToUnlink: map.cjmId, personaIdStr: dataForUnlink.personaIdStr });\r\n\t};\r\n\r\n\tconst displayText = () => {\r\n\t\tif (type === \"direct\") return \"Direct Link\";\r\n\t\tif (type === \"phase\") return `Phase : ${label}`;\r\n\t\tif (type === \"stage\") return `Stage : ${label}`;\r\n\t\treturn \"\";\r\n\t};\r\n\r\n\tconst FooterState = ({ label, state }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{t(label) + \": \"}\r\n\t\t\t\t{state && {state.name}}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst FooterStatus = ({ label, status }) => {\r\n\t\tconst { color, backgroundColor } = CustomizationColors[status?.colorCode] || { color: \"#333\", backgroundColor: status?.colorCode };\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{t(label) + \": \"}\r\n\t\t\t\t{status && }\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{displayText()}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{type && !isReadOnly && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{IconDispatcher(\"UNLINK\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{Personas(map, 3, 35, false)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{map?.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{\" | \"}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst CustomCard = styled(Card)`\r\n\theight: 250px;\r\n\twidth: 22rem;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 10px;\r\n\tborder: 1px solid ${(props) => (!props.type || props.type === \"direct\" ? \"#F96209\" : \"#c4c4c4\")};\r\n\tbox-shadow: none;\r\n\t:hover {\r\n\t\tbox-shadow: 1px 1px 3px rgba(33, 33, 33, 0.3);\r\n\t}\r\n\r\n\t#action {\r\n\t\tvisibility: hidden;\r\n\t}\r\n\t:hover #action {\r\n\t\tvisibility: inherit;\r\n\t}\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\theight: 36px;\r\n`;\r\n\r\nconst Description = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n`;\r\n\r\nconst BulletPoint = styled.div`\r\n\twidth: 0.75rem;\r\n\theight: 0.75rem;\r\n\tborder-radius: 12px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: ${(props) => (!props.type || props.type === \"direct\" ? \"#F96209\" : \"#FFFFFF\")};\r\n`;\r\n\r\nconst Text = styled.div`\r\n\tcolor: #c4c4c4;\r\n\ttext-align: center;\r\n\tfont-size: 0.75rem;\r\n\tfont-family: Inter;\r\n`;\r\n\r\nconst MapNameContainer = styled.div`\r\n\theight: 60px;\r\n`;\r\n\r\nconst MapName = styled.div`\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-box-orient: vertical;\r\n\t-webkit-line-clamp: 3;\r\n\twhite-space: pre-wrap;\r\n\ttext-align: left;\r\n\tcursor: pointer;\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 0.875rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400 !important;\r\n\tline-height: normal;\r\n`;\r\n\r\nconst Redirect = styled(Link)`\r\n\ttext-decoration: none;\r\n`;\r\n\r\nconst PersonasWrapper = styled.div`\r\n\theight: 35px;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n`;\r\n\r\nconst CardAction = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n`;\r\n\r\nconst FooterComponentStyle = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nconst CustomLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: italic;\r\n\tfont-weight: 300;\r\n\tline-height: normal;\r\n`;\r\n\r\n","import { getAllMapsListData, getAllPersonas } from \"@redux/index\";\r\nimport { EMPTY_GUID, handleAddRenderElement } from \"@utils/helpers\";\r\nimport { getHierachyPdf } from \"features/index\";\r\nimport { OrganizationChart } from \"primereact/organizationchart\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { GenericButton, IconDispatcher, PageHeader, PageTitle } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport CustomTooltip from \"../../../shared/components/CustomTooltip\";\r\nimport MapBoxCard from \"../cards/MapBoxCard\";\r\n\r\nexport default function MapHierarchyView(props) {\r\n\tconst { t } = useTranslation();\r\n\tconst query = new URLSearchParams(props.location.search.toLowerCase());\r\n\tconst cjmIdStr = query.get(\"cjmid\");\r\n\tconst personaIdStr = query.get(\"personaid\");\r\n\tconst isPrint = query.get(\"isprint\") || false;\r\n\tconst hideForPdf = isPrint === \"1\";\r\n\tconst metaData = {\r\n\t\tnNodes: 0,\r\n\t\tmaxDepth: 0,\r\n\t\tmemory: [],\r\n\t};\r\n\tlet calculatedWidth = 400;\r\n\tlet calculatedHeight = 400;\r\n\r\n\tconst [disabledExport, setDisableExport] = useState(false);\r\n\tconst [zoomStatus, setZoomStatus] = useState(1);\r\n\tconst showSampleData = useSelector((state) => state.settings.organization.showSampleData);\r\n\tconst allMaps = useSelector((state) => state.maps.all_maps)?.getActiveRecords(!showSampleData);\r\n\r\n\tconst currentMap = allMaps?.filter((map) => map.cjmId === cjmIdStr)[0];\r\n\r\n\tuseEffect(() => {\r\n\t\tconst element = document.getElementById(cjmIdStr);\r\n\t\tif (element) {\r\n\t\t\telement.scrollIntoView({ behavior: \"auto\", block: \"nearest\", inline: \"center\" });\r\n\t\t}\r\n\t}, [query, zoomStatus]);\r\n\r\n\tconst createNodes = (currentMap, depth) => {\r\n\t\tconst nodes = [];\r\n\t\tcreateNodesRec({ nodes, parentMap: { cjmId: EMPTY_GUID }, currentMap, depth });\r\n\t\treturn nodes;\r\n\t};\r\n\r\n\tconst createNodesRec = ({ nodes, parentMap, currentMap, depth, type, label, cjmIdStr, phaseId, stageId }) => {\r\n\t\tif (!currentMap) return;\r\n\r\n\t\tif (depth >= metaData.maxDepth) metaData.maxDepth = depth;\r\n\t\tmetaData.nNodes += 1;\r\n\t\tconst children = [];\r\n\t\tnodes.push({\r\n\t\t\tkey: currentMap.cjmId,\r\n\t\t\texpanded: hideForPdf,\r\n\t\t\ttype,\r\n\t\t\tlabel,\r\n\t\t\tmap: currentMap,\r\n\t\t\tdataForUnlink: { cjmIdStr, personaIdStr, phaseId, stageId },\r\n\t\t\tchildren,\r\n\t\t});\r\n\r\n\t\tif (metaData.memory.includes(currentMap.cjmId)) return;\r\n\t\tmetaData.memory.push(currentMap.cjmId);\r\n\r\n\t\tcurrentMap.linkedCjms.map((linkedMapId) => {\r\n\t\t\tconst newCurrentMap = allMaps.find((map) => linkedMapId === map.cjmId);\r\n\t\t\tif (parentMap?.cjmId !== newCurrentMap?.cjmId)\r\n\t\t\t\tcreateNodesRec({ nodes: children, parentMap: currentMap, currentMap: newCurrentMap, depth: depth + 1, type: \"direct\", label: \"Direct Link\", cjmIdStr: currentMap.cjmId });\r\n\t\t});\r\n\r\n\t\tcurrentMap?.phases?.map((phase) =>\r\n\t\t\tphase.linkedCjms.map((linkedMapId) => {\r\n\t\t\t\tconst newCurrentMap = allMaps.find((map) => linkedMapId === map.cjmId);\r\n\t\t\t\tif (parentMap?.cjmId !== newCurrentMap?.cjmId)\r\n\t\t\t\t\tcreateNodesRec({\r\n\t\t\t\t\t\tnodes: children,\r\n\t\t\t\t\t\tparentMap: currentMap,\r\n\t\t\t\t\t\tcurrentMap: newCurrentMap,\r\n\t\t\t\t\t\tdepth: depth + 1,\r\n\t\t\t\t\t\ttype: \"phase\",\r\n\t\t\t\t\t\tlabel: phase.name,\r\n\t\t\t\t\t\tcjmIdStr: currentMap.cjmId,\r\n\t\t\t\t\t\tphaseId: phase.id,\r\n\t\t\t\t\t});\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tcurrentMap?.stages?.map((stage) =>\r\n\t\t\tstage.linkedCjms.map((linkedMapId) => {\r\n\t\t\t\tconst newCurrentMap = allMaps.find((map) => linkedMapId === map.cjmId);\r\n\t\t\t\tif (parentMap?.cjmId !== newCurrentMap?.cjmId)\r\n\t\t\t\t\tcreateNodesRec({\r\n\t\t\t\t\t\tnodes: children,\r\n\t\t\t\t\t\tparentMap: currentMap,\r\n\t\t\t\t\t\tcurrentMap: newCurrentMap,\r\n\t\t\t\t\t\tdepth: depth + 1,\r\n\t\t\t\t\t\ttype: \"stage\",\r\n\t\t\t\t\t\tlabel: stage.name,\r\n\t\t\t\t\t\tcjmIdStr: currentMap.cjmId,\r\n\t\t\t\t\t\tstageId: stage.id,\r\n\t\t\t\t\t});\r\n\t\t\t})\r\n\t\t);\r\n\t};\r\n\r\n\tconst nodes = createNodes(currentMap, 0);\r\n\r\n\tconst exportView = () => {\r\n\t\tcalculatedWidth += metaData.nNodes * 400;\r\n\t\tcalculatedHeight += metaData.maxDepth * 500;\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\tconst fileDownload = require(\"js-file-download\");\r\n\t\t\tfileDownload(data, currentMap.name + \" - Relationships.pdf\");\r\n\t\t\tsetDisableExport(false);\r\n\t\t};\r\n\r\n\t\tgetHierachyPdf({\r\n\t\t\tcjmIdStr,\r\n\t\t\tpersonaIdStr,\r\n\t\t\twidth: calculatedWidth,\r\n\t\t\theight: calculatedHeight + 100,\r\n\t\t\tonSuccess,\r\n\t\t\tsetLoading: setDisableExport,\r\n\t\t\tdisplayToast: \"EXPORT\",\r\n\t\t\ttoastParams: { success: t(\"JOURNEY_MAP_EXPORT_SUCCESS\") },\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleZoomOut = () => zoomStatus > 0.1 && setZoomStatus(Math.round((zoomStatus - 0.1) * 10) / 10);\r\n\tconst handleZoomIn = () => zoomStatus < 1 && setZoomStatus(Math.round((zoomStatus + 0.1) * 10) / 10);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{!hideForPdf && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"MAP_HIERARCHY\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tprops.history.goBack();\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t{IconDispatcher(\"LEFT-ARROW\", \"me-2\")}\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_132\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
-
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{zoomStatus * 100}%\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
+
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t setZoomStatus(1)} disabled={disabledExport}>\r\n\t\t\t\t\t\t\t\t\tReset\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
{IconDispatcher(\"EXPORT\")}
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{currentMap && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{hideForPdf &&
{handleAddRenderElement()}
}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst ActionsContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n`;\r\n\r\nconst ZoomActions = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-evenly;\r\n\talign-items: center;\r\n\tborder-right: 1px solid #c4c4c4;\r\n`;\r\n\r\nconst ZoomStatus = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\twidth: 48px;\r\n\tcolor: #333;\r\n\tfont-size: 0.875rem;\r\n\tfont-family: Inter;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst Reset = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-size: 1rem;\r\n\tfont-family: Inter;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst PageContainer = styled.div`\r\n\tpadding-top: 0.5rem !important;\r\n\tpadding-left: 3rem !important;\r\n`;\r\n\r\nconst ScrollContainer = styled.div`\r\n\toverflow: auto;\r\n\twidth: 100%;\r\n\theight: calc(100vh - 250px);\r\n`;\r\n\r\nconst ChartContainer = styled.div`\r\n\ttransform: scale(${(props) => props.zoom});\r\n`;\r\n\r\nconst OrgChartTemplate = styled(OrganizationChart)`\r\n\tpadding-top: 0 !important;\r\n\tborder: none !important;\r\n\r\n\t.p-organizationchart-lines {\r\n\t\t& td {\r\n\t\t\tborder-color: #c4c4c4;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-organizationchart-line-down {\r\n\t\tbackground: #c4c4c4;\r\n\t}\r\n\r\n\t.p-organizationchart-node-content {\r\n\t\tborder: none !important;\r\n\t\tpadding: 0;\r\n\t}\r\n`;\r\n","import styled from \"styled-components/macro\";\r\n\r\nexport const CardContainer = styled.div`\r\n\ttext-decoration: none;\r\n\twidth: 360px;\r\n\tbackground: #ffffff;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n`;\r\n\r\nexport const Actions = styled.div`\r\n\tposition: absolute;\r\n\tdisplay: none;\r\n\ttop: 20px;\r\n\tright: -10px;\r\n`;\r\n\r\nexport const Header = styled.div`\r\n\tposition: relative;\r\n\theight: 180px;\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n\t:hover ${Actions} {\r\n\t\tdisplay: flex;\r\n\t}\r\n`;\r\n\r\nexport const Image = styled.div`\r\n\theight: 100%;\r\n img {\r\n\t\tmax-width: 100%;\r\n\t\twidth: 100%;\r\n\t\tmax-height: 179px;\r\n\t\tcursor: pointer;\r\n\t\tobject-fit: cover;\r\n\t\t&.selected {\r\n\t\t\tborder: 3px solid #f96209;\r\n\t\t\tfilter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nexport const Body = styled.div`\r\n\tmin-height: 100px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n\tgap: 10px;\r\n`;\r\n\r\nexport const Tags = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tmin-height: 40px;\r\n`;\r\n\r\nexport const Footer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tflex-wrap: wrap;\r\n\tborder-top: 1px solid #c4c4c4;\r\n\tmin-height: 40px;\r\n`;\r\n\r\nexport const Title = styled.div`\r\n\tmin-height: 40px;\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 18px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: normal;\r\n\tmax-width: max-content;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nexport const BubbleCount = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tborder-radius: 100px;\r\n\tcolor: ${(props) => props.color};\r\n\tborder: 1px solid ${(props) => props.color};\r\n\r\n\tfont-family: \"Source Code Pro\";\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tline-height: normal;\r\n\tfont-weight: 400;\r\n`;\r\n","import { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { detectImageExtension } from \"@utils/helpers\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport { t } from \"i18next\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { UploadImage } from \"shared/components/UploadImage\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { FlexAlignJustifyCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport Tag from \"shared/ui-basics/ui-components/tag\";\r\nimport BaseActions from \"../actions/BaseActions\";\r\nimport { deleteCxProgramImage, updateCxProgramImage } from \"../reducer/CxProgramActions\";\r\nimport * as Style from \"./Styles\";\r\n\r\nexport const CxProgramCard = ({ card }) => {\r\n\tconst history = useHistory();\r\n\tconst redirect = () => history.push(`EditCxProgram?programid=${card.id}`);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst userInfo = useSelector((state) => state.auth.userInfo);\r\n\tconst isReadOnly = userInfo.UserType?.isReadOnly();\r\n\tconst roleName = card?.authorizedUsers?.find((user) => user.id === userInfo?.UserId)?.roleName?.toLowerCase();\r\n\tconst isOwner = roleName === \"owner\";\r\n\tconst isViewer = roleName === \"viewer\";\r\n\tconst [picture, setPicture] = useState(getterApis[\"GET_CX_PROGRAM_IMG\"](card?.id, sessionId));\r\n\tconst [loading, setLoading] = useState(false);\r\n\r\n\tconst onSuccess = () => {\r\n\t\tsetPicture(getterApis[\"GET_CX_PROGRAM_IMG\"](card?.id, sessionId)+ `&${Math.random()}=true`);\r\n\t\tsetLoading(false);\r\n\r\n\t};\r\n\r\n\tconst imageData = {\r\n\t\tapi: getterApis[\"GET_CX_PROGRAM_IMG\"](card?.id, sessionId),\r\n\t\tdeleteImage: () => deleteCxProgramImage({ cxProgramId: card?.id, onSuccess }),\r\n\t};\r\n\r\n\tconst updateImage = (image) => {\r\n\t\tsetLoading(true);\r\n\t\tupdateCxProgramImage({ cxProgramId: card?.id, imageExtension: detectImageExtension(image.split(\",\")[0]), imageBody64: image.split(\",\")[1], onSuccess });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{CreateActionsDropdown({ actions: BaseActions({ cxProgram: card }) })}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{card?.name || t(\"CX_PROGRAM_NAME\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{card?.tags?.slice(0, 2)?.map((tag) => (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t))}\r\n\t\t\t\t\t{card?.tags.length > 2 && \"...\"}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{card?.CxNumbers?.map((cx, i) => (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{card?.[cx.linkName]?.length > 0 && }\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst LinkedEntityBubble = ({ title, count, icon, color }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(icon)}
\r\n\t\t\t\t\t
{count}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n","import { Button, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { Card, Col, Container, Row } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\nimport { TableTemplate } from \"./TableTemplate\";\r\n\r\nexport const SubjectWrapper = styled.div`\r\n\tcursor: pointer;\r\n\tmax-width: 20rem;\r\n\tmin-width: 15rem;\r\n\toverflow: hidden;\r\n\tcolor: #333333;\r\n\tdisplay: -webkit-box;\r\n\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: ${(props) => (props.desactivateclick ? \"default\" : \"pointer\")};\r\n\tfont-weight: 500 !important;\r\n`;\r\n\r\nexport const TextInfo = styled.div`\r\n\tmax-width: ${(props) => (props.stage === \"true\" ? \"10rem\" : \"18rem\")};\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\tcolor: #333333;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: ${(props) => (props.desactivateclick ? \"default\" : \"pointer\")};\r\n\t@media screen and (max-width: 1290px) {\r\n\t\tmax-width: ${(props) => (props.stage === \"true\" ? \"3rem\" : \"8rem\")};\r\n\t\tmin-width: ${(props) => (props.stage === \"true\" ? \"4rem\" : \"8rem\")};\r\n\t}\r\n`;\r\nexport const Status = styled.div`\r\n\theight: 100%;\r\n\twidth: 110px;\r\n\tline-height: 54px;\r\n\tborder-radius: 4px;\r\n\ttext-align: center;\r\n\tfont-weight: 500;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tbackground-color: ${(props) => props.colorcode};\r\n\t/* color:#5c5858; */\r\n`;\r\nexport const DropDownPosition = styled.div`\r\n\tposition: absolute;\r\n\tright: ${(props) => (props.right ? props.right : 10)}px;\r\n\ttop: -16px;\r\n\tdisplay: none;\r\n`;\r\n\r\nexport const DataTableCustom = styled(TableTemplate)`\r\n\ttd {\r\n\t\theight: 60px;\r\n\t}\r\n\ttr {\r\n\t\t:hover ${DropDownPosition} {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t}\r\n`;\r\nexport const ChangeColor = styled.div`\r\n\tcolor: ${(props) => props.color};\r\n`;\r\n\r\nexport const Ranking = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 30px;\r\n\theight: 25px;\r\n\tmax-width: 30px;\r\n\tmax-height: 25px;\r\n\tbackground: #d8fafa;\r\n\tborder: 1px solid #18aead;\r\n\tborder-radius: 4px;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\ttext-align: center;\r\n\tcolor: #18aead;\r\n`;\r\nexport const RatingContainer = styled.div`\r\n\t/* zoom: 0.5; */\r\n\tposition: relative; // new\r\n\r\n\t.inner {\r\n\t\tposition: absolute;\r\n\t\ttransform: scale(0.5);\r\n\t\ttransform-origin: 0 0;\r\n\t}\r\n\t.p-disabled {\r\n\t\topacity: 1;\r\n\t}\r\n`;\r\nexport const Center = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n`;\r\nexport const CenterCol = styled(Col)`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n`;\r\nexport const AddNew = styled(Row)`\r\n\tbackground-color: #ffffff;\r\n\tborder: 1px solid #e6e6e6;\r\n\tborder-radius: 4px;\r\n\tdisplay: flex;\r\n\tcursor: pointer;\r\n\r\n\tsvg {\r\n\t\talign-self: center;\r\n\t\twidth: auto;\r\n\t\tmax-width: none;\r\n\t}\r\n`;\r\nexport const EllipsisText = styled.div`\r\n\tmax-width: ${(props) => props.maxWidth}px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n`;\r\nexport const AddNewPersona = styled(Card)`\r\n\twidth: 220px;\r\n\theight: 280px;\r\n\tbackground: rgba(255, 255, 255, 0.4);\r\n\tbox-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tposition: relative;\r\n\tborder: 1px solid #d9d9d9;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\ttext-align: center;\r\n\tcolor: #92919d;\r\n\tcursor: pointer;\r\n\tsvg {\r\n\t\talign-self: center;\r\n\t\tzoom: 3;\r\n\t}\r\n`;\r\nexport const PersonaHeaderViewContainer = styled.div`\r\n\twidth: 100%;\r\n\tmargin-bottom: 1.5rem;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n`;\r\nexport const SortIcon = styled.div`\r\n\ttransform: ${(props) => (props.updown === \"down\" && props.type === props.reference ? \"rotate(180deg)\" : \"\")};\r\n`;\r\nexport const SortButton = styled(Button)`\r\n\t${(props) => (props.active ? \"font-weight:700 !important;\" : \"\")}\r\n\ttext-transform: unset;\r\n`;\r\n\r\nexport const CardsContainer = styled(Container)`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\tflex-wrap: wrap;\r\n\talign-items: flex-start;\r\n\tgap: 1.5rem;\r\n`;\r\n","import { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { EmptyList } from \"shared/ui-basics/ui-components/EmptyList\";\r\nimport { emptyListData } from \"@utils/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Col } from \"reactstrap\";\r\nimport { CxProgramCard } from \"../../forms/cx-programs/cards/CxProgramCard\";\r\nimport { Spinner } from \"../../../shared/components/spinners/Spinner\";\r\nimport { CardsContainer } from \"./Style\";\r\n\r\n\r\nexport const CardView = ({ cxPrograms, showCreateModal }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst loading = useSelector((state) => state.cxProgram.loading);\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst { icon, color } = emptyListData.cxPrograms;\r\n\r\n\tconst render = () => {\r\n\t\tif (loading) return ;\r\n\r\n\t\tif (cxPrograms?.length > 0)\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{cxPrograms?.map((card) => (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!isReadOnly && cxPrograms?.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"NEW_PROGRAM\")}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{render()}\r\n\t\t\r\n\t);\r\n};","import { createCxProgram, getAllCxProgram } from \"@redux/index\";\r\nimport { getFolderById } from \"@redux/memoizedSelectors\";\r\nimport { FilterItemsByStatus } from \"@utils/helpers\";\r\nimport { CardView } from \"features/grid-table/components/CardView.js\";\r\nimport DataTable from \"features/grid-table/DataTable\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { useAsync } from \"shared/hooks/index\";\r\nimport { NewModal } from \"shared/modals/index\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport default function CXProgram() {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst history = useHistory();\r\n\tconst { pathname, search } = useLocation();\r\n\tconst hideForPdf = search.hideForPdf();\r\n\tconst folderId = search.getFolderId();\r\n\tconst folderView = folderId === undefined ? false : true;\r\n\tconst isList = search.getTab() === 'list-view';\r\n\r\n\tuseAsync({ asyncFn: getAllCxProgram });\r\n\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst cxPrograms = useSelector((state) => state.cxProgram.all_cxPrograms?.filter((cxProgram) => FilterItemsByStatus(cxProgram, pathname, \"/cx-program\", showSampleData)));\r\n\tconst { linkedCxPrograms } = useSelector((state) => getFolderById(state, folderId), shallowEqual);\r\n\r\n\tconst [showcardView, setCardView] = useState(folderId || isList ? false : true);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (folderView && showcardView) {\r\n\t\t\tsetCardView(false);\r\n\t\t}\r\n\t}, [folderView]);\r\n\r\n\tconst [showCreateModal] = useModal(NewModal, {\r\n\t\ttitle: \"CREATE_CX_PROGRAM\",\r\n\t\tcloseBtnLabel: \"ASPX_135\",\r\n\t\tinputTitle: \"CX_PROGRAM_NAME\",\r\n\t\tplaceholder: \"NEW_CX_PROGRAM\",\r\n\t\taction: (name) => createCxProgram({ name, onSuccess: (data) => history.push(`/EditCxProgram?programid=${data.id}`) }),\r\n\t});\r\n\r\n\tconst isShowViewButtons = () => {\r\n\t\tif (hideForPdf || folderView) return false;\r\n\t\treturn true;\r\n\t};\r\n\r\n\tconst renderViewButtons = (t) => {\r\n\t\tif (!isShowViewButtons()) return <>;\r\n\t\tfunction handleCardViewChange(isCardView) {\r\n\t\t\tconst searchParams = new URLSearchParams(window.location.search);\r\n\t\t\tif (isCardView) {\r\n\t\t\t\t// If setting to card view, remove the tab parameter\r\n\t\t\t\tsearchParams.delete('tab');\r\n\t\t\t} else {\r\n\t\t\t\t// If setting to list view, add tab=list-view\r\n\t\t\t\tsearchParams.set('tab', 'list-view');\r\n\t\t\t}\r\n\t\t\t// Update the URL without reloading the page\r\n\t\t\twindow.history.pushState({}, '', `${window.location.pathname}?${searchParams}`);\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetCardView(true);\r\n\t\t\t\t\t\thandleCardViewChange(true);\r\n\t\t\t\t\t}} />\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetCardView(false);\r\n\t\t\t\t\t\thandleCardViewChange(false);\r\n\t\t\t\t\t}} />\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderView = () => {\r\n\t\tif (showcardView) return ;\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{renderView()}\r\n\t\t\r\n\t);\r\n}\r\n","import { isSubscriptionAllowed, isUserAllowed } from \"@utils/helpers\";\r\nimport PersonaProfileCard from \"features/forms/personas/cards/persona-sections-cards/PersonaProfileCard\";\r\nimport { t } from \"i18next\";\r\nimport React, { useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Row } from \"reactstrap\";\r\nimport { EmptyListImg, EmptyListText, GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport * as S from \"./PersonaCreationStyles\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\n\r\nexport default function PersonaType({ nextStep }) {\r\n\tconst history = useHistory();\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(\"ARROW_LEFT\", \"me-1\")}\r\n\t\t\t\t{t(\"ASPX_132\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"CRYSTAL-BALL\")}\r\n\t\t\t\t\t{t(\"DEFINE_PERSONA\")}\r\n\t\t\t\t\t{t(\"PERSONA_WIZARD_SELECT\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"START_WIZARD\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\n\r\n\r\nfunction PersonaWizardTemplates() {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst personaCemTemplates = useSelector((state) => state.personas.all_personas)?.filter((persona) => persona.isTemplate && persona.templateStatus === 100000002);\r\n\tconst personaOrgTemplates = useSelector((state) => state.personas.all_personas)?.filter(\r\n\t\t(persona) => persona.isTemplate && persona.templateStatus === 100000001 && persona.statusCode===StatusCode.Active\r\n\t);\r\n\r\n\tconst [key, setKey] = useState(\"cemantica\");\r\n\r\n\treturn (\r\n\t\t setKey(k)} className=\"m-3\" mountOnEnter={true} unmountOnExit={true}>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{isSubscriptionAllowed(subscriptionPlan, \"regular\") && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst GetTemplates = ({ personas }) => {\r\n\tconst userType = Number(useSelector((state) => state.auth?.userInfo?.UserType));\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst isSubscriptionAllowed = [\"Expert\", \"Enterprise\"].includes(subscriptionPlan);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{personas?.map((persona, index) => (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\t{personas.length === 0 && (\r\n\t\t\t\t\r\n\t\t\t\t\t{}\r\n\t\t\t\t\t {t(\"NO_PERSONA_TEMPLATE_CREATION\")}\r\n\t\t\t\t\t{isSubscriptionAllowed && isUserAllowed(userType, \"template\") && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"GO_TEMPLATE\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};","import PickListData from '@utils/optionsSets/PickListData';\r\nimport React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { toast } from 'react-toastify';\r\nimport { Col, Label, Row } from 'reactstrap';\r\nimport { GenderDropdownSelector, GenericButton, IconDispatcher, Input } from 'shared/ui-basics/index';\r\nimport DisplayState from '../../../../shared/cx-components/DisplayState';\r\nimport * as S from './PersonaCreationStyles';\r\n\r\n\r\n\r\nexport default function PersonaDetails({ previousStep, nextStep, newPersona, setNewPersona }) {\r\n const genderOptions = PickListData('gender')\r\n\r\n const { t } = useTranslation()\r\n\r\n const handleChange = (attribute, value) => {\r\n setNewPersona({ ...newPersona, [attribute]: value })\r\n }\r\n\r\n const handleNextClick = () => {\r\n if (newPersona?.name === '') return toast.info(t('NAME_EMPTY'))\r\n nextStep()\r\n }\r\n\r\n const checkAge = (age) => {\r\n if (age < 0) return String(0)\r\n else if (age > 120) return String(120)\r\n else return String(age)\r\n }\r\n const updateState = (object) => {\r\n handleChange(\"isFuture\", object?.isFuture?.setEntityCurrentState())\r\n\t};\r\n return (\r\n \r\n {IconDispatcher('ARROW_LEFT', \"me-1\")}{t('ASPX_132')}\r\n \r\n \r\n \r\n {t(\"PERSONA_GENERAL_DETAILS\")}\r\n \r\n \r\n handleChange(\"name\", e.target.value.truncate(100))} autoFocus />\r\n \r\n \r\n \r\n handleChange(\"occupation\", e.target.value.truncate(100))} />\r\n \r\n
\r\n \r\n \r\n handleChange(\"age\", checkAge(e.target.value))} />\r\n \r\n \r\n \r\n handleChange(\"gender\", e.value)} />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {IconDispatcher(\"WIZARD-BAG\", \"\", { width: '280px' , height:'250px' })}\r\n \r\n
\r\n \r\n
\r\n \r\n {t(\"ASPX_127\")}{IconDispatcher(\"ANGLE-RIGHT\", \"ms-2\")}\r\n \r\n
\r\n
\r\n
\r\n\r\n )\r\n}\r\n\r\n","import React, { useState } from \"react\";\r\nimport StepWizard from \"react-step-wizard\";\r\nimport { useAsync } from \"shared/hooks/index\";\r\nimport { getAllPersonas } from \"@redux/index.js\";\r\nimport PersonaType from \"../creation/PersonaType.js\";\r\nimport PersonaDetails from \"../creation/PersonaDetails.js\";\r\nimport styled from \"styled-components/macro\";\r\nimport { Container } from \"reactstrap\";\r\nimport PersonaPicture from \"../creation/PersonaPicture.js\";\r\n\r\nlet custom = {\r\n\tenterRight: \"your custom css transition classes\",\r\n\tenterLeft: \"your custom css transition classes\",\r\n\texitRight: \"your custom css transition classes\",\r\n\texitLeft: \"your custom css transition classes\",\r\n\tintro: \"your custom css transition classes\",\r\n};\r\n\r\nexport default function PersonaCreationWizard() {\r\n\tconst query = new URLSearchParams(window.location.search.toLowerCase());\r\n\tconst isTemplate = query.get(\"istemplate\") === \"true\";\r\n\tconst [newPersona, setNewPersona] = useState({\r\n\t\tname: \"\",\r\n\t\toccupation: \"\",\r\n\t\tage: \"\",\r\n\t\tgender: \"\",\r\n\t\tisFuture: false,\r\n\t\tstandardImage: \"\",\r\n\t\tcustomImage: \"upload\",\r\n\t\timageExtension: \"\",\r\n\t\tisTemplate,\r\n\t});\r\n\r\n\tuseAsync({ asyncFn: getAllPersonas });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst MainContainer = styled(Container)`\r\n\tposition: relative;\r\n`;\r\n","import { IconDispatcher } from \"shared/Icons\";\r\nimport { firstLetterUppercase, isUserAllowed, resort } from \"@utils/helpers.js\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport PersonaProfileCard from \"../../forms/personas/cards/persona-sections-cards/PersonaProfileCard\";\r\nimport { PersonaValidation } from \"../contexts\";\r\nimport * as Style from \"./Style.js\";\r\n\r\nconst CardViewPersona = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst pathname = useLocation().pathname;\r\n\tconst history = useHistory();\r\n\tconst isInTemplate = pathname.includes(\"/templates\");\r\n\tconst [upDown, setUpDown] = useState(\"up\");\r\n\tconst [type, setType] = useState(\"name\");\r\n\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst personas = useSelector((state) => state.personas.all_personas?.filter((persona) => PersonaValidation(persona, pathname, null, showSampleData)));\r\n\r\n\tconst PersonaHeaderViewCard = useCallback(() => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"ALPHABETICAL\")} {IconDispatcher(\"arrow-up-arrow-down\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"JS_72\")}\r\n\t\t\t\t\t\t{IconDispatcher(\"arrow-up-arrow-down\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"NUMBER_RELATED_CJM\")} {IconDispatcher(\"arrow-up-arrow-down\")} \r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}, [upDown, type]);\r\n\r\n\tconst sort = useCallback(\r\n\t\t(e) => {\r\n\t\t\tconst currentType = e.currentTarget.id;\r\n\t\t\tif (currentType !== type) {\r\n\t\t\t\tsetUpDown(\"down\");\r\n\t\t\t} else {\r\n\t\t\t\tif (upDown === \"down\") {\r\n\t\t\t\t\tsetUpDown(\"up\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetUpDown(\"down\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tsetType(currentType);\r\n\t\t},\r\n\t\t[upDown, type]\r\n\t);\r\n\r\n\tconst goToPersonaCreation = () => {\r\n\t\thistory.push(!isInTemplate ? \"/persona-creation\" : \"/persona-creation?isTemplate=true\");\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{resort(personas, type, upDown).map((personaObject) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\t{isUserAllowed(userType, \"actions-dropdown\") && (\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"CIRCLE-PLUS\")}\r\n\t\t\t\t\t{firstLetterUppercase(t(\"ASPX_112\"))}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default CardViewPersona;\r\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction Svg2HandCelebrationEmoji(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 41,\n height: 40,\n viewBox: \"0 0 41 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.6755 0L20.0088 6.66667L23.3421 0H16.6755ZM28.6088 0.666667L28.1421 8.13333L34.3421 4L28.6088 0.666667ZM5.67545 4L11.9421 8.13333L11.4755 0.666667L5.67545 4Z\",\n fill: \"#4AA9FF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2752 40H4.40854V31.4L13.6085 33.5333C11.4085 35.8666 12.2752 40 12.2752 40Z\",\n fill: \"#EBA352\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.542 40H2.74199C2.74199 40 2.87532 35.7333 1.40865 32.0667L12.4087 33.6667C11.142 36.9333 11.542 40 11.542 40ZM10.6753 28.2667H14.0087V13.4667C14.0087 12.4667 13.2753 11.6667 12.342 11.6667C11.4087 11.6667 10.6753 12.4667 10.6753 13.5333V28.2667ZM6.74199 28.2667H10.6753V12.2C10.6753 11 9.80865 10 8.67532 10C7.60865 10 6.67532 11 6.67532 12.2V28.2667H6.74199Z\",\n fill: \"#FFDD67\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.34216 28.2667H6.80882V13.1333C6.80882 12.0667 6.00882 11.2 5.07549 11.2C4.14216 11.2 3.34216 12.0667 3.34216 13.1333V28.2667ZM1.74216 13.4667C0.875491 13.4667 0.208824 14.2667 0.208824 15.2667V28.2667H3.34216V15.2667C3.34216 14.2667 2.60882 13.4667 1.74216 13.4667Z\",\n fill: \"#FFDD67\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.3419 11.6H12.0086C12.8086 11.7333 13.4086 12.5333 13.4086 13.4V28.2667H14.0086V13.4667C14.0086 12.4667 13.2752 11.6 12.3419 11.6ZM8.74189 10C8.60856 10 8.54189 10 8.47523 10.0667C9.40856 10.2 10.1419 11.1333 10.1419 12.2V22.9333L10.7419 23.6V12.2C10.6752 11 9.80856 10 8.74189 10ZM5.07523 11.2H4.80856C5.60856 11.3333 6.20856 12.1333 6.20856 13.0667V22.8667L6.80856 23.5333V13.1333C6.74189 12.0667 6.00856 11.2 5.07523 11.2ZM1.74189 13.4667C1.60856 13.4667 1.54189 13.4667 1.47523 13.5333C2.20856 13.6667 2.74189 14.4 2.74189 15.2667V22.9333L3.34189 23.6V15.2667C3.34189 14.2667 2.60856 13.4667 1.74189 13.4667Z\",\n fill: \"#EBA352\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.6087 21.4666C18.6087 20.3333 16.6087 20.8666 15.2087 23.7999C14.2087 25.7999 13.942 25.3999 13.4087 25.5333V23.7333C13.4087 23.7333 0.142001 22.8666 0.142001 24.8666C0.142001 24.8666 -0.457999 29.7999 0.808668 32.8666C2.742 37.4666 12.6087 38.6666 15.6753 30.8666C16.2753 29.3333 17.142 27.6666 17.8087 25.9999C18.6753 23.9999 20.742 22.7999 19.6087 21.4666Z\",\n fill: \"#FFDD67\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.942 21C21.0754 22.6 17.142 25.6667 15.2754 30.4C12.6087 37.2 4.80869 37.2 1.54202 34.0667C4.54202 37.6 12.8754 38.2667 15.6754 30.8667C17.542 26.0667 22.0754 22.4 18.942 21Z\",\n fill: \"#EBA352\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.0089 25.4667C11.4089 24.5334 5.94221 26.3334 6.67554 31.5334C6.67554 26.6667 11.0089 25.5334 13.4089 25.5334C13.7422 25.5334 14.0089 25.4667 14.0089 25.4667ZM27.7422 40H35.6089V31.4L26.4089 33.5334C28.6089 35.8667 27.7422 40 27.7422 40Z\",\n fill: \"#EBA352\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.4755 40H37.2755C37.2755 40 37.1421 35.7333 38.6088 32.0667L27.6088 33.6667C28.8755 36.9333 28.4755 40 28.4755 40ZM29.3421 28.2667H26.0088V13.4667C26.0088 12.4667 26.7421 11.6667 27.6755 11.6667C28.6088 11.6667 29.3421 12.4667 29.3421 13.5333V28.2667ZM33.2755 28.2667H29.3421V12.2C29.3421 11 30.2088 10 31.3421 10C32.4088 10 33.3421 11 33.3421 12.2V28.2667H33.2755Z\",\n fill: \"#FFDD67\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.6754 28.2667H33.2087V13.1333C33.2087 12.0667 34.0087 11.2 34.9421 11.2C35.8754 11.2 36.6754 12.0667 36.6754 13.1333V28.2667ZM38.2754 13.4667C39.1421 13.4667 39.8087 14.2667 39.8087 15.2667V28.2667H36.6754V15.2667C36.6754 14.2667 37.4087 13.4667 38.2754 13.4667Z\",\n fill: \"#FFDD67\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.6755 11.6H28.0088C27.2088 11.7333 26.6088 12.5333 26.6088 13.4V28.2667H26.0088V13.4667C26.0088 12.4667 26.7421 11.6 27.6755 11.6ZM31.2755 10C31.4088 10 31.4755 10 31.5421 10.0667C30.6088 10.2 29.8755 11.1333 29.8755 12.2V22.9333L29.2755 23.6V12.2C29.3421 11 30.2088 10 31.2755 10ZM34.9421 11.2H35.2088C34.4088 11.3333 33.8088 12.1333 33.8088 13.0667V22.8667L33.2088 23.5333V13.1333C33.2755 12.0667 34.0088 11.2 34.9421 11.2ZM38.2755 13.4667C38.4088 13.4667 38.4755 13.4667 38.5421 13.5333C37.8088 13.6667 37.2755 14.4 37.2755 15.2667V22.9333L36.6755 23.6V15.2667C36.6755 14.2667 37.4088 13.4667 38.2755 13.4667Z\",\n fill: \"#EBA352\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4087 21.4666C21.4087 20.3333 23.4087 20.8666 24.8087 23.7999C25.8087 25.7999 26.0753 25.3999 26.6087 25.5333V23.7333C26.6087 23.7333 39.8753 22.8666 39.8753 24.8666C39.8753 24.8666 40.4753 29.7999 39.2087 32.8666C37.2753 37.4666 27.4087 38.6666 24.342 30.8666C23.742 29.3333 22.8753 27.6666 22.2087 25.9999C21.342 23.9999 19.2753 22.7999 20.4087 21.4666Z\",\n fill: \"#FFDD67\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.0753 21C18.942 22.6 22.8753 25.6667 24.742 30.4C27.4087 37.2 35.2087 37.2 38.4753 34.0667C35.4753 37.6 27.142 38.2667 24.342 30.8667C22.4753 26.0667 17.942 22.4 21.0753 21Z\",\n fill: \"#EBA352\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.0088 25.4667C28.6088 24.5334 34.0755 26.3334 33.3421 31.5334C33.3421 26.6667 29.0088 25.5334 26.6088 25.5334C26.2755 25.5334 26.0088 25.4667 26.0088 25.4667Z\",\n fill: \"#EBA352\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg2HandCelebrationEmoji);\nexport default __webpack_public_path__ + \"static/media/2hand-celebration-emoji.cf0ba241.svg\";\nexport { ForwardRef as ReactComponent };","import { getAllMapsListData, getAllPersonas } from \"@redux/index\";\r\nimport { getFolderById } from \"@redux/memoizedSelectors\";\r\nimport CardViewPersona from \"features/grid-table/components/CardViewPersona\";\r\nimport DataTable from \"features/grid-table/DataTable\";\r\nimport React, { useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { useAsyncs } from \"shared/hooks/index\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\n\r\nexport default function Personas() {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst { search } = useLocation();\r\n\tconst folderId = search.getFolderId();\r\n\tconst hideForPdf = search.hideForPdf();\r\n\tconst folderView = folderId === undefined ? false : true;\r\n\tconst [viewCard, setViewCard] = React.useState(false);\r\n\r\n\tconst { linkedPersonas } = useSelector((state) => getFolderById(state, folderId), shallowEqual);\r\n\r\n\tuseAsyncs({\r\n\t\tasyncFns: [{ asyncFn: getAllMapsListData }, { asyncFn: getAllPersonas }],\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tif (folderView && viewCard) {\r\n\t\t\tsetViewCard(false);\r\n\t\t}\r\n\t}, [folderView]);\r\n\r\n\tconst isShowViewButtons = () => {\r\n\t\tif (hideForPdf || folderView) return false;\r\n\t\treturn true;\r\n\t};\r\n\r\n\tconst renderViewButtons = (t) => {\r\n\t\tif (!isShowViewButtons()) return <>;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t setViewCard(true)} />\r\n\t\t\t\t setViewCard(false)} />\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderView = () => {\r\n\t\tif (viewCard) return ;\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{renderView()}\r\n\t\t\r\n\t);\r\n}\r\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgEmojiWavinghand(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 35,\n viewBox: \"0 0 36 35\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.27662 26.7132C7.98312 26.6545 7.74833 26.5958 7.45483 26.4784C7.16133 26.361 6.92653 26.3023 6.69174 26.1849C6.16344 25.9501 5.69385 25.6566 5.22425 25.3044C4.28506 24.6588 3.52197 23.7783 2.93497 22.7217C2.34798 21.7238 1.99578 20.5498 1.93708 19.4345C1.87838 18.8475 1.93708 18.3192 1.99578 17.7322C2.05448 17.4387 2.11318 17.2039 2.17188 16.9104C2.23058 16.6169 2.34798 16.3821 2.40668 16.0886L2.46538 16.9104C2.46538 17.2039 2.52408 17.4387 2.58278 17.7322C2.64147 18.2605 2.75887 18.7888 2.87627 19.2584C3.11107 20.2563 3.46327 21.1955 3.99156 22.076C4.51986 22.9565 5.10685 23.7783 5.86994 24.5414C6.22214 24.8936 6.63304 25.2458 7.04393 25.5979C7.22003 25.774 7.45483 25.9501 7.68963 26.1262L8.27662 26.7132ZM8.10052 28.8264C7.92442 28.9438 7.68963 29.0025 7.45483 29.0612C7.22003 29.1199 7.04393 29.1786 6.80914 29.1786C6.39824 29.2373 5.92864 29.296 5.45905 29.2373C4.57856 29.1786 3.63937 28.9438 2.87627 28.5329C2.05448 28.122 1.35009 27.4763 0.880492 26.7132C0.645694 26.361 0.410896 25.9501 0.234798 25.5392C0.176098 25.3631 0.117399 25.1284 0.0586994 24.8936C0.0586994 24.7175 0 24.5414 0 24.3066C0.176098 24.4827 0.293497 24.6588 0.410896 24.7762C0.586994 24.9523 0.704393 25.1284 0.821792 25.2458C1.11529 25.5392 1.35009 25.8327 1.64358 26.0675C2.23058 26.5958 2.81757 27.0654 3.52197 27.4176C4.16766 27.7698 4.93075 28.0633 5.63515 28.2981C5.98734 28.4155 6.39824 28.4742 6.80914 28.5916C6.98523 28.6503 7.22003 28.6503 7.39613 28.709C7.68963 28.7677 7.86573 28.7677 8.10052 28.8264ZM21.3666 0.298488C21.6601 0.357187 21.8949 0.474586 22.1884 0.591985C22.4819 0.709384 22.7167 0.826783 22.9515 0.944182C23.4798 1.23768 23.9494 1.53118 24.419 1.88337C25.3582 2.58777 26.1213 3.52696 26.6495 4.58355C27.1778 5.64014 27.4713 6.81413 27.4713 7.92942C27.4713 8.51641 27.4126 9.0447 27.2952 9.6317C27.2365 9.9252 27.1778 10.16 27.0604 10.4535C26.943 10.747 26.8843 10.9818 26.7669 11.2166L26.7082 10.3948C26.7082 10.1013 26.7082 9.8665 26.6495 9.573L26.4734 7.98811C26.2973 6.99022 25.9452 5.99233 25.4756 5.05314C25.006 4.11395 24.419 3.29216 23.7146 2.52907C23.3624 2.11817 22.9515 1.76597 22.5993 1.35508C22.4232 1.17898 22.1884 1.00288 21.9536 0.826783L21.3666 0.298488ZM26.4734 0.0636902C26.7082 0.12239 26.8843 0.181089 27.0604 0.298488C27.2365 0.357187 27.4713 0.474586 27.6474 0.591985C27.9996 0.826783 28.3518 1.06158 28.704 1.35508C29.3497 1.94207 29.878 2.64647 30.1715 3.46826C30.5237 4.29005 30.6411 5.17054 30.5237 6.05103C30.465 6.46193 30.3476 6.87282 30.2302 7.28372C30.1715 7.45982 30.0541 7.69462 29.9954 7.87072C29.878 8.04681 29.8193 8.22291 29.6432 8.39901V7.81202V7.22502C29.6432 6.81413 29.5845 6.46193 29.5845 6.10973C29.4671 5.34664 29.3497 4.64225 29.0562 3.99655C28.7627 3.29216 28.4105 2.70517 27.9996 2.05947C27.7648 1.76597 27.53 1.41378 27.2952 1.12028C27.1778 0.944182 27.0604 0.826783 26.8843 0.650685C26.7669 0.357187 26.5908 0.181089 26.4734 0.0636902Z\",\n fill: \"#42ADE2\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.69614 8.80992C3.52215 9.33822 3.11126 10.747 3.63955 11.921L11.0357 27.3589L15.1446 25.4219L7.74851 9.92521C7.22022 8.75122 5.87013 8.22293 4.69614 8.80992ZM24.1257 21.0781L28.4694 19.0236L20.0167 1.41379C19.4297 0.239803 18.0209 -0.288492 16.7882 0.298502C15.6142 0.885497 15.0859 2.29428 15.6729 3.52697L24.1257 21.0781Z\",\n fill: \"#FFDD67\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8468 0.239801C16.7294 0.2985 16.612 0.357199 16.4946 0.474598C17.6099 0.181101 18.7839 0.709396 19.3122 1.76599L27.7649 19.3758L28.528 19.0236L20.0753 1.41379C19.4883 0.181101 18.0795 -0.347194 16.8468 0.239801Z\",\n fill: \"#EBA352\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.1445 25.3632L19.6644 23.1913L11.0355 5.22925C10.4485 3.99656 8.92236 3.40957 7.68967 3.99656C6.45698 4.58355 5.92869 6.10974 6.51568 7.34243L15.1445 25.3632Z\",\n fill: \"#FFDD67\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.6896 4.05528C7.5722 4.11397 7.4548 4.17267 7.3374 4.29007C8.45269 3.99658 9.74408 4.52487 10.2724 5.64016L15.614 16.8518L16.9054 17.6148L11.0355 5.28796C10.4485 3.99658 8.98099 3.46828 7.6896 4.05528Z\",\n fill: \"#EBA352\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.9599 21.7825L23.4798 19.6106L14.851 1.64859C14.264 0.415901 12.7378 -0.171093 11.5051 0.474601C10.2724 1.0616 9.74411 2.58778 10.3311 3.82047L18.9599 21.7825Z\",\n fill: \"#FFDD67\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5051 0.415901C11.3877 0.474601 11.2703 0.592 11.1529 0.650699C12.2682 0.357202 13.5596 0.885497 14.0879 2.00079L20.1339 14.6799L21.4253 15.443L14.8509 1.64859C14.264 0.357202 12.7378 -0.171093 11.5051 0.415901ZM4.69595 8.80992C4.57855 8.86862 4.46115 8.92732 4.34375 9.04472C5.40034 8.75122 6.51563 9.27952 6.98522 10.3361L11.3877 19.5519L12.6791 20.315L7.74832 9.98391C7.22002 8.75122 5.86994 8.22293 4.69595 8.80992Z\",\n fill: \"#EBA352\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.5152 7.04894C32.9303 5.81625 30.3476 7.16634 29.0562 11.3927C28.1757 14.3277 28.0583 15.2082 26.1799 16.0887L25.1233 13.9168C25.1233 13.9168 8.45267 21.9586 9.09836 23.25C9.09836 23.25 11.0941 29.4721 14.4987 32.3484C19.5469 36.6922 31.3454 32.0549 31.8737 20.8433C32.1672 14.3277 36.2175 8.39903 34.5152 7.04894Z\",\n fill: \"#FFDD67\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.5151 7.04893C34.2216 6.81413 33.8694 6.69673 33.5172 6.63803C33.5759 6.69673 33.6933 6.69673 33.752 6.75543C35.513 8.10552 33.6933 11.2166 32.6954 14.0342C31.8736 16.2647 31.1693 18.554 31.2867 20.7846C31.7562 30.5287 21.9534 35.166 16.0835 33.405C21.836 35.8117 32.5193 31.2331 32.0497 21.0781C31.9323 18.8475 32.578 16.6756 33.4585 14.3277C34.3977 11.5101 36.2174 8.39901 34.5151 7.04893Z\",\n fill: \"#EBA352\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.7079 15.8539C23.0685 16.2647 17.7269 21.489 21.4836 27.1828C18.7248 21.4303 23.2446 17.5561 26.1209 16.206C26.4144 15.9713 26.7079 15.8539 26.7079 15.8539Z\",\n fill: \"#EBA352\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmojiWavinghand);\nexport default __webpack_public_path__ + \"static/media/emoji _waving hand.67be1e59.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgHornsEmoji(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 40,\n viewBox: \"0 0 27 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.0643 30.2267C4.33118 31.7612 5.86573 32.762 7.467 32.4952C9.06827 32.2283 10.1358 30.7604 9.80219 29.2259L5.79901 7.40858C5.53213 5.87403 3.99758 4.87323 2.39631 5.14011C0.795037 5.40699 -0.272476 6.87482 0.0611219 8.40937L4.0643 30.2267Z\",\n fill: \"#FFDD67\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.99931 32.0948C7.60058 31.8279 8.66809 30.3601 8.40121 28.8255L4.39804 7.00823C4.2646 6.2076 3.73084 5.47368 3.06364 5.07336C4.39804 5.14008 5.59899 6.07416 5.86587 7.40855L9.86904 29.2259C10.1359 30.7604 9.13513 32.2282 7.53386 32.4951C6.79994 32.6286 6.13275 32.4951 5.53227 32.1615C5.59899 32.1615 5.79915 32.1615 5.99931 32.0948Z\",\n fill: \"#EBA352\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.4128 21.6198C23.4128 21.6198 8.00055 22.9542 6.466 18.484L2.3961 21.4864C2.3961 21.4864 1.12843 28.8255 3.13002 33.7628C5.26505 39.0336 12.2706 38.7667 12.2706 38.7667C19.4763 40.2346 22.412 39.1003 25.4144 32.1615C26.4819 29.6929 23.4128 21.6198 23.4128 21.6198Z\",\n fill: \"#FFDD67\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.342 24.8223C18.2753 26.3569 19.4762 27.6913 21.0775 27.758C22.6788 27.8247 24.0799 26.6238 24.1466 25.0892L25.3476 2.93831C25.4143 1.40376 24.2133 0.0693706 22.6121 0.00265094C21.0108 -0.0640687 19.6097 1.13688 19.543 2.67144L18.342 24.8223Z\",\n fill: \"#FFDD67\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.8768 27.0908C21.4781 27.1576 22.8792 25.9566 22.9459 24.4221L24.0135 2.20442C24.0802 1.33707 23.6799 0.603154 23.1461 0.069397C24.4805 0.402995 25.4146 1.60395 25.3479 2.93834L24.2136 25.0893C24.1469 26.6238 22.7458 27.8248 21.1445 27.758C20.4106 27.6913 19.7434 27.4244 19.2764 26.9574C19.4765 27.0241 19.6767 27.0241 19.8768 27.0908Z\",\n fill: \"#EBA352\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.13326 16.4157C7.13326 14.8144 8.40093 13.5467 10.0022 13.5467H10.0689C11.6702 13.5467 12.9379 14.8144 12.9379 16.4157V20.8859C12.9379 22.4872 11.6702 23.7548 10.0689 23.7548H10.0022C8.40093 23.7548 7.13326 22.4872 7.13326 20.8859V16.4157ZM13.0046 16.0821C13.0046 14.4808 14.2723 13.2131 15.8735 13.2131H15.9402C17.5415 13.2131 18.8092 14.4808 18.8092 16.0821V20.5523C18.8092 22.1536 17.5415 23.4212 15.9402 23.4212H15.8735C14.2723 23.4212 13.0046 22.1536 13.0046 20.5523V16.0821Z\",\n fill: \"#FFDD67\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.20158 22.6873C10.8696 22.6873 12.1372 21.4196 12.1372 19.8851V15.4149C12.1372 15.0145 12.0705 14.6142 11.8704 14.2139C12.5376 14.7477 13.0046 15.5483 13.0046 16.4824V20.9526C13.0046 22.5539 11.7369 23.7548 10.1357 23.7548H10.0689C8.86798 23.7548 7.86719 23.0876 7.46687 22.0868C7.93391 22.4204 8.53439 22.6873 9.20158 22.6873ZM15.0729 22.3537C16.7409 22.3537 18.0086 21.086 18.0086 19.5515V15.0813C18.0086 14.6809 17.9419 14.2806 17.7417 13.8803C18.4089 14.4141 18.8759 15.2147 18.8759 16.1488V20.619C18.8759 22.2203 17.6083 23.4212 16.007 23.4212H15.9403C14.7393 23.4212 13.7385 22.754 13.3382 21.7532C13.8052 22.1535 14.4057 22.3537 15.0729 22.3537ZM21.011 26.4903C17.0745 25.0892 10.1357 27.6913 11.0697 34.4967C11.0697 28.0916 17.0078 26.557 20.3438 26.557C20.7441 26.557 21.011 26.4903 21.011 26.4903Z\",\n fill: \"#EBA352\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.077 19.885C17.8752 18.2837 17.2081 20.4188 13.2716 20.0852C11.5369 19.9517 10.4027 23.4212 12.8713 25.0224C16.3407 27.2242 16.8745 24.6888 17.6751 25.7563C18.4757 26.8906 19.3431 27.2242 20.0103 28.4918C20.4773 29.4259 24.4805 28.5586 25.1477 26.7571C26.4154 23.4211 23.4797 22.4871 20.077 19.885Z\",\n fill: \"#EBA352\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.277 20.5523C18.0086 18.8843 17.2746 21.0861 13.138 20.7525C11.3366 20.619 10.1356 24.2219 12.7377 25.8899C16.3406 28.1583 16.941 25.5563 17.7417 26.6905C18.609 27.8915 19.4764 28.2251 20.2103 29.5595C20.7441 30.5602 18.7425 33.8962 18.7425 33.8962C18.7425 33.8962 22.3453 37.6325 23.4796 35.8978C25.6146 32.6286 25.9482 30.7604 26.1483 28.6921C26.4819 23.8883 23.8799 23.2211 20.277 20.5523Z\",\n fill: \"#FFDD67\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.61 29.5595C19.7434 29.8931 19.6767 30.4269 19.4766 30.9606C19.8769 30.0933 20.1438 29.1592 19.9436 28.6921C19.2764 27.3578 18.8094 27.0242 17.942 25.8232C17.1414 24.689 16.5409 27.291 12.938 25.0226C11.6036 24.1552 11.27 22.8208 11.5369 21.6866C10.8697 22.8208 10.9364 24.7557 12.6044 25.8232C16.2073 28.0917 16.8078 25.4896 17.6084 26.6238C18.5425 27.8915 18.9428 28.2251 19.61 29.5595Z\",\n fill: \"#EBA352\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.0794 21.9535C27.6831 25.4896 25.6815 32.4285 23.4797 35.3641C20.0103 39.9678 16.8078 39.3006 12.3376 38.3665C12.3376 38.3665 6.46624 39.0337 3.2637 33.8296C5.26529 39.3006 12.3376 39.0337 12.3376 39.0337C17.1414 40.5015 20.4774 40.8351 24.1469 36.098C26.4154 33.0957 28.9508 24.8224 23.0794 21.9535Z\",\n fill: \"#EBA352\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHornsEmoji);\nexport default __webpack_public_path__ + \"static/media/horns-emoji.896a8eea.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgVictoryHandEmoji(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 40,\n viewBox: \"0 0 27 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8908 19.9346C16.5574 21.4014 17.4908 22.9348 19.0242 23.2682C20.5577 23.6015 22.0911 22.6681 22.4244 21.2014L26.4914 3.73357C26.8247 2.26681 25.8913 0.733381 24.3579 0.400026C22.8245 0.0666716 21.291 1.00006 20.9577 2.46683L16.8908 19.9346Z\",\n fill: \"#FFDD67\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.9574 22.4015C19.5575 22.7348 21.0243 21.8014 21.4243 20.3347L25.4912 2.86689C25.6912 2.06684 25.4912 1.26679 25.0245 0.666748C26.4246 1.26679 26.8913 2.46686 26.6246 3.80028L22.5577 21.2681C22.2244 22.7348 20.6909 23.7349 19.1575 23.3349C18.4241 23.2015 17.8907 22.8015 17.4907 22.2681C17.5574 22.2681 17.7574 22.3348 17.9574 22.4015Z\",\n fill: \"#EBA352\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1578 21.6682C22.1578 21.6682 16.3574 15.9345 6.09009 18.8013C6.09009 18.8013 0.0230357 19.868 0.35639 22.9349C0.35639 22.9349 0.156378 30.5354 2.75654 35.069C6.69013 41.8028 21.8244 42.8695 25.6247 30.4021C26.4247 27.9352 25.8247 21.2681 22.1578 21.6682Z\",\n fill: \"#FFDD67\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8237 20.9347C12.0904 22.4682 13.6238 23.4016 15.1572 23.1349C16.6907 22.8682 17.7574 21.4014 17.4907 19.868L14.1572 2.26687C13.8905 0.733439 12.3571 -0.199954 10.8236 0.06673C9.29019 0.333414 8.22346 1.80017 8.55681 3.33361L11.8237 20.9347Z\",\n fill: \"#FFDD67\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.757 22.7348C15.3571 22.4681 16.3571 21.0013 16.0904 19.4679L12.7569 1.86679C12.5569 1.06673 12.0235 0.400026 11.3568 0C12.8236 0 13.8903 0.933393 14.157 2.26681L17.4905 19.8679C17.7572 21.4014 16.7572 22.8681 15.2237 23.1348C14.4903 23.2682 13.8236 23.1348 13.2236 22.8015C13.3569 22.8015 13.557 22.8015 13.757 22.7348Z\",\n fill: \"#EBA352\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.0228811 20.0679C-0.177132 18.5344 0.956274 17.1343 2.55638 16.9343H2.62305C4.15648 16.801 5.62324 17.8677 5.75658 19.4678L6.22328 23.8014C6.42329 25.3349 5.28988 26.735 3.68978 26.935H3.62311C2.02301 27.0683 0.622919 26.0016 0.489577 24.4015L0.0228811 20.0679Z\",\n fill: \"#FFDD67\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.42327 16.9343C5.22326 15.4009 6.35666 14.0008 7.95677 13.8008H8.02344C9.62354 13.6674 11.0236 14.7342 11.157 16.3343L11.6237 20.6679C11.8237 22.2013 10.6903 23.6014 9.09017 23.8014H9.0235C7.4234 23.9348 6.02331 22.868 5.88997 21.2679L5.42327 16.9343Z\",\n fill: \"#FFDD67\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75637 26.0017C4.35647 25.8017 5.42321 24.4683 5.28987 22.8681L4.82317 18.5345C4.7565 18.1345 4.55649 17.6678 4.35647 17.2678C5.35654 17.7345 5.68989 18.5345 5.82324 19.4679L6.28993 23.8015C6.48994 25.335 5.35654 26.7351 3.82311 26.8684C2.6897 27.0017 1.62297 26.4017 1.0896 25.535C1.48963 25.8683 2.08966 26.0684 2.75637 26.0017ZM8.09005 22.8681C9.69015 22.6681 10.8236 21.3347 10.6235 19.8013L10.1568 15.4677C10.0902 15.0677 9.89016 14.5343 9.69015 14.2009C10.6235 14.7343 11.0236 15.5343 11.1569 16.4677L11.6236 20.8014C11.8236 22.3348 10.6902 23.6682 9.09011 23.8682H9.02344C7.89003 24.0016 6.8233 23.4015 6.28993 22.5348C6.8233 22.8015 7.42334 22.9348 8.09005 22.8681ZM19.6241 25.8683C16.4239 24.3349 9.15678 27.0017 10.6235 33.6688C10.6235 26.7351 16.8906 25.535 19.6241 25.8683Z\",\n fill: \"#EBA352\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.4239 19.0012C16.0904 17.6011 15.6904 19.8013 11.7568 19.9346C10.0234 20.0013 9.28998 23.5348 11.8901 24.8016C15.4904 26.6017 15.7571 24.0682 16.6905 25.0683C17.6238 26.135 18.4906 26.335 19.2906 27.5351C19.8907 28.4018 24.3576 27.0684 24.8243 25.2683C25.691 21.7347 22.0241 21.2014 18.4239 19.0012Z\",\n fill: \"#EBA352\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.6909 19.6012C16.2908 18.2012 15.8241 20.4013 11.7571 20.5346C9.95702 20.6013 9.15696 24.2682 11.8905 25.6016C15.624 27.4684 15.9574 24.8016 16.8241 25.8683C17.8242 26.9351 18.6909 27.2017 19.5576 28.4685C20.1577 29.4019 18.5576 32.8688 18.5576 32.8688C18.5576 32.8688 23.1579 36.1356 24.0913 34.2689C25.8247 30.802 25.358 28.1351 25.2913 26.135C25.158 21.4014 22.4912 21.8681 18.6909 19.6012Z\",\n fill: \"#FFDD67\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.2909 21.9347C25.8244 23.1348 25.6911 29.7352 23.8243 32.9354C19.0906 40.8692 8.68998 40.7359 3.823 36.469C8.35662 41.3359 19.424 41.8026 24.5577 33.6021C26.6245 30.3352 27.2912 22.7347 23.2909 21.9347Z\",\n fill: \"#EBA352\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.0241 28.5351C19.2241 28.8018 19.1574 29.3352 19.0908 29.9352C19.3575 29.0018 19.5575 28.0684 19.2908 27.6684C18.4907 26.4017 18.024 26.135 17.024 25.0682C16.0906 24.0682 15.8239 26.6683 12.0903 24.8016C10.6902 24.1349 10.2235 22.8014 10.3569 21.668C9.82352 22.8681 10.0902 24.7349 11.8903 25.6683C15.6239 27.5351 15.9572 24.8682 16.824 25.935C17.7574 27.0017 18.2241 27.2684 19.0241 28.5351Z\",\n fill: \"#EBA352\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgVictoryHandEmoji);\nexport default __webpack_public_path__ + \"static/media/victory-hand-emoji.951d20e6.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactComponent as CelebrationIcon } from \"@Assets/All/2hand-celebration-emoji.svg\";\r\nimport { ReactComponent as WavingHand } from \"@Assets/homePage/emoji _waving hand.svg\";\r\nimport { ReactComponent as HornsIcon } from \"@Assets/homePage/horns-emoji.svg\";\r\nimport { ReactComponent as VictoryHandICon } from \"@Assets/homePage/victory-hand-emoji.svg\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components\";\r\nimport { Flex } from \"features/comments/modals/comment-center.style\";\r\nimport { Button, IconDispatcher } from \"shared/ui-basics\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { UserType } from \"utils/optionsSets/OptionSets\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { findWorkspaceById } from \"redux/memoizedSelectors\";\r\nimport { useGetIsLoggedUserWorkspaceOwner } from \"shared/hooks\";\r\n\r\nexport const Header = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst loggerUserInfo = useSelector((state: any) => state?.auth?.userInfo);\r\n\tconst currentWorkspace = useSelector(findWorkspaceById(currentWorkspaceId));\r\n\tconst isWorkspaceOWner = useGetIsLoggedUserWorkspaceOwner(currentWorkspace);\r\n\tconst loggerUserType = Number(loggerUserInfo.UserType);\r\n\tconst isShowInvite = isWorkspaceOWner || loggerUserType === UserType.companyAdmin || loggerUserType === UserType.admin;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(getCorrectTime())}\r\n\t\t\t\t{loggerUserInfo?.UserFullName?.split(\" \")[0]}\r\n\t\t\t\t{IconHomeValidation(getCorrectTime())}\r\n\t\t\t\r\n {isShowInvite && (\r\n
\r\n \r\n
\r\n )}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst getCorrectTime = () => {\r\n\tconst now = new Date();\r\n\tif (now.getHours() > 5 && now.getHours() < 12) return \"GOOD_MORNING\";\r\n\tif (now.getHours() >= 12 && now.getHours() <= 18) return \"GOOD_AFTERNOON\";\r\n\tif (now.getHours() > 18 && now.getHours() <= 22) return \"GOOD_EVENING\";\r\n\tif (now.getHours() > 22 || now.getHours() <= 5) return \"GOOD_NIGHT\";\r\n};\r\n\r\nconst IconHomeValidation = (type) => {\r\n\tswitch (type) {\r\n\t\tcase \"GOOD_MORNING\":\r\n\t\t\treturn ;\r\n\t\tcase \"GOOD_NIGHT\":\r\n\t\t\treturn ;\r\n\t\tcase \"GOOD_AFTERNOON\":\r\n\t\t\treturn ;\r\n\t\tcase \"GOOD_EVENING\":\r\n\t\t\treturn ;\r\n\t\tdefault:\r\n\t\t\treturn ;\r\n\t}\r\n};\r\n\r\nconst Container = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 32px;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tpadding-bottom: 32px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/learn-ask-alex.e98e0553.jpg\";","export default __webpack_public_path__ + \"static/media/learn-opportunities.477963a0.jpg\";","export default __webpack_public_path__ + \"static/media/learn-program.3b6395c0.jpg\";","export default __webpack_public_path__ + \"static/media/learn-voc.d97acea1.jpg\";","import AskAlexImg from \"@Assets/homePage/learn-ask-alex.jpg\";\r\nimport OpportunitiesImg from \"@Assets/homePage/learn-opportunities.jpg\";\r\nimport ProgramsImg from \"@Assets/homePage/learn-program.jpg\";\r\nimport VocImg from \"@Assets/homePage/learn-voc.jpg\";\r\nimport { Flex } from \"features/comments/modals/comment-center.style\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const Learn = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"LEARN\")}\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\ninterface LearnCardProps {\r\n\timage: string;\r\n\ttitle: string;\r\n\turl: string;\r\n\ttime: string;\r\n}\r\n\r\nconst LearnCard: React.FC = ({ image, title, url, time }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t window.open(url, \"_blank\")}>\r\n\t\t\t\r\n\t\t\t\t\"\"\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(title)}\r\n\t\t\t\t
\r\n\t\t\t\t\t
{IconDispatcher(\"YOUTUBE\")}
\r\n\t\t\t\t\t{`${time} ${t(\"MINUTES_WATCH\")}`}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst SectionTitle = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst Container = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst CardContainer = styled.div`\r\n\theight: 286px;\r\n\twidth: 282px;\r\n\tborder-radius: 8px;\r\n\tborder: 1px solid #d9d9d9;\r\n\tbox-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.15);\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst ImageContainer = styled.div`\r\n\theight: 150px;\r\n\timg {\r\n\t\tborder-top-left-radius: 7px;\r\n\t\tborder-top-right-radius: 7px;\r\n\t\tobject-fit: cover;\r\n\t\tmax-width: 100%;\r\n\t\twidth: 100%;\r\n\t\theight: 150px;\r\n\t}\r\n`;\r\n\r\nconst Body = styled.div`\r\n\theight: 136px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\n\r\nconst FooterText = styled.div`\r\n\tcolor: #595959;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 150%;\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/quick-action.1f965dab.png\";","import QuickActionImg from \"@Assets/homePage/quick-action.png\";\r\nimport { Flex } from \"features/comments/modals/comment-center.style\";\r\nimport AICreation from \"features/journey-map/modals/AI/ai-creation.jsx\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { PromptAICreation } from \"shared/modals\";\r\nimport { Button } from \"shared/ui-basics/buttons.js\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index.js\";\r\nimport styled from \"styled-components\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport const QuickActions = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst userInfo = useSelector((state: any) => state.auth?.userInfo);\r\n\tconst aiAllowed = useSelector(({ settings }) => settings.subscriptionDetails.aiEnabled);\r\n\r\n\tconst [showJourneyAiModal] = useModal(AICreation);\r\n\tconst [showPersonaAiModal] = useModal(PromptAICreation);\r\n\r\n\tconst isEnterprise = userInfo.UserSubscriptionPlanName?.toLowerCase() === \"enterprise\";\r\n\r\n\tconst handleRedirectCjmAI = () => {\r\n\t\thistory.push(`/journey-map`);\r\n\t\tshowJourneyAiModal();\r\n\t};\r\n\r\n\tconst handleRedirectPersonaAI = () => {\r\n\t\thistory.push(`/personas`);\r\n\t\tshowPersonaAiModal();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"READY_MAP_NEXT_IDEA\")}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{isEnterprise && aiAllowed && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\twidth: 100%;\r\n\tborder-radius: 8px;\r\n\tborder: 1px solid #d9d9d9;\r\n\tbackground: #fff;\r\n\tbox-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.15);\r\n\tmargin-bottom: 48px;\r\n\tbackground-image: url(${QuickActionImg});\r\n\tbackground-size: cover;\r\n\tbackground-position: center;\r\n\twidth: 100%;\r\n\theight: 152px;\r\n\tmax-width: 100%;\r\n`;\r\n\r\nconst Body = styled.div`\r\n\tpadding: 32px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 32px;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n","import { Flex } from \"features/comments/modals/comment-center.style\";\r\nimport Personas from \"features/grid-table/columns-components/Personas\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport styled from \"styled-components\";\r\nimport { EMPTY_GUID, getTimeSince } from \"utils/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface RecentWorkCardProps {\r\n\trecordId: string;\r\n\tentityName: string;\r\n\tname: string;\r\n\tcreatedOn: string;\r\n\tisSample: boolean;\r\n\trelatedItems: any;\r\n}\r\n\r\nexport const RecentWorkCard: React.FC = ({ recordId, entityName, name, createdOn, isSample = false, relatedItems }) => {\r\n\tconst history = useHistory();\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst getEntityData = (entityName: string) => {\r\n\t\tconst data: { defaultName?: string; icon?: string; redirect?: () => void; renderRelatedItems?: () => void } = {};\r\n\t\tswitch (entityName) {\r\n\t\t\tcase \"cem_cxprogram\":\r\n\t\t\t\tdata[\"defaultName\"] = \"NEW_CX_PROGRAM\";\r\n\t\t\t\tdata[\"icon\"] = \"CX-PROGRAM\";\r\n\t\t\t\tdata[\"redirect\"] = () => history.push(`/EditCxProgram?programid=${recordId}`);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cem_customerjourney\":\r\n\t\t\t\tdata[\"defaultName\"] = \"ASPX_125\";\r\n\t\t\t\tdata[\"icon\"] = \"CJM\";\r\n\t\t\t\tdata[\"redirect\"] = () => history.push(`/EditMap?cjmid=${recordId}&personaId=${relatedItems[0]?.recordId || EMPTY_GUID}&origin=1`);\r\n\t\t\t\tdata[\"renderRelatedItems\"] = ({ relatedItems }: any) => {\r\n\t\t\t\t\tconst linkedPersonas: string[] = [];\r\n\t\t\t\t\trelatedItems?.forEach((relatedItem) => linkedPersonas.push(relatedItem.recordId));\r\n\t\t\t\t\treturn Personas({ linkedPersonas }, 1, 28);\r\n\t\t\t\t};\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cem_persona\":\r\n\t\t\t\tdata[\"defaultName\"] = \"JS_82\";\r\n\t\t\t\tdata[\"icon\"] = \"PERSONA\";\r\n\t\t\t\tdata[\"redirect\"] = () => history.push(`/EditPersona?personaIdStr=${recordId}`);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cem_insight\":\r\n\t\t\t\tdata[\"defaultName\"] = \"NEW_INSIGHT_NAME\";\r\n\t\t\t\tdata[\"icon\"] = \"GEM\";\r\n\t\t\t\tdata[\"redirect\"] = () => history.push(`/insights?id=${recordId}`);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cem_cxopportunity\":\r\n\t\t\t\tdata[\"defaultName\"] = \"NEW_OPPORTUNITY_NAME\";\r\n\t\t\t\tdata[\"icon\"] = \"OPPORTUNITY\";\r\n\t\t\t\tdata[\"redirect\"] = () => history.push(`/opportunity?id=${recordId}`);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cem_cxsolution\":\r\n\t\t\t\tdata[\"defaultName\"] = \"NEW_SOLUTION_NAME\";\r\n\t\t\t\tdata[\"icon\"] = \"SOLUTION\";\r\n\t\t\t\tdata[\"redirect\"] = () => history.push(`/solutions?id=${recordId}`);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cem_cxactiontask\":\r\n\t\t\t\tdata[\"defaultName\"] = \"NEW_CX_ACTION_NAME\";\r\n\t\t\t\tdata[\"icon\"] = \"MENU-ACTION\";\r\n\t\t\t\tdata[\"redirect\"] = () => history.push(`/cx-actions?id=${recordId}`);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cem_cxproject\":\r\n\t\t\t\tdata[\"defaultName\"] = \"NEW_PROJECT\";\r\n\t\t\t\tdata[\"icon\"] = \"PROJECT\";\r\n\t\t\t\tdata[\"redirect\"] = () => history.push(`/EditProject?id=${recordId}`);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn data;\r\n\t};\r\n\tconst { redirect, icon, renderRelatedItems, defaultName } = getEntityData(entityName) || {};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(icon)}\r\n\t\t\t\t{name || t(defaultName)}\r\n\t\t\t\r\n\t\t\t{renderRelatedItems && renderRelatedItems({ relatedItems })}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Card = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n\twidth: 218px;\r\n\theight: 220px;\r\n\tpadding: 16px;\r\n\tborder-radius: 8px;\r\n\tborder: 1px solid #d9d9d9;\r\n\tbackground: ${({ background }: any) => background};\r\n\tbox-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.15);\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t\tbox-shadow: 0px 9px 28px 8px rgba(0, 0, 0, 0.05), 0px 6px 16px 0px rgba(0, 0, 0, 0.08), 0px 3px 6px -4px rgba(0, 0, 0, 0.12);\r\n\t}\r\n`;\r\n\r\nconst Title = styled.div`\r\n\theight: 64px;\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 150%;\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 3;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n\r\nconst Time = styled.div`\r\n\tcolor: #595959;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 150%; /* 18px */\r\n\tjustify-self: end;\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\twidth: 32px;\r\n\theight: 32px;\r\n\tsvg {\r\n\t\twidth: 32px;\r\n\t\theight: 32px;\r\n\t}\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { Button } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nexport const RecentWorkEmpty = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst isReadOnly = useSelector(({ auth }: any) => auth.userInfo.UserType)?.isReadOnly();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t👀\r\n\t\t\t\t{t(\"STILL_EMPTY\")}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t(\"JOURNEY_TO_BETTER_INSIGHTS\")}\r\n\t\t\t\t\r\n\t\t\t\t\t{!isReadOnly && }\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Card = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 32px;\r\n\twidth: 100%;\r\n\tpadding: 32px;\r\n\tborder-radius: 8px;\r\n\tborder: 1px solid #d9d9d9;\r\n\tbox-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.15);\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst Emoji = styled.span`\r\n\tfont-size: 36px;\r\n\tmargin-bottom: 8px;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 28px;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst Description = styled.div`\r\n\twidth: 600px;\r\n\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 22px;\r\n`;\r\n\r\nconst ButtonsGroup = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 24px;\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { getAllPersonas, getRecentWorks } from \"../../../../redux/index\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport styled from \"styled-components\";\r\nimport { RecentWorkCard } from \"./RecentWorkCard\";\r\nimport { RecentWorkEmpty } from \"./RecentWorkEmpty\";\r\n\r\nexport const RecentWork = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"RECENT_WORK\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst RecentWorkLoaded = () => {\r\n\tconst recentWorks = useSelector(({ settings }: any) => settings?.recentWorks);\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{recentWorks?.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t{recentWorks?.map((recentWork: any, i: number) => (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst RecentWorkContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 24px;\r\n\tmargin-bottom: 48px;\r\n`;\r\n\r\nconst SectionTitle = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst SectionBody = styled.div`\r\n\tposition: relative;\r\n\tmin-height: 160px;\r\n`;\r\n\r\nconst RecordsContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 28px;\r\n`;\r\n","/* eslint-disable no-extend-native */\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components\";\r\nimport { Header } from \"../components/Header\";\r\nimport { Learn } from \"../components/Learn\";\r\nimport { QuickActions } from \"../components/QuickActions\";\r\nimport { RecentWork } from \"../components/recentWork/RecentWork\";\r\n\r\nexport default function Home() {\r\n\tconst { userInfo } = useSelector((state) => state.auth);\r\n\tconst isReadOnly = userInfo.UserType?.isReadOnly();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{!isReadOnly && }\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst MainContainer = styled.div`\r\n\twidth: 1200px;\r\n\tmargin-top: 24px;\r\n padding: 0px !important;\r\n`;\r\n\r\nconst Body = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\theight: inherit;\r\n`;\r\n","import { getAllMapsListData, getAllPersonas } from \"@redux/index\";\r\nimport { getFolderById } from \"@redux/memoizedSelectors\";\r\nimport DataTable from \"features/grid-table/DataTable\";\r\nimport { getAllInsights } from \"features/insights/reducer/InsightActions\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { useAsyncs } from \"shared/hooks/index\";\r\n\r\nexport default function Insights() {\r\n\tconst { t } = useTranslation();\r\n\tconst { search } = useLocation();\r\n\r\n\tconst folderId = search.getFolderId();\r\n\tconst { linkedInsights } = useSelector((state) => getFolderById(state, folderId), shallowEqual);\r\n\tuseAsyncs({\r\n\t\tasyncFns: [\r\n\t\t\t{ asyncFn: getAllInsights },\r\n\t\t\t{ asyncFn: getAllMapsListData },\r\n\t\t\t{ asyncFn: getAllPersonas },\r\n\r\n\t\t],\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { getFolderById } from \"@redux/memoizedSelectors\";\r\nimport DataTable from \"features/grid-table/DataTable\";\r\nimport { getAllProjects } from \"features/projects/reducer/ProjectsActions\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { useAsyncs } from \"shared/hooks/index\";\r\n\r\nexport default function Projects() {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst folderId = useLocation().search.getFolderId();\r\n\tconst { linkedProjects } = useSelector((state) => getFolderById(state, folderId), shallowEqual);\r\n\r\n\tuseAsyncs({\r\n\t\tasyncFns: [{ asyncFn: getAllProjects }],\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { useDebounce } from \"shared/hooks/index\";\r\nimport { SearchBar, SettingPageContainer } from \"shared/ui-basics/index\";\r\nimport { EntityListItem } from \"shared/ui-basics/ui-components/EntityListItem\";\r\nimport styled from \"styled-components\";\r\nimport { useAdvancedSearch } from \"../reducer/QueryAction\";\r\n\r\nexport const Search = () => {\r\n const { t } = useTranslation();\r\n const { search } = useLocation();\r\n const query = search.getQuery();\r\n const subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\r\n const [key, setKey] = useState(\"Maps\");\r\n const [value, setValue] = useState(query)\r\n const [result, setResult] = useState(undefined)\r\n const [count, SetCount] = useState(0);\r\n const isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n const debouncedSearchTerm = useDebounce(value, 600);\r\n\r\n\r\n const callbackData = (data) => {\r\n if (data) {\r\n SetCount(0);\r\n Object.keys(data)?.map((key, index) => SetCount((prevState) => prevState + (data[key]?.length)))\r\n setResult(data);\r\n }\r\n }\r\n\r\n const [loading] = useAdvancedSearch(value, true, callbackData,debouncedSearchTerm);\r\n\r\n const handleChange = (e) => {\r\n setValue(e.target.value)\r\n if (e.target.value === \"\") {\r\n SetCount(0);\r\n setResult(undefined);\r\n }\r\n }\r\n const sentRequest = (e) => {\r\n if (e.key === 'Enter' && e.target.value !== \"\") {\r\n setResult(undefined);\r\n }\r\n }\r\n const Search = SearchBar({ globalFilterValue: value, handleChange, size: \"small\", floatLabel: false, onKeyDown: sentRequest });\r\n\r\n return \r\n

{t(\"SEARCH_RESULTS\")}

\r\n {value && Search}\r\n {loading && }\r\n {!loading && result &&\r\n
\r\n
{count} {t(\"RESULT_CONTAINS\")} ”{value}”
\r\n setKey(k)} className=\"mb-3\" mountOnEnter={true} unmountOnExit={true}>\r\n\r\n \r\n \r\n
\r\n {result[EntityList.Global]?.map((action, index) => )}\r\n
\r\n
\r\n
\r\n {isSubscriptionAllowed && \r\n \r\n
\r\n {result[EntityList.CXProgram]?.map((program, index) => )}\r\n
\r\n
\r\n
\r\n }\r\n\r\n \r\n \r\n
\r\n {result[EntityList.Persona]?.map((persona, index) => )}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n {result[EntityList.CustomerJourney]?.map((cjm, index) => )}\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n {result[EntityList.Insight]?.map((insight, index) => )}\r\n
\r\n\r\n
\r\n
\r\n\r\n {isSubscriptionAllowed && \r\n \r\n
\r\n {result[EntityList.Opportunity]?.map((opp, index) => )}\r\n
\r\n
\r\n
}\r\n\r\n\r\n\r\n {isSubscriptionAllowed && \r\n \r\n
\r\n {result[EntityList.Solution]?.map((sol, index) => )}\r\n
\r\n
\r\n
\r\n }\r\n\r\n\r\n {isSubscriptionAllowed && \r\n \r\n
\r\n {result[EntityList.Action]?.map((action, index) => )}\r\n
\r\n
\r\n
\r\n }\r\n \r\n \r\n
\r\n {result[EntityList.Project]?.map((action, index) => )}\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n }\r\n
\r\n}\r\nconst ScrollContainer = styled.div`\r\n\twidth: 100%;\r\n\theight: calc(100vh - 280px);\r\n`;","import { memo, useState } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { Button, GenericButton, IconDispatcher } from \"../ui-basics\";\r\n\r\nconst BasicActionsDropdown = memo(({ id = \"\", actions, dropdownClasses = \"\", size = \"m\", stopPropagation = false, isDisabled = false }) => {\r\n\tconst [showDropdown, setShowDropdown] = useState(false);\r\n\tconst handleDropdownToggle = (isOpen, event) => {\r\n\t\tif (stopPropagation) event.originalEvent.stopPropagation();\r\n\t\tsetShowDropdown(isOpen);\r\n\t};\r\n\r\n\tconst handleClickItem = (action, e) => {\r\n\t\te.stopPropagation();\r\n\t\tif (action.handleClick) {\r\n\t\t\taction?.handleClick(e);\r\n\t\t}\r\n\t\tif (action.customItem) return;\r\n\t\tsetShowDropdown(!showDropdown);\r\n\t};\r\n\tconst DisplayDropdownItem = ({ action, index }) => {\r\n\t\tif (action?.divider) return ;\r\n\t\tif (action.header) return
{action.header}
;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t handleClickItem(action, e)}\r\n\t\t\t\t\tdisabled={action?.disabled ? action.disabled : false}\r\n\t\t\t\t\tclickable={action?.clickable ? action.clickable.toString() : \"true\"}\r\n\t\t\t\t\tdraggable=\"false\" // Add this attribute to disable dragging\r\n\t\t\t\t>\r\n\t\t\t\t\t{action?.customItem ? (\r\n\t\t\t\t\t\t
{action.customItem}
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{action?.text}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(\"ellipsis\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{actions?.map((action, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\n\r\nBasicActionsDropdown.displayName = \"BasicActionsDropdown\";\r\nexport { BasicActionsDropdown };\r\n\r\nconst DropdownWrapper = styled(Dropdown)`\r\n\tmargin: 0 !important;\r\n\tdisplay: flex;\r\n\r\n\t.dropdown-toggle:after {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.dropdown-item:hover {\r\n\t\tvisibility: visible;\r\n\t}\r\n\r\n\t.dropdown-menu.show {\r\n\t\tpadding: 0 !important;\r\n\t\tbox-shadow: 1px 1px 3px rgba(33, 33, 33, 0.3);\r\n\t}\r\n\t.dropdown-item:focus,\r\n\t.dropdown-item:hover {\r\n\t\tbackground-color: #efefef;\r\n\t}\r\n`;\r\n\r\nconst DropdownMenu = styled(Dropdown.Menu)`\r\n\tz-index: 1087;\r\n\tpadding: 4px;\r\n\t${(props) =>\r\n\t\tprops.variant === \"sidebar\" &&\r\n\t\tcss`\r\n\t\t\tborder-radius: 4px;\r\n\t\t\tborder: 1px solid #c4c4c4;\r\n\t\t\tbackground: #fff;\r\n\t\t\tbox-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.15);\r\n\t\t\t.btn {\r\n\t\t\t\tcolor: #333333;\r\n\t\t\t\tfont-family: Inter;\r\n\t\t\t\tfont-size: 14px;\r\n\t\t\t\tfont-style: normal;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n\r\nconst Header = styled(Dropdown.Header)`\r\n\tfont-size: 12px;\r\n\tfont-weight: 500;\r\n\tcolor: #333333;\r\n\tpadding: 4px 12px;\r\n`;\r\n\r\nconst DropdownItem = styled.div`\r\n\twidth: 100%;\r\n\tpadding: 4px;\r\n\tclear: both;\r\n\tfont-weight: 400;\r\n\tcolor: #333333;\r\n\ttext-align: inherit;\r\n\ttext-decoration: none;\r\n\twhite-space: nowrap;\r\n\tbackground-color: transparent;\r\n\tborder: 0;\r\n\tdisplay: block;\r\n\talign-items: center;\r\n\tjustify-content: left;\r\n\tline-height: 1.5rem;\r\n\t.item {\r\n\t\twidth: 100%;\r\n\t\tbutton {\r\n\t\t\theight: 29px;\r\n\t\t\tpadding: 4px 8px;\r\n\t\t}\r\n\t\t:hover {\r\n\t\t\tbackground-color: #efefef;\r\n\t\t}\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tprops.variant === \"warning-delete\" &&\r\n\t\t`\r\n path {\r\n fill: #FC74B3\r\n }\r\n\r\n `}\r\n\t${(props) =>\r\n\t\tprops.disabled\r\n\t\t\t? css`\r\n\t\t\t\t\tpointer-events: none;\r\n\t\t\t\t\topacity: 0.5;\r\n\t\t\t `\r\n\t\t\t: \"\"}\r\n ${(props) =>\r\n\t\tprops.clickable === \"false\" &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t`}\r\n`;\r\n\r\nconst TextWrapper = styled.div`\r\n\tmargin-left: 8px;\r\n\t${(props) =>\r\n\t\tprops.type === \"email\" &&\r\n\t\tcss`\r\n\t\t\ttext-transform: lowercase;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.type === \"needHelp\" &&\r\n\t\tcss`\r\n\t\t\ttext-transform: none;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.type === \"textTransformNone\" &&\r\n\t\tcss`\r\n\t\t\ttext-transform: none;\r\n\t\t`}\r\n`;\r\n\r\nconst Divider = styled.div`\r\n\tborder-bottom: 1px solid #d9d9d9;\r\n`;\r\n","import { StripHtml } from \"@utils/helpers\";\r\nimport BaseActions from \"features/library/actions/library-item-actions/BaseActions\";\r\nimport EditCustomLibrary from \"features/library/modals/EditCustomLibrary\";\r\nimport { BasicActionsDropdown } from \"shared/dropdowns/BasicActionsDropdown\";\r\nimport { FlexAlignCenter, FlexColumn } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { ColorCircle } from \"./ColorCircle\";\r\nimport { Library, LibraryValue } from \"features/library/types\";\r\n\r\n\r\ninterface CustomLibraryListItemProps {\r\n library: Library;\r\n item: LibraryValue;\r\n filteredItems: LibraryValue[]\r\n}\r\n\r\nexport const CustomLibraryListItem: React.FC = ({filteredItems, library, item }) => {\r\n const [showEditModal] = useModal(EditCustomLibrary);\r\n\r\n const handleClick = () => {\r\n showEditModal({\r\n libraryId: library?.id,\r\n itemId: item?.id,\r\n customItemsIds: filteredItems?.map((v) => v?.id),\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {item?.name}\r\n {item?.description && {StripHtml(item?.description)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ActionsContainer = styled.div`\r\n\tvisibility: hidden;\r\n`;\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n\theight: 84px;\r\n\tpadding: 8px 16px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #d9d9d9;\r\n\t:hover {\r\n\t\tborder: 1px solid #333;\r\n\t\tcursor: pointer;\r\n\t}\r\n\t:hover ${ActionsContainer} {\r\n\t\tvisibility: visible;\r\n\t}\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tline-height: 150%;\r\n display: -webkit-box; \r\n -webkit-box-orient: vertical;\r\n -webkit-line-clamp: 1; \r\n text-overflow: ellipsis;\r\n white-space: normal;\r\n`;\r\n\r\nconst Description = styled.div`\r\n overflow: hidden;\r\n color: #262626;\r\n display: -webkit-box; \r\n -webkit-box-orient: vertical;\r\n -webkit-line-clamp: 2; \r\n text-overflow: ellipsis;\r\n white-space: normal;\r\n font-family: \"Inter\";\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n`;","import { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { upsertValueLibrary } from \"redux/index\";\r\nimport { TitleInput } from \"shared/cx-components/cx-components.style\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { createDefaultCustomLibraryItem, encode } from \"utils/helpers\";\r\n\r\ninterface CustomLibraryAddItemProps {\r\n\tlibraryId: string;\r\n\tisCreate: boolean;\r\n}\r\n\r\nexport const CustomLibraryAddItem: React.FC = ({ libraryId, isCreate }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [name, setName] = useState(\"\");\r\n\tconst [isButtonDisabled, setIsButtonDisabled] = useState(true);\r\n\r\n\tconst handleChange = (e: React.ChangeEvent) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetName(value);\r\n\t\tsetIsButtonDisabled(value.trim() === \"\");\r\n\t};\r\n\r\n\tconst handleAdd = () => {\r\n\t\tsetIsButtonDisabled(true);\r\n\t\tconst newItem = createDefaultCustomLibraryItem(\"#FFFFFF\");\r\n\t\tnewItem.name = encode(name.truncate(100,true));\r\n\r\n\t\tupsertValueLibrary({\r\n\t\t\tlibraryId,\r\n\t\t\tlibraryValue: newItem,\r\n\t\t\tonSuccess: () => {\r\n\t\t\t\tsetIsButtonDisabled(false);\r\n\t\t\t\tsetName(\"\");\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"ASPX_108\")}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n\theight: 72px;\r\n\tpadding: 16px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #333;\r\n\tmargin-top: 24px;\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { copyLibrary, deleteLibrary } from \"redux/index\";\r\nimport { ActionConfirmModal, DuplicateModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport default function BaseActions({ library }) {\r\n\tconst { t } = useTranslation();\r\n\tconst { pathname } = useLocation();\r\n\tconst history = useHistory();\r\n\r\n\tconst [showCopyModal] = useModal(DuplicateModal);\r\n\tconst [showModalDelete] = useModal(ActionConfirmModal);\r\n\t\r\n\r\n\tconst handleDelete = () => {\r\n\t\tconst callBack = () => {\r\n\t\t\tif (pathname === \"/library-custom\") history.push(\"/libraries\");\r\n\t\t};\r\n\t\tshowModalDelete({\r\n\t\t\tbodyContent: \"DELETE_LIBRARY\",\r\n\t\t\tAction: () => deleteLibrary({ libraryId: library?.id, onSuccess: callBack }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\tconst handlecopy = () => {\r\n\t\tshowCopyModal({\r\n\t\t\ttitle: `${t(\"JS_61\")} ${t(\"LIBRARY\")}`,\r\n\t\t\tinputTitle: \"NAME\",\r\n\t\t\tcloseBtnLabel: \"COPY\",\r\n\t\t\tinputValue: `[${t(\"COPY_NOUN\").toUpperCase()}]- ` + library?.name,\r\n\t\t\taction: ({ name, selectedWorkspaces }) => copyLibrary({ libraryId: library?.id, name: name, workspaceIds: selectedWorkspaces.map((w) => w?.id) }),\r\n\t\t});\r\n\t};\r\n\treturn [\r\n\t\t{\r\n\t\t\tid: \"copy\",\r\n\t\t\thandleClick: () => {\r\n\t\t\t\thandlecopy();\r\n\t\t\t},\r\n\t\t\ticon: \"COPY\",\r\n\t\t\ttext: t(\"COPY\"),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: \"delete\",\r\n\t\t\thandleClick: () => handleDelete(),\r\n\t\t\ticon: \"DELETE\",\r\n\t\t\ttext: t(\"CS_45\"),\r\n\t\t},\r\n\t\t\r\n\t];\r\n}\r\n","import { UploadFile } from \"features/journey-map/modals/AddFeedback/UploadFile\";\r\nimport { getExcelLibraryTemplateService, uploadExcelLibraryValue } from \"features/library/reducer/LibraryActions\";\r\nimport React, { memo, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Modal, ModalBody, ModalHeader } from \"reactstrap\";\r\nimport { FlexAlignAndJustifyEnd, GenericButton, IconDispatcher } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\ninterface LibraryUploadFileProps {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tlibraryId: string;\r\n\tid?: string;\r\n}\r\n\r\nconst LibraryUploadFile: React.FC = memo(({ isOpen, onClose, libraryId, id }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useRef(null);\r\n\tconst [isHaveFile, setIsFile] = useState(false);\r\n\tconst [validFile, setValidFile] = useState(true);\r\n\tconst [errorFile, setErrorFile] = useState(\"\");\r\n\r\n\tconst onFailed = (msg: string) => {\r\n\t\tif (msg?.response?.data) setErrorFile(t(msg?.response?.data).replace(\"{NUB_LIMIT}\", 3000));\r\n\t\tsetValidFile(false);\r\n\t\tsetIsFile(false);\r\n\t};\r\n\tconst onSuccessImport = () => {\r\n\t\ttoast.info(t(\"IMPORT_DATA_IN_PROGRESS\"));\r\n\t\tonClose();\r\n\t};\r\n\tconst startCreateData = () => {\r\n\t\tif (ref.current) {\r\n\t\t\tconst authorizedExtensions = [\"xlsx\"];\r\n\t\t\tconst files = ref.current.getFiles();\r\n\t\t\tif (files?.length > 0) {\r\n\t\t\t\tconst file = files[0];\r\n\t\t\t\tconst fileExtension = file?.name?.split(\".\")?.pop()?.toLowerCase();\r\n\t\t\t\tif (!authorizedExtensions.includes(fileExtension || \"\")) {\r\n\t\t\t\t\tsetValidFile(false);\r\n\t\t\t\t\tsetErrorFile(t(\"EXCEL_NOT_VALID\"));\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tconst reader = new FileReader();\r\n\t\t\t\treader.readAsDataURL(file);\r\n\t\t\t\treader.onloadend = function () {\r\n\t\t\t\t\tconst base64data = reader.result as string;\r\n\t\t\t\t\tuploadExcelLibraryValue({ fileBody64: base64data.split(\",\")[1], libraryId, onFailed: onFailed, onSuccess: onSuccessImport });\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\t// onClose();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"IMPORT\")}\r\n\t\t\t\r\n\t\t\t\t{!validFile && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{IconDispatcher(\"triangle-exclamation\", \"\", { style: \"solid\", color: \"#D50000\" })}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"IMPORT\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n});\r\n\r\nLibraryUploadFile.displayName = \"LibraryUploadFile\";\r\nexport { LibraryUploadFile };\r\n\r\nexport const WrapperInfo = styled.div<{ type: \"info\" | \"error\" }>`\r\n\tmargin-bottom: 1rem;\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\t${(props) =>\r\n\t\tprops.type === \"info\" &&\r\n\t\t`\r\n border: 1px solid #CBE6FF;\r\n background: #EAF5FF;\r\n `}\r\n\t${(props) =>\r\n\t\tprops.type === \"error\" &&\r\n\t\t`\r\n border: 1px solid #FFD2D2;\r\n background: #FFEDED;\r\n `}\r\n padding: 4px;\r\n\tborder-radius: 4px;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst Label = styled.div`\r\n\tcolor: #d50000;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 12px;\r\n\tfont-style: \"normal\";\r\n\tfont-weight: 400;\r\n`;\r\n","import BaseActions from \"features/library/actions/library-actions/BaseActions\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { LibraryUploadFile } from \"../../../modals/LibraryUploadFile\";\r\n\r\ninterface CustomLibraryHeaderProps {\r\n\tlibrary: any;\r\n}\r\n\r\nexport const CustomLibraryHeader: React.FC = ({ library }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst actions = BaseActions({ library });\r\n\tconst copyAction = actions?.find((act) => act?.id === \"copy\");\r\n\tconst deleteAction = actions?.find((act) => act?.id === \"delete\");\r\n\tconst [showImportModal] = useModal(LibraryUploadFile, {\r\n\t\tlibraryId: library?.id,\r\n\t});\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{library?.isCustom && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"IMPORT_ITEMS\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst HeaderActions = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 16px;\r\n`;\r\n\r\nconst LibraryHeader = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n\tpadding: 16px;\r\n\tborder-bottom: 1px solid #efefef;\r\n`;\r\n","import { Library } from \"features/library/types\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { upsertLibrary } from \"redux/index\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { FlexContainer, TitleInput } from \"shared/cx-components/cx-components.style\";\r\nimport { SearchBar } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { encode } from \"utils/helpers\";\r\n\r\ninterface CustomLibraryTopSectionProps {\r\n\tlibrary: Library;\r\n\tfilterValue: string;\r\n\thandleFilterChange: (event: React.ChangeEvent) => void;\r\n\tisCreate: boolean;\r\n}\r\n\r\nexport const CustomLibraryTopSection: React.FC = ({ library, filterValue, handleFilterChange, isCreate }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst libraries = useSelector((state: any) => state.libraries.customLibraries);\r\n\r\n\tconst [libraryName, setLibraryName] = useState(library?.name || \"\");\r\n\tconst [description, setDescription] = useState(library?.description || \"\");\r\n\r\n\tconst Search = SearchBar({ filterValue, handleChange: handleFilterChange, size: \"small\", label: `SEARCH`, floatLabel: false });\r\n\r\n\tconst handleUpsert = () => {\r\n\t\tupsertLibrary({ library: { ...library, name: encode(libraryName), description: encode(description) } });\r\n\t};\r\n\r\n\tconst handleNameBlur = () => {\r\n\t\tif (libraryName === \"\") {\r\n\t\t\tsetLibraryName(library?.name || \"\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (libraryName === library?.name) return;\r\n\r\n\t\tconst defaultLibrariesNames = [\"Touchpoints\", \"Stickers\", \"Brand Values\", \"Measures\", \"Systems\", \"Departments\"];\r\n\t\tconst isNameExist = libraries?.some((it: Library) => it?.id !== library?.id && it?.name?.toUpperCase() === libraryName?.toUpperCase());\r\n\r\n\t\tif (isNameExist || defaultLibrariesNames.includes(libraryName)) {\r\n\t\t\treturn toast.info(t(\"NAME_EXISTS\"));\r\n\t\t}\r\n\r\n\t\thandleUpsert();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t setLibraryName(e.target.value)}\r\n\t\t\t\t\tautoFocus={isCreate}\r\n\t\t\t\t\tdisabled={!library?.isCustom}\r\n\t\t\t\t/>\r\n\t\t\t\t{Search}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{library?.isCustom && (\r\n\t\t\t\t\t setDescription(html)}\r\n\t\t\t\t\t\tonUpdate={() => {\r\n\t\t\t\t\t\t\tif (description !== library?.description) handleUpsert();\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tplaceholder={`${t(\"LIBRARY_DESCRIPTION\")} (${t(\"OPTIONAL\")})`}\r\n\t\t\t\t\t\tdisabled={!library?.isCustom}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: 100%;\r\n\tmargin-top: 32px;\r\n\tborder-bottom: 1px solid #efefef;\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 16px;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n\theight: 42px;\r\n`;\r\n\r\nconst SearchContainer = styled.div`\r\n\twidth: 268px;\r\n`;\r\n","import { CustomLibraryListItem } from \"features/library/components/CustomLibrary/CustomLibraryListItem\";\r\nimport { Library, LibraryValue } from \"features/library/types\";\r\nimport { useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getAllMapsListData } from \"../../../../redux/index\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport styled from \"styled-components/macro\";\r\nimport { CustomLibraryAddItem } from \"./components/CustomLibraryAddItem\";\r\nimport { CustomLibraryHeader } from \"./components/CustomLibraryHeader\";\r\nimport { CustomLibraryTopSection } from \"./components/CustomLibraryTopSection\";\r\nimport { List, AutoSizer } from \"react-virtualized\";\r\n\r\nconst CustomLibrary: React.FC = () => {\r\n\tconst { search } = useLocation();\r\n\tconst searchParams = new URLSearchParams(search);\r\n\tconst id = searchParams?.get(\"id\") || \"\";\r\n\tconst isCreate = searchParams?.get(\"isCreate\") || false;\r\n\r\n\tconst libraries = useSelector((state: any) => state.libraries.customLibraries);\r\n\tconst library: Library = getLibrary(id, libraries);\r\n\r\n\tconst [filterValue, setFilterValue] = useState(\"\");\r\n\r\n\tconst handleFilterChange = (e: React.ChangeEvent) => {\r\n\t\tsetFilterValue(e.target.value);\r\n\t};\r\n\r\n\tconst filteredItems = library?.values\r\n\t\t?.filter((item: LibraryValue) => item?.name?.toUpperCase().includes(filterValue.toUpperCase()) || item?.description?.toUpperCase().includes(filterValue.toUpperCase()))\r\n\t\t?.sort((a, b) => {\r\n\t\t\tconst nameComparison = a.name.localeCompare(b.name);\r\n\t\t\tif (nameComparison !== 0) return nameComparison;\r\n\t\t\treturn a.description.localeCompare(b.description);\r\n\t\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{({ height }) => (\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{filteredItems[index] ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst getLibrary = (id: string, libraries: Library[]): Library => {\r\n\tif ([\"systems\", \"departments\"].includes(id)) {\r\n\t\treturn libraries?.find((library) => library?.name?.toLowerCase() === id && !library?.isCustom);\r\n\t}\r\n\treturn libraries?.find((library) => {\r\n\t\treturn library?.id === id && library?.isCustom;\r\n\t});\r\n};\r\n\r\nexport default CustomLibrary;\r\n\r\nconst LibraryContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n`;\r\n\r\nconst Body = styled.div`\r\n\twidth: 100%;\r\n\theight: calc(100vh - 150px);\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n\theight: 100%;\r\n\twidth: 1200px;\r\n`;\r\n\r\nconst LibraryItems = styled.div`\r\n\theight: calc(100vh - 420px);\r\n\twidth: 100%;\r\n\tmargin-top: 16px;\r\n`;\r\n\r\nconst EmptyCard = styled.div`\r\n\tbackground-color: #fff;\r\n`;\r\n","import { LibraryItemCard } from \"features/library/components/LibraryItemCard\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { CreateLibraryItemCanvas, EditLibrariesModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { LibraryTemplate } from \"../components/LibraryTemplate\";\r\nimport MeasureForm from \"../components/Measures/MeasureForm\";\r\nimport { copyMeasure, deleteMeasure } from \"../reducer/LibraryActions\";\r\n\r\nexport const Measures = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst measures = useSelector((state) => state.libraries.measures);\r\n\r\n\tconst [showEditModal] = useModal(EditLibrariesModal);\r\n\r\n\tconst [showCreateModal, hideCreateModal] = useModal(CreateLibraryItemCanvas, {\r\n\t\ttitle: \"NEW_MEASURE\",\r\n\t\tdisplayForm: () => ,\r\n\t});\r\n\r\n\tconst onFailed = (e) => {\r\n\t\tif (e?.response?.data === \"measure_used\") toast.info(t(\"USED_MEASURE\"));\r\n\t};\r\n\r\n\tconst displayLibraryItem = ({ item }) => {\r\n\t\tconst deleteMeasures = ({ onSuccess }) => deleteMeasure({ measureId: item?.id, onSuccess, onFailed });\r\n\t\tconst openEdit = () => showEditModal({ onDelete: deleteMeasures, object: item, context: \"measure\", title: \"MEASURE\", entityName: \"measure\" });\r\n\t\tconst onCopy = ({id,name,workspaceIds}) => {\r\n\t\t\tcopyMeasure({\r\n\t\t\t\tmeasureId:id,\r\n\t\t\t\tname:name,\r\n\t\t\t\tworkspaceIds: workspaceIds\r\n\t\t\t});\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t);\r\n};\r\n","import { StripHtml } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { BasicActionsDropdown } from \"shared/dropdowns/BasicActionsDropdown\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { FlexAlignCenter } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport BaseActions from \"../actions/library-actions/BaseActions\";\r\n\r\nexport const LibraryListCard = ({ data }) => {\r\n\tconst history = useHistory();\r\n\r\n\tconst getDescription = () => {\r\n\t\tif (!data?.description) return \"-\";\r\n\t\tif (data?.isCustom) return StripHtml(data?.description);\r\n\t\treturn t(data?.description);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t history.push(`/library-${data?.url}${data.url === \"custom\" ? `?id=${data?.id}` : \"\"}`)}>\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(data?.icon, \"m-2\", { size: \"xl\" })}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{data?.name || \"-\"}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{getDescription()}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{
{data?.nRecords}
}
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Actions = styled.div`\r\n\tvisibility: hidden;\r\n`;\r\n\r\nconst Card = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 16px;\r\n\t&:hover ${Actions} {\r\n\t\t${({ iscustom }) =>\r\n\t\t\tiscustom &&\r\n\t\t\tcss`\r\n\t\t\t\tvisibility: visible;\r\n\t\t\t`}\r\n\t}\r\n`;\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tgap: 16px;\r\n\theight: 64px;\r\n\twidth: 1100px;\r\n\tborder-radius: 4px;\r\n\tpadding: 8px;\r\n\t&:hover {\r\n\t\tbackground-color: #f8fafc;\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 48px;\r\n\theight: 48px;\r\n\tborder-radius: 8px;\r\n\tbackground: #f1f5f9;\r\n\r\n\tsvg {\r\n\t\twidth: 24px;\r\n\t\theight: 24px;\r\n\t}\r\n`;\r\n\r\nconst Body = styled.div`\r\n\tfont-family: \"Inter\";\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcolor: #262626;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 150%;\r\n\tcursor: pointer;\r\n\toverflow: hidden;\r\n\tcolor: #333333;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 1;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: ${(props) => (props.desactivateclick === \"true\" ? \"default\" : \"pointer\")};\r\n`;\r\n\r\nconst Description = styled.div`\r\n\tcolor: #595959;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-box-orient: vertical;\r\n\t-webkit-line-clamp: 1;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: normal;\r\n`;\r\n\r\nconst Records = styled.div`\r\n\tcolor: #262626;\r\n\ttext-align: right;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n","import { libraryInit, upsertLibrary } from \"../../../redux/index\";\r\nimport { findWorkspaceById } from \"../../../redux/memoizedSelectors\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { FlexColumnGap, GenericButton } from \"shared/ui-basics\";\r\nimport { EMPTY_GUID, encode } from \"utils/helpers\";\r\nimport { LibraryListCard } from \"../components/LibraryListCard\";\r\nimport { Library } from \"../types\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\n\r\nconst Libraries: React.FC = () => {\r\n\treturn (\r\n\t);\r\n};\r\n\r\nconst LoadedLibrariesMenu: React.FC = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst currentWorkspace = useSelector(findWorkspaceById(currentWorkspaceId));\r\n\tconst subscriptionPlan = useSelector((state: any) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst isStandard = subscriptionPlan === \"Standard\";\r\n\tconst librariesData = useSelector((state) => getLibrariesSelector(state, isStandard));\r\n\r\n\tconst handleCreate = () => {\r\n\t\tupsertLibrary({\r\n\t\t\tlibrary: { id: EMPTY_GUID, name: encode(t(\"NEW_LIBRARY\")), description: \"\" },\r\n\t\t\tonSuccess: ({ id }) => history.push(`/library-custom?id=${id}&isCreate=true`),\r\n\t\t\tdisplayToast: \"CREATE\",\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{!isStandard && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"NEW_LIBRARY\")}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{librariesData?.map((data, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst getLibrariesSelector = (state: any, isStandard: boolean) => {\r\n\tconst libraries = state.libraries;\r\n\tconst data = [\r\n\t\t{\r\n\t\t\tname: \"Touchpoints\",\r\n\t\t\tid: EMPTY_GUID,\r\n\t\t\tdescription: \"TOUCHPOINTS_SWIMLANES_DESCRIPTION\",\r\n\t\t\turl: \"touchpoints\",\r\n\t\t\ticon: \"bullseye-pointer\",\r\n\t\t\tnRecords: libraries?.touchPoint?.length,\r\n\t\t},\r\n\t\t{ name: \"Stickers\", id: EMPTY_GUID, description: \"STICKERS_DESCRIPTION\", url: \"stickers\", icon: \"icons\", nRecords: libraries?.icons?.length },\r\n\t\t{\r\n\t\t\tname: \"Systems\",\r\n\t\t\tdescription: \"SYSTEMS_SWIMLANES_DESCRIPTION\",\r\n\t\t\turl: \"custom\",\r\n\t\t\tid: \"systems\",\r\n\t\t\ticon: \"window\",\r\n\t\t\tnRecords: libraries?.customLibraries?.find((lib: Library) => lib?.name === \"Systems\" && !lib?.isCustom)?.values?.length,\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: \"Departments\",\r\n\t\t\tdescription: \"DEPARTMENTS_SWIMLANES_DESCRIPTION\",\r\n\t\t\turl: \"custom\",\r\n\t\t\tid: \"departments\",\r\n\t\t\ticon: \"user-group\",\r\n\t\t\tnRecords: libraries?.customLibraries?.find((lib: Library) => lib?.name === \"Departments\" && !lib?.isCustom)?.values?.length,\r\n\t\t},\r\n\t];\r\n\r\n\tif (!isStandard) {\r\n\t\tdata.push({\r\n\t\t\tname: \"Brand Values\",\r\n\t\t\tid: EMPTY_GUID,\r\n\t\t\tdescription: \"BRAND_VALUES_DESCRIPTION\",\r\n\t\t\turl: \"brandvalues\",\r\n\t\t\ticon: \"book-blank\",\r\n\t\t\tnRecords: libraries?.brandValues?.length,\r\n\t\t});\r\n\t\tdata.push({ name: \"Measures\", id: EMPTY_GUID, description: \"MEASURES_DESCRIPTION\", url: \"measures\", icon: \"chart-mixed\", nRecords: libraries?.measures?.length });\r\n\t}\r\n\r\n\tlibraries?.customLibraries?.forEach((library: Library) => {\r\n\t\tif (library?.isCustom)\r\n\t\t\tdata.push({ library, name: library.name, url: \"custom\", id: library.id, icon: \"bookmark\", description: library?.description, isCustom: true, nRecords: library?.values?.length });\r\n\t});\r\n\r\n\treturn data;\r\n};\r\nLibraries.displayName = \"Libraries\";\r\nexport default Libraries;\r\n","import { getFullUsersLicenseAvailable, getInactiveUsersCount } from \"@utils/helpers\";\r\nimport { SubscriptionPlan, UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FlexColumnAlignJustifyCenter, Label } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\n\r\nconst ContractDetailsCard = ({ contract, users }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst fullUsersLicenses = getFullUsersLicenseAvailable(users, contract?.subscriptionPlanValue);\r\n\tconst isStandard = contract.subscriptionPlanValue === SubscriptionPlan.Standard;\r\n\r\n\tconst seatUsed = fullUsersLicenses + (contract?.readOnlyUsersCount ? contract?.readOnlyUsersCount : 0);\r\n\tconst ReadOnlyUsers = users?.reduce((acc, user) => (user.userType === UserType.readOnly ? acc + 1 : acc), 0);\r\n\r\n\tconst DisplayNumber = ({ number, total }) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{number}\r\n\t\t\t\t{total && !isNaN(total) && number !== \"NA\" && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t
{\"/\"}
\r\n\t\t\t\t\t\t{total}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{contract?.subscriptionPlan}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nContractDetailsCard.displayName = \"ContractDetailsCard\";\r\nexport default ContractDetailsCard;\r\n\r\nconst CardContainer = styled.div`\r\n\tflex-basis: 33.3%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #efefef;\r\n\tbackground: #f9fbfc;\r\n\tpadding-left: 24px;\r\n\tpadding-right: 24px;\r\n`;\r\n\r\nconst PackageContainer = styled.div`\r\n\twidth: 100%;\r\n\tborder-bottom: 1px solid #efefef;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\tpadding-top: 24px;\r\n\tpadding-bottom: 16px;\r\n`;\r\nconst Wrap = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tpadding-top: 16px;\r\n\tpadding-bottom: 24px;\r\n`;\r\n\r\nconst Package = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst Number = styled.div`\r\n\tcolor: #333;\r\n\ttext-align: center;\r\n\tfont-family: Inter;\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst Total = styled.div`\r\n\tcolor: #333;\r\n\ttext-align: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n","import DataTable from \"features/grid-table/DataTable\";\r\nimport { getAllWorkspaces } from \"features/workspace/reducer/WorkspaceActions\";\r\nimport { useSelector } from \"react-redux\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport styled from \"styled-components\";\r\nimport ContractDetailsCard from \"../components/cards/contract-details-card\";\r\nimport { getAllRegisteredUsers } from \"../../reducer/UserActions\";\r\n\r\nconst Users = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst UsersPage = () => {\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\tconst subscriptionDetails = useSelector((state) => state.settings?.subscriptionDetails);\r\n\tconst contracts = subscriptionDetails?.subscriptionContracts?.sort((a, b) => b.subscriptionPlanValue - a.subscriptionPlanValue);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{contracts?.map((contract, i) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nUsers.displayName = \"Users\";\r\nexport default Users;\r\n\r\nconst CardsContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 24px;\r\n\twidth: 100%;\r\n\tmargin-bottom: 60px;\r\n`;\r\n","import WorkspaceLogoAndName from \"features/workspace/components/others/workspace-logo-and-name\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nconst WorkspaceSelectorCard = ({ workspace, roleName, isNoneDisabled, handleChange, isDisabled }) => {\r\n\tconst options = [\r\n\t\t{ name: \"None\", value: \"none\", disabled: isNoneDisabled },\r\n\t\t{ name: \"Owner\", value: \"owner\", disabled: false },\r\n\t\t{ name: \"Member\", value: \"viewer\", disabled: false },\r\n\t];\r\n\r\n\tconst onChange = (e) => {\r\n\t\tconst roleName = e.value;\r\n\t\thandleChange({ workspaceId: workspace?.id, roleName });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nWorkspaceSelectorCard.displayName = \"WorkspaceSelectorCard\";\r\nexport default WorkspaceSelectorCard;\r\n\r\nconst SelectorContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n\tborder-top: 1px solid #efefef;\r\n border-bottom: 1px solid #efefef;\r\n\tbackground: #fff;\r\n\tpadding: 8px 4px;\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t\tbackground-color: #e9ecef !important;\r\n\t\t`}\r\n`;\r\n\r\nconst LogoContainer = styled.div`\r\n\tmax-width: 300px;\r\n`;\r\n\r\n\r\nconst CustomDropdown = styled(Dropdown)`\r\n\tbox-shadow: none !important;\r\n\twidth: 160px;\r\n\theight: 36px;\r\n display: flex;\r\n align-items: center;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const SectionTitle = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 24px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 14px;\r\n\tmargin-bottom: 24px;\r\n`;\r\n\r\nexport const CustomGroup = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tmargin-bottom: 24px;\r\n\tgap: 16px;\r\n`;\r\n","import { getAllActiveWorkspaces } from \"@redux/memoizedSelectors\";\r\nimport { compareLists } from \"@utils/helpers\";\r\nimport { SubscriptionPlan } from \"@utils/optionsSets/OptionSets\";\r\nimport WorkspaceSelectorCard from \"features/workspace/components/cards/workspace-selector-card\";\r\nimport { useImperativeHandle, useState } from \"react\";\r\nimport { TypeaheadInputMulti } from \"react-bootstrap-typeahead\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { CustomToken } from \"shared/components/typeahead/users-selector-typeahead\";\r\nimport { TypeaheadWrapper } from \"shared/modals/manage-access/ManageAccessStyle\";\r\nimport { FlexColumn, Label } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\nimport { CustomGroup, SectionTitle } from \"./form-styles\";\r\nimport { useEffect } from \"react\";\r\n\r\nconst FormMemberType = ({ authorizedUserId, modeType, subscriptionPlan, innerRef, isStandard, disabled }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst allActivesWorkspaces = useSelector(getAllActiveWorkspaces).filter((ws) => (disabled ? ws?.isDefault : true));\r\n\tconst allTeamsObj = useSelector((state) => state.settings?.teams);\r\n\tconst isMultiSubscription = useSelector((state) => state.settings?.subscriptionDetails?.subscriptionContracts)?.length > 1;\r\n\r\n\tconst defaultWs = allActivesWorkspaces.find((ws) => ws?.isDefault);\r\n\tconst allTeams = allTeamsObj ? Object.values(allTeamsObj) : [];\r\n\tconst userTeams = allTeams?.filter((t) => t?.memberUserIds?.includes(authorizedUserId));\r\n\r\n\tconst [modifiedWorkspaces, setModifiedWorkspaces] = useState(modeType === \"create\" ? [{ id: defaultWs?.id, roleName: \"viewer\" }] : []);\r\n\tconst [currentWorkspaces, setCurrentWorkspaces] = useState(\r\n\t\tallActivesWorkspaces?.map((ws) => {\r\n\t\t\treturn { id: ws.id, roleName: getRoleName(ws) };\r\n\t\t})\r\n\t);\r\n\tconst [currentTeams, setCurrentTeams] = useState(modeType === \"create\" ? [] : userTeams);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetModifiedWorkspaces(modeType === \"create\" ? [{ id: defaultWs?.id, roleName: \"viewer\" }] : []);\r\n\t}, [subscriptionPlan]);\r\n\r\n\tconst handleWorkspaceChange = ({ workspaceId, roleName }) => {\r\n\t\tconst selectedWorkspace = modifiedWorkspaces?.find((ws) => ws?.id === workspaceId);\r\n\t\tsetCurrentWorkspaces(\r\n\t\t\tcurrentWorkspaces?.map((ws) => {\r\n\t\t\t\tif (ws?.id === workspaceId) ws.roleName = roleName;\r\n\t\t\t\treturn ws;\r\n\t\t\t})\r\n\t\t);\r\n\t\tif (selectedWorkspace) {\r\n\t\t\tsetModifiedWorkspaces(\r\n\t\t\t\tmodifiedWorkspaces?.map((ws) => {\r\n\t\t\t\t\tif (ws?.id === workspaceId) ws.roleName = roleName;\r\n\t\t\t\t\treturn ws;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else setModifiedWorkspaces([...modifiedWorkspaces, { id: workspaceId, roleName }]);\r\n\t};\r\n\r\n\tfunction getRoleName(workspace) {\r\n\t\tconst isSelected = modifiedWorkspaces?.find((selectedWs) => selectedWs?.id === workspace?.id);\r\n\t\tconst authorizedUser = workspace?.authorizedUsers?.find((user) => user?.id === authorizedUserId);\r\n\r\n\t\tif (isSelected) return isSelected?.roleName;\r\n\t\tif (authorizedUser) return authorizedUser?.roleName;\r\n\r\n\t\treturn \"none\";\r\n\t}\r\n\r\n\tconst checkIfNoneDisabled = () => {\r\n\t\tconst selectedWs = currentWorkspaces?.filter((ws) => ws.roleName !== \"none\");\r\n\t\tif (selectedWs?.length <= 1) return true;\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst isWorkspaceCardDisabled = (workspace) => {\r\n\t\tif (disabled) return true;\r\n\t\tif (isMultiSubscription && subscriptionPlan !== SubscriptionPlan.Enterprise && !workspace?.isDefault) return true;\r\n\t\treturn false;\r\n\t};\r\n\r\n\tuseImperativeHandle(innerRef, () => ({\r\n\t\tgetModifiedWorkspaces: () => {\r\n\t\t\treturn modifiedWorkspaces;\r\n\t\t},\r\n\t\tgetModifiedTeams: () => {\r\n\t\t\tconst { added, removed } = compareLists({ originalIds: userTeams.map((ut) => ut.id), modifiedIds: currentTeams?.map((ct) => ct.id) });\r\n\t\t\treturn { teamIdsToAdd: added, teamIdsToRemove: removed };\r\n\t\t},\r\n\t}));\r\n\r\n\tconst renderSelectedTeams = (inputProps, props) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{props.selected?.map((option, idx) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{option?.name}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"MEMBER_TYPE\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{allActivesWorkspaces?.map((workspace) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nFormMemberType.displayName = \"FormMemberType\";\r\nexport default FormMemberType;\r\n\r\nconst Container = styled.div`\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #efefef;\r\n\tbackground: #ffffff;\r\n\tpadding: 24px 14px;\r\n`;\r\n\r\nconst Workspaces = styled.div``;\r\n","import \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FlexColumn, Input, Label } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\nimport { CustomGroup, SectionTitle } from \"./form-styles\";\r\nimport { useState } from \"react\";\r\n\r\nconst FormPersonalDetails = ({ user, modifiedAttributes, setModifiedAttributes, setUser, isStandard, isSharedExpert, isSSO, modeType }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst isCreateMode = modeType === \"create\";\r\n\tconst isUpdateMode = modeType === \"update\";\r\n\tconst showAllEmailsFields = !isStandard && !isSharedExpert && isSSO;\r\n\r\n\tconst [isSync, setIsSynch] = useState(showAllEmailsFields && isCreateMode);\r\n\r\n\tconst handleInputChange = (e) => {\r\n\t\tconst attribute = e.target.name;\r\n\t\tconst value = e.target.value;\r\n\t\te.preventDefault();\r\n\t\tif (e.charCode === 13) {\r\n\t\t\treturn;\r\n\t\t}\r\n if (!modifiedAttributes?.includes(attribute)) setModifiedAttributes([...modifiedAttributes, attribute]);\r\n\r\n if (attribute === \"email\") setIsSynch(false)\r\n if (isSync && attribute === \"loginName\") {\r\n\t\t\tif (!modifiedAttributes?.includes(\"email\")) setModifiedAttributes([...modifiedAttributes, \"email\"]);\r\n\t\t\tsetUser({ ...user, loginName: value, email: value });\r\n\t\t} else {\r\n\t\t\tsetUser({ ...user, [attribute]: value });\r\n\t\t}\r\n\t};\r\n\r\n\t// Standard and SharedExpert have only email field\r\n\tconst RenderEmailsFields = () => {\r\n\t\tif (showAllEmailsFields)\r\n\t\t\treturn (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"PERSONAL_DETAILS\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{RenderEmailsFields()}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nFormPersonalDetails.displayName = \"FormPersonalDetails\";\r\nexport default FormPersonalDetails;\r\n\r\nconst Settings = styled.div`\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #efefef;\r\n\tbackground: #ffffff;\r\n\tpadding: 24px 14px;\r\n`;\r\n","import { SubscriptionPlan } from \"@utils/optionsSets/OptionSets\";\r\nimport { isFullUsersLicenseAvailable } from \"@utils/helpers\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport DropdownButton from \"react-bootstrap/DropdownButton\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nexport default function UserSubscriptionPlanSelector({ user, handleChange, isDisabled }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\tconst contracts = useSelector((state) => state.settings?.subscriptionDetails?.subscriptionContracts)?.sort((a, b) => b.subscriptionPlanValue - a.subscriptionPlanValue);\r\n\r\n\tconst displayDropDownTitle = (user) => {\r\n\t\tif (user?.subscriptionPlan === SubscriptionPlan?.Standard) return t(\"STANDARD\") + \" \";\r\n\t\telse if (user?.subscriptionPlan === SubscriptionPlan?.Expert) return t(\"EXPERT\") + \" \";\r\n\t\telse if (user?.subscriptionPlan === SubscriptionPlan?.Enterprise) return t(\"ENTERPRISE\") + \" \";\r\n\t\treturn t(\"SELECT_PLAN_TYPE\");\r\n\t};\r\n\r\n\tconst isSeatLeftOnSubscriptionPlan = (subscriptionPlanValue) => {\r\n\t\tif (subscriptionPlanValue === SubscriptionPlan.Enterprise || subscriptionPlanValue === SubscriptionPlan.Expert) return true;\r\n\t\telse if (isFullUsersLicenseAvailable(users, contracts, subscriptionPlanValue).answer) return true;\r\n\t\treturn false;\r\n\t};\r\n\r\n\treturn (\r\n\t\t handleChange({ attribute: \"subscriptionPlan\", value: Number(planTypeCode) })}\r\n\t\t\tdisabled={isDisabled}>\r\n\t\t\t{contracts?.map((contract, index) => {\r\n\t\t\t\tif (isSeatLeftOnSubscriptionPlan(contract.subscriptionPlanValue)) {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{contract.subscriptionPlan}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t})}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst StyledDropdown = styled(DropdownButton)`\r\n\theight: 36px !important;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 0.25rem;\r\n\r\n\t.btn {\r\n\t\twidth: 100%;\r\n\t\ttext-align: start;\r\n\t}\r\n\r\n\t.dropdown-menu {\r\n\t\twidth: 298px !important;\r\n\t\tpadding: 0;\r\n\t}\r\n\t.dropdown-toggle::after {\r\n\t\tdisplay: none;\r\n\t}\r\n\t:hover {\r\n\t\t.dropdown-toggle::after {\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\t.dropdown-toggle::after {\r\n\t\t\t\tdisplay: none !important;\r\n\t\t\t}\r\n\t\t\t:hover {\r\n\t\t\t\tborder-bottom: 1px solid #d3d3d3 !important;\r\n\t\t\t\tcursor: not-allowed;\r\n\t\t\t}\r\n\t\t\tbackground-color: #e9ecef !important;\r\n\t\t`}\r\n`;\r\n\r\nconst StyledDropdownItem = styled(Dropdown.Item)`\r\n\tborder-bottom: 1px solid #e9ecef !important;\r\n\tpadding-bottom: 5px;\r\n\tfont-size: 14px;\r\n`;\r\n","import UserSubscriptionPlanSelector from \"features/grid-table/components/UserSubscriptionPlanSelector\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport UserTypeDropdown from \"shared/dropdowns/UserTypeDropdown\";\r\nimport { FlexAlignCenter, FlexBetweenAlignCenter, Label, RadioButton } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\nimport UserDetails from \"../user-details\";\r\nimport { CustomGroup, SectionTitle } from \"./form-styles\";\r\n\r\nconst FormSettings = ({ user, handleChange, isStandard, isSharedExpert, isMultiSub, modeType }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n const showPackageSelection = !isStandard && !isSharedExpert && isMultiSub;\r\n const isCreateMode = modeType === \"create\"\r\n const isUpdateMode = modeType === \"update\"\r\n\r\n\tconst handleUserTypeChange = (user, userTypeCode) => handleChange({ attribute: \"userType\", value: Number(userTypeCode) });\r\n\r\n\tconst handleCreationTypeChange = (value) => {\r\n\t\thandleChange({ attribute: \"isMember\", value });\r\n\t};\r\n\r\n\tconst renderPlanAndUserTypeFields = () => {\r\n\t\tif (!isStandard)\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{!isSharedExpert && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{UserSubscriptionPlanSelector({ user, handleChange, isDisabled: !showPackageSelection })}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{UserTypeDropdown({ user, handleUserTypeChange })}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n };\r\n \r\n if (isCreateMode && isStandard) return <>\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{isCreateMode && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{t(\"ASPX_207\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{ !isSharedExpert && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t handleCreationTypeChange(false)} />\r\n\t\t\t\t\t\t\t\t\t
{t(\"NEW_SSO_USER\")}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t handleCreationTypeChange(true)} />\r\n\t\t\t\t\t\t\t\t\t
{t(\"NEW_USER\")}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{isUpdateMode && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t
{renderPlanAndUserTypeFields()}
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nFormSettings.displayName = \"FormSettings\";\r\nexport default FormSettings;\r\n\r\nconst Settings = styled.div`\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #efefef;\r\n\tpadding: 24px 14px;\r\n`;\r\n\r\nconst ButtonsContainer = styled.div`\r\n\tmargin-bottom: 24px;\r\n`;\r\n\r\nconst UserDetailsContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tborder-bottom: 1px solid #efefef;\r\n\tpadding-bottom: 20px;\r\n\tmargin-bottom: 24px;\r\n`;\r\n","import { createUser, updateUser, updateUsersTeams } from \"@redux/index\";\r\nimport { MAX_SIZE_INPUT, createDefaultUser, emailValidation, getAuthorizedUserFromRegisteredUser, getModeType, isFullUsersLicenseAvailable } from \"@utils/helpers\";\r\nimport { SubscriptionPlan, UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport { getAllWorkspaces, shareWorkspace } from \"features/workspace/reducer/WorkspaceActions\";\r\nimport { useRef, useState } from \"react\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { ContainerPage } from \"shared/cx-components/style\";\r\nimport { GenericButton } from \"shared/ui-basics\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport styled from \"styled-components\";\r\nimport FormMemberType from \"../components/form/form-member-type\";\r\nimport FormPersonalDetails from \"../components/form/form-personal-details\";\r\nimport FormSettings from \"../components/form/form-settings\";\r\n\r\nconst EditUser = (props) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst EditUserForm = (props) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst { search } = useLocation();\r\n\tconst memberTypeRef = useRef(null);\r\n\r\n\tconst { mode, selectedItemId } = search.getWorkspaceProps(props.query);\r\n\tconst modeType = getModeType(mode);\r\n\r\n\tconst settings = useSelector(({ settings }) => settings);\r\n\tconst contracts = useSelector((state) => state.settings?.subscriptionDetails?.subscriptionContracts);\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst authorizedUsers = useSelector((state) => state.settings?.authorizedUsers);\r\n\r\n\tconst isMultiSub = contracts?.length > 1;\r\n\tconst subscriptionPlanCode = Number(userInfo?.UserSubscriptionPlan);\r\n\tconst isStandard = subscriptionPlanCode === SubscriptionPlan.Standard;\r\n\tconst isSharedExpert = subscriptionPlanCode === SubscriptionPlan.SharedExpert || subscriptionPlanCode === SubscriptionPlan.SharedEnterprise ;\r\n\tconst isConfigAllowed = [\"Enterprise\"].includes(userInfo?.UserSubscriptionPlanName);\r\n\tconst isCreateMode = modeType === \"create\";\r\n\tconst isUpdateMode = modeType === \"update\";\r\n\r\n\tconst getUserType = () => {\r\n\t\tif (isStandard) {\r\n\t\t\tif (isMultiSub) return UserType.user;\r\n\t\t\treturn UserType.companyAdmin;\r\n\t\t}\r\n\t\treturn -1;\r\n\t};\r\n\tconst getUser = (users) => {\r\n\t\tif (modeType === \"create\") return createDefaultUser({ isMultiSub, subPlan: userInfo?.UserSubscriptionPlan, userType: getUserType() });\r\n\t\treturn users?.find((u) => u?.id === selectedItemId);\r\n\t};\r\n\r\n\tconst [user, setUser] = useState(getUser(settings.users));\r\n\tconst [isActionButtonDisabled, setIsActionButtonDisabled] = useState(false);\r\n\tconst [modifiedAttributes, setModifiedAttributes] = useState([]);\r\n\r\n\tconst authorizedUserId = getAuthorizedUserFromRegisteredUser({ authorizedUsers, registeredUser: user })?.id;\r\n\tconst isSSO = user?.isMember === false;\r\n\tconst hideLoginName = !isSSO || isStandard || isSharedExpert;\r\n\r\n\tconst handleUserChange = ({ attribute, value }) => {\r\n\t\tif (!modifiedAttributes?.includes(attribute)) setModifiedAttributes([...modifiedAttributes, attribute]);\r\n\t\tif (attribute === \"subscriptionPlan\") {\r\n\t\t\tuser.userType = -1;\r\n\t\t}\r\n\t\tsetUser({ ...user, [attribute]: value });\r\n\t};\r\n\r\n\tconst redirectToList = () => {\r\n\t\tsetIsActionButtonDisabled(false);\r\n\t\thistory.push(`/users`);\r\n\t};\r\n\r\n\tconst isUserAlreadyRegistered = (attribute) => {\r\n\t\tlet res = false;\r\n\t\tsettings.users.forEach((userToCompare) => {\r\n\t\t\tif (userToCompare[attribute] === user[attribute]) {\r\n\t\t\t\tres = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn res;\r\n\t};\r\n\r\n\tconst isSeatLeftForStandard = () => {\r\n\t\tif (!isFullUsersLicenseAvailable(settings.users, contracts, user.subscriptionPlan).answer) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t};\r\n\r\n\tconst handleAction = () => {\r\n\t\tconst workspaces = memberTypeRef?.current?.getModifiedWorkspaces();\r\n\t\tconst { teamIdsToAdd, teamIdsToRemove } = memberTypeRef?.current?.getModifiedTeams();\r\n\t\tconst workspaceIds = workspaces?.map((ws) => ws.id);\r\n\t\tconst roleNames = workspaces?.map((ws) => ws.roleName);\r\n\r\n\t\tif (user.firstName === \"\") return toast.info(t(\"JS_110\"));\r\n\t\tif (user.lastName === \"\") return toast.info(t(\"JS_111\"));\r\n\t\tif (user.email === \"\") return toast.info(t(\"COM_EMAIL_MISSING_WARNING\"));\r\n\t\tif (!hideLoginName && user.loginName === \"\") return toast.info(t(\"EMAIL_MISSING_WARNING\"));\r\n\t\tif (!hideLoginName && !emailValidation(user.loginName)) return toast.info(t(\"WRONG_EMAIL_FORMAT\"));\r\n\t\tif (!emailValidation(user.email)) return toast.info(t(\"WRONG_EMAIL_FORMAT\"));\r\n\t\tif (user.userType === -1) return toast.info(t(\"USER_TYPE_MISSING\"));\r\n\t\tif (user.subscriptionPlan === -1) return toast.info(t(\"SELECT_PLAN_TYPE\"));\r\n\t\tif (user.loginName.length > MAX_SIZE_INPUT || user.firstName.length > MAX_SIZE_INPUT || user.lastName.length > MAX_SIZE_INPUT) return toast.info(t(\"EXCEEDED_MAX_SIZE_INPUT\"));\r\n\t\tif (isStandard && !isSeatLeftForStandard()) return toast.info(t(\"MAXIMUM_USERS_WARNING\"));\r\n\r\n\t\tsetIsActionButtonDisabled(true);\r\n\r\n\t\tif (isCreateMode) {\r\n\t\t\tif (!(isSharedExpert || isStandard) && isUserAlreadyRegistered(\"loginName\")) return toast.info(t(\"USER_DUPLICATE_WARNING\"));\r\n\t\t\tif ((isSharedExpert || isStandard) && isUserAlreadyRegistered(\"email\")) return toast.info(t(\"USER_DUPLICATE_WARNING\"));\r\n\t\t\tcreateUser({ user, workspaceIds, roleNames, teamIds: teamIdsToAdd });\r\n\t\t\ttoast.success(t(\"NOTIFICATION_BY_EMAIL\"));\r\n\t\t\tredirectToList();\r\n\t\t}\r\n\r\n\t\tif (isUpdateMode) {\r\n\t\t\tconst isShare = workspaceIds?.length > 0;\r\n\t\t\tconst isUpdateTeams = teamIdsToAdd.length > 0 || teamIdsToRemove.length > 0;\r\n\t\t\tconst onSuccess = () => {\r\n\t\t\t\tif (isUpdateTeams) updateUsersTeams({ userIds: [authorizedUserId], idsToAdd: teamIdsToAdd, idsToRemove: teamIdsToRemove });\r\n\t\t\t\tif (isShare) shareWorkspace({ userId: authorizedUserId, workspaceIds, roleNames, isUnshare: true, displayToast: \"UPDATE\", onSuccess: () => redirectToList() });\r\n\t\t\t\telse redirectToList();\r\n\t\t\t};\r\n\t\t\tupdateUser({ modifiedUser: user, modifiedAttribNames: modifiedAttributes, displayToast: isShare ? \"\" : \"UPDATE\", toastParams: { success: t(\"USER_UPDATE_SUCCESS\") }, onSuccess });\r\n\t\t}\r\n\t};\r\n\r\n\tconst displayButtonText = () => {\r\n\t\tif (isCreateMode) return t(\"INVITE\");\r\n\t\tif (isUpdateMode) return t(\"ASPX_165\");\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{displayButtonText()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nEditUser.displayName = \"EditUser\";\r\nexport default EditUser;\r\n\r\nconst Scroll = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst Container = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n`;\r\n\r\nconst FormContainer = styled.div`\r\n\twidth: 520px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst ButtonContainer = styled.div`\r\n\talign-self: center;\r\n\tmargin-top: 24px;\r\n\tmargin-bottom: 24px;\r\n\twidth: 100%;\r\n`;\r\n","import { addMembers, removeMember, upsertTeam } from \"@redux/index\";\r\nimport { EMPTY_GUID, User, encode, isNullOrEmptyObject } from \"@utils/helpers\";\r\nimport React from \"react\";\r\nimport { TypeaheadInputMulti } from \"react-bootstrap-typeahead\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Label, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { Flex } from \"shared/ui-basics/index\";\r\nimport { Input } from \"shared/ui-basics/input\";\r\nimport * as S from \"./ManageAccessStyle\";\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\n\r\nexport default function TeamMembers({ isOpen, onClose, ...props }) {\r\n\tconst { t } = useTranslation();\r\n\tconst { teamId } = props;\r\n\tconst ref = React.useRef();\r\n\tconst refName = React.useRef();\r\n\r\n\tconst team = useSelector(({ settings }) => settings?.teams?.[teamId] || {});\r\n\tconst users = useSelector(({ settings }) => settings?.authorizedUsers || []);\r\n\tconst backOfficeUsers = useSelector(({ settings }) => settings?.users || []);\r\n\tconst authorizedUsers = users.filter((user) => backOfficeUsers.find((u) => u.loginName.toLowerCase() === user?.domainName.toLowerCase())?.isActive);\r\n\r\n\tconst handleSubmit = (e) => {\r\n\t\te.preventDefault();\r\n\t\tconst name = refName?.current?.value;\r\n\t\tif (name?.isEmptyString()) return toast.info(t(\"TEAM_NAME_REQUIRED\"));\r\n\t\tconst memberUserIds = ref.current?.state?.selected?.map((user) => user.id);\r\n\t\tif (team.id) {\r\n\t\t\tconst membersToAdd = memberUserIds.filter((id) => !team.memberUserIds.includes(id));\r\n\t\t\tconst membersToRemove = team.memberUserIds.filter((id) => !memberUserIds.includes(id));\r\n\t\t\tmembersToAdd.length > 0 && addMembers({ teamIds: [team.id], userIds: membersToAdd });\r\n\t\t\tmembersToRemove.length > 0 && membersToRemove?.forEach((userId) => removeMember({ teamId: team.id, userId }));\r\n\t\t\tif (name !== team.name) upsertTeam({ team: { ...team, name: encode(name.truncate(100,true)), memberUserIds } });\r\n\t\t} else {\r\n\t\t\tconst newTeam = { id: EMPTY_GUID, name: encode(name?.truncate(100,true)), memberUserIds };\r\n\t\t\tupsertTeam({ team: newTeam });\r\n\t\t}\r\n\t\tref.current?.clear();\r\n\t\tonClose();\r\n\t};\r\n\tconst renderListUsers = (option) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
{option?.fullName}
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\tconst renderSelectedUsers = (inputProps, props) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{props.selected?.map((option, idx) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t<>{option?.fullName}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst displayTitle = () => {\r\n\t\tif (isNullOrEmptyObject(team)) return t(\"CREATE_NEW_TEAM\");\r\n\t\treturn t(\"MANAGE_TEAM\");\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{displayTitle()}\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t team?.memberUserIds?.includes(user.id))}\r\n\t\t\t\t\t\tid=\"public-methods-example\"\r\n\t\t\t\t\t\tlabelKey=\"fullName\"\r\n\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\tplaceholder={t(\"SELECT_USERS\")}\r\n\t\t\t\t\t\toptions={authorizedUsers}\r\n\t\t\t\t\t\tref={ref}\r\n\t\t\t\t\t\trenderMenuItemChildren={renderListUsers}\r\n\t\t\t\t\t\trenderInput={renderSelectedUsers}\r\n\t\t\t\t\t\tonBlur={() => ref.current?.blur()}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t{t(teamId ? \"ASPX_165\" : \"ASPX_135\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n","import { deleteTeam, removeMember } from \"@redux/index\";\r\nimport { getTeamsUsers } from \"@redux/memoizedSelectors\";\r\nimport { userTypesLabels } from \"@utils/helpers\";\r\nimport React from \"react\";\r\nimport { Col, Container, Row } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport TeamMembers from \"shared/modals/manage-access/TeamMembers\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { ActionsDropdown, FlexAlignCenter, FlexBetweenAlignCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { SearchBar } from \"shared/ui-basics/input\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport { EmptyList } from \"shared/ui-basics/ui-components/EmptyList\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport InitialsBubble from \"../components/initials-bubble\";\r\nconst MembersRow = ({ member, setSelectedTeam, showTeamModal }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst users = useSelector((state) => getTeamsUsers(state, member?.memberUserIds), shallowEqual);\r\n\tconst [ActionConfirm] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleTeamClick = (team) => setSelectedTeam(team);\r\n\r\n\tconst createActions = () => {\r\n\t\tconst actions = [];\r\n\t\tactions.push({ handleClick: () => showTeamModal({ teamId: member?.id }), icon: \"EDIT\", text: t(\"EDIT\") });\r\n\t\tactions.push({\r\n\t\t\thandleClick: () =>\r\n\t\t\t\tActionConfirm({\r\n\t\t\t\t\tbodyContent: \"DELETE_TEAM_CONFIRMATION\",\r\n\t\t\t\t\tAction: () => deleteTeam({ teamId: member.id }),\r\n\t\t\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t\t\t}),\r\n\t\t\ticon: \"DELETE\",\r\n\t\t\ttext: t(\"ASPX_13\"),\r\n\t\t});\r\n\r\n\t\treturn actions;\r\n\t};\r\n\tconst icon = {IconDispatcher(\"USER-GROUP\")};\r\n\treturn (\r\n\t\t\r\n\t\t\t handleTeamClick(member)} className=\"pointer\">\r\n\t\t\t\t\r\n\t\t\t\t\t{icon}\r\n\t\t\t\t\t
{member.name}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{users?.length}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\nexport default function Teams() {\r\n\tconst { t } = useTranslation();\r\n\tconst [search, setSearch] = React.useState(\"\");\r\n\tconst [selectedTeam, setSelectedTeam] = React.useState(null);\r\n\r\n\tconst teamsDic = useSelector(({ settings }) => settings?.teams || {});\r\n\tconst teams = Object.values(teamsDic);\r\n\tconst users = useSelector((state) => getTeamsUsers(state, teamsDic?.[selectedTeam?.id]?.memberUserIds), shallowEqual);\r\n\tconst backOfficeUsers = useSelector(({ settings }) => settings?.users || []);\r\n\tconst handleCreate = () => showTeamModal({ teamId: selectedTeam?.id });\r\n\r\n\tconst handleBackClick = () => setSelectedTeam(null);\r\n\tconst [showTeamModal] = useModal(TeamMembers);\r\n\r\n\r\n\tconst UsersRow = (user) => {\r\n\t\tconst { domainName, fullName } = user;\r\n\t\tconst userType = backOfficeUsers?.find((u) => u.loginName.toLowerCase() === domainName.toLowerCase())?.userType;\r\n\t\tconst createActions = () => {\r\n\t\t\tconst actions = [];\r\n\t\t\tactions.push({ handleClick: () => removeMember({ teamId: selectedTeam.id, userId: user.id }), icon: \"DELETE\", text: t(\"REMOVE\") });\r\n\t\t\treturn actions;\r\n\t\t};\r\n\t\tconst icon = \r\n\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{icon}\r\n\t\t\t\t\t\t{fullName}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{domainName}\r\n\t\t\t\t{t(userTypesLabels[userType])}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderTable = () => {\r\n\t\tswitch (selectedTeam) {\r\n\t\t\tcase null:\r\n\t\t\t\t// means we are on the first page\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ASPX_136\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_225\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{teams.searchFilter(search).map(team => )}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\tdefault:\r\n\t\t\t\t// means we are on the second page\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ASPX_136\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"EMAIL\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"CS_59\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{users.searchFilter(search, \"fullName\").map(UsersRow)}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{teams?.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selectedTeam ? t(\"NEW_MEMBER\") : t(\"NEW_TEAM\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setSearch(e.target.value)} />\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{selectedTeam && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{teams?.length > 0 ? (\r\n\t\t\t\t\t\trenderTable()\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t);\r\n}\r\n\r\nconst PageBody = styled(Container)``;\r\nconst TableWrapper = styled.div`\r\n\twidth: 100%;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #e5e5e5;\r\n\toverflow: hidden;\r\n`;\r\nconst TeamRow = styled(Row)`\r\n\tborder-bottom: 1px solid #e5e5e5;\r\n\tpadding: 1rem;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\nconst TeamColumn = styled(Col)`\r\n\t${(props) =>\r\n\t\tprops.label === \"true\"\r\n\t\t\t? css`\r\n\t\t\t\t\tcolor: #605f60;\r\n\t\t\t\t\tfont-family: Inter;\r\n\t\t\t\t\tfont-size: 14px;\r\n\t\t\t\t\tfont-style: normal;\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tline-height: normal;\r\n\t\t\t `\r\n\t\t\t: css`\r\n\t\t\t\t\tcolor: #333;\r\n\t\t\t\t\tfont-family: Inter;\r\n\t\t\t\t\tfont-size: 16px;\r\n\t\t\t\t\tfont-style: normal;\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tline-height: normal;\r\n\t\t\t `}\r\n`;\r\nconst IconWrapper = styled.div`\r\n\tbackground-color: #bde8fa;\r\n\tborder-radius: 50%;\r\n\twidth: 32px;\r\n\theight: 32px;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tdisplay: flex;\r\n`;\r\n","import { transfertOwnerShip } from \"@redux/index\";\r\nimport React from \"react\";\r\nimport { Typeahead } from \"react-bootstrap-typeahead\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Spinner } from \"reactstrap\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexAlignCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport InitialsBubble from \"../components/initials-bubble\";\r\n\r\nexport default function ManageOwnership() {\r\n\tconst { t } = useTranslation();\r\n\tconst userFromRef = React.useRef(null);\r\n\tconst userToRef = React.useRef(null);\r\n\tconst [loading, setLoading] = React.useState(false);\r\n\tconst [isSuccess, setIsSuccess] = React.useState(false);\r\n\r\n\tconst users = useSelector(({ settings }) => settings?.users || []);\r\n\tconst authorizedUsers = users.filter((user) => user?.isActive === true);\r\n\tconst [confirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst renderListUsers = (option) => {\r\n\t\tconst fullName = `${option?.firstName} ${option?.lastName}`;\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
{fullName}
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\tconst submit = () => {\r\n\t\tconst from = userFromRef.current?.state?.selected;\r\n\t\tconst to = userToRef.current?.state?.selected;\r\n\r\n\t\tconst callbacks = {\r\n\t\t\tonSuccess: () => {\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t\tsetIsSuccess(true);\r\n\t\t\t\tsetTimeout(() => setIsSuccess(false), 3000);\r\n\t\t\t\tuserFromRef.current?.clear();\r\n\t\t\t\tuserToRef.current?.clear();\r\n\t\t\t},\r\n\t\t\tonFailed: () => setLoading(false),\r\n\t\t};\r\n\r\n\t\tif (from?.[0] && to?.[0]) {\r\n\t\t\tif (from?.[0]?.id === to?.[0]?.id) {\r\n\t\t\t\treturn toast.info(t(\"SAME_USER\"));\r\n\t\t\t}\r\n\t\t\tconfirmModal({\r\n\t\t\t\tbodyContent: \"TRANSFER_OWNERSHIP_CONFIRMATION\",\r\n\t\t\t\tAction: () => {\r\n\t\t\t\t\tsetLoading(true);\r\n\r\n\t\t\t\t\ttransfertOwnerShip({\r\n\t\t\t\t\t\tuserContactIdFrom: from?.[0]?.id,\r\n\t\t\t\t\t\tuserContactIdTo: to?.[0]?.id,\r\n\t\t\t\t\t\t...callbacks,\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tactionBtnText: \"TRANSFER\",\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t `${option.firstName} ${option.lastName}`}\r\n\t\t\t\t\tclassName=\"w-25 mt-1 \"\r\n\t\t\t\t\toptions={authorizedUsers}\r\n\t\t\t\t\tplaceholder={t(\"SELECT_USER\")}\r\n\t\t\t\t\tref={userFromRef}\r\n\t\t\t\t\trenderMenuItemChildren={renderListUsers}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t `${option.firstName} ${option.lastName}`}\r\n\t\t\t\t\tclassName=\"w-25 mt-1\"\r\n\t\t\t\t\toptions={users}\r\n\t\t\t\t\tplaceholder={t(\"SELECT_USER\")}\r\n\t\t\t\t\tref={userToRef}\r\n\t\t\t\t\trenderMenuItemChildren={renderListUsers}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{loading && }\r\n\t\t\t\t\t{isSuccess && !loading && IconDispatcher(\"CHECK\", \"me-2\")}\r\n\t\t\t\t\t{t(\"TRANSFER\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t);\r\n}\r\nconst Label = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\nconst WrapperTypehead = styled.div`\r\n\t.form-control:focus {\r\n\t\tbox-shadow: none;\r\n\t\tborder: 1px solid #c4c4c4;\r\n\t}\r\n\r\n`","import { aiAgreementPolicy, deleteAccountImage, enableAlex, updateAccountSettings, uploadAccountImage } from \"@redux/index\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport React, { useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Moment from \"react-moment\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Input } from \"reactstrap\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { EditLogoModal } from \"shared/modals/index\";\r\nimport GenericSwitch, { Switch } from \"shared/ui-basics/buttons\";\r\nimport { Colors, FlexAlignCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { Checkbox } from \"shared/ui-basics/ui-components/Checkbox\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport \"../Settings.scss\";\r\nimport { supportedLanguages } from \"@utils/helpers\";\r\n\r\n// licensedUsersNumber (number of User / Admin / CompanyAdmin users) that the client bought\r\n// readOnlyLicensedUsersNumber (number of Only ReadOnly users) that the client bought\r\n// usersNumber = Actual number of (User / Admin / CompanyAdmin users) that the client can actually use (for example sometime we can add more users for a demo...)\r\n// readOnlyUsersNumber = Actual number of (readOnly users) that the client can actually use\r\n\r\nexport default function Organization() {\r\n\tconst { t, i18n } = useTranslation();\r\n\r\n\tconst defaultLanguage = useSelector((state) => state.settings.organization.defaultDisplayLanguage);\r\n\tconst subscriptionDetails = useSelector((state) => state.settings.subscriptionDetails);\r\n\tconst showSample = useSelector((state) => state.settings.organization.showSampleData);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\r\n\tconst isLoggerCompanyAdmin = Number(userType) === UserType.companyAdmin;\r\n\tconst aiPurchased = useSelector(({ settings }) => settings.subscriptionDetails.aiPurchased);\r\n\tconst [languages, setLanguages] = React.useState(supportedLanguages);\r\n\tconst [selectedLanguage, setSelectedLanguage] = React.useState(defaultLanguage);\r\n\tconst [checked, setChecked] = React.useState(showSample);\r\n\tconst [accountImage, setAccountImage] = React.useState(getterApis[\"GET_ACCOUNT_IMG\"](sessionId));\r\n\r\n\tconst contracts = subscriptionDetails?.subscriptionContracts?.sort((a, b) => b.subscriptionPlanValue - a.subscriptionPlanValue);\r\n\tconst showButtonUpdate = subscriptionDetails.upgradeButtonLink !== null && subscriptionDetails?.upgradeButtonLink?.length > 0;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (checked !== showSample) setChecked(showSample);\r\n\t\tif (selectedLanguage !== defaultLanguage) setSelectedLanguage(defaultLanguage);\r\n\t}, [showSample, defaultLanguage]);\r\n\r\n\tconst updateAccountImg = async (data) => {\r\n\t\tif (data === \"delete\") {\r\n\t\t\tdeleteAccountImg();\r\n\t\t} else {\r\n\t\t\tconst imageExtension = data.split(\",\")[0];\r\n\t\t\tconst imageBody64 = data.split(\",\")[1];\r\n\t\t\tuploadAccountImage({ imageExtension, imageBody64 })\r\n\t\t\tsetAccountImage(data);\r\n\t\t}\r\n\t};\r\n\r\n\tconst deleteAccountImg = async () => {\r\n\t\tdeleteAccountImage({\r\n\t\t\tonSuccess: () => {\r\n\t\t\t\thideModalIcon();\r\n\t\t\t\tsetAccountImage(getterApis[\"GET_ACCOUNT_IMG\"](sessionId) + \"&\" + uuidv4());\r\n\t\t\t}\r\n\t\t})\r\n\t};\r\n\r\n\tconst handleChangeLanguage = async (e) => {\r\n\t\tconst { value } = e.target;\r\n\t\tconst language = supportedLanguages?.find(lang => lang.lcid === Number(value))?.value\r\n\r\n\t\tupdateAccountSettings({\r\n\t\t\tnewLangValue: value, newShowSampleValue: checked, onSuccess: () => {\r\n\t\t\t\tsetSelectedLanguage(value);\r\n\t\t\t\ti18n.changeLanguage(language);\r\n\r\n\t\t\t}\r\n\t\t})\r\n\t};\r\n\r\n\tconst handleCheckbox = async (e) => {\r\n\t\tupdateAccountSettings({ newLangValue: selectedLanguage, newShowSampleValue: !checked })\r\n\t\tsetChecked(e.target.checked);\r\n\t};\r\n\r\n\tconst [showModal, hideModalIcon] = useModal(EditLogoModal, {\r\n\t\tsessionId: sessionId,\r\n\t\tupdateImg: updateAccountImg,\r\n\t});\r\n\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"ASPX_216\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"CAMERA\")}\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"DISPLAY_LANGUAGE\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{languages.map((language, index) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"ASPX_218\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"ASPX_221\")}\r\n\t\t\t\t{contracts?.map((contract, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\t{isLoggerCompanyAdmin && aiPurchased && }\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nfunction SubscriptionCard({ data }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"PLAN_TYPE\")}\r\n\t\t\t\t{data.subscriptionPlan}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"EXPIRE_ON\")}\r\n\t\t\t\t
\r\n\t\t\t\t\t{data.validUntil}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{t(\"BILLED_USERS\")}\r\n\t\t\t\t
{data.licensedUsersNumber + data.readOnlyLicensedUsersNumber}
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nfunction AIcontent() {\r\n\tconst { t } = useTranslation();\r\n\tconst aiEnabled = useSelector(({ settings }) => settings.subscriptionDetails.aiEnabled);\r\n\tconst aiConsentGiven = useSelector(({ settings }) => settings.subscriptionDetails.aiConsentGiven);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!aiConsentGiven && aiEnabled)\r\n\t\t\tonEnable()\r\n\t}, [aiConsentGiven])\r\n\r\n\tconst onCheck = () => {\r\n\t\tconst update = !aiConsentGiven\r\n\t\taiAgreementPolicy({ value: update })\r\n\r\n\t}\r\n\tconst onEnable = () => {\r\n\t\tconst update = !aiEnabled\r\n\t\tenableAlex({ enable: update })\r\n\t}\r\n\treturn (<>\r\n\t\t{t(\"AI_CONTENT_ALEX\")}\r\n\t\t\r\n\t\t\t{t(\"ALEX_POLICY\")}\r\n\t\t\t\t{t(\"PRIVATE_POLICY\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{t(\"AGREE\")}\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t{t(\"ENABLE_AI\")}\r\n\t\t\r\n\t\r\n\t)\r\n}\r\nconst SettingsContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nconst SubDetailsContainer = styled.div``;\r\n\r\nconst PageTitle = styled.div`\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tfont-size: 24px;\r\n\tline-height: 29px;\r\n\tcolor: #333333;\r\n`;\r\n\r\nconst SettingsCard = styled.div`\r\n\talign-self: center;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: 400px;\r\n\tgap: 40px;\r\n`;\r\n\r\nconst CompanyLogo = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 10px;\r\n`;\r\n\r\nconst ImageLogo = styled.div`\r\n\twidth: 100px;\r\n\theight: 100px;\r\n\tborder-radius: 50%;\r\n\tcolor: #3f3d56;\r\n\tborder: 1px solid #3f3d56;\r\n\tbackground-color: #ffffff;\r\n\tz-index: 1;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tdisplay: none;\r\n\tcursor: pointer;\r\n`;\r\nconst ImageContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tborder: 1px dashed #dee2e6;\r\n\theight: 150px;\r\n\tmax-height: 150px;\r\n\tpadding: 15px;\r\n\tbackground-color: #f6f6ff;\r\n\t:hover ${ImageLogo} {\r\n\t\tdisplay: flex;\r\n\t}\r\n\t:hover img {\r\n\t\tdisplay: none;\r\n\t}\r\n\timg {\r\n\t\twidth: 250px;\r\n\t\tcursor: pointer;\r\n\t\tmax-height: 150px;\r\n\t\tobject-fit: cover;\r\n\t}\r\n`;\r\n\r\nconst SubscriptionPlanCustom = styled.div`\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tfont-size: 32px;\r\n\tline-height: 39px;\r\n\tcolor: #333333;\r\n`;\r\n\r\nconst TitleLabel = styled.div`\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tline-height: 17px;\r\n\tcolor: #605f60;\r\n\twhite-space: nowrap;\r\n`;\r\n\r\nconst DivWrap = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\tgap: 20px;\r\n\twidth: 100px;\r\n`;\r\n\r\nconst CustomContainer = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tbackground: #f8f9fa;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n`;\r\n\r\nconst Language = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 50px;\r\n`;\r\n\r\nconst ShowSampleData = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 85px;\r\n`;\r\n\r\nconst CustomInput = styled(Input)`\r\n\t&.form-control:focus {\r\n\t\tbackground-color: transparent;\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t-webkit-box-shadow: none;\r\n\t\t-moz-box-shadow: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n\r\n\t&.form-control:disabled,\r\n\t.form-control[readonly] {\r\n\t\tbackground-color: #e5e4e5;\r\n\t\tcolor: #92919d;\r\n\t\topacity: 1;\r\n\t}\r\n`;\r\nconst PolicyText = styled.span`\r\ncolor: ${props => props.color ? props.color : '#33333'};\r\n\r\nfont-family: Inter;\r\nfont-size: 14px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 150%;\r\nfont-weight: ${props => props.bold ? 'bold' : '400'};\r\na {\r\n\tcolor: ${props => props.color ? props.color : '#33333'};\r\n\ttext-decoration: none;\r\n\r\n}\r\n`;\r\nconst ContainerAlex = styled.div`\r\nbackground: #f8f9fa;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n`;","import { getSubscriptionConfig, updateIntegrationCredentials } from \"@redux/index\";\r\nimport { useState } from \"react\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Card, CardBody, Col, Input, Row } from \"reactstrap\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\n\r\n\r\nconst Configuration = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst key = useSelector((state) => state.settings.configurations.integrationUserName);\r\n\tconst integrationMode = useSelector((state) => state.settings.configurations.integrationMode);\r\n\tconst url = useSelector((state) => `https://${state.settings.configurations.organizationPrefix}.${state.settings.configurations.organizationZone}.dynamics.com`);\r\n\r\n\tconst [intMode, setIntMode] = useState(integrationMode);\r\n\tconst [password, setPassword] = useState(\"\");\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tconst { value, name } = e.target;\r\n\t\tif (name === \"mode\") setIntMode(value);\r\n\t\tif (name === \"password\") setPassword(value);\r\n\t};\r\n\tconst update = () => updateIntegrationCredentials({ id: key, mode: intMode, password, url });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{t(\"INTEGRATION_MODE\")}
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{IconDispatcher(\"CIRCLE-QUESTION\", \"ms-1\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n { }} className=\"w-25 mx-2\" style={{ boxShadow: \"none\" }} disabled>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{t(\"ASPX_230\")}
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{IconDispatcher(\"CIRCLE-QUESTION\", \"ms-1\")}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
{t(\"ASPX_231\")}
\r\n\t\t\t\t\t\t\t\t { }} placeholder=\"********\" className=\"border-bottom\" disabled />\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{t(\"ASPX_233\")}
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{/*
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ASPX_165\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
*/}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nConfiguration.displayName = \"Configuration\";\r\nexport default Configuration;\r\n","import { ConceptSearchBar, GenericButton } from \"shared/ui-basics/index\";\r\nimport React,{ useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router\";\r\nimport styled from \"styled-components/macro\";\r\nimport DataTable from \"../../../grid-table/DataTable\";\r\n\r\nexport default function MapTemplates(props) {\r\n\tconst { t } = useTranslation();\r\n\tconst childRef = useRef(null);\r\n\tconst history = useHistory();\r\n\tconst [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tsetGlobalFilterValue(e.target.value);\r\n\t\tchildRef.current.updateFilter(e.target.value);\r\n\t};\r\n\r\n\tconst Search = ConceptSearchBar({ globalFilterValue, handleChange });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t history.push(\"/map-creation?isTemplate=true\")}>\r\n\t\t\t\t\t\t{t(\"JS_145\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
{Search}
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst Wrapper = styled.div`\r\n\twidth: 100%;\r\n`;\r\n\r\nconst ScrollContainer = styled.div`\r\n\toverflow: auto;\r\n\twidth: 100%;\r\n\theight: calc(100vh - 350px);\r\n`;\r\n\r\nconst TableContainer = styled.div`\r\n\tpadding-right: 2.5rem !important;\r\n\tpadding-left: 3rem !important;\r\n\t@media screen and (max-width: 1280px) {\r\n\t\tpadding-right: 0.25rem !important;\r\n\t\tpadding-left: 0.25rem !important;\r\n\t}\r\n`;\r\n","import { ConceptSearchBar, GenericButton } from \"shared/ui-basics/index\";\r\nimport React,{ useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router\";\r\nimport styled from \"styled-components/macro\";\r\nimport CardViewPersona from \"../../../grid-table/components/CardViewPersona\";\r\nimport DataTable from \"../../../grid-table/DataTable\";\r\n\r\nexport default function PersonaTemplates({ viewCard }) {\r\n\tconst { t } = useTranslation();\r\n\tconst childRef = useRef(null);\r\n\tconst history = useHistory();\r\n\tconst [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tsetGlobalFilterValue(e.target.value);\r\n\t\tchildRef.current.updateFilter(e.target.value);\r\n\t};\r\n\r\n\tconst Search = ConceptSearchBar({ globalFilterValue, handleChange });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t history.push(\"/persona-creation?isTemplate=true\")}>\r\n\t\t\t\t\t\t{t(\"JS_145\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{!viewCard &&
{Search}
}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
{viewCard ? : }
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst Wrapper = styled.div`\r\n\twidth: 100%;\r\n`;\r\n\r\nconst ScrollContainer = styled.div`\r\n\toverflow: auto;\r\n\twidth: 100%;\r\n\theight: calc(100vh - 350px);\r\n`;\r\n\r\nconst TableContainer = styled.div`\r\n\tpadding-right: 2.5rem !important;\r\n\tpadding-left: 3rem !important;\r\n\t@media screen and (max-width: 1280px) {\r\n\t\tpadding-right: 0.25rem !important;\r\n\t\tpadding-left: 0.25rem !important;\r\n\t}\r\n`;\r\n","import { getAllMapsListData, getAllPersonas } from \"@redux/index\";\r\nimport { findWorkspaceById } from \"@redux/memoizedSelectors\";\r\nimport MapTemplates from \"features/settings/components/templates/MapTemplates\";\r\nimport PersonaTemplates from \"features/settings/components/templates/PersonaTemplates\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport React, { useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { GenericButton, PageTitle } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n\r\n\r\nexport default function Templates() {\r\n\tconst { t } = useTranslation();\r\n const history = useHistory();\r\n const { search } = useLocation();\r\n const currentWorkspace = useSelector(findWorkspaceById(currentWorkspaceId));\r\n const [viewCard, setCardView] = React.useState(true);\r\n\tconst label = `${currentWorkspace?.name} ${t(\"TEMPLATES\")}`;\r\n\r\n const tabName = search.getTabName()?.tab || \"maps\";\r\n\r\n const [key, setKey] = useState(tabName);\r\n\r\n const handleChangeTab = (k) => {\r\n\t\tsetKey(k);\r\n\t\thistory.push(`/templates?tab=${k}`);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setCardView(true)} />\r\n\t\t\t\t\t\t setCardView(false)} />\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst PageHeader = styled(Row)`\r\n\tjustify-content: space-between;\r\n\tdisplay: flex;\r\n`;\r\n","import { currentWorkspaceId } from \"index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport DeleteWarningModal from \"shared/modals/basic/DeleteWarningModal\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { deleteWorkspace, updateWorkspace } from \"../reducer/WorkspaceActions\";\r\nimport { modes } from \"@utils/optionsSets/OptionSets\";\r\n\r\n\r\nexport default function BaseActions({ workspace }) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst workspaces = useSelector((state) => state.workspaces.all_workspaces);\r\n\tconst isWorkspaceActive = workspace?.statusCode === 1;\r\n\tconst isCurrent = workspace?.id === currentWorkspaceId;\r\n\r\n\tconst id = workspace?.id;\r\n\r\n\tconst [deleteConfirmModal] = useModal(DeleteWarningModal);\r\n\r\n\tconst handleDisable = () =>\r\n\t\tupdateWorkspace({\r\n\t\t\tmodifiedWorkspace: { ...workspace, statusCode: 2 },\r\n\t\t\tmodifiedAttribNames: [\"statusCode\"],\r\n\t\t});\r\n\r\n\tconst handleEnable = () => updateWorkspace({ modifiedWorkspace: { ...workspace, statusCode: 1 }, modifiedAttribNames: [\"statusCode\"] });\r\n\r\n\tconst handleDelete = () => {\r\n\t\tdeleteConfirmModal({\r\n\t\t\tonClick: () => deleteWorkspace({ workspaceId: id }),\r\n\t\t\ttitle: \"DELETE_WORKSPACE\",\r\n\t\t\twarningLabel: \"DELETE_WORKSPACE_WARNING\",\r\n\t\t\tLabel: \"DELETE_WORKSPACE_CONFIRMATION\",\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t\tsecondBtnText: \"ASPX_86\",\r\n\t\t\ttextColor: \"#CA6A6A\",\r\n\t\t\tboxColor: \"#F9D9D9\",\r\n\t\t\tisDeleteConfirm:true\r\n\t\t});\r\n\t};\r\n\r\n\tconst isWorkspaceCanBeDisabled = () => {\r\n\t\t// Only workspace that is active, not default and if more than one workspace\r\n\t\t// Current workspace cannot be disabled, need to show tooltip on action.\r\n\t\tconst activesWorkspaces = workspaces.filter((ws) => ws?.statusCode === 1);\r\n\t\treturn activesWorkspaces?.length > 1 && !workspace.isDefault;\r\n\t};\r\n\r\n\tconst redirect = (e) => {\r\n\t\thistory.push(`/edit-workspace?id=${workspace.id}&mode=${modes?.duplicate}`);\r\n\t};\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\r\n\t\tif (isWorkspaceActive) {\r\n\t\t\tif (isWorkspaceCanBeDisabled())\r\n\t\t\t\tactions.push({\r\n\t\t\t\t\tid: \"disable\",\r\n\t\t\t\t\thandleClick: handleDisable,\r\n\t\t\t\t\ticon: \"HIDE_EYE\",\r\n\t\t\t\t\ttext: t(\"DISABLE\"),\r\n\t\t\t\t\tdisabled: isCurrent,\r\n\t\t\t\t\ttooltipText: isCurrent ? t(\"DISABLE_WORKSPACE_WARNING\") : undefined,\r\n\t\t\t\t});\r\n\t\t\tactions.push({ id: \"copy\", handleClick: redirect, icon: \"COPY\", text: t(\"JS_61\") });\r\n\t\t} else {\r\n\t\t\tactions.push({ id: \"enable\", handleClick: handleEnable, icon: \"VIEW\", text: t(\"ENABLE\") });\r\n\t\t\tif (!workspace?.originalDefaultWorkspace )\r\n\t\t\t\tactions.push({\r\n\t\t\t\t\tid: \"delete\",\r\n\t\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","export const filterRecords = ({ records, accessType, roleName }) => {\r\n\tif (accessType && roleName) return records?.filter((user) => user.accessType === accessType && user.roleName === roleName);\r\n\tif (accessType) return records?.filter((user) => user.accessType === accessType);\r\n\tif (roleName) return records?.filter((user) => user.roleName === roleName);\r\n};\r\n\r\nexport const isTeam = ({ record }) => {\r\n\tif (record[\"memberUserIds\"]) return true;\r\n\treturn false;\r\n};\r\n\r\nexport const isActive = ({ workspace }) => workspace?.statusCode === 1;\r\n","import { EMPTY_GUID, filterByActiveUsers, findFirstAlphabeticalCharacter } from \"@utils/helpers\";\r\nimport { modes } from \"@utils/optionsSets/OptionSets\";\r\nimport BaseActions from \"features/workspace/actions/BaseActions\";\r\nimport { isActive } from \"features/workspace/utils\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Moment from \"react-moment\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { FlexAlignCenter, FlexColumn, IconDispatcher, Label } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components\";\r\nimport WorkspaceLogo from \"../others/workspace-logo\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { memo } from \"react\";\r\n\r\nexport const WorkspaceCard = memo(({ workspace, isCompanyAdmin }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\tconst authorizedUsers = useSelector((state) => state.settings.authorizedUsers);\r\n\r\n\tconst firstFilterStep = workspace?.authorizedUsers?.filter((user) => user?.roleId !== EMPTY_GUID);\r\n\tconst filteredUsers = filterByActiveUsers({ authorizedUsers: authorizedUsers, registeredUsers: users });\r\n\r\n\tconst workspaceUsers = {\r\n\t\tusers: filteredUsers?.filter((user) => firstFilterStep?.find((fu) => user.id === fu.id) && user?.accessType === \"user\"),\r\n\t\tteams: firstFilterStep?.filter((user) => user?.accessType === \"team\"),\r\n\t};\r\n\tconst isDisabled = workspace?.statusCode === 2;\r\n\tconst redirect = () => {\r\n\t\thistory.push(`/edit-workspace?id=${workspace.id}&mode=${modes.update}`);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{workspace?.name}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
{IconDispatcher(isActive({ workspace }) ? \"CIRCLE-CHECK\" : \"CIRCLE-PAUSE\", \"\", { style: \"thin\" })}
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{workspace?.isDefault && {t(\"DEFAULT\")}}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{isCompanyAdmin && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tCreateActionsDropdown({\r\n\t\t\t\t\t\t\t\tactions: BaseActions({ workspace }),\r\n\t\t\t\t\t\t\t\tsize:'m',\r\n\t\t\t\t\t\t\t\tvariant: \"\",\r\n\t\t\t\t\t\t\t\tdropdownClasses: \"\",\r\n\t\t\t\t\t\t\t\tstopPropagation: true\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\nWorkspaceCard.displayName = \"WorkspaceCard\";\r\nconst Actions = styled.div``;\r\n\r\nconst CardContainer = styled.div`\r\n\tdisplay: flex;\r\n\r\n\theight: 135px;\r\n\twidth: 960px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #efefef;\r\n\tbackground: #fff;\r\n\tcursor: pointer;\r\n\t:hover {\r\n\t\tbox-shadow: 1px 1px 8px rgba(0, 0, 0, 0.1);\r\n\t}\r\n\t&:hover ${Actions} {\r\n\t\tvisibility: visible;\r\n\t}\r\n`;\r\n\r\nconst Body = styled.div`\r\n\twidth: 100%;\r\n\tmargin: 16px;\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tborder-bottom: 1px solid #efefef;\r\n\tpadding-bottom: 12px;\r\n\twidth: 100%;\r\n`;\r\n\r\nconst ActionsContainer = styled.div`\r\n\talign-self: flex-start;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tpadding-top: 12px;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 24px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 150%;\r\n\tmax-width: max-content;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 1;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden;\r\n\tmax-width: 555px;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tcolor: rgba(51, 51, 51, 0.6);\r\n\t\t\t:hover {\r\n\t\t\t\tpointer-events: none;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n\r\nconst Default = styled.div`\r\n\theight: 26px;\r\n\twidth: 50px;\r\n\tpadding: 4px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tborder-radius: 4px;\r\n\tbackground: #efefef;\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Col, Container } from \"reactstrap\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { GenericButton } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport { WorkspaceCard } from \"../components/cards/workspace-card\";\r\nimport { UserType, modes } from \"@utils/optionsSets/OptionSets\";\r\nimport { getSusbscriptionName } from \"redux/memoizedSelectors\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { getAllWorkspaces } from \"../reducer/WorkspaceActions\";\r\nimport { memo } from \"react\";\r\n\r\nexport default function WorkspacesList() {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst userInfo = useSelector(({ auth }) => auth?.userInfo || {});\r\n\tconst isSharedEnterprise = useSelector(getSusbscriptionName)?.isSubscriptionAllowed([\"sharedenterprise\"]);\r\n\r\n\tconst { all_workspaces: workspaces } = useSelector((state) => state.workspaces);\r\n\r\n\tconst userType = Number(userInfo?.UserType);\r\n\tconst isCompanyAdmin = userType === UserType.companyAdmin;\r\n\r\n\tconst onCreate = () => {\r\n\t\thistory.push(`/edit-workspace?mode=${modes.create}`);\r\n\t};\r\n\r\n\tconst filterWorkspaces = (workspaces) => {\r\n\t\tif (isCompanyAdmin) return workspaces;\r\n\t\treturn workspaces?.filter((ws) => ws.authorizedUsers?.find((au) => au?.id === userInfo?.UserId)?.roleName === \"owner\");\r\n\t};\r\n\r\n\tconst currentWorkspaces = filterWorkspaces(workspaces);\r\n\tconst isButtonDisabled = isSharedEnterprise && currentWorkspaces?.length > 1;\r\n\tconst sortStable = (list) => {\r\n\t\treturn list.slice().sort((a, b) => {\r\n\t\t\tconst nameComparison = a.name.localeCompare(b.name);\r\n\t\t\treturn nameComparison !== 0 ? nameComparison : a.index - b.index;\r\n\t\t});\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t{isCompanyAdmin && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"NEW_WORKSPACE\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst Cards = memo(({ workspaces, isCompanyAdmin }) => {\r\n\r\n\treturn \r\n\t\t\r\n\t\t\t{workspaces?.map((workspace) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t;\r\n});\r\nCards.displayName = \"Cards\";\r\nexport const CardContainer = styled(Container)`\r\n\tmargin-left: 0px;\r\n\tpadding-left: 0px;\r\n`;\r\n\r\nconst BtnContainer = styled.div`\r\n\twidth: fit-content;\r\n`;\r\n","import { IconDispatcher } from \"shared/Icons\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nconst ColorBubblePicker = ({ colors, selected, onSelect }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{colors.map(({ color, name }, i) => (\r\n\t\t\t\t\r\n\t\t\t\t\t onSelect({ color })} isselected={selected === color}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"CHECK\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nColorBubblePicker.displayName = \"ColorBubblePicker\";\r\nexport default ColorBubblePicker;\r\n\r\nconst Container = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst ColorContainer = styled.div`\r\n\twidth: 36px;\r\n\theight: 36px;\r\n\tborder-radius: 50%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\t:hover {\r\n\t\tborder: 2px solid #333;\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tprops.isselected &&\r\n\t\tcss`\r\n\t\t\tborder: 2px solid #333;\r\n\t\t`}\r\n`;\r\n\r\nconst ColorBubble = styled.div`\r\n\twidth: 32px;\r\n\theight: 32px;\r\n\tborder-radius: 50%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tbackground-color: ${(props) => props.color};\r\n\tcolor: #fff;\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst CheckWrapper = styled.div`\r\n\tvisibility: hidden;\r\n\r\n\t${(props) =>\r\n\t\tprops.isselected &&\r\n\t\tcss`\r\n\t\t\tvisibility: visible;\r\n\t\t`}\r\n`;\r\n","import { getTeams } from \"@redux/memoizedSelectors\";\r\nimport { EMPTY_GUID, filterByActiveUsers, GetPickListUsers } from \"@utils/helpers\";\r\nimport { filterRecords } from \"features/workspace/utils\";\r\nimport { useImperativeHandle, useState } from \"react\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport UsersSelectorTypeahead from \"shared/components/typeahead/users-selector-typeahead\";\r\n\r\nconst WorkspaceManageUsers = ({ innerRef, workspace, modeType, userType, setModifiedAttribNames }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst authorizedUsers = useSelector((state) => state.settings.authorizedUsers);\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\tconst currentUserId = useSelector((state) => state.auth.userInfo.UserId);\r\n\r\n\tconst allActiveUSers = filterByActiveUsers({ authorizedUsers, registeredUsers: users });\r\n\tconst currentUser = allActiveUSers?.filter((user) => user?.id === currentUserId);\r\n\tconst teams = useSelector(getTeams);\r\n\tconst [workspaceUsers, setWorkspaceUsers] = useState(init());\r\n\tconst [isModified, setIsModified] = useState(false);\r\n\tconst selected = getSelected();\r\n\tconst filteredRecords = filterRecords({ records: workspace?.authorizedUsers, roleName: userType });\r\n\tconst options = [{ id: \"\", fullName: \"All\" }, ...GetPickListUsers([...allActiveUSers, ...teams], [])];\r\n\tuseImperativeHandle(innerRef, () => ({\r\n\t\tgetWorkspaceUsers: () => {\r\n\t\t\treturn {\r\n\t\t\t\tusers: workspaceUsers?.users?.map((u) => u.id),\r\n\t\t\t\tteams: workspaceUsers?.teams?.map((u) => u.id),\r\n\t\t\t\tisModified,\r\n\t\t\t};\r\n\t\t},\r\n\t}));\r\n\tfunction init() {\r\n\t\tif (modeType === \"update\") {\r\n\t\t\tconst filteredUsers = workspace?.authorizedUsers?.filter((user) => user?.roleId !== EMPTY_GUID) || [];\r\n\t\t\tconst selectedUsers = filteredUsers?.filter((fu) => {\r\n\t\t\t\tif (fu.accessType === \"user\") {\r\n\t\t\t\t\tconst domaineName = authorizedUsers?.find((user) => user.id === fu.id)?.domainName;\r\n\t\t\t\t\tconst userDetails = users?.find((u) => domaineName?.toLowerCase() === u?.loginName?.toLowerCase());\r\n\t\t\t\t\tif (userDetails) return userDetails?.isActive;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t});\r\n\t\t\t// A company admin or workspace owner cannot remove itself from the owners\r\n\t\t\tselectedUsers?.map((user) => {\r\n\t\t\t\tif (user.id === currentUserId) {\r\n\t\t\t\t\tuser.isNotRemovable = true;\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\tusers: filterRecords({ records: selectedUsers, accessType: \"user\", roleName: userType }) || [],\r\n\t\t\t\tteams: filterRecords({ records: filteredUsers, accessType: \"team\", roleName: userType }) || [],\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tusers: userType === \"owner\" ? currentUser : allActiveUSers,\r\n\t\t\tteams: [],\r\n\t\t};\r\n\t}\r\n\r\n\tfunction getSelected() {\r\n\t\tif (allActiveUSers?.length === workspaceUsers?.users?.length) return [{ id: \"\", fullName: \"All\" }];\r\n\t\treturn [...workspaceUsers?.users, ...workspaceUsers?.teams];\r\n\t}\r\n\r\n\tconst onUsersChange = ({ selected }) => {\r\n\t\tconst isAllSelected = selected?.find((user) => user.fullName === \"All\");\r\n\t\tconst users = isAllSelected ? filterRecords({ records: allActiveUSers, accessType: \"user\" }) : filterRecords({ records: selected, accessType: \"user\" });\r\n\t\tconst teams = selected?.filter((user) => user.accessType === \"team\" || user[\"memberUserIds\"]);\r\n\r\n\t\tsetIsModified(true);\r\n\t\tsetWorkspaceUsers({ users, teams });\r\n\t\tif (setModifiedAttribNames)\r\n\t\t\tsetModifiedAttribNames((prev) => {\r\n\t\t\t\tconst newSet = new Set(prev);\r\n\t\t\t\tif (!newSet.has(\"authorizedUsers\")) newSet.add(\"authorizedUsers\");\r\n\t\t\t\treturn newSet;\r\n\t\t\t});\r\n\t};\r\n\tconst filterOptions = (option) => {\r\n\t\tif (selected.find((x) => x.fullName === \"All\") && option.accessType === \"user\") {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn true;\r\n\t};\r\n\r\n\treturn (\r\n\t\t onUsersChange({ selected })} showBorder={true} />\r\n\t);\r\n};\r\n\r\nWorkspaceManageUsers.displayName = \"WorkspaceManageUsers\";\r\nexport default WorkspaceManageUsers;\r\n","import { useImperativeHandle, useState } from \"react\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Labels } from \"shared/cx-components/style\";\r\nimport { CheckBoxWrapper } from \"features/library/modals/link-kpi/Style\";\r\nimport { FlexAlignCenter, FlexColumn, IconDispatcher } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\n\r\nconst DuplicateWorkspaceAddOn = ({ innerRef }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [duplicateOptions, setDuplicateOptions] = useState([\"customization\"]);\r\n\r\n\tuseImperativeHandle(innerRef, () => ({ getDuplicateOptions: () => duplicateOptions }));\r\n\r\n\tconst handleChange = (option) => {\r\n\t\tlet newOptions = [];\r\n\t\tif (duplicateOptions.includes(option)) newOptions = duplicateOptions?.filter((opt) => opt !== option);\r\n\t\telse newOptions = [...duplicateOptions, option];\r\n\t\tsetDuplicateOptions(newOptions);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
{IconDispatcher(\"FA-LIGHTBULB-EXCLAMATION-ON\", \"me-2\", { style: \"thin\", size: \"xl\" })}
\r\n\t\t\t\t
{t(\"SELECT_CONTENT_DUPLICATE\")}
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t e.stopPropagation()}\r\n\t\t\t\t\t\tonChange={() => handleChange(\"libraries\")}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t
{t(\"LIBRARIES\")}
\r\n\t\t\t\t
\r\n\t\t\t\t{`${t(\"TOUCHPOINTS\")}, ${t(\"JS_186\")}, ${t(\"SYSTEMS\")}, ${t(\"DEPARTMENTS\")}, ${t(\"BRAND_VALUES\")}, ${t(\"MEASURES\")} ${t(\"AND\")} ${t(\"YOUR_CUSTOM_LIBRARIES\")}`}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t e.stopPropagation()}\r\n\t\t\t\t\t\tonChange={() => handleChange(\"customization\")}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t
{t(\"TAXONOMY\")}
\r\n\t\t\t\t
\r\n\t\t\t\t{`${t(\"TAGS\")}, ${t(\"GROUPS\")}, ${t(\"PRIORITIES\")}, ${t(\"STATUSES\")} ${t(\"AND\")} ${t(\"INSIGHT_TYPES\")}`}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDuplicateWorkspaceAddOn.displayName = \"DuplicateWorkspaceAddOn\";\r\nexport default DuplicateWorkspaceAddOn;\r\n\r\nconst DuplicateSection = styled.div`\r\n\tborder-radius: 4px;\r\n\tbackground: #f8f9fa;\r\n`;\r\n","import { findWorkspaceById } from \"@redux/memoizedSelectors\";\r\nimport { EMPTY_GUID, createDefaultWorkspace, findFirstAlphabeticalCharacter, getModeType } from \"@utils/helpers\";\r\nimport { copyWorkspace, createWorkspace, getAllWorkspaces, updateWorkspace } from \"features/workspace/reducer/WorkspaceActions\";\r\nimport { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Container } from \"reactstrap\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { EditorWrapper, Labels, Title } from \"shared/cx-components/style\";\r\nimport { useAttributeHandler, useGetIsCompanyAdmin, useGetIsLoggedUserWorkspaceOwner } from \"shared/hooks/index\";\r\nimport { FlexAlignCenter, GenericButton } from \"shared/ui-basics\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport styled, { css } from \"styled-components\";\r\nimport Swal from \"sweetalert2\";\r\nimport ColorBubblePicker from \"../../components/others/color-bubble-picker\";\r\nimport WorkspaceLogo from \"../../components/others/workspace-logo\";\r\nimport WorkspaceManageUsers from \"../../components/others/workspace-manage-users\";\r\nimport DuplicateWorkspaceAddOn from \"./duplicate-workspace-add-on\";\r\n\r\nconst WorkspaceForm = (props) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst { search } = useLocation();\r\n\tconst duplicateRef = useRef(null);\r\n\tconst ownersRef = useRef(null);\r\n\tconst usersRef = useRef(null);\r\n\r\n\tconst { mode, selectedItemId } = search.getWorkspaceProps(props.query);\r\n\tconst workspaces = useSelector((state) => state.workspaces.all_workspaces);\r\n\tconst currentWorkspace = useSelector(findWorkspaceById(selectedItemId));\r\n\tconst isCompanyAdmin = useGetIsCompanyAdmin();\r\n\tconst isWorkspaceOWner = useGetIsLoggedUserWorkspaceOwner(currentWorkspace);\r\n\tconst displayForm = isCompanyAdmin || isWorkspaceOWner;\r\n\tconst isDefault = currentWorkspace?.isDefault;\r\n\r\n\tconst [isActionButtonDisabled, setIsActionButtonDisabled] = useState(false);\r\n\tconst modeType = getModeType(mode);\r\n\tconst { object: workspace, setObject: setWorkspace, handleChange, modifiedAttribNames, setModifiedAttribNames } = useAttributeHandler(modeType === \"create\" ? createDefaultWorkspace() : currentWorkspace);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (modeType === \"update\" && currentWorkspace) {\r\n\t\t\tsetWorkspace(currentWorkspace);\r\n\t\t}\r\n\t\tif (modeType === \"duplicate\" && currentWorkspace) {\r\n\t\t\tsetWorkspace({ ...currentWorkspace, name: `[${t(\"DUPLICATE\")?.toUpperCase()}]- ${currentWorkspace?.name}` });\r\n\t\t}\r\n\r\n\t}, [currentWorkspace]);\r\n\r\n\tconst redirectToList = useCallback(() => {\r\n\t\tif (modeType === \"update\" && modifiedAttribNames.size > 0) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttext: t(\"SAVE_CHANGES\"),\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\tshowCancelButton: true,\r\n\t\t\t\tconfirmButtonColor: \"#F96209\",\r\n\t\t\t\tcancelButtonColor: \"#EFEFEF\",\r\n\t\t\t\tconfirmButtonText: t(\"JS_55\"),\r\n\t\t\t}).then((result) => {\r\n\t\t\t\tif (result.isConfirmed) {\r\n\t\t\t\t\thandleAction();\r\n\t\t\t\t}\r\n\t\t\t\tif (result.isDismissed) {\r\n\t\t\t\t\tsetIsActionButtonDisabled(false);\r\n\t\t\t\t\thistory.push(`/workspaces`);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tsetIsActionButtonDisabled(false);\r\n\t\t\thistory.push(`/workspaces`);\r\n\t\t}\r\n\r\n\t}, [modifiedAttribNames]);\r\n\r\n\tfunction removeDuplicates(array) {\r\n\t\treturn [...new Set(array)];\r\n\t}\r\n\r\n\tconst handleAction = () => {\r\n\t\tconst modifiedAttributes = Array.from(modifiedAttribNames);\r\n\t\tconst owners = ownersRef?.current?.getWorkspaceUsers();\r\n\t\tconst users = usersRef?.current?.getWorkspaceUsers();\r\n\r\n\t\tif (owners?.users?.length === 0 && owners?.team?.length === 0) {\r\n\t\t\treturn toast.info(t(\"SELECT_USERS\"));\r\n\t\t}\r\n\r\n\t\tif (owners?.isModified || users?.isModified) modifiedAttributes.push(\"authorizedUsers\");\r\n\r\n\t\tconst updatedUsers = {\r\n\t\t\towners: owners?.users,\r\n\t\t\tteamsOwners: owners?.teams,\r\n\t\t\tusers: users?.users,\r\n\t\t\tteamsUsers: users?.teams,\r\n\t\t};\r\n\r\n\t\tsetIsActionButtonDisabled(true);\r\n\r\n\t\tif (modeType === \"create\") {\r\n\t\t\tcreateWorkspace({\r\n\t\t\t\tnewWorkspace: workspace,\r\n\t\t\t\tupdatedUsers,\r\n\t\t\t\timageExtension: \"\",\r\n\t\t\t\timageBody64: \"\",\r\n\t\t\t\tonSuccess: redirectToList,\r\n\t\t\t\tonFailed: () => setIsActionButtonDisabled(false),\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (modeType === \"update\") {\r\n\t\t\tconst onSuccess = () => {\r\n\t\t\t\tif (modifiedAttributes?.includes(\"authorizedUsers\")) {\r\n\t\t\t\t\ttoast.info(t(\"UPDATE_USER\"))\r\n\t\t\t\t}\r\n\t\t\t\tsetIsActionButtonDisabled(false);\r\n\t\t\t\thistory.push(`/workspaces`);\r\n\t\t\t};\r\n\t\t\tupdateWorkspace({ modifiedWorkspace: workspace, updatedUsers, modifiedAttribNames: removeDuplicates(modifiedAttributes), onSuccess: onSuccess, onFailed: () => setIsActionButtonDisabled(false) });\r\n\t\t}\r\n\r\n\t\tif (modeType === \"duplicate\") {\r\n\t\t\tconst options = duplicateRef?.current?.getDuplicateOptions();\r\n\t\t\tconst params = {\r\n\t\t\t\tsrcWorkspaceId: selectedItemId,\r\n\t\t\t\tnewWorkspace: { ...workspace, id: EMPTY_GUID },\r\n\t\t\t\tselectedCustomization: options,\r\n\t\t\t\tupdatedUsers,\r\n\t\t\t\timageExtension: \"\",\r\n\t\t\t\timageBody64: \"\",\r\n\t\t\t\tonSuccess: redirectToList,\r\n\t\t\t\tonFailed: () => setIsActionButtonDisabled(false),\r\n\t\t\t};\r\n\t\t\tcopyWorkspace(params);\r\n\t\t}\r\n\t};\r\n\r\n\tconst isBoxDisabled = () => {\r\n\t\tconst activesWorkspaces = workspaces.filter((ws) => ws?.statusCode === 1);\r\n\t\treturn isDefault || activesWorkspaces?.length === 1;\r\n\t};\r\n\r\n\tconst displayButtonText = () => {\r\n\t\tif (modeType === \"create\") return t(\"ASPX_12\");\r\n\t\tif (modeType === \"update\") return t(\"ASPX_165\");\r\n\t\tif (modeType === \"duplicate\") return t(\"ASPX_83\");\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{displayForm && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_8\")}\r\n\t\t\t\t\t\t\t\t handleChange(\"name\", e.target.value)} disabled={false} />\r\n\t\t\t\t\t\t\t</Section>\r\n\t\t\t\t\t\t\t<Section>\r\n\t\t\t\t\t\t\t\t<Labels>{t(\"SELECT\")}</Labels>\r\n\t\t\t\t\t\t\t\t<ColorBubblePicker\r\n\t\t\t\t\t\t\t\t\tcolors={[\r\n\t\t\t\t\t\t\t\t\t\t{ color: \"#18AEAD\", name: t(\"GREEN\") },\r\n\t\t\t\t\t\t\t\t\t\t{ color: \"#20A9E9\", name: t(\"BLUE\") },\r\n\t\t\t\t\t\t\t\t\t\t{ color: \"#5A549F\", name: t(\"PURPLE\") },\r\n\t\t\t\t\t\t\t\t\t\t{ color: \"#D40080\", name: t(\"PINK\") },\r\n\t\t\t\t\t\t\t\t\t\t{ color: \"#DA1B1B\", name: t(\"RED\") },\r\n\t\t\t\t\t\t\t\t\t\t{ color: \"#F96209\", name: t(\"ORANGE\") },\r\n\t\t\t\t\t\t\t\t\t\t{ color: \"#FDD03E\", name: t(\"YELLOW\") },\r\n\t\t\t\t\t\t\t\t\t\t{ color: \"#333333\", name: t(\"BLACK\") },\r\n\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\tselected={workspace?.colorCode}\r\n\t\t\t\t\t\t\t\t\tonSelect={({ color }) => handleChange(\"colorCode\", color)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</Section>\r\n\t\t\t\t\t\t\t<Section>\r\n\t\t\t\t\t\t\t\t<Labels>{t(\"ASPX_9\")}</Labels>\r\n\t\t\t\t\t\t\t\t<EditorWrapper>\r\n\t\t\t\t\t\t\t\t\t<Editor value={workspace?.description || \"\"} onChange={(value) => handleChange(\"description\", value)} />\r\n\t\t\t\t\t\t\t\t</EditorWrapper>\r\n\t\t\t\t\t\t\t</Section>\r\n\t\t\t\t\t\t\t<FlexAlignCenter className=\"mb-4\">\r\n\t\t\t\t\t\t\t\t<CheckBoxContainer className=\"me-2\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"checkbox\" checked={workspace?.isDefault} onChange={() => handleChange(\"isDefault\", !workspace?.isDefault)} disabled={isBoxDisabled()} />\r\n\t\t\t\t\t\t\t\t</CheckBoxContainer>\r\n\t\t\t\t\t\t\t\t<Labels>{t(\"SAVE_AS_DEFAULT\")}</Labels>\r\n\t\t\t\t\t\t\t</FlexAlignCenter>\r\n\t\t\t\t\t\t\t<Section>\r\n\t\t\t\t\t\t\t\t<Labels>{t(\"WORKSPACE_OWNERS\")}</Labels>\r\n\t\t\t\t\t\t\t\t<WorkspaceManageUsers innerRef={ownersRef} workspace={workspace} modeType={modeType} userType=\"owner\" setModifiedAttribNames={setModifiedAttribNames} />\r\n\t\t\t\t\t\t\t</Section>\r\n\t\t\t\t\t\t\t<Section>\r\n\t\t\t\t\t\t\t\t<Labels>{t(\"INVITE_USERS_OR_TEAMS\")}</Labels>\r\n\t\t\t\t\t\t\t\t<WorkspaceManageUsers innerRef={usersRef} workspace={workspace} modeType={modeType} userType=\"viewer\" setModifiedAttribNames={setModifiedAttribNames} />\r\n\t\t\t\t\t\t\t</Section>\r\n\t\t\t\t\t\t\t{modeType === \"duplicate\" && <DuplicateWorkspaceAddOn innerRef={duplicateRef} />}\r\n\t\t\t\t\t\t\t<Section>\r\n\t\t\t\t\t\t\t\t<ButtonContainer>\r\n\t\t\t\t\t\t\t\t\t<GenericButton variant=\"primary\" onClick={handleAction} disabled={isActionButtonDisabled}>\r\n\t\t\t\t\t\t\t\t\t\t{displayButtonText()}\r\n\t\t\t\t\t\t\t\t\t</GenericButton>\r\n\t\t\t\t\t\t\t\t</ButtonContainer>\r\n\t\t\t\t\t\t\t</Section>\r\n\t\t\t\t\t\t</FormContainer>\r\n\t\t\t\t\t</ContainerPage>\r\n\t\t\t\t</DataLoader>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nWorkspaceForm.displayName = \"WorkspaceForm\";\r\nexport default WorkspaceForm;\r\n\r\nconst ContainerPage = styled(Container)`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\theight: calc(100vh - 76px);\r\n\t${(props) =>\r\n\t\tprops.query &&\r\n\t\tcss`\r\n\t\t\tbackground-color: #f8f9fa;\r\n\t\t\tpadding: 0;\r\n\t\t\theight: calc(100vh - 224px);\r\n\t\t`}\r\n`;\r\n\r\nconst FormContainer = styled.div`\r\n\twidth: 520px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-self: center;\r\n`;\r\n\r\nconst Section = styled.div`\r\n\tmargin-bottom: 32px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 16px;\r\n`;\r\n\r\nconst ImageContainer = styled.div`\r\n\twidth: 80px;\r\n\theight: 80px;\r\n\talign-self: center;\r\n`;\r\n\r\nconst ButtonContainer = styled.div`\r\n\talign-self: flex-start;\r\n`;\r\n\r\nconst CheckBoxContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\tinput[type=\"checkbox\"] {\r\n\t\taccent-color: #333333;\r\n\t\twidth: 15px !important;\r\n\t\theight: 15px !important;\r\n\t\t:hover {\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\t}\r\n`;\r\n","import { ConnectorSource, ConnectorType } from \"@utils/optionsSets/OptionSets\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Form, Modal, ModalHeader } from \"reactstrap\";\r\nimport GenericSwitch, { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { Input, Label } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport { upsertConnector } from \"../reducer/ConnectorAction\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport const MondayFormConnector = ({ isOpen, onClose, connector }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst [toggle, setToggle] = useState(true);\r\n\tconst [validated, setValidated] = useState(true);\r\n\tconst [isDisabled, setIsDisabled] = useState(false);\r\n\tconst [currentConnector, setCurrentConnector] = useState(\r\n\t\t(connector && {\r\n\t\t\tid: connector.id,\r\n\t\t\tname: connector.name,\r\n\t\t\ttoken: connector.token,\r\n\t\t\thost: connector.host,\r\n\t\t\tapiUrl: connector?.mondaySettings?.apiUrl,\r\n\t\t\tdedicatedBoardTemplateId: connector?.mondaySettings?.dedicatedBoardTemplateId,\r\n\t\t\tglobalProjectsBoardId: connector?.mondaySettings?.globalProjectsBoardId,\r\n\t\t\tenableConnection: connector.enableConnection,\r\n\t\t}) || { name: t(\"MONDAY\") + \" \" + t(\"INTEGRATION\"),id:EMPTY_GUID, enableConnection:true }\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetToggle(currentConnector?.enableConnection);\r\n\t}, [currentConnector?.enableConnection]);\r\n\r\n\tconst handleChange = (e, type) => {\r\n\t\tlet { name, value } = e.target;\r\n\t\tif (name === \"enableConnection\") {\r\n\t\t\tsetToggle(!toggle);\r\n\t\t\tvalue = !toggle;\r\n\t\t}\r\n\t\tsetCurrentConnector({ ...currentConnector, [type ?? name]: value });\r\n\t};\r\n\r\n\tconst submit = (event) => {\r\n\t\tsetIsDisabled(true);\r\n\t\tevent.preventDefault();\r\n\t\tif (validation()) {\r\n\t\t\tupsertConnector({\r\n\t\t\t\tconnector: {\r\n\t\t\t\t\tid: currentConnector?.id,\r\n\t\t\t\t\tname: currentConnector.name,\r\n\t\t\t\t\tsource: ConnectorSource.Monday,\r\n\t\t\t\t\ttype: ConnectorType.ProjectManagement,\r\n\t\t\t\t\ttoken: currentConnector.token,\r\n\t\t\t\t\thost: currentConnector.host,\r\n\t\t\t\t\tenableConnection: currentConnector.enableConnection,\r\n\t\t\t\t\tretrieveDataFrequency: \"100000001\",\r\n\t\t\t\t\tmondaySettings: {\r\n\t\t\t\t\t\tapiUrl: currentConnector.apiUrl,\r\n\t\t\t\t\t\tdedicatedBoardTemplateId: currentConnector.dedicatedBoardTemplateId,\r\n\t\t\t\t\t\tglobalProjectsBoardId: currentConnector.globalProjectsBoardId,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t// displayToast: \"UPDATE_NO_SUCCESS_TOAST\",\r\n\t\t\t\tonSuccess: (responseData) => {\r\n\t\t\t\t\tsetIsDisabled(false);\r\n\t\t\t\t\tif (responseData?.id !== EMPTY_GUID) onClose();\r\n\t\t\t\t\telse toast.warning(t(\"INTEGRATION_FAILED\"));\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tsetValidated(false);\r\n\t\t}\r\n\t};\r\n\r\n\tconst validation = () => {\r\n\t\tconst { name, token, host, apiUrl, globalProjectsBoardId, dedicatedBoardTemplateId } = currentConnector;\r\n\t\tif (!name || !token || !host || !apiUrl || !globalProjectsBoardId || !dedicatedBoardTemplateId) return false;\r\n\t\treturn true;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<Modal fade={false} isOpen={isOpen} centered={true} toggle={onClose} size=\"lg\">\r\n\t\t\t<ModalHeader toggle={onClose}>{t(\"MONDAY\") + \" \" + t(\"INTEGRATION\")}</ModalHeader>\r\n\t\t\t<WrapperForm id={currentConnector?.id} onSubmit={submit}>\r\n\t\t\t\t<div className=\"d-flex flex-column gap-4 p-4\">\r\n\t\t\t\t\t<WrapperRow>\r\n\t\t\t\t\t\t<div className=\"w-100\">\r\n\t\t\t\t\t\t\t<Label className=\"pb-2\">{t(\"NAME\")}</Label>\r\n\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\tvariant=\"default\"\r\n\t\t\t\t\t\t\t\tinvalid={!currentConnector?.name && !validated}\r\n\t\t\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\tvalue={currentConnector?.name}\r\n\t\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\t\tdisabled={isDisabled}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div className=\"w-100\">\r\n\t\t\t\t\t\t\t<Label className=\"pb-2\">{t(\"TOKEN\")}</Label>\r\n\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\tvariant=\"default\"\r\n\t\t\t\t\t\t\t\tinvalid={!currentConnector?.token && !validated}\r\n\t\t\t\t\t\t\t\tname=\"token\"\r\n\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\tvalue={currentConnector?.token || \"\"}\r\n\t\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\t\tdisabled={isDisabled}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</WrapperRow>\r\n\t\t\t\t\t<WrapperRow>\r\n\t\t\t\t\t\t<div className=\"w-100\">\r\n\t\t\t\t\t\t\t<Label className=\"pb-2\">{t(\"ASPX_233\")}</Label>\r\n\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\tvariant=\"default\"\r\n\t\t\t\t\t\t\t\tinvalid={!currentConnector?.host && !validated}\r\n\t\t\t\t\t\t\t\tname=\"host\"\r\n\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\tvalue={currentConnector?.host || \"\"}\r\n\t\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\t\tdisabled={isDisabled}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div className=\"w-100\">\r\n\t\t\t\t\t\t\t<Label className=\"pb-2\">{t(\"API_URL\")}</Label>\r\n\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\tvariant=\"default\"\r\n\t\t\t\t\t\t\t\tinvalid={!currentConnector?.apiUrl && !validated}\r\n\t\t\t\t\t\t\t\tname=\"apiUrl\"\r\n\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\tvalue={currentConnector?.apiUrl || \"\"}\r\n\t\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\t\tdisabled={isDisabled}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</WrapperRow>\r\n\t\t\t\t\t<WrapperRow>\r\n\t\t\t\t\t\t<div className=\"w-100\">\r\n\t\t\t\t\t\t\t<Label className=\"pb-2\">{t(\"PROJECT_GLOBAL_BOARD_ID\")}</Label>\r\n\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\tvariant=\"default\"\r\n\t\t\t\t\t\t\t\tinvalid={!currentConnector?.globalProjectsBoardId && !validated}\r\n\t\t\t\t\t\t\t\tname=\"globalProjectsBoardId\"\r\n\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\tvalue={currentConnector?.globalProjectsBoardId || \"\"}\r\n\t\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\t\tdisabled={isDisabled}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div className=\"w-100\">\r\n\t\t\t\t\t\t\t<Label className=\"pb-2\">{t(\"PROJECT_TEMPLATE_ID\")}</Label>\r\n\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\tvariant=\"default\"\r\n\t\t\t\t\t\t\t\tinvalid={!currentConnector?.dedicatedBoardTemplateId && !validated}\r\n\t\t\t\t\t\t\t\tname=\"dedicatedBoardTemplateId\"\r\n\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\tvalue={currentConnector?.dedicatedBoardTemplateId || \"\"}\r\n\t\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\t\tdisabled={isDisabled}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</WrapperRow>\r\n\r\n\t\t\t\t\t<div className=\"d-flex \">\r\n\t\t\t\t\t\t<Label className=\"pe-4\">{t(\"ENABLE_CONNECTION\")}</Label>\r\n\t\t\t\t\t\t<GenericSwitch isChecked={toggle} name=\"enableConnection\" handleToggle={handleChange} isdisabled={isDisabled} />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<WrapperFooter className=\" p-4\">\r\n\t\t\t\t\t<GenericButton variant=\"primary\" type=\"submit\" disabled={!validation() || isDisabled}>\r\n\t\t\t\t\t\t{connector ? `${t(\"ASPX_165\")} ${t(\"CONNECTION\")}` : t(\"BTN-CONNECT\")}\r\n\t\t\t\t\t</GenericButton>\r\n\t\t\t\t</WrapperFooter>\r\n\t\t\t</WrapperForm>\r\n\t\t</Modal>\r\n\t);\r\n};\r\n\r\nexport const WrapperFooter = styled.div`\r\n\tborder-top: 1px solid #c4c4c4;\r\n\tdisplay: flex;\r\n\tjustify-content: end;\r\n`;\r\n\r\nconst WrapperForm = styled(Form)`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst WrapperRow = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tgap: 20px;\r\n`;\r\n","const { Col, Row } = require(\"react-bootstrap\");\r\nimport { Container, Form } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const WrapperLeft = styled(Col)`\r\n`\r\nexport const WrapperConnector = styled.div`\r\n padding:1rem;\r\n border-top: 1px solid #F0F0F0;\r\n\r\n `\r\n export const WrapperRowError=styled.div`\r\n display: flex;\r\n align-items: flex-start;\r\n border: 1px solid #FFD2D2;\r\n background: #FFEDED;\r\n padding:4px 8px;\r\n border-radius:4px;\r\n gap:8px;\r\n width:fit-content;\r\n `\r\nexport const WrapperError = styled.div`\r\n display: flex;\r\n align-items: flex-start;\r\n border: 1px solid #FFD2D2;\r\n background: #FFEDED;\r\n padding:4px 8px;\r\n border-radius:4px;\r\n gap:8px;\r\n\r\n `\r\nexport const WrapperDiv = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tpadding:24px 16px;\r\n\t/* border-bottom: 1px solid #F0F0F0; */\r\n`;\r\nexport const WrapperRight = styled(Col)`\r\ndisplay:flex;\r\njustify-content:flex-end;\r\n`\r\nexport const ImgWrapper = styled.img`\r\n\theight: 40px;\r\n`;\r\n\r\nexport const ContainerPage=styled(Container)`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`\r\n\r\nexport const WrapperHeader = styled.div`\r\n display:flex;\r\n align-items:center; \r\n justify-content:center;\r\n background:#FAFAFA;\r\n border-bottom: 1px solid #EFEFEF;\r\n width:100%;\r\n border-top-left-radius: 4px;\r\n border-top-right-radius:4px;\r\n`\r\nexport const WrapperPage = styled.div`\r\n display:flex;\r\n flex-direction:column;\r\n justify-content:center;\r\n align-items:center;\r\n align-self:center;\r\n width:552px;\r\n border: 1px solid #EFEFEF;\r\n border-radius:4px;\r\n margin-top:3rem;\r\n\r\n\r\n`\r\nexport const WrapperFooter = styled.div`\r\n display:flex;\r\n justify-content:end;\r\n\r\n`\r\nexport const WrapperForm = styled(Form)`\r\n display:flex;\r\n flex-direction:column;\r\n justify-content:space-between;\r\n width:552px;\r\n`\r\n\r\nexport const WrapperSearch = styled.div`\r\nwidth:262px;\r\n\r\n`\r\n\r\nexport const WrapperHerf=styled.a`\r\n\tfont-size: ${(props) => props.size}px;\r\n text-decoration:none;\r\n color:#262626;\r\n\r\n&:hover{\r\n text-decoration:underline;\r\n color:#262626;\r\n cursor: pointer;\r\n}\r\n`\r\nexport const WrapperBorderDiv = styled.div`\r\nwidth:100%;\r\nborder-bottom:1px solid #F0F0F0;\r\npadding-top:1rem;\r\npadding-bottom:1rem;\r\n`\r\nexport const WrapperColHerf=styled(Col)`\r\nalign-self:center;\r\n`\r\n\r\nexport const WrapperBox=styled.div`\r\nborder-radius: 4px;\r\nborder: 1px solid #D9D9D9;\r\n`","import { importAll } from \"@utils/helpers\";\r\nimport { ConnectorSource } from \"@utils/optionsSets/OptionSets\";\r\nimport { IntegrationCard } from \"features\";\r\nimport { MondayFormConnector } from \"features/integrations/modals/MondayFormConnector\";\r\nimport { SupportForm } from \"features/navigation/Header/SupportForm\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { Label, SearchBar } from \"shared/ui-basics/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport * as Style from \"./Styles\";\r\n\r\nexport const IntegrationList = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst connectors = useSelector((state) => state.settings.connector);\r\n\tconst [searchedValue, setSearchedValue] = useState(\"\");\r\n\r\n\tconst [supportFormModal] = useModal(SupportForm);\r\n const [mondayFormConnector] = useModal(MondayFormConnector);\r\n const mondayConnectors = connectors?.filter((connector) => connector.source === ConnectorSource.Monday)\r\n\r\n\tconst redirect = (id, source) => {\r\n\t\thistory.push(`/edit-integration?id=${id}&source=${source}`);\r\n\t};\r\n\tconst listIntegrations = [\r\n\t\t{\r\n\t\t\tvariant: \"primary\", // displayVariant(ConnectorSource.Qualtrics),\r\n\t\t\ticon: \"qualtrics.png\",\r\n\t\t\tbuttonName: \"JS_40\", // displayBtnName(ConnectorSource.Qualtrics),\r\n\t\t\tcount: connectors?.filter((connector) => connector.source === ConnectorSource.Qualtrics)?.length,\r\n\t\t\tonClick: (id) => {\r\n\t\t\t\tredirect(id, ConnectorSource.Qualtrics);\r\n\t\t\t},\r\n\t\t\tname: \"QUALTRICS\",\r\n\t\t\tdescription: \"QUALTRICS_DESCRIPTION\",\r\n\t\t\tsource: ConnectorSource.Qualtrics,\r\n\t\t\tclassButton: \"w-50\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\ticon: \"survey-monkey.png\",\r\n\t\t\tbuttonName: \"JS_40\",\r\n\t\t\tcount: connectors?.filter((connector) => connector.source === ConnectorSource.SurveyMonkey)?.length,\r\n\t\t\tonClick: (id) => {\r\n\t\t\t\tredirect(id, ConnectorSource.SurveyMonkey);\r\n\t\t\t},\r\n\t\t\tname: \"SURVEY_MONKEY\",\r\n\t\t\tdescription: \"SURVEY_MONKEY_DESCRIPTION\",\r\n\t\t\tsource: ConnectorSource.SurveyMonkey,\r\n\t\t\tclassButton: \"w-50\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\ticon: \"sandsiv.png\",\r\n\t\t\tbuttonName: \"JS_40\",\r\n\t\t\tcount: connectors?.filter((connector) => connector.source === ConnectorSource.Sandsiv)?.length,\r\n\t\t\tonClick: (id) => {\r\n\t\t\t\tredirect(id, ConnectorSource.Sandsiv);\r\n\t\t\t},\r\n\t\t\tname: \"SANDSIV\",\r\n\t\t\tdescription: \"SANDSIV_DESCRIPTION\",\r\n\t\t\tsource: ConnectorSource.Sandsiv,\r\n\t\t\tclassButton: \"w-50\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\ticon: \"monday.png\",\r\n\t\t\tbuttonName: \"JS_40\",\r\n\t\t\tcount: mondayConnectors?.length,\r\n\t\t\tonClick: () => {\r\n\t\t\t\tmondayFormConnector({ connector: connectors?.find((connector) => connector.source === ConnectorSource.Monday) });\r\n\t\t\t},\r\n\t\t\tname: \"MONDAY\",\r\n\t\t\tdescription: \"MONDAY_DESCRIPTION\",\r\n source: ConnectorSource.Monday,\r\n disable: mondayConnectors?.length > 0,\r\n\t\t\tclassButton: \"w-50\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"medalia.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MEDALLIA\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MEDALLIA\",\r\n\t\t\tdescription: \"MEDALLIA_DESCRIPTION\",\r\n\t\t},\r\n\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"miro.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MIRO\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MIRO\",\r\n\t\t\tdescription: \"MIRO_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"mural.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MURAL\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MURAL\",\r\n\t\t\tdescription: \"MURAL_DESCRIPTION\",\r\n\t\t},\r\n\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"microsoft-dynamics.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MICROSOFT_DYNAMICS\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MICROSOFT_DYNAMICS\",\r\n\t\t\tdescription: \"MICROSOFT_DYNAMICS_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"jira.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"JIRA\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"JIRA\",\r\n\t\t\tdescription: \"JIRA_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"microsoft-customer-voice.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MICROSOFT_CUSTOMER_VOICE\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MICROSOFT_CUSTOMER_VOICE\",\r\n\t\t\tdescription: \"MICROSOFT_CUSTOMER_VOICE_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"intercom.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"INTERCOM\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"INTERCOM\",\r\n\t\t\tdescription: \"INTERCOM_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"mailchimp.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MAILCHIMP\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MAILCHIMP\",\r\n\t\t\tdescription: \"MAILCHIMP_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"asana.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"ASANA\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"ASANA\",\r\n\t\t\tdescription: \"ASANA_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"marketo.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MARKETO\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MARKETO\",\r\n\t\t\tdescription: \"MARKETO_DESCRIPTION\",\r\n\t\t},\r\n\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"microsoft-teams.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MICROSOFT_TEAMS\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MICROSOFT_TEAMS\",\r\n\t\t\tdescription: \"MICROSOFT_TEAMS_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"microsoft-power-apps.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MICROSOFT_POWER_APPS\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MICROSOFT_POWER_APPS\",\r\n\t\t\tdescription: \"MICROSOFT_POWER_APPS_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"microsoft-power-bi.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MICROSOFT_POWER_BI\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MICROSOFT_POWER_BI\",\r\n\t\t\tdescription: \"MICROSOFT_POWER_BI_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"salesforce.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"SALESFORCE\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"SALESFORCE\",\r\n\t\t\tdescription: \"SALESFORCE_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"sap.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"SAP\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"SAP\",\r\n\t\t\tdescription: \"SAP_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"service-now.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"SERVICE_NOW\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"SERVICE_NOW\",\r\n\t\t\tdescription: \"SERVICE_NOW_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"microsoft-sharepoint.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"MICROSOFT_SHARE_POINT\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"MICROSOFT_SHARE_POINT\",\r\n\t\t\tdescription: \"MICROSOFT_SHARE_POINT_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"slack.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"SLACK\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"SLACK\",\r\n\t\t\tdescription: \"SLACK_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"smartsheet.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"SMART_SHEET\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"SMART_SHEET\",\r\n\t\t\tdescription: \"SMART_SHEET_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"trello.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"TRELLO\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"TRELLO\",\r\n\t\t\tdescription: \"TRELLO_DESCRIPTION\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary-outline\",\r\n\t\t\ticon: \"zendesk.png\",\r\n\t\t\tbuttonName: \"CONTACT_US\",\r\n\t\t\tonClick: () => {\r\n\t\t\t\tsupportFormModal({ subject: `${t(\"ZENDESK\")} ${t(\"INTEGRATION\")}` });\r\n\t\t\t},\r\n\t\t\tname: \"ZENDESK\",\r\n\t\t\tdescription: \"ZENDESK_DESCRIPTION\",\r\n\t\t},\r\n\t];\r\n\r\n\tconst listIntegrationsConnect = listIntegrations?.filter((integration) => integration?.count > 0) || [];\r\n\tconst listIntegrationsNoConnect = listIntegrations?.filter(\r\n\t\t(integration) => (integration.count == undefined || integration?.count === 0) && (searchedValue === \"\" || integration.name.toLowerCase().includes(searchedValue.toLowerCase()))\r\n\t);\r\n\r\n\tconst integrations = importAll(require.context(\"@Assets/images/integration\", false, /\\.(png|jpe?g|svg)$/));\r\n\r\n\tconst handleSearch = (e) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetSearchedValue(value);\r\n\t};\r\n\tconst Search = SearchBar({ globalFilterValue: searchedValue, handleChange: handleSearch });\r\n\treturn (\r\n\t\t\t<PageTemplate classNames=\"container \">\r\n\t\t\t\t{listIntegrationsConnect.length > 0 && (\r\n\t\t\t\t\t<div className=\"pb-5\">\r\n\t\t\t\t\t\t<Style.WrapperBorderDiv>\r\n\t\t\t\t\t\t\t<Label fw={600} size={24} color={\"#333\"}>\r\n\t\t\t\t\t\t\t\t{t(\"INSTALLED_CONNECTOR\")}\r\n\t\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t</Style.WrapperBorderDiv>\r\n\t\t\t\t\t\t{listIntegrationsConnect?.map((integration, index) => (\r\n\t\t\t\t\t\t\t<IntegrationCard key={index} integration={integration} integrations={integrations} />\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<Label fw={600} size={24} color={\"#333\"}>\r\n\t\t\t\t\t\t{t(\"INSTALLED_CONNECTOR_TITLE2\")}\r\n\t\t\t\t\t</Label>\r\n\t\t\t\t\t<Style.WrapperBorderDiv>\r\n\t\t\t\t\t\t<Style.WrapperSearch>{Search}</Style.WrapperSearch>\r\n\t\t\t\t\t</Style.WrapperBorderDiv>\r\n\t\t\t\t\t{listIntegrationsNoConnect?.map((integration, index) => (\r\n\t\t\t\t\t\t<IntegrationCard key={index} integration={integration} integrations={integrations} />\r\n\t\t\t\t\t))}\r\n\t\t\t\t</div>\r\n\t\t\t</PageTemplate>\r\n\t);\r\n};\r\n","import { EMPTY_GUID, getKeyByValue } from \"@utils/helpers\";\r\nimport { ConnectorSource } from \"@utils/optionsSets/OptionSets\";\r\nimport { getImgConnector } from \"features/journey-map/swimlanes/customer-feedbacks/CustomerFeedbackCard\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { GenericButton, GenericDropdown, IconDispatcher, Input, Label } from \"shared/ui-basics\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport { upsertConnector } from \"../reducer/ConnectorAction\";\r\nimport * as Style from \"./Styles\";\r\n\r\nexport const newConnector = (source) => {\r\n return {\r\n id: EMPTY_GUID,\r\n source: source,\r\n retrieveDataFrequency: \"100000004\",\r\n enableConnection: true\r\n }\r\n};\r\n\r\nexport const dataFrequency = [{ id: '100000000', value: \"Single Time\" },\r\n{ id: '100000001', value: \"Daily\" },\r\n{ id: '100000002', value: \"Weekly\" },\r\n{ id: '100000003', value: \"Monthly\" },\r\n{ id: '100000004', value: \"Yearly\" }]\r\n\r\nconst IntegrationForm = () => {\r\n const { t } = useTranslation();\r\n const { search } = useLocation();\r\n const history = useHistory();\r\n const { id, source } = search.getIntegrationProps();\r\n const connector = useSelector((state) => state.settings.connector)?.find((connector) => connector.id === id) || newConnector(source);\r\n const [currentConnector, setCurrentConnector] = useState(connector);\r\n const [validated, setValidated] = useState(true);\r\n const [error, setError] = useState(\"\");\r\n const [startUpdate, setStartUpdate] = useState(false)\r\n const connectorName = getKeyByValue(ConnectorSource, source);\r\n const name = t(connectorName?.toUpperCase());\r\n const isGlobalError = (error !== \"\" && error !== \"TOKEN_NOT_VALID\" && !validated);\r\n const isTokenNotValid = (error === \"TOKEN_NOT_VALID\" && !validated);\r\n const handleChange = (e, type) => {\r\n let { name, value } = e.target;\r\n setCurrentConnector({ ...currentConnector, [type ?? name]: value });\r\n };\r\n const validation = () => {\r\n return currentConnector?.name !== \"\" && currentConnector?.token !== \"\" && currentConnector?.host;\r\n }\r\n const goBack = () => {\r\n history.push(`/integration`);\r\n }\r\n const onFailed = (error) => {\r\n setStartUpdate(false);\r\n setError(error?.response?.data)\r\n setValidated(false);\r\n\r\n }\r\n const submit = (event) => {\r\n event.preventDefault();\r\n if (validation()) {\r\n setStartUpdate(true);\r\n upsertConnector({ connector: { ...currentConnector, enableConnection: true }, onSuccess: goBack, onFailed })\r\n }\r\n else {\r\n setValidated(false);\r\n }\r\n }\r\n\r\n return <Style.ContainerPage >\r\n <div className=\"mb-2\">\r\n <CustomBreadCrumb paths={[t(\"ASPX_207\"), t(\"INTEGRATION\"), currentConnector?.id === EMPTY_GUID ? t(\"NEW_CONNECTOR\") : currentConnector?.name]} backFunction={goBack} />\r\n </div>\r\n <Style.WrapperPage>\r\n <Style.WrapperHeader className=\"py-2\">\r\n <Style.ImgWrapper className=\"me-3\" src={getImgConnector(parseInt(source))} />\r\n <Label size={20}>{name}</Label>\r\n </Style.WrapperHeader>\r\n <Style.WrapperForm id={currentConnector?.id} className=\"\" onSubmit={submit}>\r\n <div className=\"d-flex flex-column gap-4 p-4\">\r\n <div className=\"\">\r\n <Label className=\"pb-2\">{t(\"NAME\")}</Label>\r\n <Input variant=\"default\"\r\n invalid={!currentConnector?.name && !validated}\r\n name=\"name\"\r\n type=\"text\"\r\n value={currentConnector?.name}\r\n onChange={handleChange}\r\n placeholder={t(\"ENTER_NAME\")} />\r\n </div>\r\n <div className=\"\">\r\n <Label className=\"pb-2\">{t(\"TOKEN\")}</Label>\r\n <Input variant=\"default\"\r\n invalid={(!currentConnector?.token && !validated) || isTokenNotValid}\r\n name=\"token\"\r\n type=\"text\"\r\n value={currentConnector?.token || \"\"}\r\n onChange={handleChange}\r\n placeholder={t(\"ENTER_TITLE\")} />\r\n {isTokenNotValid && <Label size={12} color=\"#dc3545\">{t(\"Token not valid\")}</Label>}\r\n\r\n </div>\r\n <div className=\"\">\r\n <Label className=\"pb-2\">{t(\"HOST\")}</Label>\r\n <Input variant=\"default\"\r\n invalid={!currentConnector?.host && !validated}\r\n name=\"host\"\r\n type=\"text\"\r\n value={currentConnector?.host || \"\"}\r\n onChange={handleChange}\r\n placeholder={t(\"ENTER_TITLE\")} />\r\n </div>\r\n <div className=\"\">\r\n <Label className=\"pb-2\">{t(\"RETRIEVE_DATA_FREQUENCY\")}</Label>\r\n <GenericDropdown icon border options={dataFrequency} value={currentConnector.retrieveDataFrequency ?? '100000000'} onClick={(e) => { handleChange(e, \"retrieveDataFrequency\") }} />\r\n </div>\r\n {isGlobalError && <Style.WrapperError>\r\n <div>{IconDispatcher(\"triangle-exclamation\", \"\", { style: \"solid\", color: \"#dc3545\" })}</div>\r\n <Label size={12} color=\"#dc3545\">{t(\"ERROR\")}: {error}</Label>\r\n </Style.WrapperError>}\r\n\r\n </div>\r\n <Style.WrapperFooter className=\" p-4 pt-0\">\r\n <GenericButton variant=\"light-link\" onClick={goBack} className=\"me-3\">\r\n {t('ASPX_86')}\r\n </GenericButton>\r\n <GenericButton disabled={startUpdate} loading={startUpdate} variant=\"primary\" type=\"submit\" >\r\n {t('ENABLE')}\r\n </GenericButton>\r\n </Style.WrapperFooter>\r\n </Style.WrapperForm>\r\n </Style.WrapperPage>\r\n </Style.ContainerPage>\r\n}\r\n\r\n\r\n\r\nexport default IntegrationForm;","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { ActionConfirmModal } from \"shared/modals\";\r\nimport { GenericButton, IconDispatcher, Label } from \"shared/ui-basics\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { upsertConnector } from \"../reducer/ConnectorAction\";\r\nimport * as Style from \"./Styles\";\r\n\r\nconst IntegrationCard = ({ integration, integrations }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst connectors = useSelector((state) => state.settings.connector)?.filter((connector) => connector.source === integration?.source) || [];\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst updateConnector = (connector) => {\r\n\t\tupsertConnector({ connector: { ...connector, enableConnection: false } });\r\n\t};\r\n\tconst redirect = (connector) => {\r\n\t\tintegration?.onClick(connector?.id);\r\n\t};\r\n\tconst onClick = (connector) => {\r\n\t\tif (!connector?.enableConnection) {\r\n\t\t\tredirect(connector);\r\n\t\t} else {\r\n\t\t\tactionConfirmModal({\r\n\t\t\t\tbodyContent: t(\"CONNECTOR_DISABLE\") + `\"${connector?.name}\"?`,\r\n\t\t\t\tAction: () => updateConnector(connector),\r\n\t\t\t\tactionBtnText: \"DISABLE\",\r\n\t\t\t\ttitle: \"Disable Connector\",\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t<Style.WrapperBox className=\"mb-4\">\r\n\t\t\t<Style.WrapperDiv>\r\n\t\t\t\t<Col xs={6}>\r\n\t\t\t\t\t<div className=\"d-flex align-items-center mb-4\">\r\n\t\t\t\t\t\t<Style.ImgWrapper className=\"me-3\" src={integrations[integration?.icon]?.default} />\r\n\t\t\t\t\t\t<Label size={20}>{t(integration?.name)}</Label>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>{t(integration?.description)}</div>\r\n\t\t\t\t</Col>\r\n\t\t\t\t<Style.WrapperRight xs={2}>\r\n\t\t\t\t\t<GenericButton className={integration?.classButton} variant={integration?.variant} disabled={integration?.disable} onClick={() => integration?.onClick(EMPTY_GUID)}>\r\n\t\t\t\t\t\t{t(integration?.buttonName)}\r\n\t\t\t\t\t</GenericButton>\r\n\t\t\t\t</Style.WrapperRight>\r\n\t\t\t</Style.WrapperDiv>\r\n\t\t\t{connectors?.length > 0 &&\r\n\t\t\t\tconnectors?.map((connector, index) => (\r\n\t\t\t\t\t<Style.WrapperConnector className=\"mx-3\" key={index}>\r\n\t\t\t\t\t\t<div className=\"d-flex justify-content-between\">\r\n\t\t\t\t\t\t\t<Style.WrapperColHerf xs={6}>\r\n\t\t\t\t\t\t\t\t<Style.WrapperHerf\r\n\t\t\t\t\t\t\t\t\tsize={14}\r\n\t\t\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\t\t\tredirect(connector);\r\n\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t{connector?.name}\r\n\t\t\t\t\t\t\t\t</Style.WrapperHerf>\r\n\t\t\t\t\t\t\t</Style.WrapperColHerf>\r\n\t\t\t\t\t\t\t<Style.WrapperRight xs={2}>\r\n\t\t\t\t\t\t\t\t<GenericButton\r\n\t\t\t\t\t\t\t\t\tvariant={connector?.enableConnection ? \"dark-outline\" : \"dark\"}\r\n\t\t\t\t\t\t\t\t\tsize=\"s\"\r\n\t\t\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\t\t\tonClick(connector);\r\n\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t{connector?.enableConnection ? t(\"DISABLE\") : t(\"ENABLE\")}\r\n\t\t\t\t\t\t\t\t</GenericButton>\r\n\t\t\t\t\t\t\t</Style.WrapperRight>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t{connector?.errorMsg !== \"\" && (\r\n\t\t\t\t\t\t\t<Style.WrapperRowError>\r\n\t\t\t\t\t\t\t\t<div>{IconDispatcher(\"triangle-exclamation\", \"\", { style: \"solid\", color: \"#D50000\" })}</div>\r\n\t\t\t\t\t\t\t\t<Label size={12} color=\"#D50000\">\r\n\t\t\t\t\t\t\t\t\t{t(\"ERROR\")} : {connector?.errorMsg}\r\n\t\t\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t\t</Style.WrapperRowError>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</Style.WrapperConnector>\r\n\t\t\t\t))}\r\n\t\t</Style.WrapperBox>\r\n\t);\r\n};\r\nexport default IntegrationCard;\r\n","import {\r\n\tgetAllCxAction,\r\n\tgetAllCxProgram,\r\n\tgetAllMapsListData,\r\n\tgetAllOpportunity,\r\n\tgetAllPersonas,\r\n\tgetAllSolutions,\r\n\tgetFolders\r\n} from \"@redux/index\";\r\nimport { FilterItemsByStatus, isUserAllowed } from \"@utils/helpers\";\r\nimport { getAllInsights } from \"features/insights/reducer/InsightActions\";\r\nimport { getAllProjects } from \"features/projects/reducer/ProjectsActions\";\r\nimport { useRef, useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { useAsyncs } from \"shared/hooks/index\";\r\nimport { ConceptSearchBar, PageContainer, PageTitle } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { FolderValidation, MapValidation, PersonaValidation } from \"../../grid-table/contexts\";\r\nimport DataTable from \"../../grid-table/DataTable\";\r\n\r\n\r\nexport default function Records({ recordTitle }) {\r\n\tconst { t } = useTranslation();\r\n\tconst tab = useLocation().search.getTab();\r\n\tconst childFolder = useRef(null);\r\n\tconst childPersonas = useRef(null);\r\n\tconst childMaps = useRef(null);\r\n\tconst childMapTemplates = useRef(null);\r\n\tconst childPersonaTemplate = useRef(null);\r\n\tconst childOpportunities = useRef(null);\r\n\tconst childSolutions = useRef(null);\r\n\tconst childActions = useRef(null);\r\n\tconst childCxPrograms = useRef(null);\r\n\tconst childProjects = useRef(null);\r\n\tconst childInsights = useRef(null);\r\n\tconst pathname = useLocation().pathname;\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\r\n\tconst [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\tconst [key, setKey] = useState(tab ? tab : \"Maps\");\r\n\r\n\tconst folders = useSelector((state) => state.folders?.filter((folder) => FolderValidation(folder, pathname)));\r\n\tconst maps = useSelector((state) => state.maps.all_maps?.filter((map) => MapValidation(map, \"\", pathname)));\r\n\tconst mapTemplates = useSelector((state) => state.maps.all_maps)?.filter((map) => MapValidation(map, \"template\", pathname));\r\n\tconst personas = useSelector((state) => state.personas.all_personas?.filter((persona) => PersonaValidation(persona, pathname)));\r\n\tconst personaTemplates = useSelector((state) => state.personas.all_personas)?.filter((persona) => PersonaValidation(persona, pathname, \"template\"));\r\n\tconst solutions = useSelector((state) => state.solutions.all_solutions?.filter((solution) => FilterItemsByStatus(solution, pathname, \"\")));\r\n\tconst opportunities = useSelector((state) => state.opportunity.all_Opportunities?.filter((opp) => FilterItemsByStatus(opp, pathname, \"\")));\r\n\tconst actions = useSelector((state) => state.actions.all_actions?.filter((action) => FilterItemsByStatus(action, pathname, \"\")));\r\n\tconst cxPrograms = useSelector((state) => state.cxProgram.all_cxPrograms?.filter((cxProgram) => FilterItemsByStatus(cxProgram, pathname, \"\")));\r\n\tconst projects = useSelector((state) => state.projects.all_projects?.filter((project) => FilterItemsByStatus(project, pathname, \"\")));\r\n\tconst insights = useSelector((state) => state.insights.all_insights?.filter((insight) => FilterItemsByStatus(insight, pathname, \"\")));\r\n\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n\tconst [loading, setLoading] = useState(false);\r\n\r\n\tuseAsyncs({\r\n\t\tasyncFns: [\r\n\t\t\t{ asyncFn: getAllSolutions, parameter: { statusCode: pathname === \"/archive\" ? StatusCode.Archived : StatusCode.Trashed } },\r\n\t\t\t{ asyncFn: getAllOpportunity, parameter: { statusCode: pathname === \"/archive\" ? StatusCode.Archived : StatusCode.Trashed } },\r\n\t\t\t{ asyncFn: getAllCxAction, parameter: { statusCode: pathname === \"/archive\" ? StatusCode.Archived : StatusCode.Trashed } },\r\n\t\t\t{ asyncFn: getAllCxProgram },\r\n\t\t\t{ asyncFn: getAllProjects },\r\n\t\t\t{ asyncFn: getFolders },\r\n\t\t\t{ asyncFn: getAllMapsListData },\r\n\t\t\t{ asyncFn: getAllPersonas },\r\n\t\t\t{ asyncFn: getAllInsights },\r\n\t\t],\r\n\t\tsetLoading,\r\n\t});\r\n\tconst isTemplateAllowed = () => isUserAllowed(userType, \"template\");\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tsetGlobalFilterValue(e.target.value);\r\n\t\tif (key === \"folder\") childFolder.current?.updateFilter(e.target.value);\r\n\t\tif (key === \"Persona\") childPersonas.current?.updateFilter(e.target.value);\r\n\t\tif (key === \"Maps\") childMaps.current?.updateFilter(e.target.value);\r\n\t\tif (key === \"MapTemplates\") childMapTemplates.current?.updateFilter(e.target.value);\r\n\t\tif (key === \"Opportunities\") childOpportunities.current?.updateFilter(e.target.value);\r\n\t\tif (key === \"Solutions\") childSolutions.current?.updateFilter(e.target.value);\r\n\t\tif (key === \"Actions\") childActions.current?.updateFilter(e.target.value);\r\n\t\tif (key === \"cxPrograms\") childCxPrograms.current?.updateFilter(e.target.value);\r\n\t\tif (key === \"projects\") childProjects.current?.updateFilter(e.target.value);\r\n\t\tif (key === \"insights\") childInsights.current?.updateFilter(e.target.value);\r\n\t};\r\n\r\n\tconst Search = ConceptSearchBar({ globalFilterValue, handleChange });\r\n\tconst handleChangeTab = (k) => {\r\n\t\tsetKey(k);\r\n\t\tsetGlobalFilterValue(\"\")\r\n\t}\r\n\tif (loading)\r\n\t\treturn (\r\n\t\t\t<div className=\"position-relative h-100\">\r\n\t\t\t\t<Spinner />\r\n\t\t\t</div>\r\n\t\t);\r\n\treturn (\r\n\t\t<PageContainer classNames=\"container-fluid p-5\">\r\n\t\t\t<div className=\"p-4 d-flex justify-content-between \">\r\n\t\t\t\t<PageTitle>{t(recordTitle)}</PageTitle>\r\n\t\t\t\t<div className=\"p-4\">{Search}</div>\r\n\t\t\t</div>\r\n\t\t\t<CustomTabs id=\"controlled-tab-example\" activeKey={key} onSelect={handleChangeTab} className=\"mb-3\" mountOnEnter={true} unmountOnExit={true}>\r\n\t\t\t\t<Tab eventKey=\"folder\" title={t(\"JS_67\") + ` (${folders.length})`}>\r\n\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"folders.archived\" : \"folders.deleted\"} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t</Tab>\r\n\r\n\t\t\t\t{isSubscriptionAllowed && (\r\n\t\t\t\t\t<Tab eventKey=\"cxPrograms\" title={t(\"CX_PROGRAMS\") + ` (${cxPrograms.length})`}>\r\n\t\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"cxPrograms.archived\" : \"cxPrograms.deleted\"} ref={childCxPrograms} />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t\t</Tab>\r\n\t\t\t\t)}\r\n\t\t\t\t<Tab eventKey=\"Persona\" title={t(\"ASPX_98\") + ` (${personas.length})`}>\r\n\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"personas.archived\" : \"personas.deleted\"} ref={childPersonas} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t</Tab>\r\n\r\n\t\t\t\t<Tab eventKey=\"Maps\" title={t(\"JS_71\") + ` (${maps.length})`}>\r\n\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"map.archived\" : \"map.deleted\"} ref={childMaps} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t</Tab>\r\n\r\n\t\t\t\t{isSubscriptionAllowed && (\r\n\t\t\t\t\t<Tab eventKey=\"insights\" title={t(\"ASPX_33\") + ` (${insights.length})`}>\r\n\t\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"insights.archived\" : \"insights.deleted\"} ref={childInsights} />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t\t</Tab>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{isSubscriptionAllowed && (\r\n\t\t\t\t\t<Tab eventKey=\"Opportunities\" title={t(\"OPPORTUNITIES\") + ` (${opportunities.length})`}>\r\n\t\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"opportunity.archived\" : \"opportunity.deleted\"} ref={childOpportunities} />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t\t</Tab>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{isSubscriptionAllowed && (\r\n\t\t\t\t\t<Tab eventKey=\"Solutions\" title={t(\"SOLUTIONS\") + ` (${solutions.length})`}>\r\n\t\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"solutions.archived\" : \"solutions.deleted\"} ref={childSolutions} />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t\t</Tab>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{isSubscriptionAllowed && (\r\n\t\t\t\t\t<Tab eventKey=\"Actions\" title={t(\"JS_80\") + ` (${actions.length})`}>\r\n\t\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"cxActions.archived\" : \"cxActions.deleted\"} ref={childActions} />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t\t</Tab>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{isSubscriptionAllowed && (\r\n\t\t\t\t\t<Tab eventKey=\"Projects\" title={t(\"PROJECTS\") + ` (${projects.length})`}>\r\n\t\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"projects.archived\" : \"projects.deleted\"} ref={childProjects} />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t\t</Tab>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{isTemplateAllowed() && isSubscriptionAllowed && (\r\n\t\t\t\t\t<Tab eventKey=\"MapTemplates\" title={t(\"JOURNEY_TEMPLATES\") + ` (${mapTemplates.length})`}>\r\n\t\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"map.archivedTemplates\" : \"map.deletedTemplates\"} tab=\"template\" ref={childMapTemplates} />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t\t</Tab>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{isTemplateAllowed() && isSubscriptionAllowed && (\r\n\t\t\t\t\t<Tab eventKey=\"PersonaTemplates\" title={t(\"PERSONA_TEMPLATES\") + ` (${personaTemplates.length})`}>\r\n\t\t\t\t\t\t<ScrollContainer>\r\n\t\t\t\t\t\t\t<div className=\"\">\r\n\t\t\t\t\t\t\t\t<DataTable context={pathname === \"/archive\" ? \"personas.archivedTemplate\" : \"personas.deletedTemplate\"} tab=\"template\" ref={childPersonaTemplate} />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</ScrollContainer>\r\n\t\t\t\t\t</Tab>\r\n\t\t\t\t)}\r\n\t\t\t</CustomTabs>\r\n\t\t</PageContainer>\r\n\t);\r\n}\r\n\r\nconst ScrollContainer = styled.div`\r\n\twidth: 100%;\r\n\theight: calc(100vh - 360px);\r\n`;\r\n\r\nconst CustomTabs = styled(Tabs)`\r\n\tbutton {\r\n\t\tfont-size: 14px !important;\r\n\t}\r\n`;\r\n","import Records from \"features/inactive/components/Records\";\r\n\r\n\r\nexport function TrashBin() {\r\n\treturn <Records recordTitle=\"ASPX_206\" />;\r\n}\r\nexport function Archive() {\r\n\treturn <Records recordTitle=\"ARCHIVE\" />;\r\n}\r\n","/* eslint-disable no-undef */\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nimport { constructUrl } from \"@utils/helpers\";\r\n\r\nconst BASE_URL = \"api/report/\";\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, headers }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\theaders,\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" });\r\n\r\nexport const getJourneyTrendData = ({ isExportMode }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_JOURNEY_TREND_DATA\",\r\n\t\tendPoint: constructUrl(\"getDashboardData\", {\r\n\t\t\tdashboardCode: \"journeyTrends\",\r\n\t\t}),\r\n\t\tparams: { isExportMode },\r\n\t});\r\n\r\nexport const applyFilterJourneyTrend = createAction(\"APPLY_FILTER_JOURNEY_TRENDS\");\r\n","import { CardContainer } from \"features/analytics/analyticsHelper\";\r\nimport EditCxAction from \"features/cx-actions/modals/cx-action\";\r\nimport Tags from \"features/grid-table/columns-components/Tags\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nfunction ActionListCard({ item, isLastItem, onClose }) {\r\n\tconst [showEditModal] = useModal(EditCxAction);\r\n\r\n\tconst onSelect = () => {\r\n\t\t//if (onClose) onClose();\r\n\t\tshowEditModal({ id: item.id, item });\r\n\t};\r\n\r\n\treturn (\r\n\t\t<CardContainer className=\"p-4\" islast={isLastItem} onClick={onSelect}>\r\n\t\t\t<Body>\r\n\t\t\t\t<Name>{item?.name}</Name>\r\n\t\t\t\t{Tags(item)}\r\n\t\t\t</Body>\r\n\t\t</CardContainer>\r\n\t);\r\n}\r\n\r\nActionListCard.displayName = \"ActionListCard\";\r\nexport default ActionListCard;\r\n\r\nconst Body = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcursor: pointer;\r\n`;\r\n","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { CardContainer } from \"features/analytics/analyticsHelper\";\r\nimport Personas from \"features/grid-table/columns-components/Personas\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nfunction MapListCard({ item, isLastItem, onClose }) {\r\n\tconst envName = window.location.pathname.split(\"/\")[1];\r\n\tconst redirect = () => {\r\n\t\tonClose();\r\n\t\twindow.open(`${envName}/${currentWorkspaceId}/EditMap?cjmid=${item?.id}&personaId=${item?.personaIds[0] || EMPTY_GUID}&origin=1`, \"_blank\");\r\n\t};\r\n\treturn (\r\n\t\t<CardContainer className=\"p-4\" islast={isLastItem} onClick={redirect}>\r\n\t\t\t<Body>\r\n\t\t\t\t<Name >{item?.name}</Name>\r\n\t\t\t\t<div>{Personas(item, 1, 35, \"personaIds\")}</div>\r\n\t\t\t</Body>\r\n\t\t</CardContainer>\r\n\t);\r\n}\r\n\r\nMapListCard.displayName = \"MapListCard\";\r\nexport default MapListCard;\r\n\r\nconst Body = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcursor: pointer;\r\n\tmax-width: 500px;\r\n`;\r\n","import { CardContainer } from \"features/analytics/analyticsHelper\";\r\nimport Tags from \"features/grid-table/columns-components/Tags\";\r\nimport EditOpportunity from \"features/opportunity/modals/edit-opportunity\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nfunction OpportunityListCard({ item, isLastItem, onClose }) {\r\n\tconst [showEditModal] = useModal(EditOpportunity);\r\n\tconst onSelect = () => {\r\n\t\t//if (onClose) onClose();\r\n\t\tshowEditModal({ id: item.id, item });\r\n\t};\r\n\r\n\treturn (\r\n\t\t<CardContainer className=\"p-4\" islast={isLastItem} onClick={onSelect}>\r\n\t\t\t<Body>\r\n\t\t\t\t<Name>{item?.name}</Name>\r\n\t\t\t\t{Tags(item)}\r\n\t\t\t</Body>\r\n\t\t</CardContainer>\r\n\t);\r\n}\r\n\r\nOpportunityListCard.displayName = \"OpportunityListCard\";\r\nexport default OpportunityListCard;\r\n\r\nconst Body = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcursor: pointer;\r\n`;\r\n","import { CardContainer } from \"features/analytics/analyticsHelper\";\r\nimport Tags from \"features/grid-table/columns-components/Tags\";\r\nimport EditSolution from \"features/solutions/modals/edit-solution\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nfunction SolutionListCard({ item, isLastItem, onClose }) {\r\n\tconst { t } = useTranslation();\r\n\tconst [showEditModal] = useModal(EditSolution);\r\n\r\n\tconst onSelect = () => {\r\n\t\t//if (onClose) onClose();\r\n\t\tshowEditModal({ id: item.id, item });\r\n\t};\r\n\r\n\treturn (\r\n\t\t<CardContainer className=\"p-4\" islast={isLastItem} onClick={onSelect}>\r\n\t\t\t<Body>\r\n\t\t\t\t<Name>{item?.name || t(\"NEW_SOLUTION_NAME\")}</Name>\r\n\t\t\t\t{Tags(item)}\r\n\t\t\t</Body>\r\n\t\t</CardContainer>\r\n\t);\r\n}\r\n\r\nSolutionListCard.displayName = \"SolutionListCard\";\r\nexport default SolutionListCard;\r\n\r\nconst Body = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcursor: pointer;\r\n`;\r\n","import { useLayoutEffect, useRef, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components\";\r\nimport EmptyData from \"./EmptyData\";\r\n\r\nfunction CustomWordCloud({ dataSelector, colorPalette, emptyDataText }) {\r\n\tconst data = useSelector(dataSelector);\r\n\tconst canvasRef = useRef(null);\r\n\tconst containerRef = useRef(null);\r\n\tconst [tooltip, setTooltip] = useState({ visible: false, text: \"\", x: 0, y: 0 });\r\n\r\n\tuseLayoutEffect(() => {\r\n\t\tif (!canvasRef.current || data?.length === 0) return;\r\n\r\n\t\tconst canvas = canvasRef.current;\r\n\t\tconst ctx = canvas.getContext(\"2d\");\r\n\t\tconst width = containerRef.current?.offsetWidth || 0;\r\n\t\tconst height = containerRef.current?.offsetHeight || 0;\r\n\r\n\t\t// Set canvas resolution for crisp rendering\r\n\t\tconst dpr = window.devicePixelRatio || 1;\r\n\t\tcanvas.width = width * dpr;\r\n\t\tcanvas.height = height * dpr;\r\n\t\tcanvas.style.width = `${width}px`;\r\n\t\tcanvas.style.height = `${height}px`;\r\n\t\tctx.scale(dpr, dpr);\r\n\r\n\t\t// Clear the canvas\r\n\t\tctx.clearRect(0, 0, width, height);\r\n\r\n\t\t// Max and min font sizes with padding\r\n\t\tconst maxFontSize = 60;\r\n\t\tconst minFontSize = 18;\r\n\t\tconst padding = 10; // Add padding from edges\r\n\t\tconst maxFreq = Math.max(...data.map((w) => w.value));\r\n\t\tconst minFreq = Math.min(...data.map((w) => w.value));\r\n\r\n\t\t// Spiral parameters\r\n\t\tconst centerX = width / 2;\r\n\t\tconst centerY = height / 2;\r\n\t\tconst spiralGap = 5;\r\n\t\tlet angle = 0;\r\n\t\tlet radius = 0;\r\n\r\n\t\t// Color assignments\r\n\t\tconst colorSteps = colorPalette.length;\r\n\t\tconst stepSize = maxFreq > minFreq ? (maxFreq - minFreq) / colorSteps : 1;\r\n\r\n\t\tconst getColorForWord = (wordValue) => {\r\n\t\t\tconst groupIndex = Math.min(colorSteps - 1, Math.floor((maxFreq - wordValue) / stepSize));\r\n\t\t\treturn colorPalette[groupIndex];\r\n\t\t};\r\n\r\n\t\tconst wordRects = [];\r\n\r\n\t\tconst placeWord = (word) => {\r\n\t\t\tconst fontSize = maxFreq === minFreq ? maxFontSize : ((word.value - minFreq) / (maxFreq - minFreq)) * (maxFontSize - minFontSize) + minFontSize;\r\n\r\n\t\t\tctx.font = `${fontSize}px Arial`;\r\n\t\t\tctx.fillStyle = getColorForWord(word.value);\r\n\t\t\tconst wordWidth = ctx.measureText(word.text).width;\r\n\r\n\t\t\tlet x, y, isOverlapping, isOutOfBounds;\r\n\t\t\tlet attempts = 0;\r\n\t\t\tconst maxAttempts = 2000; // Increased attempts\r\n\r\n\t\t\tdo {\r\n\t\t\t\tangle += 0.1;\r\n\t\t\t\tradius = spiralGap * Math.sqrt(angle); // Slower spiral growth\r\n\r\n\t\t\t\tx = centerX + radius * Math.cos(angle) - wordWidth / 2;\r\n\t\t\t\ty = centerY + radius * Math.sin(angle) + fontSize / 2;\r\n\r\n\t\t\t\t// Stricter boundary checking with padding\r\n\t\t\t\tisOutOfBounds = x < padding || x + wordWidth > width - padding || y - fontSize < padding || y > height - padding;\r\n\r\n\t\t\t\tisOverlapping = wordRects.some((rect) => checkOverlap(x, y - fontSize, wordWidth, fontSize, rect));\r\n\r\n\t\t\t\tattempts++;\r\n\t\t\t} while ((isOverlapping || isOutOfBounds) && attempts < maxAttempts);\r\n\r\n\t\t\tif (!isOverlapping && !isOutOfBounds) {\r\n\t\t\t\tctx.fillText(word.text, x, y);\r\n\t\t\t\twordRects.push({\r\n\t\t\t\t\tx,\r\n\t\t\t\t\ty: y - fontSize,\r\n\t\t\t\t\twidth: wordWidth,\r\n\t\t\t\t\theight: fontSize,\r\n\t\t\t\t\ttext: word.text,\r\n\t\t\t\t\tvalue: word.value,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t// Optionally log if word couldn't be placed\r\n\t\t\t// else console.log(`Couldn't place word: ${word.text}`);\r\n\t\t};\r\n\r\n\t\tconst checkOverlap = (x, y, width, height, rect) => {\r\n\t\t\tconst buffer = 2; // Small buffer between words\r\n\t\t\treturn x < rect.x + rect.width + buffer && x + width + buffer > rect.x && y < rect.y + rect.height + buffer && y + height + buffer > rect.y;\r\n\t\t};\r\n\r\n\t\tdata.forEach((word) => placeWord(word));\r\n\r\n\t\tconst handleMouseMove = (e) => {\r\n\t\t\tconst rect = canvas.getBoundingClientRect();\r\n\t\t\tconst mouseX = e.clientX - rect.left;\r\n\t\t\tconst mouseY = e.clientY - rect.top;\r\n\r\n\t\t\tconst hoveredWord = wordRects.find((word) => mouseX >= word.x && mouseX <= word.x + word.width && mouseY >= word.y && mouseY <= word.y + word.height);\r\n\r\n\t\t\tif (hoveredWord) {\r\n\t\t\t\tsetTooltip({\r\n\t\t\t\t\tvisible: true,\r\n\t\t\t\t\ttext: `${hoveredWord.text}: ${hoveredWord.value}`,\r\n\t\t\t\t\tx: Math.min(mouseX + 10, width - 100), // Keep tooltip in bounds\r\n\t\t\t\t\ty: Math.min(mouseY + 10, height - 20),\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tsetTooltip({ visible: false, text: \"\", x: 0, y: 0 });\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tcanvas.addEventListener(\"mousemove\", handleMouseMove);\r\n\t\treturn () => canvas.removeEventListener(\"mousemove\", handleMouseMove);\r\n\t}, [data, colorPalette]);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data?.length > 0 ? (\r\n\t\t\t\t<div ref={containerRef} style={{ width: \"100%\", height: \"100%\", position: \"relative\" }}>\r\n\t\t\t\t\t<canvas ref={canvasRef} />\r\n\t\t\t\t\t{tooltip.visible && (\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\t\t\t\tleft: tooltip.x,\r\n\t\t\t\t\t\t\t\ttop: tooltip.y,\r\n\t\t\t\t\t\t\t\tbackground: \"rgba(0, 0, 0, 0.7)\",\r\n\t\t\t\t\t\t\t\tcolor: \"#fff\",\r\n\t\t\t\t\t\t\t\tpadding: \"5px\",\r\n\t\t\t\t\t\t\t\tborderRadius: \"3px\",\r\n\t\t\t\t\t\t\t\tpointerEvents: \"none\",\r\n\t\t\t\t\t\t\t\tfontSize: \"12px\",\r\n\t\t\t\t\t\t\t\tfontWeight: \"900\",\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{tooltip.text}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t) : (\r\n\t\t\t\t<EmptyDataContainer>\r\n\t\t\t\t\t<EmptyData text={emptyDataText} icon=\"CLOUD-WORD\" />\r\n\t\t\t\t</EmptyDataContainer>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n}\r\n\r\nCustomWordCloud.displayName = \"CustomWordCloud\";\r\nexport default CustomWordCloud;\r\n\r\nconst EmptyDataContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\theight: 400px;\r\n\twidth: 100%;\r\n`;\r\n","/* eslint-disable no-undef */\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst BASE_URL = \"api/report/\";\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, headers }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\theaders,\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: BASE_URL, method: \"POST\" });\r\n\r\nexport const prepareAndGetPdfExport = ({ dashboardName, filters, fileName, width, height, ...props }) => {\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"GET_PDF_EXPORT_DASHBOARD\",\r\n\t\t\tendPoint: \"prepareAndGetPdfExport\",\r\n\t\t\tdata: {\r\n\t\t\t\tdashboardName,\r\n\t\t\t\tfilters,\r\n\t\t\t\twidth,\r\n\t\t\t\theight,\r\n\t\t\t},\r\n\t\t\tresponseType: \"blob\",\r\n\t\t}),\r\n\t\tdisplayToast: \"EXPORT\",\r\n\t\tonSuccess: (data) => {\r\n\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\tfileDownload(data, fileName + \".pdf\");\r\n\t\t},\r\n\t\tonFailed: (error) => {\r\n\t\t\tif (error) throw error;\r\n\t\t},\r\n\t});\r\n};\r\n","import { prepareAndGetPdfExport } from \"features/analytics/reducer/analyticActions\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nfunction Export({ dashboardName, fileName, getFiltersToSave, pdfRef }) {\r\n\tconst { t } = useTranslation();\r\n\tconst { search } = useLocation();\r\n\tconst hideForPdf = search.hideForPdf();\r\n\r\n\tconst getAttribute = () => {\r\n\t\tif (dashboardName === \"journeytrends\") return \"journeyTrend\";\r\n\t\tif (dashboardName === \"vocanalysis\") return \"vocAnalysis\";\r\n\t\treturn \"roiAnalysis\";\r\n\t};\r\n\tconst currentEntityData = useSelector((state) => state.analytics?.[getAttribute()]);\r\n\r\n\tconst onExport = () => {\r\n\t\tconst width = pdfRef?.current?.clientWidth;\r\n\t\tconst height = pdfRef?.current?.clientHeight + 250;\r\n\t\tprepareAndGetPdfExport({ dashboardName, filters: JSON.stringify(getFiltersToSave({ currentEntityData })), fileName, width, height });\r\n\t};\r\n\r\n\treturn <ActionsContainer>{!hideForPdf ? <GenericButton variant=\"light-link\" icon=\"EXPORT\" tooltip tooltipText={t(\"ASPX_15\")} onClick={onExport} /> : <div></div>}</ActionsContainer>;\r\n}\r\n\r\nExport.displayName = \"Export\";\r\nexport default Export;\r\n\r\nconst ActionsContainer = styled.div``;\r\n","import { getDate } from \"@utils/helpers\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Col } from \"reactstrap\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexBetweenAlignCenter } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nfunction DateFilter({ apply }) {\r\n\tconst { t } = useTranslation();\r\n\tconst op = useRef();\r\n\tconst inputRef = useRef(null);\r\n\r\n\tconst currentDate = useSelector((state) => state.analytics?.vocAnalysis?.selectedFilterOptions?.date);\r\n\tconst [selectedDate, setSelectedDate] = useState(currentDate);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetSelectedDate(currentDate);\r\n\t}, [currentDate]);\r\n\r\n\tconst handleApply = (e) => {\r\n\t\top.current.toggle(e);\r\n\t\tapply({ dataAttribute: \"date\", selectedItems: selectedDate });\r\n\t};\r\n\r\n\tconst handleOpen = (e) => {\r\n\t\top.current.toggle(e);\r\n\t\tsetTimeout(() => {\r\n\t\t\tinputRef?.current?.focus();\r\n\t\t}, 100);\r\n\t};\r\n\r\n\tconst displayFilterTitle = () => {\r\n\t\tif (!selectedDate) return t(\"DATE\");\r\n\t\tconst dateObj = getDate(selectedDate);\r\n\t\treturn `${dateObj?.year}`;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<Col>\r\n\t\t\t<GenericButton variant=\"light\" icon={\"CALENDAR\"} iconClassName=\"me-2\" onClick={handleOpen}>\r\n\t\t\t\t<div>{displayFilterTitle()}</div>\r\n\t\t\t</GenericButton>\r\n\t\t\t<CustomOverlayPanel ref={op} onHide={() => setSelectedDate(currentDate)}>\r\n\t\t\t\t<DropdownContainer>\r\n\t\t\t\t\t<Calendar className=\"p-2\" value={selectedDate} onChange={(e) => setSelectedDate(e.value)} view=\"year\" dateFormat=\"yy\" inline minDate={new Date(2000, 0, 1)} maxDate={new Date()} />\r\n\t\t\t\t\t<Footer>\r\n\t\t\t\t\t\t<FlexBetweenAlignCenter className=\"p-2\">\r\n\t\t\t\t\t\t\t<GenericButton variant=\"light-link\" onClick={() => setSelectedDate(\"\")}>\r\n\t\t\t\t\t\t\t\t{t(\"CLEAR_FILTERS\")}\r\n\t\t\t\t\t\t\t</GenericButton>\r\n\t\t\t\t\t\t\t<GenericButton variant=\"primary\" onClick={handleApply}>\r\n\t\t\t\t\t\t\t\t{t(\"APPLY\")}\r\n\t\t\t\t\t\t\t</GenericButton>\r\n\t\t\t\t\t\t</FlexBetweenAlignCenter>\r\n\t\t\t\t\t</Footer>\r\n\t\t\t\t</DropdownContainer>\r\n\t\t\t</CustomOverlayPanel>\r\n\t\t</Col>\r\n\t);\r\n}\r\n\r\nDateFilter.displayName = \"DateFilter\";\r\nexport default DateFilter;\r\n\r\nconst CustomOverlayPanel = styled(OverlayPanel)`\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n\r\n\t.p-overlaypanel-close {\r\n\t\tbackground: #f96209;\r\n\t\tcolor: #ffffff;\r\n\t\twidth: 1.5rem;\r\n\t\theight: 1.5rem;\r\n\t\ttransition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\r\n\t\tborder-radius: 50%;\r\n\t\tposition: absolute;\r\n\t\ttop: -12px;\r\n\t\tright: -12px;\r\n\t}\r\n`;\r\n\r\nconst DropdownContainer = styled.div`\r\n\twidth: 300px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.25), 2px 2px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tborder-top: 1px solid #c4c4c4;\r\n`;\r\n","import { getDate } from \"@utils/helpers\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Col } from \"reactstrap\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexBetweenAlignCenter, FlexColumn, Input, Label } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nfunction DateRangeFilter({ apply }) {\r\n\tconst { t } = useTranslation();\r\n\tconst op = useRef();\r\n\tconst inputRef = useRef(null);\r\n\tconst selected = useSelector((state) => state.analytics?.roiAnalysis?.selectedFilterOptions?.date);\r\n\r\n\tconst today = new Date();\r\n\r\n\tconst [selectedDates, setSelectedDates] = useState(selected);\r\n\tconst [currentField, setCurrentField] = useState(\"startDate\");\r\n\r\n\tconst handleClear = (e) => {\r\n\t\tapply({ dataAttribute: \"date\", selectedItems: { startDate: \"\", endDate: \"\" } });\r\n\t\top.current.toggle(e);\r\n\t};\r\n\r\n\tconst handleApply = (e) => {\r\n\t\top.current.toggle(e);\r\n\t\tsetSelectedDates(selectedDates);\r\n\t\tapply({ dataAttribute: \"date\", selectedItems: selectedDates });\r\n\t};\r\n\r\n\tconst handleOpen = (e) => {\r\n\t\top.current.toggle(e);\r\n\t\tsetTimeout(() => {\r\n\t\t\tinputRef?.current?.focus();\r\n\t\t}, 100);\r\n\t};\r\n\r\n\tconst formatDate = (originalDate) => {\r\n\t\tconst dateObj = getDate(originalDate);\r\n\t\treturn `${dateObj?.month} ${dateObj?.day} ${dateObj?.year}`;\r\n\t};\r\n\r\n\tconst displayFilterTitle = () => {\r\n\t\tlet result = \"\";\r\n\t\tif (selectedDates?.startDate !== \"\") {\r\n\t\t\tresult = formatDate(selectedDates?.startDate);\r\n\t\t} else return t(\"DATE\");\r\n\r\n\t\tif (selectedDates?.endDate) result += ` - ${formatDate(selectedDates?.endDate)}`;\r\n\t\treturn result;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<Col>\r\n\t\t\t<GenericButton variant=\"light\" icon=\"CALENDAR\" iconClassName=\"me-2\" onClick={handleOpen}>\r\n\t\t\t\t<div>{displayFilterTitle()}</div>\r\n\t\t\t</GenericButton>\r\n\t\t\t<CustomOverlayPanel ref={op}>\r\n\t\t\t\t<DropdownContainer>\r\n\t\t\t\t\t<Body className=\"p-2\">\r\n\t\t\t\t\t\t<FlexBetweenAlignCenter className=\"mb-2\" gap=\"20\">\r\n\t\t\t\t\t\t\t<FlexColumn>\r\n\t\t\t\t\t\t\t\t<Label size=\"14\">{t(\"START_DATE\")}</Label>\r\n\t\t\t\t\t\t\t\t<Input innerRef={inputRef} variant=\"default\" value={formatDate(selectedDates?.startDate)} onClick={() => setCurrentField(\"startDate\")} onChange={() => {}} readOnly />\r\n\t\t\t\t\t\t\t</FlexColumn>\r\n\t\t\t\t\t\t\t<FlexColumn>\r\n\t\t\t\t\t\t\t\t<Label size=\"14\">{t(\"END_DATE\")}</Label>\r\n\t\t\t\t\t\t\t\t<Input variant=\"default\" value={formatDate(selectedDates?.endDate)} onClick={() => setCurrentField(\"endDate\")} onChange={() => {}} readOnly />\r\n\t\t\t\t\t\t\t</FlexColumn>\r\n\t\t\t\t\t\t</FlexBetweenAlignCenter>\r\n\t\t\t\t\t\t{currentField === \"startDate\" && (\r\n\t\t\t\t\t\t\t<Calendar value={selectedDates?.startDate} onChange={(e) => setSelectedDates({ ...selectedDates, startDate: e.value })} dateFormat=\"dd/mm/yy\" inline maxDate={today} />\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{currentField === \"endDate\" && (\r\n\t\t\t\t\t\t\t<Calendar\r\n\t\t\t\t\t\t\t\tvalue={selectedDates?.endDate}\r\n\t\t\t\t\t\t\t\tonChange={(e) => setSelectedDates({ ...selectedDates, endDate: e.value })}\r\n\t\t\t\t\t\t\t\tdateFormat=\"dd/mm/yy\"\r\n\t\t\t\t\t\t\t\tinline\r\n\t\t\t\t\t\t\t\tminDate={selectedDates?.startDate}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</Body>\r\n\t\t\t\t\t<Footer>\r\n\t\t\t\t\t\t<FlexBetweenAlignCenter className=\"p-2\">\r\n\t\t\t\t\t\t\t<GenericButton variant=\"light-link\" onClick={handleClear}>\r\n\t\t\t\t\t\t\t\t{t(\"CLEAR_FILTERS\")}\r\n\t\t\t\t\t\t\t</GenericButton>\r\n\t\t\t\t\t\t\t<GenericButton variant=\"primary\" onClick={handleApply}>\r\n\t\t\t\t\t\t\t\t{t(\"APPLY\")}\r\n\t\t\t\t\t\t\t</GenericButton>\r\n\t\t\t\t\t\t</FlexBetweenAlignCenter>\r\n\t\t\t\t\t</Footer>\r\n\t\t\t\t</DropdownContainer>\r\n\t\t\t</CustomOverlayPanel>\r\n\t\t</Col>\r\n\t);\r\n}\r\n\r\nDateRangeFilter.displayName = \"DateRangeFilter\";\r\nexport default DateRangeFilter;\r\n\r\nconst CustomOverlayPanel = styled(OverlayPanel)`\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n\r\n\t.p-overlaypanel-close {\r\n\t\tbackground: #f96209;\r\n\t\tcolor: #ffffff;\r\n\t\twidth: 1.5rem;\r\n\t\theight: 1.5rem;\r\n\t\ttransition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\r\n\t\tborder-radius: 50%;\r\n\t\tposition: absolute;\r\n\t\ttop: -12px;\r\n\t\tright: -12px;\r\n\t}\r\n`;\r\n\r\nconst DropdownContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.25), 2px 2px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nconst Body = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tborder-top: 1px solid #c4c4c4;\r\n`;\r\n","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { isBlanks, sortByName } from \"features/analytics/analyticsHelper\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Input } from \"reactstrap\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexBetweenAlignCenter, SearchBar } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nfunction Filter({ title, icon, dataAttribute, dashboardName, apply }) {\r\n\tconst { t } = useTranslation();\r\n\tconst op = useRef();\r\n\r\n\tconst allFilterOptions = useSelector((state) => state.analytics?.[dashboardName]?.allFilterOptions?.[dataAttribute]);\r\n\tconst selectedFilterOption = useSelector((state) => state.analytics?.[dashboardName]?.selectedFilterOptions?.[dataAttribute]);\r\n\r\n\tconst [selectedItems, setSelectedItems] = useState(selectedFilterOption);\r\n\tconst [searchedValue, setSearchedValue] = useState(\"\");\r\n\tconst [listItems, setListItems] = useState(allFilterOptions);\r\n\tconst [selectAll, setSelectAll] = useState(selectedFilterOption?.length === allFilterOptions?.length);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetSelectedItems(selectedFilterOption);\r\n\t\tsetSelectAll(selectedFilterOption?.length === allFilterOptions?.length);\r\n\t\tsetListItems(allFilterOptions);\r\n\t}, [selectedFilterOption, allFilterOptions]);\r\n\r\n\tconst isItemSelected = (item) => selectedItems?.map((data) => data.id)?.includes(item?.id);\r\n\tconst blanks = { id: EMPTY_GUID, name: \"Blanks\" };\r\n\tconst hasBlank = listItems?.find((item) => item?.id === EMPTY_GUID && item?.name === \"Blanks\");\r\n\r\n\tconst handleClickItem = (clickedItem) => {\r\n\t\tif (isItemSelected(clickedItem)) {\r\n\t\t\tsetSelectAll(false);\r\n\t\t\treturn setSelectedItems(selectedItems?.filter((selectedItem) => selectedItem?.id !== clickedItem?.id));\r\n\t\t}\r\n\t\tif (allFilterOptions.length === selectedItems.length + 1) setSelectAll(true);\r\n\t\tsetSelectedItems([...selectedItems, clickedItem]);\r\n\t};\r\n\r\n\tconst handleClear = () => {\r\n\t\tsetSelectAll(false);\r\n\t\tsetSelectedItems([]);\r\n\t};\r\n\r\n\tconst handleApply = (e) => {\r\n\t\top.current.toggle(e);\r\n\t\tsetTimeout(() => apply({ dataAttribute, selectedItems }), 100);\r\n\t};\r\n\r\n\tconst handleSelectAll = () => {\r\n\t\tif (!selectAll) {\r\n\t\t\tsetSelectAll(true);\r\n\t\t\tsetSelectedItems(allFilterOptions);\r\n\t\t} else {\r\n\t\t\tsetSelectAll(false);\r\n\t\t\tsetSelectedItems([]);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleSearch = (e) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetSearchedValue(value);\r\n\r\n\t\tif (!value) return setListItems(allFilterOptions);\r\n\r\n\t\tsetListItems(allFilterOptions?.filter((item) => item?.name?.toLowerCase()?.includes(value?.toLowerCase())));\r\n\t};\r\n\r\n\tconst Search = SearchBar({ globalFilterValue: searchedValue, handleChange: handleSearch });\r\n\r\n\treturn (\r\n\t\t<div>\r\n\t\t\t<GenericButton variant=\"light\" icon={icon} iconClassName=\"me-2\" onClick={(e) => op.current.toggle(e)}>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t{selectedItems?.length > 0 && `${selectedItems.filter((item) => !isBlanks(item))?.length} / `}\r\n\t\t\t\t\t{t(title)}\r\n\t\t\t\t</div>\r\n\t\t\t</GenericButton>\r\n\t\t\t<CustomOverlayPanel ref={op} onHide={() => setSelectedItems(selectedFilterOption)}>\r\n\t\t\t\t{allFilterOptions?.length > 0 ? (\r\n\t\t\t\t\t<DropdownContainer>\r\n\t\t\t\t\t\t<Body className=\"p-2\">\r\n\t\t\t\t\t\t\t{Search}\r\n\t\t\t\t\t\t\t<ItemSelectorCard className=\"mt-1 mb-2\" onClick={handleSelectAll}>\r\n\t\t\t\t\t\t\t\t<CheckBox className=\"m-0\" type=\"checkbox\" checked={selectAll} onChange={() => {}} />\r\n\t\t\t\t\t\t\t\t<ItemName>{t(\"ALL\")}</ItemName>\r\n\t\t\t\t\t\t\t</ItemSelectorCard>\r\n\t\t\t\t\t\t\t<div className=\"ms-4\">\r\n\t\t\t\t\t\t\t\t{hasBlank && (\r\n\t\t\t\t\t\t\t\t\t<ItemSelectorCard className=\"mb-2\" onClick={() => handleClickItem(blanks)}>\r\n\t\t\t\t\t\t\t\t\t\t<CheckBox className=\"m-0\" type=\"checkbox\" checked={isItemSelected(blanks)} onChange={() => {}} />\r\n\t\t\t\t\t\t\t\t\t\t<ItemName>{\"(\" + t(\"BLANKS\") + \")\"}</ItemName>\r\n\t\t\t\t\t\t\t\t\t</ItemSelectorCard>\r\n\t\t\t\t\t\t\t\t)}\r\n {sortByName(listItems)?.map((item) => {\r\n if (item?.id === EMPTY_GUID) return\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<ItemSelectorCard key={item?.id} className=\"mb-2\" onClick={() => handleClickItem(item)}>\r\n\t\t\t\t\t\t\t\t\t\t\t<CheckBox className=\"m-0\" type=\"checkbox\" checked={isItemSelected(item)} onChange={() => {}} />\r\n\t\t\t\t\t\t\t\t\t\t\t<ItemName>{item?.name}</ItemName>\r\n\t\t\t\t\t\t\t\t\t\t</ItemSelectorCard>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</Body>\r\n\t\t\t\t\t\t<Footer>\r\n\t\t\t\t\t\t\t<FlexBetweenAlignCenter className=\"p-2\">\r\n\t\t\t\t\t\t\t\t<GenericButton variant=\"light-link\" onClick={handleClear}>\r\n\t\t\t\t\t\t\t\t\t{t(\"CLEAR_FILTERS\")}\r\n\t\t\t\t\t\t\t\t</GenericButton>\r\n\t\t\t\t\t\t\t\t<GenericButton variant=\"primary\" onClick={handleApply}>\r\n\t\t\t\t\t\t\t\t\t{t(\"APPLY\")}\r\n\t\t\t\t\t\t\t\t</GenericButton>\r\n\t\t\t\t\t\t\t</FlexBetweenAlignCenter>\r\n\t\t\t\t\t\t</Footer>\r\n\t\t\t\t\t</DropdownContainer>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<NoDataContainer className=\"p-4\">{t(\"NO_DATA_AVAILABLE\")}</NoDataContainer>\r\n\t\t\t\t)}\r\n\t\t\t</CustomOverlayPanel>\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nFilter.displayName = \"Filter\";\r\nexport default Filter;\r\n\r\nconst CustomOverlayPanel = styled(OverlayPanel)`\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n\r\n\t.p-overlaypanel-close {\r\n\t\tbackground: #f96209;\r\n\t\tcolor: #ffffff;\r\n\t\twidth: 1.5rem;\r\n\t\theight: 1.5rem;\r\n\t\ttransition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\r\n\t\tborder-radius: 50%;\r\n\t\tposition: absolute;\r\n\t\ttop: -12px;\r\n\t\tright: -12px;\r\n\t}\r\n`;\r\n\r\nconst DropdownContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n\twidth: 450px;\r\n\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.25), 2px 2px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nconst NoDataContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twidth: 200px;\r\n\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.25), 2px 2px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nconst Body = styled.div`\r\n\tmax-height: 300px;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tborder-top: 1px solid #c4c4c4;\r\n`;\r\n\r\nconst ItemSelectorCard = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t\tbackground-color: #efefef;\r\n\t}\r\n`;\r\n\r\nconst CheckBox = styled(Input)`\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n\t&:checked {\r\n\t\tbackground-color: #333333;\r\n\t\tborder-color: #333333;\r\n\t}\r\n\t&:focus {\r\n\t\tbox-shadow: none;\r\n\t\tborder-color: ${(props) => (props.disabled === \"\" ? \"#333333\" : \"#c4c4c4\")};\r\n\t}\r\n`;\r\n\r\nconst ItemName = styled.div`\r\n\twidth: 100%;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n","import { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const Container = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: flex-start;\r\n`;\r\n\r\nexport const FilterBox = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\theight: 36px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #605f60;\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tcursor: pointer;\r\n`;\r\n\r\nexport const DropdownContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n\twidth: 450px;\r\n\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.25), 2px 2px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nexport const CustomOverlayPanel = styled(OverlayPanel)`\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n\r\n\t.p-overlaypanel-close {\r\n\t\tbackground: #f96209;\r\n\t\tcolor: #ffffff;\r\n\t\twidth: 1.5rem;\r\n\t\theight: 1.5rem;\r\n\t\ttransition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\r\n\t\tborder-radius: 50%;\r\n\t\tposition: absolute;\r\n\t\ttop: -12px;\r\n\t\tright: -12px;\r\n\t}\r\n`;\r\n\r\nexport const ItemSelectorCard = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t\tbackground-color: #efefef;\r\n\t}\r\n`;\r\n","import { useEffect, useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { GenericButton } from \"shared/ui-basics\";\r\nimport { CustomOverlayPanel, DropdownContainer, ItemSelectorCard } from \"./filters_style\";\r\n\r\nconst FilterBy = ({ apply }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst op = useRef();\r\n\tconst currentFilterBy = useSelector((state) => state.analytics?.roiAnalysis?.selectedFilterOptions?.filterBy);\r\n\tconst selectedDetails = getFilterDetails(currentFilterBy);\r\n\r\n\t//useEffect(() => {}, [currentFilterBy]);\r\n\r\n\tconst onClickSelect = (e, filterName) => {\r\n\t\top.current.toggle(e);\r\n\t\tapply({ dataAttribute: \"filterBy\", selectedItems: filterName });\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div>\r\n\t\t\t<GenericButton variant=\"light\" icon={selectedDetails?.icon} iconClassName=\"me-2\" onClick={(e) => op.current.toggle(e)}>\r\n\t\t\t\t<div>{t(selectedDetails?.title)}</div>\r\n\t\t\t</GenericButton>\r\n\t\t\t<CustomOverlayPanel ref={op}>\r\n\t\t\t\t<DropdownContainer>\r\n\t\t\t\t\t<ItemSelectorCard className=\"p-4\" onClick={(e) => onClickSelect(e, \"cjms\")}>\r\n\t\t\t\t\t\t<div>{IconDispatcher(\"CJM\")}</div>\r\n\t\t\t\t\t\t<div>{t(\"FILTER_BY_JOURNEY_MAPS\")} </div>\r\n\t\t\t\t\t</ItemSelectorCard>\r\n\t\t\t\t\t<ItemSelectorCard className=\"p-4\" onClick={(e) => onClickSelect(e, \"projects\")}>\r\n\t\t\t\t\t\t<div>{IconDispatcher(\"PROJECT-LIGHT\")}</div>\r\n\t\t\t\t\t\t<div>{t(\"FILTER_BY_PROJECTS\")} </div>\r\n\t\t\t\t\t</ItemSelectorCard>\r\n\t\t\t\t</DropdownContainer>\r\n\t\t\t</CustomOverlayPanel>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nconst getFilterDetails = (currentFilterBy) => {\r\n\tif (currentFilterBy === \"cjms\") return { title: \"FILTER_BY_JOURNEY_MAPS\", icon: \"CJM\" };\r\n\treturn { title: \"FILTER_BY_PROJECTS\", icon: \"PROJECT-LIGHT\" };\r\n};\r\n\r\nexport default FilterBy;\r\n","import { useDispatch } from \"react-redux\";\r\nimport styled from \"styled-components/macro\";\r\nimport DateFilter from \"./DateFilter\";\r\nimport DateRangeFilter from \"./DateRangeFilter\";\r\nimport Filter from \"./Filter\";\r\nimport FilterBy from \"./FilterBy\";\r\n\r\nfunction FiltersManager({ filterEntities, applyAction, dashboardName }) {\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst getFilterParams = (type) => {\r\n\t\tconst params = {};\r\n\t\tparams.apply = (props) => dispatch(applyAction(props));\r\n\t\tparams.filterComponent = Filter;\r\n\t\tswitch (type) {\r\n\t\t\tcase \"programs\":\r\n\t\t\t\tparams.title = \"CX_PROGRAMS\";\r\n\t\t\t\tparams.icon = \"solar-system\";\r\n\t\t\t\tparams.dataAttribute = \"programs\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"cjms\":\r\n\t\t\t\tparams.title = \"JOURNEYS\";\r\n\t\t\t\tparams.icon = \"CJM\";\r\n\t\t\t\tparams.dataAttribute = \"cjms\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"personas\":\r\n\t\t\t\tparams.title = \"ASPX_98\";\r\n\t\t\t\tparams.icon = \"user-hair\";\r\n\t\t\t\tparams.dataAttribute = \"personas\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"tags\":\r\n\t\t\t\tparams.title = \"TAGS\";\r\n\t\t\t\tparams.icon = \"tag\";\r\n\t\t\t\tparams.dataAttribute = \"tags\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"touchpoints\":\r\n\t\t\t\tparams.title = \"TOUCHPOINTS\";\r\n\t\t\t\tparams.icon = \"BULLSEYES-POINTER\";\r\n\t\t\t\tparams.dataAttribute = \"touchpoints\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"metrics\":\r\n\t\t\t\tparams.title = \"JS_130\";\r\n\t\t\t\tparams.icon = \"CHART-SCATTER\";\r\n\t\t\t\tparams.dataAttribute = \"metrics\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"date\":\r\n\t\t\t\tparams.filterComponent = DateFilter;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"filterBy\":\r\n\t\t\t\tparams.filterComponent = FilterBy;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"projects\":\r\n\t\t\t\tparams.title = \"PROJECTS\";\r\n\t\t\t\tparams.icon = \"PROJECT-LIGHT\";\r\n\t\t\t\tparams.dataAttribute = \"projects\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"dateRange\":\r\n\t\t\t\tparams.filterComponent = DateRangeFilter;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn params;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<FiltersSection>\r\n\t\t\t{filterEntities?.map((entityType) => {\r\n\t\t\t\tconst params = getFilterParams(entityType);\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<params.filterComponent\r\n\t\t\t\t\t\tkey={entityType}\r\n\t\t\t\t\t\ttitle={params?.title}\r\n\t\t\t\t\t\ticon={params?.icon}\r\n\t\t\t\t\t\tallItemsSelector={params?.allItemsSelector}\r\n\t\t\t\t\t\tdataAttribute={params.dataAttribute}\r\n\t\t\t\t\t\tapply={params?.apply}\r\n\t\t\t\t\t\tdashboardName={dashboardName}\r\n\t\t\t\t\t/>\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t</FiltersSection>\r\n\t);\r\n}\r\n\r\nFiltersManager.displayName = \"FiltersManager\";\r\nexport default FiltersManager;\r\n\r\nconst FiltersSection = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 16px;\r\n`;\r\n","import { memo } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, ModalBody, ModalHeader } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nconst BasicDrillDownModal = memo(({ isOpen, onClose, title, relatedItemsTitle, renderIllustration, items, ListItemComponent, itemAttributeId = \"id\", backdrop = true }) => {\r\n\tconst { t } = useTranslation();\r\n\treturn (\r\n\t\t<ModalContainer isOpen={isOpen} toggle={onClose} centered={true} backdrop={backdrop} size=\"xl\" zIndex={!backdrop ? 100 : \"\"}>\r\n\t\t\t<ModalHeader toggle={onClose}>{title}</ModalHeader>\r\n\t\t\t<Body>\r\n\t\t\t\t{renderIllustration && <ChartContainer className=\"p-4\">{renderIllustration()}</ChartContainer>}\r\n\t\t\t\t<ListContainer className=\"p-4\">\r\n\t\t\t\t\t{relatedItemsTitle && <ListTitle className=\"mb-3\">{`${t(\"RELATIONSHIP\")} ${relatedItemsTitle}`}</ListTitle>}\r\n\t\t\t\t\t{items?.map((item, i) => (\r\n\t\t\t\t\t\t<ListItemComponent key={item?.[itemAttributeId]} item={item} isLastItem={items?.length === i + 1} onClose={onClose} />\r\n\t\t\t\t\t))}\r\n\t\t\t\t</ListContainer>\r\n\t\t\t</Body>\r\n\t\t</ModalContainer>\r\n\t);\r\n});\r\n\r\nBasicDrillDownModal.displayName = \"BasicDrillDownModal\";\r\nexport { BasicDrillDownModal };\r\n\r\nconst ModalContainer = styled(Modal)``;\r\n\r\nconst Body = styled(ModalBody)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\theight: 600px;\r\n`;\r\n\r\nconst ChartContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 70%;\r\n\theight: 600px;\r\n`;\r\n\r\nconst ListContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tborder-left: 1px solid #c4c4c4;\r\n\twidth: 100%;\r\n\theight: 600px;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst ListTitle = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n","import { BasicDrillDownModal } from \"features/analytics/modals/BasicDrillDownModal\";\r\nimport { FlexAlignJustifyCenter } from \"shared/ui-basics/index\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Bar, BarChart, LabelList, ResponsiveContainer, XAxis, YAxis } from \"recharts\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport EmptyData from \"./EmptyData\";\r\nimport styled from \"styled-components\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\n\r\nfunction HorizontalBarsChart({ dataSelector, barColor, relatedItemsTitle, listItemComponent, emptyDataText, backdrop }) {\r\n\tconst [drillDownModal] = useModal(BasicDrillDownModal);\r\n const data = useSelector(dataSelector);\r\n \r\n\tconst LabelName = ({ x, y, name }) => {\r\n\t\tconst newX = x;\r\n\t\tconst newY = y - 24;\r\n\t\treturn (\r\n\t\t\t<foreignObject x={newX} y={newY} width=\"100%\" height=\"25\">\r\n\t\t\t\t<CustomTooltip text={name}>\r\n\t\t\t\t\t<CustomLabelName>{name}</CustomLabelName>\r\n\t\t\t\t</CustomTooltip>\r\n\t\t\t</foreignObject>\r\n\t\t);\r\n\t};\r\n\r\n\tconst LabelValue = ({ x, y, width, value, index }) => {\r\n\t\tconst { currencySymbol } = data[index];\r\n\t\tconst newX = x + width + 5;\r\n\t\tconst newY = y + 15;\r\n\r\n\t\treturn (\r\n\t\t\t<text x={newX} y={newY} textAnchor=\"start\" fontSize={14} color=\"#605F60\">\r\n\t\t\t\t{value.toLocaleString()} {currencySymbol ?? \"\"}\r\n\t\t\t</text>\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderDrillDownIllustration = ({ data }) => {\r\n\t\treturn (\r\n\t\t\t<ResponsiveContainer width=\"100%\" height=\"100%\">\r\n\t\t\t\t<BarChart\r\n\t\t\t\t\tdata={data}\r\n\t\t\t\t\tlayout=\"vertical\"\r\n\t\t\t\t\tmargin={{\r\n\t\t\t\t\t\tright: 100,\r\n\t\t\t\t\t\tleft: -60,\r\n\t\t\t\t\t}}>\r\n\t\t\t\t\t<XAxis type=\"number\" axisLine={false} display=\"none\" />\r\n\t\t\t\t\t<YAxis type=\"category\" axisLine={false} display=\"none\" />\r\n\t\t\t\t\t<Bar dataKey=\"value\" fill={barColor} barSize={20}>\r\n\t\t\t\t\t\t<LabelList dataKey=\"name\" content={<LabelName />} />\r\n\t\t\t\t\t\t<LabelList dataKey=\"value\" content={<LabelValue />} />\r\n\t\t\t\t\t</Bar>\r\n\t\t\t\t</BarChart>\r\n\t\t\t</ResponsiveContainer>\r\n\t\t);\r\n\t};\r\n\r\n\tconst handleBarClick = ({ value, name, relatedItems }) => {\r\n\t\tconst data = [{ name, value }];\r\n\t\tdrillDownModal({\r\n\t\t\ttitle: `${name}`,\r\n\t\t\trelatedItemsTitle,\r\n\t\t\trenderIllustration: () => renderDrillDownIllustration({ data }),\r\n\t\t\tListItemComponent: listItemComponent,\r\n\t\t\titems: relatedItems,\r\n\t\t\titemAttributeId: \"id\",\r\n\t\t\tbackdrop,\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data?.length > 0 ? (\r\n\t\t\t\t<ResponsiveContainer width=\"100%\" height=\"100%\">\r\n\t\t\t\t\t<BarChart\r\n\t\t\t\t\t\tdata={data}\r\n\t\t\t\t\t\tlayout=\"vertical\"\r\n\t\t\t\t\t\tmargin={{\r\n\t\t\t\t\t\t\tright: 100,\r\n\t\t\t\t\t\t\tleft: -60,\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t<XAxis type=\"number\" axisLine={false} display=\"none\" />\r\n\t\t\t\t\t\t<YAxis type=\"category\" axisLine={false} display=\"none\" />\r\n\t\t\t\t\t\t<Bar dataKey=\"value\" fill={barColor} barSize={20} cursor={listItemComponent && \"pointer\"} onClick={listItemComponent && handleBarClick}>\r\n\t\t\t\t\t\t\t<LabelList dataKey=\"name\" content={<LabelName />} />\r\n\t\t\t\t\t\t\t<LabelList dataKey=\"value\" content={<LabelValue />} />\r\n\t\t\t\t\t\t</Bar>\r\n\t\t\t\t\t</BarChart>\r\n\t\t\t\t</ResponsiveContainer>\r\n\t\t\t) : (\r\n\t\t\t\t<FlexAlignJustifyCenter className=\"w-100 h-100\">\r\n\t\t\t\t\t<EmptyData text={emptyDataText} icon=\"CHART-BAR\" />\r\n\t\t\t\t</FlexAlignJustifyCenter>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n}\r\n\r\nHorizontalBarsChart.displayName = \"HorizontalBarsChart\";\r\nexport default HorizontalBarsChart;\r\n\r\nconst CustomLabelName = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-size: 14px;\r\n\twidth: 80%;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n","import { useSelector } from \"react-redux\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport function InsightTypeCard({ gemColor, type }) {\r\n\tconst { gainInsights, painInsights } = useSelector((state) => state.analytics?.journeyTrend?.currentData);\r\n\r\n\tlet value = 0;\r\n\tconst insights = type === \"gain\" ? gainInsights : painInsights;\r\n\r\n\tObject.keys(insights)?.forEach((insightId) => {\r\n\t\tvalue += insights[insightId]?.value;\r\n\t});\r\n\r\n\treturn (\r\n\t\t<Container>\r\n\t\t\t<IconContainer color={gemColor}>{IconDispatcher(\"gem\", \"\", { style: \"light\" })}</IconContainer>\r\n\t\t\t<Value>{value}</Value>\r\n\t\t</Container>\r\n\t);\r\n}\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 4px;\r\n`;\r\n\r\nconst Value = styled.div`\r\n\tcolor: #262626;\r\n\ttext-align: center;\r\n\tfont-family: \"Oswald\";\r\n\tfont-size: 48px;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tline-height: 48px;\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\tsvg {\r\n\t\theight: 48px;\r\n\t\twidth: 48px;\r\n\t}\r\n\tpath {\r\n\t\tfill: ${({ color }) => color};\r\n\t}\r\n`;\r\n","import React from \"react\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nfunction Section({ children, height = \"432\" }) {\r\n\treturn (\r\n\t\t<CustomSection height={height}>\r\n\t\t\t{React.Children.map(children, (child, index) => {\r\n\t\t\t\tconst { title, border =\"#F0F0F0\", background=\"#fff\", growFactor = 1 } = child.props;\r\n\t\t\t\treturn (\r\n <InnerSection key={index} className=\"p-4\" grow={growFactor} background={background} border={ border}>\r\n\t\t\t\t\t\t{title && <Title >{title}}\r\n\t\t\t\t\t\t{child}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\r\n\t);\r\n}\r\n\r\nSection.displayName = \"Section\";\r\nexport default Section;\r\n\r\nconst CustomSection = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tgap: 16px;\r\n\tbackground: transparent;\r\n\theight: ${(props) => props.height}px;\r\n`;\r\n\r\nconst InnerSection = styled.div`\r\n\tflex: ${({ grow }) => grow};\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 4px;\r\n\theight: 100%;\r\n\tborder-radius: 4px;\r\n\tbackground: ${({ background }) => background};\r\n\tborder: 1px solid ${({ border }) => border};\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tline-height: 16px;\r\n padding-bottom: 24px;\r\n`;\r\n","import { IconDispatcher } from \"shared/Icons\";\r\nimport styled from \"styled-components/macro\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nexport function Counter({ value, icon, iconColor, textColor = \"#262626\" }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{IconDispatcher(icon, \"\", { style: \"light\" })}\r\n\t\t\t{value}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst ConterContainer = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst Value = styled.div`\r\n\tcolor: ${({ color }) => color};\r\n\ttext-align: center;\r\n\tfont-family: \"Oswald\";\r\n\tfont-size: 40px;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tline-height: 48px;\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\tsvg {\r\n\t\theight: 48px;\r\n\t\twidth: 48px;\r\n\t}\r\n\tpath {\r\n\t\tfill: ${({ color }) => color};\r\n\t}\r\n`;\r\n","import { Counter } from \"features/analytics/Components/Counter\";\r\nimport Section from \"features/analytics/Components/Section\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nfunction Counters() {\r\n\tconst { t } = useTranslation();\r\n\tconst { touchpoints, opportunities, solutions, actions } = useSelector((state) => state.analytics?.journeyTrend?.currentData);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n\r\nCounters.displayName = \"Counters\";\r\nexport default Counters;\r\n","import styled from \"styled-components/macro\";\r\nimport { ColorCircle } from \"../Style\";\r\nimport { css } from \"styled-components\";\r\n\r\nfunction CustomLegend({ data, customClassNames = \"\", variant = \"vertical\" }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{data.map((element, index) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{element.name}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\r\n\t);\r\n}\r\n\r\nCustomLegend.displayName = \"CustomLegend\";\r\nexport default CustomLegend;\r\n\r\nconst Legends = styled.div`\r\n\tdisplay: flex;\r\n\tgap: 10px;\r\n\t${({ variant }) =>\r\n\t\tvariant === \"vertical\" &&\r\n\t\tcss`\r\n\t\t\tflex-direction: column;\r\n\t\t\twidth: 200px;\r\n\t\t\tmax-height: 350px;\r\n\t\t\toverflow: scroll;\r\n\t\t`}\r\n`;\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 5px;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 1.25rem;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nfunction TextAndValueTooltip({ text, value }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t
{`${text}: ${value}`}
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nTextAndValueTooltip.displayName = \"TextAndValueTooltip\";\r\nexport default TextAndValueTooltip;\r\n\r\nconst TooltipContainer = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\tborder: 1px solid #ccc;\r\n\tmin-width: 120px;\r\n`;\r\n","import { calculateXScore, calculateYScore } from \"@utils/helpers\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { createSelector } from \"reselect\";\r\nimport { isNullOrUndefined } from \"utils/helpers\";\r\nimport { CustomizationColors } from \"shared/ui-basics\";\r\n\r\nexport const insightsHorizontalBarDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\tcurrentData: state.analytics?.journeyTrend?.currentData,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ currentData }, props) => {\r\n\t\tconst { type } = props;\r\n\t\tconst { gainInsights, painInsights } = currentData;\r\n\t\tconst insights = type === \"gain\" ? gainInsights : painInsights;\r\n\t\tconst items = Object.entries(insights).map(([id, value]) => ({\r\n\t\t\tid: id,\r\n\t\t\tname: value.name,\r\n\t\t\tvalue: value.value,\r\n\t\t\trelatedItems: value.cjms,\r\n\t\t}));\r\n\r\n\t\t// Sort by count in descending order\r\n\t\titems.sort((a, b) => b.value - a.value);\r\n\r\n\t\t// Return first n items\r\n\t\treturn items.slice(0, 5);\r\n\t}\r\n);\r\n\r\nexport const wordCloudDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\tcurrentData: state.analytics?.journeyTrend?.currentData,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ currentData }, props) => {\r\n\t\tconst { type } = props;\r\n\t\tconst { gainInsights, painInsights } = currentData;\r\n\t\tconst insights = type === \"gain\" ? gainInsights : painInsights;\r\n\t\tconst wordFrequency = new Map();\r\n\r\n\t\tfor (const insight of Object.values(insights)) {\r\n\t\t\t// Process each word in the wordCloud\r\n\t\t\tfor (const wordObj of insight.wordCloud) {\r\n\t\t\t\tconst word = wordObj.text;\r\n\t\t\t\tconst totalFrequency = insight.value * wordObj.value;\r\n\r\n\t\t\t\t// Update the frequency in the map\r\n\t\t\t\tif (wordFrequency.has(word)) {\r\n\t\t\t\t\twordFrequency.set(word, wordFrequency.get(word) + totalFrequency);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twordFrequency.set(word, totalFrequency);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst wordList = Array.from(wordFrequency.entries())\r\n\t\t\t.map(([text, value]) => ({ text, value }))\r\n\t\t\t.sort((a, b) => b.value - a.value);\r\n\r\n\t\t// Return the top 50 (or fewer if there are fewer than 50 unique words)\r\n\t\treturn wordList.slice(0, 50);\r\n\t}\r\n);\r\n\r\nexport const entitiesByJourneyDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\tselectedCjms: state.analytics?.journeyTrend?.selectedFilterOptions?.cjms,\r\n\t\tcurrentData: state.analytics?.journeyTrend?.currentData,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ selectedCjms, currentData }, props) => {\r\n\t\tconst { entity } = props;\r\n\t\tconst linkedIdsAttribute = entity + \"Ids\";\r\n\t\tconst allItemsAttribute = entity === \"opportunity\" ? \"opportunities\" : entity === \"solution\" ? \"solutions\" : \"actions\";\r\n\t\tconst allItems = currentData[allItemsAttribute];\r\n\t\tconst allItemIds = allItems.map((it) => it?.id);\r\n\r\n\t\tconst formatedData = [];\r\n\t\tselectedCjms?.forEach((cjm) => {\r\n\t\t\tconst linkedIds = cjm[linkedIdsAttribute];\r\n\t\t\tif (linkedIds?.length > 0) {\r\n\t\t\t\tconst res = [];\r\n\t\t\t\tlinkedIds.forEach((linkedId) => {\r\n\t\t\t\t\tif (allItemIds.includes(linkedId)) res.push(linkedId);\r\n\t\t\t\t});\r\n\t\t\t\tif (res?.length > 0) formatedData.push({ name: cjm?.name, value: res?.length, relatedItemsIds: res });\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst sortedData = formatedData?.sort((a, b) => b.value - a.value)?.slice(0, 5);\r\n\r\n\t\tconst memo = {};\r\n\t\treturn sortedData?.map((data) => {\r\n\t\t\tconst relatedItems = [];\r\n\t\t\tdata.relatedItemsIds?.forEach((relatedItemId) => {\r\n\t\t\t\tif (!(relatedItemId in memo)) {\r\n\t\t\t\t\tconst relatedItem = currentData[allItemsAttribute]?.find((item) => item.id === relatedItemId);\r\n\t\t\t\t\tif (!isEmptyObject(relatedItem)) {\r\n\t\t\t\t\t\tmemo[relatedItemId] = true;\r\n\t\t\t\t\t\trelatedItems.push(relatedItem);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn { ...data, relatedItems: [...relatedItems] };\r\n\t\t});\r\n\t}\r\n);\r\n\r\nexport const mapPerStatusDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\tselectedCjms: state.analytics?.journeyTrend?.selectedFilterOptions?.cjms,\r\n\t\tstatuses: state.libraries?.status?.customerJourney,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ selectedCjms, statuses }, props) => {\r\n\t\tconst memory = {};\r\n\t\tconst formatedData = [];\r\n\r\n\t\tselectedCjms?.forEach((cjm) => {\r\n\t\t\tif (!memory[cjm?.statusId]) memory[cjm?.statusId] = [cjm];\r\n\t\t\telse memory[cjm?.statusId].push(cjm);\r\n\t\t});\r\n\r\n\t\t//Transform the counter into %\r\n\t\tObject.keys(memory)?.forEach((statusId) => {\r\n\t\t\tconst status = statuses?.find((s) => s?.id === statusId);\r\n\t\t\tformatedData?.push({\r\n\t\t\t\tstatusId,\r\n\t\t\t\tstatusName: status?.name || props.t(\"NO_VALUE\"),\r\n\t\t\t\tcolor: CustomizationColors[status?.colorCode]?.backgroundColor || status?.colorCode || \"#F3F4F6\",\r\n\t\t\t\tvalue: (memory[statusId].length / selectedCjms?.length) * 100,\r\n\t\t\t\tmaps: memory[statusId],\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\treturn formatedData;\r\n\t}\r\n);\r\n\r\nexport const opportunityAnalysisDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\topportunities: state.analytics?.journeyTrend?.currentData?.opportunities,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ opportunities }, props) => {\r\n\t\tconst memory = {};\r\n\t\tconst formatedData = [];\r\n\t\tconst oppIds = [];\r\n\r\n\t\topportunities?.forEach((opp) => {\r\n\t\t\tif (!oppIds?.includes(opp?.id)) {\r\n\t\t\t\toppIds.push(opp?.id);\r\n\t\t\t\tconst x = opp?.businessRatingValue;\r\n\t\t\t\tconst y = opp?.customerRatingValue;\r\n\t\t\t\tif (!isNullOrUndefined(x) && !isNullOrUndefined(y)) {\r\n\t\t\t\t\tlet strCoordinates = x + \"|\" + y;\r\n\t\t\t\t\tif (strCoordinates in memory) memory[strCoordinates].push(opp);\r\n\t\t\t\t\telse memory[strCoordinates] = [opp];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tObject.keys(memory)?.forEach((strCoordinate) => {\r\n\t\t\tconst coordinates = strCoordinate.split(\"|\");\r\n\t\t\tformatedData.push({ x: coordinates[0], y: coordinates[1], opportunities: memory[strCoordinate] });\r\n\t\t});\r\n\r\n\t\treturn formatedData;\r\n\t}\r\n);\r\n\r\nexport const solutionAnalysisDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\tsolutions: state.analytics?.journeyTrend?.currentData?.solutions,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ solutions }, props) => {\r\n\t\tconst memory = {};\r\n\t\tconst finalData = [];\r\n\r\n\t\tsolutions?.forEach((solution) => {\r\n\t\t\tconst strCoordinates = calculateXScore(solution) + \"|\" + calculateYScore(solution);\r\n\t\t\tif (strCoordinates in memory) memory[strCoordinates].push(solution);\r\n\t\t\telse memory[strCoordinates] = [solution];\r\n\t\t});\r\n\r\n\t\tObject.keys(memory)?.forEach((strCoordinate) => {\r\n\t\t\tconst coordinates = strCoordinate.split(\"|\");\r\n\t\t\tfinalData.push({ x: coordinates[0], y: coordinates[1], solutions: memory[strCoordinate] });\r\n\t\t});\r\n\r\n\t\treturn finalData;\r\n\t}\r\n);\r\n\r\nexport const topTenWithLabelsDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\ttags: state.analytics?.journeyTrend?.currentData?.tags,\r\n\t\tgroups: state.analytics?.journeyTrend?.currentData?.groups,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ tags, groups }, props) => {\r\n\t\tconst { entity } = props;\r\n\t\tconst records = entity === \"tag\" ? tags : groups;\r\n\t\tconst result = new Map();\r\n\r\n\t\tfor (const rec of records) {\r\n\t\t\tconst totalUsage = (rec?.personaIds?.length || 0) + (rec?.cjmIds?.length || 0) + (rec?.programIds?.length || 0);\r\n\r\n\t\t\tresult.set(rec.id, {\r\n\t\t\t\tid: rec.id,\r\n\t\t\t\tname: rec.name,\r\n\t\t\t\tvalue: totalUsage,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst tagList = Array.from(result.values()).sort((a, b) => b.value - a.value);\r\n\t\treturn tagList.slice(0, 10);\r\n\t}\r\n);\r\n\r\nexport const topNTouchpointsDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\tselectedCjms: state.analytics?.journeyTrend?.selectedFilterOptions?.cjms,\r\n\t\tcurrentTouchpoints: state.analytics?.journeyTrend?.currentData.touchpoints,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ selectedCjms, currentTouchpoints }, props) => {\r\n\t\tconst counter = {};\r\n\r\n\t\t// Create a Counter object, tpId: numberOfOccurances\r\n\t\tselectedCjms?.forEach((map) => {\r\n\t\t\tmap.touchpointIds?.forEach((touchpointId) => {\r\n\t\t\t\tconst currentTp = currentTouchpoints?.find((tp) => tp.id === touchpointId);\r\n\t\t\t\tif (currentTp) {\r\n\t\t\t\t\tif (!counter[touchpointId]) counter[touchpointId] = { ...currentTp, value: 1, mapIds: new Set([map?.id]) };\r\n\t\t\t\t\telse counter[touchpointId] = { ...counter[touchpointId], value: counter[touchpointId].value + 1, mapIds: counter[touchpointId].mapIds.add(map?.id) };\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t//Transform the counter into a list\r\n\t\tconst touchpoints = Object.values(counter);\r\n\r\n\t\t//Sort the list\r\n\t\tconst sortedTouchpoints = touchpoints?.sort((a, b) => b.value - a.value);\r\n\r\n\t\t//Select the N first elements\r\n\t\treturn sortedTouchpoints?.slice(0, props.n);\r\n\t}\r\n);\r\n\r\nexport const topFiveDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\tselectedCjms: state.analytics?.journeyTrend?.selectedFilterOptions?.cjms,\r\n\t\topportunities: state.analytics?.journeyTrend?.currentData?.opportunities,\r\n\t\tsolutions: state.analytics?.journeyTrend?.currentData?.solutions,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ selectedCjms, opportunities, solutions }, props) => {\r\n\t\tconst { entity } = props;\r\n\t\tconst records = entity === \"opportunity\" ? opportunities : solutions;\r\n\t\tconst result = new Map();\r\n\r\n\t\tfor (const rec of records) {\r\n\t\t\tconst relatedItems = [];\r\n\t\t\tconst relatedItemsMemo = {};\r\n\t\t\tconst totalUsage = rec?.cjmIds?.length || 0;\r\n\t\t\trec?.cjmIds?.forEach((cjmId) => {\r\n\t\t\t\tif (!(cjmId in relatedItemsMemo)) {\r\n\t\t\t\t\trelatedItemsMemo[cjmId] = true;\r\n\t\t\t\t\tconst cjm = selectedCjms?.find((selectedCjm) => selectedCjm?.id === cjmId);\r\n\t\t\t\t\tif (cjm) relatedItems.push(cjm);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tresult.set(rec.id, {\r\n\t\t\t\tid: rec.id,\r\n\t\t\t\tname: rec.name || \"NEW_ITEM\",\r\n\t\t\t\tvalue: totalUsage,\r\n\t\t\t\trelatedItems,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst recList = Array.from(result.values()).sort((a, b) => b.value - a.value);\r\n\t\treturn recList.slice(0, 5);\r\n\t}\r\n);\r\n","import { BasicDrillDownModal } from \"features/analytics/modals/BasicDrillDownModal\";\r\nimport { FlexAlignJustifyCenter } from \"shared/ui-basics/index\";\r\nimport MapListCard from \"features/analytics/Components/Cards/MapListCard\";\r\nimport CustomLegend from \"features/analytics/Components/CustomLegend\";\r\nimport EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport TextAndValueTooltip from \"features/analytics/Components/Tooltips/TextAndValueTooltip\";\r\nimport { mapPerStatusDataSelector } from \"features/analytics/view/JourneyTrends/journeyTrendDataSelectors\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Cell, Legend, Pie, PieChart, ResponsiveContainer, Tooltip } from \"recharts\";\r\nimport styled from \"styled-components\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nfunction MapsPerStatus() {\r\n\tconst { t } = useTranslation();\r\n\tconst [drillDownModal] = useModal(BasicDrillDownModal);\r\n\tconst data = useSelector((state) => mapPerStatusDataSelector(state, { t }));\r\n\r\n\tconst renderDrillDownIllustration = ({ data, color, statusName }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{data?.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{`${data[0].value.toFixed(2)}%`}\r\n\t\t\t\t{statusName}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst handlePieClick = ({ percent, color, statusName, maps }) => {\r\n\t\tconst data = [\r\n\t\t\t{ value: percent * 100, color },\r\n\t\t\t{ value: (1 - percent) * 100, color: \" #EFEFEF\" },\r\n\t\t];\r\n\r\n\t\tdrillDownModal({\r\n\t\t\ttitle: t(\"MAPS_PER_STATUS\"),\r\n\t\t\trelatedItemsTitle: t(\"ASPX_97\"),\r\n\t\t\trenderIllustration: () => renderDrillDownIllustration({ data, color, statusName }),\r\n\t\t\tListItemComponent: MapListCard,\r\n\t\t\titems: maps,\r\n\t\t\titemAttributeId: \"cjmId\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst CustomTooltip = ({ active, payload }) => {\r\n\t\tif (active && payload && payload.length) {\r\n\t\t\treturn ;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\tconst RenderLegend = (props) => {\r\n\t\tconst { payload } = props;\r\n\t\tconst legendData = [];\r\n\t\tpayload.map((entry) => {\r\n\t\t\tlegendData.push({ color: entry.color, name: `${entry.payload?.statusName} (${entry.payload?.value.toFixed(2)}%)` });\r\n\t\t});\r\n\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{data?.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t} isAnimationActive={false} />\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nMapsPerStatus.displayName = \"MapsPerStatus\";\r\nexport default MapsPerStatus;\r\n\r\nconst ChartContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\theight: 100%;\r\n\twidth: 100%;\r\n\tgap: 40px;\r\n`;\r\n\r\nconst Percent = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Oswald\";\r\n\tfont-size: 48px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n`;\r\n\r\nconst Status = styled.div`\r\n\tcolor: ${(props) => props.color};\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 24px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 20px;\r\n`;\r\n","import { truncateWithEllipsis } from \"@utils/helpers\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const AnalyticCustomTooltip = ({ data, entity }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{data.slice(0, 3).map((item,index) => (\r\n\t\t\t\t

\r\n\t\t\t\t\t{truncateWithEllipsis(item?.subject || item?.name, 90)}\r\n\t\t\t\t

\r\n\t\t\t))}\r\n\t\t\t{data?.length > 3 ?

{`+${data?.length - 3} ${entity}`}

: null}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst TooltipContainer = styled.div`\r\n\tmax-width: 400px;\r\n\tmax-height: 250px;\r\n\tbackground: #fff;\r\n\tcolor: #605f60;\r\n\tfont-size: 14px;\r\n\tfont-family: \"Inter\";\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n`;\r\n","import { BasicDrillDownModal } from \"features/analytics/modals/BasicDrillDownModal\";\r\nimport { FlexAlignJustifyCenter, FlexColumnGap } from \"shared/ui-basics/index\";\r\nimport { CustomRating } from \"shared/ui-basics/ui-components/CustomRating\";\r\nimport { AnalyticCustomTooltip } from \"features/analytics/Components/Tooltips/AnalyticCustomTooltip\";\r\nimport OpportunityCard from \"features/analytics/Components/Cards/OpportunityListCard\";\r\nimport EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport { oppPointColorByCoordinates } from \"@utils/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { CartesianGrid, LabelList, ResponsiveContainer, Scatter, ScatterChart, Tooltip, XAxis, YAxis } from \"recharts\";\r\nimport styled from \"styled-components\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { opportunityAnalysisDataSelector } from \"../journeyTrendDataSelectors\";\r\n\r\nfunction OpportunityAnalysisMatrix() {\r\n\tconst { t } = useTranslation();\r\n\tconst data = useSelector((state) => opportunityAnalysisDataSelector(state));\r\n\r\n\tconst [drillDownModal] = useModal(BasicDrillDownModal);\r\n\r\n\tconst renderDrillDownIllustration = ({ x, y }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{t(\"BUSINESS_VALUE\")}
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
{t(\"CUSTOMER_VALUE\")}
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst CustomScatterPoint = ({ cx, cy, payload }) => {\r\n\t\tconst { x, y, opportunities } = payload;\r\n\t\tconst color = oppPointColorByCoordinates(x, y);\r\n\r\n\t\tconst handleClick = () => {\r\n\t\t\tdrillDownModal({\r\n\t\t\t\ttitle: t(\"OPPORTUNITIES\"),\r\n\t\t\t\trelatedItemsTitle: t(\"OPPORTUNITIES\"),\r\n\t\t\t\trenderIllustration: () => renderDrillDownIllustration({ x, y }),\r\n\t\t\t\tListItemComponent: OpportunityCard,\r\n items: opportunities,\r\n backdrop: false\r\n\t\t\t});\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t handleClick({ items: opportunities })} style={{ cursor: \"pointer\" }}>\r\n\t\t\t\t 1 ? 16 : 10} fill={color} />\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst CustomLabel = ({ cx, cy, value }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{value.length > 1 ? `${value.length}` : \"\"}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderTooltipContent = ({ active, payload }) => {\r\n\t\tif (active && payload && payload.length) {\r\n\t\t\tconst dataPoint = payload[0].payload;\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tconst axisTicks = [0, 1, 2, 3, 4, 5];\r\n\r\n\tconst tickStyle = {\r\n\t\tfontSize: \"14px\",\r\n\t\tfontFamilly: \"Inter\",\r\n\t\tcolor: \"#605F60\",\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t`, position: \"insideBottomLeft\", dy: 15 }}\r\n\t\t\t\t\t\t\ttick={{ ...tickStyle }}\r\n\t\t\t\t\t\t\taxisLine={{ stroke: \"#c4c4c4\", strokeWidth: 2 }}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t`, angle: -90, position: \"insideBottomLeft\", dx: 15 }}\r\n\t\t\t\t\t\t\ttick={{ ...tickStyle }}\r\n\t\t\t\t\t\t\taxisLine={{ stroke: \"#c4c4c4\", strokeWidth: 2 }}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nOpportunityAnalysisMatrix.displayName = \"OpportunityAnalysisMatrix\";\r\nexport default OpportunityAnalysisMatrix;\r\n\r\nconst Illustration = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 50px;\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nfunction SolutionLabel({ variant, icon, text }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{icon}\r\n\t\t\t\r\n\t\t\t\t{t(text)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nSolutionLabel.displayName = \"SolutionLabel\";\r\nexport default SolutionLabel;\r\n\r\nconst Card = styled.div`\r\n\tz-index: 9999 !important;\r\n\tposition: absolute;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 5px;\r\n\theight: 30px;\r\n\tborder-radius: 6px;\r\n\tbackground: #f5f5f5;\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tline-height: 17px;\r\n\tcolor: #c4c4c4;\r\n\ttransform: rotate(-90deg);\r\n\r\n\t${(props) =>\r\n\t\tprops.variant === \"quickWin\" &&\r\n\t\tcss`\r\n\t\t\tbackground: #e7efff;\r\n\t\t\tcolor: #3353e0;\r\n\t\t\tleft: -35px;\r\n\t\t\ttop: 75px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.variant === \"niceToHave\" &&\r\n\t\tcss`\r\n\t\t\tbackground: #fdf7d0;\r\n\t\t\tcolor: #6f5608;\r\n\t\t\tleft: -35px;\r\n\t\t\tbottom: 85px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.variant === \"complexProj\" &&\r\n\t\tcss`\r\n\t\t\tbackground: #ededed;\r\n\t\t\tcolor: #595959;\r\n\t\t\tright: -65px;\r\n\t\t\ttop: 80px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.variant === \"toAvoid\" &&\r\n\t\tcss`\r\n\t\t\tbackground: #fdeae8;\r\n\t\t\tcolor: #bc2722;\r\n\t\t\tright: -65px;\r\n\t\t\tbottom: 85px;\r\n\t\t`}\r\n`;\r\n\r\nconst CardText = styled.div`\r\n\twhite-space: nowrap;\r\n\twidth: 90px;\r\n\theight: 100%;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n","import { BasicDrillDownModal } from \"features/analytics/modals/BasicDrillDownModal\";\r\nimport { displayBenefitCard } from \"features/grid-table/columns-components/ReusableListComponents\";\r\nimport { AnalyticCustomTooltip } from \"features/analytics/Components/Tooltips/AnalyticCustomTooltip\";\r\nimport SolutionCard from \"features/analytics/Components/Cards/SolutionListCard\";\r\nimport EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport SolutionLabel from \"features/analytics/Components/SolutionLabel\";\r\nimport { getPointColors } from \"features/analytics/analyticsHelper\";\r\nimport { calculateXScore, calculateYScore, solutionTypeByCoordinates } from \"@utils/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { CartesianGrid, LabelList, ReferenceLine, ResponsiveContainer, Scatter, ScatterChart, Tooltip, XAxis, YAxis } from \"recharts\";\r\nimport styled from \"styled-components\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { solutionAnalysisDataSelector } from \"../journeyTrendDataSelectors\";\r\nimport { CustomResponsiveContainer } from \"features/analytics/Style\";\r\n\r\nfunction QuadrantScatterChart() {\r\n\tconst { t } = useTranslation();\r\n\tconst data = useSelector((state) => solutionAnalysisDataSelector(state));\r\n\r\n\tconst [drillDownModal] = useModal(BasicDrillDownModal);\r\n\r\n\tconst renderTooltipContent = ({ active, payload }) => {\r\n\t\tif (active && payload && payload.length) {\r\n\t\t\tconst dataPoint = payload[0].payload;\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tconst CustomScatterPoint = ({ cx, cy, payload }) => {\r\n\t\tconst { x, y, solutions } = payload;\r\n\t\tconst type = solutionTypeByCoordinates(Number(x), Number(y));\r\n\t\tconst { background, border } = getPointColors(type);\r\n\t\tconst handleClick = () => {\r\n\t\t\tdrillDownModal({\r\n\t\t\t\ttitle: t(\"SOLUTIONS\"),\r\n\t\t\t\trelatedItemsTitle: t(\"SOLUTIONS\"),\r\n\t\t\t\trenderIllustration: () => displayBenefitCard(solutions[0]),\r\n\t\t\t\tListItemComponent: SolutionCard,\r\n items: solutions,\r\n backdrop: false\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t 1 ? 16 : 10} stroke={border} fill={background} />\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst CustomLabel = ({ cx, cy, value }) => {\r\n\t\tconst type = solutionTypeByCoordinates(Number(calculateXScore(value[0])), Number(calculateYScore(value[0])));\r\n\t\tconst { border } = getPointColors(type);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{value.length > 1 ? `${value.length}` : \"\"}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst tickStyle = {\r\n\t\tfontSize: \"14px\",\r\n\t\tfontFamilly: \"Inter\",\r\n\t\tcolor: \"#605F60\",\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data?.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nQuadrantScatterChart.displayName = \"QuadrantScatterChart\";\r\nexport default QuadrantScatterChart;\r\n\r\nconst CustomResponsiveRelativeContainer = styled(ResponsiveContainer)`\r\n\tposition: relative;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twidth: 100%;\r\n`;\r\n","export const CustomZigZagTick = ({ x, y, payload, index }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{payload.value}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CustomZigZagTick;\r\n","import { BasicDrillDownModal } from \"features/analytics/modals/BasicDrillDownModal\";\r\nimport { FlexAlignJustifyCenter } from \"shared/ui-basics/index\";\r\nimport MapListCard from \"features/analytics/Components/Cards/MapListCard\";\r\nimport CustomZigZagTick from \"features/analytics/Components/Ticks/CustomZigZagTick\";\r\nimport EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport TextAndValueTooltip from \"features/analytics/Components/Tooltips/TextAndValueTooltip\";\r\nimport { topNTouchpointsDataSelector } from \"../journeyTrendDataSelectors\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Bar, BarChart, CartesianGrid, ResponsiveContainer, Tooltip, XAxis, YAxis } from \"recharts\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nfunction TopNTouchpoints() {\r\n\tconst { t } = useTranslation();\r\n\tconst [drillDownModal] = useModal(BasicDrillDownModal);\r\n\tconst data = useSelector((state) => topNTouchpointsDataSelector(state, { n: 10 }));\r\n\tconst maps = useSelector((state) => state.analytics.journeyTrend.originalData.cjms);\r\n\r\n\tconst renderDrillDownIllustration = ({ data }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst handleBarClick = ({ value, name, mapIds }) => {\r\n\t\tconst data = [{ name, value }];\r\n\t\tdrillDownModal({\r\n\t\t\ttitle: `${name} ${t(\"JS_193\")}`,\r\n\t\t\trelatedItemsTitle: t(\"ASPX_97\"),\r\n\t\t\trenderIllustration: () => renderDrillDownIllustration({ data }),\r\n\t\t\tListItemComponent: MapListCard,\r\n\t\t\titems: maps.filter((map) => Array.from(mapIds)?.includes(map.id)),\r\n\t\t});\r\n\t};\r\n\r\n\tconst CustomTooltip = ({ active, payload, label }) => {\r\n\t\tif (active && payload && payload.length) {\r\n\t\t\treturn ;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\tconst tickStyle = {\r\n\t\tfontSize: \"14px\",\r\n\t\tfontFamilly: \"Inter\",\r\n\t\tcolor: \"#605F60\",\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data?.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t} height={55} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nTopNTouchpoints.displayName = \"TopNTouchpoints\";\r\nexport default TopNTouchpoints;\r\n","import EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport TextAndValueTooltip from \"features/analytics/Components/Tooltips/TextAndValueTooltip\";\r\nimport { TickStyle } from \"features/analytics/Style\";\r\nimport { topTenWithLabelsDataSelector } from \"features/analytics/view/JourneyTrends/journeyTrendDataSelectors\";\r\nimport TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Bar, BarChart, CartesianGrid, LabelList, ResponsiveContainer, Tooltip, XAxis, YAxis } from \"recharts\";\r\nimport { FlexAlignJustifyCenter } from \"shared/ui-basics/index\";\r\nimport { getTaxonomyColorData } from \"utils/helpers\";\r\n\r\nfunction TopTenWithLabels({ entity, barFill, emptyDataText, linkedIdsAttribute }) {\r\n\tconst data = useSelector((state) => topTenWithLabelsDataSelector(state, { entity }));\r\n\tconst maxValue = data?.length > 0 ? data[0]?.value : 0;\r\n\r\n\tconst renderLabel = ({ item, x, y }) => {\r\n\t\tconst xPosition = String(x - ((item?.name?.length || 2) / 2) * 5);\r\n\t\tconst { backgroundColor, color } = getTaxonomyColorData({ entity: linkedIdsAttribute === \"tagIds\" ? \"tag\" : \"group\", colorCode: item?.colorCode });\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst CustomTooltip = ({ active, payload, label }) => {\r\n\t\tif (active && payload && payload.length) {\r\n\t\t\treturn ;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data?.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t renderLabel({ ...props, item: data[props.index] })} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nTopTenWithLabels.displayName = \"TopTenWithLabels\";\r\nexport default TopTenWithLabels;\r\n","import { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { handleAddRenderElement } from \"@utils/helpers\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport ActionListCard from \"features/analytics/Components/Cards/ActionListCard\";\r\nimport MapListCard from \"features/analytics/Components/Cards/MapListCard\";\r\nimport OpportunityListCard from \"features/analytics/Components/Cards/OpportunityListCard\";\r\nimport SolutionListCard from \"features/analytics/Components/Cards/SolutionListCard\";\r\nimport CustomWordCloud from \"features/analytics/Components/CustomWordCloud\";\r\nimport Export from \"features/analytics/Components/Export\";\r\nimport FiltersManager from \"features/analytics/Components/Filters/FiltersManager\";\r\nimport HorizontalBarsChart from \"features/analytics/Components/HorizontalBarsChart\";\r\nimport { InsightTypeCard } from \"features/analytics/Components/InsightTypeCard\";\r\nimport Section from \"features/analytics/Components/Section\";\r\nimport { AnalyticsLogoHeader, Body, BodySection, DashboardContainer, TopSection } from \"features/analytics/Style\";\r\nimport { applyFilterJourneyTrend } from \"features/analytics/reducer/JourneyTrend/journeyTrendActions\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Counters from \"./Reports/Counters\";\r\nimport MapsPerStatus from \"./Reports/MapsPerStatus\";\r\nimport OpportunityAnalysisMatrix from \"./Reports/OpportunityAnalysisMatrix\";\r\nimport QuadrantScatterChart from \"./Reports/QuadrantScatterChart\";\r\nimport TopNTouchpoints from \"./Reports/TopNTouchpoints\";\r\nimport TopTenWithLabels from \"./Reports/TopTenWithLabels\";\r\nimport { entitiesByJourneyDataSelector, insightsHorizontalBarDataSelector, topFiveDataSelector, wordCloudDataSelector } from \"./journeyTrendDataSelectors\";\r\nimport React from \"react\";\r\n\r\nfunction JourneyTrendsReports() {\r\n\tconst { t } = useTranslation();\r\n\tconst pdfRef = React.useRef();\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst logoRefreshValue = useSelector((state) => state.settings.organization?.logoRefreshValue);\r\n\tconst logoUrl = getterApis[\"GET_ACCOUNT_IMG\"](sessionId, logoRefreshValue);\r\n\r\n\tconst getFiltersToSave = ({ currentEntityData }) => {\r\n\t\treturn {\r\n\t\t\tprograms: currentEntityData?.selectedFilterOptions?.programs?.map((p) => p?.id),\r\n\t\t\tcjms: currentEntityData?.selectedFilterOptions?.cjms?.map((j) => j?.id),\r\n\t\t\tpersonas: currentEntityData?.selectedFilterOptions?.personas?.map((p) => p?.id),\r\n\t\t};\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{hideForPdf && }\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t insightsHorizontalBarDataSelector(state, { type: \"gain\" })}\r\n\t\t\t\t\t\t\tbarColor=\"#BBF7D0\"\r\n\t\t\t\t\t\t\trelatedItemsTitle={t(\"ASPX_97\")}\r\n\t\t\t\t\t\t\tlistItemComponent={MapListCard}\r\n\t\t\t\t\t\t\titemAttributeId=\"cjmId\"\r\n\t\t\t\t\t\t\temptyDataText=\"TOP_GAIN_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t insightsHorizontalBarDataSelector(state, { type: \"pain\" })}\r\n\t\t\t\t\t\t\tbarColor=\"#FCA5A5\"\r\n\t\t\t\t\t\t\trelatedItemsTitle={t(\"ASPX_97\")}\r\n\t\t\t\t\t\t\tlistItemComponent={MapListCard}\r\n\t\t\t\t\t\t\titemAttributeId=\"cjmId\"\r\n\t\t\t\t\t\t\temptyDataText=\"TOP_PAIN_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t wordCloudDataSelector(state, { type: \"gain\" })}\r\n\t\t\t\t\t\t\tcolorPalette={[\"#16A34A\", \"#15803D\", \"#166534\"]}\r\n\t\t\t\t\t\t\temptyDataText=\"GAIN_WORD_CLOUD_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t wordCloudDataSelector(state, { type: \"pain\" })}\r\n\t\t\t\t\t\t\tcolorPalette={[\"#DC2626\", \"#B91C1C\", \"#7F1D1D\"]}\r\n\t\t\t\t\t\t\temptyDataText=\"PAIN_WORD_CLOUD_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t topFiveDataSelector(state, { entity: \"opportunity\" })}\r\n\t\t\t\t\t\t\tbarColor=\"#5EEAD4\"\r\n\t\t\t\t\t\t\trelatedItemsTitle={t(\"ASPX_97\")}\r\n\t\t\t\t\t\t\tlistItemComponent={MapListCard}\r\n\t\t\t\t\t\t\temptyDataText=\"OPPORTUNITY_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t topFiveDataSelector(state, { entity: \"solution\" })}\r\n\t\t\t\t\t\t\tbarColor=\"#D8B4FE\"\r\n\t\t\t\t\t\t\trelatedItemsTitle={t(\"ASPX_97\")}\r\n\t\t\t\t\t\t\tlistItemComponent={MapListCard}\r\n\t\t\t\t\t\t\temptyDataText=\"SOLUTION_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t entitiesByJourneyDataSelector(state, { entity: \"opportunity\" })}\r\n\t\t\t\t\t\t\tbarColor=\"#5EEAD4\"\r\n\t\t\t\t\t\t\trelatedItemsTitle={t(\"OPPORTUNITIES\")}\r\n\t\t\t\t\t\t\tlistItemComponent={OpportunityListCard}\r\n\t\t\t\t\t\t\temptyDataText=\"ITEMS_BY_JOURNEY_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t\tbackdrop={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t entitiesByJourneyDataSelector(state, { entity: \"solution\" })}\r\n\t\t\t\t\t\t\tbarColor=\"#D8B4FE\"\r\n\t\t\t\t\t\t\trelatedItemsTitle={t(\"SOLUTIONS\")}\r\n\t\t\t\t\t\t\tlistItemComponent={SolutionListCard}\r\n\t\t\t\t\t\t\temptyDataText=\"ITEMS_BY_JOURNEY_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t\tbackdrop={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t entitiesByJourneyDataSelector(state, { entity: \"action\" })}\r\n\t\t\t\t\t\t\tbarColor=\"#93C5FD\"\r\n\t\t\t\t\t\t\trelatedItemsTitle={t(\"JS_80\")}\r\n\t\t\t\t\t\t\tlistItemComponent={ActionListCard}\r\n\t\t\t\t\t\t\temptyDataText=\"ITEMS_BY_JOURNEY_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t\tbackdrop={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{hideForPdf &&
{handleAddRenderElement(3000)}
}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nJourneyTrendsReports.displayName = \"JourneyTrendsReports\";\r\nexport default JourneyTrendsReports;\r\n","import { getJourneyTrendData } from \"features/analytics/reducer/JourneyTrend/journeyTrendActions\";\r\nimport { getAllCxAction, getAllMapsListData, getAllOpportunity, getAllSolutions, getAllPersonas } from \"@redux/index\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport JourneyTrendsReports from \"./JourneyTrendsReports\";\r\nimport { useAsyncs } from \"shared/hooks\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\n\r\nfunction JourneyTrendsDashboard() {\r\n\tconst isExportMode = useLocation().search.hideForPdf();\r\n\r\n\tuseAsyncs({\r\n\t\tasyncFns: [\r\n\t\t\t{ asyncFn: getAllSolutions, parameter: { statusCode: StatusCode.Active } },\r\n\t\t\t{ asyncFn: getAllOpportunity, parameter: { statusCode: StatusCode.Active } },\r\n\t\t\t{ asyncFn: getAllCxAction, parameter: { statusCode: StatusCode.Active } },\r\n\t\t\t{ asyncFn: getAllMapsListData },\r\n\t\t\t{ asyncFn: getAllPersonas },\r\n\t\t],\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nJourneyTrendsDashboard.displayName = \"JourneyTrendsDashboard\";\r\nexport default JourneyTrendsDashboard;\r\n","/* eslint-disable no-undef */\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nimport { constructUrl } from \"@utils/helpers\";\r\n\r\nconst BASE_URL = \"api/report/\";\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, headers }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\theaders,\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" });\r\n\r\nexport const getRoiAnalysisData = ({ isExportMode }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_ROI_ANALYSIS_DATA\",\r\n\t\tendPoint: constructUrl(\"getDashboardData\", {\r\n\t\t\tdashboardCode: \"roiAnalysis\",\r\n\t\t}),\r\n\t\tparams: { isExportMode },\r\n\t});\r\n\r\nexport const applyFilterRoiAnalysis = createAction(\"APPLY_FILTER_ROI_ANALYSIS\");\r\n","import { createSelector } from \"reselect\";\r\n\r\nexport const currentProjectsData = (state) => state.analytics?.roiAnalysis?.currentData?.projects || [];\r\nexport const allMaps = (state) => state.analytics?.roiAnalysis?.originalData?.cjms || [];\r\nexport const allCxGoals = (state) => state.libraries?.cxGoals || [];\r\nexport const allMeasures = (state) => state.libraries?.measures || [];\r\nexport const allUsers = (state) => state.settings?.authorizedUsers || [];\r\nexport const currencySymbol = (state) => state?.settings?.organization?.defaultCurrency?.symbol || \"$\";\r\n\r\nexport const KpiDataSelector = createSelector([currentProjectsData, allCxGoals, allMeasures], (currentProjectsData, allCxGoals, allMeasures) => {\r\n\tconst counter = {};\r\n\tcurrentProjectsData?.forEach((project) => {\r\n\t\tproject[\"cxGoalIds\"]?.forEach((linkedId) => {\r\n\t\t\tconst cxGoal = allCxGoals?.find((cxGoal) => linkedId === cxGoal?.id);\r\n\t\t\tconst measure = allMeasures?.find((me) => me.id === cxGoal?.measureId);\r\n\t\t\tif (measure && cxGoal?.achieved !== -1) {\r\n\t\t\t\tif (!counter[cxGoal?.measureId]) {\r\n\t\t\t\t\tcounter[cxGoal?.measureId] = {\r\n\t\t\t\t\t\tname: measure?.name,\r\n\t\t\t\t\t\tid: cxGoal?.measureId,\r\n\t\t\t\t\t\tcountMeasure: 1,\r\n\t\t\t\t\t\tsumAchieved: cxGoal?.achieved ?? 0,\r\n\t\t\t\t\t\tactual: cxGoal?.actual ?? 0,\r\n\t\t\t\t\t\tgoal: cxGoal?.goal ?? 0,\r\n\t\t\t\t\t\tfinancialImpact: cxGoal?.financialImpact ?? 0,\r\n\t\t\t\t\t};\r\n\t\t\t\t} else\r\n\t\t\t\t\tcounter[cxGoal?.measureId] = {\r\n\t\t\t\t\t\t...counter[cxGoal?.measureId],\r\n\t\t\t\t\t\tsumAchieved: counter[cxGoal?.measureId].sumAchieved + cxGoal?.achieved ?? 0,\r\n\t\t\t\t\t\tcountMeasure: ++counter[cxGoal?.measureId].countMeasure,\r\n\r\n\t\t\t\t\t\tactual: counter[cxGoal?.measureId].actual + cxGoal?.actual ?? 0,\r\n\t\t\t\t\t\tgoal: counter[cxGoal?.measureId].goal + cxGoal?.goal ?? 0,\r\n\t\t\t\t\t\tfinancialImpact: counter[cxGoal?.measureId].financialImpact + cxGoal?.financialImpact ?? 0,\r\n\t\t\t\t\t};\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\tconst avgMeasure = Object.values(counter)?.map((measure) => {\r\n\t\treturn {\r\n\t\t\t...measure,\r\n\t\t\tachieved: (measure?.sumAchieved / measure?.countMeasure).toFixed(1),\r\n\t\t\tnotAchieved: (100 - measure?.sumAchieved / measure?.countMeasure).toFixed(1),\r\n\t\t};\r\n\t});\r\n\treturn avgMeasure; //.slice(0,10);\r\n});\r\n\r\nexport const countMeasuresSelector = createSelector([currentProjectsData, allCxGoals, allMeasures], (currentProjectsData, allCxGoals, allMeasures) => {\r\n\tconst counter = {};\r\n\tcurrentProjectsData?.forEach((project) => {\r\n\t\tproject[\"cxGoalIds\"]?.forEach((linkedId) => {\r\n\t\t\tconst cxGoal = allCxGoals?.find((cxGoal) => linkedId === cxGoal?.id);\r\n\t\t\tconst measure = allMeasures?.find((me) => me.id === cxGoal?.measureId);\r\n\t\t\tif (measure) {\r\n\t\t\t\tif (!counter[cxGoal?.measureId]) {\r\n\t\t\t\t\tcounter[cxGoal?.measureId] = {\r\n\t\t\t\t\t\tname: measure?.name,\r\n\t\t\t\t\t\tvalue: 1,\r\n\t\t\t\t\t};\r\n\t\t\t\t} else\r\n\t\t\t\t\tcounter[cxGoal?.measureId] = {\r\n\t\t\t\t\t\t...counter[cxGoal?.measureId],\r\n\t\t\t\t\t\tvalue: counter[cxGoal?.measureId].value + 1,\r\n\t\t\t\t\t};\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\t//Sort the list\r\n\tconst sortedMeasures = Object.values(counter)?.sort((a, b) => b.value - a.value);\r\n\treturn sortedMeasures.slice(0, 5);\r\n});\r\n\r\nexport const roiPerProject = createSelector([currentProjectsData, allCxGoals, currencySymbol], (currentProjectsData, allCxGoals, currencySymbol) => {\r\n\tconst results = {};\r\n\tcurrentProjectsData?.forEach((project) => {\r\n\t\tproject?.cxGoalIds?.forEach((cxGoalId) => {\r\n\t\t\tconst cxGoal = allCxGoals?.find((g) => g?.id === cxGoalId);\r\n\t\t\tif (!results[project?.id]) {\r\n\t\t\t\tresults[project?.id] = {\r\n\t\t\t\t\tname: project?.name,\r\n\t\t\t\t\tcurrencySymbol,\r\n\t\t\t\t\tvalue: cxGoal?.financialImpact ?? 0,\r\n\t\t\t\t};\r\n\t\t\t} else\r\n\t\t\t\tresults[project?.id] = {\r\n\t\t\t\t\t...results[project?.id],\r\n\t\t\t\t\tvalue: results[project?.id].value + cxGoal?.financialImpact ?? 0,\r\n\t\t\t\t};\r\n\t\t});\r\n\t});\r\n\r\n\t//Sort the list\r\n\tconst sortedProjects = Object.values(results)\r\n\t\t?.filter((item) => item?.value > 0)\r\n\t\t?.sort((a, b) => b.value - a.value);\r\n\treturn sortedProjects.slice(0, 5);\r\n});\r\n\r\nexport const ownerByFinancialImpactSelector = createSelector([currentProjectsData, allCxGoals, allUsers, currencySymbol], (currentProjectsData, allCxGoals, allUsers, currencySymbol) => {\r\n\tconst results = {};\r\n\r\n\tcurrentProjectsData?.forEach((project) => {\r\n\t\tconst nameOwner = allUsers?.find((user) => user?.id === project?.ownerId)?.fullName;\r\n\t\tproject?.cxGoalIds?.forEach((cxGoalId) => {\r\n\t\t\tconst cxGoal = allCxGoals?.find((g) => g?.id === cxGoalId);\r\n\t\t\tif (cxGoal) {\r\n\t\t\t\tif (!results[project?.ownerId]) {\r\n\t\t\t\t\tresults[project?.ownerId] = {\r\n\t\t\t\t\t\tname: nameOwner,\r\n\t\t\t\t\t\tcurrencySymbol,\r\n\t\t\t\t\t\tvalue: cxGoal?.financialImpact ?? 0,\r\n\t\t\t\t\t};\r\n\t\t\t\t} else\r\n\t\t\t\t\tresults[project?.ownerId] = {\r\n\t\t\t\t\t\t...results[project?.ownerId],\r\n\t\t\t\t\t\tvalue: results[project?.ownerId].value + cxGoal?.financialImpact ?? 0,\r\n\t\t\t\t\t};\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\t//Sort the list\r\n\tconst sortedProjects = Object.values(results)?.filter((item) => item?.value > 0)?.sort((a, b) => b.value - a.value);\r\n\treturn sortedProjects?.slice(0, 10);\r\n});\r\n","import EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport CustomTick from \"features/analytics/Components/Ticks/CustomZigZagTick\";\r\nimport TextAndValueTooltip from \"features/analytics/Components/Tooltips/TextAndValueTooltip\";\r\nimport { bigNumberFormatter } from \"features/analytics/analyticsHelper\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Bar, BarChart, ResponsiveContainer, Tooltip, XAxis, YAxis } from \"recharts\";\r\nimport { FlexAlignJustifyCenter } from \"shared/ui-basics/index\";\r\nimport { KpiDataSelector } from \"../roiAnalysisDataSelectors\";\r\n\r\nconst FinancialImpactPerMeasure = () => {\r\n\tconst currencySymbol = useSelector((state) => state?.settings?.organization?.defaultCurrency?.symbol) || \"$\";\r\n\tconst data = useSelector((state) => KpiDataSelector(state))\r\n\t\t?.filter((item) => item?.financialImpact > 0)\r\n\t\t?.sort((a, b) => b.financialImpact - a.financialImpact);\r\n\r\n\tconst CustomTooltip = ({ active, payload, label }) => {\r\n\t\tif (active && payload && payload.length) {\r\n\t\t\tconst value = payload[0].value.toLocaleString() + currencySymbol;\r\n\t\t\treturn ;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data?.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t} height={50} />\r\n bigNumberFormatter({number, currencySymbol})} />\r\n\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\nFinancialImpactPerMeasure.displayName = \"FinancialImpactPerMeasure\";\r\nexport default FinancialImpactPerMeasure;\r\n","import { FlexAlignCenter, FlexAlignJustifyCenter, FlexColumnGap } from \"shared/ui-basics/index\";\r\nimport CustomLegend from \"features/analytics/Components/CustomLegend\";\r\nimport EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport CustomZigZagTick from \"features/analytics/Components/Ticks/CustomZigZagTick\";\r\nimport { ColorCircle, CustomTooltip } from \"features/analytics/Style\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Bar, BarChart, LabelList, Legend, ReferenceLine, ResponsiveContainer, Tooltip, XAxis, YAxis } from \"recharts\";\r\nimport { KpiDataSelector } from \"../roiAnalysisDataSelectors\";\r\n\r\nconst KpiByActual = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst data = useSelector((state) => KpiDataSelector(state))\r\n\t\t.slice(0, 12)\r\n\t\t?.sort((a, b) => b.name - a.name);\r\n\r\n\tconst CustomBarChartLabel = ({ x, y, fill, value }) => {\r\n\t\tconst labelX = x + 30;\r\n\t\tconst labelY = y + 20;\r\n\t\tif (value < 8) return <>;\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{value}%\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst RenderTooltip = ({ active, payload }) => {\r\n\t\tif (active && payload && payload.length) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{payload[0]?.payload?.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{`${t(\"ACHIEVED\")}: ${payload[0]?.value}%`}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{`${t(\"NOT_ACHIEVED\")}: ${payload[1]?.value}%`}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\tconst RenderLegend = () => {\r\n\t\tconst legendData = [\r\n\t\t\t{ color: \"#3B82F6\", name: t(\"ACHIEVED\") + \" (%)\" },\r\n\t\t\t{ color: \"#BFDBFE\", name: t(\"NOT_ACHIEVED\") + \" (%)\" },\r\n\t\t];\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data?.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t} height={50} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\nKpiByActual.displayName = \"KpiByActual\";\r\nexport default KpiByActual;\r\n","import { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { handleAddRenderElement } from \"@utils/helpers\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport Export from \"features/analytics/Components/Export\";\r\nimport FiltersManager from \"features/analytics/Components/Filters/FiltersManager\";\r\nimport HorizontalBarsChart from \"features/analytics/Components/HorizontalBarsChart\";\r\nimport Section from \"features/analytics/Components/Section\";\r\nimport { AnalyticsLogoHeader, Body, BodySection, DashboardContainer, TopSection } from \"features/analytics/Style\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport FinancialImpactPerMeasure from \"./Reports/FinancialImpactPerMeasure\";\r\nimport KpiByActual from \"./Reports/KpiByActual\";\r\nimport { countMeasuresSelector, ownerByFinancialImpactSelector, roiPerProject } from \"./roiAnalysisDataSelectors\";\r\nimport { applyFilterRoiAnalysis } from \"features/analytics/reducer/ROIAnalysis/roiAnalysisActions\";\r\nimport React from \"react\";\r\n\r\nfunction ROIAnalysisReports() {\r\n\tconst { t } = useTranslation();\r\n\tconst pdfRef = React.useRef();\r\n\r\n\tconst filterBy = useSelector((state) => state.analytics?.roiAnalysis?.selectedFilterOptions?.filterBy);\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst logoRefreshValue = useSelector((state) => state.settings.organization?.logoRefreshValue);\r\n\r\n\tconst logoUrl = getterApis[\"GET_ACCOUNT_IMG\"](sessionId, logoRefreshValue);\r\n\r\n\tconst getFiltersToSave = ({ currentEntityData }) => {\r\n\t\treturn {\r\n\t\t\tfilterBy: currentEntityData?.selectedFilterOptions?.filterBy,\r\n\t\t\tcjms: currentEntityData?.selectedFilterOptions?.cjms.map((cjm) => cjm?.id),\r\n\t\t\tprojects: currentEntityData?.selectedFilterOptions?.projects.map((p) => p?.id),\r\n\t\t\tstartDate: currentEntityData?.selectedFilterOptions?.date?.startDate,\r\n\t\t\tendDate: currentEntityData?.selectedFilterOptions?.date?.endDate,\r\n\t\t};\r\n\t};\r\n\r\n\tconst getFilterEntities = () => {\r\n\t\tif (filterBy === \"cjms\") return [\"filterBy\", \"cjms\"];\r\n\t\treturn [\"filterBy\", \"projects\", \"dateRange\"];\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{hideForPdf && }\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{hideForPdf &&
{handleAddRenderElement(3000)}
}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nROIAnalysisReports.displayName = \"ROIAnalysisReports\";\r\nexport default ROIAnalysisReports;\r\n","import { getOrganizationSettings } from \"@redux/index\";\r\nimport { getRoiAnalysisData } from \"features/analytics/reducer/ROIAnalysis/roiAnalysisActions\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport ROIAnalysisReports from \"./ROIAnalysisReports\";\r\n\r\nfunction ROIAnalysisDashboard() {\r\n\tconst isExportMode = useLocation().search.hideForPdf();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nROIAnalysisDashboard.displayName = \"ROIAnalysisDashboard\";\r\nexport default ROIAnalysisDashboard;\r\n","import { FlexAlignCenter } from \"shared/ui-basics/index\";\r\nimport { ColorCircle } from \"features/analytics/Style\";\r\nimport styled from \"styled-components\";\r\n\r\nfunction CustomTooltipById({ payload, allItems }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{payload.map((entry) => {\r\n\t\t\t\tconst entity = allItems?.find((item) => item.id === entry.dataKey);\r\n\t\t\t\tif (entity)\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{`${entity?.name}: ${entry?.value?.toFixed(2)}`}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\r\n\t);\r\n}\r\n\r\nCustomTooltipById.displayName = \"CustomTooltipById\";\r\nexport default CustomTooltipById;\r\n\r\nconst TooltipContainer = styled.div`\r\n\tmax-width: 400px;\r\n\tbackground: #fff;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 1.25rem;\r\n`;\r\n","import { FlexAlignJustifyCenter } from \"shared/ui-basics/index\";\r\nimport EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport { stringToColor } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { CartesianGrid, Legend, Line, LineChart, ResponsiveContainer, Tooltip, XAxis, YAxis } from \"recharts\";\r\nimport CustomLegend from \"../../../Components/CustomLegend\";\r\nimport CustomTooltipById from \"../../../Components/Tooltips/CustomTooltipById\";\r\nimport { TickStyle } from \"features/analytics/Style\";\r\n\r\nfunction CustomLineChart({ dataSelector, entityAttribute, emptyDataText }) {\r\n\tconst allItems = useSelector((state) => state.analytics?.vocAnalysis?.originalData[entityAttribute]);\r\n\tconst data = useSelector(dataSelector);\r\n\r\n\tconst allUniquesIds = new Set();\r\n\tdata.forEach((obj) => {\r\n\t\tObject.keys(obj).forEach((id) => {\r\n\t\t\tif (id !== \"date\") allUniquesIds.add(id);\r\n\t\t});\r\n\t});\r\n\r\n\tconst RenderLegend = (props) => {\r\n\t\tconst { payload } = props;\r\n\t\tconst legendData = [];\r\n\t\tpayload.map((entry) => {\r\n\t\t\tconst entity = allItems.find((item) => item.id === entry.dataKey);\r\n\t\t\tlegendData.push({ color: entry.color, name: entity.name });\r\n\t\t});\r\n\r\n\t\treturn ;\r\n\t};\r\n\r\n\tconst RenderTooltip = ({ active, payload }) => {\r\n\t\tif (active && payload && payload.length) return ;\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\t// ticksCount: number of numbers displayed on Y axis\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t} isAnimationActive={false} />\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{Array.from(allUniquesIds)?.map((id, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nCustomLineChart.displayName = \"CustomLineChart\";\r\nexport default CustomLineChart;\r\n","import { getMonthNumber, isBlanks } from \"features/analytics/analyticsHelper\";\r\nimport { getEmotionLevelData } from \"@utils/helpers\";\r\nimport { createSelector } from \"reselect\";\r\n\r\nconst currentData = (state) => state.analytics?.vocAnalysis?.currentData || {};\r\nconst selectedFilterOptions = (state) => state.analytics?.vocAnalysis?.selectedFilterOptions || [];\r\nconst allTouchpoints = (state) => state.analytics?.vocAnalysis?.originalData?.touchpoints || [];\r\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\r\nexport const topXSentimentByTouchpointDataSelector = createSelector([currentData, selectedFilterOptions], (currentData, selectedFilterOptions) => {\r\n\tconst formatedData = [];\r\n\tselectedFilterOptions?.touchpoints?.forEach((touchpoint) => {\r\n\t\tif (!isBlanks(touchpoint)) {\r\n\t\t\tlet totalContactInteractions = 0;\r\n\t\t\tconst obj = { name: touchpoint.name, personaSentiment: 0, contactSentiment: 0 };\r\n\t\t\tconst relatedPersonaInteractions = currentData?.personaInteractions?.filter((interaction) => interaction?.sentimentLevel && interaction.touchpointId === touchpoint.id);\r\n\t\t\tconst relatedContactInteractions = currentData?.contactInteractions?.filter((interaction) => interaction?.sentimentLevel && interaction.touchpointId === touchpoint.id);\r\n\r\n\t\t\trelatedPersonaInteractions.forEach((interaction) => (obj.personaSentiment += interaction.sentimentLevel));\r\n\t\t\trelatedContactInteractions.forEach((interaction) => {\r\n\t\t\t\tconst { sentimentLevel, numberOfInteractions } = interaction;\r\n\r\n\t\t\t\tobj.contactSentiment += sentimentLevel * numberOfInteractions;\r\n\t\t\t\ttotalContactInteractions += numberOfInteractions;\r\n\t\t\t});\r\n\r\n\t\t\tobj.personaSentiment = obj.personaSentiment / relatedPersonaInteractions.length;\r\n\t\t\tobj.contactSentiment = obj.contactSentiment / totalContactInteractions;\r\n\r\n\t\t\tif (!obj.personaSentiment) obj.personaSentiment = 0;\r\n\t\t\tif (!obj.contactSentiment) obj.contactSentiment = 0;\r\n\r\n\t\t\tformatedData.push(obj);\r\n\t\t}\r\n\t});\r\n\r\n\tif (formatedData.length === 0) return [];\r\n\t// If 1 to 5 items, the chart looks weird so we fill it wih fake data\r\n\tif (formatedData.length < 5) {\r\n\t\tconst toFill = 5 - formatedData.length;\r\n\t\tfor (let i = 0; i < toFill; i++) formatedData.push({ name: \" \".repeat(i * 2), personaSentiment: 0, contactSentiment: 0 });\r\n\t}\r\n\r\n\treturn formatedData?.sort((a, b) => {\r\n\t\tif (a.name < b.name) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\tif (a.name > b.name) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\treturn 0;\r\n\t});\r\n});\r\n\r\nexport const globalSentimentOverTimeDataSelector = createSelector([currentData, allTouchpoints], (currentData, allTouchpoints) => {\r\n\tconst sentimentLevelByMonth = {};\r\n\tconst formatedData = [];\r\n\r\n\tcurrentData?.contactInteractions?.forEach((interaction) => {\r\n\t\tconst { sentimentLevel, numberOfInteractions, touchpointId, date } = interaction;\r\n\t\tconst touchpoint = allTouchpoints.find((tp) => tp?.id === touchpointId);\r\n\t\tconst month = getMonthNumber(new Date(date));\r\n\r\n\t\tif (sentimentLevel && month !== undefined && touchpoint) {\r\n\t\t\tif (!(month in sentimentLevelByMonth)) sentimentLevelByMonth[month] = { totalSentiment: sentimentLevel * numberOfInteractions, totalContactInteractions: numberOfInteractions };\r\n\t\t\telse {\r\n\t\t\t\tconst { totalSentiment, totalContactInteractions } = sentimentLevelByMonth[month];\r\n\t\t\t\tsentimentLevelByMonth[month] = {\r\n\t\t\t\t\ttotalSentiment: totalSentiment + sentimentLevel * numberOfInteractions,\r\n\t\t\t\t\ttotalContactInteractions: totalContactInteractions + numberOfInteractions,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\tconst sentimentLevelByMonthSorted = Object.fromEntries(Object.entries(sentimentLevelByMonth)?.sort((a, b) => a[0] - b[0]));\r\n\r\n\tObject.keys(sentimentLevelByMonthSorted)?.forEach((monthNumber) => {\r\n\t\tformatedData.push({\r\n\t\t\tname: MONTHS[monthNumber],\r\n\t\t\tValue: (sentimentLevelByMonthSorted[monthNumber].totalSentiment / sentimentLevelByMonthSorted[monthNumber].totalContactInteractions).toFixed(2),\r\n\t\t});\r\n\t});\r\n\r\n\treturn formatedData;\r\n});\r\n\r\nexport const sentimentByEntityOverTimeDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\toriginalData: state.analytics?.vocAnalysis?.originalData,\r\n\t\tcurrentData: state.analytics?.vocAnalysis?.currentData,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ originalData, currentData }, props) => {\r\n\t\t// time : value\r\n\t\tconst { entityName, relatedAttributeId } = props;\r\n\t\tconst memory = {};\r\n\t\tconst formatedData = [];\r\n\r\n\t\t// Select the contact interactions depending on the related selected (filtered) entities (personas/metrics)\r\n\t\t// Create a memory object in the following format :\r\n\t\t//{ \"monthNumber1\" : {\r\n\t\t// \"relatedEntity1.id\": { total: averageSentimentLevel, count: n },\r\n\t\t// \"relatedEntity2.id\": { total: averageSentimentLevel, count: n },\r\n\t\t// }\r\n\t\t// \"monthNumber2\" : {...}\r\n\t\t//}\r\n\t\tcurrentData?.contactInteractions?.forEach((interaction) => {\r\n\t\t\tconst { sentimentLevel, numberOfInteractions, touchpointId, date } = interaction;\r\n\t\t\tconst touchpoint = originalData?.touchpoints?.find((tp) => tp.id === touchpointId);\r\n\t\t\tconst monthNumber = getMonthNumber(new Date(date));\r\n\t\t\tconst relatedEntity = originalData[entityName]?.find((entity) => entity.id === interaction[relatedAttributeId]);\r\n\r\n\t\t\tif (sentimentLevel && touchpoint && relatedEntity && monthNumber !== undefined) {\r\n\t\t\t\tif (!(monthNumber in memory))\r\n\t\t\t\t\tmemory[monthNumber] = { [relatedEntity.id]: { name: relatedEntity.name, totalSentiment: sentimentLevel * numberOfInteractions, totalContactInteractions: numberOfInteractions } };\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (!(relatedEntity.id in memory[monthNumber]))\r\n\t\t\t\t\t\tmemory[monthNumber] = {\r\n\t\t\t\t\t\t\t...memory[monthNumber],\r\n\t\t\t\t\t\t\t[relatedEntity.id]: { name: relatedEntity.name, totalSentiment: sentimentLevel * numberOfInteractions, totalContactInteractions: numberOfInteractions },\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tconst { name, totalSentiment, totalContactInteractions } = memory[monthNumber][relatedEntity.id];\r\n\t\t\t\t\t\tmemory[monthNumber] = {\r\n\t\t\t\t\t\t\t...memory[monthNumber],\r\n\t\t\t\t\t\t\t[relatedEntity.id]: {\r\n\t\t\t\t\t\t\t\tname,\r\n\t\t\t\t\t\t\t\ttotalSentiment: totalSentiment + sentimentLevel * numberOfInteractions,\r\n\t\t\t\t\t\t\t\ttotalContactInteractions: totalContactInteractions + numberOfInteractions,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Sort the object by months\r\n\t\tconst sortedMemory = Object.fromEntries(Object.entries(memory)?.sort((a, b) => a[0] - b[0]));\r\n\r\n\t\t// Format the data for the report in the following format:\r\n\t\t// [{date: \"Jan\", entity.name1: sentimentLevel, entity.name2: sentimentLevel}, {date: \"Feb\", entity.name1: sentimentLevel, entity.name2: sentimentLevel}]\r\n\t\tObject.keys(sortedMemory)?.forEach((monthNumber) => {\r\n\t\t\tconst obj = { date: MONTHS[monthNumber] };\r\n\t\t\tObject.keys(sortedMemory[monthNumber])?.forEach((entityId) => {\r\n\t\t\t\tconst { totalSentiment, totalContactInteractions } = memory[monthNumber][entityId];\r\n\t\t\t\tobj[entityId] = totalSentiment / totalContactInteractions;\r\n\t\t\t});\r\n\t\t\tformatedData.push(obj);\r\n\t\t});\r\n\r\n\t\treturn formatedData;\r\n\t}\r\n);\r\n\r\nexport const SentimentGeolocalisationDataSelector = createSelector([currentData], (currentData) => {\r\n\tconst formatedData = [];\r\n\tcurrentData?.contactInteractions?.forEach(({ id, sentimentLevel, gpsLatitude, gpsLongitude }) => {\r\n\t\tif (sentimentLevel) {\r\n\t\t\tconst { backgroundColorSimple } = getEmotionLevelData({ level: sentimentLevel });\r\n\t\t\tif (gpsLatitude && gpsLongitude) formatedData.push({ id, latitude: gpsLatitude, longitude: gpsLongitude, sentimentLevel, fill: backgroundColorSimple });\r\n\t\t}\r\n\t});\r\n\r\n\treturn formatedData;\r\n});\r\n\r\nexport const wordCloudDataSelector = createSelector(\r\n\t(state) => ({\r\n\t\tcurrentData: state.analytics?.vocAnalysis?.currentData,\r\n\t}),\r\n\t(state, props) => props,\r\n\t({ currentData }) => {\r\n\t\tconst memory = {};\r\n\r\n\t\tcurrentData?.contactInteractions?.forEach((interaction) => {\r\n\t\t\tinteraction[\"descriptionWordCloud\"]?.map((wordCloud) => {\r\n\t\t\t\tconst value = wordCloud?.value;\r\n\t\t\t\tconst text = wordCloud?.text?.toLowerCase();\r\n\t\t\t\tif (!memory[text]) memory[text] = value;\r\n\t\t\t\telse memory[text] = memory[text] + value;\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t// Transform the counter into a list\r\n\t\tconst wordCloud = Object.entries(memory)?.map(([text, value]) => ({\r\n\t\t\ttext,\r\n\t\t\tvalue,\r\n\t\t}));\r\n\r\n\t\t// Sort the list\r\n\t\tconst sortedWordCloud = wordCloud?.sort((a, b) => b.value - a.value);\r\n\r\n\t\treturn sortedWordCloud?.slice(0, 50);\r\n\t}\r\n);\r\n","import { FlexAlignJustifyCenter } from \"shared/ui-basics/index\";\r\nimport EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Area, AreaChart, CartesianGrid, ResponsiveContainer, Tooltip, XAxis, YAxis } from \"recharts\";\r\nimport { globalSentimentOverTimeDataSelector } from \"../vocAnalysisDataSelectors\";\r\nimport TextAndValueTooltip from \"features/analytics/Components/Tooltips/TextAndValueTooltip\";\r\nimport { TickStyle } from \"features/analytics/Style\";\r\n\r\nfunction GlobalSentimentOverTime() {\r\n const data = useSelector(globalSentimentOverTimeDataSelector);\r\n\r\n\tconst CustomTooltip = ({ active, payload, label }) => {\r\n\t\tif (active && payload && payload.length) {\r\n\t\t\treturn ;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\t// ticksCount: number of numbers displayed on Y axis\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{data.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t} isAnimationActive={false} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nGlobalSentimentOverTime.displayName = \"GlobalSentimentOverTime\";\r\nexport default GlobalSentimentOverTime;\r\n","import CustomLegend from \"features/analytics/Components/CustomLegend\";\r\nimport EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport { ColorCircle, CustomTooltip } from \"features/analytics/Style\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { PolarAngleAxis, PolarGrid, PolarRadiusAxis, Radar, RadarChart, ResponsiveContainer, Tooltip } from \"recharts\";\r\nimport { FlexAlignCenter, FlexAlignJustifyCenter, FlexColumn } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { topXSentimentByTouchpointDataSelector } from \"../vocAnalysisDataSelectors\";\r\n\r\nfunction SentimentByTouchpoints() {\r\n\tconst { t } = useTranslation();\r\n const data = useSelector(topXSentimentByTouchpointDataSelector);\r\n\r\n\tconst CustomRadialAxisTick = (props) => {\r\n\t\tconst { payload, x, y, textAnchor } = props;\r\n\t\t// Format the axis numbers as needed\r\n\t\tconst formattedValue = payload.value;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{formattedValue}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst RenderLegend = () => {\r\n\t\tconst legendData = [\r\n\t\t\t{ color: \"#A855F7\", name: t(\"JS_148\") },\r\n\t\t\t{ color: \"#14B8A6\", name: t(\"CUSTOMER_SENTIMENT\") },\r\n\t\t];\r\n\t\treturn ;\r\n\t};\r\n\r\n\tconst RenderTooltip = ({ active, payload }) => {\r\n\t\tif (active && payload && payload.length) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{payload[0]?.payload?.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{`${t(\"JS_148\")}: ${payload[0]?.value?.toFixed(2)}`}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{`${t(\"CUSTOMER_SENTIMENT\")}: ${payload[1]?.value?.toFixed(2)}`}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\t// PolarAngleAxis: display names of the touchpoints\r\n\treturn (\r\n <>\r\n {RenderLegend()}\r\n\t\t\t{data.length > 0 ? (\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nSentimentByTouchpoints.displayName = \"SentimentByTouchpoints\";\r\nexport default SentimentByTouchpoints;\r\n\r\nconst CustomResponsiveContainer = styled(ResponsiveContainer)`\r\n`;\r\n","import { getAverageScore } from \"features/analytics/analyticsHelper\";\r\nimport { getEmotionLevelData } from \"@utils/helpers\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components\";\r\nimport { SentimentGeolocalisationDataSelector } from \"../vocAnalysisDataSelectors\";\r\nimport { ColorCircle } from \"features/analytics/Style\";\r\n\r\nconst minRadius = 12;\r\n\r\nfunction SentimentGeolocalization() {\r\n\tconst { t } = useTranslation();\r\n\tconst data = useSelector(SentimentGeolocalisationDataSelector);\r\n\tconst geoMapKey = useSelector((state) => state.settings.organization.geoMapKey);\r\n\tconst [geoMap, setGeoMap] = useState(\"\");\r\n\r\n\t// A pushpin is a single point on the map\r\n\tconst createPushpins = (data) => {\r\n\t\treturn data.map((point) => {\r\n\t\t\tconst customSvg = `\r\n \r\n `;\r\n\t\t\ttry {\r\n\t\t\t\tconst location = new window.Microsoft.Maps.Location(point.latitude, point.longitude);\r\n\t\t\t\tif (location) {\r\n\t\t\t\t\tconst pushpin = new window.Microsoft.Maps.Pushpin(location, {\r\n\t\t\t\t\t\ticon: customSvg,\r\n\t\t\t\t\t\tanchor: new window.Microsoft.Maps.Point(minRadius, minRadius),\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (pushpin) pushpin.sentimentLevel = point.sentimentLevel;\r\n\t\t\t\t\treturn pushpin;\r\n\t\t\t\t}\r\n\t\t\t} catch {\r\n\t\t\t\t// Do nothing\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\t// Here we manage the clustered (grouping) of multiple points\r\n\tfunction createCustomClusteredPin(cluster) {\r\n\t\tconst outlineWidth = 7;\r\n\r\n\t\tconst clusterText = cluster.getText();\r\n\t\tconst clusterSize = cluster.containedPushpins.length;\r\n\t\tconst averageSentimentLevel = getAverageScore({ data: cluster.containedPushpins, scoreAttribute: \"sentimentLevel\" });\r\n\t\tconst { backgroundColorSimple } = getEmotionLevelData({ level: averageSentimentLevel });\r\n\r\n\t\t//Calculate the radius of the cluster based on the number of pushpins in the cluster, using a logarithmic scale.\r\n\t\tconst radius = (Math.log(clusterSize) / Math.log(10)) * 5 + minRadius;\r\n\r\n\t\tconst getDiffValue = () => {\r\n\t\t\tif (clusterSize > 100) return 10;\r\n\t\t\treturn 5;\r\n\t\t};\r\n\r\n\t\t//Create an SVG string of two circles, one on top of the other, with the specified radius and color.\r\n\t\tconst customSvg = `\r\n \r\n \r\n ${clusterText}\r\n `;\r\n\r\n\t\t//Customize the clustered pushpin using the generated SVG and anchor on its center.\r\n\t\t//Subtract 8 to compensate for height of text.\r\n\t\tcluster.setOptions({\r\n\t\t\ticon: customSvg,\r\n\t\t\tanchor: new window.Microsoft.Maps.Point(radius, radius),\r\n\t\t\ttextOffset: new window.Microsoft.Maps.Point(0, radius - 8),\r\n\t\t\ttext: \"\",\r\n\t\t});\r\n\t}\r\n\r\n\tconst getInitialLocation = (data) => {\r\n\t\tlet averageLatitude = 0;\r\n\t\tlet averageLongitude = 0;\r\n\t\tdata.forEach((item) => {\r\n\t\t\taverageLatitude += item.latitude;\r\n\t\t\taverageLongitude += item.longitude;\r\n\t\t});\r\n\t\tif (data?.length > 0) {\r\n\t\t\taverageLatitude /= data.length;\r\n\t\t\taverageLongitude /= data.length;\r\n\t\t}\r\n\t\treturn { averageLatitude, averageLongitude };\r\n\t};\r\n\r\n\tconst loadClusteringModule = (map, data) => {\r\n\t\t//Create a ClusterLayer and add it to the map.\r\n\t\twindow.Microsoft.Maps.loadModule(\"Microsoft.Maps.Clustering\", function () {\r\n\t\t\tconst clusterLayer = new window.Microsoft.Maps.ClusterLayer(createPushpins(data), {\r\n\t\t\t\tclusteredPinCallback: createCustomClusteredPin,\r\n\t\t\t});\r\n\t\t\tmap.layers.insert(clusterLayer);\r\n\t\t});\r\n\t};\r\n\r\n\tconst loadMap = () => {\r\n\t\tconst script = document.createElement(\"script\");\r\n\t\tscript.type = \"text/javascript\";\r\n\t\tscript.src = `https://www.bing.com/api/maps/mapcontrol?callback=initMap&key=${geoMapKey}`;\r\n\t\tscript.async = true;\r\n\t\tscript.defer = true;\r\n\t\tdocument.body.appendChild(script);\r\n\r\n\t\twindow.initMap = () => {\r\n\t\t\tconst { averageLatitude, averageLongitude } = getInitialLocation(data);\r\n\t\t\tconst map = new window.Microsoft.Maps.Map(\"#SentimentGeolocalizationMap\", {\r\n\t\t\t\tcredentials: geoMapKey,\r\n\t\t\t\tcenter: new window.Microsoft.Maps.Location(averageLatitude, averageLongitude),\r\n\t\t\t\tmapTypeId: window.Microsoft.Maps.MapTypeId.road,\r\n\t\t\t\tshowMapTypeSelector: false,\r\n\t\t\t\tzoom: 2,\r\n\t\t\t\tmaxZoom: 8,\r\n\t\t\t});\r\n\t\t\tloadClusteringModule(map, data);\r\n\t\t\tsetGeoMap(map);\r\n\t\t};\r\n\t};\r\n\r\n\tconst updateMap = (data) => {\r\n\t\tgeoMap.layers?.clear();\r\n\t\tloadClusteringModule(geoMap, data);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tloadMap();\r\n\t\treturn () => {\r\n\t\t\tdelete window.initMap;\r\n\t\t};\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [geoMapKey]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (geoMap) updateMap(data);\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [data]);\r\n\r\n\tconst CustomLegend = () => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{[\r\n\t\t\t\t\t{ color: \"#14B8A6\", name: t(\"ASPX_80\") },\r\n\t\t\t\t\t{ color: \"#16A34A\", name: t(\"ASPX_79\") },\r\n\t\t\t\t\t{ color: \"#EAB308\", name: t(\"ASPX_78\") },\r\n\t\t\t\t\t{ color: \"#F97316\", name: t(\"ASPX_77\") },\r\n\t\t\t\t\t{ color: \"#EF4444\", name: t(\"ASPX_76\") },\r\n\t\t\t\t].map((element, index) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{element.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n\r\nSentimentGeolocalization.displayName = \"SentimentGeolocalization\";\r\nexport default SentimentGeolocalization;\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 10px;\r\n\theight: 100%;\r\n`;\r\n\r\nconst Legends = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\tgap: 10px;\r\n`;\r\n\r\nconst LegendContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 5px;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 1.25rem;\r\n`;\r\n","import { Counter } from \"features/analytics/Components/Counter\";\r\nimport Section from \"features/analytics/Components/Section\";\r\nimport { getEmotionData } from \"features/analytics/analyticsHelper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { EMPTY_GUID } from \"utils/helpers\";\r\n\r\nfunction VOCAnalysisCounter() {\r\n\tconst { t } = useTranslation();\r\n const { selectedFilterOptions, currentData } = useSelector((state) => state.analytics?.vocAnalysis);\r\n \r\n\tconst getPersonaSentimentLevel = (interactions) => {\r\n\t\tif (!interactions || interactions?.length === 0) return 0;\r\n\t\tlet total = 0;\r\n\t\tinteractions?.forEach((interaction) => {\r\n\t\t\ttotal += interaction.sentimentLevel;\r\n\t\t});\r\n\t\tconst res = (total / interactions?.length).toFixed(2);\r\n\t\tif (res === 0) return 0;\r\n\t\treturn res;\r\n\t};\r\n\r\n\tconst getContactSentimentLevel = (interactions) => {\r\n\t\tif (!interactions || interactions?.length === 0) return 0;\r\n\r\n\t\tlet totalWeight = 0;\r\n\t\tlet total = 0;\r\n\r\n\t\tinteractions?.forEach((interaction) => {\r\n\t\t\ttotal += interaction.sentimentLevel * interaction?.numberOfInteractions;\r\n\t\t\ttotalWeight += interaction?.numberOfInteractions;\r\n\t\t});\r\n\r\n\t\tconst res = (total / totalWeight).toFixed(2);\r\n\t\tif (res === 0) return 0;\r\n\t\treturn res;\r\n\t};\r\n\r\n\tconst personasLevel = getPersonaSentimentLevel(currentData?.personaInteractions?.filter(int => int?.sentimentLevel) || []);\r\n\tconst customerLevel = getContactSentimentLevel(currentData?.contactInteractions?.filter(int => int?.sentimentLevel) || []);\r\n\r\n\tconst personaEmotionData = getEmotionData({ level: Math.round(personasLevel) });\r\n\tconst customerEmotionData = getEmotionData({ level: Math.round(customerLevel) });\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t opt.id !== EMPTY_GUID)?.length}\r\n\t\t\t\tbackground=\"linear-gradient(178deg, #EFF6FF 1.53%, #FFF 104.23%)\"\r\n\t\t\t\tborder=\"#DBEAFE\"\r\n\t\t\t\ticon=\"BULLSEYES-POINTER\"\r\n\t\t\t\ticonColor=\"#3B82F6\"\r\n\t\t\t/>\r\n\t\t\t opt.id !== EMPTY_GUID)?.length}\r\n\t\t\t\tbackground=\"linear-gradient(180deg, #FFF7ED 0%, #FFF 100%)\"\r\n\t\t\t\tborder=\"#FFEDD5\"\r\n\t\t\t\ticon=\"CHART-LINE-UP-THIN\"\r\n\t\t\t\ticonColor=\"#F97316\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n\r\nVOCAnalysisCounter.displayName = \"VOCAnalysisCounter\";\r\nexport default VOCAnalysisCounter;\r\n","/* eslint-disable no-undef */\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nimport { constructUrl } from \"@utils/helpers\";\r\n\r\nconst BASE_URL = \"api/report/\";\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, headers }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\theaders,\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" });\r\n\r\nexport const getVocAnalysisData = ({ isExportMode }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_VOC_ANALYSIS_DATA\",\r\n\t\tendPoint: constructUrl(\"getDashboardData\", {\r\n\t\t\tdashboardCode: \"vocAnalysis\",\r\n\t\t}),\r\n\t\tparams: { isExportMode },\r\n\t});\r\n\r\nexport const applyFilterVocAnalysis = createAction(\"APPLY_FILTER_VOC_ANALYSIS\");\r\n","import { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { handleAddRenderElement } from \"@utils/helpers\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport CustomWordCloud from \"features/analytics/Components/CustomWordCloud\";\r\nimport Export from \"features/analytics/Components/Export\";\r\nimport FiltersManager from \"features/analytics/Components/Filters/FiltersManager\";\r\nimport Section from \"features/analytics/Components/Section\";\r\nimport { AnalyticsLogoHeader, Body, BodySection, DashboardContainer, TopSection } from \"features/analytics/Style\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport CustomLineChart from \"./Reports/CustomLineChart\";\r\nimport GlobalSentimentOverTime from \"./Reports/GlobalSentimentOverTime\";\r\nimport SentimentByTouchpoints from \"./Reports/SentimentByTouchpoints\";\r\nimport SentimentGeolocalization from \"./Reports/SentimentGeolocalization\";\r\nimport VOCAnalysisCounter from \"./Reports/VOCAnalysisCounter\";\r\nimport { sentimentByEntityOverTimeDataSelector, wordCloudDataSelector } from \"./vocAnalysisDataSelectors\";\r\nimport { applyFilterVocAnalysis } from \"features/analytics/reducer/VoCAnalysis/vocAnalysisActions\";\r\nimport React from \"react\";\r\n\r\nfunction VoCAnalysisReports() {\r\n\tconst { t } = useTranslation();\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst logoRefreshValue = useSelector((state) => state.settings.organization?.logoRefreshValue);\r\n\r\n\tconst logoUrl = getterApis[\"GET_ACCOUNT_IMG\"](sessionId, logoRefreshValue);\r\n\tconst pdfRef = React.useRef();\r\n\r\n\tconst getFiltersToSave = ({ currentEntityData }) => {\r\n\t\treturn {\r\n\t\t\tcjms: currentEntityData?.selectedFilterOptions?.cjms?.map((j) => j?.id),\r\n\t\t\tpersonas: currentEntityData?.selectedFilterOptions?.personas?.map((p) => p?.id),\r\n\t\t\ttouchpoints: currentEntityData?.selectedFilterOptions?.touchpoints?.map((t) => t?.id),\r\n\t\t\tmetrics: currentEntityData?.selectedFilterOptions?.metrics?.map((m) => m?.id),\r\n\t\t\tdate: currentEntityData?.selectedFilterOptions?.date ? currentEntityData?.selectedFilterOptions?.date : new Date(),\r\n\t\t\tcontactInteractions: currentEntityData?.currentData?.contactInteractions?.map((ci) => ci?.id),\r\n\t\t\tpersonaInteractions: currentEntityData?.currentData?.personaInteractions?.map((pi) => pi?.id),\r\n\t\t};\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{hideForPdf && }\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t sentimentByEntityOverTimeDataSelector(state, { entityName: \"personas\", relatedAttributeId: \"personaId\" })}\r\n\t\t\t\t\t\t\tentityAttribute=\"personas\"\r\n\t\t\t\t\t\t\temptyDataText=\"CUSTOMER_SENTIMENT_BY_PERSONA_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t wordCloudDataSelector(state)}\r\n\t\t\t\t\t\t\tcolorPalette={[\"#3B82F6\", \"#14B8A6\", \"#A855F7\"]}\r\n\t\t\t\t\t\t\temptyDataText=\"FEEDBACK_WORD_CLOUD_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t sentimentByEntityOverTimeDataSelector(state, { entityName: \"metrics\", relatedAttributeId: \"metricId\" })}\r\n\t\t\t\t\t\t\tentityAttribute=\"metrics\"\r\n\t\t\t\t\t\t\temptyDataText=\"METRICS_OVER_TIME_REPORT_DESCRIPTION\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{hideForPdf &&
{handleAddRenderElement(3000)}
}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nVoCAnalysisReports.displayName = \"VoCAnalysisReports\";\r\nexport default VoCAnalysisReports;\r\n","import { useLocation } from \"react-router-dom\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport VoCAnalysisReports from \"./VoCAnalysisReports\";\r\nimport { getVocAnalysisData } from \"features/analytics/reducer/VoCAnalysis/vocAnalysisActions\";\r\n\r\nfunction VoCAnalysisDashboard() {\r\n\tconst isExportMode = useLocation().search.hideForPdf();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nVoCAnalysisDashboard.displayName = \"VoCAnalysisDashboard\";\r\nexport default VoCAnalysisDashboard;\r\n","import { getAnalyticsFilters } from \"@redux/index\";\r\nimport { useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport styled from \"styled-components\";\r\nimport { RelativeWrapper } from \"../Style\";\r\nimport JourneyTrendsDashboard from \"./JourneyTrends/JourneyTrendsDashboard\";\r\nimport ROIAnalysisDashboard from \"./ROIAnalysis/ROIAnalysisDashboard\";\r\nimport VoCAnalysisDashboard from \"./VoCAnalysis/VoCAnalysisDashboard\";\r\n\r\nfunction Analytics(props) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst { search } = useLocation();\r\n\tconst isExportMode = search.hideForPdf();\r\n\tconst filtersId = search.getFiltersId();\r\n\tconst tabName = props.tabName || search.getTabName()?.tab || \"journeytrends\";\r\n\r\n\tconst [tabKey, setTabKey] = useState(tabName);\r\n\r\n\tconst handleChangeTab = (k) => {\r\n\t\tsetTabKey(k);\r\n\t\thistory.push(`/analytics?tab=${k}`);\r\n\t};\r\n\r\n\tif (isExportMode) {\r\n\t\tconst getDashboard = () => {\r\n\t\t\tswitch (tabName) {\r\n\t\t\t\tcase \"vocanalysis\":\r\n\t\t\t\t\treturn ;\r\n\t\t\t\tcase \"roianalysis\":\r\n\t\t\t\t\treturn ;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn {getDashboard()};\r\n\t}\r\n\r\n\treturn (\r\n \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nAnalytics.displayName = \"Analytics\";\r\nexport default Analytics;\r\n\r\nconst PageContainer = styled.div`\r\n\theight: 100%;\r\n`;\r\n\r\nconst CustomTabs = styled(Tabs)`\r\n\tborder: none !important;\r\n padding-left: 5rem;\r\n padding-right: 5rem;\r\n`;\r\n","import { GenericButton } from \"shared/ui-basics/index\";\r\nimport React,{ useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from 'react-toastify';\r\nimport { Input, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { addInteraction } from \"features/index\";\r\n\r\n const CopyInteractionModal = ({ isOpen, onClose, interaction }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst { cjmIdStr, personaIdStr } = useLocation().search.getAllMapsParams();\r\n\tconst stages = useSelector((state) => state.maps.current_map.cjmStagesData);\r\n\r\n\tconst [selectedStage, setSelectedStage] = useState([]);\r\n\r\n\tconst handleClick = (e) => {\r\n\t\tconst id = e.currentTarget.id;\r\n\t\tif (selectedStage.includes(id)) {\r\n\t\t\tsetSelectedStage(selectedStage.filter((item) => item !== id));\r\n\t\t} else {\r\n\t\t\tsetSelectedStage([...selectedStage, id]);\r\n\t\t}\r\n\t};\r\n\r\n\tconst Save = () => {\r\n\t\t// const id = toast(\"Saving...\", { autoClose: false });\r\n\r\n\t\tselectedStage.forEach((stageId, i) => {\r\n\t\t\tconst copyInteraction = JSON.parse(JSON.stringify(interaction));\r\n\t\t\tcopyInteraction.stageId = stageId;\r\n\t\t\tconst lastElement = i == selectedStage.length - 1;\r\n\t\t\taddInteraction({ interaction: copyInteraction, cjmIdStr, personaIdStr, lastElement});\r\n\t\t});\r\n\r\n\t\tonClose();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
{t(\"COPY_INTERACTION\")}
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
{t(\"COPY_INTERACTION_TITLE\")}
\r\n\t\t\t\t{stages.map((stage, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{stage.name === \"\" ? \"New Stage\" : stage.name}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ASPX_83\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default CopyInteractionModal;\r\nconst ModalWindowMedium = styled(Modal)`\r\n\twidth: 40%;\r\n`;\r\nconst ModalHeaderSmallTitle = styled(ModalHeader)`\r\n\tfont-weight: normal;\r\n`;\r\nconst StageButton = styled.div`\r\n\tmargin: 5px;\r\n\tmin-height: 40px;\r\n\twidth: 75%;\r\n\talign-self: center;\r\n\tborder-radius: 2px;\r\n\tfont-weight: 500;\r\n\ttext-align: start;\r\n\tpadding: 0px 10px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: start;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n\t.form-check-input:checked {\r\n\t\tbackground-color: #333333;\r\n\t\tborder-color: #333333;\r\n\t}\r\n\t.form-check-input:focus {\r\n\t\tbox-shadow: none;\r\n\t}\r\n\t.form-check-input {\r\n\t\twidth: 16px;\r\n\t\theight: 16px;\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t\tborder-radius: 4px;\r\n\t\tbackground-color: #fff;\r\n\t\tborder: 1px solid #c4c4c4;\r\n\t\tcursor: pointer;\r\n\t}\r\n\t&:hover {\r\n\t\topacity: 0.8;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.active &&\r\n\t\tcss`\r\n\t\t\tborder: 1px solid #f96209;\r\n\t\t\tbackground: #fff;\r\n\t\t`}\r\n\t${(props) => (props.disabled ? \"background-color: #f1f1f1; opacity:0.5; cursor: not-allowed\" : \"cursor: pointer\")}\r\n`;\r\n","import { PermissionManager } from \"@utils/permissionManager\";\r\nimport { getCjmInteractionById, linkInteraction, unlinkInteraction, updateInteraction } from \"features/journey-map/reducer/CJMActions\";\r\nimport PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getInteractionSelector } from \"redux/memoizedSelectors\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport Header from \"shared/cx-components/header\";\r\nimport { Descriptions, HeaderTouchpoints, PropertyManager, RelationManager } from \"./components/index\";\r\nimport { Body, OffcanvasLayout } from \"./personaInteractions_style\";\r\n\r\nfunction EditInteraction({ isOpen, onClose, ...props }) {\r\n\tconst { stageId } = props;\r\n\tconst { cjmIdStr, personaIdStr } = useLocation().search.getAllMapsParams();\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst userAccess = useSelector((state) => state?.maps?.currentUser?.roleName);\r\n\tconst current_user = useSelector((state) => state.maps.currentUser);\r\n\r\n\tconst { editAllowed } = PermissionManager({ userAccess });\r\n\tconst isEditable = !isReadOnly && editAllowed;\r\n\tconst mode = isEditable ? \"edit\" : \"viewer\";\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\r\n\tconst isEnterprise = subscriptionPlan?.toLowerCase() === \"enterprise\";\r\n\tconst isSharedEnterprise = subscriptionPlan?.toLowerCase() === \"sharedenterprise\";\r\n\tconst [currentItemId, updateCurrentItem] = React.useState(props.interaction?.id);\r\n\tconst stagesInteractionsIds = useSelector(getInteractionSelector(personaIdStr, stageId)).map(interact => interact.id);\r\n\tconst interaction = useSelector(getInteractionSelector(personaIdStr, stageId, currentItemId));\r\n\tconst { channelId } = interaction || {};\r\n\tconst updateFunction = (props) => {\r\n\t\tupdateInteraction({\r\n\t\t\t...props,\r\n\t\t\tinteraction: props.item,\r\n\t\t\tcjmIdStr,\r\n\t\t\tpersonaIdStr,\r\n\t\t\tmodifiedBy: current_user?.fullName,\r\n\t\t\tstageId\r\n\t\t});\r\n\t};\r\n\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!cjmIdStr || !personaIdStr) {\r\n\t\t\t// means we got redirected to another page\r\n\t\t\treturn () => {\r\n\t\t\t\tonClose();\r\n\t\t\t};\r\n\t\t}\r\n\t}, [cjmIdStr, personaIdStr]);\r\n\tconst testArray = {\r\n\t\tdisplayed: [\"persona\", \"sentiment\", 'group'],\r\n\t\textra: [\"systems\", \"departments\", \"linkedTouchpoints\"],\r\n\t};\r\n\tconst defaultRows = interaction?.jsonProperty\r\n\t\t? analyzeJSONproperty(interaction?.jsonProperty, (isEnterprise || isSharedEnterprise))\r\n\t\t: {\r\n\t\t\tdisplayed: [\"persona\", \"sentiment\", ...(isEnterprise || isSharedEnterprise ? [\"mainRoute\", \"alternativeRoute\"] : [])],\r\n\t\t\textra: [\"systems\", \"departments\", \"linkedTouchpoints\"],\r\n\t\t};\r\n\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{channelId && }\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst analyzeJSONproperty = (jsonProperty, allowMain) => {\r\n\ttry {\r\n\t\tconst parsedJson = JSON.parse(jsonProperty);\r\n\r\n\t\tif (!Array.isArray(parsedJson.displayed)) {\r\n\t\t\tparsedJson.displayed = [];\r\n\t\t}\r\n\r\n\t\tif (allowMain) {\r\n\t\t\tconst hasMainRoute = parsedJson.displayed.includes(\"mainRoute\");\r\n\t\t\tconst hasAlternativeRoute = parsedJson.displayed.includes(\"alternativeRoute\");\r\n\r\n\t\t\t// If at least one of them is missing, ensure both are added\r\n\t\t\tif (!hasMainRoute || !hasAlternativeRoute) {\r\n\t\t\t\tconst sentimentIndex = parsedJson.displayed.indexOf(\"sentiment\");\r\n\r\n\t\t\t\tif (sentimentIndex !== -1) {\r\n\t\t\t\t\t// Insert missing routes after \"sentiment\"\r\n\t\t\t\t\tconst newItems = [];\r\n\t\t\t\t\tif (!hasMainRoute) newItems.push(\"mainRoute\");\r\n\t\t\t\t\tif (!hasAlternativeRoute) newItems.push(\"alternativeRoute\");\r\n\r\n\t\t\t\t\tparsedJson.displayed = [\r\n\t\t\t\t\t\t...parsedJson.displayed.slice(0, sentimentIndex + 1),\r\n\t\t\t\t\t\t...newItems,\r\n\t\t\t\t\t\t...parsedJson.displayed.slice(sentimentIndex + 1),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Append missing routes at the end\r\n\t\t\t\t\tif (!hasMainRoute) parsedJson.displayed.push(\"mainRoute\");\r\n\t\t\t\t\tif (!hasAlternativeRoute) parsedJson.displayed.push(\"alternativeRoute\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn parsedJson;\r\n\t} catch (error) {\r\n\t\tconsole.error(\"Invalid JSON:\", error);\r\n\t\treturn null; // or handle error as needed\r\n\t}\r\n};\r\n\r\n\r\nEditInteraction.displayName = \"EditInteraction\";\r\n\r\nEditInteraction.propTypes = {\r\n\tisOpen: PropTypes.bool,\r\n\tonClose: PropTypes.func,\r\n\tinteraction: PropTypes.object,\r\n\tstageId: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(EditInteraction);\r\n","import { genericService } from \"shared/GenericService\";\r\n\r\nexport { default as JourneyMapList } from \"./journey-map/view/journey-map-list\";\r\nexport { default as JourneyMapCreation } from \"features/journey-map/view/journey-map-creation\";\r\nexport { default as Authentication } from \"features/auth/view/authenticate-cemantica\";\r\nexport { default as InvalidPage } from \"features/auth/view/inavalid-page\";\r\nexport { default as Authenticate } from \"features/auth/view/authenticate-microsoft\";\r\nexport { default as Logout } from \"features/auth/view/log-out-page\";\r\nexport { default as LoginPage } from \"features/auth/view/login-page\";\r\nexport { default as CxActions } from \"features/cx-actions/view/cx-actions-list\";\r\nexport { default as Solutions } from \"features/solutions/view/solutions-list\";\r\nexport { default as CxAssessmentPage } from \"features/cx-assessements/view/cx-assessements-page\";\r\nexport { default as Opportunity } from \"features/opportunity/view/opportunity-list\";\r\nexport { default as MapHierarchyView } from \"features/journey-map/view/journey-map-hierarchy-view\";\r\nexport { default as CXProgram } from \"features/forms/cx-programs/view/cxprogram-list\";\r\nexport { default as PersonaCreationWizard } from \"features/forms/personas/view/persona-creation\";\r\nexport { default as Personas } from \"features/forms/personas/view/persona-list\";\r\nexport { default as Home } from \"features/home/view/home-page.jsx\";\r\nexport { default as Insights } from \"features/insights/view/Insights\";\r\n\r\nexport { default as ProjectPage } from \"features/projects/view/project-page\";\r\nexport { default as Projects } from \"features/projects/view/project-list\";\r\nexport { Search } from \"features/search/view/search-page\";\r\nexport { default as BrandValues } from \"features/library/view/library-brand-value\";\r\nexport { default as CustomLibrary } from \"features/library/view/library-custom/CustomLibrary\";\r\nexport { Measures } from \"features/library/view/library-measure\";\r\nexport { default as Stickers } from \"features/library/view/library-stickers\";\r\nexport { default as TouchPoints } from \"features/library/view/library-touchpoints\";\r\nexport { default as Libraries } from \"features/library/view/library-list\";\r\nexport { default as CustomizationPage } from \"features/taxonomy/views/taxonomy-page\";\r\n\r\nexport { default as Users } from \"features/settings/manage-users/view/users\";\r\nexport { default as EditUser } from \"features/settings/manage-users/view/edit-user\";\r\nexport { default as ManageTeams } from \"features/settings/manage-users/view/manage-teams\";\r\nexport { default as ManageOwnership } from \"features/settings/manage-users/view/manage-ownership\";\r\nexport { default as Organization } from \"features/settings/view/settings-organization\";\r\nexport { default as Configuration } from \"features/settings/view/settings-configurations\";\r\nexport { default as Templates } from \"features/settings/view/settings-template\";\r\nexport { default as WorkspacesList } from \"features/workspace/view/workspaces-list\";\r\nexport { default as WorkspaceInvalidPage } from \"features/workspace/view/workspace-invalid-page\";\r\nexport { default as WorkspaceForm } from \"features/workspace/view/workspace-form/workspace-form\";\r\nexport { IntegrationList } from \"features/integrations/view/Integration-list\";\r\nexport { default as IntegrationForm } from \"features/integrations/view/Integration-form\";\r\nexport { default as IntegrationCard } from \"features/integrations/view/Integration-card\";\r\n\r\nexport { Archive, TrashBin } from \"features/inactive/view/inactive\";\r\nexport { default as Analytics } from \"features/analytics/view/analytics\";\r\n\r\nexport * from \"./journey-map/modals/MapVersions/MapVersionsHistory\";\r\nexport * from \"./journey-map/modals/SwimlaneDetails/SwimlaneDetailsCanvas\";\r\n//Interaction Modal\r\nexport { default as CopyInteractionModal } from \"./journey-map/modals/PersonaInteractions/CopyInteractionModal.jsx\"; // jsx files\r\nexport { default as EditInteraction } from \"./journey-map/modals/PersonaInteractions/EditInteraction.jsx\"; // jsx files\r\nexport { default as EditInsights } from \"./insights/modals/EditInsights.jsx\"; // jsx files\r\n\r\n// those ones stays here\r\nexport * from \"./journey-map/reducer/CJMActions\";\r\nexport * from \"./journey-map/reducer/IconService\";\r\nexport * from \"./search/reducer/QueryAction\";\r\n\r\n// left one to merge with actions\r\nexport * from \"./forms/cx-strategy/reducer/StrategyService\";\r\nexport const getNotifs = () => {\r\n\treturn {\r\n\t\ttype: \"GET_NOTIFICATIONS\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/notif/getMyLast30\",\r\n\t\t\tmethod: \"GET\",\r\n\t\t},\r\n\t};\r\n};\r\nexport const dismissNotifs = ({ notificationIds }) => {\r\n\treturn {\r\n\t\ttype: \"DISMISS_NOTIFICATIONS\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/notif/dismiss\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tnotificationIds: notificationIds,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const updateStatusNotifs = ({ seen, notificationId }) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_STATUS_NOTIFICATION\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/notif/updateStatus\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tseen: seen,\r\n\t\t\t\tnotificationId: notificationId,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const getNotifications = (props) => genericService({ ...props, action: getNotifs });\r\n\r\nexport const dismissNotifications = (props) => genericService({ ...props, action: dismissNotifs });\r\n\r\nexport const updateStatusNotification = (props) => genericService({ ...props, action: updateStatusNotifs });\r\n","import { Calendar } from \"primereact/calendar\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport { Toolbar } from \"primereact/toolbar\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { useState } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { Range } from \"react-range\";\r\nimport { Resizable } from \"react-resizable\";\r\nimport { Input } from \"shared/ui-basics/input\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const dateFilterTemplate = (options) => {\r\n\tconst handleChange = (e) => {\r\n\t\toptions.filterCallback(e.value, options.index);\r\n\t};\r\n\treturn ;\r\n};\r\nconst formatDate = (value, type, overflow = \"overflow-hidden\") => {\r\n\tif (!value) return null;\r\n\tif (type === \"action\") {\r\n\t\tconst date = new Date(value);\r\n\t\treturn date.toLocaleDateString(\"en-US\", {\r\n\t\t\tmonth: \"short\",\r\n\t\t\tday: \"2-digit\",\r\n\t\t\tyear: \"numeric\",\r\n\t\t\thour12: false,\r\n\t\t});\r\n\t}\r\n\tconst date = new Date(value);\r\n\tconst displayedDate = date.toLocaleDateString(\"en-US\", {\r\n\t\tmonth: \"short\",\r\n\t\tday: \"2-digit\",\r\n\t\tyear: \"numeric\",\r\n\t\thour: \"numeric\",\r\n\t\tminute: \"numeric\",\r\n\t\thour12: false,\r\n\t});\r\n\treturn
{displayedDate}
;\r\n};\r\n\r\nexport const dateBodyTemplate = (date, type, overflow) => {\r\n\treturn formatDate(date, type, overflow);\r\n};\r\nexport const PaginatorTemplate1 = ({ setFirst, currentPage, setCurrentPage }) => {\r\n\tconst [pageInputTooltip, setPageInputTooltip] = useState(\"Press 'Enter' key to go to this page.\");\r\n\r\n\tconst onPageInputKeyDown = (event, options) => {\r\n\t\tif (event.key === \"Enter\") {\r\n\t\t\tconst page = parseInt(currentPage);\r\n\t\t\tif (page < 1 || page > options.totalPages) {\r\n\t\t\t\tsetPageInputTooltip(`Value must be between 1 and ${options.totalPages}.`);\r\n\t\t\t} else {\r\n\t\t\t\tconst first = currentPage ? options.rows * (page - 1) : 0;\r\n\r\n\t\t\t\tsetFirst(first);\r\n\t\t\t\tsetPageInputTooltip(\"Press 'Enter' key to go to this page.\");\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tconst onPageInputChange = (event) => {\r\n\t\tsetCurrentPage(event.target.value);\r\n\t};\r\n\r\n\treturn {\r\n\t\tlayout: \"PrevPageLink PageLinks NextPageLink RowsPerPageDropdown CurrentPageReport\",\r\n\t\tPrevPageLink: (options) => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t\tNextPageLink: (options) => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t\tPageLinks: (options) => {\r\n\t\t\tif ((options.view.startPage === options.page && options.view.startPage !== 0) || (options.view.endPage === options.page && options.page + 1 !== options.totalPages)) {\r\n\t\t\t\tconst className = classNames(options.className, { \"p-disabled\": true });\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t...\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t\tRowsPerPageDropdown: (options) => {\r\n\t\t\tconst dropdownOptions = [\r\n\t\t\t\t{ label: 10, value: 10 },\r\n\t\t\t\t{ label: 20, value: 20 },\r\n\t\t\t\t{ label: 50, value: 50 },\r\n\t\t\t\t{ label: \"All\", value: options.totalRecords },\r\n\t\t\t];\r\n\r\n\t\t\treturn ;\r\n\t\t},\r\n\t\tCurrentPageReport: (options) => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\tGo to onPageInputKeyDown(e, options)} onChange={onPageInputChange} />\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t};\r\n};\r\nexport const onCustomPage = (event, setCurrentPage, setRows, setFirst) => {\r\n\tsetFirst(event.first);\r\n\tsetRows(event.rows);\r\n\tsetCurrentPage(event.page + 1);\r\n};\r\n\r\nexport const PickListMultipleTemplate = (options, list, placeholder) => {\r\n\tconst update = (e) => {\r\n\t\toptions.filterCallback(e.value);\r\n\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const SolutionTypeFilter = (options, list) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t options.filterCallback(e.value)}\r\n\t\t\t\toptionLabel=\"name\"\r\n\t\t\t\tplaceholder=\"Any\"\r\n\t\t\t\tclassName=\"p-column-filter\"\r\n\t\t\t/>\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const GenericFilter = (options, list) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t options.filterCallback(e.value)}\r\n\t\t\t\toptionLabel=\"name\"\r\n\t\t\t\tplaceholder=\"Any\"\r\n\t\t\t\tclassName=\"p-column-filter\"\r\n\t\t\t/>\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const ResizableColumn = (props) => {\r\n\tconst { onResize, ...restProps } = props;\r\n\r\n\treturn (\r\n\t\t} onResize={onResize} draggableOpts={{ enableUserSelectHack: false }}>\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\nexport const PickListSingleFilterTemplate = (options, list, placeholder) => {\r\n\tconst handleChange = (e) => {\r\n\t\toptions.filterCallback(e.value);\r\n\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nconst dropDownItemTemplate = (option) => {\r\n\treturn {option.name};\r\n};\r\nconst DropDownContainer = styled.div`\r\n\tmax-width: 300px;\r\n`;\r\nconst NameItem = styled.div`\r\n\twhite-space: normal;\r\n\r\n\tcolor: #333333;\r\n\tmax-width: 200px;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\toverflow: hidden;\r\n\twidth: 150px;\r\n`;\r\n\r\nexport const FloatingToolbar = (props) => {\r\n\treturn ReactDOM.createPortal( , document.body);\r\n};\r\nconst FloatingToolbars = styled(Toolbar)`\r\n\tposition: fixed !important;\r\n\ttop: 87%;\r\n\tz-index: 500;\r\n\tleft: 50%;\r\n\ttransform: translate(-50%, -50%);\r\n\tborder-radius: 6px;\r\n\tpadding: 0rem;\r\n\tbackground: #333333;\r\n\tborder: 1px solid #c4c4c4;\r\n\tbox-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\r\n\theight: 72px;\r\n\tmin-width: 960px;\r\n\twidth: max-content;\r\n\tcolor: #ffffff;\r\n\t.p-toolbar-group-right {\r\n\t\twidth: 100%;\r\n\t\theight: inherit;\r\n\t\talign-items: center;\r\n\t}\r\n`;\r\n\r\nexport const ActivityFilterTemplate = (options) => {\r\n\tconst range=options?.value??[0,5];\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t {\r\n\t\t\t\t\t\toptions.filterCallback(values);\r\n\t\t\t\t\t}}\r\n\t\t\t\t\trenderTrack={({ props, children }) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{children}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\trenderThumb={({ props }) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t/>\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{range ? range[0] : 0}\r\n\t\t\t\t{range ? range[1] : 5}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\nexport const balanceFilterTemplate = (options) => {\r\n\treturn options.filterCallback(e.target.value, options.index)} />;\r\n};\r\n","import { resetRequests } from \"@redux-requests/core\";\r\nimport { getAllActiveWorkspaces } from \"@redux/memoizedSelectors\";\r\nimport { encode } from \"@utils/helpers\";\r\nimport { UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport axios from \"axios\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport $ from \"jquery\";\r\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { toast } from \"react-toastify\";\r\nimport { insertRecentWork } from \"../../features/settings/reducer/UserActions\";\r\nimport { useItem } from \"shared/dynamic-imports\";\r\n\r\nexport const useClickOutside = (ref, handler, authorizedClasses = [], unauthorizedClasses = []) => {\r\n\tuseEffect(() => {\r\n\t\tconst listener = (event) => {\r\n\t\t\t//console.log(\"event\", event.target.className);\r\n\t\t\t// Check if the click is outside the ref element\r\n\t\t\tif (!ref.current) {\r\n\t\t\t\t// console.log(\"Ref is not defined\",ref);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (ref?.current?.contains(event.target)) {\r\n\t\t\t\t// console.log(\"Clicked inside the ref element\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (authorizedClasses?.some((name) => typeof event.target.className === \"string\" && event.target.className.startsWith(name))) {\r\n\t\t\t\t// console.log(\"Clicked inside an authorized class\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\thandler(event);\r\n\t\t};\r\n\t\tdocument.addEventListener(\"mousedown\", listener);\r\n\t\tdocument.addEventListener(\"touchstart\", listener);\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener(\"mousedown\", listener);\r\n\t\t\tdocument.removeEventListener(\"touchstart\", listener);\r\n\t\t};\r\n\t}, [ref, handler]);\r\n};\r\n\r\nexport const useClickOutsides = (handler, authorizedClasses) => {\r\n\tconst ref = useRef(null);\r\n\tuseEffect(() => {\r\n\t\tconst listener = (event) => {\r\n\t\t\tif (!ref.current || ref.current?.contains(event.target) || (typeof event.target.className === \"string\" && authorizedClasses?.some((name) => event.target.className?.startsWith(name)))) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\thandler(event);\r\n\t\t};\r\n\t\tdocument.addEventListener(\"mousedown\", listener);\r\n\t\tdocument.addEventListener(\"touchstart\", listener);\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener(\"mousedown\", listener);\r\n\t\t\tdocument.removeEventListener(\"touchstart\", listener);\r\n\t\t};\r\n\t}, [ref, handler]);\r\n\treturn ref;\r\n};\r\n\r\nexport const useDoubleClickOutside = (callback) => {\r\n\tconst ref = React.useRef();\r\n\r\n\tReact.useEffect(() => {\r\n\t\tconst handleClick = (event) => {\r\n\t\t\tif (ref.current && !ref.current.contains(event.target)) {\r\n\t\t\t\tcallback(event);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tdocument.addEventListener(\"click\", handleClick, true);\r\n\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener(\"click\", handleClick, true);\r\n\t\t};\r\n\t}, [ref]);\r\n\r\n\treturn ref;\r\n};\r\n\r\nexport function useAsync({ asyncFn, onSuccess = null, loading = null, parameter = null, reset = null }) {\r\n\tconst dispatch = useDispatch();\r\n\tuseEffect(() => {\r\n\t\tlet isActive = true;\r\n\t\tloading !== null && loading(true);\r\n\t\tasyncFn !== null &&\r\n\t\t\tdispatch(asyncFn(parameter))\r\n\t\t\t\t?.then((data) => {\r\n\t\t\t\t\tif (isActive) {\r\n\t\t\t\t\t\tonSuccess !== null && onSuccess(data);\r\n\t\t\t\t\t\tloading !== null && loading(false);\r\n\t\t\t\t\t\t// toast.success(\"Successfully mounted\")\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//console.log(\"aborted setState on unmounted component\")\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tloading !== null && isActive && loading(false);\r\n\t\t\t\t\ttoast.error(error.response);\r\n\t\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tisActive = false;\r\n\t\t\tresetRequests();\r\n\t\t\treset !== null && dispatch(reset());\r\n\t\t};\r\n\t}, [asyncFn, onSuccess]);\r\n}\r\n\r\nexport function useAsyncs({ asyncFns = [], setLoading, handleSuccess, resets = null }) {\r\n\tconst dispatch = useDispatch();\r\n\r\n\tuseEffect(() => {\r\n\t\t// Array to hold abort controllers for each async operation\r\n\t\tconst abortControllers = asyncFns.map(() => new AbortController());\r\n\t\tlet isMounted = true;\r\n\r\n\t\tif (asyncFns.length > 0) {\r\n\t\t\tsetLoading && setLoading(true);\r\n\r\n\t\t\tconst promises = asyncFns.map(({ asyncFn, parameter, Fn }, index) => {\r\n\t\t\t\t// Pass the abort signal if the function supports cancellation\r\n\t\t\t\tconst controller = abortControllers[index];\r\n\t\t\t\tif (Fn !== undefined) {\r\n\t\t\t\t\treturn Fn(parameter, controller.signal);\r\n\t\t\t\t} else if (asyncFn) {\r\n\t\t\t\t\treturn dispatch(asyncFn(parameter, controller.signal));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tPromise.all(promises)\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tif (isMounted) {\r\n\t\t\t\t\t\tsetLoading && setLoading(false);\r\n\t\t\t\t\t\thandleSuccess && handleSuccess();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\t// Handle errors; if the error is due to abortion, you might choose to ignore it.\r\n\t\t\t\t\tif (isMounted) {\r\n\t\t\t\t\t\tsetLoading && setLoading(false);\r\n\t\t\t\t\t\ttoast.error(error.response || error.message);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn () => {\r\n\t\t\t// Mark component as unmounted\r\n\t\t\tisMounted = false;\r\n\t\t\t// Abort all ongoing asynchronous operations\r\n\t\t\tabortControllers.forEach((controller) => controller.abort());\r\n\r\n\t\t\tif (resets !== null) {\r\n\t\t\t\tconst resetPromises = resets.map((fn) => fn && dispatch(fn()));\r\n\t\t\t\tPromise.all(resetPromises);\r\n\t\t\t}\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn null;\r\n}\r\n\r\nexport const useContainerDimensions = (myRef) => {\r\n\tconst getDimensions = () => ({\r\n\t\twidth: myRef.current.offsetWidth,\r\n\t\theight: myRef.current.offsetHeight,\r\n\t});\r\n\r\n\tconst [dimensions, setDimensions] = useState({ width: 0, height: 0 });\r\n\r\n\tuseEffect(() => {\r\n\t\tconst handleResize = () => {\r\n\t\t\tsetDimensions(getDimensions());\r\n\t\t};\r\n\r\n\t\tif (myRef.current) {\r\n\t\t\tsetDimensions(getDimensions());\r\n\t\t}\r\n\r\n\t\twindow.addEventListener(\"resize\", handleResize);\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener(\"resize\", handleResize);\r\n\t\t};\r\n\t}, [myRef]);\r\n\r\n\treturn dimensions;\r\n};\r\n\r\nexport const useAutoFocus = () => {\r\n\tconst inputRef = useRef(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tinputRef.current?.focus();\r\n\t\t}, 1);\r\n\t}, []);\r\n\r\n\treturn inputRef;\r\n};\r\n\r\nexport const useIsEllipsis = (disableIfEllipsis) => {\r\n\tconst ref = useRef();\r\n\tconst [isEllipsis, setIsEllipsis] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (disableIfEllipsis && ref.current) {\r\n\t\t\tconst { scrollWidth, clientWidth } = ref.current;\r\n\t\t\tsetIsEllipsis(scrollWidth > clientWidth);\r\n\t\t}\r\n\t}, [disableIfEllipsis]);\r\n\r\n\treturn [ref, isEllipsis];\r\n};\r\n\r\nexport function useDebounce(value, delay) {\r\n\tconst [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst handler = setTimeout(() => {\r\n\t\t\tsetDebouncedValue(value);\r\n\t\t}, delay);\r\n\r\n\t\treturn () => {\r\n\t\t\tclearTimeout(handler);\r\n\t\t};\r\n\t}, [value, delay]);\r\n\r\n\treturn debouncedValue;\r\n}\r\nexport function useIsMounted() {\r\n\tconst isMountedRef = useRef(true);\r\n\r\n\tuseEffect(() => {\r\n\t\treturn () => {\r\n\t\t\tisMountedRef.current = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn isMountedRef; // Return the ref, not just its current value\r\n}\r\nexport const useItemState = (initialAction, updateService) => {\r\n\tconst [currentItem, setCurrentItem] = useState(initialAction);\r\n\tconst [modifiedAttribNames, setModifiedAttribNames] = useState(new Set());\r\n\tconst current_user = useSelector((state) => state.maps.currentUser);\r\n\r\n\tconst updateAttribute = (attributeId, attributeName, attributeValue) => {\r\n\t\tconst updatedAttribute = currentItem.attributes.map((attr) => {\r\n\t\t\tif (attr.id === attributeId) {\r\n\t\t\t\treturn { ...attr, [attributeName]: attributeValue };\r\n\t\t\t}\r\n\t\t\treturn attr;\r\n\t\t});\r\n\t\tsetCurrentItem((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\tattributes: updatedAttribute,\r\n\t\t\tlastUpdated: new Date().toISOString(),\r\n\t\t\tmodifiedBy: current_user?.fullName,\r\n\t\t}));\r\n\t};\r\n\r\n\tconst handleChange = (name, value, allowDirectServiceUpdate, updateModifiedAttribute = true) => {\r\n\t\tsetCurrentItem((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\t[name]: value,\r\n\t\t\tlastUpdated: new Date().toISOString(),\r\n\t\t\tmodifiedBy: current_user?.fullName,\r\n\t\t}));\r\n\t\tif (allowDirectServiceUpdate) return updateService({ item: { ...currentItem, [name]: value }, modifiedAttribNames: [name] });\r\n\r\n\t\tif (updateModifiedAttribute) setModifiedAttribNames((prevSet) => new Set(prevSet).add(name));\r\n\t};\r\n\r\n\tconst handleBlur = (attribute) => {\r\n\t\t// Add attribute-specific logic here if needed\r\n\t\t// For example, encoding description and subject\r\n\t\tlet description = currentItem.description || \"\";\r\n\t\tlet name = currentItem.name || \"\";\r\n\t\tif (currentItem.description) description = encode(currentItem.description);\r\n\t\tif (currentItem.name) name = encode(currentItem.name);\r\n\r\n\t\t// Update the service with the modified attributes using the provided function\r\n\t\tupdateService({ item: { ...currentItem, description, name }, modifiedAttribNames: [attribute] });\r\n\r\n\t\t// Remove the attribute from the modified set\r\n\t\tsetModifiedAttribNames((prevSet) => {\r\n\t\t\tconst updatedSet = new Set(prevSet);\r\n\t\t\tupdatedSet.delete(attribute);\r\n\t\t\treturn updatedSet;\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\treturn () => {\r\n\t\t\t// Cleanup function to reset the state when the component unmounts\r\n\t\t\t// console.log(\"unmounting\");\r\n\t\t\tsetCurrentItem(null);\r\n\t\t\tsetModifiedAttribNames(new Set());\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn { currentItem, setCurrentItem, handleChange, updateAttribute, handleBlur, setModifiedAttribNames, modifiedAttribNames, updateService };\r\n};\r\nexport const useNavigationListData = ({ allItemsSelector, selectedItemsIds = \"\", getSelectedItemsIds = undefined, update = undefined }) => {\r\n\t// navigation(arrow) for opportunities/ actions/ solutions based on filteredIds on the table\r\n\t// getSelectedItemsIds return the path with the entity type and context (ex: ({ ui }: any) => ui.table?.entity?.[EntityList.Opportunity]?.OpportunitiesList?.filteredIds)\r\n\t// allItemsSelector return the list of all items (ex: () => getAllOpportunities)\r\n\t// note ! this hook work with the item provider only\r\n\r\n\tconst { pathname } = useLocation();\r\n\tconst { setCurrentItem } = useItem();\r\n\tconst allItems = useSelector(allItemsSelector) || [];\r\n\tconst itemIds = useSelector(getSelectedItemsIds ? getSelectedItemsIds(pathname) : () => {});\r\n\r\n\tconst getNavigationList = () => {\r\n\t\tif (selectedItemsIds) return selectedItemsIds;\r\n\t\tif (itemIds) return itemIds;\r\n\t\treturn [];\r\n\t};\r\n\tconst navigationList = getNavigationList();\r\n\r\n\tconst updateCurrentItem = (id) => {\r\n\t\tif (update) {\r\n\t\t\tupdate(id);\r\n\t\t} else {\r\n\t\t\tconst newItem = allItems?.find((item) => item.id === id);\r\n\t\t\tsetCurrentItem(newItem);\r\n\t\t}\r\n\t};\r\n\treturn { navigationList, updateCurrentItem };\r\n};\r\n\r\nexport const useAttributeHandler = (initialAction, updateService) => {\r\n\tconst [object, setObject] = useState(initialAction);\r\n\tconst [modifiedAttribNames, setModifiedAttribNames] = useState(new Set());\r\n\r\n\tconst handleChange = (name, value, allowDirectServiceUpdate) => {\r\n\t\tsetObject((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\t[name]: value,\r\n\t\t}));\r\n\t\tif (allowDirectServiceUpdate) return updateService({ ...object, [name]: value }, [name]);\r\n\r\n\t\tsetModifiedAttribNames((prevSet) => new Set(prevSet).add(name));\r\n\t};\r\n\r\n\tconst handleBlur = (attribute) => {\r\n\t\tif (modifiedAttribNames.has(attribute)) {\r\n\t\t\t// Add attribute-specific logic here if needed\r\n\t\t\t// For example, encoding description and subject\r\n\t\t\tlet description = object.description;\r\n\t\t\tlet subject = object.subject;\r\n\t\t\tlet name = object.name;\r\n\t\t\tif (attribute === \"description\") description = encode(object.description);\r\n\t\t\tif (attribute === \"subject\") subject = encode(object.subject);\r\n\t\t\tif (attribute === \"name\") name = encode(object.name);\r\n\r\n\t\t\t// Update the service with the modified attributes using the provided function\r\n\t\t\tupdateService({ ...object, description, subject, name }, [attribute]);\r\n\r\n\t\t\t// Remove the attribute from the modified set\r\n\t\t\tsetModifiedAttribNames((prevSet) => {\r\n\t\t\t\tconst updatedSet = new Set(prevSet);\r\n\t\t\t\tupdatedSet.delete(attribute);\r\n\t\t\t\treturn updatedSet;\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\treturn { object, setObject, handleChange, handleBlur, setModifiedAttribNames, modifiedAttribNames };\r\n};\r\n\r\nexport const useSubscriptionCheck = (UserSubscriptionPlanName) => {\r\n\tconst history = useHistory();\r\n\tconst { pathname, search } = useLocation();\r\n\r\n\tuseEffect(() => {\r\n\t\tconst urlParams = new URLSearchParams(search);\r\n\t\tconst pdfToken = urlParams.get(\"token\");\r\n\r\n\t\tif (!UserSubscriptionPlanName && !pdfToken) {\r\n\t\t\tconst targetPage = encode(pathname + search);\r\n\t\t\thistory.push(`/login?tgtUrl=${targetPage}`);\r\n\t\t}\r\n\t}, [UserSubscriptionPlanName, pathname, search, history]);\r\n};\r\n\r\nexport const useModalHook = () => {\r\n\tconst [isOpen, setOpen] = useState(false);\r\n\tconst [modalProps, setModalProps] = useState(null);\r\n\r\n\tconst openModal = useCallback(\r\n\t\t(arg) => {\r\n\t\t\tif (isOpen) return;\r\n\t\t\tsetOpen(true);\r\n\t\t\tif (arg) setModalProps(arg);\r\n\t\t},\r\n\t\t[isOpen]\r\n\t);\r\n\r\n\tconst closeModal = useCallback(() => {\r\n\t\tsetOpen(false);\r\n\t\tsetModalProps(null);\r\n\t}, []);\r\n\treturn [openModal, closeModal, isOpen, modalProps];\r\n};\r\nexport const useGetUserTeams = (user) => {\r\n\tconst allTeamsObj = useSelector((state) => state.settings?.teams);\r\n\tconst allAuthorizedUsers = useSelector((state) => state.settings?.authorizedUsers);\r\n\r\n\tconst allTeams = allTeamsObj ? Object.values(allTeamsObj) : [];\r\n\tconst authorizedUserId = allAuthorizedUsers.find((authUser) => authUser?.domainName.toLowerCase() === user?.loginName?.toLowerCase())?.id;\r\n\tconst userTeams = allTeams?.filter((t) => t?.memberUserIds?.includes(authorizedUserId));\r\n\r\n\treturn userTeams;\r\n};\r\n\r\nexport const useGetUserWorkspaces = (loginName) => {\r\n\tconst allActivesWorkspaces = useSelector(getAllActiveWorkspaces);\r\n\tconst allAuthorizedUsers = useSelector((state) => state.settings?.authorizedUsers);\r\n\r\n\tconst authorizedUserId = allAuthorizedUsers.find((authUser) => authUser?.domainName.toLowerCase() === loginName)?.id;\r\n\tconst currentUserWorkspaces = allActivesWorkspaces?.filter((ws) => ws.authorizedUsers.find((au) => au.id === authorizedUserId));\r\n\r\n\treturn currentUserWorkspaces;\r\n};\r\n\r\nexport const useGetCurrentAuthorizedUser = () => {\r\n\tconst currentUserId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst authorizedUsers = useSelector((state) => state.settings.authorizedUsers);\r\n\treturn authorizedUsers?.filter((user) => user?.id === currentUserId);\r\n};\r\n\r\nexport const useGetCurrentRegisteredUser = () => {\r\n\tconst currentUserId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst authorizedUsers = useSelector((state) => state.settings.authorizedUsers);\r\n\tconst registeredUsers = useSelector((state) => state.settings.user);\r\n\r\n\tconst authUser = authorizedUsers?.filter((user) => user?.id === currentUserId);\r\n\treturn registeredUsers?.filter((ru) => ru?.loginName?.toLowerCase() === authUser?.domainName.toLowerCase());\r\n};\r\n\r\nexport const useGetIsCompanyAdmin = () => {\r\n\tconst userInfo = useSelector((state) => state?.auth?.userInfo);\r\n\tconst userType = Number(userInfo?.UserType);\r\n\treturn userType === UserType.companyAdmin;\r\n};\r\n\r\nexport const useGetIsLoggedUserWorkspaceOwner = (workspace) => {\r\n\tconst userId = useSelector((state) => state?.auth?.userInfo?.UserId);\r\n\treturn workspace?.authorizedUsers.find((u) => u?.id === userId)?.roleName === \"owner\";\r\n};\r\n\r\nexport const useActionOnScroll = ({ pathname, authorizedPathnames, targetId, action }) => {\r\n\tuseEffect(() => {\r\n\t\tif (authorizedPathnames?.includes(pathname)) {\r\n\t\t\tconst target = $(targetId);\r\n\t\t\ttarget.on(\"scroll\", action);\r\n\r\n\t\t\treturn () => {\r\n\t\t\t\ttarget.off(\"scroll\", action);\r\n\t\t\t};\r\n\t\t}\r\n\t}, []);\r\n};\r\n\r\nexport function useAxiosInterceptor() {\r\n\t// Local state to store our dynamic header values\r\n\r\n\tconst token = useSelector((state) => state.auth.token);\r\n\tconst [connectionId, setConnectionId] = useState(null);\r\n\t// We store the interceptor ID in a ref so we can eject it when needed\r\n\tconst interceptorIdRef = useRef(null);\r\n\r\n\t// This effect re-registers the interceptor whenever workspaceId, token,\r\n\t// or connectionId changes.\r\n\tuseEffect(() => {\r\n\t\t// If we already have an interceptor, remove it first\r\n\t\tif (interceptorIdRef.current !== null) {\r\n\t\t\taxios.interceptors.request.eject(interceptorIdRef.current);\r\n\t\t}\r\n\r\n\t\t// Register a new interceptor with the latest values\r\n\t\tinterceptorIdRef.current = axios.interceptors.request.use((config) => {\r\n\t\t\tif (token) {\r\n\t\t\t\tconfig.headers.Authorization = `Bearer ${token}`;\r\n\t\t\t}\r\n\t\t\tif (currentWorkspaceId) {\r\n\t\t\t\tconfig.headers.WorkspaceId = currentWorkspaceId;\r\n\t\t\t}\r\n\t\t\tif (connectionId) {\r\n\t\t\t\tconfig.headers.ConnectionKey = connectionId;\r\n\t\t\t}\r\n\t\t\treturn config;\r\n\t\t});\r\n\r\n\t\t// Cleanup function that ejects the interceptor if the component unmounts\r\n\t\t// or the effect re-runs\r\n\t\treturn () => {\r\n\t\t\taxios.interceptors.request.eject(interceptorIdRef.current);\r\n\t\t\tinterceptorIdRef.current = null;\r\n\t\t};\r\n\t}, [currentWorkspaceId, token, connectionId]);\r\n\r\n\tconst updateConnectionID = useCallback((newConnectionId) => {\r\n\t\tsetConnectionId(newConnectionId);\r\n\t}, []);\r\n\r\n\t// Return the updater functions and the current state if needed\r\n\treturn {\r\n\t\tupdateConnectionID,\r\n\t};\r\n}\r\nexport const useInsertRecentWork = ({ entityName, recordId }) => {\r\n\tuseEffect(() => {\r\n\t\tif (entityName) insertRecentWork({ entityName, recordId });\r\n\t}, []);\r\n};\r\n","import { createContext, useContext, useEffect, useState } from \"react\";\r\nimport { useItemState } from \"shared/hooks\";\r\n\r\nconst ColorPickerContext = createContext();\r\nconst SwitchContext = createContext();\r\nconst ImageContext = createContext();\r\n\r\n// provider\r\nexport const ColorPickerProvider = ({ children }) => {\r\n\tconst [ColorPicker, setColorPicker] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\timport(\"react-color\").then((colorModule) => {\r\n\t\t\tsetColorPicker(colorModule);\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn {children};\r\n};\r\n\r\nexport const SwitchProvider = ({ children, initialValue = false, isDisabled = false }) => {\r\n\tconst [isOpen, setIsOpen] = useState(initialValue);\r\n\r\n\tconst open = () => {\r\n\t\tif (!isDisabled) setIsOpen(true);\r\n\t\t\r\n\t};\r\n\tconst close = () => {\r\n\t\tif (!isDisabled) setIsOpen(false);\r\n\t};\r\n\r\n return {children};\r\n};\r\n\r\nexport const useColorPicker = () => {\r\n\treturn useContext(ColorPickerContext);\r\n};\r\n\r\nexport const useSwitch = () => {\r\n\treturn useContext(SwitchContext);\r\n};\r\n\r\nexport const ImageProvider = ({ children }) => {\r\n\tconst importAll = (r) => {\r\n\t\tlet images = {};\r\n\t\tr.keys().forEach((item) => {\r\n\t\t\timages[item.replace(\"./\", \"\")] = r(item);\r\n\t\t});\r\n\t\treturn images;\r\n\t};\r\n\r\n\t// eslint-disable-next-line no-undef\r\n\tconst emotions = importAll(require.context(\"../../Assets/images/map-emotions\", false, /\\.(png|jpe?g|svg)$/));\r\n\t// eslint-disable-next-line no-undef\r\n\tconst icons = importAll(require.context(\"../../Assets/images/map-icons\", false, /\\.(png|jpe?g|svg)$/));\r\n\r\n\treturn {children};\r\n};\r\n\r\nexport const useImages = () => useContext(ImageContext);\r\n\r\n\r\nconst ItemContext = createContext();\r\n\r\n// Step 2: Create the Provider Component\r\nexport const ItemProvider = ({ children, initialAction, updateService }) => {\r\n const itemState = useItemState(initialAction, updateService);\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\n// Hook to use the item state\r\nexport const useItem = () => {\r\n const context = useContext(ItemContext);\r\n if (context === undefined) {\r\n throw new Error('useItem must be used within an ItemProvider');\r\n }\r\n return context;\r\n};\r\n","import { EMPTY_GUID, InteractionArrayValidations, decode, hasAttribute } from \"@utils/helpers\";\r\nimport Cookies from \"js-cookie\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nexport const updatedState = (state, key, newData, secondKey, secondData, idsToUpdate = []) => {\r\n\tconst current_map = {\r\n\t\t...state.current_map,\r\n\t\t[key]: newData\r\n\t};\r\n\tconst all_maps = state.all_maps?.map((map) => {\r\n\t\tif (idsToUpdate.includes(map.cjmId)) {\r\n\t\t\treturn {\r\n\t\t\t\t...map,\r\n\t\t\t\t[key]: newData\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn map;\r\n\t});\r\n\tif (secondKey !== null && secondKey !== undefined) {\r\n\t\tcurrent_map[secondKey] = secondData;\r\n\t}\r\n\treturn {\r\n\t\t...state,\r\n\t\tall_maps,\r\n\t\tcurrent_map,\r\n\t};\r\n};\r\n\r\n\r\nexport const addIconToCardData = (cjmDataShortCut, cardId, attribute, iconId) =>\r\n\tcjmDataShortCut.map((group) => group.map((card) => (card.id === cardId ? { ...card, [attribute]: [...(card[attribute] || []), iconId] } : card)));\r\n\r\nexport const deleteIconFromCardData = (cjmDataShortCut, cardId, attribute, iconId) =>\r\n\tcjmDataShortCut.map((group) => group.map((card) => (card.id === cardId ? { ...card, [attribute]: card[attribute]?.filter((icon) => icon !== iconId) } : card)));\r\n\r\nexport const updateCustomerExperienceData = (stageCustomerExp, personaIdStr, stageId, attribute, iconId) => ({\r\n\t...stageCustomerExp,\r\n\t[personaIdStr]: {\r\n\t\t...(stageCustomerExp[personaIdStr] || {}),\r\n\t\t[stageId]: {\r\n\t\t\t...((stageCustomerExp[personaIdStr] || {})[stageId] || {}),\r\n\t\t\t[attribute]: stageCustomerExp[personaIdStr]?.[stageId]?.[attribute] ? [...stageCustomerExp[personaIdStr][stageId][attribute], iconId] : [iconId],\r\n\t\t},\r\n\t},\r\n});\r\n\r\nexport const deleteIconFromExperienceData = (stageCustomerExp, personaIdStr, stageId, attribute, iconId) => ({\r\n\t...stageCustomerExp,\r\n\t[personaIdStr]: {\r\n\t\t...(stageCustomerExp[personaIdStr] || {}),\r\n\t\t[stageId]: {\r\n\t\t\t...((stageCustomerExp[personaIdStr] || {})[stageId] || {}),\r\n\t\t\t[attribute]: stageCustomerExp[personaIdStr]?.[stageId]?.[attribute]?.filter((icon) => icon !== iconId),\r\n\t\t},\r\n\t},\r\n});\r\n\r\nexport const deleteIconFromSwimLaneDetails = (cjmSwimLaneDetails, key, stageId, iconToDelete) => {\r\n\tconst swimLaneDetailsCopy = { ...cjmSwimLaneDetails };\r\n\tif (swimLaneDetailsCopy[key]?.[stageId]) {\r\n\t\tswimLaneDetailsCopy[key][stageId].icons = swimLaneDetailsCopy[key][stageId].icons?.filter((icon) => icon !== iconToDelete);\r\n\t}\r\n\treturn swimLaneDetailsCopy;\r\n};\r\n\r\nexport const updateCopyData = (data_copy, personaIdSTR_COPY, comments) => {\r\n\tconst defaultPersonaObjectCxData = { [personaIdSTR_COPY]: {} };\r\n\r\n\tdata_copy.cjmPhasesData = sortData(data_copy.cjmPhasesData);\r\n\tdata_copy.cjmStagesData = filterStages(data_copy);\r\n\tdata_copy.cjmStagesCustomerExperienceData = normalizeCustomerExperienceData(data_copy.cjmStagesCustomerExperienceData, defaultPersonaObjectCxData, personaIdSTR_COPY);\r\n\r\n\treturn {\r\n\t\tcjmStagesData: data_copy.cjmStagesData,\r\n\t\tcjmSwimLaneDetails: data_copy.cjmSwimLaneDetails,\r\n\t\tcjmInteractions : data_copy.cjmInteractions,\r\n\t\tcjmStagesCustomerExperienceData: data_copy.cjmStagesCustomerExperienceData,\r\n\t\tcjmCxGoals: data_copy.cjmCxGoals,\r\n\t\tcjmTimeLines: data_copy.cjmTimeLines,\r\n\t};\r\n};\r\n\r\nexport const sortData = (data) => {\r\n\tif (!data) return [];\r\n\treturn Object.entries(data)\r\n\t\t.map(([_, stage]) => stage)\r\n\t\t.sort((a, b) => a.order - b.order);\r\n};\r\n\r\nexport const filterStages = (data_copy) => {\r\n\tif (!data_copy.cjmPhasesData || !data_copy.cjmStagesData) return [];\r\n\treturn data_copy.cjmPhasesData.map((phase) => sortData(data_copy.cjmStagesData).filter((stage) => stage.phase.id == phase.id)).flat();\r\n};\r\n\r\nexport const normalizeData = (cjmData, cjmStagesData, personaIdSTR_COPY) => {\r\n\tif (!cjmData || Object.keys(cjmData).length === 0) {\r\n\t\treturn new Array(cjmStagesData.length).fill([]);\r\n\t}\r\n\treturn InteractionArrayValidations(cjmStagesData, personaIdSTR_COPY, cjmData);\r\n};\r\n\r\nexport const normalizeCustomerExperienceData = (cjmStagesCustomerExperienceData, defaultPersonaObjectCxData, personaIdSTR_COPY) => {\r\n\tif (!cjmStagesCustomerExperienceData || cjmStagesCustomerExperienceData[personaIdSTR_COPY] === undefined) {\r\n\t\treturn defaultPersonaObjectCxData;\r\n\t}\r\n\treturn cjmStagesCustomerExperienceData;\r\n};\r\n\r\nexport const updateChart = (chart, stageIdOld, stageIdNew) => {\r\n\tif (chart) {\r\n\t\tlet updatedFeelingPoints = getUpdatedFeelingPoints(chart, stageIdOld, stageIdNew);\r\n\t\tupdatedFeelingPoints = updatePersonasFeelingPoints(chart, stageIdOld, stageIdNew, updatedFeelingPoints);\r\n\t\treturn { ...chart, ...updatedFeelingPoints };\r\n\t}\r\n\treturn chart;\r\n};\r\n\r\nexport const getUpdatedFeelingPoints = (chart, stageIdOld, stageIdNew) => {\r\n\tconst NewFeelingPointsGlobal = chart.feelingPoints_Global?.reduce((acc, point) => {\r\n\t\tif (point[0] === stageIdOld) {\r\n\t\t\tacc.push([stageIdNew, point[1], getPointLabel(\"Global\", 4)]);\r\n\t\t}\r\n\t\treturn acc;\r\n\t}, []);\r\n\tconst NewFeelingPointsTarget = chart.feelingPoints_Target?.reduce((acc, point) => {\r\n\t\tif (point[0] === stageIdOld) {\r\n\t\t\tacc.push([stageIdNew, point[1], getPointLabel(\"Target\", 4)]);\r\n\t\t}\r\n\t\treturn acc;\r\n\t}, []);\r\n\r\n\treturn {\r\n\t\tfeelingPoints_Global: [...(chart.feelingPoints_Global || []), ...(NewFeelingPointsGlobal || [])],\r\n\t\tfeelingPoints_Target: [...(chart.feelingPoints_Target || []), ...(NewFeelingPointsTarget || [])],\r\n\t\tfeelingPoints_Contact: [...(chart.feelingPoints_Contact || []), [stageIdNew, 0, getPointLabel(\"Awareness\", 3)]],\r\n\t};\r\n};\r\n\r\nexport const getPointLabel = (name, value) => `

${name}
${value}
`;\r\n\r\nexport const updatePersonasFeelingPoints = (chart, stageIdOld, stageIdNew, updatedFeelingPoints) => {\r\n\tconst personasRelated = Object.keys(chart.feelingPoints_Perso);\r\n\r\n\tpersonasRelated.forEach((persona) => {\r\n\t\tlet personaToAdd = chart.feelingPoints_Perso[persona].reduce((acc, point) => {\r\n\t\t\tif (point[0] === stageIdOld) {\r\n\t\t\t\tacc.push([stageIdNew, point[1], point[2]]);\r\n\t\t\t}\r\n\t\t\treturn acc;\r\n\t\t}, []);\r\n\t\tupdatedFeelingPoints.feelingPoints_Perso = { ...updatedFeelingPoints.feelingPoints_Perso, [persona]: [...chart.feelingPoints_Perso[persona], ...personaToAdd] };\r\n\t});\r\n\r\n\treturn updatedFeelingPoints;\r\n};\r\n\r\nexport const updateSwimlaneItem = (state, customSwimLaneItemIdStr, swimlaneKey, stageIdStr, description, url = \"\", fileName = \"\") => {\r\n\tif (!state.current_map.cjmSwimLaneDetails?.[swimlaneKey]?.[stageIdStr]?.items?.find((item) => item.id === customSwimLaneItemIdStr)) {\r\n\t\treturn createSwimlaneItem(state, swimlaneKey, stageIdStr, description, url, fileName, customSwimLaneItemIdStr);\r\n\t}\r\n\treturn {\r\n\t\t...state,\r\n\t\tcurrent_map: {\r\n\t\t\t...state.current_map,\r\n\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t...state.current_map.cjmSwimLaneDetails,\r\n\t\t\t\t[swimlaneKey]: {\r\n\t\t\t\t\t...state.current_map.cjmSwimLaneDetails[swimlaneKey],\r\n\t\t\t\t\t[stageIdStr]: {\r\n\t\t\t\t\t\t...state.current_map.cjmSwimLaneDetails[swimlaneKey][stageIdStr],\r\n\t\t\t\t\t\titems: state.current_map.cjmSwimLaneDetails[swimlaneKey][stageIdStr].items.map((item) =>\r\n\t\t\t\t\t\t\titem.id === customSwimLaneItemIdStr ? { ...item, description: decode(description), url: decode(url), fileName: decode(fileName) } : item\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const getStageSwimlanes = (state, swimlaneKey, stageIdStr) => {\r\n\tif (state.current_map.cjmSwimLaneDetails[swimlaneKey] === undefined) {\r\n\t\treturn {\r\n\t\t\t[swimlaneKey]: [stageIdStr],\r\n\t\t};\r\n\t}\r\n\r\n\tlet StageSwimlanes = { ...state.current_map.cjmSwimLaneDetails[swimlaneKey][stageIdStr] };\r\n\r\n\tif (!hasAttribute(StageSwimlanes, \"id\")) {\r\n\t\tStageSwimlanes = {\r\n\t\t\tid: uuidv4(),\r\n\t\t\tswimLaneId: swimlaneKey,\r\n\t\t};\r\n\t}\r\n\r\n\treturn StageSwimlanes;\r\n};\r\nexport const createSwimlaneItem = (state, swimlaneKey, stageIdStr, description, url, fileName, responseData) => {\r\n\tconst newItem = {\r\n\t\tid: responseData,\r\n\t\tdescription: decode(description),\r\n\t\turl: url !== \"\" ? decode(url) : \"\",\r\n\t\tfileName: fileName !== \"\" ? decode(fileName) : \"\",\r\n\t\ticons: [],\r\n\t};\r\n\r\n\tconst StageSwimlanes = getStageSwimlanes(state, swimlaneKey, stageIdStr);\r\n\tconst pastItems = state.current_map.cjmSwimLaneDetails?.[swimlaneKey]?.[stageIdStr]?.items || [];\r\n\r\n\treturn {\r\n\t\t...state,\r\n\t\tcurrent_map: {\r\n\t\t\t...state.current_map,\r\n\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t...state.current_map.cjmSwimLaneDetails,\r\n\t\t\t\t[swimlaneKey]: {\r\n\t\t\t\t\t...state.current_map.cjmSwimLaneDetails?.[swimlaneKey],\r\n\t\t\t\t\t[stageIdStr]: {\r\n\t\t\t\t\t\t...StageSwimlanes,\r\n\t\t\t\t\t\titems: [...pastItems, newItem],\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const updateComments = (comments, cjmStagesData) => {\r\n\tif (!comments || !cjmStagesData) return comments;\r\n\r\n\t// Loop over cjmStagesData\r\n\tcjmStagesData.forEach((stage) => {\r\n\t\t// Loop over comments\r\n\t\tfor (let swimlaneKey in comments) {\r\n\t\t\tlet swimlane = comments[swimlaneKey];\r\n\t\t\tlet stageId = stage.id;\r\n\t\t\tlet attributeId = EMPTY_GUID;\r\n\r\n\t\t\tif (swimlane[stageId]) {\r\n\t\t\t\tattributeId = Object.keys(swimlane[stageId])[0];\r\n\t\t\t}\r\n\r\n\t\t\t// Add new stage to each swimlane\r\n\t\t\tswimlane[stageId] = swimlane[stageId] || {};\r\n\t\t\tswimlane[stageId][attributeId] = {\r\n\t\t\t\tcomments: swimlane[stageId][attributeId]?.comments || [],\r\n\t\t\t\tshowComments: swimlane[stageId][attributeId]?.showComments || false,\r\n\t\t\t};\r\n\t\t}\r\n\t});\r\n\r\n\treturn comments;\r\n};\r\nexport const handleSwimLaneInitValues = (type, swimLaneInitValues, originalData, cjmStages, personaIdStr) => {\r\n\tswitch (type) {\r\n\t\tcase \"ActionsList\":\r\n\t\tcase \"Opportunity\":\r\n\t\t\treturn swimLaneInitValues;\r\n\t\tcase \"Timing\":\r\n\t\t\treturn cjmStages.map((stage) => {\r\n\t\t\t\tconst relevantStage = swimLaneInitValues.cjmStagesData[stage.id];\r\n\t\t\t\tif (stage.id === relevantStage.id) stage.timing = relevantStage.timing;\r\n\t\t\t\treturn stage;\r\n\t\t\t});\r\n\t\tcase \"Systems\":\r\n\t\tcase \"Departments\":\r\n\t\t\treturn swimLaneInitValues;\r\n\t\tcase \"Touchpoints\":\r\n\t\t\treturn swimLaneInitValues === null || Object.keys(swimLaneInitValues).length === 0\r\n\t\t\t\t? new Array(cjmStages.length).fill([])\r\n\t\t\t\t: InteractionArrayValidations(cjmStages, personaIdStr, swimLaneInitValues);\r\n\t\tcase \"Feelings\":\r\n\t\tcase \"AdvancedInteractions\":\r\n\t\t\treturn swimLaneInitValues?.personaInteractions\r\n\t\t\t\t? swimLaneInitValues === null || Object.keys(swimLaneInitValues?.personaInteractions).length === 0\r\n\t\t\t\t\t? new Array(cjmStages.length).fill([])\r\n\t\t\t\t\t: InteractionArrayValidations(cjmStages, personaIdStr, swimLaneInitValues?.personaInteractions)\r\n\t\t\t\t: originalData;\r\n\t\tdefault:\r\n\t\t\treturn originalData;\r\n\t}\r\n};\r\nexport function deleteItemFromStage(stageDetails, customSwimLaneItemIdStr) {\r\n\treturn {\r\n\t\t...stageDetails,\r\n\t\titems: stageDetails.items.filter((item) => item.id !== customSwimLaneItemIdStr),\r\n\t};\r\n}\r\nexport function deleteLibraryItemFromStage(stageDetails, swimLaneItemId) {\r\n\treturn {\r\n\t\t...stageDetails,\r\n\t\titems: stageDetails.items.filter((item) => item.id !== swimLaneItemId),\r\n\t};\r\n}\r\nexport function deleteLibraryItemsFromStage(stageDetails, swimLaneItemIds) {\r\n\treturn {\r\n\t\t...stageDetails,\r\n\t\titems: stageDetails.items.filter((item) => !swimLaneItemIds.includes(item.id)),\r\n\t};\r\n}\r\nexport function moveComments(object, swimlaneId, stageIdOrigin, stageIdDestination, attributeId) {\r\n\tconst origin = object?.[swimlaneId]?.[stageIdOrigin]?.[attributeId];\r\n\tconst destination = object?.[swimlaneId]?.[stageIdDestination]?.[attributeId];\r\n\tif (origin && destination) {\r\n\t\tdestination.showComments = origin.showComments;\r\n\t\tdestination.comments = [\r\n\t\t\t...(destination?.comments || []), // Use empty array if destination.comments is falsy\r\n\t\t\t...(origin?.comments || []), // Use empty array if origin.comments is falsy\r\n\t\t];\r\n\t\torigin.showComments = false;\r\n\t\torigin.comments = [];\r\n\t}\r\n\r\n\treturn object;\r\n}\r\n\r\nfunction transformData(data) {\r\n\tconst newData = {};\r\n\r\n\tObject.entries(data).forEach(([personaId, stages]) => {\r\n\t\tnewData[personaId] = {};\r\n\r\n\t\tObject.entries(stages).forEach(([stageId, channels]) => {\r\n\t\t\tnewData[personaId][stageId] = [];\r\n\r\n\t\t\tObject.entries(channels).forEach(([channelId, items]) => {\r\n\t\t\t\tif (Array.isArray(items)) {\r\n\t\t\t\t\t// Add channelId inside each object\r\n\t\t\t\t\tconst updatedItems = items.map(item => ({ ...item, channelId }));\r\n\t\t\t\t\tnewData[personaId][stageId].push(...updatedItems);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\r\n\treturn newData;\r\n}\r\n\r\n\r\nexport const formatPersonaInteractions = (cjmData) => {\r\n\tconst personaInteractions = { ...cjmData };\r\n\treturn transformData(personaInteractions);\r\n};\r\n\r\nexport function filterGlobalLegend(legend, config) {\r\n\tif (!config) return legend;\r\n\r\n\treturn legend.filter((item) => {\r\n\t\tswitch (item) {\r\n\t\t\tcase \"X\":\r\n\t\t\t\treturn true;\r\n\t\t\tcase \"VoC\":\r\n\t\t\t\treturn config.showGlobalCustomerSentiment;\r\n\t\t\tcase \"Global\":\r\n\t\t\t\treturn config.showGlobalPersonaSentiment;\r\n\t\t\tcase \"Target\":\r\n\t\t\t\treturn config.showTargetSentiment;\r\n\t\t\tdefault:\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport function processResponseDataChart(data) {\r\n\tif (!data.feelingPoints_Global) return data;\r\n\r\n\tconst parseArrayStr = (str) => {\r\n\t\ttry {\r\n\t\t\treturn eval(`[${str}]`);\r\n\t\t} catch (err) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t};\r\n\treturn {\r\n\t\t...data,\r\n\t\tfeelingPoints_Global: parseArrayStr(data.feelingPoints_Global),\r\n\t\tfeelingPoints_Target: parseArrayStr(data.feelingPoints_Target),\r\n\t\tfeelingPoints_Contact: parseArrayStr(data.feelingPoints_Contact),\r\n\t\tfeelingPoints_Perso: Object.fromEntries(Object.entries(data.feelingPoints_Perso).map(([key, value]) => [key, parseArrayStr(value)])),\r\n\t\tfeelingPoints_PersoVOC: Object.fromEntries(Object.entries(data.feelingPoints_PersoVOC).map(([key, value]) => [key, parseArrayStr(value)])),\r\n\t};\r\n}\r\n\r\nexport const updateStateMuliCJM = (state, updates, updateSameLevel = {}) => {\r\n\tif (updates) {\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\tcurrent_map: {\r\n\t\t\t\t...state.current_map,\r\n\t\t\t\t...updates,\r\n\t\t\t},\r\n\t\t\t...updateSameLevel,\r\n\t\t};\r\n\t}\r\n\treturn {\r\n\t\t...state,\r\n\t\t...updateSameLevel,\r\n\t};\r\n\r\n};\r\n\r\nexport const getLegend = (cjmSwimLanes, cjmPersonasData, subscriptionDetails) => {\r\n\tconst sentimentsConfig = cjmSwimLanes?.find((swimlane) => swimlane?.type === 100000012)?.sentimentsConfig;\r\n\r\n\tconst cookie = Cookies.get(\"Authorization-cemantica\") || window.location.pathname?.split(\"&token=\")[1]?.split(\"&\")[0];\r\n\r\n\tconst contracts = subscriptionDetails?.subscriptionContracts;\r\n\tconst isMultiSubscription = contracts?.length > 1;\r\n\r\n\r\n\tconst isEnterprise = cookie ? ['Enterprise', 'SharedEnterprise'].includes(jwt_decode(cookie)?.UserSubscriptionPlanName) ? true : isMultiSubscription ? true : false : true;\r\n\tconst initialGlobalLegend = [\"X\", \"Global\", \"Target\", \"VoC\"].filter(item => !isEnterprise ? item !== \"VoC\" : item);\r\n\tconst personaIdsOfMap = cjmPersonasData?.map((item) => item.personaId)?.filter((id) => sentimentsConfig?.showPersona[id] || true) || [];\r\n\r\n\tconst globalLegend = filterGlobalLegend(initialGlobalLegend, sentimentsConfig);\r\n\tconst personaSentiment = personaIdsOfMap\r\n\t\t.map((id) => {\r\n\t\t\tif (!sentimentsConfig || (sentimentsConfig.showPersonaSentiment?.[id] && sentimentsConfig?.showPersona?.[id])) return id;\r\n\t\t})\r\n\t\t.filter(Boolean);\r\n\r\n\tconst personaSentimentVOC = isEnterprise ? personaIdsOfMap\r\n\t\t.map((id) => {\r\n\t\t\tif (!sentimentsConfig || (sentimentsConfig.showCustomerSentiment?.[id] && sentimentsConfig?.showPersona?.[id])) return `${id}_VOC`;\r\n\t\t})\r\n\t\t.filter(Boolean) : [];\r\n\treturn [...globalLegend, ...personaSentiment, ...personaSentimentVOC];\r\n};\r\n\r\nexport const extractAndSortData = (dataField) =>\r\n\tdataField !== null\r\n\t\t? Object.entries(dataField)\r\n\t\t\t.map(([, item]) => item)\r\n\t\t\t.sort((a, b) => a.order - b.order)\r\n\t\t: [];\r\n\r\nexport const incrementPendingRequests = (state) => {\r\n\tconst pendingRequests = state.pendingRequests || 0;\r\n\treturn {\r\n\t\t...state,\r\n\t\tpendingRequests: pendingRequests + 1,\r\n\t};\r\n}\r\nexport const decrementPendingRequests = (state) => {\r\n\tconst pendingRequests = state.pendingRequests || 0;\r\n\treturn {\r\n\t\t...state,\r\n\t\tpendingRequests: pendingRequests - 1,\r\n\t};\r\n}\r\nexport const calculteRoutes = (cjmContactData, personaIdStr) => {\r\n\tlet interactionCountByStage = {};\r\n\tconst personaContact = cjmContactData?.[personaIdStr];\r\n\r\n\tif (personaContact) {\r\n\t\tObject.keys(personaContact)?.forEach(stageKey => {\r\n\t\t\tlet maxKey = null;\r\n\t\t\tlet maxLength = 0;\r\n\t\t\tlet secondMaxKey = null;\r\n\t\t\tlet secondMaxLength = 0;\r\n\r\n\t\t\tconst stageContacts = personaContact[stageKey];\r\n\t\t\tif (stageContacts) {\r\n\t\t\t\tObject.keys(stageContacts).forEach(key => {\r\n\t\t\t\t\tconst contact = stageContacts[key];\r\n\t\t\t\t\tif (contact && Array.isArray(contact)) {\r\n\t\t\t\t\t\tif (contact.length > maxLength) {\r\n\t\t\t\t\t\t\t// Update second max before updating max\r\n\t\t\t\t\t\t\tsecondMaxLength = maxLength;\r\n\t\t\t\t\t\t\tsecondMaxKey = maxKey;\r\n\r\n\t\t\t\t\t\t\t// Update max\r\n\t\t\t\t\t\t\tmaxLength = contact.length;\r\n\t\t\t\t\t\t\tmaxKey = key;\r\n\t\t\t\t\t\t} else if (contact.length > secondMaxLength) {\r\n\t\t\t\t\t\t\t// Update second max\r\n\t\t\t\t\t\t\tsecondMaxLength = contact.length;\r\n\t\t\t\t\t\t\tsecondMaxKey = key;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (maxKey !== null) {\r\n\t\t\t\tinteractionCountByStage[stageKey] = {\r\n\t\t\t\t\tmainKey: maxKey,\r\n\t\t\t\t\tmainLength: maxLength,\r\n\t\t\t\t\talternativeKey: secondMaxKey,\r\n\t\t\t\t\talternativeLength: secondMaxLength\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\treturn interactionCountByStage;\r\n\r\n}\r\nexport const applyRoutesPersonaInteractions = (personaInteractions, interactionCountByStage, stages) => {\r\n\r\n\t// Transform cjmData using map\r\n\treturn Object.fromEntries(\r\n\t\tObject.entries(personaInteractions).map(([stageId, interactions]) => [\r\n\t\t\tstageId,\r\n\t\t\tinteractions.map(interaction => {\r\n\t\t\t\tif (interactionCountByStage) {\r\n\t\t\t\t\tconst interactionCount = interactionCountByStage[stageId];\r\n\t\t\t\t\tconst { mainKey, alternativeKey } = interactionCount || {};\r\n\t\t\t\t\tinteraction.mainRoute = interaction.channelId === mainKey,\r\n\t\t\t\t\t\tinteraction.alternativeRoute = interaction.channelId === alternativeKey\r\n\t\t\t\t}\r\n\t\t\t\treturn interaction\r\n\r\n\t\t\t}\r\n\t\t\t)\r\n\t\t])\r\n\t);\r\n\r\n};\r\nexport const updateRelatedData = (state, discussion) => {\r\n\tlet obj = {};\r\n\tconst { objName, objId, prefixRelationships, personaId } = discussion;\r\n\tswitch (objName) {\r\n\t\tcase \"cem_stage\": {\r\n\t\t\tconst discussionsAttribute = prefixRelationships === \"description\" ? \"descriptionDiscussionIds\" : \"discussionIds\";\r\n\t\t\tif (prefixRelationships === 'phase') {\r\n\t\t\t\tconst cjmPhasesData = state.current_map.cjmPhasesData.map((item) => {\r\n\t\t\t\t\tif (item.id === objId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\t\t[discussionsAttribute]: [...(item[discussionsAttribute] || []), discussion.id]\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn item;\r\n\t\t\t\t});\r\n\t\t\t\tobj = {\r\n\t\t\t\t\tcjmPhasesData\r\n\t\t\t\t};\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t\tconst cjmStagesData = state.current_map.cjmStagesData?.map((item) => {\r\n\t\t\t\tif (item.id === objId) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\t[discussionsAttribute]: [...(item[discussionsAttribute] || []), discussion.id]\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\treturn item;\r\n\t\t\t});\r\n\t\t\tobj = {\r\n\t\t\t\tcjmStagesData\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase \"cem_customswimlane\": {\r\n\t\t\tconst { swimLaneId, stageId } = discussion;\r\n\t\t\tconst cjmSwimLaneDetails = { ...state.current_map.cjmSwimLaneDetails };\r\n\t\t\tconst swimlane = cjmSwimLaneDetails[swimLaneId] || {\r\n\t\t\t\t...cjmSwimLaneDetails,\r\n\t\t\t\t[swimLaneId]: {}\r\n\t\t\t};\r\n\t\t\tconst stage = swimlane[stageId] || {\r\n\t\t\t\tid: uuidv4(),\r\n\t\t\t\tswimLaneId: swimLaneId,\r\n\t\t\t\tstageId: stageId,\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ticons: [],\r\n\t\t\t\timage64: \"\",\r\n\t\t\t\timageType: \"\",\r\n\t\t\t\tdiscussionIds: [],\r\n\t\t\t};\r\n\t\t\tstage.discussionIds = [...(stage.discussionIds || []), discussion.id];\r\n\t\t\tobj = {\r\n\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t...cjmSwimLaneDetails,\r\n\t\t\t\t\t[swimLaneId]: {\r\n\t\t\t\t\t\t...swimlane,\r\n\t\t\t\t\t\t[stageId]: stage\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\r\n\r\n\t\t}\r\n\t\tcase \"cem_swimlaneitem\": {\r\n\t\t\tconst { swimLaneId, stageId } = discussion;\r\n\t\t\tconst cjmSwimLaneDetails = state.current_map.cjmSwimLaneDetails;\r\n\t\t\tconst swimlane = cjmSwimLaneDetails[swimLaneId] || {\r\n\t\t\t\t...cjmSwimLaneDetails,\r\n\t\t\t\t[swimLaneId]: {}\r\n\t\t\t};\r\n\t\t\tconst stage = swimlane[stageId] || {\r\n\t\t\t\tid: uuidv4(),\r\n\t\t\t\tswimLaneId: swimLaneId,\r\n\t\t\t\tstageId: stageId,\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ticons: [],\r\n\t\t\t\timage64: \"\",\r\n\t\t\t\timageType: \"\",\r\n\t\t\t\titems: [],\r\n\t\t\t\tdiscussionIds: [],\r\n\t\t\t};\r\n\t\t\tstage.items = stage.items.map((item) => {\r\n\t\t\t\tif (item.id === objId) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tdiscussionIds: [...(item.discussionIds || []), discussion.id]\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\treturn item;\r\n\t\t\t});\r\n\t\t\tobj = {\r\n\t\t\t\tcjmSwimLaneDetails: {\r\n\t\t\t\t\t...cjmSwimLaneDetails,\r\n\t\t\t\t\t[swimLaneId]: {\r\n\t\t\t\t\t\t...swimlane,\r\n\t\t\t\t\t\t[stageId]: stage\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase \"cem_goal\": {\r\n\t\t\tconst { stageId } = discussion;\r\n\t\t\tconst cjmCxGoals1 = state.current_map.cjmCxGoals || {};\r\n\t\t\tif (cjmCxGoals1[stageId] === undefined) {\r\n\t\t\t\tcjmCxGoals1[stageId] = [];\r\n\t\t\t}\r\n\r\n\t\t\tconst cjmCxGoals = cjmCxGoals1[stageId]?.map((item) => {\r\n\t\t\t\tif (item.id === objId) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tdiscussionIds: [...(item.discussionIds || []), discussion.id]\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\treturn item;\r\n\t\t\t});\r\n\t\t\tobj = {\r\n\t\t\t\tcjmCxGoals: {\r\n\t\t\t\t\t...state.current_map.cjmCxGoals,\r\n\t\t\t\t\t[stageId]: cjmCxGoals\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase \"cem_customerexperience\": {\r\n\t\t\tconst { stageId } = discussion;\r\n\r\n\t\t\tconst cjmInteractions = state.current_map?.cjmInteractions[personaId]?.[stageId]?.map(item =>{\r\n\t\t\t\t\tif (item.id === objId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\t\tdiscussionIds: [...(item.discussionIds || []), discussion.id]\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn item;\r\n\t\t\t\t});\r\n\r\n\t\t\tobj = {\r\n\t\t\t\tcjmInteractions: {\r\n\t\t\t\t\t...state.current_map?.cjmInteractions,\r\n\t\t\t\t\t[personaId] : {...state.current_map?.cjmInteractions[personaId],\r\n\t\t\t\t\t\t[stageId] : cjmInteractions\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase \"cem_personaexperience\": {\r\n\t\t\tconst { stageId } = discussion;\r\n\t\t\tconst cjmStagesCustomerExperienceData = state.current_map.cjmStagesCustomerExperienceData;\r\n\t\t\tconst StagesCustomerExperienceData = cjmStagesCustomerExperienceData[personaId] || {\r\n\t\t\t\t...cjmStagesCustomerExperienceData,\r\n\t\t\t\t[personaId]: {}\r\n\t\t\t};\r\n\t\t\tlet personaExperience = StagesCustomerExperienceData[stageId];\r\n\t\t\tif (prefixRelationships === 'pros') {\r\n\t\t\t\tif (personaExperience === undefined) {\r\n\t\t\t\t\tpersonaExperience = {\r\n\t\t\t\t\t\tprosDiscussionIds: [discussion.id]\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst prosDiscussionIds = personaExperience?.prosDiscussionIds || [];\r\n\t\t\t\t\tpersonaExperience.prosDiscussionIds = [...prosDiscussionIds, discussion.id];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (prefixRelationships === 'cons') {\r\n\t\t\t\tif (personaExperience === undefined) {\r\n\t\t\t\t\tpersonaExperience = {\r\n\t\t\t\t\t\tprosDiscussionIds: [discussion.id]\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst consDiscussionIds = personaExperience?.consDiscussionIds || [];\r\n\t\t\t\t\tpersonaExperience.consDiscussionIds = [...consDiscussionIds, discussion.id];\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\tobj = {\r\n\t\t\t\tcjmStagesCustomerExperienceData: {\r\n\t\t\t\t\t...cjmStagesCustomerExperienceData,\r\n\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t...cjmStagesCustomerExperienceData[personaId],\r\n\t\t\t\t\t\t[stageId]: personaExperience\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\r\n\t\t}\r\n\t\tcase \"cem_timeline\": {\r\n\t\t\tconst { stageId } = discussion;\r\n\r\n\t\t\tconst cjmTimeLines = state.current_map.cjmTimeLines[stageId].map((item) => {\r\n\t\t\t\tif (item.id === objId) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tdiscussionIds: [...(item.discussionIds || []), discussion.id]\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\treturn item;\r\n\t\t\t});\r\n\t\t\tobj = {\r\n\t\t\t\tcjmTimeLines: {\r\n\t\t\t\t\t...state.current_map.cjmTimeLines,\r\n\t\t\t\t\t[stageId]: cjmTimeLines\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase \"cem_customerfeedback\": {\r\n\t\t\tconst { stageId } = discussion;\r\n\t\t\tconst cjmCustomerFeedback1 = state.current_map.cjmCustomerFeedback || {};\r\n\r\n\t\t\tif (state.current_map.cjmCustomerFeedback[personaId][stageId] === undefined) {\r\n\t\t\t\tcjmCustomerFeedback1[personaId][stageId] = [];\r\n\t\t\t}\r\n\r\n\t\t\tconst cjmCustomerFeedback = state.current_map.cjmCustomerFeedback[personaId][stageId]?.map((item) => {\r\n\t\t\t\tif (item.id === objId) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tdiscussionIds: [...(item.discussionIds || []), discussion.id]\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\treturn item;\r\n\t\t\t});\r\n\t\t\tobj = {\r\n\t\t\t\tcjmCustomerFeedback: {\r\n\t\t\t\t\t...state.current_map.cjmCustomerFeedback,\r\n\t\t\t\t\t[personaId]: {\r\n\t\t\t\t\t\t...state.current_map.cjmCustomerFeedback[personaId],\r\n\t\t\t\t\t\t[stageId]: cjmCustomerFeedback\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\r\n\r\n\r\n\t}\r\n\treturn obj;\r\n}","var _defs, _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgUnexpected(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 349.37 196.86\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1,.cls-8{fill:#ccc;}.cls-1,.cls-9{stroke:#000;stroke-miterlimit:10;}.cls-1{stroke-width:0.25px;}.cls-2{opacity:0.16;}.cls-3{opacity:0.6;}.cls-4{opacity:0.61;}.cls-5{opacity:0.13;}.cls-6{opacity:0.2;}.cls-7{fill:#e5e5e5;}.cls-9{fill:#fff;}\"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M215.38,104.8c-2.52-7.57-9.25-24.8-25.74-29.42-4.19-1.18-15.29,3.86-18,4.07-9.33.71-17.18-14.21-26.86-17.12s-24.74-6.93-32.29-2S90.17,78.85,84.79,77.75,68,67.18,65.4,78.88s-8.66,14.94-18,11-26.13-19.13-30.48-7S-1.74,89,.33,115.39s16,49.71,23.9,57.66,17.92-6.37,21.83,5.73,13.57,19.66,22.55,17.63S105.3,172.35,120,182s25.43,14.19,37.3,8.73,19.42-15.06,26.27-25c4.42-6.38,17.75-7.39,22.7-12.55C214.08,145.06,220.19,119.23,215.38,104.8Z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"cls-2\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M255,66.34c-4.54-29.92-21.53-53.09-40.53-57.71a28.48,28.48,0,0,0-11.11-.53c-23.1,3.52-37.45,35.3-32,71s28.53,61.76,51.63,58.24a27.89,27.89,0,0,0,5.61-1.47C248.3,128.46,259.93,99,255,66.34Z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"cls-3\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174,79.08a89.29,89.29,0,0,1,13.1-61.41c-12.22,12.66-18.38,36.09-14.53,61.5,3.79,25,16.27,45.27,31.34,54A89.25,89.25,0,0,1,174,79.08Z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n className: \"cls-4\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M178.81,82.48q-.63-2.83-1.07-5.73a88.29,88.29,0,0,1-.34-24c-.56-.42-1.11-.84-1.65-1.27a96.73,96.73,0,0,0,.56,25.39q.49,3.3,1.2,6.49C177.94,83.05,178.37,82.76,178.81,82.48Z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M298.49,86.84c2.63,7.43-13.92,20.12-36.95,28.35s-43.84,8.86-46.47,1.43S229,96.5,252,88.28,295.87,79.41,298.49,86.84Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346,53.26c-4.12-22.21-15.24-38.78-25-43C304.24,2.92,208.74,7.58,208.74,7.58l0,.35c19,4.77,36.08,28.44,40.71,59,5.06,33.36-6.48,63.32-26.22,70.81l0,.24c45.25-9.19,83.33-25.85,109.75-43.73C341.62,88.41,349.4,71.49,346,53.26Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M293.81,93.64c1,6.76-4.12,13.15-11.5,14.27s-14.2-3.44-15.22-10.2,4.12-13.14,11.51-14.26S292.79,86.89,293.81,93.64Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M250.42,66.78c-4.54-29.92-21-53.16-39.35-57.89a26.64,26.64,0,0,0-10.7-.59c-22.23,3.39-35.86,35.06-30.45,70.75s27.82,61.87,50.05,58.48a25.61,25.61,0,0,0,5.4-1.44C244.35,128.81,255.38,99.48,250.42,66.78Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M202,135.48a48.92,48.92,0,0,1-14.87-12.37h0c-9-10.78-15.78-26.18-18.46-43.88h0c-.28-1.8-.5-3.59-.68-5.37h0c-1.7-16.93.82-32.69,6.49-44.72h0c5.66-12,14.58-20.37,25.66-22.06h0c.46-.07.91-.13,1.37-.18h0a28.12,28.12,0,0,1,9.83.79h0c9.54,2.48,18.44,9.68,25.54,20h0C244,38,249.33,51.46,251.63,66.6h0l-1.21.18L249.2,67c-2.24-14.79-7.44-27.91-14.3-37.88h0c-6.86-10-15.36-16.74-24.13-19h0a25.69,25.69,0,0,0-9-.72h0c-.42,0-.83.09-1.24.15h0c-10,1.53-18.36,9.15-23.82,20.69h0c-5.44,11.52-7.93,26.87-6.26,43.41h0c.17,1.73.39,3.48.66,5.24h0A94.12,94.12,0,0,0,183,112.92h0c5.64,9.4,12.68,16.5,20.18,20.35h0a27.4,27.4,0,0,0,15.38,3.19h0c.41,0,.83-.09,1.24-.15h0a25.06,25.06,0,0,0,5.15-1.37h0c8.54-3.28,15.55-11.34,20-22.45h0c4.48-11.11,6.41-25.2,4.89-40.27h0q-.26-2.61-.66-5.25h0l1.22-.19,1.21-.18q.41,2.7.68,5.37h0c1.55,15.44-.41,29.9-5.07,41.45h0c-4.65,11.54-12,20.21-21.44,23.83h0a26.28,26.28,0,0,1-5.65,1.5h0c-.45.07-.91.13-1.37.18h0A29.93,29.93,0,0,1,202,135.48Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M281.32,85.62c11.21-1.6,13.22,24.95,47.3,22.87,0,0,1.41-17-18.6-23.47,0,0-5.73-10.19,6.2-13.4s24.11,22.06,25.84,31.08c1.27,6.65-2,18.22-21,20.25-13.87,1.47-36.59-4.23-51.07-19.45C270,103.5,263.17,88.21,281.32,85.62Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-5\",\n d: \"M327.22,77.65c.77,5.07-3.1,9.87-8.63,10.71s-10.66-2.58-11.42-7.65,3.09-9.86,8.63-10.71S326.45,72.59,327.22,77.65Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M328.62,108.49S330,91.52,310,85c0,0-5.73-10.19,6.2-13.4,8.76-2.36,17.66,10.65,22.45,21.29C340.4,96.76,337,106.51,328.62,108.49Z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"cls-6\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M339.41,94.71c-.73,3.29-1.92,7.52-3.34,9.15-2,2.31-7.14,4.59-7.14,4.59,6.58-1.55,11.05-4.18,12.48-7.91C341.17,101.46,340.24,96.35,339.41,94.71Z\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-7\",\n d: \"M254.21,62.25c-4.05-30.7-21.06-54.72-40.51-59.82a29.77,29.77,0,0,0-11.43-.76c-23.86,3.15-39.29,35.38-34.46,72s28.08,63.72,51.94,60.57a29.29,29.29,0,0,0,5.81-1.39C246.05,125.64,258.63,95.78,254.21,62.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-8\",\n d: \"M298.59,84.07c2.54,7.65-14.75,20.3-38.64,28.26s-45.31,8.21-47.86.56,14.75-20.3,38.63-28.26S296,76.42,298.59,84.07Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-9\",\n d: \"M348.21,52.3c-3.78-22.8-14.88-40-24.84-44.5C306.25,0,207.85,2.89,207.85,2.89l0,.35C227.35,8.5,244.43,33,248.56,64.35c4.51,34.22-8,64.64-28.47,71.91l0,.25C266.87,128,306.43,111.7,334,93.93,343,88.16,351.31,71,348.21,52.3Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-9\",\n d: \"M213.2,136.78h0c-11.06,0-22.11-6.43-31.12-18.12S167,91.36,164.77,74.34c-2.37-18-.2-35.54,6.13-49.37C177.34,10.89,187.32,2.28,199,.74a29.46,29.46,0,0,1,11.66.86c19.79,5.48,36.44,30.71,40.48,61.34,2.16,16.4.5,32.71-4.67,45.93s-13.6,22.62-23.63,26.23a28.32,28.32,0,0,1-9.64,1.68Zm-10.5-133a23.84,23.84,0,0,0-3.27.22c-22,2.9-36.11,34.26-31.4,69.91,4.4,33.41,24.25,59.59,45.17,59.59h0a25.68,25.68,0,0,0,3.28-.21,26.28,26.28,0,0,0,5.25-1.28c19.16-6.9,30.41-36.4,26.16-68.64C244,34,228.34,9.9,209.78,4.77A26.29,26.29,0,0,0,202.7,3.78Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-9\",\n d: \"M280.93,82.48c11.58-1.42,13.09,25.78,48.22,24.32,0,0,1.8-17.33-18.66-24.37,0,0-5.69-10.53,6.66-13.58s24.36,23,26,32.29c1.17,6.83-2.4,18.59-22.08,20.29-14.3,1.24-37.58-5-52.16-20.89C268.86,100.54,262.2,84.78,280.93,82.48Z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgUnexpected);\nexport default __webpack_public_path__ + \"static/media/unexpected.dec891ac.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactComponent as Unexpected } from '@Assets/All/unexpected.svg';\r\nimport { Component } from \"react\";\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport styled from \"styled-components/macro\";\r\nimport { base } from \"../../redux/store\";\r\n\r\nconst ErrorView = ({ error, errorInfo }) => {\r\n\r\n const redirect = () => {\r\n window.location.href = `${base}home`;\r\n }\r\n return \r\n \r\n Oops... That was unexpected :(\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Go back\r\n one minute in time\r\n \r\n \r\n \r\n}\r\nconst LinkToHomePage = styled.div`\r\n text-decoration: underline;\r\n color:#333333;\r\n cursor: pointer;\r\n`\r\nconst Wrapper = styled(Container)`\r\nmin-height:800px;\r\nheight:100%;\r\nwidth:100%;\r\ndisplay:flex;\r\njustify-content:center;\r\nalign-self:center;\r\nflex-direction:column;\r\n`\r\nexport default class ErrorBoundary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { error: null, errorInfo: null };\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n // Catch errors in any components below and re-render with error message\r\n this.setState({\r\n error: error,\r\n errorInfo: errorInfo,\r\n });\r\n // You can also log error messages to an error reporting service here\r\n }\r\n\r\n render() {\r\n const { error, errorInfo } = this.state;\r\n if (errorInfo) {\r\n // Error path\r\n return ;\r\n }\r\n // Normally, just render children\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport function errorBoundary(WrappedComponent) {\r\n return class extends ErrorBoundary {\r\n render() {\r\n const { error, errorInfo } = this.state;\r\n if (errorInfo) {\r\n // Error path\r\n return ;\r\n }\r\n //Normally, just render wrapped component\r\n return ;\r\n }\r\n };\r\n}","import { HubConnectionProvider } from \"../context/HubConnectionContext\";\r\n\r\nexport const HubConnection= (props) => {\r\n\t\r\n\r\n\treturn {props.children};\r\n};","import { getCurrentWorkspace, getQueriesStatus, isExistingWorkspaces } from \"@redux/memoizedSelectors\";\r\nimport { StatusCode, invalidWorkspaceStatus } from \"@utils/optionsSets/OptionSets\";\r\nimport { WorkspaceInvalidPage } from \"features\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\n\r\n// TODO Switch to workspace not working - routing issue\r\nexport const WorkspaceWatcher = (props) => {\r\n\tconst history = useHistory();\r\n\r\n\tconst { pending ,error} = useSelector(getQueriesStatus({ type: \"GET_ALL_WORKSPACES\" }), shallowEqual);\r\n\tconst currentWorkspace = useSelector(getCurrentWorkspace, shallowEqual);\r\n\tconst isOtherWorkspaces = useSelector(isExistingWorkspaces, shallowEqual);\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\r\n\tconst isActive = currentWorkspace?.statusCode === StatusCode.Active;\r\n\tconst isDataLoaded = pending === 0;\r\n if (isDataLoaded && !hideForPdf && !error?.message?.includes(\"401\") ) {\r\n if (!currentWorkspace) {\r\n\t\t\tif (isOtherWorkspaces) {\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\thistory.push(`/invalid-workspace?statusCode=${invalidWorkspaceStatus.Removed}`);\r\n\t\t}\r\n\t\tif (!isActive) {\r\n\t\t\tif (isOtherWorkspaces) {\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\thistory.push(`/invalid-workspace?statusCode=${invalidWorkspaceStatus.Disabled}`);\r\n\t\t}\r\n\t}\r\n\tif(!hideForPdf && error?.message?.includes(\"401\")) {\r\n\t\thistory.push(`/logout?force=true`);\r\n }\r\n\treturn <>{props.children};\r\n};\r\n","import \"@utils/helpers\";\r\nimport { encode } from \"@utils/helpers\";\r\nimport React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Redirect, Route, useLocation } from \"react-router-dom\";\r\nimport { base } from \"../../redux/store\";\r\n\r\nconst PrivateRoute = ({ component: Component, ...rest }) => {\r\n\tconst location = useLocation();\r\n\tconst urlParams = new URLSearchParams(window.location.search);\r\n\tconst pdfToken = urlParams.get(\"token\");\r\n\tconst token = useSelector((state) => state.auth.token) || pdfToken;\r\n\tconst incorrectEnvName = useSelector((state) => state.auth?.userInfo?.EnvName !== base.split(\"/\")[1]);\r\n\tconst targetPage = encode(location.pathname + location.search);\r\n\tconst allowsComponent = !incorrectEnvName && token !== undefined && token !== null;\r\n\tconst key = location.pathname + location.search?.split(\"&tab=\")?.[0];\r\n\tif(pdfToken || allowsComponent){\r\n\t\treturn } />;\r\n\t}\r\n\treturn } />;\r\n};\r\n\r\nexport default React.memo(PrivateRoute);\r\n","import { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Label } from \"shared/ui-basics/index\";\r\nimport { EntityListItem } from \"shared/ui-basics/ui-components/EntityListItem\";\r\n\r\nexport const SearchResultComponent = ({ result, resetFunction, size = 14 }) => {\r\n const { t } = useTranslation();\r\n const RenderValidation = ({ entityType, list }) => {\r\n const currentEntity = parseInt(entityType)\r\n let label = \"\"\r\n let disableClick = \"false\"\r\n switch (currentEntity) {\r\n case EntityList.Solution:\r\n label = \"SOLUTIONS\";\r\n break;\r\n\r\n case EntityList.Opportunity:\r\n label = \"OPPORTUNITIES\";\r\n break;\r\n\r\n case EntityList.Action:\r\n label = \"JS_80\";\r\n break;\r\n\r\n case EntityList.CXProgram:\r\n label = \"CX_PROGRAMS\";\r\n break;\r\n\r\n case EntityList.Persona:\r\n label = \"JS_159\";\r\n break;\r\n case EntityList.CustomerJourney:\r\n label = \"ASPX_97\";\r\n break;\r\n case EntityList.Project:\r\n label = \"PROJECTS\";\r\n break;\r\n case EntityList.Insight:\r\n label = \"ASPX_33\";\r\n break;\r\n case EntityList.Global://folders\r\n label = \"JS_67\";\r\n break;\r\n }\r\n return
\r\n \r\n {list?.map((cjm, index) => )}\r\n
\r\n }\r\n return Object.keys(result)?.map((key, index) => )\r\n}","import { GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { AsyncTypeahead, Menu, MenuItem } from \"react-bootstrap-typeahead\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components/macro\";\r\nimport { getResultService } from \"../reducer/QueryAction\";\r\nimport { SearchResultComponent } from \"./search-result-components\";\r\nimport { currentWorkspaceId } from \"index\";\r\n///when we have debounced on the value we need to run the show popOver\r\n//show must get ant target do we create fake button call 'target' and then we run the event click\r\nexport const NavigationSearchBar = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst envName = window.location.pathname.split(\"/\")[1];\r\n\tconst [value, setValue] = useState(\"\");\r\n\tconst [showMenu, setShowMenu] = useState(false);\r\n\r\n\tconst [isLoading, setIsLoading] = useState(false);\r\n\tconst [options, setOptions] = useState([]);\r\n\tconst searchRef = useRef(null);\r\n\r\n\tconst callbackData = (data) => {\r\n\t\tconst formattedOptions =\r\n\t\t\tObject.keys(data)?.map((category) => ({\r\n\t\t\t\tname: category,\r\n\t\t\t\toptions: data[category],\r\n\t\t\t})) || [];\r\n\t\tsetOptions(formattedOptions);\r\n\t\tsetIsLoading(false);\r\n\t};\r\n\r\n\tconst redirectAdvanced = (e) => {\r\n\t\trestartOptions();\r\n\t\twindow.open(`${envName}/${currentWorkspaceId}/search?query=${value}`, \"_blank\");\r\n\t};\r\n\tconst restartOptions = (e) => {\r\n\t\tsearchRef.current?.clear();\r\n\t\tsetIsLoading(false);\r\n\t\tsetShowMenu(false);\r\n\t};\r\n\r\n\tconst handleSearch = (query) => {\r\n\t\tsetShowMenu(true);\r\n\t\tsetIsLoading(true);\r\n\t\tsetValue(query);\r\n\t\tgetResultService(query, false, callbackData);\r\n\t};\r\n\tconst returnObject = (option) => {\r\n\t\treturn { [option.name]: option.options };\r\n\t};\r\n\tconst renderMenu = (results, menuProps) => {\r\n\t\tif (!showMenu) return <>;\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isLoading && <>{t(\"SEARCH_IN_PROGRESS\")}}\r\n\t\t\t\t\t{!isLoading && results.map((option, index) => )}\r\n\t\t\t\t\t{!isLoading && results.length === 0 && <>{t(\"NO_DATA\")}}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ADVANCED_SEARCH\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\tconst filterBy = () => true;\r\n\tconst clickAutoFocus = () => {\r\n\t\tsetTimeout(() => searchRef.current?.focus(), 100);\r\n\t};\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst MenuWrapper = styled(Menu)`\r\n\twidth: 425px;\r\n\tdirection: ltr;\r\n\tmax-height: 420px !important;\r\n`;\r\nconst BodyData = styled.div`\r\n\toverflow-y: scroll;\r\n\toverflow-x: hidden;\r\n\tmax-height: 340px;\r\n\tpadding: 1.25rem;\r\n`;\r\nconst MenuItemWrapper = styled(MenuItem)`\r\n\t:hover {\r\n\t\tbackground-color: transparent;\r\n\t}\r\n`;\r\nconst Footer = styled.div`\r\n\twidth: 100%;\r\n\tborder-top: 1px solid #c4c4c4;\r\n`;\r\n","import { dismissNotifications, getNotifications, updateStatusNotification } from 'features/index';\r\nimport InitialsBubble from 'features/settings/manage-users/components/initials-bubble';\r\nimport { Badge } from 'primereact/badge';\r\nimport { useImperativeHandle, useRef, useState } from 'react';\r\nimport OverlayTrigger from \"react-bootstrap/OverlayTrigger\";\r\nimport Popover from \"react-bootstrap/Popover\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { shallowEqual, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { DateComponent, EmptyListContainer, EmptyListImg, EmptyListText, GenericButton } from 'shared/ui-basics/index';\r\nimport styled, { css } from 'styled-components';\r\nimport { StatusCode } from 'utils/optionsSets/OptionSets';\r\n\r\nexport default function Notifications({ hideForPdf, innerRef }) {\r\n\r\n const { t } = useTranslation()\r\n const [show, setShow] = useState(false);\r\n const target = useRef(null);\r\n\r\n const notifications = useSelector(state => {\r\n const notifications = state.libraries?.notifications;\r\n const allMaps = state.maps.all_maps;\r\n return notifications.filter(notif => {\r\n const params = new URLSearchParams(notif.referencedObjectURL?.split(\"EditMap?\")[1])\r\n const cjmId = params.get('cjmId');\r\n return allMaps.some(map => map.cjmId === cjmId && map.statusCode === StatusCode.Active)\r\n\r\n })\r\n },shallowEqual)\r\n\r\n const hasNewNote = notifications?.find(n => n.seen === false)\r\n const hide = () => setShow(false)\r\n\r\n const dismissAll = () => {\r\n // send the request as read to the server\r\n const notificationIds = notifications.map(n => n.id)\r\n dismissNotifications({ notificationIds })\r\n hide()\r\n }\r\n const openPopover = (visible) => {\r\n getNotifications();\r\n setShow(visible)\r\n }\r\n useImperativeHandle(innerRef, () => ({\r\n hide: () => setShow(false)\r\n }), [show])\r\n\r\n const pop = (\r\n {t('NOTIFICATIONS')}\r\n {notifications?.length > 0 &&
\r\n {t('DISMISS_ALL')}\r\n
}\r\n \r\n {notifications?.length > 0 ? notifications?.sort((a, b) => new Date(b.createdOn) - new Date(a.createdOn)).map((notif, index) => ) :\r\n \r\n \r\n {t('NO_NOTIFICATIONS')}\r\n }\r\n \r\n
)\r\n\r\n return (\r\n
\r\n {!hideForPdf && \r\n \r\n \r\n {hasNewNote && }\r\n \r\n \r\n }\r\n
\r\n )\r\n}\r\n\r\n\r\nconst NotificationPost = ({ notif, hide }) => {\r\n const authorizedUsers = useSelector(state => state.settings.authorizedUsers)\r\n const user = authorizedUsers?.find(u => u.id === notif?.originatingUserId)\r\n const initials = user?.fullName?.getInitials()\r\n const { t } = useTranslation()\r\n const history = useHistory()\r\n\r\n const handleClick = () => {\r\n updateStatusNotification({ notificationId: notif.id, seen: true })\r\n history.push(notif?.referencedObjectURL)\r\n hide()\r\n }\r\n\r\n const getLabel = () => {\r\n switch (notif.notificationType) {\r\n case 100000000: //mentions\r\n return t('MENTIONED_YOU')\r\n // case 100000001: //commented\r\n // return t('COMMENTED')\r\n // case 100000002: //liked\r\n // return t('LIKED')\r\n default:\r\n return ''\r\n }\r\n }\r\n\r\n return \r\n
\r\n \r\n
{user?.fullName} {getLabel()}
\r\n
\r\n \r\n {notif?.referencedObjectName}\r\n \r\n
\r\n \r\n \r\n \r\n dismissNotifications({ notificationIds: [notif.id] })} tooltip tooltipText={t('DISMISS')} />\r\n
\r\n\r\n
\r\n}\r\nconst PopOverCustom = styled(Popover)`\r\n padding: 1rem;\r\n\tmin-width: 400px;\r\n\r\n\t.popover-header {\r\n\t\tpadding: 0.2rem 0.3rem;\r\n\t\tbackground-color: #ffffff;\r\n\t}\r\n\t.popover-body {\r\n\t\tmax-height: 300px;\r\n\t\toverflow: auto;\r\n\t}\r\n\t@media screen and (max-height: 768px) {\r\n\t\t.popover-body {\r\n\t\t\tmax-height: 200px;\r\n\t\t\toverflow: auto;\r\n\t\t}\r\n\t}\r\n`;\r\nconst NotificationContainer = styled.div`\r\n position:relative;\r\n\r\n .p-badge {\r\n position:absolute;\r\n top: 5px;\r\n right: 5px;\r\n width: 0.5rem;\r\n height:0.5rem;\r\n line-height: 0.5rem;\r\n min-width: 0.5rem;\r\n }\r\n`\r\nconst Message = styled.div`\r\nfont-weight: 600;\r\n`\r\nconst ContainerPost = styled.div`\r\nheight: 121px;\r\nbackground-color: #F8F8F8;\r\ncolor:#333333;\r\ncursor: pointer;\r\n\r\n${props => props.seen && css`\r\ncolor: #8C8C8C ;\r\nbackground-color:transparent;\r\n${Message} {\r\n font-weight: 400;\r\n}\r\n\r\n` }\r\ndisplay: flex;\r\nflex-direction: column;\r\njustify-content: space-between;\r\nborder-radius: 4px;\r\n :hover {\r\n background-color: #EAEAEA;\r\n }\r\n`\r\nconst Wrapper = styled.div`\r\nwidth: 100%;\r\nmax-height: 280px;\r\noverflow: scroll;\r\n`\r\n\r\nconst DateWrapper = styled.div`\r\nfont-size: 14px;\r\ncolor: #8C8C8C;\r\n\r\n`\r\nconst Title = styled.div`\r\nfont-size: 20px;\r\ncolor: #605F60;\r\n`","import { changePassword } from \"features/auth/reducer/AuthActions\";\r\nimport { useState } from \"react\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FormFeedback, FormGroup } from \"reactstrap\";\r\nimport { ActionConfirmModal } from \"shared/modals\";\r\nimport { IconDispatcher, Input, Label } from \"shared/ui-basics\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components\";\r\n\r\nconst PasswordManager = ({ onClose, showTitle = true}) => {\r\n\t// 8 alphanumeric characters\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [passwords, setPasswords] = useState({ newPassword: \"\", newPasswordVisible: false, confirmedPassword: \"\", confirmedPasswordVisible: false });\r\n\tconst [passwordValidations, setPasswordValidations] = useState({ isValidFormat: true, areIdentical: true });\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tfunction isValidPassword(password) {\r\n\t\tif (password.length < 8) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst letterPattern = /[A-Za-z]/;\r\n\t\tconst numberPattern = /\\d/;\r\n\t\tconst validPattern = /^[A-Za-z\\d]+$/;\r\n\r\n\t\treturn letterPattern.test(password) && numberPattern.test(password) && validPattern.test(password);\r\n\t}\r\n\r\n\tconst handlePasswordChange = (e) => {\r\n\t\tconst attribute = e.target.name;\r\n\t\tconst value = e.target.value;\r\n\t\tif (attribute === \"newPassword\") {\r\n\t\t\tconst isValidFormat = isValidPassword(value);\r\n\t\t\tconst areIdentical = passwords.confirmedPassword === value;\r\n\t\t\tsetPasswordValidations({ ...passwordValidations, isValidFormat, areIdentical });\r\n\t\t}\r\n\t\tif (attribute === \"confirmedPassword\") {\r\n\t\t\tconst isValid = passwords.newPassword === value;\r\n\t\t\tif (isValid) setPasswordValidations({ ...passwordValidations, areIdentical: true });\r\n\t\t\telse setPasswordValidations({ ...passwordValidations, areIdentical: false });\r\n\t\t}\r\n\r\n\t\te.preventDefault();\r\n\t\tif (e.charCode === 13) return;\r\n\t\tsetPasswords({ ...passwords, [attribute]: value });\r\n\t};\r\n\r\n\tconst toggleVisibility = ({ attribute }) => {\r\n\t\tsetPasswords({ ...passwords, [attribute]: !passwords[attribute] });\r\n\t};\r\n\r\n\tconst handleChangePassword = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"PASSWORD_CHANGE_WARNING\",\r\n\t\t\tAction: () => changePassword({ password: passwords.newPassword, onSuccess: onClose }),\r\n\t\t\tactionBtnText: \"CHANGE_PASSWORD\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst isActionDisabled = passwords?.newPassword === \"\" || (!passwordValidations?.isValidFormat || !passwordValidations?.areIdentical);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{showTitle && {t(\"CHANGE_PASSWORD\")}}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"PASSWORD_FORMAT_WARNING\")}\r\n\t\t\t\t\t\t toggleVisibility({ attribute: \"newPasswordVisible\" })}>{IconDispatcher(\"eye\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"PASSWORD_CONFIRMATION_WARNING\")}\r\n\t\t\t\t\t\t toggleVisibility({ attribute: \"confirmedPasswordVisible\" })}>{IconDispatcher(\"eye\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"CHANGE_PASSWORD\")}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nPasswordManager.displayName = \"PasswordManager\";\r\nexport { PasswordManager };\r\n\r\nconst PasswordSection = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nconst SectionTitle = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst InputGroup = styled.div`\r\n\tposition: relative;\r\n\t.form-control.is-invalid {\r\n\t\tbackground-image: none;\r\n\t}\r\n`;\r\n\r\nconst InputIcon = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\twidth: 30px;\r\n\theight: 38px;\r\n\tposition: absolute;\r\n\t/* left: 350px; */\r\n\ttop: 0px;\r\n\tright: 15px;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst CustomGroup = styled(FormGroup)`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 16px;\r\n`;\r\n","import { updateUser, upsertSettingUser } from \"@redux/index\";\r\nimport { MAX_SIZE_INPUT, emailValidation, supportedLanguages } from \"@utils/helpers\";\r\nimport i18n from \"@utils/i18n\";\r\nimport { SubscriptionPlan } from \"@utils/optionsSets/OptionSets\";\r\nimport UserDetails from \"features/settings/manage-users/components/user-details\";\r\nimport { memo, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Col, Dropdown, DropdownItem, DropdownMenu, DropdownToggle, Modal, ModalBody, ModalHeader, Row } from \"reactstrap\";\r\nimport { FlexAlignCenter, Input, Label } from \"shared/ui-basics\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components/macro\";\r\nimport { PasswordManager } from \"./components/password-manager\";\r\n\r\nconst UserProfileModal = memo(({ isOpen, onClose, user }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst defaultLanguageLcid = useSelector((state) => state.settings.organization.defaultDisplayLanguage);\r\n\tconst userSetting = useSelector((state) => state.settings.userSetting);\r\n\tconst contracts = useSelector((state) => state.settings?.subscriptionDetails?.subscriptionContracts);\r\n\tconst defaultLanguage = supportedLanguages.find((sl) => sl.lcid === defaultLanguageLcid);\r\n\tconst isSingleSubscription = contracts?.length === 1;\r\n\r\n\tconst [modifiedUser, setModifiedUser] = useState(user);\r\n\tconst [languageValue, setLanguageValue] = useState(supportedLanguages.find((sl) => sl.value === userSetting?.language)?.value || defaultLanguage?.value);\r\n\tconst [dropdownOpen, setDropdownOpen] = useState(false);\r\n\tconst [modifiedUserAttributes, setModifiedUserAttributes] = useState([]);\r\n\tconst [isSaveDisabled, setIsSaveDisabled] = useState(false);\r\n\r\n\tconst subscriptionPlanCode = Number(userInfo?.UserSubscriptionPlan);\r\n\tconst isSSO = user?.isMember === false;\r\n\tconst isStandard = subscriptionPlanCode === SubscriptionPlan.Standard;\r\n\tconst isSharedExpert = subscriptionPlanCode === SubscriptionPlan.SharedExpert || subscriptionPlanCode === SubscriptionPlan.SharedEnterprise;\r\n\tconst hideLoginName = !isSSO || isStandard || isSharedExpert;\r\n\tconst isSharedEnvironment = (isSingleSubscription && isStandard) || isSharedExpert;\r\n\r\n\tconst toggle = () => setDropdownOpen((prevState) => !prevState);\r\n\r\n\tconst onSave = () => {\r\n\t\ti18n.changeLanguage(languageValue);\r\n\t\tlocalStorage.setItem(\"language\", languageValue || \"en\");\r\n\r\n\t\tif (modifiedUser.firstName === \"\") return toast.info(t(\"JS_110\"));\r\n\t\tif (modifiedUser.lastName === \"\") return toast.info(t(\"JS_111\"));\r\n\t\tif (modifiedUser.email === \"\") return toast.info(t(\"COM_EMAIL_MISSING_WARNING\"));\r\n\t\tif (!hideLoginName && modifiedUser.loginName === \"\") return toast.info(t(\"EMAIL_MISSING_WARNING\"));\r\n\t\tif (!hideLoginName && !emailValidation(modifiedUser.loginName)) return toast.info(t(\"WRONG_EMAIL_FORMAT\"));\r\n\t\tif (!emailValidation(modifiedUser.email)) return toast.info(t(\"WRONG_EMAIL_FORMAT\"));\r\n\t\tif (modifiedUser.loginName.length > MAX_SIZE_INPUT || modifiedUser.firstName.length > MAX_SIZE_INPUT || modifiedUser.lastName.length > MAX_SIZE_INPUT)\r\n\t\t\treturn toast.info(t(\"EXCEEDED_MAX_SIZE_INPUT\"));\r\n\r\n\t\tsetIsSaveDisabled(true);\r\n\t\tupdateUser({ modifiedUser, modifiedAttribNames: modifiedUserAttributes, displayToast: \"PROFILE_UPDATED\", onSuccess: () => setIsSaveDisabled(false) });\r\n\t\tupsertSettingUser({ userSetting: { id: userSetting?.id, language: languageValue }, modifiedAttribNames: [\"language\"] });\r\n\t\tonClose();\r\n\t};\r\n\r\n\tconst handleUserChange = (e) => {\r\n\t\tconst attribute = e.target.name;\r\n\t\tconst value = e.target.value;\r\n\t\tif (e?.preventDefault) e?.preventDefault();\r\n\t\tif (e?.charCode === 13) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!modifiedUserAttributes?.includes(attribute)) setModifiedUserAttributes([...modifiedUserAttributes, attribute]);\r\n\t\tsetModifiedUser({ ...modifiedUser, [attribute]: value });\r\n\t};\r\n\r\n\tconst RenderEmailsFields = () => {\r\n\t\tif (!isStandard && !isSharedExpert && isSSO)\r\n\t\t\treturn (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"PROFILE\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{RenderEmailsFields()}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{supportedLanguages.find((sl) => sl.value === languageValue)?.name}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{supportedLanguages.map((sl, i) => (\r\n\t\t\t\t\t\t\t\t\t\t setLanguageValue(sl?.value)}>\r\n\t\t\t\t\t\t\t\t\t\t\t
{sl?.name}
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"SAVE\")}\r\n\t\t\t\t\r\n\t\t\t\t{isSharedEnvironment && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n});\r\n\r\nUserProfileModal.displayName = \"UserProfileModal\";\r\nexport { UserProfileModal };\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 800px;\r\n`;\r\n\r\nconst DetailsContainer = styled.div`\r\n\tmargin-bottom: 32px;\r\n`;\r\n\r\nconst InputsSection = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 24px;\r\n`;\r\n\r\nconst CustomGroup = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 16px;\r\n`;\r\n\r\nconst CustomDropdown = styled(Dropdown)`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tborder: 1px solid #ced4da !important;\r\n\tborder-radius: 4px;\r\n\t.dropdown-toggle::after {\r\n\t\tmargin-left: 274px !important;\r\n\t}\r\n`;\r\n","import { Dropdown } from \"react-bootstrap\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const DropdownWrapper = styled(Dropdown)`\r\n\tmargin: 0 !important;\r\n\tdisplay: flex;\r\n\r\n\t.dropdown-toggle:after {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.dropdown-item:hover {\r\n\t\tvisibility: visible;\r\n\t}\r\n\r\n\t.dropdown-menu.show {\r\n\t\tpadding: 0px;\r\n\t\tpadding: 16px;\r\n\t\tbox-shadow: 1px 1px 3px rgba(33, 33, 33, 0.3);\r\n\t}\r\n`;\r\n","import { getInitials } from \"@utils/helpers\";\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport UserDetails from \"features/settings/manage-users/components/user-details\";\r\nimport { useState } from \"react\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Button, GenericButton } from \"shared/ui-basics\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { UserProfileModal } from \"../modals/user-profile-modal\";\r\nimport { DropdownWrapper } from \"./nav-menu-header-style\";\r\nimport styled from \"styled-components\";\r\n\r\nexport default function InitialsOptions({ innerRef }) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\r\n\tconst [isShow, setIsShow] = useState(false);\r\n\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst users = useSelector((state) => state.settings?.users);\r\n\r\n\tconst currentUser = users.find((u) => u?.loginName?.toLowerCase() === userInfo?.UserEmail?.toLowerCase());\r\n\tconst fullName = userInfo?.UserFullName;\r\n\r\n\tconst logout = () => history.push(`/logout`);\r\n\r\n\tconst [showUserProfileModal] = useModal(UserProfileModal);\r\n\tconst handleClickProfile = () => {\r\n\t\tshowUserProfileModal({\r\n\t\t\tuser: currentUser,\r\n\t\t});\r\n\t};\r\n\r\n\tconst createActions = () => {\r\n\t\tconst actions = [];\r\n\t\tactions.push({ customItem: });\r\n\t\tactions.push({ icon: \"circle-user\", handleClick: handleClickProfile, text: t(\"PROFILE\") });\r\n\t\tactions.push({ icon: \"right-from-bracket\", handleClick: logout, text: t(\"JS_142\") });\r\n\r\n\t\treturn actions;\r\n\t};\r\n\r\n\tconst actions = createActions();\r\n\r\n\tconst handleClickItem = (action, e) => {\r\n\t\te.stopPropagation();\r\n\t\tif (action?.handleClick) action?.handleClick();\r\n\t\tif (action.customItem) return;\r\n\t\tsetIsShow(false);\r\n\t};\r\n\r\n\tconst handleToggle = (isOpen) => {\r\n\t\tif (isOpen) innerRef.current?.hide();\r\n\t\tsetIsShow(isOpen);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{actions?.map((action, index) => (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{action?.customItem ? (\r\n\t\t\t\t\t\t\taction.customItem\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t handleClickItem(action, e)} icon={action?.icon && action?.icon} disabled={action?.disabled}>\r\n\t\t\t\t\t\t\t\t\t
{action?.text}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t))}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst DropdownMenu = styled(Dropdown.Menu)`\r\n\tz-index: 1001;\r\n\ttransform: translate(-16px, 36px) !important;\r\n`;\r\n","import { useState } from \"react\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Moment from \"react-moment\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Button, GenericButton } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { SupportForm } from \"../SupportForm\";\r\nimport { DropdownWrapper } from \"./nav-menu-header-style\";\r\n\r\nexport default function NeedHelpOptions({ hideForPdf }) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst [showSupportModal] = useModal(SupportForm);\r\n\r\n\treturn \r\n\r\n}\r\n\r\nconst NeedHelp = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 16px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: normal;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t\ttext-decoration: underline;\r\n\t\topacity: 1;\r\n\t}\r\n`;\r\n\r\n","import { daysDifferenceCalculator } from \"@utils/helpers\";\r\nimport { NavigationSearchBar } from \"features/search/components/general-search-bar-nav\";\r\nimport React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components/macro\";\r\nimport Notifications from \"../Notifications\";\r\nimport InitialsOptions from \"./initials-options\";\r\nimport NeedHelpOptions from \"./need-help-options\";\r\n\r\nexport default function NavMenuHeader({ hideForPdf, isPreview }) {\r\n\tconst { t } = useTranslation();\r\n\tconst innerRef = React.useRef();\r\n\tconst EXP_WARNING_LIMIT = 14;\r\n\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst subscriptionDetails = useSelector((state) => state.settings.subscriptionDetails);\r\n\r\n\tconst isStandard = userInfo?.UserSubscriptionPlanName === \"Standard\";\r\n\tconst isTrial = subscriptionDetails.isTrial;\r\n\r\n\tconst getDaysDiff = () => {\r\n\t\t// for test: '2030-01-01T14:00:41+0000'\r\n\t\tconst todayDate = new Date();\r\n\t\tconst expirationDate = new Date(subscriptionDetails.validUntil);\r\n\t\treturn Math.ceil(daysDifferenceCalculator(todayDate, expirationDate));\r\n\t};\r\n\r\n\tconst isSubscriptionCloseToEnd = () => {\r\n\t\tif (getDaysDiff() <= EXP_WARNING_LIMIT) return true;\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst displayDaysDiff = () => {\r\n\t\tlet message = \"\";\r\n\t\tif (isTrial) message = t(\"FREE_TRIAL_EXP_WARNING\") + \" \";\r\n\t\telse message = t(\"SUBSCRIPTION_EXP_WARNING\") + \" \";\r\n\r\n\t\tconst daysDiff = getDaysDiff();\r\n\r\n\t\tif (daysDiff > 1) return message + t(\"IN\") + \" \" + daysDiff + \" \" + t(\"DAYS\");\r\n\t\tif (daysDiff == 1) return message + t(\"IN\") + \" \" + daysDiff + \" \" + t(\"DAY\");\r\n\t\treturn message + t(\"TODAY\");\r\n\t};\r\n\r\n\tconst handleSubscrClick = (e) => {\r\n\t\te.preventDefault();\r\n\t\tif (isTrial) return window.open(\"https://www.cemantica.com/Pricing\");\r\n\t\tconst url = subscriptionDetails.upgradeButtonLink.split(\"'\")[1];\r\n\t\treturn window.open(url);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!isPreview && (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{/* {sessionId && } */}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{!hideForPdf && }\r\n\t\t\t\t\t\t{subscriptionDetails && isSubscriptionCloseToEnd() && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{displayDaysDiff() + \"...\"}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{isTrial ? t(\"ASPX_226\") : t(\"EXTEND_NOW\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!isStandard && }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst Header = styled.div`\r\n\tbackground-color: #ffffff;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tposition: fixed;\r\n\tz-index: 150;\r\n\theight: 40px;\r\n`;\r\n\r\nconst ExpirationWarningContainer = styled.div`\r\n\tdisplay: flex;\r\n\theight: 30px;\r\n\ttop: 0px;\r\n\tbackground: #bdecfb;\r\n\tborder-radius: 4px;\r\n\tposition: relative;\r\n\t${(props) =>\r\n\t\tprops.isTrial &&\r\n\t\t`\r\n width: 380px;\r\n `}\r\n\r\n\t& ::before {\r\n\t\tcontent: \"\";\r\n\t\tposition: absolute;\r\n\t\tbottom: 0;\r\n\t\tleft: 0;\r\n\t\tborder-width: 16px 0 0 16px;\r\n\t\tborder-style: solid;\r\n\t\tborder-color: #a1d7f1 #f8f9fa;\r\n\t}\r\n`;\r\n\r\nconst ExpirationWarningText = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-self: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\ttext-align: center;\r\n\tcolor: #014f76;\r\n\tmargin-left: 1.3rem;\r\n`;\r\n\r\nconst ExpirationWarningAction = styled.button`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-self: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\ttext-align: center;\r\n\tcolor: #014f76;\r\n\tcursor: pointer;\r\n\tborder-bottom: 1px solid #014f76 !important;\r\n`;\r\n","import { updateFolderName } from \"@redux/index\";\r\nimport { getIsSubscriptionAllowed } from \"@utils/helpers\";\r\nimport React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport EditTitle from \"shared/components/EditableText\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { Flex } from \"shared/ui-basics/index\";\r\nimport { allRoutes, librariesRoutes } from \"../../../shared/Routes/routes\";\r\nimport * as Style from \"./style\";\r\n\r\nexport function NavLinkComponent(props) {\r\n\tconst { route, text, icon } = props;\r\n\tconst { pathname, search } = useLocation();\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst contracts = useSelector((state) => state.settings?.subscriptionDetails?.subscriptionContracts);\r\n\tconst { UserSubscriptionPlanName = \"\" } = useSelector(({ auth }) => auth?.userInfo || {});\r\n\tconst isFooterRoutes = allRoutes.footer?.map((m) => m.route)?.includes(route);\r\n\r\n\tconst isSubscriptionAllowed = getIsSubscriptionAllowed({ isMultiSubscription: props?.isMultiSubscription, contracts, access: props?.access, userSubscriptionName: UserSubscriptionPlanName });\r\n\tconst getSelectedRoute = () => {\r\n\t\tif (pathname === \"/edit-workspace\" && route === \"/workspaces\") return true;\r\n\t\tif (pathname === \"/edit-user\" && route === \"/users\") return true;\r\n\t\tif (props.isWorkspace) {\r\n\t\t\tconst folderId = search.getFolderId();\r\n\t\t\treturn folderId ? false : props.activeRoutes?.includes(pathname);\r\n\t\t}\r\n\t\tif (route === \"/libraries\") {\r\n\t\t\treturn `${pathname}${search}` === `${route}` || librariesRoutes.includes(pathname);\r\n\t\t}\r\n\t\tif(route === \"/taxonomy\"){\r\n\t\t\treturn pathname.includes(route)\r\n\t\t}\r\n\t\tif (route === \"/templates\") {\r\n\t\t\treturn `${pathname}` === `${route}`;\r\n\t\t}\r\n\t\treturn `${pathname}${search}` === `${route}`;\r\n\t};\r\n\tconst isActive = getSelectedRoute();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{IconDispatcher(icon, \"\", { style: \"regular\", family: \"sharp\", size: \"md\" })}\r\n\t\t\t
\r\n\t\t\t{t(text)}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport const CollapseButton = ({ text, openFolder, onClick, actions, id, rename, setRename, isReadOnly }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [folderName, setFolderName] = React.useState(text);\r\n\r\n\tconst handleClick = (dropdownAction) => {\r\n\t\tconst elementToScroll = document.getElementById(`folderId=${id}`);\r\n\t\tif (elementToScroll) {\r\n\t\t\telementToScroll.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\r\n\t\t}\r\n\t};\r\n\r\n\tconst renderActions = () => {\r\n\t\tif (isReadOnly) return null;\r\n\t\tswitch (actions.type) {\r\n\t\t\tcase \"button\":\r\n\t\t\t\treturn ;\r\n\t\t\tcase \"dropdown\":\r\n\t\t\t\treturn CreateActionsDropdown({ id: `${id}_Main`, actions: actions.actions, autoClose: \"outside\", right: \"0\", dropdownClasses: \" \", handleClick, menuVariant: \"sidebar\" });\r\n\t\t\tcase \"folder\":\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{id ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{rename === id ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(text)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t{t(text)}\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t{actions && {renderActions()}}\r\n\t\t
\r\n\t);\r\n};\r\n","import { EMPTY_GUID, isReadOnly } from \"@utils/helpers\";\r\nimport BaseActions from \"features/folders/actions/BaseActions\";\r\nimport React, { memo, useCallback, useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Collapse } from \"reactstrap\";\r\nimport { CollapseButton, NavLinkComponent } from \"../navigation/SideBar/NavComponents.jsx\";\r\nimport { allRoutes } from \"shared/Routes/routes.js\";\r\n\r\nfunction FoldersManager() {\r\n\tconst folders = useSelector(({ folders }) => folders?.getActiveRecords().getMainFolders());\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{folders.map((folder) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst FolderItem = memo(({ folderId }) => {\r\n\tconst folderIdByUrl = useLocation().search.getFolderId();\r\n\tconst folders = useSelector(({ folders }) => folders);\r\n\tconst { UserType = \"\" } = useSelector(({ auth }) => auth?.userInfo || {});\r\n\r\n\tconst folder = folders?.find((folder) => folder.id === folderId);\r\n\tconst [openFolder, setOpenFolder] = useState(folderIdByUrl === folderId ? true : false);\r\n\tconst [rename, setRename] = useState(false);\r\n\tconst userType = Number(UserType);\r\n\tconst allEntities = allRoutes.top?.filter((entity) => entity.route !== \"/home\" && entity.readOnlyMode === undefined);\r\n\tconst allLinkedCountReducer = allEntities.reduce((acc, entity) => {\r\n\t\tconst linked = folder[entity?.linkedAttribute];\r\n\t\tif (linked?.length > 0) {\r\n\t\t\tacc += linked.length;\r\n\t\t}\r\n\t\treturn acc;\r\n\t}, 0);\r\n\tconst [allLinkedCount, setAllLinkedCount] = useState(allLinkedCountReducer+folder?.linkedFolders?.length);\r\n\tuseEffect(() => {\r\n\t\tconst count =allLinkedCountReducer + folder?.linkedFolders?.length;\r\n\t\tif(!openFolder && count !== allLinkedCount){\r\n\t\t\tsetOpenFolder(true)\r\n\t\t\tsetAllLinkedCount(count)\r\n\t\t}\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t},[allLinkedCountReducer,allLinkedCount,folder?.linkedFolders])\r\n\r\n\r\n\tuseEffect(() => {\r\n\t\tif (folderIdByUrl === folderId) {\r\n\t\t\tsetOpenFolder(true);\r\n\t\t}\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, []);\r\n\r\n\tconst RenderLinkElement = useCallback(() => {\r\n\t\tconst navLinkComponents = [];\r\n\r\n\t\tallEntities.forEach((entity) => {\r\n\t\t\tconst linked = folder[entity?.linkedAttribute];\r\n\t\t\tif (linked?.length > 0) {\r\n\t\t\t\tconst route = entity.route;\r\n\t\t\t\tconst newRoute = { ...entity, route: `${route}?folderid=${folderId}` };\r\n\r\n\t\t\t\tnavLinkComponents.push();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (folder?.linkedFolders?.length > 0) {\r\n\t\t\tfolder?.linkedFolders?.forEach((foldId) => {\r\n\t\t\t\tconst gotIt = folders.find((folder) => folder.id === foldId);\r\n\t\t\t\tif (gotIt) {\r\n\t\t\t\t\tnavLinkComponents.push();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn navLinkComponents;\r\n\t}, [folder, folderId, folders,allEntities]);\r\n\r\n const hanldeClick = () => {\r\n\t\tsetOpenFolder(!openFolder);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\nFoldersManager.displayName = \"FoldersManager\";\r\nFolderItem.displayName = \"FolderItem\";\r\nexport default memo(FoldersManager);\r\n","import { getIsSubscriptionAllowed, isReadOnly } from \"@utils/helpers\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { PopoverSubscription } from \"../../../shared/popovers/PopoverSubscription\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { NavLinkComponent } from \"../SideBar/NavComponents\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nexport const NavigationElement = (props) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { allowPopover, readOnlyMode, access, isMultiSubscription } = props;\r\n\r\n\tconst isNavigationBarOpen = useSelector(({ ui }) => ui.page.sidebar.isOpen);\r\n const userInfo = useSelector(({ auth }) => auth?.userInfo || {});\r\n\tconst contracts = useSelector((state) => state.settings?.subscriptionDetails?.subscriptionContracts);\r\n \r\n\tconst userType = Number(userInfo?.UserType);\r\n\tconst isSubscriptionAllowed = getIsSubscriptionAllowed({isMultiSubscription, contracts, access, userSubscriptionName: userInfo?.UserSubscriptionPlanName });\r\n \r\n\tif (readOnlyMode)\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{isReadOnly(userType) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{IconDispatcher(\"VIEW\")}\r\n\t\t\t\t\t\t{t(\"NAV_READ_ONLY_WARNING\")}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\tif (!isNavigationBarOpen) return null;\r\n\r\n\treturn allowPopover ? (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t) : (\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst ReadOnlyWarning = styled.div`\r\n\tbackground-color: #f8c8ae;\r\n\tmargin-top: 20px;\r\n\tmargin-bottom: 20px;\r\n\tmargin-right: 10px;\r\n\tborder-radius: 4px;\r\n\tdisplay: flex;\r\n\r\n\t${(props) =>\r\n\t\tprops.variant === \"open\" &&\r\n\t\tcss`\r\n\t\t\tjustify-content: top;\r\n\t\t\talign-items: flex-start;\r\n\t\t\twidth: fit-content;\r\n\t\t\theight: fit-content;\r\n\t\t\tpadding: 0.5rem;\r\n\t\t\tmargin-left: 7px;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.variant === \"close\" &&\r\n\t\tcss`\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t\twidth: 30px;\r\n\t\t\theight: 15px;\r\n\t\t\tpadding: 1rem;\r\n\t\t\tmargin-left: 10px;\r\n\t\t`}\r\n`;\r\n\r\nconst ReadOnlyWarningText = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tfont-size: 12px;\r\n\tline-height: 15px;\r\n\theight: 100%;\r\n\ttext-align: left;\r\n`;\r\n\r\nconst EyeWrapper = styled.div`\r\n\t${(props) =>\r\n\t\tprops.variant === \"open\" &&\r\n\t\tcss`\r\n\t\t\tmargin-right: 10px;\r\n\t\t\theight: 100%;\r\n\t\t\talign-self: flex-start;\r\n\t\t\ttransform: translate(0px, -4px);\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.variant === \"close\" &&\r\n\t\tcss`\r\n\t\t\ttransform: translate(0px, 0px);\r\n\t\t`}\r\n`;\r\n","import { getAllActiveWorkspacesMemoized } from \"@redux/memoizedSelectors\";\r\nimport WorkspaceDropdown from \"features/workspace/components/dropdowns/workspace-dropdown\";\r\nimport WorkspaceLogoAndName from \"features/workspace/components/others/workspace-logo-and-name\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useGetIsCompanyAdmin } from \"shared/hooks\";\r\nimport { Button, COLORS, IconDispatcher } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const TopActions = ({ setNavigationSidebar, isNavigationBarOpen }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst isCompanyAdmin = useGetIsCompanyAdmin();\r\n\r\n\tconst userInfo = useSelector((state) => state?.auth?.userInfo);\r\n const allActivesWorkspaces = useSelector(getAllActiveWorkspacesMemoized);\r\n\tconst contracts = useSelector((state) => state.settings?.subscriptionDetails?.subscriptionContracts);\r\n \r\n // Need to have AT LEAST one Enterprise Plan (we do this check for multi subs contracts)\r\n\tconst isSubscriptionAuthorized = contracts?.find((contract) => [\"Enterprise\"].includes(contract.subscriptionPlan)) ? true : false;\r\n\tconst userId = userInfo?.UserId;\r\n\r\n\tconst handleSideBarClick = () => setNavigationSidebar(!isNavigationBarOpen);\r\n\r\n\tconst getIcon = (workspace) => {\r\n\t\tconst isWorkspaceOwner = workspace?.authorizedUsers.find((u) => u?.id === userId)?.roleName === \"owner\";\r\n\t\tif (isCompanyAdmin || isWorkspaceOwner) return \"gear\";\r\n\t\treturn undefined;\r\n\t};\r\n\r\n\tconst ToggleComponent = ({ workspace }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{isNavigationBarOpen && }\r\n\t\t\t{!isNavigationBarOpen && {IconDispatcher(\"bars-sort\")}}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\twidth: 100%;\r\n\theight: 44px;\r\n`;\r\n\r\nconst SidebarButton = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\theight: 40px;\r\n\tfont-size: 16px;\r\n\tborder-radius: 4px;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\tbackground-color: ${COLORS.lightHover} !important;\r\n\tcolor: ${COLORS.label} !important;\r\n\tsvg {\r\n\t\twidth: 18px;\r\n\t\theight: 18px;\r\n\t}\r\n`;\r\n","import { createFolder } from \"@redux/index\";\r\nimport { setNavigationSidebar } from \"@redux/pageReducer\";\r\nimport { isReadOnly, isUserAllowed } from \"@utils/helpers\";\r\nimport { UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport React, { useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { NewModal } from \"shared/modals/index\";\r\nimport { FlexAlignCenter, GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport FoldersManager from \"../../folders/FoldersManager\";\r\nimport { NavigationElement } from \"../Components/navigation-element\";\r\nimport { TopActions } from \"../Components/top-actions\";\r\nimport { allRoutes, editRoutes, inactiveTrashRoutes, settingsfooterRoutes } from \"../../../shared/Routes/routes\";\r\nimport * as Style from \"./style\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\n\r\nexport const NavigationSidebar = ({ hideForPdf, isPreview }) => {\r\n\tconst location = useLocation();\r\n\tconst { t } = useTranslation();\r\n\tconst [openTrash, setOpenTrash] = React.useState(false);\r\n\tconst [openSettings, setOpenSettings] = React.useState(false);\r\n\r\n\tconst isNavigationBarOpen = useSelector(({ ui }) => ui.page.sidebar.isOpen);\r\n\tconst userInfo = useSelector(({ auth }) => auth?.userInfo || {});\r\n\tconst isOverflowAllowed = useSelector(({ ui }) => ui.page.sidebar.isOverflowAllowed);\r\n\tconst isCurrentWorkspaceOwner = useSelector((state) => state.workspaces.currentWorkspaceRole) === \"owner\";\r\n\tconst ownedWorkspaces = useSelector((state) => state.workspaces.all_workspaces)?.filter((ws) => ws.authorizedUsers.find((au) => au?.id === userInfo?.UserId)?.roleName === \"owner\");\r\n\tconst isAWorkspaceOwner = ownedWorkspaces.length > 0;\r\n\tconst logoRefreshValue = useSelector((state) => state.settings.organization?.logoRefreshValue);\r\n\r\n\tconst userType = Number(userInfo?.UserType);\r\n\tconst isCompanyAdmin = userType === UserType.companyAdmin;\r\n const isAdmin = userType === UserType.admin;\r\n const isUser = userType === UserType.user\r\n\tconst isConfigAllowed = [\"Expert\", \"Enterprise\"].includes(userInfo?.UserSubscriptionPlanName);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\r\n\tconst hideSidebar = hideForPdf || isPreview;\r\n\tconst [newModal] = useModal(NewModal);\r\n\r\n\tconst getSideBarStatus = () => {\r\n\t\tif ([\"/templates\", \"/integration\"].includes(location.pathname)) return true;\r\n\t\tif (editRoutes.includes(location.pathname)) return false;\r\n\t\treturn isNavigationBarOpen;\r\n\t};\r\n\tuseEffect(() => {\r\n\t\tsetNavigationSidebar(getSideBarStatus());\r\n\t\thandleClickSidebar();\r\n\t}, [location.pathname]);\r\n\r\n\tconst inactiveProps = { ...allRoutes.footer[0], icon: openTrash ? \"ARROW_LEFT\" : allRoutes.footer[0].icon };\r\n const settingsProps = { ...allRoutes.footer[1], icon: openSettings ? \"ARROW_LEFT\" : allRoutes.footer[1].icon };\r\n\r\n if (isUser && isAWorkspaceOwner) settingsProps.route = \"/workspaces\"\r\n\tconst showManageUsers = isCompanyAdmin || isAdmin;\r\n\tconst showSettings = (isCompanyAdmin || isAdmin || isAWorkspaceOwner) && !openTrash;\r\n\tconst showWorkspaces = isCompanyAdmin || isAWorkspaceOwner;\r\n\tconst showCustomizations = isCompanyAdmin || isAdmin || isCurrentWorkspaceOwner;\r\n\tconst logoUrl = getterApis[\"GET_ACCOUNT_IMG\"](sessionId, logoRefreshValue);\r\n\tconst showLogo = sessionId && isNavigationBarOpen;\r\n\tconst showFooterElement = (route) => {\r\n\t\tlet show = true;\r\n\t\tif (route === \"/organization\" && (!isCompanyAdmin && !isAdmin)) show = false;\r\n\t\tif (route === \"/configuration\" && (!isConfigAllowed || !isCompanyAdmin)) show = false;\r\n\t\tif (route === \"/workspaces\" && !showWorkspaces) show = false;\r\n\r\n\t\treturn show;\r\n\t};\r\n\r\n\tconst createNewFolder = (e) => {\r\n\t\te.stopPropagation();\r\n\t\tnewModal({\r\n\t\t\ttitle: \"JS_84\",\r\n\t\t\tcloseBtnLabel: \"ASPX_135\",\r\n\t\t\tinputTitle: \"JS_69\",\r\n\t\t\tplaceholder: \"JS_68\",\r\n\t\t\taction: (name) => {\r\n\t\t\t\tcreateFolder({ name });\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleOpenTrash = () => {\r\n\t\tsetOpenSettings(false);\r\n\t\tsetOpenTrash(!openTrash);\r\n\t};\r\n\r\n\tconst handleOpenSettings = () => {\r\n\t\tsetOpenTrash(false);\r\n\t\tsetOpenSettings(!openSettings);\r\n\t};\r\n\r\n\tconst handleClickSidebar = () => {\r\n\t\tconst settingsRoutes = settingsfooterRoutes.map((route) => (route?.activeRoutes ? route?.activeRoutes : route?.route)).flat();\r\n\t\tconst settingsRoutesUpdated = [\r\n\t\t\t...settingsRoutes, \r\n\t\t\t...[\"/library-touchpoints\", \"/library-stickers\", \"/library-custom\", \"/library-brandvalues\", \r\n\t\t\t\t\"/library-measures\",\"/taxonomy-status\",\"/taxonomy-priority\",\"/taxonomy-group\",\"/taxonomy-tag\",\"/taxonomy-insight-type\"]];\r\n\t\tif (!openSettings && settingsRoutesUpdated.includes(location.pathname)) return setOpenSettings(true);\r\n\r\n\t\tif (!settingsRoutesUpdated.includes(location.pathname) && openSettings) return setOpenSettings(false);\r\n\r\n\t\tif (openTrash && ![\"/archive\", \"/trash\"].includes(location.pathname)) {\r\n\t\t\treturn setOpenTrash(false);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{showLogo && }\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{isNavigationBarOpen && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{allRoutes.top.slice(1, Infinity).map((route, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t{!isReadOnly(userType) && (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t(\"ADD_FOLDER\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{!openSettings && !openTrash && }\r\n\t\t\t\t\t\t{isUserAllowed(userType, \"user\") && !openSettings && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{!openTrash &&
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
}\r\n\t\t\t\t\t\t\t\t{openTrash && (<>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{IconDispatcher(\"ARROW_LEFT\", \"me-2\", { style: 'regular', family: 'sharp', size: \"md\" })}{t(\"DISABLED_RECORDS\")}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{inactiveTrashRoutes.map((route, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{showSettings && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{!openSettings && (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{openSettings && (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{IconDispatcher(\"ARROW_LEFT\", \"me-2\", { style: 'regular', family: 'sharp', size: \"md\" })}{t(\"ASPX_207\")}\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{settingsfooterRoutes.slice(0, 3)?.map((route, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (showFooterElement(route.route)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{showManageUsers && (\r\n\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t(\"ASPX_227\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{settingsfooterRoutes.slice(3, 6)?.map((route, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (showFooterElement(route.route)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{showCustomizations && !isReadOnly(userType) && (\r\n\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t(\"WORKSPACE_CUSTOMIZATION\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{settingsfooterRoutes.slice(6, 10)?.map((route, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (showFooterElement(route.route)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n","import { PasswordManager } from 'features/navigation/Header/modals/components/password-manager';\r\nimport { memo } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Modal, ModalBody } from 'reactstrap';\r\n\r\ntype ChangePasswordModalProps = {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n\r\n}\r\n\r\nconst ChangePasswordModal = memo(({ isOpen, onClose, }: ChangePasswordModalProps) => {\r\n\r\n const { t } = useTranslation();\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n
{t(\"CHANGE_YOUR_PASSWORD\")}
\r\n {t('CHANGE_PASSWORD_DESCRIPTION')}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n})\r\n\r\nChangePasswordModal.displayName = 'ChangePasswordModal';\r\nexport { ChangePasswordModal };\r\n\r\n","import { getFolders } from \"@redux/index\";\r\nimport { getAllWorkspaces } from \"features/workspace/reducer/WorkspaceActions\";\r\nimport { useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { ModalProvider } from \"use-modal-hook\";\r\nimport NavMenuHeader from \"./Header/NavMenuHeader/NavMenuHeader\";\r\nimport { NavigationSidebar } from \"./SideBar/NavigationSidebar\";\r\nimport { ChangePasswordModal } from \"features/auth/modals/changePasswordModal\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport default function NavMenu() {\r\n\tconst search = useLocation().search;\r\n\tconst hideForPdf = search.hideForPdf();\r\n\tconst isPreview = search.isPreview();\r\n\tconst mustResetPassword = useSelector(({ auth }) => auth?.userInfo?.MustResetPassword === \"True\");\r\n\tconst { i18n } = useTranslation();\r\n\tconst language = useSelector((state) => state.settings?.userSetting?.language);\r\n\tconst [openModal] = useModal(ChangePasswordModal);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (language !== i18n.language) {\r\n\t\t\ti18n.changeLanguage(language || \"en\");\r\n\t\t\tlocalStorage.setItem(\"language\", language || \"en\");\r\n\t\t}\r\n\t\tif (mustResetPassword) {\r\n\t\t\topenModal();\r\n\t\t}\r\n\t}, [language, mustResetPassword]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import styled from \"styled-components/macro\";\r\nimport NavMenu from \"../../features/navigation/navigation-component\";\r\n\r\nfunction GlobalLayout({ children }) {\r\n\tvar isFirefox = navigator.userAgent.toLowerCase().indexOf(\"firefox\") > -1;\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\nexport default GlobalLayout;\r\n\r\nconst Container = styled.div`\r\n\tmargin-top: 40px;\r\n\twidth: 100%;\r\n\tbackground-color: #FFFFFF;\r\n\theight: calc(100vh - 40px);\r\n\toverflow: ${(props) => (props.isFirefox ? \"scroll\" : \"overlay\")};\r\n\tz-index: 100;\r\n\t//${(props) => (props.displayFlex ? \"display:flex;\" : \"\")};\r\n`;\r\n","import { HubConnection } from \"features/signalR/provider/hub-connection\";\r\nimport { WorkspaceWatcher } from \"features/workspace/components/watcher/workspace-watcher\";\r\nimport { Suspense, useMemo } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Redirect, Route, Switch } from \"react-router-dom\";\r\nimport PrivateRoute from \"shared/components/PrivateRoute\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { ColorPickerProvider } from \"shared/dynamic-imports\";\r\nimport GlobalLayout from \"shared/global-layouts/app-layouts\";\r\nimport { useSubscriptionCheck } from \"shared/hooks\";\r\nimport { ModalProvider } from \"use-modal-hook\";\r\nimport { filterRoutesAccess, updateDictionnaryAccess } from \"./route-validation\";\r\n\r\nexport default function PrivateRoutesValidation() {\r\n\tconst { userInfo, token } = useSelector(({ auth }) => auth || {});\r\n\tconst workspaces = useSelector((state) => state.workspaces.all_workspaces);\r\n\r\n\tconst { UserSubscriptionPlanName = \"\", UserType = \"\", UserId } = userInfo || {};\r\n\r\n\t// configHeaderAxios(token);\r\n\r\n\tuseSubscriptionCheck(UserSubscriptionPlanName);\r\n\tconst AccessDictionary = useMemo(() => updateDictionnaryAccess(UserId, UserType, workspaces), [UserId, UserType, workspaces]);\r\n\tconst { lazyPages, nonLazyPages } = useMemo(() => filterRoutesAccess(AccessDictionary, UserSubscriptionPlanName), [AccessDictionary, UserSubscriptionPlanName]);\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t}>\r\n\t\t\t\t\t{lazyPages?.map((route, index) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\t{nonLazyPages.map((route, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\t } />\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst Providers = ({ children }) => (\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t{children}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n);\r\n","import { useEffect } from 'react';\r\nimport { clearPersistedIndexedDB } from 'redux/helpers';\r\n\r\nconst useVersionCheck = () => {\r\n useEffect(() => {\r\n const checkVersion = async () => {\r\n try {\r\n const response = await fetch('/version.json', { cache: 'no-store' });\r\n const { version } = await response.json();\r\n const storedVersion = localStorage.getItem('appVersion');\r\n if (storedVersion !== version) {\r\n localStorage.setItem('appVersion', version);\r\n clearPersistedIndexedDB()\r\n window.location.reload(true); // Force reload\r\n \r\n }\r\n } catch (error) {\r\n console.error('Failed to check app version:', error);\r\n }\r\n };\r\n\r\n checkVersion(); // Run check on mount\r\n }, []);\r\n};\r\n\r\nexport default useVersionCheck;\r\n","import {\r\n\tAuthenticate,\r\n\tAuthentication,\r\n\tInvalidPage,\r\n\tLoginPage,\r\n\tLogout\r\n} from \"features/index\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport \"./styles.scss\";\r\n\r\nimport WorkspaceInvalidPage from \"features/workspace/view/workspace-invalid-page\";\r\nimport PrivateRoutesValidation from \"shared/Routes/private-routes-validation\";\r\nimport { useNetworkStatus } from \"shared/hooks/useNetworkStatus\";\r\nimport useVersionCheck from \"shared/hooks/useVersionCheck\";\r\n\r\nexport default function App() {\r\n\tuseVersionCheck();\r\n\tuseNetworkStatus();\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n \r\n \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nApp.propTypes = {\r\n\thistory: PropTypes.object,\r\n};\r\n","import \"bootstrap/dist/css/bootstrap.css\";\r\nimport \"primeicons/primeicons.css\";\r\nimport \"primereact/resources/primereact.min.css\"; //core css\r\nimport \"primereact/resources/themes/lara-light-indigo/theme.css\";\r\n\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nimport { ConnectedRouter } from \"connected-react-router\";\r\nimport { PersistGate } from \"redux-persist/integration/react\";\r\n\r\nimport { Suspense } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { Provider } from \"react-redux\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport ErrorBoundary from \"shared/components/ErrorBoundary\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport App from \"./App\";\r\nimport \"./utils/i18n\";\r\nimport { store, persistor, history, base } from \"./redux/store\";\r\nimport { isGUID } from \"./redux/helpers\";\r\n\r\nexport const currentWorkspaceId = isGUID(base.split(\"/\")[2]) ? base.split(\"/\")[2] : null;\r\n\r\nReactDOM.render(\r\n\t\r\n\t\t} persistor={persistor}>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t,\r\n\tdocument.getElementById(\"root\")\r\n);\r\n\r\n","import React, { useState } from \"react\";\r\nimport { useAsyncs } from \"shared/hooks\";\r\nimport { Spinner } from \"./spinners/Spinner\";\r\ninterface Props {\r\n\tasyncFns?: any[];\r\n\treduxActions?: any[];\r\n\tresets?: any[];\r\n\tdisabled?: boolean;\r\n\tdisabledSpinner?: boolean;\r\n\tchildren: React.ReactNode;\r\n\tspinnerFixed?: boolean;\r\n\tfull?: any;\r\n\tCustomLoading?: React.ReactNode;\r\n\r\n}\r\n\r\nconst DataLoader = ({ asyncFns = [], reduxActions = [], resets = [], disabled = false,\r\n\tdisabledSpinner = false, children, spinnerFixed = false, full, CustomLoading }: Props) => {\r\n\tconst [loading, setLoading] = useState(disabledSpinner ? false : true);\r\n\tuseAsyncs({\r\n\t\tasyncFns: disabled ? [] : [...asyncFns, ...reduxActions.map((action) => ({ asyncFn: action }))] as any,\r\n\t\tsetLoading,\r\n\t\tresets,\r\n\t} as any);\r\n\tif (disabledSpinner || disabled) {\r\n\t\treturn <>{children}\r\n\t}\r\n\tif (CustomLoading) {\r\n\t\treturn <> {loading ? CustomLoading : children};\r\n\t}\r\n\r\n\treturn <> {loading ? : children};\r\n};\r\n\r\nDataLoader.displayName = \"DataLoader\";\r\nexport default DataLoader;\r\n","import { EMPTY_GUID, constructUrl, encode } from \"@utils/helpers\";\r\nimport { store } from \"redux/store\";\r\nimport { genericService } from \"shared/GenericService\";\r\nimport { toastWrapper } from \"utils/helpers\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, ...props }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t\t...props,\r\n\t});\r\n};\r\n\r\nconst createPostActionLib = InitActionCreator({ baseUrl: \"api/library/\", method: \"POST\" }); // api actions type post\r\nconst createGetActionLib = InitActionCreator({ baseUrl: \"api/library/\", method: \"GET\" });\r\n\r\nexport const libraryInit = () => createGetActionLib({ type: \"LIBRARY_INIT\", endPoint: \"getAll\", meta: { joinRequest: \"LIBRARY_INIT\" } });\r\n\r\nexport const upsertLibrary = ({ library, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionLib({\r\n\t\t\ttype: \"UPSERT_LIBRARY\",\r\n\t\t\tendPoint: \"upsert\",\r\n\t\t\tdata: {\r\n\t\t\t\tlibrary,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: props.displayToast || \"CREATE_NO_SUCCESS_TOAST\",\r\n\t});\r\nexport const copyLibrary = ({ libraryId, name, workspaceIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionLib({\r\n\t\t\ttype: \"COPY_LIBRARY\",\r\n\t\t\tendPoint: \"copy\",\r\n\t\t\tdata: {\r\n\t\t\t\tlibraryId,\r\n\t\t\t\tnewSubject: encode(name),\r\n\t\t\t\tworkspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"COPY\",\r\n\t});\r\nexport const deleteLibrary = ({ libraryId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionLib({\r\n\t\t\ttype: \"DELETE_LIBRARY\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tlibraryId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const uploadExcelLibraryValue = ({ libraryId, fileBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionLib({\r\n\t\t\ttype: \"UPLOAD_FILE\",\r\n\t\t\tendPoint: \"uploadExcel\",\r\n\t\t\tdata: {\r\n\t\t\t\tfileBody64,\r\n\t\t\t\tlibraryId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const getExcelLibraryTemplateExport = () => createGetActionLib({ type: \"GET_EXCEL_TEMPLATE_EXPORT\", endPoint: \"getExcelTemplate\", responseType: \"blob\" });\r\n\r\nexport const getExcelLibraryTemplateService = () => {\r\n\tconst promise = async () => {\r\n\t\tconst { data, error } = await store.dispatch(getExcelLibraryTemplateExport());\r\n\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\tfileDownload(data, \"Library Value Import Template\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\tif (error) throw error;\r\n\t};\r\n\ttoastWrapper(promise, \"EXPORT\");\r\n};\r\nexport const upsertValueLibrary = ({ libraryValue, libraryId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionLib({\r\n\t\t\ttype: \"UPSERT_VALUE_LIBRARY\",\r\n\t\t\tendPoint: \"upsertValue\",\r\n\t\t\tdata: {\r\n\t\t\t\tlibraryValue,\r\n\t\t\t\tlibraryId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: props.displayToast || \"CREATE_NO_SUCCESS_TOAST\",\r\n\t});\r\nexport const deleteValueLibrary = ({ libraryId, libraryValueId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionLib({\r\n\t\t\ttype: \"DELETE_VALUE_LIBRARY\",\r\n\t\t\tendPoint: \"deleteValue\",\r\n\t\t\tdata: {\r\n\t\t\t\tlibraryId,\r\n\t\t\t\tlibraryValueId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const copyValueLibrary = ({ libraryId, libraryValueId, name, workspaceIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionLib({\r\n\t\t\ttype: \"COPY_VALUE_LIBRARY\",\r\n\t\t\tendPoint: \"copyValue\",\r\n\t\t\tdata: {\r\n\t\t\t\tlibraryId,\r\n\t\t\t\tlibraryValueId,\r\n\t\t\t\tnewSubject: encode(name),\r\n\t\t\t\tworkspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"COPY\",\r\n\t});\r\n\r\nexport const unlinkLibraryValue = ({ swimLaneItemId, customSwimLaneId, stageId, cjmId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionLib({\r\n\t\t\ttype: \"UNLINK_LIBRARY_VALUE\",\r\n\t\t\tendPoint: \"unlinkLibraryValue\",\r\n\t\t\tdata: {\r\n\t\t\t\tcustomSwimLaneId,\r\n\t\t\t\tswimLaneItemId,\r\n\t\t\t\tstageId,\r\n\t\t\t\tcjmId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const getCustomLibraryLinkedRecords = ({ libraryId, libraryValueId }) =>\r\n\tcreateGetActionLib({\r\n\t\ttype: \"CUSTOM_LIBRARY_GET_RELATED_RECORDS\",\r\n\t\tendPoint: constructUrl(\"getRelatedRecord\", {\r\n\t\t\tlibraryId,\r\n\t\t\tlibraryValueId,\r\n\t\t}),\r\n\t\tparams: { libraryId },\r\n\t});\r\n\r\nexport const getCustomLibraryLinkedRecordsFn = ({ libraryId, libraryValueId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: getCustomLibraryLinkedRecords({ libraryId, libraryValueId }),\r\n\t});\r\n\r\n// export const getOpportunityRelatedRecords = (props) =>\r\n// createGetAction({\r\n// type: \"GET_OPPORTUNITY\",\r\n// endPoint: constructUrl(\"get\", {\r\n// opportunityId: props?.opportunityId,\r\n// }),\r\n// params: { opportunityId: props?.opportunityId },\r\n// });\r\n\r\n// export const getOpportunityRelatedRecordsFn = ({ opportunityId, ...props }) =>\r\n// genericService({\r\n// ...props,\r\n// action: getOpportunityRelatedRecords({ opportunityId }),\r\n// });\r\n\r\nexport const linkLibraryValues = ({ swimLaneItemIds = [], libraryValueIds = [], customSwimLaneId, stageId, cjmId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionLib({\r\n\t\t\ttype: \"LINK_LIBRARY_VALUES_MULTI\",\r\n\t\t\tendPoint: \"linkLibraryValues\",\r\n\t\t\tdata: {\r\n\t\t\t\tswimLaneItemIds,\r\n\t\t\t\tlibraryValueIds,\r\n\t\t\t\tcustomSwimLaneId,\r\n\t\t\t\tstageId,\r\n\t\t\t\tcjmId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nconst createPostActionPriorities = InitActionCreator({ baseUrl: \"api/priority/\", method: \"POST\" }); // api actions type post\r\nconst createGetActionPriorities = InitActionCreator({ baseUrl: \"api/priority/\", method: \"GET\" });\r\n\r\nexport const priorityInit = (props) =>\r\n\tcreateGetActionPriorities({\r\n\t\ttype: \"PRIORITY_INIT\",\r\n\t\tendPoint: constructUrl(\"getAll\", {\r\n\t\t\tcheckIsUsed: props?.showUsedData,\r\n\t\t}),\r\n\t\tmeta: { joinRequest: \"PRIORITY_INIT\" },\r\n\t});\r\n\r\nexport const updatePriorityAttribute = ({ modifiedPriority, modifiedAttribNames, type, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionPriorities({\r\n\t\t\ttype: \"UPDATE_PRIORITY\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedPriority: { ...modifiedPriority, name: encode(modifiedPriority?.name?.truncate(100, true)) },\r\n\t\t\t\tmodifiedAttribNames: modifiedAttribNames,\r\n\t\t\t},\r\n\t\t\tparams: {\r\n\t\t\t\ttype: type,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const addPriority = ({ newPriority, type, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionPriorities({\r\n\t\t\ttype: \"ADD_PRIORITY\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewPriority: { ...newPriority, name: encode(newPriority?.name) },\r\n\t\t\t},\r\n\t\t\tparams: {\r\n\t\t\t\ttype: type,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const removePriority = ({ id, type, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionPriorities({\r\n\t\t\ttype: \"REMOVE_PRIORITY\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tpriorityId: id,\r\n\t\t\t},\r\n\t\t\tparams: {\r\n\t\t\t\ttype: type,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const saveOrderPriority = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionPriorities({\r\n\t\t\ttype: \"ORDER_PRIORITY\",\r\n\t\t\tendPoint: \"reorderPriorities\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewPriorityOrder: ids,\r\n\t\t\t},\r\n\t\t\tparams: props?.params,\r\n\t\t}),\r\n\t});\r\n\r\nconst createPostActionStatus = InitActionCreator({ baseUrl: \"api/status/\", method: \"POST\" }); // api actions type post\r\nconst createGetActionStatus = InitActionCreator({ baseUrl: \"api/status/\", method: \"GET\" });\r\n\r\nexport const statusInit = (props) =>\r\n\tcreateGetActionStatus({\r\n\t\ttype: \"STATUS_INIT\",\r\n\t\tendPoint: constructUrl(\"getAll\", {\r\n\t\t\tcheckIsUsed: props?.showUsedData,\r\n\t\t}),\r\n\t\tmeta: { joinRequest: \"STATUS_INIT\" },\r\n\t});\r\nexport const updateStatusAttribute = ({ modifiedStatus, modifiedAttribNames, type, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionStatus({\r\n\t\t\ttype: \"UPDATE_STATUS\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedStatus: { ...modifiedStatus, name: encode(modifiedStatus?.name?.truncate(100, true)) },\r\n\t\t\t\tmodifiedAttribNames: modifiedAttribNames,\r\n\t\t\t},\r\n\t\t\tparams: {\r\n\t\t\t\ttype: type,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const addStatus = ({ newStatus, type, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionStatus({\r\n\t\t\ttype: \"ADD_STATUS\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewStatus: newStatus,\r\n\t\t\t},\r\n\t\t\tparams: {\r\n\t\t\t\ttype: type,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const removeStatus = ({ id, type, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionStatus({\r\n\t\t\ttype: \"REMOVE_STATUS\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tStatusId: id,\r\n\t\t\t},\r\n\t\t\tparams: {\r\n\t\t\t\ttype: type,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const saveOrderStatus = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionStatus({\r\n\t\t\ttype: \"ORDER_STATUS\",\r\n\t\t\tendPoint: \"reorderStatus\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewStatusOrder: ids,\r\n\t\t\t},\r\n\t\t\tparams: props.params,\r\n\t\t}),\r\n\t});\r\n\r\nconst createPostActionGroup = InitActionCreator({ baseUrl: \"api/group/\", method: \"POST\" }); // api actions type post\r\nconst createGetActionGroup = InitActionCreator({ baseUrl: \"api/group/\", method: \"GET\" });\r\n\r\nexport const groupInit = () => createGetActionGroup({ type: \"GROUP_INIT\", endPoint: \"getAll\", meta: { joinRequest: \"GROUP_INIT\" } });\r\n\r\nexport const saveOrderGroup = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionGroup({\r\n\t\t\ttype: \"ORDER_GROUP\",\r\n\t\t\tendPoint: \"reorderGroups\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewGroupOrder: ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateGroupAttribute = ({ modifiedGroup, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionGroup({\r\n\t\t\ttype: \"UPDATE_GROUP\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedGroup: { ...modifiedGroup, name: encode(modifiedGroup.name?.truncate(100, true)) },\r\n\t\t\t\tmodifiedAttribNames: modifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const addGroup = ({ newGroup, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionGroup({\r\n\t\t\ttype: \"ADD_GROUP\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewGroup: { ...newGroup, name: encode(newGroup.name ?? \"\") },\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const removeGroup = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionGroup({\r\n\t\t\ttype: \"REMOVE_GROUP\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tgroupId: id,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const linkGroups = ({ groupIds, recordIds, recordType, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionGroup({\r\n\t\t\ttype: \"LINK_GROUPS\",\r\n\t\t\tendPoint: \"linkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tgroupIds,\r\n\t\t\t\trecordIds,\r\n\t\t\t\trecordType,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const unlinkGroups = ({ groupIds, recordIds, recordType, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionGroup({\r\n\t\t\ttype: \"UNLINK_GROUPS\",\r\n\t\t\tendPoint: \"unlinkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tgroupIds,\r\n\t\t\t\trecordIds,\r\n\t\t\t\trecordType,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nconst createPostActionIcon = InitActionCreator({ baseUrl: \"api/icon/\", method: \"POST\" }); // api actions type post\r\nconst createGetActionIcon = InitActionCreator({ baseUrl: \"api/icon/\", method: \"GET\" });\r\n\r\nexport const iconsInit = (props) => createGetActionIcon({ type: \"ICONS_INIT\", endPoint: \"getAll\", params: props });\r\n\r\nexport const createCustomIcon = ({ newIconName, category, imageExtension, imageBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionIcon({\r\n\t\t\ttype: \"CREATE_ICON\",\r\n\t\t\tendPoint: \"createCustomIcon\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewIconName: encode(newIconName),\r\n\t\t\t\tcategory: Number(category),\r\n\t\t\t\timageExtension: imageExtension,\r\n\t\t\t\timageBody64: imageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updateCustomIcon = ({ iconIdStr, newIconName, category, imageExtension, imageBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionIcon({\r\n\t\t\ttype: \"UPDATE_CUSTOM_ICON\",\r\n\t\t\tendPoint: \"updateCustomIcon\",\r\n\t\t\tdata: {\r\n\t\t\t\ticonIdStr,\r\n\t\t\t\tnewIconName: encode(newIconName),\r\n\t\t\t\tcategory: Number(category),\r\n\t\t\t\timageExtension: imageExtension,\r\n\t\t\t\timageBody64: imageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteCustomIcon = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionIcon({\r\n\t\t\ttype: \"DELETE_CUSTOM_ICON\",\r\n\t\t\tendPoint: \"deleteCustomIcon\",\r\n\t\t\tdata: {\r\n\t\t\t\ticonIdStr: id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"DELETE\",\r\n\t});\r\nexport const copyCustomIcon = ({ id, name, workspaceIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionIcon({\r\n\t\t\ttype: \"COPY_CUSTOM_ICON\",\r\n\t\t\tendPoint: \"copy\",\r\n\t\t\tdata: {\r\n\t\t\t\ticonId: id,\r\n\t\t\t\tnewSubject: encode(name),\r\n\t\t\t\tworkspaceIds: workspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"COPY\",\r\n\t});\r\nexport const deleteCustomImage = ({ iconIdStr, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionIcon({\r\n\t\t\ttype: \"DELETE_CUSTOM_IMAGE\",\r\n\t\t\tendPoint: \"deleteCustomImage\",\r\n\t\t\tdata: {\r\n\t\t\t\ticonIdStr,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const getIconsLinkedRecords = (props) =>\r\n\tcreateGetActionIcon({\r\n\t\ttype: \"ICONS_GET_RELATED_RECORDS\",\r\n\t\tendPoint: constructUrl(\"getRelatedRecord\", {\r\n\t\t\ticonNumber: props?.iconNumber,\r\n\t\t}),\r\n\t});\r\n\r\nconst createPostActionBV = InitActionCreator({ baseUrl: \"api/brandValue/\", method: \"POST\" }); // api actions type post\r\nconst createGetActionBV = InitActionCreator({ baseUrl: \"api/brandValue/\", method: \"GET\" });\r\n\r\nexport const brandValueInit = () => createGetActionBV({ type: \"BRAND_VALUE_INIT\", endPoint: \"getAll\", meta: { joinRequest: \"BRAND_VALUE_INIT\" } });\r\n\r\nexport const addBrandValue = ({ brandValue, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionBV({\r\n\t\t\ttype: \"ADD_BRAND_VALUE\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewbrandValueParams: {\r\n\t\t\t\t\tName: encode(brandValue?.name?.truncate(100, true)),\r\n\t\t\t\t\tDescription: brandValue.description ? encode(brandValue?.description?.truncate(20000, true)) : \"\",\r\n\t\t\t\t\tType: brandValue?.type || -1,\r\n\t\t\t\t\tNumber: brandValue?.number || 1,\r\n\t\t\t\t\tisCustom: brandValue?.isCustom || false,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteBrandValue = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionBV({\r\n\t\t\ttype: \"DELETE_BRAND_VALUE\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tbrandValueId: id,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const copyBrandValue = ({ brandValueId, name, workspaceIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionBV({\r\n\t\t\ttype: \"COPY_BRAND_VALUE\",\r\n\t\t\tendPoint: \"copy\",\r\n\t\t\tdata: {\r\n\t\t\t\tbrandValueId,\r\n\t\t\t\tnewSubject: encode(name),\r\n\t\t\t\tworkspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"COPY\",\r\n\t});\r\nexport const updateBrandValue = ({ modifiedBrandValue, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionBV({\r\n\t\t\ttype: \"UPDATE_BRAND_VALUE\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedBrandValue,\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"UPDATE\",\r\n\t});\r\nexport const getBrandValueLinkedRecords = (props) =>\r\n\tcreateGetActionBV({\r\n\t\ttype: \"BRAND_VALUE_GET_RELATED_RECORDS\",\r\n\t\tendPoint: constructUrl(\"getRelatedRecord\", {\r\n\t\t\tbrandValueId: props?.brandValueId,\r\n\t\t}),\r\n\t});\r\n\r\nconst createPostActionMeasure = InitActionCreator({ baseUrl: \"api/measures/\", method: \"POST\" }); // api actions type post\r\nconst createGetActionMeasure = InitActionCreator({ baseUrl: \"api/measures/\", method: \"GET\" });\r\n\r\nexport const measureInit = () => createGetActionMeasure({ type: \"MEASURE_INIT\", endPoint: \"getAll\", meta: { joinRequest: \"MEASURE_INIT\" } });\r\n\r\nexport const upsertMeasure = ({ measure, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionMeasure({\r\n\t\t\ttype: \"UPSERT_MEASURE\",\r\n\t\t\tendPoint: \"upsert\",\r\n\t\t\tdata: {\r\n\t\t\t\tmeasure,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const copyMeasure = ({ measureId, name, workspaceIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionMeasure({\r\n\t\t\ttype: \"COPY_MEASURE\",\r\n\t\t\tendPoint: \"copy\",\r\n\t\t\tdata: {\r\n\t\t\t\tmeasureId,\r\n\t\t\t\tnewSubject: encode(name),\r\n\t\t\t\tworkspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteMeasure = ({ measureId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionMeasure({\r\n\t\t\ttype: \"DELETE_MEASURE\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tmeasureId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const getMeasuresLinkedRecords = (props) =>\r\n\tcreateGetActionMeasure({\r\n\t\ttype: \"MEASURE_GET_RELATED_RECORDS\",\r\n\t\tendPoint: constructUrl(\"getRelatedRecord\", {\r\n\t\t\tmeasureId: props?.measureId,\r\n\t\t}),\r\n\t});\r\n\r\nconst createPostActionTags = InitActionCreator({ baseUrl: \"api/tag/\", method: \"POST\" });\r\nconst createGetActionTags = InitActionCreator({ baseUrl: \"api/tag/\", method: \"GET\" });\r\n\r\nexport const tagInit = () => createGetActionTags({ type: \"TAG_INIT\", endPoint: \"getAll\", meta: { joinRequest: \"TAG_INIT\" } });\r\n\r\nexport const upsertTag = ({ tag, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTags({\r\n\t\t\ttype: \"UPSERT_TAG\",\r\n\t\t\tendPoint: \"upsert\",\r\n\t\t\tdata: {\r\n\t\t\t\ttag: { ...tag, name: encode(tag.name) },\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteTag = ({ tagId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTags({\r\n\t\t\ttype: \"DELETE_TAG\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\ttagId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const getTagLinkedRecords = (props) =>\r\n\tcreateGetActionTags({\r\n\t\ttype: \"TAG_GET_RELATED_RECORDS\",\r\n\t\tendPoint: constructUrl(\"getRelatedRecord\", {\r\n\t\t\ttagId: props?.tagId,\r\n\t\t}),\r\n\t});\r\n\r\nexport const linkTags = ({ tagIds, recordIds, recordType, modifiedCxAttributes = undefined, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTags({\r\n\t\t\ttype: \"LINK_TAGS\",\r\n\t\t\tendPoint: \"linkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\ttagIds,\r\n\t\t\t\trecordIds,\r\n\t\t\t\trecordType,\r\n\t\t\t},\r\n\t\t\tparams: { modifiedCxAttributes },\r\n\t\t}),\r\n\t});\r\n\r\nexport const unlinkTags = ({ tagIds, recordIds, recordType, modifiedCxAttributes = undefined, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTags({\r\n\t\t\ttype: \"UNLINK_TAGS\",\r\n\t\t\tendPoint: \"unlinkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\ttagIds,\r\n\t\t\t\trecordIds,\r\n\t\t\t\trecordType,\r\n\t\t\t},\r\n\t\t\tparams: { modifiedCxAttributes },\r\n\t\t}),\r\n\t});\r\n\r\nexport const saveOrderTags = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTags({\r\n\t\t\ttype: \"ORDER_TAG\",\r\n\t\t\tendPoint: \"reorderTags\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewTagsOrder: ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nconst createPostActionMetrics = InitActionCreator({ baseUrl: \"api/cxmetric/\", method: \"POST\" });\r\nconst createGetActionMetrics = InitActionCreator({ baseUrl: \"api/cxmetric/\", method: \"GET\" });\r\n\r\nexport const getAllCxMetrics = () => createGetActionMetrics({ type: \"GET_ALL_CX_METRICS\", endPoint: \"getAll\", meta: { joinRequest: \"GET_ALL_CX_METRICS\" } });\r\n\r\nexport const createCxMetric = ({ name, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionMetrics({\r\n\t\t\ttype: \"CREATE_CX_METRIC\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tname: encode(name),\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"CREATE\",\r\n\t});\r\nexport const updateCxMetric = ({ cxMeasureId, newName, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionMetrics({\r\n\t\t\ttype: \"UPDATE_CX_METRIC\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxMeasureId,\r\n\t\t\t\tnewName: encode(newName),\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"UPDATE\",\r\n\t});\r\nexport const deleteCxMetric = ({ cxMeasureId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionMetrics({\r\n\t\t\ttype: \"DELETE_CX_METRIC\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxMeasureId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"DELETE\",\r\n\t});\r\n\r\nconst createPostActionTP = InitActionCreator({ baseUrl: \"api/touchpoint/\", method: \"POST\" });\r\nconst createGetActionTP = InitActionCreator({ baseUrl: \"api/touchpoint/\", method: \"GET\" });\r\n\r\nexport const touchPointInit = (props) => createGetActionTP({ type: \"TOUCHPOINT_INIT\", endPoint: \"getAll\", params: props });\r\n\r\nexport const createCustomChannel = ({ newChannelName, category, weight, imageExtension, imageBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTP({\r\n\t\t\ttype: \"CREATE_TOUCHPOINT\",\r\n\t\t\tendPoint: \"createCustomChannel\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewChannelName: encode(newChannelName),\r\n\t\t\t\tcategoryId: category,\r\n\t\t\t\tweight: parseFloat(weight),\r\n\t\t\t\timageExtension,\r\n\t\t\t\timageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"CREATE\",\r\n\t});\r\nexport const updateCustomTouchpoint = ({ channelIdStr, newChannelName, category, weight, imageExtension, imageBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTP({\r\n\t\t\ttype: \"UPDATE_CUSTOM_TOUCHPOINT\",\r\n\t\t\tendPoint: \"updateCustomChannel\",\r\n\t\t\tdata: {\r\n\t\t\t\tchannelIdStr: channelIdStr,\r\n\t\t\t\tnewChannelName: encode(newChannelName),\r\n\t\t\t\tcategoryId: category,\r\n\t\t\t\tweight: parseFloat(weight),\r\n\t\t\t\timageExtension: imageExtension,\r\n\t\t\t\timageBody64: imageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"UPDATE\",\r\n\t});\r\nexport const deleteCustomTouchpoint = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTP({\r\n\t\t\ttype: \"DELETE_CUSTOM_TOUCHPOINT\",\r\n\t\t\tendPoint: \"deleteCustomChannel\",\r\n\t\t\tdata: {\r\n\t\t\t\tchannelIdStr: id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const copyCustomTouchpoint = ({ channelIdStr, newChannelName, workspaceIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTP({\r\n\t\t\ttype: \"COPY_CUSTOM_TOUCHPOINT\",\r\n\t\t\tendPoint: \"copyChannel\",\r\n\t\t\tdata: {\r\n\t\t\t\tchannelId: channelIdStr,\r\n\t\t\t\tnewChannelName: encode(newChannelName),\r\n\t\t\t\tworkspaceIds: workspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"COPY\",\r\n\t});\r\nexport const deleteCustomTouchpointImage = ({ channelIdStr, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTP({\r\n\t\t\ttype: \"DELETE_CUSTOM_TOUCHPOINT_IMAGE\",\r\n\t\t\tendPoint: \"deleteCustomImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tchannelIdStr,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"DELETE\",\r\n\t});\r\nexport const recomputeSentimentLevels = ({ channelIdStr, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionTP({\r\n\t\t\ttype: \"RECOMPUTE_SENTIMENT_LEVELS\",\r\n\t\t\tendPoint: \"recomputeSentimentLevel\",\r\n\t\t\tdata: {\r\n\t\t\t\tchannelIdStr,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const getTouchpointLinkedRecords = (props) =>\r\n\tcreateGetActionTP({\r\n\t\ttype: \"TOUCHPOINT_GET_RELATED_RECORDS\",\r\n\t\tendPoint: constructUrl(\"getRelatedRecord\", {\r\n\t\t\ttouchpointId: props?.touchpointId,\r\n\t\t}),\r\n\t});\r\n\r\nconst createPostActionStake = InitActionCreator({ baseUrl: \"api/stakeholder/\", method: \"POST\" });\r\nconst createGetActionStake = InitActionCreator({ baseUrl: \"api/stakeholder/\", method: \"GET\" });\r\n\r\nexport const getAllStakeholderRoles = () => createGetActionStake({ type: \"GET_ALL_STAKEHOLDER_ROLES\", endPoint: \"getAllRoles\", meta: { joinRequest: \"GET_ALL_STAKEHOLDER_ROLES\" } });\r\n\r\nexport const upsertStakeholder = ({ stakeholder, recId, entityName, actionType, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionStake({\r\n\t\t\ttype: actionType,\r\n\t\t\tendPoint: \"upsert\",\r\n\t\t\tdata: { stakeholder: { ...stakeholder, id: stakeholder?.id || EMPTY_GUID }, recId, entityName },\r\n\t\t}),\r\n\t});\r\nexport const deleteStakeholder = ({ stakeholderId, recId, entityName, actionType, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionStake({\r\n\t\t\ttype: actionType,\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: { stakeholderId, recId, entityName },\r\n\t\t}),\r\n\t});\r\nexport const createStakeholderRole = ({ name, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionStake({\r\n\t\t\ttype: \"CREATE_STAKEHOLDER_ROLE\",\r\n\t\t\tendPoint: \"createRole\",\r\n\t\t\tdata: { name: encode(name) },\r\n\t\t}),\r\n\t\t// displayToast: \"CREATE\",\r\n\t});\r\nexport const updateStakeholderRole = ({ roleId, newName, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionStake({\r\n\t\t\ttype: \"UPDATE_STAKEHOLDER_ROLE\",\r\n\t\t\tendPoint: \"updateRole\",\r\n\t\t\tdata: { roleId, newName: encode(newName) },\r\n\t\t}),\r\n\t\t// displayToast: \"UPDATE\",\r\n\t});\r\nexport const deleteStakeholderRole = ({ roleId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionStake({\r\n\t\t\ttype: \"DELETE_STAKEHOLDER_ROLE\",\r\n\t\t\tendPoint: \"deleteRole\",\r\n\t\t\tdata: { roleId },\r\n\t\t}),\r\n\t\t// displayToast: \"DELETE\",\r\n\t});\r\n\r\nconst createPostActionCxGoals = InitActionCreator({ baseUrl: \"api/cxgoal/\", method: \"POST\" });\r\nconst createGetActionCxGoals = InitActionCreator({ baseUrl: \"api/cxgoal/\", method: \"GET\" });\r\n\r\nexport const cxGoalsInit = () => createGetActionCxGoals({ type: \"CX_GOALS_INIT\", endPoint: \"getAll\", meta: { joinRequest: \"CX_GOALS_INIT\" } });\r\n\r\nexport const cxGoalsUpsert = ({ CxGoals, stageId, measures, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionCxGoals({\r\n\t\t\ttype: \"CX_GOALS_UPSERT\",\r\n\t\t\tendPoint: \"upsert\",\r\n\t\t\tdata: {\r\n\t\t\t\tCxGoals: CxGoals.map((cxGoal) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...cxGoal,\r\n\t\t\t\t\t\tdescription: encode(cxGoal.description),\r\n\t\t\t\t\t\tgoal: [\"\", \"-\", null].includes(cxGoal.goal) ? 0 : Number(cxGoal.goal),\r\n\t\t\t\t\t\tactual: [\"\", \"-\", null].includes(cxGoal.actual) ? 0 : Number(cxGoal.actual),\r\n\t\t\t\t\t\tfinancialImpact: [\"\", \"-\", null].includes(cxGoal.financialImpact) ? 0 : Number(cxGoal.financialImpact),\r\n\t\t\t\t\t};\r\n\t\t\t\t}),\r\n\t\t\t},\r\n\t\t\tparams: { stageId, measures },\r\n\t\t}),\r\n\t});\r\nexport const updateStageCxGoalsOrder = ({ stageId, cjmId, newOrder, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionCxGoals({\r\n\t\t\ttype: \"UPDATE_STAGE_CX_GOALS_ORDER\",\r\n\t\t\tendPoint: \"updateStageCxGoalsOrder\",\r\n\t\t\tdata: {\r\n\t\t\t\tstageId,\r\n\t\t\t\tcjmId,\r\n\t\t\t\tnewCxGoalsOrder: newOrder,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteCxGoal = ({ id, stageId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostActionCxGoals({\r\n\t\t\ttype: \"DELETE_CX_GOAL\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t},\r\n\t\t\tparams: { stageId },\r\n\t\t}),\r\n\t});\r\n\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/insightType/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/insightType/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const getAllInsightTypes = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_ALL_INSIGHT_TYPES\",\r\n\t\tendPoint: constructUrl(\"getAll\", {\r\n\t\t\tcheckIsUsed: props?.checkIsUsed,\r\n\t\t}),\r\n\t\tmeta: { joinRequest: \"PRIORITY_INIT\" },\r\n\t});\r\n\r\nexport const createInsightType = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_INSIGHT_TYPE\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewInsightType: { ...props?.newInsightType, name: encode(props?.newInsightType.name) },\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updateInsightType = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_INSIGHT_TYPE\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedInsightType: { id: props.item.id, colorCode: props.item.colorCode, name: encode(props.item.name?.truncate(100, true)) },\r\n\t\t\t\tmodifiedAttribNames: props.modifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const saveOrderInsightType = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ORDER_INSIGHT_TYPE\",\r\n\t\t\tendPoint: \"reorderInsightTypes\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewInsightTypeOrder: props?.ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteInsightType = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_INSIGHT_TYPE\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: { id: props?.id },\r\n\t\t}),\r\n\t});\r\n\r\nconst touchpointCategoryPostAction = InitActionCreator({ baseUrl: \"api/touchpointCategory/\", method: \"POST\" }); // api actions type post\r\nconst touchpointCategoryGetAction = InitActionCreator({ baseUrl: \"api/touchpointCategory/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const touchPointCategoriesInit = () => touchpointCategoryGetAction({ type: \"TOUCHPOINT_CATEGORIES_INIT\", endPoint: \"getAll\" });\r\n\r\nexport const upsertTouchpointCategory = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: touchpointCategoryPostAction({\r\n\t\t\ttype: \"UPSERT_TOUCHPOINT_CATEGORY\",\r\n\t\t\tendPoint: \"upsert\",\r\n\t\t\tdata: {\r\n\t\t\t\ttouchpointCategory: { ...props?.touchpointCategory, name: encode(props.touchpointCategory.name) },\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteTouchpointCategory = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: touchpointCategoryPostAction({\r\n\t\t\ttype: \"DELETE_TOUCHPOINT_CATEGORY\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tid: props?.id,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const copyTouchpointCategory = ({ id, name, workspaceIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: touchpointCategoryPostAction({\r\n\t\t\ttype: \"COPY_TOUCHPOINT_CATEGORY\",\r\n\t\t\tendPoint: \"copy\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t\tnewSubject: encode(name),\r\n\t\t\t\tworkspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n","import { constructUrl, encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst BASE_URL = \"api/project/\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, ...props }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t\t...props,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: BASE_URL, method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" }); // api actions type get\r\n\r\nexport const resetProject = () => ({ type: \"RESET_PROJECT\" });\r\n\r\nexport const getAllProjects = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_ALL_PROJECTS\",\r\n\t\tendPoint: constructUrl(\"getAll\", {\r\n\t\t\tredirectReducer: props?.redirectReducer,\r\n\t\t}),\r\n\t});\r\n\r\nexport const getProject = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_PROJECT\",\r\n\t\tendPoint: constructUrl(\"get\", {\r\n\t\t\tprojectId: props?.projectId,\r\n\t\t}),\r\n\t});\r\n\r\nexport const getProjectUsers = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_PROJECT_USERS\",\r\n\t\tendPoint: constructUrl(\"getAuthorizedUsers\", {\r\n\t\t\tprojectId: props?.projectId,\r\n\t\t\tforceViewer: props?.forceViewer,\r\n\t\t}),\r\n\t\tparams: { isPrint: props?.isPrint, userId: props?.userId, from: props?.from },\r\n\t});\r\n\r\nexport const createProject = ({ item, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_PROJECT\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: item,\r\n\t\t}),\r\n\t\tdisplayToast: \"CREATE_NO_SUCCESS_TOAST\",\r\n\t});\r\n\r\nexport const copyProject = ({ id, name, workspaceIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"COPY_PROJECT\",\r\n\t\t\tendPoint: \"copy\",\r\n\t\t\tdata: {\r\n\t\t\t\tsrcProjectId: id,\r\n\t\t\t\tnewName: encode(name.truncate(100, true)),\r\n\t\t\t\tworkspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"COPY\",\r\n\t});\r\n\r\nexport const updateProject = ({ modifiedProject, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_PROJECT\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedProject,\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateMultiProject = ({ modifiedProjects, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_MULTI_PROJECT\",\r\n\t\t\tendPoint: \"updateMulti\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedProjects,\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteProjects = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_PROJECTS\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const deleteProjectsPermanent = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_PROJECTS_PERMANENT\",\r\n\t\t\tendPoint: \"deletePermanently\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const archiveProjects = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_PROJECTS\",\r\n\t\t\tendPoint: \"archive\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"ARCHIVE\",\r\n\t});\r\n\r\nexport const restoreProjects = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_PROJECTS\",\r\n\t\t\tendPoint: \"restore\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"RESTORE\",\r\n\t});\r\n\r\nexport const linkRecords = ({ recToLinkEntityName, recToLinkIds, projectId, linkRelated, origin, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"LINK_UNLINK_RECORDS_TO_PROJECT\",\r\n\t\t\tendPoint: \"linkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\trecToLinkEntityName,\r\n\t\t\t\trecToLinkIds,\r\n\t\t\t\tprojectId,\r\n\t\t\t\tlinkRelated,\r\n\t\t\t\torigin,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"LINK_RECORD\",\r\n\t});\r\n\r\nexport const unlinkRecords = ({ recToUnlinkEntityName, recToUnlinkIds, projectId, unlinkRelated, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"LINK_UNLINK_RECORDS_TO_PROJECT\",\r\n\t\t\tendPoint: \"unlinkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\trecToUnlinkEntityName,\r\n\t\t\t\trecToUnlinkIds,\r\n\t\t\t\tprojectId,\r\n\t\t\t\tunlinkRelated,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"UNLINK\",\r\n\t});\r\n\r\nexport const upsertAttributeItem = ({ attribute, attributeItem, cxGoal, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"PROJECT_UPSERT_ATTRIBUTE_ITEM\",\r\n\t\t\tendPoint: \"upsertAttributeItem\",\r\n\t\t\tdata: {\r\n\t\t\t\tattribute,\r\n\t\t\t\tattributeItem: {\r\n\t\t\t\t\t...attributeItem,\r\n\t\t\t\t\tdescription: encode(attributeItem?.description),\r\n\t\t\t\t\tname: encode(attributeItem?.name),\r\n\t\t\t\t},\r\n\t\t\t\tcxGoal,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteAttributeItem = ({ projectId, attributeId, attributeItemId, cXGoalId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"PROJECT_DELETE_ATTRIBUTE_ITEM\",\r\n\t\t\tendPoint: \"deleteAttributeItem\",\r\n\t\t\tdata: {\r\n\t\t\t\tprojectId,\r\n\t\t\t\tattributeId,\r\n\t\t\t\tattributeItemId,\r\n\t\t\t\tcXGoalId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const shareProject = ({ recId, userId, roleDetails, teamId, userIdName, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"SHARE_PROJECT\",\r\n\t\t\tendPoint: \"share\",\r\n\t\t\tdata: {\r\n\t\t\t\trecId,\r\n\t\t\t\tuserId,\r\n\t\t\t\troleDetails,\r\n\t\t\t\tteamId,\r\n\t\t\t},\r\n\t\t\tparams: {\r\n\t\t\t\tfullName: userIdName,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const shareManyProjects = ({ recIds, usersIds, roleDetails, teamIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"SHARE_MANY_PROJECTS\",\r\n\t\t\tendPoint: \"shareMany\",\r\n\t\t\tdata: {\r\n\t\t\t\trecIds: recIds ? recIds : [],\r\n\t\t\t\tuserIds: usersIds ? usersIds?.split(\"|\") : [],\r\n\t\t\t\troleDetails,\r\n\t\t\t\tteamIds: teamIds ? teamIds.split(\"|\") : [],\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const unShareProject = ({ recId, userId, teamId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UNSHARE_PROJECT\",\r\n\t\t\tendPoint: \"unShare\",\r\n\t\t\tdata: {\r\n\t\t\t\trecId,\r\n\t\t\t\tuserId,\r\n\t\t\t\tteamId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const getProjectExcelExportList = (ids, columns) =>\r\n\tcreatePostAction({\r\n\t\ttype: \"GET_PROJECT_EXCEL\",\r\n\t\tendPoint: \"getExcelExport\",\r\n\t\tdata: {\r\n\t\t\tids,\r\n\t\t\tcolumns: columns?.join(\"|\").replace(\"projectName\", \"Project Name\"),\r\n\t\t},\r\n\t\tresponseType: \"blob\",\r\n\t});\r\n\r\nexport const getProjectPdfExport = ({ id, width, height, renderDelay }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_PROJECT_PDF\",\r\n\t\tendPoint: constructUrl(\"getPdfExport\", {\r\n\t\t\tid,\r\n\t\t\twidth,\r\n\t\t\theight: height + 300,\r\n\t\t\trenderDelay,\r\n\t\t}),\r\n\t\tresponseType: \"blob\",\r\n\t});\r\n\r\nexport const resetProjectUsers = () => ({ type: \"RESET_PROJECT_USERS\" });\r\n\r\nexport const synchronizeProject = ({ projectId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"SYNCHRONIZE_PROJECT\",\r\n\t\t\tendPoint: \"synchronize\",\r\n\t\t\tdata: {\r\n\t\t\t\tprojectId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const stopSynchronizationProject = ({ projectId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"STOP_SYNCHRONIZATION_PROJECT\",\r\n\t\t\tendPoint: \"stopSynchronization\",\r\n\t\t\tdata: {\r\n\t\t\t\tprojectId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n","import { InputSwitch } from \"primereact/inputswitch\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { Tabs } from \"react-bootstrap\";\r\nimport { Typeahead } from \"react-bootstrap-typeahead\";\r\nimport { Breadcrumb, Container, Dropdown, DropdownMenu, DropdownToggle, Label, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { Colors, GenericButton, Input } from \"shared/ui-basics/index\";\r\nimport { PriorityValidation } from \"@utils/helpers\";\r\nimport { StateTypeOption } from \"@utils/optionsSets/OptionSets\";\r\n\r\nexport const ChangeColor = styled.div`\r\n\tcolor: ${(props) => props.color};\r\n`;\r\nexport const CustomModal = styled(Modal)`\r\n\twidth: 1140px;\r\n\tmin-width: 1140px;\r\n\tmax-width: 1140px;\r\n\t:disabled {\r\n\t\tbackground-color: inherit !important;\r\n\t}\r\n\t.form-control:disabled {\r\n\t\tbackground-color: inherit !important;\r\n\t\tcolor: inherit !important;\r\n\t\topacity: inherit !important;\r\n\t}\r\n\t.modal-content {\r\n\t\tmin-height: 80vh;\r\n\t}\r\n`;\r\n\r\nexport const Body = styled(ModalBody)`\r\n\tpadding: 0;\r\n`;\r\n\r\nexport const Header = styled.div`\r\n\tbackground: #ffffff;\r\n\tbox-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\theight: 160px;\r\n\tmargin: 0.5rem 0rem;\r\n\twidth: 100%;\r\n\t${(props) => props.query && ` height: 96px; margin: 0; border-radius: 0px;box-shadow: none;`}\r\n`;\r\nexport const ModalTitle = styled.div`\r\n\tmargin-left: 3rem;\r\n\tmargin-top: 2rem;\r\n\twidth: 100%;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tfont-size: 30px;\r\n\tline-height: 36px;\r\n\tcolor: #333333;\r\n\toverflow: hidden;\r\n\tword-break: break-word;\r\n\tpadding-right: 40px;\r\n`;\r\n\r\nexport const Title = styled(Input)`\r\n\tresize: none;\r\n\tfont-weight: 500;\r\n\tfont-size: 20px;\r\n\tline-height: 20px;\r\n\tcolor: #333333;\r\n\tbackground-color: #ffffff;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twidth: 100%;\r\n\ttext-overflow: ellipsis;\r\n\r\n\t&.form-control:focus {\r\n\t\tbackground-color: transparent;\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t-webkit-box-shadow: none;\r\n\t\t-moz-box-shadow: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n\r\n\t&.form-control:disabled,\r\n\t.form-control[readonly] {\r\n\t\tbackground-color: #ffffff;\r\n\t\tcolor: #333333;\r\n\t\topacity: 1;\r\n\t\tcursor: no-drop;\r\n\t}\r\n`;\r\nexport const Footer = styled(ModalFooter)`\r\n\tborder-top: 1px solid #c4c4c4 !important;\r\n\theight: 80px !important;\r\n\tbottom: 0px;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tbackground-color: #ffffff;\r\n\tbox-shadow: 0px -1px 4px rgba(0, 0, 0, 0.25);\r\n\tmargin: 0.5rem 0rem;\r\n`;\r\nexport const Labels = styled(Label)`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n\t${(props) => props.fs && `font-size: ${props.fs}px;`}\r\n`;\r\nexport const Checkbox = styled(Input)`\r\n\tmargin-top: 0;\r\n\twidth: auto;\r\n\t&:checked {\r\n\t\tbackground-color: #333333 !important;\r\n\t\tborder: 1px solid #333333 !important;\r\n\t}\r\n`;\r\n\r\nexport const GoMap = styled.a`\r\n\ttext-decoration: none;\r\n\tcolor: #333333 !important;\r\n\tdisplay: inline-block;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tmax-width: 310px;\r\n\tfont-size: 16px;\r\n\tfont-weight: 500;\r\n\tline-height: 25px;\r\n\tmin-width: 150px;\r\n\t/* color:#7676D2 !important */\r\n`;\r\n\r\nexport const PersonaContainer = styled.div`\r\n\tmax-width: 150px;\r\n`;\r\n\r\nexport const Search = styled(Typeahead)`\r\n\t/* z-index: 4; */\r\n\t${(props) => props.disabled && \"background: #e5e4e5 !important;\"}\r\n\t.form-control {\r\n\t\tborder: none !important;\r\n\t}\r\n\t.rbt-menu {\r\n\t\t::-webkit-scrollbar-track-piece {\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t}\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.type === \"mapId\" &&\r\n\t\tcss`\r\n\t\t\t.rbt-menu {\r\n\t\t\t\theight: 240px;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n\t.rbt-token {\r\n\t\tbackground: #ffffff;\r\n\t\tborder-radius: 4px;\r\n\t\tcolor: #333333 !important;\r\n\t\tfont-weight: 500;\r\n\t\talign-self: flex-start;\r\n\t\tmargin: 0px;\r\n\r\n\t\t${(props) =>\r\n\t\t\tprops.owner === \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\tbackground: #d7ebff;\r\n\t\t\t\tmin-height: 30px;\r\n\t\t\t\tpadding: 0px;\r\n\t\t\t\t/* max-height: 45px; */\r\n\t\t\t`}\r\n\t}\r\n\r\n\t.rbt-input-multi.focus {\r\n\t\tbox-shadow: none;\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t}\r\n\r\n\t.rbt-input-multi.disabled {\r\n\t\tcursor: no-drop;\r\n\t\tbackground-color: #ffffff;\r\n\t\t/* .rbt-token {\r\n\t\t\tcolor: #92919d;\r\n\t\t\tborder-radius: 4px;\r\n\t\t}\r\n\t\t.rbt-token-label {\r\n\t\t\tcolor: #92919d;\r\n\t\t}\r\n\t\t${GoMap} {\r\n\t\t\tcolor: #92919d !important;\r\n\t\t} */\r\n\t}\r\n\r\n\t.rbt-token-label {\r\n\t\theight: 100%;\r\n\t\twidth: 100%;\r\n\t\talign-self: center;\r\n\t\tdisplay: inline-block;\r\n\t\twhite-space: nowrap;\r\n\t\toverflow: hidden;\r\n\t\ttext-overflow: ellipsis;\r\n\t\tmax-width: 100%;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: 500;\r\n\t\t${(props) =>\r\n\t\t\tprops.owner == \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\tbackground: #d7ebff;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tborder-radius: 5px;\r\n\t\t\t`}\r\n\t}\r\n\r\n\t.rbt-input-multi.form-control {\r\n\t\tborder-radius: 4px;\r\n\t\tmax-width: 100%;\r\n\t\tmin-height: ${(props) => (props.minHeight ? props.minHeight : 44)}px;\r\n\t\tpadding-left: ${(props) => (props.showPlaceholder ? \"0.5rem;\" : \"0;\")};\r\n\t\talign-items: center;\r\n\t}\r\n\r\n\t.rbt-token-remove-button {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tpadding: 1px;\r\n\t\talign-self: center;\r\n\t\tborder-radius: 5px;\r\n\t}\r\n\r\n\t.rbt-input-wrapper {\r\n\t\talign-self: center;\r\n\r\n\t\t> div {\r\n\t\t\talign-self: center;\r\n\t\t}\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.type === \"stageId\" &&\r\n\t\tcss`\r\n\t\t\t.rbt-menu {\r\n\t\t\t\theight: 160px;\r\n\t\t\t}\r\n\t\t\t.form-control {\r\n\t\t\t\tborder-top-right-radius: 0px !important;\r\n\t\t\t\tborder-top-left-radius: 0px !important;\r\n\t\t\t\tborder-top: 1px solid #c4c4c4 !important;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\nexport const NotData = styled.div`\r\n\tcolor: #c4c4c4;\r\n`;\r\nexport const StateTypes = styled.div`\r\n\tborder-radius: 4px;\r\n\twidth: fit-content;\r\n height: 24px;\r\n\tcolor: ${(props) => ColorCheckState(props.type)};\r\n background-color: ${(props) => ColorCheckState(props.type, true)};\r\n\tfont-size: 14px;\r\n padding: 4px 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n`;\r\nexport const StatusTypes = styled.div`\r\n\twidth: max-content;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n\tfont-size: 14px;\r\n\tcolor: ${(props) => props.colorcode};\r\n`;\r\nexport const OwnerName = styled.div`\r\n\tcolor: #333333;\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\talign-self: center;\r\n\tmargin-left: 0.5rem;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twidth: 100%;\r\n`;\r\nexport const Left = styled.div`\r\n\tflex: 1 1 auto; // This allows the container to grow and shrink, but not beyond its base size\r\n\tflex-basis: 70%;\r\n\tmax-width: 70%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 1.5rem;\r\n\t@media screen and (max-width: 1440px) {\r\n\t\twidth: 60%;\r\n\t}\r\n\t@media screen and (max-height: 780px) {\r\n\t\theight: max-content;\r\n\t}\r\n`;\r\nexport const Right = styled.div`\r\n\tflex: 1 1 auto;\r\n\tflex-basis: 30%;\r\n\tmax-width: 30%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 1.5rem;\r\n\tborder-radius: 4px;\r\n\tpadding: 16px;\r\n\theight: max-content;\r\n\r\n\tborder: 1px solid var(--color-Grey-Border, #d9d9d9);\r\n\t@media screen and (max-width: 1440px) {\r\n\t\twidth: 35%;\r\n\t}\r\n`;\r\nexport const MaxWidth = styled.div`\r\n\tmax-width: ${(props) => props?.width ?? 90}%;\r\n\tfont-size: 14px;\r\n\r\n\t${(props) =>\r\n\t\tprops.oppLabel === \"true\" &&\r\n\t\tcss`\r\n\t\t\tcolor: #605f60;\r\n\t\t\tfont-family: Inter;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tfont-style: normal;\r\n\t\t\tfont-weight: 400;\r\n\t\t\tline-height: 150%;\r\n\t\t`}\r\n`;\r\nexport const PriorityTypes = styled.div`\r\n\tmin-width: 20%;\r\n\tfont-size: 16px;\r\n\talign-items: center;\r\n\ttext-transform: capitalize;\r\n\talign-self: center;\r\n\tdisplay: flex;\r\n\t& #point {\r\n\t\tborder-radius: 50%;\r\n\t\t/* padding:0 11px; */\r\n\t\theight: 16px;\r\n\t\twidth: 16px;\r\n\t\talign-self: center;\r\n\t\tmargin-right: 0.5rem;\r\n\t\t/* ${(props) => PriorityValidation(props.level, true)} */\r\n\t\tborder: 1px solid #e6e6e6;\r\n\t\tbackground-color: ${(props) => props.colorcode};\r\n\t}\r\n`;\r\nexport const Switch = styled(InputSwitch)`\r\n\tmargin-left: 1rem;\r\n\theight: 18px;\r\n\t.p-inputswitch-slider {\r\n\t\theight: 15px;\r\n\t\twidth: 41px;\r\n\t\t:before {\r\n\t\t\tborder: 1px solid #92919d !important;\r\n\t\t\twidth: 1.3rem;\r\n\t\t\theight: 1.3rem;\r\n\t\t\tleft: 0rem;\r\n\t\t}\r\n\t}\r\n`;\r\nexport const ColorCheckState = (type, bg = false) => {\r\n\tif (bg === false) {\r\n\t\tswitch (type) {\r\n\t\t\tcase StateTypeOption.CurrentState:\r\n\t\t\t\treturn \"#1E293B\";\r\n\t\t\tcase StateTypeOption.FutureState:\r\n\t\t\t\treturn \"#86198F\";\r\n\r\n\t\t\tdefault:\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\tif (bg === true) {\r\n\t\tswitch (type) {\r\n\t\t\tcase StateTypeOption.CurrentState:\r\n\t\t\t\treturn \"#F1F5F9\";\r\n\t\t\tcase StateTypeOption.FutureState:\r\n\t\t\t\treturn \"#FAE8FF\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t}\r\n};\r\nconst ColorCheck = (type, bg = false) => {\r\n\tif (bg === false) {\r\n\t\tswitch (type) {\r\n\t\t\tcase \"win\":\r\n\t\t\t\treturn \"#138A8A\";\r\n\t\t\tcase \"truth\":\r\n\t\t\t\treturn \"#BD3DBF\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\tif (bg === true) {\r\n\t\tswitch (type) {\r\n\t\t\tcase \"win\":\r\n\t\t\t\treturn \"#D8FAFA\";\r\n\t\t\tcase \"truth\":\r\n\t\t\t\treturn \"#bd3dbf3b\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t}\r\n};\r\nexport const WrapperBox = styled.div`\r\n\t/* background: ${(props) => (props.active ? ColorCheck(props.type, true) : \"#ffffff\")}; */\r\n\tcolor: ${(props) => (props.active ? ColorCheck(props.type) : \"#92919D\")};\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 0.5rem;\r\n\t.state-header {\r\n\t\tfont-weight: 400;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 19px;\r\n\t\tsvg {\r\n\t\t\t--fa-animation-iteration-count: 2;\r\n\t\t}\r\n\t}\r\n\t.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider {\r\n\t\tbackground: ${(props) => (props.active ? (props.type === \"win\" ? \"#9DF2F2\" : \"#d185d2\") : \"#92919D\")};\r\n\t}\r\n\t.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider {\r\n\t\tbackground: ${(props) => (props.active ? (props.type === \"win\" ? \"#9DF2F2\" : \"#d185d2\") : \"#92919D\")};\r\n\r\n\t\t:hover {\r\n\t\t\tbackground: ${(props) => (props.active ? (props.type === \"win\" ? \"#9DF2F2\" : \"#d185d2\") : \"#92919D\")};\r\n\t\t}\r\n\t\t:focus {\r\n\t\t\tbox-shadow: none !important;\r\n\t\t}\r\n\t}\r\n\t.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before {\r\n\t\tbackground: ${(props) => ColorCheck(props.type)};\r\n\t\tborder: none !important;\r\n\t}\r\n\t.p-inputswitch.p-focus .p-inputswitch-slider {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n`;\r\nexport const Select = styled(Typeahead)`\r\n\t.form-control:focus {\r\n\t\tbox-shadow: none;\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t}\r\n\r\n\t.rbt-close {\r\n\t\tzoom: 0.8;\r\n\t}\r\n\t.rbt-close-content {\r\n\t\tvisibility: hidden !important;\r\n\t}\r\n`;\r\nexport const XButton = styled.div`\r\n\tdisplay: none;\r\n`;\r\nexport const Badge = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tbackground: #ffffff;\r\n\twidth: 100%;\r\n\tcursor: pointer;\r\n\theight: 49px;\r\n\t:hover ${XButton} {\r\n\t\tdisplay: block;\r\n\t}\r\n`;\r\nexport const BadgeWrapper = styled.div`\r\n\tborder-radius: ${(props) => (props.index === 0 ? \"4px 4px 0px 0px;\" : props.index === props.length - 1 ? \"0px 0px 4px 4px;\" : \" 0px\")};\r\n\tborder: 1px solid #c4c4c4;\r\n\t${(props) => ((props.index === 0 && props.length === 1) || props.index === props.length - 1 ? `` : \"border-bottom: none;\")}\r\n\r\n\tbackground: #FFF;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tcursor: pointer;\r\n\theight: 49px;\r\n\r\n\twidth: 95%;\r\n\t:hover {\r\n\t\tbox-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25), -1px -1px 4px 0px rgba(0, 0, 0, 0.25);\r\n\t}\r\n`;\r\nexport const ItemsContainer = styled.div`\r\n\t${(props) => (props.minHeight ? `min-height:${props.minHeight}px;overflow: scroll;` : \"\")}\r\n\t/* ${(props) => (props.maxHeight ? `max-height:${props.maxHeight}px;` : \"\")};\r\n\tpadding-bottom: 1rem; */\r\n\tpadding-top: 12px;\r\n\t.obj-name {\r\n\t\twidth: 432px;\r\n\t\tcolor: #333;\r\n\t\tfont-family: \"Inter\";\r\n\t\tfont-size: 16px;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 500;\r\n\t\tline-height: 150%;\r\n\t\tpadding: 0.5rem;\r\n\t}\r\n`;\r\nexport const Menu = styled(DropdownMenu)`\r\n\ttop: -42px !important;\r\n\tmin-width: 400px;\r\n\t/* left: -13px !important; */\r\n`;\r\nexport const Toggle = styled(DropdownToggle)`\r\n\tmargin-bottom: 2rem;\r\n\ttext-transform: capitalize;\r\n\twhite-space: nowrap;\r\n\tbackground-color: transparent !important;\r\n\tcolor: #605f60 !important;\r\n\tborder: 1px solid transparent !important;\r\n\r\n\t:focus {\r\n\t\tcolor: #605f60 !important;\r\n\t\tbackground-color: #e4e7f1 !important;\r\n\t\tborder: 1px solid #e4e7f1 !important;\r\n\t}\r\n\t:hover {\r\n\t\tcolor: #605f60 !important;\r\n\t\tbackground-color: #e4e7f1 !important;\r\n\t\tborder: 1px solid #e4e7f1 !important;\r\n\t}\r\n`;\r\nexport const Owner = styled.div`\r\n\tcolor: #92919d;\r\n\tmin-width: 36px;\r\n\tmin-height: 36px;\r\n\twidth: 36px;\r\n\theight: 36px;\r\n\tbackground: #ffffff;\r\n\tborder-radius: 50%;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tfont-size: 14px;\r\n`;\r\n\r\nexport const OwnerPickList = styled.div`\r\n\tborder-radius: 4px;\r\n\t.rbt-input-multi.form-control {\r\n\t\tmargin: 0px;\r\n\t\tpadding: 0px;\r\n\t}\r\n`;\r\n\r\nexport const CustomDropdown = styled(Dropdown)`\r\n\t/* margin-bottom: 2rem; */\r\n\tbutton {\r\n\t\tmargin: 0px !important;\r\n\t}\r\n`;\r\nexport const WrapperButton = styled(GenericButton)`\r\n\t/* background-color: #EDF3FB !important; */\r\n\t/* border:1px solid #ced4da !important; */\r\n\tborder-radius: 4px;\r\n\tcolor: #605f60;\r\n\tposition: absolute;\r\n\ttop: -50px;\r\n\tright: 0px;\r\n\twidth: fit-content !important;\r\n\r\n\t/* width:60px; */\r\n`;\r\nexport const WrapperList = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\t/* width:fit-content; */\r\n\theight: 350px;\r\n\toverflow-y: scroll;\r\n`;\r\nexport const WrapperOverlayPanel = styled(OverlayPanel)`\r\n\twidth: 512px !important;\r\n\theight: 303px !important;\r\n\tz-index: 1060 !important;\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n\t.p-overlaypanel-close {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\tbutton {\r\n\t\t/* background:#F96209!important; */\r\n\t}\r\n`;\r\n\r\nexport const PositionButtonAdd = styled.div`\r\n\tposition: absolute;\r\n\tright: 7px;\r\n\ttop: 7px;\r\n\theight: 85%;\r\n`;\r\n\r\nexport const ToggleCaret = styled(DropdownToggle)`\r\n\t//all: unset;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twidth: 100%;\r\n\tjustify-content: space-between;\r\n\tborder: 1px solid transparent !important ;\r\n\ttransition: none !important;\r\n\t/* padding:0.375rem 0.75rem !important; */\r\n\r\n\t${(props) =>\r\n\t\tprops.bordervisible === \"true\" &&\r\n\t\t`\r\n\tborder: 1px solid #d9dbde !important;\r\n\tborder-radius: 4px;\r\n\tpadding:0.375rem 0.75rem !important;\r\n\r\n\t`}\r\n\t/* padding: 12px !important; */\r\n\t//Size\r\n\t${(props) =>\r\n\t\tprops.size === \"xs\" &&\r\n\t\tcss`\r\n\t\t\theight: 24px;\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"s\" &&\r\n\t\tcss`\r\n\t\t\theight: 32px;\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\r\n\t\t${(props) =>\r\n\t\tprops.size === \"s\" &&\r\n\t\tcss`\r\n\t\t\twidth: 32px;\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\theight: 36px;\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"lg\" &&\r\n\t\tcss`\r\n\t\t\theight: 40px;\r\n\t\t\tfont-size: 16px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xl\" &&\r\n\t\tcss`\r\n\t\t\theight: 48px;\r\n\t\t\tfont-size: 16px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xxl\" &&\r\n\t\tcss`\r\n\t\t\theight: 60px;\r\n\t\t\tfont-size: 24px;\r\n\t\t`}\r\n\t.caret {\r\n\t\tmin-width: 18px;\r\n\t\tvisibility: hidden;\r\n\t}\r\n\tbutton:focus:not(:focus-visible) {\r\n\t\toutline: none;\r\n\t}\r\n\tbutton {\r\n\t\tcursor: none;\r\n\t}\r\n\t:hover {\r\n\t\tbackground-color: transparent;\r\n\t\t-webkit-box-shadow: none;\r\n\t\t-moz-box-shadow: none;\r\n\t\tbox-shadow: none;\r\n\t\tborder: 1px solid #d9dbde !important;\r\n\t\t.caret {\r\n\t\t\tmin-width: 18px;\r\n\t\t\tvisibility: visible;\r\n\t\t}\r\n\t}\r\n\t.btn-secondary:focus {\r\n\t\tborder: 1px solid ${Colors.primary} !important;\r\n\t\tborder: 1px solid #d9dbde !important;\r\n\t\t.caret {\r\n\t\t\tvisibility: visible;\r\n\t\t}\r\n\t}\r\n\t.form-control:focus {\r\n\t\tborder: 1px solid ${Colors.primary} !important;\r\n\t\t.caret {\r\n\t\t\tmin-width: 18px;\r\n\t\t\tvisibility: visible;\r\n\t\t}\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled === \"true\" &&\r\n\t\tcss`\r\n\t\t\tcursor: pointer !important;\r\n\t\t`}\r\n`;\r\n\r\nexport const MenuDrop = styled(DropdownMenu)`\r\n\twidth: 100%;\r\n\tpadding: 0;\r\n\tborder-radius: 6px;\r\n\tbox-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);\r\n\tborder: none;\r\n\tbackground: #ffffff;\r\n\tmax-height: 250px;\r\n\toverflow: scroll;\r\n`;\r\n\r\nexport const Item = styled.div`\r\n\tpadding: 0.3rem;\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t\topacity: 0.5;\r\n\t\t\tcursor: default;\r\n\t\t`}\r\n\r\n\t:hover {\r\n\t\tbackground-color: #d9d9d9;\r\n\t}\r\n`;\r\nexport const MainContainer = styled.div`\r\n\tdisplay: flex;\r\n\twidth: 100%;\r\n\theight: ${(props) => (props.query ? \"calc(100vh - 320px)\" : \"calc(100vh - 276px)\")};\r\n\toverflow: auto;\r\n\tbox-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tpadding: 1rem 2rem;\r\n\tgap: 24px;\r\n\r\n\tbackground-color: #ffffff;\r\n\t${(props) => props.solution === \"true\" && \" display:block;\"}\r\n\t${(props) =>\r\n\t\tprops.query &&\r\n\t\tcss`\r\n\t\t\tborder-radius: 0px;\r\n\t\t\tbox-shadow: none;\r\n\t\t`}\r\n`;\r\nexport const ContainerPage = styled(Container)`\r\n\theight: calc(100vh - 76px);\r\n\tflex-direction: row-reverse;\r\n\t${(props) =>\r\n\t\tprops.query &&\r\n\t\tcss`\r\n\t\t\t/* background-color: #f8f9fa; */\r\n\t\t\tpadding: 0;\r\n\t\t\theight: unset;\r\n\t\t`}\r\n`;\r\nexport const CustomBreadcrumb = styled(Breadcrumb)`\r\n\tol {\r\n\t\tmargin: 0 !important;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n\tli {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n`;\r\nexport const Path = styled.div`\r\n\twhite-space: nowrap;\r\n\tcolor: #8c8c8c;\r\n\tfont-size: 14px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\ttext-overflow: ellipsis;\r\n\tmax-height: 100%;\r\n\tdisplay: inline-block;\r\n\tmax-width: 500px;\r\n\toverflow: hidden;\r\n`;\r\nexport const ButtonContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\t/* border-left: 1px solid #c4c4c4; */\r\n`;\r\nexport const PathContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: start;\r\n\twidth: 100%;\r\n`;\r\nexport const MainTitle = styled.div`\r\n\t${({ query }) => !query && `border-top: 1px dashed #c4c4c4;`}\r\n\tmin-height: 100px;\r\n\tpadding: 0.5rem 1rem;\r\n\t.title {\r\n\t\tcolor: #333;\r\n\t\tfont-family: Inter;\r\n\t\tfont-size: 24px;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 500;\r\n\t\tline-height: 150%; /* 36px */\r\n\t\t${({ query }) => query && `white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: calc(100% - 100px)`}\r\n\t}\r\n\t@media screen and (max-width: 1280px) {\r\n\t\t.title {\r\n\t\t\tfont-size: 20px;\r\n\t\t}\r\n\t}\r\n`;\r\nexport const MapStageContainer = styled.div`\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: #fff;\r\n`;\r\nexport const Image = styled.img`\r\n\twidth: 36px;\r\n\theight: 36px;\r\n\tborder-radius: 5px;\r\n`;\r\n\r\nexport const IsFutureLabel = styled.div`\r\n height: 24px;\r\n\twidth: fit-content;\r\n\tborder-radius: 4px;\r\n\tpadding-left: 8px;\r\n padding-right: 8px;\r\n\tbackground: ${(props) => (props.type === \"true\" ? \"#FAE8FF\" : \"#F1F5F9\")};\r\n\tcolor: ${(props) => (props.type === \"true\" ? \"#86198F\" : \"#1E293B\")};\r\n`;\r\n\r\nexport const PositionButtonADD = styled.div`\r\n\tposition: relative;\r\n\t> button {\r\n\t\tposition: absolute;\r\n\t\ttop: 2px;\r\n\t\tz-index: 2;\r\n\t\tfont-size: 14px;\r\n\t\tcolor: #262626;\r\n\t\t${(props) => (props.disabled ? \"pointer-events: none;opacity: 0.5;\" : \"\")}\r\n\t}\r\n`;\r\nexport const StagesContainer = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: #fff;\r\n\theight: 36px;\r\n\tpadding: 0 8px;\r\n\tmin-width: 191px;\r\n`;\r\n\r\nexport const CustomTabs = styled(Tabs)`\r\n\tdisplay: flex;\r\n\tjustify-content: start;\r\n\tmargin-bottom: 1rem;\r\n\t/* border: none !important; */\r\n\r\n\tbutton {\r\n\t\tfont-weight: 400;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 24px;\r\n\t}\r\n`;\r\nexport const FooterWrapper = styled.div`\r\n\tbackground: rgba(255, 255, 255, 0.9);\r\n\tbox-shadow: 0px -1px 4px 0px rgba(0, 0, 0, 0.25);\r\n\theight: 82px;\r\n\twidth: 100%;\r\n\tmargin-top: 8px;\r\n\tborder-radius: 4px;\r\n\tdisplay: flex;\r\n\tjustify-content: start;\r\n\talign-items: center;\r\n\tpadding: 1rem;\r\n`;\r\nexport const PaginationTitle = styled.div`\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\tline-height: 24px;\r\n\tcolor: #000000;\r\n\tmargin-left: 1rem;\r\n\tmin-width: 140px;\r\n`;\r\n\r\nexport const QuickSelectionCard = styled.div`\r\n\tflex: 1 0 21%; // adjust this as needed\r\n\tmargin: 1%;\r\n\tmax-width: 100%;\r\n\tbox-sizing: border-box;\r\n\r\n\tpadding: 0.5rem 1rem;\r\n\tbackground: var(--color-Grey-Background, #f5f5f5);\r\n\tcolor: var(--color-Grey-Primary-Text, #262626);\r\n\tfont-weight: 400;\r\n\tcursor: pointer;\r\n\r\n\t${(props) =>\r\n\t\tprops.active &&\r\n\t\tcss`\r\n\t\t\tborder-left: 4px solid var(--color-Grey-Secondary-Text, #595959);\r\n\t\t\t${QuickSelectionCardTitle} {\r\n\t\t\t\tfont-weight: 600;\r\n\t\t\t}\r\n\t\t`};\r\n`;\r\nexport const QuickSelectionCardTitle = styled.div`\r\n\tcolor: var(--color-Grey-Primary-Text, #262626);\r\n\twidth: 100%; // or use max-width\r\n\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%; /* 36px */\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\nexport const QuickSelectionCardDescription = styled.div`\r\n\twidth: 100%;\r\n\tcolor: var(--color-Grey-Secondary-Text, #595959);\r\n\tfont-family: Inter;\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\nexport const ListComponentWrapper = styled.div`\r\n\tbackground: var(--color-Grey-Background, #f5f5f5);\r\n\t${(props) =>\r\n\t\tprops.query &&\r\n\t\tcss`\r\n\t\t\t/* border-right: 1px solid #c4c4c4;\r\n\t\t\tborder-left: 1px solid #c4c4c4; */\r\n\t\t`}\r\n`;\r\nexport const HeaderListComponent = styled.div`\r\n\t/* display: flex; */\r\n\tbackground: var(--color-Grey-Background, #f5f5f5);\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tpadding: 0.5rem;\r\n\t/* height: 45px; */\r\n\t${(props) =>\r\n\t\tprops.query &&\r\n\t\tcss`\r\n\t\t\theight: unset;\r\n\t\t\tborder: none;\r\n\t\t\tpadding: 1rem;\r\n\t\t`}\r\n\twidth: 320px;\r\n\ttransition: all 0.5s ease-out;\r\n`;\r\nexport const WrapperItems = styled.div`\r\n\tmax-height: 100%;\r\n\t/* width: auto; */\r\n\twidth: 320px;\r\n\toverflow: scroll;\r\n\tmax-height: ${(props) => (props.query ? \"calc(100vh - 320px)\" : \"calc(100vh - 276px)\")};\r\n\ttransition: all 0.5s ease-out;\r\n\tgap: 8px;\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\t${(props) => props.disableScroll && \"overflow: hidden;\"}\r\n`;\r\nexport const AddButton = styled(GenericButton)`\r\n\tcolor: #605f60;\r\n\tfont-size: 14px;\r\n`;\r\nexport const ContainerItem = styled.div`\r\n\twidth: 100%;\r\n`;\r\n\r\nexport const ContainerCxPage = styled.div`\r\n\tdisplay: flex;\r\n\t/* width: 100%;\r\n\theight: 100%; */\r\n\r\n\t${(props) => props.disableViewer && `cursor: no-drop;;`}\r\n`;\r\n\r\nexport const RelatedItemsContainer = styled.div`\r\n\t${(props) => (props.minHeight ? `min-height:${props.minHeight}px;overflow: auto;` : \"\")}\r\n\t${(props) => (props.maxHeight ? `max-height:${props.maxHeight}px;` : \"\")};\r\n\t/* padding-bottom: 1rem; */\r\n\toverflow: auto;\r\n\t.obj-name {\r\n\t\twidth: 432px;\r\n\t\tcolor: #333;\r\n\t\tfont-family: \"Inter\";\r\n\t\tfont-size: 16px;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 500;\r\n\t\tline-height: 150%;\r\n\t\tpadding: 0.5rem;\r\n\t}\r\n`;\r\n\r\nexport const CustomLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 0.875rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\nexport const Divider = styled.div`\r\n\theight: 1px;\r\n\tbackground: var(--color-Grey-Dividers, #f0f0f0);\r\n\twidth: 95%;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\talign-self: center;\r\n`;\r\n\r\nexport const BorderWrapper = styled.div`\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n\tpadding: 0.3rem 0rem;\r\n\tbutton {\r\n\t\tcolor: #262626;\r\n\t}\r\n`;\r\nexport const EditorWrapper = styled.div`\r\n\tmin-height: 150px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n\tpadding: 0.5rem;\r\n\t:focus-within {\r\n\t\tborder: 1px solid #333333;\r\n\t}\r\n\tdisplay: flex;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport \"./spinner.scss\";\r\nimport Loader from \"./Loaster\";\r\n\r\nexport function Spinner({ full = false, isFixed = true }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{/*
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
*/}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport function SmallSpinner() {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n\r\n\r\nexport const JumpDotSpinner = ({width, left}) => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst LoaderWrapper = styled.div`\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tz-index: 99999;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\t${(props) =>\r\n\t\tprops.full &&\r\n\t\t`\r\n background-color: #FFFFFF;\r\n `}\r\n\t#placeholder {\r\n\t\tfont-size: 20px;\r\n\t\tfont-family: \"Inter\";\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.isFixed === false &&\r\n\t\t`\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n `}\r\n`;\r\n\r\nexport const ProgressBarSpinner = ({ delay = 18, placeholder1, placeholder2 }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{placeholder1}
\r\n\t\t\t\t
{placeholder2}
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst ProgressBar = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\r\n\t.loader-progress {\r\n\t\twidth: 60%;\r\n\t\theight: 4px;\r\n\t\tborder-radius: 2px;\r\n\t\tbackground-color: rgba(0, 0, 0, 0.2);\r\n\t\tposition: absolute;\r\n\t}\r\n\r\n\t.loader-progress::before {\r\n\t\tcontent: \"\";\r\n\t\tposition: absolute;\r\n\t\tbackground: linear-gradient(45deg, #f96209, #f8ad48, #18aead, #60c1ef, #3f3d56);\r\n\t\twidth: 0%;\r\n\t\theight: 100%;\r\n\t\tborder-radius: 2px;\r\n\t\tanimation: load ${(props) => props.delay}s ease-in-out forwards;\r\n\t\tbox-shadow: #f96209 0px 2px 29px 0px;\r\n\t}\r\n\r\n\t.placeholder-ai {\r\n\t\tposition: absolute;\r\n\t\ttransform: translate(10px, 10px);\r\n\t\tpadding: 1rem;\r\n\t\ttext-align: center;\r\n\r\n\t\tdiv {\r\n\t\t\tfont-size: 12px;\r\n\t\t\tfont-family: \"Inter\";\r\n\t\t}\r\n\t}\r\n\t@keyframes load {\r\n\t\t10% {\r\n\t\t\twidth: 10%;\r\n\t\t}\r\n\t\t20% {\r\n\t\t\twidth: 20%;\r\n\t\t}\r\n\t\t30% {\r\n\t\t\twidth: 30%;\r\n\t\t}\r\n\t\t40% {\r\n\t\t\twidth: 40%;\r\n\t\t}\r\n\t\t50% {\r\n\t\t\twidth: 50%;\r\n\t\t}\r\n\t\t60% {\r\n\t\t\twidth: 60%;\r\n\t\t}\r\n\t\t70% {\r\n\t\t\twidth: 70%;\r\n\t\t}\r\n\t\t80% {\r\n\t\t\twidth: 80%;\r\n\t\t}\r\n\t\t90% {\r\n\t\t\twidth: 90%;\r\n\t\t}\r\n\t\t100% {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n`;\r\n","import React from \"react\";\r\nimport { Col, Offcanvas } from \"react-bootstrap\";\r\nimport { Input } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nexport const SideModal = styled(Offcanvas)`\r\n\tmin-width: 800px;\r\n\tbox-shadow: -2px 0px 4px 0px rgba(0, 0, 0, 0.25);\r\n\tpadding: 16px;\r\n\toverflow: auto;\r\n\t.btn-close:focus {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n`;\r\n\r\ninterface FlexAlignProps extends React.HTMLAttributes {\r\n\tgap?: number;\r\n\tjustifyContent?: string;\r\n\tfocus?: boolean;\r\n}\r\n\r\nexport const FlexContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: ${({ gap }) => gap || 0}px;\r\n\r\n\tjustify-content: ${({ justifyContent }) => justifyContent || \"flex-start\"};\r\n\t${({ focus }) =>\r\n\t\tfocus &&\r\n\t\tcss`\r\n\t\t\t&:focus-within {\r\n\t\t\t\tborder: 1px solid var(--color-Grey-Primary-Text, #333333);\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t\tborder-radius: 4px;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n\r\nexport const FlexBetween = styled.div>`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\ninterface TitleInputProps extends React.HTMLAttributes {\r\n\tfontSize?: string | number;\r\n\tfontWeight?: number | string;\r\n\tcolor?: number | string;\r\n\tnoborder?: boolean;\r\n}\r\n\r\nexport const TitleInput = styled(Input)`\r\n\tcolor: ${({ color }) => color || \"#333333\"};\r\n\tfont-family: \"Inter\";\r\n\tfont-size: ${({ fontSize }) => fontSize || \"14px\"};\r\n\tfont-style: normal;\r\n\tfont-weight: ${({ fontWeight }) => fontWeight || \"normal\"};\r\n\tline-height: 27px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tborder: none;\r\n\toutline: none;\r\n\r\n\t&:focus {\r\n\t\tborder: 1px solid #333333;\r\n\t\tbox-shadow: none;\r\n\t\t${({ noborder }) =>\r\n\t\t\tnoborder === 'true' &&\r\n\t\t\tcss`\r\n\t\t\t\tborder: none;\r\n\t\t\t`}\r\n\t}\r\n`;\r\ninterface RegularTextProps extends React.HTMLAttributes {\r\n\tfontSize?: string | number;\r\n\tfontWeight?: number | string;\r\n\tcolor?: string;\r\n}\r\nexport const RegularText = styled.div`\r\n\tfont-family: Inter;\r\n\tfont-size: ${({ fontSize }) => fontSize || \"14px\"};\r\n\tfont-style: normal;\r\n\tfont-weight: ${({ fontWeight }) => fontWeight || \"normal\"};\r\n\tline-height: 25px;\r\n\tcolor: ${({ color }) => color || \"var(--color-Grey-Primary-Text, #333333)\"};\r\n`;\r\ninterface labelProps extends React.HTMLAttributes {\r\n\tsize?: string | number;\r\n\tfs?: number | string;\r\n\tfw?: string;\r\n}\r\nexport const Label_ts = styled.div`\r\n\tcolor: ${(props) => (props.color ? props.color : \"#605f60\")};\r\n\tfont-family: \"Inter\";\r\n\tfont-size: ${({ size }) => size}px;\r\n\tfont-style: ${({ fs }) => (fs ? fs : \"normal\")};\r\n\tfont-weight: ${({ fw }) => (fw ? fw : 400)};\r\n`;\r\nexport const StyledCol = styled(Col)`\r\ndisplay: flex;\r\nalign-items: center;\r\ngap: 8px;\r\nheight:48px;\r\n #eyeButton {\r\n visibility: hidden;\r\n }\r\n:hover {\r\n #eyeButton {\r\n visibility: visible;\r\n }\r\n }\r\n`\r\n\r\nexport const IconWrapper = styled.div`\r\n\twidth: 38px;\r\n\tmin-width: 38px;\r\n\theight: 38px;\r\n\tborder-radius: 50%;\r\n\tborder: 1px solid #000000;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nexport const NoData = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tgap: 23px;\r\n\tmin-height: 130px;\r\n`;\r\n\r\nexport const NoDataIcon = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nexport const NoDataText = styled.div`\r\n\tcolor: #605f60;\r\n\ttext-align: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 0.875rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n","import { ResponsiveContainer } from \"recharts\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nexport const DashboardContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nexport const TopSection = styled.div`\r\n\tbackground-color: #fff;\r\n\tbackground: #fff;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tpadding: 1rem 1rem 1rem 0;\r\n\tmargin-left: 5rem;\r\n\tmargin-right: 5rem;\r\n\tborder-bottom: 1px solid #efefef;\r\n`;\r\n\r\nexport const BodySection = styled.div`\r\n\twidth: 100%;\r\n\tpadding-top: 1rem;\r\n\t${({ ispdf }) =>\r\n\t\t!ispdf &&\r\n\t\tcss`\r\n\t\t\toverflow: scroll;\r\n\t\t\toverflow-x: hidden;\r\n\t\t\tmax-height: calc(100vh - 155px);\r\n\t\t`}\r\n `;\r\n\r\nexport const Body = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 16px;\r\n\tpadding-left: 5rem;\r\n\tpadding-right: 5rem;\r\n`;\r\n\r\nexport const CustomResponsiveContainer = styled(ResponsiveContainer)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nexport const LegendText = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 0.75rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nexport const CustomTooltip = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\tborder: 1px solid #ccc;\r\n\tmin-width: 120px;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n`;\r\n\r\nexport const ColorCircle = styled.div`\r\n\tmin-width: 0.75rem;\r\n\tmin-height: 0.75rem;\r\n\tborder-radius: 6.25rem;\r\n\tborder: 1px solid ${(props) => props.color};\r\n\tbackground: ${(props) => props.color};\r\n`;\r\n\r\nexport const TickStyle = {\r\n\tfontSize: \"14px\",\r\n\tfontFamilly: \"Inter\",\r\n\tcolor: \"#605F60\",\r\n};\r\n\r\nexport const RelativeWrapper = styled.div`\r\n\tposition: relative;\r\n\tmin-height: 800px;\r\n`;\r\n\r\nexport const AnalyticsLogoHeader = styled.img`\r\n\tobject-fit: contain;\r\n\tbackground-color: #ffffff;\r\n\toverflow: hidden;\r\n max-height: 100px;\r\n max-width: 380px;\r\n align-self: flex-start;\r\n margin-left: 5rem;\r\n`;","import { EMPTY_GUID, extractTextFromHtml } from \"@utils/helpers\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport EditCxAction from \"features/cx-actions/modals/cx-action\";\r\nimport { EditInsights } from \"features/index\";\r\nimport EditOpportunity from \"features/opportunity/modals/edit-opportunity\";\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport EditSolution from \"features/solutions/modals/edit-solution\";\r\nimport { BenefitCard } from \"features/solutions/solutionsComponents/BenefitCard\";\r\nimport { t } from \"i18next\";\r\nimport _ from \"lodash\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport PriorityDropdown from \"shared/dropdowns/cx-dropdown/PriorityDropdown\";\r\nimport StatusDropdown from \"shared/dropdowns/cx-dropdown/StatusDropdown\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { getCxAttribute, getSolutionTypeData } from \"utils/helpers\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport CustomTooltip from \"../../../shared/components/CustomTooltip\";\r\nimport { CustomRatingNew } from \"../../../shared/ui-basics/ui-components/CustomRating\";\r\nimport * as Style from \"./Style\";\r\nimport { getSelectedIdsMemoized, retrieveAllActiveOpportunities } from \"redux/memoizedSelectors\";\r\n\r\nexport const Map = (action, params) => {\r\n\tconst { pathname } = useLocation();\r\n\tconst desactivateClick = pathname === \"/trash\" || pathname === \"/archive\" || !params.allowClick;\r\n\r\n\tconst getRelevantModal = () => {\r\n\t\tswitch (params.route) {\r\n\t\t\tcase \"edit-opportunity\":\r\n\t\t\t\treturn EditOpportunity;\r\n\t\t\tcase \"edit-solution\":\r\n\t\t\t\treturn EditSolution;\r\n\t\t\tcase \"edit-cxactions\":\r\n\t\t\t\treturn EditCxAction;\r\n\t\t\tcase \"edit-insight\":\r\n\t\t\t\treturn EditInsights;\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\tconst [showEditModal] = useModal(getRelevantModal());\r\n\r\n\tconst handleClick = () => {\r\n\t\tshowEditModal({ id: action.id, item: action });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t {} : handleClick} className=\"me-1\">\r\n\t\t\t\t{action?.mapName}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const Owner = (action) => {\r\n\tconst owner = useSelector((state) => state.settings.authorizedUsers?.find((user) => user.id === action?.ownerId)) || {};\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const TablePriority = ({ record, dataKey, handleUpdate, isDisabled = false }) => {\r\n\tconst bulkSelectedRecords = useSelector(getSelectedIdsMemoized);\r\n\r\n\tconst update = ({ priorityId }) => {\r\n\t\tlet updatedRecords = [];\r\n\t\tif (bulkSelectedRecords && bulkSelectedRecords?.length > 0) {\r\n\t\t\tupdatedRecords = bulkSelectedRecords?.map((rec) => ({ ...rec, priorityId }));\r\n\t\t} else {\r\n\t\t\tupdatedRecords = [{ ...record, priorityId }];\r\n\t\t}\r\n\t\thandleUpdate(updatedRecords, [\"priorityId\"]);\r\n\t};\r\n\r\n\treturn update({ priorityId })} isSwitchDisabled={isDisabled} />;\r\n};\r\n\r\nexport const PriorityCxAttributeColumn = ({ data, memoizedSelector, recordType, onUpdateCxAttribute, isDisabled }) => {\r\n\tconst allActiveItems = useSelector(memoizedSelector);\r\n\tconst selectedIds = useSelector(getSelectedIdsMemoized)?.map((data) => data?.id);\r\n\r\n\tconst currentPriorityAttribute = getCxAttribute({ data, informationType: InformationType.Priority });\r\n\r\n\tconst update = ({ priorityId }) => {\r\n\t\tconst currentItem = allActiveItems?.find((item) => item.id === data?.id);\r\n\t\tconst currentItems = selectedIds?.length > 0 ? allActiveItems?.filter((item) => selectedIds?.includes(item?.id)) : [currentItem];\r\n\t\tconst modifiedCxAttributes = currentItems?.map((item) => {\r\n\t\t\tconst priorityAttribute = { ...getCxAttribute({ data: item, informationType: InformationType.Priority }) };\r\n\t\t\tpriorityAttribute.priorityId = priorityId;\r\n\t\t\treturn priorityAttribute;\r\n\t\t});\r\n\t\tonUpdateCxAttribute({ modifiedCxAttributes, modifiedAttribNames: [\"priorityId\"] });\r\n\t};\r\n\r\n\treturn update({ priorityId })} attributeName=\"priorityId\" isSwitchDisabled={isDisabled} />;\r\n};\r\n\r\nexport const DateCxAttributeColumn = ({ data, memoizedSelector, onUpdateCxAttribute, isDisabled }) => {\r\n\tconst allActiveItems = useSelector(memoizedSelector);\r\n\tconst selectedIds = useSelector(getSelectedIdsMemoized)?.map((data) => data?.id);\r\n\r\n\tconst currentItem = allActiveItems?.find((item) => item.id === data?.id);\r\n\tconst currentItems = selectedIds?.length > 0 ? allActiveItems?.filter((item) => selectedIds?.includes(item?.id)) : [currentItem];\r\n\tconst currentDateAttribute = getCxAttribute({ data: currentItem, informationType: InformationType.DueDate });\r\n\r\n\tconst currentDate = currentDateAttribute?.date?.formatDate();\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tconst { value } = e.target;\r\n\r\n\t\tconst modifiedCxAttributes = currentItems?.map((item) => {\r\n\t\t\tconst dateAttribute = { ...getCxAttribute({ data: item, informationType: InformationType.DueDate }) };\r\n\t\t\tdateAttribute.date = new Date(value)?.toISOString();\r\n\t\t\treturn dateAttribute;\r\n\t\t});\r\n\t\tonUpdateCxAttribute({ modifiedCxAttributes, modifiedAttribNames: [\"date\"] });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const Status = ({ record, dataKey, handleUpdate, isDisabled = false }) => {\r\n\tconst bulkSelectedRecords = useSelector(getSelectedIdsMemoized);\r\n\r\n\tconst update = ({ statusId }) => {\r\n\t\tlet updatedRecords = [];\r\n\t\tif (bulkSelectedRecords && bulkSelectedRecords?.length > 0) {\r\n\t\t\tupdatedRecords = bulkSelectedRecords?.map((rec) => ({ ...rec, statusId }));\r\n\t\t} else {\r\n\t\t\tupdatedRecords = [{ ...record, statusId }];\r\n\t\t}\r\n\t\thandleUpdate(updatedRecords, [\"statusId\"]);\r\n\t};\r\n\r\n\treturn update({ statusId })} isSwitchDisabled={isDisabled} />;\r\n};\r\n\r\nexport const StatusCxAttributeColumn = ({ data, memoizedSelector, recordType, onUpdateCxAttribute, isDisabled }) => {\r\n\tconst allActiveItems = useSelector(memoizedSelector);\r\n\tconst selectedIds = useSelector(getSelectedIdsMemoized)?.map((opp) => opp?.id);\r\n\r\n\tconst currentItem = allActiveItems?.find((opp) => opp.id === data?.id);\r\n\tconst currentItems = selectedIds?.length > 0 ? allActiveItems?.filter((item) => selectedIds?.includes(item?.id)) : [currentItem];\r\n\tconst currentStatusAttribute = getCxAttribute({ data: currentItem, informationType: InformationType.Status });\r\n\r\n\tconst update = ({ statusId }) => {\r\n\t\tconst modifiedCxAttributes = currentItems?.map((item) => {\r\n\t\t\tconst statusAttribute = { ...getCxAttribute({ data: item, informationType: InformationType.Status }) };\r\n\t\t\tstatusAttribute.statusId = statusId;\r\n\t\t\treturn statusAttribute;\r\n\t\t});\r\n\t\tonUpdateCxAttribute({ modifiedCxAttributes, modifiedAttribNames: [\"statusId\"] });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t update({ statusId })} attributeName=\"statusId\" isSwitchDisabled={isDisabled} />\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const OpportunityRatingColumn = ({ data, ratingLabel, onUpdateCxAttribute, color, isDisabled }) => {\r\n\tconst allActiveOpportunities = useSelector(retrieveAllActiveOpportunities);\r\n\tconst selectedIds = useSelector(getSelectedIdsMemoized)?.map((opp) => opp?.id);\r\n\r\n\tconst currentOpportunity = allActiveOpportunities?.find((opp) => opp.id === data?.id);\r\n\tconst currentOpportunities = selectedIds?.length > 0 ? allActiveOpportunities?.filter((opp) => selectedIds.includes(opp?.id)) : [currentOpportunity];\r\n\tconst getRatingAttribute = (opp) => opp?.attributes?.find((att) => att?.type === InformationType?.Rating && t(att?.name)?.toLowerCase() === ratingLabel?.toLowerCase());\r\n\r\n\tconst update = ({ ratingValue }) => {\r\n\t\tconst modifiedCxAttributes = currentOpportunities?.map((opp) => {\r\n\t\t\tconst ratingAttribute = { ...getRatingAttribute(opp) };\r\n\t\t\tratingAttribute.ratingValue = ratingValue;\r\n\t\t\treturn ratingAttribute;\r\n\t\t});\r\n\t\tonUpdateCxAttribute({ modifiedCxAttributes, modifiedAttribNames: [\"ratingValue\"] });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const Stage = (action, params) => {\r\n\tconst { pathname } = useLocation();\r\n\r\n\tconst desactivateClick = pathname === \"/trash\" || pathname === \"/archive\" || !params.allowClick;\r\n\r\n\tconst getRelevantModal = () => {\r\n\t\tswitch (params.route) {\r\n\t\t\tcase \"edit-opportunity\":\r\n\t\t\t\treturn EditOpportunity;\r\n\t\t\tcase \"edit-solution\":\r\n\t\t\t\treturn EditSolution;\r\n\t\t\tcase \"edit-cxactions\":\r\n\t\t\t\treturn EditCxAction;\r\n\t\t\tcase \"edit-insight\":\r\n\t\t\t\treturn EditInsights;\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\tconst [showEditModal] = useModal(getRelevantModal());\r\n\r\n\tconst handleClick = () => {\r\n\t\tshowEditModal({ id: action.id, item: action });\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t {} : handleClick}>\r\n\t\t\t\t{action?.stageName}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const Subject = (action, params) => {\r\n\tconst { pathname } = useLocation();\r\n\tconst { t } = useTranslation();\r\n\tconst desactivateClick = pathname === \"/trash\" || pathname === \"/archive\" || !params.allowClick;\r\n\r\n\tconst name = action.name ?? action.subject;\r\n\tconst getRelevantModal = () => {\r\n\t\tswitch (params.route) {\r\n\t\t\tcase \"edit-opportunity\":\r\n\t\t\t\treturn EditOpportunity;\r\n\t\t\tcase \"edit-solution\":\r\n\t\t\t\treturn EditSolution;\r\n\t\t\tcase \"edit-cxactions\":\r\n\t\t\t\treturn EditCxAction;\r\n\t\t\tcase \"edit-insight\":\r\n\t\t\t\treturn EditInsights;\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\tconst [showEditModal] = useModal(getRelevantModal());\r\n\r\n\tconst handleClick = () => {\r\n\t\tshowEditModal({ id: action.id, item: action });\r\n\t};\r\n\tconst getLabel = () => {\r\n\t\tswitch (params.route) {\r\n\t\t\tcase \"edit-opportunity\":\r\n\t\t\t\treturn \"NEW_OPPORTUNITY_NAME\";\r\n\t\t\tcase \"edit-solution\":\r\n\t\t\t\treturn \"NEW_SOLUTION_NAME\";\r\n\t\t\tcase \"edit-cxactions\":\r\n\t\t\t\treturn \"NEW_CX_ACTION_NAME\";\r\n\t\t\tcase \"edit-insight\":\r\n\t\t\t\treturn \"NEW_INSIGHT_NAME\";\r\n\t\t}\r\n\t};\r\n\tconst label = getLabel();\r\n\treturn (\r\n\t\t\r\n\t\t\t { } : handleClick}>\r\n\t\t\t\t{name || t(label)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const Ranking = (solution) => {\r\n\treturn {solution?.score};\r\n};\r\n\r\nexport const Win = (item, onChangeObject) => {\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\r\n\tconst role = item?.mapId === EMPTY_GUID ? \"owner\" : item?.authorizedUsers?.find((user) => user.id === userInfo?.UserId)?.roleName;\r\n\tconst { editRowAllowed } = PermissionManager({ userAccess: role });\r\n\r\n\tconst selectedIds = useSelector((state) => state.ui?.table?.selectedIds);\r\n\tconst onClick = (e) => {\r\n\t\tconst modifiedOpportunities = [];\r\n\t\tif (selectedIds?.map((x) => x.id)?.includes(item?.id)) {\r\n\t\t\tconst ids = selectedIds?.map((x) => ({ ...x, win: !item.win }));\r\n\t\t\tmodifiedOpportunities.push.apply(modifiedOpportunities, ids);\r\n\t\t} else {\r\n\t\t\tconst copyObject = { ...item };\r\n\t\t\tcopyObject.win = !item.win;\r\n\t\t\tmodifiedOpportunities.push(copyObject);\r\n\t\t}\r\n\r\n\t\tonChangeObject(modifiedOpportunities, [\"win\"]);\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{item?.win &&
{IconDispatcher(\"LIKE\", \"me-1\", { beat: item.win ? true : false, style: { color: \"#138A8A\" } })}
}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const Truth = (item, onChangeObject) => {\r\n\tconst color = item.truth ? \"#BD3DBF\" : \"#D9D9D9\";\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst role = item?.mapId === EMPTY_GUID ? \"owner\" : item?.authorizedUsers?.find((user) => user.id === userInfo?.UserId)?.roleName;\r\n\r\n\tconst { editRowAllowed } = PermissionManager({ userAccess: role });\r\n\tconst selectedIds = useSelector((state) => state.ui.table?.selectedIds);\r\n\r\n\tconst onClick = () => {\r\n\t\tconst modifiedOpportunities = [];\r\n\t\tif (selectedIds?.map((x) => x.id)?.includes(item?.id)) {\r\n\t\t\tconst ids = selectedIds?.map((x) => ({ ...x, truth: !item.truth }));\r\n\t\t\tmodifiedOpportunities.push.apply(modifiedOpportunities, ids);\r\n\t\t} else {\r\n\t\t\tconst copyObject = { ...item };\r\n\t\t\tcopyObject.truth = !item.truth;\r\n\t\t\tmodifiedOpportunities.push(copyObject);\r\n\t\t}\r\n\r\n\t\tonChangeObject(modifiedOpportunities, [\"truth\"]);\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{item.truth &&
{IconDispatcher(\"HEART\", \"me-1\", { beat: item.truth ? true : false, style: { color: color } })}
}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const Group = (object) => {\r\n\tconst currentGroup = useSelector((state) => state.libraries?.group?.find((gp) => gp.id === object?.groupId));\r\n\r\n\treturn {currentGroup?.name};\r\n};\r\n\r\nexport const displayBenefitCard = (solution) => {\r\n\tconst typeData = getSolutionTypeData(solution.solutionType);\r\n\treturn <>{typeData ? : null};\r\n};\r\nexport const FolderName = (folder) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{folder.name}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const OwnerFolder = (folder) => {\r\n\treturn ;\r\n};\r\n\r\nexport const Text = (text) => {\r\n\treturn {text};\r\n};\r\nexport const DatePicker = (object, dataKey, attName, onChange) => {\r\n\tconst selectedIds = useSelector((state) => state.ui?.table?.selectedIds);\r\n\r\n\tconst dateNew = object?.[attName]?.formatDate(); // object?.[attName]?.split(\"T\")[0] || new Date().toISOString().split(\"T\")[0];\r\n\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst roleName = object?.authorizedUsers?.find((user) => user.id === userInfo?.UserId)?.roleName;\r\n\tconst { editRowAllowed } = PermissionManager({ userAccess: roleName });\r\n\tconst isdisabled = roleName === undefined ? false : !editRowAllowed;\r\n\tconst handleChange = (e) => {\r\n\t\tconst { name, value } = e.target;\r\n\t\tconst copyObject = { ...object };\r\n\t\tcopyObject[attName] = new Date(value)?.toISOString();\r\n\t\tconst modifiedOpportunities = [];\r\n\t\tif (selectedIds?.map((x) => x[dataKey])?.includes(object?.[dataKey])) {\r\n\t\t\tconst ids = selectedIds?.map((x) => ({ ...x, [attName]: copyObject[attName] }));\r\n\t\t\tmodifiedOpportunities.push.apply(modifiedOpportunities, ids);\r\n\t\t} else {\r\n\t\t\tmodifiedOpportunities.push(copyObject);\r\n\t\t}\r\n\t\tonChange(modifiedOpportunities, [attName]);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const RedirectText = (object, data, attribute) => {\r\n\tconst history = useHistory();\r\n\tconst text = object[attribute];\r\n\r\n\tconst handleClick = () => {\r\n\t\thistory.push(`/${data?.redirectUrl}${object?.id}`);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{text || \"-\"}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const Score = (score) => {\r\n\treturn {score};\r\n};\r\n\r\nexport const LibraryName = (data) => {\r\n\tconst history = useHistory();\r\n\treturn (\r\n\t\t history.push(`/library-${data?.url}${data.url === \"custom\" ? `?id=${data?.id}` : \"\"}`)}>\r\n\t\t\t
{data?.name || \"-\"}
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const Icon = (data) => {\r\n\treturn
{IconDispatcher(data?.icon, \"m-2\", { size: \"xl\" })}
;\r\n};\r\n\r\nexport const NumberOfRecords = (data) => {\r\n\treturn (\r\n\t\t { }}>\r\n\t\t\t
{data?.nRecords}
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const Description = (data, translateDescription) => {\r\n\tconst { t } = useTranslation();\r\n\t//translateDescription for library description\r\n\tconst getText = (data) => {\r\n\t\t// translate label for library and regular description for custom library\r\n\t\tif (data?.library?.isCustom) {\r\n\t\t\treturn data?.description?.isEmptyString() ? \"-\" : extractTextFromHtml(data?.description || \"\");\r\n\t\t}\r\n\t\tif (translateDescription) {\r\n\t\t\treturn t(data?.description);\r\n\t\t}\r\n\t\treturn data?.description?.isEmptyString() ? \"-\" : extractTextFromHtml(data?.description || \"\");\r\n\t};\r\n\r\n\tconst text = getText(data);\r\n\treturn {text};\r\n};\r\n\r\nexport const UserName = (data) => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{data}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const InsightName = (insight, params) => {\r\n\tconst desactivateClick = !params.allowClick;\r\n\r\n\tconst [showEditModal] = useModal(EditInsights, {\r\n\t\tinsightId: insight?.id,\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t { } : showEditModal}>\r\n\t\t\t\t{insight?.name?.defaultPlaceholder(\"NEW_INSIGHT_NAME\")}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n","import styled, { css } from \"styled-components/macro\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { IconDispatcher } from \"../Icons\";\r\nimport { ActionsDropdown } from \"./ActionsDropdown\";\r\n\r\nexport function CreateActionsDropdown({\r\n\tid = uuid(),\r\n\tactions = [],\r\n\tvariant = \"position-relative\",\r\n\tright = \"-10\",\r\n\ttop = \"-16\",\r\n\tdropdownClasses = \"px-4\",\r\n\tautoClose = undefined,\r\n\thandleClick = undefined,\r\n\tmenuVariant = \"light\",\r\n\tsize = \"sm\",\r\n\tisicon = \"true\",\r\n\ttoggleButton = IconDispatcher(\"ACTION-DROPDOWN-HORIZONTAL\"),\r\n\tstopPropagation = false,\r\n}) {\r\n\tconst dropdownId = uuid();\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport const DropDownPosition2 = styled.div`\r\n\tdisplay: flex;\r\n\t${(props) =>\r\n\t\tprops.variant === \"position-relative\" &&\r\n\t\tcss`\r\n\t\t\tposition: absolute;\r\n\t\t\tright: ${(props) => props.right}px;\r\n\t\t\ttop: ${(props) => props.top}px;\r\n\t\t`}\r\n`;\r\n","import { useLocation } from \"react-router\";\r\nimport { useSelector } from \"react-redux\";\r\nimport _ from \"lodash\";\r\nimport permissionsTree from \"./permissionsTree.json\";\r\nimport { UserTypeByValue } from \"./optionsSets/OptionSets\";\r\n\r\nexport const PermissionManager = ({ context = undefined, userAccess = undefined, isLock = undefined, isPreview = undefined }) => {\r\n\tlet pathname = useLocation().pathname;\r\n\tconst query = useLocation().search;\r\n\tconst hideForPdf = query.hideForPdf();\r\n\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst userTypeValue = Number(useSelector((state) => state.auth?.userInfo?.UserType));\r\n\r\n\tconst userTypeName = UserTypeByValue[userTypeValue];\r\n\tconst userAccessValue = userAccess !== undefined ? userAccess.toLowerCase() : undefined;\r\n\r\n\tconst permissionData = _.get(permissionsTree, context ? context : pathname);\r\n\tif (!permissionData) return false;\r\n\r\n\tconst isSpecificAction = \"userType\" in permissionData;\r\n\r\n\tconst checkOneAction = (data) => {\r\n\t\tif (isPreview) return false;\r\n\t\tif (data.subscriptionPlan && !data.subscriptionPlan.includes(subscriptionPlan)) return false;\r\n\t\tif (data.userType && !data.userType.includes(userTypeName)) return false;\r\n\t\tif (data.hideForPdf && hideForPdf && !data.hideForPdf.includes(hideForPdf)) return false;\r\n\t\tif (data.isLock && isLock && !data.isLock.includes(isLock)) return false;\r\n\t\tif (data.userAccess && !data.userAccess.includes(userAccessValue)) return false;\r\n\r\n\t\treturn true;\r\n\t};\r\n\r\n\tif (isSpecificAction) {\r\n\t\treturn checkOneAction(permissionData);\r\n\t}\r\n\tconst results = {};\r\n\tfor (const key in permissionData) {\r\n\t\tresults[key + \"Allowed\"] = checkOneAction(permissionData[key]);\r\n\t}\r\n\treturn results;\r\n};\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nconst InitialsBubble = ({ initials = undefined, fullName = undefined, showRoleIcon = false, role = undefined, size = \"s\" }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tif (fullName) {\r\n\t\tinitials = fullName?.getInitials();\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t{initials?.toUpperCase()}\r\n\t\t\t{showRoleIcon && (\r\n\t\t\t\t\r\n\t\t\t\t\t{roleValidation(role)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\nfunction getLabel(roleMode) {\r\n\tswitch (roleMode) {\r\n\t\tcase \"owner\":\r\n\t\t\treturn \"CS_35\";\r\n\t\tcase \"contributor\":\r\n\t\t\treturn \"CS_34\";\r\n\t\tcase \"viewer\":\r\n\t\t\treturn \"CS_33\";\r\n\t\tdefault:\r\n\t\t\treturn \"CS_35\";\r\n\t}\r\n}\r\n\r\nfunction roleValidation(roleMode) {\r\n\tswitch (roleMode) {\r\n\t\tcase \"owner\":\r\n\t\t\treturn IconDispatcher(\"ACCESS\");\r\n\t\tcase \"contributor\":\r\n\t\t\treturn IconDispatcher(\"EDIT\");\r\n\t\tcase \"viewer\":\r\n\t\t\treturn IconDispatcher(\"VIEW\");\r\n\t\tdefault:\r\n\t\t\treturn IconDispatcher(\"ACCESS\");\r\n }\r\n \r\n}\r\nInitialsBubble.displayName = \"InitialsBubble\";\r\nexport default InitialsBubble;\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tflex-shrink: 0;\r\n\tborder-radius: 50%;\r\n\tborder: 1px solid #605f60;\r\n\tcolor: #605f60;\r\n\ttext-align: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\tfont-size: 14px;\r\n\t#icon {\r\n\t\tdisplay: none;\r\n\t}\r\n\t:hover #initials {\r\n\t\t${(props) => props.showIcon === \"true\" && \"display:none\"};\r\n\t}\r\n\t:hover #icon {\r\n\t\t${(props) => props.showIcon === \"true\" && \"display:block\"};\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.size === \"xs\" &&\r\n\t\tcss`\r\n\t\t\twidth: 24px;\r\n\t\t\theight: 24px;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tfont-weight: 600;\r\n\t\t\t#initials {\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t}\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"sm\" &&\r\n\t\tcss`\r\n\t\t\twidth: 28px;\r\n\t\t\theight: 28px;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tfont-weight: 600;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"s\" &&\r\n\t\tcss`\r\n\t\t\twidth: 32px;\r\n\t\t\theight: 32px;\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\r\n\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\twidth: 36px;\r\n\t\t\theight: 36px;\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.size === \"l\" &&\r\n\t\tcss`\r\n\t\t\twidth: 80px;\r\n\t\t\theight: 80px;\r\n\t\t\tfont-size: 32px;\r\n\t\t`}\r\n`;\r\n","import { EMPTY_GUID, getTableScrollHeight, hasAttribute, tableDefaultColumn } from \"@utils/helpers\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { FilterMatchMode, FilterOperator } from \"primereact/api\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport DataContext from \"./DataContext\";\r\nimport { loadTableProps } from \"./reducer/TableSlice\";\r\n\r\n\r\nexport const GlobalAuthorizedFilters = [\r\n\t\"name\",\r\n\t\"mapType\",\r\n\t\"score\",\r\n\t\"mapName\",\r\n\t\"tagNames\",\r\n\t\"associatedContactsCount\",\r\n\t\"cjmCount\",\r\n\t\"loginName\",\r\n\t\"contactName\",\r\n\t\"insightName\",\r\n\t\"contactName\",\r\n\t\"fullName\",\r\n\t\"description\"\r\n];\r\n\r\nexport const useDataTableState = (props) => {\r\n\tconst [disableBulkActions, setDisableBulkActions] = useState(false);\r\n\tconst [rename, setRename] = useState(\"\");\r\n\r\n\tconst contextData = DataContext({ ...props, disableBulkActions, setRename });\r\n\treturn { contextData, rename, setRename, disableBulkActions, setDisableBulkActions };\r\n};\r\n\r\nexport const useSavedViews = () => {\r\n\treturn useSelector((state) => state.settings.userSetting)?.savedViewsByEntity;\r\n};\r\n\r\nexport const useDefaultViews = (folderId = EMPTY_GUID) => {\r\n\treturn useSelector((state) => state.settings.userSetting)?.savedDefaultViews?.[currentWorkspaceId]?.[folderId] || EMPTY_GUID;\r\n};\r\nexport function extractGlobalFilters(columns) {\r\n\tlet globalFilter = columns\r\n\t\t?.map((col) => ([\"personaName\", \"cxProgramName\", \"folderName\", \"projectName\", \"insightName\", \"contactName\", \"subject\"].includes(col) ? \"name\" : GlobalAuthorizedFilters.includes(col) ? col : false))\r\n\t\t.filter(Boolean);\r\n\tif (globalFilter?.length === 0) globalFilter = undefined;\r\n\treturn globalFilter || undefined;\r\n}\r\n\r\nexport const getInitialStates = (props, data) => {\r\n\tconst visibleItems = data?.showOnlyLinked ? data.linkedObjects : data.listData;\r\n\tconst selectedInitialState = props.showAllActiveRecord ? data.linkedObjects : null;\r\n\treturn { visibleItems, selectedInitialState };\r\n};\r\n\r\nexport const filterInit = (columns, tableProps) => {\r\n\tconst filterProp = {\r\n\t\tglobal: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n\t\tname: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] },\r\n\t\tfullName: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] },\r\n\t\tsubject: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] },\r\n\t\tprojectName: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] },\r\n\t\tstageName: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] },\r\n\t\tlastModifiedOn: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] },\r\n\t\tlastUpdated: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] },\r\n\t\tdueDateNew: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] },\r\n\t\tisFutureValue: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\t// score: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.BETWEEN }] },\r\n\t\tscore: { value: null, matchMode: FilterMatchMode.BETWEEN },\r\n\r\n\t\tmapType: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\tconcatPersona: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n\t\ttemplateStatus: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n\t\tcjmId: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n\t\tpriorityId: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\tmapId: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\townerId: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n\t\tstatusId: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\tgroupIds: { value: null, matchMode: FilterMatchMode.CUSTOM },\r\n\t\tteamIds: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n\t\tworkspaceIds: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n\t\tcustomerValue: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\tbusinessValue: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\twin: { value: null, matchMode: FilterMatchMode.EQUALS },\r\n\t\ttruth: { value: null, matchMode: FilterMatchMode.EQUALS },\r\n\t\tassociatedContactsCount: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\tcjmCount: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\tage: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\ttagIds: { value: null, matchMode: FilterMatchMode.CUSTOM },\r\n\t\ttotalNumCjms: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\ttotalNumPersonas: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\ttotalNumOpps: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\ttotalNumSols: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\ttotalNumProjects: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\ttotalNumActions: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\t\"linkedCjms.length\": { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\tmodifiedOn: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] },\r\n\t\tloginName: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n\t\tisActive: { value: null, matchMode: FilterMatchMode.EQUALS },\r\n\t\tuserType: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\tsubscriptionPlan: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\tsolutionType: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\toccurance: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },\r\n\t\ttypeId: { value: null, matchMode: FilterMatchMode.IN },\r\n\t\tcjmIdsStr: { value: null, matchMode: FilterMatchMode.CUSTOM },\r\n\t\tuserId: { value: null, matchMode: FilterMatchMode.IN },\r\n\r\n\t};\r\n\tconst fields = Object.values(tableProps).map((props) => props?.filterField);\r\n\tconst filterProps = Object.keys(filterProp).reduce((acc, key) => {\r\n\t\tif (key === \"global\" || fields.includes(key)) {\r\n\t\t\tacc[key] = filterProp[key];\r\n\t\t}\r\n\t\treturn acc;\r\n\t}, {});\r\n\treturn filterProps;\r\n};\r\n\r\nexport function useGetContext(context) {\r\n\treturn useCallback(\r\n\t\t(index = 1) => {\r\n\t\t\treturn context.split(\".\")[index];\r\n\t\t},\r\n\t\t[context]\r\n\t);\r\n}\r\n\r\nexport function useGetDefaultView(data, context, folderId) {\r\n\tconst getContext = useGetContext(context);\r\n\tconst savedDefaultViews = useDefaultViews(folderId);\r\n\r\n\treturn useCallback(() => {\r\n\t\tconst hasDefaultView = [\"journeyMap\", \"cxActionsList\", \"cxProgramList\", \"OpportunitiesList\", \"solutionsList\", \"personasList\", \"projectsList\", \"insightList\", \"manageUsers\"];\r\n\r\n\t\treturn hasAttribute(savedDefaultViews, data?.entityType) && hasDefaultView.includes(getContext()) ? savedDefaultViews?.[data?.entityType] : EMPTY_GUID;\r\n\t}, [getContext, savedDefaultViews, data]);\r\n}\r\n\r\nexport function useLoadTableWithSettings(data, context) {\r\n\tconst folderId = useLocation().search.getFolderId();\r\n\r\n\tconst getContext = useGetContext(context);\r\n\tconst getDefaultView = useGetDefaultView(data, context, folderId);\r\n\tconst savedViews = useSavedViews();\r\n\r\n\treturn useCallback(() => {\r\n\t\tconst currentContext = getContext();\r\n\t\tconst defaultView = getDefaultView();\r\n\r\n\t\tif (defaultView !== EMPTY_GUID) {\r\n\t\t\tconst view = savedViews?.[data?.entityType]?.find((x) => x.id === defaultView);\r\n\r\n\t\t\tif (view) {\r\n\t\t\t\tconst columnFilterView = view?.columnSetting ? JSON.parse(view?.columnSetting).map((x) => x[\"name\"]) : [];\r\n\t\t\t\tconst filterSetting = view?.filterSetting ? JSON.parse(view?.filterSetting) : {};\r\n\t\t\t\tconst sortSetting = view?.sortSetting ? JSON.parse(view?.sortSetting) : {};\r\n\t\t\t\tloadTableProps({\r\n\t\t\t\t\tcontext: currentContext,\r\n\t\t\t\t\tcolumns: columnFilterView,\r\n\t\t\t\t\tselectedViewId: defaultView,\r\n\t\t\t\t\tentityType: view?.type,\r\n\t\t\t\t\tfilter: filterSetting,\r\n\t\t\t\t\tsort: sortSetting,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tloadTableProps({\r\n\t\t\t\t\tcontext: currentContext,\r\n\t\t\t\t\tcolumns: tableDefaultColumn(data?.entityType),\r\n\t\t\t\t\tentityType: data?.entityType,\r\n\t\t\t\t\tselectedViewId: defaultView,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tloadTableProps({\r\n\t\t\t\tcontext: currentContext,\r\n\t\t\t\tcolumns: tableDefaultColumn(data?.entityType),\r\n\t\t\t\tentityType: data?.entityType,\r\n\t\t\t\tselectedViewId: EMPTY_GUID, // Using EMPTY_GUID directly since it's the else case for defaultView\r\n\t\t\t});\r\n\t\t}\r\n\t}, [getContext, getDefaultView, savedViews, data, folderId]);\r\n}\r\n\r\nexport const getVirtualScroller = (context, visibleItems) => {\r\n\tconst isFirefox = /firefox/i.test(navigator.userAgent);\r\n\tconst height = getTableScrollHeight({ items: visibleItems, context })\r\n\treturn (\r\n\t\t!isFirefox && {\r\n\t\t\tscrollable: true,\r\n\t\t\tscrollHeight: height,\r\n\t\t\tvirtualScrollerOptions: {\r\n\t\t\t\titemSize: 56,\r\n\t\t\t\tshowSpacer: true,\r\n\t\t\t\tclassName: \"pb-table-200 \"\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n","import _ from \"lodash\";\r\nimport {\r\n\tGetActionContext,\r\n\tGetAssessmentContext,\r\n\tGetFolderContext,\r\n\tGetInsightContext,\r\n\tGetJourneyMapContext,\r\n\tGetOpportunityContext,\r\n\tGetPersonaContext,\r\n\tGetProgramContext,\r\n\tGetProjectContext,\r\n\tGetSolutionContext,\r\n\tGetUserContext,\r\n} from \"./contexts\";\r\n\r\nexport default function DataContext(props) {\r\n\tconst route = props.context.split(\".\")[0];\r\n\tlet data;\r\n\tswitch (route) {\r\n\t\tcase \"map\":\r\n\t\t\tdata = GetJourneyMapContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"cxActions\":\r\n\t\t\tdata = GetActionContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"cxPrograms\":\r\n\t\t\tdata = GetProgramContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"personas\":\r\n\t\t\tdata = GetPersonaContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"opportunity\":\r\n\t\t\tdata = GetOpportunityContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"solutions\":\r\n\t\t\tdata = GetSolutionContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"folders\":\r\n\t\t\tdata = GetFolderContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"users\":\r\n\t\t\tdata = GetUserContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"assessments\":\r\n\t\t\tdata = GetAssessmentContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"projects\":\r\n\t\t\tdata = GetProjectContext(props);\r\n\t\t\tbreak;\r\n\t\tcase \"insights\":\r\n\t\t\tdata = GetInsightContext(props);\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn data;\r\n}\r\n","import { deleteSavedView, upsertSettingUser } from \"@redux/index\";\r\nimport { EMPTY_GUID, hasAttribute } from \"@utils/helpers\";\r\nimport { loadTableProps } from \"features/grid-table/reducer/TableSlice\";\r\nimport { t } from \"i18next\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { EditFilterView } from \"shared/modals/index\";\r\nimport { ActionPopOver } from \"shared/popovers/ActionsPopOver\";\r\nimport { Switch } from \"shared/ui-basics/buttons\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nconst ViewPopover = ({ entityType, context, handleFilter, readonly }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { search } = useLocation();\r\n\tconst folderId = search.getFolderId() || EMPTY_GUID;\r\n\tconst refOver = useRef();\r\n\tconst listView = useSelector((state) => state.settings.userSetting)?.savedViewsByEntity?.[entityType]?.filter((view) => view?.folderId === folderId);\r\n\tconst savedDefaultViews = useSelector((state) => state.settings.userSetting)?.savedDefaultViews?.[currentWorkspaceId]?.[folderId] || EMPTY_GUID;\r\n\tconst defaultView = hasAttribute(savedDefaultViews, entityType) ? savedDefaultViews[entityType] : EMPTY_GUID;\r\n\tconst selectedViewId = useSelector((state) => state.ui.table.entity)?.[entityType]?.[context]?.selectedViewId;\r\n\tconst nameDefault = listView?.find((x) => x.id === selectedViewId)?.name || t(\"DEFAULT_VIEW\");\r\n\tconst cemanticaDefaultView = {\r\n\t\tid: EMPTY_GUID,\r\n\t\tname: t(\"DEFAULT_VIEW\"),\r\n\t\tfilterSetting: undefined,\r\n\t\tcolumnSetting: undefined,\r\n\t\tsortSetting: undefined,\r\n\t\ttype: entityType,\r\n\t\tlevel: 0,\r\n\t};\r\n\tconst onToggle = (e) => {\r\n\t\trefOver.current.toggle(e);\r\n\t\t// setShow(e)\r\n\t};\r\n\tconst privateViews = listView?.filter((x) => !x.level)?.sortAsc(\"name\");\r\n\tconst publicViews = listView?.filter((x) => x.level)?.sortAsc(\"name\");\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t
{nameDefault}
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{privateViews?.length > 0 && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{t(\"PRIVATE\")}\r\n\t\t\t\t\t\t{privateViews?.map((view) => (\r\n\t\t\t\t\t\t\t\r\n ))}\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{t(\"PUBLIC\")}\r\n\r\n\t\t\t\t\r\n\t\t\t\t{publicViews?.map((view) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst ViewCard = ({ view, selected, entityType, context, refOver, handleFilter, cemanticaDefault, readonly = false }) => {\r\n\tconst userId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst userSetting = useSelector((state) => state.settings.userSetting);\r\n\tconst { search } = useLocation();\r\n\r\n\tconst [showModalView] = useModal(EditFilterView, { context: context, viewFilter: view, propView: view?.columnSetting, entityType: entityType });\r\n\tconst columnFilterView = view?.columnSetting ? JSON.parse(view?.columnSetting)?.map((x) => x[\"name\"]) : [];\r\n\tconst filterSetting = view?.filterSetting ? JSON.parse(view?.filterSetting) : {};\r\n\tconst sortSetting = view?.sortSetting ? JSON.parse(view?.sortSetting) : {};\r\n\tconst folderId = search.getFolderId() || EMPTY_GUID;\r\n\r\n\tconst selectedView = (e, id) => {\r\n\t\tloadTableProps({ columns: columnFilterView, selectedViewId: id, entityType: view?.type, filter: filterSetting, sort: sortSetting, context: context });\r\n\t\thandleFilter(filterSetting);\r\n\t\trefOver.current.toggle(e);\r\n\t};\r\n\tconst edit = (e) => {\r\n\t\trefOver.current.toggle(e);\r\n\t\tshowModalView();\r\n\t};\r\n\tconst deleteView = () => {\r\n\t\tdeleteSavedView({ savedViewToDelete: view });\r\n\t};\r\n\tconst saveAsDefault = () => {\r\n\t\tlet savedDefaultViews = userSetting?.savedDefaultViews;\r\n\t\tif (!savedDefaultViews[currentWorkspaceId]) {\r\n\t\t\tsavedDefaultViews[currentWorkspaceId] = {};\r\n\t\t}\r\n\t\tif (!savedDefaultViews[currentWorkspaceId][folderId]) {\r\n\t\t\tsavedDefaultViews[currentWorkspaceId][folderId] = {};\r\n\t\t}\r\n\t\tif (!savedDefaultViews[currentWorkspaceId][folderId][entityType]) {\r\n\t\t\tsavedDefaultViews[currentWorkspaceId][folderId][entityType] = {};\r\n\t\t}\r\n\t\tsavedDefaultViews[currentWorkspaceId][folderId][entityType] = selected ? EMPTY_GUID : view.id;\r\n\t\tupsertSettingUser({ userSetting: { id: userSetting?.id, savedDefaultViews: JSON.stringify(savedDefaultViews) }, modifiedAttribNames: [\"savedDefaultViews\"] });\r\n\t};\r\n\r\n\tconst ManageDefault = () => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
{t(selected ? \"REMOVE_FROM_DEFAULT\" : \"SAVE_AS_DEFAULT\")}
\r\n\t\t\t\t saveAsDefault()} />\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst getActions = () => {\r\n\t\tconst actions = [];\r\n\t\tif (userId === view?.ownerId) {\r\n\t\t\tactions.push({\r\n\t\t\t\thandleClick: edit,\r\n\t\t\t\ttext: t(\"EDIT\"),\r\n\t\t\t\ticon: \"EDIT\",\r\n\t\t\t\titemClasses: \"d-flex align-items-center\",\r\n\t\t\t});\r\n\t\t\tactions.push({\r\n\t\t\t\thandleClick: deleteView,\r\n\t\t\t\ttext: t(\"ASPX_13\"),\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\titemClasses: \"d-flex align-items-center\",\r\n\t\t\t});\r\n\t\t\tactions.push({ id: \"divider\", divider: true });\r\n\t\t}\r\n\t\tactions.push({\r\n\t\t\tid: \"manageDefault\",\r\n\t\t\tcustomItem: ManageDefault(),\r\n\t\t\thandleClick: () => {},\r\n\t\t});\r\n\r\n\t\treturn actions;\r\n\t};\r\n\r\n\tconst actions = getActions();\r\n\treturn (\r\n\t\t\r\n\t\t\t selectedView(e, view?.id)} className=\"text-truncate\">\r\n\t\t\t\t\r\n\t\t\t\t\t{view?.name}\r\n\t\t\t\t\r\n\t\t\t\t{selected && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"DEFAULT\")}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{!cemanticaDefault && !readonly && }\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nexport default ViewPopover;\r\n\r\nconst WrapperOverlayPanel = styled(OverlayPanel)`\r\n\twidth: 320px;\r\n\tmax-height: 480px;\r\n\toverflow-y: auto;\r\n\tpadding: 0px;\r\n\tmargin: 0px;\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n\tpadding: 8px;\r\n`;\r\n\r\nconst SelectedViewWrapper = styled.div`\r\n\tflex-grow: 3;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\n\r\nexport const WrapperButton = styled(GenericButton)`\r\n\twidth: 180px;\r\n\tmin-width: 180px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst ActionPopOverWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: end;\r\n\talign-items: center;\r\n\t& > button {\r\n\t\topacity: 0;\r\n\t\tvisibility: hidden;\r\n\t}\r\n`;\r\n\r\nconst SectionLabel = styled.div`\r\n\theight: 36px;\r\n\tpadding: 8px;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tcolor: var(--color-Grey-Secondary-Text, #595959);\r\n`;\r\n\r\nconst Card = styled.div`\r\n\theight: 36px;\r\n\tpadding: 8px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tborder-radius: 4px;\r\n\tcursor: pointer;\r\n\r\n\t:hover {\r\n\t\tbackground: #efefefef;\r\n\t}\r\n\r\n\t:hover ${ActionPopOverWrapper} {\r\n\t\t& > button {\r\n\t\t\topacity: 1;\r\n\t\t\tvisibility: visible;\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nconst DefaultView = styled.div`\r\n\theight: 16px;\r\n\tdisplay: flex;\r\n\tpadding: 4px;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tborder-radius: 4px;\r\n\tcolor: var(--color-Grey-Secondary-Text, #595959);\r\n\tborder: 1px solid var(--color-Grey-Secondary-Text, #595959);\r\n`;\r\n\r\nconst ViewName = styled.div`\r\n\tmax-width: 250px;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tcolor: #333333;\r\n\t${(props) =>\r\n\t\tprops.isdefault &&\r\n\t\tcss`\r\n\t\t\tmax-width: 200px;\r\n\t\t`};\r\n`;\r\n\r\nconst BorderBottom = styled.div`\r\n margin-top: 8px;\r\n border-bottom: 1px solid #d9d9d9;\r\n`","import { upsertSavedView } from \"@redux/index\";\r\nimport { getRequestStatus } from \"@redux/memoizedSelectors\";\r\nimport { EMPTY_GUID, isUserAllowed } from \"@utils/helpers\";\r\nimport { HeaderWrapper, PopoverItem } from \"features/grid-table/columns-components/Styles\";\r\nimport { setFiltersService } from \"features/grid-table/reducer/TableSlice\";\r\nimport { t } from \"i18next\";\r\nimport $ from \"jquery\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { ColumnSettingsModal, EditFilterView } from \"shared/modals/index\";\r\nimport { ActionPopOver } from \"shared/popovers/ActionsPopOver\";\r\nimport GenericPopover from \"shared/popovers/GenericPopover\";\r\nimport { FlexAlignCenter, FlexColumnGap, GenericButton, IconDispatcher, SearchBar } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { useGetContext } from \"../TableHelpers\";\r\nimport ViewPopover from \"./ViewPopover\";\r\nimport { debounce } from \"lodash\";\r\n\r\nexport const HeaderTable = ({ contextData, props, dataByFilter, selected, filters, handleFilter, visibleItems, updateFilter }) => {\r\n\tconst context = useGetContext(props.context)(1);\r\n\tconst { search } = useLocation();\r\n\r\n\tconst hideForPdf = search.hideForPdf();\r\n\tconst { displayExport = true, displayViewOptions = true, readonly = false, showLinkFolderButton = false, LinkFolderAction, LinkActionLabel, aiGeneration, aiModal } = contextData;\r\n\tconst aiAllowed = useSelector(({ settings }) => settings.subscriptionDetails.aiEnabled);\r\n\tconst { selectedViewId, sort, filteredIds, columns } = useSelector(({ ui }) => ui.table.entity?.[contextData?.entityType]?.[context] || {});\r\n\tconst userSettings = useSelector(({ settings }) => settings.userSetting);\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType).isReadOnly();\r\n\tconst innerRef = useRef(null);\r\n\tconst listView = userSettings?.savedViewsByEntity?.[contextData?.entityType];\r\n\tconst { pending } = useSelector(getRequestStatus({ type: \"UPDATE_LINKED_FOLDERS\" }), shallowEqual);\r\n\tconst [isLinking, setIsLinking] = useState(false);\r\n\tconst folderId = search.getFolderId() || EMPTY_GUID;\r\n\tconst searchId = search.getId();\r\n\tuseEffect(() => {\r\n\t\t// this is to update the counters after linking folders\r\n\t\tif (pending === 1) setIsLinking(true);\r\n\t\tif (isLinking && pending === 0) {\r\n\t\t\tsetIsLinking(false);\r\n\t\t\tupdateFilter(visibleItems);\r\n\t\t}\r\n\r\n\r\n\t}, [pending]);\r\n\tuseEffect(() => {\r\n\t\tif (searchId) {\r\n\t\t\tconst item = visibleItems?.find((action) => action.id === searchId);\r\n\t\t\tif (item) {\r\n\t\t\t\tsetGlobalFilterValue(item.name);\r\n\t\t\t\tdebouncedUpdateGlobalFilter(item.name);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}, [searchId]);\r\n\tconst [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\tconst [isCreateBtnDisabled, setIsCreateBtnDisabled] = useState(false);\r\n\r\n\tconst updateGlobalFilter = (searchValue) => {\r\n\t\tconst updatedFilters = { ...filters, global: { ...filters.global, value: searchValue } };\r\n\r\n\t\tsetFiltersService({\r\n\t\t\tcontext,\r\n\t\t\tvalue: updatedFilters,\r\n\t\t\tentityType: contextData?.entityType,\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tconst searchValue = e.target.value;\r\n\t\tsetGlobalFilterValue(searchValue);\r\n\t\tdebouncedUpdateGlobalFilter(searchValue);\r\n\t};\r\n\tconst debouncedUpdateGlobalFilter = debounce(updateGlobalFilter, 300); // Adjust 300ms to your needs\r\n\r\n\tconst getColumnWidths = () => {\r\n\t\tconst widthArray = [];\r\n\t\t$(\".p-datatable-thead tr\")\r\n\t\t\t.children()\r\n\t\t\t.each(function () {\r\n\t\t\t\twidthArray.push(Math.round($(this).css(\"width\").replace(\"px\", \"\")));\r\n\t\t\t});\r\n\t\treturn contextData.columns?.map((col, i) => ({ name: col, width: widthArray[i] }));\r\n\t};\r\n\r\n\tconst saveView = () => {\r\n\t\tconst view = listView?.find((x) => x.id === selectedViewId);\r\n\t\tif (!view) return;\r\n\r\n\t\tconst updatedView = {\r\n\t\t\t...view,\r\n\t\t\tcolumnSetting: JSON.stringify(getColumnWidths()),\r\n\t\t\tfilterSetting: JSON.stringify(filters),\r\n\t\t\tsortSetting: JSON.stringify(sort),\r\n\t\t\tfolderId: folderId,\r\n\t\t};\r\n\t\tupsertSavedView({ savedView: updatedView });\r\n\t};\r\n\r\n\tconst exportData = () => {\r\n\t\tconst result = selected ? selected.ArrayToIdsStr(contextData.dataKey) : dataByFilter || contextData.listData.ArrayToIdsStr(contextData.dataKey);\r\n\t\tcontextData.exportExcel(result, columns);\r\n\t};\r\n\r\n\tconst onCreate = () => {\r\n\t\tcontextData?.buttonCreate({ setIsCreateBtnDisabled });\r\n\t};\r\n\tconst handleClick = (e) => {\r\n\t\tconst id = e.currentTarget.id;\r\n\t\tinnerRef?.current?.hide_popover();\r\n\t\tif (id === \"ai\") showAiModal();\r\n\t\telse if (id === \"create\") onCreate();\r\n\t};\r\n\tconst handleCreate = () => {\r\n\t\tif (!aiGeneration || !aiAllowed) onCreate();\r\n\t};\r\n\tconst actions = [\r\n\t\t...(selectedViewId !== EMPTY_GUID\r\n\t\t\t? [\r\n\t\t\t\t{\r\n\t\t\t\t\thandleClick: saveView,\r\n\t\t\t\t\ttext: t(\"ASPX_12\"),\r\n\t\t\t\t\titemClasses: \"d-flex align-items-center\",\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t\t: []),\r\n\t\t{\r\n\t\t\thandleClick: () =>\r\n\t\t\t\tshowModalView({\r\n\t\t\t\t\tcontext,\r\n\t\t\t\t\tpropView: JSON.stringify(getColumnWidths()),\r\n\t\t\t\t\tentityType: contextData?.entityType,\r\n\t\t\t\t}),\r\n\t\t\ttext: t(\"SAVE_AS\"),\r\n\t\t\titemClasses: \"d-flex align-items-center\",\r\n\t\t},\r\n\t];\r\n\r\n\tconst [showEditModal] = useModal(ColumnSettingsModal, {\r\n\t\tcontext,\r\n\t\tentityType: contextData?.entityType,\r\n\t});\r\n\r\n\tconst [showModalView] = useModal(EditFilterView);\r\n\tconst [showAiModal] = useModal(aiModal);\r\n\r\n\tconst custom = (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(\"SPARKLES-LIGHT\", \"me-1\")}\r\n\t\t\t\t {t(\"GENERATE_AI\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(context === \"journeyMap\" ? \"MAP-LIGHT\" : \"SQUARE_PLUS\", \"me-1\")} {t(contextData?.buttonCreateLabel)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n\r\n\tconst ButtonCreation = () => {\r\n\t\tif (aiGeneration && aiAllowed) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(contextData?.buttonCreateLabel)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{t(contextData?.buttonCreateLabel)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{contextData.columns?.length > 0 && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{contextData?.visibleButtonCreate && }\r\n\t\t\t\t\t\t\t{showLinkFolderButton && !readonly && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t(LinkActionLabel)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{displayViewOptions && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t(\"CONFIGURE_COLUMNS\")}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{`${filteredIds ? filteredIds?.length : visibleItems?.length} ${t(\"ITEMS\")}`}\r\n\t\t\t\t\t\t\t{!hideForPdf && }\r\n\t\t\t\t\t\t\t{displayExport && !isReadOnly && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\t{t(\"ASPX_14\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst CountContainer = styled.div`\r\n\tcolor: #605f60 !important;\r\n\ttext-align: end;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\twidth: max-content;\r\n\twhite-space: nowrap;\r\n`;\r\n","import { NotNullOrEmpty, applyFilters, emptyListData, filterUnSelect, joinByProperty } from \"@utils/helpers\";\r\nimport { setFilterIdsService, setFiltersService, setSelectedIdTable, setSortedService } from \"features/grid-table/reducer/TableSlice\";\r\nimport { get } from \"lodash\";\r\nimport { FilterService } from \"primereact/api\";\r\nimport { Column } from \"primereact/column\";\r\nimport { forwardRef, memo, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { EmptyList } from \"shared/ui-basics/ui-components/EmptyList\";\r\nimport { Spinner } from \"../../shared/components/spinners/Spinner\";\r\nimport { TableColumnsManager } from \"./TableColumnsManager\";\r\nimport * as Helpers from \"./TableHelpers\";\r\nimport * as Style from \"./columns-components/Styles\";\r\nimport { FloatingToolbar } from \"./components/TableSettings\";\r\nimport { HeaderTable } from \"./header/HeaderTable\";\r\nimport { Bounce, toast } from \"react-toastify\";\r\nimport { useTranslation } from \"react-i18next\";\r\nFilterService.register('custom_groupIds', (value, filters) => {\r\n\tif (!filters) return true;\r\n\tif (!value) return false;\r\n\r\n\tconst array = value?.groups ?? value\r\n\treturn array.some((group) => filters?.includes(group));\r\n});\r\nFilterService.register('custom_tagIds', (value, filters) => {\r\n\tif (!filters) return true;\r\n\tif (!value) return false;\r\n\tconst array = value?.tags ?? value\r\n\treturn array.some((group) => filters?.includes(group));\r\n});\r\nFilterService.register('custom_cjmIdsStr', (value, filters) => {\r\n\r\n\tif (!filters) return true;\r\n\r\n\treturn value?.some((group) => filters?.includes(group));\r\n});\r\nconst DataTable = forwardRef((props, ref) => {\r\n\tconst { context } = props;\r\n\tconst folderId = useLocation().search.getFolderId();\r\n\r\n\tconst { contextData, rename, setRename, disableBulkActions, setDisableBulkActions } = Helpers.useDataTableState(props);\r\n\tconst getContext = Helpers.useGetContext(context);\r\n\tconst loadTableWithSettings = Helpers.useLoadTableWithSettings(contextData, context);\r\n\tconst savedDefaultViews = Helpers.useDefaultViews(folderId);\r\n\tconst visibleItems = contextData?.showOnlyLinked ? contextData?.linkedObjects : contextData?.listData;\r\n\tuseEffect(() => {\r\n\t\tloadTableWithSettings();\r\n\r\n\t}, [savedDefaultViews, folderId]);\r\n\r\n\r\n\tif (contextData?.loading) return ;\r\n\r\n\tif (!NotNullOrEmpty(visibleItems)) {\r\n\t\tconst route = getContext(0);\r\n\t\tconst { icon, color } = emptyListData[route] || emptyListData.map;\r\n\t\tcontextData.emptyListIconColor = color;\r\n\t\tcontextData.emptyListIcon = icon;\r\n\t\tconst className = [\"editPersona\", \"cxProgram\"].includes(getContext(1)) ? \"h-100 align-self-center p-3\" : \"mt-5 pt-5\";\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\tconst combinedProps = {\r\n\t\t...props,\r\n\t\tcontextData,\r\n\t\trename,\r\n\t\tsetRename,\r\n\t\tdisableBulkActions,\r\n\t\tsetDisableBulkActions,\r\n\t};\r\n\treturn ;\r\n});\r\n\r\nfunction getLimitDelete(context) {\r\n\tif (context.includes(\"map.deleted\")) return 5;\r\n\tif (context.includes(\"deleted\")) return 25;\r\n\r\n\treturn 50;\r\n}\r\nconst Table = memo(\r\n\tforwardRef((props, ref) => {\r\n\t\tconst { t } = useTranslation();\r\n\t\tconst { contextData, setDisableBulkActions } = props;\r\n\t\tconst { listData, showCheckbox, showRadioButton, bulkActions, dataKey, entityType, filter } = contextData || {};\r\n\t\tconst { visibleItems, selectedInitialState } = Helpers.getInitialStates(props, contextData);\r\n\t\tconst context = Helpers.useGetContext(props.context)(1);\r\n\t\tconst sort = useSelector((state) => get(state, [\"ui\", \"table\", \"entity\", entityType, context, \"sort\"]));\r\n\t\tconst filtersIds = useSelector((state) => get(state, [\"ui\", \"table\", \"entity\", entityType, context, \"filteredIds\"]));\r\n\t\tconst MAX_DELETE = getLimitDelete(props.context);\r\n\t\tconst [selected, setSelected] = useState(selectedInitialState);\r\n\t\tconst [dataByFilter, setDataByFilter] = useState(\"\");\r\n\t\tconst [forceRefresh, setForceRefresh] = useState(0);\r\n\t\tconst tableColumns = TableColumnsManager({ ...props });\r\n\t\tconst filters = filter || Helpers.filterInit(contextData?.columns, tableColumns);\r\n\t\tuseImperativeHandle(ref, () => ({\r\n\t\t\texportRelatedExcelClick(id, entityName) {\r\n\t\t\t\tcontextData?.getLinkedDataExportExcel(id, entityName);\r\n\t\t\t},\r\n\t\t\tselected: selected,\r\n\t\t\tnumberOfItems: listData.length,\r\n\t\t\ttoLink: !showRadioButton && selected?.ArrayToIdsStr(dataKey),\r\n\t\t\tunLink: !showRadioButton && filterUnSelect(selected, props.linked, dataKey).join(\"|\"),\r\n\t\t\tupdateFilter: (value) => {\r\n\t\t\t\tlet _filters1 = JSON.parse(JSON.stringify(filters));\r\n\t\t\t\t_filters1.global.value = value;\r\n\t\t\t\tsetFiltersService({ context, value: _filters1, entityType });\r\n\t\t\t},\r\n\t\t\tsingleSelected: selected,\r\n\t\t}));\r\n\r\n\t\tuseEffect(() => {\r\n\t\t\thandleFilter();\r\n\t\t}, []);\r\n\r\n\t\tfunction handleFilter(fil) {\r\n\t\t\tconst filter = fil ? fil : filters;\r\n\t\t\t// requestAnimationFrame(() => {\r\n\t\t\tif (visibleItems) {\r\n\t\t\t\tconst filteredItems = applyFilters(visibleItems, filter);\r\n\t\t\t\tupdateFilter(filteredItems);\r\n\t\t\t\tsetDataByFilter(joinByProperty(filteredItems, dataKey));\r\n\t\t\t\tif (fil) setForceRefresh(forceRefresh + 1);\r\n\t\t\t}\r\n\t\t\t// });\r\n\t\t}\r\n\r\n\t\tfunction updateFilter(filteredItems) {\r\n\t\t\tconst filteredId = joinByProperty(filteredItems, dataKey, \"none\");\r\n\r\n\t\t\tif (filtersIds?.join(\"|\") !== filteredId?.join(\"|\")) {\r\n\t\t\t\tsetFilterIdsService({ context: context, filteredIds: filteredId, entityType });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst onSuccess = () => {\r\n\t\t\tsetDisableBulkActions(false);\r\n\t\t\tsetSelected(null);\r\n\t\t};\r\n\r\n\t\tconst handleSelectionChange = (e) => {\r\n\t\t\tif (e.type === \"all\") {\r\n\t\t\t\tconst dataFiltered = visibleItems?.filter(item => filtersIds?.includes(item?.[dataKey]))\r\n\t\t\t\tif (dataFiltered?.length > MAX_DELETE) {\r\n\t\t\t\t\ttoast.info(t(\"YOU_CAN_ONLY_DELETE\") + `${MAX_DELETE}` + t('ITEM_AT_TIME'), {\r\n\t\t\t\t\t\tposition: \"bottom-center\",\r\n\t\t\t\t\t\tautoClose: 5000,\r\n\t\t\t\t\t\thideProgressBar: false,\r\n\t\t\t\t\t\tcloseOnClick: false,\r\n\t\t\t\t\t\tpauseOnHover: true,\r\n\t\t\t\t\t\tdraggable: true,\r\n\t\t\t\t\t\tprogress: undefined,\r\n\t\t\t\t\t\ttransition: Bounce,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsetSelected(e.value.length > 0 ? dataFiltered.slice(0, MAX_DELETE) : []);\r\n\t\t\t\tsetSelectedIdTable(e.value.length > 0 ? dataFiltered.slice(0, MAX_DELETE) : []);\r\n\t\t\t} else {\r\n\t\t\t\tif (e.value?.length > MAX_DELETE) {\r\n\t\t\t\t\ttoast.info(t(\"YOU_CAN_ONLY_DELETE\") + `${MAX_DELETE}` + t('ITEM_AT_TIME'), {\r\n\t\t\t\t\t\tposition: \"bottom-center\",\r\n\t\t\t\t\t\tautoClose: 5000,\r\n\t\t\t\t\t\thideProgressBar: false,\r\n\t\t\t\t\t\tcloseOnClick: false,\r\n\t\t\t\t\t\tpauseOnHover: true,\r\n\t\t\t\t\t\tdraggable: true,\r\n\t\t\t\t\t\tprogress: undefined,\r\n\t\t\t\t\t\ttransition: Bounce,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (Array.isArray(e.value)) {\r\n\t\t\t\t\tsetSelected(e.value.slice(0, MAX_DELETE));\r\n\t\t\t\t\tsetSelectedIdTable(e.value.slice(0, MAX_DELETE));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetSelected(e.value);\r\n\t\t\t\t\tsetSelectedIdTable(e.value);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tprops?.setDisabled && props.setDisabled(false);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst handleChangeValue = (filteredData) => {\r\n\t\t\tupdateFilter(filteredData);\r\n\t\t\tsetDataByFilter(joinByProperty(filteredData, dataKey));\r\n\t\t};\r\n\t\tconst handleChangeFilter = ({ filters }) => {\r\n\t\t\tif (filters.cjmIdsStr && filters?.cjmIdsStr.matchMode !== 'custom') {\r\n\t\t\t\tfilters.cjmIdsStr.matchMode = 'custom';\r\n\t\t\t}\r\n\t\t\tif (filters.groupsIds && filters?.groupsIds.matchMode !== 'custom') {\r\n\t\t\t\tfilters.groupsIds.matchMode = 'custom';\r\n\t\t\t}\r\n\t\t\tif (filters.tagIds && filters?.tagIds.matchMode !== 'custom') {\r\n\t\t\t\tfilters.tagIds.matchMode = 'custom';\r\n\t\t\t}\r\n\t\t\tsetFiltersService({ context, value: filters, entityType });\r\n\t\t};\r\n\r\n\t\tconst handleChangeSort = ({ sortField, sortOrder }) => {\r\n\t\t\tsetSortedService({ context, sortField, sortOrder, entityType });\r\n\t\t};\r\n\r\n\t\tconst getSelectionMode = () => {\r\n\t\t\tif (showRadioButton) return \"radiobutton\";\r\n\t\t\tif (showCheckbox) return \"checkbox\";\r\n\t\t\treturn null;\r\n\t\t};\r\n\t\tconst DataTableParameters = {\r\n\t\t\tresponsiveLayout: \"scroll\",\r\n\t\t\tvalue: visibleItems,\r\n\t\t\tdataKey: dataKey,\r\n\t\t\tselection: selected,\r\n\t\t\tonSelectionChange: handleSelectionChange,\r\n\t\t\t...Helpers.getVirtualScroller(context, visibleItems),\r\n\t\t\tselectionMode: getSelectionMode(),\r\n\t\t\tonValueChange: handleChangeValue,\r\n\t\t\tfilters: filters,\r\n\t\t\tonFilter: handleChangeFilter,\r\n\t\t\tsortField: sort?.sortField,\r\n\t\t\tsortOrder: sort?.sortOrder,\r\n\t\t\tonSort: handleChangeSort,\r\n\t\t\tresizableColumns: true,\r\n\t\t\tcolumnResizeMode: \"expand\",\r\n\t\t\trows: 10,\r\n\t\t\tglobalFilterFields: !contextData.noGlobalSearch ? Helpers.extractGlobalFilters(contextData?.columns) : undefined,\r\n\t\t\theader: contextData?.visibleHeader ? HeaderTable({ contextData, props, dataByFilter, selected, filters, handleFilter, visibleItems, updateFilter }) : null,\r\n\t\t\tnocolumnheader: contextData?.noColumnHeader?.toString(),\r\n\t\t\tdisablefixheader: contextData?.disableFixHeader?.toString(),\r\n\t\t\ttotalRecords: listData?.length,\r\n\t\t\tselectionAutoFocus: false,\r\n\t\t\tisheadervisible: contextData?.visibleHeader?.toString() || \"false\",\r\n\t\t\tcontext: context,\r\n\t\t\treadOnly: contextData?.readonly\r\n\t\t};\r\n\t\tconst columns = contextData.columns?.filter((col) => tableColumns[col])?.map((col) => tableColumns[col]);\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{NotNullOrEmpty(selected) && bulkActions && context !== \"cxActionsListGroup\" && (\r\n\t\t\t\t\t\t contextData.bulkActionsFunction(selected, setSelected, onSuccess, setDisableBulkActions)}>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{visibleItems.length > 0 && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{columns?.map((col, i) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t})\r\n);\r\n\r\nDataTable.displayName = \"DataTable\";\r\nTable.displayName = \"Table\";\r\nexport default memo(DataTable);\r\n","import {\r\n GetActionColumns,\r\n GetAssessmentColumns,\r\n GetFolderColumns,\r\n GetInsightColumns,\r\n GetJourneyMapColumns,\r\n GetOpportunityColumns,\r\n GetPersonaColumns,\r\n GetProgramColumns,\r\n GetProjectColumns,\r\n GetSolutionColumns,\r\n GetUserColumns,\r\n} from \"./contexts\";\r\n\r\nexport function TableColumnsManager(props) {\r\n const tablePropsDictionaryRelevantColumns = () => {\r\n const route = props.context.split(\".\")[0];\r\n const isFirefox = /firefox/i.test(navigator.userAgent);\r\n\r\n const headerCheckboxStyle = isFirefox\r\n ? { width: \"5%\", minWidth: \"60px\", minHeight: \" 64px\", padding: \"5px\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\" }\r\n : { width: \"5%\", minWidth: \"5%\", padding: \"5px\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\" , maxWidth:'96px'};\r\n\r\n let columns = {\r\n select: {\r\n selectionMode: props.contextData.showRadioButton ? \"single\" : \"multiple\",\r\n headerStyle: headerCheckboxStyle,\r\n style: { left: \"0\" },\r\n className: \"action-box-table\",\r\n },\r\n actions: {\r\n field: \"actions\",\r\n header: \"\",\r\n body: (option) =>
{props.contextData?.Actions(option)}
,\r\n style: { right: \"0\" },\r\n headerStyle: { width: \"5%\", minWidth: \"5%\", padding: \"5px\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\" },\r\n className: `action-box-table ${\" table-left\"}`,\r\n },\r\n };\r\n\r\n switch (route) {\r\n case \"map\": {\r\n const mapColumns = GetJourneyMapColumns(props);\r\n columns = { ...columns, ...mapColumns };\r\n break;\r\n }\r\n case \"cxActions\": {\r\n const cxActionsColumns = GetActionColumns(props);\r\n columns = { ...columns, ...cxActionsColumns };\r\n break;\r\n }\r\n case \"opportunity\": {\r\n const opportunityColumns = GetOpportunityColumns(props);\r\n columns = { ...columns, ...opportunityColumns };\r\n break;\r\n }\r\n case \"solutions\":{\r\n const solutionsColumns = GetSolutionColumns(props);\r\n columns = { ...columns, ...solutionsColumns };\r\n break;\r\n }\r\n case \"projects\":{\r\n const projectsColumns = GetProjectColumns(props);\r\n columns = { ...columns, ...projectsColumns };\r\n break;\r\n }\r\n case \"personas\": {\r\n const personasColumns = GetPersonaColumns(props);\r\n columns = { ...columns, ...personasColumns };\r\n break;\r\n }\r\n case \"cxPrograms\":{\r\n const cxProgramsColumns = GetProgramColumns(props);\r\n columns = { ...columns, ...cxProgramsColumns };\r\n break;\r\n }\r\n case \"users\":{\r\n const usersColumns = GetUserColumns(props);\r\n columns = { ...columns, ...usersColumns };\r\n break;\r\n }\r\n case \"folders\":{\r\n const foldersColumns = GetFolderColumns(props);\r\n columns = { ...columns, ...foldersColumns };\r\n break;\r\n }\r\n case \"assessments\":{\r\n const assessmentsColumns = GetAssessmentColumns(props);\r\n columns = { ...columns, ...assessmentsColumns };\r\n break;\r\n }\r\n case \"insights\": {\r\n const insightColumns = GetInsightColumns(props);\r\n columns = { ...columns, ...insightColumns };\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n return columns;\r\n };\r\n return tablePropsDictionaryRelevantColumns();\r\n}\r\n\r\n","import { Dropdown, Input } from \"reactstrap\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const FilterTitle = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nexport const CheckBox = styled(Input)`\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n\t&:checked {\r\n\t\tbackground-color: #333333;\r\n\t\tborder-color: #333333;\r\n\t}\r\n\t&:focus {\r\n\t\tbox-shadow: none;\r\n\t\tborder-color: ${(props) => (props.disabled === \"\" ? \"#333333\" : \"#c4c4c4\")};\r\n\t}\r\n`;\r\n\r\nexport const CustomDropdown = styled(Dropdown)`\r\n\t.dropdown-menu.show {\r\n\t\tpadding: 0px;\r\n\t}\r\n`;\r\n\r\nexport const FiltersContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 16px;\r\n\tpadding: 24px 16px 24px 16px;\r\n`;\r\n\r\nexport const ListItemsContainer = styled.div`\r\n\theight: 480px;\r\n\tpadding: 0px 16px 16px 16px;\r\n`;\r\n\r\nexport const ListItem = styled.div`\r\n\twidth: 100%;\r\n\tpadding: 16px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 8px;\r\n\tborder-top: 1px solid #d9d9d9;\r\n\tcursor: pointer;\r\n`;\r\n\r\nexport const EmptyList = styled.div`\r\n\theight: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 20px;\r\n`;\r\n\r\nexport const EmptyIconContainer = styled.div`\r\n\tsvg {\r\n\t\twidth: 68px;\r\n\t\theight: 68px;\r\n\t}\r\n\tpath {\r\n\t\tfill: #262626;\r\n\t}\r\n`;\r\n","import { TieredMenu } from \"primereact/tieredmenu\";\r\nimport { useCallback } from \"react\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport '../editor.scss';\r\n\r\nexport const InsertOptions = ({ editor, insertRef, handleshow }) => {\r\n\r\n\r\n const handleInsertChange = (attribute, event) => {\r\n if(event){\r\n event.preventDefault()\r\n }\r\n switch (attribute) {\r\n case 'bulletList':\r\n editor.chain().focus().toggleBulletList().run();\r\n break;\r\n case 'orderedList':\r\n editor.chain().focus().toggleOrderedList().run();\r\n break;\r\n case 'taskList':\r\n editor.chain().focus().toggleTaskList().run();\r\n break;\r\n\r\n case 'blockquote':\r\n editor.chain().focus().toggleBlockquote().run()\r\n break;\r\n case 'horizontalRule':\r\n\r\n editor.chain().focus().setHorizontalRule().run();\r\n return;\r\n default:\r\n break;\r\n }\r\n handleshow(event, 'insert')\r\n\r\n };\r\n\r\n const isActive = useCallback((type, att) => {\r\n if (typeof type === 'object') {\r\n const isActive = type.map(t => editor.isActive(t)).filter(Boolean)\r\n return isActive.length ? 'is-active' : ''\r\n\r\n }\r\n if (att) return editor.isActive(type, att) ? 'is-active' : ''\r\n return editor.isActive(type) ? 'is-active' : ''\r\n }, [editor])\r\n\r\n const iconActive = useCallback(() => {\r\n if (isActive('bulletList')) return 'list-ul'\r\n if (isActive('orderedList')) return 'list-ol'\r\n if (isActive('taskList')) return 'list-check'\r\n if (isActive('blockquote')) return 'block-quote'\r\n\r\n return 'list-ul'\r\n\r\n }, [isActive])\r\n\r\n if (!editor) {\r\n return null\r\n }\r\n\r\n const items = [\r\n { label: \"bullet list\", icon: 'list-ul', text: 'Bullet List', attribute: 'bulletList' },\r\n { label: \"ordered list\", icon: 'list-ol', text: 'Numbered List', attribute: 'orderedList' },\r\n { label: \"task list\", icon: 'list-check', text: 'Task List', attribute: 'taskList' },\r\n { separator: true },\r\n { label: \"blockquote\", icon: 'block-quote', text: 'Quote', attribute: 'blockquote' },\r\n { label: \"horizontal rule\", icon: 'horizontal-rule', text: 'Horizontal Rule', attribute: 'horizontalRule' },\r\n\r\n ];\r\n\r\n\r\n const templates = items.map(item => (item.separator ? item : {\r\n template: (\r\n handleInsertChange( item.attribute, e)}\r\n className={isActive(item.attribute) + 'pointer p-2 px-4'}\r\n style={{ minWidth: '200px' }}\r\n\r\n >\r\n {IconDispatcher(item.icon, \"me-2\", { family: 'sharp' })} {item.text}\r\n \r\n )\r\n }));\r\n\r\n const icon = iconActive()\r\n return (\r\n <>\r\n \r\n {\r\n e.preventDefault()\r\n handleshow(e, 'insert')\r\n }}\r\n >\r\n {IconDispatcher(icon, \"\", { family: 'sharp' })} {IconDispatcher('angle-down', \"ms-1\", { size: \"sm\" })}\r\n \r\n \r\n );\r\n\r\n};","import { TieredMenu } from \"primereact/tieredmenu\";\r\nimport { useCallback, useMemo, useState } from \"react\";\r\nimport { InputGroup } from \"react-bootstrap\";\r\nimport { InputGroupText } from \"reactstrap\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { Button, FlexAlignCenter, Input } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\nimport '../editor.scss';\r\n\r\nexport const LinkOptions = ({ editor, linkRef, handleshow }) => {\r\n const previousUrl = useMemo(() => editor.getAttributes('link').href, [editor])\r\n\r\n const isActive = (type, att) => {\r\n if (att) return editor.isActive(type, att) ? 'is-active' : ''\r\n return editor.isActive(type) ? 'is-active' : ''\r\n }\r\n\r\n const Link = useCallback(() => {\r\n return LinkTemplate({ editor })\r\n }, [editor])\r\n\r\n const hanldeUnsetLink = (e) => {\r\n e.preventDefault()\r\n editor.chain().focus().extendMarkRange('link').unsetLink().run()\r\n }\r\n const templates =\r\n ([{\r\n template: Link,\r\n }]);\r\n\r\n return <>\r\n \r\n\r\n {previousUrl && editor.isActive('link') && \r\n {IconDispatcher('link-simple', \"me-2\")}{previousUrl}\r\n }\r\n \r\n {editor.isActive('link') && \r\n {IconDispatcher('link-simple-slash', \"me-2 \")}\r\n }\r\n \r\n}\r\n\r\nconst LinkTemplate = ({ editor }) => {\r\n const previousUrl = editor.getAttributes('link').href\r\n const [url, setUrl] = useState(previousUrl || 'https://');\r\n\r\n const handleSetLink = (e) => {\r\n e && e.preventDefault();\r\n if (editor && url) {\r\n editor.chain().focus().setLink({ href: url, target: '_blank', title: url }).run();\r\n setUrl('https://'); // Clear the input field after setting the link\r\n }\r\n };\r\n const handleChange = (e) => setUrl(e.target.value)\r\n\r\n return \r\n \r\n \r\n \r\n {IconDispatcher('link-simple', \"\", { size: \"sm\" })}\r\n \r\n \r\n \r\n {previousUrl ? 'Update' : ' Set Link'}\r\n \r\n\r\n \r\n\r\n \r\n}\r\nconst ContainerLink = styled.div`\r\n gap: 0.5em;\r\n padding: 0.2rem 0.5rem;\r\n width: 330px;\r\n`","import { TieredMenu } from \"primereact/tieredmenu\";\r\nimport { useCallback } from \"react\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport '../editor.scss';\r\n\r\nexport const TextAlignOptions = ({ editor, textAlignRef,handleshow }) => {\r\n const handleClick = useCallback((arg, e) => {\r\n e && e.preventDefault()\r\n editor.chain().focus().setTextAlign(arg).run();\r\n handleshow(e, 'textAlign')\r\n }, [editor,handleshow])\r\n\r\n const isActive = useCallback((type, att) => {\r\n if (att) return editor.isActive(type, att) ? 'is-active' : ''\r\n return editor.isActive(type) ? 'is-active' : ''\r\n }, [editor])\r\n const iconActive = useCallback(() => {\r\n if (isActive({ textAlign: 'left' })) return 'align-left'\r\n if (isActive({ textAlign: 'center' })) return 'align-center'\r\n if (isActive({ textAlign: 'right' })) return 'align-right'\r\n if (isActive({ textAlign: 'justify' })) return 'align-justify'\r\n\r\n return 'align-left'\r\n\r\n }, [isActive])\r\n\r\n if (!editor) {\r\n return null\r\n }\r\n\r\n const items = [\r\n { label: \"Align left\", value: \"left\", icon: 'align-left', text: 'Align left', attribute: { textAlign: 'left' } },\r\n { label: \"Align center\", value: \"center\", icon: 'align-center', text: 'Align center', attribute: { textAlign: 'center' } },\r\n { label: \"Align right\", value: \"right\", icon: 'align-right', text: 'Align right', attribute: { textAlign: 'right' } },\r\n { label: \"Justify\", value: \"justify\", icon: 'align-justify', text: 'Align justify', attribute: { textAlign: 'justify' } },\r\n ];\r\n\r\n\r\n const templates = items.map(item => (item.separator ? item : {\r\n template: (\r\n
handleClick(item.value, e)} className={isActive(item.attribute) + ' pointer p-2 px-4'} style={{ minWidth: '200px' }}\r\n>\r\n {IconDispatcher(item.icon, \"me-2\", { family: 'sharp' })} {item.text}\r\n
\r\n )\r\n }));\r\n\r\n const icon = iconActive()\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n\r\n};","import { TieredMenu } from \"primereact/tieredmenu\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport '../editor.scss';\r\n\r\nconst backgroundColor = [\r\n { label: \"White\", value: \"#ffffff\" },\r\n { label: \"Grey-100\", value: \"#D7DAE0\" },\r\n { label: \"Blue-100\", value: \"#C9DAFF\" },\r\n { label: \"Cyan-100\", value: \"#ADEBF3\" },\r\n { label: \"Green-100\", value: \"#AEF2CF\" },\r\n { label: \"Yellow-100\", value: \"#FDF4C4\" },\r\n { label: \"Orange-100\", value: \"#FADAB0\" },\r\n { label: \"Red-100\", value: \"#FACCC6\" },\r\n { label: \"Pink-100\", value: \"#F9C8EA\" },\r\n { label: \"Purple-100\", value: \"#DBD1FD\" },\r\n];\r\nconst TextColors = [\r\n { label: \"Primary-Text\", value: \"#262626\" },\r\n { label: \"Grey-600\", value: \"#57647B\" },\r\n { label: \"Blue-600\", value: \"#2741ca\" },\r\n { label: \"Cyan-700\", value: \"#3B9AB1\" },\r\n { label: \"Green-700\", value: \"#318b59\" },\r\n { label: \"Yellow-700\", value: \"#B89F14\" },\r\n { label: \"Orange-700\", value: \"#CD6513\" },\r\n { label: \"Red-600\", value: \"#D83835\" },\r\n { label: \"Pink-600\", value: \"#cc4190\" },\r\n { label: \"Purple-600\", value: \"#5E47B9\" },\r\n { label: \"White\", value: \"#ffffff\" },\r\n\r\n];\r\nexport const ColorsOptions = ({ editor, colorRef, handleshow }) => {\r\n\r\n if (!editor) {\r\n return null\r\n }\r\n\r\n const handleHeadingChange = (color, command, e) => {\r\n e && e.preventDefault()\r\n if (command === 'setColor') {\r\n editor.chain().focus().setColor(color).run();\r\n handleshow(e, 'color')\r\n\r\n return;\r\n }\r\n editor.commands[command]({ color: color });\r\n handleshow(e, 'color')\r\n };\r\n\r\n const items = [\r\n {\r\n label: \"Background\",\r\n items: backgroundColor.map(color => {\r\n return {\r\n template: handleHeadingChange(color.value, \"setHighlight\", e)}\r\n style={{ background: color.value ,width:'30px',height:'30px',\r\n border: color.value === '#ffffff' ? '1px solid #c4c4c4' : 'none'}}>{\"\"}\r\n }\r\n })\r\n },\r\n {\r\n label: \"Text\",\r\n items: TextColors.map(color => {\r\n return {\r\n template:
handleHeadingChange(color.value, \"setColor\", e)} style={{ background: color.value ,width:'30px',height:'30px',\r\n border: color.value === '#ffffff' ? '1px solid #c4c4c4' : 'none'}}>{\"\"}
\r\n }\r\n })\r\n }\r\n ];\r\n\r\n\r\n return (\r\n <>\r\n \r\n {\r\n e.preventDefault()\r\n handleshow(e, 'color')\r\n }}\r\n >\r\n {IconDispatcher('highlighter')}\r\n \r\n \r\n );\r\n}","import { mergeAttributes } from '@tiptap/core';\r\nimport Paragraph from '@tiptap/extension-paragraph';\r\nimport DOMPurify from 'dompurify';\r\nimport { DOMParser as proseMirrorParser } from 'prosemirror-model';\r\n\r\nfunction transformHTML(html) {\r\n try {\r\n // Use DOMPurify to sanitize and remove unwanted styles/scripts\r\n const cleanHTML = DOMPurify.sanitize(html, {\r\n ALLOWED_TAGS: ['ul', 'ol', 'li', 'strong', 'em', 'u', 'br', 'p'], // No tags allowed\r\n ALLOWED_ATTR: [] // No attributes allowed\r\n });\r\n\r\n // Further processing to extract text content\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(cleanHTML, 'text/html');\r\n // Extract text content from the document\r\n const textContent = doc.body.innerHTML || '';\r\n\r\n return `

${textContent}

`;\r\n } catch (error) {\r\n console.error('Error transforming HTML:', error);\r\n return ''; // Return an empty string or handle the error as needed\r\n }\r\n}\r\n\r\nconst createNodeFromHTML = (html, view) => {\r\n try {\r\n const cleanHTML = transformHTML(html);\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(cleanHTML, 'text/html');\r\n\r\n const { schema } = view.state;\r\n const parsedSlice = proseMirrorParser.fromSchema(schema).parse(doc.body);\r\n if (!parsedSlice) {\r\n throw new Error('Parsed slice is invalid');\r\n }\r\n\r\n // console.log(html, parsedSlice, schema)\r\n // Determine the position to insert the content\r\n\r\n // Create a transaction to insert the parsed slice at the specified position\r\n const position = view.state.selection.from; // or any specific position\r\n const transaction = view.state.tr.insert(position, parsedSlice.content);\r\n view.dispatch(transaction);\r\n return true;\r\n }\r\n catch (e) {\r\n console.error(\"Error creating node from HTML:\", e.message, e.stack);\r\n return false;\r\n }\r\n\r\n};\r\nexport const CustomParagraph = Paragraph.extend({\r\n renderHTML({ HTMLAttributes }) {\r\n return ['p', mergeAttributes(HTMLAttributes, { class: 'my-custom-tiptap-class' }), 0];\r\n },\r\n});\r\n\r\n\r\n\r\nexport const handlePaste = (view, event) => {\r\n const { clipboardData } = event;\r\n const html = clipboardData.getData('text/html');\r\n if (html) {\r\n const isInternal = html.includes('my-custom-tiptap-class');\r\n if (isInternal) return false // Do not transform internal content\r\n return createNodeFromHTML(html, view);\r\n }\r\n\r\n // Default paste handling\r\n return false;\r\n}\r\n\r\n","import { askCXAssistant } from \"features/ai/reducer/ai-actions\";\r\nimport { TieredMenu } from \"primereact/tieredmenu\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport \"../editor.scss\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components\";\r\nimport { useSelector } from \"react-redux\";\r\nconst languages = [\r\n\t{ label: \"English\", code: \"en\" },\r\n\t{ label: \"French\", code: \"fr\" },\r\n\t{ label: \"Spanish\", code: \"es\" },\r\n\t{ label: \"German\", code: \"de\" },\r\n\t{ label: \"Dutch\", code: \"nl\" },\r\n\t{ label: \"Greek\", code: \"el\" },\r\n\t{ label: \"Italian\", code: \"it\" },\r\n\t{ label: \"Portuguese\", code: \"pt\" },\r\n\t{ label: \"Russian\", code: \"ru\" },\r\n\t{ label: \"Chinese\", code: \"zh\" },\r\n\t{ label: \"Japanese\", code: \"ja\" },\r\n\t{ label: \"Korean\", code: \"ko\" },\r\n\t{ label: \"Arabic\", code: \"ar\" },\r\n\t{ label: \"Hindi\", code: \"hi\" },\r\n\t{ label: \"Turkish\", code: \"tr\" },\r\n\t{ label: \"Swedish\", code: \"sv\" },\r\n\t{ label: \"Norwegian\", code: \"no\" },\r\n\t{ label: \"Danish\", code: \"da\" },\r\n];\r\n\r\nexport const AIOptions = ({ editor, insertRef, handleshow, alexLoading, forceUpdate }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst aiAllowed = useSelector(({ settings }) => settings.subscriptionDetails.aiEnabled);\r\n\r\n\tconst typingEffectFunction = (data) => {\r\n\t\tif (!data.result) return;\r\n\t\tlet i = 0;\r\n\t\talexLoading.current.typing = true;\r\n\t\tforceUpdate((f) => !f); // Trigger re-render\r\n\r\n\t\tconst typingEffect = () => {\r\n\t\t\tconst step = 3; // Number of characters to insert per iteration\r\n\r\n\t\t\tif (i < data.result.length) {\r\n\t\t\t\teditor\r\n\t\t\t\t\t.chain()\r\n\t\t\t\t\t.focus()\r\n\t\t\t\t\t.insertContent(data.result.slice(i, i + step))\r\n\t\t\t\t\t.run();\r\n\t\t\t\ti += step;\r\n\t\t\t\trequestAnimationFrame(typingEffect);\r\n\t\t\t} else {\r\n\t\t\t\t// Only set typing to false after all characters are inserted\r\n\t\t\t\talexLoading.current.typing = false;\r\n\t\t\t\tforceUpdate((f) => !f); // Trigger re-render\r\n\t\t\t}\r\n\t\t};\r\n\t\trequestAnimationFrame(typingEffect);\r\n\t};\r\n\r\n\tconst askAI = (prompt) => {\r\n\t\ttry {\r\n\t\t\talexLoading.current.loading = true;\r\n\t\t\tforceUpdate((f) => !f); // Trigger re-render\r\n\r\n\t\t\taskCXAssistant({\r\n\t\t\t\tprompt,\r\n\t\t\t\tmax_tokens: 2000,\r\n\t\t\t\tonSuccess: (data) => {\r\n\t\t\t\t\ttypingEffectFunction(data);\r\n\t\t\t\t\talexLoading.current.loading = false;\r\n\t\t\t\t\tforceUpdate((f) => !f); // Trigger re-render\r\n\t\t\t\t},\r\n\t\t\t\t// Adjust the interval time to control typing speed\r\n\t\t\t});\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e);\r\n\t\t}\r\n\t};\r\n\tconst handleAIAction = (attribute, event, arg = null) => {\r\n\t\tif (event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t\tconst { from, to } = editor.state.selection;\r\n\t\tconst selectedText = editor.state.doc.textBetween(from, to, \" \");\r\n\t\tswitch (attribute) {\r\n\t\t\tcase \"makeShorter\": {\r\n\t\t\t\tconst prompt = `make this content shorter: ${selectedText}. Return the response in JSON format with a \"result\" key, and only add text directly in \"result\" without further nested keys or lists. `;\r\n\t\t\t\taskAI(prompt);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"makeLonger\": {\r\n\t\t\t\tconst prompt = `make this content longer: ${selectedText}. Return the response in JSON format with a \"result\" key, and only add text directly in \"result\" without further nested keys or lists.`;\r\n\t\t\t\taskAI(prompt);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"changeTone\": {\r\n\t\t\t\tconst prompt = `change the tone of this content: ${selectedText} to ${arg}. Return the response in JSON format with a \"result\" key, and only add text directly in \"result\" without further nested keys or lists.`;\r\n\t\t\t\taskAI(prompt);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"summarize\": {\r\n\t\t\t\tconst prompt = `Summarize the following content in a single, concise paragraph: ${selectedText}. Return the response in JSON format with a \"result\" key, and only add text directly in \"result\" without further nested keys or lists.`;\r\n\t\t\t\taskAI(prompt);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"translate\": {\r\n\t\t\t\tconst prompt = `translate this content to ${arg}: ${selectedText}. Return the response in JSON format with a \"result\" key, and only add text directly in \"result\" without further nested keys or lists.`;\r\n\t\t\t\taskAI(prompt);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"fixGrammar\": {\r\n\t\t\t\tconst prompt = `fix the grammar of this content: ${selectedText}. Return the response in JSON format with a \"result\" key, and only add text directly in \"result\" without further nested keys or lists.`;\r\n\t\t\t\taskAI(prompt);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"paraphrase\": {\r\n\t\t\t\tconst prompt = `paraphrase this content: ${selectedText}. Return the response in JSON format with a \"result\" key, and only add text directly in \"result\" without further nested keys or lists.`;\r\n\t\t\t\taskAI(prompt);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\thandleshow(event, \"ai\");\r\n\t};\r\n\r\n\tif (!editor) {\r\n\t\treturn null;\r\n\t}\r\n\tif (!aiAllowed) {\r\n\t\treturn null;\r\n\t}\r\n\tconst languageTemplates = languages.map((language) => ({\r\n\t\ttemplate: (\r\n\t\t\t
handleAIAction(\"translate\", e, language.label)} className={\" pointer p-2 px-4\"} style={{ minWidth: \"200px\" }}>\r\n\t\t\t\t{language.label}\r\n\t\t\t
\r\n\t\t),\r\n\t}));\r\n\r\n\tconst tonesTemplates = [\"FORMAL\", \"INFORMAL\", \"FRIENDLY\", \"PROFESSIONAL\", \"HUMOROUS\", \"SERIOUS\", \"OPTIMISTIC\", \"PESSIMISTIC\", \"NEUTRAL\"].map((tone) => ({\r\n\t\ttemplate: (\r\n\t\t\t
handleAIAction(\"changeTone\", e, tone)} className={\" pointer p-2 px-4\"} style={{ minWidth: \"200px\" }}>\r\n\t\t\t\t{t(tone)}\r\n\t\t\t
\r\n\t\t),\r\n\t}));\r\n\tconst items = [\r\n\t\t{ label: t(\"MAKE_SHORTER\"), icon: \"grip-lines\", attribute: \"makeShorter\" },\r\n\t\t{ label: t(\"MAKE_LONGER\"), icon: \"bars-sort\", attribute: \"makeLonger\" },\r\n\t\t{\r\n\t\t\tlabel: t(\"CHANGE_TONE\"),\r\n\t\t\ticon: IconDispatcher(\"microphone\", \"mx-1 me-2-6\", { family: \"sharp\" }),\r\n\t\t\tattribute: \"changeTone\",\r\n\t\t\titems: tonesTemplates,\r\n\t\t},\r\n\t\t{ label: t(\"SUMMARIZE\"), icon: \"file-lines\", text: \"Summarize\", attribute: \"summarize\" },\r\n\t\t{\r\n\t\t\tlabel: t(\"TRANSLATE\"),\r\n\t\t\ticon: IconDispatcher(\"globe\", \"mx-1 me-2-6\", { family: \"sharp\" }),\r\n\t\t\tattribute: \"translate\",\r\n\t\t\titems: languageTemplates,\r\n\t\t},\r\n\t\t{ label: t(\"FIX_GRAMMAR\"), icon: \"spell-check\", attribute: \"fixGrammar\" },\r\n\t\t{ label: t(\"PARAPHRASE\"), icon: \"sync-alt\", attribute: \"paraphrase\" },\r\n\t];\r\n\r\n\tconst templates = items.map((item) =>\r\n\t\titem.separator\r\n\t\t\t? item\r\n\t\t\t: [\"translate\", \"changeTone\"].includes(item.attribute)\r\n\t\t\t? item\r\n\t\t\t: {\r\n\t\t\t\t\ttemplate: (\r\n\t\t\t\t\t\t
handleAIAction(item.attribute, e)} className={\" pointer p-2 px-4\"} style={{ minWidth: \"200px\" }}>\r\n\t\t\t\t\t\t\t{IconDispatcher(item.icon, \"me-2\", { family: \"sharp\" })} {item.label}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t),\r\n\t\t\t}\r\n\t);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\thandleshow(e, \"ai\");\r\n\t\t\t\t}}>\r\n\t\t\t\t{IconDispatcher(\"SPARKLES\", \"\", { family: \"sharp\" })}\r\n\t\t\t\t{t(\"REWRITE_WITH_ALEX\")}\r\n\t\t\t\t{IconDispatcher(\"angle-down\", \"ms-1\", { size: \"sm\" })}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Button = styled.button`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twhite-space: nowrap;\r\n\tgap: 0.5rem;\r\n`;\r\n","import { Color } from \"@tiptap/extension-color\";\r\n\r\nimport Blockquote from \"@tiptap/extension-blockquote\";\r\nimport Highlight from \"@tiptap/extension-highlight\";\r\nimport HorizontalRule from \"@tiptap/extension-horizontal-rule\";\r\nimport Link from \"@tiptap/extension-link\";\r\nimport Placeholder from \"@tiptap/extension-placeholder\";\r\nimport TaskItem from \"@tiptap/extension-task-item\";\r\nimport TaskList from \"@tiptap/extension-task-list\";\r\nimport TextAlign from \"@tiptap/extension-text-align\";\r\nimport { TextStyle } from \"@tiptap/extension-text-style\";\r\nimport { BubbleMenu, EditorContent, useEditor } from \"@tiptap/react\";\r\nimport StarterKit from \"@tiptap/starter-kit\";\r\nimport { useImperativeHandle, useRef, useState, useEffect } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport \"./editor.scss\";\r\nimport { AddMentionConfig, ColorsOptions, InsertOptions, LinkOptions, TextAlignOptions } from \"./extensions\";\r\nimport { CustomParagraph, handlePaste } from \"./helpers\";\r\nimport { AIOptions } from \"./extensions/ai-options\";\r\nimport styled from \"styled-components\";\r\nimport { t } from \"i18next\";\r\nimport { Spinner } from \"reactstrap\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nconst extensions = [\r\n\tStarterKit.configure({\r\n\t\thistory: { depth: 10 },\r\n\t}),\r\n\tCustomParagraph,\r\n\tTextAlign.configure({\r\n\t\ttypes: [\"heading\", \"paragraph\", \"listItem\"],\r\n\t\talignments: [\"left\", \"center\", \"right\", \"justify\"],\r\n\t}),\r\n\tHighlight.configure({ multicolor: true }),\r\n\tLink.configure({\r\n\t\tHTMLAttributes: {\r\n\t\t\ttarget: \"_blank\",\r\n\t\t\trel: \"noopener noreferrer\",\r\n\t\t},\r\n\t}),\r\n\tTaskList,\r\n\tTaskItem.configure({\r\n\t\tnested: true,\r\n\t}),\r\n\tBlockquote,\r\n\tTextStyle,\r\n\tColor,\r\n\tHorizontalRule,\r\n];\r\n\r\nexport default function Editor({ value, onUpdate, disabled, ...props }) {\r\n\tconst [portalContent, setPortalContent] = useState(null);\r\n\tconst [, forceUpdate] = useState(false);\r\n\tconst { pathname } = useLocation();\r\n\tconst hasFocused = useRef(false); // Prevents multiple re-renders\r\n\r\n\tconst alexLoading = useRef({\r\n\t\tloading: false,\r\n\t\ttyping: false,\r\n\t});\r\n\tconst toolbarRef = useRef(null);\r\n\r\n\tconst Mention = props.mentionFunction ? AddMentionConfig({ setPortalContent, setMentionElement: props.mentionFunction }) : null;\r\n\tconst PlaceholderExtension = props.placeholder\r\n\t\t? Placeholder.configure({\r\n\t\t\tplaceholder: props.placeholder,\r\n\t\t\tshowOnlyWhenEditable: true,\r\n\t\t\tshowOnlyCurrent: false,\r\n\t\t})\r\n\t\t: null;\r\n\r\n\tconst editor = useEditor(\r\n\t\t{\r\n\t\t\textensions: [...extensions, Mention, PlaceholderExtension],\r\n\t\t\tcontent: value,\r\n\t\t\teditable: !disabled,\r\n\t\t\tonUpdate: ({ editor }) => {\r\n\t\t\t\tif (props?.onChange) {\r\n\t\t\t\t\tprops.onChange(editor.getHTML());\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonBlur({ editor, ...props }) {\r\n\t\t\t\tif (toolbarRef.current?.hide) {\r\n\t\t\t\t\ttoolbarRef.current.hide(props.event);\r\n\t\t\t\t}\r\n\t\t\t\tif (onUpdate) {\r\n\t\t\t\t\tonUpdate(editor.getHTML());\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\teditorProps: {\r\n\t\t\t\thandlePaste: handlePaste,\r\n\t\t\t},\r\n\t\t},\r\n\t\t[value, disabled, props.onChange, onUpdate]\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (props.autoFocus && editor && !hasFocused.current) {\r\n\t\t\teditor.commands.focus();\r\n\t\t\tconst endPos = editor.state.doc.content.size;\r\n\t\t\teditor.commands.setTextSelection(endPos);\r\n\t\t\thasFocused.current = true; // Ensures it runs only once\r\n\t\t}\r\n\t}, [props.autoFocus, editor]);\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{alexLoading.current.loading || alexLoading.current.typing ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{t(alexLoading.current.loading ? \"ALEX_IS_THINKING\" : \"ALEX_IS_TYPING\")}\r\n\t\t\t\t\t{alexLoading.current.loading && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t\t\r\n\t\t\t{portalContent && createPortal(portalContent, document.body)}\r\n\t\t\t{!props.hideToolbar && }\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst ToolBar = ({ editor, toolbarRef, alexLoading, forceUpdate }) => {\r\n\tconst colorRef = useRef(null);\r\n\tconst insertRef = useRef(null);\r\n\tconst textAlignRef = useRef(null);\r\n\tconst linkRef = useRef(null);\r\n\tconst aiRef = useRef(null);\r\n\r\n\tuseImperativeHandle(toolbarRef, () => {\r\n\t\treturn {\r\n\t\t\thide: (e) => {\r\n\t\t\t\tcolorRef.current?.hide(e);\r\n\t\t\t\tinsertRef.current?.hide(e);\r\n\t\t\t\ttextAlignRef.current?.hide(e);\r\n\t\t\t\tlinkRef.current?.hide(e);\r\n\t\t\t\taiRef.current?.hide(e);\r\n\t\t\t},\r\n\t\t};\r\n\t});\r\n\r\n\tif (!editor) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst isActive = (type, att) => {\r\n\t\tif (att) return editor.isActive(type, att) ? \"is-active\" : \"\";\r\n\t\treturn editor.isActive(type) ? \"is-active\" : \"\";\r\n\t};\r\n\tconst handleClick = (command, event) => {\r\n\t\tif (event) event.preventDefault();\r\n\t\teditor.chain().focus()[command]().run();\r\n\t};\r\n\r\n\tconst handleshow = (e, type) => {\r\n\t\tswitch (type) {\r\n\t\t\tcase \"color\":\r\n\t\t\t\tcolorRef.current?.toggle(e);\r\n\t\t\t\tinsertRef.current?.hide(e);\r\n\t\t\t\ttextAlignRef.current?.hide(e);\r\n\t\t\t\tlinkRef.current?.hide(e);\r\n\t\t\t\taiRef.current?.hide(e);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"insert\":\r\n\t\t\t\tinsertRef.current?.toggle(e);\r\n\t\t\t\tcolorRef.current?.hide(e);\r\n\t\t\t\ttextAlignRef.current?.hide(e);\r\n\t\t\t\tlinkRef.current?.hide(e);\r\n\t\t\t\taiRef.current?.hide(e);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"textAlign\":\r\n\t\t\t\ttextAlignRef.current?.toggle(e);\r\n\t\t\t\tcolorRef.current?.hide(e);\r\n\t\t\t\tinsertRef.current?.hide(e);\r\n\t\t\t\tlinkRef.current?.hide(e);\r\n\t\t\t\taiRef.current?.hide(e);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"link\":\r\n\t\t\t\tlinkRef.current?.toggle(e);\r\n\t\t\t\tcolorRef.current?.hide(e);\r\n\t\t\t\tinsertRef.current?.hide(e);\r\n\t\t\t\ttextAlignRef.current?.hide(e);\r\n\t\t\t\taiRef.current?.hide(e);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"ai\":\r\n\t\t\t\taiRef.current?.toggle(e);\r\n\t\t\t\tcolorRef.current?.hide(e);\r\n\t\t\t\tinsertRef.current?.hide(e);\r\n\t\t\t\ttextAlignRef.current?.hide(e);\r\n\t\t\t\tlinkRef.current?.hide(e);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\tif (editor.getAttributes(\"link\").href && editor.isActive(\"link\")) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst AlexLoading = styled.div`\r\n\tposition: absolute;\r\n\ttop: 44px;\r\n\tright: 15px;\r\n\tfont-size: 12px;\r\n\tfont-style: italic;\r\n\tcolor: #c4c4c4;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 5px;\r\n\t${({ pathname }) => {\r\n\t\tswitch (pathname) {\r\n\t\t\tcase \"/EditMap\":\r\n\t\t\t\treturn `\r\n top: -20px;\r\n\r\n `;\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}}\r\n`;\r\n","import { getCurrentMapUsers } from '@redux/memoizedSelectors';\r\nimport Mention from '@tiptap/extension-mention'\r\nimport { EMPTY_GUID } from '@utils/helpers';\r\nimport InitialsBubble from 'features/settings/manage-users/components/initials-bubble';\r\nimport { useSelector } from 'react-redux';\r\nimport { FlexAlignCenter } from 'shared/ui-basics';\r\n\r\nexport const AddMentionConfig = ({ setPortalContent, setMentionElement }) => {\r\n const users = useSelector(getCurrentMapUsers).filter(u => u.roleId !== EMPTY_GUID)?.map((user) => {\r\n return { id: user.id, value: user.fullName };\r\n })\r\n\r\n if (!setMentionElement) {\r\n return []\r\n }\r\n return Mention.configure({\r\n HTMLAttributes: {\r\n class: 'mention',\r\n },\r\n suggestion: {\r\n char: '@',\r\n items: ({ query }) => {\r\n return users.filter(user => user.value?.toLowerCase().startsWith(query?.toLowerCase()));\r\n },\r\n render: () => {\r\n let popup = null;\r\n return {\r\n onStart: props => {\r\n\r\n const { clientRect, items, command } = props;\r\n const popUpHeight = items.length > 5 ? 200 : items.length * 40;\r\n popup = (\r\n
    \r\n {items.map((item, i) => (\r\n
  • {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n command({ id: item.value });\r\n setMentionElement((prevState) => [...prevState || [], item]);\r\n }}>\r\n \r\n \r\n {item.value}\r\n \r\n\r\n
  • \r\n ))}\r\n
\r\n );\r\n\r\n // Set the content to be rendered in the portal\r\n setPortalContent(popup);\r\n // Trigger a re-render\r\n },\r\n onUpdate(props) {\r\n const { clientRect, items, command } = props;\r\n popup =
    \r\n {items.map((item, i) => (\r\n
  • {\r\n command({ id: item.value });\r\n setMentionElement((prevState) => [...prevState || [], item]);\r\n }}>\r\n \r\n \r\n {item.value}\r\n \r\n
  • \r\n ))}\r\n
;\r\n\r\n // Update the component\r\n setPortalContent(popup);\r\n },\r\n onExit() {\r\n setPortalContent(null); // Clear the portal content when not needed\r\n },\r\n\r\n };\r\n }\r\n }\r\n })\r\n\r\n}","import { Row } from \"react-bootstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Col } from \"reactstrap\";\r\nimport { LogoHeader } from \"features/navigation/SideBar/style\";\r\n\r\nexport const PageTemplate = ({ pageTitle, renderViewButtons, renderOtherButtons, variant, children, classNames = \"container\", logoUrl, hideForPdf, maxWidth }) => {\r\n\tconst { t } = useTranslation();\r\n\treturn (\r\n\t\t\r\n\t\t\t{logoUrl && hideForPdf && }\r\n\t\t\t
\r\n\t\t\t\t{pageTitle}\r\n\t\t\t\t{renderViewButtons ? {renderViewButtons(t)} : <>}\r\n\t\t\t
\r\n\t\t\t{renderOtherButtons && renderOtherButtons()}\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst PageContainer = styled.div`\r\n\theight: 100%;\r\n\t${({ maxwidth }) =>\r\n\t\tmaxwidth &&\r\n\t\tcss`\r\n\t\t\tmax-width: ${({ maxwidth }) => maxwidth}px;\r\n\t\t`}\r\n`;\r\n\r\nconst Header = styled(Row)`\r\n\tdisplay: flex !important;\r\n\tjustify-content: space-between !important;\r\n`;\r\n\r\nconst CustomCol = styled(Col)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: flex-end;\r\n`;\r\n\r\nconst Title = styled.h1``;\r\n\r\nconst ScrollContainer = styled.div`\r\n\twidth: 100%;\r\n\t${(props) =>\r\n\t\tprops.variant === \"graph\" &&\r\n\t\tcss`\r\n\t\t\toverflow-y: auto;\r\n\t\t\theight: 75%;\r\n\t\t`}\r\n`;\r\n","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { SolutionType } from \"@utils/optionsSets/OptionSets\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { areYearsSimilar, isNullOrEmptyObject } from \"utils/helpers\";\r\n\r\nexport const CardContainer = styled.div`\r\n\tborder-top: 1px solid #c4c4c4;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.islast &&\r\n\t\tcss`\r\n\t\t\tborder-bottom: 1px solid #c4c4c4;\r\n\t\t`}\r\n`;\r\n\r\nexport const getPointColors = (type) => {\r\n\tswitch (type) {\r\n\t\tcase SolutionType.QuickWin:\r\n\t\t\treturn { background: \"#E7EFFF\", border: \"#3353E0\" };\r\n\t\tcase SolutionType.ComplexProject:\r\n\t\t\treturn { background: \"#EDEDED\", border: \"#595959\" };\r\n\t\tcase SolutionType.NiceToHave:\r\n\t\t\treturn { background: \"#FDF7D0\", border: \"#6F5608\" };\r\n\t\tcase SolutionType.ToAvoid:\r\n\t\t\treturn { background: \"#FDEAE8\", border: \"#BC2722\" };\r\n\t\tdefault:\r\n\t\t\treturn { background: \"#c3c3c3\", border: \"#000\" };\r\n\t}\r\n};\r\n\r\nexport const getMonthNumber = (inputDate) => {\r\n\tif (!(inputDate instanceof Date) || isNaN(inputDate)) {\r\n\t\treturn \"\";\r\n\t}\r\n\r\n\treturn inputDate.getMonth();\r\n};\r\n\r\nexport const getAverageScore = ({ data, scoreAttribute }) => {\r\n\tif (data.length === 0) return 0;\r\n\tlet score = 0;\r\n\tdata.forEach((item) => (score += item[scoreAttribute]));\r\n\treturn score / data.length;\r\n};\r\n\r\nexport function sortByName(objects) {\r\n\tobjects.sort((a, b) => {\r\n\t\tconst nameA = a.name?.toLowerCase();\r\n\t\tconst nameB = b.name?.toLowerCase();\r\n\t\tif (nameA < nameB) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\tif (nameA > nameB) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\treturn 0;\r\n\t});\r\n\r\n\treturn objects;\r\n}\r\n\r\nexport const isBlanksSelected = (data) => data?.find((item) => item?.id === EMPTY_GUID && item?.name === \"Blanks\");\r\nexport const isBlanks = (data) => data?.id === EMPTY_GUID && data?.name === \"Blanks\";\r\n\r\nexport const bigNumberFormatter = ({ number, currencySymbol }) => {\r\n\tlet formatted = \"\";\r\n\tif (number >= 1000000) {\r\n\t\tformatted = `${(number / 1000000).toFixed(1)}M`;\r\n\t} else if (number >= 1000) {\r\n\t\tformatted = `${(number / 1000).toFixed(1)}K`;\r\n\t}\r\n\tif (currencySymbol) formatted += `${currencySymbol} `;\r\n\treturn formatted;\r\n};\r\n\r\nexport const getEmotionData = ({ level }) => {\r\n\tif (level === 1) return { smiley: \"face-frown-open\", description: \"ASPX_76\", backgroundColor: \"linear-gradient(2deg, #FFF 6.47%, #FEF2F2 95.32%)\", textColor: \"#EF4444\", borderColor: \"#FEE2E2\" };\r\n\tif (level === 2) return { smiley: \"face-frown\", description: \"ASPX_77\", backgroundColor: \"linear-gradient(2deg, #FFF 6.47%, #FFF7ED 95.32%)\", textColor: \"#F97316\", borderColor: \"#FFEDD5\" };\r\n\tif (level === 3) return { smiley: \"face-meh\", description: \"ASPX_78\", backgroundColor: \"linear-gradient(2deg, #FFF 6.47%, #FEFCE8 95.32%);\", textColor: \"#EAB308\", borderColor: \"#FEF9C3\" };\r\n\tif (level === 4) return { smiley: \"face-smile\", description: \"ASPX_79\", backgroundColor: \"linear-gradient(2deg, #FFF 6.47%, #F0FDF4 95.32%);\", textColor: \"#22C55E\", borderColor: \"#BBF7D0\" };\r\n\tif (level === 5) return { smiley: \"face-laugh\", description: \"ASPX_80\", backgroundColor: \"linear-gradient(2deg, #FFF 6.47%, #F0FDFA 95.32%);\", textColor: \"#14B8A6\", borderColor: \"#CCFBF1\" };\r\n\r\n\treturn { smiley: \"face-meh-blank\", description: \"NO_SENTIMENT\", backgroundColor: \"#fff\", textColor: \"#BFBFBF\", borderColor: \"#F0F0F0\" };\r\n};\r\n\r\nexport const isSelectable = (selectedFilters, relatedId) => {\r\n\tconst isBlank = isBlanksSelected(selectedFilters);\r\n\t// If no items selected in the filter\r\n\tif (selectedFilters?.length === 0) return false;\r\n\r\n\tif (isBlank && !relatedId) return true;\r\n\r\n\treturn selectedFilters.map((m) => m.id).includes(relatedId);\r\n};\r\n\r\nexport const getInteractionsRelatedItems = ({ interactions, allTouchpoints, allMetrics }) => {\r\n\tconst formatedData = { touchpoints: [{ id: EMPTY_GUID, name: \"Blanks\" }], metrics: [{ id: EMPTY_GUID, name: \"Blanks\" }] };\r\n\tconst touchpointMemory = {};\r\n\tconst metricMemory = {};\r\n\r\n\tinteractions.map((interaction) => {\r\n\t\tconst currentTouchpoint = allTouchpoints?.find((tp) => tp?.id === interaction?.touchpointId);\r\n\t\tconst currentMetric = allMetrics?.find((metric) => metric?.id === (interaction?.metricId || interaction?.cxMetricId));\r\n\r\n\t\tif (!isNullOrEmptyObject(currentTouchpoint) && !(currentTouchpoint.id in touchpointMemory)) {\r\n\t\t\tformatedData.touchpoints.push({ id: currentTouchpoint.id, name: currentTouchpoint.name, weight: currentTouchpoint?.weight });\r\n\t\t\ttouchpointMemory[currentTouchpoint.id] = true;\r\n\t\t}\r\n\t\tif (!isNullOrEmptyObject(currentMetric) && !(currentMetric.id in metricMemory)) {\r\n\t\t\tformatedData.metrics.push({ id: currentMetric.id, name: currentMetric.name });\r\n\t\t\tmetricMemory[currentMetric.id] = true;\r\n\t\t}\r\n\t});\r\n\r\n\treturn formatedData;\r\n};\r\n\r\nexport const getFilteredInteractions = ({ personaInteractions, contactInteractions, cjms, personas, touchpoints = [], metrics = [], date = \"\" }) => {\r\n\tconst currentPersonaInteractions = personaInteractions?.filter(\r\n\t\t(interaction) =>\r\n\t\t\tcjms.map((m) => m.id).includes(interaction?.mapId) &&\r\n\t\t\tpersonas.map((persona) => persona.id).includes(interaction?.personaId) &&\r\n\t\t\t(touchpoints.length === 0 || isSelectable(touchpoints, interaction?.touchpointId))\r\n\t);\r\n\r\n\tconst currentContactInteractions = contactInteractions?.filter(\r\n\t\t(interaction) =>\r\n\t\t\tcjms.map((m) => m.id).includes(interaction?.mapId) &&\r\n\t\t\tpersonas.map((persona) => persona.id).includes(interaction?.personaId) &&\r\n\t\t\t(touchpoints.length === 0 || isSelectable(touchpoints, interaction?.touchpointId)) &&\r\n\t\t\t(metrics.length === 0 || isSelectable(metrics, interaction?.metricId)) &&\r\n\t\t\t(date === \"\" || areYearsSimilar(interaction?.date, date))\r\n\t);\r\n\r\n\treturn { currentPersonaInteractions, currentContactInteractions };\r\n};\r\n","import { currentWorkspaceId } from \"index\";\r\n\r\nexport const getterApis = {\r\n\tGET_ACCOUNT_IMG: (sessionId, refreshValue) => `api/settings/getAccountImage?sid=${sessionId}&${refreshValue}&workspaceId=${currentWorkspaceId}`,\r\n\tGET_MAP_CUSTOM_IMG: (cjmIdStr, sessionId) => `api/map/getCustomImage?cjmIdStr=${cjmIdStr}&sid=${sessionId}&workspaceId=${currentWorkspaceId}`,\r\n\tGET_CUSTOM_ICON: (iconIdStr, sessionId) => `api/icon/getCustomImage?iconIdStr=${iconIdStr}&sid=${sessionId}&workspaceId=${currentWorkspaceId}`,\r\n\tGET_CX_PROGRAM_IMG: (cxProgramId, sessionId) => `api/cxProgram/getCustomImage?cxProgramId=${cxProgramId}&sid=${sessionId}&workspaceId=${currentWorkspaceId}`,\r\n};\r\n","import styled, { css } from \"styled-components/macro\";\r\n\r\nexport const RemoveButton = styled.div`\r\n\tvisibility: hidden;\r\n\tborder-radius: 50%;\r\n\tborder: 1px solid #f5f5f5;\r\n overflow: hidden;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\t/* width: 32px;\r\n\theight: 32px; */\r\n`;\r\n\r\nexport const Badge = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tbackground: #ffffff;\r\n\twidth: 100%;\r\n\tcursor: pointer;\r\n\theight: 49px;\r\n\t:hover ${RemoveButton} {\r\n\t\tvisibility: visible;\r\n\t}\r\n\t${({ disabled }) => disabled && css`\r\n\t\tpointer-events: none;\r\n\t\tcursor: not-allowed;\r\n\t\t`}\r\n`;\r\n\r\nexport const BadgeWrapper = styled.div`\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n\tbackground: #FFF;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tcursor: pointer;\r\n\theight: 49px;\r\n\t${({ index }) =>\r\n\t\tindex === 0 &&\r\n\t\tcss`\r\n\t\t\tborder-top: 1px solid #c4c4c4;\r\n\t\t`}\r\n\twidth: 100%;\r\n\t:hover {\r\n\r\n\t\t//box-shadow: 0px 0px 5px #00000029;\r\n }\r\n\t.obj-name{\r\n\t\tmax-width: 495px;\r\n\t}\r\n`;\r\n\r\nexport const PriorityTypes = styled.div`\r\n\tmin-width: 20%;\r\n\tfont-size: 16px;\r\n\talign-items: center;\r\n\ttext-transform: capitalize;\r\n\talign-self: center;\r\n\tdisplay: flex;\r\n\t& #point {\r\n\t\tborder-radius: 50%;\r\n\t\theight: 16px;\r\n\t\twidth: 16px;\r\n\t\talign-self: center;\r\n\t\tmargin-right: 0.5rem;\r\n\t\tborder: 1px solid #e6e6e6;\r\n\t\tbackground-color: ${(props) => props.colorcode};\r\n\t}\r\n`;\r\n\r\nexport const MaxWidth = styled.div`\r\n\tmax-width: ${(props) => props?.width ?? 90}%;\r\n\tfont-size: 14px;\r\n\r\n\t${(props) =>\r\n\t\tprops.oppLabel === \"true\" &&\r\n\t\tcss`\r\n\t\t\tcolor: #605f60;\r\n\t\t\tfont-family: Inter;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tfont-style: normal;\r\n\t\t\tfont-weight: 400;\r\n\t\t\tline-height: 150%;\r\n\t\t`}\r\n`;\r\n","import { Input } from \"shared/ui-basics/input\";\r\nimport { colorCheck } from \"@utils/helpers\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nexport const StatusWrapper=styled.div`\r\n.p-dropdown\r\n{\r\n\theight:fit-content !important;\r\n\r\n}\r\n.p-dropdown-label\r\n{\r\n\tpadding:0;\r\n}\r\n`\r\nexport const SubjectWrapper = styled.div`\r\n\r\n\tcursor: ${(props) => (props.desactivateclick === \"true\" ? \"default\" : \"pointer\")};\r\n\tfont-weight: 500 !important;\r\n\tfont-weight: 500;\r\n\tline-height: 20px;\r\n\tcursor: pointer;\r\n\tcolor: #333333;\r\n\tmax-width: 100%;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: ${(props) => (props.desactivateclick === \"true\" ? \"default\" : \"pointer\")};\r\n\toverflow: hidden;\r\n\tfont-weight: 500 !important;\r\n\twhite-space: normal;\r\n`;\r\n\r\nexport const PriorityWrapper = styled.div`\r\n\tmin-width: 10%;\r\n\talign-self: center;\r\n\tdisplay: flex;\r\n\r\n`;\r\nexport const Switch = styled(InputSwitch)`\r\n\t.p-inputswitch-slider {\r\n\t\theight: 25px;\r\n\t\twidth: 48px;\r\n\t}\r\n`;\r\nexport const SwitchWrapper = styled.div`\r\n\tdisplay: -webkit-box;\r\n\toverflow: hidden;\r\n\t.switch-win-truth {\r\n\t\tfont-size: 12px;\r\n\t\tline-height: 19px;\r\n\t\tbottom: 13px;\r\n\t\tleft: 28px;\r\n\t\tsvg {\r\n\t\t\t--fa-animation-iteration-count: 2;\r\n\t\t}\r\n\t}\r\n\t.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider {\r\n\t\tbackground: ${(props) => (props.active ? (props.type === \"win\" ? \"#138A8A\" : \"#BD3DBF\") : \"#92919D\")};\r\n\t}\r\n\t.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider {\r\n\t\tbackground: ${(props) => (props.active ? (props.type === \"win\" ? \"#138A8A\" : \"#BD3DBF\") : \"#92919D\")};\r\n\r\n\t\t:hover {\r\n\t\t\tbackground: ${(props) => (props.active ? (props.type === \"win\" ? \"#138A8A\" : \"#BD3DBF\") : \"#92919D\")};\r\n\t\t}\r\n\t\t:focus {\r\n\t\t\tbox-shadow: none !important;\r\n\t\t}\r\n\t}\r\n\t/* .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before {\r\n\t\tbackground: ${(props) => colorCheck(props.type)};\r\n\t\tborder: none !important;\r\n\t} */\r\n\t.p-inputswitch.p-focus .p-inputswitch-slider {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n`;\r\nexport const TextInfo = styled.div`\r\n\tmax-width: ${(props) => (props.stage === \"true\" ? \"10rem\" : \"18rem\")};\r\n\tcursor: ${(props) => (props.desactivateclick === \"true\" ? \"default\" : \"pointer\")};\r\n\t@media screen and (max-width: 1290px) {\r\n\t\tmax-width: ${(props) => (props.stage === \"true\" ? \"3rem\" : \"8rem\")};\r\n\t\tmin-width: ${(props) => (props.stage === \"true\" ? \"4rem\" : \"8rem\")};\r\n\t}\r\n\t\tfont-weight: 500;\r\n\tline-height: 20px;\r\n\tcursor: pointer;\r\n\tcolor: #333333;\r\n\tmax-width: 100%;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: pointer;\r\n\toverflow: hidden;\r\n\tfont-weight: 500 !important;\r\n\twhite-space: normal;\r\n`;\r\nexport const Status = styled.div`\r\n\theight: 100%;\r\n\twidth: 110px;\r\n\tline-height: 54px;\r\n\tborder-radius: 4px;\r\n\ttext-align: center;\r\n\tfont-weight: 500;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tbackground-color: ${(props) => props.colorcode};\r\n\t/* color:#5c5858; */\r\n`;\r\n\r\nexport const ChangeColor = styled.div`\r\n\tcolor: ${(props) => props.color};\r\n`;\r\n\r\nexport const Ranking = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 30px;\r\n\theight: 25px;\r\n\tmax-width: 30px;\r\n\tmax-height: 25px;\r\n\tbackground: #d8fafa;\r\n\tborder: 1px solid #18aead;\r\n\tborder-radius: 4px;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\ttext-align: center;\r\n\tcolor: #18aead;\r\n`;\r\nexport const RatingContainer = styled.div`\r\n\t/* zoom: 0.5; */\r\n\tposition: relative; // new\r\n\t/* display: -webkit-box;\r\n\toverflow: hidden; */\r\n\t.inner {\r\n\t\tposition: absolute;\r\n\t\ttransform: scale(0.8);\r\n\t\ttransform-origin: 0 0;\r\n\t}\r\n\t.p-disabled {\r\n\t\topacity: 1;\r\n\t}\r\n`;\r\nexport const Center = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n`;\r\nexport const CenterCol = styled(Col)`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n`;\r\nexport const AddNew = styled(Row)`\r\n\tbackground-color: #ffffff;\r\n\tborder: 1px solid #e6e6e6;\r\n\tborder-radius: 4px;\r\n\tdisplay: flex;\r\n\tcursor: pointer;\r\n\r\n\tsvg {\r\n\t\talign-self: center;\r\n\t\twidth: auto;\r\n\t\tmax-width: none;\r\n\t}\r\n`;\r\nexport const EllipsisText = styled.div`\r\n\tmax-width: ${(props) => props.maxWidth}px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n\r\n`;\r\nexport const Redirect = styled(Link)`\r\n\ttext-decoration: none;\r\n\t${(props) => props.isinactive === \"true\" && `pointer-events: none`}\r\n`;\r\nexport const StyledName = styled.div`\r\n\tline-height: 20px;\r\n\tcursor: pointer;\r\n\tcolor: #333333;\r\n\tmax-width: calc(100% - 40px);\r\n\toverflow: hidden;\r\n\tdisplay: inherit;\r\n\r\n-webkit-line-clamp: 2;\r\n-webkit-box-orient: vertical;\r\ntext-overflow: ellipsis;\r\nalign-self: center !important;\r\ncursor: pointer;\r\n/* @media screen and (max-width: 1290px) {\r\n max-width: 8rem;\r\n} */\r\n\r\n`\r\nexport const PersonaPosition = styled.div`\r\n\tposition: absolute;\r\n\tbottom: -5px;\r\n\tright: -4px;\r\n`;\r\nexport const FolderNameStyle = styled.div`\r\n\tline-height: 20px;\r\n\tcolor: #333333;\r\n\tmax-width: 25rem;\r\n\toverflow: hidden;\r\n\tdisplay: table-column;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tfont-weight: 600 !important;\r\n`;\r\nexport const Total = styled.div`\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\tcolor: #605f60;\r\n`;\r\nexport const Number = styled.div`\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\tcolor: rgb(51, 51, 51);\r\n`;\r\n\r\nexport const Score = styled.div`\r\n\tmax-width: 2rem;\r\n\toverflow: hidden;\r\n\tcolor: #f96209;\r\n\ttext-align: right;\r\n\tfont-family: Koulen;\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n`;\r\n\r\nexport const LibraryName = styled.div`\r\n\tcursor: pointer;\r\n\r\n\toverflow: hidden;\r\n\tcolor: #333333;\r\n\tdisplay: -webkit-box;\r\n\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: ${(props) => (props.desactivateclick === \"true\" ? \"default\" : \"pointer\")};\r\n\r\n`;\r\n\r\nexport const DescriptionWrapper = styled.div`\r\n\toverflow: hidden;\r\n\tcolor: #333333;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\r\n`;\r\nexport const Date = styled(Input)`\r\n\tdisplay:${props => props.isundefined === 'true' ? 'none' : 'flex'};\r\n\t:focus {\r\n\t\toutline : none;\r\n\t}\r\n\r\n\r\n`\r\nexport const DateContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\t${props => props.isundefined === 'true' && css`\r\n\t:hover ${Date} {\r\n\t\tdisplay: flex;\r\n\t}\r\n`}\r\n`\r\n","\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { Button } from \"shared/ui-basics/index\";\r\nimport { NavLink } from \"react-router-dom/cjs/react-router-dom\";\r\n\r\n\r\n\r\nexport const BackButton = styled(Button)`\r\n position: absolute;\r\n top:0;\r\n left:0;\r\n border: 0 !important;\r\n z-index: 50;\r\n`\r\nexport const Test = styled.div`\r\n width: 190px;\r\n height: 42px;\r\n`\r\n\r\nexport const Title = styled.div`\r\n font-weight: 400;\r\n font-size: 24px;\r\n line-height: 29px;\r\n color: #333333;\r\n`\r\n\r\nexport const InputWrapper = styled.div`\r\n margin-top: 24px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 16px;\r\n`\r\n\r\nexport const DetailsWrapper = styled.div`\r\n width: 80%;\r\n`\r\n\r\nexport const WizardBag = styled.div`\r\n svg {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n height: 250px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n`\r\n\r\nexport const Mandatory = styled.div`\r\n color: #C4C4C4;\r\n font-style: italic;\r\n`\r\nexport const Welcome = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n`;\r\n\r\nexport const CrytalBall = styled.div`\r\n\tsvg {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t}\r\n\twidth: 100px;\r\n\theight: 100px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n`;\r\n\r\nexport const DefinePersonaText = styled.div`\r\n\tfont-weight: 400;\r\n\tfont-size: 24px;\r\n\tline-height: 29px;\r\n\ttext-align: center;\r\n\tcolor: #333333;\r\n`;\r\n\r\nexport const SelectPersonaText = styled.div`\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\tline-height: 150%;\r\n\ttext-align: center;\r\n\tcolor: #605f60;\r\n`;\r\nexport const TemplatesContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tjustify-content: center;\r\n`;\r\n\r\nexport const PersonaTemplateCard = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nexport const GOTemplate = styled(NavLink)`\r\n\tcolor: #605f60 !important;\r\n\r\n\t:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n`;\r\n\r\nexport const EmptyContainer = styled.div`\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\toverflow: hidden;\r\n`;\r\nexport const Header = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n`;\r\n\r\nexport const Bird = styled.div`\r\n\tsvg {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t}\r\n\twidth: 100px;\r\n\theight: 100px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n`;\r\n\r\nexport const CarouselWrapper = styled.div`\r\n\t.p-carousel-indicators {\r\n\t\tdisplay: none;\r\n\t}\r\n\t${(props) =>\r\n props.singleGrid === true &&\r\n css`\r\n\t\t\t.p-carousel-prev {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t\t.p-carousel-next {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n\r\nexport const UploadImgWrapper = styled.div`\r\n\tborder: 1px dashed #9e9292;\r\n\tborder-radius: 0.5rem;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 60%;\r\n\theight: 100%;\r\n\tmax-height: 366px;\r\n\r\n`;\r\n\r\nexport const PicturesContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n`;\r\n\r\nexport const PersonaPic = styled.span`\r\n\tflex-basis: 33.333333%;\r\n\toverflow: hidden;\r\n\tposition: relative;\r\n\tmargin: 0;\r\n\tbackground: none;\r\n\tborder: 3px solid #fff;\r\n\t.img-bubble {\r\n\t\tz-index: 1;\r\n\t\tmax-width: 100%;\r\n\t\tdisplay: block;\r\n\t\tobject-fit: cover;\r\n\t\twidth: 100px;\r\n\t\theight: 100px;\r\n\t\tborder-radius: 50%;\r\n\t\tcursor: pointer;\r\n\t\t&.selected {\r\n\t\t\tborder: 3px solid #f96209;\r\n\t\t\tfilter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nexport const Check = styled.div`\r\n\tposition: absolute;\r\n\ttop: 0px;\r\n\tleft: 0px;\r\n\tdisplay: none;\r\n\t${(props) =>\r\n props.checked === true &&\r\n css`\r\n\t\t\tdisplay: block;\r\n\t\t`}\r\n`;\r\n","export const editRoutes = [\"/EditMap\", \"/EditPersona\", \"/EditCxProgram\", \"/EditProject\", \"/map-creation-loading\", \"/analytics\"];\r\n\r\nexport const librariesRoutes = [\"/library-touchpoints\", \"/library-stickers\", \"/library-custom\", \"/library-brandvalues\", \"/library-measures\"];\r\n\r\n\r\nexport const inactiveTrashRoutes = [\r\n\t{\r\n\t\troute: \"/archive\",\r\n\t\ttext: \"ARCHIVE_NAV\",\r\n\t\tallowPopover: true,\r\n\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n\t{\r\n\t\troute: \"/trash\",\r\n\t\ttext: \"ASPX_206\",\r\n\t\tallowPopover: false,\r\n\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n];\r\n\r\nexport const settingsfooterRoutes = [\r\n\t{\r\n\t\troute: \"/organization\",\r\n\t\ttext: \"ASPX_209\",\r\n\t\tallowPopover: true,\r\n\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n\t{\r\n\t\troute: \"/configuration\",\r\n\t\ttext: \"ASPX_211\",\r\n\t\tallowPopover: true,\r\n\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n\t{\r\n\t\troute: \"/workspaces\",\r\n\t\tactiveRoutes: [\"/workspaces\", \"/edit-workspace\"],\r\n\t\ttext: \"WORKSPACES\",\r\n\t\tallowPopover: true,\r\n\t\taccess: [\"Enterprise\"],\r\n\t\tisMultiSubscription: true,\r\n\t},\r\n\t{\r\n\t\troute: \"/users\",\r\n\t\tactiveRoutes: [\"/users\", \"/edit-user\"],\r\n\t\ttext: \"ASPX_210\",\r\n\t\tallowPopover: false,\r\n\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n\t{\r\n\t\troute: \"/teams\",\r\n\t\ttext: \"TEAMS\",\r\n\t\tallowPopover: true,\r\n\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n\t{\r\n\t\troute: \"/transfer-ownership\",\r\n\t\ttext: \"TRANSFERT_OWNERSHIP\",\r\n\t\tallowPopover: true,\r\n\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n\t{\r\n\t\troute: \"/libraries\",\r\n\t\ttext: \"LIBRARIES\",\r\n\t\tallowPopover: false,\r\n\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n\t{\r\n\t\troute: \"/templates\",\r\n\t\ttext: \"TEMPLATES\",\r\n\t\tallowPopover: true,\r\n\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n\t{\r\n\t\troute: \"/taxonomy\",\r\n\t\ttext: \"TAXONOMY\",\r\n\t\tallowPopover: false,\r\n\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t},\r\n\t{\r\n\t\troute: \"/integration\",\r\n\t\tactiveRoutes: [\"/integration\", \"/edit-integration\"],\r\n\t\ttext: \"INTERGRATION_CENTER\",\r\n\t\tallowPopover: true,\r\n\t\taccess: [\"Enterprise\"],\r\n\t},\r\n];\r\nexport const allRoutes = {\r\n\ttop: [\r\n\t\t{\r\n\t\t\troute: \"/home\",\r\n\t\t\ttext: \"HOME\",\r\n\t\t\ticon: \"house\",\r\n\t\t\tallowPopover: false,\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/analytics?tab=journeytrends\",\r\n\t\t\ttext: \"REPORTS\",\r\n\t\t\ticon: \"CHART-SIMPLE\",\r\n\t\t\tallowPopover: true,\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/cx-program\",\r\n\t\t\ttext: \"CX_PROGRAMS\",\r\n\t\t\ticon: \"CX-PROGRAM\",\r\n\t\t\tallowPopover: true,\r\n\t\t\tlinkedAttribute: \"linkedCxPrograms\",\r\n\t\t\tactiveRoutes: [\"/cx-program\", \"/EditCxProgram\"],\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/personas\",\r\n\t\t\ttext: \"ASPX_98\",\r\n\t\t\ticon: \"PERSONA\",\r\n\t\t\tallowPopover: false,\r\n\t\t\tlinkedAttribute: \"linkedPersonas\",\r\n\t\t\tactiveRoutes: [\"/personas\", \"/EditPersona\"],\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/journey-map\",\r\n\t\t\ttext: \"JS_71\",\r\n\t\t\ticon: \"CJM\",\r\n\t\t\tallowPopover: false,\r\n\t\t\tlinkedAttribute: \"linkedCjms\",\r\n\t\t\tactiveRoutes: [\"/journey-map\", \"/EditMap\"],\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/insights\",\r\n\t\t\ttext: \"ASPX_33\",\r\n\t\t\ticon: \"GEM\",\r\n\t\t\tallowPopover: false,\r\n\t\t\tlinkedAttribute: \"linkedInsights\",\r\n\t\t\tactiveRoutes: [\"/insights\", \"/EditInsight\"],\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/opportunity\",\r\n\t\t\ttext: \"OPPORTUNITIES\",\r\n\t\t\ticon: \"OPPORTUNITY\",\r\n\t\t\tallowPopover: true,\r\n\t\t\tlinkedAttribute: \"linkedOpps\",\r\n\t\t\tactiveRoutes: [\"/opportunity\"],\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/solutions\",\r\n\t\t\ttext: \"SOLUTIONS\",\r\n\t\t\ticon: \"SOLUTION\",\r\n\t\t\tallowPopover: true,\r\n\t\t\tlinkedAttribute: \"linkedSols\",\r\n\t\t\tactiveRoutes: [\"/solutions\"],\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/cx-actions\",\r\n\t\t\ttext: \"JS_74\",\r\n\t\t\ticon: \"MENU-ACTION\",\r\n\t\t\tallowPopover: true,\r\n\t\t\tlinkedAttribute: \"linkedActions\",\r\n\t\t\tactiveRoutes: [\"/cx-actions\"],\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/projects\",\r\n\t\t\ttext: \"PROJECTS\",\r\n\t\t\ticon: \"PROJECT\",\r\n\t\t\tallowPopover: true,\r\n\t\t\tlinkedAttribute: \"linkedProjects\",\r\n\t\t\tactiveRoutes: [\"/projects\", \"/EditProject\"],\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\treadOnlyMode: true,\r\n\t\t},\r\n\t],\r\n\tfooter: [\r\n\t\t{\r\n\t\t\troute: \"/trash\",\r\n\t\t\ttext: \"DISABLED_RECORDS\",\r\n\t\t\ticon: \"SIDEBAR_TRASH\",\r\n\t\t\tallowPopover: false,\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/organization\",\r\n\t\t\ttext: \"ASPX_207\",\r\n\t\t\ticon: \"SETTINGS\",\r\n\t\t\tallowPopover: false,\r\n\t\t\ticoncolor: \"#262626\",\r\n\t\t\taccess: [\"Standard\", \"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"],\r\n\t\t},\r\n\t],\r\n};\r\nexport const publicRoutes = [\"login-page\", \"authenticate\", \"login\", \"logout\", \"invalid-url\", \"authenticationError\"];\r\nexport const existingRoutes = [\r\n\t\"journey-map\",\r\n\t\"home\",\r\n\t\"EditMap\",\r\n\t\"sample-data\",\r\n\t\"personas\",\r\n\t\"folders\",\r\n\t\"map-hierarchy\",\r\n\t\"trash\",\r\n\t\"templates\",\r\n\t\"archive\",\r\n\t\"cx-actions\",\r\n\t\"organization\",\r\n\t\"users\",\r\n\t\"edit-user\",\r\n\t\"teams\",\r\n\t\"transfer-ownership\",\r\n\t\"configuration\",\r\n\t\"libraries\",\r\n\t\"library-touchpoints\",\r\n\t\"library-stickers\",\r\n\t\"library-custom\",\r\n\t\"library-brandvalues\",\r\n\t\"library-measures\",\r\n\t\"customizations\",\r\n\t\"integration\",\r\n\t\"edit-integration\",\r\n\t\"edit-workspace\",\r\n\t\"taxonomy\",\r\n\t\"taxonomy-status\",\r\n\t\"taxonomy-priority\",\r\n\t\"taxonomy-tag\",\r\n\t\"taxonomy-group\",\r\n\t\"taxonomy-insight-type\",\r\n\t\"workspaces\",\r\n\t\"search\",\r\n\t\"EditPersona\",\r\n\t\"EditCxProgram\",\r\n\t\"EditProject\",\r\n\t\"edit-cx-assessment\",\r\n\t\"map-creation\",\r\n\t\"persona-creation\",\r\n\t\"cx-program\",\r\n\t\"opportunity\",\r\n\t\"solutions\",\r\n\t\"projects\",\r\n\t\"insights\",\r\n\t\"analytics\",\r\n\t\"edit-persona-pending\",\r\n\t\"map-creation-loading\",\r\n];\r\n\r\nexport const allRoutesCombines = [...allRoutes.top, ...allRoutes.footer, ...inactiveTrashRoutes, ...settingsfooterRoutes];\r\n","import React from \"react\";\r\nimport { FlexAlignCenter, FlexAlignJustifyCenter, FlexBetweenAlignCenter, GenericButton } from \"shared/ui-basics/index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Label } from \"reactstrap\";\r\nimport { setSelectedIdTable } from \"features/grid-table/reducer/TableSlice\";\r\n\r\nexport function BulkActionsGenerator({ actions, setSelected, warningText }) {\r\n\tconst { t } = useTranslation();\r\n\tconst selectedIds = useSelector((state) => state.ui.table.selectedIds);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{actions?.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{selectedIds?.length}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{actions?.map((action, index) => {\r\n\t\t\t\t\t\t\tif (action?.renderCustomComponent) {\r\n\t\t\t\t\t\t\t\treturn
{action?.renderCustomComponent()}
;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t(action.description)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsetSelectedIdTable();\r\n\t\t\t\t\t\t\t\t\tsetSelected(null);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t{t(warningText)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\nconst DivWrapper = styled.div`\r\n\tborder-left: 1px solid #c4c4c4;\r\n`;\r\nconst NumberWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tmin-width: 23px;\r\n\theight: 26px;\r\n\tbackground: #f96209;\r\n\tcolor: white;\r\n\tborder-radius: 4px;\r\n\r\n`;\r\n\r\nconst Text = styled.div``;\r\n","import { linkGroups, unlinkGroups } from \"@redux/index\";\r\nimport { useState } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Button, IconDispatcher } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport GroupDropdown from \"./GroupDropdown\";\r\n\r\n\r\nexport const BulkUpdateGroups = ({recordIds, recordType}) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [show, setShow] = useState(false);\r\n\tconst [selected, setSelected] = useState({ groups: [] });\r\n\r\n\tconst handleToggle = (isOpen) => {\r\n\t\tsetShow(isOpen);\r\n\t};\r\n\r\n\tconst handleLink = (id) => {\r\n\t\tlinkGroups({ groupIds: [id], recordIds, recordType });\r\n\t\tsetSelected({ groups: [...(selected?.groups || []), id] });\r\n\t};\r\n\r\n\tconst handleUnLink = (id) => {\r\n\t\tunlinkGroups({ groupIds: [id], recordIds, recordType });\r\n\t\tsetSelected({ groups: selected.groups?.filter((id) => id !== id) });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"SHAPES\")}
\r\n\t\t\t\t\t
{t(\"GROUP\")}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nBulkUpdateGroups.displayName = \"BulkUpdateGroups\";\r\n\r\nconst DropDownContainer = styled(Dropdown)`\r\n\t.dropdown-toggle::after {\r\n\t\tdisplay: none;\r\n\t}\r\n\t.dropdown-menu {\r\n\t\tpadding: 0px;\r\n\t\tmargin: 0px;\r\n\t}\r\n`;\r\n\r\nconst MenuContainer = styled(Dropdown.Menu)`\r\n\twidth: 392px;\r\n\theight: 292px;\r\n\ttransform: translate3d(0px, -54px, 0px) !important;\r\n`;\r\nconst ActionContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tfont-size: 14px;\r\n\r\n`;\r\n","import { linkTags, unlinkTags } from \"@redux/index\";\r\nimport { useState } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Button, IconDispatcher } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport TagsDropdown from \"./TagsDropdown\";\r\n\r\n\r\nexport const BulkUpdateTags = ({recordIds, recordType }) => {\r\n const { t } = useTranslation();\r\n\r\n\tconst [show, setShow] = useState(false);\r\n\tconst [selected, setSelected] = useState({ tags: [] });\r\n\r\n\tconst handleToggle = (isOpen) => {\r\n\t\tsetShow(isOpen);\r\n\t};\r\n\r\n\tconst handleLink = (id) => {\r\n\t\tlinkTags({ tagIds: [id], recordIds, recordType });\r\n\t\tsetSelected({ tags: [...(selected?.tags || []), id] });\r\n\t};\r\n\r\n\tconst handleUnLink = (id) => {\r\n\t\tunlinkTags({ tagIds: [id], recordIds, recordType });\r\n\t\tsetSelected({ tags: selected.tags?.filter((id) => id !== id) });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"TAG\")}
\r\n\t\t\t\t\t
{t(\"TAG\")}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nBulkUpdateTags.displayName = \"BulkUpdateTags\";\r\n\r\nconst DropDownContainer = styled(Dropdown)`\r\n\t.dropdown-toggle::after {\r\n\t\tdisplay: none;\r\n\t}\r\n\t.dropdown-menu {\r\n\t\tpadding: 0px;\r\n\t\tmargin: 0px;\r\n\t}\r\n`;\r\n\r\nconst MenuContainer = styled(Dropdown.Menu)`\r\n\twidth: 392px;\r\n\theight: 292px;\r\n\ttransform: translate3d(0px, -54px, 0px) !important;\r\n`;\r\nconst ActionContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tfont-size: 14px;\r\n`;\r\n","import { filterMapsByUserRole } from \"@utils/helpers\";\r\nimport { archiveManyMaps, deleteManyMaps, deletePermanentlyManyMaps, restoreManyMaps } from \"features/journey-map/reducer/CJMActions\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { BulkActionsGenerator } from \"shared/components/BulkActionsGenerator\";\r\nimport { BulkUpdateGroups } from \"shared/dropdowns/library-dropdown/group/bulk-update-groups\";\r\nimport { BulkUpdateTags } from \"shared/dropdowns/library-dropdown/tags/bulk-update-tags\";\r\nimport BulkModalLinkComponent from \"shared/modals/bulk-links/BulkModalLinkComponent\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport GenericManageAccess from \"shared/modals/manage-access/GenericManageAccess\";\r\nimport { useModal } from \"use-modal-hook\";\r\nexport const BulkActions = (selectedMaps, setSelected, onSuccess, setDisableBulkActions) => {\r\n\tconst pathname = useLocation().pathname;\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\tconst isTemplate = pathname === \"/templates\";\r\n\tconst actions = [];\r\n\r\n\tconst currentUserId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst selectedItemsIdsStr = selectedMaps.map((item) => item?.cjmId).join(\"|\");\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n\tconst someIdAreSample = selectedMaps.some((map) => map.isSample);\r\n\tconst isManageAccessAllowed = !isTemplate && isSubscriptionAllowed;\r\n\tconst filteredItemsIdsStr = filterMapsByUserRole({ selectedMaps, currentUserId, isSubscriptionStandard: !isSubscriptionAllowed });\r\n\r\n\tconst filteredItemsByOwnersAndContrib = filterMapsByUserRole({\r\n\t\tselectedMaps,\r\n\t\tcurrentUserId,\r\n\t\tisSubscriptionStandard: !isSubscriptionAllowed,\r\n\t\tuserRoles: [\"owner\", \"contributor\"],\r\n\t});\r\n\r\n\tconst areAllActionsValid = selectedItemsIdsStr.length === filteredItemsIdsStr.length;\r\n\r\n\tconst [showAccessModal] = useModal(GenericManageAccess);\r\n\tconst manageAccessMany = () => showAccessModal({ ids: filteredItemsIdsStr, bulk: true, onSuccess });\r\n\r\n\tconst [showModalArchivePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"ARCHIVE_MANY\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tarchiveManyMaps({ids: filteredItemsIdsStr, displayToast : areAllActionsValid ? \"BULK_ARCHIVE_SUCCESS\" : \"BULK_ARCHIVE_PARTIAL\", onSuccess});\r\n\t\t},\r\n\t\tactionBtnText: \"ARCHIVE\",\r\n\t});\r\n\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManyMaps({ids: filteredItemsIdsStr, displayToast : areAllActionsValid ? \"BULK_DELETE_SUCCESS\" : \"BULK_DELETE_PARTIAL\", onSuccess});\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showModalDeletePermanentPopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_PERMANENT\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeletePermanentlyManyMaps({ids:filteredItemsIdsStr, displayToast :areAllActionsValid ? \"BULK_DELETE_SUCCESS\" : \"BULK_DELETE_PARTIAL\", onSuccess});\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n const [showBulkModalLinkComponent] = useModal(BulkModalLinkComponent);\r\n \r\n\tif (isTrash || isArchive) {\r\n\t\tif (filteredItemsIdsStr) actions.push({ handleClick: () => restoreManyMaps({ids:filteredItemsIdsStr, onSuccess}), icon: \"RESTORE\", description: \"JS_96\" });\r\n\t\tif (filteredItemsIdsStr) actions.push({ handleClick: isArchive ? showModalDeletePopup : showModalDeletePermanentPopup, icon: \"DELETE\", description: isArchive ? \"ASPX_13\" : \"JS_97\" });\r\n\t} else {\r\n\t\tif (filteredItemsIdsStr) {\r\n\t\t\tif (!isTemplate) actions.push({ handleClick: () => showBulkModalLinkComponent({ componentName: \"folder\", idAttribute: \"cjmId\" }), icon: \"FOLDER-OPEN\", description: \"MOVE_TO_FOLDER\" });\r\n\t\t\tif (isSubscriptionAllowed && !someIdAreSample) actions.push({ handleClick: showModalArchivePopup, icon: \"ARCHIVE\", description: \"ARCHIVE\" });\r\n\t\t\tactions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", description: \"ASPX_13\" });\r\n\t\t\tif (isManageAccessAllowed) actions.push({ handleClick: manageAccessMany, icon: \"ACCESS\", description: \"ASPX_17\" });\r\n\t\t}\r\n\t\tif (filteredItemsByOwnersAndContrib) {\r\n\t\t\tactions.push({\r\n\t\t\t\trenderCustomComponent: () => ,\r\n\t\t\t});\r\n\t\t\tactions.push({\r\n\t\t\t\trenderCustomComponent: () => ,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n","import { Translation } from \"react-i18next\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { type } from \"jquery\";\r\nimport { unlinkRecords } from \"@redux/index\";\r\n\r\nexport const ActionLink = (options, entityName, entityId) => {\r\n\tlet id;\r\n\tlet unLinkMessage = \"UNLINK\";\r\n\tconst isJourneyMapUpdate = entityName === \"cem_customerjourney\";\r\n\tswitch (entityName) {\r\n\t\tcase \"cem_customerjourney\":\r\n\t\t\tid = options?.cjmId;\r\n\t\t\tunLinkMessage = \"UNLINK_MAP\";\r\n\r\n\t\t\tbreak;\r\n\t\tcase \"cem_persona\":\r\n\t\t\tid = options?.personaId;\r\n\t\t\tunLinkMessage = \"UNLINK_PERSONA\";\r\n\t\t\tbreak;\r\n\t\tcase \"cem_cxopportunity\":\r\n\t\t\tid = options?.id;\r\n\t\t\tunLinkMessage = \"UNLINK_OPPORTUNITY\";\r\n\r\n\t\t\tbreak;\r\n\t\tcase \"cem_cxsolution\":\r\n\t\t\tid = options?.id;\r\n\t\t\tunLinkMessage = \"UNLINK_SOLUTION\";\r\n\t\t\tbreak;\r\n\t\tcase \"cem_cxactiontask\":\r\n\t\t\tid = options?.id;\r\n\t\t\tunLinkMessage = \"UNLINK_CXACTION\";\r\n\r\n\t\t\tbreak;\r\n\t\tcase \"cem_cxproject\":\r\n\t\t\tid = options?.id;\r\n\t\t\tunLinkMessage = \"UNLINK_PROJECT\";\r\n\t\t\tbreak;\r\n\r\n\t\tdefault:\r\n\t}\r\n\r\n\tconst unlink = (bool = false) => {\r\n\t\tconst isBool = typeof bool === \"boolean\" ? bool : false;\r\n\t\tunlinkRecords({ cxProgramId: entityId, entityName, ids: [id], unlinkRelated: isBool });\r\n\t};\r\n\r\n\tconst [showConfirmAssociatedObjects] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"UNLINKED_ASSOCIATED_OBJECTS\",\r\n\t\tAction: unlink,\r\n\t\tactionBtnText: \"UNLINK\",\r\n\t\tsecondBtnText: \"NO\",\r\n\t\tbeforeClose: unlink,\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{(t) => (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n","import ListLinkedModal from \"shared/modals/list-links/ListLinkedModal\";\r\nimport { getExcelExportListService, getLinkedCjmsExcelExportService, updateCjmStatus, updateStateCJM } from \"features/index\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { BulkActions } from \"features/journey-map/actions/BulkActions\";\r\nimport { EntityList, StateTypeOption, StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport { EMPTY_GUID, isFutureValidation, mapModeValidation, tableDefaultColumn } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport _ from \"lodash\";\r\nimport { useMemo } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport BaseActions from \"../../../journey-map/actions/BaseActions\";\r\nimport { ActionLink } from \"../../columns-components/All_actions/ActionLink\";\r\nimport AICreation from \"features/journey-map/modals/AI/ai-creation\";\r\n\r\nexport function GetJourneyMapContext(props) {\r\n\tconst { linked, showAllActiveRecord, setRename, disableBulkActions } = props;\r\n\tconst { pathname, search } = useLocation();\r\n\tconst cxProgramId = useLocation().search.getCxProgramID();\r\n\tconst history = useHistory();\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst folderId = search.getFolderId();\r\n\tconst maps = useSelector((state) => state.maps.all_maps).filter((map) => MapValidation(map, props.tab, pathname, showSampleData, folderId));\r\n\tconst mapData = useMemo(() => FormatMapData(maps), [maps]);\r\n\tconst linkedObjects = linked ? mapData?.filter((map) => linked?.includes(map.cjmId)) : undefined;\r\n\tconst loading = useSelector((state) => state.maps.loading);\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[EntityList.CustomerJourney]?.[specificContext]?.columns ?? tableDefaultColumn(EntityList.CustomerJourney);\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.CustomerJourney]?.[specificContext]?.filters ;\r\n\r\n\tconst goToMapCreation = () => {\r\n\t\thistory.push(`/map-creation${folderId ? `?folderId=${folderId}` : \"\"}`);\r\n\t};\r\n\tconst updateCjmType = (value, ids) => {\r\n\t\tupdateStateCJM({ id: ids, value });\r\n\t};\r\n\tconst updateStatus = (cjms, attKey) => {\r\n\t\tupdateCjmStatus({ cjmIdsStr: cjms?.map((cjm) => cjm.cjmId).join(\"|\"), newValueId: cjms?.[0]?.[attKey] });\r\n\t};\r\n\tconst [showListLinkedModal] = useModal(ListLinkedModal);\r\n\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tjourneyMap: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: columnsArray,\r\n\t\t\t\temptyListText: \"MAP_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tvisibleHeader: true,\r\n\t\t\t\tlistEditable: true,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t\tvisibleButtonCreate: !isReadOnly,\r\n\t\t\t\tdisplayView: folderId === undefined,\r\n\t\t\t\tshowOnlyLinked: folderId !== undefined || linked?.length > 0,\r\n\t\t\t\taiGeneration: true\r\n\r\n\t\t\t},\r\n\t\t\tarchived: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"name\", \"linkedPersonas\", \"lastModifiedOn\", \"isFutureLabel\", \"score\", \"actions\"],\r\n\t\t\t\temptyListText: \"MAP_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeleted: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"name\", \"linkedPersonas\", \"lastModifiedOn\", \"isFutureLabel\", \"score\", \"actions\"],\r\n\t\t\t\temptyListText: \"MAP_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\ttemplates: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"name\", \"linkedPersonas\", \"lastModifiedOn\", \"owner\", \"isFutureLabel\", \"templateStatus\", \"actions\"],\r\n\t\t\t\temptyListText: \"NO_JOURNEY_MAP_TEMPLATE_REGULAR\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tarchivedTemplates: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"name\", \"linkedPersonas\", \"lastModifiedOn\", \"owner\", \"isFutureLabel\", \"templateStatus\", \"actions\"],\r\n\t\t\t\temptyListText: \"NO_JOURNEY_MAP_TEMPLATE_REGULAR\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeletedTemplates: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"name\", \"linkedPersonas\", \"lastModifiedOn\", \"owner\", \"isFutureLabel\", \"templateStatus\", \"actions\"],\r\n\t\t\t\temptyListText: \"NO_JOURNEY_MAP_TEMPLATE_REGULAR\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tcxProgram: {\r\n\t\t\t\tshowCheckbox: false, // modals of cxProgram that link/unlink\r\n\t\t\t\tcolumns: [\"name\", \"linkedPersonas\", \"lastModifiedOn\", \"owner\", \"isFutureLabel\", \"actions\"],\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: linked?.length > 10,\r\n\t\t\t\tnonDropDown: true,\r\n\t\t\t\temptyListText: \"JOURNEY_MAP_PLACEHOLDER_PROGRAM\",\r\n\t\t\t},\r\n\t\t\teditPersona: {\r\n\t\t\t\tshowCheckbox: false,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tcolumns: [\"name\", \"linkedPersonas\", \"isFutureLabel\", \"lastModifiedOn\", \"statusId\", \"score\",\"actions\"],\r\n\t\t\t\temptyListText: \"NO_MAP_TO_DISPLAY\",\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\temptyListSmall: \"true\",\r\n\t\t\t\tshowPagination: false,\r\n\t\t\t},\r\n\t\t\tlibrary: {\r\n\t\t\t\tshowCheckbox: false,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tcolumns: [\"name\", \"stage\", \"linkedPersonas\", \"owner\"],\r\n\t\t\t\temptyListText: \"NO_MAP_TO_DISPLAY\",\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: false,\r\n\t\t\t},\r\n\t\t};\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\t\tif (isReadOnly) {\r\n\t\t\t// contextData.columns = contextData.columns.filter((col) => col !== \"select\");\r\n\t\t\t// contextData.showCheckbox = false;\r\n\t\t\tcontextData.bulkActions = false;\r\n\t\t}\r\n\t\tcontextData.Actions = (map) => CreateActionsDropdown({ actions: BaseActions({ map, setRename, personaIdStr: map.linkedPersonas[0]?.personaId || EMPTY_GUID }) ,variant:'default',dropdownClasses:\"\"});\r\n\t\tif(specificContext === 'editPersona') {\r\n\t\t\t// no need to return action but for css we return empty component\r\n\t\t\tcontextData.Actions = (map) => FakeComponent();\r\n\t\t}\r\n\t\tcontextData.bulkActionsFunction = BulkActions;\r\n\t\tcontextData.linkedObjects = linkedObjects;\r\n\t\tcontextData.listData = mapData;\r\n\t\tcontextData.dataKey = \"cjmId\";\r\n\r\n\t\tcontextData.entityType = EntityList.CustomerJourney;\r\n\t\tcontextData.reducerPath = \"maps.all_maps\";\r\n\t\tcontextData.exportExcel = getExcelExportListService;\r\n\t\tcontextData.getLinkedDataExportExcel = getLinkedCjmsExcelExportService;\r\n\t\tcontextData.loading = loading;\r\n\t\t// contextData.all_personas = all_personas;\r\n\t\tcontextData.buttonCreateLabel = \"ASPX_124\";\r\n\t\tcontextData.buttonCreate = goToMapCreation;\r\n\t\tcontextData.filter = filters;\r\n\t\tcontextData.onChangeStatus = contextData?.listEditable ? updateStatus : null;\r\n\t\tcontextData.onChangeState = contextData?.listEditable ? updateCjmType : null;\r\n\t\tcontextData.readonly = isReadOnly;\r\n\t\tif(contextData.aiGeneration) {\r\n\t\t\tcontextData.aiModal = AICreation;\r\n\t\t}\r\n\r\n\t\tif (specificContext === \"library\") {\r\n\t\t\tcontextData.linkedObjects = linked; // in this case we recieved straights the entire object and not just the id because of stageName that is specific recieved from the server\r\n\t\t}\r\n\t\tif (specificContext === \"cxProgram\") {\r\n\t\t\tcontextData.Actions = props?.disableAction ? () => {} : (options) => ActionLink(options, \"cem_customerjourney\", cxProgramId);\r\n\t\t}\r\n\r\n\t\tif (folderId) {\r\n\t\t\tcontextData.showLinkFolderButton = true;\r\n\t\t\tcontextData.LinkFolderAction = () => showListLinkedModal({ folderId: folderId, linked: linked, entityType: EntityList.CustomerJourney, saveButtonLabel: \"ASPX_44\" });\r\n\t\t\tcontextData.LinkActionLabel = \"ASPX_164\";\r\n\t\t\tcontextData.displayExport = false;\r\n\t\t}\r\n\t\treturn contextData;\r\n\t}, [isReadOnly, linked, linkedObjects, mapData, columnsArray, loading, disableBulkActions, showAllActiveRecord, folderId, setRename, cxProgramId, filters]);\r\n\treturn data;\r\n}\r\n\r\nconst FormatMapData = (maps) => {\r\n\treturn maps?.map((map) => {\r\n\t\tconst newDate = new Date(map.lastModifiedOn);\r\n\t\tconst linkedPersonas = map?.linkedPersonas?.map((persona) => {\r\n\t\t\treturn persona.personaId;\r\n\t\t});\r\n\t\treturn {\r\n\t\t\t...map,\r\n\t\t\tlastModifiedOn: newDate,\r\n\t\t\tconcatPersona: linkedPersonas?.join(\"|\"),\r\n\t\t\tmapType: t(mapModeValidation(map?.mapMode)),\r\n\t\t\tisFutureLabel: t(isFutureValidation(map?.isFuture)),\r\n\t\t\tisFutureValue: map?.isFuture ? StateTypeOption.FutureState : StateTypeOption.CurrentState,\r\n\t\t\tgroupIds: map?.groups || [],\r\n\t\t\ttagIds: map?.tags || [],\r\n\t\t\tstatusId: map?.cxStatus || EMPTY_GUID,\r\n\t\t};\r\n\t});\r\n};\r\nexport const MapValidation = (map, tab, pathname, showSampleData, folderId) => {\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\tconst isTemplate = pathname === \"/templates\" || tab === \"template\";\r\n\tconst isCJM = pathname === \"/journey-map\";\r\n\tconst cxProgram = pathname === \"/EditCxProgram\";\r\n\tconst isActive = pathname === tab;\r\n\r\n\tif (map?.statusCode === StatusCode.Revised) return false;\r\n\r\n\tif (cxProgram) {\r\n\t\tif (showSampleData) {\r\n\t\t\treturn map.statusCode === StatusCode.Active && map.isTemplate === false ;\r\n\t\t}\r\n\t\t\treturn map.statusCode === StatusCode.Active && map.isTemplate === false && map.isSample === false;\r\n\r\n\t}\r\n\tif (isCJM || isActive) {\r\n\t\tif (showSampleData) return map.statusCode === StatusCode.Active && map.isTemplate === false ;\r\n\t\treturn map.statusCode === StatusCode.Active && map.isSample === false && map.isTemplate === false ;\r\n\t}\r\n\r\n\tif (isTrash && !isArchive) {\r\n\t\treturn tab === \"template\" ? map.statusCode === StatusCode.Trashed && map.isTemplate === true : map.statusCode === StatusCode.Trashed && map.isTemplate === false;\r\n\t}\r\n\r\n\tif (isTemplate && !isArchive) {\r\n\t\treturn map.isTemplate === true && map.statusCode === StatusCode.Active;\r\n\t}\r\n\tif (isArchive && !isTrash) {\r\n\t\treturn tab === \"template\" ? map.statusCode === StatusCode.Archived && map.isTemplate === true : map.statusCode === StatusCode.Archived && map.isTemplate === false;\r\n\t}\r\n\treturn map;\r\n};\r\n\r\nfunction FakeComponent() {\r\n\treturn null;\r\n}\r\nFakeComponent.displayName = \"FakeComponent\";","import { useState } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Button, IconDispatcher } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useSelector } from \"react-redux\";\r\nimport PersonaBadge from \"features/journey-map/cards/PersonaBadge\";\r\nimport _ from \"lodash\";\r\n\r\nexport const BulkUnlinkPersonas = ({allRecordsSelector, recordIds, handleUnlink = () => {} }) => {\r\n const { t } = useTranslation();\r\n const allRecords = useSelector((state) => _.get(state, allRecordsSelector) || [])\r\n\tconst selectedRecords = allRecords?.filter((ins) => recordIds?.includes(ins?.id));\r\n\tconst allPersonas = useSelector((state) => state.personas.all_personas);\r\n\r\n\tconst [show, setShow] = useState(false);\r\n\r\n\tconst handleToggle = (isOpen) => {\r\n\t\tsetShow(isOpen);\r\n };\r\n\r\n const getAllLinkedPersonas = () => {\r\n\t\tconst linkedPersonaIds = [];\r\n\t\tconst linkedPersonas = [];\r\n\t\tselectedRecords?.forEach((rec) => {\r\n\t\t\trec?.linkedPersonas?.forEach((linkedPersonaId) => {\r\n\t\t\t\tif (!linkedPersonaIds?.includes(linkedPersonaId)) {\r\n\t\t\t\t\tlinkedPersonaIds.push(linkedPersonaId);\r\n\t\t\t\t\tlinkedPersonas.push(allPersonas?.find((p) => p?.personaId === linkedPersonaId));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn linkedPersonas;\r\n\t};\r\n\r\n const linkedPersonas = getAllLinkedPersonas();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"user-xmark\")}
\r\n\t\t\t\t\t
{t(\"UNLINK_PERSONA\")}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{linkedPersonas?.length > 0 ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{linkedPersonas?.map((linkedPersona) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\tt(\"NO_DATA_AVAILABLE\")\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nBulkUnlinkPersonas.displayName = \"BulkUnlinkPersonas\";\r\n\r\nconst DropDownContainer = styled(Dropdown)`\r\n\t.dropdown-toggle::after {\r\n\t\tdisplay: none;\r\n\t}\r\n\t.dropdown-menu {\r\n\t\tpadding: 0px;\r\n\t\tmargin: 0px;\r\n\t}\r\n`;\r\n\r\nconst MenuContainer = styled(Dropdown.Menu)`\r\n padding: 8px !important;\r\n\twidth: 392px;\r\n\theight: fit-content;\r\n\ttransform: translate3d(0px, -54px, 0px) !important;\r\n`;\r\n\r\nconst ListContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst ActionContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tfont-size: 14px;\r\n`;\r\n","import { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { BulkActionsGenerator } from \"shared/components/BulkActionsGenerator\";\r\nimport { BulkUpdateGroups } from \"shared/dropdowns/library-dropdown/group/bulk-update-groups\";\r\nimport { BulkUpdateTags } from \"shared/dropdowns/library-dropdown/tags/bulk-update-tags\";\r\nimport BulkModalLinkComponent from \"shared/modals/bulk-links/BulkModalLinkComponent\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { getCxAttribute } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { archiveManyCxActions, bulkUnlinkCxActionRecords, deleteManyCxActions, deleteManyCxActionsPermanently, restoreManyCxActions } from \"../reducer/CxActionActions\";\r\nimport { BulkUnlinkPersonas } from \"shared/dropdowns/library-dropdown/persona/bulk-unlink-personas\";\r\n\r\nexport const BulkActions = (selectedActions, setSelected, onSuccess, setDisableBulkActions) => {\r\n\tconst pathname = useLocation().pathname;\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\r\n\tconst actions = [];\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst selectedItemsIdsStr = selectedActions.map((item) => item?.id).join(\"|\");\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n\r\n\tconst tagCxAttributes = selectedActions?.map((record) => getCxAttribute({ data: record, informationType: InformationType.Tags }));\r\n\tconst groupCxAttributes = selectedActions?.map((record) => getCxAttribute({ data: record, informationType: InformationType.Group }));\r\n\r\n\tconst [showModalArchivePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"ARCHIVE_MANY\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tarchiveManyCxActions({ ids: selectedItemsIdsStr, displayToast: \"BULK_ARCHIVE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ARCHIVE\",\r\n\t});\r\n\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManyCxActions({ ids: selectedItemsIdsStr, displayToast: \"BULK_DELETE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showModalDeletePermanentPopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_PERMANENT\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManyCxActionsPermanently({ ids: selectedItemsIdsStr, displayToast: \"BULK_DELETE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showBulkModalLinkComponent] = useModal(BulkModalLinkComponent);\r\n\r\n\tconst unlinkPersona = (personaToUnlinkId) =>\r\n\t\tbulkUnlinkCxActionRecords({ recEntityName: \"cem_persona\", recIds: [personaToUnlinkId], ids: selectedItemsIdsStr.split(\"|\"), attribute: \"linkedPersonas\" });\r\n\r\n\tif (isTrash || isArchive) {\r\n\t\tactions.push({ handleClick: () => restoreManyCxActions({ ids: selectedItemsIdsStr, onSuccess }), icon: \"RESTORE\", description: \"JS_96\" });\r\n\t\tactions.push({ handleClick: isArchive ? showModalDeletePopup : showModalDeletePermanentPopup, icon: \"DELETE\", description: isArchive ? \"ASPX_13\" : \"JS_97\" });\r\n\t} else {\r\n\t\tactions.push({ handleClick: () => showBulkModalLinkComponent({ componentName: \"folder\", idAttribute: \"id\" }), icon: \"FOLDER-OPEN\", description: \"MOVE_TO_FOLDER\" });\r\n\t\tif (isSubscriptionAllowed) actions.push({ handleClick: showModalArchivePopup, icon: \"ARCHIVE\", description: \"ARCHIVE\" });\r\n\t\tactions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", description: \"ASPX_13\" });\r\n\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => ,\r\n\t\t});\r\n\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => att?.id) || []} recordType=\"cem_cxattribute\" />,\r\n\t\t});\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => att?.id) || []} recordType=\"cem_cxattribute\" />,\r\n\t\t});\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n","import { createCxAction, updateFolderLinks, updateMultiCxActions } from \"@redux/index\";\r\nimport { getAllMapsList } from \"@redux/memoizedSelectors\";\r\nimport { FilterItemsByStatus, tableDefaultColumn } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { BulkActions } from \"features/cx-actions/actions/BulkActions\";\r\nimport EditCxAction from \"features/cx-actions/modals/cx-action\";\r\nimport { getExcelExportListServicecxAction } from \"features/cx-actions/reducer/CxActionActions\";\r\nimport _ from \"lodash\";\r\nimport { useEffect, useMemo } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport ListLinkedModal from \"shared/modals/list-links/ListLinkedModal\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { EMPTY_GUID, getCxAttribute } from \"utils/helpers\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { updateAttributeAPIMulti } from \"../../../../redux/index\";\r\nimport BaseActions from \"../../../cx-actions/actions/BaseActions\";\r\nimport { ActionLink } from \"../../columns-components/All_actions/ActionLink\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nexport const GetActionContext = (props) => {\r\n\tconst { linked, showAllActiveRecord, disableBulkActions, cjmId } = props;\r\n\tconst { pathname, search } = useLocation();\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\tconst folderId = search.getFolderId();\r\n\tconst cxactionID = search.getId();\r\n\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst all_maps = useSelector(getAllMapsList);\r\n\tconst all_actions = useSelector((state) => state.actions.all_actions);\r\n\r\n\tconst actions = useMemo(() => {\r\n\t\treturn all_actions\r\n\t\t\t?.filter((opp) => FilterItemsByStatus(opp, pathname, \"/cx-actions\", showSampleData, all_maps))\r\n\t\t\t?.filter((action) => (cjmId !== undefined ? action.linkedCjms[cjmId] !== undefined : true));\r\n\t}, [all_actions, showSampleData, all_maps]);\r\n\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\r\n\tconst linkedObjects = linked ? actions.filter((map) => linked?.includes(map.id)) : undefined;\r\n\tconst ActionsData = useMemo(() => formatActionsData(actions, all_maps), [actions, all_maps]);\r\n\tconst loading = useSelector((state) => state.actions.loading);\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[EntityList.Action]?.[specificContext]?.columns || tableDefaultColumn(EntityList.Action);\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.Action]?.[specificContext]?.filters;\r\n\tconst [showEditAction] = useModal(EditCxAction);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (cxactionID) {\r\n\t\t\tshowEditAction({ id: cxactionID });\r\n\t\t}\r\n\t}, [cxactionID]);\r\n\r\n\tconst create = ({ setIsCreateBtnDisabled }) => {\r\n\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(true);\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(false);\r\n\t\t\tif (folderId) updateFolderLinks({ folderIds: [folderId], idsToLink: [data.id], entityName: \"cem_cxactiontask\" });\r\n\t\t\tshowEditAction({ id: data.id, item: data });\r\n\t\t};\r\n\t\tconst onFailed = () => setIsCreateBtnDisabled && setIsCreateBtnDisabled(false);\r\n\t\tcreateCxAction({ item: { id: uuid(), name: \"\" }, onSuccess, onFailed, cxProgramId });\r\n\t};\r\n\r\n\tconst [showListLinkedModal] = useModal(ListLinkedModal);\r\n\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tcxActionsList: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: columnsArray,\r\n\t\t\t\temptyListText: \"ACTION_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tlistEditable: !isReadOnly,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t\tvisibleHeader: true,\r\n\t\t\t\tvisibleButtonCreate: !isReadOnly,\r\n\t\t\t\tdisplayView: folderId === undefined,\r\n\t\t\t\tshowOnlyLinked: folderId !== undefined || linked?.length > 0,\r\n\t\t\t},\r\n\t\t\tcxActionsListGroup: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"name\", \"statusId\", \"priorityId\", \"dueDateNew\", \"groupIds\", \"actions\"],\r\n\t\t\t\temptyListText: \"ACTION_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tnoColumnHeader: false,\r\n\t\t\t\tshowPagination: false,\r\n\t\t\t\tlistEditable: !isReadOnly,\r\n\t\t\t\tshowOnlyLinked: linked?.length > 0,\r\n\t\t\t},\r\n\t\t\tarchived: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"name\", \"statusId\", \"priorityId\", \"dueDateNew\", \"groupIds\", \"actions\"],\r\n\t\t\t\temptyListText: \"ACTION_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeleted: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"name\", \"statusId\", \"priorityId\", \"dueDateNew\", \"groupIds\", \"actions\"],\r\n\t\t\t\temptyListText: \"ACTION_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tcxProgram: {\r\n\t\t\t\tshowCheckbox: false, // modals of cxProgram that link/unlink\r\n\t\t\t\tcolumns: [\"name\", \"statusId\", \"priorityId\", \"dueDateNew\", \"groupIds\", \"actions\"],\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tlistEditable: !isReadOnly,\r\n\r\n\t\t\t\tshowPagination: linked?.length > 10,\r\n\t\t\t\tnonDropDown: true,\r\n\t\t\t\temptyListText: \"ACTIONS_PLACEHOLDER_PROGRAM\",\r\n\t\t\t},\r\n\t\t};\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\r\n\t\tif (isReadOnly) {\r\n\t\t\t// contextData.columns = contextData.columns.filter((col) => col !== \"actions\" && col !== \"select\");\r\n\t\t\t// contextData.showCheckbox = false;\r\n\t\t\tcontextData.bulkActions = false;\r\n\t\t}\r\n\t\tcontextData.readonly = isReadOnly;\r\n\r\n\t\tcontextData.Actions = (action) => CreateActionsDropdown({ actions: BaseActions({ action }), variant: \"default\", dropdownClasses: \"\" });\r\n\t\tcontextData.bulkActionsFunction = BulkActions;\r\n\t\tcontextData.linkedObjects = formatActionsData(linkedObjects, all_maps);\r\n\t\tcontextData.listData = ActionsData;\r\n\t\tcontextData.dataKey = \"id\";\r\n\t\tcontextData.reducerPath = \"actions.all_actions\";\r\n\t\tcontextData.route = \"edit-cxactions\";\r\n\t\tcontextData.entityType = EntityList.Action;\r\n\t\tcontextData.exportExcel = getExcelExportListServicecxAction;\r\n\t\tcontextData.loading = loading;\r\n\t\tcontextData.onChangeObject = contextData?.listEditable\r\n\t\t\t? (modifiedCxActions, modifiedAttribNames, onSuccess) => updateMultiCxActions({ modifiedCxActions, modifiedAttribNames, onSuccess })\r\n\t\t\t: null;\r\n\t\tcontextData.buttonCreate = create;\r\n\t\tcontextData.onUpdateCxAttributeMulti = ({ modifiedCxAttributes, modifiedAttribNames }) => updateAttributeAPIMulti({ modifiedCxAttributes, modifiedAttribNames });\r\n\t\tcontextData.buttonCreateLabel = \"NEW_ACTION\";\r\n\t\tcontextData.filter = filters;\r\n\r\n\t\tif (specificContext === \"cxProgram\") {\r\n\t\t\tcontextData.Actions = props?.disableAction ? () => {} : (options) => ActionLink(options, \"cem_cxactiontask\", cxProgramId);\r\n\t\t}\r\n\t\t// folder case\r\n\t\tif (folderId) {\r\n\t\t\tcontextData.showLinkFolderButton = true;\r\n\t\t\tcontextData.LinkFolderAction = () => showListLinkedModal({ folderId: folderId, linked: linked, entityType: EntityList.Action, saveButtonLabel: \"ASPX_44\" });\r\n\t\t\tcontextData.LinkActionLabel = \"LINK_UNLINK_ACTIONS\";\r\n\t\t\tcontextData.displayExport = false;\r\n\t\t}\r\n\t\treturn contextData;\r\n\t}, [isReadOnly, linked, linkedObjects, columnsArray, ActionsData, loading, disableBulkActions, showAllActiveRecord, cxProgramId, filters]);\r\n\treturn data;\r\n};\r\n\r\nconst formatActionsData = (data, allMap) => {\r\n\treturn data?.map((action) => {\r\n\t\treturn {\r\n\t\t\t...action,\r\n\t\t\tpriorityId: getCxAttribute({ data: action, informationType: InformationType.Priority })?.priorityId || EMPTY_GUID,\r\n\t\t\tstatusId: getCxAttribute({ data: action, informationType: InformationType.Status })?.statusId || EMPTY_GUID,\r\n\t\t\tuserId: getCxAttribute({ data: action, informationType: InformationType.Owner })?.userId|| EMPTY_GUID,\r\n\t\t\tgroupIds: getCxAttribute({ data: action, informationType: InformationType.Group })?.groups || [],\r\n\t\t\ttagIds: getCxAttribute({ data: action, informationType: InformationType.Tags })?.tags || [],\r\n\t\t\toccurance: allMap?.filter((obj) => obj.statusCode === StatusCode.Active && Object.keys(action?.linkedCjms).includes(obj[\"cjmId\"])).length || 0,\r\n\t\t\tcjmIds: allMap?.filter((obj) => Object.keys(action?.linkedCjms).includes(obj[\"cjmId\"]))?.map((linkCjm) => linkCjm?.cjmId) || [],\r\n\t\t\tcjmIdsStr: allMap?.filter((obj) => Object.keys(action?.linkedCjms).includes(obj[\"cjmId\"]))?.map((linkCjm) => linkCjm?.cjmId) || [],\r\n\t\t\tdueDateNew: new Date(getCxAttribute({ data: action, informationType: InformationType.DueDate })?.date || \"\"),\r\n\t\t\tlastUpdated: new Date(action?.lastUpdated),\r\n\t\t};\r\n\t});\r\n};\r\n","import { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { filterItemsByUserRole } from \"@utils/helpers\";\r\nimport GenericManageAccess from \"shared/modals/manage-access/GenericManageAccess\";\r\nimport BulkModalLinkComponent from \"shared/modals/bulk-links/BulkModalLinkComponent\";\r\nimport { BulkActionsGenerator } from \"shared/components/BulkActionsGenerator\";\r\nimport React from \"react\";\r\nimport { archiveManyCxPrograms, deleteManyCxPrograms, deleteManyCxProgramsPermanent, restoreManyCxPrograms } from \"../reducer/CxProgramActions\";\r\nimport { BulkUpdateTags } from \"shared/dropdowns/library-dropdown/tags/bulk-update-tags\";\r\n\r\nexport const BulkActions = (selectedCxPrograms, setSelected, onSuccess, setDisableBulkActions) => {\r\n\tconst pathname = useLocation().pathname;\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\tconst isTemplate = pathname === \"/templates\";\r\n\r\n\tconst actions = [];\r\n\tconst cxPrograms = useSelector((state) => state.cxProgram.all_cxPrograms);\r\n\tconst currentUserId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst selectedItemsIdsStr = selectedCxPrograms.map((item) => item?.id).join(\"|\");\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n\r\n\tconst isManageAccessAllowed = isSubscriptionAllowed;\r\n const filteredItemsIdsStr = filterItemsByUserRole({ allItems: cxPrograms, selectedItems: selectedCxPrograms, currentUserId, isSubscriptionStandard: !isSubscriptionAllowed, userRoles: [\"owner\"] });\r\n\tconst filteredItemsByOwnersAndContrib = filterItemsByUserRole({\r\n\t\tallItems: cxPrograms,\r\n\t\tselectedItems: selectedCxPrograms,\r\n\t\tcurrentUserId,\r\n\t\tisSubscriptionStandard: !isSubscriptionAllowed,\r\n\t\tuserRoles: [\"owner\", \"contributor\"],\r\n\t});\r\n\r\n\tconst areAllActionsValid = selectedItemsIdsStr.length === filteredItemsIdsStr.length;\r\n\r\n\tconst [showAccessModal] = useModal(GenericManageAccess);\r\n\tconst manageAccessMany = () => showAccessModal({ ids: filteredItemsIdsStr, bulk: true, onSuccess });\r\n\r\n\tconst [showModalArchivePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"ARCHIVE_MANY_GENERIC\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tarchiveManyCxPrograms({ ids: filteredItemsIdsStr, toast: areAllActionsValid ? \"BULK_ARCHIVE_SUCCESS\" : \"BULK_ARCHIVE_PARTIAL\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ARCHIVE\",\r\n\t});\r\n\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_GENERIC\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManyCxPrograms({ ids: filteredItemsIdsStr, toast: areAllActionsValid ? \"BULK_DELETE_SUCCESS\" : \"BULK_DELETE_PARTIAL\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showModalDeletePermanentPopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_PERMANENT_GENERIC\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManyCxProgramsPermanent({ ids: filteredItemsIdsStr, toast: areAllActionsValid ? \"BULK_DELETE_SUCCESS\" : \"BULK_DELETE_PARTIAL\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showBulkModalLinkComponent] = useModal(BulkModalLinkComponent);\r\n\r\n\tif (isTrash || isArchive) {\r\n if (filteredItemsIdsStr) actions.push({ handleClick: () => restoreManyCxPrograms({ ids: filteredItemsIdsStr, onSuccess }), icon: \"RESTORE\", description: \"JS_96\" });\r\n\t\tif (filteredItemsIdsStr) actions.push({ handleClick: isArchive ? showModalDeletePopup : showModalDeletePermanentPopup, icon: \"DELETE\", description: isArchive ? \"ASPX_13\" : \"JS_97\" });\r\n\t} else {\r\n\t\tif (filteredItemsIdsStr) {\r\n\t\t\tactions.push({ handleClick: () => showBulkModalLinkComponent({ componentName: \"folder\", idAttribute: \"id\" }), icon: \"FOLDER-OPEN\", description: \"MOVE_TO_FOLDER\" });\r\n\r\n\t\t\tif (isSubscriptionAllowed) actions.push({ handleClick: showModalArchivePopup, icon: \"ARCHIVE\", description: \"ARCHIVE\" });\r\n\t\t\tactions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", description: \"ASPX_13\" });\r\n\t\t\tif (isManageAccessAllowed && !isTemplate) actions.push({ handleClick: manageAccessMany, icon: \"ACCESS\", description: \"ASPX_17\" });\r\n\t\t}\r\n\t\tif (filteredItemsByOwnersAndContrib) {\r\n\t\t\tactions.push({\r\n\t\t\t\trenderCustomComponent: () => ,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n","/* eslint-disable no-undef */\r\nimport { createCxProgram, getCxProgramExcelExportList, getCxProgramLinkedExcelExportList, updateFolderLinks } from \"@redux/index\";\r\nimport { FilterItemsByStatus, tableDefaultColumn, toastWrapper } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { BulkActions } from \"features/forms/cx-programs/actions/BulkActions\";\r\nimport _ from \"lodash\";\r\nimport { useMemo } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport ListLinkedModal from \"shared/modals/list-links/ListLinkedModal\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport BaseActions from \"../../../forms/cx-programs/actions/BaseActions\";\r\n\r\nexport const GetProgramContext = (props) => {\r\n\tconst { linked, setRename, disableBulkActions } = props;\r\n\tconst { pathname, search } = useLocation();\r\n\tconst history = useHistory();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst folderId = search.getFolderId();\r\n\r\n\tconst cxPrograms = useSelector((state) => state.cxProgram.all_cxPrograms?.filter((cxProgram) => FilterItemsByStatus(cxProgram, pathname, \"/cx-program\", showSampleData, folderId)));\r\n\tconst cxProgramData = useMemo(() => transformcxProgramData(cxPrograms), [cxPrograms]);\r\n\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\tconst linkedObjects = linked ? cxProgramData.filter((cx) => linked?.includes(cx.id)) : undefined;\r\n\tconst loading = useSelector((state) => state.cxProgram.loading);\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[EntityList.CXProgram]?.[specificContext]?.columns || tableDefaultColumn(EntityList.CXProgram);\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.CXProgram]?.[specificContext]?.filters;\r\n\tconst [showListLinkedModal] = useModal(ListLinkedModal);\r\n\r\n\tconst createCxProgramfn = ({ setIsCreateBtnDisabled }) => {\r\n\t\tsetIsCreateBtnDisabled && setIsCreateBtnDisabled(true);\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\tsetIsCreateBtnDisabled && setIsCreateBtnDisabled(false);\r\n\t\t\tif (folderId) {\r\n\t\t\t\tupdateFolderLinks({ folderIds: [folderId], idsToLink: [data.id], entityName: \"cem_cxprogram\" });\r\n\t\t\t} else {\r\n\t\t\t\thistory.push(`/EditCxProgram?programid=${data.id}`);\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onFailed = () => setIsCreateBtnDisabled && setIsCreateBtnDisabled(false);\r\n\t\tcreateCxProgram({ name: \"\", onSuccess, onFailed });\r\n\t};\r\n\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tcxProgramList: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: columnsArray,\r\n\t\t\t\temptyListText: \"PROGRAM_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t\tvisibleHeader: true,\r\n\t\t\t\tbuttonCreate: createCxProgramfn,\r\n\t\t\t\tvisibleButtonCreate: !isReadOnly,\r\n\t\t\t\tdisplayView: folderId === undefined,\r\n\t\t\t\tshowOnlyLinked: folderId !== undefined || linked?.length > 0,\r\n\t\t\t},\r\n\t\t\tarchived: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"cxProgramName\", \"totalNumCjms\", \"totalNumPersonas\", \"totalNumOpps\", \"totalNumSols\", \"totalNumActions\", \"totalNumProjects\", \"lastUpdated\", \"actions\"],\r\n\t\t\t\temptyListText: \"PROGRAM_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeleted: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"cxProgramName\", \"totalNumCjms\", \"totalNumPersonas\", \"totalNumOpps\", \"totalNumSols\", \"totalNumActions\", \"totalNumProjects\", \"lastUpdated\", \"actions\"],\r\n\t\t\t\temptyListText: \"PROGRAM_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tlibrary: {\r\n\t\t\t\tshowCheckbox: false,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tcolumns: [\"cxProgramName\"],\r\n\t\t\t\temptyListText: \"PROGRAM_EMPTY_LIST\",\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: false,\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\r\n\t\tif (isReadOnly) {\r\n\t\t\t// contextData.columns = contextData.columns.filter((col) => col !== \"actions\" && col !== \"select\");\r\n\t\t\t// contextData.showCheckbox = false;\r\n\t\t\tcontextData.bulkActions = false;\r\n\t\t}\r\n\t\tcontextData.readonly = isReadOnly;\r\n\r\n\t\tcontextData.exportExcel = (ids, columns) => {\r\n\t\t\tconst promise = async () => {\r\n\t\t\t\tconst { data, error } = await dispatch(getCxProgramExcelExportList(ids, columns));\r\n\t\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\t\tfileDownload(data, \"CX Programs List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\t\t\tif (error) throw error;\r\n\t\t\t};\r\n\t\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t\t};\r\n\t\tcontextData.getLinkedDataExportExcel = (id, entityName) => {\r\n\t\t\tconst promise = async () => {\r\n\t\t\t\tconst { data, error } = await dispatch(getCxProgramLinkedExcelExportList({ entityName, id }));\r\n\t\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\t\tfileDownload(data, \"CX Programs List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\t\t\tif (error) throw error;\r\n\t\t\t};\r\n\t\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t\t};\r\n\t\tcontextData.Actions = (cxProgram) => CreateActionsDropdown({ actions: BaseActions({ cxProgram, setRename }), variant: \"default\", dropdownClasses: \"\" });\r\n\t\tcontextData.bulkActionsFunction = BulkActions;\r\n\t\tcontextData.linkedObjects = linkedObjects;\r\n\t\tcontextData.listData = cxProgramData;\r\n\t\tcontextData.dataKey = \"id\";\r\n\t\tcontextData.entityType = EntityList.CXProgram;\r\n\t\tcontextData.loading = loading;\r\n\r\n\t\tcontextData.buttonCreate = createCxProgramfn;\r\n\t\tcontextData.buttonCreateLabel = \"NEW_PROGRAM\";\r\n\t\tcontextData.filter = filters;\r\n\t\t// folder case\r\n\t\tif (folderId) {\r\n\t\t\tcontextData.showLinkFolderButton = true;\r\n\t\t\tcontextData.LinkFolderAction = () => showListLinkedModal({ folderId: folderId, linked: linked, entityType: EntityList.CXProgram, saveButtonLabel: \"ASPX_44\" });\r\n\t\t\tcontextData.LinkActionLabel = \"LINK_CX_PROGRAM\";\r\n\t\t\tcontextData.displayExport = false;\r\n\t\t}\r\n\r\n\t\treturn contextData;\r\n\t}, [isReadOnly, linked, linkedObjects, cxProgramData, loading, disableBulkActions, setRename, filters]);\r\n\treturn data;\r\n};\r\n\r\nconst transformcxProgramData = (cxPrograms) => {\r\n\treturn cxPrograms.map((cx) => {\r\n\t\tconst newDate = new Date(cx.lastModifiedOn);\r\n\r\n\t\treturn {\r\n\t\t\t...cx,\r\n\t\t\ttotalNumActions: cx?.linkedActions?.length,\r\n\t\t\ttotalNumOpps: cx?.linkedOpps?.length,\r\n\t\t\ttotalNumSols: cx?.linkedSols?.length,\r\n\t\t\ttotalNumCjms: cx?.linkedCjms?.length,\r\n\t\t\ttotalNumPersonas: cx?.linkedPersonas?.length,\r\n\t\t\ttotalNumProjects: cx?.linkedProjects?.length,\r\n\t\t\ttagIds: cx?.tags || [],\r\n\t\t\tlastModifiedOn: newDate,\r\n\t\t};\r\n\t});\r\n};\r\n","import { filterPersonasByLinkedMaps, filterPersonasByUserRole } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { BulkActionsGenerator } from \"shared/components/BulkActionsGenerator\";\r\nimport BulkModalLinkComponent from \"shared/modals/bulk-links/BulkModalLinkComponent\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport GenericManageAccess from \"shared/modals/manage-access/GenericManageAccess\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { archiveManyPersonas, deleteManyPersonas, deletePermanentlyManyPersonas, restoreManyPersonas } from \"../reducer/PersonaActions\";\r\nimport { BulkUpdateTags } from \"shared/dropdowns/library-dropdown/tags/bulk-update-tags\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const BulkActions = (selectedPersonas, setSelected, onSuccess, setDisableBulkActions) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst pathname = useLocation().pathname;\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\tconst isTemplate = pathname === \"/templates\";\r\n\tconst actions = [];\r\n\r\n\tconst allMaps = useSelector((state) => state.maps.all_maps);\r\n\tconst currentUserId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst selectedItemsIdsStr = selectedPersonas.map((item) => item?.personaId).join(\"|\");\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n\r\n\tconst filteredItemsIdsStr = filterPersonasByLinkedMaps({ allMaps, selectedPersonas, currentUserId, isSubscriptionStandard: !isSubscriptionAllowed });\r\n\r\n\tconst filteredItemsByOwnersAndContrib = filterPersonasByUserRole({ selectedPersonas, currentUserId, userRoles: [\"owner\", \"contributor\"] });\r\n\r\n\t// For Manage access : Filter personas based on user role only\r\n\tconst filteredItemsByRoleIdsStr = filterPersonasByUserRole({ selectedPersonas, currentUserId, userRoles: [\"owner\"] });\r\n\r\n\tconst areAllActionsValid = selectedItemsIdsStr.length === filteredItemsIdsStr.length;\r\n\r\n\tconst [showAccessModal] = useModal(GenericManageAccess);\r\n\tconst manageAccessMany = () => showAccessModal({ ids: filteredItemsByRoleIdsStr, bulk: true, onSuccess });\r\n\r\n\tconst [showModalArchivePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"ARCHIVE_MANY_PERSONAS\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tarchiveManyPersonas({ ids: filteredItemsIdsStr, displayToast: areAllActionsValid ? \"BULK_ARCHIVE_SUCCESS\" : \"BULK_ARCHIVE_PARTIAL\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ARCHIVE\",\r\n\t});\r\n\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_PERSONAS\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManyPersonas({ ids: filteredItemsIdsStr, displayToast: areAllActionsValid ? \"BULK_DELETE_SUCCESS\" : \"BULK_DELETE_PARTIAL\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showModalDeletePermanentPopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_PERMANENT_PERSONAS\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeletePermanentlyManyPersonas({ ids: filteredItemsIdsStr, displayToast: areAllActionsValid ? \"BULK_DELETE_SUCCESS\" : \"BULK_DELETE_PARTIAL\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showBulkModalLinkComponent] = useModal(BulkModalLinkComponent);\r\n\r\n\tif (isTrash || isArchive) {\r\n\t\tif (filteredItemsIdsStr) actions.push({ handleClick: () => restoreManyPersonas({ ids: filteredItemsIdsStr, onSuccess }), icon: \"RESTORE\", description: \"JS_96\" });\r\n\t\tif (filteredItemsIdsStr) actions.push({ handleClick: isArchive ? showModalDeletePopup : showModalDeletePermanentPopup, icon: \"DELETE\", description: isArchive ? \"ASPX_13\" : \"JS_97\" });\r\n\t} else {\r\n\t\tif (filteredItemsByOwnersAndContrib && !isTemplate) {\r\n\t\t\tactions.push({ handleClick: () => showBulkModalLinkComponent({ componentName: \"folder\", idAttribute: \"personaId\" }), icon: \"FOLDER-OPEN\", description: \"MOVE_TO_FOLDER\" });\r\n\t\t}\r\n\t\tif (filteredItemsIdsStr) {\r\n\t\t\tif (isSubscriptionAllowed) actions.push({ handleClick: showModalArchivePopup, icon: \"ARCHIVE\", description: \"ARCHIVE\" });\r\n\t\t\tactions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", description: \"ASPX_13\" });\r\n\t\t}\r\n\t\tif (filteredItemsByRoleIdsStr && !isTemplate && isSubscriptionAllowed) actions.push({ handleClick: manageAccessMany, icon: \"ACCESS\", description: \"ASPX_17\" });\r\n\t\tif (filteredItemsByOwnersAndContrib) {\r\n\t\t\tactions.push({\r\n\t\t\t\trenderCustomComponent: () => ,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n","import { updatePersonaLinksWithPersonas } from \"@redux/index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\n\r\nconst ActionLinkPersona = (persona, linkedPersonas, personaCurrentId) => {\r\n const { t } = useTranslation()\r\n\r\n const { personaId } = persona\r\n\r\n const unlinkPersona = (e) => {\r\n updatePersonaLinksWithPersonas({personaIdsToLink:linkedPersonas?.filter(x => x !== personaId).join(\"|\"), personaIdsToUnlink:personaId,personaIdStr:personaCurrentId});\r\n }\r\n return
\r\n \r\n
\r\n}\r\nexport default ActionLinkPersona","/* eslint-disable no-undef */\r\nimport { getExcelExportPersona, getLinkedExcelExportPersona, updatePersonaType } from \"@redux/index\";\r\nimport { getRelevantPersonas } from \"@redux/memoizedSelectors\";\r\nimport { GetActiveCJM, tableDefaultColumn, toastWrapper } from \"@utils/helpers\";\r\nimport { EntityList, StateTypeOption, StatusCode, TemplateStatus } from \"@utils/optionsSets/OptionSets\";\r\nimport { BulkActions } from \"features/forms/personas/actions/BulkActions\";\r\nimport _ from \"lodash\";\r\nimport { useMemo } from \"react\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport ListLinkedModal from \"shared/modals/list-links/ListLinkedModal\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport BaseActions from \"../../../forms/personas/actions/BaseActions\";\r\nimport { ActionLink } from \"../../columns-components/All_actions/ActionLink\";\r\nimport ActionLinkPersona from \"../../columns-components/All_actions/ActionLinkPersona\";\r\nimport { PromptAICreation } from \"shared/modals\";\r\n\r\nexport const GetPersonaContext = (props) => {\r\n\tconst loading = useSelector((state) => state.personas.loading);\r\n\tconst { linked, showAllActiveRecord, setRename, disableBulkActions, tab } = props;\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\r\n\tconst { pathname, search } = useLocation();\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\tconst hideForPdf = search.hideForPdf();\r\n\tconst personaIdOnPage = search.getPersonaId();\r\n\tconst folderId = search.getFolderId();\r\n\tconst history = useHistory();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData, shallowEqual);\r\n\tconst personas = useSelector((state) => state.personas.all_personas);\r\n\tconst tags = useSelector((state) => state.libraries.tags);\r\n\tconst all_maps = useSelector((state) => state.maps.all_maps);\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[EntityList.Persona]?.[specificContext]?.columns || tableDefaultColumn(EntityList.Persona);\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.Persona]?.[specificContext]?.filters;\r\n\tconst personaId = useSelector((state) => state.personas.current_persona?.personaId, shallowEqual);\r\n\tconst personasLinkCJMIds = useSelector(getRelevantPersonas)?.map((persona) => persona?.personaId);\r\n\r\n\tconst PersonasData = useMemo(() => {\r\n\t\tconst relevantPersonas = personas?.filter((persona) => PersonaValidation(persona, pathname, tab, showSampleData, folderId));\r\n\t\treturn transformPersonaData(relevantPersonas, all_maps, tags);\r\n\t}, [pathname, tab, showSampleData, personas, all_maps, tags, folderId]);\r\n\r\n\tconst goToPersonaCreation = () => {\r\n\t\thistory.push(`/persona-creation${folderId ? `?folderId=${folderId}` : \"\"}`);\r\n\t};\r\n\tconst updatePersonaTypes = (value, ids) => {\r\n\t\tupdatePersonaType({ newValue: value, personaIds: ids });\r\n\t};\r\n\tconst getExcelExportListPersona = (ids, columnView) => {\r\n\t\tconst promise = async () => {\r\n\t\t\tconst { data, error } = await dispatch(getExcelExportPersona(ids, columnView));\r\n\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\tfileDownload(data, \"Personas List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\t\tif (error) throw error;\r\n\t\t};\r\n\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t};\r\n\tconst getLinkedExcelExportPersonaFn = (ids) => {\r\n\t\tconst promise = async () => {\r\n\t\t\tconst { data, error } = await dispatch(getLinkedExcelExportPersona(ids));\r\n\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\tfileDownload(data, \"Personas List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\t\tif (error) throw error;\r\n\t\t};\r\n\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t};\r\n\r\n\tconst [showListLinkedModal] = useModal(ListLinkedModal);\r\n\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tpersonasList: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: columnsArray,\r\n\t\t\t\temptyListText: \"PERSONA_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tvisibleHeader: true,\r\n\t\t\t\tstateEditable: true,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t\tvisibleButtonCreate: !isReadOnly,\r\n\t\t\t\tdisplayView: folderId === undefined,\r\n\t\t\t\tshowOnlyLinked: folderId !== undefined,\r\n\t\t\t\taiGeneration: true\r\n\t\t\t},\r\n\t\t\tarchived: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"personaName\", \"lastModifiedOn\", \"cjmCount\", \"tagIds\", \"actions\"],\r\n\t\t\t\temptyListText: \"PERSONA_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tarchivedTemplate: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"personaName\", \"lastModifiedOn\", \"cjmCount\", \"tagIds\", \"actions\"],\r\n\t\t\t\temptyListText: \"NO_PERSONA_TEMPLATE_REGULAR\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeleted: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"personaName\", \"lastModifiedOn\", \"cjmCount\", \"tagIds\", \"actions\"],\r\n\t\t\t\temptyListText: \"PERSONA_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeletedTemplate: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"personaName\", \"lastModifiedOn\", \"cjmCount\", \"tagIds\", \"actions\"],\r\n\t\t\t\temptyListText: \"NO_PERSONA_TEMPLATE_REGULAR\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\ttemplates: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"personaName\", \"lastModifiedOn\", \"cjmCount\", \"tagIds\", \"templateStatus\", \"isLocked\", \"actions\"],\r\n\t\t\t\temptyListText: \"NO_PERSONA_TEMPLATE_REGULAR\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\teditPersona: {\r\n\t\t\t\tshowCheckbox: false,\r\n\t\t\t\tcolumns: [\"personaName\", \"occupation\", \"isFutureLabel\", \"cjmCount\", \"lastModifiedOn\", \"actions\"],\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\temptyListText: \"NO_PERSONAS\",\r\n\t\t\t},\r\n\t\t\tcxProgram: {\r\n\t\t\t\tshowCheckbox: false, // modals of cxProgram that link/unlink\r\n\t\t\t\tcolumns: [\"personaName\", \"occupation\", \"isFutureLabel\", \"cjmCount\", \"lastModifiedOn\", \"actions\"],\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: linked?.length > 10,\r\n\t\t\t\tnonDropDown: true,\r\n\t\t\t\temptyListText: \"PERSONA_PLACEHOLDER_PROGRAM\",\r\n\t\t\t},\r\n\t\t\tlibrary: {\r\n\t\t\t\tshowCheckbox: false,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tcolumns: [\"personaName\", \"occupation\", \"authorizedUsers\"],\r\n\t\t\t\temptyListText: \"PERSONA_EMPTY_LIST\",\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: false,\r\n\t\t\t},\r\n\t\t\tmanagePersonas: {\r\n\t\t\t\tshowRadioButton: true,\r\n\t\t\t\tshowCheckbox: false,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tcolumns: [\"select\", \"personaName\", \"occupation\", \"historicalData\"],\r\n\t\t\t\temptyListText: \"PERSONA_EMPTY_LIST\",\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: false,\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\t\tconst linkedObjects = linked ? PersonasData.filter((map) => linked?.includes(map.personaId)) : undefined;\r\n\t\tif (isReadOnly) {\r\n\t\t\t// contextData.columns = contextData.columns.filter((col) => col !== \"actions\" && col !== \"select\");\r\n\t\t\t// contextData.showCheckbox = false;\r\n\t\t\tcontextData.bulkActions = false;\r\n\t\t}\r\n\t\tcontextData.readonly = isReadOnly;\r\n\r\n\t\tcontextData.Actions = (persona) => CreateActionsDropdown({ id: persona.personaId,actions: BaseActions({ persona, setRename }), variant: \"default\", dropdownClasses: \"\" });\r\n\t\tcontextData.bulkActionsFunction = BulkActions;\r\n\t\tcontextData.linkedObjects = linkedObjects;\r\n\t\tcontextData.listData = PersonasData;\r\n\t\tcontextData.tags = tags;\r\n\t\tcontextData.dataKey = \"personaId\";\r\n\t\tcontextData.reducerPath = \"personas.all_personas\";\r\n\t\tcontextData.entityType = EntityList.Persona;\r\n\t\tcontextData.exportExcel = getExcelExportListPersona;\r\n\t\tcontextData.getLinkedDataExportExcel = getLinkedExcelExportPersonaFn;\r\n\t\tcontextData.loading = loading;\r\n\t\tcontextData.buttonCreate = goToPersonaCreation;\r\n\t\tcontextData.buttonCreateLabel = \"JS_81\";\r\n\t\tcontextData.onChangeState = contextData?.stateEditable ? updatePersonaTypes : null;\r\n\t\tcontextData.filter = filters;\r\n\t\tif(contextData.aiGeneration) {\r\n\t\t\tcontextData.aiModal = PromptAICreation;\r\n\t\t}\r\n\r\n\t\tif (specificContext === \"editPersona\") {\r\n\t\t\tcontextData.listData = PersonasData?.filter((persona) => persona.personaId !== personaIdOnPage) || [];\r\n\t\t\tcontextData.Actions = (options) => !hideForPdf && ActionLinkPersona(options, linked, personaId);\r\n\t\t}\r\n\t\tif (specificContext === \"cxProgram\") {\r\n\t\t\tcontextData.Actions = props?.disableAction ? () => { } : (options) => ActionLink(options, \"cem_persona\", cxProgramId);\r\n\t\t}\r\n\t\tif (specificContext === \"managePersonas\") {\r\n\t\t\tcontextData.listData = PersonasData?.filter((persona) => !personasLinkCJMIds?.includes(persona?.personaId)) || [];\r\n\t\t}\r\n\t\tif (folderId) {\r\n\t\t\tcontextData.showLinkFolderButton = true;\r\n\t\t\tcontextData.LinkFolderAction = () => showListLinkedModal({ folderId: folderId, linked: linked, entityType: EntityList.Persona, saveButtonLabel: 'ASPX_44' });\r\n\t\t\tcontextData.LinkActionLabel = \"LINK_UNLINK_PERSONAS\";\r\n\t\t\tcontextData.displayExport = false;\r\n\t\t}\r\n\t\treturn contextData;\r\n\t}, [isReadOnly, linked, PersonasData, columnsArray, loading, disableBulkActions, showAllActiveRecord, setRename, cxProgramId, filters]);\r\n\r\n\treturn data;\r\n};\r\n\r\nconst transformPersonaData = (personas, all_maps) => {\r\n\treturn personas?.map((persona) => {\r\n\t\tconst newDate = new Date(persona.lastModifiedOn);\r\n\t\tconst linkedJourneyMapActive = GetActiveCJM(persona.linkedCjms, all_maps);\r\n\t\treturn {\r\n\t\t\t...persona,\r\n\t\t\tid: persona.personaId,\r\n\t\t\tlastModifiedOn: newDate,\r\n\t\t\tcjmCount: linkedJourneyMapActive?.length || 0,\r\n\t\t\tchecked: true,\r\n\t\t\ttagIds: persona?.tags || [],\r\n\t\t\tisFutureValue: persona?.isFuture ? StateTypeOption.FutureState : StateTypeOption.CurrentState,\r\n\t\t};\r\n\t});\r\n};\r\n\r\n\r\nexport const PersonaValidation = (persona, pathname, tab, showSampleData, folderId) => {\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\tconst isPersonas = [\"/personas\", \"/EditPersona\", \"/EditMap\"].includes(pathname);\r\n\tconst InCxProgram = pathname === \"/EditCxProgram\";\r\n\tconst isTemplate = pathname === \"/templates\";\r\n\tconst isNotCemanticaTemplate = persona.templateStatus !== TemplateStatus.cemantica;\r\n\tlet res = \"\";\r\n\tif (InCxProgram || isPersonas) {\r\n\t\tif (showSampleData) {\r\n\t\t\treturn persona.statusCode === StatusCode.Active && persona.isTemplate === false;\r\n\t\t}\r\n\t\t\treturn persona.statusCode === StatusCode.Active && persona.isTemplate === false && persona.isSample === false;\r\n\r\n\t}\r\n\tif (isTrash) {\r\n\t\tif (tab === \"template\") {\r\n\t\t\tres = persona.statusCode === StatusCode.Trashed && persona.isTemplate === true && isNotCemanticaTemplate;\r\n\r\n\t\t\treturn res;\r\n\t\t}\r\n\t\t\tres = persona.statusCode === StatusCode.Trashed && persona.isTemplate === false;\r\n\t\t\treturn res;\r\n\r\n\t}\r\n\r\n\tif (isArchive) {\r\n\t\tif (tab === \"template\") return persona.statusCode === StatusCode.Archived && persona.isTemplate === true && isNotCemanticaTemplate;\r\n\t\treturn persona.statusCode === StatusCode.Archived && persona.isTemplate === false;\r\n\t}\r\n\r\n\tif (isTemplate) {\r\n\t\treturn persona.isTemplate && persona.statusCode === StatusCode.Active && isNotCemanticaTemplate;\r\n\t}\r\n\r\n\treturn persona;\r\n};\r\n","import { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { BulkActionsGenerator } from \"shared/components/BulkActionsGenerator\";\r\nimport { BulkUpdateGroups } from \"shared/dropdowns/library-dropdown/group/bulk-update-groups\";\r\nimport { BulkUnlinkPersonas } from \"shared/dropdowns/library-dropdown/persona/bulk-unlink-personas\";\r\nimport { BulkUpdateTags } from \"shared/dropdowns/library-dropdown/tags/bulk-update-tags\";\r\nimport BulkModalLinkComponent from \"shared/modals/bulk-links/BulkModalLinkComponent\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { getCxAttribute } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { archiveManyOpportunities, bulkUnlinkOpportunityRecords, deleteManyOpportunities, deleteManyOpportunitiesPermanently, restoreManyOpportunities } from \"../reducer/OpportunityActions\";\r\n\r\nexport const BulkActions = (selectedOpps, setSelected, onSuccess, setDisableBulkActions) => {\r\n\tconst pathname = useLocation().pathname;\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\r\n\tconst actions = [];\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst selectedItemsIdsStr = selectedOpps.map((item) => item?.id).join(\"|\");\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n\r\n\tconst tagCxAttributes = selectedOpps?.map((record) => getCxAttribute({ data: record, informationType: InformationType.Tags }));\r\n\tconst groupCxAttributes = selectedOpps?.map((record) => getCxAttribute({ data: record, informationType: InformationType.Group }));\r\n\r\n\tconst [showModalArchivePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"ARCHIVE_MANY\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tarchiveManyOpportunities({ ids: selectedItemsIdsStr, displayToast: \"BULK_ARCHIVE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ARCHIVE\",\r\n\t});\r\n\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManyOpportunities({ ids: selectedItemsIdsStr, displayToast: \"BULK_DELETE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showModalDeletePermanentPopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_PERMANENT\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManyOpportunitiesPermanently({ ids: selectedItemsIdsStr, displayToast: \"BULK_DELETE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showBulkModalLinkComponent] = useModal(BulkModalLinkComponent);\r\n\tconst unlinkPersona = (personaToUnlinkId) =>\r\n\t\tbulkUnlinkOpportunityRecords({ recEntityName: \"cem_persona\", recIds: [personaToUnlinkId], ids: selectedItemsIdsStr.split(\"|\"), attribute: \"linkedPersonas\" });\r\n\r\n\tif (isTrash || isArchive) {\r\n\t\tactions.push({ handleClick: () => restoreManyOpportunities({ ids: selectedItemsIdsStr, displayToast: \"RESTORE\", onSuccess }), icon: \"RESTORE\", description: \"JS_96\" });\r\n\t\tactions.push({ handleClick: isArchive ? showModalDeletePopup : showModalDeletePermanentPopup, icon: \"DELETE\", description: isArchive ? \"ASPX_13\" : \"JS_97\" });\r\n\t} else {\r\n\t\tactions.push({ handleClick: () => showBulkModalLinkComponent({ componentName: \"folder\", idAttribute: \"id\" }), icon: \"FOLDER-OPEN\", description: \"MOVE_TO_FOLDER\" });\r\n\t\tif (isSubscriptionAllowed) actions.push({ handleClick: showModalArchivePopup, icon: \"ARCHIVE\", description: \"ARCHIVE\" });\r\n\t\tactions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", description: \"ASPX_13\" });\r\n\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => ,\r\n\t\t});\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => att?.id) || []} recordType=\"cem_cxattribute\" />,\r\n\t\t});\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => att?.id) || []} recordType=\"cem_cxattribute\" />,\r\n\t\t});\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n","/* eslint-disable no-undef */\r\nimport { createOpportunity, getExcelExportListOpp, updateFolderLinks, updateMultiOpportunity } from \"@redux/index\";\r\nimport { getAllMapsList } from \"@redux/memoizedSelectors\";\r\nimport { FilterItemsByStatus, tableDefaultColumn, toastWrapper } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { BulkActions } from \"features/opportunity/actions/BulkActions\";\r\nimport EditOpportunity from \"features/opportunity/modals/edit-opportunity\";\r\nimport { t } from \"i18next\";\r\nimport _ from \"lodash\";\r\nimport { useEffect, useMemo } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getAllTouchpoints } from \"redux/memoizedSelectors\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport ListLinkedModal from \"shared/modals/list-links/ListLinkedModal\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { EMPTY_GUID, getCxAttribute } from \"utils/helpers\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { updateAttributeAPIMulti } from \"../../../../redux/index\";\r\nimport BaseActions from \"../../../opportunity/actions/BaseActions\";\r\nimport { ActionLink } from \"../../columns-components/All_actions/ActionLink\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\n\r\nexport const GetOpportunityContext = (props) => {\r\n\tconst { linked, showAllActiveRecord, disableBulkActions } = props;\r\n\tconst { pathname, search } = useLocation();\r\n\tconst dispatch = useDispatch();\r\n\tconst cxProgramId = useLocation().search.getCxProgramID();\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst all_maps = useSelector(getAllMapsList);\r\n\tconst allTouchpoints = useSelector(getAllTouchpoints);\r\n\tconst folderId = search.getFolderId();\r\n\tconst oppId = search.getId();\r\n\tconst all_Opportunities = useSelector((state) => state.opportunity?.all_Opportunities);\r\n\tconst opportunities = useMemo(\r\n\t\t() => all_Opportunities?.filter((opp) => FilterItemsByStatus(opp, pathname, \"/opportunity\", showSampleData, all_maps)),\r\n\t\t[all_Opportunities, showSampleData, all_maps]\r\n\t); // this i sthe case of group by map\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\tconst linkedObjects = linked ? opportunities.filter((opp) => linked?.includes(opp.id)) : null;\r\n\tconst OpportunityData = useMemo(() => FormatOpportunityData(opportunities, all_maps, allTouchpoints), [opportunities, all_maps, allTouchpoints]);\r\n\tconst loading = useSelector((state) => state.opportunity.loading);\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[EntityList.Opportunity]?.[specificContext]?.columns || tableDefaultColumn(EntityList.Opportunity);\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.Opportunity]?.[specificContext]?.filters;\r\n\tconst [showEditOpportunity] = useModal(EditOpportunity);\r\n\tuseEffect(() => {\r\n\t\tif (oppId) {\r\n\t\t\tshowEditOpportunity({ id: oppId });\r\n\t\t}\r\n\t}, [oppId]);\r\n\tconst exportExcelOpportunity = (ids, columnView) => {\r\n\t\tconst promise = async () => {\r\n\t\t\tconst { data, error } = await dispatch(getExcelExportListOpp(ids, columnView));\r\n\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\tfileDownload(data, \"Opportunities List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\t\tif (error) throw error;\r\n\t\t};\r\n\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t};\r\n\r\n\tconst create = ({ setIsCreateBtnDisabled }) => {\r\n\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(true);\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(false);\r\n\t\t\tif (folderId) updateFolderLinks({ folderIds: [folderId], idsToLink: [data.id], entityName: \"cem_insight\" });\r\n\t\t\tshowEditOpportunity({ id: data.id, item: data });\r\n\t\t};\r\n\t\tconst onFailed = () => setIsCreateBtnDisabled && setIsCreateBtnDisabled(false);\r\n\t\tcreateOpportunity({ item: {id: uuid(), name: \"\" }, onSuccess, onFailed, cxProgramId });\r\n\t};\r\n\r\n\tconst [showListLinkedModal] = useModal(ListLinkedModal);\r\n\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tOpportunitiesList: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: columnsArray,\r\n\t\t\t\temptyListText: \"OPPORTUNITY_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tvisibleHeader: true,\r\n\t\t\t\tlistEditable: !isReadOnly,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t\tvisibleButtonCreate: !isReadOnly,\r\n\t\t\t\tdisplayView: folderId === undefined,\r\n\t\t\t\tshowOnlyLinked: folderId !== undefined || linked?.length > 0,\r\n\t\t\t},\r\n\t\t\tarchived: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\",\"name\", \"priorityId\",'statusId', \"cjmIds\",\"customerValue\", \"businessValue\", \"actions\"],\r\n\t\t\t\temptyListText: \"OPPORTUNITY_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeleted: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\",\"name\", \"priorityId\",'statusId', \"cjmIds\",\"customerValue\", \"businessValue\", \"actions\"],\r\n\t\t\t\temptyListText: \"OPPORTUNITY_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tcxProgram: {\r\n\t\t\t\tshowCheckbox: false, // modals of cxProgram that link/unlink\r\n\t\t\t\tcolumns: [\"name\", \"priorityId\",'statusId', \"cjmIds\",\"customerValue\", \"businessValue\", \"actions\"],\r\n\t\t\t\tlistEditable: !isReadOnly,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: linked?.length > 10,\r\n\t\t\t\tnonDropDown: true,\r\n\t\t\t\temptyListText: \"OPPORTUNITY_PLACEHOLDER_PROGRAM\",\r\n\t\t\t},\r\n\t\t};\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\t\tif (isReadOnly) {\r\n\t\t\t// contextData.columns = contextData.columns.filter((col) => col !== \"actions\" && col !== \"select\");\r\n\t\t\t// contextData.showCheckbox = false;\r\n\t\t\tcontextData.bulkActions = false;\r\n\t\t}\r\n\t\tcontextData.readonly = isReadOnly;\r\n\r\n\t\tcontextData.Actions = (opportunity) => CreateActionsDropdown({ actions: BaseActions({ opportunity }), variant: \"default\", dropdownClasses: \"\" });\r\n\t\tcontextData.bulkActionsFunction = BulkActions;\r\n\t\tcontextData.linkedObjects = FormatOpportunityData(linkedObjects, all_maps);\r\n\t\tcontextData.listData = OpportunityData;\r\n\t\tcontextData.dataKey = \"id\";\r\n\t\tcontextData.reducerPath = \"opportunity.all_Opportunities\";\r\n\t\tcontextData.entityType = EntityList.Opportunity;\r\n\r\n\t\tcontextData.route = \"edit-opportunity\";\r\n\t\tcontextData.exportExcel = exportExcelOpportunity;\r\n\t\tcontextData.loading = loading;\r\n\t\tcontextData.buttonCreateLabel = \"NEW_OPPORTUNITY\";\r\n\t\tcontextData.buttonCreate = create;\r\n\t\tcontextData.onChangeObject = contextData?.listEditable\r\n\t\t\t? (modifiedOpportunities, modifiedAttribNames, onSuccess) => updateMultiOpportunity({ modifiedOpportunities, modifiedAttribNames, onSuccess })\r\n\t\t\t: null;\r\n\t\tcontextData.onUpdateCxAttributeMulti = ({ modifiedCxAttributes, modifiedAttribNames }) => updateAttributeAPIMulti({ modifiedCxAttributes, modifiedAttribNames });\r\n\t\tcontextData.filter = filters;\r\n\t\tif (specificContext === \"cxProgram\") {\r\n\t\t\tcontextData.Actions = props?.disableAction ? () => {} : (options) => ActionLink(options, \"cem_cxopportunity\", cxProgramId);\r\n\t\t}\r\n\t\t// folder case\r\n\t\tif (folderId) {\r\n\t\t\tcontextData.showLinkFolderButton = true;\r\n\t\t\tcontextData.LinkFolderAction = () => showListLinkedModal({ folderId: folderId, linked: linked, entityType: EntityList.Opportunity, saveButtonLabel: \"ASPX_44\" });\r\n\t\t\tcontextData.LinkActionLabel = \"LINK_UNLINK_OPPORTUNITIES\";\r\n\t\t\tcontextData.displayExport = false;\r\n\t\t}\r\n\t\treturn contextData;\r\n\t}, [isReadOnly, linked, linkedObjects, OpportunityData, columnsArray, loading, disableBulkActions, showAllActiveRecord, cxProgramId, filters]);\r\n\r\n\treturn data;\r\n};\r\n\r\nconst FormatOpportunityData = (data, allMap) => {\r\n\treturn data?.map((opp) => {\r\n\t\treturn {\r\n\t\t\t...opp,\r\n\t\t\tpriorityId: getCxAttribute({ data: opp, informationType: InformationType.Priority })?.priorityId || EMPTY_GUID,\r\n\t\t\tstatusId: getCxAttribute({ data: opp, informationType: InformationType.Status })?.statusId|| EMPTY_GUID,\r\n\t\t\tgroupIds: getCxAttribute({ data: opp, informationType: InformationType.Group })?.groups || [],\r\n\t\t\ttagIds: getCxAttribute({ data: opp, informationType: InformationType.Tags })?.tags || [],\r\n\t\t\tuserId: getCxAttribute({ data: opp, informationType: InformationType.Owner })?.userId|| EMPTY_GUID,\r\n\t\t\toccurance: allMap?.filter((obj) =>obj.statusCode ===StatusCode.Active && Object.keys(opp?.linkedCjms).includes(obj[\"cjmId\"])).length || 0,\r\n\t\t\tcjmIds: allMap?.filter((obj) => Object.keys(opp?.linkedCjms).includes(obj[\"cjmId\"]))?.map((linkCjm) => linkCjm?.cjmId) || [],\r\n\t\t\tcjmIdsStr: allMap\r\n\t\t\t\t?.filter((obj) => Object.keys(opp?.linkedCjms).includes(obj[\"cjmId\"]))\r\n\t\t\t\t?.map((linkCjm) => linkCjm?.cjmId) || [],\r\n\r\n\t\t\tcustomerValue: opp?.attributes?.find((att) => att?.type === InformationType?.Rating && t(att?.name)?.toLowerCase() === t(\"CUSTOMER_VALUE\")?.toLowerCase())?.ratingValue || 0,\r\n\t\t\tbusinessValue: opp?.attributes?.find((att) => att?.type === InformationType?.Rating && t(att?.name)?.toLowerCase() === t(\"BUSINESS_VALUE\")?.toLowerCase())?.ratingValue || 0,\r\n\t\t\ttouchpointIdsStr: getCxAttribute({ data: opp, informationType: InformationType.Touchpoints })?.linkedTouchpoints?.join(\"|\") || \"\",\r\n\t\t\tdueDateNew: new Date(getCxAttribute({ data: opp, informationType: InformationType.DueDate })?.date || \"\"),\r\n\t\t\tlastUpdated: new Date(opp?.lastUpdated),\r\n\t\t};\r\n\t});\r\n};\r\n","import { filterItemsByUserMapRole } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { BulkActionsGenerator } from \"shared/components/BulkActionsGenerator\";\r\nimport { BulkUpdateGroups } from \"shared/dropdowns/library-dropdown/group/bulk-update-groups\";\r\nimport { BulkUpdateTags } from \"shared/dropdowns/library-dropdown/tags/bulk-update-tags\";\r\nimport BulkModalLinkComponent from \"shared/modals/bulk-links/BulkModalLinkComponent\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { getCxAttribute } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { archiveManySolutions, bulkUnlinkSolutionRecords, deleteManySolutions, deleteManySolutionsPermanently, restoreManySolutions } from \"../reducer/SolutionsActions\";\r\nimport { BulkUnlinkPersonas } from \"shared/dropdowns/library-dropdown/persona/bulk-unlink-personas\";\r\n\r\nexport const BulkActions = (selectedSolutions, setSelected, onSuccess, setDisableBulkActions) => {\r\n\tconst pathname = useLocation().pathname;\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\r\n\tconst actions = [];\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst selectedItemsIdsStr = selectedSolutions.map((item) => item?.id).join(\"|\");\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n\r\n\tconst tagCxAttributes = selectedSolutions?.map((record) => getCxAttribute({ data: record, informationType: InformationType.Tags }));\r\n\tconst groupCxAttributes = selectedSolutions?.map((record) => getCxAttribute({ data: record, informationType: InformationType.Group }));\r\n\r\n\tconst [showModalArchivePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"ARCHIVE_MANY\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tarchiveManySolutions({ ids: selectedItemsIdsStr, displayToast: \"BULK_ARCHIVE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ARCHIVE\",\r\n\t});\r\n\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManySolutions({ ids: selectedItemsIdsStr, displayToast: \"BULK_DELETE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showModalDeletePermanentPopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_PERMANENT\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteManySolutionsPermanently({ ids: selectedItemsIdsStr, displayToast: \"BULK_DELETE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showBulkModalLinkComponent] = useModal(BulkModalLinkComponent);\r\n\r\n\tconst unlinkPersona = (personaToUnlinkId) =>\r\n\t\tbulkUnlinkSolutionRecords({ recEntityName: \"cem_persona\", recIds: [personaToUnlinkId], ids: selectedItemsIdsStr.split(\"|\"), attribute: \"linkedPersonas\" });\r\n\r\n\tif (isTrash || isArchive) {\r\n\t\tactions.push({ handleClick: () => restoreManySolutions({ ids: selectedItemsIdsStr, onSuccess }), icon: \"RESTORE\", description: \"JS_96\" });\r\n\t\tactions.push({ handleClick: isArchive ? showModalDeletePopup : showModalDeletePermanentPopup, icon: \"DELETE\", description: isArchive ? \"ASPX_13\" : \"JS_97\" });\r\n\t} else {\r\n\t\tactions.push({ handleClick: () => showBulkModalLinkComponent({ componentName: \"folder\", idAttribute: \"id\" }), icon: \"FOLDER-OPEN\", description: \"MOVE_TO_FOLDER\" });\r\n\r\n\t\tif (isSubscriptionAllowed) actions.push({ handleClick: showModalArchivePopup, icon: \"ARCHIVE\", description: \"ARCHIVE\" });\r\n\t\tactions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", description: \"ASPX_13\" });\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => ,\r\n\t\t});\r\n\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => att?.id) || []} recordType=\"cem_cxattribute\" />,\r\n\t\t});\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => att?.id) || []} recordType=\"cem_cxattribute\" />,\r\n\t\t});\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n","/* eslint-disable no-undef */\r\nimport { createSolution, getExcelExportListSol, updateFolderLinks, updateMultiSolutions } from \"@redux/index\";\r\nimport { getAllMapsList } from \"@redux/memoizedSelectors\";\r\nimport { FilterItemsByStatus, calculatesolutionType, tableDefaultColumn, toastWrapper } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { BulkActions } from \"features/solutions/actions/BulkActions\";\r\nimport EditSolution from \"features/solutions/modals/edit-solution\";\r\nimport _ from \"lodash\";\r\nimport { useEffect, useMemo } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport ListLinkedModal from \"shared/modals/list-links/ListLinkedModal\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { EMPTY_GUID, getCxAttribute } from \"utils/helpers\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { updateAttributeAPIMulti } from \"../../../../redux/index\";\r\nimport BaseActions from \"../../../solutions/actions/BaseActions\";\r\nimport { ActionLink } from \"../../columns-components/All_actions/ActionLink\";\r\n\r\n\r\nexport const GetSolutionContext = (props) => {\r\n\tconst { linked, showAllActiveRecord, disableBulkActions } = props;\r\n\tconst { pathname, search } = useLocation();\r\n\tconst dispatch = useDispatch();\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\tconst folderId = search.getFolderId();\r\n\tconst solId = search.getId();\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst all_maps = useSelector(getAllMapsList);\r\n\tconst all_solutions = useSelector((state) => state.solutions.all_solutions);\r\n\tconst loading = useSelector((state) => state.solutions.loading);\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\r\n\tconst solution = useMemo(() => {\r\n\t\treturn all_solutions?.filter((opp) => FilterItemsByStatus(opp, pathname, \"/solutions\", showSampleData, all_maps));\r\n\t}, [all_solutions, showSampleData, all_maps]);\r\n\r\n\tconst linkedObjects = linked ? solution.filter((map) => linked?.includes(map.id)) : null;\r\n\tconst solutionsData = useMemo(() => FormatSolutionData(solution, all_maps), [solution, all_maps]);\r\n\tconst [showEditSolution] = useModal(EditSolution);\r\n\r\n\tconst create = ({ setIsCreateBtnDisabled }) => {\r\n\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(true);\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(false);\r\n\t\t\tif (folderId) updateFolderLinks({ folderIds: [folderId], idsToLink: [data.id], entityName: \"cem_insight\" });\r\n\t\t\tshowEditSolution({ id: data.id });\r\n\t\t};\r\n\t\tconst onFailed = () => setIsCreateBtnDisabled && setIsCreateBtnDisabled(false);\r\n\t\tcreateSolution({ item: {id: uuid(), name: \"\" }, onSuccess, onFailed, cxProgramId });\r\n\t};\r\n\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[EntityList.Solution]?.[specificContext]?.columns || tableDefaultColumn(EntityList.Solution);\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.Solution]?.[specificContext]?.filters;\r\n\r\n\tconst [showListLinkedModal] = useModal(ListLinkedModal);\r\n\r\n\tconst getExcelExportList = (ids, columnView) => {\r\n\t\tconst promise = async () => {\r\n\t\t\tconst { data, error } = await dispatch(getExcelExportListSol(ids, columnView));\r\n\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\tfileDownload(data, \"Solutions List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\t\tif (error) throw error;\r\n\t\t};\r\n\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t};\r\n\tuseEffect(() => {\r\n\t\tif(solId){\r\n\t\t\tshowEditOpportunity({ id: solId })\r\n\r\n\t\t}\r\n\t}, [solId]);\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tsolutionsList: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: columnsArray,\r\n\t\t\t\temptyListText: \"SOLUTION_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tlistEditable: !isReadOnly,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t\tvisibleHeader: true,\r\n\t\t\t\tvisibleButtonCreate: !isReadOnly,\r\n\t\t\t\tdisplayView: folderId === undefined,\r\n\t\t\t\tshowOnlyLinked: folderId !== undefined || linked?.length > 0,\r\n\t\t\t},\r\n\t\t\tarchived: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"name\", \"statusId\", \"tagIds\", \"solutionType\", \"actions\"],\r\n\t\t\t\temptyListText: \"SOLUTION_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeleted: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"name\", \"statusId\", \"tagIds\", \"solutionType\", \"actions\"],\r\n\t\t\t\temptyListText: \"SOLUTION_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tcxProgram: {\r\n\t\t\t\tshowCheckbox: false, // modals of cxProgram that link/unlink\r\n\t\t\t\tcolumns: [\"name\",\"description\", \"statusId\", \"solutionType\",\"lastUpdated\", \"actions\"],\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: linked?.length > 10,\r\n\t\t\t\tnonDropDown: true,\r\n\t\t\t\tlistEditable: !isReadOnly,\r\n\r\n\t\t\t\temptyListText: \"SOLUTION_PLACEHOLDER_PROGRAM\",\r\n\t\t\t},\r\n\t\t};\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\t\tif (isReadOnly) {\r\n\t\t\t// contextData.columns = contextData.columns.filter((col) => col !== \"actions\" && col !== \"select\");\r\n\t\t\t// contextData.showCheckbox = false;\r\n\t\t\tcontextData.bulkActions = false;\r\n\t\t}\r\n\t\tcontextData.readonly = isReadOnly;\r\n\r\n\t\tcontextData.Actions = (solution) => CreateActionsDropdown({ actions: BaseActions({ solution }), variant: \"default\", dropdownClasses: \"\" });\r\n\t\tcontextData.bulkActionsFunction = BulkActions;\r\n\t\tcontextData.linkedObjects = FormatSolutionData(linkedObjects, all_maps);\r\n\t\tcontextData.onUpdateCxAttributeMulti = ({ modifiedCxAttributes, modifiedAttribNames }) => updateAttributeAPIMulti({ modifiedCxAttributes, modifiedAttribNames });\r\n\t\tcontextData.listData = solutionsData;\r\n\t\tcontextData.dataKey = \"id\";\r\n\t\tcontextData.reducerPath = \"solutions.all_solutions\";\r\n\t\tcontextData.route = \"edit-solution\";\r\n\t\tcontextData.entityType = EntityList.Solution;\r\n\t\tcontextData.exportExcel = getExcelExportList;\r\n\t\tcontextData.loading = loading;\r\n\t\tcontextData.onChangeObject = contextData?.listEditable\r\n\t\t\t? (modifiedSolutions, modifiedAttribNames, onSuccess) => updateMultiSolutions({ modifiedSolutions, modifiedAttribNames, onSuccess })\r\n\t\t\t: null;\r\n\t\tcontextData.buttonCreate = create;\r\n\t\tcontextData.buttonCreateLabel = \"NEW_SOLUTION\";\r\n\t\tcontextData.filter = filters;\r\n\r\n\t\tif (specificContext === \"cxProgram\") {\r\n\t\t\tcontextData.Actions = props?.disableAction ? () => { } : (options) => ActionLink(options, \"cem_cxsolution\", cxProgramId);\r\n\t\t}\r\n\t\t// folder case\r\n\t\tif (folderId) {\r\n\t\t\tcontextData.showLinkFolderButton = true;\r\n\t\t\tcontextData.LinkFolderAction = () => showListLinkedModal({ folderId: folderId, linked: linked, entityType: EntityList.Solution, saveButtonLabel: \"ASPX_44\" });\r\n\t\t\tcontextData.LinkActionLabel = \"LINK_UNLINK_SOLUTIONS\";\r\n\t\t\tcontextData.displayExport = false;\r\n\t\t}\r\n\r\n\t\treturn contextData;\r\n\t}, [isReadOnly, linked, linkedObjects, solutionsData, loading, columnsArray, disableBulkActions, showAllActiveRecord, cxProgramId, filters]);\r\n\treturn data;\r\n};\r\n\r\nconst FormatSolutionData = (data, allMap) => {\r\n\treturn data?.map((solution) => {\r\n\t\treturn {\r\n\t\t\t...solution,\r\n\t\t\tsolutionType: calculatesolutionType(solution),\r\n\t\t\toccurance: allMap?.filter((obj) =>obj.statusCode ===StatusCode.Active && Object.keys(solution?.linkedCjms).includes(obj[\"cjmId\"])).length || 0,\r\n\t\t\tcjmIds: allMap?.filter((obj) => Object.keys(solution?.linkedCjms).includes(obj[\"cjmId\"]))?.map((linkCjm) => linkCjm?.cjmId) || [],\r\n\t\t\tcjmIdsStr: allMap\r\n\t\t\t\t?.filter((obj) => Object.keys(solution?.linkedCjms).includes(obj[\"cjmId\"]))\r\n\t\t\t\t?.map((linkCjm) => linkCjm?.cjmId) || [],\r\n\t\t\tstatusId: getCxAttribute({ data: solution, informationType: InformationType.Status })?.statusId || EMPTY_GUID,\r\n\t\t\tuserId: getCxAttribute({ data: solution, informationType: InformationType.Owner })?.userId|| EMPTY_GUID,\r\n\t\t\tgroupIds: getCxAttribute({ data: solution, informationType: InformationType.Group })?.groups || [],\r\n\t\t\ttagIds: getCxAttribute({ data: solution, informationType: InformationType.Tags})?.tags || [],\r\n dueDateNew: new Date(getCxAttribute({ data: solution, informationType: InformationType.DueDate })?.date),\r\n\r\n lastUpdated: new Date(solution?.lastUpdated),\r\n\t\t};\r\n\t});\r\n};\r\n","import { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport _ from \"lodash\";\r\nimport { useMemo } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport BaseActions from \"../../../folders/actions/BaseActions\";\r\nimport { GetActiveCJM } from \"@utils/helpers\";\r\n\r\nexport const GetFolderContext = (props) => {\r\n\tconst { linked, setRename, disableBulkActions } = props;\r\n\tconst { pathname } = useLocation();\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\r\n\tconst all_maps = useSelector((state) => state.maps.all_maps);\r\n\tconst folders = useSelector((state) => state.folders?.filter((folder) => FolderValidation(folder, pathname))).map((folder) => {\r\n\t\tconst newDate = new Date(folder.modifiedOn);\r\n\r\n\t\treturn { ...folder, modifiedOn: newDate };\r\n\t});\r\n\r\n\tconst linkedObjects = undefined;\r\n\tfolders.forEach((folder) => {\r\n\t\tfolder.linkedCjms = GetActiveCJM(folder?.linkedCjms,all_maps)\r\n\t});\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tarchived: {\r\n\t\t\t\tshowCheckbox: false,\r\n\t\t\t\tcolumns: [\"folderName\", \"linkedCjms\", \"modifiedOn\", \"createdByName\", \"actions\"],\r\n\t\t\t\temptyListText: \"NO_FOLDER\",\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeleted: {\r\n\t\t\t\tshowCheckbox: false,\r\n\t\t\t\tcolumns: [\"folderName\", \"linkedCjms\", \"modifiedOn\", \"createdByName\", \"actions\"],\r\n\t\t\t\temptyListText: \"NO_FOLDER\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t};\r\n\t\tconst specificContext = props.context.split(\".\")[1];\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\r\n\t\tif (isReadOnly) {\r\n\t\t\tcontextData.columns = contextData.columns.filter((col) => col !== \"actions\" && col !== \"select\");\r\n\t\t\tcontextData.showCheckbox = false;\r\n\t\t\tcontextData.bulkActions = false;\r\n\t\t}\r\n\t\tcontextData.Actions = (folder) => CreateActionsDropdown({ actions: BaseActions({ folder, setRename }), variant: \"default\", dropdownClasses: \"\" });\r\n\t\tcontextData.linkedObjects = linkedObjects;\r\n\t\tcontextData.listData = folders;\r\n\t\tcontextData.dataKey = \"id\";\r\n\t\tcontextData.entityType = \"EntityList.\";\r\n\t\tcontextData.emptyListSmall = \"true\";\r\n\t\treturn contextData;\r\n\t}, [isReadOnly, linked, linkedObjects, folders, disableBulkActions, setRename]);\r\n\r\n\treturn data;\r\n};\r\n\r\nexport const FolderValidation = (folder, pathname) => {\r\n\tconst isAccount = pathname === \"/folders\";\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\r\n\tif (isAccount) {\r\n\t\treturn folder.statusCode === StatusCode.Active && folder.isSample === false;\r\n\t}\r\n\tif (isTrash) {\r\n\t\treturn folder.statusCode === StatusCode.Trashed && folder.isSample === false;\r\n\t}\r\n\tif (isArchive) {\r\n\t\treturn folder.statusCode === StatusCode.Archived && folder.isSample === false;\r\n\t}\r\n\treturn folder;\r\n};\r\n","import { activateUsers, deactivateUsers, deleteUser } from \"@redux/index\";\r\nimport { isUserActionValid } from \"@utils/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { ActionConfirmModal } from \"shared/modals\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport default function BaseActions({ user }) {\r\n\tconst { t } = useTranslation();\r\n\tconst userInfo = useSelector((state) => state.auth.userInfo);\r\n\r\n\tconst handleDeactivate = () => deactivateUsers({ ids: [user.id] });\r\n\tconst handleActivate = () => activateUsers({ ids: [user.id] });\r\n\r\n\tconst [showModalDelete] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_USER_WARNING\",\r\n\t\tAction: () => {\r\n\t\t\tdeleteUser({ id: user.id });\r\n\t\t},\r\n\t\tactionBtnText: t(\"ASPX_13\"),\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tif (isUserActionValid({ user, userInfo })) {\r\n\t\t\tif (user?.isActive) {\r\n\t\t\t\tactions.push({\r\n\t\t\t\t\tid: \"disable\",\r\n\t\t\t\t\thandleClick: handleDeactivate,\r\n\t\t\t\t\ticon: \"circle-pause\",\r\n\t\t\t\t\ttext: t(\"JS_118\"),\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tactions.push({ id: \"enable\", handleClick: handleActivate, icon: \"circle-check\", text: t(\"JS_119\") });\r\n\t\t\t\tactions.push({ id: \"delete\", handleClick: showModalDelete, icon: \"DELETE\", text: t(\"CS_45\"), itemStyle: \"warning-delete\" });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import { activateUsers, deactivateUsers } from \"@redux/index\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Button, IconDispatcher } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const BulkUpdateStatus = ({ ids, onSuccess, setDisableBulkActions, successToast }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst onActivate = () => {\r\n\t\tsetDisableBulkActions(true);\r\n activateUsers({ ids, onSuccess, displayToast: \"UPDATE\", toastParams: {success: successToast} });\r\n };\r\n \r\n const onDeactivate = () => {\r\n\t\tsetDisableBulkActions(true);\r\n\t\tdeactivateUsers({ ids, onSuccess, displayToast: \"UPDATE\", toastParams: {success: successToast} });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"circle\")}
\r\n\t\t\t\t\t
{t(\"ASPX_222\")}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{IconDispatcher(\"circle-check\")}
\r\n\t\t\t\t\t\t
{t(\"JS_119\")}
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{IconDispatcher(\"circle-pause\")}
\r\n\t\t\t\t\t\t
{t(\"JS_118\")}
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nBulkUpdateStatus.displayName = \"BulkUpdateStatus\";\r\n\r\nconst DropDownContainer = styled(Dropdown)`\r\n\t.dropdown-toggle::after {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst MenuContainer = styled(Dropdown.Menu)`\r\n\ttransform: translate3d(0px, -54px, 0px) !important;\r\n`;\r\nconst ActionContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\n","import { IconDispatcher } from \"shared/Icons\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nexport const RecordsSelector = ({ allRecords, selectedRecords, renderCustomComponent, onSelect, onRemove }) => {\r\n\tconst SelectedRecord = ({ record }) => {\r\n\t\treturn (\r\n\t\t\t onRemove({ record })}>\r\n\t\t\t\t{renderCustomComponent({ record })}\r\n\t\t\t\t{IconDispatcher(\"x\", \"\", { size: \"12px\" })}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst isRecordSelected = (rec) => selectedRecords.map((r) => r.id).includes(rec.id);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{selectedRecords.map((record, i) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{allRecords.map((record, i) => (\r\n\t\t\t\t\t onSelect({ record })} disabled={isRecordSelected(record)}>\r\n\t\t\t\t\t\t{renderCustomComponent({ record })}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nRecordsSelector.displayName = \"RecordsSelector\";\r\n\r\nconst Container = styled.div`\r\n\theight: 100%;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 16px;\r\n`;\r\n\r\nconst BoxContainer = styled.div`\r\n\tmin-height: 36px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tdisplay: flex;\r\n\tpadding: 12px 9px;\r\n\tflex-wrap: wrap;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst SelectedRecordContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tborder-radius: 4px;\r\n\tbackground: #efefef;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst RemoveButton = styled.div`\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tcolor: #605f60;\r\n`;\r\n\r\nconst RecordsContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst Record = styled.div`\r\n\r\n\twidth: 100%;\r\n border-radius: 4px;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t\tbackground: #efefef;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\topacity: 0.7;\r\n\t\t\t:hover {\r\n\t\t\t\tcursor: not-allowed;\r\n\t\t\t\tbackground: none;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n","import { updateUsersTeams } from \"@redux/index\";\r\nimport { RecordsSelector } from \"features/workspace/components/others/records-selector\";\r\nimport { useState } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Button, GenericButton, IconDispatcher, Label } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const BulkUpdateTeams = ({ ids, onSuccess, setDisableBulkActions, successToast }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\tconst authorizedUsers = useSelector((state) => state.settings?.authorizedUsers);\r\n\tconst allTeamsObj = useSelector((state) => state.settings?.teams);\r\n\tconst allTeams = allTeamsObj ? Object.values(allTeamsObj) : [];\r\n\r\n\tconst [selected, setSelected] = useState([]);\r\n\tconst [show, setShow] = useState(false);\r\n\r\n\tconst selectedUsers = users.filter((u) => ids.includes(u.id));\r\n\tconst selectedAuthorizedUsersIds = authorizedUsers?.filter((au) => selectedUsers?.find((u) => au?.domainName?.toLowerCase() === u?.loginName?.toLowerCase()))?.map((au) => au?.id);\r\n\r\n\tconst onSave = () => {\r\n\t\tsetShow(false);\r\n\t\tsetDisableBulkActions(true);\r\n\t\tupdateUsersTeams({ userIds: selectedAuthorizedUsersIds, idsToAdd: selected.map((s) => s.id), idsToRemove: [], onSuccess, displayToast: \"UPDATE\", toastParams: { success: successToast } });\r\n\t};\r\n\r\n\tconst handleToggle = (isOpen) => {\r\n\t\tsetShow(isOpen);\r\n\t};\r\n\r\n\tconst handleSelect = ({ record }) => {\r\n\t\tsetSelected([...selected, record]);\r\n\t};\r\n\r\n\tconst handleRemove = ({ record }) => {\r\n\t\tsetSelected(selected?.filter((s) => s.id !== record.id));\r\n\t};\r\n\r\n\tconst renderCustomComponent = ({ record }) => {record?.name};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"users\")}
\r\n\t\t\t\t\t
{t(\"TEAM\")}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"SAVE\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nBulkUpdateTeams.displayName = \"BulkUpdateTeams\";\r\n\r\nconst DropDownContainer = styled(Dropdown)`\r\n\t.dropdown-toggle::after {\r\n\t\tdisplay: none;\r\n\t}\r\n\t.dropdown-menu {\r\n\t\tpadding: 0px;\r\n\t\tmargin: 0px;\r\n\t}\r\n`;\r\n\r\nconst MenuContainer = styled(Dropdown.Menu)`\r\n\twidth: 392px;\r\n\ttransform: translate3d(0px, -54px, 0px) !important;\r\n`;\r\nconst ActionContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\n\r\nconst WorspacesContainer = styled.div`\r\n\tborder-bottom: 1px solid #efefef;\r\n`;\r\n\r\nconst ButtonContainer = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tpadding: 16px;\r\n`;\r\n\r\nconst Team = styled.div``;\r\n","import { getAllActiveWorkspaces } from \"@redux/memoizedSelectors\";\r\nimport { SubscriptionPlan } from \"@utils/optionsSets/OptionSets\";\r\nimport { RecordsSelector } from \"features/workspace/components/others/records-selector\";\r\nimport WorkspaceLogoAndName from \"features/workspace/components/others/workspace-logo-and-name\";\r\nimport { shareManyWorkspaces } from \"features/workspace/reducer/WorkspaceActions\";\r\nimport { useState } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Button, GenericButton, IconDispatcher, Label } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const BulkUpdateWorkspaces = ({ nselected, items, onSuccess, setDisableBulkActions }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\tconst authorizedUsers = useSelector((state) => state.settings?.authorizedUsers);\r\n\tconst allActivesWorkspaces = useSelector(getAllActiveWorkspaces);\r\n\tconst isMultiSubscription = useSelector((state) => state.settings?.subscriptionDetails?.subscriptionContracts)?.length > 1;\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst isConfigAllowed = [\"Enterprise\"].includes(userInfo?.UserSubscriptionPlanName);\r\n\r\n\tconst [selected, setSelected] = useState([]);\r\n\tconst [show, setShow] = useState(false);\r\n\r\n\tconst ids = items\r\n\t\t.filter((i) => {\r\n\t\t\tif (isMultiSubscription && Number(i.subscriptionPlan) !== SubscriptionPlan.Enterprise) return false;\r\n\t\t\treturn true;\r\n\t\t})\r\n\t\t?.map((i) => i.id);\r\n\r\n\tconst selectedUsers = users.filter((u) => ids.includes(u.id));\r\n\tconst selectedAuthorizedUsersIds = authorizedUsers.filter((au) => selectedUsers.find((u) => au?.domainName.toLowerCase() === u.loginName?.toLowerCase())).map((au) => au?.id);\r\n\tconst areAllActionsValid = nselected === ids.length;\r\n\r\n\tconst onSave = () => {\r\n\t\tsetShow(false);\r\n\t\tsetDisableBulkActions(true);\r\n\t\tshareManyWorkspaces({\r\n\t\t\tuserIds: selectedAuthorizedUsersIds,\r\n\t\t\tworkspaceIds: selected?.map((s) => s.id),\r\n\t\t\tauthorizedUsers,\r\n\t\t\tonSuccess,\r\n\t\t\tdisplayToast: \"UPDATE\",\r\n\t\t\ttoastParams: { success: areAllActionsValid ? t(\"USERS_BULK_ACTIONS_SUCCESS\") : t(\"USERS_BULK_ACTIONS_PARTIAL_SUCCESS\") },\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleToggle = (isOpen) => {\r\n\t\tsetShow(isOpen);\r\n\t};\r\n\r\n\tconst handleSelect = ({ record }) => {\r\n\t\tsetSelected([...selected, record]);\r\n\t};\r\n\r\n\tconst handleRemove = ({ record }) => {\r\n\t\tsetSelected(selected?.filter((s) => s.id !== record.id));\r\n\t};\r\n\r\n\tconst renderCustomComponent = ({ record }) => ;\r\n\r\n\tif(!isConfigAllowed) return null;\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"home\")}
\r\n\t\t\t\t\t
{t(\"ASPX_242\")}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"SAVE\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nBulkUpdateWorkspaces.displayName = \"BulkUpdateWorkspaces\";\r\n\r\nconst DropDownContainer = styled(Dropdown)`\r\n\t.dropdown-toggle::after {\r\n\t\tdisplay: none;\r\n\t}\r\n\t.dropdown-menu {\r\n\t\tpadding: 0px;\r\n\t\tmargin: 0px;\r\n\t}\r\n`;\r\n\r\nconst MenuContainer = styled(Dropdown.Menu)`\r\n\twidth: 392px;\r\n\ttransform: translate3d(0px, -54px, 0px) !important;\r\n`;\r\nconst ActionContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\n\r\nconst WorspacesContainer = styled.div`\r\n\tborder-bottom: 1px solid #efefef;\r\n`;\r\n\r\nconst ButtonContainer = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n`;\r\n","import { isUserActionValid } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { BulkActionsGenerator } from \"shared/components/BulkActionsGenerator\";\r\nimport { BulkUpdateStatus } from \"./components/bulk-update-status\";\r\nimport { BulkUpdateTeams } from \"./components/bulk-update-teams\";\r\nimport { BulkUpdateWorkspaces } from \"./components/bulk-update-workspaces\";\r\nimport { t } from \"i18next\";\r\n\r\nexport const BulkActions = (selected, setSelected, onSuccess, setDisableBulkActions) => {\r\n\tconst userInfo = useSelector((state) => state.auth.userInfo);\r\n\tconst isStandard = userInfo?.UserSubscriptionPlanName.toLowerCase() === \"standard\";\r\n\r\n\tconst actions = [];\r\n\r\n\tconst selectedItemsIdsStr = selected.map((item) => item?.id).join(\"|\");\r\n\tconst filteredItems = selected?.filter((user) => isUserActionValid({ user, userInfo }));\r\n\tconst filteredItemsIdsStr = filteredItems?.map((item) => item?.id)?.join(\"|\");\r\n\r\n\tconst areAllActionsValid = selectedItemsIdsStr.length === filteredItemsIdsStr.length;\r\n\r\n\tconst params = {\r\n\t\tids: filteredItemsIdsStr.split(\"|\"),\r\n\t\tareAllActionsValid,\r\n\t\tonSuccess,\r\n\t\tsetDisableBulkActions,\r\n\t\tsuccessToast: areAllActionsValid ? t(\"USERS_BULK_ACTIONS_SUCCESS\") : t(\"USERS_BULK_ACTIONS_PARTIAL_SUCCESS\"),\r\n\t};\r\n\r\n\tif (filteredItemsIdsStr) {\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => ,\r\n\t\t});\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => ,\r\n\t\t});\r\n\t\tif (!isStandard)\r\n\t\t\tactions.push({\r\n\t\t\t\trenderCustomComponent: () => ,\r\n\t\t\t});\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n","import { EntityList, SubscriptionPlan, UserType, modes } from \"@utils/optionsSets/OptionSets\";\r\nimport { t } from \"i18next\";\r\nimport _ from \"lodash\";\r\nimport { useMemo } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { tableDefaultColumn } from \"@utils/helpers\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport BaseActions from \"features/settings/manage-users/actions/BaseActions\";\r\nimport { getUsersExcelExport } from \"@redux/index\";\r\nimport { BulkActions } from \"features/settings/manage-users/actions/bulkActions/BulkActions\";\r\nimport PickListData from \"@utils/optionsSets/PickListData\";\r\nimport { getAllActiveWorkspaces } from \"@redux/memoizedSelectors\";\r\n\r\nexport const GetUserContext = (props) => {\r\n const history = useHistory();\r\n\tconst userTypes = PickListData(\"user-type\");\r\n\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\tconst loading = useSelector((state) => state.settings.loading);\r\n\tconst subscriptionDetails = useSelector((state) => state.settings?.subscriptionDetails);\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.User]?.[props.context.split(\".\")[1]]?.filters;\r\n\tconst userInfo = useSelector((state) => state.auth.userInfo);\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[EntityList.User]?.[specificContext]?.columns || tableDefaultColumn(EntityList.User);\r\n\tconst allTeamsObj = useSelector((state) => state.settings?.teams);\r\n\tconst allAuthorizedUsers = useSelector((state) => state.settings?.authorizedUsers);\r\n\tconst allActivesWorkspaces = useSelector(getAllActiveWorkspaces);\r\n\r\n\tconst allTeams = allTeamsObj ? Object.values(allTeamsObj) : [];\r\n\tconst isReadOnly = userInfo?.UserType?.isReadOnly();\r\n\tconst loggedUserType = Number(userInfo?.UserType);\r\n\tconst isLoggedUserExpert = Number(userInfo?.UserSubscriptionPlan) === SubscriptionPlan.Expert;\r\n const contracts = subscriptionDetails?.subscriptionContracts?.sort((a, b) => b.subscriptionPlanValue - a.subscriptionPlanValue);\r\n\tconst isMultiSubscription = contracts?.length > 1;\r\n\r\n\tconst formatedUsers = useMemo(() => formatData({ users, allAuthorizedUsers, allTeams, allActivesWorkspaces, userTypes }), [users, allAuthorizedUsers, allTeams, allActivesWorkspaces]);\r\n\r\n\tconst displayCreateButton =\r\n\t\t(!isReadOnly && !isMultiSubscription) || (isMultiSubscription && !isLoggedUserExpert && (loggedUserType === UserType.admin || loggedUserType === UserType.companyAdmin));\r\n\r\n\tconst createNewUser = () => history.push(`/edit-user?mode=${modes.create}`);\r\n\r\n\tconst data = useMemo(() => {\r\n\t\tconst contextData = {};\r\n\t\tcontextData.listData = formatedUsers;\r\n\t\tcontextData.dataKey = \"id\";\r\n\t\tcontextData.entityType = EntityList.User;\r\n\t\tcontextData.columns = columnsArray;\r\n\t\tcontextData.exportExcel = getUsersExcelExport;\r\n\t\tcontextData.Actions = (user) => CreateActionsDropdown({ actions: BaseActions({ user }), variant: \"default\", dropdownClasses: \"\" });\r\n\t\tcontextData.bulkActionsFunction = BulkActions;\r\n\t\tcontextData.buttonCreate = createNewUser;\r\n\t\tcontextData.buttonCreateLabel = \"INVITE\";\r\n\t\tcontextData.emptyListText = \"ASPX_203\";\r\n\t\tcontextData.showCheckbox = true;\r\n\t\tcontextData.bulkActions = true;\r\n\t\tcontextData.clickToOpen = true;\r\n\t\tcontextData.disableFixHeader = true;\r\n\t\tcontextData.showPagination = true;\r\n\t\tcontextData.visibleHeader = true;\r\n\t\tcontextData.visibleButtonCreate = displayCreateButton;\r\n\t\tcontextData.displayView = true;\r\n\t\tcontextData.listEditable = true;\r\n\t\tcontextData.loading = loading;\r\n\t\tcontextData.subscriptionDetails = subscriptionDetails;\r\n\t\tcontextData.filter = filters;\r\n\r\n\t\treturn contextData;\r\n\t}, [contracts, subscriptionDetails, loading, users, filters, columnsArray]);\r\n\r\n\treturn data;\r\n};\r\n\r\nconst formatData = ({ users, allAuthorizedUsers, allTeams, allActivesWorkspaces, userTypes }) => {\r\n\tconst newUsers = JSON.parse(JSON.stringify(users));\r\n newUsers.map((user) => {\r\n const authorizedUserId = allAuthorizedUsers?.find((authUser) => authUser?.domainName.toLowerCase() === user?.loginName?.toLowerCase())?.id;\r\n\t\tconst userTeams = allTeams?.filter((t) => t?.memberUserIds?.includes(authorizedUserId));\r\n\t\tconst userWorkspaces = allActivesWorkspaces?.filter((ws) => ws.authorizedUsers?.find((au) => au.id === authorizedUserId));\r\n \r\n\t\tuser.teamIds = userTeams.map((t) => t?.id);\r\n\t\tuser[\"userTypeName\"] = userTypes[user.userType];\r\n user.workspaceIds = userWorkspaces.map((ws) => ws?.id);\r\n return user\r\n });\r\n\treturn newUsers;\r\n};\r\n","import { filterItemsByUserRole } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { BulkActionsGenerator } from \"shared/components/BulkActionsGenerator\";\r\nimport BulkModalLinkComponent from \"shared/modals/bulk-links/BulkModalLinkComponent\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport GenericManageAccess from \"shared/modals/manage-access/GenericManageAccess\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { archiveProjects, deleteProjects, deleteProjectsPermanent, restoreProjects } from \"../reducer/ProjectsActions\";\r\nimport { BulkUpdateTags } from \"shared/dropdowns/library-dropdown/tags/bulk-update-tags\";\r\nimport { BulkUpdateGroups } from \"shared/dropdowns/library-dropdown/group/bulk-update-groups\";\r\n\r\nexport const BulkActions = (selectedProjects, setSelected, onSuccess, setDisableBulkActions) => {\r\n\tconst pathname = useLocation().pathname;\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\tconst isTemplate = pathname === \"/templates\";\r\n\r\n\tconst actions = [];\r\n\tconst projects = useSelector((state) => state.projects.all_projects);\r\n\tconst currentUserId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst selectedItemsIdsStr = selectedProjects.map((item) => item?.id).join(\"|\");\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n\r\n\tconst isManageAccessAllowed = isSubscriptionAllowed;\r\n\tconst filteredItemsIdsStr = filterItemsByUserRole({ allItems: projects, selectedItems: selectedProjects, currentUserId, isSubscriptionStandard: !isSubscriptionAllowed, userRoles: [\"owner\"] });\r\n\tconst filteredItemsByOwnersAndContrib = filterItemsByUserRole({\r\n\t\tallItems: projects,\r\n\t\tselectedItems: selectedProjects,\r\n\t\tcurrentUserId,\r\n\t\tisSubscriptionStandard: !isSubscriptionAllowed,\r\n\t\tuserRoles: [\"owner\", \"contributor\"],\r\n\t});\r\n\r\n\tconst areAllActionsValid = selectedItemsIdsStr.length === filteredItemsIdsStr.length;\r\n\r\n\tconst [showAccessModal] = useModal(GenericManageAccess);\r\n\tconst manageAccessMany = () => showAccessModal({ ids: filteredItemsIdsStr, bulk: true, onSuccess });\r\n\r\n\tconst [showModalArchivePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"ARCHIVE_MANY_GENERIC\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tarchiveProjects({ ids: filteredItemsIdsStr.split(\"|\"), displayToast: areAllActionsValid ? \"BULK_ARCHIVE_SUCCESS\" : \"BULK_ARCHIVE_PARTIAL\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ARCHIVE\",\r\n\t});\r\n\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_GENERIC\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteProjects({ ids: filteredItemsIdsStr.split(\"|\"), displayToast: areAllActionsValid ? \"BULK_DELETE_SUCCESS\" : \"BULK_DELETE_PARTIAL\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showModalDeletePermanentPopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_PERMANENT_GENERIC\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteProjectsPermanent({ ids: filteredItemsIdsStr.split(\"|\"), displayToast: areAllActionsValid ? \"BULK_DELETE_SUCCESS\" : \"BULK_DELETE_PARTIAL\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showBulkModalLinkComponent] = useModal(BulkModalLinkComponent);\r\n\r\n\tif (isTrash || isArchive) {\r\n\t\tif (filteredItemsIdsStr) actions.push({ handleClick: () => restoreProjects({ ids: filteredItemsIdsStr.split(\"|\"), onSuccess }), icon: \"RESTORE\", description: \"JS_96\" });\r\n\t\tif (filteredItemsIdsStr) actions.push({ handleClick: isArchive ? showModalDeletePopup : showModalDeletePermanentPopup, icon: \"DELETE\", description: isArchive ? \"ASPX_13\" : \"JS_97\" });\r\n\t} else {\r\n\t\tif (filteredItemsIdsStr) {\r\n\t\t\tactions.push({ handleClick: () => showBulkModalLinkComponent({ componentName: \"folder\", idAttribute: \"id\" }), icon: \"FOLDER-OPEN\", description: \"MOVE_TO_FOLDER\" });\r\n\r\n\t\t\tif (isSubscriptionAllowed) actions.push({ handleClick: showModalArchivePopup, icon: \"ARCHIVE\", description: \"ARCHIVE\" });\r\n\t\t\tactions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", description: \"ASPX_13\" });\r\n\t\t\tif (isManageAccessAllowed && !isTemplate) actions.push({ handleClick: manageAccessMany, icon: \"ACCESS\", description: \"ASPX_17\" });\r\n\t\t}\r\n\t\tif (filteredItemsByOwnersAndContrib) {\r\n\t\t\tactions.push({\r\n\t\t\t\trenderCustomComponent: () => ,\r\n\t\t\t});\r\n\t\t\tactions.push({\r\n\t\t\t\trenderCustomComponent: () => ,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n","/* eslint-disable no-undef */\r\nimport { updateFolderLinks } from \"@redux/index\";\r\nimport { FilterItemsByStatus, tableDefaultColumn, toastWrapper } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport BaseActions from \"features/projects/actions/BaseActions\";\r\nimport { BulkActions } from \"features/projects/actions/BulkActions\";\r\nimport { createProject, getProjectExcelExportList, updateMultiProject } from \"features/projects/reducer/ProjectsActions\";\r\nimport _ from \"lodash\";\r\nimport { useMemo } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport ListLinkedModal from \"shared/modals/list-links/ListLinkedModal\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { ActionLink } from \"../../columns-components/All_actions/ActionLink\";\r\n\r\nexport const GetProjectContext = (props) => {\r\n\tconst { linked, setRename, disableBulkActions } = props;\r\n\tconst { pathname, search } = useLocation();\r\n\tconst history = useHistory();\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst folderId = search.getFolderId();\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst projects = projectTransfromData(useSelector((state) => state.projects.all_projects)?.filter((project) => FilterItemsByStatus(project, pathname, \"/projects\", showSampleData, folderId)));\r\n\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\tconst linkedObjects = linked ? projects.filter((cx) => linked?.includes(cx.id)) : undefined;\r\n\r\n\tconst loading = useSelector((state) => state.projects.loading);\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[EntityList.Project]?.[specificContext]?.columns || tableDefaultColumn(EntityList.Project);\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.Project]?.[specificContext]?.filters;\r\n\r\n\tconst createNewProject = ({ setIsCreateBtnDisabled }) => {\r\n\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(true);\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(false);\r\n\t\t\tif (folderId) {\r\n\t\t\t\tupdateFolderLinks({ folderIds: [folderId], idsToLink: [data.id], entityName: \"cem_cxproject\" });\r\n\t\t\t} else {\r\n\t\t\t\thistory.push(`/EditProject?id=${data.id}`);\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onFailed = () => setIsCreateBtnDisabled && setIsCreateBtnDisabled(false);\r\n\t\tcreateProject({ item: { name: \"\" }, onSuccess, onFailed });\r\n\t};\r\n\r\n\tconst getExcelExportListProject = (ids, columns) => {\r\n\t\tconst promise = async () => {\r\n\t\t\tconst { data, error } = await dispatch(getProjectExcelExportList(ids, columns));\r\n\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\tfileDownload(data, \"Project List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\t\tif (error) throw error;\r\n\t\t};\r\n\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t};\r\n\tconst [showListLinkedModal] = useModal(ListLinkedModal);\r\n\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tprojectsList: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: columnsArray,\r\n\t\t\t\temptyListText: \"PROJECT_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t\tvisibleHeader: true,\r\n\t\t\t\tbuttonCreate: createNewProject,\r\n\t\t\t\tvisibleButtonCreate: !isReadOnly,\r\n\t\t\t\tdisplayView: folderId === undefined,\r\n\t\t\t\tshowOnlyLinked: folderId !== undefined || linked?.length > 0,\r\n\t\t\t\tlistEditable: true,\r\n\t\t\t},\r\n\t\t\tarchived: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"projectName\", \"lastUpdated\", \"tagIds\", \"statusId\", \"actions\"],\r\n\t\t\t\temptyListText: \"PROJECT_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeleted: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"projectName\", \"lastUpdated\", \"tagIds\", \"statusId\", \"actions\"],\r\n\t\t\t\temptyListText: \"PROJECT_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tcxProgram: {\r\n\t\t\t\tshowCheckbox: false, // modals of cxProgram that link/unlink\r\n\t\t\t\tcolumns: [\"projectName\", \"lastUpdated\", \"createdOn\", \"ownerId\", \"statusId\", \"actions\"],\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tshowOnlyLinked: true,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: linked?.length > 10,\r\n\t\t\t\tnonDropDown: true,\r\n\t\t\t\temptyListText: \"PROJECTS_PLACEHOLDER_PROGRAM\",\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\r\n\t\tif (isReadOnly) {\r\n\t\t\t// contextData.columns = contextData.columns.filter((col) => col !== \"actions\" && col !== \"select\");\r\n\t\t\t// contextData.showCheckbox = false;\r\n\t\t\tcontextData.bulkActions = false;\r\n\t\t}\r\n\t\tcontextData.readonly = isReadOnly;\r\n\r\n\t\tcontextData.exportExcel = getExcelExportListProject;\r\n\t\tcontextData.Actions = (project) => CreateActionsDropdown({ actions: BaseActions({ project, setRename }), variant: \"default\", dropdownClasses: \"\" });\r\n\t\tcontextData.bulkActionsFunction = BulkActions;\r\n\t\tcontextData.linkedObjects = linkedObjects;\r\n\t\tcontextData.onChangeObject = contextData?.listEditable ? (modifiedProjects, modifiedAttribNames) => updateMultiProject({ modifiedProjects, modifiedAttribNames }) : null;\r\n\t\tcontextData.listData = projects;\r\n\t\tcontextData.dataKey = \"id\";\r\n\t\tcontextData.entityType = EntityList.Project;\r\n\t\tcontextData.loading = loading;\r\n\t\tcontextData.buttonCreate = createNewProject;\r\n\t\tcontextData.buttonCreateLabel = \"NEW_PROJECT\";\r\n\t\tcontextData.filter = filters;\r\n\t\t// folder case\r\n\t\tif (folderId) {\r\n\t\t\tcontextData.showLinkFolderButton = true;\r\n\t\t\tcontextData.LinkFolderAction = () => showListLinkedModal({ folderId: folderId, linked: linked, entityType: EntityList.Project, saveButtonLabel: 'ASPX_44' });\r\n\t\t\tcontextData.LinkActionLabel = \"LINK_UNLINK_PROJECTS\";\r\n\t\t\tcontextData.displayExport = false;\r\n\r\n\t\t}\r\n\t\tif (specificContext === \"cxProgram\") {\r\n\t\t\tcontextData.Actions = props?.disableAction ? () => { } : (options) => ActionLink(options, \"cem_cxproject\", cxProgramId);\r\n\t\t}\r\n\t\treturn contextData;\r\n\t}, [isReadOnly, linked, linkedObjects, projects, loading, disableBulkActions, setRename, filters]);\r\n\treturn data;\r\n};\r\n\r\nconst projectTransfromData = (project) => {\r\n\treturn project?.map((project) => {\r\n\t\treturn {\r\n\t\t\t...project,\r\n\t\t\tgroupIds: project?.groups || [],\r\n\t\t\ttagIds: project?.tags || [],\r\n\t\t};\r\n\t});\r\n};\r\n","import { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport { t } from \"i18next\";\r\nimport _ from \"lodash\";\r\nimport { useMemo } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { toastWrapper } from \"@utils/helpers\";\r\nimport { deleteCxAssessment, getCxProgramAssessmentsExcelExportList } from \"@redux/index\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\n\r\nexport const GetAssessmentContext = (props) => {\r\n\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\tconst loading = useSelector((state) => state.settings.loading);\r\n\tconst cxAssessments = useSelector(({ cxProgram }) => cxProgram?.current_program?.cxAssessments)?.map((assessment) => ({\r\n\t\t...assessment,\r\n\t\tname : assessment.contactName\r\n\t\t}));\r\n\tconst { search } = useLocation();\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\tconst isDeletable = props.isEditable && !props.isContributor;\r\n\tconst hideForPdf = search.hideForPdf();\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.Global]?.[specificContext]?.filters;\r\n\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst { deleteAllowed } = PermissionManager({\r\n\t\tcontext: \"EditCxProgram.cxAssessments\",\r\n\t\thideForPdf,\r\n\t});\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleDeleteAssessment = (assessment) => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_RECORD\",\r\n\t\t\tAction: () => deleteCxAssessment({ cxProgramId, cxAssessmentIds: [assessment.id] }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tassessmentList: {\r\n\t\t\t\tvisibleHeader: true,\r\n\t\t\t\tvisibleButtonCreate: props.isEditable && !hideForPdf,\r\n\t\t\t\tcolumns: [\"contactName\", \"date\", \"score\", isDeletable && \"actions\"],\r\n\t\t\t\tdisplayView: !hideForPdf,\r\n\t\t\t\tdisplayExport: !hideForPdf,\r\n\t\t\t\tshowCheckbox: false,\r\n\t\t\t\temptyListText: \"NO_ASSESSMENTS\",\r\n\t\t\t\tbulkActions: false,\r\n\t\t\t\tdisableFixHeader: true,\r\n\t\t\t\tshowPagination: false,\r\n\t\t\t},\r\n\t\t};\r\n\t\tconst specificContext = props.context.split(\".\")[1];\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\t\tcontextData.listData = cxAssessments;\r\n\t\tcontextData.Actions = (assessment) =>\r\n\t\t\tdeleteAllowed &&\r\n\t\t\tCreateActionsDropdown({\r\n\t\t\t\tactions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"delete\",\r\n\t\t\t\t\t\thandleClick: () => handleDeleteAssessment(assessment),\r\n\t\t\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tvariant: \"default\",\r\n\t\t\t\tdropdownClasses: \"\",\r\n\t\t\t});\r\n\t\tcontextData.loading = loading;\r\n\t\tcontextData.buttonCreateLabel = \"NEW_ASSESSMENT\";\r\n\t\tcontextData.buttonCreate = props.handleCreate;\r\n\t\tcontextData.displayViewOptions = false;\r\n\t\tcontextData.redirectUrl = `edit-cx-assessment?programid=${cxProgramId}&id=`;\r\n\t\tcontextData.attribute = \"contactName\";\r\n\t\tcontextData.entityType = EntityList.Global;\r\n\t\tcontextData.filter = filters;\r\n\r\n\t\tcontextData.exportExcel = (cxProgramId) => {\r\n\t\t\tconst promise = async () => {\r\n\t\t\t\tconst { data, error } = await dispatch(getCxProgramAssessmentsExcelExportList({ cxProgramId }));\r\n\t\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\t\tfileDownload(data, \"CX Programs Assessments List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\t\t\tif (error) throw error;\r\n\t\t\t};\r\n\t\t\ttoastWrapper(promise, \"EXPORT\");\r\n\t\t};\r\n\t\treturn contextData;\r\n\t}, [loading, cxAssessments,filters]);\r\n\r\n\treturn data;\r\n};\r\n","import { PermissionManager } from \"@utils/permissionManager\";\r\nimport { archiveInsights, deleteInsights, deleteInsightsPermanent, restoreInsights } from \"features/insights/reducer/InsightActions\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport default function BaseActions({ insight, handleRedirect }) {\r\n\tconst { t } = useTranslation();\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\tconst id = insight.id;\r\n\r\n\tconst handleArchive = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ARCHIVE_GENERIC\",\r\n\t\t\tAction: () => archiveInsights({ ids: [id], onSuccess: handleRedirect }),\r\n\t\t\tactionBtnText: \"ARCHIVE\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_GENERIC\",\r\n\t\t\tAction: () => deleteInsights({ ids: [id], onSuccess: handleRedirect }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deleteInsightsPermanent({ ids: [id] }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n const { archiveAllowed, deleteAllowed, restoreAllowed, deletePermanentAllowed } = PermissionManager({});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tif (archiveAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"archive\",\r\n\t\t\t\thandleClick: handleArchive,\r\n\t\t\t\ticon: \"ARCHIVE\",\r\n\t\t\t\ttext: t(\"ARCHIVE\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deleteAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (restoreAllowed) actions.push({ id: \"restore\", handleClick: () => restoreInsights({ ids: [id] }), icon: \"RESTORE\", text: t(\"JS_96\") });\r\n\t\tif (deletePermanentAllowed) actions.push({ id: \"deletePermanent\", handleClick: handleDeletePermanent, itemStyle: \"warning-delete\", icon: \"DELETE\", text: t(\"JS_97\") });\r\n\t\tif (insight?.isSample) {\r\n\t\t\tactions = []\r\n\t\t}\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import { SelectInsightTypeModal } from \"features/insights/modals/SelectInsightTypeModal\";\r\nimport { archiveInsights, bulkUnlinkInsightRecords, deleteInsights, deleteInsightsPermanent, restoreInsights } from \"features/insights/reducer/InsightActions\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { BulkActionsGenerator } from \"shared/components/BulkActionsGenerator\";\r\nimport { BulkUpdateGroups } from \"shared/dropdowns/library-dropdown/group/bulk-update-groups\";\r\nimport { BulkUnlinkPersonas } from \"shared/dropdowns/library-dropdown/persona/bulk-unlink-personas\";\r\nimport { BulkUpdateTags } from \"shared/dropdowns/library-dropdown/tags/bulk-update-tags\";\r\nimport BulkModalLinkComponent from \"shared/modals/bulk-links/BulkModalLinkComponent\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport const BulkActions = (selectedInsights, setSelected, onSuccess, setDisableBulkActions) => {\r\n\tconst pathname = useLocation().pathname;\r\n\tconst isTrash = pathname === \"/trash\";\r\n\tconst isArchive = pathname === \"/archive\";\r\n\r\n\tconst actions = [];\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst selectedItemsIdsStr = selectedInsights.map((item) => item?.id).join(\"|\");\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(subscriptionPlan);\r\n\r\n\tconst [showModalArchivePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"ARCHIVE_MANY_GENERIC\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tarchiveInsights({ ids: selectedItemsIdsStr.split(\"|\"), displayToast: \"BULK_ARCHIVE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ARCHIVE\",\r\n\t});\r\n\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_GENERIC\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteInsights({ ids: selectedItemsIdsStr.split(\"|\"), displayToast: \"BULK_DELETE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst [showModalDeletePermanentPopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_MANY_PERMANENT_GENERIC\",\r\n\t\tAction: () => {\r\n\t\t\tsetDisableBulkActions(true);\r\n\t\t\tdeleteInsightsPermanent({ ids: selectedItemsIdsStr.split(\"|\"), displayToast: \"BULK_DELETE_SUCCESS\", onSuccess });\r\n\t\t},\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\tconst [selectInsightTypeModal] = useModal(SelectInsightTypeModal);\r\n\r\n\tconst [showBulkModalLinkComponent] = useModal(BulkModalLinkComponent);\r\n\r\n\tconst unlinkPersona = (personaToUnlinkId) =>\r\n\t\tbulkUnlinkInsightRecords({ recEntityName: \"cem_persona\", recIds: [personaToUnlinkId], itemIds: selectedItemsIdsStr.split(\"|\"), attribute: \"linkedPersonas\" });\r\n\r\n\tif (isTrash || isArchive) {\r\n\t\tactions.push({ handleClick: () => restoreInsights({ ids: selectedItemsIdsStr.split(\"|\"), onSuccess }), icon: \"RESTORE\", description: \"JS_96\" });\r\n\t\tactions.push({ handleClick: isArchive ? showModalDeletePopup : showModalDeletePermanentPopup, icon: \"DELETE\", description: isArchive ? \"ASPX_13\" : \"JS_97\" });\r\n\t} else {\r\n\t\tactions.push({ handleClick: () => showBulkModalLinkComponent({ componentName: \"folder\", idAttribute: \"id\" }), icon: \"FOLDER-OPEN\", description: \"MOVE_TO_FOLDER\" });\r\n\r\n\t\tif (isSubscriptionAllowed) actions.push({ handleClick: showModalArchivePopup, icon: \"ARCHIVE\", description: \"ARCHIVE\" });\r\n\t\tactions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", description: \"ASPX_13\" });\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => ,\r\n\t\t});\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => ,\r\n\t\t});\r\n\t\tactions.push({\r\n\t\t\trenderCustomComponent: () => ,\r\n\t\t});\r\n\t\tactions.push({\r\n\t\t\thandleClick: () => selectInsightTypeModal({ selectedItems: selectedInsights?.map((insight) => ({ insightId: insight?.id })) }),\r\n\t\t\ticon: \"CIRCLE-CARET-DOWN\",\r\n\t\t\tdescription: \"JS_78\",\r\n\t\t});\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n","import ListLinkedModal from \"shared/modals/list-links/ListLinkedModal\";\r\nimport { EditInsights } from \"features/index\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport BaseActions from \"features/insights/actions/BaseActions\";\r\nimport { BulkActions } from \"features/insights/actions/BulkActions\";\r\nimport { createInsight, getInsightsExcelExport } from \"features/insights/reducer/InsightActions\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { FilterItemsByStatus, createDefaultInsight, tableDefaultColumn } from \"@utils/helpers\";\r\nimport _ from \"lodash\";\r\nimport { useEffect, useMemo } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { updateFolderLinks } from \"@redux/index\";\r\n\r\nexport const GetInsightContext = (props) => {\r\n\tconst { linked, setRename, disableBulkActions } = props;\r\n\tconst { pathname, search } = useLocation();\r\n\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst userInfo = useSelector((state) => state.auth.userInfo);\r\n\tconst insightId = search.getId();\r\n\tconst folderId = search.getFolderId();\r\n\tconst all_maps = useSelector((state) => state.maps.all_maps).getActiveRecords(!showSampleData);\r\n\r\n\tconst allInsights = useSelector((state) => state.insights.all_insights);\r\n\tconst insights = useMemo(() => {\r\n\t\tconst relevantInsights = allInsights.filter((insight) => FilterItemsByStatus(insight, pathname, \"/insights\", showSampleData, folderId));\r\n\t\treturn transfromData(relevantInsights, all_maps);\r\n\t}, [allInsights, all_maps, folderId, pathname, showSampleData]);\r\n\tconst specificContext = props.context.split(\".\")[1];\r\n\tconst linkedObjects = linked ? insights.filter((ins) => linked?.includes(ins.id)) : undefined;\r\n\tconst loading = useSelector((state) => state.insights.loading);\r\n\tconst columnsArray = useSelector((state) => state.ui.table.entity)?.[EntityList.Insight]?.[specificContext]?.columns ?? tableDefaultColumn(EntityList.Insight);\r\n\tconst filters = useSelector((state) => state.ui.table.entity)?.[EntityList.Insight]?.[specificContext]?.filters;\r\n\r\n\r\n const [showEditModal] = useModal(EditInsights);\r\n\tuseEffect(() => {\r\n\t\tif(insightId && insights.length > 0){\r\n\t\t\tshowEditModal({ insightId: insightId })\r\n\r\n\t\t}\r\n\t}, [insightId,insights?.length]);\r\n\tconst create = ({ setIsCreateBtnDisabled }) => {\r\n\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(true);\r\n\t\tconst onSuccess = (data) => {\r\n\t\t\tif (setIsCreateBtnDisabled) setIsCreateBtnDisabled(false);\r\n\t\t\tif (folderId) updateFolderLinks({ folderIds: [folderId], idsToLink: [data.id], entityName: \"cem_insight\" });\r\n\t\t\tshowEditModal({ insightId: data.id })\r\n\t\t};\r\n\t\tconst onFailed = () => setIsCreateBtnDisabled && setIsCreateBtnDisabled(false);\r\n\t\tcreateInsight({ item: createDefaultInsight({ currentUser: userInfo }), onSuccess, onFailed });\r\n\t};\r\n\r\n\tconst [showListLinkedModal] = useModal(ListLinkedModal);\r\n\r\n\tconst data = useMemo(() => {\r\n\t\tconst newData = {\r\n\t\t\tinsightList: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: columnsArray,\r\n\t\t\t\temptyListText: \"INSIGHT_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: true,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t\tvisibleHeader: true,\r\n\t\t\t\tbuttonCreate: create,\r\n\t\t\t\tvisibleButtonCreate: !isReadOnly,\r\n\t\t\t\tdisplayView: folderId === undefined,\r\n\t\t\t\tshowOnlyLinked: folderId !== undefined || linked?.length > 0,\r\n\t\t\t\tlistEditable: true,\r\n\t\t\t},\r\n\t\t\tarchived: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"insightName\", \"linkedPersonas\", \"occurance\", \"insightType\", \"actions\"],\r\n\t\t\t\temptyListText: \"INSIGHT_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t\tdeleted: {\r\n\t\t\t\tshowCheckbox: true,\r\n\t\t\t\tcolumns: [\"select\", \"insightName\", \"linkedPersonas\", \"occurance\", \"insightType\", \"actions\"],\r\n\t\t\t\temptyListText: \"INSIGHT_EMPTY_LIST\",\r\n\t\t\t\tbulkActions: !disableBulkActions,\r\n\t\t\t\tclickToOpen: false,\r\n\t\t\t\tlinked: linked,\r\n\t\t\t\tdisableFixHeader: false,\r\n\t\t\t\tshowPagination: true,\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tconst contextData = _.get(newData, specificContext);\r\n\r\n\t\tif (isReadOnly) {\r\n\t\t\t// contextData.columns = contextData.columns.filter((col) => col !== \"actions\" && col !== \"select\");\r\n\t\t\t// contextData.showCheckbox = false;\r\n\t\t\tcontextData.bulkActions = false;\r\n\t\t}\r\n\t\tcontextData.readonly = isReadOnly;\r\n\t\tcontextData.exportExcel = getInsightsExcelExport;\r\n\t\tcontextData.Actions = (insight) => CreateActionsDropdown({ actions: BaseActions({ insight, setRename }), variant: \"default\", dropdownClasses: \"\" });\r\n\t\tcontextData.bulkActionsFunction = BulkActions;\r\n\t\tcontextData.linkedObjects = linkedObjects;\r\n\t\tcontextData.listData = insights;\r\n\t\tcontextData.dataKey = \"id\";\r\n\t\tcontextData.entityType = EntityList.Insight;\r\n\t\tcontextData.loading = loading;\r\n\t\tcontextData.buttonCreate = create;\r\n\t\tcontextData.route = \"\";\r\n\t\tcontextData.buttonCreateLabel = \"NEW_INSIGHT\";\r\n\t\tcontextData.filter = filters;\r\n\t\t// folder case\r\n\t\tif (folderId) {\r\n\t\t\tcontextData.showLinkFolderButton = true;\r\n\t\t\tcontextData.LinkFolderAction = () => showListLinkedModal({ folderId: folderId, linked: linked, entityType: EntityList.Insight, saveButtonLabel: \"ASPX_44\" });\r\n\t\t\tcontextData.LinkActionLabel = \"LINK_UNLINK_INSIGHTS\";\r\n\t\t\tcontextData.displayExport = false;\r\n\t\t}\r\n\r\n\t\treturn contextData;\r\n\t}, [isReadOnly, linked, linkedObjects,columnsArray, insights, loading, disableBulkActions, setRename, filters]);\r\n\treturn data;\r\n};\r\n\r\nconst transfromData = (insights, allMapsActive) => {\r\n\treturn insights?.map((insight) => {\r\n\t\tconst lastUpdatedNew = new Date(insight?.lastUpdated);\r\n\r\n\t\treturn {\r\n\t\t\t...insight,\r\n\t\t\tlastUpdated:lastUpdatedNew,\r\n\t\t\toccurance: allMapsActive?.filter(obj => Object.keys(insight?.linkedCjms).includes(obj[\"cjmId\"])).length || 0,\r\n\t\t\tcjmIds: allMapsActive?.filter(obj => Object.keys(insight?.linkedCjms).includes(obj[\"cjmId\"]))?.map(linkCjm=>linkCjm?.cjmId) || [],\r\n\t\t\tcjmIdsStr: allMapsActive?.filter(obj => Object.keys(insight?.linkedCjms).includes(obj[\"cjmId\"]))?.map(linkCjm=>linkCjm?.cjmId) || [],\r\n\t\t\tgroupIds: insight?.groups ?? [],\r\n\t\t\ttagIds: insight?.tags ?? [],\r\n\t\t};\r\n\t});\r\n};\r\n","import TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\nimport _ from \"lodash\";\r\nimport { useSelector } from \"react-redux\";\r\nimport GenericPopover from \"shared/popovers/GenericPopover\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components\";\r\nimport { getTaxonomyColorData } from \"utils/helpers\";\r\n\r\nexport const Groups = ({ recordId, allRecordsSelector }) => {\r\n\tconst parentItem = useSelector((state) => _.get(state, allRecordsSelector) || [])?.find((item) => (item?.id || item?.personaId || item?.cjmId) === recordId);\r\n\tconst allGroups = useSelector((state) => state.libraries?.group);\r\n\tlet groupIds = parentItem?.groups;\r\n\r\n\tconst GroupCard = ({ groupId }) => {\r\n\t\tconst currentGroup = allGroups?.find((g) => g?.id === groupId) || {};\r\n\t\tconst { backgroundColor, color } = getTaxonomyColorData({ entity: \"group\", colorCode: currentGroup?.colorCode });\r\n\t\treturn ;\r\n\t};\r\n\r\n\tconst custom = (\r\n\t\t
\r\n\t\t\t{groupIds?.slice(2, Infinity).map((groupId) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n\treturn (\r\n\t\t\r\n\t\t\t{groupIds?.slice(0, 2).map((groupId) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\t{groupIds?.length > 2 && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+{groupIds?.length - 2}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\nconst WrapperDiv = styled.div`\r\n\tdisplay: -webkit-box;\r\n\toverflow: hidden;\r\n`;\r\n\r\nexport default Groups;\r\n","import { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { EMPTY_GUID, isUserAllowed } from \"@utils/helpers\";\r\nimport { StatusCode, urlOriginStatus } from \"@utils/optionsSets/OptionSets\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis\";\r\nimport { deleteMapImage, replaceMapLogo, updateCjmName } from \"features/journey-map/reducer/CJMActions\";\r\nimport { t } from \"i18next\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { EditLogoModal } from \"shared/modals/index\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport CustomTooltip from \"../../../shared/components/CustomTooltip\";\r\nimport EditTitle from \"../../../shared/components/EditableText\";\r\nimport * as Style from \"./Styles\";\r\nimport { currentWorkspaceId } from \"index\";\r\n\r\nconst MapName = ({ map, rename, setRename, isIconDisplayed = true, clickToOpen }) => {\r\n\tconst nameRef = useRef();\r\n\tconst envName = window.location.pathname.split(\"/\")[1];\r\n\tconst { pathname, search } = useLocation();\r\n\tconst history = useHistory();\r\n\tconst folderId = search.getFolderId();\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst userType = Number(userInfo.UserType);\r\n\tconst userAccessPrivilege = map?.authorizedUsers?.filter((user) => user.id === userInfo.UserId)[0]?.roleName;\r\n\tconst isEditable = isUserAllowed(userType, \"edit-cjm\") && userAccessPrivilege !== \"viewer\";\r\n\tconst [mapName, setName] = useState(map?.name);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\r\n\tconst mapCustomImageUrl = map?.isCustomImage ? getterApis[\"GET_MAP_CUSTOM_IMG\"](map.cjmId, sessionId) : \"\";\r\n\tconst [mapImage, setMapImage] = useState(mapCustomImageUrl);\r\n\r\n\tuseEffect(() => {\r\n\t\tmap.name !== mapName && setName(map.name);\r\n\t}, [map.name]);\r\n\r\n\tconst ellipsis = nameRef.current?.offsetWidth < nameRef.current?.scrollWidth;\r\n\tconst [isTruncated, setIsTruncated] = useState(false);\r\n\tconst { cxProgramId } = search.getCxProps();\r\n\r\n\tconst blank = pathname === \"/libraries\" ? \"_blank\" : \"\";\r\n\tconst Link = `/EditMap?cjmid=${map.cjmId}&personaId=${map.linkedPersonas[0]?.personaId || EMPTY_GUID}&origin=1${folderId ? `&folderid=${folderId}` : \"\"}`;\r\n\r\n\tconst updateMapIcon = async (icon) => {\r\n\t\tif (icon === \"delete\") {\r\n\t\t\tremoveMapIcon();\r\n\t\t} else {\r\n\t\t\tconst FileExtension = icon.split(\";\")[0].split(\"/\")[1];\r\n\t\t\tconst DocumentBody = icon.split(\",\").pop();\r\n\r\n\t\t\tif (FileExtension === \"map\") return;\r\n\t\t\treplaceMapLogo({ cjmId: map.cjmId, FileExtension, DocumentBody, onSuccess: () => setMapImage(getterApis[\"GET_MAP_CUSTOM_IMG\"](map.cjmId, sessionId) + `&${Math.random()}=true`) });\r\n\t\t}\r\n\t};\r\n\r\n\tconst removeMapIcon = async () => deleteMapImage({ cjmId: map.cjmId });\r\n\r\n\tconst handleMouseEnter = () => {\r\n\t\tif (nameRef.current) {\r\n\t\t\tsetIsTruncated(nameRef.current.scrollHeight > nameRef.current.clientHeight);\r\n\t\t}\r\n\t};\r\n\tconst handleRedirect = (e) => {\r\n\t\tconst endpoint = `/EditMap?cjmid=${map?.cjmId}&personaId=${map?.linkedPersonas[0]?.personaId || EMPTY_GUID}${cxProgramId ? `&origin=${urlOriginStatus.DefaultReturn}` : \"\"}${\r\n\t\t\tfolderId ? `&folderid=${folderId}` : \"\"\r\n\t\t}`;\r\n\t\tif (pathname === \"/EditCxProgram\") {\r\n\t\t\te.preventDefault();\r\n\t\t\thistory.push(endpoint);\r\n\t\t}\r\n\t\tif (pathname?.includes(\"library\")) {\r\n\t\t\te.preventDefault();\r\n\t\t\twindow.open(`${envName}/${currentWorkspaceId}` + endpoint);\r\n\t\t}\r\n\t};\r\n\tconst [showModalIcon] = useModal(EditLogoModal, {\r\n\t\t// setImage: updateMapIcon,\r\n\t\tdeleteImage: removeMapIcon,\r\n\t\tupdateImg: updateMapIcon,\r\n\t\tcjmIdStr: map.cjmId,\r\n\t\tsessionId: sessionId,\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{isIconDisplayed && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{map?.isCustomImage ? \"\" : IconDispatcher(\"MAP-DEFAULT\")}\r\n\t\t\t\t\t\t{isEditable && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{IconDispatcher(\"upload\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{map?.hasHierarchy && {IconDispatcher(\"MAP-HIERARCHY\")}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{rename !== map.cjmId && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{mapName}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{rename === map.cjmId && }\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default MapName;\r\n","import InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport { AvatarGroup } from \"primereact/avatargroup\";\r\nimport styled from \"styled-components\";\r\nimport * as Style from \"./Styles\";\r\n\r\nexport default function Owners(item) {\r\n\tconst owners = item?.authorizedUsers?.filter((user) => user.roleName.toLowerCase() === \"owner\");\r\n\treturn (\r\n\t\t\r\n\t\t\t{owners?.slice(0, 1).map((owner) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\t{owners?.length > 1 && +{owners.length - 1}}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst GroupWrapper = styled(AvatarGroup)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tdisplay: -webkit-box;\r\n\toverflow: hidden;\r\n`;\r\n","import _ from \"lodash\";\r\nimport React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport DisplayState from \"shared/cx-components/DisplayState\";\r\n\r\n function State({entity, dataKey, path, onChangeState}) {\r\n const object = useSelector((state) => _.get(state, path))?.find((x) => x[dataKey] === entity[dataKey]);\r\n\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst roleName = object?.authorizedUsers?.find((user) => user.id === userInfo?.UserId)?.roleName;\r\n\tconst { editRowAllowed } = PermissionManager({ userAccess: roleName });\r\n\r\n\tconst selectedIds = useSelector((state) => state.ui.table.selectedIds);\r\n\tconst handleChange = (newObject) => {\r\n\t\tif (selectedIds?.map((x) => x[dataKey])?.includes(object[dataKey])) {\r\n\t\t\t//updated all the selected list\r\n\t\t\tconst ids = selectedIds?.map((x) => x[dataKey]).join(\"|\");\r\n\t\t\tonChangeState && onChangeState(newObject[\"isFuture\"], ids);\r\n\t\t} else {\r\n\t\t\tonChangeState && onChangeState(newObject[\"isFuture\"], object[dataKey]);\r\n\t\t}\r\n\t};\r\n\treturn ;\r\n}\r\nexport default State;","import { selectGroup, selectQueryView, selectSelectedViewId, selectStatus, selectTag } from \"@redux/memoizedSelectors\";\r\nimport { checkStyle, sortType } from \"@utils/helpers\";\r\nimport { EntityList, TemplateStatus } from \"@utils/optionsSets/OptionSets\";\r\nimport PickListData from \"@utils/optionsSets/PickListData\";\r\nimport { ActivityFilterTemplate, PickListMultipleTemplate, dateBodyTemplate, dateFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { t } from \"i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { EmotionLevelAndSmiley } from \"shared/ui-basics/ui-components/EmotionLevelComponents/EmotionLevelAndSmiley\";\r\nimport AuthorizedUsers from \"../../columns-components/AuthorizedUsers\";\r\nimport Groups from \"../../columns-components/Groups\";\r\nimport MapName from \"../../columns-components/MapName\";\r\nimport Owners from \"../../columns-components/Owner\";\r\nimport Personas from \"../../columns-components/Personas\";\r\nimport { Status } from \"../../columns-components/ReusableListComponents\";\r\nimport State from \"../../columns-components/State\";\r\nimport { EllipsisText } from \"../../columns-components/Style\";\r\nimport Tags from \"../../columns-components/Tags\";\r\n\r\nexport const GetJourneyMapColumns = (props) => {\r\n\tconst { mapType, state, templateStatus } = PickListData(\"multiple\", [\"templateStatus\", \"state\", \"mapType\"]);\r\n\r\n\tconst { dataKey } = props?.contextData;\r\n\tconst context = props.context.split(\".\")[1];\r\n\tconst group = useSelector(selectGroup);\r\n\tconst tag = useSelector(selectTag);\r\n\tconst statusTypes = useSelector(selectStatus({ entity: \"customerJourney\" }));\r\n\tconst selectedViewId = useSelector((state) => selectSelectedViewId(state, EntityList.CustomerJourney, context));\r\n\tconst queryView = useSelector((state) => selectQueryView(state, EntityList.CustomerJourney))?.getById(selectedViewId)?.columnSetting;\r\n\tconst isInCxProgram = context === \"cxProgram\";\r\n\tconst isInPersona = context === \"editPersona\";\r\n\r\n\tconst getNameStyleSize = () => {\r\n\t\tif (isInCxProgram) return \"xxxl\";\r\n\t\treturn \"xl\";\r\n\t};\r\n\tconst onRedirectMap = (map) => {\r\n\t\t//related map on Persona can't open template map\r\n\t\treturn props.contextData.clickToOpen && (!isInPersona || (isInPersona && !map?.isTemplate));\r\n\t}\r\n\r\n\r\n\treturn {\r\n\t\tname: {\r\n\t\t\tfield: \"name\",\r\n\t\t\theader: t(\"JOURNEY_MAP_NAME\"),\r\n\t\t\tbody: (map) => MapName({ map: map, rename: props.rename, setRename: props.setRename, clickToOpen: onRedirectMap(map) }),\r\n\t\t\tsortable: true,\r\n\t\t\tclassName: `py-0 ${!isInCxProgram && !isInPersona && 'ps-0'}`,\r\n\t\t\tresizable: true,\r\n\t\t\tfilterField: \"name\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tstyle: checkStyle(queryView, \"name\", getNameStyleSize(), \"160px\"),\r\n\t\t},\r\n\t\tlinkedPersonas: {\r\n\t\t\tfield: \"linkedPersonas\",\r\n\t\t\theader: t(\"RELATED_PERSONAS\"),\r\n\t\t\tsortable: true,\r\n\t\t\t// filter: true,\r\n\t\t\t// filterField: \"concatPersona\",\r\n\t\t\t//showFilterMatchModes: false,\r\n\t\t\tclassName: \"py-0 \",\r\n\t\t\tbody: Personas,\r\n\t\t\tstyle: checkStyle(queryView, \"linkedPersonas\", \"m\", \"120px\"),\r\n\t\t},\r\n\t\tisFutureLabel: {\r\n\t\t\tfield: \"isFutureLabel\",\r\n\r\n\t\t\theader: t(\"JS_77\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tfilterField: \"isFutureValue\",\r\n\t\t\tstyle: checkStyle(queryView, \"isFutureLabel\", \"s\", \"120px\"),\r\n\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, state),\r\n\t\t\tbody: (entity) => State({ entity, dataKey, path: props?.contextData?.reducerPath, onChangeState: props?.contextData?.onChangeState }),\r\n\t\t},\r\n\t\tlastModifiedOn: {\r\n\t\t\tfield: \"lastModifiedOn\",\r\n\t\t\theader: t(\"JS_72\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tfilterField: \"lastModifiedOn\",\r\n\t\t\tdataType: \"date\",\r\n\t\t\tstyle: checkStyle(queryView, \"lastModifiedOn\", \"m\", \"140px\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t\tbody: (options) => dateBodyTemplate(options?.lastModifiedOn),\r\n\t\t},\r\n\t\tmapType: {\r\n\t\t\tfield: \"mapType\",\r\n\t\t\theader: t(\"JS_78\"),\r\n\t\t\tfilterField: \"mapType\",\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tsortFunction: sortType,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"mapType\", \"s\", \"120px\"),\r\n\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, mapType),\r\n\t\t},\r\n\t\tauthorizedUsers: {\r\n\t\t\tfield: \"authorizedUsers\",\r\n\t\t\theader: \"AuthorizedUsers\",\r\n\t\t\tbody: AuthorizedUsers,\r\n\t\t\tstyle: checkStyle(queryView, \"authorizedUsers\", \"xs\", \"96px\"),\r\n\t\t},\r\n\t\towner: {\r\n\t\t\tfield: \"authorizedUsers\",\r\n\t\t\theader: t(\"CS_35\"),\r\n\t\t\tbody: Owners,\r\n\t\t\tstyle: checkStyle(queryView, \"authorizedUsers\", isInCxProgram ? \"m\" : \"s\", \"112px\"),\r\n\t\t},\r\n\t\tstage: {\r\n\t\t\tfield: \"Stage\",\r\n\t\t\theader: t(\"ASPX_172\"),\r\n\t\t\tdataType: \"text\",\r\n\t\t\tbody: (options) => {options?.linkedStageName},\r\n\t\t\tstyle: checkStyle(queryView, \"Stage\", \"xxl\", \"120px\"),\r\n\t\t},\r\n\t\ttemplateStatus: {\r\n\t\t\tfield: \"templateStatus\",\r\n\t\t\tfilterField: \"templateStatus\",\r\n\t\t\tdataType: \"text\",\r\n\t\t\theader: t(\"ASPX_222\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tsortFunction: sortType,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (options) => t(options.templateStatus === TemplateStatus.published ? \"PUBLISHED\" : \"DRAFT\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, templateStatus),\r\n\t\t\tstyle: checkStyle(queryView, \"templateStatus\", \"s\", \"120px\"),\r\n\t\t},\r\n\t\tscore: {\r\n\t\t\tfield: \"score\",\r\n\t\t\tfilterField: \"score\",\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\theader: t(\"JS_79\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (map) => (map?.score > 0 ? : <>),\r\n\t\t\tstyle: checkStyle(queryView, \"score\", isInPersona ? \"s\" : \"m\", \"120px\"),\r\n\r\n\t\t\tfilterElement: (options) => ActivityFilterTemplate(options),\r\n\t\t},\r\n\t\tgroupIds: {\r\n\t\t\tfield: \"groupIds\",\r\n\t\t\tfilterField: \"groupIds\",\r\n\t\t\theader: t(\"GROUPS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (map) => Groups({ recordId: map?.cjmId, allRecordsSelector: \"maps.all_maps\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"groupIds\", \"m\", \"120px\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, group, t(\"SELECT_GROUP\")),\r\n\t\t},\r\n\t\ttagIds: {\r\n\t\t\tfield: \"tagIds\",\r\n\t\t\tfilterField: \"tagIds\",\r\n\t\t\theader: t(\"TAGS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (map) => Tags({ recordId: map?.cjmId, allRecordsSelector: \"maps.all_maps\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"tagIds\", \"m\", \"120px\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, tag, t(\"SELECT_TAG\")),\r\n\t\t},\r\n\t\tstatusId: {\r\n\t\t\tfield: \"statusId\",\r\n\t\t\tfilterField: \"statusId\",\r\n\t\t\theader: t(\"ASPX_222\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"statusId\", \"s\", \"160px\"),\r\n\r\n\t\t\tbody: (action) => Status({ record:action, dataKey:\"customerJourney\", handleUpdate: props?.contextData?.onChangeStatus,isDisabled:!props?.contextData?.listEditable}),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, statusTypes),\r\n\t\t},\r\n\t};\r\n};\r\n","import _ from \"lodash\";\r\nimport { useSelector } from \"react-redux\";\r\nimport GenericPopover from \"shared/popovers/GenericPopover\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport GroupComponent from \"shared/ui-basics/ui-components/group-component\";\r\nimport styled from \"styled-components\";\r\nimport { getCxAttributesItemsIds } from \"utils/helpers\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\n\r\n\r\nconst GroupsCxAttribute = ({ data,allRecordsSelector }) => {\r\n const allActiveItems = useSelector((state) => _.get(state, allRecordsSelector)?.filter((item) => item.statusCode === StatusCode.Active) || []);\r\n\tconst currentItem = allActiveItems?.find((opp) => opp.id === data?.id);\r\n const groupIds = getCxAttributesItemsIds({ data: currentItem, informationType: InformationType.Group, attributeItem: \"groups\" });\r\n\tconst currentGroupIds = useSelector((state) => state?.libraries?.group?.filter(group => groupIds?.includes(group.id))?.map(g => g?.id));\r\n \r\n\tconst custom = (\r\n\t\t
\r\n\t\t\t{currentGroupIds?.slice(2, Infinity).map((group) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n\treturn (\r\n\t\t\r\n\t\t\t{currentGroupIds?.slice(0, 2).map((group) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\t{currentGroupIds?.length > 2 && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n +{currentGroupIds?.length - 2}\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst WrapperDiv = styled.div`\r\n\tdisplay: -webkit-box;\r\n\toverflow: hidden;\r\n`;\r\n\r\nexport default GroupsCxAttribute;\r\n\r\n","import { useSelector } from \"react-redux\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport GenericPopover from \"shared/popovers/GenericPopover\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const JourneyMaps = ({ cjmIds}) => {\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst all_maps = useSelector((state) => state.maps.all_maps).getActiveRecords(!showSampleData,false);\r\n\tconst RenderMapItem = ({ cjmId, className, showIcon = true }) => {\r\n\t\tconst cjm = all_maps?.find((map) => map.cjmId === cjmId);\r\n\t\treturn \r\n\t\t\t{showIcon && IconDispatcher(\"CJM\",\"border border-dark rounded-circle p-1 me-2\") }\r\n\t\t\t
\r\n\t\t\t\t{cjm?.name}\r\n\r\n\t\t\t
\r\n\t\t
;\r\n\t};\r\n\tconst accessCjmIds = cjmIds?.filter((cjmId) => all_maps?.find((map) => map.cjmId === cjmId));\r\n\tconst MapListPopover = (\r\n\t\t
\r\n\t\t\t{accessCjmIds?.slice(1, Infinity).map((cjm) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n\r\n\tconst render = () => {\r\n\t\tif (accessCjmIds?.length === 0) return \"-\";\r\n\t\tif (accessCjmIds?.length === 1)\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\tif (accessCjmIds?.length > 1) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+{accessCjmIds?.length - 1}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\treturn render();\r\n};\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\toverflow: hidden;\r\n`;\r\n\r\nconst WrapperMap = styled.div`\r\n\tmax-width: 320px;\r\n`;\r\n\r\nconst PopoerTriggerContainer = styled.div`\r\n\tdisplay: flex;\r\n\twidth: 100%;\r\n`;\r\n\r\nconst Number = styled.div`\r\n margin-left: 4px;\r\n`\r\n","import _ from \"lodash\";\r\nimport { useSelector } from \"react-redux\";\r\nimport GenericPopover from \"shared/popovers/GenericPopover\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport Tag from \"shared/ui-basics/ui-components/tag\";\r\nimport styled from \"styled-components\";\r\nimport { getCxAttributesItemsIds } from \"utils/helpers\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\n\r\n\r\nconst TagsCxAttribute = ({ data, allRecordsSelector }) => {\r\n const allActiveItems = useSelector((state) => _.get(state, allRecordsSelector)?.filter((item) => item?.statusCode === StatusCode.Active) || []);\r\n\tconst currentItem = allActiveItems?.find((opp) => opp.id === data?.id);\r\n const tagIds = getCxAttributesItemsIds({ data: currentItem, informationType: InformationType.Tags, attributeItem: \"tags\" });\r\n\tconst currentTagsIds = useSelector((state) => state?.libraries?.tags?.filter(tag => tagIds?.includes(tag.id))?.map(tag => tag?.id));\r\n\r\n\tconst custom = (\r\n\t\t
\r\n\t\t\t{currentTagsIds?.slice(2, Infinity).map((tag) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n\treturn (\r\n\t\t\r\n\t\t\t{currentTagsIds?.slice(0, 2).map((tag) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\t{currentTagsIds?.length > 2 && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+{currentTagsIds?.length - 2}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst WrapperDiv = styled.div`\r\n\tdisplay: -webkit-box;\r\n\toverflow: hidden;\r\n`;\r\n\r\nexport default TagsCxAttribute;\r\n","import InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport { AvatarGroup } from \"primereact/avatargroup\";\r\nimport styled from \"styled-components\";\r\nimport * as Style from \"./Styles\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nexport default function User(item) {\r\n const authorizedUsers = useSelector((state) => state.settings.currentWorkspaceAuthorizedUsers);\r\n const owners = authorizedUsers?.filter((user) => user.id === item.userId);\r\n\treturn (\r\n\t\t\r\n\t\t\t{owners?.slice(0, 1).map((owner) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\t{owners?.length > 1 && +{owners.length - 1}}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst GroupWrapper = styled(AvatarGroup)`\r\n\r\n\tdisplay: -webkit-box;\r\n\toverflow: hidden;`;","import { selectGroup, selectPriorities, selectQueryView, selectSelectedViewId, selectStatus, selectTag } from \"@redux/memoizedSelectors\";\r\nimport { checkStyle } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport GroupsCxAttribute from \"features/grid-table/columns-components/GroupsCxAttribute\";\r\nimport { JourneyMaps } from \"features/grid-table/columns-components/JourneyMaps\";\r\nimport TagsCxAttribute from \"features/grid-table/columns-components/TagsCxAttribute\";\r\nimport { PickListMultipleTemplate, PickListSingleFilterTemplate, balanceFilterTemplate, dateBodyTemplate, dateFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { t } from \"i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { groupUniqueIdsWithNames } from \"utils/helpers\";\r\nimport { DateCxAttributeColumn, Description, PriorityCxAttributeColumn, StatusCxAttributeColumn, Subject } from \"../../columns-components/ReusableListComponents\";\r\nimport User from \"features/grid-table/columns-components/User\";\r\nimport { retrieveAllActiveActions } from \"redux/memoizedSelectors\";\r\n\r\nexport const GetActionColumns = (props) => {\r\n\tconst context = props.context.split(\".\")[1];\r\n\tconst maps = useSelector((state) => state.maps.all_maps);\r\n\tconst priorityTypes = useSelector(selectPriorities({ entity: \"cxActions\" }));\r\n\tconst statusTypes = useSelector(selectStatus({ entity: \"cxActions\" }));\r\n\tconst authorizedUsers = useSelector((state) => state.settings.currentWorkspaceAuthorizedUsers);\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\r\n\tconst filteredUsers = authorizedUsers?.filter((user) => {\r\n\t\tconst userDetails = users?.find((u) => u?.loginName?.toLowerCase() === user?.domainName?.toLowerCase());\r\n\r\n\t\treturn userDetails?.isActive;\r\n\t})?.FormatFilterArray(\"id\", \"fullName\");\r\n\tconst group = useSelector(selectGroup);\r\n\tconst tag = useSelector(selectTag);\r\n\r\n\tconst selectedViewId = useSelector((state) => selectSelectedViewId(state, EntityList.Action, context));\r\n\tconst queryView = useSelector((state) => selectQueryView(state, EntityList.Action))?.getById(selectedViewId)?.columnSetting;\r\n\tconst isGroup = context === \"cxActionsListGroup\";\r\n\tconst list = props?.contextData?.listData;\r\n\tconst isColumnEditable = props?.contextData?.listEditable && context !== \"cxProgram\";\r\n\r\n\tconst journeyMapFilters = groupUniqueIdsWithNames({ objects: list, maps });\r\n\r\n\treturn {\r\n\t\tname: {\r\n\t\t\tfield: \"name\",\r\n\t\t\theader: t(\"ACTION_NAME\"),\r\n\t\t\tbody: (ac) => Subject(ac, { route: props?.contextData?.route, allowClick: props.contextData.clickToOpen }),\r\n\t\t\tsortable: true,\r\n\t\t\tfilterField: \"name\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tstyle: checkStyle(queryView, \"name\", isGroup ? \"xxxl\" : \"xxl\", \"120px\"),\r\n\t\t\tclassName: \"py-0\",\r\n\t\t},\r\n\t\tdescription: {\r\n\t\t\tfield: \"description\",\r\n\t\t\theader: t(\"ASPX_9\"),\r\n\t\t\tsortable: true,\r\n\t\t\tstyle: checkStyle(queryView, \"description\", \"m\"),\r\n\t\t\tbody: (ac) => Description(ac),\r\n\t\t},\r\n\t\tcjmIds: {\r\n\t\t\tfield: \"cjmIds\",\r\n\t\t\theader: t(\"JOURNEY_MAP\"),\r\n\t\t\tfilterField: \"cjmIdsStr\",\r\n\t\t\tsortable: true,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tbody: (action) => JourneyMaps(action),\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"cjmIds\", \"xl\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, journeyMapFilters, t(\"SELECT_VALUE\")),\r\n\t\t},\r\n\t\toccurance: {\r\n\t\t\tfield: \"occurance\",\r\n\t\t\tfilterField: \"occurance\",\r\n\t\t\theader: t(\"OCCURANCE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"occurance\", \"s\", \"120px\"),\r\n\t\t},\r\n\t\tpriorityId: {\r\n\t\t\tfield: \"priorityId\",\r\n\t\t\theader: t(\"PRIORITY\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tfilterField: \"priorityId\",\r\n\t\t\tstyle: checkStyle(queryView, \"priorityId\", \"m\", \"150px\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tPriorityCxAttributeColumn({\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\trecordType: \"cem_cxactiontask\",\r\n\t\t\t\t\tmemoizedSelector: retrieveAllActiveActions,\r\n\t\t\t\t\tonUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti,\r\n\t\t\t\t\tisDisabled: !isColumnEditable,\r\n\t\t\t\t}),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, priorityTypes),\r\n\t\t},\r\n\t\tstatusId: {\r\n\t\t\tfield: \"statusId\",\r\n\t\t\tfilterField: \"statusId\",\r\n\t\t\theader: t(\"ASPX_222\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"statusId\", \"m\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tStatusCxAttributeColumn({\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\trecordType: \"cem_cxactiontask\",\r\n\t\t\t\t\tmemoizedSelector: retrieveAllActiveActions,\r\n\t\t\t\t\tonUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti,\r\n\t\t\t\t\tisDisabled: !isColumnEditable,\r\n\t\t\t\t}),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, statusTypes),\r\n\t\t},\r\n\t\tgroupIds: {\r\n\t\t\tfield: \"groupIds\",\r\n\t\t\tfilterField: \"groupIds\",\r\n\t\t\theader: t(\"GROUPS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (data) => GroupsCxAttribute({ data, allRecordsSelector: \"actions.all_actions\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"groupIds\", \"m\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, group, t(\"SELECT_GROUP\")),\r\n\t\t},\r\n\t\ttagIds: {\r\n\t\t\tfield: \"tagIds\",\r\n\t\t\tfilterField: \"tagIds\",\r\n\t\t\theader: t(\"TAGS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (data) => TagsCxAttribute({ data, allRecordsSelector: \"actions.all_actions\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"tagIds\", \"m\"),\r\n\t\t\tfilterElement: (options) => PickListSingleFilterTemplate(options, tag, t(\"SELECT_TAG\")),\r\n\t\t},\r\n\t\tdueDateNew: {\r\n\t\t\tfield: \"dueDateNew\",\r\n\t\t\tfilterField: \"dueDateNew\",\r\n\t\t\theader: t(\"DUE_DATE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tdataType: \"date\",\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"dueDateNew\",context === \"home\" ? 'xl': \"m\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tDateCxAttributeColumn({\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\tmemoizedSelector: retrieveAllActiveActions,\r\n\t\t\t\t\tonUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti,\r\n\t\t\t\t\tisDisabled: !isColumnEditable,\r\n\t\t\t\t}),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tlastUpdated: {\r\n\t\t\tfield: \"lastUpdated\",\r\n\t\t\tfilterField: \"lastUpdated\",\r\n\t\t\theader: t(\"JS_72\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"lastUpdated\", \"m\"),\r\n\t\t\tdataType: \"date\",\r\n\t\t\tbody: (action) => dateBodyTemplate(action.lastUpdated, \"action\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tuserId: {\r\n\t\t\tfield: \"userId\",\r\n\t\t\theader: t(\"CS_35\"),\r\n\t\t\tbody: User,\r\n\t\t\tfilterField: \"userId\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, filteredUsers),\r\n\t\t\tstyle: checkStyle(queryView, \"userId\", \"xs\", \"96px\"),\r\n\t\t},\r\n\t};\r\n};\r\n","/* eslint-disable react/jsx-no-undef */\r\nimport { loadMainData } from \"@redux/pageReducer\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport { Link } from \"react-router-dom\";\r\nimport styled from \"styled-components/macro\";\r\nimport EditTitle from \"../../../shared/components/EditableText\";\r\nimport { updateCxProgram } from \"@redux/index\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const CxProgramName = (cxProgram, rename, setRename, openToClick) => {\r\n\tconst [cxProgramName, setName] = useState(cxProgram?.name);\r\n\tconst { pathname, search } = useLocation();\r\n\tconst folderId = search.getFolderId();\r\n\tconst desactivateClick = !openToClick;\r\n\tconst { t } = useTranslation();\r\n\tuseEffect(() => {\r\n\t\tsetName(cxProgram?.name);\r\n\t}, [cxProgram.name]);\r\n\r\n\tconst loadData = () => {\r\n\t\tloadMainData({ strategyId: cxProgram?.strategyId });\r\n\t};\r\n\r\n\tconst updateFunction = (modifiedCxProgram, modifiedAttribNames) => updateCxProgram({ modifiedCxProgram, modifiedAttribNames });\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{rename !== cxProgram.id && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{cxProgramName.defaultPlaceholder(\"CX_PROGRAM_NAME\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{rename === cxProgram.id && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Redirect = styled(Link)`\r\n\ttext-decoration: none;\r\n\t${(props) => props.desactivateclick === \"true\" && \"pointer-events: none; cursor:default;\"}\r\n`;\r\n\r\nconst StyledName = styled.div`\r\n\tline-height: 20px;\r\n\tcursor: pointer;\r\n\tcolor: #333333;\r\n\tmax-width: 100%;\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: pointer;\r\n\tfont-weight: 400 !important;\r\n\twhite-space: normal;\r\n\t/* @media screen and (max-width: 1290px) {\r\n\t\tmax-width: 8rem;\r\n\t} */\r\n`;\r\n","import { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { checkStyle } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { PickListMultipleTemplate, PickListSingleFilterTemplate, balanceFilterTemplate, dateBodyTemplate, dateFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { CxProgramName } from \"../../columns-components/CxProgramName\";\r\nimport Owners from \"../../columns-components/Owner\";\r\nimport Tags from \"../../columns-components/Tags\";\r\nimport { selectQueryView, selectSelectedViewId, selectTag } from \"@redux/memoizedSelectors\";\r\n\r\nexport const GetProgramColumns = (props) => {\r\n\tconst context = props.context.split(\".\")[1];\r\n\tconst tags = useSelector(selectTag);\r\n\tconst selectedViewId = useSelector((state) => selectSelectedViewId(state, EntityList.CXProgram, context));\r\n\tconst queryView = useSelector((state) => selectQueryView(state, EntityList.CXProgram))?.getById(selectedViewId)?.columnSetting;\r\n\r\n\treturn {\r\n\t\ttotalNumCjms: {\r\n\t\t\tfield: \"totalNumCjms\",\r\n\t\t\tfilterField: \"totalNumCjms\",\r\n\t\t\theader: t(\"ASPX_97\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"totalNumCjms\", \"s\"),\r\n\t\t},\r\n\t\ttotalNumPersonas: {\r\n\t\t\tfield: \"totalNumPersonas\",\r\n\t\t\tfilterField: \"totalNumPersonas\",\r\n\t\t\theader: t(\"ASPX_98\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"totalNumPersonas\", \"s\"),\r\n\t\t},\r\n\t\ttotalNumOpps: {\r\n\t\t\tfield: \"totalNumOpps\",\r\n\t\t\tfilterField: \"totalNumOpps\",\r\n\t\t\theader: t(\"OPPORTUNITIES\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"totalNumOpps\", \"s\"),\r\n\t\t},\r\n\t\ttotalNumActions: {\r\n\t\t\tfield: \"totalNumActions\",\r\n\t\t\tfilterField: \"totalNumActions\",\r\n\t\t\theader: t(\"JS_80\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"totalNumActions\", \"s\"),\r\n\t\t},\r\n\t\ttotalNumSols: {\r\n\t\t\tfield: \"totalNumSols\",\r\n\t\t\tfilterField: \"totalNumSols\",\r\n\t\t\theader: t(\"SOLUTIONS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"totalNumSols\", \"s\"),\r\n\t\t},\r\n\t\ttotalNumProjects: {\r\n\t\t\tfield: \"totalNumProjects\",\r\n\t\t\tfilterField: \"totalNumProjects\",\r\n\t\t\theader: t(\"PROJECTS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"totalNumProjects\", \"s\"),\r\n\t\t},\r\n\t\tcxProgramName: {\r\n\t\t\tfield: \"name\",\r\n\t\t\tfilterField: \"name\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\theader: t(\"CX_PROGRAM_NAME\"),\r\n\t\t\tsortable: true,\r\n\t\t\tstyle: checkStyle(queryView, \"name\", \"l\", \"300px\"),\r\n\t\t\tbody: (cxProgram) => CxProgramName(cxProgram, props.rename, props.setRename, props.contextData.clickToOpen),\r\n\t\t},\r\n\t\tauthorizedUsers: {\r\n\t\t\tfield: \"authorizedUsers\",\r\n\t\t\theader: t(\"CS_35\"),\r\n\t\t\tbody: Owners,\r\n\t\t\tstyle: checkStyle(queryView, \"authorizedUsers\", \"s\", \"96px\"),\r\n\t\t},\r\n\t\tlastUpdated: {\r\n\t\t\tfield: \"lastModifiedOn\",\r\n\t\t\theader: t(\"JS_72\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tfilterField: \"lastModifiedOn\",\r\n\t\t\tdataType: \"date\",\r\n\t\t\tstyle: checkStyle(queryView, \"lastModifiedOn\", \"s\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t\tbody: (options) => dateBodyTemplate(options?.lastModifiedOn),\r\n\t\t},\r\n\t\ttagIds: {\r\n\t\t\tfield: \"tagIds\",\r\n\t\t\tfilterField: \"tagIds\",\r\n\t\t\theader: t(\"TAGS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (program) => Tags({ recordId: program?.id, allRecordsSelector: \"cxProgram.all_cxPrograms\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"tagIds\", \"m\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, tags, t(\"SELECT_TAG\")),\r\n\t\t},\r\n\t};\r\n};\r\n","import { relinkPersona } from \"@redux/index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { FlexAlignJustifyCenter, FlexColumnGap, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\n\r\nexport default function HistoricalData(item) {\r\n const { t } = useTranslation();\r\n const history = useHistory();\r\n\tconst previousPersonasLink = useSelector((state) => state.maps.current_map?.previousPersonasLink);\r\n\tconst cjmIdStr = useSelector((state) => state.maps.current_map?.cjmId);\r\n\r\n\tconst onSuccess = () => {\r\n\t\thistory.push(`/EditMap?cjmid=${cjmIdStr}&personaId=${item.personaId}`);\r\n\t\thistory.go() ;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{previousPersonasLink?.includes(item.personaId) && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{IconDispatcher(\"INFO\", \"me-2\")}\r\n\t\t\t\t\t\t{t(\"DATA_ON_JOURNEY\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t relinkPersona({ cjmIdStr, personaIdStr: item.personaId, onSuccess, displayToast: \"RELINK\" })}>\r\n\t\t\t\t\t\t{t(\"USE_DATA\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst Text = styled.div`\r\n\tcolor: ${(props) => props.color};\r\n\tfont-family: Inter;\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\t${(props) =>\r\n\t\tprops.clikable &&\r\n\t\tcss`\r\n\t\t\t:hover {\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n","import * as Style from './Style.js';\r\n\r\nexport default function Occupation(options) {\r\n\treturn {options?.occupation}\r\n\r\n}\r\n","import { updateLockPersonaTemplate, updateStatusPersonaTemplate } from '@redux/index';\r\nimport { StatusCode, TemplateStatus } from \"@utils/optionsSets/OptionSets\";\r\nimport { updateLockedCJM, updateTemplateCJM } from 'features/index';\r\nimport GenericSwitch from 'shared/ui-basics/buttons';\r\n\r\nexport default function Template({ options, templateStatus, context }) {\r\n\r\n const status = templateStatus ? options?.templateStatus === TemplateStatus.published : options?.isLocked\r\n const inPersonas = context.includes(\"personas\")\r\n const updateTemplate = inPersonas ?(modifiedPersona,modifiedAttribNames) => updateStatusPersonaTemplate({modifiedPersona,modifiedAttribNames}) : updateTemplateCJM\r\n const updateLocked = inPersonas ?(modifiedPersona,modifiedAttribNames) => updateLockPersonaTemplate({modifiedPersona,modifiedAttribNames}) : updateLockedCJM\r\n\r\n const update = () => {\r\n if (inPersonas) {\r\n if (templateStatus) {\r\n const newStatus = options?.templateStatus === TemplateStatus.published ? TemplateStatus.draft : TemplateStatus.published\r\n updateTemplate({ personaId: options?.personaId, templateStatus: newStatus }, [\"templateStatus\"])\r\n } else {\r\n updateLocked({ personaId: options?.personaId, isLocked: !options?.isLocked }, [\"isLocked\"])\r\n }\r\n } else {\r\n if (templateStatus) {\r\n const newStatus = options?.templateStatus === TemplateStatus.published ? false : true\r\n updateTemplate({ id: options?.cjmId, isChecked: newStatus })\r\n } else {\r\n updateLocked({ id: options?.cjmId, isChecked: !options?.isLocked })\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\n","import { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { checkStyle } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { PickListMultipleTemplate, PickListSingleFilterTemplate, dateBodyTemplate, dateFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport HistoricalData from \"../../columns-components/HistoricalData\";\r\nimport Occupation from \"../../columns-components/Occupation\";\r\nimport Owners from \"../../columns-components/Owner\";\r\nimport PersonaName from \"../../columns-components/PersonaName\";\r\nimport State from \"../../columns-components/State\";\r\nimport Tags from \"../../columns-components/Tags\";\r\nimport Template from \"../../columns-components/Template\";\r\nimport PickListData from \"@utils/optionsSets/PickListData\";\r\nimport { selectQueryView, selectSelectedViewId, selectTag } from \"@redux/memoizedSelectors\";\r\n\r\nexport const GetPersonaColumns = (props) => {\r\n\tconst context = props.context.split(\".\")[1];\r\n\tconst { dataKey } = props?.contextData;\r\n\r\n\tconst tags = useSelector(selectTag);\r\n\r\n\tconst statesTypes = PickListData(\"isFutureLabel\");\r\n\r\n\tconst selectedViewId = useSelector((state) => selectSelectedViewId(state, EntityList.Persona, context));\r\n\tconst queryView = useSelector((state) => selectQueryView(state, EntityList.Persona))?.getById(selectedViewId)?.columnSetting;\r\n\tconst isInPersona = context === \"editPersona\";\r\n\tconst isInCxProgram = context === \"cxProgram\";\r\n\r\n return {\r\n personaName: {\r\n field: \"name\",\r\n header: t(\"JS_82\"),\r\n body: (options) => PersonaName(options, props.rename, props.setRename, props.contextData.clickToOpen),\r\n style: checkStyle(queryView, \"personaName\",\"l\", \"250px\"),\r\n sortable: true,\r\n filterField: \"name\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n },\r\n occupation: {\r\n field: \"occupation\",\r\n header: t(\"OCCUPATION\"),\r\n sortable: true,\r\n showFilterOperator: false,\r\n className: \"py-0\",\r\n style: checkStyle(queryView, \"occupation\", isInPersona || isInCxProgram ? \"xxl\":\"xl\"),\r\n body: Occupation,\r\n },\r\n associatedContactsCount: {\r\n field: \"associatedContactsCount\",\r\n filterField: \"associatedContactsCount\",\r\n header: t(\"CS_41\"),\r\n sortable: true,\r\n showFilterOperator: false,\r\n filter: true,\r\n dataType: \"numeric\",\r\n style: checkStyle(queryView, \"associatedContactsCount\", \"s\"),\r\n className: \"py-0 text-center\",\r\n },\r\n cjmCount: {\r\n field: \"cjmCount\",\r\n filterField: \"cjmCount\",\r\n header: t(\"ASPX_97\"),\r\n sortable: true,\r\n showFilterOperator: false,\r\n filter: true,\r\n dataType: \"numeric\",\r\n style: checkStyle(queryView, \"cjmCount\", \"s\", \"150px\"),\r\n className: \"py-0 text-center\",\r\n },\r\n tagIds: {\r\n header: t(\"TAGS\"),\r\n body: (persona) => Tags({ recordId: persona?.personaId, allRecordsSelector: \"personas.all_personas\" }),\r\n field: \"tagIds\",\r\n filterField: \"tagIds\",\r\n filterElement: (options) => PickListMultipleTemplate(options, tags, t(\"SELECT_TAG\")),\r\n filter: true,\r\n sortable: true,\r\n showFilterOperator: false,\r\n showFilterMatchModes: false,\r\n showAddButton: false,\r\n style: checkStyle(queryView, \"tagIds\", \"l\", \"140px\"),\r\n },\r\n templateStatus: {\r\n field: \"templateStatus\",\r\n header: t(\"JS_170\"),\r\n sortable: true,\r\n showFilterOperator: false,\r\n filter: true,\r\n dataType: \"boolean\",\r\n filterField: \"templateStatus\",\r\n className: \"py-0 \",\r\n body: (options) => Template({ options, templateStatus: true, context: props.context }),\r\n style: checkStyle(queryView, \"templateStatus\", \"s\", \"160px\"),\r\n },\r\n lastModifiedOn: {\r\n field: \"lastModifiedOn\",\r\n header: t(\"JS_72\"),\r\n sortable: true,\r\n showFilterOperator: false,\r\n filter: true,\r\n filterField: \"lastModifiedOn\",\r\n dataType: \"date\",\r\n style: checkStyle(queryView, \"lastModifiedOn\", \"m\", \"160px\"),\r\n filterElement: dateFilterTemplate,\r\n body: (options) => dateBodyTemplate(options?.lastModifiedOn),\r\n },\r\n isLocked: {\r\n field: \"isLocked\",\r\n header: t(\"JS_169\"),\r\n sortable: true,\r\n showFilterOperator: false,\r\n filter: true,\r\n dataType: \"boolean\",\r\n filterField: \"isLocked\",\r\n className: \"py-0 \",\r\n body: (options) => Template({ options, templateStatus: false, context: props.context }),\r\n style: checkStyle(queryView, \"isLocked\", \"s\", \"160px\"),\r\n },\r\n owner: {\r\n field: \"authorizedUsers\",\r\n header: t(\"CS_35\"),\r\n body: Owners,\r\n style: checkStyle(queryView, \"authorizedUsers\", \"xs\", \"96px\"),\r\n },\r\n isFutureLabel: {\r\n field: \"isFutureLabel\",\r\n header: t(\"JS_77\"),\r\n sortable: true,\r\n showFilterMatchModes: false,\r\n showFilterOperator: false,\r\n filter: true,\r\n filterField: \"isFutureValue\",\r\n style: checkStyle(queryView, \"isFutureLabel\", \"m\", \"120px\"),\r\n filterElement: (options) => PickListMultipleTemplate(options, statesTypes),\r\n body: (entity) => State({ entity, dataKey, path: props?.contextData?.reducerPath, onChangeState: props?.contextData?.onChangeState }),\r\n },\r\n historicalData: {\r\n header: t(\"DATA_ON_CURRENT_MAP\"),\r\n body: HistoricalData,\r\n style: checkStyle(undefined, \"\", \"xxl\"),\r\n },\r\n };\r\n};\r\n","import { updatePersonaName } from \"@redux/index\";\r\nimport { urlOriginStatus } from \"@utils/optionsSets/OptionSets\";\r\nimport PersonaBubble from \"features/forms/personas/components/PersonaBubble\";\r\nimport $ from \"jquery\";\r\nimport React, { useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { SmileyStaticComponent } from \"shared/ui-basics/ui-components/EmotionLevelComponents/SmileyStaticComponent\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport CustomTooltip from \"../../../shared/components/CustomTooltip\";\r\nimport EditTitle from \"../../../shared/components/EditableText\";\r\nimport * as Style from \"./Style\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { isRecentWorkById } from \"redux/memoizedSelectors\";\r\n\r\nexport const isEllipsisActiveFun = (id) => {\r\n\tconst e = $(\"persona-name-\" + id);\r\n\treturn e[0]?.offsetWidth < e[0]?.scrollWidth;\r\n};\r\n\r\nexport default function PersonaName(persona, rename, setRename, allowClick) {\r\n\tconst [personaName, setName] = React.useState(persona.name);\r\n\tconst { pathname, search } = useLocation();\r\n\tconst emotionLevel = Math.round(persona?.sentimentLevel);\r\n\tconst { cxProgramId } = search.getCxProps();\r\n\tconst folderId = search.getFolderId();\r\n\tconst history = useHistory();\r\n\tconst blank = pathname === \"/libraries\" ? \"_blank\" : \"\";\r\n\tconst Link = `/EditPersona?personaIdStr=${persona.personaId}${folderId ? `&folderid=${folderId}` : \"\"}`;\r\n\tconst { t } = useTranslation();\r\n\tconst isRecenterWork = useSelector(isRecentWorkById(persona?.personaId));\r\n\r\n\tuseEffect(() => {\r\n\t\tsetName(persona.name);\r\n\t}, [persona]);\r\n\r\n\tconst handleRedirect = (e) => {\r\n\t\tif (pathname === \"/EditCxProgram\") {\r\n\t\t\te.preventDefault(); // Prevents the default Link behavior\r\n\t\t\thistory.push(`/EditPersona?personaIdStr=${persona.personaId}${cxProgramId ? `&origin=${urlOriginStatus.DefaultReturn}` : \"\"}${folderId ? `&folderid=${folderId}` : \"\"}`);\r\n\t\t}\r\n\t\tif (pathname === \"/EditPersona\") {\r\n\t\t\te.preventDefault(); // Prevents the default Link behavior\r\n\t\t\thistory.push(`/EditPersona?personaIdStr=${persona.personaId}${`&origin=${urlOriginStatus.DefaultReturn}`}${folderId ? `&folderid=${folderId}` : \"\"}`);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\r\n\t\t\t\t{emotionLevel > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t{rename !== persona.personaId && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{personaName}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{rename === persona.personaId && }\r\n\t\t
\r\n\t);\r\n}\r\n","import { selectGroup, selectPriorities, selectQueryView, selectSelectedViewId, selectStatus, selectTag } from \"@redux/memoizedSelectors\";\r\nimport { checkStyle } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport GroupsCxAttribute from \"features/grid-table/columns-components/GroupsCxAttribute\";\r\nimport { JourneyMaps } from \"features/grid-table/columns-components/JourneyMaps\";\r\nimport TagsCxAttribute from \"features/grid-table/columns-components/TagsCxAttribute\";\r\nimport { PickListMultipleTemplate, balanceFilterTemplate, dateBodyTemplate, dateFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { t } from \"i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { groupUniqueIdsWithNames } from \"utils/helpers\";\r\nimport {\r\n\tDateCxAttributeColumn,\r\n\tDescription,\r\n\tOpportunityRatingColumn,\r\n\tPriorityCxAttributeColumn,\r\n\tStatusCxAttributeColumn,\r\n\tSubject\r\n} from \"../../columns-components/ReusableListComponents\";\r\nimport User from \"features/grid-table/columns-components/User\";\r\nimport { UserType } from \"utils/optionsSets/OptionSets\";\r\nimport { retrieveAllActiveOpportunities } from \"redux/memoizedSelectors\";\r\n\r\nexport const GetOpportunityColumns = (props) => {\r\n\tconst context = props.context.split(\".\")[1];\r\n\tconst maps = useSelector((state) => state.maps.all_maps);\r\n\r\n\tconst priorityTypes = useSelector(selectPriorities({ entity: \"opportunity\" }));\r\n\tconst statusTypes = useSelector(selectStatus({ entity: \"opportunity\" }));\r\n\tconst group = useSelector(selectGroup);\r\n\tconst tag = useSelector(selectTag);\r\n\tconst authorizedUsers = useSelector((state) => state.settings?.currentWorkspaceAuthorizedUsers);\r\n\tconst users = useSelector((state) => state.settings?.users);\r\n\r\n\tconst filteredUsers = authorizedUsers?.filter((user) => {\r\n\t\tconst userDetails = users?.find((u) => u?.loginName?.toLowerCase() === user?.domainName?.toLowerCase());\r\n\r\n\t\treturn userDetails?.isActive;\r\n\t})?.FormatFilterArray(\"id\",\"fullName\");\r\n\tconst selectedViewId = useSelector((state) => selectSelectedViewId(state, EntityList.Opportunity, context));\r\n\tconst queryView = useSelector((state) => selectQueryView(state, EntityList.Opportunity))?.getById(selectedViewId)?.columnSetting;\r\n\r\n\tconst list = props?.contextData?.listData;\r\n\tconst journeyMapFilters = groupUniqueIdsWithNames({ objects: list, maps });\r\n\tconst isColumnEditable = props?.contextData?.listEditable && context !== \"cxProgram\";\r\n\r\n\tconst isSample = context === \"sampleData\";\r\n\r\n\r\n\treturn {\r\n\t\tname: {\r\n\t\t\tfield: \"name\",\r\n\t\t\theader: t(\"OPPORTUNITY_NAME\"),\r\n\t\t\tbody: (opp) => Subject(opp, { route: props?.contextData?.route, allowClick: props?.contextData?.clickToOpen }),\r\n\t\t\tsortable: true,\r\n\t\t\tfilterField: \"name\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tstyle: checkStyle(queryView, \"name\", isSample ? \"xxl\" : \"m\"),\r\n\t\t\tclassName: \"py-0\",\r\n\t\t},\r\n\t\tdescription: {\r\n\t\t\tfield: \"description\",\r\n\t\t\tsortable: true,\r\n\t\t\theader: t(\"ASPX_9\"),\r\n\t\t\tdataType: \"text\",\r\n\t\t\tstyle: checkStyle(queryView, \"description\", \"l\"),\r\n\t\t\tbody: (opp) => Description(opp),\r\n\t\t},\r\n\t\tcjmIds: {\r\n\t\t\tfield: \"cjmIds\",\r\n\t\t\theader: t(\"JOURNEY_MAP\"),\r\n\t\t\tfilterField: \"cjmIdsStr\",\r\n\t\t\tsortable: true,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tbody: (opp) => JourneyMaps(opp),\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"cjmIds\", \"xl\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, journeyMapFilters, t(\"SELECT_VALUE\")),\r\n\t\t},\r\n\t\toccurance: {\r\n\t\t\tfield: \"occurance\",\r\n\t\t\tfilterField: \"occurance\",\r\n\t\t\theader: t(\"OCCURANCE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"occurance\", \"s\", \"120px\"),\r\n\t\t},\r\n\t\tpriorityId: {\r\n\t\t\tfield: \"priorityId\",\r\n\t\t\theader: t(\"PRIORITY\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tfilterField: \"priorityId\",\r\n\t\t\tstyle: checkStyle(queryView, \"priorityId\", \"m\", \"150px\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tPriorityCxAttributeColumn({\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\trecordType: \"cem_cxopportunity\",\r\n\t\t\t\t\tmemoizedSelector: retrieveAllActiveOpportunities,\r\n\t\t\t\t\tonUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti,\r\n\t\t\t\t\tisDisabled: !isColumnEditable,\r\n\t\t\t\t}),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, priorityTypes),\r\n\t\t},\r\n\t\tstatusId: {\r\n\t\t\tfield: \"statusId\",\r\n\t\t\tfilterField: \"statusId\",\r\n\t\t\theader: t(\"ASPX_222\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"statusId\", \"m\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tStatusCxAttributeColumn({\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\trecordType: \"cem_cxopportunity\",\r\n\t\t\t\t\tmemoizedSelector: retrieveAllActiveOpportunities,\r\n\t\t\t\t\tonUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti,\r\n\t\t\t\t\tisDisabled: !isColumnEditable,\r\n\t\t\t\t}),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, statusTypes),\r\n\t\t},\r\n\t\tcustomerValue: {\r\n\t\t\tfield: \"customerValue\",\r\n\t\t\tfilterField: \"customerValue\",\r\n\t\t\theader: t(\"CUSTOMER_VALUE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"customerValue\", \"s\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tOpportunityRatingColumn({ data, ratingLabel: t(\"CUSTOMER_VALUE\"), color: \"#6A91F7\", onUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti, isDisabled: !isColumnEditable }),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, range),\r\n\t\t},\r\n\t\tbusinessValue: {\r\n\t\t\tfield: \"businessValue\",\r\n\t\t\tfilterField: \"businessValue\",\r\n\t\t\theader: t(\"BUSINESS_VALUE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"businessValue\", \"s\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tOpportunityRatingColumn({ data, ratingLabel: t(\"BUSINESS_VALUE\"), color: \"#F8AD48\", onUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti, isDisabled: !isColumnEditable }),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, range),\r\n\t\t},\r\n\t\tgroupIds: {\r\n\t\t\tfield: \"groupIds\",\r\n\t\t\tfilterField: \"groupIds\",\r\n\t\t\theader: () =>
{t(\"GROUPS\")}
,\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (data) => GroupsCxAttribute({ data, allRecordsSelector: \"opportunity.all_Opportunities\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"groupIds\", \"m\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, group, t(\"SELECT_GROUP\")),\r\n\r\n\t\t},\r\n\t\ttagIds: {\r\n\t\t\tfield: \"tagIds\",\r\n\t\t\tfilterField: \"tagIds\",\r\n\t\t\theader: t(\"TAGS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (data) => TagsCxAttribute({ data, allRecordsSelector: \"opportunity.all_Opportunities\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"tagIds\", \"m\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, tag, t(\"SELECT_TAG\")),\r\n\t\t},\r\n\t\tdueDateNew: {\r\n\t\t\tfield: \"dueDateNew\",\r\n\t\t\tfilterField: \"dueDateNew\",\r\n\t\t\theader: t(\"DUE_DATE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tdataType: \"date\",\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"dueDateNew\", \"m\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tDateCxAttributeColumn({\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\tmemoizedSelector: retrieveAllActiveOpportunities,\r\n\t\t\t\t\tonUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti,\r\n\t\t\t\t\tisDisabled: !isColumnEditable,\r\n\t\t\t\t}),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tlastUpdated: {\r\n\t\t\tfield: \"lastUpdated\",\r\n\t\t\tfilterField: \"lastUpdated\",\r\n\t\t\theader: t(\"JS_72\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"lastUpdated\", \"m\"),\r\n\t\t\tdataType: \"date\",\r\n\t\t\tbody: (data) => dateBodyTemplate(data?.lastUpdated, \"action\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tuserId: {\r\n\t\t\tfield: \"userId\",\r\n\t\t\theader: t(\"CS_35\"),\r\n\t\t\tbody: User,\r\n\t\t\tstyle: checkStyle(queryView, \"userId\", \"xs\", \"96px\"),\r\n\t\t\tfilterField: \"userId\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, filteredUsers),\r\n\t\t},\r\n\t};\r\n};\r\nconst range = [\r\n\t{ value: 0, name: 0 },\r\n\t{ value: 1, name: 1 },\r\n\t{ value: 2, name: 2 },\r\n\t{ value: 3, name: 3 },\r\n\t{ value: 4, name: 4 },\r\n\t{ value: 5, name: 5 },\r\n];\r\n","import { selectGroup, selectQueryView, selectSelectedViewId, selectStatus, selectTag } from \"@redux/memoizedSelectors\";\r\nimport { checkStyle } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport GroupsCxAttribute from \"features/grid-table/columns-components/GroupsCxAttribute\";\r\nimport { JourneyMaps } from \"features/grid-table/columns-components/JourneyMaps\";\r\nimport TagsCxAttribute from \"features/grid-table/columns-components/TagsCxAttribute\";\r\nimport { PickListMultipleTemplate, PickListSingleFilterTemplate, SolutionTypeFilter, balanceFilterTemplate, dateBodyTemplate, dateFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { t } from \"i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { groupUniqueIdsWithNames } from \"utils/helpers\";\r\nimport { DateCxAttributeColumn, DatePicker, Description, StatusCxAttributeColumn, Subject, displayBenefitCard } from \"../../columns-components/ReusableListComponents\";\r\nimport User from \"features/grid-table/columns-components/User\";\r\nimport { retrieveAllActiveSolutions } from \"redux/memoizedSelectors\";\r\n\r\nexport const GetSolutionColumns = (props) => {\r\n\tconst context = props.context.split(\".\")[1];\r\n\tconst { dataKey } = props?.contextData;\r\n\r\n\tconst group = useSelector(selectGroup);\r\n\tconst tag = useSelector(selectTag);\r\n\tconst statusTypes = useSelector(selectStatus({ entity: \"solutions\" }));\r\n\tconst maps = useSelector((state) => state.maps.all_maps);\r\n\tconst selectedViewId = useSelector((state) => selectSelectedViewId(state, EntityList.Solution, context));\r\n\tconst queryView = useSelector((state) => selectQueryView(state, EntityList.Solution))?.getById(selectedViewId)?.columnSetting;\r\n\tconst authorizedUsers = useSelector((state) => state.settings.currentWorkspaceAuthorizedUsers);\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\r\n\tconst filteredUsers = authorizedUsers.filter((user) => {\r\n\t\tconst userDetails = users?.find((u) => u?.loginName?.toLowerCase() === user?.domainName?.toLowerCase());\r\n\r\n\t\treturn userDetails?.isActive;\r\n\t})?.FormatFilterArray(\"id\",\"fullName\");\r\n\tconst isSample = context === \"sampleData\";\r\n\tconst list = props?.contextData?.listData;\r\n\tconst isColumnEditable = props?.contextData?.listEditable && context !== \"cxProgram\";\r\n\r\n\tconst journeyMapFilters = groupUniqueIdsWithNames({ objects: list, maps });\r\n\r\n\tconst solutionTypes = [\r\n\t\t{ value: 100000000, name: t(\"QUICK_WIN\") },\r\n\t\t{ value: 100000002, name: t(\"NICE_TO_HAVE\") },\r\n\t\t{ value: 100000001, name: t(\"COMPLEX_PROJ\") },\r\n\t\t{ value: 100000003, name: t(\"TO_AVOID\") },\r\n\t];\r\n\r\n\treturn {\r\n\t\tname: {\r\n\t\t\tfield: \"name\",\r\n\t\t\theader: t(\"SOLUTION_NAME\"),\r\n\t\t\tbody: (data) => Subject(data, { route: props?.contextData?.route, allowClick: props?.contextData?.clickToOpen }),\r\n\t\t\tsortable: true,\r\n\t\t\tfilterField: \"name\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tstyle: checkStyle(queryView, \"name\", isSample ? \"xxxl\" : \"xxl\"),\r\n\t\t\tclassName: \"py-0\",\r\n\t\t},\r\n\t\tdescription: {\r\n\t\t\tfield: \"description\",\r\n\t\t\tsortable: true,\r\n\t\t\theader: t(\"ASPX_9\"),\r\n\t\t\tdataType: \"text\",\r\n\t\t\tstyle: checkStyle(queryView, \"description\", \"m\"),\r\n\t\t\tbody: (data) => Description(data),\r\n\t\t},\r\n\t\tcjmIds: {\r\n\t\t\tfield: \"cjmIds\",\r\n\t\t\theader: t(\"JOURNEY_MAP\"),\r\n\t\t\tfilterField: \"cjmIdsStr\",\r\n\t\t\tsortable: true,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tbody: (data) => JourneyMaps(data),\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"cjmIds\", \"xl\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, journeyMapFilters, t(\"SELECT_VALUE\")),\r\n\t\t},\r\n\t\toccurance: {\r\n\t\t\tfield: \"occurance\",\r\n\t\t\tfilterField: \"occurance\",\r\n\t\t\theader: t(\"OCCURANCE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"occurance\", \"s\", \"120px\"),\r\n\t\t},\r\n\t\tstatusId: {\r\n\t\t\tfield: \"statusId\",\r\n\t\t\tfilterField: \"statusId\",\r\n\t\t\theader: t(\"ASPX_222\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"statusId\", \"m\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tStatusCxAttributeColumn({\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\trecordType: \"cem_cxsolution\",\r\n\t\t\t\t\tmemoizedSelector: retrieveAllActiveSolutions,\r\n\t\t\t\t\tonUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti,\r\n\t\t\t\t\tisDisabled: !isColumnEditable,\r\n\t\t\t\t}),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, statusTypes),\r\n\t\t},\r\n\t\tsolutionType: {\r\n\t\t\tfield: \"solutionType\",\r\n\t\t\theader: t(\"JS_78\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tfilterField: \"solutionType\",\r\n\t\t\tstyle: checkStyle(queryView, \"solutionType\", \"m\"),\r\n\t\t\tbody: (solution) => displayBenefitCard(solution),\r\n\t\t\tfilterElement: (options) => SolutionTypeFilter(options, solutionTypes),\r\n\t\t},\r\n\t\ttagIds: {\r\n\t\t\tfield: \"tagIds\",\r\n\t\t\tfilterField: \"tagIds\",\r\n\t\t\theader: t(\"TAGS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (data) => TagsCxAttribute({ data, allRecordsSelector: \"solutions.all_solutions\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"tagIds\", \"m\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, tag, t(\"SELECT_TAG\")),\r\n\t\t},\r\n\t\tgroupIds: {\r\n\t\t\tfield: \"groupIds\",\r\n\t\t\tfilterField: \"groupIds\",\r\n\t\t\theader: t(\"GROUPS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (data) => GroupsCxAttribute({ data, allRecordsSelector: \"solutions.all_solutions\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"groupIds\", \"m\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, group, t(\"SELECT_GROUP\")),\r\n\t\t},\r\n\t\tlastUpdated: {\r\n\t\t\tfield: \"lastUpdated\",\r\n\t\t\tfilterField: \"lastUpdated\",\r\n\t\t\theader: t(\"JS_72\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"lastUpdated\", \"m\"),\r\n\t\t\tdataType: \"date\",\r\n\t\t\tbody: (data) => dateBodyTemplate(data.lastUpdated, \"action\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tdueDateNew: {\r\n\t\t\tfield: \"dueDateNew\",\r\n\t\t\tfilterField: \"dueDateNew\",\r\n\t\t\theader: t(\"DUE_DATE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tdataType: \"date\",\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"dueDateNew\", \"m\"),\r\n\t\t\tbody: (data) =>\r\n\t\t\t\tDateCxAttributeColumn({\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\tmemoizedSelector: retrieveAllActiveSolutions,\r\n\t\t\t\t\tonUpdateCxAttribute: props?.contextData?.onUpdateCxAttributeMulti,\r\n\t\t\t\t\tisDisabled: !isColumnEditable,\r\n\t\t\t\t}),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tuserId: {\r\n\t\t\tfield: \"userId\",\r\n\t\t\theader: t(\"CS_35\"),\r\n\t\t\tbody: User,\r\n\t\t\tfilterField: \"userId\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, filteredUsers),\r\n\t\t\tstyle: checkStyle(queryView, \"userId\", \"xs\", \"96px\"),\r\n\t\t},\r\n\t};\r\n};\r\n","import { checkStyle, onSortFunction } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport { dateBodyTemplate, dateFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { FolderName, OwnerFolder } from \"../../columns-components/ReusableListComponents\";\r\n\r\n\r\nexport const GetFolderColumns = (props) => {\r\n return {\r\n folderName: {\r\n field: \"name\",\r\n header: t(\"JS_69\"),\r\n style: checkStyle(undefined, \"name\", \"xxxl\"),\r\n sortable: true,\r\n filterField: \"name\",\r\n body: (folder) => FolderName(folder, props.rename, props.setRename),\r\n },\r\n linkedCjms: {\r\n field: \"linkedCjms\",\r\n dataType: \"numeric\",\r\n filter: true,\r\n filterField: \"linkedCjms.length\",\r\n header: t(\"ASPX_97\"),\r\n sortable: true,\r\n style: checkStyle(undefined, \"name\", \"l\"),\r\n sortFunction: onSortFunction,\r\n body: (folder) => folder.linkedCjms?.length || 0,\r\n showFilterOperator: false,\r\n },\r\n modifiedOn: {\r\n field: \"modifiedOn\",\r\n showFilterOperator: false,\r\n filter: true,\r\n header: t(\"JS_72\"),\r\n dataType: \"date\",\r\n sortable: true,\r\n style: checkStyle(undefined, \"name\", \"l\"),\r\n filterField: \"modifiedOn\",\r\n filterElement: dateFilterTemplate,\r\n body: (options) => dateBodyTemplate(options.modifiedOn),\r\n },\r\n createdByName: {\r\n field: \"createdByName\",\r\n header: t(\"JS_73\"),\r\n sortable: true,\r\n style: checkStyle(undefined, \"name\", \"l\"),\r\n body: OwnerFolder,\r\n },\r\n };\r\n};\r\n","import Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { useGetUserTeams } from \"shared/hooks\";\r\nimport { CustomDropdownButton } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const TeamsColumn = ({ user }) => {\r\n\tconst userTeams = useGetUserTeams(user);\r\n\r\n\tconst render = () => {\r\n if (userTeams?.length === 0) return \"-\";\r\n if (userTeams?.length === 1) return {userTeams[0]?.name};\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{userTeams?.length === 1 ? `${userTeams[0]?.name}` : `${userTeams[0]?.name} + ${userTeams?.length - 1}`}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{userTeams.map((team) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{team?.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn <>{render()};\r\n};\r\n\r\nTeamsColumn.displayName = \"TeamsColumn\";\r\n\r\nconst Title = styled.span`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\talign-self: flex-start;\r\n`;\r\n","import WorkspaceDropdown from \"features/workspace/components/dropdowns/workspace-dropdown\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { useGetUserWorkspaces } from \"shared/hooks\";\r\nimport { CustomDropdownButton } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const WorkspacesColumn = ({ user }) => {\r\n const currentUserWorkspaces = useGetUserWorkspaces(user?.loginName?.toLowerCase());\r\n const defaultWorkspace = currentUserWorkspaces.find(cuw => cuw?.isDefault)\r\n\tconst name = defaultWorkspace? defaultWorkspace?.name: currentUserWorkspaces[0]?.name;\r\n\r\n\tconst ToggleComponent = () => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{`${name} + ${currentUserWorkspaces?.length - 1}`}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst render = () => {\r\n\t\tif (currentUserWorkspaces?.length === 0) return \"-\";\r\n\t\tif (currentUserWorkspaces?.length === 1) return {name};\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn <>{render()};\r\n};\r\n\r\nWorkspacesColumn.displayName = \"WorkspacesColumn\";\r\n\r\nconst Title = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\twidth: 120px !important;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n","import { updateUserType } from \"@redux/index\";\r\nimport { getAllActiveWorkspaces, selectQueryView, selectSelectedViewId } from \"@redux/memoizedSelectors\";\r\nimport { checkStyle } from \"@utils/helpers\";\r\nimport { EntityList, SubscriptionPlan, UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport { TeamsColumn } from \"features/grid-table/columns-components/teams-column\";\r\nimport { WorkspacesColumn } from \"features/grid-table/columns-components/workspaces-column\";\r\nimport { GenericFilter, PickListSingleFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport UserDetails from \"features/settings/manage-users/components/user-details\";\r\nimport { t } from \"i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport UserTypeDropdown from \"shared/dropdowns/UserTypeDropdown\";\r\n\r\nexport const GetUserColumns = (props) => {\r\n\tconst context = props.context.split(\".\")[1];\r\n\tconst allActivesWorkspaces = useSelector(getAllActiveWorkspaces);\r\n\tconst allTeamsObj = useSelector((state) => state.settings?.teams);\r\n\tconst selectedViewId = useSelector((state) => selectSelectedViewId(state, EntityList.User, context));\r\n\tconst queryView = useSelector((state) => selectQueryView(state, EntityList.User))?.getById(selectedViewId)?.columnSetting;\r\n\tconst userInfo = useSelector((state) => state.auth?.userInfo);\r\n\tconst isLoggerAdmin = Number(userInfo.UserType) === UserType.admin;\r\n\r\n\tconst teams = allTeamsObj ? Object.values(allTeamsObj)?.FormatFilterArray() : [];\r\n const workspaces = allActivesWorkspaces?.FormatFilterArray();\r\n\r\n\tconst subPlans = [\r\n\t\t{ value: SubscriptionPlan.Enterprise, name: t(\"ENTERPRISE\") },\r\n\t\t{ value: SubscriptionPlan.Expert, name: t(\"EXPERT\") },\r\n\t\t{ value: SubscriptionPlan.Standard, name: t(\"STANDARD\") },\r\n\t];\r\n\tconst userTypes = [\r\n\t\t{ value: UserType.companyAdmin, name: t(\"SUPER_ADMIN\") },\r\n\t\t{ value: UserType.admin, name: t(\"CS_53\") },\r\n\t\t{ value: UserType.user, name: t(\"CS_52\") },\r\n\t\t{ value: UserType.readOnly, name: t(\"READ_ONLY\") },\r\n\t];\r\n\tconst activationStatuses = [\r\n\t\t{ value: true, name: t(\"CS_48\") },\r\n\t\t{ value: false, name: t(\"INACTIVE\") },\r\n\t];\r\n\r\n\tconst displaySubPlan = (planCode) => {\r\n\t\tif (planCode === 100000000) return t(\"BASIC\");\r\n\t\tif (planCode === 100000001) return t(\"STANDARD\");\r\n\t\tif (planCode === 100000002) return t(\"EXPERT\");\r\n\t\tif (planCode === 100000003) return t(\"ENTERPRISE\");\r\n\t\tif (planCode === 100000004) return t(\"EXPERT\");\r\n\t};\r\n\r\n\tconst getUserDetailsParams = (user) => {\r\n\t\tconst params = {};\r\n if ((isLoggerAdmin && user?.userType === UserType.companyAdmin) || (userInfo.UserEmail.toLowerCase() === user?.loginName.toLowerCase())) {\r\n params.desactivateClick = true\r\n params.tooltipText = t(\"USER_ACTION_WARNING\")\r\n }\r\n return params\r\n\t};\r\n\r\n\treturn {\r\n\t\tuserDetails: {\r\n\t\t\theader: t(\"CS_52\"),\r\n\t\t\tfield: \"fullName\",\r\n\t\t\tbody: (user) => ,\r\n sortable: true,\r\n filter: true,\r\n filterField: \"fullName\",\r\n showFilterOperator: false,\r\n\t\t\tstyle: checkStyle(queryView, \"userDetails\", \"xxl\"),\r\n\t\t\tclassName: \"py-0\",\r\n\t\t},\r\n\t\trole: {\r\n\t\t\theader: t(\"ROLE\"),\r\n\t\t\tbody: (user) => (user?.role ? user.role : \"-\"),\r\n\t\t\tfield: \"role\",\r\n\t\t\tfilterField: \"role\",\r\n\t\t\tstyle: checkStyle(queryView, \"role\", \"m\"),\r\n\t\t\tclassName: \"py-0\",\r\n\t\t\tfilter: false,\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t},\r\n\t\tuserTypeName: {\r\n\t\t\theader: t(\"CS_59\"),\r\n\t\t\tbody: (user) =>\r\n\t\t\t\tUserTypeDropdown({\r\n\t\t\t\t\tuser,\r\n\t\t\t\t\thandleUserTypeChange: ({ ...user }, userTypeCode) => {\r\n\t\t\t\t\t\tuser.userType = Number(userTypeCode);\r\n\t\t\t\t\t\tupdateUserType({ modifiedUser: user });\r\n\t\t\t\t\t},\r\n\t\t\t\t}),\r\n\t\t\tfield: \"userType\",\r\n\t\t\tfilterField: \"userType\",\r\n\t\t\tfilterElement: (options) => GenericFilter(options, userTypes),\r\n\t\t\tfilter: true,\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tstyle: checkStyle(queryView, \"userTypeName\", \"m\"),\r\n\t\t\tclassName: \"py-0\",\r\n\t\t},\r\n\t\tteams: {\r\n\t\t\theader: t(\"TEAMS\"),\r\n\t\t\tbody: (user) => TeamsColumn({ user }),\r\n\t\t\tfield: \"teamIds\",\r\n\t\t\tfilterField: \"teamIds\",\r\n\t\t\tfilterElement: (options) => PickListSingleFilterTemplate(options, teams, t(\"SELECT_TEAM\")),\r\n\t\t\tfilter: true,\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tstyle: checkStyle(queryView, \"teams\", \"l\"),\r\n\t\t},\r\n\t\tisActive: {\r\n\t\t\theader: t(\"ASPX_222\"),\r\n\t\t\tbody: (user) => (user.isActive ? \"Active\" : \"Inactive\"),\r\n\t\t\tfield: \"isActive\",\r\n\t\t\tfilterField: \"isActive\",\r\n\t\t\tfilterElement: (options) => PickListSingleFilterTemplate(options, activationStatuses, t(\"SELECT_STATUS\")),\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tsortable: true,\r\n\t\t\tclassName: \"py-0\",\r\n\t\t\tstyle: checkStyle(queryView, \"isActive\", \"s\", \"80px\"),\r\n\t\t},\r\n\t\tsubscriptionPlan: {\r\n\t\t\theader: t(\"PLAN_TYPE\"),\r\n\t\t\tbody: (user) => displaySubPlan(user.subscriptionPlan),\r\n\t\t\tfield: \"subscriptionPlan\",\r\n\t\t\tfilterField: \"subscriptionPlan\",\r\n\t\t\tfilterElement: (options) => GenericFilter(options, subPlans),\r\n\t\t\tfilter: true,\r\n\t\t\tsortable: true,\r\n\t\t\tstyle: checkStyle(queryView, \"subscriptionPlan\", \"m\"),\r\n\t\t\tclassName: \"py-0\",\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t},\r\n\t\tworkspaces: {\r\n\t\t\theader: t(\"WORKSPACES\"),\r\n\t\t\tbody: (user) => WorkspacesColumn({ user }),\r\n\t\t\tfield: \"workspaceIds\",\r\n\t\t\tfilterField: \"workspaceIds\",\r\n\t\t\tfilterElement: (options) => PickListSingleFilterTemplate(options, workspaces, t(\"SELECT_WORKSPACES\")),\r\n\t\t\tfilter: true,\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tstyle: checkStyle(queryView, \"workspaces\", \"s\"),\r\n\t\t},\r\n\t};\r\n};\r\n","import { encode } from \"@utils/helpers\";\r\nimport { urlOriginStatus } from \"@utils/optionsSets/OptionSets\";\r\nimport { updateProject } from \"features/projects/reducer/ProjectsActions\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { Link } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport styled from \"styled-components/macro\";\r\nimport EditTitle from \"../../../shared/components/EditableText\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const ProjectName = (project, rename, setRename, openToClick) => {\r\n\tconst [projectName, setName] = useState(project?.name);\r\n\tconst { pathname, search } = useLocation();\r\n\tconst history = useHistory();\r\n\tconst desactivateClick = !openToClick;\r\n\tconst { cxProgramId } = search.getCxProps();\r\n\tconst folderId = search.getFolderId();\r\n\tconst blank = pathname === '/libraries' ? \"_blank\" : \"\"\r\n\tconst Link = `/EditProject?id=${project?.id}${folderId ? `&folderid=${folderId}` : \"\"}`\r\n\tconst { t } = useTranslation();\r\n\r\n\tuseEffect(() => {\r\n\t\tsetName(project?.name);\r\n\t}, [project.name]);\r\n\r\n\tconst handleRedirect = (e) => {\r\n\t\tif (pathname === '/EditCxProgram') {\r\n\t\t\te.preventDefault(); // Prevents the default Link behavior\r\n\t\t\thistory.push(`/EditProject?id=${project?.id}${cxProgramId ? `&origin=${urlOriginStatus.DefaultReturn}` : \"\"}${folderId ? `&folderid=${folderId}` : \"\"}`);\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t
\r\n\t\t\t{rename !== project?.id && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{projectName.defaultPlaceholder(\"PROJECT_NAME\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{rename === project?.id && (\r\n\t\t\t\t updateProject({ modifiedProject: { ...modifiedProject, name: encode(modifiedProject.name.truncate(100,true)) }, modifiedAttribNames })}\r\n\t\t\t\t\tsetName={setName}\r\n\t\t\t\t\tsetRename={setRename}\r\n\t\t\t\t\tnameAttribute={\"name\"}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Redirect = styled(Link)`\r\n\ttext-decoration: none;\r\n\t${(props) => props.desactivateclick === \"true\" && \"pointer-events: none; cursor:default;\"}\r\n`;\r\n\r\nconst StyledName = styled.div`\r\n\tline-height: 20px;\r\n\tcursor: pointer;\r\n\tcolor: #333333;\r\n\tmax-width: 100%;\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: pointer;\r\n\tfont-weight: 400 !important;\r\n\t text-overflow: ellipsis;\r\n white-space: normal;\r\n`;\r\n","import { selectGroup, selectPriorities, selectQueryView, selectSelectedViewId, selectStatus, selectTag } from \"@redux/memoizedSelectors\";\r\nimport { checkStyle } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { PickListMultipleTemplate, dateBodyTemplate, dateFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { t } from \"i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Groups from \"../../columns-components/Groups\";\r\nimport { ProjectName } from \"../../columns-components/ProjectName\";\r\nimport {\r\n Owner,\r\n Score,\r\n Status,\r\n TablePriority\r\n} from \"../../columns-components/ReusableListComponents\";\r\nimport Tags from \"../../columns-components/Tags\";\r\n\r\nexport const GetProjectColumns = (props) => {\r\n const context = props.context.split(\".\")[1];\r\n const selectedViewId = useSelector(state => selectSelectedViewId(state, EntityList.Project, context));\r\n const queryView = useSelector(state => selectQueryView(state, EntityList.Project))?.getById(selectedViewId)?.columnSetting;\r\n\r\n const priorityTypes = useSelector(selectPriorities({entity:'project'}));\r\n const statusTypes = useSelector(selectStatus({entity:'project'}));\r\n\r\n const groups = useSelector(selectGroup);\r\n const tags = useSelector(selectTag);\r\n const { dataKey } = props?.contextData;\r\n const isSample = context === 'sampleData'\r\n\tconst isCxProgram = context === 'cxProgram'\r\n\r\n\treturn {\r\n\t\tprojectName: {\r\n\t\t\tfield: \"name\",\r\n\t\t\tfilterField: \"name\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\theader: t(\"PROJECT_NAME\"),\r\n\t\t\tsortable: true,\r\n\t\t\tstyle: checkStyle(queryView, \"projectName\", isSample ? 'xxxl': \"xxl\"),\r\n\t\t\tbody: (project) => ProjectName(project, props.rename, props.setRename, props.contextData.clickToOpen),\r\n\t\t},\r\n\t\tcreatedOn: {\r\n\t\t\tfield: \"createdOn\",\r\n\t\t\tfilterField: \"createdOn\",\r\n\t\t\theader: t(\"CREATED_ON\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"createdOn\", \"m\"),\r\n\t\t\tdataType: \"date\",\r\n\t\t\tbody: (project) => dateBodyTemplate(project.createdOn, \"action\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tlastUpdated: {\r\n\t\t\tfield: \"lastUpdated\",\r\n\t\t\tfilterField: \"lastUpdated\",\r\n\t\t\theader: t(\"JS_72\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"lastUpdated\", \"l\"),\r\n\t\t\tdataType: \"date\",\r\n\t\t\tbody: (project) => dateBodyTemplate(project.lastUpdated, \"action\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tstartDate: {\r\n\t\t\tfield: \"startDate\",\r\n\t\t\tfilterField: \"startDate\",\r\n\t\t\theader: t(\"START_DATE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"startDate\", \"m\"),\r\n\t\t\tdataType: \"date\",\r\n\t\t\tbody: (project) => dateBodyTemplate(project.startDate, \"action\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tendDate: {\r\n\t\t\tfield: \"endDate\",\r\n\t\t\tfilterField: \"endDate\",\r\n\t\t\theader: t(\"END_DATE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"endDate\", \"m\"),\r\n\t\t\tdataType: \"date\",\r\n\t\t\tbody: (project) => dateBodyTemplate(project.endDate, \"action\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tprojectProgress: {\r\n\t\t\tfield: \"projectProgress\",\r\n\t\t\theader: t(\"PROGRESS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tbody: (project) => Score(project?.projectProgress),\r\n\t\t\tstyle: checkStyle(queryView, \"project\", \"m\", \"150px\"),\r\n\r\n\t\t},\r\n\t\townerId: {\r\n\t\t\tfield: \"ownerId\",\r\n\t\t\theader: t(\"PROJECT_OWNER\"),\r\n\t\t\tbody: Owner,\r\n\t\t\tstyle: checkStyle(queryView, \"ownerId\", \"s\"),\r\n\t\t},\r\n priorityId: {\r\n field: \"priorityId\",\r\n header: t(\"PRIORITY\"),\r\n sortable: true,\r\n showFilterMatchModes: false,\r\n filter: true,\r\n filterField: \"priorityId\",\r\n style: checkStyle(queryView, \"project\", \"m\", \"150px\"),\r\n body: (project) => TablePriority({record: project, dataKey: \"project\", handleUpdate: props?.contextData?.onChangeObject}),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, priorityTypes),\r\n\t\t},\r\n\t\tstatusId: {\r\n\t\t\tfield: \"statusId\",\r\n\t\t\tfilterField: \"statusId\",\r\n\t\t\theader: t(\"ASPX_222\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"statusId\", isCxProgram ? \"m\" : 'l'),\r\n\t\t\tbody: (project) => Status({record: project, dataKey: \"project\", handleUpdate: props?.contextData?.onChangeObject}),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, statusTypes),\r\n\t\t},\r\n\t\ttagIds: {\r\n\t\t\tfield: \"tagIds\",\r\n\t\t\tfilterField: \"tagIds\",\r\n\t\t\theader: t(\"TAGS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (project) => Tags({ recordId: project?.id, allRecordsSelector: \"projects.all_projects\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"tagIds\", \"l\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, tags, t(\"SELECT_TAG\")),\r\n\t\t},\r\n\t\tgroupIds: {\r\n\t\t\tfield: \"groupIds\",\r\n\t\t\tfilterField: \"groupIds\",\r\n\t\t\theader: t(\"GROUPS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (project) => Groups({ recordId: project?.id, allRecordsSelector: \"projects.all_projects\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"groupIds\", \"m\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, groups, t(\"SELECT_GROUP\")),\r\n\t\t},\r\n\t};\r\n};","import { checkStyle } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport { dateBodyTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { RedirectText, Score } from \"../../columns-components/ReusableListComponents\";\r\n\r\nexport const GetAssessmentColumns = (props) => {\r\n return {\r\n contactName: {\r\n field: \"name\",\r\n header: t(\"CONTACT_NAME\"),\r\n sortable: true,\r\n style: checkStyle(undefined, \"contactName\", \"xxxl\"), //{ width: \"40rem\" },\r\n body: (item) => RedirectText(item, props?.contextData, props?.contextData?.attribute),\r\n },\r\n date: {\r\n field: \"date\",\r\n header: t(\"DATE\"),\r\n sortable: true,\r\n dataType: \"date\",\r\n style: checkStyle(undefined, \"date\", \"xxl\"), // { width: \"15rem\" },\r\n body: (options) => dateBodyTemplate(options?.date),\r\n },\r\n score: {\r\n field: \"score\",\r\n header: t(\"SCORE\"),\r\n sortable: true,\r\n style: checkStyle(undefined, \"score\", \"xxl\"), //{ width: \"30rem\" },\r\n dataType: \"numeric\",\r\n body: (option) => Score(option.score),\r\n },\r\n };\r\n};\r\n","import { selectGroup, selectQueryView, selectSelectedViewId, selectTag } from \"@redux/memoizedSelectors\";\r\nimport { checkStyle } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { GenericFilter, PickListMultipleTemplate, PickListSingleFilterTemplate, balanceFilterTemplate, dateBodyTemplate, dateFilterTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { t } from \"i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { updateMultiInsight } from \"redux/index\";\r\nimport { selectPriorities, selectStatus } from \"redux/memoizedSelectors\";\r\nimport InsightType from \"shared/ui-basics/ui-components/InsightType\";\r\nimport { groupUniqueIdsWithNames } from \"utils/helpers\";\r\nimport Groups from \"../../columns-components/Groups\";\r\nimport { JourneyMaps } from \"../../columns-components/JourneyMaps\";\r\nimport Personas from \"../../columns-components/Personas\";\r\nimport { Description, InsightName, Status, TablePriority } from \"../../columns-components/ReusableListComponents\";\r\nimport Tags from \"../../columns-components/Tags\";\r\n\r\nexport const GetInsightColumns = (props) => {\r\n\tconst context = props.context.split(\".\")[1];\r\n\r\n\tconst selectedViewId = useSelector((state) => selectSelectedViewId(state, EntityList.Insight, context));\r\n\tconst queryView = useSelector((state) => selectQueryView(state, EntityList.Insight))?.getById(selectedViewId)?.columnSetting;\r\n\tconst insightTypes = useSelector(({ libraries }) => libraries?.insightTypes)?.map((insightTypes) => ({ value: insightTypes.id, name: insightTypes?.name }));\r\n\tconst maps = useSelector((state) => state.maps.all_maps);\r\n\tconst priorityTypes = useSelector(selectPriorities({ entity: \"insight\" }));\r\n\tconst statusTypes = useSelector(selectStatus({ entity: \"insight\" }));\r\n\tconst groups = useSelector(selectGroup);\r\n\tconst tags = useSelector(selectTag);\r\n\r\n\tconst list = props?.contextData?.listData;\r\n\tconst journeyMapFilters = groupUniqueIdsWithNames({ objects: list, maps });\r\n\r\n\tconst handleMultiUpdate = (modifiedInsights, modifiedAttribNames) => updateMultiInsight({ modifiedInsights, modifiedAttribNames });\r\n\r\n\treturn {\r\n\t\tinsightName: {\r\n\t\t\tfield: \"name\",\r\n\t\t\theader: t(\"ASPX_8\"),\r\n\t\t\tbody: (insight) => InsightName(insight, { allowClick: props?.contextData?.clickToOpen }),\r\n\t\t\tsortable: true,\r\n\t\t\tfilterField: \"name\",\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tstyle: checkStyle(queryView, \"insightName\", \"xxl\"),\r\n\t\t\tclassName: \"py-0\",\r\n\t\t},\r\n\t\tlinkedPersonas: {\r\n\t\t\tfield: \"linkedPersonas\",\r\n\t\t\theader: t(\"ASPX_98\"),\r\n\t\t\tsortable: true,\r\n\t\t\tclassName: \"py-0 \",\r\n\t\t\tbody: Personas,\r\n\t\t\tstyle: checkStyle(queryView, \"linkedPersonas\", \"s\", \"120px\"),\r\n\t\t},\r\n\t\toccurance: {\r\n\t\t\tfield: \"occurance\",\r\n\t\t\tfilterField: \"occurance\",\r\n\t\t\theader: t(\"OCCURANCE\"),\r\n\t\t\tsortable: true,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilterElement: balanceFilterTemplate,\r\n\t\t\tdataType: \"numeric\",\r\n\t\t\tclassName: \"py-0 text-center\",\r\n\t\t\tstyle: checkStyle(queryView, \"occurance\", \"s\", \"120px\"),\r\n\t\t},\r\n\t\tcjmIds: {\r\n\t\t\tfield: \"cjmIds\",\r\n\t\t\theader: t(\"JOURNEY_MAP\"),\r\n\t\t\tfilterField: \"cjmIdsStr\",\r\n\t\t\tsortable: true,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tbody: (ac) => JourneyMaps(ac),\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"cjmIds\", \"xl\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, journeyMapFilters, t(\"SELECT_VALUE\")),\r\n\t\t},\r\n\t\tinsightType: {\r\n\t\t\tfield: \"typeId\",\r\n\t\t\tfilterField: \"typeId\",\r\n\t\t\theader: t(\"JS_78\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilterElement: (options) => GenericFilter(options, insightTypes),\r\n\t\t\tclassName: \"py-0 \",\r\n\t\t\tbody: ({ typeId }) => InsightType({ typeId }),\r\n\t\t\tstyle: checkStyle(queryView, \"insightType\", \"s\", \"120px\"),\r\n\t\t},\r\n\t\tlastUpdated: {\r\n\t\t\tfield: \"lastUpdated\",\r\n\t\t\tfilterField: \"lastUpdated\",\r\n\t\t\theader: t(\"JS_72\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"lastUpdated\", \"m\"),\r\n\t\t\tdataType: \"date\",\r\n\t\t\tbody: (insight) => dateBodyTemplate(insight.lastUpdated, \"action\"),\r\n\t\t\tfilterElement: dateFilterTemplate,\r\n\t\t},\r\n\t\tgroupIds: {\r\n\t\t\tfield: \"groupIds\",\r\n\t\t\tfilterField: \"groupIds\",\r\n\t\t\theader: t(\"GROUPS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (insight) => Groups({ recordId: insight?.id, allRecordsSelector: \"insights.all_insights\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"groupIds\", \"m\", \"120px\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, groups, t(\"SELECT_GROUP\")),\r\n\t\t},\r\n\t\tdescription: {\r\n\t\t\tfield: \"description\",\r\n\t\t\tsortable: true,\r\n\t\t\theader: t(\"ASPX_9\"),\r\n\t\t\tdataType: \"text\",\r\n\t\t\tstyle: checkStyle(queryView, \"description\", \"m\"),\r\n\t\t\tbody: (ac) => Description(ac),\r\n\t\t},\r\n\t\ttagIds: {\r\n\t\t\tfield: \"tagIds\",\r\n\t\t\tfilterField: \"tagIds\",\r\n\t\t\theader: t(\"TAGS\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterOperator: false,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tshowAddButton: false,\r\n\t\t\tfilter: true,\r\n\t\t\tbody: (insight) => Tags({ recordId: insight?.id, allRecordsSelector: \"insights.all_insights\" }),\r\n\t\t\tstyle: checkStyle(queryView, \"tagIds\", \"m\"),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, tags, t(\"SELECT_TAG\")),\r\n\t\t},\r\n\t\tpriorityId: {\r\n\t\t\tfield: \"priorityId\",\r\n\t\t\theader: t(\"PRIORITY\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tfilterField: \"priorityId\",\r\n\t\t\tstyle: checkStyle(queryView, \"priorityId\", \"m\", \"150px\"),\r\n\t\t\tbody: (record) => TablePriority({ record, dataKey: \"insight\", handleUpdate: handleMultiUpdate }),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, priorityTypes),\r\n\t\t},\r\n\t\tstatusId: {\r\n\t\t\tfield: \"statusId\",\r\n\t\t\tfilterField: \"statusId\",\r\n\t\t\theader: t(\"ASPX_222\"),\r\n\t\t\tsortable: true,\r\n\t\t\tshowFilterMatchModes: false,\r\n\t\t\tfilter: true,\r\n\t\t\tstyle: checkStyle(queryView, \"statusId\", \"m\"),\r\n\t\t\tbody: (record) => Status({ record, dataKey: \"insight\", handleUpdate: handleMultiUpdate}),\r\n\t\t\tfilterElement: (options) => PickListMultipleTemplate(options, statusTypes),\r\n\t\t},\r\n\t};\r\n};\r\n","/* eslint-disable no-undef */\r\nimport { genericService } from \"shared/GenericService\";\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nimport { constructUrl, encode, toastWrapper } from \"@utils/helpers\";\r\nimport { store } from \"redux/store\";\r\n\r\nconst BASE_URL = \"api/insight/\";\r\nconst BASE_URL_SWIMLANE = \"api/swimlane/\";\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta,headers }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\theaders,\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: BASE_URL, method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" }); // api actions type get\r\nconst createPostActionSwimlane = InitActionCreator({ baseUrl: BASE_URL_SWIMLANE, method: \"POST\" }); // api actions type post\r\n\r\nexport const resetProject = () => createAction(\"RESET_INSIGHT\"); // local actions\r\n\r\nexport const getAllInsights = () => createGetAction({ type: \"GET_ALL_INSIGHTS\", endPoint: \"getAll\", meta: { joinRequest: \"GET_ALL_INSIGHTS\" } });\r\nexport const getInsightRelatedRecords = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_INSIGHT\",\r\n\t\tendPoint: constructUrl(\"get\", {\r\n\t\t\tinsightId: props?.insightId,\r\n\t\t}),\r\n\t\tparams: { insightId: props?.insightId },\r\n\t});\r\n\r\nexport const createInsight = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({ type: \"CREATE_INSIGHT\", endPoint: \"create\", data: { newInsight: props?.item } }),\r\n\t\t//displayToast: \"CREATE\"\r\n\t});\r\nexport const updateInsight = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_INSIGHT\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedInsight: { ...props?.modifiedInsight, name: encode(props?.modifiedInsight?.name), description: encode(props?.modifiedInsight?.description) },\r\n\t\t\t\tmodifiedAttribNames: props?.modifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updateMultiInsight = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_MULTI_INSIGHT\",\r\n\t\t\tendPoint: \"updateMulti\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedInsights: props?.modifiedInsights,\r\n\t\t\t\tmodifiedAttribNames: props?.modifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteInsights = (props) => genericService({ ...props, action: createPostAction({ type: \"DELETE_INSIGHTS\", endPoint: \"delete\", data: { ids: props?.ids } }) });\r\nexport const deleteInsightsPermanent = (props) =>\r\n\tgenericService({ ...props, action: createPostAction({ type: \"DELETE_INSIGHTS_PERMANENT\", endPoint: \"deletePermanently\", data: { ids: props?.ids } }) });\r\nexport const archiveInsights = (props) => genericService({ ...props, action: createPostAction({ type: \"ARCHIVE_INSIGHTS\", endPoint: \"archive\", data: { ids: props?.ids } }) });\r\nexport const restoreInsights = (props) => genericService({ ...props, action: createPostAction({ type: \"RESTORE_INSIGHTS\", endPoint: \"restore\", data: { ids: props?.ids } }) });\r\n\r\nexport const linkInsightRecords = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"LINK_INSIGHT_RECORDS\",\r\n\t\t\tendPoint: \"linkRecords\",\r\n\t\t\tdata: { recToLinkEntityName: props.recEntityName, recIds: props.recIds, insightId: props?.itemId, prefixRelationships: props?.prefixRelationships || \"\" },\r\n\t\t\tparams: { attribute: props?.attribute },\r\n\t\t}),\r\n\t});\r\nexport const unLinkInsightRecords = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UNLINK_INSIGHT_RECORDS\",\r\n\t\t\tendPoint: \"unLinkRecords\",\r\n\t\t\tdata: { recEntityName: props.recEntityName, recIds: props.recIds, insightId: props?.itemId, prefixRelationships: props?.prefixRelationships || \"\" },\r\n\t\t\tparams: { attribute: props?.attribute },\r\n\t\t}),\r\n\t});\r\nexport const bulkUnlinkInsightRecords = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"BULK_UNLINK_INSIGHT_RECORDS\",\r\n\t\t\tendPoint: \"bulkUnlinkRecords\",\r\n\t\t\tdata: { recEntityName: props.recEntityName, recIds: props.recIds, insightIds: props?.itemIds, prefixRelationships: props?.prefixRelationships || \"\" },\r\n\t\t\tparams: { attribute: props?.attribute },\r\n\t\t}),\r\n\t});\r\n\r\nexport const linkInsightOnMap = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"LINK_INSIGHT_ON_MAP\",\r\n\t\t\tendPoint: \"linkInsightsOnMap\",\r\n\t\t\tdata: {\r\n\t\t\t\tswimLaneItemIds: props?.swimLaneItemIds,\r\n\t\t\t\tinsightIds: props?.insightIds,\r\n\t\t\t\tcustomSwimLaneId: props?.swimlaneKey,\r\n\t\t\t\tstageId: props?.stageId,\r\n\t\t\t\tcjmId: props?.cjmIdStr,\r\n\t\t\t\tpersonaId: props?.personaIdStr,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const unlinkInsightOnMap = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UNLINK_INSIGHT_ON_MAP\",\r\n\t\t\tendPoint: \"unlinkInsightOnMap\",\r\n\t\t\tdata: {\r\n\t\t\t\tswimLaneItemId: props?.swimLaneItemId,\r\n\t\t\t\tcustomSwimLaneId: props?.swimlaneKey,\r\n\t\t\t\tstageId: props?.stageId,\r\n\t\t\t\tcjmId: props?.cjmIdStr,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const getInsightsExcelExport = (ids, columns) => {\r\n\tconst promise = async () => {\r\n\t\tconst { data, error } = await store.dispatch(\r\n\t\t\tcreatePostAction({\r\n\t\t\t\ttype: \"GET_INSIGHT_EXCEL\",\r\n\t\t\t\tendPoint: \"getExcelExport\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tids,\r\n\t\t\t\t\tcolumns: columns?.join(\"|\"), //.replace(\"insightName\", \"Insight Name\"),\r\n\t\t\t\t},\r\n\t\t\t\tresponseType: \"blob\",\r\n\t\t\t})\r\n\t\t);\r\n\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\tfileDownload(data, \"Insight List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\tif (error) throw error;\r\n\t};\r\n\ttoastWrapper(promise, \"EXPORT\");\r\n};\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { useSwitch } from \"shared/dynamic-imports\";\r\nimport { IconDispatcher } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\ninterface EditModeSwitchProps {\r\n\taddLabel?: string | undefined;\r\n renderReadOnlyItems?: () => JSX.Element;\r\n\tchildren?: React.ReactNode;\r\n\tisEmpty?: boolean;\r\n\tisDisabled?: boolean;\r\n}\r\n\r\n\r\nconst EditModeSwitch = ({ addLabel, renderReadOnlyItems, children, isEmpty, isDisabled = false } : EditModeSwitchProps) : JSX.Element => {\r\n\tconst { t } = useTranslation();\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\tconst isReadOnly = useSelector(({ auth }:any) => auth.userInfo.UserType)?.isReadOnly();\r\n const { isOpen, open } = useSwitch();\r\n\r\n\tconst render = () => {\r\n\t\tif (!isOpen && isEmpty && !hideForPdf){\r\n\t\t\tif(isReadOnly) return null;\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (!isOpen && renderReadOnlyItems)\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{renderReadOnlyItems()}\r\n\t\t\t\t\r\n\t\t\t);\r\n\r\n\t\treturn children;\r\n\t};\r\n\r\n\treturn <>{render()};\r\n};\r\n\r\nEditModeSwitch.displayName = \"EditModeSwitch\";\r\nexport default EditModeSwitch;\r\n\r\ninterface ContainerProps extends React.HTMLAttributes {\r\n disabled?: boolean\r\n}\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 8px;\r\n\twidth: 100%;\r\n\tmin-height: 49px;\r\n\tborder-radius: 4px;\r\n\tpadding: 8px;\r\n\tcursor: pointer;\r\n\t:hover {\r\n\t\tbackground: #efefef;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tcursor: not-allowed;\r\n\t\t`}\r\n`;\r\n\r\nconst Label = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 4px;\r\n\tcolor: #605f60;\r\n\tfont-size: 14px;\r\n`;\r\n","import { Flex } from 'features/comments/modals/comment-center.style';\r\nimport { TextInfo } from 'features/forms/components/sections/Style';\r\nimport { CheckBox } from 'features/journey-map/modals/AdvancedSearch/Style';\r\nimport { memo, useLayoutEffect, useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport { allInsightTypes, getAllTouchpoints, getSessionId, getStagesDetails, getSwimlane } from 'redux/memoizedSelectors';\r\nimport Loader from 'shared/components/spinners/Loaster';\r\nimport { Label_ts } from 'shared/cx-components/cx-components.style';\r\nimport { IconDispatcher } from 'shared/Icons';\r\nimport { Button } from 'shared/ui-basics';\r\nimport InsightType from 'shared/ui-basics/ui-components/InsightType';\r\nimport { getLanguagebyCode, pictureValidation, StripHtml } from 'utils/helpers';\r\nimport { alexAssistantCjm } from '../reducer/ai-actions';\r\nimport styled from 'styled-components';\r\nimport Editor from 'shared/components/Editor/Editor';\r\nimport { updateCjmDescription } from '../../journey-map/reducer/CJMActions';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { getAllMapsParams } from 'features/comments/helpers';\r\n\r\ntype Props = {\r\n onClose: (all?: boolean) => void;\r\n getPrompt: any;\r\n onSave: (items: any) => void;\r\n stageId: string\r\n swimlaneKey: string\r\n max_tokens?: number\r\n}\r\nconst checkDescription = (description: string) => {\r\n if (description.trim() === \"\" || description === `

`) {\r\n return true\r\n }\r\n return false\r\n}\r\nfunction AISuggestion({ onClose, getPrompt, onSave, stageId, swimlaneKey, max_tokens = 1000 }: Props) {\r\n\r\n const { t, i18n } = useTranslation();\r\n const { mapName, mapDescription, stageName, allRelatedInsights, allRelatedTouchpoints,\r\n relatedOpportunities, relatedSolutions, insightTypes } = useSelector(getStagesDetails(stageId));\r\n const sessionId = useSelector(getSessionId);\r\n const allTouchpoints = useSelector(getAllTouchpoints)\r\n const allTypes = useSelector(allInsightTypes)\r\n const language = getLanguagebyCode(i18n.language)\r\n const [loading, setLoading] = useState(false)\r\n const [generatedItems, setGeneratedItems] = useState([])\r\n const [deselectedItems, setdeselectedItems] = useState([]);\r\n const swimlane = useSelector(getSwimlane(swimlaneKey));\r\n const relevantType = findRelevantMatch(swimlane?.name, insightTypes);\r\n const [isDescriptionEmpty, setIsDescriptionEmpty] = useState(checkDescription(mapDescription));\r\n\r\n function fetchAiData(description?: string) {\r\n const prompt = getPrompt({\r\n language,\r\n mapName,\r\n description: description || mapDescription,\r\n stageName,\r\n allRelatedInsights,\r\n allRelatedTouchpoints,\r\n relatedOpportunities,\r\n relatedSolutions,\r\n insightTypes: relevantType ? [relevantType] : insightTypes\r\n })\r\n const onSuccess = ({ items }: any) => {\r\n setGeneratedItems(items)\r\n setLoading(false)\r\n }\r\n setLoading(true)\r\n alexAssistantCjm({ prompt, max_tokens, keys: `${swimlaneKey}|${stageId}`, onSuccess, onFailed: () => setLoading(false) })\r\n }\r\n const handleCheckBox = (event: Event) => {\r\n const recordIndex = (event.target as HTMLInputElement).id;\r\n let deselectedItemsUpdated = [...deselectedItems];\r\n\r\n if (deselectedItems.includes(recordIndex)) {\r\n deselectedItemsUpdated = deselectedItems.filter((index) => index !== recordIndex);\r\n }\r\n else {\r\n deselectedItemsUpdated.push(recordIndex);\r\n }\r\n setdeselectedItems(deselectedItemsUpdated);\r\n\r\n }\r\n const onSubmit = () => {\r\n onSave(generatedItems.filter((_, index) => !deselectedItems.includes(index.toString())))\r\n onClose(true)\r\n }\r\n const Touchpoints = ({ touchpointName }: any) => {\r\n const currentTouchpoint = allTouchpoints.find((t: any) => t.name.toLowerCase() === touchpointName.toLowerCase());\r\n const picture = pictureValidation(currentTouchpoint, sessionId);\r\n const icon = \"\"\r\n if (!currentTouchpoint) return null;\r\n return \r\n }\r\n\r\n useLayoutEffect(() => {\r\n if (!isDescriptionEmpty && generatedItems.length === 0)\r\n fetchAiData()\r\n }, [])\r\n if (isDescriptionEmpty) {\r\n return \r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n {IconDispatcher(\"SPARKLES\", \"me-1\")}\r\n {t(\"GENERATED_BY_ALEX\")}\r\n \r\n \r\n \r\n
\r\n {loading ? \r\n \r\n
{t(\"AI_CONTENT_LOADING\")}
\r\n
: <>\r\n {generatedItems?.map((item: any, index: number) => {\r\n const isSelected = !deselectedItems.includes(index.toString());\r\n const insightTypeId = allTypes?.find((t: any) => t.name.trim().toLowerCase() === item?.type?.trim()?.toLowerCase())?.id;\r\n return
\r\n \r\n \r\n {item?.title}\r\n\r\n \r\n {StripHtml(item.description)}\r\n \r\n {item?.relatedTouchpoint && }\r\n {item?.relatedInsight && }\r\n {item?.relatedOpportunity && }\r\n {item?.relatedSolution && }\r\n {item?.type && insightTypeId && }\r\n \r\n
\r\n })}\r\n }\r\n
\r\n {!loading && \r\n \r\n \r\n {t('USE_SELECTED')}\r\n \r\n }\r\n \r\n {IconDispatcher('INFO', 'me-1')}{t(\"AI_CONTENT_INFO\")}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default memo(AISuggestion)\r\n\r\nfunction FillMapDescription({ setIsDescriptionEmpty, fetchAiData }: any) {\r\n const { t } = useTranslation();\r\n const [cjmDescription, setCjmDescription] = useState(\"\");\r\n const { cjmIdStr } = getAllMapsParams(useLocation().search)\r\n\r\n const handleSave = () => {\r\n setIsDescriptionEmpty(false)\r\n fetchAiData(cjmDescription)\r\n updateCjmDescription({ id: cjmIdStr, value: cjmDescription });\r\n\r\n }\r\n\r\n return
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n}\r\nconst RelatedItems = ({ icon, name }: any) => {\r\n return \r\n {icon}\r\n
{name}
\r\n
\r\n}\r\nfunction findRelevantMatch(sentence: string, wordsArray: string[]) {\r\n // Normalize the sentence and split it into words\r\n const words = sentence.toLowerCase().match(/\\b\\w+\\b/g);\r\n if (!words) return null;\r\n\r\n // Normalize the words array for comparison but keep the original mapping\r\n const wordMap: any = new Map();\r\n wordsArray.forEach(w => wordMap.set(w.toLowerCase(), w)); // Store original case\r\n\r\n // Function to check if a word from the sentence is relevant\r\n function findMatchingWord(word: string) {\r\n const lowerWord = word.toLowerCase();\r\n\r\n for (const [normalizedTarget, originalWord] of wordMap.entries()) {\r\n // Exact match\r\n if (lowerWord === normalizedTarget) return originalWord;\r\n\r\n // Singular/plural variations (basic check)\r\n if (lowerWord + 's' === normalizedTarget || lowerWord === normalizedTarget + 's') return originalWord;\r\n\r\n // Basic stemming (removing common suffixes)\r\n const stemmedWord = lowerWord.replace(/(ing|ed|ly|es|er|ion|able|ment|ness)$/, '');\r\n const stemmedTarget = normalizedTarget.replace(/(ing|ed|ly|es|er|ion|able|ment|ness)$/, '');\r\n if (stemmedWord === stemmedTarget) return originalWord;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // Check each word in the sentence\r\n for (const word of sentence.split(/\\s+/)) { // Keep original case of words\r\n const match = findMatchingWord(word);\r\n if (match) {\r\n return match; // Return the matched word from the array in its original form\r\n }\r\n }\r\n\r\n return null; // No relevant match found\r\n}\r\n\r\nconst EditorWrapper = styled.div`\r\n min-height: 150px;\r\n border: 1px solid #c4c4c4;\r\n border-radius: 4px;\r\n padding: 0.5rem;\r\n width: 100%;\r\n :focus-within {\r\n border: 1px solid #333333;\r\n }\r\n display: flex;\r\n`;\r\n\r\nconst Label = styled.div`\r\n\tcolor: #333333;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\tpadding-bottom: 8px;\r\n`;","import { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { List } from \"react-virtualized\";\r\nimport { useSwitch } from \"shared/dynamic-imports\";\r\nimport { Button, FlexColumnGap } from \"shared/ui-basics\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { CustomMenu, CustomTypeahead, EmptyListLabel, ListContainer, MenuBody, MenuItem, MenuLabel, TypeaheadContainer, AIButtonWrapper } from \"./typeahead-styles\";\r\nimport AISuggestion from \"features/ai/components/AISuggestion\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\n// renderSelectedItem: compulsory - (selectedItem) => ...\r\n// renderMenuItem: compulsory if no renderCustomMenu props - ({ item, isSelected }) => ...\r\n// linkMenuItem: compulsory if no renderCustomMenu props - ({ e, item }) => ...\r\n// filter: compulsory - ({ query, option }) => ...\r\n// renderCreateItem: optional, render function used when creating a new item - ({ input: text, clearInput, close}) => ...\r\n// renderCustomMenu: optional, render the full menu (if we need a menu with categories for example) - ({ results, input: text, clearInput }) => ...\r\n\r\nconst GenericTypeahead = ({\r\n\tselected,\r\n\toptions,\r\n\trenderSelectedItem,\r\n\trenderCustomMenu,\r\n\trenderMenuItem,\r\n\trenderCreateItem,\r\n\tlinkMenuItem,\r\n\tfilter,\r\n\tplaceholder = \"SEARCH_GENERIC\",\r\n\tmenuLabel = \"\",\r\n\tidAttribute = \"id\",\r\n\tlabelKey = \"name\",\r\n\tmenuListHeight = 268,\r\n\tglobalWidth = \"100%\",\r\n\tisStrictOpen = undefined,\r\n\tid = uuid(),\r\n\tvirtualScrollerParams = null,\r\n\tRenderFooter,\r\n\tshowShadow = false,\r\n\taiParams = undefined\r\n}) => {\r\n\tconst { t } = useTranslation();\r\n\tconst typeaheadRef = useRef(null);\r\n\tconst containerRef = useRef(null);\r\n\tconst { open, close } = useSwitch();\r\n\r\n\tconst [width, setWidth] = useState(0);\r\n\r\n\tconst isCreateMode = renderCreateItem ? true : false;\r\n\tconst aiAllowed = useSelector(({ settings }) => settings.subscriptionDetails.aiEnabled);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (containerRef.current) {\r\n\t\t\tsetWidth(containerRef.current.offsetWidth);\r\n\t\t}\r\n\t}, [open, close]);\r\n\r\n\tconst clearInput = () => {\r\n\t\tif (typeaheadRef.current) {\r\n\t\t\ttypeaheadRef?.current?.setState({ text: \"\" });\r\n\t\t}\r\n\t};\r\n\r\n\tconst onSelectMenuItem = ({ e, item }) => {\r\n\t\tclearInput();\r\n\t\tlinkMenuItem({ e, item, close });\r\n\t};\r\n\r\n\tconst getIsTextAlreadyExist = ({ options, text }) => {\r\n\t\tif (!text) return true;\r\n\t\treturn options?.some((option) => text && option?.name?.toLowerCase() === text?.toLowerCase());\r\n\t};\r\n\r\n\tconst renderMenu = (results, menuProps, state) => {\r\n\t\tconst { text } = state;\r\n\t\tconst selectedIds = selected?.map((s) => s?.[idAttribute]);\r\n\t\tconst selectableItems = results?.filter((r) => !selectedIds?.includes(r?.[idAttribute]));\r\n\t\tconst isTextAlreadyExist = getIsTextAlreadyExist({ options, text });\r\n\t\tconst showEmptyList = results?.length === 0 && (!isCreateMode || (isCreateMode && isTextAlreadyExist));\r\n\r\n\t\tconst renderListComponent = () => {\r\n\t\t\tif (renderCustomMenu) return renderCustomMenu({ results, input: text, clearInput, close });\r\n\t\t\tif (selectableItems?.length !== 0) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{menuLabel && {t(menuLabel)}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{!virtualScrollerParams ? (\r\n\t\t\t\t\t\t\t\t\tselectableItems.map((item, idx) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelectMenuItem({ e, item });\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{renderMenuItem({ item })}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{renderMenuItem({ item: selectableItems[index] })}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn <>;\r\n\t\t};\r\n\r\n\t\tconst renderCreateItemComponent = () => {\r\n\t\t\tif (isCreateMode && !isTextAlreadyExist) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{renderCreateItem({ input: text, clearInput, close })}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn <>;\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{aiParams !== undefined && aiAllowed && \r\n\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\t{!showEmptyList ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{renderCreateItemComponent()}\r\n\t\t\t\t\t\t\t{renderListComponent()}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t{t(\"NO_RECORD_TO_DISPLAY\")}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{RenderFooter && RenderFooter}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst filterBy = (option, props) => filter && filter({ query: props.text, option });\r\n\r\n\tconst handleMenuToggle = (isOpen) => {\r\n\t\tif (isOpen) return open();\r\n\t\tclose()\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{aiParams?.show && aiAllowed ? :\r\n\r\n\t\t\t\t { }}\r\n\t\t\t\t\tselected={selected}\r\n\t\t\t\t\trenderToken={renderSelectedItem}\r\n\t\t\t\t\trenderMenu={renderMenu}\r\n\t\t\t\t\tfilterBy={filterBy}\r\n\t\t\t\t\tshowborder={true}\r\n\t\t\t\t\twidth=\"100%\"\r\n\t\t\t\t\topen={isStrictOpen}\r\n\t\t\t\t\tshowShadow={showShadow}\r\n\t\t\t\t\tautoFocus\r\n\t\t\t\t/>}\r\n\t\t\r\n\t);\r\n};\r\n\r\nGenericTypeahead.displayName = \"GenericTypeahead\";\r\n\r\nexport default GenericTypeahead;\r\n","import styled, { css } from \"styled-components/macro\";\r\nimport { TableTemplate } from \"../components/TableTemplate\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { DropDownPosition2 } from \"shared/dropdowns/CreateActionsDropdown\";\r\n\r\nexport const Redirect = styled(Link)`\r\n\ttext-decoration: none;\r\n\t${(props) => props.disableclick === \"true\" && \"pointer-events:none;\"}\r\n`;\r\nexport const StyledMapName = styled.div`\r\n\tline-height: 20px;\r\n\tcursor: pointer;\r\n\tcolor: #333333;\r\n\tmax-width: 100%;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n\tcursor: pointer;\r\n\toverflow: hidden;\r\n\tfont-weight: 500 !important;\r\n\twhite-space: normal;\r\n\t/* @media screen and (max-width: 1290px) {\r\n max-width: 8rem;\r\n} */\r\n`;\r\n\r\n\r\nexport const MapIconContainer = styled.div`\r\n\r\n\r\n\tdisplay: flex;\r\n\tjustify-content: start;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\t& img {\r\n\t\twidth: 32.02px;\r\n\t\theight: 32px;\r\n\t\tobject-fit: cover;\r\n\t\tposition: relative;\r\n\r\n\t\t/* margin-right: 0.5rem; */\r\n\t\tborder-radius: 50%;\r\n\t\tz-index: 1;\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tprops.disabled === false &&\r\n\t\t`\r\n\r\n:hover #icon-map{\r\n visibility: visible;\r\n z-index: 2;\r\n}\r\n\r\n:hover {\r\n background-color: #333333;\r\n\tz-index: 2;\r\n\tborder-radius: 50%;\r\n\timg {\r\n\tvisibility: hidden;\r\n}\r\n`}\r\n`;\r\nexport const ChangeIconButton = styled.button`\r\n\tposition: absolute;\r\n\tright: 29%;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\tcolor: black;\r\n\tvisibility: hidden;\r\n\tpath {\r\n\t\tfill: #ffffff;\r\n\t}\r\n`;\r\nexport const DropDownPosition = styled.div`\r\n\tposition: absolute;\r\n\tright: -10px;\r\n\ttop: -16px;\r\n\tdisplay: flex;\r\n`;\r\nexport const BubbleCount = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tbackground-color: #d4dde1;\r\n\twidth: ${(props) => props.bubbleSize ?? 35 + 1}px;\r\n\theight: ${(props) => props.bubbleSize ?? 35 + 1}px;\r\n\tmin-width: ${(props) => props.bubbleSize ?? 35 + 1}px;\r\n\tborder-radius: 50%;\r\n\tcolor: #605f60;\r\n`;\r\nexport const SentimentLevelWrapper = styled.div`\r\n\t/* line-height: 26px; */\r\n\tmax-width: 60px;\r\n\tmin-width: 60px;\r\n\t/* height: 26px; */\r\n\tborder-radius: 4px;\r\n\t${(props) =>\r\n\t\tprops.variant === \"small\" &&\r\n\t\tcss`\r\n\t\t\tfont-size: 14px !important;\r\n\t\t`}\r\n`;\r\n\r\n\r\nexport const DataTableCustom = styled(TableTemplate)`\r\n\ttr {\r\n\r\n\t\t${DropDownPosition2}{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t:hover ${DropDownPosition2} {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\r\n\t\t:hover ${DropDownPosition} {\r\n\t\t\t${(props) => (props.selection === null || props.selection?.length === 0 || props.selection === undefined ? \"display:block;\" : \"\")}\r\n\t\t}\r\n\t\tmax-height: 56px;\r\n\t\t/* background: #f8f9fa; */\r\n\t\t/* width:fit-content !important; */\r\n\t}\r\n\r\n\ttr {\r\n\t\tth:first-child {\r\n\t\t\t.p-column-resizer {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t}\r\n\t\tth:last-child {\r\n\t\t\t.p-column-resizer {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t.p-column-title {\r\n\t\toverflow: hidden;\r\n\t\ttext-overflow: ellipsis;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\r\n\t.p-datatable-wrapper .p-datatable-table {\r\n\t\ttable-layout: fixed !important;\r\n\t}\r\n\t.p-datatable-table {\r\n\t\twidth: 100%;\r\n\t}\r\n\t.p-datatable .p-checkbox.p-checkbox-focused {\r\n\t\toutline: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n`;\r\nexport const BoxContainer = styled.div`\r\n\tborder-radius: 4px;\r\n\t${DropDownPosition} {\r\n\t\tright: -46px;\r\n\t\ttop: -10px;\r\n\t}\r\n\t:hover ${DropDownPosition} {\r\n\t\tdisplay: block;\r\n\t}\r\n`;\r\nexport const PersonaPicture = styled.img`\r\n\twidth: ${(props) => props.imgSize}px !important;\r\n\theight: ${(props) => props.imgSize}px !important;\r\n\tborder-radius: 50%;\r\n\tobject-fit: cover;\r\n`;\r\n\r\nexport const EmotionContainer = styled.div`\r\n\tborder-radius: 4px;\r\n`;\r\n\r\nexport const MainDataTableContainer = styled.div`\r\n\tborder-radius: 0.25rem 0.25rem 0rem 0rem;\r\n\t${(props) => props.small == \"true\" && \"padding:1rem;\"}\r\n\t${(props) => props.nonDropDown == \"true\" && \"min-height:120px\"}\r\n`;\r\nexport const HeaderWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tposition: sticky;\r\n\tright: 1px;\r\n\talign-items: center;\r\n`;\r\n\r\nexport const HierarchyIcon = styled.div`\r\n\tposition: absolute;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tright: -8px;\r\n\tbottom: 1px;\r\n\theight: 18px;\r\n\twidth: 18px;\r\n\tborder-radius: 50%;\r\n\tbackground-color: #fff;\r\n\tfilter: drop-shadow(1px 1px 4px rgba(0, 0, 0, 0.25));\r\n z-index: 9999;\r\n\tsvg {\r\n\t\twidth: 14px;\r\n\t\theight: 14px;\r\n\r\n\t}\r\n`;\r\n\r\nexport const EmotionPosition = styled.div`\r\n\tposition: absolute;\r\n\tbottom: -8px;\r\n\tright: -8px;\r\n`;\r\nexport const PopoverItem = styled.div`\r\n\tpadding: 0.5rem 1rem;\r\n\tcursor: pointer;\r\n\tcolor: #333333;\r\n\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\t:hover {\r\n\t\tbackground-color: #f8f9fa;\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tprops.ai &&\r\n\t\tcss`\r\n\t\t\tbackground: var(--AI-gradient-bg, linear-gradient(104deg, #ffeee3 0.73%, #fff8ee 32.71%, #e8f7ff 66.16%, #f1f0ff 97.16%));\r\n\t\t\tsvg {\r\n\t\t\t\tcolor: #333333;\r\n\t\t\t}\r\n\t\t`};\r\n`;\r\n","import { IconDispatcher } from \"shared/Icons\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components\";\r\n\r\nfunction EmptyData({ text, icon ,params }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{IconDispatcher(icon, \"\", params || { style: \"regular\", family: \"sharp\", size: \"md\" })}\r\n\t\t\t{t(text)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nEmptyData.displayName = \"EmptyData\";\r\nexport default EmptyData;\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tgap: 1rem;\r\n\twidth: 370px;\r\n`;\r\n\r\nconst Text = styled.div`\r\n\tcolor: #605f60;\r\n\ttext-align: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\t> svg {\r\n\t\theight: 68px;\r\n\t\twidth: auto;\r\n\t}\r\n`;\r\n","import { constructUrl, encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, ...props }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t\t...props,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/opportunity/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/opportunity/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const getAllOpportunity = (props) => createGetAction({\r\n\ttype: \"OPPORTUNITY_GET_ALL\", endPoint: constructUrl(\"getAll\", {\r\n\t\tstatusCode: props?.statusCode,\r\n withDetails: props?.withDetails,\r\n redirectReducer: props?.redirectReducer,\r\n\t})\r\n});\r\n\r\nexport const getOpportunityRelatedRecords = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_OPPORTUNITY\",\r\n\t\tendPoint: constructUrl(\"get\", {\r\n\t\t\topportunityId: props?.opportunityId,\r\n\t\t}),\r\n\t\tparams: { opportunityId: props?.opportunityId },\r\n\t});\r\n\r\nexport const getOpportunityRelatedRecordsFn = ({ opportunityId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: getOpportunityRelatedRecords({ opportunityId }),\r\n\t});\r\n\r\nexport const createOpportunity = ({ item, cxProgramId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_OPPORTUNITY\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewOpportunityParams: item,\r\n\t\t\t\tlinkToCxProgramIdStr: cxProgramId || \"\",\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateMultiOpportunity = ({ modifiedOpportunities, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_MULTI_OPPORTUNITY\",\r\n\t\t\tendPoint: \"updateMulti\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedOpportunities: modifiedOpportunities,\r\n\t\t\t\tmodifiedAttribNames: modifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const updateOpportunity = ({ item, modifiedAttribNames, beforeModifiedOpportunity, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_OPPORTUNITY\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedOpportunity: item,\r\n\t\t\t\tmodifiedAttribNames: modifiedAttribNames,\r\n\t\t\t},\r\n\t\t\tparams: item,\r\n\t\t\tbeforeModifiedOpportunity: beforeModifiedOpportunity,\r\n\t\t}),\r\n\t});\r\n\r\nexport const archiveOpportunity = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_OPPORTUNITY\",\r\n\t\t\tendPoint: \"archive\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"ARCHIVE\",\r\n\t});\r\n\r\nexport const archiveManyOpportunities = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_MANY_OPPORTUNITIES\",\r\n\t\t\tendPoint: \"archiveMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteOpportunity = ({ id, opp, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_OPPORTUNITY\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t},\r\n\t\t\tparams: opp,\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const deleteManyOpportunities = ({ ids, opp, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_MANY_OPPORTUNITIES\",\r\n\t\t\tendPoint: \"deleteMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t\tparams: opp,\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteOpportunityPermanently = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_OPPORTUNITY_PERMANENT\",\r\n\t\t\tendPoint: \"deletePermanently\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const deleteManyOpportunitiesPermanently = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_MANY_OPPORTUNITIES_PERMANENT\",\r\n\t\t\tendPoint: \"deletePermanentlyMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const restoreOpportunity = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_OPPORTUNITY\",\r\n\t\t\tendPoint: \"restore\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"RESTORE\",\r\n\t});\r\n\r\nexport const restoreManyOpportunities = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_MANY_OPPORTUNITIES\",\r\n\t\t\tendPoint: \"restoreMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateOrderOpportunity = (newOrder) => ({\r\n\ttype: \"UPDATE_ORDER_OPPORTUNITY\",\r\n\tpayload: {\r\n\t\tnewOrder: newOrder,\r\n\t},\r\n});\r\n\r\nexport const updateStageOpportunityOrder = ({ stageId, cjmId, newOrder, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_STAGE_OPPORTUNITY_ORDER\",\r\n\t\t\tendPoint: \"updateStageOpportunitiesOrder\",\r\n\t\t\tdata: {\r\n\t\t\t\tstageId: stageId,\r\n\t\t\t\tcjmId: cjmId,\r\n\t\t\t\tnewOpportunitiesOrder: newOrder,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const getExcelExportListOpp = (ids, columns) =>\r\n\tcreatePostAction({\r\n\t\ttype: \"GET_EXCEL_OPP\",\r\n\t\tendPoint: \"getExcelExport\",\r\n\t\tdata: {\r\n\t\t\tids: ids,\r\n\t\t\tcolumns: columns?.join(\"|\"),\r\n\t\t},\r\n\t\tresponseType: \"blob\",\r\n\t});\r\n\r\nexport const getPdfExportOpp = (width, height, mapIds, statusIds, groupIds) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_OPP_PDF\",\r\n\t\tendPoint: constructUrl(\"getPdfExport\", {\r\n\t\t\twidth,\r\n\t\t\theight,\r\n\t\t\tmapIds,\r\n\t\t\tstatusIds,\r\n\t\t\tgroupIds,\r\n\t\t}),\r\n\t\tresponseType: \"blob\",\r\n\t});\r\nexport const linkOpportunityRecords = ({ id, recEntityName, recIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"LINK_OPPORTUNITY_RECORDS\",\r\n\t\t\tendPoint: \"linkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t\trecEntityName,\r\n\t\t\t\trecIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const unlinkOpportunityRecords = ({ id, recEntityName, recIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UNLINK_OPPORTUNITY_RECORDS\",\r\n\t\t\tendPoint: \"unlinkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t\trecEntityName,\r\n\t\t\t\trecIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const bulkUnlinkOpportunityRecords = ({ ids, recEntityName, recIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"BULK_UNLINK_OPPORTUNITY_RECORDS\",\r\n\t\t\tendPoint: \"bulkUnlinkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t\trecEntityName,\r\n\t\t\t\trecIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n","import { IconDispatcher } from \"shared/Icons\";\r\nimport { FlexAlignCenter } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\ninterface TaxonomyItemProps {\r\n\ttext: string;\r\n\tcolor: string;\r\n\tbackgroundColor: string;\r\n\tshowDot?: boolean;\r\n\tisUnlinkable?: boolean;\r\n}\r\n\r\nexport default function TaxonomyItem({ text, color, backgroundColor, showDot = false, isUnlinkable }: TaxonomyItemProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{showDot && }\r\n\t\t\t\t{text}\r\n\t\t\t\r\n\t\t\t{isUnlinkable && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\ninterface DotProps {\r\n\tcolor?: string;\r\n}\r\n\r\nconst Dot = styled.div`\r\n\tmargin-right: 4px;\r\n\twidth: 8px;\r\n\theight: 8px;\r\n\tborder-radius: 50%;\r\n\tbackground-color: ${(props) => props.color};\r\n`;\r\n\r\ninterface ContainerProps {\r\n\tbackground: string;\r\n\tisShowPointer: boolean;\r\n\tshowDot: boolean;\r\n}\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\theight: 24px;\r\n\twidth: fit-content;\r\n\tmax-width: 100%;\r\n\tborder-radius: 4px;\r\n\tpadding: 8px;\r\n\tborder: none;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tbackground-color: ${({ background }) => background};\r\n\t${({ isShowPointer }) =>\r\n\t\tisShowPointer &&\r\n\t\tcss`\r\n\t\t\tcursor: pointer;\r\n\t\t`};\r\n\t${({ showDot }) =>\r\n\t\tshowDot &&\r\n\t\tcss`\r\n\t\t\tborder-radius: 12px;\r\n\t\t`};\r\n`;\r\n\r\nconst Text = styled.div<{ color: string }>`\r\n\tcolor: ${({ color }) => color};\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n`;\r\n\r\nconst IconContainer = styled.div<{ color: string }>`\r\n\tmargin-left: 4px;\r\n\twidth: 12px;\r\n\theight: 12px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tsvg {\r\n\t\twidth: 12px;\r\n\t\theight: 12px;\r\n\t}\r\n\tpath {\r\n\t\tfill: ${(props) => props.color};\r\n\t}\r\n`;\r\n","/* eslint-disable no-undef */\r\nimport { encode, toastWrapper } from \"@utils/helpers\";\r\nimport { store } from \"redux/store\";\r\nimport { genericService } from \"shared/GenericService\";\r\nimport { constructUrl } from \"utils/helpers\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/cxaction/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/cxaction/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const getAllCxAction = (props) => createGetAction({\r\n\ttype: \"GET_ALL_CX_ACTIONS\", endPoint: constructUrl(\"getAll\", {\r\n\t\tstatusCode: props?.statusCode,\r\n withDetails: props?.withDetails,\r\n redirectReducer: props?.redirectReducer,\r\n\t})\r\n});\r\nexport const getCxActionRelatedRecords = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_CX_ACTION\",\r\n\t\tendPoint: constructUrl(\"get\", {\r\n\t\t\tcxactionId: props?.cxactionId,\r\n\t\t}),\r\n\t\tparams: { cxactionId: props?.cxactionId },\r\n\t});\r\n\r\nexport const getCxActionRelatedRecordsFn = ({ cxactionId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: getCxActionRelatedRecords({ cxactionId }),\r\n\t});\r\n\r\nexport const createCxAction = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_CX_ACTION\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewCxActionParams: props?.item,\r\n\t\t\t\tlinkToCxProgramIdStr: props?.cxProgramId || \"\",\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updateMultiCxActions = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_MULTI_CX_ACTION\",\r\n\t\t\tendPoint: \"updateMulti\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedCxActions: props.modifiedCxActions,\r\n\t\t\t\tmodifiedAttribNames: props.modifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const updateCxAction = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CX_ACTION\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedCxAction: props?.item,\r\n\t\t\t\tmodifiedAttribNames: props?.modifiedAttribNames,\r\n\t\t\t},\r\n\t\t\tparams: {\r\n\t\t\t\tbeforeModifiedCxAction: props?.beforeModifiedCxAction,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const archiveCxAction = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_CX_ACTION\",\r\n\t\t\tendPoint: \"archive\",\r\n\t\t\tdata: {\r\n\t\t\t\tid: props.id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"ARCHIVE\",\r\n\t});\r\n\r\nexport const archiveManyCxActions = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_MANY_CX_ACTIONS\",\r\n\t\t\tendPoint: \"archiveMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids: props.ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteCxAction = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_CX_ACTION\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tid: props.id,\r\n\t\t\t},\r\n\t\t\tparams: { taskToDelete: props.taskToDelete },\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const deleteManyCxActions = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_MANY_CX_ACTIONS\",\r\n\t\t\tendPoint: \"deleteMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids: props.ids,\r\n\t\t\t},\r\n\t\t\tparams: { taskToDelete: props.taskToDelete },\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const deleteCxActionPermanently = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_CX_ACTION_PERMANENT\",\r\n\t\t\tendPoint: \"deletePermanently\",\r\n\t\t\tdata: {\r\n\t\t\t\tid: props.id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const deleteManyCxActionsPermanently = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_MANY_CX_ACTIONS_PERMANENT\",\r\n\t\t\tendPoint: \"deletePermanentlyMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids: props.ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const restoreCxAction = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_CX_ACTION\",\r\n\t\t\tendPoint: \"restore\",\r\n\t\t\tdata: {\r\n\t\t\t\tid: props.id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"RESTORE\",\r\n\t});\r\n\r\nexport const restoreManyCxActions = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_MANY_CX_ACTIONS\",\r\n\t\t\tendPoint: \"restoreMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids: props.ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"RESTORE\",\r\n\t});\r\n\r\nexport const updateOrderCxAction = (newOrder, swimlaneKey) => ({\r\n\ttype: \"UPDATE_ORDER_CX_ACTION\",\r\n\tpayload: { newOrder: newOrder, swimlaneKey: swimlaneKey },\r\n});\r\nexport const updateStageActionsOrder = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_STAGE_ACTIONS_ORDER\",\r\n\t\t\tendPoint: \"updateStageActionsOrder\",\r\n\t\t\tdata: {\r\n\t\t\t\tstageId: props.stageId,\r\n\t\t\t\tcjmId: props.cjmId,\r\n\t\t\t\tnewActionsOrder: props.newOrder,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const getExcelExportList = (props) =>\r\n\tcreatePostAction({\r\n\t\ttype: \"GET_EXCEL\",\r\n\t\tendPoint: \"getExcelExport\",\r\n\t\tdata: {\r\n\t\t\tids: props.ids,\r\n\t\t\tcolumns: props.columnView?.join(\"|\"),\r\n\t\t},\r\n\t\tresponseType: \"blob\",\r\n\t});\r\n\r\nexport const getExcelExportListServicecxAction = (ids, columnView) => {\r\n\tconst promise = async () => {\r\n\t\tconst { data, error } = await store.dispatch(getExcelExportList({ ids, columnView }));\r\n\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\tfileDownload(data, \"Actions List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\tif (error) throw error;\r\n\t};\r\n\ttoastWrapper(promise, \"EXPORT\");\r\n};\r\n\r\nexport const linkCxActionRecords = ({ id, recEntityName, recIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"LINK_CXACTION_RECORDS\",\r\n\t\t\tendPoint: \"linkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t\trecEntityName,\r\n\t\t\t\trecIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const unlinkCxActionRecords = ({ id, recEntityName, recIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UNLINK_CXACTION_RECORDS\",\r\n\t\t\tendPoint: \"unlinkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t\trecEntityName,\r\n\t\t\t\trecIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const bulkUnlinkCxActionRecords = ({ ids, recEntityName, recIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"BULK_UNLINK_CXACTION_RECORDS\",\r\n\t\t\tendPoint: \"bulkUnlinkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t\trecEntityName,\r\n\t\t\t\trecIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n","import { encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\n\r\nconst BASE_URL = \"api/strategy/\";\r\n\r\nconst createPostAction = InitActionCreator({ baseUrl: BASE_URL, method: \"POST\" });\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" });\r\n\r\nexport const getAllStrategy = () => {\r\n\treturn {\r\n\t\ttype: \"STRATEGY_GET_ALL\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/getAll\",\r\n\t\t\tmethod: \"GET\",\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const createStrategy = (strategyName) => {\r\n\treturn {\r\n\t\ttype: \"CREATE_STRATEGY\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/create\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tname: encode(strategyName),\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const addStrategyAttribute = ({ newFieldID, strategyId, attributeType, newObject }) => {\r\n\treturn {\r\n\t\ttype: \"ADD_STRATEGY_ATTRIBUTE_TYPE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/addStrategyAttribute\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewFieldIdStr: newFieldID,\r\n\t\t\t\tstrategyId: strategyId,\r\n\t\t\t\tattributeType: attributeType,\r\n\t\t\t},\r\n\t\t},\r\n\t\tparams: newObject,\r\n\t};\r\n};\r\n\r\nexport const getStrategyFormData = (strategyId) => {\r\n\treturn {\r\n\t\ttype: \"GET_STRATEGY_FORM_DATA\",\r\n\t\trequest: {\r\n\t\t\turl: `api/strategy/getStrategyFormData?strategyId=${strategyId}`,\r\n\t\t\tmethod: \"get\",\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const updateOrderLocally = (newState) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_ORDER_LOCALLY\",\r\n\t\tpayload: newState,\r\n\t};\r\n};\r\nexport const updateStrategyAttribOrder = ({ newLayout }) =>{\r\n\treturn {\r\n\t\ttype: \"UPDATE_LAYOUT\",\r\n\t\tpayload: newLayout\r\n\t};\r\n}\r\nexport const updateStrategyAttribOrderDB = ({ strategyId, cxProgramId,newOrderConfig }) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_STRATEGY_ATTRIB_ORDER\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/updateStrategyAttribOrder\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyId: strategyId,\r\n\t\t\t\tnewOrderConfig: newOrderConfig,\r\n\t\t\t\tcxProgramId: cxProgramId,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const deleteCxStrategy = ({ strategyId }) => {\r\n\treturn {\r\n\t\ttype: \"DELETE_CX_STRATEGY\",\r\n\t\trequest: {\r\n\t\t\turl: \"/api/strategy/delete\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyId,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const deleteManyCxStrategies = ({ strategyIds }) => {\r\n\treturn {\r\n\t\ttype: \"DELETE_MANY_CX_STRATEGIES\",\r\n\t\trequest: {\r\n\t\t\turl: \"/api/strategy/deleteMany\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyIds,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const deleteCxStrategyPermanent = ({ strategyId }) => {\r\n\treturn {\r\n\t\ttype: \"DELETE_CX_STRATEGY_PERMANENT\",\r\n\t\trequest: {\r\n\t\t\turl: \"/api/strategy/deletePermanently\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyId,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const deleteManyCxStrategiesPermanent = ({ strategyIds }) => {\r\n\treturn {\r\n\t\ttype: \"DELETE_MANY_CX_STRATEGIES_PERMANENT\",\r\n\t\trequest: {\r\n\t\t\turl: \"/api/strategy/deletePermanentlyMany\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyIds,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const archiveCxStrategy = ({ strategyId }) => {\r\n\treturn {\r\n\t\ttype: \"ARCHIVE_CX_STRATEGY\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/archive\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyId,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const archiveManyCxStrategies = ({ strategyIds }) => {\r\n\treturn {\r\n\t\ttype: \"ARCHIVE_MANY_CX_STRATEGIES\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/archiveMany\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyIds,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const copyCxStrategy = ({ strategyId, newSubject }) => {\r\n\treturn {\r\n\t\ttype: \"COPY_CX_STRATEGY\",\r\n\t\trequest: {\r\n\t\t\turl: \"/api/strategy/copy\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tsrcCxStrategyId: strategyId,\r\n\t\t\t\tnewSubject: encode(newSubject.truncate(100,true)),\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\n\r\n\r\nexport const shareStrategy = ({ roleDetails, userId, userName, strategyId }) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_SHARE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/share\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\troleDetails: roleDetails,\r\n\t\t\t\tuserId: userId,\r\n\t\t\t\tstrategyId: strategyId,\r\n\t\t\t},\r\n\t\t\tparam: {\r\n\t\t\t\tfullName: userName,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const unShareStrategy = (userId, strategyId) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_UNSHARE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/unShare\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tuserId: userId,\r\n\t\t\t\tstrategyId: strategyId,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const shareUsersSingleStrategy = ({ roleDetails, usersId, strategyId }) => {\r\n\treturn {\r\n\t\ttype: \"SHARE_USERS_SINGLE_STRATEGY\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/shareMany\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tids: usersId,\r\n\t\t\t\tstrategyId: strategyId,\r\n\t\t\t\troleDetails: roleDetails,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const shareUsersMulipleStrategy = ({ roleDetails, usersId, strategyIds }) => {\r\n\treturn {\r\n\t\ttype: \"SHARE_USERS_MULTIPLE_STRATEGY\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/shareManyStrategy\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tids: usersId,\r\n\t\t\t\tstrategyIds: strategyIds,\r\n\t\t\t\troleDetails: roleDetails,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const updateStrategyAttributeImage = (strategyId, attributeId, imageExtension, image64) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_STRATEGY_ATTRIBUTE_IMAGE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/uploadStrategyAttributeImage\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyId: strategyId,\r\n\t\t\t\tattributeIdStr: attributeId,\r\n\t\t\t\timageExtension: imageExtension,\r\n\t\t\t\timageBody64: image64,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const updateStrategyAttribute = ({ modifiedStrategy, modifiedAttribNames }) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_STRATEGY_ATTRIBUTE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/updateStrategyAttribute\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedStrategyAttribute: modifiedStrategy,\r\n\t\t\t\tmodifiedAttribNames: modifiedAttribNames,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const updateStrategy = ({ modifiedStrategy, modifiedAttribNames }) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_STRATEGY\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/update\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedCxStrategy: { ...modifiedStrategy, strategyBrandValueDic: {} },\r\n\t\t\t\tmodifiedAttribNames: modifiedAttribNames,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const deleteStrategyAttribute = ({ strategyId, attributeId }) => {\r\n\treturn {\r\n\t\ttype: \"DELETE_STRATEGY_ATTRIBUTE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/deleteStrategyAttribute\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyId: strategyId,\r\n\t\t\t\tstrategyAttributeId: attributeId,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const deleteStrategyAttributeImage = (strategyId, strategyAttributeId) => {\r\n\treturn {\r\n\t\ttype: \"DELETE_IMAGE_ON_BOX\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/deleteStrategyAttributeImage\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyId: strategyId,\r\n\t\t\t\tstrategyAttributeId: strategyAttributeId,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const upsertStrategyBrandValue = ({ strategyBrandValue }) => {\r\n\treturn {\r\n\t\ttype: \"UPSERT_STRATEGY_BRAND_VALUE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/upsertStrategyBrandValue\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyBrandValue\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const addStrategyBrandValue = ({ brandValue, strategyIdStr, attributeIdStr }) => {\r\n\treturn {\r\n\t\ttype: \"ADD_STRATEGY_BRAND_VALUE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/addStrategyBrandValue\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tbrandValue,\r\n\t\t\t\tstrategyIdStr,\r\n\t\t\t\tattributeIdStr,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const updateStrategyBrandValue = ({ modifiedStrategyBrandValue, modifiedAttribNames }) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_STRATEGY_BRAND_VALUE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/updatedStrategyBrandValue\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedStrategyBrandValue,\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const getPdfExportStrategy = (strategyId, width, height) => {\r\n\treturn {\r\n\t\ttype: \"GET_PDF_EXPORT_STRATEGY\",\r\n\t\trequest: {\r\n\t\t\turl: `api/strategy/getPdfExport?strategyId=${strategyId}&width=${width}&height=${height}`,\r\n\t\t\tmethod: \"get\",\r\n\t\t\tresponseType: \"blob\",\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const deleteStrategyBrandValue = ({ strategyBrandValue }) => {\r\n\treturn {\r\n\t\ttype: \"DELETE_STRATEGY_BRAND_VALUE\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/deleteStrategyBrandValue\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyBrandValue,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const resetCurrentStrategy = () => {\r\n\treturn {\r\n\t\ttype: \"RESET_CURRENT_STRATEGY\",\r\n\t};\r\n};\r\n\r\nexport const restoreStrategy = ({ strategyId }) => {\r\n\treturn {\r\n\t\ttype: \"RESTORE_CX_STRATEGY\",\r\n\t\trequest: {\r\n\t\t\turl: \"/api/strategy/restore\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyId,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const restoreManyStrategies = ({ strategyIds }) => {\r\n\treturn {\r\n\t\ttype: \"RESTORE_MANY_CX_STRATEGIES\",\r\n\t\trequest: {\r\n\t\t\turl: \"/api/strategy/restoreMany\",\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyIds,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const getExcelExportList = (ids) => {\r\n\treturn {\r\n\t\ttype: \"GET_EXCEL\",\r\n\t\trequest: {\r\n\t\t\turl: `/api/strategy/getExcelExport`,\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tdata: {\r\n\t\t\t\tids: ids,\r\n\t\t\t},\r\n\r\n\t\t\tresponseType: \"blob\",\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const updateCxStrategyListItem = ({ strategyIdStr, attributeIdStr, attributeItemIdStr, description }) => {\r\n\treturn {\r\n\t\ttype: \"UPDATE_CXSTRATEGY_LIST_ITEM\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/upsertCustomListItem\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyIdStr: strategyIdStr,\r\n\t\t\t\tattributeIdStr: attributeIdStr,\r\n\t\t\t\tattributeItemIdStr: attributeItemIdStr,\r\n\t\t\t\tdescription: encode(description.truncate(20000,true)),\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const reorderCxStrategyListItem = ({ strategyIdStr, newOrder, attributeIdStr }) => {\r\n\treturn {\r\n\t\ttype: \"REORDER_CXSTRATEGY_LIST_ITEM\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/updateCustomListItemsOrder\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyIdStr: strategyIdStr,\r\n\t\t\t\tnewItemsOrder: newOrder,\r\n\t\t\t\tattributeIdStr: attributeIdStr,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const deleteCxStrategyCustomListItem = ({ strategyIdStr, attributeIdStr, attributeItemIdStr }) => {\r\n\treturn {\r\n\t\ttype: \"DELETE_CXSTRATEGY_LIST_ITEM\",\r\n\t\trequest: {\r\n\t\t\turl: \"api/strategy/deleteCustomListItem\",\r\n\t\t\tmethod: \"post\",\r\n\t\t\tdata: {\r\n\t\t\t\tstrategyIdStr: strategyIdStr,\r\n\t\t\t\tattributeItemIdStr: attributeItemIdStr,\r\n\t\t\t\tattributeIdStr: attributeIdStr,\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n};\r\nexport const upsertCxStrategyAttributeAttachItem = ({ data, ...props }) => {\r\n\tgenericService({\r\n\t\t...props, action: createPostAction({\r\n\t\t\ttype: \"UPSERT_CXSTRATEGY_ATTRIBUTE_ATTACH_ITEM\",\r\n\t\t\theaders: {\r\n\t\t\t\tContentType: \"multipart/form-data\"\r\n\t\t\t},\r\n\t\t\tendPoint: \"upsertAttributeAttachItem\",\r\n\t\t\tdata: data\r\n\t\t}),\r\n\t});\r\n};","import { Form, Offcanvas } from \"react-bootstrap\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const CustomOffCanvas = styled(Offcanvas)`\r\nbox-shadow: 0px 6px 30px 5px rgba(0, 0, 0, 0.12), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 8px 10px -5px rgba(0, 0, 0, 0.20);\r\nborder:none;\r\nmin-width: 480px !important;\r\n .offcanvas-header {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 0.5rem;\r\n border:none;\r\n }\r\n .offcanvas-title {\r\n margin-bottom: 0;\r\n font-size: 20px;\r\n padding: 8px 8px;\r\n line-height: 1.5;\r\n }\r\n .offcanvas-body {\r\n\r\n padding: 0.5rem;\r\n padding-top: 0px;\r\n .nav {\r\n justify-content: space-between;\r\n }\r\n .nav-item{\r\n /* width:33%; */\r\n button {\r\n width: 100%;\r\n font-size: 14px;\r\n letter-spacing: 0.4px;\r\n padding: 0.5rem 0;\r\n\r\n }\r\n }\r\n .nav-tabs {\r\n border-bottom: 1px solid #F0F0F0;\r\n }\r\n .nav-tabs .nav-link{\r\n color: rgba(0, 0, 0, 0.60)!important;\r\n\r\n }\r\n .nav-tabs .nav-link:hover {\r\n color: #333333!important;\r\n background-color: #fff!important;\r\n border-bottom: 1px solid #333333 !important;\r\n }\r\n .nav-tabs .nav-link.active {\r\n color: #333333!important;\r\n background-color: #fff!important;\r\n border-bottom: 1px solid #333333 !important;\r\n font-weight: 500;\r\n }\r\n\r\n }\r\n .offcanvas-footer{\r\n border-top: 1px solid var(--color-Grey-Border, #D9D9D9);\r\n padding: 1rem;\r\n padding-bottom: 2rem;\r\n }\r\n\r\n`\r\ninterface FlexProps extends React.HTMLAttributes {\r\n justify?: string;\r\n align?: string;\r\n gap?: number | string;\r\n vertical?: boolean;\r\n background?: string;\r\n key?: string;\r\n}\r\nexport const Flex = styled.div`\r\n display: flex;\r\n justify-content: ${props => props.justify || 'flex-start'};\r\n align-items: ${props => props.align || 'flex-start'};\r\n gap: ${props => props.gap || 0}px ;\r\n flex-direction: ${props => props.vertical ? 'column' : 'row'};\r\n background: ${props => props.background || 'transparent'};\r\n\r\n\r\n`\r\nexport const WrapperPopup = styled.div`\r\nbackground: \"#fff\";\r\nborder: 1px solid #F0F0F0;\r\n`\r\nexport const Switch = styled(Form.Switch)`\r\n\tline-height: 1.5 !important;\r\n\t.form-check-input {\r\n\t\tbackground-color: #ffffff;\r\n\t\tborder-color: #c4c4c4;\r\n\t}\r\n\tinput[type=\"checkbox\" i] {\r\n\t\tcursor: ${(props) => (props.isdisabled === \"true\" ? \"not-allowed\" : \"pointer\")}!important;\r\n\t}\r\n\t.form-check-input:checked {\r\n\t\tbackground-color: #333333;\r\n\t\tborder-color: #333333;\r\n\t}\r\n\r\n\t.form-check-input:focus {\r\n\t\tborder-color: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n`;\r\n","import { constructUrl, encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, ...props }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t\t...props,\r\n\t});\r\n};\r\n\r\nconst BASE_URL = \"api/workspace/\";\r\nconst createPostAction = InitActionCreator({ baseUrl: BASE_URL, method: \"POST\" });\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" });\r\n\r\nexport const getAllWorkspaces = () => createGetAction({ type: \"GET_ALL_WORKSPACES\", endPoint: \"getAll\", meta: { joinRequest: \"GET_ALL_WORKSPACES\" } });\r\n\r\nexport const createWorkspace = ({ newWorkspace, updatedUsers, imageExtension, imageBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\tdisplayToast: \"CREATE\",\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_WORKSPACE\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewWorkspace: { ...newWorkspace, name: encode(newWorkspace?.name?.truncate(100,true)), description: encode(newWorkspace?.description?.truncate(20000,true)) },\r\n\t\t\t\tupdatedUsers,\r\n\t\t\t\timageExtension,\r\n\t\t\t\timageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const shareWorkspace = ({ userId, workspaceIds, roleNames, isUnshare, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"SHARE_WORKSPACE\",\r\n\t\t\tendPoint: \"share\",\r\n\t\t\tdata: {\r\n\t\t\t\tuserId,\r\n\t\t\t\tworkspaceIds,\r\n\t\t\t\troleNames,\r\n\t\t\t\tisUnshare,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const shareManyWorkspaces = ({ userIds, workspaceIds, authorizedUsers, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"SHARE_MANY_WORKSPACES\",\r\n\t\t\tendPoint: \"shareMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tuserIds,\r\n\t\t\t\tworkspaceIds,\r\n\t\t\t},\r\n\t\t\tparams: { authorizedUsers },\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateWorkspace = ({\r\n\tmodifiedWorkspace,\r\n\tupdatedUsers = {\r\n\t\towners: [],\r\n\t\tteamsOwners: [],\r\n\t\tviewers: [],\r\n\t\tteamsViewers: [],\r\n\t},\r\n\tmodifiedAttribNames,\r\n\t...props\r\n}) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_WORKSPACE\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedWorkspace: { ...modifiedWorkspace, name: encode(modifiedWorkspace?.name?.truncate(100,true)), description: encode(modifiedWorkspace?.description?.truncate(20000,true)) },\r\n\t\t\t\tupdatedUsers,\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const copyWorkspace = ({ ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"COPY_WORKSPACE\",\r\n\t\t\tendPoint: \"copy\",\r\n\t\t\tdata: {\r\n\t\t\t\tsrcWorkspaceId: props.srcWorkspaceId,\r\n\t\t\t\tnewWorkspace: { ...props.newWorkspace, name: encode(props.newWorkspace?.name?.truncate(100,true)), description: encode(props.newWorkspace?.description?.truncate(20000,true)) },\r\n\t\t\t\tselectedCustomization: props.selectedCustomization,\r\n\t\t\t\tupdatedUsers: props.updatedUsers,\r\n\t\t\t\timageExtension: props.imageExtension,\r\n\t\t\t\timageBody64: props.imageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"COPY\",\r\n\t});\r\n\r\nexport const deleteWorkspace = ({ workspaceId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_WORKSPACE\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tworkspaceId,\r\n\t\t\t},\r\n\t\t})\r\n\t});\r\n\r\nexport const uploadWorkspaceImage = ({ workspaceId, imageExtension, imageBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPLOAD_WORKSPACE_IMAGE\",\r\n\t\t\tendPoint: \"uploadImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tworkspaceId,\r\n\t\t\t\timageExtension,\r\n\t\t\t\timageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteWorkspaceImage = ({ workspaceId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_WORKSPACE_IMAGE\",\r\n\t\t\tendPoint: \"deleteWorkspaceImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tworkspaceId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n","import { constructUrl, encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, ...props }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t\t...props,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/solution/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/solution/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const getAllSolutions = (props) => createGetAction({\r\n\ttype: \"GET_ALL_SOLUTIONS\", endPoint: constructUrl(\"getAll\", {\r\n\t\tstatusCode: props?.statusCode,\r\n withDetails: props?.withDetails,\r\n redirectReducer: props?.redirectReducer,\r\n\t})\r\n});\r\nexport const getSolutionRelatedRecords = (props) => createGetAction({\r\n\ttype: \"GET_SOLUTION\", endPoint: constructUrl(\"get\", {\r\n\t\tsolutionId: props?.solutionId,\r\n\t}), params: { solutionId: props?.solutionId }\r\n});\r\n\r\nexport const getSolutionRelatedRecordsFn = ({ solutionId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: getSolutionRelatedRecords({ solutionId }),\r\n\t});\r\n\r\nexport const createSolution = ({ item, cxProgramId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_SOLUTION\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewSolutionParams: item,\r\n\t\t\t\tlinkToCxProgramIdStr: cxProgramId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\n\r\n\r\nexport const updateSolution = ({ item, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_SOLUTION\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedSolution: item,\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateMultiSolutions = ({ modifiedSolutions, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_MULTI_SOLUTION\",\r\n\t\t\tendPoint: \"updateMulti\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedSolutions: modifiedSolutions,\r\n\t\t\t\tmodifiedAttribNames: modifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const archiveSolution = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_SOLUTION\",\r\n\t\t\tendPoint: \"archive\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"ARCHIVE\",\r\n\t});\r\n\r\nexport const archiveManySolutions = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_MANY_SOLUTIONS\",\r\n\t\t\tendPoint: \"archiveMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteSolution = ({ id, solution, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_SOLUTION\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t},\r\n\t\t\tparams: solution,\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const deleteManySolutions = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_MANY_SOLUTIONS\",\r\n\t\t\tendPoint: \"deleteMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteSolutionPermanently = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_SOLUTION_PERMANENT\",\r\n\t\t\tendPoint: \"deletePermanently\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const deleteManySolutionsPermanently = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_MANY_SOLUTIONS_PERMANENT\",\r\n\t\t\tendPoint: \"deletePermanentlyMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const restoreSolution = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_SOLUTION\",\r\n\t\t\tendPoint: \"restore\",\r\n\t\t\tdata: {\r\n\t\t\t\tid,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"RESTORE\",\r\n\t});\r\n\r\nexport const restoreManySolutions = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_MANY_SOLUTIONS\",\r\n\t\t\tendPoint: \"restoreMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"RESTORE\",\r\n\t});\r\n\r\nexport const getExcelExportListSol = (ids, columns) =>\r\n\tcreatePostAction({\r\n\t\ttype: \"GET_EXCEL_SOL\",\r\n\t\tendPoint: \"getExcelExport\",\r\n\t\tdata: {\r\n\t\t\tids: ids,\r\n\t\t\tcolumns: columns?.join(\"|\"),\r\n\t\t},\r\n\t\tresponseType: \"blob\",\r\n\t});\r\nexport const getPdfExportSol = (width, height, mapIds, statusIds, groupIds) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_PDF_SOL\",\r\n\t\tendPoint: constructUrl(\"getPdfExport\", {\r\n\t\t\twidth,\r\n\t\t\theight,\r\n\t\t\tmapIds,\r\n\t\t\tstatusIds,\r\n\t\t\tgroupIds,\r\n\t\t}),\r\n\t\tresponseType: \"blob\",\r\n\t});\r\n\r\nexport const updateOrderSolution = (newOrder) => ({\r\n\ttype: \"UPDATE_ORDER_SOLUTION\",\r\n\tpayload: {\r\n\t\tnewOrder,\r\n\t},\r\n});\r\n\r\nexport const updateStageSolutionOrder = ({ stageId, cjmId, newOrder, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_STAGE_SOLUTION_ORDER\",\r\n\t\t\tendPoint: \"updateStageSolutionsOrder\",\r\n\t\t\tdata: {\r\n\t\t\t\tstageId: stageId,\r\n\t\t\t\tcjmId: cjmId,\r\n\t\t\t\tnewSolutionsOrder: newOrder,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const linkSolutionRecords = ({ id, recEntityName, recIds, ...props }) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"LINK_SOLUTION_RECORDS\",\r\n\t\tendPoint: \"linkRecords\",\r\n\t\tdata: {\r\n\t\t\tid, recEntityName, recIds\r\n\t\t},\r\n\t})\r\n});\r\n\r\n\r\nexport const unlinkSolutionRecords = ({ id, recEntityName, recIds, ...props }) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"UNLINK_SOLUTION_RECORDS\",\r\n\t\tendPoint: \"unlinkRecords\",\r\n\t\tdata: {\r\n\t\t\tid, recEntityName, recIds\r\n\t\t},\r\n\t})\r\n});\r\n\r\nexport const bulkUnlinkSolutionRecords = ({ ids, recEntityName, recIds, ...props }) => genericService({\r\n\t...props, action: createPostAction({\r\n\t\ttype: \"BULK_UNLINK_SOLUTION_RECORDS\",\r\n\t\tendPoint: \"bulkUnlinkRecords\",\r\n\t\tdata: {\r\n\t\t\tids, recEntityName, recIds\r\n\t\t},\r\n\t})\r\n});\r\n\r\n","import { GenericButton } from \"shared/ui-basics/index\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Breadcrumb, BreadcrumbItem } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const CustomBreadCrumb = ({ paths, backFunction = null }) => {\r\n\tconst history = useHistory();\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{paths?.map((path, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{path}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst PathContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: start;\r\n\twidth: 100%;\r\n`;\r\n\r\nconst CustomBreadcrumb = styled(Breadcrumb)`\r\n\tol {\r\n\t\tmargin: 0 !important;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n\tli {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n`;\r\n\r\nconst Path = styled.div`\r\n\twhite-space: nowrap;\r\n\tcolor: #8c8c8c;\r\n\tfont-size: 14px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\nimport { store } from \"../../../redux/store\";\r\nimport { EMPTY_GUID, tableDefaultColumn } from \"@utils/helpers\";\r\n\r\n\r\nexport const Table = createSlice({\r\n name: 'Table',\r\n initialState: {\r\n entity: {},\r\n selectedIds: [],\r\n },\r\n reducers: {\r\n loadTableProps: (state, action) => {\r\n const { columns, selectedViewId, entityType, filter, sort, context } = action.payload\r\n if (selectedViewId === EMPTY_GUID) {\r\n state.entity[entityType] = { ...state.entity[entityType], [context]: { columns: tableDefaultColumn(entityType), filters: undefined, selectedViewId: EMPTY_GUID, sort: undefined } }\r\n } else {\r\n state.entity[entityType] = { ...state.entity[entityType], [context]: { ...state.entity?.[entityType]?.[context] || {},columns: columns, filters: filter, selectedViewId: selectedViewId, sort: sort, } }\r\n }\r\n\r\n },\r\n setSelectedIdTable: (state, action) => {\r\n state.selectedIds = action.payload;\r\n },\r\n setColumnsArray: (state, action) => {\r\n const { columns, entityType, context } = action.payload\r\n state.entity[entityType][context] = { ...state.entity[entityType][context], columns: columns }\r\n\r\n },\r\n setFiltersService: (state, action) => {\r\n const { value, entityType, context } = action.payload\r\n state.entity[entityType][context] = { ...state.entity[entityType][context], filters: value }\r\n\r\n },\r\n setIdsAfterFilter: (state, action) => {\r\n const { filteredIds, context, entityType } = action.payload\r\n if(!state.entity[entityType]) state.entity[entityType] = { [context]: { filteredIds: filteredIds } }\r\n else if(!state.entity[entityType]?.[context]) {\r\n state.entity[entityType][context] = { filteredIds: filteredIds }\r\n }else {\r\n state.entity[entityType][context] = { ...state.entity?.[entityType]?.[context], filteredIds: filteredIds }\r\n }\r\n\r\n },\r\n setSortedService: (state, action) => {\r\n const { sortField, sortOrder, entityType, context } = action.payload\r\n state.entity[entityType][context] = { ...state.entity[entityType][context], sort: { sortField: sortField, sortOrder: sortOrder } }\r\n },\r\n }\r\n})\r\nexport const loadTableProps = (data) => store.dispatch(Table.actions.loadTableProps(data))\r\n\r\nexport const setSelectedIdTable = (data) => store.dispatch(Table.actions.setSelectedIdTable(data))\r\nexport const setColumnsArray = (data) => store.dispatch(Table.actions.setColumnsArray(data))\r\nexport const setFiltersService = (data) => store.dispatch(Table.actions.setFiltersService(data))\r\nexport const setSortedService = (data) => store.dispatch(Table.actions.setSortedService(data))\r\nexport const setFilterIdsService = (data) => store.dispatch(Table.actions.setIdsAfterFilter(data))","import { upsertSettingUser } from \"@redux/index\";\r\nimport { setAllowSectionsOverFlow } from \"@redux/pageReducer\";\r\nimport { getColorsByType } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport { memo, useRef, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { Collapse } from \"reactstrap\";\r\nimport { useClickOutside } from \"shared/hooks/index\";\r\nimport { GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport { useColorPicker } from \"../dynamic-imports\";\r\n\r\nfunction ReactColor({\r\n\tcolor,\r\n\tupdateColor,\r\n\ttext = null,\r\n\tbuttonClassName = \"\",\r\n\tButtonComponent,\r\n\tplacement,\r\n\tdisabled = false,\r\n\topenWithBtn = true,\r\n\tautoSave = false,\r\n\twithPopover = true,\r\n\twidth = \"260\",\r\n\tautoClose = false,\r\n\tbuttonSize = \"m\",\r\n\tcolorsType,\r\n\tvariant,\r\n}) {\r\n\tconst userSettings = useSelector(({ settings }) => settings?.userSetting);\r\n\tconst { pathname } = useLocation();\r\n\tconst allowSectionUpdate = [\"/editpersona\", \"/editcxprogram\"].includes(pathname?.toLowerCase());\r\n\r\n\tconst [showPickerColor, setShowPickerColode] = useState(openWithBtn ? false : true);\r\n\tconst [open, setOpen] = useState(openWithBtn ? false : true);\r\n\tconst cemanticaColors = getColorsByType({ type: colorsType });\r\n\tconst containerRef = useRef(null);\r\n\r\n\tconst ChromePicker = useColorPicker()?.ChromePicker;\r\n\tconst refClickOutisde = useRef(null);\r\n\r\n\tuseClickOutside(refClickOutisde, () => {\r\n\t\tif (autoClose) {\r\n\t\t\thandleClose();\r\n\t\t}\r\n\t});\r\n\r\n\tconst handleClick = () => {\r\n\t\tif (disabled) return;\r\n\t\tsetShowPickerColode((prevState) => !prevState);\r\n\t\tallowSectionUpdate && setAllowSectionsOverFlow(true);\r\n\t};\r\n\r\n\tconst handleClose = () => {\r\n\t\tsetShowPickerColode(false);\r\n\t\tallowSectionUpdate && setAllowSectionsOverFlow(false);\r\n\t};\r\n\r\n\tconst handleSubmit = (color) => {\r\n updateColor(color);\r\n\t\tif (!userSettings?.colors?.includes(color) && !cemanticaColors.includes(color)) {\r\n\t\t\tuserSettings.colors = [...(userSettings?.colors || []), color];\r\n\t\t\tuserSettings.colors = userSettings?.colors?.slice(-5);\r\n\t\t\tupsertSettingUser({\r\n\t\t\t\tuserSetting: {\r\n\t\t\t\t\tid: userSettings?.id,\r\n\t\t\t\t\tcolors: userSettings.colors,\r\n\t\t\t\t},\r\n\t\t\t\tmodifiedAttribNames: [\"colors\"],\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\twithPopover && handleClose();\r\n\t};\r\n\tconst presetColors = [...cemanticaColors, ...(userSettings?.colors || [])];\r\n\r\n\tconst ColorPickers = () => {\r\n\t\tconst [currentColor, setColor] = useState(color);\r\n\t\tconst chromColor = presetColors.includes(currentColor) ? \"linear-gradient(to bottom, red, blue)\" : currentColor;\r\n\t\tconst handleChange = (color) => {\r\n\t\t\tsetColor(color?.hex);\r\n\t\t};\r\n\r\n\t\tconst handleClick = (color) => {\r\n\t\t\tsetColor(color?.hex);\r\n\t\t\tif (autoSave) handleSubmit(color?.hex);\r\n\t\t};\r\n\t\tconst SaveButton = () => {\r\n\t\t\tif (autoSave && !open) return null;\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{!autoSave && (\r\n\t\t\t\t\t\t handleSubmit(currentColor)} variant=\"primary-outline\" size={buttonSize}>\r\n\t\t\t\t\t\t\t{t(\"JS_55\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{autoSave && (\r\n\t\t\t\t\t\t handleSubmit(currentColor)} variant=\"light-outline\" size={buttonSize}>\r\n\t\t\t\t\t\t\t{IconDispatcher(\"CHECK\", \"me-2\")}\r\n\t\t\t\t\t\t\t{t(\"SAVE_CUSTOM_COLOR\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{presetColors.map((c) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t handleClick({ hex: c })}>\r\n\t\t\t\t\t\t\t\t
{IconDispatcher(\"CHECK\")}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t\t setOpen(!open)}>\r\n\t\t\t\t\t\t#\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{ChromePicker && }\r\n\t\t\t\t\r\n\t\t\t\t{SaveButton()}\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst DisplayButton = () => {\r\n\t\tif (!openWithBtn) return null;\r\n\t\tif (ButtonComponent) return
{ButtonComponent}
;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{text}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t{showPickerColor &&\r\n\t\t\t\t(withPopover ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t
\r\n\t);\r\n}\r\nexport default memo(ReactColor);\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: ${(props) => props.width}px;\r\n`;\r\n\r\nconst SwatchContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tz-index: 60;\r\n\tposition: relative;\r\n`;\r\n\r\nconst ColorSwatch = styled.div`\r\n\twidth: 32px;\r\n\theight: 32px;\r\n\tborder-radius: 4px;\r\n\tmargin: 5px;\r\n\tmargin-left: 0px;\r\n\tcursor: pointer;\r\n\tbackground: ${({ color }) => `${color}`};\r\n\t${({ color }) => {\r\n\t\tif (color?.toLowerCase() === \"#ffffff\" || color?.isEmptyString() || color === null) {\r\n\t\t\treturn \"border: 1px solid #D9D9D9;\";\r\n\t\t}\r\n\t}}\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Popover = styled.div`\r\n\tbackground-color: #ffffff;\r\n\tborder-radius: 4px;\r\n\tpadding: 0.5rem;\r\n\tbox-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);\r\n\tposition: absolute;\r\n\r\n\t${({ placement }) => {\r\n\t\tswitch (placement) {\r\n\t\t\tcase \"top\":\r\n\t\t\t\treturn \"bottom: 100%\";\r\n\t\t\tcase \"bottom\":\r\n\t\t\t\treturn \"top:100%\";\r\n\t\t\tcase \"left\":\r\n\t\t\t\treturn \"right: 0%\";\r\n\t\t\tcase \"right\":\r\n\t\t\t\treturn \"left: 100%\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}};\r\n\t//${({ top }) => (top ? `top: ${top}px;` : \"\")}\r\n\tz-index: 6;\r\n\t.chrome-picker {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t@media screen and (max-height: 825px) {\r\n\t\ttransform: translateY(-60%);\r\n\t}\r\n`;\r\n\r\nconst Cover = styled.div`\r\n\t/* position: fixed;\r\n top: 0px;\r\n right: 0px;\r\n bottom: 0px;\r\n left: 0px; */\r\n`;\r\n","import ReactColor from \"shared/popovers/ReactColor\";\r\nimport { JumpDotSpinner } from \"shared/components/spinners/Spinner\";\r\nimport { getRequestStatus } from \"@redux/memoizedSelectors\";\r\nimport { isDarkColor } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Input as BoostrapInput } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { GenericButton } from \"./buttons\";\r\nimport { Colors } from \"./colors\";\r\nimport { IconDispatcher } from \"../Icons\";\r\nconst COLORS = {\r\n\tblack: \"#333333\",\r\n\tgrey: \"#C4C4C4\",\r\n};\r\n\r\nexport const SwimlaneTitleInput = styled(BoostrapInput)`\r\n\tborder: 0;\r\n\ttext-transform: capitalize !important;\r\n\tmax-width: 40%;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tline-height: 19px;\r\n\tmin-width: 100px;\r\n\tcolor: ${(props) => isDarkColor(props.color, true)}!important;\r\n\tbackground-color: transparent !important;\r\n\t:focus {\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t-webkit-box-shadow: none;\r\n\t\t-moz-box-shadow: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n\t.form-control:focus {\r\n\t\toutline: none !important;\r\n\t}\r\n\t::-webkit-input-placeholder {\r\n\t\tcolor: ${COLORS.grey};\r\n\t}\r\n\ttext-overflow: ellipsis;\r\n\t${({disabled}) => disabled ? \"pointer-events: none !important;\" : \"\"}\r\n\r\n`;\r\n\r\nexport const Input = styled(BoostrapInput)`\r\n\twidth: 100%;\r\n\tfont-style: normal;\r\n\t&.form-control:disabled {\r\n\t\tbackground-color: transparent;\r\n\t\topacity: 1;\r\n\t}\r\n\t&.form-control[readonly] {\r\n\t\tbackground-color: transparent;\r\n\t\topacity: 1;\r\n\t}\r\n\t&.form-control::placeholder {\r\n\t\t/* Chrome, Firefox, Opera, Safari 10.1+ */\r\n\t\tfont-style: italic;\r\n\t\tfont-weight: 300;\r\n\t}\r\n\t&::-ms-reveal,\r\n\t&::-ms-clear {\r\n\t\tdisplay: none;\r\n\t}\r\n\t&::-webkit-input-decoration {\r\n\t\tdisplay: none;\r\n\t}\r\n\t&::-webkit-clear-button,\r\n\t&::-webkit-inner-spin-button,\r\n\t&::-webkit-outer-spin-button {\r\n\t\t-webkit-appearance: none;\r\n\t\tmargin: 0;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.size === \"xs\" &&\r\n\t\tcss`\r\n\t\t\theight: 24px;\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"s\" &&\r\n\t\tcss`\r\n\t\t\theight: 32px;\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\theight: 36px;\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"lg\" &&\r\n\t\tcss`\r\n\t\t\theight: 40px;\r\n\t\t\tfont-size: 16px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xl\" &&\r\n\t\tcss`\r\n\t\t\theight: 48px;\r\n\t\t\tfont-size: 16px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xxl\" &&\r\n\t\tcss`\r\n\t\t\theight: 60px;\r\n\t\t\tfont-size: 24px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops?.lock === \"lock\" &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.variant === \"default\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${COLORS.black};\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t}\r\n\t\t\t&.form-control:focus {\r\n\t\t\t\toutline: none !important;\r\n\t\t\t}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.variant === \"greyed-disable\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${COLORS.black};\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t}\r\n\t\t\t&.form-control:focus {\r\n\t\t\t\toutline: none !important;\r\n\t\t\t}\r\n\t\t\t&.form-control:disabled {\r\n\t\t\t\tbackground-color: #efefef;\r\n\t\t\t\topacity: 1;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"financialImpact\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${Colors.primaryText} !important;\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t}\r\n\t\t\t&.form-control:focus {\r\n\t\t\t\toutline: none !important;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"no-border-no-focus\" &&\r\n\t\tcss`\r\n\t\t\tborder: none;\r\n\t\t\t&:focus {\r\n\t\t\t\t/* -webkit-box-shadow: 0 0 3px #9df2f2;\r\n\t\t\t\t-moz-box-shadow: 0 0 3px #9df2f2; */\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t}\r\n\t\t\t&.form-control:focus {\r\n\t\t\t\tborder: none;\r\n\t\t\t\toutline: none !important;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"section-title\" &&\r\n\t\tcss`\r\n\t\t\tpadding: 0px !important;\r\n\t\t\tfont-size: 1.2rem !important;\r\n\t\t\tfont-weight: 500 !important;\r\n\t\t\tline-height: 2rem !important;\r\n\t\t\tmargin-left: 1rem !important;\r\n\t\t\tbackground: transparent !important;\r\n\t\t\tborder-radius: 0rem !important;\r\n\t\t\tborder: 0 !important;\r\n\t\t\tcolor: ${(props) => (props.colorcode && isDarkColor(props.colorcode) ? \"#ffffff\" : \"#333333\")} !important;\r\n\t\t\t&:focus {\r\n\t\t\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t\t\t/* -webkit-box-shadow: 0 0 3px #9df2f2;\r\n\t\t\t\t-moz-box-shadow: 0 0 3px #9df2f2; */\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\nexport const SectionTitle = ({ placeholder, value, handleChange, updateSectionTitle, updateColor, showDeletePopup, editable = true, accessDelete = true, colorCode, AIfunction }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { pending: textPending } = useSelector(getRequestStatus({ type: \"GENERATE_PERSONA_SECTION_AI\" }), shallowEqual);\r\n\tconst { pending: otherPending } = useSelector(getRequestStatus({ type: \"ASK_ALEX\" }), shallowEqual);\r\n\tconst loading = textPending === 1 || otherPending === 1;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{editable && (\r\n\t\t\t\t\r\n\t\t\t\t\t{AIfunction && (\r\n\t\t\t\t\t\t<>{loading ? : }\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{accessDelete && }\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\nexport const PrimeInput = styled(InputText)`\r\n\theight: ${(props) => props.specificheight}px;\r\n\tborder-radius: 4px;\r\n\twidth: inherit;\r\n\t:focus {\r\n\t\tborder: 1px solid #605f60 !important;\r\n\t}\r\n\t:hover {\r\n\t\tborder-color: #605f60 !important;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.height === \"small\" &&\r\n\t\tcss`\r\n\t\t\tpadding: 0.25rem;\r\n\t\t\twidth: 100%;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.height === \"large\" &&\r\n\t\tcss`\r\n\t\t\tpadding: 0.25rem;\r\n\t\t\twidth: 425px;\r\n\t\t`}\r\n`;\r\nconst TitleWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n\tmin-height: 36px;\r\n`;\r\nexport const ActionBox = styled.div`\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tdisplay: none;\r\n\tcolor: #605f60;\r\n\t/* width:${(props) => (props.personalityType ? \"30px\" : \"70px\")}; */\r\n\t#action {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\theight: 30px;\r\n\t\twidth: 30px;\r\n\t\ttext-align: center;\r\n\r\n\t\t&:hover {\r\n\t\t\tbackground-color: #e4e7f1;\r\n\t\t\tbox-shadow: 0px 0px 5px #bfbfbf;\r\n\t\t\tborder-radius: 50%;\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nexport const SearchBar = ({ globalFilterValue, handleChange, size, label = \"ASPX_178\", height = 38, handleClick, onKeyDown = null, createAction, disabledCreation, isAutoFocus = false }) => {\r\n\tconst handle = (e) => {\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\t};\r\n\treturn (\r\n\t\t {}}>\r\n\t\t\t\r\n\t\t\t e.preventDefault()}\r\n\t\t\t\tautoFocus={isAutoFocus}\r\n\t\t\t/>\r\n\t\t\t{createAction && (\r\n\t\t\t\t\r\n\t\t\t\t\t createAction(globalFilterValue)}>\r\n\t\t\t\t\t\t{t(\"CS_13\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const StateDropdownSelector = ({ style, value, options, handleChange, disabled }) => {\r\n\tconst selectedStateTemplate = (option, props) => {\r\n\t\tif (option) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn <>{props.placeholder};\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const GenderDropdownSelector = ({ value, genderOptions, handleChange }) => {\r\n\tconst displayIcon = (name) => {\r\n\t\tif (name === \"ASPX_59\") return IconDispatcher(\"MALE\", \"me-2\");\r\n\t\tif (name === \"ASPX_60\") return IconDispatcher(\"FEMALE\", \"me-2\");\r\n\t\tif (name === \"ASPX_61\") return IconDispatcher(\"GENDERLESS\", \"me-2\");\r\n\t};\r\n\r\n\tconst selectedGenderTemplate = (option, props) => {\r\n\t\tif (option) {\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{displayIcon(option?.name)}\r\n\t\t\t\t\t
{option?.translatedName}
\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn <>{props.placeholder};\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\nexport const ConceptSearchBar = ({ globalFilterValue, handleChange, label = \"ASPX_178\", onKeyDown = null }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst startSearch = (e) => {\r\n\t\te.stopPropagation();\r\n\t\tif (globalFilterValue && onKeyDown) onKeyDown(e);\r\n\t};\r\n\tconst props = {\r\n\t\t...(onKeyDown ? { onClick: startSearch, variant: \"light\" } : {}),\r\n\t};\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t 0 ? \"has-text\" : \"\"}`}\r\n\t\t\t\tvalue={globalFilterValue}\r\n\t\t\t\tonChange={handleChange}\r\n\t\t\t\tname=\"text\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tautoComplete=\"off\"\r\n\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t/>\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const CustomDropdown = styled(Dropdown)`\r\n\tbox-shadow: none !important;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tpadding: 0;\r\n\talign-self: center;\r\n\t.p-dropdown:not(.p-disabled) {\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t-webkit-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\t-moz-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\tbox-shadow: 0 0 3px #9df2f2 !important;\r\n\t}\r\n\t:focus {\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t-webkit-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\t-moz-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\tbox-shadow: 0 0 3px #9df2f2 !important;\r\n\t}\r\n\t:hover {\r\n\t\tborder-color: ${Colors.primaryText} !important;\r\n\t}\r\n\t:active {\r\n\t\tborder-color: ${Colors.primaryText} !important;\r\n\t}\r\n\t.p-dropdown-label.p-placeholder {\r\n\t\talign-self: center;\r\n\t}\r\n`;\r\n\r\nconst Label = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\ttext-align: center;\r\n\tborder-radius: 4px;\r\n\theight: 26px;\r\n\tpadding: 4px;\r\n\twidth: ${(props) => (props.labelWidth ? props.labelWidth : \"100%\")};\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tbackground: ${(props) => props.background};\r\n\tcolor: ${(props) => props.color};\r\n\t${(props) =>\r\n\t\tprops.variant === \"small\" &&\r\n\t\tcss`\r\n\t\t\tfont-size: 14px !important;\r\n\t\t`}\r\n`;\r\nconst ButtonPosition = styled.div`\r\n\tposition: absolute;\r\n\tright: 1px;\r\n\ttop: 1px;\r\n`;\r\n","import { Input } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { Button } from \"shared/ui-basics/index\";\r\nimport { Offcanvas } from \"react-bootstrap\";\r\n\r\nexport const CheckBoxWrapper = styled(Input)`\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\tmargin: 0px;\r\n\tmargin-right: 0.5rem; // Add this line\r\n\tborder: 1px solid #605f60;\r\n\t${(props) =>\r\n\t\tprops.sizecheckbox === \"s\" &&\r\n\t\tcss`\r\n\t\t\twidth: 16px;\r\n\t\t\theight: 16px;\r\n\t\t`}\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t&:checked {\r\n\t\tbackground-color: #333333;\r\n\t\tborder-color: #333333;\r\n\t}\r\n\t&:focus {\r\n\t\tbox-shadow: none;\r\n\t\tborder-color: ${(props) => (props.disabled === \"\" ? \"#333333\" : \"#c4c4c4\")};\r\n\t}\r\n`;\r\nexport const DivDivider = styled.div`\r\n\tmargin: auto;\r\n\theight: 80%;\r\n\tbackground-color: #c4c4c4;\r\n\twidth: 1px;\r\n`;\r\n\r\nexport const ModalBox = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tflex: 1;\r\n\toverflow-y: scroll;\r\n\tbackground-color: #fff;\r\n\tmax-height: calc(100vh - 343px);\r\n`;\r\nexport const ButtonWrapper = styled(Button)`\r\n\tdisplay: none;\r\n\theight: 100%;\r\n\tmin-width: 5px;\r\n`;\r\nexport const SearchWrapper = styled.div`\r\n\twidth: 100%;\r\n\theight: 36px;\r\n`;\r\nexport const FirstRow = styled.div``;\r\nexport const DivWrapper = styled.div`\r\n\twidth: 100%;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n\talign-items: center;\r\n\t${(props) =>\r\n\t\tprops.mode === \"create\" &&\r\n\t\tcss`\r\n\t\t\tborder: 1px dashed #c4c4c4;\r\n\t\t\tfont-style: italic;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.mode === \"view\" &&\r\n\t\t`\r\n opacity:1;\r\n `}\r\n ${(props) => props.focus && ` animation: name 2s ease-out;`}\r\n\r\n ${(props) => props.mode === \"update\" && `border: 1px dashed #F96209;`}\r\n textarea {\r\n\t\tborder: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n\r\n\t&:focus-within ${ButtonWrapper} {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\tcursor: pointer;\r\n\t\talign-items: center;\r\n\t}\r\n`;\r\nexport const PathWrapper = styled.div`\r\n\tcolor: #8c8c8c;\r\n\tborder-bottom: 1px dashed #c4c4c4;\r\n\tmargin-left: -1rem;\r\n\tmargin-right: -1rem;\r\n\tmargin-top: -1rem;\r\n`;\r\nexport const PhaseName = styled.div``;\r\nexport const StageName = styled.div`\r\n\t/* border: 1px solid #C4C4C4;\r\n border-radius: 4px; */\r\n`;\r\nexport const OffcanvasLayout = styled(Offcanvas)`\r\n\twidth: 480px;\r\n`;\r\nOffcanvasLayout.displayName = \"OffcanvasLayout\";\r\n\r\nexport const ListObjectActions = styled.div`\r\n\tdisplay: none;\r\n\tborder-left: 1px solid #c4c4c4;\r\n\tpadding: 0px 0.5rem;\r\n`;\r\nexport const ListObjectWrapper = styled.div`\r\n\tdisplay: flex;\r\n\t:hover ${ListObjectActions} {\r\n\t\tdisplay: flex;\r\n\t}\r\n`;\r\nexport const CheckBoxContainer = styled.div`\r\n\tdisplay: flex;\r\n\tborder-right: 1px solid #c4c4c4;\r\n\tmin-width: 40px;\r\n\tmin-height: 30px;\r\n`;\r\n\r\nexport const ListDescription = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 1rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n","import { constructUrl, encode, toastWrapper } from \"@utils/helpers\";\r\nimport { store } from \"redux/store\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/user/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/user/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const getAllRegisteredUsers = () => createGetAction({ type: \"GET_ALL_REGISTERED_USERS\", endPoint: \"getAllRegisteredUsers\" });\r\nexport const getAllAuthorizedUsers = () => createGetAction({ type: \"GET_AUTHORIZED_USERS\", endPoint: \"getAllAuthorizedUsers\" });\r\nexport const getAllRoles = () => createGetAction({ type: \"GET_ALL_ROLES\", endPoint: \"getAllRoles\" });\r\nexport const getSettingUser = () => createGetAction({ type: \"GET_SETTING_USER\", endPoint: \"getUserSetting\" });\r\nexport const getRecentWorks = () => createGetAction({ type: \"GET_RECENT_WORKS\", endPoint: \"getRecentWorks\" });\r\n\r\nexport const createUser = ({ user, workspaceIds, roleNames, teamIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_USER\",\r\n\t\t\tendPoint: \"register\",\r\n\t\t\tdata: { userToRegister: { ...user, firstName: encode(user?.firstName), lastName: encode(user?.lastName), role: encode(user?.role) }, workspaceIds, roleNames, teamIds },\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteUser = ({ id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_USER\",\r\n\t\t\tendPoint: \"unregister\",\r\n\t\t\tdata: { registeredUserId: id },\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const updateUser = ({ modifiedUser, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_USER\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tuserToUpdate: {\r\n\t\t\t\t\t...modifiedUser,\r\n\t\t\t\t\tfirstName: encode(modifiedUser?.firstName),\r\n\t\t\t\t\tlastName: encode(modifiedUser?.lastName),\r\n\t\t\t\t\tfullName: encode(modifiedUser?.fullName),\r\n\t\t\t\t\trole: encode(modifiedUser?.role),\r\n\t\t\t\t},\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateUserType = ({ modifiedUser, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_USER_TYPE\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tuserToUpdate: {\r\n\t\t\t\t\t...modifiedUser,\r\n\t\t\t\t\tfirstName: encode(modifiedUser?.firstName),\r\n\t\t\t\t\tlastName: encode(modifiedUser?.lastName),\r\n\t\t\t\t\tfullName: encode(modifiedUser?.fullName),\r\n\t\t\t\t\trole: encode(modifiedUser?.role),\r\n\t\t\t\t},\r\n\t\t\t\tmodifiedAttribNames: [\"userType\"],\r\n\t\t\t\tparams: { updatedUser: { ...modifiedUser } },\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const activateUsers = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ACTIVATE_USERS\",\r\n\t\t\tendPoint: \"activate\",\r\n\t\t\tdata: { ids },\r\n\t\t}),\r\n\t\tdisplayToast: props?.displayToast ? props?.displayToast : \"ACTIVATE_USER\",\r\n\t});\r\n\r\nexport const deactivateUsers = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DEACTIVATE_USERS\",\r\n\t\t\tendPoint: \"deactivate\",\r\n\t\t\tdata: { ids },\r\n\t\t}),\r\n\t\tdisplayToast: props?.displayToast ? props?.displayToast : \"DEACTIVATE_USER\",\r\n\t});\r\n\r\nexport const transfertOwnerShip = ({ userContactIdFrom, userContactIdTo, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"TRANSFER_OWNERSHIP\",\r\n\t\t\tendPoint: \"transferOwnership\",\r\n\t\t\tdata: { userContactIdFrom, userContactIdTo },\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const upsertSettingUser = ({ userSetting, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_SETTING_USER\",\r\n\t\t\tendPoint: \"upsertUserSetting\",\r\n\t\t\tdata: { userSetting, modifiedAttribNames },\r\n\t\t}),\r\n\t});\r\n\r\nexport const upsertSavedView = ({ savedView, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_SAVED_VIEW\",\r\n\t\t\tendPoint: \"upsertSavedView\",\r\n\t\t\tdata: { savedView },\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteSavedView = ({ savedViewToDelete, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_SAVED_VIEW\",\r\n\t\t\tendPoint: \"deleteSavedView\",\r\n\t\t\tdata: { savedViewToDelete },\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const getAnalyticsFilters = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_ANALYTICS_FILTERS\",\r\n\t\tendPoint: constructUrl(\"getAnalyticsFilters\", {\r\n\t\t\tid: props?.id,\r\n\t\t}),\r\n\t});\r\n\r\nexport const getUsersExcelExport = (ids, columns) => {\r\n\tconst promise = async () => {\r\n\t\tconst { data, error } = await store.dispatch(\r\n\t\t\tcreatePostAction({\r\n\t\t\t\ttype: \"GET_USER_EXCEL\",\r\n\t\t\t\tendPoint: \"getExcelExport\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tids,\r\n\t\t\t\t\tcolumns: columns?.join(\"|\"),\r\n\t\t\t\t},\r\n\t\t\t\tresponseType: \"blob\",\r\n\t\t\t})\r\n\t\t);\r\n\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\tfileDownload(data, \"User List\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n\t\tif (error) throw error;\r\n\t};\r\n\ttoastWrapper(promise, \"EXPORT\");\r\n};\r\n\r\nexport const insertRecentWork = ({ entityName, recordId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPSERT_RECENT_WORK\",\r\n\t\t\tendPoint: \"insertRecentWork\",\r\n\t\t\tdata: { entityName, recordId },\r\n\t\t}),\r\n\t});\r\n","import { NavLink } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nexport const LogoHeader = styled.img`\r\n\tobject-fit: contain !important;\r\n\tposition:sticky;\r\n\ttop:0;\r\n\twidth: 155px !important;\r\n\tmin-height: 40px;\r\n\tjustify-content: center;\r\n\tobject-position: left;\r\n\tbackground-color: #ffffff;\r\n\toverflow: hidden;\r\n\t${(props) =>\r\n\t\tprops.hideForPdf &&\r\n\t\t`\r\n left: 85rem;\r\n width: 380px;\r\n `}\r\n`;\r\n\r\nexport const SideBar = styled.div`\r\n\r\n\tmin-width: 60px;\r\n\tcolor: #262626;\r\n\tbackground-color: #FFF;\r\n\t/* margin-top: 40px; */\r\n\tposition: relative;\r\n\tz-index: 152;\r\n\tpadding-bottom: 13px;\r\n\tborder-right: 1px solid #efefef;\r\n\r\n\t${(props) =>\r\n\t\tprops.variant === \"open\" &&\r\n\t\tcss`\r\n\t\t\twidth: 10%;\r\n\t\t\ttransition: all 0.5s ease-in-out;\r\n\t\t\tmin-width: 240px;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.variant === \"close\" &&\r\n\t\tcss`\r\n\t\t\twidth: 2%;\r\n\t\t\ttransition: all 0.5s ease-in-out;\r\n\t\t\tmin-width: 48px;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.hideSidebar &&\r\n\t\tcss`\r\n\t\t\tdisplay: none;\r\n\t\t`}\r\n`;\r\n\r\nexport const SidebarTop = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: 100%;\r\n\tflex: 1;\r\n height: 100%;\r\n max-height: calc(100vh - 154px);\r\n\toverflow-y: auto;\r\n\toverflow-x: hidden;\r\n\ttransition: overflow-y 0.3s ease;\r\n`;\r\n\r\nexport const SidebarBottom = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: left;\r\n\talign-items: left;\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\tz-index: 2;\r\n\theight: fit-content;\r\n\tbackground: #FFF;\r\n\tborder-right: 1px solid #efefef;\r\n\tpadding: 0px 8px;\r\n`;\r\n\r\nexport const MenuDivider = styled.div`\r\n\tmargin: auto;\r\n\twidth: 90%;\r\n\tbackground-color: #efefef;\r\n\theight: 1px;\r\n`;\r\nexport const CustomNavLink = styled(NavLink)`\r\n\tcursor: pointer;\r\n\tcolor: #262626;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tpadding: 8px;\r\n\theight: 40px;\r\n\tdisplay: flex;\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tfont-family: 'Inter';\r\n\tmargin-top: 0.25rem;\r\n\tline-height: 20px; /* 142.857% */\r\nfont-style: normal;\r\ntext-transform: capitalize;\r\n\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t\topacity: 0.5;\r\n\t\t\tcursor: default;\r\n\t\t`};\r\n\tpath {\r\n\t\tfill: #262626;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.active &&\r\n\t\tcss`\r\n\t\t\tbackground-color: #F5F5F5;\r\n\r\n\t\t\tfont-weight: 600;\r\n\t\t\tborder-radius: 4px;\r\n\t\t`}\r\n\r\n\t:hover {\r\n\t\tbackground-color: #F5F5F5;\r\n\t\tcolor: #262626;\r\n\t\tborder-radius: 4px;\r\n\t}\r\n\t:active {\r\n\t\tfont-weight: 600;\r\n\t\tbackground-color: #F5F5F5;\r\n\t\tcolor: #262626;\r\n\t}\r\n\t:focus {\r\n\t\tcolor: #262626;\r\n\t\tfont-weight: 600;\r\n\t}\r\n`;\r\n\r\nexport const TextWrapper = styled.div`\r\n\twhite-space: nowrap !important;\r\n\tmargin-right: 0.5rem !important;\r\n\tmargin-left: 0.5rem !important;\r\n\tdisplay: inline-block;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\t//: ${(props) => (props.isFooterRoutes ? \"180px\" : \"140px\")};\r\n\tmax-width: 152px;\r\n\twidth: 100%;\r\n`;\r\n\r\nexport const ActionButtons = styled.div`\r\n\tposition: absolute;\r\n\tright: 5px;\r\n`;\r\n\r\nexport const CollapseLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tpadding: 8px 16px;\r\n\tcursor: pointer;\r\n\tfont-size: 14px;\r\n\tposition: relative;\r\n\theight: 40px;\r\n\t/* ${ActionButtons}{\r\n visibility:hidden;\r\n }\r\n\t ${ActionButtons} :focus{\r\n visibility:visible;\r\n;\r\n }\r\n\t:focus ${ActionButtons}{\r\n visibility:visible; }\r\n :hover ${ActionButtons}{\r\n visibility:visible; } */\r\n`;\r\nexport const Flip = styled.div`\r\n\t${(props) =>\r\n\t\tprops.open &&\r\n\t\tcss`\r\n\t\t\theight: calc(100vh - 50px);\r\n\t\t`}\r\n`;\r\n\r\nexport const SubSidebarLabel = styled.div`\r\n\tcolor: #262626;\r\n\tfont-size: 16px;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tline-height: 20px;\r\n\tpadding: 8px 4px;\r\n\twidth: 100%;\r\n\ttransition: all 0.5s ease-in-out;\r\n\theight: 40px;\r\n\r\n`;\r\n export const FlexBetween = styled.div`\r\n \tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\t`","import { Token, Typeahead } from \"react-bootstrap-typeahead\";\r\nimport { Col, ModalBody, Row } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nexport const InputWrapper = styled.select`\r\n\tborder: none;\r\n\tborder-bottom: 1px solid #d9dbde;\r\n\tpadding: 5px;\r\n\tpadding-right: 0;\r\n\tline-height: 18px;\r\n\twidth: 100%;\r\n\theight: 38px;\r\n\t${(props) =>\r\n\t\tprops.locked &&\r\n\t\t`pointer-events: none; \r\n appearance:none;\r\n border-bottom:none;\r\n padding-left:0.5rem;`}\r\n`;\r\nexport const ColWrapper = styled(Col)`\r\n\tborder: 1px solid #ced4da;\r\n\tpadding-left: 0;\r\n\tpadding-right: 0;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: start;\r\n\tborder-top-left-radius: 4px;\r\n\tborder-bottom-left-radius: 4px;\r\n\tborder-top-right-radius: 4px;\r\n\tborder-bottom-right-radius: 4px;\r\n`;\r\nexport const InputTypeahead = styled.select`\r\n\tborder: none;\r\n\tpadding: 5px;\r\n\tpadding-right: 0;\r\n\tline-height: 18px;\r\n\twidth: 20%;\r\n\theight: 100%;\r\n\t/* border-radius: 4px; */\r\n\t/* border: 1px solid #ced4da;\r\nborder:0; */\r\n`;\r\nexport const AllUsers = styled.div`\r\n\tdisplay: inline-block;\r\n\tmargin: 5px 0px 5px 0px;\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\ttext-align: center;\r\n\ttransition: background 0.5s ease-in;\r\n\tfont-size: 14px;\r\n\tline-height: 29px;\r\n\tborder-radius: 50%;\r\n\tbackground-color: #f3f2f1;\r\n`;\r\nexport const TypeaheadWrapper = styled(Typeahead)`\r\n\twidth: ${(props) => props.width};\r\n\t.form-control {\r\n\t\t${(props) =>\r\n\t\t\t!props.showborder &&\r\n\t\t\tcss`\r\n\t\t\t\tborder: 0;\r\n\t\t\t`}\r\n\t}\r\n\t.rbt-token {\r\n\t\tborder-radius: 4px;\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\r\n\t\talign-items: center;\r\n\t}\r\n\t.rbt-token .rbt-token-remove-button {\r\n\t\talign-items: center;\r\n\t}\r\n\t.rbt-input-multi {\r\n\t\tdisplay: flex;\r\n\t\tmin-height: 36px;\r\n\t}\r\n\t.rbt-input-multi.focus {\r\n\t\tborder: 1px solid #333;\r\n\t\tmargin: -1px;\r\n\t\tbox-shadow: none;\r\n\t}\r\n\t.dropdown-item:hover {\r\n\t\tbackground-color: transparent;\r\n\t}\r\n\tdiv[style*=\"height: 100%\"][style*=\"position: relative\"] {\r\n\t\tmin-height: 36px;\r\n\t\tdisplay: flex;\r\n\t\tflex: 1 1 0%;\r\n\t\theight: auto !important;\r\n\t}\r\n\t.dropdown-menu::-webkit-scrollbar {\r\n\t}\r\n\r\n\t.dropdown-menu::-webkit-scrollbar-thumb {\r\n\t\tbackground-color: #ffffff; /* Set the color of the scrollbar thumb */\r\n\t}\r\n\r\n\t.dropdown-menu::-webkit-scrollbar-track {\r\n\t\tbackground-color: #ffffff; /* Set the color of the scrollbar thumb */\r\n\t}\r\n`;\r\nexport const Link = styled.a`\r\n\tfont-size: 14px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\nexport const LinkContainer = styled.div`\r\n\tdisplay: flex;\r\n\twidth: 80%;\r\n\tborder: 1px solid #ced4da;\r\n\tborder-radius: 4px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\nexport const ButtonContainer = styled.div`\r\n\tdisplay: flex;\r\n\twidth: 20%;\r\n\tfont-size: 14px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\nexport const SubLabel = styled.div`\r\n\tfont-family: \"Inter\";\r\n\tfont-style: italic;\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tline-height: 17px;\r\n\tcolor: #c4c4c4;\r\n\tline-height: 40px;\r\n`;\r\nexport const Label = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\ttext-transform: capitalize;\r\n`;\r\nexport const CustomToken = styled(Token)`\r\n\tborder-radius: 4px;\r\n\tbackground: #efefef;\r\n\tcolor: #333333;\r\n\talign-items: center;\r\n\t.rbt-token-label {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tgap: 5px;\r\n\t}\r\n\t.rbt-token-remove-button {\r\n\t\talign-items: center;\r\n\t}\r\n`;\r\nexport const IconWrapper = styled.div`\r\n\tbackground-color: #bde8fa;\r\n\tborder-radius: 50%;\r\n\twidth: 32px;\r\n\theight: 32px;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tdisplay: flex;\r\n`;\r\nexport const Separator = styled.div`\r\n\twidth: 100%;\r\n\theight: 32px;\r\n\t${(props) => props.border && `border-top: 1px solid #C4C4C4;`}\r\n\tmargin: 10px 0px;\r\n`;\r\nexport const UserWrapper = styled.div`\r\n\tdisplay: flex;\r\n\t:hover {\r\n\t\tbackground-color: #e9ecef;\r\n\t}\r\n`;\r\nexport const Body = styled(ModalBody)`\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t`}\r\n`;\r\nexport const RegularTypehead = styled(Typeahead)`\r\n\tdiv[style*=\"height: 100%\"][style*=\"position: relative\"] {\r\n\t\tmin-height: 44px;\r\n\t\tdisplay: flex;\r\n\t\tflex: 1 1 0%;\r\n\t\theight: auto !important;\r\n\t}\r\n\t.dropdown-menu::-webkit-scrollbar-thumb {\r\n\t\tbackground-color: #ffffff; /* Set the color of the scrollbar thumb */\r\n\t}\r\n\r\n\t.dropdown-menu::-webkit-scrollbar-track {\r\n\t\tbackground-color: #ffffff; /* Set the color of the scrollbar thumb */\r\n\t}\r\n`;\r\nexport const UserContainer = styled.div`\r\n\t${(props) =>\r\n\t\tprops.isbulk\r\n\t\t\t? css``\r\n\t\t\t: css`\r\n\t\t\t\t\tmin-height: 400px;\r\n\t\t\t\t\tmax-height: 400px;\r\n\t\t\t\t\toverflow-y: auto;\r\n\t\t\t\t\toverflow-x: hidden;\r\n\t\t\t `}\r\n`;\r\n","import React, { useImperativeHandle } from \"react\";\r\nimport { OverlayTrigger, Popover } from \"react-bootstrap\";\r\nimport styled from \"styled-components/macro\";\r\nimport { FlexAlignCenter, FlexBetweenAlignCenter, Label } from \"../ui-basics\";\r\nimport GenericSwitch from \"../ui-basics/buttons\";\r\nimport Draggable from \"react-draggable\";\r\n\r\nimport { IconDispatcher } from \"../Icons\";\r\nconst DraggablePopoverContent = ({ children }) => {\r\n\t// Prevent dragging from triggering click events (like closing the popover)\r\n\tconst handleStart = (event) => {\r\n\t\tevent.stopPropagation();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{children} {/* This is your popover content */}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nfunction GenericPopover({ children, params, custom, disabled, innerRef, onToggle }) {\r\n\tconst [show, setShow] = React.useState(false);\r\n\r\n\tuseImperativeHandle(innerRef, () => ({\r\n\t\thide_popover: () => setShow(false),\r\n\t\tshow_popover: () => setShow(true),\r\n\t\tshow,\r\n\t}));\r\n\r\n\tconst handleToggle = (visible) => {\r\n\t\tif (disabled) return;\r\n\t\tsetShow(visible);\r\n\t\tonToggle && onToggle(visible);\r\n\t};\r\n\tconst ItemComponent = (props) => {\r\n\t\tconst { id, icon, customIcon, text, onClick, separator, switch: { value, disabled } = {} } = props;\r\n\t\tconst click = (e) => {\r\n\t\t\te.stopPropagation();\r\n\t\t\tonClick(e);\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{separator ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{customIcon && customIcon}\r\n\t\t\t\t\t\t\t{icon && IconDispatcher(icon?.name || icon, icon.className || \"\", icon?.params || {})}\r\n\t\t\t\t\t\t\t{text && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{props.switch && {}} />}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\tconst popoverBody = {custom ? custom : params?.map((param) => )};\r\n\r\n\tconst popoverContent = (\r\n\t\t\r\n\t\t\t{params?.draggable === true ? {popoverBody} : popoverBody}\r\n\t\t\r\n\t);\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
{children}
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\nexport default React.memo(GenericPopover);\r\n\r\nconst Item = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: start;\r\n\tpadding: 5px 0;\r\n\t${(props) => props.id !== \"separator\" && \"height:38px;\"};\r\n\tcursor: ${(props) => props.id !== \"separator\" && \"pointer\"};\r\n\tmin-width: 150px;\r\n\t&:hover {\r\n\t\t${(props) => props.id !== \"separator\" && \"background: #f4f4f4;\"};\r\n\t}\r\n`;\r\nconst Separator = styled.div`\r\n\twidth: 100%;\r\n\theight: 1px;\r\n\tbackground: #c4c4c4;\r\n\tmargin: 5px 0;\r\n`;\r\nconst PopoverContainer = styled(Popover)`\r\n\tborder: none;\r\n\tbackground: transparent;\r\n\tbox-shadow: unset;\r\n\twidth: ${(props) => props.width + \"px\" || \"auto\"};\r\n\tmax-width: ${(props) => props.width + \"px\" || \"auto\"};\r\n\t.popover-arrow {\r\n\t\t${(props) => props.hidearrow === \"true\" && \"display:none;\"}\r\n\t}\r\n\t.popover-body {\r\n\t\tborder-radius: 4px;\r\n\t\tpadding: 0px;\r\n\t\tbackground: ${(props) => (props.background ? props.background : \"#ffffff\")};\r\n\t\t${(props) => props.annimation && `animation: animatedgradient 5s ease alternate infinite`};\r\n\r\n\t\tbox-shadow: ${(props) => (props.shadow ? props.shadow : \"-2px -2px 4px 0px rgba(0, 0, 0, 0.25), 2px 2px 4px 0px rgba(0, 0, 0, 0.25)\")};\r\n\t}\r\n\t@keyframes animatedgradient {\r\n\t\t0% {\r\n\t\t\tbackground-position: 0% 50%;\r\n\t\t}\r\n\t\t50% {\r\n\t\t\tbackground-position: 100% 50%;\r\n\t\t}\r\n\t\t100% {\r\n\t\t\tbackground-position: 0% 50%;\r\n\t\t}\r\n\t}\r\n`;\r\n","import { getAllCxAction, getAllCxProgram, getAllInsights, getAllMapsListData, getAllOpportunity, getAllPersonas, getAllSolutions, linkRecords, unlinkRecords, updateFolderLinks, updatePersonaLinksWithPersonas } from \"@redux/index\";\r\nimport { EMPTY_GUID, getEntityCurrentState } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport PickListData from \"@utils/optionsSets/PickListData\";\r\nimport { getAllProjects } from \"features/projects/reducer/ProjectsActions\";\r\nimport { t } from \"i18next\";\r\nimport _ from \"lodash\";\r\nimport React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Moment from \"react-moment\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { List } from \"react-virtualized\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Row } from \"reactstrap\";\r\nimport { ColorCheckState } from \"shared/cx-components/style\";\r\nimport { useAsyncs } from \"shared/hooks/index\";\r\nimport { ConceptSearchBar, FlexAlignCenter, FlexEndAlignCenter, GenericButton } from \"shared/ui-basics/index\";\r\nimport { Checkbox } from \"shared/ui-basics/ui-components/Checkbox\";\r\nimport { EntityListItem } from \"shared/ui-basics/ui-components/EntityListItem\";\r\nimport styled from \"styled-components\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\n\r\nconst getEntityTypeData = (props) => {\r\n\tconst { folderId, entityType, cxProgramId, personaId } = props;\r\n\tlet params = {};\r\n\tswitch (entityType) {\r\n\t\tcase EntityList.CustomerJourney:\r\n\t\t\tparams = {\r\n\t\t\t\tentityName: \"cem_customerjourney\",\r\n\t\t\t\tattributeId: \"cjmId\",\r\n\t\t\t\tgetAllRequest: getAllMapsListData,\r\n\t\t\t\tpath: \"maps.all_maps\",\r\n\t\t\t\ttitle: t(\"ASPX_44\"),\r\n\t\t\t\tstatusPath: \"customerJourney\",\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Opportunity:\r\n\t\t\tparams = {\r\n\t\t\t\tentityName: \"cem_cxopportunity\",\r\n\t\t\t\tattributeId: \"id\",\r\n\t\t\t\tgetAllRequest: getAllOpportunity,\r\n\t\t\t\tpath: \"opportunity.all_Opportunities\",\r\n\t\t\t\ttitle: t(\"ASPX_44\"),\r\n\t\t\t\tstatusPath: \"opportunity\",\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\r\n\t\tcase EntityList.Action:\r\n\t\t\tparams = {\r\n\t\t\t\tentityName: \"cem_cxactiontask\",\r\n\t\t\t\tattributeId: \"id\",\r\n\t\t\t\tgetAllRequest: getAllCxAction,\r\n\t\t\t\tpath: \"actions.all_actions\",\r\n\t\t\t\ttitle: t(\"ASPX_44\"),\r\n\t\t\t\tstatusPath: \"cxActions\",\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Solution:\r\n\t\t\tparams = {\r\n\t\t\t\tentityName: \"cem_cxsolution\",\r\n\t\t\t\tattributeId: \"id\",\r\n\t\t\t\tgetAllRequest: getAllSolutions,\r\n\t\t\t\tpath: \"solutions.all_solutions\",\r\n\t\t\t\ttitle: t(\"ASPX_44\"),\r\n\t\t\t\tstatusPath: \"solutions\",\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase EntityList.CXProgram:\r\n\t\t\tparams = {\r\n\t\t\t\tentityName: \"cem_cxprogram\",\r\n\t\t\t\tattributeId: \"id\",\r\n\t\t\t\tgetAllRequest: getAllCxProgram,\r\n\t\t\t\tpath: \"cxProgram.all_cxPrograms\",\r\n\t\t\t\ttitle: t(\"ASPX_44\"),\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Persona:\r\n\t\t\tparams = {\r\n\t\t\t\tentityName: \"cem_persona\",\r\n\t\t\t\tattributeId: \"personaId\",\r\n\t\t\t\tgetAllRequest: getAllPersonas,\r\n\t\t\t\tpath: \"personas.all_personas\",\r\n\t\t\t\ttitle: t(\"ASPX_44\"),\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Project:\r\n\t\t\tparams = {\r\n\t\t\t\tentityName: \"cem_cxproject\",\r\n\t\t\t\tattributeId: \"id\",\r\n\t\t\t\tgetAllRequest: getAllProjects,\r\n\t\t\t\tpath: \"projects.all_projects\",\r\n\t\t\t\ttitle: t(\"ASPX_44\"),\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Insight:\r\n\t\t\tparams = {\r\n\t\t\t\tentityName: \"cem_insight\",\r\n\t\t\t\tattributeId: \"id\",\r\n\t\t\t\tgetAllRequest: getAllInsights,\r\n\t\t\t\tpath: \"insights.all_insights\",\r\n\t\t\t\ttitle: t(\"ASPX_44\"),\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tconst LinkFunction = (linkElements, unlinkElements) => {\r\n\t\tif (folderId) {\r\n\t\t\tupdateFolderLinks({ folderIds: [folderId], idsToLink: linkElements, idsToUnlink: unlinkElements, entityName: params.entityName });\r\n\t\t}\r\n\t\tif (cxProgramId) {\r\n\t\t\tif (linkElements.length > 0) linkRecords({ cxProgramId, entityName: params.entityName, ids: linkElements });\r\n\t\t\tif (unlinkElements.length > 0) unlinkRecords({ cxProgramId, entityName: params.entityName, ids: unlinkElements });\r\n\t\t}\r\n\t\tif (personaId) {\r\n\t\t\tif (linkElements.length > 0) updatePersonaLinksWithPersonas({ personaIdsToLink: linkElements.join(\"|\"), personaIdsToUnlink: \"\", personaIdStr: personaId });\r\n\t\t\tif (unlinkElements.length > 0) updatePersonaLinksWithPersonas({ personaIdsToLink: \"\", personaIdsToUnlink: unlinkElements.join(\"|\"), personaIdStr: personaId });\r\n\t\t}\r\n\t};\r\n\r\n\treturn { ...params, linkFunction: LinkFunction };\r\n};\r\n\r\nfunction ListLinkedModal(props) {\r\n\tconst { isOpen, onClose, linked = [], useGetAll = true, saveButtonLabel = \"LINK\" } = props;\r\n\tconst { attributeId, getAllRequest, path, title, linkFunction, statusPath } = getEntityTypeData(props);\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [search, setSearchQuery] = useState(\"\");\r\n\tconst [selectedItems, setSelectedItems] = useState(linked);\r\n\tuseAsyncs({asyncFns:[ {asyncFn: useGetAll ? getAllRequest : null, parameter: { statusCode: StatusCode.Active }}]});\r\n\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\tconst allRecords = useSelector((state) => _.get(state, path), shallowEqual)\r\n\t\t?.getActiveRecords(!showSampleData)\r\n\t\t?.removeParentEntity(props.entityType, props?.personaId || props?.cxProgramId)\r\n\t\t?.removeNoAccessRecord(props.entityType)\r\n\t\t?.searchFilter(search);\r\n\tconst allStatus = useSelector((state) => state.libraries?.status);\r\n\tconst states = PickListData(\"state\");\r\n\r\n\tconst handleChange = (e) => setSearchQuery(e.target.value);\r\n\r\n\tconst handleCheckboxChange = (id) => {\r\n\t\tif (selectedItems.includes(id) === false) {\r\n\t\t\tsetSelectedItems([...selectedItems, id]);\r\n\t\t} else {\r\n\t\t\tsetSelectedItems(selectedItems.filter((item) => item !== id));\r\n\t\t}\r\n\t};\r\n\tconst rowRender = ({ key, index, style }) => {\r\n\t\tconst { entityType } = props;\r\n\t\tconst record = allRecords[index];\r\n\t\tconst id = record?.[attributeId];\r\n\t\tconst status = allStatus?.[statusPath]?.find((s) => s.id === record.cxStatus);\r\n\t\tconst state = getEntityCurrentState(record?.isFuture);\r\n\t\tconst currentState = states.find((s) => s.value === state);\r\n\t\treturn (\r\n\t\t\t handleCheckboxChange(id)}>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t { }} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{record.lastModifiedOn && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{t(\"UPDATED_ON\")}\r\n\t\t\t\t\t\t\t\t\t
{\" | \"}
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{record?.isFuture && }\r\n\t\t\t\t\t\t\t{status && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t
{\" | \"}
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\tconst submit = () => {\r\n\t\tconst linkElements = selectedItems.filter((item) => linked.includes(item) === false);\r\n\t\tconst unlinkElements = linked.filter((item) => selectedItems.includes(item) === false);\r\n\t\tlinkFunction(linkElements, unlinkElements);\r\n\t\tonClose();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(title)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ASPX_86\")}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(saveButtonLabel)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst LabelComponent = ({ label, value, color }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(label) + \": \"}\r\n\t\t\t\r\n\t\t\t\t{value}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nArray.prototype.removeParentEntity = function (entity, id) {\r\n\treturn this.filter((item) => {\r\n\t\tswitch (entity) {\r\n\t\t\tcase EntityList.Persona:\r\n\t\t\t\treturn item.personaId !== id;\r\n\t\t\tcase EntityList.CXProgram:\r\n\t\t\t\treturn item.id !== id;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item;\r\n\t\t}\r\n\t});\r\n};\r\n\r\nArray.prototype.removeNoAccessRecord = function (entity) {\r\n\treturn this.filter((item) => {\r\n\t\tswitch (entity) {\r\n\t\t\tcase EntityList.Persona:{\r\n\t\t\t\tconst roleName = item?.authorizedUsers?.find((user) => user.roleId === EMPTY_GUID)?.roleName;\r\n\t\t\t\treturn roleName?.toLowerCase() !== 'viewer';\r\n\t\t\t}\r\n\t\t\tdefault:\r\n\t\t\t\treturn item;\r\n\t\t}\r\n\t});\r\n};\r\nconst RecordContainer = styled.div`\r\n\tborder-bottom: 1px solid #e5e5e5;\r\n`;\r\nconst FooterComponentStyle = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\nconst CustomLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 0.75rem;\r\n\tfont-style: italic;\r\n\tfont-weight: 300;\r\n\tline-height: normal;\r\n`;\r\nconst CustomValue = styled.div`\r\n\tcolor: ${(props) => props.color};\r\n\tfont-family: Inter;\r\n\tfont-size: 0.75rem;\r\n\tfont-style: italic;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\nconst DateContainer = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 12px !important;\r\n\tfont-style: italic;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\nexport default React.memo(ListLinkedModal);\r\n","import { addGroup, linkGroups, linkTags, updateFolderLinks, upsertTag } from \"@redux/index\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport { t } from \"i18next\";\r\nimport _ from \"lodash\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport GroupDropdown from \"shared/dropdowns/library-dropdown/group/GroupDropdown\";\r\nimport TagsDropdown from \"shared/dropdowns/library-dropdown/tags/TagsDropdown\";\r\nimport { FlexAlignCenter, GenericButton, IconDispatcher, SearchBar } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport { CheckBoxWrapper } from \"../../../features/library/modals/link-kpi/Style\";\r\n\r\nconst transferData = (entityType, pathname, idAttribute, folderId) => {\r\n\tlet recordType = \"\";\r\n\tconst data = {};\r\n\tswitch (pathname) {\r\n\t\tcase \"/solutions\":\r\n\t\t\trecordType = \"cem_cxsolution\";\r\n\t\t\tbreak;\r\n\t\tcase \"/cx-actions\":\r\n\t\t\trecordType = \"cem_cxactiontask\";\r\n\t\t\tbreak;\r\n\t\tcase \"/opportunity\":\r\n\t\t\trecordType = \"cem_cxopportunity\";\r\n\t\t\tbreak;\r\n\t\tcase \"/cx-program\":\r\n\t\t\trecordType = \"cem_cxprogram\";\r\n\t\t\tbreak;\r\n\t\tcase \"/journey-map\":\r\n\t\t\trecordType = \"cem_customerjourney\";\r\n\t\t\tbreak;\r\n\t\tcase \"/personas\":\r\n\t\t\trecordType = \"cem_persona\";\r\n\t\t\tbreak;\r\n\t\tcase \"/projects\":\r\n\t\t\trecordType = \"cem_cxproject\";\r\n\t\t\tbreak;\r\n\t\tcase \"/insights\":\r\n\t\t\trecordType = \"cem_insight\";\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\tconst linkTag = (selectedFromList, selectedIds) => {\r\n\t\tlinkTags({ tagIds: selectedFromList, recordIds: selectedIds?.map((x) => x[idAttribute]), recordType: recordType });\r\n\t};\r\n\tconst linkGroupsFun = (selectedFromList, selectedIds) => {\r\n\t\tlinkGroups({ groupIds: selectedFromList, recordIds: selectedIds?.map((x) => x[idAttribute]), recordType: recordType });\r\n\t};\r\n\tconst linkMapsToFolders = (selectedFromList, selectedIds, entityName) => {\r\n\t\tconst folderIds = selectedFromList;\r\n\t\tconst idsToLink = selectedIds?.map((x) => x[idAttribute]);\r\n\r\n\t\tupdateFolderLinks({ folderIds, idsToLink, entityName });\r\n\t};\r\n\tswitch (entityType) {\r\n\t\tcase \"folder\": {\r\n\t\t\tdata.path = \"folders\";\r\n\t\t\tdata.ViewList = FolderListView;\r\n\t\t\tdata.onUpdate = (selectedFromList, selectedIds) => linkMapsToFolders(selectedFromList, selectedIds, recordType);\r\n\t\t\tdata.label = t(\"MOVE_TO_FOLDER\");\r\n\t\t\tdata.submitLabel = t(\"ASPX_108\");\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase \"subFolder\": {\r\n\t\t\tdata.path = \"folders\";\r\n\t\t\tdata.ViewList = FolderListView;\r\n\t\t\tdata.onUpdate = (selectedFromList, selectedIds) => updateFolderLinks({ folderIds: selectedFromList, idsToLink: [folderId], entityName: \"cem_folder\" });\r\n\t\t\tdata.label = t(\"MOVE_TO_FOLDER\");\r\n\t\t\tdata.submitLabel = t(\"ASPX_108\");\r\n\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase \"tag\": {\r\n\t\t\tconst defaultTag = {\r\n\t\t\t\tid: EMPTY_GUID,\r\n\t\t\t\tname: \"\",\r\n\t\t\t\tcolorCode: \"#E9ECEF\",\r\n\t\t\t\tisCustom: true,\r\n\t\t\t};\r\n\t\t\tdata.label = t(\"SELECT\") + \" \" + t(\"TAG_S\");\r\n\t\t\tdata.path = \"libraries.tags\";\r\n\t\t\tdata.onUpdate = linkTag;\r\n\t\t\tdata.createAction = (name) => upsertTag({ tag: { ...defaultTag, name } });\r\n\t\t\tdata.renderCustomBody = ({ selectedFromList, addToList }) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase \"group\": {\r\n\t\t\tdata.label = t(\"SELECT\") + \" \" + t(\"GROUP_S\");\r\n\t\t\tdata.path = \"libraries.group\";\r\n\t\t\tdata.onUpdate = linkGroupsFun;\r\n\t\t\tdata.createAction = (name) => addGroup({ newGroup: { name } });\r\n\t\t\tdata.renderCustomBody = ({ selectedFromList, addToList }) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\treturn data;\r\n};\r\n\r\nconst FolderListView = ({ object, selectedFromList, folderId, componentName }) => {\r\n\tconst buttonType = componentName === \"subFolder\" ? \"radio\" : \"checkbox\";\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t {}} />\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"folder-open\", \"pe-2\", { color: \"#F96209\" })}\r\n\t\t\t\t\t{object?.name}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst BulkModalLinkComponent = ({ isOpen, onClose, componentName, idAttribute, folderId }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst pathname = useLocation().pathname;\r\n\r\n\tconst data = transferData(componentName, pathname, idAttribute, folderId);\r\n\tconst { ViewList } = data;\r\n\tlet listData = useSelector((state) => _.get(state, data.path));\r\n\tif ([\"folder\", \"subFolder\"].includes(componentName)) {\r\n\t\tlistData = listData\r\n\t\t\t?.filter((x) => (folderId ? x?.id !== folderId : true))\r\n\t\t\t?.getActiveRecords()\r\n\t\t\t.getMainFolders();\r\n\t}\r\n\r\n\tconst [selectedFromList, setSelectedFromList] = useState([]);\r\n\tconst selectedIds = useSelector((state) => state.ui.table.selectedIds);\r\n\tconst [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\r\n\tconst addToList = (id) => {\r\n\t\tif (componentName === \"subFolder\") {\r\n\t\t\tsetSelectedFromList([id]);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst index = selectedFromList.indexOf(id);\r\n\t\tif (index === -1) {\r\n\t\t\tsetSelectedFromList([...selectedFromList, id]);\r\n\t\t} else {\r\n\t\t\tconst newSelectedMaps = selectedFromList.filter((item) => item !== id);\r\n\t\t\tsetSelectedFromList(newSelectedMaps);\r\n\t\t}\r\n\t};\r\n\tconst update = () => {\r\n\t\tdata.onUpdate(selectedFromList, selectedIds);\r\n\t\tonClose();\r\n\t};\r\n\tconst handleChange = (e) => {\r\n\t\tsetGlobalFilterValue(e.target.value);\r\n\t};\r\n\tconst filteredList = listData?.filter((data) => data?.name.toUpperCase().includes(globalFilterValue.toUpperCase()));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{data?.label}\r\n\t\t\t\r\n\t\t\t{data?.renderCustomBody ? (\r\n\t\t\t\tdata?.renderCustomBody({ selectedFromList, addToList })\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{filteredList?.map((object, index) => (\r\n\t\t\t\t\t\t\t
addToList(e.currentTarget.id)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{data.submitLabel ? data.submitLabel : t(\"ADD_SELECTED\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\nexport default BulkModalLinkComponent;\r\n\r\nconst OwnerFolder = ({ folder }) => {\r\n\treturn ;\r\n};\r\n\r\nconst WrapperBody = styled.div`\r\n\tdisplay: flex;\r\n\t${(props) => [\"folder\", \"subFolder\"].includes(props.componentName) && `display:block;`}\r\n\t${(props) => [\"folder\", \"subFolder\"].includes(props.componentName) && `flex-direction:column;`}\r\n\theight:fit-content;\r\n\toverflow-y: scroll;\r\n\tjustify-content: start;\r\n\tflex-wrap: wrap;\r\n\tgap: 5px;\r\n\tmax-height: 80%;\r\n`;\r\n\r\nconst WrapperDiv = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\theight: 68px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n\talign-items: center;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\t`\r\n\t\topacity: 0.5;\r\n\t\tpointer-events: none;\r\n\t`}\r\n`;\r\n\r\nconst Body = styled(ModalBody)`\r\n\theight: 300px;\r\n`;\r\n\r\nconst NameContainer = styled.div`\r\n\twidth: 300px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n","import TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Flex } from \"shared/ui-basics/index\";\r\nimport { getTaxonomyColorData } from \"utils/helpers\";\r\n\r\nconst Tag = ({ tagId = undefined, tag, action = undefined, mode = \"\", disabled = false, className = \"\" }) => {\r\n\tconst currentTag = useSelector((state) => state.libraries.tags)?.find((tag) => tag?.id === tagId) || tag;\r\n\tconst isUnlinkable = mode === \"unlinkable\";\r\n\tif (!currentTag) return <>;\r\n\r\n\tconst { color, backgroundColor } = getTaxonomyColorData({ entity: \"tag\", colorCode: currentTag?.colorCode });\r\n\tconst handleClick = (e) => {\r\n\r\n\t\tif (action && isUnlinkable) {\r\n\t\t\taction(currentTag.id);\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Tag;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nexport function BenefitCard({ classes, isActive = false, variant = \"\", text = \"\", isQuadrant = false, baseUnit = 1, height = undefined, background = undefined }) {\r\n\tconst { t } = useTranslation();\r\n\tconst getIcon = (variant) => {\r\n\t\tswitch (variant) {\r\n\t\t\tcase \"quickWin\":\r\n\t\t\t\treturn \"🎉\";\r\n\t\t\tcase \"niceToHave\":\r\n\t\t\t\treturn \"😉\";\r\n\t\t\tcase \"complexProj\":\r\n\t\t\t\treturn \"🐘️️\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"🚧️️\";\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t{getIcon(variant)}\r\n\t\t\t{t(text)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst Card = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 5px;\r\n\twidth: fit-content;\r\n\theight: 30px;\r\n\tborder-radius: 6px;\r\n\tbackground: #f5f5f5;\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tline-height: 17px;\r\n\tcolor: #262626;\r\n\r\n\t${(props) =>\r\n\t\t!props.isActive &&\r\n\t\tcss`\r\n\t\t\tcolor: transparent;\r\n\t\t\ttext-shadow: 0 0 0 grey;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.isActive &&\r\n\t\tprops.variant === \"quickWin\" &&\r\n\t\tcss`\r\n\t\t\tbackground: #dbeafe;\r\n\t\t\t${(props) =>\r\n\t\t\t\tprops.isQuadrant &&\r\n\t\t\t\tcss`\r\n\t\t\t\t\ttransform: rotate(-90deg);\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\tleft: calc(-1.55 * ${(props) => props.baseUnit}px);\r\n\t\t\t\t\ttop: calc(2.7 * ${(props) => props.baseUnit}px);\r\n\t\t\t\t`}\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.isActive &&\r\n\t\tprops.variant === \"niceToHave\" &&\r\n\t\tcss`\r\n\t\t\tbackground: #ede9fe;\r\n\t\t\t${(props) =>\r\n\t\t\t\tprops.isQuadrant &&\r\n\t\t\t\tcss`\r\n\t\t\t\t\ttransform: rotate(-90deg);\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\tleft: calc(-1.75 * ${(props) => props.baseUnit}px);\r\n\t\t\t\t\tbottom: calc(2.2 * ${(props) => props.baseUnit}px);\r\n\t\t\t\t`}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.isActive &&\r\n\t\tprops.variant === \"complexProj\" &&\r\n\t\tcss`\r\n\t\t\tbackground: #ffedd5;\r\n\t\t\t${(props) =>\r\n\t\t\t\tprops.isQuadrant &&\r\n\t\t\t\tcss`\r\n\t\t\t\t\ttransform: rotate(-90deg);\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\tright: calc(-1.92 * ${(props) => props.baseUnit}px);\r\n\t\t\t\t\ttop: calc(2.8 * ${(props) => props.baseUnit}px);\r\n\t\t\t\t`}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.isActive &&\r\n\t\tprops.variant === \"toAvoid\" &&\r\n\t\tcss`\r\n\t\t\tbackground: #fee2e2;\r\n\r\n\t\t\t${(props) =>\r\n\t\t\t\tprops.isQuadrant &&\r\n\t\t\t\tcss`\r\n\t\t\t\t\ttransform: rotate(-90deg);\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\tright: calc(-1.52 * ${(props) => props.baseUnit}px);\r\n\t\t\t\t\tbottom: calc(2.3 * ${(props) => props.baseUnit}px);\r\n\t\t\t\t`}\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.height &&\r\n\t\tcss`\r\n\t\t\theight: ${props.height}px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.background &&\r\n\t\tcss`\r\n\t\t\tbackground: ${props.background};\r\n\t\t`}\r\n`;\r\n\r\nconst CardText = styled.div`\r\n\tdisplay: flex;\r\n\twhite-space: nowrap;\r\n`;\r\n","import viewIcon from \"@Assets/All/viewIcon.svg\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { pictureValidationPersona } from \"../../../../utils/helpers\";\r\nimport { isRecentWorkById } from \"redux/memoizedSelectors\";\r\n\r\n\r\nconst PersonaBubble = ({ persona, size, onClick, className, border, forceRender, displayCountBubble, count, isActive, isInactive, viewHover = false, tooltip }) => {\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!displayCountBubble && (\r\n\t\t\t\t\r\n\t\t\t\t\t{isInactive && }\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t{displayCountBubble && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\"+\"}\r\n\t\t\t\t\t\t{count}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst ImageWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\twidth: ${(props) => props.size}px;\r\n\theight: ${(props) => props.size}px;\r\n\tborder-radius: 50%;\r\n\r\n\t${(props) =>\r\n\t\tprops.size === \"xs\" &&\r\n\t\tcss`\r\n\t\t\theight: 24px;\r\n\t\t\twidth: 24px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"s\" &&\r\n\t\tcss`\r\n\t\t\theight: 40px;\r\n\t\t\twidth: 40px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\theight: 48px;\r\n\t\t\twidth: 48px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"lg\" &&\r\n\t\tcss`\r\n\t\t\theight: 60px;\r\n\t\t\twidth: 60px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xl\" &&\r\n\t\tcss`\r\n\t\t\theight: 80px;\r\n\t\t\twidth: 80px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xxl\" &&\r\n\t\tcss`\r\n\t\t\theight: 120px;\r\n\t\t\twidth: 120px;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.viewHover &&\r\n\t\tcss`\r\n\t\t\t:hover {\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tbackground-image: url(${viewIcon});\r\n\t\t\t\tbackground-repeat: no-repeat;\r\n\t\t\t\tbackground-position: center;\r\n\t\t\t\tbackground-size: 50%;\r\n\t\t\t\tbackground-color: rgba(255, 255, 255, 0.5);\r\n\t\t\t\topacity: 0.8;\r\n\t\t\t\tz-index: 1;\r\n\t\t\t\timg {\r\n\t\t\t\t\topacity: 0.4;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t`};\r\n`;\r\n\r\nconst PersonaImage = styled.img`\r\n\topacity: 1;\r\n\tborder-radius: 50%;\r\n\tobject-fit: cover;\r\n\tbox-sizing: border-box;\r\n\ttransform: translate3d(0, 0, 1px);\r\n\r\n\twidth: ${(props) => props.size}px;\r\n\tmin-width: ${(props) => props.size}px;\r\n\theight: ${(props) => props.size}px;\r\n\t${(props) =>\r\n\t\tprops.isActive &&\r\n\t\t`\r\n border: 2px solid #FF2B77;\r\n `}\r\n\t${(props) => props.border && `border: 2px solid ${props.border};`}\r\n ${(props) =>\r\n\t\tprops.size === \"xs\" &&\r\n\t\tcss`\r\n\t\t\theight: 24px;\r\n\t\t\twidth: 24px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"s\" &&\r\n\t\tcss`\r\n\t\t\theight: 40px;\r\n\t\t\twidth: 40px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\theight: 48px;\r\n\t\t\twidth: 48px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"lg\" &&\r\n\t\tcss`\r\n\t\t\theight: 60px;\r\n\t\t\twidth: 60px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xl\" &&\r\n\t\tcss`\r\n\t\t\theight: 80px;\r\n\t\t\twidth: 80px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xxl\" &&\r\n\t\tcss`\r\n\t\t\theight: 120px;\r\n\t\t\twidth: 120px;\r\n\t\t`}\r\n`;\r\n\r\nconst CountBubble = styled.div`\r\n\tfont-size: 16px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tz-index: 1 !important;\r\n\tbackground-color: #ffffff;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 50%;\r\n\tobject-fit: cover;\r\n\twidth: ${(props) => props.size}px;\r\n\theight: ${(props) => props.size}px;\r\n\t:hover {\r\n\t\tcursor: default;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.size === \"xs\" &&\r\n\t\tcss`\r\n\t\t\theight: 24px;\r\n\t\t\twidth: 24px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"s\" &&\r\n\t\tcss`\r\n\t\t\theight: 40px;\r\n\t\t\twidth: 40px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\theight: 48px;\r\n\t\t\twidth: 48px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"lg\" &&\r\n\t\tcss`\r\n\t\t\theight: 60px;\r\n\t\t\twidth: 60px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xl\" &&\r\n\t\tcss`\r\n\t\t\theight: 80px;\r\n\t\t\twidth: 80px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xxl\" &&\r\n\t\tcss`\r\n\t\t\theight: 120px;\r\n\t\t\twidth: 120px;\r\n\t\t`}\r\n`;\r\nconst InactiveBackground = styled.div`\r\n\tposition: absolute;\r\n\tbackground-color: rgba(255, 255, 255, 0.5);\r\n\tz-index: 15;\r\n\tcursor: pointer;\r\n\tborder-radius: 50%;\r\n\twidth: ${(props) => props.size}px;\r\n\theight: ${(props) => props.size}px;\r\n\r\n\t${(props) =>\r\n\t\tprops.size === \"xs\" &&\r\n\t\tcss`\r\n\t\t\theight: 24px;\r\n\t\t\twidth: 24px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"s\" &&\r\n\t\tcss`\r\n\t\t\theight: 40px;\r\n\t\t\twidth: 40px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\theight: 48px;\r\n\t\t\twidth: 48px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"lg\" &&\r\n\t\tcss`\r\n\t\t\theight: 60px;\r\n\t\t\twidth: 60px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xl\" &&\r\n\t\tcss`\r\n\t\t\theight: 80px;\r\n\t\t\twidth: 80px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xxl\" &&\r\n\t\tcss`\r\n\t\t\theight: 120px;\r\n\t\t\twidth: 120px;\r\n\t\t`}\r\n`;\r\n\r\nexport default PersonaBubble;\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { getOpportunityRelatedRecords, getOpportunityRelatedRecordsFn, updateOpportunity } from \"features/opportunity/reducer/OpportunityActions.js\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { getAllOpportunities } from \"redux/memoizedSelectors\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { SideModal } from \"shared/cx-components/cx-components.style\";\r\nimport DetailPanel from \"shared/cx-components/detail-panel/detail-panel\";\r\nimport Header from \"shared/cx-components/header\";\r\nimport HeaderTitle from \"shared/cx-components/header-title\";\r\nimport Relations from \"shared/cx-components/relations/relations\";\r\nimport { TypesTabs } from \"shared/cx-components/relations/tabs-data\";\r\nimport { ItemProvider, useItem } from \"shared/dynamic-imports\";\r\nimport { useNavigationListData } from \"shared/hooks\";\r\nimport { EntityList } from \"utils/optionsSets/OptionSets\";\r\nimport { PermissionManager } from \"utils/permissionManager\";\r\nimport BaseActions from \"../actions/BaseActions\";\r\n\r\ntype Props = {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tcustomItemsIds?: string[];\r\n\tid: string;\r\n\tstageId?: string;\r\n};\r\n\r\nexport default function EditOpportunity(props: Props): JSX.Element {\r\n\tconst { isOpen, onClose, id } = props;\r\n\tconst currentItem = useSelector(({ opportunity }: any) => opportunity?.all_Opportunities?.find((opportunity: any) => opportunity.id === id));\r\n\tuseEffect(() => {\r\n\t\treturn () => {\r\n\t\t\tif (id) {\r\n\t\t\t\tgetOpportunityRelatedRecordsFn({ opportunityId: id });\r\n\t\t\t}\r\n\t\t};\r\n\t}, []);\r\n\treturn (\r\n\t\t\r\n\t\t\t{id ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : null}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst Content = (props: Props) => {\r\n\tconst { onClose, customItemsIds, stageId } = props;\r\n\tconst { currentItem, setCurrentItem } = useItem();\r\n\tconst [loading, setLoading] = useState(false);\r\n\r\n\tconst updateData = (id: string) => {\r\n\t\tsetLoading(true);\r\n\t\tgetOpportunityRelatedRecordsFn({\r\n\t\t\topportunityId: id,\r\n\t\t\tonSuccess: (data: any) => {\r\n\t\t\t\tsetCurrentItem(data);\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t},\r\n\t\t\tonFailed: () => setLoading(false),\r\n\t\t});\r\n\t};\r\n\r\n\tconst { navigationList, updateCurrentItem } = useNavigationListData({\r\n\t\tallItemsSelector: getAllOpportunities,\r\n\t\tgetSelectedItemsIds: getTablePath,\r\n\t\tselectedItemsIds: customItemsIds,\r\n\t\tupdate: updateData,\r\n });\r\n \r\n\tconst isReadOnly = useSelector(({ auth }: any) => auth.userInfo.UserType)?.isReadOnly();\r\n\tconst userAccess: any = useSelector(({ maps }: any) => maps?.currentUser?.roleName);\r\n\tconst { editAllowed }: any = PermissionManager({ userAccess }) || {};\r\n\tconst disabled = isReadOnly || !editAllowed;\r\n\tconst actions = BaseActions({ opportunity: currentItem, onClose });\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst getTablePath = (pathname: string) => {\r\n\tswitch (pathname) {\r\n\t\tcase \"/EditCxProgram\":\r\n\t\t\treturn ({ ui }: any) => ui.table?.entity?.[EntityList.Opportunity]?.cxProgram?.filteredIds;\r\n\t\tdefault:\r\n\t\t\treturn ({ ui }: any) => ui.table?.entity?.[EntityList.Opportunity]?.OpportunitiesList?.filteredIds;\r\n\t}\r\n};\r\n","import TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { getTaxonomyColorData } from \"utils/helpers\";\r\n\r\nexport default function InsightType({ object, typeId, isEdit, handleRemove }) {\r\n\tconst type = useSelector(({ libraries }) => libraries?.insightTypes?.getById(typeId || object?.id));\r\n\r\n\tif (!type) return null;\r\n\r\n\tconst isUnlinkable = isEdit && handleRemove;\r\n\r\n\tconst handleUnlink = (e) => {\r\n\t\te?.stopPropagation();\r\n\t\thandleRemove(object.id);\r\n\t};\r\n\r\n\tconst { color, backgroundColor } = getTaxonomyColorData({ entity: \"insightType\", colorCode: type?.colorCode });\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n","import i18n from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\nimport LanguageDetector from 'i18next-browser-languagedetector';\r\nimport Backend from 'i18next-http-backend';\r\n\r\ni18n\r\n.use(Backend)\r\n.use(LanguageDetector)\r\n.use(initReactI18next)\r\n.init({\r\n debug:false ,\r\n fallbackLng: 'en',\r\n backend: {\r\n loadPath: \"./locales/{{lng}}/translation.json\",\r\n requestOptions: {\r\n cache: 'no-store',\r\n },\r\n },\r\n lng: localStorage?.getItem(\"language\") || 'en',\r\n\r\n });\r\n// process.env.NODE_ENV === 'development',\r\nexport default i18n;","import { FlexAlignCenter, Input } from \"shared/ui-basics/index\";\r\nimport { RestrictUserAccess } from \"@utils/helpers\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Breadcrumb, Label } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nexport const Path = styled.div`\r\n\twhite-space: nowrap;\r\n\tcolor: #605F60 ;\r\n\tfont-size: 14px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t display: inline-block;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n max-width: 600px;\r\n`;\r\nexport const HeaderInput = styled(Input)`\r\n\tpadding-left: 0;\r\n\tfont-size: 28px;\r\n\tline-height: 150%;\r\n\tcolor: #333333;\r\n\t--bs-bg-opacity: 1;\r\n\ttext-overflow: ellipsis;\r\n\tbackground-color: transparent !important;\r\n\tfont-weight: 500;\r\n\tborder: 0px;\r\n\tmin-height: 38px;\r\n\tmax-height: 100px; /* Adjust this for the desired number of lines */\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2; /* Adjust this for the desired number of lines */\r\n\t-webkit-box-orient: vertical;\r\n\tresize: none;\r\n\tword-break: break-all;\r\n\r\n\t:focus {\r\n\t\tfont-family: \"Inter\";\r\n\t\tletter-spacing: 0em;\r\n\t\ttext-align: left;\r\n\t\t--bs-bg-opacity: 1;\r\n\t\ttext-overflow: ellipsis;\r\n\t\tbackground-color: transparent !important;\r\n\t\twidth: 100%;\r\n\t\tpadding: 0 0.25rem;\r\n\t\tmargin-top: 0;\r\n\t\tmargin-bottom: 0.5rem;\r\n\t\tline-height: 1.5;\r\n\t}\r\n\t${(props) => (RestrictUserAccess(props.access?.toLowerCase(), [\"viewer\", \"contributor\"]) ? \" pointer-events: none;\" : \"\")}\r\n`;\r\nexport const Container = styled.div`\r\n\tbox-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tbackground-color: #ffffff;\r\n\r\n`;\r\nexport const RowWrapper = styled(Row)`\r\n\t/* border-top: 1px dashed #c4c4c4; */\r\n\t/* display: flex;\r\njustify-content: space-between; */\r\n\tmin-height: ${(props) => props.height};\r\n`;\r\nexport const ColWrapper = styled(Col)`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-around;\r\n\tborder-left: 1px dashed #c4c4c4;\r\n`;\r\nexport const PersonaDetails = styled.div`\r\n\twidth: -webkit-fill-available;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n`;\r\n\r\nexport const TitleContainer = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-height: 52px;\r\n`\r\n\r\nexport const LabelWrapper = styled(Label)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tcolor: #92919d;\r\n\tmargin-bottom: 0.55rem;\r\n\twhite-space: nowrap;\r\n\t${(props) => props.small && \"font-size:10px;\"}\r\n`;\r\n\r\nexport const DivWrapperCol4 = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\t${(props) => (props.first ? \"\" : \"border-left: 1px solid #C4C4C4\")};\r\n\tjustify-content: space-around;\r\n`;\r\n\r\nexport const LastSaveWrapper = styled.span`\r\n\tpadding-right: 0.5rem;\r\n\tpadding-left: 0.5rem;\r\n\tborder-radius: 0.25rem;\r\n\talign-self: center;\r\n\tcolor: #333333;\r\n\twhite-space: nowrap;\r\n\r\n\t${(props) => (props.updated ? `animation: name 1.5s ease-out;` : \"\")};\r\n\t@keyframes name {\r\n\t\t100% {\r\n\t\t\tbackground-color: #d8fafa;\r\n\t\t}\r\n\t}\r\n\t@media screen and (max-width: 1440px) {\r\n\t\tfont-size: 14px;\r\n\t}\r\n`;\r\nexport const RowDash = styled(Row)`\r\n\tborder-bottom: 1px dashed #c4c4c4;\r\n ${(props) =>\r\n props.disabled &&\r\n css`\r\n pointer-events: none;\r\n opacity: 0.5;\r\n `}\r\n`;\r\nexport const CenterCol = styled(Col)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t/* @media (max-width: 1550px) {\r\n\t\t${(props) =>\r\n\t\tprops.smallscreenupdate === \"true\"\r\n\t\t\t? css`\r\n\t\t\t\t\twidth: 60% !important;\r\n\t\t\t `\r\n\t\t\t: \"\"}\r\n\t}\r\n\t@media (max-width: 1300px) {\r\n\t\t${(props) =>\r\n\t\tprops.smallscreenupdate === \"true\"\r\n\t\t\t? css`\r\n\t\t\t\t\twidth: 50% !important;\r\n\t\t\t `\r\n\t\t\t: \"\"}\r\n\t}\r\n\t@media (max-width: 1100px) {\r\n\t\t${(props) =>\r\n\t\tprops.smallscreenupdate === \"true\"\r\n\t\t\t? css`\r\n\t\t\t\t\twidth: 40% !important;\r\n\t\t\t `\r\n\t\t\t: \"\"}\r\n\t} */\r\n`;\r\nexport const Number = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: row-reverse;\r\n\tfont-size: 16px;\r\n\tfont-weight: 600;\r\n\tline-height: 20px;\r\n\tcolor: ${(props) => props.color};\r\n\tjustify-content: center;\r\n`;\r\n\r\n\r\nexport const ColEnd = styled(Col)`\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\t/* border-left: 1px solid #c4c4c4; */\r\n\talign-items: center;\r\n position: relative;\r\n`;\r\nexport const StretchCol = styled(Col)`\r\n\tdisplay: flex;\r\n\talign-items: stretch;\r\n\r\n\tjustify-content: flex-end;\r\n`;\r\nexport const End = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: end;\r\n`;\r\n\r\nexport const CrumbWrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n pointer-events: auto;\r\n`\r\nexport const CustomBreadcrumb = styled(Breadcrumb)`\r\n\tol {\r\n\t\tmargin: 0 !important;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n\tli {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n\tcolor:#605F60 !important;\r\n`;\r\n\r\nexport const ItemNameWrapper = styled.div`\r\n\tfont-weight: 500;\r\n\tfont-size: 28px;\r\n\tline-height: 150%;\r\n\tcolor: #333333;\r\n\twidth: 100%;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\nexport const UserConnectedWrapper=styled(FlexAlignCenter)`\r\nborder-right:1px solid #c4c4c4;\r\npadding-right:1rem;\r\n`","import { constructUrl, detectImageExtension, encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\nimport { t } from \"i18next\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\n\r\nconst BASE_URL = \"api/cxProgram/\";\r\n\r\nconst createPostAction = InitActionCreator({ baseUrl: BASE_URL, method: \"POST\" });\r\nconst createGetAction = InitActionCreator({ baseUrl: BASE_URL, method: \"GET\" });\r\n\r\nexport const getAllCxProgram = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"CX_PROGRAM_GET_ALL\",\r\n\t\tendPoint: constructUrl(\"getAll\", {\r\n\t\t\tredirectReducer: props?.redirectReducer,\r\n }),\r\n params: { showSampleData: props?.showSampleData }\r\n\t});\r\n\r\nexport const GetCxProgram = ({ CxProgramIdStr }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_CX_PROGRAM\",\r\n\t\tendPoint: constructUrl(\"get\", {\r\n\t\t\tcxProgramId: CxProgramIdStr,\r\n\t\t}),\r\n\t});\r\n\r\nexport const createCxProgram = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_CX_PROGRAM\",\r\n\t\t\tendPoint: \"create\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewCxProgramParams: { name: encode(props?.name.truncate(100,true)) },\r\n\t\t\t\tlinkedFolderId: props?.folderId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: \"CREATE_NO_SUCCESS_TOAST\",\r\n\t});\r\n\r\nexport const updateCxProgram = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CX_PROGRAM\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedCxProgram: { ...props?.modifiedCxProgram, name: encode(props?.modifiedCxProgram.name.truncate(100)) },\r\n\t\t\t\tmodifiedAttribNames: props?.modifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const copyCxProgram = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"COPY_CX_PROGRAM\",\r\n\t\t\tendPoint: \"copy\",\r\n\t\t\tdata: {\r\n\t\t\t\tsrcCxProgramId: props?.id,\r\n\t\t\t\tnewName: encode(props?.name.truncate(100,true)),\r\n\t\t\t\tworkspaceIds: props?.workspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"COPY\",\r\n\t});\r\n\r\nexport const archiveCxProgram = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_CX_PROGRAM\",\r\n\t\t\tendPoint: \"archive\",\r\n\t\t\tdata: {\r\n\t\t\t\tid: props?.id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"ARCHIVE\",\r\n\t});\r\n\r\nexport const restoreCxProgram = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_CX_PROGRAM\",\r\n\t\t\tendPoint: \"restore\",\r\n\t\t\tdata: {\r\n\t\t\t\tid: props?.id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"RESTORE\",\r\n\t});\r\n\r\nexport const deleteCxProgram = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_CX_PROGRAM\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tid: props?.id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const deleteCxProgramPermanent = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_CX_PROGRAM_PERMANENT\",\r\n\t\t\tendPoint: \"deletePermanently\",\r\n\t\t\tdata: {\r\n\t\t\t\tid: props?.id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const getCxProgramUsers = ({ cxProgramId, forceViewer, isPrint, userId, from }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_CXPROGRAM_USERS\",\r\n\t\tendPoint: constructUrl(\"getAuthorizedUsers\", {\r\n\t\t\tcxProgramId,\r\n\t\t\tforceViewer,\r\n\t\t}),\r\n\t\tparams: { isPrint, userId, from },\r\n\t});\r\n\r\nexport const shareCxProgram = ({ recId, userId, roleDetails, teamId, userIdName, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"SHARE_USERS_SINGLE_CX_PROGRAM\",\r\n\t\t\tendPoint: \"share\",\r\n\t\t\tdata: {\r\n\t\t\t\trecId,\r\n\t\t\t\tuserId,\r\n\t\t\t\troleDetails,\r\n\t\t\t\tteamId,\r\n\t\t\t},\r\n\t\t\tparam: {\r\n\t\t\t\tfullName: userIdName,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n\r\nexport const unshareCxProgram = ({ recId, userId, teamId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UNSHARE_CX_PROGRAM\",\r\n\t\t\tendPoint: \"unShare\",\r\n\t\t\tdata: {\r\n\t\t\t\trecId,\r\n\t\t\t\tuserId,\r\n\t\t\t\tteamId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const shareManyCxPrograms = ({ recIds, usersIds, roleDetails, teamIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"SHARE_USERS_MANY_CX_PROGRAMS\",\r\n\t\t\tendPoint: \"shareMany\",\r\n\t\t\tdata: {\r\n\t\t\t\trecIds: recIds ? recIds : [],\r\n\t\t\t\tuserIds: usersIds ? usersIds?.split(\"|\") : [],\r\n\t\t\t\troleDetails,\r\n\t\t\t\tteamIds: teamIds ? teamIds?.split(\"|\") : [],\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const archiveManyCxPrograms = ({ ids, toast, onSuccess }) =>\r\n\tgenericService({\r\n\t\tids,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_MANY_CX_PROGRAMS\",\r\n\t\t\tendPoint: \"archiveMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: toast,\r\n\t\tonSuccess,\r\n\t});\r\n\r\nexport const deleteManyCxPrograms = ({ ids, toast, onSuccess }) =>\r\n\tgenericService({\r\n\t\tids,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_MANY_CX_PROGRAMS\",\r\n\t\t\tendPoint: \"deleteMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: toast,\r\n\t\tonSuccess,\r\n\t});\r\n\r\nexport const deleteManyCxProgramsPermanent = ({ ids, toast, onSuccess }) =>\r\n\tgenericService({\r\n\t\tids,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_MANY_CX_PROGRAMS_PERMANENT\",\r\n\t\t\tendPoint: \"deletePermanentlyMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: toast,\r\n\t\tonSuccess,\r\n\t});\r\n\r\nexport const restoreManyCxPrograms = ({ ids, onSuccess }) =>\r\n\tgenericService({\r\n\t\tids,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_MANY_CX_PROGRAMS\",\r\n\t\t\tendPoint: \"restoreMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"RESTORE\",\r\n\t\tonSuccess,\r\n\t});\r\nexport const updateCxProgramAttribOrder = ({ newLayout }) =>{\r\n\t\treturn {\r\n\t\t\ttype: \"UPDATE_LAYOUT\",\r\n\t\t\tpayload: newLayout\r\n\t\t};\r\n}\r\nexport const updateCxProgramAttribOrderDB = ({ cxProgramId, newLayout, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CX_PROGRAM_ORDER\",\r\n\t\t\tendPoint: \"updateAttributesPositions\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tnewPositions: newLayout,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const createCxProgramAttribute = ({ cxProgramId, attributeType, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ADD_ATTRIBUTE\",\r\n\t\t\tendPoint: \"addAttribute\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tattributeType,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteCxProgramAttribute = ({ cxProgramId, attributeId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_ATTRIBUTE\",\r\n\t\t\tendPoint: \"deleteAttribute\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tattributeId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateCxProgramAttributeColor = ({ cxProgramId, attributeId, newColor, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CXPROGRAM_ATTRIBUTE_COLOR\",\r\n\t\t\tendPoint: \"updateAttribute\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tattributeId,\r\n\t\t\t\tnewColor,\r\n\t\t\t\tmodifiedAttribNames: [\"color\"],\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateCxProgramAttributeTitle = ({ cxProgramId, attributeId, newName, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CXPROGRAM_ATTRIBUTE_NAME\",\r\n\t\t\tendPoint: \"updateAttribute\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tattributeId,\r\n\t\t\t\tnewName: encode(newName.truncate(100,true)),\r\n\t\t\t\tmodifiedAttribNames: [\"name\"],\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateCxAttributeDescription = ({ cxProgramId, attributeId, newDescription, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CXPROGRAM_ATTRIBUTE_DESC\",\r\n\t\t\tendPoint: \"updateAttribute\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tattributeId,\r\n\t\t\t\tnewDescription: encode(newDescription.truncate(20000,true)),\r\n\t\t\t\tmodifiedAttribNames: [\"description\"],\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const upsertCxAttributeItem = ({ attributeItem, attribute, cxGoal, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPSERT_CXPROGRAM_ATTRIBUTE_ITEM\",\r\n\t\t\tendPoint: \"upsertAttributeItem\",\r\n\t\t\tdata: {\r\n\t\t\t\tattributeItem: { ...attributeItem, description: encode(attributeItem?.description?.truncate(20000,true)), name: encode(attributeItem?.name?.truncate(100,true)) },\r\n\t\t\t\tattribute,\r\n\t\t\t\tcxGoal,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteCxAttributeItem = ({ attributeItemId, attributeId, cxProgramId, cxGoalId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_CXPROGRAM_ATTRIBUTE_ITEM\",\r\n\t\t\tendPoint: \"deleteAttributeItem\",\r\n\t\t\tdata: {\r\n\t\t\t\tattributeItemId,\r\n\t\t\t\tattributeId,\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tcxGoalId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const updateCxAttributeItemsOrder = ({ cxProgramId, newItemsOrder, attributeId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CXPROGRAM_ATTRIBUTE_ITEM_ORDER\",\r\n\t\t\tendPoint: \"updateAttribute\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tnewItemsOrder,\r\n\t\t\t\tattributeId,\r\n\t\t\t\tmodifiedAttribNames: [\"itemsorder\"],\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const upserttCxAttributeAttachItem = ({ data, ...props }) => {\r\n\tgenericService({\r\n\t\t...props, action: createPostAction({\r\n\t\t\ttype: \"UPSERT_CXPROGRAM_ATTRIBUTE_ATTACH_ITEM\",\r\n\t\t\theaders: {\r\n\t\t\t\tContentType: \"multipart/form-data\"\r\n\t\t\t},\r\n\t\t\tendPoint: \"upsertAttributeAttachItem\",\r\n\t\t\tdata: data\r\n\t\t}),\r\n\t});\r\n};\r\nexport const linkRecords = ({ cxProgramId, entityName, ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"LINK_RECORD\",\r\n\t\t\tendPoint: \"linkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\trecToLinkEntityName: entityName,\r\n\t\t\t\trecToLinkIds: ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\t// displayToast: props?.displayToast || \"UPDATE\",\r\n\t\t// toastParams: { success: t(\"RECORDS_LINKED_SUCCESS\") },\r\n\t});\r\n\r\nexport const unlinkRecords = ({ cxProgramId, entityName, ids, unlinkRelated, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UNLINK_RECORD\",\r\n\t\t\tendPoint: \"unlinkRecords\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\trecToUnlinkEntityName: entityName,\r\n\t\t\t\trecToUnlinkIds: ids,\r\n\t\t\t\tunlinkRelated,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props?.displayToast || \"UPDATE\",\r\n\t\ttoastParams: { success: t(\"RECORDS_UNLINKED_SUCCESS\") },\r\n\t});\r\n\r\nexport const updateCxAttributeImage = ({ cxProgramId, attributeId, image, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CXPROGRAM_ATTRIBUTE_IMAGE\",\r\n\t\t\tendPoint: \"uploadAttributeImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tattributeId,\r\n\t\t\t\timageExtension: detectImageExtension(image.split(\",\")[0]),\r\n\t\t\t\timageBody64: image.split(\",\")[1],\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteCxAttributeImage = ({ cxProgramId, attributeId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_CXPROGRAM_ATTRIBUTE_IMAGE\",\r\n\t\t\tendPoint: \"deleteAttributeImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\tattributeId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const GetStrategyFromCxProgram = ({ CxProgramIdStr }) => {\r\n\treturn {\r\n\t\ttype: \"GET_STRATEGY_CX_PROGRAM\",\r\n\t\trequest: {\r\n\t\t\turl: `api/cxProgram/getStrategy?cxProgramId=${CxProgramIdStr}`,\r\n\t\t\tmethod: \"GET\",\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const getCxProgramExcelExportList = (ids, columns) =>\r\n\tcreatePostAction({\r\n\t\ttype: \"GET_CX_PROGRAM_EXCEL\",\r\n\t\tendPoint: \"getExcelExport\",\r\n\t\tdata: {\r\n\t\t\tids,\r\n\t\t\tcolumns: columns?.join(\"|\"),\r\n\t\t},\r\n\t\tresponseType: \"blob\",\r\n\t});\r\n\r\nexport const getCxProgramLinkedExcelExportList = ({ entityName, id }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_CX_PROGRAM_EXCEL\",\r\n\t\tendPoint: constructUrl(\"getLinkedExcelExport\", {\r\n\t\t\tentityName,\r\n\t\t\tid,\r\n\t\t}),\r\n\t\tresponseType: \"blob\",\r\n\t});\r\n\r\nexport const resetCxProgram = () => {\r\n\treturn {\r\n\t\ttype: \"RESET_PROGRAM\",\r\n\t};\r\n};\r\n\r\nexport const getPdfCxProgram = ({ cxProgramId, width, height, renderDelay }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_PDF_EXPORT_CX_PROGRAM\",\r\n\t\tendPoint: constructUrl(\"getPdfExport\", {\r\n\t\t\tcxProgramId,\r\n\t\t\twidth,\r\n\t\t\theight,\r\n\t\t\trenderDelay,\r\n\t\t}),\r\n\t\tresponseType: \"blob\",\r\n\t});\r\n\r\nexport const resetCxProgramUsers = () => {\r\n\treturn {\r\n\t\ttype: \"RESET_CXPROGRAMS_USERS\",\r\n\t};\r\n};\r\n\r\nexport const updateCxProgramImage = ({ cxProgramId, imageExtension, imageBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CX_PROGRAM_IMAGE\",\r\n\t\t\tendPoint: \"updateImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t\timageExtension,\r\n\t\t\t\timageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteCxProgramImage = ({ cxProgramId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_CX_PROGRAM_IMAGE\",\r\n\t\t\tendPoint: \"deleteImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tcxProgramId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { StateTypeOption } from \"@utils/optionsSets/OptionSets\";\r\n\r\nexport default function PickListData(type, arrayofType) {\r\n\tconst { t } = useTranslation();\r\n\tconst getPicklistData = (type) => {\r\n\t\tswitch (type) {\r\n\t\t\tcase \"priority\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: t(\"LOW\"), value: 0, colorCode: \"#CFFF47\" },\r\n\t\t\t\t\t{ name: t(\"NORMAL\"), value: 1, colorCode: \"#FCFF5C\" },\r\n\t\t\t\t\t{ name: t(\"HIGH\"), value: 2, colorCode: \"#FF71E0\" },\r\n\t\t\t\t];\r\n\t\t\tcase \"status\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: t(\"NEW_ACTION_STATUS\"), value: 100000000, colorCode: \"#F5F5F5\" },\r\n\t\t\t\t\t{ name: t(\"IN_PROGRESS\"), value: 100000001, colorCode: \"#FFF8B9\" },\r\n\t\t\t\t\t{ name: t(\"STUCK\"), value: 100000002, colorCode: \"#FD7171\" },\r\n\t\t\t\t\t{ name: t(\"DEFERRED\"), value: 100000003, colorCode: \"#92919D\" },\r\n\t\t\t\t\t{ name: t(\"DONE\"), value: 100000004, colorCode: \"#57FFD6\" },\r\n\t\t\t\t];\r\n\t\t\tcase \"status-solution\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: t(\"NEW\"), value: 100000000, colorCode: \"#F5F5F5\" },\r\n\t\t\t\t\t{ name: t(\"IN_PROGRESS\"), value: 100000001, colorCode: \"#FFF8B9\" },\r\n\t\t\t\t\t{ name: t(\"LIVE\"), value: 100000002, colorCode: \"#FD7171\" },\r\n\t\t\t\t\t{ name: t(\"REJECTED\"), value: 100000003, colorCode: \"#92919D\" },\r\n\t\t\t\t\t{ name: t(\"VALIDATED\"), value: 100000004, colorCode: \"#57FFD6\" },\r\n\t\t\t\t];\r\n\t\t\tcase \"state\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: t(\"CURRENT\"), value: StateTypeOption.CurrentState },\r\n\t\t\t\t\t{ name: t(\"FUTURE\"), value: StateTypeOption.FutureState },\r\n\t\t\t\t];\r\n\t\t\tcase \"gender\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: \"ASPX_59\", translatedName: t(\"ASPX_59\"), value: \"Man\" },\r\n\t\t\t\t\t{ name: \"ASPX_60\", translatedName: t(\"ASPX_60\"), value: \"Woman\" },\r\n\t\t\t\t\t{ name: \"ASPX_61\", translatedName: t(\"ASPX_61\"), value: \"Other\" },\r\n\t\t\t\t];\r\n\t\t\tcase \"mapMode\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: t(\"ASPX_117\"), value: 100000001 },\r\n\t\t\t\t\t{ name: t(\"ASPX_128\"), value: 100000002 },\r\n\t\t\t\t\t{ name: t(\"ASPX_256\"), value: 100000003 },\r\n\t\t\t\t\t{ name: t(\"ASPX_116\"), value: 100000000 },\r\n\t\t\t\t];\r\n\t\t\tcase \"templateStatus\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: t(\"PUBLISHED\"), value: 100000001 },\r\n\t\t\t\t\t{ name: t(\"DRAFT\"), value: 100000000 },\r\n\t\t\t\t];\r\n\t\t\tcase \"mapType\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: t(\"ASPX_117\"), value: \"Detailed\" },\r\n\t\t\t\t\t{ name: t(\"ASPX_128\"), value: \"Flexi\" },\r\n\t\t\t\t\t{ name: t(\"ASPX_256\"), value: \"Service Blueprint\" },\r\n\t\t\t\t\t{ name: t(\"ASPX_116\"), value: \"High Level\" },\r\n\t\t\t\t];\r\n\t\t\tcase \"isFutureLabel\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: \"Current\", value: StateTypeOption.CurrentState },\r\n\t\t\t\t\t{ name: \"Future\", value: StateTypeOption.FutureState },\r\n\t\t\t\t];\r\n\t\t\tcase \"palette1\":\r\n\t\t\t\treturn [\"#05C597\", \"#6EA7FC\", \"#F96209\", \"#A17CD2\", \"#9747FF\", \"#C53E05\", \"#FF3A6A\", \"#333333\", \"#C2F200\", \"#C4C4C4\", \"#0D60DD\", \"#05C546\", \"#05B3D9\", \"#FECB15\", \"#C50561\"];\r\n\t\t\tcase \"palette-status\":\r\n\t\t\t\treturn [\"#FBF8CC\", \"#FDE4CF\", \"#FFCFD2\", \"#F1C0E8\", \"#CFBAF0\", \"#A3C4F3\", \"#A6E1FA\", \"#8EECF5\", \"#98F5E1\", \"#B9FBC0\", \"#F5F5F5\", \"#C4C4C4\", \"#B3BFB8\", \"#B8D0EB\", \"#FF928B\"];\r\n\t\t\tcase \"palette-priority\":\r\n\t\t\t\treturn [\"#FF0000\", \"#FF8700\", \"#FFD300\", \"#DEFF0A\", \"#A1FF0A\", \"#0AFF99\", \"#0AEFFF\", \"#147DF5\", \"#580AFF\", \"#BE0AFF\", \"#F20089\", \"#DB00B6\", \"#70E000\", \"#CCFF33\", \"#3a86ff\"];\r\n\t\t\tcase \"palette-system\":\r\n\t\t\t\treturn [\"#FCA8CE\", \"#E1A2D8\", \"#BB9DDE\", \"#B4C0F8\", \"#B6D5F9\", \"#99D5E9\", \"#66ADD3\", \"#9AB2D0\", \"#B7A8C2\", \"#DBD3E0\", \"#EFD3D7\", \"#FFDAB9\", \"#FBC4AB\", \"#F8AD9D\", \"#F4978E\", \"#F08080\"];\r\n\t\t\tcase \"palette-department\":\r\n\t\t\t\treturn [\"#FFAC81\", \"#FF928B\", \"#FEC3A6\", \"#FFE49F\", \"#E6EFAE\", \"#CDEAC0\", \"#BAF2BB\", \"#BAF2D8\", \"#CBF3F0\", \"#E3F2FD\", \"#BBDEFB\", \"#90CAF9\", \"#98C1D9\", \"#EFD3D7\", \"#CBC0D3\", \"#CCACBE\"];\r\n\t\t\tcase \"palette-library\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t\"#E9ECEF\",\r\n\t\t\t\t\t\"#D8FAFA\",\r\n\t\t\t\t\t\"#CAF0F8\",\r\n\t\t\t\t\t\"#FDE7CB\",\r\n\t\t\t\t\t\"#FFF6CC\",\r\n\t\t\t\t\t\"#F8C8AE\",\r\n\t\t\t\t\t\"#F7CAD0\",\r\n\t\t\t\t\t\"#FFCBF8\",\r\n\t\t\t\t\t\"#E0CDF8\",\r\n\t\t\t\t\t\"#D7E3FC\",\r\n\t\t\t\t\t\"#CED4DA\",\r\n\t\t\t\t\t\"#9DF2F2\",\r\n\t\t\t\t\t\"#90E0EF\",\r\n\t\t\t\t\t\"#FCD6A4\",\r\n\t\t\t\t\t\"#FFEE99\",\r\n\t\t\t\t\t\"#F6B28E\",\r\n\t\t\t\t\t\"#FBB1BD\",\r\n\t\t\t\t\t\"#FEA3FF\",\r\n\t\t\t\t\t\"#BD99EA\",\r\n\t\t\t\t\t\"#ABC4FF\",\r\n\t\t\t\t];\r\n\t\t\tcase \"divider-pattern\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ name: t(\"SOLID\"), value: 100000000 },\r\n\t\t\t\t\t{ name: t(\"LINES\"), value: 100000001 },\r\n\t\t\t\t\t{ name: t(\"ZIGZAG\"), value: 100000002 },\r\n\t\t\t\t\t{ name: t(\"DIAGONAL\"), value: 100000003 },\r\n\t\t\t\t\t{ name: t(\"RECTANGLES\"), value: 100000004 },\r\n\t\t\t\t];\r\n\t\t\tcase \"department\":\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{ key: \"1\", label: t(\"ADMINISTRATION\") },\r\n\t\t\t\t\t{ key: \"3\", label: t(\"CONSULTING\") },\r\n\t\t\t\t\t{ key: \"100000000\", label: t(\"CUSTOMER_EXPERIENCE\") },\r\n\t\t\t\t\t{ key: \"100000001\", label: t(\"CUSTOMER_SERVICE\") },\r\n\t\t\t\t\t{ key: \"100000002\", label: t(\"EDUCATION\") },\r\n\t\t\t\t\t{ key: \"100000003\", label: t(\"ENGINEERING\") },\r\n\t\t\t\t\t{ key: \"100000004\", label: t(\"EXECUTIVE_MANAGEMENT\") },\r\n\t\t\t\t\t{ key: \"2\", label: t(\"ASPX_182\") },\r\n\t\t\t\t\t{ key: \"100000005\", label: t(\"JS_146\") },\r\n\t\t\t\t\t{ key: \"100000006\", label: t(\"IT\") },\r\n\t\t\t\t\t{ key: \"100000007\", label: t(\"LEGAL\") },\r\n\t\t\t\t\t{ key: \"100000008\", label: t(\"LOGISTICS_DELIVERY\") },\r\n\t\t\t\t\t{ key: \"100000009\", label: t(\"MARKETING_COMMUNICATIONS\") },\r\n\t\t\t\t\t{ key: \"100000010\", label: t(\"OPERATIONS_SUPPLY_CHAIN\") },\r\n\t\t\t\t\t{ key: \"100000011\", label: t(\"PROCUREMENT\") },\r\n\t\t\t\t\t{ key: \"100000018\", label: t(\"PRODUCT_MANAGEMENT\") },\r\n\t\t\t\t\t{ key: \"100000012\", label: t(\"PRODUCTION_QUALITY_ASSURANCE\") },\r\n\t\t\t\t\t{ key: \"100000013\", label: t(\"PROJECT_MANAGEMENT\") },\r\n\t\t\t\t\t{ key: \"100000014\", label: t(\"R_D\") },\r\n\t\t\t\t\t{ key: \"100000015\", label: t(\"SALES\") },\r\n\t\t\t\t\t{ key: \"100000016\", label: t(\"SERVICE_DESIGN\") },\r\n\t\t\t\t\t{ key: \"100000017\", label: t(\"VOC_INSIGHTS\") },\r\n\t\t\t\t\t{ key: \"100000019\", label: t(\"ASPX_61\") },\r\n ];\r\n case \"user-type\":\r\n return [\r\n { key: \"100000000\", label: t(\"CS_52\") },\r\n { key: \"100000001\", label: t(\"CS_53\") },\r\n { key: \"100000002\", label: t(\"SUPER_ADMIN\") },\r\n { key: \"100000003\", label: t(\"READ_ONLY\") },\r\n \r\n ];\r\n\t\t\tdefault:\r\n\t\t}\r\n\t};\r\n\tif (type === \"multiple\") {\r\n\t\tconst result = {};\r\n\t\tarrayofType.forEach((item) => {\r\n\t\t\tresult[item] = getPicklistData(item);\r\n\t\t});\r\n\t\treturn result;\r\n\t} else {\r\n\t\treturn getPicklistData(type);\r\n\t}\r\n}\r\n","import {\r\n\tgetCxProgramUsers,\r\n\tgetMapUsers,\r\n\tgetPersonaUsers,\r\n\tresetCxProgramUsers,\r\n\tresetMapUsers,\r\n\tresetPersonasUsers,\r\n\tshareCxProgram,\r\n\tshareManyCxPrograms,\r\n\tsharePersona,\r\n\tshareUsersManyMaps,\r\n\tshareUsersMuliplePersona,\r\n\tshareUsersSinglePersona,\r\n\tunSharePersona,\r\n\tunshareCxProgram\r\n} from \"@redux/index\";\r\nimport { EMPTY_GUID, GetPickListUsers } from \"@utils/helpers\";\r\nimport { UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport { shareCjm, shareManyCjm, unShareCjm } from \"features/index\";\r\nimport { getProjectUsers, resetProjectUsers, shareManyProjects, shareProject, unShareProject } from \"features/projects/reducer/ProjectsActions\";\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport _ from \"lodash\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Col, Label, Modal, ModalFooter, ModalHeader, Row } from \"reactstrap\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport UsersSelectorTypeahead from \"shared/components/typeahead/users-selector-typeahead\";\r\nimport { useAsyncs } from \"shared/hooks/index\";\r\nimport { GenericButton, GenericDropdown, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { base } from \"../../../redux/store\";\r\nimport { ActionConfirmModal } from \"../basic/ActionConfirmModal\";\r\nimport * as Style from \"./ManageAccessStyle\";\r\n\r\nconst paths = {\r\n\tmapUsers: \"maps.current_linked_users\",\r\n\tstrategyUsers: \"strategies.current_linked_users\",\r\n\tpersonaUsers: \"personas.current_linked_users\",\r\n\tcxProgramUsers: \"cxProgram.current_linked_users\",\r\n\tprojectUsers: \"projects.current_linked_users\",\r\n};\r\n\r\nconst Manager = ({ props, pathname, userId, personaIdStr, hideForPdf, onClose }) => {\r\n\tconst settings = {\r\n\t\tpath: \"\",\r\n\t\tgetUsers: null,\r\n\t\tshare: () => {},\r\n\t\tunShare: () => {},\r\n\t\tshareMany: () => {},\r\n\t};\r\n\tconst path = props.context ? props.context : pathname;\r\n\t/* eslint-disable no-fallthrough */\r\n\tconst isTemplate = useSelector((state) => state?.maps?.all_maps?.find((x) => x?.cjmId === props?.itemId)?.isTemplate);\r\n\r\n\tswitch (path) {\r\n\t\tcase \"/personas\":\r\n\t\t\tsettings.reset = pathname !== \"/EditPersona\" && resetPersonasUsers;\r\n\t\tcase \"/EditPersona\":\r\n\t\t\tsettings.path = paths.personaUsers;\r\n\t\t\tsettings.getUsers = getPersonaUsers;\r\n\t\t\tsettings.getUsersParams = { objectId: props.itemId, isPrint: hideForPdf, userId: userId };\r\n\t\t\tsettings.share = (params) => sharePersona({ ...params, personaId: props.itemId });\r\n\t\t\tsettings.unShare = (params) => unSharePersona({ ...params, personaId: props.itemId });\r\n\t\t\tsettings.shareMany = (params) => shareUsersSinglePersona({ ...params, personaId: props.itemId });\r\n\t\t\tif (props.bulk) {\r\n\t\t\t\tconst objectIds = props.ids;\r\n\t\t\t\tconst onSuccess = () => {\r\n\t\t\t\t\tprops.onSuccess && props.onSuccess();\r\n\t\t\t\t\tonClose();\r\n\t\t\t\t};\r\n\t\t\t\tsettings.shareMany = (params) => shareUsersMuliplePersona({ ...params, personaIds: objectIds, onSuccess });\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase \"/cx-program\":\r\n\t\t\tsettings.reset = pathname !== \"/EditCxProgram\" && resetCxProgramUsers;\r\n\t\tcase \"/EditCxProgram\":\r\n\t\t\tsettings.path = paths.cxProgramUsers;\r\n\t\t\tsettings.getUsers = getCxProgramUsers;\r\n\t\t\tsettings.getUsersParams = { cxProgramId: props.itemId, userId: userId };\r\n\t\t\tsettings.share = (params) => shareCxProgram({ ...params, recId: props.itemId });\r\n\t\t\tsettings.unShare = (params) => unshareCxProgram({ ...params, recId: props.itemId });\r\n\t\t\tsettings.shareMany = (params) => shareManyCxPrograms({ ...params, recIds: [props.itemId] });\r\n\t\t\tif (props.bulk) {\r\n\t\t\t\tconst recIds = props.ids.split(\"|\");\r\n\t\t\t\tconst onSuccess = () => {\r\n\t\t\t\t\tprops.onSuccess && props.onSuccess();\r\n\t\t\t\t\tonClose();\r\n\t\t\t\t};\r\n\t\t\t\tsettings.shareMany = (params) => shareManyCxPrograms({ ...params, recIds, onSuccess });\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase \"/journey-map\":\r\n\t\t\tsettings.reset = pathname !== \"/EditMap\" && resetMapUsers;\r\n\t\tcase \"/EditMap\":\r\n\t\t\tsettings.path = paths.mapUsers;\r\n\t\t\tsettings.getUsers = getMapUsers;\r\n\t\t\tsettings.getUsersParams = { cjmId: props.itemId, userId: userId, isPrint: hideForPdf, forceViewer: personaIdStr?.trim() === EMPTY_GUID };\r\n\t\t\tsettings.share = (params) => shareCjm({ ...params, cjmIdStr: props.itemId });\r\n\t\t\tsettings.unShare = (params) => unShareCjm({ ...params, cjmIdStr: props.itemId });\r\n\t\t\tsettings.shareMany = (params) => shareManyCjm({ ...params, cjmIdStr: props.itemId });\r\n\t\t\tsettings.isTemplate = isTemplate;\r\n\t\t\tif (props.bulk) {\r\n\t\t\t\tconst cjmIds = props.ids;\r\n\t\t\t\tconst onSuccess = () => {\r\n\t\t\t\t\tprops.onSuccess && props.onSuccess();\r\n\t\t\t\t\tonClose();\r\n\t\t\t\t};\r\n\t\t\t\tsettings.shareMany = (params) => shareUsersManyMaps({ ...params, cjmIds, onSuccess });\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase \"/projects\":\r\n\t\t\tsettings.reset = pathname !== \"/EditProject\" && resetProjectUsers;\r\n\t\tcase \"/EditProject\":\r\n\t\t\tsettings.path = paths.projectUsers;\r\n\t\t\tsettings.getUsers = getProjectUsers;\r\n\t\t\tsettings.getUsersParams = { projectId: props.itemId, userId };\r\n\t\t\tsettings.share = (params) => shareProject({ ...params, recId: props.itemId });\r\n\t\t\tsettings.unShare = (params) => unShareProject({ ...params, recId: props.itemId });\r\n\t\t\tsettings.shareMany = (params) => shareManyProjects({ ...params, recIds: [props.itemId] });\r\n\t\t\tif (props.bulk) {\r\n\t\t\t\tconst recIds = props.ids.split(\"|\");\r\n\t\t\t\tconst onSuccess = () => {\r\n\t\t\t\t\tprops.onSuccess && props.onSuccess();\r\n\t\t\t\t\tonClose();\r\n\t\t\t\t};\r\n\t\t\t\tsettings.shareMany = (params) => shareManyProjects({ ...params, recIds, onSuccess });\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t}\r\n\t/* eslint-disable no-fallthrough */\r\n\r\n\treturn settings;\r\n};\r\n\r\nexport default function GenericManageAccess({ isOpen, onClose, ...props }) {\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useRef();\r\n\tconst { search, pathname } = useLocation();\r\n\tconst userId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst settings = Manager({\r\n\t\tprops,\r\n\t\tuserId,\r\n\t\tpathname,\r\n\t\tpersonaIdStr: search.getPersonaId(),\r\n\t\thideForPdf: search.hideForPdf(),\r\n\t\tonClose,\r\n\t});\r\n\tconst copyLink = getCopyLink(pathname, search);\r\n\tconst [loading, setLoading] = useState(false);\r\n\tuseAsyncs({\r\n\t\tasyncFns: [{ asyncFn: settings?.getUsers, parameter: settings?.getUsersParams }],\r\n\t\tresets: [settings?.reset],\r\n\t\tsetLoading,\r\n\t});\r\n\r\n\r\n\tconst authorizedUsers = useSelector((state) => state.settings.currentWorkspaceAuthorizedUsers);\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\r\n\tconst filteredUsers = authorizedUsers.filter((user) => {\r\n\t\tconst userDetails = users?.find((u) => u?.loginName?.toLowerCase() === user?.domainName?.toLowerCase());\r\n\r\n\t\tif (settings.isTemplate) {\r\n\t\t\treturn [UserType.companyAdmin, UserType.admin].includes(userDetails?.userType) && userDetails?.isActive;\r\n\t\t}\r\n\r\n\t\treturn userDetails?.isActive;\r\n\t});\r\n\r\n\tconst teams = useSelector((state) => state.settings?.currentWorkspaceTeams || []);\r\n\tconst records = useSelector((state) => _.get(state, settings.path));\r\n\tconst selectedRecords = records?.filter((user) => user.roleId !== EMPTY_GUID && (filteredUsers.map((au) => au?.id)?.includes(user?.id) || teams.map((au) => au?.id)?.includes(user?.id)));\r\n\tconst currentUser = records?.find((user) => user.roleId === EMPTY_GUID);\r\n\tconst otherRecords = GetPickListUsers([...filteredUsers, ...(settings.isTemplate ? [] : teams)], selectedRecords);\r\n\tconst rolesOptions = useSelector((state) => createRoleOptions(state.settings.roles));\r\n\tconst restrictAccess = currentUser === undefined ? false : currentUser?.roleName?.toLowerCase() !== \"owner\";\r\n\tconst nonSelectedRecords = [{ id: \"\", fullName: \"All\" }, ...otherRecords];\r\n\tconst teamItems = getTeamItems(selectedRecords);\r\n\tconst userItems = getUsersItems(selectedRecords);\r\n\tconst [selectedRole, setSelectedRole] = useState(rolesOptions?.[0]?.id);\r\n\tconst [isUpdating, setIsUpdating] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (selectedRole === undefined) {\r\n\t\t\tsetSelectedRole(rolesOptions?.[0]?.id);\r\n\t\t}\r\n\t}, [rolesOptions]);\r\n\r\n\tconst callbacks = {\r\n\t\tonFailed: () => setIsUpdating(false),\r\n\t\tonSuccess: () => {\r\n\t\t\tsetIsUpdating(false);\r\n\t\t\tref.current?.clear();\r\n\t\t},\r\n\t};\r\n\r\n\tconst update = async (e) => {\r\n\t\tconst selectedItems = ref.current?.state?.selected;\r\n\t\tif (otherRecords.length === 0) {\r\n\t\t\tref.current?.clear();\r\n\t\t\treturn toast.info(t(\"NO_USERS_AVAILABLE_TO_SHARE\"));\r\n\t\t}\r\n\t\tif (selectedItems?.length === 0 || selectedItems === undefined) {\r\n\t\t\treturn toast.info(t(\"SELECT_USERS\"));\r\n\t\t}\r\n\t\tconst allMembersSelected = selectedItems?.find((user) => user.fullName === \"All\");\r\n\r\n\t\tconst allSelectedUsers = getUsersItems(selectedItems, true).ArrayToIdsStr();\r\n\t\tconst allteams = getTeamItems(selectedItems, true).ArrayToIdsStr();\r\n\t\tconst allUsers = allMembersSelected ? getUsersItems(otherRecords).ArrayToIdsStr() : allSelectedUsers;\r\n\t\tsetIsUpdating(true);\r\n\t\tsettings.shareMany({ roleDetails: selectedRole, usersIds: allUsers, teamIds: allteams, ...callbacks });\r\n\t};\r\n\r\n\tconst copyFeature = () => {\r\n\t\tconst handleCopy = () => {\r\n\t\t\tnavigator.clipboard.writeText(copyLink);\r\n\t\t\ttoast.success(t(\"COPY_LINK_SUCCESS\"));\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{copyLink}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"COPY_LINK\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"MANAGE_ACCESS\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{nonSelectedRecords && }\r\n\t\t\t\t\t\t setSelectedRole(e.target.value)} icon />\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ASPX_165\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{teamItems?.length > 0 && !props.bulk && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{t(\"TEAMS\")}\r\n\t\t\t\t\t\t\t\t\t{teamItems?.map((team) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{userItems?.length > 0 && !props.bulk && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{t(\"ASPX_210\")}\r\n\t\t\t\t\t\t\t\t\t{userItems\r\n\t\t\t\t\t\t\t\t\t\t?.sort((a, b) => customSort(a, b, currentUser?.id))\r\n\t\t\t\t\t\t\t\t\t\t?.map((user) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{[\"/EditMap\", \"/EditPersona\", \"/EditCxProgram\", \"/EditProject\"].includes(pathname) && copyFeature()}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst UserRow = ({ user, share, unShare, userDomain, isTeam, settings }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst dispatch = useDispatch();\r\n\tconst rolesOptions = useSelector((state) => createRoleOptions(state.settings.roles));\r\n\r\n\tconst isCurrentUser = user?.id === userDomain?.id;\r\n\tconst [role, setSelectRole] = useState(user.roleName?.toLowerCase() + \"_\" + user?.roleId);\r\n\tconst [processDelete, setProcessDelete] = useState(false);\r\n\r\n\tconst [confirmModal] = useModal(ActionConfirmModal);\r\n\tconst callbacks = {\r\n\t\tonFailed: () => setProcessDelete(false),\r\n\t\tonSuccess: () => {\r\n\t\t\tsetProcessDelete(false);\r\n\t\t\tdispatch(settings.getUsers(settings.getUsersParams));\r\n\t\t},\r\n\t};\r\n\tconst deleteUserOrTeam = async () => {\r\n\t\tconfirmModal({\r\n\t\t\ttitle: t(\"ASPX_145\"),\r\n\t\t\tbodyContent: t(\"UNSHARE_USER_1\") + user?.fullName + t(\"UNSHARE_USER_2\"),\r\n\t\t\tAction: () => {\r\n\t\t\t\tsetProcessDelete(true);\r\n\t\t\t\tunShare({ [isTeam ? \"teamId\" : \"userId\"]: user.id, ...callbacks });\r\n\t\t\t},\r\n\t\t\tactionBtnText: \"ASPX_122\",\r\n\t\t});\r\n\t};\r\n\tconst handleChangeRole = (e) => {\r\n\t\tsetSelectRole(e.target.value);\r\n\t\tshare({ roleDetails: e.target.value, [isTeam ? \"teamId\" : \"userId\"]: user.id, userIdName: user.fullName, ...callbacks });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{isTeam ? {IconDispatcher(\"USER-GROUP\")} : }\r\n\t\t\t\t
{user.fullName}
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{!isCurrentUser && (\r\n\t\t\t\t\r\n\t\t\t\t\t{processDelete ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst getCopyLink = (pathname, search) => {\r\n\treturn `${window.location.origin}${base}${pathname.replace(\"/\", \"\")}${search}`;\r\n};\r\nconst getTeamItems = (array, checkwithIsMemberIds) => {\r\n\tif (checkwithIsMemberIds) {\r\n\t\treturn array?.filter((user) => Object.prototype.hasOwnProperty.call(user, \"memberUserIds\") === true);\r\n\t}\r\n\treturn array?.filter((user) => user.accessType === \"team\");\r\n};\r\nconst getUsersItems = (array, checkwithIsMemberIds) => {\r\n\tif (checkwithIsMemberIds) {\r\n\t\treturn array?.filter((user) => Object.prototype.hasOwnProperty.call(user, \"memberUserIds\") === false);\r\n\t}\r\n\treturn array?.filter((user) => user.accessType === \"user\");\r\n};\r\nconst customSort = (a, b, id) => {\r\n\tif (a.id === id) return -1;\r\n\tif (b.id === id) return 1;\r\n\treturn 0;\r\n};\r\nfunction createRoleOptions(roles) {\r\n\treturn roles?.map((role) => ({\r\n\t\tid: `${role.name.toLowerCase()}_${role.id}`,\r\n\t\tvalue: role.name,\r\n\t}));\r\n}\r\n","import { StateTypeOption } from \"@utils/optionsSets/OptionSets\";\r\nimport { EMPTY_GUID, constructUrl, encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\nimport { t } from \"i18next\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta, ...props }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t\t...props,\r\n\t});\r\n};\r\n\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/persona/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/persona/\", method: \"GET\" });\r\n\r\nexport const getAllPersonas = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_ALL_PERSONAS\",\r\n\t\tendPoint: constructUrl(\"getAll\", {\r\n\t\t\tredirectReducer: props?.redirectReducer,\r\n\t\t}),\r\n\t\tmeta: { joinRequest: \"GET_ALL_PERSONAS\" },\r\n\t});\r\n\r\nexport const copyPersona = ({ id, name, workspaceIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"COPY_PERSONA\",\r\n\t\t\tendPoint: \"copyPersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: id,\r\n\t\t\t\tcopiedPersonaName: encode(name),\r\n\t\t\t\tworkspaceIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props.displayToast || \"COPY\",\r\n\t});\r\n\r\nexport const deletePersona = ({ persona_id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_PERSONA\",\r\n\t\t\tendPoint: \"deletePersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: persona_id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props.displayToast || \"DELETE\",\r\n\t});\r\nexport const archivePersona = ({ persona_id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_PERSONA\",\r\n\t\t\tendPoint: \"archivePersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: persona_id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props.displayToast || \"ARCHIVE\",\r\n\t});\r\nexport const restorePersona = ({ persona_id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_PERSONA\",\r\n\t\t\tendPoint: \"restorePersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: persona_id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props.displayToast || \"RESTORE\",\r\n\t});\r\nexport const deletePermanentlyPersona = ({ persona_id, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_PERMANENTLY_PERSONA\",\r\n\t\t\tendPoint: \"deletePermanentlyPersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: persona_id,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props.displayToast || \"DELETE\",\r\n\t});\r\nexport const createPersona = ({ item, cxProgramId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CREATE_PERSONA\",\r\n\t\t\tendPoint: \"createPersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersona: {\r\n\t\t\t\t\tpersonaId: EMPTY_GUID,\r\n\t\t\t\t\tname: item?.name ? encode(item?.name) : item?.name,\r\n\t\t\t\t\toccupation: item?.occupation ? encode(item?.occupation) : item?.occupation,\r\n\t\t\t\t\tisFuture: item?.isFuture === StateTypeOption.FutureState ? true : false,\r\n\t\t\t\t\tstandardImageNumber: item?.standardImage ? Number(item?.standardImage) : -1,\r\n\t\t\t\t\tisTemplate: item?.isTemplate,\r\n\t\t\t\t\tfromTemplateId: item?.fromTemplateIdStr,\r\n\t\t\t\t},\r\n\t\t\t\tcustomImage: item?.customImage?.split(\",\")[1] || \"\",\r\n\t\t\t\timageExtension: item?.imageExtension,\r\n\t\t\t\taiGeneration: item?.aiGeneration || false,\r\n\t\t\t\tlanguage: item?.language || \"\",\r\n\t\t\t\tlinkToCxProgramIdStr: cxProgramId,\r\n\t\t\t\tage: item?.age,\r\n\t\t\t\tgender: item?.gender,\r\n\t\t\t\tlocation: encode(item?.location),\r\n\t\t\t\tcontext: encode(item?.context),\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const setCurrentPersona = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"SET_CURRENT_PERSONA\",\r\n\t\tendPoint: constructUrl(\"getPersona\", {\r\n\t\t\tpersonaIdStr: props?.personaIdStr,\r\n\t\t}),\r\n\t});\r\nexport const updatePersonaSingleTxt = ({ persona_id, attribute, newValue, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_PERSONA_SINGLE_TXT\",\r\n\t\t\tendPoint: \"updateStdPersonaSingleTxt\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: persona_id,\r\n\t\t\t\tattributeName: attribute,\r\n\t\t\t\tnewValue: encode(newValue),\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updateCustomPersonaAttributeDesc = ({ persona_id, attributeID, newValue, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CUSTOM_PERSONA_ATTRIBUTE_DESC\",\r\n\t\t\tendPoint: \"updateCustomPersonaAttributeDesc\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: persona_id,\r\n\t\t\t\tattributeIdStr: attributeID,\r\n\t\t\t\tnewDescription: encode(newValue),\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const resetCurrentPersona = () => ({ type: \"RESET_CURRENT_PERSONA\" });\r\n\r\nexport const getPersona = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_PERSONA\",\r\n\t\tendPoint: constructUrl(\"getPersona\", {\r\n\t\t\tpersonaIdStr: props?.personaId,\r\n\t\t}),\r\n\t});\r\nexport const refreshPersona = (props) => genericService({ ...props, action: getPersona, displayToast: \"REFRESH\", toastParams: { success: t(\"PERSONA_REFRESHED\") } });\r\n\r\nexport const updatePersonaAttribOrder = ({ newLayout }) =>{\r\n\t\treturn {\r\n\t\t\ttype: \"UPDATE_LAYOUT\",\r\n\t\t\tpayload: newLayout\r\n\t\t};\r\n}\r\n\t\t\r\nexport const updatePersonaAttribOrderDB = ({ persona_id, newLayout, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_PERSONA_ATTRIB_ORDER\",\r\n\t\t\tendPoint: \"updatePersonaAttribOrder\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: persona_id,\r\n\t\t\t\tnewOrderConfig: newLayout,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updateAttributeName = ({ personaIdStr, attributeIdStr, newName, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_ATTRIBUTE_NAME\",\r\n\t\t\tendPoint: \"updateCustomPersonaAttributeName\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t\t\tattributeIdStr: attributeIdStr,\r\n\t\t\t\tnewName: encode(newName),\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updateAttributeColor = ({ personaIdStr, attributeIdStr, newColor, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_ATTRIBUTE_COLOR\",\r\n\t\t\tendPoint: \"updateCustomAttributeProperties\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t\t\tcustomAttributeIdStr: attributeIdStr,\r\n\t\t\t\tnewColorCodeParam: newColor,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const addPersonaAttribute = ({ newObject, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ADD_PERSONA_ATTRIBUTE\",\r\n\t\t\tendPoint: \"addPersonaAttribute\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: newObject.personaID,\r\n\t\t\t\tattributeType: newObject.type,\r\n\t\t\t},\r\n\t\t\tparams: newObject,\r\n\t\t}),\r\n\t});\r\nexport const deletePersonaCustomField = ({ personaId, attributeId, AttributeName, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_PERSONA_CUSTOM_FIELD\",\r\n\t\t\tendPoint: \"deletePersonaCustomField\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: personaId,\r\n\t\t\t\tattributeIdStr: attributeId,\r\n\t\t\t\tattributeNameStr: AttributeName,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updatePersonaImage = ({ personaId, standardImageNumber, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_PERSONA_STD_IMAGE\",\r\n\t\t\tendPoint: \"updatePersonaStdImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: personaId,\r\n\t\t\t\tstandardImageNumber: standardImageNumber,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updatePersonaImageCustom = ({ personaId, imageExtension, imageBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_PERSONA_CUSTOM_IMAGE\",\r\n\t\t\tendPoint: \"updatePersonaCustomImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: personaId,\r\n\t\t\t\timageExtension,\r\n\t\t\t\timageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteCustomPersonaImage = ({ personaId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_PERSONA_CUSTOM_IMAGE\",\r\n\t\t\tendPoint: \"deleteCustomPersonaImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaId: personaId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updateCustomPersonaAttributeImage = ({ personaId, attributeId, imageExtension, imageBody64, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_CUSTOM_PERSONA_ATTRIBUTE_IMAGE\",\r\n\t\t\tendPoint: \"uploadCustomPersonaAttributeImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: personaId,\r\n\t\t\t\tattributeIdStr: attributeId,\r\n\t\t\t\timageExtension: imageExtension,\r\n\t\t\t\timageBody64: imageBody64,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deleteImageOnBox = ({ personaId, customImageId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_IMAGE_ON_BOX\",\r\n\t\t\tendPoint: \"deleteCustomPersonaAttributeImage\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdStr: personaId,\r\n\t\t\t\tpersonaCustomImageIdStr: customImageId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updatePersonaName = ({ id, name, ...props }) =>\r\n\tcreatePostAction({\r\n\t\ttype: \"UPDATE_PERSONA_NAME\",\r\n\t\tendPoint: \"updateStdPersonaSingleTxt\",\r\n\t\tdata: {\r\n\t\t\tpersonaIdStr: id,\r\n\t\t\tattributeName: \"cem_name\",\r\n\t\t\tnewValue: window.btoa(unescape(name)),\r\n\t\t},\r\n\t});\r\nexport const updatePersonaType = ({ newValue, personaIds, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_PERSONA_TYPE\",\r\n\t\t\tendPoint: \"updatePersonaType\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIds,\r\n\t\t\t\tnewValue,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const linkPersona = ({ cjmId, personaId, fromPersonaId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"LINK_PERSONA\",\r\n\t\t\tendPoint: \"linkPersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tcjmIdStr: cjmId,\r\n\t\t\t\tpersonaIdStr: personaId,\r\n\t\t\t\tfromPersonaIdStr: fromPersonaId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const relinkPersona = ({ cjmIdStr, personaIdStr, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RELINK_PERSONA\",\r\n\t\t\tendPoint: \"reLinkPersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tcjmIdStr,\r\n\t\t\t\tpersonaIdStr,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const unlinkPersona = ({ cjmIdStr, personaIdStr, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UNLINK_PERSONA\",\r\n\t\t\tendPoint: \"unlinkPersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tcjmIdStr,\r\n\t\t\t\tpersonaIdStr,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props.displayToast || \"UNLINK\",\r\n\t\ttoastParams: { success: t(\"REMOVE_PERSONA_FROM_MAP_SUCCESS\") },\r\n\t});\r\nexport const getPreviousLinkedPersonas = ({ cjmId }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"RETRIEVE_PERVIOUS_LINK_PERSONA\",\r\n\t\tendPoint: constructUrl(\"retrievePreviousLinkedPersonas\", {\r\n\t\t\tcjmIdStr: cjmId,\r\n\t\t}),\r\n\t});\r\nexport const getPdfExportPersona = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_PDF_EXPORT_PERSONA\",\r\n\t\tendPoint: constructUrl(\"getPdfExport\", {\r\n\t\t\tpersonaId: props?.personaId,\r\n\t\t\twidth: props?.width,\r\n\t\t\theight: props?.height,\r\n\t\t\trenderDelay: props?.renderDelay,\r\n\t\t}),\r\n\t\tresponseType: \"blob\",\r\n\t});\r\nexport const retrieveLinkedMaps = (props) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"RETRIEVE_LINKS_MAPS\",\r\n\t\tendPoint: constructUrl(\"retrieveLinkedMaps\", {\r\n\t\t\tpersonaIdStr: props?.personaId,\r\n\t\t}),\r\n\t});\r\nexport const deleteManyPersonas = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_MANY_PERSONAS\",\r\n\t\t\tendPoint: \"deleteMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIds: ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const deletePermanentlyManyPersonas = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_PERMANENTLY_MANY_PERSONAS\",\r\n\t\t\tendPoint: \"deletePermanentlyMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIds: ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const archiveManyPersonas = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"ARCHIVE_MANY_PERSONAS\",\r\n\t\t\tendPoint: \"archiveMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIds: ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const restoreManyPersonas = ({ ids, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESTORE_MANY_PERSONAS\",\r\n\t\t\tendPoint: \"restoreMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIds: ids,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props.displayToast || \"RESTORE\",\r\n\t});\r\nexport const getExcelExportPersona = (ids, columns) =>\r\n\tcreatePostAction({\r\n\t\ttype: \"GET_EXCEL_PERSONA\",\r\n\t\tendPoint: \"getExcelExport\",\r\n\t\tdata: {\r\n\t\t\tids,\r\n\t\t\tcolumns: columns?.join(\"|\"),\r\n\t\t},\r\n\t\tresponseType: \"blob\",\r\n\t});\r\nexport const getLinkedExcelExportPersona = (ids) =>\r\n\tcreatePostAction({\r\n\t\ttype: \"GET_LINKED_EXCEL_PERSONA\",\r\n\t\tendPoint: \"getLinkedExcelExport\",\r\n\t\tdata: {\r\n\t\t\tids: ids,\r\n\t\t},\r\n\t\tresponseType: \"blob\",\r\n\t});\r\nexport const deletePersonaAttributeItem = ({ attributeItemId, attributeId, personaId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_PERSONA_ATTRIBUTE_ITEM\",\r\n\t\t\tendPoint: \"deletePersonaAttributeItem\",\r\n\t\t\tdata: {\r\n\t\t\t\tattributeItemId,\r\n\t\t\t\tattributeId,\r\n\t\t\t\tpersonaId,\r\n\t\t\t\tcXGoalId: EMPTY_GUID,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const upsertPersonaAttributeItem = ({ personaAttributeItem, personaAttribute, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPSERT_PERSONA_ATTRIBUTE_ITEM\",\r\n\t\t\tendPoint: \"upsertPersonaAttributeItem\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaAttributeItem: {\r\n\t\t\t\t\t...personaAttributeItem,\r\n\t\t\t\t\tname: encode(personaAttributeItem?.name ?? \"\"),\r\n\t\t\t\t\tdescription: encode(personaAttributeItem?.description ?? \"\"),\r\n\t\t\t\t\tsliderMaxTitle: encode(personaAttributeItem?.sliderMaxTitle ?? \"\"),\r\n\t\t\t\t\tsliderMinTitle: encode(personaAttributeItem?.sliderMinTitle ?? \"\"),\r\n\t\t\t\t},\r\n\t\t\t\tpersonaAttribute,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const upsertPersonaAttributeAttachItem = ({ data, ...props }) => {\r\n\tgenericService({\r\n\t\t...props, action: createPostAction({\r\n\t\t\ttype: \"UPSERT_PERSONA_ATTRIBUTE_ATTACH_ITEM\",\r\n\t\t\theaders: {\r\n\t\t\t\tContentType: \"multipart/form-data\"\r\n\t\t\t},\r\n\t\t\tendPoint: \"upsertPersonaAttributeAttachItem\",\r\n\t\t\tdata: data\r\n\t\t}),\r\n\t});\r\n};\r\n\r\nexport const updatePersonaAttributeItemsOrder = ({ newItemsOrder, attributeIdStr, personaIdStr, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_PERSONA_ATTRIBUTE_ITEM_ORDER\",\r\n\t\t\tendPoint: \"updatePersonaAttributeItemsOrder\",\r\n\t\t\tdata: {\r\n\t\t\t\tnewItemsOrder,\r\n\t\t\t\tattributeId: attributeIdStr,\r\n\t\t\t\tpersonaId: personaIdStr,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const getPersonaUsers = ({ objectId, isPrint, userId, forceViewer }) =>\r\n\tcreateGetAction({\r\n\t\ttype: \"GET_PERSONA_USERS\",\r\n\t\tendPoint: constructUrl(\"getPersonaUsers\", {\r\n\t\t\tpersonaId: objectId,\r\n\t\t\tforceViewer: forceViewer,\r\n\t\t}),\r\n\t\tparams: { isPrint: isPrint, userId: userId },\r\n\t});\r\nexport const sharePersona = ({ roleDetails, userId, userName, personaId, teamId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_SHARE\",\r\n\t\t\tendPoint: \"share\",\r\n\t\t\tdata: {\r\n\t\t\t\troleDetails: roleDetails,\r\n\t\t\t\tuserId: userId,\r\n\t\t\t\tpersonaId,\r\n\t\t\t\tteamId,\r\n\t\t\t},\r\n\t\t\tparams: {\r\n\t\t\t\tfullName: userName,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const unSharePersona = ({ userId, personaId, teamId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_UNSHARE\",\r\n\t\t\tendPoint: \"unShare\",\r\n\t\t\tdata: {\r\n\t\t\t\tuserId: userId,\r\n\t\t\t\tpersonaId,\r\n\t\t\t\tteamId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const shareUsersSinglePersona = ({ roleDetails, usersIds = \"\", personaId, teamIds = \"\", ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"SHARE_USERS_SINGLE_PERSONA\",\r\n\t\t\tendPoint: \"shareMany\",\r\n\t\t\tdata: {\r\n\t\t\t\tids: usersIds,\r\n\t\t\t\tpersonaId,\r\n\t\t\t\troleDetails,\r\n\t\t\t\tteamIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const shareUsersMuliplePersona = ({ roleDetails, usersIds, personaIds, teamIds = \"\", ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"SHARE_USERS_MULTIPLE_PERSONA\",\r\n\t\t\tendPoint: \"shareManyPersona\",\r\n\t\t\tdata: {\r\n\t\t\t\tids: usersIds,\r\n\t\t\t\tpersonaIds,\r\n\t\t\t\troleDetails: roleDetails,\r\n\t\t\t\tteamIds,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props.displayToast || \"UPDATE\",\r\n\t});\r\nexport const updatePersonaLinksWithPersonas = ({ personaIdsToLink, personaIdsToUnlink, personaIdStr, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_PERSONA_LINKS_PERSONA\",\r\n\t\t\tendPoint: \"updatePersonaLinksWithPersonas\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaIdsToLink: personaIdsToLink,\r\n\t\t\t\tpersonaIdStr: personaIdStr,\r\n\t\t\t\tpersonaIdsToUnlink: personaIdsToUnlink,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: props.displayToast || \"UPDATE\",\r\n\t});\r\nexport const updateLockPersonaTemplate = ({ modifiedPersona, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_LOCK_PERSONA_TEMPLATE\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedPersona,\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const updateStatusPersonaTemplate = ({ modifiedPersona, modifiedAttribNames, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPDATE_STATUS_PERSONA_TEMPLATE\",\r\n\t\t\tendPoint: \"update\",\r\n\t\t\tdata: {\r\n\t\t\t\tmodifiedPersona,\r\n\t\t\t\tmodifiedAttribNames,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const convertPersonaToTemplate = ({ personaId, newName, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CONVERT_PERSONA_TO_TEMPLATE\",\r\n\t\t\tendPoint: \"convertPersonaToTemplate\",\r\n\t\t\tdata: {\r\n\t\t\t\tpersonaId,\r\n\t\t\t\tnewName: encode(newName),\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"SAVE_PERSONA_AS_TEMPLATE_SUCCESS\",\r\n\t});\r\n\r\nexport const resetPersonasUsers = () => {\r\n\treturn {\r\n\t\ttype: \"RESET_PERSONAS_USERS\",\r\n\t};\r\n};\r\n","import { constructUrl, encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nimport { encryptPassword } from \"../helpers\";\r\n\r\nexport const AUTHENTICATE = \"AUTHENTICATE\";\r\nexport const LOGIN = \"LOGIN\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\n\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/session/\", method: \"POST\" }); // api actions type post\r\nconst createPostAdminAction = InitActionCreator({ baseUrl: \"api/admin/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/session/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const Logout = () => createPostAction({ type: \"LOGOUT\", endPoint: \"logout\" });\r\nexport const force401 = () => createPostAdminAction({ type: \"FORCE_401\", endPoint: \"checkUnauthorized\" });\r\nexport const setToken = () => createAction(\"SET_TOKEN\");\r\nexport const authenticate = (props) => genericService({ ...props, action: createPostAction({ type: AUTHENTICATE, endPoint: \"login\", data: props?.body }) });\r\nexport const getLoginUrl = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createGetAction({\r\n\t\t\ttype: \"GET_LOGIN_URL\",\r\n\t\t\tendPoint: constructUrl(\"getLoginUrl\", {\r\n\t\t\t\tenvName: props?.envName,\r\n\t\t\t\ttargetPage: encode(props?.targetPage),\r\n\t\t\t}),\r\n\t\t}),\r\n\t});\r\nexport const login = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: LOGIN,\r\n\t\t\tendPoint: \"userLogin\",\r\n\t\t\tdata: {\r\n\t\t\t\temail: props?.email,\r\n\t\t\t\tpassword: props?.password,\r\n\t\t\t\ttgtUrl: props?.tgtUrl,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\nexport const resetPassword = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"RESET_PASSWORD\",\r\n\t\t\tendPoint: \"userResetPassword\",\r\n\t\t\tdata: {\r\n\t\t\t\temail: props?.email,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const changePassword = (props) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"CHANGE_PASSWORD\",\r\n\t\t\tendPoint: \"changePassword\",\r\n\t\t\tdata: {\r\n\t\t\t\tencryptedPassword: encryptPassword(props.password),\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"UPDATE\",\r\n\t});\r\n","import { getAllCxAction } from \"features/cx-actions/reducer/CxActionActions\";\r\nimport { getAllInsights } from \"features/insights/reducer/InsightActions\";\r\nimport { getAllOpportunity } from \"features/opportunity/reducer/OpportunityActions\";\r\nimport { getAllProjects } from \"features/projects/reducer/ProjectsActions\";\r\nimport { getAllSolutions } from \"features/solutions/reducer/SolutionsActions\";\r\nimport { ActionItemCard } from \"shared/components/cards/cx-cards/ActionCard\";\r\nimport { InsightCard } from \"shared/components/cards/cx-cards/InisightCard\";\r\nimport { OpportunityItemCard } from \"shared/components/cards/cx-cards/OpportunityCard\";\r\nimport { ProjectItemCard } from \"shared/components/cards/cx-cards/ProjectCard\";\r\nimport { SolutionItemCard } from \"shared/components/cards/cx-cards/SolutionCard\";\r\nimport RelatedCjmsManager from \"shared/components/Relations/RelatedCjmsManager\";\r\nimport { ActionDropdown } from \"shared/dropdowns/cx-dropdown/CxActions/ActionDropdown\";\r\nimport { InsightDropdown } from \"shared/dropdowns/cx-dropdown/Insights/InsightDropdown\";\r\nimport { OpportunityDropdown } from \"shared/dropdowns/cx-dropdown/Opportunity/OpportunityDropdown\";\r\nimport { ProjectDropdown } from \"shared/dropdowns/cx-dropdown/ProjectDropdown\";\r\nimport { SolutionDropdown } from \"shared/dropdowns/cx-dropdown/Solution/SolutionDropdown\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\n\r\nexport interface TabData {\r\n\tlabel: string;\r\n\tAddComponent?: React.ComponentType;\r\n\ttype?: (typeof TypesTabs)[keyof typeof TypesTabs] | string | undefined;\r\n\tCard: React.ComponentType; // Accept any component\r\n\tcomponentProps?: any;\r\n\tcardProps?: any;\r\n\tswimlaneType?: number;\r\n}\r\nexport const TypesTabs = {\r\n\tInsights: \"cem_insight\",\r\n\tOpportunities: \"cem_cxopportunity\",\r\n\tSolutions: \"cem_cxsolution\",\r\n\tActionsList: \"cem_cxactiontask\",\r\n\tProject: \"cem_project\",\r\n\tRelatedCjms: \"cem_customerjourney\",\r\n\tCustomLibraries: \"cem_custom_libraries\",\r\n};\r\n\r\n// Example columns array with dynamic components\r\nexport const TabsData: TabData[] = [\r\n\t{\r\n\t\tlabel: \"ASPX_33\",\r\n\t\tAddComponent: InsightDropdown,\r\n\t\tCard: InsightCard,\r\n\t\ttype: TypesTabs.Insights,\r\n\t\tswimlaneType: InformationType.Insights,\r\n\t\tcomponentProps: {\r\n\t\t\treduxActions: [getAllInsights],\r\n\t\t\tentityType: \"cem_insight\",\r\n\t\t\tattributeName: \"linkedInsights\",\r\n\t\t\tcxAttributeID: \"insightId\",\r\n\t\t\tnoDataIcon: \"GEM\",\r\n\t\t\tnoDataText: \"CX_COMPONENT_INSIGHT_EMPTY\",\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tlabel: \"JS_71\",\r\n\t\tCard: RelatedCjmsManager,\r\n\t\ttype: TypesTabs.RelatedCjms,\r\n\t\tcardProps: {\r\n\t\t\tattributeName: \"linkedCjms\",\r\n\t\t\tmapping: false,\r\n\t\t},\r\n\t\tcomponentProps: {\r\n\t\t\tnoDataIcon: \"CJM\",\r\n\t\t\tnoDataText: \"CX_COMPONENT_CJM_EMPTY\",\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tlabel: \"SOLUTIONS\",\r\n\t\tAddComponent: SolutionDropdown,\r\n\t\tCard: SolutionItemCard,\r\n\t\ttype: TypesTabs.Solutions,\r\n\t\tswimlaneType: InformationType.Solution,\r\n\r\n\t\tcomponentProps: {\r\n\t\t\tasyncFns: [{ asyncFn: getAllSolutions, parameter: { statusCode: StatusCode.Active } }],\r\n\t\t\tentityType: \"cem_cxsolution\",\r\n\t\t\tattributeName: \"linkedSolutions\",\r\n\t\t\tcxAttributeID: \"solutionId\",\r\n\t\t\tnoDataIcon: \"SOLUTION\",\r\n\t\t\tnoDataText: \"CX_COMPONENT_SOLUTION_EMPTY\",\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tlabel: \"OPPORTUNITIES\",\r\n\t\tAddComponent: OpportunityDropdown,\r\n\t\tCard: OpportunityItemCard,\r\n\t\ttype: TypesTabs.Opportunities,\r\n\t\tswimlaneType: InformationType.Opportunity,\r\n\r\n\t\tcomponentProps: {\r\n\t\t\tasyncFns: [{ asyncFn: getAllOpportunity, parameter: { statusCode: StatusCode.Active } }],\r\n\t\t\tentityType: \"cem_cxopportunity\",\r\n\t\t\tattributeName: \"linkedOpportunities\",\r\n\t\t\tcxAttributeID: \"opportunityId\",\r\n\t\t\tnoDataIcon: \"OPPORTUNITY\",\r\n\t\t\tnoDataText: \"CX_COMPONENT_OPPORTUNITY_EMPTY\",\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tlabel: \"JS_80\",\r\n\t\tAddComponent: ActionDropdown,\r\n\t\tCard: ActionItemCard,\r\n\t\ttype: TypesTabs.ActionsList,\r\n\t\tswimlaneType: InformationType.ActionsList,\r\n\t\tcomponentProps: {\r\n\t\t\tasyncFns: [{ asyncFn: getAllCxAction, parameter: { statusCode: StatusCode.Active } }],\r\n\t\t\tentityType: \"cem_cxactiontask\",\r\n\t\t\tattributeName: \"linkedActions\",\r\n\t\t\tcxAttributeID: \"cxActionId\",\r\n\t\t\tnoDataIcon: \"MENU-ACTION\",\r\n\t\t\tnoDataText: \"CX_COMPONENT_ACTION_EMPTY\",\r\n\t\t},\r\n\t},\r\n\t{\r\n\t\tlabel: \"PROJECTS\",\r\n\t\tAddComponent: ProjectDropdown,\r\n\t\tCard: ProjectItemCard,\r\n\t\ttype: TypesTabs.Project,\r\n\t\tswimlaneType: InformationType.Project,\r\n\t\tcomponentProps: {\r\n\t\t\treduxActions: [getAllProjects],\r\n\t\t\tentityType: \"cem_cxproject\",\r\n\t\t\tattributeName: \"linkedProjects\",\r\n\t\t\tcxAttributeID: \"cxProjectId\",\r\n\t\t\tnoDataIcon: \"PROJECT\",\r\n\t\t\tnoDataText: \"CX_COMPONENT_PROJECT_EMPTY\",\r\n\t\t},\r\n\t},\r\n];\r\n","import { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexAlignCenter, FlexBetweenAlignCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport StatusItem from \"shared/ui-basics/ui-components/StatusItem\";\r\nimport { Badge, BadgeWrapper, RemoveButton } from \"./PicklistCard_style\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { FindStatusById } from \"redux/memoizedSelectors\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const ProjectItemCard = ({ index, entity, unlink, recordId, disable }) => {\r\n\tconst history = useHistory();\r\n\tconst { t } = useTranslation();\r\n\tconst allProjects = useSelector((state) => state.projects.all_projects);\r\n\tconst currentEntity = entity || allProjects?.find((sol) => sol.id === recordId);\r\n\tconst statusId = currentEntity?.attributes?.find((attr) => attr.type === InformationType.Status)?.statusId;\r\n\tconst status = useSelector(FindStatusById(\"project\", statusId));\r\n\r\n\tif (!currentEntity) return \r\n\t\t\r\n\t\t\t{t(\"NO_ACCESS\")}\r\n\t\t\r\n\t\r\n\tconst handleClick = (e) => {\r\n\t\te.stopPropagation();\r\n\t\thistory.push(`/EditProject?id=${currentEntity?.id}`)\r\n\t}\r\n\tconst handleRemove = (e) => {\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\r\n\t\tunlink(currentEntity?.id);\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"PROJECT\", \"border border-dark rounded-circle p-1 me-2\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{currentEntity?.name?.defaultPlaceholder(\"PROJECT_NAME\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{!disable && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t
\r\n\t);\r\n};\r\n\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/* eslint-disable no-extend-native */\r\n\r\nimport { t } from \"i18next\";\r\nimport Cookies from \"js-cookie\";\r\nimport jwtDecode from \"jwt-decode\";\r\nimport { EMPTY_GUID } from \"utils/helpers\";\r\nimport { createDiscussion } from \"./reducer/MapActions\";\r\nimport { setDiscussion, setOpenDiscussion } from \"./reducer/commentSlice\";\r\ntype Discussion = {\r\n objId: any;\r\n objName: any;\r\n cjmId: any;\r\n personaId: any;\r\n prefixRelationships?: string;\r\n onSuccess?: any;\r\n};\r\n\r\ndeclare global {\r\n interface Array {\r\n addDiscussionAction({...props }: any): Array;\r\n }\r\n}\r\n\r\n\r\nArray.prototype.addDiscussionAction = function (props: any) {\r\n\r\n const obj = {\r\n id: \"comment\",\r\n text: t(\"ADD_COMMENT\"),\r\n icon: \"comment\",\r\n onClick: () => {\r\n const userInfo = jwtDecode<{ userId: string }>(Cookies.get('Authorization-cemantica') || '');\r\n createDiscussion({\r\n ...props,ownerId:userInfo?.userId || EMPTY_GUID , onSuccess: (res: any) => {\r\n if (props.onSuccess) {\r\n props.onSuccess();\r\n }\r\n setDiscussion(res)\r\n setOpenDiscussion(res.id)\r\n }\r\n });\r\n },\r\n }\r\n this.push(obj)\r\n return this;\r\n}\r\n\r\nArray.prototype.sortByModifiedOn = function () {\r\n return this?.sort((a, b) => {\r\n const dateCommentA = a.comments[0]?.lastModifiedOn || a.lastModifiedOn;\r\n const dateCommentB = b.comments[0]?.lastModifiedOn || b.lastModifiedOn;\r\n\r\n const dateA = new Date(dateCommentA);\r\n const dateB = new Date(dateCommentB);\r\n return dateB - dateA; // Sort in descending order\r\n }) || [];\r\n}\r\n\r\nexport function getAllMapsParams(search: string) {\r\n\tconst params = new URLSearchParams(search.toLowerCase());\r\n\tconst cjmIdStr = params.get(\"cjmid\");\r\n\tconst personaIdStr = params.get(\"personaid\");\r\n const hideForPdf = params.get(\"isprint\") === '1'\r\n\treturn { cjmIdStr, personaIdStr ,hideForPdf};\r\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { getAllSolutions } from \"redux/memoizedSelectors\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { SideModal } from \"shared/cx-components/cx-components.style\";\r\nimport DetailPanel from \"shared/cx-components/detail-panel/detail-panel\";\r\nimport Header from \"shared/cx-components/header\";\r\nimport HeaderTitle from \"shared/cx-components/header-title\";\r\nimport Relations from \"shared/cx-components/relations/relations\";\r\nimport { TypesTabs } from \"shared/cx-components/relations/tabs-data\";\r\nimport { ItemProvider, useItem } from \"shared/dynamic-imports\";\r\nimport { useNavigationListData } from \"shared/hooks\";\r\nimport { EntityList } from \"utils/optionsSets/OptionSets\";\r\nimport { PermissionManager } from \"utils/permissionManager\";\r\nimport BaseActions from \"../actions/BaseActions\";\r\nimport { getSolutionRelatedRecords, getSolutionRelatedRecordsFn, updateSolution } from \"../reducer/SolutionsActions\";\r\n\r\ntype Props = {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tcustomItemsIds?: string[];\r\n\tid: string;\r\n\tstageId?: string;\r\n\tswimlaneKey?: string;\r\n};\r\n\r\nexport default function EditSolution(props: Props): JSX.Element {\r\n\tconst { isOpen, onClose, id } = props;\r\n\tconst currentItem = useSelector(({ solutions }: any) => solutions?.all_solutions?.find((solution: any) => solution.id === id));\r\n\tuseEffect(() => {\r\n\t\treturn () => {\r\n\t\t\tif (id) {\r\n\t\t\t\tgetSolutionRelatedRecordsFn({ solutionId: id });\r\n\t\t\t}\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\nconst Content = (props: Props) => {\r\n\tconst { onClose, customItemsIds, stageId } = props;\r\n\tconst { currentItem, setCurrentItem } = useItem();\r\n\r\n\tconst [loading, setLoading] = useState(false);\r\n\r\n\tconst updateData = (id: string) => {\r\n\t\tsetLoading(true);\r\n\t\tgetSolutionRelatedRecordsFn({\r\n\t\t\tsolutionId: id,\r\n\t\t\tonSuccess: (data: any) => {\r\n\t\t\t\tsetCurrentItem(data);\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t},\r\n\t\t\tonFailed: () => setLoading(false),\r\n\t\t});\r\n\t};\r\n\r\n\tconst { navigationList, updateCurrentItem } = useNavigationListData({ allItemsSelector: getAllSolutions, getSelectedItemsIds: getTablePath, selectedItemsIds: customItemsIds, update: updateData });\r\n\tconst isReadOnly = useSelector(({ auth }: any) => auth.userInfo.UserType)?.isReadOnly();\r\n\tconst userAccess: any = useSelector(({ maps }: any) => maps?.currentUser?.roleName);\r\n\tconst { editAllowed }: any = PermissionManager({ userAccess }) || {};\r\n\tconst disabled = isReadOnly || !editAllowed;\r\n\r\n\tconst actions = BaseActions({ solution: currentItem, onClose });\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst getTablePath = (pathname: string) => {\r\n\tswitch (pathname) {\r\n\t\tcase \"/EditCxProgram\":\r\n\t\t\treturn ({ ui }: any) => ui.table?.entity?.[EntityList.Solution]?.cxProgram?.filteredIds;\r\n\t\tdefault:\r\n\t\t\treturn ({ ui }: any) => ui.table?.entity?.[EntityList.Solution]?.solutionsList?.filteredIds;\r\n\t}\r\n};\r\n","import styled from \"styled-components\";\r\n\r\ninterface TextColorCardProps {\r\n\ttext: string;\r\n\ttextColor: string;\r\n\tbackgroundColor: string;\r\n}\r\n\r\nexport const TextColorCard = ({ text, textColor = \"#c4c4c4\", backgroundColor }: TextColorCardProps): JSX.Element => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{text}\r\n\t\t\r\n\t);\r\n};\r\n\r\ninterface CardContainerProps extends React.HTMLAttributes {\r\n\tbackground?: string;\r\n}\r\n\r\nconst CardContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tborder-radius: 4px;\r\n\tbackground: ${({ background }) => background};\r\n padding: 8px;\r\n max-width: 240px;\r\n`;\r\n\r\ninterface TextProps extends React.HTMLAttributes {\r\n\tcolor?: string;\r\n}\r\n\r\nconst Text = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: normal;\r\n\tline-height: 150%;\r\n\tdisplay: -webkit-box;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\t-webkit-line-clamp: 1;\r\n`;\r\n","import { TextColorCard } from \"shared/components/cards/TextColorCard\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport styled from \"styled-components\";\r\n\r\ninterface MenuItemSelectorProps {\r\n\tid?: string;\r\n\ttitle?: string;\r\n\tdescription?: string;\r\n\tplaceholder?: string;\r\n\tcardProps?: any;\r\n\trenderLabel?: any;\r\n\ticon?: string;\r\n\tclassNames?: string;\r\n}\r\n\r\nexport const MenuItemSelector = ({ title, description, renderLabel, placeholder, cardProps, icon, classNames }: MenuItemSelectorProps): JSX.Element => {\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{IconDispatcher(icon)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{title || placeholder}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{renderLabel && renderLabel()}\r\n\t\t\t\t\t{cardProps && }\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{description && {description}}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n`;\r\n\r\nconst TitleContainer = styled.div`\r\n\tposition: relative;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #262626;\r\n\tfont-size: 14px;\r\n\tfont-weight: 600;\r\n\ttext-indent: 2rem;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 1;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden;\r\n`;\r\n\r\nconst LogoContainer = styled.div`\r\n\tposition: absolute;\r\n\twidth: 24px !important;\r\n\theight: 24px !important;\r\n\r\n\tsvg {\r\n\t\twidth: 16px;\r\n\t\theight: 16px;\r\n\t}\r\n`;\r\n\r\nconst Logo = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tborder: 1px solid #262626;\r\n\tborder-radius: 50%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tbackground-color: #fff;\r\n`;\r\n\r\nconst Description = styled.div`\r\n\twidth: 100%;\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\tcolor: #262626;\r\n\tfont-style: normal;\r\n\tfont-size: 14px;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n\tmargin-top: 4px;\r\n`;\r\n\r\nconst InsightTypeContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-self: flex-start;\r\n`;\r\n","import { genericService } from \"shared/GenericService\";\r\nimport { constructUrl } from \"utils/helpers\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/connector/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/connector/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const connectorInit = (props) => createGetAction({\r\n\ttype: \"CONNECTOR_INIT\", endPoint: constructUrl(\"getAll\", {\r\n\t\trefreshSurveys: props?.refreshSurveys || false,\r\n\t})\r\n});\r\n\r\nexport const upsertConnector = ({ connector, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"UPSERT_CONNECTOR\",\r\n\t\t\tendPoint: \"upsert\",\r\n\t\t\tdata: {\r\n\t\t\t\tconnector,\r\n\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n\r\nexport const deleteConnector = ({ connectorId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"DELETE_CONNECTOR\",\r\n\t\t\tendPoint: \"delete\",\r\n\t\t\tdata: {\r\n\t\t\t\tconnectorId,\r\n\t\t\t},\r\n\t\t}),\r\n\t\tdisplayToast: \"DELETE\",\r\n\t});\r\n\r\nexport const getQuestionsAndFilters = ({ connectorId, surveyId, ...props }) =>\r\n\tgenericService({\r\n\t\t...props,\r\n\t\taction: createPostAction({\r\n\t\t\ttype: \"GET_QUESTIONS_AND_FILTERS\",\r\n\t\t\tendPoint: \"getQuestionsAndFilters\",\r\n\t\t\tdata: {\r\n\t\t\t\tconnectorId,\r\n\t\t\t\tsurveyId,\r\n\t\t\t},\r\n\t\t}),\r\n\t});\r\n","import _ from \"lodash\";\r\nimport { useSelector } from \"react-redux\";\r\nimport GenericPopover from \"shared/popovers/GenericPopover\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components\";\r\nimport Tag from \"shared/ui-basics/ui-components/tag\";\r\n\r\nconst Tags = ({ recordId, allRecordsSelector }) => {\r\n\tconst parentItem = useSelector((state) => _.get(state, allRecordsSelector) || [])?.find((item) => (item?.id || item?.personaId || item?.cjmId) === recordId);\r\n\tconst tagIds = parentItem?.tags;\r\n\tconst custom = (\r\n\t\t
\r\n\t\t\t{tagIds?.slice(2, Infinity).map((tagId) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{tagIds?.slice(0, 2).map((tagId) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\t{tagIds?.length > 2 && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+{tagIds?.length - 2}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\nconst WrapperDiv = styled.div`\r\n\tdisplay: -webkit-box;\r\n\toverflow: hidden;\r\n`;\r\nexport default Tags;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { IconDispatcher } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\n\r\ninterface FilterButtonProps {\r\n\ttitle: string;\r\n\tselectedIds: string[];\r\n\ticon: string;\r\n}\r\n\r\nexport const FilterButton: React.FC = ({ title, selectedIds, icon }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
{IconDispatcher(icon)}
\r\n {selectedIds?.length > 0 && {`${selectedIds?.length} /`} }\r\n\t\t\t{t(title)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\theight: 32px;\r\n\tpadding: 8px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #f0f0f0;\r\n\tbackground: #f0f0f0;\r\n\t:hover {\r\n\t\tborder: 1px solid #333;\r\n\t}\r\n`;\r\n\r\nconst Counter = styled.div`\r\n\twidth: 25px;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twhite-space: nowrap;\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { CheckBox } from \"./Style\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\n\r\ninterface FilterOptionProps {\r\n\titem: any;\r\n\tisSelected: boolean; // A boolean indicating if the item is selected\r\n}\r\n\r\nexport const FilterOption: React.FC = ({ item, isSelected }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t {}} />\r\n\t\t\t\t\r\n\t\t\t\t{item?.name}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 8px;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst BoxContainer = styled.div`\r\n\twidth: 16px;\r\n\theight: 16px;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tmax-height: 40px;\r\n\tmin-width: 100px;\r\n\twidth: 100%;\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 1;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\tcolor: #262626;\r\n\tfont-style: normal;\r\n\tfont-size: 14px;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n\tmargin-top: 8px;\r\n`;\r\n","import { useImperativeHandle, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Dropdown, DropdownMenu, DropdownToggle } from \"reactstrap\";\r\nimport { Button, SearchBar } from \"shared/ui-basics\";\r\nimport { FilterButton } from \"./FilterButton\";\r\nimport { FilterOption } from \"./FilterOption\";\r\nimport styled from \"styled-components\";\r\n\r\ninterface FilterTemplateProps {\r\n\tinnerRef: React.RefObject<{\r\n\t\tgetFilters: () => string[];\r\n\t}>;\r\n\trecords: any[];\r\n\ttitle: string;\r\n\ticon: string;\r\n\tidAttribute?: string;\r\n\thandleApply: () => void;\r\n}\r\n\r\nexport const FilterTemplate: React.FC = ({ innerRef, records, title, icon, idAttribute = \"id\", handleApply }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [selectedIds, setSelectedIds] = useState([]);\r\n\tconst [memoIds, setMemoIds] = useState([]);\r\n\tconst [searchedValue, setSearchedValue] = useState(\"\");\r\n\tconst [dropdownOpen, setDropdownOpen] = useState(false);\r\n\r\n\tconst toggle = ({ isApplyOrClear }: { isApplyOrClear: boolean }): void => {\r\n\t\tif (isApplyOrClear) setMemoIds(selectedIds);\r\n\t\telse setSelectedIds(memoIds);\r\n\r\n\t\tsetDropdownOpen((prevState) => !prevState);\r\n\t};\r\n\r\n\tconst handleSearch = (e: any) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetSearchedValue(value);\r\n\t};\r\n\r\n\tconst filteredRecords = records?.filter((rec) => rec?.name?.toLowerCase()?.includes(searchedValue));\r\n\r\n\tconst handleSelect = (id: string) => {\r\n\t\tif (!selectedIds?.includes(id)) setSelectedIds([...selectedIds, id]);\r\n\t\telse setSelectedIds(selectedIds.filter((sId) => sId !== id));\r\n\t};\r\n\r\n\tconst handleClear = () => {\r\n\t\ttoggle({ isApplyOrClear: true });\r\n\t\tsetSelectedIds([]);\r\n\t\tsetTimeout(handleApply);\r\n\t};\r\n\r\n\tconst apply = () => {\r\n\t\ttoggle({ isApplyOrClear: true });\r\n\t\thandleApply();\r\n\t};\r\n\r\n\tuseImperativeHandle(innerRef, () => ({\r\n\t\tgetFilters: () => selectedIds,\r\n\t}));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{filteredRecords?.map((rec) => (\r\n\t\t\t\t\t\t\t
handleSelect(rec?.[idAttribute])}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst FilterCustomDropdown = styled(Dropdown)`\r\n\tpadding: 0px;\r\n\t.dropdown-menu.show {\r\n\t\tpadding: 0px;\r\n\t}\r\n`;\r\n\r\nconst CustomToggle = styled(DropdownToggle)`\r\n\tpadding: 0px;\r\n`;\r\n\r\nconst MenuContainer = styled.div`\r\n\twidth: 180px;\r\n\tpadding: 8px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nconst ListContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 8px;\r\n\tmin-height: 56px;\r\n\tmax-height: 360px;\r\n\toverflow: scroll;\r\n\tmargin-top: 16px;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 16px;\r\n\tpadding: 8px 8px 0px 8px;\r\n\tborder-top: 1px solid #d9d9d9;\r\n`;\r\n","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { IconDispatcher } from \"../../Icons\";\r\nimport { useModal } from \"use-modal-hook\";\r\nconst contextData = (entityType, entity) => {\r\n\tconst data = {};\r\n\tswitch (entityType) {\r\n\t\tcase EntityList.Action:\r\n\t\t\tdata.icon = { name: \"MENU-ACTION\", iconStyle: { color: \"#FDD03E\" } };\r\n\t\t\tdata.targetUrl = `/cx-actions?id=${entity?.Id || entity?.id}`;\r\n\t\t\tdata.name = entity?.Name || entity?.name;\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Opportunity:\r\n\t\t\tdata.icon = { name: \"OPPORTUNITY\", iconStyle: { color: \"#20A9E9\" } };\r\n\t\t\tdata.targetUrl = `/opportunity?id=${entity?.Id || entity?.id}`;\r\n\t\t\tdata.name = entity?.Name || entity?.name;\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Solution:\r\n\t\t\tdata.icon = { name: \"SOLUTION\", iconStyle: { color: \"#FDD03E\" } };\r\n\t\t\tdata.targetUrl = `/solutions?id=${entity?.Id || entity?.id}`;\r\n\t\t\tdata.name = entity?.Name || entity?.name;\r\n\t\t\tbreak;\r\n\t\tcase EntityList.CXProgram:\r\n\t\t\tdata.icon = { name: \"CX-PROGRAM\", iconStyle: { color: \"#F96209\" } };\r\n\t\t\tdata.targetUrl = `/EditCxProgram?programid=${entity?.Id || entity?.id}`;\r\n\t\t\tdata.name = entity?.Name || entity?.name;\r\n\t\t\tbreak;\r\n\t\tcase EntityList.CustomerJourney:\r\n\t\t\tdata.icon = { name: \"CJM\", iconStyle: { color: \"#18AEAD\" } };\r\n\t\t\tdata.targetUrl = `/EditMap?cjmid=${entity?.CjmId || entity?.cjmId}&personaId=${entity?.LinkedPersonas?.[0]?.PersonaId || entity?.linkedPersonas?.[0]?.personaId || EMPTY_GUID}`;\r\n\t\t\tdata.name = entity?.Name || entity?.name;\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Persona:\r\n\t\t\tdata.icon = { name: \"PERSONA\", iconStyle: { color: \"#F48E09\" } };\r\n\t\t\tdata.targetUrl = `/EditPersona?personaIdStr=${entity?.PersonaId || entity?.personaId}`;\r\n\t\t\tdata.name = entity?.Name || entity?.name;\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Global: //folders\r\n\t\t\tdata.icon = { name: \"FOLDER-OPEN\", iconStyle: { color: \"#FDD03E\" } };\r\n\t\t\tdata.targetUrl = null;\r\n\t\t\tdata.name = entity?.Name || entity?.name;\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Project:\r\n\t\t\tdata.icon = { name: \"PROJECT\", iconStyle: { color: \"#655CB1\" } };\r\n\t\t\tdata.targetUrl = `/EditProject?id=${entity?.Id || entity?.id}`;\r\n\t\t\tdata.name = entity.Name || entity.name;\r\n\t\t\tbreak;\r\n\t\tcase EntityList.Insight:\r\n\t\t\tdata.icon = { name: \"GEM\", iconStyle: { color: \"#655CB1\" } };\r\n\t\t\tdata.targetUrl = `/insights?id=${entity?.Id || entity?.id}`;\r\n\t\t\tdata.name = entity.Name || entity.name;\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\treturn data;\r\n};\r\n\r\nexport const EntityListItem = ({ entityType, entity, onClick, disableClick = \"false\", customClassName = \"d-flex pb-4\", type, iconParams, titleVariant, modal }) => {\r\n\tconst history = useHistory();\r\n\tconst [showModal] = useModal(modal);\r\n\tconst data = contextData(entityType, entity);\r\n\r\n\tif (data.name === \"\") data.name = \"Default name\";\r\n\r\n\tconst redirectTo = () => {\r\n\t\tonClick && onClick();\r\n\t\tif (modal) {\r\n\t\t\treturn showModal({ id: entity.id })\r\n\t\t}\r\n\t\tif (data?.targetUrl) {\r\n\t\t\thistory.push(data?.targetUrl + \"&origin=1\");\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{IconDispatcher(data?.icon?.name, \"me-2\", iconParams && iconParams)}\r\n\t\t\t\r\n\t\t\t\t
{data?.name}
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst ListItemContainer = styled.div`\r\n\t${(props) =>\r\n\t\tprops.type === \"project\" &&\r\n\t\tcss`\r\n\t\t\tmax-width: 300px;\r\n\t\t`}\r\n`;\r\n\r\nexport const Redirect = styled.div`\r\n\twidth: 100%;\r\n\tcolor: #605f60;\r\n\r\n\ttext-decoration: none;\r\n\t${(props) => props.disableClick === \"true\" && \"pointer-events:none;\"}\r\n\t:hover {\r\n\t\tcolor: #333333;\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.variant === \"black\" &&\r\n\t\tcss`\r\n\t\t\tcolor: #333;\r\n\t\t\tfont-family: Inter;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-style: normal;\r\n\t\t\tfont-weight: 400;\r\n\t\t\tline-height: 120%;\r\n\t\t`}\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\tcolor: #605f60;\r\n`;\r\n","import { Menu, Typeahead } from \"react-bootstrap-typeahead\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nexport const TypeaheadContainer = styled.div`\r\n\twidth: ${({ width }) => width} !important;\r\n\tborder-top: 1px solid #d9d9d9;\r\n\tborder-left: 1px solid #d9d9d9;\r\n\tborder: 1px solid #d9d9d9;\r\n\tborder-radius: 4px;\r\n\tborder-bottom-left-radius: 0px;\r\n\tborder-bottom-right-radius: 0px;\r\n\tposition: relative;\r\n\tbackground: #ffffff;\r\n\t${({ showShadow }) =>\r\n\t\tshowShadow &&\r\n\t\tcss`\r\n\t\t\tbox-shadow: 0px -8px 16px 0px rgba(0, 0, 0, 0.15);\r\n\t\t`}\r\n\t\t${({ showAI }) =>\r\n\t\tshowAI &&\r\n\t\tcss`\r\n\t\t\tborder: 1px solid #d9d9d9;\r\n\t\t\tborder-bottom-left-radius: 0px;\r\n\t\t\tborder-bottom-right-radius: 0px;\r\n\t\t\tborder-radius: 4px;\r\n\t\t\toverflow: hidden;\r\n\r\n\t\t`}\r\n\r\n`;\r\n\r\nexport const CustomTypeahead = styled(Typeahead)`\r\n\t.form-control {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tmin-height: 47px;\r\n\t\tborder: none !important;\r\n\t\tbackground: #fff;\r\n\t\tpadding: 8px;\r\n\t}\r\n\r\n\t.rbt-input-main {\r\n\t\tmargin: 0;\r\n\t}\r\n\r\n\t.rbt-input-multi {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tfont-size: 14px;\r\n\t}\r\n\t.rbt-input-multi.focus {\r\n\t\tbox-shadow: none;\r\n\t}\r\n\r\n\t.rbt-input-multi .rbt-input-wrapper {\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.rbt-input-multi .rbt-input-main {\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.dropdown-menu::-webkit-scrollbar-thumb {\r\n\t\tbackground-color: #ffffff;\r\n\t}\r\n\r\n\t.dropdown-menu::-webkit-scrollbar-track {\r\n\t\tbackground-color: #ffffff;\r\n\t}\r\n\r\n\t.dropdown-menu.show {\r\n\t\twidth: 100%;\r\n\t\tmax-height: max-content !important;\r\n\t\theight: fit-content !important;\r\n\t\tborder-radius: 4px;\r\n\t\tborder-top-left-radius: 0px;\r\n\t\tborder-top-right-radius: 0px;\r\n\t\tposition: absolute;\r\n\t\twidth: 100.3%;\r\n\t\tleft: -1px;\r\n\t\tdisplay: flex !important;\r\n\t\tflex-direction: column !important;\r\n\t\tjustify-content: space-between !important;\r\n\t\t${({ showShadow }) =>\r\n\t\tshowShadow &&\r\n\t\tcss`\r\n\t\t\t\tbox-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.15);\r\n\t\t\t`}\r\n\r\n\t}\r\n`;\r\n\r\nexport const CustomMenu = styled(Menu)`\r\n\toverflow: unset !important;\r\n`;\r\n\r\nexport const ListContainer = styled.div`\r\n\theight: ${({ height }) => (height ? `${height}px` : \"inherit\")} !important;\r\n\twidth: 100% !important;\r\n\toverflow-x: hidden;\r\n\t${({ isVirtualScroll }) =>\r\n\t\t!isVirtualScroll &&\r\n\t\tcss`\r\n\t\t\toverflow-y: scroll;\r\n\t\t`}\r\n`;\r\n\r\nexport const MenuItem = styled.div`\r\n\tmax-width: 100%;\r\n\tpadding: 8px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tcursor: pointer;\r\n\t:hover {\r\n\t\tborder-radius: 4px;\r\n\t\tbackground: #efefef;\r\n\t}\r\n`;\r\n\r\nexport const MenuLabel = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\theight: 32px;\r\n\tpadding: 4px;\r\n\tcolor: #595959;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tline-height: 12px;\r\n\tmargin-left: 8px;\r\n`;\r\n\r\nexport const EmptyListLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nexport const MenuBody = styled.div`\r\n\tpadding: 8px;\r\n`;\r\n\r\nexport const AIButtonWrapper = styled.div`\r\n\tposition: absolute;\r\n\tright: 5px;\r\n\ttop : -40px;\r\n\tz-index: 500;\r\n`","import CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { getEmotionLevelData } from \"utils/helpers\";\r\n\r\ninterface SmileyStaticComponentProps {\r\n\temotionLevel: number;\r\n\tsize?: number;\r\n\tisTooltipDisabled: boolean;\r\n}\r\n\r\nexport const SmileyStaticComponent: React.FC = ({ emotionLevel, size, isTooltipDisabled = false }) => {\r\n\tconst { smiley, smileyColor, description } = getEmotionLevelData({ level: emotionLevel });\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{IconDispatcher(smiley)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Container = styled.div<{ size: number }>`\r\n\twidth: ${({ size }) => size}px;\r\n\theight: ${({ size }) => size}px;\r\n\tflex-shrink: 0;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nconst WhiteBackground = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tborder-radius: 50%;\r\n\tbackground: #ffffff;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nconst Icon = styled.div<{ size: number; color: string }>`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tsvg {\r\n\t\twidth: ${({ size }) => size}px;\r\n\t\theight: ${({ size }) => size}px;\r\n\t\tcolor: ${({ color }) => color};\r\n\t}\r\n`;\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { useEffect, useState } from \"react\";\r\nimport { getAllCxActions } from \"redux/memoizedSelectors.js\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner.js\";\r\nimport { SideModal } from \"shared/cx-components/cx-components.style\";\r\nimport DetailPanel from \"shared/cx-components/detail-panel/detail-panel\";\r\nimport Header from \"shared/cx-components/header\";\r\nimport HeaderTitle from \"shared/cx-components/header-title\";\r\nimport Relations from \"shared/cx-components/relations/relations\";\r\nimport { TypesTabs } from \"shared/cx-components/relations/tabs-data\";\r\nimport { ItemProvider, useItem } from \"shared/dynamic-imports\";\r\nimport { useNavigationListData } from \"shared/hooks/index.js\";\r\nimport { EntityList } from \"utils/optionsSets/OptionSets.js\";\r\nimport { PermissionManager } from \"utils/permissionManager\";\r\nimport BaseActions from \"../actions/BaseActions.js\";\r\nimport { getCxActionRelatedRecords, getCxActionRelatedRecordsFn, updateCxAction } from \"../reducer/CxActionActions\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\ntype Props = {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tcustomItemsIds?: string[];\r\n\tid: string;\r\n\tstageId?: string;\r\n\tswimlaneKey?: string;\r\n};\r\n\r\nexport default function EditCxAction(props: Props): JSX.Element {\r\n\tconst { isOpen, onClose, id } = props;\r\n\tconst currentItem = useSelector(({ actions }: any) => actions?.all_actions?.find((action: any) => action.id === id));\r\n\tuseEffect(() => {\r\n\t\treturn () => {\r\n\t\t\tif (id) {\r\n\t\t\t\tgetCxActionRelatedRecordsFn({ cxactionId: id });\r\n\t\t\t}\r\n\t\t};\r\n\t}, []);\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst Content = (props: Props) => {\r\n\tconst { onClose, customItemsIds, stageId } = props;\r\n\tconst { currentItem, setCurrentItem } = useItem();\r\n\r\n\tconst [loading, setLoading] = useState(false);\r\n\r\n\tconst updateData = (id: string) => {\r\n\t\tsetLoading(true);\r\n\t\tgetCxActionRelatedRecordsFn({\r\n\t\t\tcxactionId: id,\r\n\t\t\tonSuccess: (data: any) => {\r\n\t\t\t\tsetCurrentItem(data);\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t},\r\n\t\t\tonFailed: () => setLoading(false),\r\n\t\t});\r\n\t};\r\n\r\n\tconst { navigationList, updateCurrentItem } = useNavigationListData({ allItemsSelector: getAllCxActions, getSelectedItemsIds: getTablePath, selectedItemsIds: customItemsIds, update: updateData });\r\n\r\n\tconst actions = BaseActions({ action: currentItem, onClose });\r\n\tconst isReadOnly = useSelector(({ auth }: any) => auth.userInfo.UserType)?.isReadOnly();\r\n\tconst userAccess: any = useSelector(({ maps }: any) => maps?.currentUser?.roleName);\r\n\tconst { editAllowed }: any = PermissionManager({ userAccess }) || {};\r\n\tconst disabled = isReadOnly || !editAllowed;\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst getTablePath = (pathname: string) => {\r\n\tswitch (pathname) {\r\n\t\tcase \"/EditCxProgram\":\r\n\t\t\treturn ({ ui }: any) => ui.table?.entity?.[EntityList.Action]?.cxProgram?.filteredIds;\r\n\t\tdefault:\r\n\t\t\treturn ({ ui }: any) => ui.table?.entity?.[EntityList.Action]?.cxActionsList?.filteredIds;\r\n\t}\r\n};\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { toast } from \"react-toastify\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { Button, IconDispatcher } from \"shared/ui-basics\";\r\nimport { FlexBetween, FlexContainer } from \"./cx-components.style\";\r\nimport { useInsertRecentWork } from \"shared/hooks\";\r\n\r\ntype HeaderProps = {\r\n\tonClose: () => void;\r\n\tactions: any[];\r\n\tnavigationList: string[];\r\n\tcurrentItemId: string;\r\n\tsetCurrentItem: (currentItemId: string) => void;\r\n\tshowCopyUrl?: boolean;\r\n\tentityName?: string;\r\n\tdisabled?: boolean;\r\n};\r\n\r\nconst Header: React.FC = ({ onClose, actions, navigationList, currentItemId, setCurrentItem, showCopyUrl = true, entityName, disabled }: HeaderProps) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tuseInsertRecentWork({\r\n\t\tentityName,\r\n\t\trecordId: currentItemId,\r\n\t});\r\n\r\n\tconst currentIndex = navigationList?.findIndex((item) => item === currentItemId);\r\n\tconst disableUp = currentIndex === 0;\r\n\tconst disableDown = currentIndex === navigationList?.length - 1;\r\n\tconst noNavigation = navigationList?.length === 0;\r\n\r\n\tconst handleNavigationUp = () => {\r\n\t\tconst id = navigationList[currentIndex - 1];\r\n\t\tsetCurrentItem(id);\r\n\t};\r\n\tconst handleNavigationDown = () => {\r\n\t\tconst id = navigationList[currentIndex + 1];\r\n\t\tsetCurrentItem(id);\r\n\t};\r\n\tconst copyUrl = () => {\r\n\t\tnavigator.clipboard.writeText(window.location.href + \"?id=\" + currentItemId);\r\n\t\ttoast.success(t(\"URL_COPIED\"));\r\n\t};\r\n\tconst getActions = () => {\r\n\t\tif (showCopyUrl) return [{ id: \"link\", icon: \"LINK\", text: t(\"URL_LINK\"), handleClick: copyUrl }, ...actions];\r\n\t\treturn [...actions];\r\n\t};\r\n\r\n\tconst actualActions = getActions();\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{noNavigation || (disableUp && disableDown) ? null : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!disabled && actualActions?.length > 0 && CreateActionsDropdown({ actions: actualActions, variant: \"none\", dropdownClasses: \"px-0\", size: \"xs\" })}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Header;\r\n","\r\n\r\n\r\n\r\nimport { EMPTY_GUID, constructUrl, encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n return ({ type, endPoint, data, responseType, params, meta }) => ({\r\n type,\r\n request: {\r\n url: baseUrl + endPoint,\r\n method,\r\n data,\r\n responseType,\r\n },\r\n meta,\r\n params,\r\n });\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/comment/\", method: \"POST\" }); // api actions type post\r\nconst createPostMapAction = InitActionCreator({ baseUrl: \"api/map/\", method: \"POST\" }); // api actions type post\r\n// api actions type post\r\nexport const createComment = (props) => {\r\n const mentionedUsers = [...new Set(props?.mentions)]?.reduce((result, string, index) => {\r\n\r\n result[index] = string.id;\r\n return result;\r\n }, {});\r\n return genericService({\r\n ...props, action: createPostAction({\r\n type: 'CREATE_COMMENT', endPoint: \"create\",\r\n data: {\r\n discussionId: props?.discussionId,\r\n description: encode(props?.description),\r\n mentionedUsers: mentionedUsers,\r\n cjmId: props?.cjmIdStr,\r\n personaId: props?.personaIdStr,\r\n ownerId: props?.ownerId,\r\n }\r\n })\r\n });\r\n}\r\nexport const updateComment = (props) => {\r\n const mentionedUsers = [...new Set(props?.mentions)].reduce((result, string, index) => {\r\n result[index] = string;\r\n return result;\r\n }, {});\r\n return genericService({\r\n ...props, action: createPostAction({\r\n type: 'UPDATE_COMMENT', endPoint: \"updateCommentDescription\",\r\n data: {\r\n discussionId: props?.discussionId,\r\n newDescription: encode(props?.newDescription),\r\n mentionedUsers: mentionedUsers,\r\n cjmId: props?.cjmId,\r\n personaId: props?.personaId,\r\n ownerId: props?.ownerId || EMPTY_GUID,\r\n commentId: props?.commentId\r\n }\r\n })\r\n });\r\n};\r\n\r\nexport const deleteComment = (props) => genericService({\r\n ...props, action: createPostAction({\r\n type: 'DELETE_COMMENT', endPoint: \"deleteComment\",\r\n data: {\r\n\r\n discussionId : props.discussionId,\r\n commentId: props?.commentId,\r\n cjmId: props?.cjmIdStr,\r\n personaId: props?.personaIdStr,\r\n }\r\n })\r\n});\r\n\r\n\r\nconst createPostActionDiscu = InitActionCreator({ baseUrl: \"api/discussion/\", method: \"POST\" }); // api actions type post\r\nconst createGetActionDiscu = InitActionCreator({ baseUrl: \"api/discussion/\", method: \"GET\" });\r\nexport const getMapDiscussions = (props) => createGetActionDiscu({\r\n type: 'GET_MAP_DISCUSSIONS', endPoint: constructUrl(\"getAll\", {\r\n cjmId: props.cjmIdStr,\r\n personaId: props.personaIdStr,\r\n }),\r\n});\r\nexport const getMapDiscussionsFn = async (props) => genericService({ ...props, action: getMapDiscussions });\r\n\r\nexport const createDiscussion = (props) => genericService({\r\n ...props, action: createPostActionDiscu({\r\n type: 'CREATE_DISCUSSION', endPoint: \"create\",\r\n data: {\r\n discussion: {\r\n cjmId : props.cjmId,\r\n personaId : props.personaId,\r\n objId : props.objId,\r\n objName : props.objName,\r\n prefixRelationships: props.prefixRelationships,\r\n relatedId : props.relatedId,\r\n relatedName : props.relatedName,\r\n ownerId : props.ownerId,\r\n stageId : props.stageId,\r\n swimlaneId : props.swimlaneId,\r\n\r\n },\r\n channelId : props.channelId || EMPTY_GUID,\r\n }\r\n })\r\n});\r\n\r\nexport const updateStatusDiscussion = (props) => genericService({\r\n ...props, action: createPostActionDiscu({\r\n type: 'UPDATE_STATUS_DISCUSSION', endPoint: \"updateStatus\",\r\n data: {\r\n discussionId: props.discussionId,\r\n isResolved: props.isResolved,\r\n cjmId : props.cjmId,\r\n personaId : props.personaId,\r\n }\r\n })\r\n});\r\nexport const deleteDiscussion = (props) => genericService({\r\n ...props, action: createPostActionDiscu({\r\n type: 'DELETE_DISCUSSION', endPoint: \"delete\",\r\n data: {\r\n discussionId: props.discussionId,\r\n cjmId : props.cjmId,\r\n personaId : props.personaId,\r\n }\r\n })\r\n});\r\nexport const updateToggleComment = (props) => genericService({\r\n ...props, action: createPostMapAction({\r\n type: 'UPDATE_TOGGLE_COMMENT', endPoint: \"showComments\",\r\n data: {\r\n show: props.show,\r\n cjmId : props.cjmId,\r\n }\r\n })\r\n});\r\nexport const updateToggleCommentResolved = (props) => genericService({\r\n ...props, action: createPostMapAction({\r\n type: 'UPDATE_TOGGLE_COMMENT_RESOLVED', endPoint: \"showResolvedComments\",\r\n data: {\r\n show: props.show,\r\n cjmId : props.cjmId,\r\n }\r\n })\r\n});","import { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nconst ColorTextCard = ({ text, color, handleClick, showBorder = true, width = \"100%\", fontSize = '0.75rem', className, style = {}, isEdit = true, ...props }) => {\r\n\tconst handleDelete = (e) => {\r\n\t\te.stopPropagation();\r\n\t\tprops?.onRemove && props.onRemove();\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{text}\r\n\t\t\t{props?.onRemove && isEdit && }\r\n\t\t\r\n\t);\r\n};\r\n\r\nColorTextCard.dipslayName = \"ColorTextCard\";\r\n\r\nexport { ColorTextCard };\r\n\r\nconst Card = styled.div`\r\n\theight: 2.25rem;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tborder-radius: 0.25rem;\r\n\tposition: relative;\r\n\tgap:8px;\r\n\t${(props) =>\r\n\t\tprops.showborder &&\r\n\t\tcss`\r\n\t\t\tborder: 1px solid #c4c4c4;\r\n\t\t`};\r\n\r\n\t${(props) =>\r\n\t\tprops.isclickable &&\r\n\t\tcss`\r\n\t\t\t:hover {\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t}\r\n\t\t`};\r\n\t\t.remove-button {\r\n\t\t\tdisplay:none !important;\r\n\t\t\tposition: absolute;\r\n\t\t\tright: 2px;\r\n\t\t\ttop: 2px;\r\n\t\t}\r\n\t\t:hover .remove-button {\r\n\t\t\tdisplay:flex!important;;\r\n\t\t}\r\n`;\r\n\r\nconst ColorContainer = styled.div`\r\n\twidth: 1rem;\r\n\theight: 1rem;\r\n\tmin-width: 1rem;\r\n\tmin-height: 1rem;\r\n\tborder-radius: 0.125rem;\r\n\tbackground: ${(props) => props.color};\r\n`;\r\n\r\nconst TextContainer = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: ${props => props.size};\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\r\n`;\r\n","import { Offcanvas } from \"react-bootstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const OffcanvasLayout = styled(Offcanvas)`\r\n\tmin-width: 800px;\r\n\tbox-shadow: -2px 0px 4px 0px rgba(0, 0, 0, 0.25);\r\n\r\n\t.btn-close:focus {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n`;\r\n\r\nexport const Header = styled(Offcanvas.Header)`\r\ncolor: #8C8C8C;\r\nfont-family: Inter;\r\nfont-size: 14px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: normal;\r\n`\r\nexport const Body = styled(Offcanvas.Body)`\r\npadding: 2rem;\r\npadding-top: 0;\r\nmax-height: 95vh;\r\n\r\n`\r\nexport const Labels = styled.div`\r\ncolor: #605F60;\r\n\r\nfont-family: Inter;\r\nfont-size: ${props => props.fs ? props.fs : '12px'};\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: normal;\r\n`\r\nexport const TouchPointLayout = styled.div`\r\ndisplay: flex;\r\nalign-items: center;\r\n\r\n.name {\r\n\tcolor: #333;\r\n\r\nfont-family: Inter;\r\nfont-size: 24px;\r\nfont-style: normal;\r\nfont-weight: 500;\r\nline-height: normal;\r\n}\r\n\r\n`\r\nexport const PictureContainer = styled.div`\r\nwidth: 40px;\r\nheight: 40px;\r\nflex-shrink: 0;\r\ndisplay: flex;\r\nalign-items: center;\r\nimg {\r\n\twidth: auto;\r\n\theight: 32px;\r\n\tflex-shrink: 0;\r\n}\r\n`\r\nexport const RoutesWrapper = styled.div`\r\ndisplay: flex;\r\nalign-items: center;\r\ngap: 8px;\r\n`\r\nexport const Wrapper = styled.div`\r\ndisplay: flex;\r\nalign-items: center;\r\ngap: 8px;\r\n/* flex-wrap: wrap; */\r\nwidth:100%;\r\nmin-height:40px;\r\nborder-radius:0.25rem;\r\n${(props)=>props?.iseditmode===\"true\" &&`background:#EFEFEF;`}\r\n&:hover,\r\n&:focus\r\n{\r\n\tbackground:#EFEFEF;\r\n}\r\n\r\n`\r\n","import { createSlice } from \"@reduxjs/toolkit\"\r\nimport { store } from \"../redux/store\"\r\n\r\n\r\n\r\nexport const Page = createSlice({\r\n name: 'Page',\r\n initialState: {\r\n headers: {\r\n size:{width:0,height:0},\r\n showHeaderDetails:false\r\n },\r\n sidebar: {\r\n isOpen : true,\r\n },\r\n main: [],\r\n allowSectionsOverFlow: false, // This is used to allow the sections to overflow the page\r\n selected_bulk : [],\r\n bulk_type : '',\r\n },\r\n reducers: {\r\n loadDataHeaders: (state, action) => {\r\n state.headers = action.payload\r\n },\r\n loadMain:(state, action) => {\r\n state.main = action.payload\r\n },\r\n loadDataExportPdfHeaders: (state, action) => {\r\n state.headers.url = action.payload\r\n },\r\n loadSizeExportPdfHeaders: (state, action) => {\r\n state.headers.size = action.payload\r\n },\r\n setAllowSectionsOverFlow: (state, action) => {\r\n state.allowSectionsOverFlow = action.payload\r\n },\r\n setShowHeaderDetails: (state, action) => {\r\n state.headers.showHeaderDetails = action.payload\r\n },\r\n setNavigationSidebar: (state, action) => {\r\n state.sidebar.isOpen = action.payload\r\n },\r\n setChangeTouchpoint : (state, action) => {\r\n state.changeTouchpoint = action.payload\r\n },\r\n setSelectBulk : (state, action) => {\r\n state.selected_bulk = action.payload\r\n },\r\n setBulkType : (state, action) => {\r\n state.bulk_type = action.payload\r\n }\r\n\r\n\r\n }\r\n})\r\n\r\n// Action Creators\r\nexport const loadDataHeader = (data) => store.dispatch(Page.actions.loadDataHeaders(data))\r\nexport const loadMainData= (data) => store.dispatch(Page.actions.loadMain(data))\r\nexport const loadDataExportPdfHeaders= (data) => store.dispatch(Page.actions.loadDataExportPdfHeaders(data))\r\nexport const loadSizeExportPdfHeaders= (data) => store.dispatch(Page.actions.loadSizeExportPdfHeaders(data))\r\nexport const setAllowSectionsOverFlow= (data) => store.dispatch(Page.actions.setAllowSectionsOverFlow(data))\r\nexport const setShowHeaderDetails= (data) => store.dispatch(Page.actions.setShowHeaderDetails(data))\r\nexport const setNavigationSidebar = (data) => store.dispatch(Page.actions.setNavigationSidebar(data))\r\nexport const setChangeTouchpoint = (data) => store.dispatch(Page.actions.setChangeTouchpoint(data))\r\nexport const setSelectBulk = (data) => store.dispatch(Page.actions.setSelectBulk(data))\r\nexport const setBulkType = (data) => store.dispatch(Page.actions.setBulkType(data))\r\n","import { PromptAICreation } from \"shared/modals/index\";\r\nimport GenericPopover from \"shared/popovers/GenericPopover\";\r\nimport { GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { PopoverItem } from \"features/grid-table/columns-components/Styles\";\r\nimport { t } from \"i18next\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport const EmptyList = ({ data }) => {\r\n\tconst aiAllowed = useSelector(({ settings }) => settings.subscriptionDetails.aiEnabled);\r\n\r\n\tconst [isCreateBtnDisabled, setIsCreateBtnDisabled] = useState(false);\r\n\tconst [showAiModal] = useModal(data?.aiModal)\r\n\tconst ref = useRef(null);\r\n\r\n\tconst onCreate = () => {\r\n\t\tdata?.buttonCreate({ setIsCreateBtnDisabled })\r\n\t}\r\n\tconst handleClick = e => {\r\n\t\tconst id = e.currentTarget.id;\r\n\t\tref?.current?.hide_popover();\r\n\t\tif (id === 'ai') showAiModal()\r\n\t\telse if (id === 'create') onCreate()\r\n\t}\r\n\tconst custom =
\r\n\t\t\r\n\t\t\t\t{IconDispatcher(\"SPARKLES-LIGHT\",\"me-1\")} {t(\"GENERATE_AI\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(data?.emptyListText === 'MAP_EMPTY_LIST' ? \"MAP-LIGHT\": \"SQUARE_PLUS\",\"me-1\")} {t(data?.buttonCreateLabel)}\r\n\t\t\t\r\n\t
\r\n\tconst handleCreate = () => {\r\n\t\tif (!data.aiGeneration || !aiAllowed) onCreate()\r\n\t}\r\n\tconst ButtonCreate = () => {\r\n\t\tif (data.aiGeneration && aiAllowed) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(data?.buttonCreateLabel)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t}\r\n\t\treturn \r\n\t\t{t(data?.buttonCreateLabel)}\r\n\t\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t{data?.emptyListIcon}\r\n\t\t\t{t(data?.emptyListText)}\r\n\t\t\t{data?.visibleButtonCreate && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\n\r\nconst EmptyListContainer = styled.div`\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n gap: 32px;\r\n`;\r\n\r\nconst EmptyListIcon = styled.div`\r\n\twidth: 56px;\r\n\theight: 64px;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: flex-end;\r\n color:#605f60;\r\n`;\r\n\r\nexport const EmptyListText = styled.div`\r\n\tcolor: #605f60;\r\n\ttext-align: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\twidth: 408px;\r\n`;\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\nimport { store } from \"../../../redux/store\";\r\n\r\n\r\nexport const Comment = createSlice({\r\n name: 'comment',\r\n initialState: {\r\n discussion: null,\r\n openDiscussion: null,\r\n\r\n },\r\n reducers: {\r\n setDiscussion: (state, action) => {\r\n state.discussion = action.payload;\r\n\r\n },\r\n setOpen: (state, action) => {\r\n state.openDiscussion = action.payload;\r\n }\r\n }\r\n})\r\nexport const setDiscussion = (data) => store.dispatch(Comment.actions.setDiscussion(data))\r\nexport const setOpenDiscussion = (data) => store.dispatch(Comment.actions.setOpen(data))","export const BasicColors = {\r\n\tprimary: \"#00bcd4\",\r\n\tsecondary: \"#ff4081\",\r\n\tsuccess: \"#4caf50\",\r\n\twarning: \"#ff9800\",\r\n\tdanger: \"#f44336\",\r\n\tinfo: \"#2196f3\",\r\n\tlight: \"#f4f4f4\",\r\n\tdark: \"#212121\",\r\n\twhite: \"#ffffff\",\r\n\tblack: \"#000000\",\r\n\tgray: \"#9e9e9e\",\r\n\tgray2: \"#f5f5f5\",\r\n\tgray3: \"#eeeeee\",\r\n\tgray4: \"#e0e0e0\",\r\n\tgray5: \"#bdbdbd\",\r\n\tgray6: \"#757575\",\r\n\tgray7: \"#616161\",\r\n\tgray8: \"#424242\",\r\n\tgray9: \"#dee2e6\",\r\n\tgray10: \"#F3F2F1\",\r\n\torange: \" #f96209\",\r\n\torangeHover: \"#E35806\",\r\n\tpurple: \"#7676d2\",\r\n\tprimaryPurple: \"#4b4b7b\",\r\n\tcemOrange: \"#f96209\",\r\n\tbackgroundGreySidebar: \"#3F3D56\",\r\n\twarning2: \"#FC74B3\",\r\n\tcemPurple: \"#3f3d56\",\r\n\tMaleActive: \"#15AABF\",\r\n\tFemaleActive: \"#FC74B3\",\r\n\tyellow: \"#eef982\",\r\n\tlightGrey: \"#f3f2f1\",\r\n\tprimlightbg: \"#d9d8fb\",\r\n};\r\n\r\nexport const Colors = {\r\n\tprimary: \"#F96209\",\r\n\tlabel: \"#605F60\",\r\n\tturquoise: \"#18AEAD\",\r\n\tterrible: \"#cc5858\",\r\n\tterribleIcon: \"#FF8B8B\",\r\n\tpoor: \"#ca5215\",\r\n\tpoorIcon: \"#FCA57A\",\r\n\tgeneric: \"#ed9e00\",\r\n\tgenericIcon: \"#FEE591\",\r\n\tgood: \"#59ad62\",\r\n\tgoodIcon: \"#B9FBC0\",\r\n\texcellent: \"#049493\",\r\n\texcellentIcon: \"#A3DFDE\",\r\n\tnosentimentIcon: \"#c3c3c3\",\r\n\tprimaryText: \"#333\",\r\n};\r\n\r\nexport const SwimlaneColors = {\r\n\t\"#FFFFFF\": { color: \"#FFFFFF\" },\r\n\t\"#6B7280\": { color: \"#F9FAFB\" },\r\n\t\"#EF4444\": { color: \"#FEF2F2\" },\r\n\t\"#EC4899\": { color: \"#FDF2F8\" },\r\n\t\"#D946EF\": { color: \"#FDF4FF\" },\r\n\t\"#A855F7\": { color: \"#FAF5FF\" },\r\n\t\"#3B82F6\": { color: \"#EFF6FF\" },\r\n\t\"#0EA5E9\": { color: \"#F0F9FF\" },\r\n\t\"#06B6D4\": { color: \"#ECFEFF\" },\r\n\t\"#22C55E\": { color: \"#F0FDF4\" },\r\n\t\"#EAB308\": { color: \"#FEFCE8\" },\r\n\t\"#F97316\": { color: \"#FFF7ED\" },\r\n};\r\n\r\nexport const CustomLibraryColors = [\r\n\t\"#F1F5F9\",\r\n\t\"#FEE2E2\",\r\n\t\"#FCE7F3\",\r\n\t\"#FAE8FF\",\r\n\t\"#F3E8FF\",\r\n\t\"#DBEAFE\",\r\n\t\"#E0F2FE\",\r\n\t\"#CFFAFE\",\r\n\t\"#DCFCE7\",\r\n\t\"#FEF9C3\",\r\n\t\"#FFEDD5\",\r\n\t\"#E2E8F0\",\r\n\t\"#FECACA\",\r\n\t\"#FBCFE8\",\r\n\t\"#F5D0FE\",\r\n\t\"#E9D5FF\",\r\n\t\"#BFDBFE\",\r\n\t\"#BAE6FD\",\r\n\t\"#A5F3FC\",\r\n\t\"#BBF7D0\",\r\n\t\"#FEF08A\",\r\n\t\"#FED7AA\",\r\n\t\"#94A3B8\",\r\n\t\"#F87171\",\r\n\t\"#F472B6\",\r\n\t\"#E879F9\",\r\n\t\"#C084FC\",\r\n\t\"#60A5FA\",\r\n\t\"#38BDF8\",\r\n\t\"#22D3EE\",\r\n\t\"#4ADE80\",\r\n\t\"#FACC15\",\r\n\t\"#FB923C\",\r\n\t\"#334155\",\r\n\t\"#B91C1C\",\r\n\t\"#BE185D\",\r\n\t\"#A21CAF\",\r\n\t\"#7E22CE\",\r\n\t\"#1D4ED8\",\r\n\t\"#0369A1\",\r\n\t\"#0E7490\",\r\n\t\"#15803D\",\r\n\t\"#A16207\",\r\n\t\"#C2410C\",\r\n];\r\n\r\nexport const CustomizationColors = {\r\n\t\"#F3F4F6\": { backgroundColor: \"#F3F4F6\", color: \"#1E293B\", borderColor: \"#D1D5DB\", description: \"GREY\" },\r\n\t\"#FEE2E2\": { backgroundColor: \"#FEE2E2\", color: \"#991B1B\", borderColor: \"#FCA5A5\", description: \"RED\" },\r\n\t\"#FCE7F3\": { backgroundColor: \"#FCE7F3\", color: \"#9D174D\", borderColor: \"#F9A8D4\", description: \"PINK\" },\r\n \"#F3E8FF\": { backgroundColor: \"#F3E8FF\", color: \"#6B21A8\", borderColor: \"#D8B4FE\", description: \"PURPLE\" },\r\n \"#DBEAFE\": { backgroundColor: \"#DBEAFE\", color: \"#1E40AF\", borderColor: \"#93C5FD\", description: \"BLUE\" }, \r\n \"#DCFCE7\": { backgroundColor: \"#DCFCE7\", color: \"#166534\", borderColor: \"#86EFAC\", description: \"GREEN\" },\r\n\t\"#FEF9C3\": { backgroundColor: \"#FEF9C3\", color: \"#854D0E\", borderColor: \"#FDE047\", description: \"YELLOW\" },\r\n\t\"#FFEDD5\": { backgroundColor: \"#FFEDD5\", color: \"#9A3412\", borderColor: \"#FDBA74\", description: \"ORANGE\" },\r\n};\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { GenericButton } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nconst CreateNewItem = ({ create, renderItem, createLabel }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(createLabel)}\r\n\t\t\t\t\r\n\t\t\t\t{renderItem()}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nCreateNewItem.displayName = \"CreateNewItem\";\r\nexport default CreateNewItem;\r\n\r\nconst MenuItemContainer = styled.div`\r\n\theight: 32px;\r\n\twidth: 100%;\r\n\tpadding: 4px;\r\n\tdisplay: flex;\r\n align-items: center;\r\n\t:hover {\r\n\t\tborder-radius: 4px;\r\n\t\tbackground: #f5f5f5;\r\n\t}\r\n`;\r\n\r\nconst NewItemCreation = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 8px;\r\n`;\r\n","\r\nimport {\r\n closestCenter,\r\n DndContext,\r\n KeyboardSensor,\r\n MouseSensor,\r\n PointerSensor,\r\n useSensor,\r\n useSensors\r\n} from '@dnd-kit/core';\r\nimport {\r\n restrictToHorizontalAxis,\r\n restrictToVerticalAxis\r\n} from '@dnd-kit/modifiers';\r\nimport { useEffect, useState } from 'react';\r\ntype Props = {\r\n\r\n onDragEnd: (event: any) => void;\r\n children: React.ReactNode;\r\n orientation: string;\r\n\r\n}\r\nfunction ContextDnD({ onDragEnd, children, orientation }: Props) {\r\n const activationConstraint = orientation === 'horizontal' ? restrictToHorizontalAxis : restrictToVerticalAxis\r\n const [isDragging, setIsDragging] = useState(false);\r\n useScrollLock(isDragging, orientation);\r\n \r\n const mouseSensor = useSensor(MouseSensor, {\r\n activationConstraint,\r\n } as any);\r\n\r\n const sensors = useSensors(\r\n mouseSensor,\r\n useSensor(PointerSensor),\r\n useSensor(KeyboardSensor)\r\n );\r\n\r\n return (\r\n setIsDragging(true)}\r\n onDragEnd={(event: any) => {\r\n onDragEnd(event)\r\n setIsDragging(false)\r\n }}\r\n onDragCancel={() => setIsDragging(false)}\r\n modifiers={[activationConstraint]}\r\n >\r\n\r\n {children}\r\n \r\n )\r\n}\r\nfunction useScrollLock(isDragging: boolean, orientation: string) {\r\n useEffect(() => {\r\n const container = document.getElementById(\"swimlane_Container\");\r\n if (!container) return;\r\n\r\n const lastScrollLeft = container.scrollLeft;\r\n const lastScrollTop = container.scrollTop;\r\n\r\n const lockScroll = (event: Event) => {\r\n if (orientation === \"horizontal\") {\r\n container.scrollTop = lastScrollTop; // Prevent vertical scrolling\r\n } else {\r\n container.scrollLeft = lastScrollLeft; // Prevent horizontal scrolling\r\n }\r\n event.preventDefault();\r\n };\r\n\r\n if (isDragging) {\r\n if (orientation === \"horizontal\") {\r\n container.style.overflowY = \"hidden\"; // Disable vertical scrolling\r\n } else {\r\n container.style.overflowX = \"hidden\"; // Disable horizontal scrolling\r\n }\r\n \r\n container.addEventListener(\"wheel\", lockScroll, { passive: false });\r\n container.addEventListener(\"touchmove\", lockScroll, { passive: false });\r\n }\r\n\r\n return () => {\r\n if (container) {\r\n container.style.overflowY = \"\";\r\n container.style.overflowX = \"\";\r\n container.removeEventListener(\"wheel\", lockScroll);\r\n container.removeEventListener(\"touchmove\", lockScroll);\r\n }\r\n };\r\n }, [isDragging, orientation]);\r\n }\r\nexport default ContextDnD;","import { horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\r\n\r\ntype DroppableProps = {\r\n id? : string \r\n items: any[];\r\n orientation: 'horizontal' | 'vertical' | 'sorting' | 'swap';\r\n children: React.ReactNode;\r\n}\r\n\r\n function Droppable({ id, items, orientation, children }: DroppableProps) {\r\n let strategy = verticalListSortingStrategy;\r\n switch (orientation) {\r\n case 'horizontal':\r\n strategy = horizontalListSortingStrategy;\r\n break\r\n case 'vertical':\r\n strategy = verticalListSortingStrategy;\r\n break;\r\n case 'sorting':\r\n strategy = rectSortingStrategy;\r\n break;\r\n case 'swap':\r\n strategy = rectSwappingStrategy;\r\n break;\r\n }\r\n return \r\n {children}\r\n \r\n\r\n}\r\nexport default Droppable;","import { arrayMove } from '@dnd-kit/sortable';\r\nimport React from 'react';\r\nimport { handleAddRenderElement } from 'utils/helpers';\r\nimport ContextDnD from './components/Context';\r\nimport Droppable from './components/Droppable';\r\n\r\nexport type SetItemsProps = {\r\n newItems: any[];\r\n oldIndex: number;\r\n newIndex: number;\r\n}\r\n\r\ntype DragDropProps = {\r\n items: any[];\r\n children: (item: any) => React.ReactNode; // Change to function type\r\n setItems: ({ newItems, oldIndex, newIndex }: SetItemsProps) => void;\r\n orientation?: 'horizontal' | 'vertical' | 'sorting' | 'swap';\r\n showRenderElement?: boolean;\r\n\r\n}\r\nfunction DragDrop({ items, children, setItems, orientation = 'vertical', showRenderElement = false }: DragDropProps) {\r\n\r\n const handleDragEnd = (event: any) => {\r\n const { active, over } = event;\r\n if (over && active.id !== over.id) {\r\n const oldIndex = items.findIndex((item) => item.id === active.id);\r\n const newIndex = items.findIndex((item) => item.id === over.id);\r\n const newOrder = arrayMove(items, oldIndex, newIndex);\r\n setItems({ newItems: newOrder, oldIndex, newIndex });\r\n }\r\n\r\n };\r\n return \r\n \r\n {items.map((item) => (\r\n \r\n {children(item)}\r\n \r\n ))}\r\n {showRenderElement &&
{handleAddRenderElement(8000) as any}
}\r\n
\r\n\r\n
\r\n}\r\n\r\nexport default DragDrop;","import { addGroup, linkGroups, unlinkGroups } from \"@redux/index\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport CreateNewItem from \"shared/dropdowns/cx-dropdown/components/create-new-item\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport GroupComponent from \"shared/ui-basics/ui-components/group-component\";\r\n\r\nexport default function GroupDropdown({ object, setObject, recordType, link, unlink, menuListHeight, isOpen = false, isSwitchDisabled = false }) {\r\n\tconst allGroups = useSelector((state) => state.libraries.group) || [];\r\n\tconst linkedGroups = allGroups?.filter((group) => object?.groups?.includes(group.id)) || [];\r\n\r\n\tconst handleLink = (id) => {\r\n\t\tlinkGroups({ groupIds: [id], recordIds: [object.id], recordType: recordType });\r\n\t\tif (setObject) setObject({ ...object, groups: [...(object?.groups || []), id] });\r\n\t};\r\n\r\n\tconst handleUnlink = (id) => {\r\n\t\tunlinkGroups({ groupIds: [id], recordIds: [object.id], recordType: recordType });\r\n\t\tif (setObject) setObject({ ...object, groups: object.groups.filter((currId) => currId !== id) });\r\n\t};\r\n\r\n\tconst handleCreate = ({ input, clearInput, close }) => {\r\n\t\tclose();\r\n\t\taddGroup({\r\n\t\t\tnewGroup: {\r\n\t\t\t\tid: EMPTY_GUID,\r\n\t\t\t\tname: input,\r\n\t\t\t\tcolorCode: \"#64748B\",\r\n\t\t\t},\r\n\t\t\tonSuccess: (group) => {\r\n\t\t\t\tclearInput();\r\n\t\t\t\tif (link) link(group?.id);\r\n\t\t\t\telse handleLink(group?.id);\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst renderReadOnlyItems = () => (\r\n\t\t<>\r\n\t\t\t{linkedGroups?.map((group) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n\r\n\tconst params = {\r\n\t\tselected: linkedGroups,\r\n\t\toptions: allGroups,\r\n\t\tplaceholder: \"SEARCH_OR_CREATE\",\r\n\t\tmenuLabel: \"SELECT_OR_CREATE\",\r\n\t\trenderSelectedItem: (group) => (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t),\r\n\t\trenderMenuItem: ({ item }) => ,\r\n\t\tlinkMenuItem: link ? ({ item }) => link(item.id) : ({ item }) => handleLink(item.id),\r\n\t\tfilter: ({ query, option }) => {\r\n\t\t\tconst group = allGroups.find((g) => g.id === option?.id);\r\n\t\t\tif (group && !linkedGroups.map((lg) => lg?.id)?.includes(option?.id)) return group?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t\trenderCreateItem: ({ input, clearInput, close }) => (\r\n\t\t\t handleCreate({ input, clearInput, close })}\r\n\t\t\t\trenderItem={() => }\r\n\t\t\t\tcreateLabel=\"JS_87\"\r\n\t\t\t/>\r\n\t\t),\r\n\t\tmenuListHeight,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\nimport { getTaxonomyColorData } from \"utils/helpers\";\r\n\r\nexport default function PriorityItem({ priority, isEdit = undefined, handleRemove= undefined }) {\r\n\tif (!priority) return null;\r\n\r\n\tconst isUnlinkable = isEdit && handleRemove;\r\n\tconst handleUnlink = (e) => {\r\n\t\te?.stopPropagation();\r\n\t\thandleRemove(priority?.id);\r\n\t};\r\n\r\n\tconst { backgroundColor, color } = getTaxonomyColorData({ entity: \"priority\", colorCode: priority?.colorCode });\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n","import { useClickOutside } from \"shared/hooks/index\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nconst EditTitle = ({ setRename, obj, obj_id, obj_name, updateName, updateObject, setName, nameAttribute }) => {\r\n\tconst refwrapper = React.useRef(null);\r\n\tconst refFocus = React.useRef(null);\r\n\tconst dispatch = useDispatch();\r\n\tconst [originalName, setOrginalName] = useState(obj_name);\r\n\r\n\tuseEffect(() => {\r\n\t\trefFocus.current.focus();\r\n\t}, []);\r\n\r\n\tconst handleClickOutside = () => {\r\n\t\tupdateServer();\r\n\t\tsetRename(\"\");\r\n\t};\r\n\r\n\tuseClickOutside(refwrapper, handleClickOutside);\r\n\r\n\tconst update = (e) => {\r\n\t\tsetName(e.target.value.truncate(100));\r\n\t};\r\n\r\n\tconst updateServer = async () => {\r\n\t\tif (originalName === obj_name) return;\r\n\t\tconst newName = obj_name === \"\" ? \"[Name]\" : obj_name;\r\n\t\tsetName(newName);\r\n\r\n\t\tif (updateName) {\r\n\t\t\tconst { error } = await dispatch(updateName({ id: obj_id, name: newName }));\r\n\t\t\tif (error) {\r\n\t\t\t\ttoast.error(error);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (updateObject) {\r\n\t\t\tobj[nameAttribute] = newName;\r\n\t\t\tupdateObject(obj, [\"name\"]);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst EditTextWrapper = styled.input`\r\n\theight: 100%;\r\n\twidth: 100%;\r\n\tpadding: 5px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #f96209;\r\n\tbackground: rgba(249, 98, 9, 0.04);\r\n`;\r\n\r\nexport default EditTitle;\r\n","import { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { pictureValidationPersona } from \"@utils/helpers\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { FlexAlignCenter } from \"shared/ui-basics/index\";\r\nimport CustomTooltip from \"../../../shared/components/CustomTooltip\";\r\nimport * as Style from \"./Styles\";\r\n\r\nexport default function Personas(item, n = 1, size = 35, linkedAttribute=\"linkedPersonas\") {\r\n\tconst getPersonaIds = () => {\r\n if (item?.[linkedAttribute]?.length === 0) return [];\r\n\t\tif (typeof item?.[linkedAttribute]?.[0] === \"string\") return item?.[linkedAttribute];\r\n\t\treturn item?.[linkedAttribute]?.map((persona) => persona.personaId) || [];\r\n\t};\r\n\tconst personaIds = getPersonaIds();\r\n\tconst sessionId = useSelector(getSessionId);\r\n\r\n\tconst personaData = useSelector((state) => state.personas.all_personas?.filter((persona) => personaIds?.includes(persona?.personaId) && persona?.statusCode === StatusCode.Active) || []);\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\r\n\tconst listPersonas = (n) => {\r\n\t\treturn personaData?.slice(0, n).map((persona) => {\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{personaData?.length > 1 ? +{personaData?.length - 1} : null}\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t});\r\n\t};\r\n\r\n\treturn {listPersonas(1)};\r\n}\r\n","import { Label } from \"shared/ui-basics/index\";\r\nimport { widthValidation } from \"@utils/helpers\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport Moment from \"react-moment\";\r\nimport { DropdownToggle } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const CustomerFeedbackContainer = styled.div`\r\n\twidth: ${(props) => widthValidation(props.width)}px;\r\n\tmargin-right: 8px;\r\n\t#fbData {\r\n\t\tvisibility: hidden;\r\n\t}\r\n\t:hover #fbData {\r\n\t\tvisibility: visible;\r\n\t}\r\n`;\r\nexport const CustomerFeedbackHeaderWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items:center;\r\n\twidth:100%;\r\n`;\r\nexport const CustomerFeedbackCardWrapper = styled.div`\r\n\tpadding: 1rem;\r\n\tmin-height: 112px;\r\n\tborder-radius: 4px;\r\n\tborder:${props => props.open ? '1px solid #333333':'1px solid #efefef'};\r\n\tposition: relative;\r\n\t:hover .drop-actions {\r\n\t\tvisibility: visible;\r\n\t}\r\n :hover {\r\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.15);\r\n\t}\r\n`;\r\nexport const CustomerFeedbackBodyWrapper = styled.div`\r\n\tcursor: pointer;\r\n\tdisplay: flex;\r\n\tpadding-top:1rem;\r\n`;\r\nexport const IconPosition = styled.div`\r\n\tposition: relative;\r\n\ttop: 0px;\r\n\tright: 12px;\r\n\tz-index: 3;\r\n\twidth: 1px;\r\n`;\r\nexport const TouchPointImage = styled.img`\r\n\twidth: 18px;\r\n\theight: 18px;\r\n\t/* margin-left: 8px; */\r\n\tmargin-right: 8px;\r\n`;\r\n\r\nexport const ImgWrapper = styled.img`\r\n\theight: 20px;\r\n`;\r\n\r\nexport const LabelWrapper = styled(Label)`\r\n\t/* font-style: italic; */\r\n\t/* color:#C4C4C4; */\r\n\tfont-size: 12px;\r\n`;\r\nexport const LabelNonData = styled(Label)`\r\n\tcolor: #333333;\r\n\t${(props) => props.isbold === \"true\" && `font-weight:600;`};\r\n`;\r\nexport const MomentWrapper = styled(Moment)`\r\n\tfont-size: 12px;\r\n\t/* font-style: italic; */\r\n\tcolor: #262626;\r\n\tline-height: 12px;\r\n`;\r\nexport const ColTextEnd = styled(Col)`\r\n\ttext-align: end;\r\n`;\r\nexport const DivWrapper = styled.div`\r\n\theight: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tpath {\r\n\t\tfill: #c4c4c4;\r\n\t}\r\n\tsvg {\r\n\t\theight: 32px;\r\n\t}\r\n`;\r\nexport const Actions = styled.div`\r\n\t#showIcon {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: start;\r\n\t}\r\n\t.drop-actions {\r\n\t\tvisibility: hidden;\r\n\t}\r\n\r\n`;\r\nexport const WrapperDropdownToggle = styled(DropdownToggle)`\r\n\theight: 36px;\r\n\tbackground-color: transparent !important;\r\n\tcolor: #605f60 !important;\r\n\tfont-size: 14px;\r\n\t:hover {\r\n\t\tcolor: #605f60 !important;\r\n\t\tbackground-color: #efefef !important;\r\n\t}\r\n`;\r\nexport const Logo = styled.div`\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\tborder: 1px solid #262626;\r\n\tborder-radius: 50%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n background-color: ${({color}) => color};\r\n`;","import { genericService } from \"shared/GenericService\";\r\nimport { constructUrl } from \"@utils/helpers\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n return ({ type, endPoint, data, responseType, params, meta }) => ({\r\n type,\r\n request: {\r\n url: baseUrl + endPoint,\r\n method,\r\n data,\r\n responseType,\r\n },\r\n meta,\r\n params,\r\n });\r\n};\r\nconst createPostAction = InitActionCreator({ baseUrl: \"api/settings/\", method: \"POST\" }); // api actions type post\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/settings/\", method: \"GET\" }); // api actions type get\r\n\r\nexport const getSubscriptionDetails = () => createGetAction({ type: 'GET_SUBSCRIPTION_DETAILS', endPoint: \"getSubscriptionDetails\" })\r\nexport const getSubscriptionConfig = () => createGetAction({ type: 'GET_CONFIGURATIONS', endPoint: \"getSubscriptionConfig\" })\r\nexport const getOrganizationSettings = (props) => createGetAction({\r\n type: 'GET_ORGANIZATION_SETTINGS',\r\n endPoint: constructUrl(\"getOrganizationSettings\", {\r\n redirectReducer: props?.redirectReducer\r\n })\r\n})\r\nexport const getOrganizationFn = (props) => genericService({ ...props, action: getOrganizationSettings });\r\n\r\nexport const updateAccountSettings = ({ newLangValue, newShowSampleValue, ...props }) => genericService({\r\n ...props, action: createPostAction({\r\n type: \"UPDATE_ACCOUNT_SETTINGS\",\r\n endPoint: \"updateAccountSettings\",\r\n data: { newLangValue, newShowSampleValue }\r\n })\r\n});\r\n\r\nexport const uploadAccountImage = ({ imageExtension, imageBody64, ...props }) => genericService({\r\n ...props, action: createPostAction({\r\n type: \"UPDATE_ACCOUNT_IMAGE\",\r\n endPoint: \"uploadAccountImage\",\r\n data: {imageExtension, imageBody64 }\r\n })\r\n});\r\n\r\nexport const deleteAccountImage = ({...props }) => genericService({\r\n ...props, action: createPostAction({\r\n type: \"DELETE_ACCOUNT_IMAGE\",\r\n endPoint: \"deleteAccountImage\",\r\n })\r\n});\r\n\r\nexport const updateIntegrationCredentials = ({id, mode, password, url, ...props }) => genericService({\r\n ...props, action: createPostAction({\r\n type: \"UPDATE_INTEGRATION_CREDENTIALS\",\r\n endPoint: \"verifyAndUpdateIntegrationCredentials\",\r\n data: {\r\n IntegrationPassword: window.btoa(unescape(encodeURIComponent(password))),\r\n IntegrationUserName: id,\r\n OrganizationName: url,\r\n IntegrationMode: mode,\r\n }\r\n })\r\n});\r\n\r\nexport const updateQuery = (type, queryInfo) => ({ type: 'UPDATE_QUERY', payload: { type, queryInfo }})\r\n\r\nexport const aiAgreementPolicy = (props) => genericService({\r\n ...props, action: createPostAction({\r\n type: \"AGREEMENT_POLICY\",\r\n endPoint: \"consentAI\",\r\n data: {\r\n newValue: props.value\r\n }\r\n })\r\n});\r\n\r\nexport const enableAlex = (props) => genericService({\r\n ...props, action: createPostAction({\r\n type: \"ENABLE_ALEX\",\r\n endPoint: \"enableAI\",\r\n data: {\r\n newValue: props.enable\r\n }\r\n })\r\n});","import CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { COLORS, FlexAlignCenter, IconDispatcher } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components\";\r\nimport WorkspaceLogo from \"./workspace-logo\";\r\nimport React from \"react\";\r\nimport { findFirstAlphabeticalCharacter } from \"@utils/helpers\";\r\n\r\nconst WorkspaceLogoAndName = React.forwardRef(({ workspace, primaryAction, secondaryAction, icon, size = \"m\", nameWidth, iconTooltip, isDisabled = false }, ref) => {\r\n\tconst handlePrimaryAction = () => {\r\n\t\tif (!primaryAction || isDisabled) return;\r\n\t\tprimaryAction();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{workspace?.name}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{icon && secondaryAction && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(icon)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n});\r\n\r\nWorkspaceLogoAndName.displayName = \"WorkspaceLogoAndName\";\r\nexport default WorkspaceLogoAndName;\r\n\r\nconst Container = styled.div`\r\n\theight: 100%;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tcursor: pointer;\r\n\tborder-radius: 4px;\r\n\r\n\t${(props) =>\r\n\t\t!props.isDisabled &&\r\n\t\tcss`\r\n\t\t\t:hover {\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n\theight: 100%;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tpadding: 4px;\r\n`;\r\n\r\nconst WorkspaceName = styled.div`\r\n\theight: 100%;\r\n\tmax-width: 180px;\r\n\ttext-align: left;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tline-height: normal;\r\n\tfont-size: 14px;\r\n\t${(props) =>\r\n\t\tprops.namewidth &&\r\n\t\tcss`\r\n\t\t\twidth: ${props.namewidth}px;\r\n\t\t\tmax-width: ${props.namewidth}px;\r\n\t\t`}\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\twidth: 24px;\r\n\theight: 24px;\r\n`;\r\n","import { t } from \"i18next\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { useRef } from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { IconDispatcher } from \"../Icons\";\r\nimport { GenericButton } from \"../ui-basics/buttons\";\r\nexport const ActionPopOver = ({ actions, ...props }) => {\r\n\tconst refOver = useRef();\r\n\tconst onHandleClick = (e, action) => {\r\n\t\trefOver.current.toggle(e);\r\n\t\taction.handleClick(e);\r\n\t};\r\n\treturn (\r\n\t\t<>\r\n\t\t\t refOver.current.toggle(e)}\r\n\t\t\t\tdisabled={props.disabled}>\r\n\t\t\t\t{t(props.label ?? \"ADD_SECTION\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{actions?.map((action, index) => {\r\n\t\t\t\t\tif (action?.divider) return ;\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tonHandleClick(e, action);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tdisabled={action.disabled ? action.disabled : false}>\r\n\t\t\t\t\t\t\t{action.customItem ? (\r\n\t\t\t\t\t\t\t\taction.customItem\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{action.icon && }\r\n\t\t\t\t\t\t\t\t\t{action.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst DropdownWrapper = styled.div`\r\n\tpadding: 0.25rem 1rem;\r\n\tfont-size: 14px;\r\n\t:hover {\r\n\t\tbackground-color: #e4e7f1;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled\r\n\t\t\t? css`\r\n\t\t\t\t\tpointer-events: none;\r\n\t\t\t\t\topacity: 0.5;\r\n\t\t\t\t\tcursor: not-allowed;\r\n\t\t\t `\r\n\t\t\t: \"\"}\r\n`;\r\n\r\nconst ActionTextWrapper = styled.div`\r\n\twhite-space: nowrap;\r\n`;\r\n\r\nconst ActionWrapper = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst ActionIcon = styled.div`\r\n\tmin-width: 30px;\r\n\tpadding: 4px;\r\n\ttext-align: center;\r\n\talign-self: center;\r\n\tjustify-content: center;\r\n\tmargin-right: 0.5rem !important;\r\n`;\r\n\r\nconst OverlayPanelWrapper = styled(OverlayPanel)`\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0;\r\n\t}\r\n`;\r\n\r\nconst Divider = styled.div`\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n`;\r\n","export const getPrompt = {\r\n PERSONA_SECTION: ({ cardName, personaName, occupation, age, gender, originalContent }) => `Base on the persona ${personaName} and the section ${cardName}, as a CX expert I want to generate a text that will help me to fill the section ${cardName} with relevant content. Details on Persona: Name:${personaName} , profession: ${occupation}, age: ${age} Gender:${gender}. you're response should be to the point and not more than 200 words. Do not mention that you're a CX expert. if the ${cardName} is for example Interest, provide straight the interest of the persona. if the ${cardName} is for example Frustrations, provide straight the frustrations of the persona. ${originalContent ? `Here is the original content you can be inspired about ${originalContent}` : ''} [End].`,\r\n PERSONA_CREATION_EXTRACT_DETAILS: ({ prompt }) => {\r\n return `Analyze the given text: \"${prompt}\".\r\n Your task is to identify and extract specific details for the creation of persona as a CX professional, including the person's name, age, profession, gender, language, context, and location.\r\n Use the provided text to determine the \"Language\" field, and infer the gender based on the name, defaulting to \"Man\", \"Woman\", or \"Other\" if the gender is not explicitly mentioned or cannot be inferred.\r\n For any missing information, use \"Unknown\". Structure your response in JSON format.\r\n\r\n Note: The \"Language\" field should represent the language in which the text is written.\r\n The \"Context\" field should represent the situation or activity the person is involved in.\r\n\r\n Example input:\r\n \"Robert Makerson is a Marketing manager taking a bank loan. He is 35 years old, he lives in New York.\"\r\n\r\n Expected output in a variable:\r\n {\r\n \"name\": \"Robert Makerson\",\r\n \"age\": \"35\",\r\n \"profession\": \"Marketing Manager\",\r\n \"gender\": \"Man\",\r\n \"language\": \"English\",\r\n \"context\": \"Taking a Bank Loan\",\r\n \"location\": \"New York\"\r\n };\r\n\r\n Example input:\r\n \"Sarah is a hospital purchase manager buying medical equipment. She is 28 years old and lives in Paris.\"\r\n\r\n Expected output in a variable:\r\n {\r\n \"name\": \"Sarah\",\r\n \"age\": \"28\",\r\n \"profession\": \"Hospital Purchase Manager\",\r\n \"gender\": \"Woman\",\r\n \"language\": \"English\",\r\n \"context\": \"Buying Medical Equipment\",\r\n \"location\": \"Paris\"\r\n };\r\n\r\n Example input:\r\n \"Jennifer london 26 product manager\"\r\n Expected output in a variable:\r\n {\r\n \"name\": \"Jennifer\",\r\n \"age\": \"26\",\r\n \"profession\": \"Product manager\",\r\n \"gender\": \"Woman\",\r\n \"language\": \"English\",\r\n \"context\": \"Unknown\",\r\n \"location\": \"London (UK)\"\r\n };\r\n\r\n\r\n Ensure each field is accurately captured in the JSON structure: name, age, profession, gender, language, context, and location. If any detail is not mentioned, represent it with \"Unknown\".`\r\n },\r\n\r\n PERSONA_SECTION_TEXT: ({ cardName, personaName, occupation, age, gender, originalContent, language = 'English' }) => `Given the persona details and a section title, generate concise, relevant content tailored to the specified section for the persona. The response should be direct and under 200 words, closely fitting the theme of the section.\r\n\r\n **Persona Details:**\r\n - Name: ${personaName}\r\n - Profession: ${occupation}\r\n - Age: ${age}\r\n - Gender: ${gender}\r\n\r\n **Section Title:** ${cardName}\r\n\r\n **Original Content for Inspiration (if available):** ${originalContent ? `\"${originalContent}\"` : \"Not provided\"}\r\n **Your response has to be in ${language}:**\r\n\r\n **Guidance with Examples:**\r\n - Tailor your response to directly fit the section's theme. For instance:\r\n - If the section is \"Interests\", directly list the persona's interests.\r\n - If the section is \"Frustrations\", directly outline the persona's frustrations.\r\n - The aim is to fill the section with content that is immediately relevant and useful, avoiding unnecessary introductions or conclusions.\r\n\r\n Please craft your response with the above persona details and guidance in mind, ensuring it adheres to the word limit and directly addresses the section's theme.\r\n\r\n `,\r\n PERSONA_SECTION_TEXT_GROUP: ({ cardName, personaName, occupation, age, originalContent, language = 'English' }) => `Given the persona details and a section title, generate concise, relevant content tailored to the specified section for the persona. The response should be direct and under 200 words, closely fitting the theme of the section.The Persona represent a group of people.\r\n\r\n **Persona Details:**\r\n - Title: ${personaName}\r\n - Profession: ${occupation}\r\n - Age: ${age}\r\n\r\n **Section Title:** ${cardName}\r\n\r\n **Original Content for Inspiration (if available):** ${originalContent ? `\"${originalContent}\"` : \"Not provided\"}\r\n **Your response has to be in ${language}:**\r\n\r\n **Guidance with Examples:**\r\n - Tailor your response to directly fit the section's theme. For instance:\r\n - If the section is \"Interests\", directly list the persona's interests.\r\n - If the section is \"Frustrations\", directly outline the persona's frustrations.\r\n - The aim is to fill the section with content that is immediately relevant and useful, avoiding unnecessary introductions or conclusions.\r\n\r\n Please craft your response with the above persona details and guidance in mind, ensuring it adheres to the word limit and directly addresses the section's theme.\r\n\r\n `,\r\n PERSONA_SECTION_LIST_ITEM: ({ cardName, personaName, occupation, age, gender, language = 'English', existingItems }) => `Given the persona details, generate a single, concise section of content tailored specifically for the persona. This content should be relevant, direct, and under 50 words per item, aligning closely with the section's theme. Provide 3 to 5 items for this section.\r\n\r\n\r\n ${cardName !== \"\" && ` Determine whether ${cardName} leans more towards a professional or personal theme. If personal, base items more on age and gender; if professional, focus items on the profession.`}\r\n\r\n ${existingItems && `Here are the existing items for the section: \\n ${existingItems} \\n do not repeat the existing items. use them as inspiration to generate new items.`}\r\n **Persona Details:**\r\n - Name: ${personaName}\r\n - Profession: ${occupation}\r\n - Age: ${age}\r\n - Gender: ${gender}\r\n\r\n **Section Title:** ${cardName ? cardName : 'Suggest a section title based on the details provided.'}\r\n\r\n Your response must be in ${language}.\r\n\r\n **Guidance with Examples:**\r\n - Your response should be directly in line with the section's theme. For instance, if suggesting a \"List of Interests,\" list the persona's interests like so:\r\n { title: \"Interests\", items: [\"Interest 1\", \"Interest 2\", \"Interest 3\"] }\r\n\r\n\r\n The objective is to fill the section with immediately relevant and useful content, avoiding superfluous introductions or conclusions. With the persona details and this guidance in mind, craft your response to adhere to the word limit while directly addressing the section's theme.\r\n\r\n `,\r\n PERSONA_SECTION_RATING: ({ cardName, personaName, occupation, age, gender, language = 'English', existingItems }) =>\r\n `Please generate a unique and insightful Rating section for the given persona, focusing on both common and uncommon professional qualities. Include 3 to 5 ratings, each named creatively with a numerical rating from 0 to 5.\r\n\r\n ${cardName.isEmptyString() && \"generate a random creative section title that relates to the Persona Details. This could be professional (related to their profession) or personal (like Personal Interests), formatted as **Section Title: [title]**, with items pertinent to the suggested title.\"}\r\n ${!cardName.isEmptyString() && `Determine whether ${cardName} leans more towards a professional or personal theme. Based on ${cardName}, generate rating items that are directly related to the theme, emphasizing aspects relevant to ${occupation}, age, or gender. Format the items as: - [rating label]:[numerical rating]\\n`}\r\n\r\n -The response must be written in ${language ?? 'English'}, not surpass 200 words, and follow this structure: '- [rating label]:[numerical rating]'. Do not return any description or details.\r\n -Ensure a new line for each item.\r\n ${existingItems ? `Here are the existing items for the section: \\n ${existingItems} \\n Do not repeat the existing items. Use them as inspiration to generate new items.` : \"\"}\r\n\r\n **Persona Details:**\r\n\r\n - Name: ${personaName}\r\n - Profession: ${occupation}\r\n - Age: ${age}\r\n - Gender: ${gender}\r\n - Language: ${language}\r\n\r\n **Section Title:** ${cardName || 'Generate a random creative section title. and provide the items based on the title.'}\r\n\r\n Base the ratings on unique insights derived from the persona's profile and the section's theme, ensuring that the ratings are both relevant and insightful.\r\n ** Format:**\r\n {title: \"[Section Title]\", items: [\"Rating Label 1: Numerical Rating\", \"Rating Label 2: Numerical Rating\", \"Rating Label 3: Numerical Rating\"]}\r\n\r\n\r\n ${!cardName.isEmptyString() && `Example Rating for \"Lifestyle and Values\":\r\n {title: \"Lifestyle and Values\", items: [\"Health and Wellness Concern: 4\", \"Environmental Consciousness: 3\", \"Value on Work-Life Balance: 3\", \"Interest in Continuous Learning: 5\"]}`\r\n }\r\n}\r\n\r\n ${cardName.isEmptyString() && `Example rating with Section title Not provided:\r\n {title: \"Digital Experience\", items: [\"Website Navigation Ease: 4\", \"Online Support Accessibility: 3\", \"Digital Engagement: 3\"]}`\r\n }\r\n\r\n\r\n\r\n Focus on revealing the persona's distinctive professional strengths and areas for development, omitting generic introductions or conclusions.\r\n `,\r\n\r\n PERSONA_SECTION_SLIDER: ({ cardName, personaName, occupation, age, gender, language, existingItems }) => `\r\n Please generate a focused and pertinent Slider section for the specified persona, highlighting essential qualities within their professional sphere. Include 3 to 5 slider items, each with a minLabel, maxLabel, and a numerical rating from 0 to 10.\r\n\r\n ${cardName.isEmptyString() && \"generate a random creative section title that relates to the Persona Details. This could be professional (related to their profession) or personal (like Personal Interests), formatted as **Section Title: [title]**, with items pertinent to the suggested title.\"}\r\n\r\n -The response must be written in ${language ?? 'English'}, not surpass 200 words, and follow this structure: '- [minLabel]:[numerical rating]:[maxLabel]'. Do not return any description or details.\r\n -Ensure a new line for each slider item.\r\n\r\n ${!cardName.isEmptyString() && `Determine whether ${cardName} leans more towards a professional or personal theme. Based on ${cardName}, generate slider items that are directly related to the theme, emphasizing aspects relevant to ${occupation}, age, or gender. Format the items as: - [minLabel]:[numerical rating]:[maxLabel]\\n`}\r\n\r\n ${existingItems ? `Here are the existing items for the section: \\n ${existingItems} \\n Do not repeat the existing items. Use them as inspiration to generate new items.` : \"\"}\r\n\r\n Persona Details:\r\n\r\n -Name: ${personaName}\r\n -Profession: ${occupation}\r\n -Age: ${age}\r\n -Gender: ${gender}\r\n -Language: ${language}\r\n\r\n **Section Title: ${cardName || 'Not provided'}**\r\n\r\n The slider items should be closely related to the theme of the Section Title provided.\r\n\r\n **Guidance with Examples:**\r\n - If the section is \"Personality,\" generate items that reflect the persona's personality traits.\r\n - If the section is \"Brand Engagement,\" generate items that reflect the persona's brand engagement levels.\r\n - If the section is \"Value Proposition,\" generate items that reflect the persona's value proposition preferences.\r\n - If the section is \"Customer Engagement,\" generate items that reflect the persona's customer engagement levels.\r\n ** Format:**\r\n ${cardName.isEmptyString() && `**Section Title: [Title]**`}\r\n - [minLabel]:[numerical rating]:[maxLabel]\r\n\r\n\r\n ${!cardName.isEmptyString() && `Example Slider for \"Brand Engagement\":\r\n {title: \"Brand Engagement\", items: [\"Brand Indifferent: 3: Brand Advocate\", \"Low Brand Awareness: 2: High Brand Awareness\", \"Price Driven: 6: Value Driven\", \"Sporadic Engagement: 5: Consistent Engagement\"]}`\r\n }\r\n\r\n\r\n ${cardName.isEmptyString() && `Example Slider for with Section title Not provided:\r\n {title: \"Personality\", items: [\"Introvert: 3: Extrovert\", \"Pessimist: 2: Optimist\", \"Negative: 3: Positive\", \"Emotional: 4: Rational\"]}`\r\n }\r\n\r\n`,\r\n PERSONA_SECTION_IMAGE: ({ cardName }) => `\r\n Generate a realistic and detailed image that embodies the concept of '${cardName}' in its most quintessential form. This image should focus on a single scene or object that best represents the essence and direct interpretation of the title, without abstract elements or symbolic interpretations. Aim for clarity and precision in the depiction, highlighting the key features, environment, or aspects that are universally associated with the '${cardName}.' The visual should provide an immediate and clear understanding of the title, serving as a definitive visual representation that can be easily recognized and appreciated for its direct connection to the subject matter\r\n `,\r\n\r\n CJM_STAGE_DESCRITION: ({ stageName, mapName, language }) => `Generate a description for the ${stageName} stage for the journey map named ${mapName}. response in ${language} language. response in JSON Format {\"description\": \"Your concise examples of ${stageName} description in HTML format\"} `,\r\n CJM_STAGE_DESCRIPTION_IMAGE: ({ stageName }) => `create a very simple image of a real person that represent the ${stageName} stage. The image should be simple, iconic and easy to understand. and should be with a white theme fitable with different step.\r\n `,\r\n CJM_TEXT_SWIMLANES: ({ stageName, mapName, language, swimlanesName }) => `\r\n Generate examples or insights for a customer experience (CX) journey map. Focus on a specific stage and swimlane. Provide the information in bullet points or a paragraph, as expected by a CX professional.\r\n The response should be labeled \"description\" and begin directly with relevant content, without introductory sentences.\r\n Use concise language and ensure the response is under 200 words, contained within the \"description\" attribute.\r\n\r\n - Target subject : ${swimlanesName}\r\n - Stage name: ${stageName}\r\n - Map name: ${mapName}\r\n - Language for the response: ${language}\r\n\r\n ** Requirement:**\r\n - Do not repeat the Stage name and the Map name in the response.\r\n - response in JSON Format as follows: {\"description\": \"Your concise examples of ${swimlanesName} or insights here in a bullet point or paragraph format using in HTML format.\"}\r\n\r\n `,\r\n CJM_TOUCHPOINTS: ({ stageName, mapName, existingTouchpoints }) => `Generate a list of touchpoints for the '${stageName}' stage in the journey map called '${mapName}'.\r\n pick between 2 - 5 the relevant one in the following list ${existingTouchpoints}.it has to relevant to the stage and the map. if none of the touchpoints are relevant, generate new ones.\r\n return straight {touchpoints: [your response]}.`,\r\n CJM_OPP_FROM_INSIGHT: ({\r\n stageName,\r\n mapName,\r\n language,\r\n insightName,\r\n insightType,\r\n touchpointName,\r\n interactionDescription,\r\n mapDescription,\r\n existingItems\r\n }) => `\r\n Generate 3 actionable CX opportunities based on the insight '${insightName}' (${insightType}) within the '${stageName}' stage of the journey map '${mapName}'.\r\n \r\n **Definition of an Opportunity:** \r\n An opportunity is a concrete improvement or innovation that enhances the customer experience by addressing pain points, unmet needs, or gaps in the current journey. Each opportunity should be **directly linked to the insight** and **provide a clear, actionable path for enhancement**.\r\n \r\n **Key Context:** \r\n - Persona's interaction: '${interactionDescription}' \r\n - Touchpoints involved: '${touchpointName}' \r\n - Map overview: '${mapDescription}' \r\n - The response should align with the persona’s needs and expectations. \r\n \r\n **Format:** \r\n Respond in **concise JSON format** (under 300 words), following this structure: \r\n \\`\\`\\`json\r\n {\r\n \"items\": [\r\n { \"title\": \"Opportunity name 1\", \"description\": \"Description of opportunity 1\" },\r\n { \"title\": \"Opportunity name 2\", \"description\": \"Description of opportunity 2\" },\r\n { \"title\": \"Opportunity name 3\", \"description\": \"Description of opportunity 3\" }\r\n ]\r\n }\r\n \\`\\`\\`\r\n \r\n ${existingItems ? `Ensure that the generated opportunities are **completely different** from these existing items: ${existingItems}` : \"\"}\r\n \r\n **Language:** Respond in '${language}'.\r\n `,\r\n CJM_SOL_FROM_INSIGHT: ({\r\n stageName,\r\n mapName,\r\n language,\r\n insightName,\r\n insightType,\r\n touchpointName,\r\n interactionDescription,\r\n mapDescription,\r\n existingItems\r\n }) => `\r\n Generate **3 actionable CX solutions** based on the insight '${insightName}' (${insightType}) within the '${stageName}' stage of the journey map '${mapName}'.\r\n \r\n **Definition of a Solution:** \r\n A solution is a specific action, tool, or change designed to **address an identified opportunity**. It is the implementation of a strategy to resolve a problem, enhance customer experience, or meet an unmet need. Each solution must be **directly linked to the insight** and provide a **clear, actionable path** for improvement.\r\n \r\n **Key Context:** \r\n - **Persona's Interaction:** '${interactionDescription}' \r\n - **Touchpoints Involved:** '${touchpointName}' \r\n - **Journey Map Overview:** '${mapDescription}' \r\n - **Align with the persona’s needs and expectations.** \r\n \r\n **Response Format (JSON):** \r\n Each solution should be **detailed, structured, and formatted in HTML** for better readability. \r\n \r\n \\`\\`\\`json\r\n {\r\n \"items\": [\r\n {\r\n \"title\": \"Solution 1 (e.g., 'Personalized Recommendations')\",\r\n \"description\": \"Provide a clear and structured explanation in HTML format (around 150 words), focusing on benefits, implementation, and impact on CX.\",\r\n \"CustomerAffected\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"CustomerBenefit\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"PotentialRevenueIncrease\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImproveBrandImage\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationCost\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationComplexity\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationEffort\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationTime\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"people\": { \"description\": \"Who will be affected and how? Provide a clear explanation in HTML format.\" },\r\n \"process\": { \"description\": \"What step changes are needed? Provide a clear explanation in HTML format.\" },\r\n \"technology\": { \"description\": \"What upgrades or swaps are needed? Provide a clear explanation in HTML format.\" },\r\n \"values\": { \"description\": \"How will this improve the experience or add value? Provide a clear explanation in HTML format.\" },\r\n \"keymetrics\": { \"description\": \"What key metrics will be impacted? Use bullet points in HTML format.\" }\r\n },\r\n {\r\n \"title\": \"Solution 2 (e.g., 'Automated Support System')\",\r\n \"description\": \"Provide a clear and structured explanation in HTML format (around 150 words), focusing on benefits, implementation, and impact on CX.\",\r\n \"CustomerAffected\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"CustomerBenefit\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"PotentialRevenueIncrease\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImproveBrandImage\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationCost\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationComplexity\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationEffort\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationTime\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"people\": { \"description\": \"Who will be affected and how? Provide a clear explanation in HTML format.\" },\r\n \"process\": { \"description\": \"What step changes are needed? Provide a clear explanation in HTML format.\" },\r\n \"technology\": { \"description\": \"What upgrades or swaps are needed? Provide a clear explanation in HTML format.\" },\r\n \"values\": { \"description\": \"How will this improve the experience or add value? Provide a clear explanation in HTML format.\" },\r\n \"keymetrics\": { \"description\": \"What key metrics will be impacted? Use bullet points in HTML format.\" }\r\n },\r\n {\r\n \"title\": \"Solution 3\",\r\n \"description\": \"Provide a clear and structured explanation in HTML format (around 150 words), focusing on benefits, implementation, and impact on CX.\",\r\n \"CustomerAffected\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"CustomerBenefit\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"PotentialRevenueIncrease\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImproveBrandImage\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationCost\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationComplexity\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationEffort\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"ImplementationTime\": { \"rate\": \"1 (low) to 5 (high)\" },\r\n \"people\": { \"description\": \"Who will be affected and how? Provide a clear explanation in HTML format.\" },\r\n \"process\": { \"description\": \"What step changes are needed? Provide a clear explanation in HTML format.\" },\r\n \"technology\": { \"description\": \"What upgrades or swaps are needed? Provide a clear explanation in HTML format.\" },\r\n \"values\": { \"description\": \"How will this improve the experience or add value? Provide a clear explanation in HTML format.\" },\r\n \"keymetrics\": { \"description\": \"What key metrics will be impacted? Use bullet points in HTML format.\" }\r\n }\r\n ]\r\n }\r\n \\`\\`\\`\r\n \r\n **Response Guidelines:** \r\n - Ensure the **\"description\"** is structured in HTML format (bold, italic, underline, bullet points, and numbered lists where relevant). \r\n - Each solution should be **around 150 words** to provide sufficient detail. \r\n - If **existing solutions** are provided, generate **completely different solutions** from: ${existingItems ? existingItems : \"None\"}. \r\n \r\n **Language:** Respond in '${language}'.\r\n `,\r\n CJM_OPP: ({\r\n language, mapName, mapDescription, stageName, allRelatedInsights, allRelatedTouchpoints, relatedOpportunities, relatedSolutions\r\n }) => `You are a Customer Experience (CX) Strategist specializing in creating innovative opportunities for customer journey maps. Based on the following data, generate 3 specific and actionable CX opportunities for the stage \"${stageName}\" in the journey map \"${mapName}\". \r\n\r\n**Context:**\r\n- **Journey Map Description:** ${mapDescription || \"No description provided\"}\r\n- **Stage Name:** ${stageName}\r\n- **Insights:** ${allRelatedInsights?.length > 0 ? allRelatedInsights.map(i => `[${i.type}] ${i.name}`).join(', ') : \"No insights available\"}\r\n- **Touchpoints:** ${allRelatedTouchpoints?.length > 0 ? allRelatedTouchpoints.join(', ') : \"No touchpoints mapped\"}\r\n- **Existing Opportunities:** ${relatedOpportunities?.length > 0 ? relatedOpportunities.join(', ') : \"No existing opportunities defined\"}\r\n\r\n---\r\n\r\n### **Requirements:**\r\n1. Generate **3 opportunities** in JSON format.\r\n2. Each opportunity must be in ${language} and must include:\r\n - **title**: A short, descriptive name for the opportunity.\r\n - **description**: A **detailed** explanation of the opportunity in **rich HTML format**, structured as follows:\r\n - A **clear summary** of the opportunity and why it matters.\r\n - **Key benefits** for both the customer and the business.\r\n - **How it relates to a specific touchpoint** (if touchpoints are provided). This touchpoint **must match the value in relatedTouchpoint**.\r\n - **How it addresses a specific insight** (if insights are provided). This insight **must match the value in relatedInsight**.\r\n - A **structured list** (bullet points or numbered steps) when necessary for clarity.\r\n - **customerValue**: A grade from 1 to 5 indicating the expected value to the customer (1 = low, 5 = high).\r\n - **businessValue**: A grade from 1 to 5 indicating the expected value to the business (1 = low, 5 = high).\r\n\r\n3. **Data Consistency Rules:**\r\n - Each opportunity **must relate to exactly one touchpoint** and **one insight** if available.\r\n - The **touchpoint mentioned in the description must match the value of relatedTouchpoint**.\r\n - The **insight mentioned in the description must match the value of relatedInsight**.\r\n - Ensure that insights and touchpoints are **not arbitrarily assigned but derived from the description**.\r\n\r\n4. **Conditional Fields:** \r\n - Include \"relatedTouchpoint\" in the response only if touchpoints are provided in the context (i.e., touchpoints is not empty). \r\n - Include \"relatedInsight\" in the response only if insights are provided in the context (i.e., insights is not empty). \r\n\r\n---\r\n\r\n### **Output Format:**\r\nReturn the opportunities as a JSON array with the following structure:\r\n{\r\n \"items\": [\r\n {\r\n \"title\": \"Opportunity 1\",\r\n \"description\": \"

Overview: Detailed explanation of the opportunity.

\r\n

Key Benefits:

\r\n
    \r\n
  • Improves customer engagement by...
  • \r\n
  • Reduces friction at the touchpoint...
  • \r\n
  • Enhances business efficiency by...
  • \r\n
\r\n

Connection to Touchpoint: This solution improves the 'Touchpoint A' experience by...

\r\n

Connection to Insight: Addresses '[Insight Type] Insight Name' by...

\",\r\n \"customerValue\": 4,\r\n \"businessValue\": 5,\r\n \"relatedTouchpoint\": \"Touchpoint A\",\r\n \"relatedInsight\": \"[Insight Type] Insight Name\"\r\n },\r\n {\r\n \"title\": \"Opportunity 2\",\r\n ...\r\n },\r\n {\r\n \"title\": \"Opportunity 3\",\r\n ...\r\n }\r\n ]\r\n}`,\r\n CJM_CXACTIONS: ({\r\n language, mapName, mapDescription, stageName, allRelatedInsights, allRelatedTouchpoints, relatedOpportunities, relatedSolutions\r\n }) => `You are a **Customer Experience (CX) Strategist**, specializing in designing **actionable CX Actions** for customer journey maps. Your task is to generate **three specific CX Actions** for the stage **\"${stageName}\"** in the journey map **\"${mapName}\"**, ensuring they are **strategic, relevant, and well-structured**.\r\n\r\n---\r\n### **Context:**\r\n- **Journey Map:** ${mapDescription || \"No description provided\"}\r\n- **Stage:** ${stageName}\r\n- **Insights:** ${allRelatedInsights?.length > 0 ? allRelatedInsights.map(i => `[${i.type}] ${i.name}`).join(', ') : \"No insights available\"}\r\n- **Touchpoints:** ${allRelatedTouchpoints?.length > 0 ? allRelatedTouchpoints.join(', ') : \"No touchpoints mapped\"}\r\n- **Existing Opportunities:** ${relatedOpportunities?.length > 0 ? relatedOpportunities.join(', ') : \"No existing opportunities defined\"}\r\n- **Existing Solutions:** ${relatedSolutions?.length > 0 ? relatedSolutions.join(', ') : \"No existing solutions defined\"}\r\n\r\n---\r\n\r\n### **CX Action Requirements**\r\nGenerate exactly **3 CX Actions** in **JSON format**, each containing:\r\n\r\n#### **1. General Details**\r\n- **title**: A concise and clear name.\r\n- **description** (rich HTML format):\r\n - A **clear summary** of the CX Action.\r\n - **How the action solves the related solution** (if a solution is available).\r\n - **How the action enhances a touchpoint** (if a solution is not available but touchpoints are provided).\r\n - **How the action addresses an insight** (if a solution is not available but insights are provided).\r\n - **Step-by-step implementation** (structured in bullet points or numbered format for clarity).\r\n\r\n---\r\n\r\n### **Data Consistency Rules**\r\nEach CX Action **must**:\r\n1. **Relate to exactly one existing solution** (if solutions exist).\r\n2. If no solution exists, it must relate to **one touchpoint or one insight**.\r\n3. Ensure references to solutions, insights, and touchpoints are **accurate and logically assigned**.\r\n4. Maintain consistency between **mentioned touchpoints, insights, and solutions** and those in the provided data.\r\n5. Ensure each solution is **unique** and **distinct** from existing cx actions and in ${language} language.\r\n\r\n\r\n#### **Conditional Fields**\r\n- **\"relatedSolution\"**: Include **only if solutions are provided**.\r\n- **\"relatedTouchpoint\"**: Include **only if no solutions exist** but touchpoints are provided.\r\n- **\"relatedInsight\"**: Include **only if no solutions exist** but insights are provided.\r\n\r\n---\r\n\r\n### **Expected Output Format**\r\nReturn a **JSON array** structured as follows:\r\n\r\n{\r\n \"items\": [\r\n {\r\n \"title\": \"CX Action 1\",\r\n \"description\": \"

Overview: Explanation of the CX Action.

\r\n

How it solves the solution: Describe how it resolves the associated solution.

\r\n

Implementation Steps:

\r\n
    \r\n
  • Step 1: Action to take...
  • \r\n
  • Step 2: Improvement...
  • \r\n
  • Step 3: Expected outcome...
  • \r\n
\",\r\n \"relatedSolution\": \"Solution Name\"\r\n },\r\n {\r\n \"title\": \"CX Action 2\",\r\n ...\r\n },\r\n {\r\n \"title\": \"CX Action 3\",\r\n ...\r\n }\r\n ]\r\n}`,\r\n CJM_SOL: ({\r\n language, mapName, mapDescription, stageName, allRelatedInsights, allRelatedTouchpoints, relatedOpportunities, relatedSolutions\r\n }) => `You are a **Customer Experience (CX) Strategist**, specializing in designing **actionable solutions** for customer journey maps. Your task is to generate **three specific CX Solutions** for the stage **\"${stageName}\"** in the journey map **\"${mapName}\"**, ensuring they are strategic, impactful, and well-structured.\r\n---\r\n\r\n### **Context:**\r\n- **Journey Map:** ${mapDescription || \"No description provided\"}\r\n- **Stage:** ${stageName}\r\n- **Insights:** ${allRelatedInsights?.length > 0 ? allRelatedInsights.map(i => `[${i.type}] ${i.name}`).join(', ') : \"No insights available\"}\r\n- **Touchpoints:** ${allRelatedTouchpoints?.length > 0 ? allRelatedTouchpoints.join(', ') : \"No touchpoints mapped\"}\r\n- **Existing Opportunities:** ${relatedOpportunities?.length > 0 ? relatedOpportunities.join(', ') : \"No existing opportunities defined\"}\r\n- **Existing Solutions:** ${relatedSolutions?.length > 0 ? relatedSolutions.join(', ') : \"No existing solutions defined\"}\r\n\r\n---\r\n\r\n### **Solution Generation Logic**\r\n1. **If existing opportunities are available**, all solutions **must** be based on a specific opportunity.\r\n2. **If no opportunities exist**, solutions should be based on **either insights or touchpoints**.\r\n\r\n---\r\n\r\n### **Solution Requirements**\r\nGenerate exactly **3 solutions** in **JSON format**, each containing:\r\n\r\n#### **1. General Details**\r\n- **title**: A short, clear name.\r\n- **description** (rich HTML format):\r\n - A **concise summary** of the problem and why it matters.\r\n - **Key benefits** for both the customer and the business.\r\n - **Implementation details**: Steps to execute.\r\n - **Impact on CX**: Expected improvements.\r\n\r\n#### **2. Evaluation Ratings (1-5)**\r\n- **CustomerAffected** \r\n- **CustomerBenefit** \r\n- **PotentialRevenueIncrease** \r\n- **ImproveBrandImage** \r\n- **ImplementationCost** \r\n- **ImplementationComplexity** \r\n- **ImplementationEffort** \r\n- **ImplementationTime** \r\n\r\n#### **3. Additional Details**\r\n- **People**: Who is impacted? \r\n- **Process**: What procedural changes are needed? \r\n- **Technology**: Required tech adjustments. \r\n- **Values**: Experience and value improvements. \r\n- **KeyMetrics**: Performance indicators.\r\n\r\n---\r\n\r\n### **Data Consistency Rules**\r\nEach solution **must**:\r\n1. **Directly relate to an existing opportunity, if opportunities are provided**.\r\n2. **If no opportunities exist, the solution must be based on either a touchpoint or an insight**.\r\n3. Ensure references to insights, touchpoints, and opportunities are **accurate and logically assigned**.\r\n4. Maintain clear alignment between **mentioned touchpoints/opportunities/insights** and those in the provided data.\r\n5. Ensure each solution is **unique** and **distinct** from existing solutions, and generated in ${language} language.\r\n\r\n#### **Conditional Fields**\r\n- **\"relatedOpportunity\"**: Include only if **opportunities are available**.\r\n- **\"relatedTouchpoint\"**: Include only if **no opportunities exist**, but **touchpoints are provided**.\r\n- **\"relatedInsight\"**: Include only if **no opportunities exist**, but **insights are provided**.\r\n\r\n---\r\n\r\n### **Expected Output Format**\r\nReturn a **JSON array** structured as follows:\r\n\r\n{\r\n \"items\": [\r\n {\r\n \"title\": \"Solution 1\",\r\n \"description\": \"

Clear explanation in HTML format...

\",\r\n \"relatedOpportunity\": \"Opportunity A\",\r\n \"ratings\": {\r\n \"CustomerAffected\": 4,\r\n \"CustomerBenefit\": 5,\r\n \"PotentialRevenueIncrease\": 3,\r\n \"ImproveBrandImage\": 4,\r\n \"ImplementationCost\": 2,\r\n \"ImplementationComplexity\": 3,\r\n \"ImplementationEffort\": 4,\r\n \"ImplementationTime\": 3\r\n },\r\n \"details\": {\r\n \"people\": \"

Explanation...

\",\r\n \"process\": \"

Explanation...

\",\r\n \"technology\": \"

Explanation...

\",\r\n \"values\": \"

Explanation...

\",\r\n \"keyMetrics\": \"
  • Metric 1
  • Metric 2
\"\r\n }\r\n },\r\n {\r\n \"title\": \"Solution 2\",\r\n ...\r\n },\r\n {\r\n \"title\": \"Solution 3\",\r\n ...\r\n }\r\n ]`,\r\n CJM_INSIGHT: ({\r\n language, mapName, mapDescription, stageName, allRelatedTouchpoints, insightTypes, relatedInsights\r\n }) => `You are a **Customer Experience (CX) Strategist**, specializing in identifying **actionable insights** for customer journey maps. Your task is to generate **three specific CX Insights** for the stage **\"${stageName}\"** in the journey map **\"${mapName}\"**, ensuring they are **meaningful, data-driven, and well-structured**.\r\n \r\n ---\r\n \r\n ### **Context:**\r\n - **Journey Map:** ${mapDescription || \"No description provided\"}\r\n - **Stage:** ${stageName}\r\n - **Touchpoints:** ${allRelatedTouchpoints?.length > 0 ? allRelatedTouchpoints.join(', ') : \"No touchpoints mapped\"}\r\n - **Existing Insights:** ${relatedInsights?.length > 0 ? relatedInsights.join(', ') : \"No existing insights defined\"}\r\n - \"\"Insight Types Available: ${insightTypes?.length > 0 ? insightTypes.join(', ') : \"No insight types available\"}\r\n \r\n ---\r\n ### **Insight Generation Logic**\r\n1. **If existing insights are available**, ensure that new insights are **distinct** and **complementary** to existing ones.\r\n2. **If insight types are provided**, each insight **must** align with a valid insight type.\r\n3. **If touchpoints are provided**, each insight **must** be linked to a relevant touchpoint.\r\n\r\n---\r\n ### **Insight Requirements**\r\n Generate exactly **3 insights** in **JSON format**, each containing:\r\n \r\n #### **1. General Details**\r\n - **name**: A concise, descriptive title for the insight.\r\n - **description** (rich HTML format):\r\n - A **clear summary** of the insight.\r\n - **Key observations** about customer behavior, needs, or pain points.\r\n - **Potential implications** for improving the customer journey.\r\n - Use **bullet points or structured formatting** when necessary for clarity.\r\n - **type**: Assign one of the available **insightTypes**.\r\n\r\n #### **2. Data Consistency Rules**\r\n 1. If insight types are provided, each insight **must be assigned a valid insight type**.\r\n2. If touchpoints are provided, each insight **must be linked to a related touchpoint**.\r\n3. The **relatedTouchpoint field must match one of the provided touchpoints**.\r\n4. New insights **must not duplicate existing insights** but should be **complementary**.\r\n5. Ensure insights are **unique, distinct, and relevant to the journey stage** and generated in ${language} language.\r\n\r\n\r\n #### **Conditional Fields**\r\n - **\"type\"**: Include **only if insight types are available**.\r\n - **\"relatedTouchpoint\"**: Include **only if touchpoints are provided**.\r\n \r\n ---\r\n \r\n ### **Expected Output Format**\r\n Return a **JSON array** structured as follows:\r\n \r\n {\r\n \"items\": [\r\n {\r\n \"title\": \"Insight 1\",\r\n \"type\": \"Behavioral Insight\",\r\n \"description\": \"

Clear explanation in HTML format...

\",\r\n \"relatedTouchpoint\": \"Touchpoint A\"\r\n },\r\n {\r\n \"title\": \"Insight 2\",\r\n \"type\": \"Pain Point\",\r\n \"description\": \"

Clear explanation in HTML format...

\",\r\n \"relatedTouchpoint\": \"Touchpoint B\"\r\n },\r\n {\r\n \"title\": \"Insight 3\",\r\n \"type\": \"Opportunity Insight\",\r\n \"description\": \"

Clear explanation in HTML format...

\",\r\n \"relatedTouchpoint\": \"Touchpoint C\"\r\n }\r\n ]\r\n }`\r\n\r\n\r\n}\r\n\r\n","import React, { useState } from 'react'\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\r\nimport styled from 'styled-components';\r\nimport Draggable from 'react-draggable';\r\n\r\nexport default function ZoomImageModal({ isOpen, onClose, image }) {\r\n const [zoomLevel, setZoomLevel] = useState(1);\r\n const handleZoomChange = (event) => {\r\n setZoomLevel(event.target.value);\r\n };\r\n const handlePropagation = (event) => {\r\n event.stopPropagation();\r\n };\r\n const handlePreventDefault = (event) => {\r\n event.preventDefault();\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \"zoom\"\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst Body = styled(ModalBody)`\r\n padding: 0;\r\n overflow: hidden;\r\n max-height: 1000px;\r\n`;\r\n\r\nconst ImageContainer = styled.div`\r\n padding: 1rem;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n transform: scale(${(props) => props.zoomLevel});\r\n z-index: 1; /* Add this line to set the z-index */\r\n cursor: move;\r\n\r\n img {\r\n /* width: 100%;\r\n height: 100%; */\r\n /* object-fit: none; */\r\n }\r\n`;\r\n\r\nconst ZoomSlider = styled.input`\r\n position: absolute;\r\n bottom: 10px;\r\n right: 10px;\r\n width: 100px;\r\n height: 10px;\r\n background-color: #d3d3d3;\r\n border-radius: 5px;\r\n outline: none;\r\n -webkit-appearance: none;\r\n &::-webkit-slider-thumb {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n width: 15px;\r\n height: 15px;\r\n background-color: #555;\r\n border-radius: 50%;\r\n cursor: pointer;\r\n }\r\n`;\r\nconst ModalContainer = styled(Modal)`\r\nmax-width: 1300px;\r\n`;\r\n","import ZoomImageModal from \"shared/modals/basic/ZoomImageModal\";\r\nimport { GenericButton, IconDispatcher, UploadLabel } from \"shared/ui-basics/index\";\r\nimport { ProgressBarSpinner } from \"shared/components/spinners/Spinner\";\r\nimport { RestrictUserAccess } from \"@utils/helpers\";\r\nimport { useEffect, useImperativeHandle, useState } from \"react\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { Input } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport CustomTooltip from \"./CustomTooltip\";\r\nimport { getRequestStatus } from \"@redux/memoizedSelectors\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\n\r\nexport const UploadImage = ({ keyFor, id, deleteImage, addImageAllowed = true, access, customImage, setCustomImage, onDelete, variantImg, zoom, generateUsingAI, innerRef, updateHeight, load }) => {\r\n\tconst MAX_UPLOAD_SIZE = 5000000;\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst [fileSize, setFileSize] = useState(null);\r\n\tconst { t } = useTranslation();\r\n\tconst { hideForPdf } = useLocation().search.getAllMapsParams();\r\n\r\n\tconst { pending } = useSelector(getRequestStatus({ type: \"GENERATE_IMAGE\" }), shallowEqual);\r\n\tconst aiEnabled = useSelector(({ settings }) => settings.subscriptionDetails.aiEnabled);\r\n\r\n\tconst imageLoadingAI = pending === 1;\r\n\tconst [progressBar, setProgressBar] = useState(0);\r\n\r\n\tconst pictureHandler = (e) => {\r\n\t\tconst file = e.target.files[0];\r\n\t\tconst reader = new FileReader();\r\n\t\tif (file) {\r\n\t\t\tsetLoading(true);\r\n\t\t\tif (file?.size <= MAX_UPLOAD_SIZE) {\r\n\t\t\t\tsetFileSize(null);\r\n\t\t\t\treader.readAsDataURL(file);\r\n\t\t\t} else {\r\n\t\t\t\tsetFileSize(Number(file.size / 1000000).toFixed(2));\r\n\t\t\t}\r\n\t\t}\r\n\t\treader.onloadend = () => {\r\n\t\t\tsetCustomImage(reader.result);\r\n\t\t\tif (!innerRef) setLoading(false);\r\n\t\t\tupdateHeight && updateHeight();\r\n\t\t};\r\n\t\treader.onerror = function (error) {};\r\n\t};\r\n\r\n\tconst closeError = () => {\r\n\t\tsetFileSize(null);\r\n\t\tsetLoading(false);\r\n\t};\r\n\r\n\tconst [openzoom] = useModal(ZoomImageModal, { image: customImage });\r\n\tuseImperativeHandle(innerRef, () => ({\r\n\t\tsetLoading: (value) => {\r\n\t\t\tif (value) setProgressBar(25);\r\n\t\t\tif (!value) setProgressBar(0);\r\n\t\t\tsetLoading(value);\r\n\t\t\tif (!value) updateHeight && updateHeight();\r\n\t\t},\r\n\t}));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{customImage === undefined || customImage === \"\" ? (\r\n\t\t\t\t\r\n\t\t\t) : fileSize > 0 || fileSize === -1 ? (\r\n\t\t\t\t\r\n\t\t\t) : load || loading ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t{imageLoadingAI ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{addImageAllowed && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{IconDispatcher(\"UPLOAD\", \"pointer\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{deleteImage && }\r\n\t\t\t\t\t\t{zoom && }\r\n\t\t\t\t\t\t{generateUsingAI && aiEnabled && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\n//custom img\r\n//we have some mode\r\n//upload,delete,error,default pic\r\nexport const UploadImageModal = ({ keyFor, id, deleteImage, disabled, customImage, setCustomImage, onDelete, variantImg, fileSizeParent, generateUsingAI, innerRef }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst MAX_UPLOAD_SIZE = 5000000;\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst [fileSize, setFileSize] = useState(fileSizeParent);\r\n\tconst { pending } = useSelector(getRequestStatus({ type: \"GENERATE_IMAGE\" }), shallowEqual);\r\n\tconst aiEnabled = useSelector(({ settings }) => settings.subscriptionDetails.aiEnabled);\r\n\r\n\tconst imageLoadingAI = pending === 1;\r\n\tconst [progressBar, setProgressBar] = useState(0);\r\n\tuseEffect(() => {\r\n\t\tsetFileSize(fileSizeParent);\r\n\t}, [fileSizeParent]);\r\n\r\n\tconst pictureHandler = (e) => {\r\n\t\tconst file = e.target.files[0];\r\n\r\n\t\tconst reader = new FileReader();\r\n\t\tif (file) {\r\n\t\t\tsetLoading(true);\r\n\t\t\tif (file?.size <= MAX_UPLOAD_SIZE) {\r\n\t\t\t\tsetFileSize(null);\r\n\t\t\t\treader.readAsDataURL(file);\r\n\t\t\t} else {\r\n\t\t\t\tsetFileSize(Number(file.size / 1000000).toFixed(2));\r\n\t\t\t\tsetCustomImage(\"error\");\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t}\r\n\t\t}\r\n\t\treader.onloadend = () => {\r\n\t\t\tsetCustomImage(reader.result);\r\n\t\t\tsetLoading(false);\r\n\t\t};\r\n\t\treader.onerror = function (error) {};\r\n\t};\r\n\tconst deleteImg = () => {\r\n\t\tsetCustomImage(\"delete\");\r\n\t\tif (onDelete) onDelete();\r\n\t};\r\n\tuseImperativeHandle(innerRef, () => ({\r\n\t\tsetLoading: (value) => {\r\n\t\t\tif (value) setProgressBar(18);\r\n\t\t\tif (!value) setProgressBar(0);\r\n\t\t\tsetLoading(value);\r\n\t\t},\r\n\t}));\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{customImage === \"upload\" || customImage === \"delete\" || customImage === \"error\" ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : loading ? (\r\n\t\t\t\t\timageLoadingAI ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{IconDispatcher(\"UPLOAD\", \"pointer\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{deleteImage && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{generateUsingAI && aiEnabled && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t{fileSize !== null && fileSize > 0 && {t(\"CURRENT_MAGE_SIZE\") + ` ${fileSize} MB/MO. (${t(\"MAX_IMAGE_SIZE\")})`}}\r\n\t\t\t{fileSize === -1 && {t(\"ICON_MISSING\")}}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst ErrorImg = ({ keyFor, pictureHandler, fileSize, closeError }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{t(\"CURRENT_MAGE_SIZE\") + ` ${fileSize} MB/MO. (${t(\"MAX_IMAGE_SIZE\")})`}\r\n\r\n\t\t\t\r\n\t\t\t\t{t(\"ASPX_236\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst NoImg = ({ keyFor, pictureHandler }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{IconDispatcher(\"UPLOAD-IMG\", \"zoom-15 \")}\r\n\r\n\t\t\t\r\n\t\t\t\t{t(\"ASPX_236\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst ImgWrapper = styled.img`\r\n\t${(props) =>\r\n\t\tprops.variantImg == \"StageImage\" &&\r\n\t\t`\r\nobject-fit: cover;\r\n max-width: 250px;\r\n align-self: center;\r\n `}\r\n\t${(props) =>\r\n\t\tprops.variantImg == \"StageDescription\" &&\r\n\t\t` object-fit: contain;\r\n max-width: 250px;\r\n min-height: 140px;\r\n max-height: 140px;\r\n\r\n`}\r\n\t${(props) =>\r\n\t\tprops.variantImg == \"ImageSection\" &&\r\n\t\t` object-fit: contain;\r\n max-width: 100%;\r\n min-height: 140px;\r\n`}\r\n\r\n${(props) =>\r\n\t\tprops.variantImg == \"personaImage\" &&\r\n\t\t` width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n cursor: pointer\r\n`}\r\n${(props) =>\r\n\t\tprops.variantImg == \"librariesImage\" &&\r\n\t\t` max-height:150px;\r\n width: 100%;\r\n object-fit: cover;\r\n cursor: pointer\r\n`}\r\n${(props) =>\r\n\t\tprops.variantImg == \"EditImage\" &&\r\n\t\t`\r\n max-height: 150px;\r\n max-width: 100%;\r\n `}\r\n ${(props) =>\r\n\t\tprops.variantImg == \"PersonaImg\" &&\r\n\t\t`\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n cursor: pointer\r\n `}\r\n`;\r\n\r\nconst Actions = styled.div`\r\n\tposition: absolute;\r\n\tdisplay: flex;\r\n\t/* width: 40px; */\r\n\tjustify-content: space-between;\r\n\tvisibility: hidden;\r\n\talign-items: center;\r\n`;\r\nconst ImageContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\twidth: inherit;\r\n\theight: inherit;\r\n\r\n\tposition: relative;\r\n\t/* padding:15px; */\r\n\r\n\t& img {\r\n\t\t/* max-height: auto;\r\n max-width: 100%; */\r\n\t}\r\n\t&:hover ${Actions} {\r\n\t\t${(props) =>\r\n\t\t\t(props.access === undefined || props.access === true) &&\r\n\t\t\t`\r\n visibility: visible;\r\n `}\r\n\t}\r\n\t&:hover img {\r\n\t\t${(props) =>\r\n\t\t\t(props.access === undefined || (typeof props.access === \"string\" && !RestrictUserAccess(props.access?.toLowerCase(), [\"viewer\"]))) &&\r\n\t\t\t`\r\n \t\t\topacity: 0.1;\r\n \t\t`}\r\n\t}\r\n`;\r\n\r\nconst SizeErrorMessage = styled.div`\r\n\tcolor: red;\r\n\tfont-size: 12px;\r\n\ttext-align: center;\r\n`;\r\n\r\nexport const WrapperSpinner = styled(Spinner)`\r\n\tmin-height: 140px;\r\n`;\r\n","import CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport $ from \"jquery\";\r\nimport React, { memo, useEffect, useState } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { Button, GenericButton, IconDispatcher } from \"../ui-basics\";\r\n\r\nconst ActionsDropdown = memo(\r\n\t({\r\n\t\tid = \"\",\r\n\t\tdropDownVariant = \"\",\r\n\t\tdropdownClasses = \"\",\r\n\t\tautoClose = true, // Changed to boolean\r\n\t\thandleOnSelect = () => { },\r\n\t\thandleToggle = () => { },\r\n\t\tbuttonVariant = \"light-link\",\r\n\t\tisDisabled = false,\r\n\t\tisicon = false, // Changed to boolean\r\n\t\ttoggleButton = IconDispatcher(\"ACTION-DROPDOWN\"),\r\n\t\tmenuVariant = \"sidebar\",\r\n\t\tsize = \"m\",\r\n\t\tactions,\r\n\t\tdrop = \"bottom\",\r\n\t\thandleClick, // Parent-controlled click handler\r\n\t\tstopPropagation = true,\r\n\t\tshow: propsShow, // New controlled 'show' prop\r\n\t}) => {\r\n\t\tconst [internalShow, setInternalShow] = useState(false);\r\n\t\tconst show = propsShow !== undefined ? propsShow : internalShow;\r\n\t\tconst externalContainer = document.getElementById(\"external-container\");\r\n\t\tconst pathname = useLocation().pathname;\r\n\r\n\t\tconst handleDropdownToggle = async (isOpen, event) => {\r\n\t\t\tif (stopPropagation){\r\n\t\t\t\tevent.originalEvent?.stopPropagation();\r\n\r\n\t\t\t}\r\n\t\t\thandleToggle(isOpen, event);\r\n\r\n\t\t\tif (handleClick) {\r\n\t\t\t\thandleClick(isOpen);\r\n\t\t\t}\r\n\t\t\t// Update internal state only if not controlled\r\n\t\t\tif (propsShow === undefined) {\r\n\t\t\t\tsetInternalShow(isOpen);\r\n\t\t\t}\r\n\r\n\t\t};\r\n\r\n\t\tconst handleClickItem = (action, e) => {\r\n\t\t\te.stopPropagation();\r\n\t\t\taction?.handleClick?.(e);\r\n\t\t\taction?.onClick?.(e);\r\n\t\t\tif (action.customItem) return;\r\n\t\t\t// Close dropdown if not controlled\r\n\t\t\tif (propsShow === undefined) {\r\n\t\t\t\tsetInternalShow(false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst DisplayDropdownItem = ({ action, index }) => {\r\n\t\t\tif (action?.divider) return ;\r\n\t\t\tif (action.header) return
{action.header}
;\r\n\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t handleClickItem(action, e)}\r\n\t\t\t\t\t\tdisabled={action?.disabled || false}\r\n\t\t\t\t\t\tclickable={action?.clickable ?? true} // Use boolean\r\n\t\t\t\t\t\tdraggable=\"false\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{action?.customItem ? (\r\n\t\t\t\t\t\t\t
{action.customItem}
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{action?.text}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t};\r\n\r\n\t\tuseEffect(() => {\r\n\t\t\tif (pathname === \"/EditMap\") {\r\n\t\t\t\tconst closeDropdownOnScroll = () => {\r\n\t\t\t\t\tif (propsShow === undefined) setInternalShow(false);\r\n\t\t\t\t};\r\n\t\t\t\tconst swimlaneContainer = $(\"#swimlane_Container\");\r\n\t\t\t\tswimlaneContainer.on(\"scroll\", closeDropdownOnScroll);\r\n\r\n\t\t\t\treturn () => {\r\n\t\t\t\t\tswimlaneContainer.off(\"scroll\", closeDropdownOnScroll);\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}, [pathname, propsShow]);\r\n\r\n\t\tconst Menu = show && (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{actions?.map((action, index) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{toggleButton}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{externalContainer && ReactDOM.createPortal(Menu, externalContainer)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n);\r\nActionsDropdown.displayName = \"ActionsDropdown\";\r\nexport { ActionsDropdown };\r\n\r\n// Styled components remain mostly unchanged, but ensure boolean checks are corrected\r\nconst DropdownWrapper = styled(Dropdown)`\r\n margin: 0 !important;\r\n display: flex;\r\n\r\n .dropdown-toggle:after {\r\n display: none;\r\n }\r\n\r\n .dropdown-item:hover {\r\n visibility: visible;\r\n }\r\n ${(props) =>\r\n\t\tprops.variant === \"withCaret\" &&\r\n\t\tcss`\r\n .btn {\r\n color: #212529;\r\n font: 400;\r\n font-size: 16px;\r\n }\r\n\r\n .dropdown-toggle:after {\r\n display: inline-block;\r\n }\r\n `}\r\n\r\n .dropdown-menu.show {\r\n padding: 0 !important;\r\n box-shadow: 1px 1px 3px rgba(33, 33, 33, 0.3);\r\n }\r\n .dropdown-item:focus,\r\n .dropdown-item:hover {\r\n background-color: #efefef;\r\n }\r\n`;\r\n\r\nconst DropdownMenu = styled(Dropdown.Menu)`\r\n z-index: 1087;\r\n padding: 4px;\r\n ${(props) =>\r\n\t\tprops.variant === \"NavMenuHeader\" &&\r\n\t\tcss`\r\n width: 207px;\r\n transform: translate(-16px, 40px) !important;\r\n `}\r\n ${(props) =>\r\n\t\tprops.variant === \"CJMHeader\" &&\r\n\t\tcss`\r\n width: 207px;\r\n transform: translate(-163px, 43px) !important;\r\n `}\r\n ${(props) =>\r\n\t\tprops.variant === \"sidebar\" &&\r\n\t\tcss`\r\n border-radius: 4px;\r\n border: 1px solid #c4c4c4;\r\n background: #fff;\r\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.15);\r\n .btn {\r\n color: #333333;\r\n font-family: Inter;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n }\r\n `}\r\n`;\r\n\r\nconst Header = styled(Dropdown.Header)`\r\n font-size: 12px;\r\n font-weight: 500;\r\n color: #333333;\r\n padding: 4px 12px;\r\n`;\r\n\r\nconst DropdownItem = styled.div`\r\n width: 100%;\r\n padding: 4px;\r\n clear: both;\r\n font-weight: 400;\r\n color: #333333;\r\n text-align: inherit;\r\n text-decoration: none;\r\n white-space: nowrap;\r\n background-color: transparent;\r\n border: 0;\r\n display: block;\r\n align-items: center;\r\n justify-content: left;\r\n line-height: 1.5rem;\r\n .item {\r\n width: 100%;\r\n button {\r\n height: 29px;\r\n padding: 4px 8px;\r\n }\r\n :hover {\r\n background-color: #efefef;\r\n }\r\n }\r\n\r\n ${(props) =>\r\n\t\tprops.variant === \"warning-delete\" &&\r\n\t\t`\r\n path {\r\n fill: #FC74B3\r\n }\r\n `}\r\n ${(props) =>\r\n\t\tprops.disabled\r\n\t\t\t? css`\r\n pointer-events: none;\r\n opacity: 0.5;\r\n `\r\n\t\t\t: \"\"}\r\n ${(props) =>\r\n\t\t!props.clickable &&\r\n\t\tcss`\r\n pointer-events: none;\r\n `}\r\n`;\r\n\r\nconst TextWrapper = styled.div`\r\n margin-left: 8px;\r\n ${(props) =>\r\n\t\tprops.type === \"email\" &&\r\n\t\tcss`\r\n text-transform: lowercase;\r\n `}\r\n ${(props) =>\r\n\t\tprops.type === \"needHelp\" &&\r\n\t\tcss`\r\n text-transform: none;\r\n `}\r\n ${(props) =>\r\n\t\tprops.type === \"textTransformNone\" &&\r\n\t\tcss`\r\n text-transform: none;\r\n `}\r\n`;\r\n\r\nconst Divider = styled.div`\r\n border-bottom: 1px solid #d9d9d9;\r\n`;","import { linkTags, unlinkTags, upsertTag } from \"@redux/index\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\nimport { useSelector } from \"react-redux\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport CreateNewItem from \"shared/dropdowns/cx-dropdown/components/create-new-item\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport { CustomizationColors } from \"shared/ui-basics\";\r\nimport Tag from \"shared/ui-basics/ui-components/tag\";\r\nimport { getRandomInt } from \"utils/helpers\";\r\n\r\nexport default function TagsDropdown({ object, setObject, link, unlink, recordType, recordIds, recordId, menuListHeight, isOpen = false, isSwitchDisabled = false, isUnlinkable = true }) {\r\n\tconst allTags = useSelector((state) => state.libraries.tags) || [];\r\n\tconst linkedTags = allTags?.filter((tag) => object?.tags?.includes(tag?.id)) || [];\r\n\tconst tagColors = Object.keys(CustomizationColors);\r\n\tconst newTagColor = tagColors[getRandomInt(0, tagColors.length - 1)];\r\n\r\n\r\n\tconst handleLink = (id) => {\r\n\t\tlinkTags({ tagIds: [id], recordIds: recordIds ? recordIds : [recordId || object.id], recordType });\r\n\t\tif (setObject) setObject({ ...object, tags: [...(object?.tags || []), id] });\r\n\t};\r\n\r\n\tconst handleUnlink = (id) => {\r\n\t\tunlinkTags({ tagIds: [id], recordIds: recordIds ? recordIds : [recordId || object.id], recordType });\r\n\t\tif (setObject) setObject({ ...object, tags: object.tags?.filter((currId) => currId !== id) });\r\n\t};\r\n\r\n\tconst handleCreate = ({ input, clearInput, close }) => {\r\n\t\tclose();\r\n\t\tconst newTag = {\r\n\t\t\tid: EMPTY_GUID,\r\n\t\t\tname: input,\r\n\t\t\tcolorCode: newTagColor,\r\n\t\t};\r\n\t\tupsertTag({\r\n\t\t\ttag: newTag,\r\n\t\t\tonSuccess: (tag) => {\r\n\t\t\t\tclearInput();\r\n\t\t\t\tif (link) link(tag);\r\n\t\t\t\telse handleLink(tag);\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst renderReadOnlyItems = () => (\r\n\t\t<>\r\n\t\t\t{linkedTags?.map((tag) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n\r\n\tconst { color, backgroundColor } = CustomizationColors[newTagColor];\r\n\r\n\tconst params = {\r\n\t\tselected: linkedTags,\r\n\t\toptions: allTags,\r\n\t\tplaceholder: \"SEARCH_OR_CREATE\",\r\n\t\tmenuLabel: \"SELECT_OR_CREATE\",\r\n\t\trenderSelectedItem: (tag) => ,\r\n\t\trenderMenuItem: ({ item }) => ,\r\n\t\tlinkMenuItem: link ? ({ item }) => link(item.id) : ({ item }) => handleLink(item.id),\r\n\t\tfilter: ({ query, option }) => {\r\n\t\t\tconst tag = allTags.find((t) => t.id === option?.id);\r\n\t\t\tif (tag && !linkedTags.map((lt) => lt?.id)?.includes(option?.id)) return tag?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t\trenderCreateItem: ({ input, clearInput, close }) => (\r\n\t\t\t handleCreate({ input, clearInput, close })}\r\n\t\t\t\trenderItem={() => }\r\n\t\t\t\tcreateLabel=\"JS_87\"\r\n\t\t\t/>\r\n\t\t),\r\n\t\tmenuListHeight,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { connectorInit } from \"features/integrations/reducer/ConnectorAction\";\r\nimport { getOrganizationSettings, getSubscriptionDetails } from \"features/settings/reducer/SettingsActions\";\r\nimport { getAllAuthorizedUsers, getAllRegisteredUsers, getAllRoles, getSettingUser } from \"features/settings/reducer/UserActions\";\r\nimport { getAllWorkspaces } from \"features/workspace/reducer/WorkspaceActions\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { brandValueInit, cxGoalsInit, getAllCxMetrics, getAllInsightTypes, getAllStakeholderRoles, getAllTeams, getNotifs, groupInit, iconsInit, libraryInit, measureInit, priorityInit, statusInit, tagInit, touchPointCategoriesInit, touchPointInit } from \"../../redux/index\";\r\n\r\nexport const updateAllStoresStates = async (dispatch) => {\r\n try{\r\n await dispatch(getAllWorkspaces())\r\n await dispatch(getAllRoles())\r\n await dispatch(getAllAuthorizedUsers())\r\n await dispatch(getAllRegisteredUsers())\r\n await dispatch(getAllTeams())\r\n await dispatch(getSubscriptionDetails())\r\n await dispatch(getOrganizationSettings())\r\n await dispatch(getSettingUser())\r\n await dispatch(connectorInit())\r\n await dispatch(groupInit())\r\n await dispatch(iconsInit())\r\n await dispatch(measureInit())\r\n await dispatch(priorityInit())\r\n await dispatch(statusInit())\r\n await dispatch(tagInit())\r\n await dispatch(touchPointInit())\r\n await dispatch(brandValueInit())\r\n await dispatch(libraryInit())\r\n await dispatch(getAllInsightTypes())\r\n await dispatch(getNotifs())\r\n await dispatch(cxGoalsInit())\r\n await dispatch(touchPointCategoriesInit())\r\n await dispatch(getAllStakeholderRoles())\r\n await dispatch(getAllCxMetrics())\r\n }catch(error) {\r\n console.error(\"Error in updateAllStoresStates:\", error);\r\n }\r\n}\r\n\r\nexport const useNetworkStatus = () => {\r\n const [isOnline, setIsOnline] = useState(navigator.onLine);\r\n\r\n useEffect(() => {\r\n // Update network status\r\n const handleStatusChange = () => {\r\n\r\n setIsOnline(navigator.onLine);\r\n\r\n };\r\n\r\n window.addEventListener(\"online\", handleStatusChange);\r\n window.addEventListener(\"offline\", handleStatusChange);\r\n\r\n // Specify how to clean up after this effect for performance improvment\r\n return () => {\r\n window.removeEventListener(\"online\", handleStatusChange);\r\n window.removeEventListener(\"offline\", handleStatusChange);\r\n };\r\n }, [isOnline]);\r\n\r\n return { isOnline };\r\n};","/* eslint-disable no-undef */\r\nimport React from 'react';\r\nimport { Rating } from 'primereact/rating';\r\nimport { useTranslation } from 'react-i18next'\r\nimport styled from 'styled-components/macro';\r\nimport CustomTooltip from '../../components/CustomTooltip';\r\nimport { v4 as uuid } from 'uuid';\r\n\r\n\r\nexport function CustomRating({ classes=\"\", attribute, color='#F8AD48' ,object, setObject, modifiedAttribNames = undefined, disabled,updateFunction = false ,calculateWrapper = undefined}) {\r\n const { t } = useTranslation();\r\n let count = 1\r\n const _ = require(\"lodash\");\r\n const calcCount = () => count++ % 6\r\n\r\n const displayTooltipText = () => {\r\n if (count === 2) return \"VERY_LOW\"\r\n if (count === 3) return \"LOW\"\r\n if (count === 4) return \"MEDIUM\"\r\n if (count === 5) return \"HIGH\"\r\n if (count === 6) return \"VERY_HIGH\"\r\n }\r\n\r\n const handleChange = (e) => {\r\n let value = e.value\r\n\r\n if (_.get(object, attribute) == value) value--\r\n\r\n _.set(object, attribute, value)\r\n setObject({ ...object })\r\n modifiedAttribNames && modifiedAttribNames?.add(attribute)\r\n if(updateFunction) {\r\n updateFunction(object,[attribute])\r\n modifiedAttribNames && modifiedAttribNames?.delete(attribute)\r\n }\r\n if(calculateWrapper) calculateWrapper()\r\n }\r\n\r\n const IconComponent = (type) => {\r\n return (\r\n \r\n {type === \"ON\" ? : }\r\n \r\n )\r\n }\r\n\r\n return IconComponent(\"ON\")} offIcon={() => IconComponent(\"OFF\")} onChange={handleChange} stars={5} cancel={false} disabled={disabled} />\r\n}\r\n\r\nexport function CustomRatingNew({ classes, attribute, object, update, color, disabled }) {\r\n const { t } = useTranslation();\r\n let count = 1\r\n const _ = require(\"lodash\");\r\n const calcCount = () => count++ % 6\r\n const iconColor = color ? color : attribute === \"customerValue\" ? \"#6A91F7\" : \"#F8AD48\"\r\n\r\n const displayTooltipText = () => {\r\n if (count === 2) return \"VERY_LOW\"\r\n if (count === 3) return \"LOW\"\r\n if (count === 4) return \"MEDIUM\"\r\n if (count === 5) return \"HIGH\"\r\n if (count === 6) return \"VERY_HIGH\"\r\n }\r\n\r\n const handleChange = (e) => {\r\n let value = e.value\r\n const copy = { ...object }\r\n copy[attribute] = value;\r\n update(copy)\r\n }\r\n\r\n const IconComponent = (type) => {\r\n return (\r\n \r\n {type === \"ON\" ? : }\r\n \r\n )\r\n }\r\n return IconComponent(\"ON\")} offIcon={() => IconComponent(\"OFF\")} onChange={handleChange} stars={5} cancel={false} disabled={disabled} />\r\n}\r\nconst OffIcon = styled.div`\r\n width: 12px;\r\n height: 12px;\r\n margin-right: 4px;\r\n background: #D9D9D9;\r\n /* border: 1px solid #F96209; */\r\n border-radius: 50%;\r\n\r\n`\r\n\r\nconst OnIcon = styled.div`\r\n width: 16px;\r\n height: 16px;\r\n margin-right: 4px;\r\n background: ${props => props.color};\r\n /* border: 1px solid #F96209; */\r\n border-radius: 50%;\r\n`\r\n\r\nconst StyledRating = styled(Rating)`\r\n .p-rating-item:focus {\r\n outline: 0 none;\r\n outline-offset: 0;\r\n box-shadow: none;\r\n }\r\n`\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { linkCxActionRecords, unlinkCxActionRecords } from \"features/cx-actions/reducer/CxActionActions\";\r\nimport { linkRecordsOnMap } from \"features/journey-map/reducer/CJMActions\";\r\nimport { linkOpportunityRecords, unlinkOpportunityRecords } from \"features/opportunity/reducer/OpportunityActions\";\r\nimport { linkSolutionRecords, unlinkSolutionRecords } from \"features/solutions/reducer/SolutionsActions\";\r\nimport { useState } from \"react\";\r\nimport { Container, Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { TabTitleContext } from \"shared/components/Relations/RelationManager\";\r\nimport { useItem } from \"shared/dynamic-imports\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { NoData, NoDataIcon, NoDataText } from \"../cx-components.style\";\r\nimport { TabData, TabsData, TypesTabs } from \"./tabs-data\";\r\n\r\ntype Props = {\r\n\tdisabled: boolean;\r\n\tstageId?: string;\r\n\tentityType: (typeof TypesTabs)[keyof typeof TypesTabs];\r\n\tdefaultKey: number;\r\n\tonClose?: () => void;\r\n};\r\n\r\nexport default function Relations({ disabled, stageId, entityType, defaultKey = 0, onClose }: Props): JSX.Element {\r\n\tconst { t } = useTranslation();\r\n\tconst { pathname, search } = useLocation();\r\n\tconst { cjmIdStr, personaIdStr } = search?.getAllMapsParams() || {};\r\n\tconst { currentItem, handleChange } = useItem();\r\n\tconst [key, setKey] = useState(TabsData[defaultKey]?.label);\r\n\tconst [count, setCount] = useState(null);\r\n\tconst swimlanes = useSelector(({ maps }: any) => maps.current_map?.cjmSwimLanes);\r\n\tconst allSwimlanesDetails = useSelector(({ maps }: any) => maps.current_map?.cjmSwimLaneDetails);\r\n\r\n\tconst { displayedTabs, functions } = getEntityData(entityType) || {}; // get the tabs and functions based on the entity type\r\n\r\n\tconst link = (props: any) => {\r\n\t\tconst { recIds, entityType, attributeName, swimlaneType, cxAttributeID } = props;\r\n\t\tfunctions.link({ recEntityName: entityType, recIds, id: currentItem.id }); // link records in the backend\r\n\t\thandleChange(attributeName, [...(currentItem?.[attributeName] || []), ...recIds]);\r\n\t\tif (cjmIdStr && swimlaneType && stageId && cxAttributeID) {\r\n\t\t\t// link the opp.sol.action to the map\r\n\t\t\tconst swlimlane = swimlanes?.find((swimLane: any) => swimLane.type === swimlaneType);\r\n\t\t\tconst relatedIdsOnThisStage = allSwimlanesDetails?.[swlimlane?.key]?.[stageId]?.items?.map((item: any) => item?.[cxAttributeID]) || [];\r\n\t\t\tif (relatedIdsOnThisStage?.includes(recIds?.[0])) return;\r\n\r\n\t\t\tconst params = {\r\n\t\t\t\tcjmId: cjmIdStr,\r\n\t\t\t\tcustomSwimLaneId: swlimlane?.key || uuid(),\r\n\t\t\t\tstageId,\r\n\t\t\t\tswimLaneItemIds: [uuid()],\r\n\t\t\t\tobjIds: recIds,\r\n\t\t\t\tobjType: swimlaneType,\r\n\t\t\t\tattributeId: cxAttributeID,\r\n\t\t\t\tpersonaId: personaIdStr,\r\n\t\t\t};\r\n\r\n\t\t\tlinkRecordsOnMap(params);\r\n\t\t}\r\n\t};\r\n\r\n\tconst unlink = (props: any) => {\r\n\t\tconst { recIds, entityType, attributeName } = props;\r\n\t\tfunctions.unlink({ recEntityName: entityType, recIds, id: currentItem.id }); // unlink records in the backend\r\n\t\thandleChange(\r\n\t\t\tattributeName,\r\n\t\t\tcurrentItem[attributeName]?.filter((id: string) => !recIds.includes(id))\r\n\t\t); // update the state\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t setKey(k as string)} className=\"mb-3 fs2\">\r\n\t\t\t\t{TabsData?.filter((tab: TabData) => displayedTabs?.includes(tab?.type as string)) // filter tabs based on the entity type\r\n\t\t\t\t\t?.map(({ AddComponent, Card, componentProps, cardProps, label, type, swimlaneType }: TabData) => {\r\n\t\t\t\t\t\tconst attribute = componentProps?.attributeName || cardProps?.attributeName;\r\n\t\t\t\t\t\tconst number = count?.[attribute] || currentItem?.[attribute]?.length || 0;\r\n\t\t\t\t\t\tconst swimlaneKeyToAddItems = swimlanes?.find((swimlane: any) => swimlane?.type === swimlaneType)?.swimlaneKey;\r\n\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{AddComponent && (\r\n\t\t\t\t\t\t\t\t\t\t link({ recIds: [id], ...componentProps, swimlaneType })}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{cardProps?.mapping === false ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\tcurrentItem?.[attribute]?.map((id: string, index: number) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t unlink({ recIds: [id], ...componentProps })}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisable={disabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstageId={stageId}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose={onClose}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{number === 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{IconDispatcher(componentProps?.noDataIcon, \"\", { size: \"3rem\", style: \"thin\" })}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t(componentProps?.noDataText)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function getEntityData(entityType: string) {\r\n\tconst { Insights, RelatedCjms, Solutions, ActionsList, Project, Opportunities } = TypesTabs;\r\n\tswitch (entityType) {\r\n\t\tcase \"cem_cxopportunity\": {\r\n\t\t\tconst displayedTabs = [Insights, RelatedCjms, Solutions, ActionsList, Project];\r\n\t\t\tconst functions = {\r\n\t\t\t\tlink: linkOpportunityRecords,\r\n\t\t\t\tunlink: unlinkOpportunityRecords,\r\n\t\t\t};\r\n\t\t\treturn { displayedTabs, functions };\r\n\t\t}\r\n\t\tcase \"cem_cxsolution\": {\r\n\t\t\tconst displayedTabs: (typeof TypesTabs)[keyof typeof TypesTabs][] = [Insights, RelatedCjms, Opportunities, ActionsList, Project];\r\n\t\t\tconst functions: any = {\r\n\t\t\t\tlink: linkSolutionRecords,\r\n\t\t\t\tunlink: unlinkSolutionRecords,\r\n\t\t\t};\r\n\t\t\treturn { displayedTabs, functions };\r\n\t\t}\r\n\t\tcase \"cem_cxactiontask\": {\r\n\t\t\tconst displayedTabs: (typeof TypesTabs)[keyof typeof TypesTabs][] = [Insights, RelatedCjms, Solutions, Opportunities, Project];\r\n\t\t\tconst functions: any = {\r\n\t\t\t\tlink: linkCxActionRecords,\r\n\t\t\t\tunlink: unlinkCxActionRecords,\r\n\t\t\t};\r\n\t\t\treturn { displayedTabs, functions };\r\n\t\t}\r\n\t\tcase TypesTabs?.CustomLibraries: {\r\n\t\t\tconst displayedTabs: (typeof TypesTabs)[keyof typeof TypesTabs][] = [RelatedCjms];\r\n\t\t\tconst functions: any = {\r\n\t\t\t\tlink: () => {},\r\n\t\t\t\tunlink: () => {},\r\n\t\t\t};\r\n\t\t\treturn { displayedTabs, functions };\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn {};\r\n\t}\r\n}\r\n","import { useSelector } from \"react-redux\";\r\nimport { FilterTemplate } from \"./FilterTemplate\";\r\n\r\ninterface JourneFilterProps {\r\n\tinnerRef: React.RefObject<{\r\n\t\tgetFilters: () => string[];\r\n\t}>;\r\n\thandleApply: () => void;\r\n}\r\n\r\nexport const JourneyFilter: React.FC = ({ innerRef, handleApply }) => {\r\n\tconst showSampleData = useSelector((state) => state.settings.organization.showSampleData);\r\n const maps = useSelector(({ maps }) => maps?.all_maps.getActiveRecords(!showSampleData) || []);\r\n \r\n return ;\r\n};\r\n","import { useSelector } from \"react-redux\";\r\nimport { FilterTemplate } from \"./FilterTemplate\";\r\n\r\ninterface TagFilterProps {\r\n\tinnerRef: React.RefObject<{\r\n\t\tgetFilters: () => string[];\r\n\t}>;\r\n\thandleApply: () => void;\r\n}\r\n\r\nexport const TagFilter: React.FC = ({ innerRef, handleApply }) => {\r\n\tconst tags = useSelector((state) => state?.libraries?.tags || []);\r\n\r\n\treturn ;\r\n};\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Button } from \"shared/ui-basics\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\ntype Props = {\r\n\tmodal: any;\r\n\tcloseDropdown?: () => void;\r\n\tselected: any;\r\n\tlink?: (id: string, e?: any) => void;\r\n\tonCreate?: any;\r\n};\r\n\r\nfunction RenderAdvancedModalFooter({ modal, closeDropdown, selected, link, onCreate }: Props): JSX.Element {\r\n\tconst [advancedSearchModal] = useModal(modal);\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t {\r\n\t\t\t\t\tif (closeDropdown) closeDropdown();\r\n\t\t\t\t\tadvancedSearchModal({ link, onCreate, selectedSolutionIds: selected });\r\n\t\t\t\t}}>\r\n\t\t\t\t{t(\"ADVANCED_SEARCH\")}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport default RenderAdvancedModalFooter;\r\n","import React from \"react\";\r\nimport { FlexContainer, RegularText, TitleInput, IconWrapper } from \"./cx-components.style\";\r\nimport { useItem } from \"shared/dynamic-imports\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Moment from \"react-moment\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\n\r\ntype Props = {\r\n\tdisabled?: boolean;\r\n\tdisabledDescription: boolean;\r\n\ticon: string;\r\n\tlabelPlaceholder?: string;\r\n\trenderCustomIcon?: any;\r\n};\r\n\r\nexport default function HeaderTitle({ disabled,disabledDescription, icon, renderCustomIcon, labelPlaceholder = \"ENTER_NAME\" }: Props): JSX.Element {\r\n\tconst { currentItem, handleChange, handleBlur } = useItem();\r\n\tconst { t } = useTranslation();\r\n\tif (!currentItem) return <>;\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{renderCustomIcon ? renderCustomIcon() : {IconDispatcher(icon, \"\", { size: \"lg\" })}}\r\n\t\t\t\t handleBlur(\"name\")}\r\n\t\t\t\t\tonChange={(e: { target: { value: string } }) => handleChange(\"name\", e.target.value.truncate(100,true))}\r\n\t\t\t\t\ttitle={currentItem?.name?.length > 0 ? currentItem.name : undefined}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"CREATED_ON\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"UPDATED_ON\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{currentItem?.modifiedBy && \r\n\t\t\t\t\t{t(\"UPDATED_BY\")} {currentItem?.modifiedBy}\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t handleChange(\"description\", value?.truncate(20000,true))}\r\n\t\t\t\t\tonUpdate={() => handleBlur(\"description\")}\r\n\t\t\t\t\tplaceholder={t(\"ENTER_DESCRIPTION\")}\r\n\t\t\t\t\tdisabled={disabledDescription??disabled}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","\r\nimport Cookies from \"js-cookie\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { existingRoutes, publicRoutes } from \"shared/Routes/routes\";\r\nimport { purgeStore } from \"./index\";\r\nimport { persistor, store } from \"./store\";\r\n\r\nexport function isGUID(str) {\r\n\tconst guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\r\n\treturn guidRegex.test(str);\r\n}\r\nexport function urlValidationAndRedirect(path,history,baseurl) {\r\n const paths = path.split(\"/\").filter(Boolean);\r\n\tconst basename = baseurl?.split(\"/\").filter(Boolean);\r\n\tconst token = Cookies.get('Authorization-cemantica');\r\n\r\n\r\n\r\n if (paths.length === 0) return;\r\n\r\n const orgName = paths[0];\r\n const secondSegment = paths[1];\r\n const thirdSegment = paths[2];\r\n // Check for /publicroutes\r\n if (publicRoutes.includes(orgName)) return;\r\n\r\n\tif(paths.length === 1 && token) {\r\n\t\treturn history.push(`/`);\r\n\t}\r\n\tif(paths.length === 1 && !token) {\r\n\t\treturn\r\n\t}\r\n\r\n // Check for /orgname/login or /orgname/authenticate\r\n if (secondSegment === 'login' || secondSegment === 'authenticate') return;\r\n\r\n // Check for /orgname/guid/existingRoutes or /orgname/guid/\r\n if (isGUID(secondSegment)) {\r\n if (paths.length === 2 || (paths.length === 3 && existingRoutes.includes(thirdSegment))) {\r\n return;\r\n\r\n }\r\n }\r\n\tif(basename?.length > 1) {\r\n\t\tif(isGUID(basename[1]) && !basename[2]) {\r\n\t\t\treturn history.push(\"/home\");\r\n\t\t}\r\n\t}\r\n\r\n // If none of the valid patterns match, redirect to /invalid-url\r\n return history.push(\"/invalid-url\");\r\n}\r\n\r\nexport function getBasename (path) {\r\n\tconst paths = path.split(\"/\").filter(Boolean);\r\n\tconst orgName = paths[0];\r\n\tconst token = Cookies.get('Authorization-cemantica');\r\n\r\n\tif (paths.length === 0 && token) {\r\n\t\tconst userInfo = jwt_decode(token);\r\n\t\tconst workspaceIdDefault = userInfo?.DefaultWorkspaceId;\r\n\t\tconst envName = userInfo?.EnvName;\r\n\t\treturn `/${envName}/${workspaceIdDefault}/`;\r\n\t}\r\n\r\n\t// Handle single-segment path\r\n\tif (paths.length === 1) {\r\n\t\tif (publicRoutes.includes(orgName)) return `/`;\r\n\t\tif(token) {\r\n\t\t\tconst workspaceIdDefault = jwt_decode(token)?.DefaultWorkspaceId;\r\n\t\t\tconst envName = jwt_decode(token)?.EnvName;\r\n\t\t\tif(envName === orgName) return `/${envName}/${workspaceIdDefault}/`; // when switching orgname\r\n\t\t}\r\n\t\treturn `/${orgName}/`;\r\n\t}\r\n\r\n\t// Handle two-segment path\r\n\tif (paths.length === 2) {\r\n\t\tconst route = paths[1];\r\n\r\n\t\tif (existingRoutes.includes(route) && token) {\r\n\t\t\tconst workspaceIdDefault = jwt_decode(token)?.DefaultWorkspaceId;\r\n\t\t\tif (['authenticate', 'login'].includes(route)) return `/${orgName}/`; // When switching accounts\r\n\t\t\treturn `/${orgName}/${workspaceIdDefault}/`;\r\n\t\t}\r\n\r\n\t\tif ([...existingRoutes, ...publicRoutes].includes(route)) return `/${orgName}/`;\r\n\t}\r\n\r\n\t// Handle three-segment path or more\r\n\tif (paths.length >= 2) {\r\n\t\tconst workspaceId = paths[1];\r\n\r\n\t\t// Check if orgName is not empty and workspaceId is a GUID\r\n\t\tif (orgName && isGUID(workspaceId)) {\r\n\t\t\treturn `/${orgName}/${workspaceId}/`;\r\n\t\t}\r\n\t}\r\n\r\n\t// Default return for invalid paths\r\n\treturn \"/\";\r\n}\r\n\r\n\r\nexport async function clearPersistedIndexedDB() {\r\n\r\n await store.dispatch(purgeStore());\r\n\tawait persistor.purge();\r\n}\r\n\r\n","import { encode } from \"@utils/helpers\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n\treturn ({ type, endPoint, data, responseType, params, meta,headers }) => ({\r\n\t\ttype,\r\n\t\trequest: {\r\n\t\t\turl: baseUrl + endPoint,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tresponseType,\r\n\t\t},\r\n\t\theaders,\r\n\t\tmeta,\r\n\t\tparams,\r\n\t});\r\n};\r\n// ai actions\r\nconst BASE_URL = \"api/ai/\";\r\nconst createPostAction = InitActionCreator({ baseUrl: BASE_URL, method: \"POST\" });\r\n\r\nexport const askAlex = (props) => genericService({ ...props, action: createPostAction({ type: \"ASK_ALEX\", endPoint: \"generate\", data: {\r\n prompt: encode(props?.prompt) ,\r\n max_tokens : props.max_tokens || 100},\r\n params:{cardId:props.cardId} })\r\n});\r\nexport const askCXAssistant = (props) => genericService({ ...props, action: createPostAction({ type: \"ASK_CX_ASSISTANT\", endPoint: \"assistant\", data: {\r\n prompt: encode(props?.prompt) ,\r\n max_tokens : props.max_tokens || 100}\r\n}) });\r\n\r\nexport const generatePersonaSection_AI = (props) => genericService({ ...props, action: createPostAction({ type: \"GENERATE_PERSONA_SECTION_AI\", endPoint: \"generateSectionText\", data: {\r\n section: props?.section ,\r\n name: props.name,\r\n age: props.age,\r\n profession: props.profession,\r\n gender:props.gender,\r\n language: props?.language,\r\n location:props?.location,\r\n sectionCategory:props.sectionCategory,\r\n advanced: props?.advanced || false},\r\n params:{cardId:props.cardId}\r\n}) });\r\n\r\nexport const resetAlexGeneration = ({id}) => {\r\n\treturn {\r\n\t\ttype: \"RESET_ALEX_GENERATION\",\r\n\t\tpayload: id\r\n\t};\r\n}\r\n\r\nexport const generateImage = (props) => genericService({ ...props, action: createPostAction({ type: \"GENERATE_IMAGE\", endPoint: \"generateImage\", data: {\r\n prompt: encode(props?.prompt),\r\n size: props?.size || \"\"}\r\n}) });\r\n\r\nexport const alexAssistantCjm = (props) => genericService({ ...props, action: createPostAction({ type: \"ASSISTANT_CJM\", endPoint: \"assistant\", data: {\r\n prompt: encode(props?.prompt),\r\n max_tokens: props?.max_tokens},\r\n params:{ keys: props.keys}\r\n}) });\r\n\r\nexport const resetAlexAssistantCJM = ({keys}) => {\r\n\treturn {\r\n\t\ttype: \"RESET_ASSISTANT_CJM\",\r\n\t\tpayload: keys\r\n\t};\r\n}","import React from \"react\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nfunction Descriptions({ object, update, attribute, placeholder, mode }) {\r\n\tconst [descriptions, setDescriptions] = React.useState(object?.[attribute]);\r\n\r\n\tconst handleBlur = () => {\r\n\t\tconst item = { ...object, [attribute]: descriptions.truncate(19999,true) };\r\n\t\tif (descriptions !== object[attribute]) update({ item, modifiedAttribNames: [attribute] });\r\n\t};\r\n\r\n\treturn \r\n\t\t\r\n\t\r\n\r\n}\r\n\r\nDescriptions.displayName = \"Descriptions\";\r\nexport default Descriptions;\r\nconst EditorWrapperOutline = styled.div`\r\nborder-radius: 4px;\r\n width: 100%;\r\n min-height: 60px;\r\n padding: 4px;\r\n border: 1px solid transparent;\r\n ::before {\r\n font-style: italic !important;\r\n color: #C4C4C4 !important;\r\n font-weight: 300;\r\n line-height: 150%; /* 21px */\r\n font-size: 14px;\r\n\r\n }\r\n :hover {\r\n\r\n border: 1px solid #605F60;\r\n }\r\n :focus-within {\r\n border: 1px solid #605F60;\r\n\r\n }\r\n`;\r\n","import { getSessionId, makeGetTouchpoint } from '@redux/memoizedSelectors';\r\nimport { pictureValidation } from '@utils/helpers';\r\nimport PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Moment from 'react-moment';\r\nimport { useSelector } from 'react-redux';\r\nimport { FlexContainer, RegularText } from \"shared/cx-components/cx-components.style\";\r\nimport { Flex } from 'shared/ui-basics';\r\nimport { PictureContainer, TouchPointLayout } from '../personaInteractions_style';\r\n\r\n\r\nfunction HeaderTouchpoints({ channelId, object, updateFunction }) {\r\n\r\n const { t } = useTranslation();\r\n\r\n const touchpoints = useSelector(makeGetTouchpoint(channelId))\r\n const sessionId = useSelector(getSessionId);\r\n const picture = pictureValidation(touchpoints, sessionId);\r\n const { name } = touchpoints || {};\r\n \r\n\r\n return \r\n \r\n \r\n {name?.defaultPlaceholder(\"NEW_TOUCHPOINT\")}\r\n \r\n
{name}
\r\n
\r\n \r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"CREATED_ON\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"UPDATED_ON\")}\r\n \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"UPDATED_BY\")} {object?.modifiedBy}\r\n\t\t\t\t\r\n\t\t\t\r\n
\r\n}\r\n\r\n\r\nHeaderTouchpoints.propTypes = {\r\n channelId: PropTypes.string\r\n};\r\n\r\nHeaderTouchpoints.displayName = \"HeaderTouchpoints\";\r\nexport default HeaderTouchpoints;","import { forcePersonaInteractionRoute, updateShowRoute } from '../../../reducer/CJMActions';\r\nimport { makeFindStageIndex } from '@redux/memoizedSelectors';\r\nimport { isCurrentInteractionInRoute } from '@utils/helpers';\r\nimport PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport { useLocation } from 'react-router-dom/cjs/react-router-dom.min';\r\nimport { IconDispatcher } from 'shared/Icons';\r\nimport CustomTooltip from 'shared/components/CustomTooltip';\r\nimport { Switch } from 'shared/ui-basics/buttons';\r\nimport { FlexAlignStart } from 'shared/ui-basics/index';\r\nimport { Labels, RoutesWrapper } from '../personaInteractions_style';\r\nimport { getInteractionSelector } from 'redux/memoizedSelectors';\r\n\r\nfunction RoutesButtons({ interaction, stageId, mode }) {\r\n\r\n const { t } = useTranslation();\r\n const { cjmIdStr, personaIdStr } = useLocation().search.getAllMapsParams();\r\n const allInteractionsStages = useSelector(getInteractionSelector(personaIdStr, stageId));\r\n const interact = allInteractionsStages.find(inter => inter.id === interaction.id)\r\n const isEnterprise = useSelector(({ auth }) => auth?.userInfo?.UserSubscriptionPlanName === \"Enterprise\");\r\n\r\n const { mainRoute, alternativeRoute } = interact || {};\r\n const isMainRoute = isCurrentInteractionInRoute(interact, allInteractionsStages, \"mainRoute\", \"forcedMainRoute\");\r\n const isAlternativeRoute = isCurrentInteractionInRoute(interact, allInteractionsStages, \"alternativeRoute\",\r\n \"forcedAlternativeRoute\");\r\n\r\n if (!isEnterprise) return null;\r\n\r\n const switches = {\r\n forcedMainRoute: {\r\n tooltip: 'MAIN_ROUTE_DISABLE_WARNING',\r\n disabled: mode.IsViewer() || (mainRoute && isMainRoute),\r\n checked: isMainRoute,\r\n systemCalculatedRoute: mainRoute,\r\n\r\n },\r\n forcedAlternativeRoute: {\r\n tooltip: 'ALTERNATIVE_ROUTE_DISABLE_WARNING',\r\n disabled: mode.IsViewer() || (alternativeRoute && isAlternativeRoute),\r\n checked: isAlternativeRoute,\r\n systemCalculatedRoute: alternativeRoute,\r\n },\r\n }\r\n const forceCustomerRoutes = ({ personaInteractionId, value, type }) => {\r\n if (type === \"forcedMainRoute\") {\r\n forcePersonaInteractionRoute({ personaInteractionId, stageId, newValue: value, isMain: true, cjmIdStr, personaIdStr });\r\n if (value) {\r\n updateShowRoute({ cjmIdStr, showRoute: true, isMain: true });\r\n }\r\n\r\n }\r\n if (type === \"forcedAlternativeRoute\") {\r\n forcePersonaInteractionRoute({ personaInteractionId, stageId, newValue: value, isMain: false, cjmIdStr, personaIdStr });\r\n if (value) {\r\n updateShowRoute({ cjmIdStr, showRoute: true, isMain: false });\r\n }\r\n }\r\n };\r\n const handleSwitchRoute = (id) => {\r\n forceCustomerRoutes({ personaInteractionId: interaction?.id, value: !switches[id].checked, type: id })\r\n }\r\n\r\n return (\r\n {Routes.map(({ id, icon, label, tooltip }) => (\r\n \r\n\r\n
\r\n {t(label)}\r\n {switches[id].systemCalculatedRoute && \r\n {IconDispatcher(icon, 'ms-2 routesClassIcon')}\r\n }\r\n
\r\n
\r\n \r\n handleSwitchRoute(id)}\r\n disabled={switches[id].disabled}\r\n />\r\n \r\n
\r\n
\r\n ))}\r\n
)\r\n}\r\n\r\nconst Routes = [\r\n { id: 'forcedMainRoute', icon: 'MAIN-ROUTE', label: 'MAIN_ROUTE', tooltip: 'MAIN_ROUTE_DESCR' },\r\n { id: 'forcedAlternativeRoute', icon: 'ALTERNATIVE-ROUTE', label: 'ALTERNATIVE_ROUTE', tooltip: 'ALTERNATIVE_ROUTE_DESCR' },\r\n]\r\n\r\nRoutesButtons.displayName = \"RoutesButtons\";\r\nRoutesButtons.propTypes = {\r\n interaction: PropTypes.object,\r\n stageId: PropTypes.string,\r\n};\r\nexport default RoutesButtons;","import { FlexAlign, FlexAlignCenter, GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components\";\r\nimport { Labels } from \"../../../features/journey-map/modals/PersonaInteractions/personaInteractions_style\";\r\n\r\nfunction Property({ icon, mode, RenderElement, label, ...props }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{t(label)}\r\n\t\t\t\t\r\n\t\t\t\t{props?.onRemove && !mode.IsViewer() && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t props?.onRemove(props.id, true)} />\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t{RenderElement && }\r\n\t\t\r\n\t);\r\n}\r\n\r\nProperty.displayName = \"Property\";\r\nProperty.propTypes = {\r\n\ticon: PropTypes.string,\r\n\tlabel: PropTypes.string,\r\n};\r\nexport default Property;\r\n\r\nconst ButtonContainer = styled.div`\r\n visibility: hidden;\r\n`\r\n\r\nconst WrapperLabel = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tborder-radius: 4px;\r\n\t${(props) => props.minHeight && `min-height: ${props.minHeight}px`};\r\n\t${(props) => props.width && `width: ${props.width}px; min-width: ${props.width}px; min-width: ${props.width}px;`};\r\n \r\n\t:hover {\r\n\t\t${(props) => props?.allowBackgroundHover && `background-color:#EFEFEF`};\r\n\t}\r\n :hover ${ButtonContainer} {\r\n visibility: visible\r\n }\r\n`;\r\n\r\n","import PropTypes from \"prop-types\";\r\nimport { SmileyRating } from \"shared/ui-basics/ui-components/EmotionLevelComponents/SmileyRating\";\r\n\r\nfunction Score({ interaction, setInteraction, updateFunction, disabled }) {\r\n\tconst { emotionLevel } = interaction;\r\n\r\n\tconst handleClick = (lvl) => {\r\n\t\tconst updatedLevel = lvl === emotionLevel ? -1 : lvl; // if the same level is clicked, set to -1\r\n\t\tsetInteraction((prev) => ({ ...prev, emotionLevel: updatedLevel }));\r\n\t\t// if (updateFunction) updateFunction({ interaction: updatedInteraction });\r\n\t};\r\n\r\n\treturn ;\r\n}\r\n\r\nScore.displayName = \"Score_EditInteraction\";\r\nScore.propTypes = {\r\n\tinteraction: PropTypes.object,\r\n\tupdateFunction: PropTypes.func,\r\n};\r\nexport default Score;\r\n","import { useSelector } from \"react-redux\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport InsightType from \"shared/ui-basics/ui-components/InsightType\";\r\n\r\nexport default function InsightTypeDropdown({ object, link, unlink, isSwitchDisabled }) {\r\n\tconst allInsightTypes = useSelector((state) => state.libraries.insightTypes) || [];\r\n\tconst linkedIds= object ;\r\n\tconst linkedInsightTypes = allInsightTypes?.filter((it) => linkedIds?.includes(it?.id));\r\n\r\n\tconst renderReadOnlyItems = () => (\r\n\t\t<>\r\n\t\t\t{linkedInsightTypes?.map((it) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n\r\n\tconst params = {\r\n\t\tselected: linkedInsightTypes,\r\n\t\toptions: allInsightTypes,\r\n\t\trenderSelectedItem: (type) => ,\r\n\t\trenderMenuItem: ({ item }) => ,\r\n linkMenuItem: ({ item, close }) => {\r\n close()\r\n link(item.id)\r\n },\r\n\t\tfilter: ({ query, option }) => {\r\n\t\t\tconst it = allInsightTypes.find((s) => s.id === option?.id);\r\n\t\t\tif (it && !linkedInsightTypes.map((li) => li?.id)?.includes(option?.id)) return it?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { forcePersonaInteractionRoute, updateShowRoute } from \"features/journey-map/reducer/CJMActions\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getInteractionSelector } from \"redux/memoizedSelectors\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { Switch } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\nimport { isCurrentInteractionInRoute } from \"utils/helpers\";\r\n\r\nfunction MainRoute({ interaction, setInteraction, stageId, mode, calculatedRouteAttrib, forcedRouteAttrib }) {\r\n\tconst { t } = useTranslation();\r\n\tconst { cjmIdStr, personaIdStr } = useLocation().search.getAllMapsParams();\r\n\r\n\tconst stagesInteractions = useSelector(getInteractionSelector(personaIdStr, stageId));\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\r\n\tconst isEnterprise = subscriptionPlan?.toLowerCase() === \"enterprise\";\r\n\tconst isSharedEnterprise = subscriptionPlan?.toLowerCase() === \"sharedenterprise\";\r\n\r\n\tconst { mainRoute, alternativeRoute } = interaction || {};\r\n\tconst isMainOrAlternativeRoute = isCurrentInteractionInRoute(interaction, stagesInteractions, calculatedRouteAttrib, forcedRouteAttrib);\r\n\r\n\tconst switches = {\r\n\t\tforcedMainRoute: {\r\n\t\t\ttooltip: \"MAIN_ROUTE_DISABLE_WARNING\",\r\n\t\t\tdisabled: mode.IsViewer() || (mainRoute && isMainOrAlternativeRoute),\r\n\t\t\tchecked: isMainOrAlternativeRoute,\r\n\t\t\tsystemCalculatedRoute: mainRoute,\r\n\t\t},\r\n\t\tforcedAlternativeRoute: {\r\n\t\t\ttooltip: \"ALTERNATIVE_ROUTE_DISABLE_WARNING\",\r\n\t\t\tdisabled: mode.IsViewer() || (alternativeRoute && isMainOrAlternativeRoute),\r\n\t\t\tchecked: isMainOrAlternativeRoute,\r\n\t\t\tsystemCalculatedRoute: alternativeRoute,\r\n\t\t},\r\n\t};\r\n\tif (!isEnterprise && !isSharedEnterprise) return null;\r\n\r\n\tconst forceCustomerRoutes = ({ personaInteractionId, value }) => {\r\n\t\tlet isMain = false;\r\n\t\tif (forcedRouteAttrib === \"forcedMainRoute\") {\r\n\t\t\tisMain = true;\r\n\t\t}\r\n\t\tforcePersonaInteractionRoute({ personaInteractionId, stageId, newValue: value, isMain: isMain, cjmIdStr, personaIdStr });\r\n\t\tif (value) {\r\n\t\t\tupdateShowRoute({ cjmIdStr, showRoute: true, isMain: isMain });\r\n\t\t}\r\n\t};\r\n\tconst handleSwitchRoute = (id) => {\r\n\t\tforceCustomerRoutes({ personaInteractionId: interaction?.id, value: !switches[forcedRouteAttrib].checked, type: id });\r\n\t\tsetInteraction && setInteraction((prev) => ({ ...prev, [id]: !switches[forcedRouteAttrib].checked }));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t handleSwitchRoute(forcedRouteAttrib)} disabled={switches[forcedRouteAttrib].disabled} />\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nMainRoute.displayName = \"MainRoute_EditInteraction\";\r\nMainRoute.propTypes = {\r\n\tinteraction: PropTypes.object,\r\n\tupdateFunction: PropTypes.func,\r\n};\r\nexport const RoutesWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tmin-height: 40px;\r\n`;\r\nexport default MainRoute;\r\n","import { linkLibraryValues } from \"@redux/index\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { InformationType } from \"@utils/optionsSets/OptionSets\";\r\nimport { createMultipleInteractions, linkInteraction } from \"features\";\r\nimport _ from \"lodash\";\r\nimport PropTypes from \"prop-types\";\r\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getInteractionSelector, memoizedSwimlanes } from \"redux/memoizedSelectors\";\r\nimport PriorityDropdown from \"shared/dropdowns/cx-dropdown/PriorityDropdown\";\r\nimport StatusDropdown from \"shared/dropdowns/cx-dropdown/StatusDropdown\";\r\nimport DepartmentDropdown from \"shared/dropdowns/library-dropdown/DepartmentDropdown\";\r\nimport InsightTypeDropdown from \"shared/dropdowns/library-dropdown/InsightTypeDropdown\";\r\nimport SystemDropdown from \"shared/dropdowns/library-dropdown/SystemDropdown\";\r\nimport TouchpointDropdown from \"shared/dropdowns/library-dropdown/TouchpointDropdown\";\r\nimport GroupDropdown from \"shared/dropdowns/library-dropdown/group/GroupDropdown\";\r\nimport PersonaDropdown from \"shared/dropdowns/library-dropdown/persona/PersonaDropdown\";\r\nimport TagsDropdown from \"shared/dropdowns/library-dropdown/tags/TagsDropdown\";\r\nimport { ActionPopOver } from \"shared/popovers/ActionsPopOver\";\r\nimport { Borders } from \"shared/ui-basics/index\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { Property, Score } from \"../../../features/journey-map/modals/PersonaInteractions/components\";\r\nimport MainRoute from \"./MainRoute\";\r\n\r\nfunction PropertyManager({ item, updateFunction, mode, defaultRows, ...props }) {\r\n\tconst [currentItem, setCurrentItem] = useState(item);\r\n\tconst [rows, setRows] = useState(defaultRows);\r\n\tconst fixedRows = [\"persona\", \"sentiment\", \"insightType\", \"alternativeRoute\", \"mainRoute\", \"status\", \"priority\"];\r\n\tconst { t } = useTranslation();\r\n\tconst [modifiedAttribNames, setModifiedAttribNames] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (JSON.stringify(currentItem) !== JSON.stringify(item)) {\r\n\t\t\tupdateFunction({ item: currentItem, modifiedAttribNames });\r\n\t\t\tsetModifiedAttribNames([]);\r\n\t\t}\r\n\t}, [currentItem]);\r\n\r\n\tconst handleChangeRows = useCallback((id, remove) => {\r\n\t\tlet update;\r\n\t\tif (remove) {\r\n\t\t\tconst updatedDisplayed = rows.displayed.filter((col) => col !== id);\r\n\t\t\tconst updatedExtra = [...rows.extra, id];\r\n\t\t\tupdate = { ...rows, displayed: updatedDisplayed, extra: updatedExtra };\r\n\t\t} else {\r\n\t\t\tconst updatedDisplayed = [...rows.displayed, id];\r\n\t\t\tconst updatedExtra = rows.extra.filter((col) => col !== id);\r\n\t\t\tupdate = { ...rows, displayed: updatedDisplayed, extra: updatedExtra };\r\n\t\t}\r\n\t\tsetRows(update);\r\n\t\tsetModifiedAttribNames((prev) => [...prev, \"json_property\"]);\r\n\t\tsetCurrentItem((prev) => ({ ...prev, jsonProperty: JSON.stringify(update) }));\r\n\r\n\t}, [currentItem, props]);\r\n\tconst propertyDetails = GetPropertyDetails({ item, currentItem, setCurrentItem, mode, updateFunction, setModifiedAttribNames, ...props });\r\n\r\n\tconst hidedRows = useMemo(() => GetHidedProperties(handleChangeRows, rows, t), [rows]);\r\n\tconst allAdded = useMemo(() => hidedRows.find((d) => d.disabled === false) === undefined, [hidedRows]);\r\n\treturn (\r\n\t\t\r\n\t\t\t{rows.displayed.map((row) => {\r\n\t\t\t\treturn ;\r\n\t\t\t})}\r\n\t\t\t{allAdded ? (\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t{!mode.IsViewer() && hidedRows?.length > 0 && }\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst GetPropertyDetails = ({ item, currentItem, setCurrentItem, recordType, mode, updateFunction, setModifiedAttribNames, stageId, linkFunction, unlinkFunction }) => {\r\n\tconst { personaIdStr, cjmIdStr } = useLocation().search.getAllMapsParams();\r\n\tconst swAdvancedSys = useSelector(memoizedSwimlanes, shallowEqual)?.filter((swimlane) => swimlane?.type === InformationType.Systems);\r\n\tconst swAdvancedDep = useSelector(memoizedSwimlanes, shallowEqual)?.filter((swimlane) => swimlane?.type === InformationType.Departments);\r\n\tconst swAdvancedInteractions = useSelector(memoizedSwimlanes, shallowEqual)?.filter((swimlane) => swimlane?.type === InformationType.AdvancedInteractions);\r\n\tconst interactions = useSelector(getInteractionSelector(personaIdStr, stageId));\r\n\tconst all_insightsTypes = useSelector((s) => _.get(s, \"libraries.insightTypes\", []));\r\n\tconst current_user = useSelector((state) => state.maps.currentUser);\r\n\tconst [localItem, setLocalItem] = useState(item);\r\n\tconst currentInsightType = all_insightsTypes?.find((type) => type.id === currentItem?.typeId);\r\n\tconst handleChangeType = (id) => {\r\n\t\tconst newInteraction = { ...currentItem, typeId: id };\r\n\t\tsetModifiedAttribNames((prev) => [...prev, \"type\"]);\r\n\r\n\t\tsetCurrentItem((prev) => ({ ...prev, typeId: id }));\r\n\t\t// updateFunction({ interaction: newInteraction, modifiedAttribNames: [\"type\"] });\r\n\t};\r\n\r\n\tconst linkInsightToInteraction = (id) => {\r\n\t\tconsole.log(stageId,cjmIdStr)\r\n\t\tif (cjmIdStr && stageId) {\r\n\t\t\tconst getInteraction = interactions?.filter((inter) => inter?.channelId === id);\r\n\t\t\tif (getInteraction && getInteraction?.length > 0) {\r\n\t\t\t\tgetInteraction?.forEach((inter) => {\r\n\t\t\t\t\tlinkInteraction({\r\n\t\t\t\t\t\trecIds: [currentItem.id],\r\n\t\t\t\t\t\tstageId,\r\n\t\t\t\t\t\titemId: inter.id,\r\n\t\t\t\t\t\tattribute: \"linkedInsights\",\r\n\t\t\t\t\t\trecEntityName: \"cem_insight\",\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t//create persona interaction\r\n\t\t\t\tconst newGuid = uuidv4();\r\n\t\t\t\tcreateMultipleInteractions({ personaInteractionsIds: { [id]: newGuid }, personaIdStr, cjmIdStr, ownerId: EMPTY_GUID, stageId: currentItem?.stageId, modifiedBy: current_user?.fullName });\r\n\t\t\t\tlinkInteraction({\r\n\t\t\t\t\trecIds: [currentItem.id],\r\n\t\t\t\t\tstageId,\r\n\t\t\t\t\titemId: newGuid,\r\n\t\t\t\t\tattribute: \"linkedInsights\",\r\n\t\t\t\t\trecEntityName: \"cem_insight\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tconst handleChangeElement = ({ id, attribute, mode, entityType, prefix }) => {\r\n\t\tlet update;\r\n\t\tif (mode === \"delete\") {\r\n\t\t\tupdate = localItem?.[attribute].filter((s) => s !== id);\r\n\t\t} else {\r\n\t\t\tupdate = [...(localItem?.[attribute] || []), id];\r\n\t\t}\r\n\r\n\t\tconst updatedItem = { ...localItem, [attribute]: update };\r\n\t\tsetLocalItem(updatedItem);\r\n\r\n\t\tif (mode === \"delete\") {\r\n\t\t\tunlinkFunction({ itemId: currentItem.id, recIds: [id], stageId, attribute, recEntityName: entityType, prefixRelationships: prefix });\r\n\t\t} else {\r\n\t\t\tlinkFunction({ itemId: currentItem.id, recIds: [id], stageId, attribute, recEntityName: entityType, prefixRelationships: prefix });\r\n\t\t\tif (attribute === \"linkedTouchpoints\" && recordType === \"cem_insight\" && swAdvancedInteractions) {\r\n\t\t\t\t//link TP on Insight\r\n\t\t\t\tlinkInsightToInteraction(id);\r\n\t\t\t}\r\n\t\t\tif (attribute == \"linkedSystems\" && swAdvancedSys) {\r\n\t\t\t\tif (swAdvancedSys?.[0]) {\r\n\t\t\t\t\tconst newId = uuidv4();\r\n\t\t\t\t\tlinkLibraryValues({ swimLaneItemIds: [newId], libraryValueIds: [id], customSwimLaneId: swAdvancedSys?.[0]?.key, stageId, cjmId: cjmIdStr });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (attribute == \"linkedDepartments\" && swAdvancedDep) {\r\n\t\t\t\tif (swAdvancedDep?.[0]) {\r\n\t\t\t\t\tconst newId = uuidv4();\r\n\t\t\t\t\tlinkLibraryValues({ swimLaneItemIds: [newId], libraryValueIds: [id], customSwimLaneId: swAdvancedDep?.[0]?.key, stageId, cjmId: cjmIdStr });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleChangeTagsGroups = (updated) => {\r\n\t\tconst newInteraction = { ...currentItem, tags: updated.tags, groups: updated.groups };\r\n\t\tsetModifiedAttribNames((prev) => [...prev, ...[\"tags\", \"groups\"]]);\r\n\r\n\t\tsetCurrentItem((prev) => ({ ...prev, tags: updated.tags, groups: updated.groups }));\r\n\t\t// updateFunction({ interaction: newInteraction, modifiedAttribNames: [\"tags\", \"groups\"] });\r\n\t};\r\n\r\n\tconst handleUpdateStatusPriority = ({ id, attribute }) => {\r\n\t\tconst newInteraction = { ...currentItem, [attribute]: id };\r\n\t\tsetModifiedAttribNames((prev) => [...prev, attribute]);\r\n\t\tsetCurrentItem((prev) => ({ ...prev, [attribute]: id }));\r\n\t\t// updateFunction({ interaction: newInteraction, modifiedAttribNames: [attribute] });\r\n\t};\r\n\r\n\tconst properties = {\r\n\t\tpersona: {\r\n\t\t\ticon: \"PERSONA\",\r\n\t\t\tlabel: \"ASPX_98\",\r\n\t\t\tRenderElement: () => (\r\n\t\t\t\t handleChangeElement({ id, attribute: \"linkedPersonas\", entityType: \"cem_persona\" })}\r\n\t\t\t\t\tunlink={(id) => handleChangeElement({ id, attribute: \"linkedPersonas\", entityType: \"cem_persona\", mode: \"delete\" })}\r\n\t\t\t\t\tisSwitchDisabled={mode?.IsViewer()}\r\n\t\t\t\t/>\r\n\t\t\t),\r\n\t\t},\r\n\t\tsentiment: {\r\n\t\t\tlabel: \"JS_79\",\r\n\t\t\ticon: \"face-smile\",\r\n\t\t\tRenderElement: () => ,\r\n\t\t},\r\n\t\tmainRoute: {\r\n\t\t\tlabel: \"MAIN_ROUTE\",\r\n\t\t\ticon: \"arrows-turn-right\",\r\n\t\t\tRenderElement: () => (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\talternativeRoute: {\r\n\t\t\tlabel: \"ALTERNATIVE_ROUTE\",\r\n\t\t\ticon: \"arrows-turn-right\",\r\n\t\t\tRenderElement: () => (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t},\r\n\t\ttags: {\r\n\t\t\tlabel: \"TAG\",\r\n\t\t\ticon: \"tag\",\r\n\t\t\tRenderElement: () => ,\r\n\t\t},\r\n\t\tgroups: {\r\n\t\t\tlabel: \"GROUP\",\r\n\t\t\ticon: \"tag\",\r\n\t\t\tRenderElement: () => ,\r\n\t\t},\r\n\t\tdepartments: {\r\n\t\t\tlabel: \"DEPARTMENTS\",\r\n\t\t\ticon: \"DEPARTMENT_DUOTONE\",\r\n\t\t\tRenderElement: () => (\r\n\t\t\t\t handleChangeElement({ id, attribute: \"linkedDepartments\", entityType: \"cem_libraryvalue\", prefix: \"department\" })}\r\n\t\t\t\t\tunlink={(id) => handleChangeElement({ id, attribute: \"linkedDepartments\", mode: \"delete\", entityType: \"cem_libraryvalue\", prefix: \"department\" })}\r\n\t\t\t\t\tisSwitchDisabled={mode?.IsViewer()}\r\n\t\t\t\t/>\r\n\t\t\t),\r\n\t\t},\r\n\t\tsystems: {\r\n\t\t\tlabel: \"SYSTEMS\",\r\n\t\t\ticon: \"SYSTEM_DUOTONE\",\r\n\t\t\tRenderElement: () => (\r\n\t\t\t\t handleChangeElement({ id, attribute: \"linkedSystems\", entityType: \"cem_libraryvalue\", prefix: \"system\" })}\r\n\t\t\t\t\tunlink={(id) => handleChangeElement({ id, attribute: \"linkedSystems\", mode: \"delete\", entityType: \"cem_libraryvalue\", prefix: \"system\" })}\r\n\t\t\t\t\tisSwitchDisabled={mode?.IsViewer()}\r\n\t\t\t\t/>\r\n\t\t\t),\r\n\t\t},\r\n\t\tlinkedTouchpoints: {\r\n\t\t\tlabel: \"LINKED_TOUCHPOINTS\",\r\n\t\t\ticon: \"circle-dot\",\r\n\t\t\tRenderElement: () => (\r\n\t\t\t\t handleChangeElement({ id, attribute: \"linkedTouchpoints\", entityType: \"cem_touchpoints\" })}\r\n\t\t\t\t\tunlink={(id) => handleChangeElement({ id, attribute: \"linkedTouchpoints\", mode: \"delete\", entityType: \"cem_touchpoints\" })}\r\n\t\t\t\t\tisSwitchDisabled={mode?.IsViewer()}\r\n\t\t\t\t\tstageId={recordType === \"cem_insight\" && currentItem?.stageId}\r\n\t\t\t\t/>\r\n\t\t\t),\r\n\t\t},\r\n\t\tinsightType: {\r\n\t\t\ticon: \"HASHTAG\",\r\n\t\t\tlabel: \"JS_78\",\r\n\t\t\tRenderElement: () => (\r\n\t\t\t\t handleChangeType({ id: EMPTY_GUID })}\r\n\t\t\t\t\tisSwitchDisabled={mode.IsViewer()}\r\n\t\t\t\t/>\r\n\t\t\t),\r\n\t\t},\r\n\t\tstatus: {\r\n\t\t\ticon: \"circle\",\r\n\t\t\tlabel: \"ASPX_222\",\r\n\t\t\tRenderElement: () => (\r\n\t\t\t\t handleUpdateStatusPriority({ id, attribute: \"statusId\" })}\r\n\t\t\t\t\tunlink={() => handleUpdateStatusPriority({ id: EMPTY_GUID, attribute: \"statusId\" })}\r\n\t\t\t\t\tisSwitchDisabled={mode.IsViewer()}\r\n\t\t\t\t/>\r\n\t\t\t),\r\n\t\t},\r\n\t\tpriority: {\r\n\t\t\ticon: \"arrow-up-big-small\",\r\n\t\t\tlabel: \"PRIORITY\",\r\n\t\t\tRenderElement: () => (\r\n\t\t\t\t handleUpdateStatusPriority({ id, attribute: \"priorityId\" })}\r\n\t\t\t\t\tunlink={() => handleUpdateStatusPriority({ id: EMPTY_GUID, attribute: \"priorityId\" })}\r\n\t\t\t\t\tisSwitchDisabled={mode.IsViewer()}\r\n\t\t\t\t/>\r\n\t\t\t),\r\n\t\t},\r\n\t};\r\n\r\n\treturn properties;\r\n};\r\n\r\nconst GetHidedProperties = (handleChangeRows, rows, t) => {\r\n\treturn [\r\n\t\t{ id: \"groups\", handleClick: () => handleChangeRows(\"groups\"), icon: \"GROUP_DUOTONE\", text: t(\"GROUPS\"), itemClasses: \"d-flex align-items-center\" },\r\n\t\t{ id: \"systems\", handleClick: () => handleChangeRows(\"systems\"), icon: \"window\", text: t(\"SYSTEMS\"), itemClasses: \"d-flex align-items-center\" },\r\n\t\t{ id: \"departments\", handleClick: () => handleChangeRows(\"departments\"), icon: \"user-group\", text: t(\"DEPARTMENTS\"), itemClasses: \"d-flex align-items-center\" },\r\n\t\t{ id: \"linkedTouchpoints\", handleClick: () => handleChangeRows(\"linkedTouchpoints\"), icon: \"LINK_DUOTONE\", text: t(\"LINKED_TOUCHPOINTS\"), itemClasses: \"d-flex align-items-center\" },\r\n\t\t{ id: \"tags\", handleClick: () => handleChangeRows(\"tags\"), icon: \"TAG\", text: t(\"TAGS\"), itemClasses: \"d-flex align-items-center\" },\r\n\t].map((action) => {\r\n\t\treturn { ...action, disabled: rows.displayed.includes(action.id) };\r\n\t});\r\n};\r\n\r\nPropertyManager.displayName = \"PropertyManager\";\r\nPropertyManager.propTypes = {\r\n\titem: PropTypes.object,\r\n\tupdateFunction: PropTypes.func,\r\n\tmode: PropTypes.string,\r\n\tlinkFunction: PropTypes.func,\r\n\tunlinkFunction: PropTypes.func,\r\n\trecordType: PropTypes.string,\r\n\tdefaultRows: PropTypes.object,\r\n};\r\nexport default PropertyManager;\r\n","import TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\nimport { getTaxonomyColorData } from \"utils/helpers\";\r\n\r\nexport default function StatusItem({ status, isEdit = undefined, handleRemove = undefined }) {\r\n\tif (!status) return null;\r\n\r\n\tconst { color, backgroundColor } = getTaxonomyColorData({ entity: \"status\", colorCode: status?.colorCode });\r\n\tconst isUnlinkable = isEdit && handleRemove;\r\n\r\n\tconst handleUnlink = ({ e }) => {\r\n\t\te?.stopPropagation();\r\n\t\thandleRemove(status.id);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\n","import { useTranslation } from \"react-i18next\";\r\nimport PickListData from \"../../utils/optionsSets/PickListData\";\r\nimport * as Style from \"./style\";\r\nimport { Dropdown, DropdownItem } from \"reactstrap\";\r\nimport { IconDispatcher } from \"../ui-basics\";\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getEntityCurrentState } from \"@utils/helpers\";\r\n\r\nexport default function DisplayState({ object, setObject, style, disable = false, updateFunction, size = \"m\", attKey = \"isFuture\" }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [toggleState, setToggleState] = React.useState(false);\r\n\tconst state = PickListData(\"state\");\r\n\tconst choiceFuture = typeof object?.[attKey] === \"number\" ? object?.[attKey] : getEntityCurrentState(object?.[attKey]);\r\n\tconst selectedState = getSelected(state, choiceFuture);\r\n\tconst showPlaceHolder = Object.keys(selectedState)?.length === 0;\r\n\tconst toggle = () => setToggleState(!toggleState);\r\n\tconst pathname = useLocation().pathname;\r\n\tconst borderVisible = [\"/journey-map\", \"/opportunity\", \"/cx-actions\", \"/solutions\", \"/personas\", \"/cx-program\"].includes(pathname) ? \"false\" : \"true\"; //border not visible on table\r\n\tconst handleClick = (value) => {\r\n\t\tconst updatedObject = { ...object, [attKey]: value };\r\n\t\tsetObject && setObject(updatedObject);\r\n\t\tif (updateFunction) updateFunction(updatedObject, [attKey]);\r\n\t};\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{state && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{showPlaceHolder ? (\r\n\t\t\t\t\t\t\t{t(\"SELECT_VALUE\")}\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{selectedState.name}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
{IconDispatcher(toggleState ? \"ANGLE-UP\" : \"ANGLE-DOWN\")}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{state?.map((stateValue) => (\r\n\t\t\t\t\t\t\t handleClick(stateValue.value)}>\r\n\t\t\t\t\t\t\t\t{stateValue.name}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n// === true ? StateTypeOption.FutureState : StateTypeOption.CurrentState\r\nconst getSelected = (state, choiceFuture) => {\r\n\tif (state?.length > 0) {\r\n\t\tconst found = state?.find((prio) => prio.value === choiceFuture);\r\n\t\tif (found) return found;\r\n\t\treturn {};\r\n\t}\r\n\treturn {};\r\n};\r\n","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getInteractionSelector } from \"redux/memoizedSelectors\";\r\nimport { TouchpointSelectCard } from \"shared/components/cards/cx-cards/TouchpointSelectCard\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport { MenuItem, MenuLabel } from \"shared/dropdowns/typeahead-styles\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport { FlexColumnGap } from \"shared/ui-basics\";\r\n\r\nexport default function TouchpointDropdown({ object, link, unlink, attributeName, showInUse = false, isSwitchDisabled, stageId, isCloseWhenSelected = false }) {\r\n\tconst { t } = useTranslation();\r\n\tconst { cjmIdStr ,personaIdStr} = useLocation().search.getAllMapsParams();\r\n\r\n\tconst allTouchpoints = useSelector((state) => state.libraries.touchPoint) || [];\r\n\tconst inUseTouchpointsIds = useSelector((state) => state?.maps?.current_map?.cjmData)\r\n\t\t?.flat()\r\n\t\t?.map((interaction) => interaction?.touchPointId) || [];\r\n\r\n\tconst touchpointCategories = [{ name: \"ALL\", id: EMPTY_GUID }, ...(useSelector((state) => state.libraries.touchPointCategories) || [])];\r\n\tconst linkedIds = object?.[attributeName] || object?.linkedTouchpoints || [];\r\n\tconst linkedTouchpoints = allTouchpoints?.filter((tp) => linkedIds?.includes(tp?.id));\r\n\tconst inUseTouchpoints = allTouchpoints?.filter((tp) => inUseTouchpointsIds?.includes(tp.id));\r\n\tconst isUseStageTouchpoints = useSelector(getInteractionSelector(personaIdStr, stageId));\r\n\r\n\tconst renderInUseTouchpoints = (close) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{t(\"ALREADY_USED\")}\r\n\t\t\t\t\r\n\t\t\t\t\t{inUseTouchpoints?.map((item) => (\r\n\t\t\t\t\t\t { link(item.id); isCloseWhenSelected && close() }}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderMenuWithCategories = ({ results, clearInput, close }) => {\r\n\t\treturn touchpointCategories.slice(1, Infinity)?.map((category) => {\r\n\t\t\tconst categoryList = results?.filter((l) => l.categoryId === category.id && category.isShown);\r\n\t\t\tif (categoryList?.length === 0) return null;\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(category?.name)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{categoryList?.map((item) => (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tclearInput();\r\n\t\t\t\t\t\t\t\t\tlink(item.id);\r\n\t\t\t\t\t\t\t\t\tisCloseWhenSelected && close();\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t});\r\n\t};\r\n\r\n\tconst renderReadOnlyItems = () => (\r\n\t\t<>\r\n\t\t\t{linkedTouchpoints?.map((tp) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t interaction.touchPointId === tp.id)} />\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n\r\n\tconst params = {\r\n\t\tselected: linkedTouchpoints,\r\n\t\toptions: allTouchpoints,\r\n\t\trenderSelectedItem: (tp) => interaction.touchPointId === tp.id)} />,\r\n\t\trenderCustomMenu: ({ results, input, clearInput, close }) => {\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{showInUse && inUseTouchpoints && !input && renderInUseTouchpoints(close)}\r\n\t\t\t\t\t{renderMenuWithCategories({ results, clearInput, close })}\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t},\r\n\t\tfilter: ({ query, option }) => {\r\n\t\t\tconst tp = allTouchpoints.find((tp) => tp.id === option?.id);\r\n\t\t\tif (tp && !linkedTouchpoints.map((g) => g.id)?.includes(option?.id)) return tp?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { useSelector } from \"react-redux\";\r\nimport { FilterTemplate } from \"./FilterTemplate\";\r\n\r\ninterface PersonaFilterProps {\r\n\tinnerRef: React.RefObject<{\r\n\t\tgetFilters: () => string[];\r\n\t}>;\r\n\thandleApply: () => void;\r\n}\r\n\r\nexport const PersonaFilter: React.FC = ({ innerRef, handleApply }) => {\r\n\tconst showSampleData = useSelector((state) => state.settings.organization.showSampleData);\r\n\tconst personas = useSelector(({ personas }) => personas?.all_personas.getActiveRecords(!showSampleData) || []);\r\n\r\n\treturn ;\r\n};\r\n","import { useSelector } from \"react-redux\";\r\nimport { FilterTemplate } from \"./FilterTemplate\";\r\n\r\ninterface TouchpointFilterProps {\r\n\tinnerRef: React.RefObject<{\r\n\t\tgetFilters: () => string[];\r\n\t}>;\r\n\thandleApply: () => void;\r\n}\r\n\r\nexport const TouchpointFilter: React.FC = ({ innerRef, handleApply }) => {\r\n\tconst touchpoints = useSelector(({ libraries }) => libraries?.touchPoint || [])?.sort((a, b) => a.name.localeCompare(b.name));\r\n\r\n\treturn ;\r\n};\r\n","import { getInitials } from \"@utils/helpers\";\r\nimport { modes } from \"@utils/optionsSets/OptionSets\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { FlexAlignCenter } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components\";\r\nimport InitialsBubble from \"./initials-bubble\";\r\n\r\nexport const UserDetails = ({ user, desactivateClick = false, tooltipText, size = \"m\" }) => {\r\n\tconst history = useHistory();\r\n\r\n\tconst handleClick = () => {\r\n\t\thistory.push(`/edit-user?id=${user?.id}&mode=${modes.update}`);\r\n\t};\r\n\tconst name = user?.firstName + \" \" + user?.lastName;\r\n\r\n\tconst isTooltipDisabled = () => {\r\n\t\tif (tooltipText) return false;\r\n\t\tif (user?.subject?.length <= 21) return true;\r\n\t\tif (!user?.subject) return true;\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst getTooltipText = () => {\r\n\t\tif (tooltipText) return tooltipText;\r\n\t\treturn user?.subject;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t {} : handleClick}>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{name}\r\n\t\t\t\t\t\t{user?.loginName}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nUserDetails.displayName = \"FormSettings\";\r\nexport default UserDetails;\r\n\r\nconst Container = styled.div`\r\n\twhite-space: nowrap;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tcursor: default;\r\n\t\t\t:hover {\r\n\t\t\t\tcursor: default;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n\r\nconst Details = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\t${(props) =>\r\n\t\tprops.size === \"l\" &&\r\n\t\tcss`\r\n\t\t\tgap: 8px;\r\n\t\t`}\r\n`;\r\n\r\nconst FullName = styled.div`\r\n\tcolor: #333;\r\n\tfont-weight: 400;\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"l\" &&\r\n\t\tcss`\r\n\t\t\tfont-size: 24px;\r\n\t\t`}\r\n`;\r\n\r\nconst Email = styled.div`\r\n\tcolor: #605f60;\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\tfont-size: 12px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"l\" &&\r\n\t\tcss`\r\n\t\t\tfont-size: 14px;\r\n\t\t`}\r\n`;\r\n","import { getRequestStatus } from \"@redux/memoizedSelectors\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { ActionConfirmModal, DuplicateModal } from \"shared/modals/index\";\r\nimport { FlexBetweenAlignCenter } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nconst LibraryItemCard = React.forwardRef(\r\n\t({ item, itemType, imageSrc, icon, handleEdit, deleteFunction, deleteText = \"DELETE_PERMANENT_GENERIC\", setFocus, allowDeleteWithoutWarning, actionType, copyFunction, label }, ref) => {\r\n\t\tconst tooltipRef = useRef(null);\r\n\t\tconst { t } = useTranslation();\r\n\r\n\t\tconst [isEllipsisActive, setIsEllipsisActive] = useState(false);\r\n\t\tconst { pending } = useSelector(getRequestStatus({ type: actionType }), shallowEqual);\r\n\t\tconst [isUpdating, setIsUpdating] = useState(false);\r\n\t\tconst isDeleting = pending === 1 && isUpdating;\r\n\r\n\t\tuseEffect(() => {\r\n\t\t\tif (tooltipRef?.current?.offsetWidth < tooltipRef?.current?.scrollWidth) {\r\n\t\t\t\tsetIsEllipsisActive(true);\r\n\t\t\t}\r\n\t\t}, [tooltipRef]);\r\n\r\n\t\tuseEffect(() => {\r\n\t\t\tif (setFocus) ref?.current?.scrollIntoView();\r\n\t\t}, [setFocus]);\r\n\t\tuseEffect(() => {\r\n\t\t\tif (pending === 0) {\r\n\t\t\t\tsetIsUpdating(false);\r\n\t\t\t}\r\n\t\t}, [pending]);\r\n\r\n\t\tconst checkIsDeleteAllowed = () => {\r\n\t\t\tif (Object.prototype.hasOwnProperty.call(item, \"isCustom\")) return item?.isCustom;\r\n\t\t\treturn true;\r\n\t\t};\r\n\r\n\t\tconst onSuccess = () => {\r\n\t\t\thideModalDelete();\r\n\t\t};\r\n\r\n\t\tconst deleteFunctionWrapper = (e) => {\r\n\t\t\tif (e instanceof Event) e?.stopPropagation();\r\n\t\t\tsetIsUpdating(true);\r\n\t\t\tdeleteFunction({ id: item?.id, onSuccess });\r\n\t\t};\r\n\r\n\t\tconst displayImage = () => {\r\n\t\t\tif (imageSrc) return \"\";\r\n\t\t\tif (icon) return IconDispatcher(icon);\r\n\t\t\treturn ;\r\n\t\t};\r\n\r\n\t\tconst [showModalDelete, hideModalDelete] = useModal(ActionConfirmModal, {\r\n\t\t\ttitle: t(\"ASPX_145\"),\r\n\t\t\tbodyContent: deleteText,\r\n\t\t\tAction: deleteFunctionWrapper,\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\r\n\t\tconst [showCopyModal] = useModal(DuplicateModal, {\r\n\t\t\ttitle: `${t(\"JS_61\")} ${t(label)}`,\r\n\t\t\tinputTitle: \"NAME\",\r\n\t\t\tcloseBtnLabel: \"COPY\",\r\n\t\t\tinputValue: `${item?.name} - ${t(\"COPY\")}`,\r\n\t\t\taction: ({ name, selectedWorkspaces }) => copyFunction({ id: item?.id, name, workspaceIds: selectedWorkspaces.map((w) => w?.id) }),\r\n\t\t});\r\n\t\tconst displayActions = () => {\r\n\t\t\treturn CreateActionsDropdown({\r\n\t\t\t\tactions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"copy\",\r\n\t\t\t\t\t\thandleClick: () => {\r\n\t\t\t\t\t\t\tshowCopyModal();\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\ticon: \"COPY\",\r\n\t\t\t\t\t\ttext: t(\"COPY\"),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"delete\",\r\n\t\t\t\t\t\thandleClick: () => {\r\n\t\t\t\t\t\t\tallowDeleteWithoutWarning ? deleteFunctionWrapper() : showModalDelete();\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\ticon: \"TRASH\",\r\n\t\t\t\t\t\ttext: t(\"DELETE\"),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tid: item?.id,\r\n\t\t\t\tvariant: \"default\",\r\n\t\t\t\tdropdownClasses: \"\",\r\n stopPropagation: false,\r\n size: \"xs\",\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{displayImage()}\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item?.name}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{checkIsDeleteAllowed() && {displayActions()}}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n);\r\nLibraryItemCard.displayName = \"LibraryItemCard\";\r\nexport { LibraryItemCard };\r\n\r\nconst ActionsBox = styled.div`\r\n\tdisplay: none;\r\n`;\r\n\r\nconst Card = styled.div`\r\n\twidth: 240px;\r\n\theight: 36px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tborder-radius: 0.25rem;\r\n\tborder: 1px solid #c4c4c4;\r\n\tcursor: pointer;\r\n\r\n\t${(props) =>\r\n\t\t(props.disabled || props.isdeleting) &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t\topacity: 0.5;\r\n\t\t`}\r\n\r\n\t:hover ${ActionsBox} {\r\n\t\tdisplay: flex;\r\n\t}\r\n\t${(props) => props.setfocus && `animation: name 2s ease-out;`}\r\n\t@keyframes name {\r\n\t\t100% {\r\n\t\t\tborder: 1px solid #f96209;\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nconst ImageContainer = styled.div`\r\n\theight: 100%;\r\n\twidth: 36px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\timg {\r\n\t\tmax-width: 24px;\r\n\t\tmax-height: 24px;\r\n\t}\r\n`;\r\n\r\nconst CustomShape = styled.div`\r\n\t${(props) =>\r\n\t\tprops.type === \"system\" &&\r\n\t\tcss`\r\n\t\t\tbackground: ${(props) => props.color};\r\n\t\t\twidth: 24px;\r\n\t\t\theight: 24px;\r\n\t\t\tborder-radius: 2px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.type === \"department\" &&\r\n\t\tcss`\r\n\t\t\tbackground: ${(props) => props.color};\r\n\t\t\twidth: 24px;\r\n\t\t\theight: 24px;\r\n\t\t\tborder-radius: 14px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.type === \"library\" &&\r\n\t\tcss`\r\n\t\t\tborder-left: 10px solid transparent;\r\n\t\t\tborder-right: 10px solid transparent;\r\n\t\t\tborder-bottom: calc(2 * 10px * 0.866) solid ${(props) => props.color};\r\n\t\t\tborder-top: 10px solid transparent;\r\n\t\t\tdisplay: inline-block;\r\n\t\t\tmargin-bottom: 10px;\r\n\t\t`}\r\n`;\r\n\r\nconst NameContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tborder-left: 1px solid #c4c4c4;\r\n\twidth: 168px;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 16px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden;\r\n`;\r\n","import { DuplicateModal, NewModal } from \"shared/modals/index\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { FlexBetweenAlignCenter, GenericButton, SearchBar } from \"shared/ui-basics/index\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport { EmptyList } from \"shared/ui-basics/ui-components/EmptyList\";\r\nimport { copyTouchpointCategory, deleteTouchpointCategory, upsertTouchpointCategory } from \"@redux/index\";\r\nimport { EMPTY_GUID, emptyListData } from \"@utils/helpers\";\r\nimport React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nconst getAttributeForCategory = (item) => {\r\n\tif (item?.categoryId) return \"categoryId\";\r\n\telse if (item?.category) return \"category\";\r\n\telse if (item?.type) return \"type\";\r\n\treturn \"\";\r\n};\r\n\r\nconst newTouchpointCategory = {\r\n\tname: \"\",\r\n\tid: EMPTY_GUID,\r\n};\r\n\r\nexport const LibraryTemplate = ({ items, title, addBtnText, showCreateModal, categories, displayLibraryItem }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst [filterValue, setFilterValue] = useState(\"\");\r\n\tconst categoryAttId = getAttributeForCategory(items?.[0]);\r\n\tconst All = EMPTY_GUID;\r\n\tconst [category, setCategory] = useState(EMPTY_GUID);\r\n\tconst displayMenu = categories ? true : false;\r\n\tconst subscriptionPlanName = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst shownCategory = (categories && Object.fromEntries(categories?.filter((x) => x?.isShown === undefined || x.isShown)?.map((x) => [x.id, x?.name]))) || {};\r\n\tconst isEnterprise = subscriptionPlanName === \"Enterprise\";\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tsetFilterValue(e.target.value);\r\n\t};\r\n\r\n\tconst getItemsCount = (category) => {\r\n\t\tif (category && category !== All) {\r\n\t\t\treturn items?.filter((obj) => obj[categoryAttId]?.toString() === category)?.length;\r\n\t\t}\r\n\t\treturn items?.filter((item) => categoryAttId !== \"categoryId\" || shownCategory[item[categoryAttId]?.toString()])?.length;\r\n\t};\r\n\r\n\tconst selectCategory = (e) => {\r\n\t\tsetCategory(e.currentTarget.id);\r\n\t};\r\n\r\n\tconst Search = SearchBar({ filterValue, handleChange, size: \"small\", label: `SEARCH`, floatLabel: false });\r\n\r\n\tconst getFilteredItems = () => {\r\n\t\tlet filteredItems = items;\r\n\t\tif (categories && category !== EMPTY_GUID) {\r\n\t\t\tfilteredItems = items?.filter((item) => category === item?.[categoryAttId]?.toString());\r\n\t\t}\r\n\t\tfilteredItems = filteredItems\r\n\t\t\t?.filter((item) => item?.name?.toUpperCase().includes(filterValue?.toUpperCase()) && (categoryAttId !== \"categoryId\" || shownCategory[item[categoryAttId]?.toString()]))\r\n\t\t\t?.sortAsc(\"name\");\r\n\t\treturn filteredItems;\r\n\t};\r\n\r\n\tconst { icon, color } = emptyListData.libraries;\r\n\r\n\tconst menuDisplay = (categoryObj) => {\r\n\t\tif (categoryObj.isShown === undefined) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{t(categoryObj?.name)} ({getItemsCount(categoryObj?.id)})\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(categoryObj?.name)} ({getItemsCount(categoryObj?.id)})\r\n\t\t\t\t
\r\n\t\t\t\t{displayActions(categoryObj)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst displayActions = (categoryObj) => {\r\n\t\tconst isDeleteAllowed = getItemsCount(categoryObj?.id) > 0;\r\n\t\tconst isUpdatedAllowed = isEnterprise || categoryObj?.isCustom ? true : false;\r\n\r\n\t\tif (!isUpdatedAllowed) {\r\n\t\t\treturn
;\r\n\t\t}\r\n\r\n\t\treturn CreateActionsDropdown({\r\n\t\t\tactions: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: \"show\",\r\n\t\t\t\t\thandleClick: () => {\r\n\t\t\t\t\t\tupsertTouchpointCategory({ touchpointCategory: { ...categoryObj, isShown: !categoryObj?.isShown } });\r\n\t\t\t\t\t},\r\n\t\t\t\t\ticon: categoryObj?.isShown ? \"HIDE_EYE\" : \"VIEW\",\r\n\t\t\t\t\ttext: t(categoryObj?.isShown ? \"HIDE\" : \"SHOW\"),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: \"edit\",\r\n\t\t\t\t\thandleClick: () => {\r\n\t\t\t\t\t\tshowCreateCategoryModal({\r\n\t\t\t\t\t\t\ttitle: \"JS_89\",\r\n\t\t\t\t\t\t\tcloseBtnLabel: \"ASPX_135\",\r\n\t\t\t\t\t\t\tinputTitle: \"CATEGORY_NAME\",\r\n\t\t\t\t\t\t\tplaceholder: \"NEW_CATEGORY\",\r\n\t\t\t\t\t\t\tvalue: categoryObj?.name,\r\n\t\t\t\t\t\t\taction: (name) => upsertTouchpointCategory({ touchpointCategory: { ...categoryObj, name } }),\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t},\r\n\t\t\t\t\ticon: \"EDIT\",\r\n\t\t\t\t\ttext: t(\"JS_89\"),\r\n\t\t\t\t\tdisabled: !isUpdatedAllowed,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: \"copy\",\r\n\t\t\t\t\thandleClick: () => {\r\n\t\t\t\t\t\tshowCopyModal({\r\n\t\t\t\t\t\t\ttitle: `${t(\"JS_61\")} ${t('CATEGORY')}`,\r\n\t\t\t\t\t\t\tinputTitle: \"NAME\",\r\n\t\t\t\t\t\t\tcloseBtnLabel: \"COPY\",\r\n\t\t\t\t\t\t\tinputValue: categoryObj?.name,\r\n\t\t\t\t\t\t\taction: ({ name, selectedWorkspaces }) => copyTouchpointCategory({ id: categoryObj?.id, name, workspaceIds: selectedWorkspaces.map((w) => w?.id) }),\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t},\r\n\t\t\t\t\ticon: \"COPY\",\r\n\t\t\t\t\ttext: t(\"COPY\"),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: \"delete\",\r\n\t\t\t\t\thandleClick: () => {\r\n\t\t\t\t\t\tdeleteTouchpointCategory({ id: categoryObj?.id });\r\n\t\t\t\t\t},\r\n\t\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t\t\ttooltipText: isDeleteAllowed && t(\"ERROR_DELETE_CATEGORY\"),\r\n\t\t\t\t\tdisabled: isDeleteAllowed,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvariant: \"default\",\r\n\t\t\tdropdownClasses: \"\",\r\n\t\t});\r\n\t};\r\n\tconst handleCreate = () => {\r\n\t\tshowCreateCategoryModal({\r\n\t\t\ttitle: \"CREATE_CATEGORY\",\r\n\t\t\tcloseBtnLabel: \"ASPX_135\",\r\n\t\t\tinputTitle: \"CATEGORY_NAME\",\r\n\t\t\tplaceholder: \"NEW_CATEGORY\",\r\n\t\t\taction: (name) => upsertTouchpointCategory({ touchpointCategory: { ...newTouchpointCategory, name } }),\r\n\t\t})\r\n\r\n\t}\r\n\tconst [showCopyModal] = useModal(DuplicateModal);\r\n\tconst [showCreateCategoryModal] = useModal(NewModal);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(title)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(addBtnText)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{Search}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{items?.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t{displayMenu && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{categories?.map((categoryObj, i) => {\r\n\t\t\t\t\t\t\t\treturn menuDisplay(categoryObj);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{categoryAttId === \"categoryId\" && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t(\"NEW_CATEGORY\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{getFilteredItems()?.length > 0 ?getFilteredItems()?.map((item) => {\r\n\t\t\t\t\t\t\treturn displayLibraryItem({ item });\r\n\t\t\t\t\t\t}) :
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst LibraryContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tpadding-right: 3rem;\r\n\tpadding-left: 3rem;\r\n`;\r\n\r\nconst SearchContainer = styled.div`\r\n\tposition: relative;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\ttext-align: center;\r\n\t& svg {\r\n\t\tleft: 15px;\r\n\t}\r\n`;\r\n\r\nconst LibraryBody = styled.div`\r\n\tdisplay: flex;\r\n\twidth: 100%;\r\n\theight: calc(100vh - 350px);\r\n\r\n\t@media screen and (max-height: 900px) {\r\n\t\tmax-height: calc(100vh - 180px);\r\n\t}\r\n\t@media screen and (max-height: 768px) {\r\n\t\tmax-height: calc(100vh - 180px);\r\n\t}\r\n\t@media screen and (max-height: 640px) {\r\n\t\tmax-height: calc(100vh - 180px);\r\n\t}\r\n`;\r\n\r\nconst LibraryHeader = styled.div`\r\n\twidth: 100%;\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 24px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n`;\r\n\r\nconst LibraryTitle = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nconst Menu = styled.div`\r\n\tflex-basis: 20%;\r\n\theight: 100%;\r\n\tmax-width: 240px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-content: flex-start;\r\n\tgap: 15px;\r\n\tpadding: 0.5rem;\r\n\tborder-right: 1px solid #c4c4c4;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst MenuItem = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 16px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disable &&\r\n\t\tcss`\r\n\t\t\tcolor: #c4c4c4;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.active &&\r\n\t\tcss`\r\n\t\t\tcolor: #f96209;\r\n\t\t`}\r\n\t\t\t${(props) =>\r\n\t\tprops.isActionBox &&\r\n\t\tcss`\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: space-between;\r\n\t\t\talign-items: center;\r\n\t\t`}\r\n\r\n\t&:hover #actions {\r\n\t\tvisibility: visible;\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\nconst ActionsBox = styled.div`\r\n\tvisibility: hidden;\r\n`;\r\nconst LibraryItems = styled.div`\r\n\theight: 100%;\r\n\tflex-basis: 80%;\r\n\tdisplay: flex;\r\n\talign-content: flex-start;\r\n\tflex-wrap: wrap;\r\n\tgap: 30px;\r\n\toverflow: scroll;\r\n\t${(props) =>\r\n\t\t!props.displaymenu &&\r\n\t\tcss`\r\n\t\t\tflex-basis: 100%;\r\n\t\t`}\r\n`;\r\n","\r\nimport CryptoJS from \"crypto-js\";\r\n\r\nexport const validateEmail = (email) => {\r\n const re = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\r\n return re.test(String(email).toLowerCase());\r\n};\r\nexport const validatePassword = (password) => {\r\n // Simple password validation: password should be at least 6 characters long\r\n return password.length >= 1;\r\n};\r\nexport const encryptPassword = (password) => {\r\n\r\n var key = CryptoJS.enc.Utf8.parse('8080808080808080');\r\n var iv = CryptoJS.enc.Utf8.parse('8080808080808080');\r\n var encryptedPassword = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(password), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encryptedPassword.toString();\r\n};\r\n","import TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Flex } from \"shared/ui-basics/index\";\r\nimport { getTaxonomyColorData } from \"utils/helpers\";\r\n\r\nconst GroupComponent = ({ groupId, group, action, mode, disabled }) => {\r\n\tconst currentGroup = useSelector((state) => state.libraries?.group)?.find((tag) => tag?.id === groupId) || group;\r\n\tif (!currentGroup) return <>;\r\n\r\n\tconst { color, backgroundColor } = getTaxonomyColorData({ entity: \"group\", colorCode: currentGroup?.colorCode })\r\n\tconst handleClick = (e) => {\r\n\t\tif (action && !disabled) {\r\n\t\t\taction(currentGroup.id);\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default GroupComponent;\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { useSelector } from \"react-redux\";\r\nimport { getAllPriorityByEntity } from \"redux/memoizedSelectors\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport PriorityItem from \"shared/ui-basics/ui-components/PriorityItem\";\r\nimport GenericTypeahead from \"../GenericTypeahead\";\r\n\r\ntype RecordType = \"cem_cxopportunity\" | \"cem_cxsolution\" | \"cem_cxactiontask\" | \"project\" | \"insight\";\r\ntype Props = {\r\n\trecordType: RecordType;\r\n\tattributeName: string;\r\n\tentityType: string;\r\n\tobject: any;\r\n\tlink: (id: string) => void;\r\n\tunlink: (id: string) => void;\r\n\tisSwitchDisabled?: boolean;\r\n\tmenuListHeight?: string;\r\n\tisOpen?: boolean;\r\n};\r\n\r\nexport default function PriorityDropdown(props: Props): JSX.Element {\r\n\tconst { object, attributeName, recordType, isSwitchDisabled = false, link, unlink, menuListHeight, isOpen = false } = props;\r\n\tconst currentPriorityId = object?.[attributeName] || \"\";\r\n\tconst prioritiesTypes: any = useSelector(getAllPriorityByEntity({ entity: getStatusEntityPath(recordType) }));\r\n\tconst currentPriority = prioritiesTypes?.find((s: any) => s.id === currentPriorityId);\r\n\tconst linkedPriorities: any[] = currentPriority ? [currentPriority] : [];\r\n\tconst renderReadOnlyItems = () => (\r\n\t\t<>\r\n\t\t\t{linkedPriorities?.map((priority) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n\r\n\tconst params = {\r\n\t\tselected: linkedPriorities,\r\n\t\toptions: prioritiesTypes,\r\n\t\trenderSelectedItem: (item: any) => ,\r\n\t\trenderMenuItem: ({ item }: any) => ,\r\n\t\tlinkMenuItem: ({ item, close }: any) => {\r\n\t\t\tlink(item.id);\r\n\t\t\tclose();\r\n\t\t},\r\n\t\tfilter: ({ query, option }: any) => {\r\n\t\t\tconst it = prioritiesTypes.find((s: any) => s.id === option?.id);\r\n\t\t\tif (it && !linkedPriorities.map((li) => li?.id)?.includes(option?.id)) return it?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t\tmenuListHeight,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nfunction getStatusEntityPath(recordType: RecordType) {\r\n\t// how we receive the data from the server\r\n\tswitch (recordType) {\r\n\t\tcase \"cem_cxopportunity\":\r\n\t\t\treturn \"opportunity\";\r\n\t\tcase \"cem_cxsolution\":\r\n\t\t\treturn \"solutions\";\r\n\t\tcase \"cem_cxactiontask\":\r\n\t\t\treturn \"cxActions\";\r\n\t\tcase \"project\":\r\n\t\t\treturn \"project\";\r\n\t\tcase \"insight\":\r\n\t\t\treturn \"insight\";\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { useSelector } from \"react-redux\";\r\nimport { getAllStatusByEntity } from \"redux/memoizedSelectors\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport { getTaxonomyColorData } from \"utils/helpers\";\r\nimport GenericTypeahead from \"../GenericTypeahead\";\r\nimport TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\n\r\ntype RecordType = \"cem_cxopportunity\" | \"cem_cxsolution\" | \"cem_cxactiontask\" | \"project\" | \"insight\" | \"customerJourney\";\r\ntype Props = {\r\n\trecordType: RecordType;\r\n\tattributeName: string;\r\n\tentityType: string;\r\n\tobject: any;\r\n\tlink: (id: string) => void;\r\n\tunlink: (id: string) => void;\r\n\tisSwitchDisabled?: boolean;\r\n\tmenuListHeight?: string;\r\n\tisOpen?: boolean;\r\n};\r\n\r\nexport default function StatusDropdown(props: Props): JSX.Element {\r\n\tconst { object, attributeName, recordType, isSwitchDisabled = false, link, unlink, menuListHeight, isOpen = false } = props;\r\n\r\n\tconst currentStatusId = object?.[attributeName] || \"\";\r\n\tconst statusTypes: any = useSelector(getAllStatusByEntity({ entity: getStatusEntityPath(recordType) }));\r\n\tconst currentStatus = statusTypes?.find((s: any) => s.id === currentStatusId);\r\n\tconst linkedStatus: any[] = currentStatus ? [currentStatus] : [];\r\n\r\n\tconst StatusCard = ({ status, unlink }) => {\r\n\t\tconst { backgroundColor, color } = getTaxonomyColorData({ entity: \"status\", colorCode: status?.colorCode });\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderReadOnlyItems = () => (\r\n\t\t<>\r\n\t\t\t{linkedStatus?.map((status) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n\r\n\tconst params = {\r\n\t\tselected: linkedStatus,\r\n\t\toptions: statusTypes,\r\n\t\trenderSelectedItem: (item: any) => ,\r\n\t\trenderMenuItem: ({ item }: any) => ,\r\n\t\tlinkMenuItem: ({ item, close }: any) => {\r\n\t\t\tlink(item?.id);\r\n\t\t\tclose();\r\n\t\t},\r\n\t\tfilter: ({ query, option }: any) => {\r\n\t\t\tconst it = statusTypes.find((s: any) => s.id === option?.id);\r\n\t\t\tif (it && !linkedStatus.map((li) => li?.id)?.includes(option?.id)) return it?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t\tmenuListHeight,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nfunction getStatusEntityPath(recordType: RecordType) {\r\n\t// how we receive the data from the server\r\n\tswitch (recordType) {\r\n\t\tcase \"cem_cxopportunity\":\r\n\t\t\treturn \"opportunity\";\r\n\t\tcase \"cem_cxsolution\":\r\n\t\t\treturn \"solutions\";\r\n\t\tcase \"cem_cxactiontask\":\r\n\t\t\treturn \"cxActions\";\r\n\t\tcase \"project\":\r\n\t\t\treturn \"project\";\r\n\t\tcase \"insight\":\r\n\t\t\treturn \"insight\";\r\n\t\tcase \"customerJourney\":\r\n\t\t\treturn \"customerJourney\";\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n}\r\n","import React from 'react';\r\nimport { OverlayTrigger, Popover } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport styled from 'styled-components';\r\nimport { GenericButton } from 'shared/ui-basics/index';\r\n\r\nexport const PopoverSubscription = ({ children, disabled, placement = 'right', trigger = [\"click\", 'focus'], access }) => {\r\n\r\n const subscriptionDetails = useSelector(({ settings }) => settings.subscriptionDetails);\r\n const { t } = useTranslation()\r\n const onlyEnterprise = access?.length === 1 && access[0] === 'Enterprise'\r\n\r\n if (disabled) return children\r\n\r\n const redirect = () => {\r\n if (subscriptionDetails?.upgradeButtonLink?.isEmptyString()) return window.open(\"https://www.cemantica.com/Pricing\");\r\n else {\r\n const url = subscriptionDetails?.upgradeButtonLink?.split(\"'\")[1];\r\n return window.open(url)\r\n }\r\n }\r\n const popover = (\r\n \r\n \r\n \r\n {t('AVAILABLE_ON')}\r\n {\r\n !onlyEnterprise && <>\r\n {t(\"EXPERT\")} \r\n {t('AND')}\r\n\r\n }\r\n {t(\"ENTERPRISE\")}\r\n {t(!onlyEnterprise ? 'PLANS' : 'PLAN')}.\r\n \r\n {t('UPGRADE_SUBSCRIPTION')}\r\n \r\n \r\n );\r\n\r\n return (\r\n setShowPopover(show)}\r\n overlay={popover}\r\n rootClose\r\n >\r\n
\r\n {children}\r\n
\r\n \r\n );\r\n}\r\n\r\nconst Strong = styled.div`\r\ncolor:#F96209;\r\n`\r\nconst Pop = styled(Popover)`\r\nz-index: 1200 !important;\r\n.popover-arrow {\r\n left:calc(-0.5rem - 0px);\r\n}\r\n.popover-body{\r\n flex-wrap: wrap;\r\n white-space:nowrap;\r\n width: 203.751px;\r\nheight: 111px;\r\npadding: 1rem;\r\nfont-size:14px;\r\nbutton {\r\n font-size: 14px !important;\r\n}\r\nbox-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25);\r\n}\r\n.content {\r\n display: flex;\r\n flex-wrap: wrap;\r\n color: #605F60;\r\nfont-family: Inter;\r\nfont-size: 14px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 150%;\r\n}\r\n\r\n\r\n`\r\n","import { IconDispatcher } from \"shared/Icons\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport PersonaBubble from \"features/forms/personas/components/PersonaBubble\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nfunction PersonaBadge({ object, unlink, disabled, info, isEdit, classNames = \"mb-2\" }) {\r\n\tconst { t } = useTranslation();\r\n\tconst handleRemove = (e) => {\r\n\t\te.stopPropagation();\r\n\t\tunlink(object?.personaId);\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{object?.name}\r\n\t\t\t
\r\n\t\t\t{info && (\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"INFO\", \"ne-2\", { size: \"xs\", color: \"#605F60\" })}
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{unlink && !disabled && isEdit && {IconDispatcher(\"X\", \"\", { size: \"xs\" })}}\r\n\t\t
\r\n\t);\r\n}\r\nPersonaBadge.displayName = \"PersonaBadge\";\r\nPersonaBadge.propTypes = {\r\n\tid: PropTypes.string,\r\n\tdisabled: PropTypes.bool,\r\n};\r\nexport default PersonaBadge;\r\n\r\nconst Badge = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: fit-content;\r\n\tmax-width: 320px;\r\n\theight: 32px;\r\n\tpadding: 4px;\r\n\tgap: 8px;\r\n\tborder: 1px solid #d9d9d9;\r\n\tborder-radius: 4px;\r\n\t.name {\r\n\t\tcolor: #333;\r\n\r\n\t\tfont-family: \"Inter\";\r\n\t\tfont-size: 14px;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 400;\r\n\t\tline-height: normal;\r\n\t}\r\n\t${({ disabled }) =>\r\n\t\tdisabled &&\r\n\t\t`\r\n opacity: 0.5;\r\n`}\r\n`;\r\n\r\nconst UnlinkButton = styled.div`\r\n\twidth: 12px;\r\n\theight: 12px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tsvg {\r\n\t\twidth: 12px;\r\n\t\theight: 12px;\r\n\t\tfill: #262626;\r\n\t}\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n","import React, { memo } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Modal, ModalBody, ModalFooter } from 'reactstrap';\r\nimport styled from 'styled-components/macro';\r\nimport { GenericButton } from 'shared/ui-basics/buttons';\r\nimport PropTypes from 'prop-types';\r\nimport { Label } from 'shared/ui-basics';\r\n\r\n\r\nconst ActionConfirmModal = memo(({ isOpen, onClose, title, bodyContent, Action, actionBtnText = 'ASPX_13', secondBtnText = 'ASPX_86', beforeClose }) => {\r\n const { t } = useTranslation();\r\n const confirm = () => {\r\n onClose()\r\n Action(true)\r\n }\r\n\r\n const handleClose = () => {\r\n if (beforeClose) beforeClose()\r\n onClose()\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {title && }\r\n {t(bodyContent)}\r\n \r\n \r\n {t(secondBtnText)}\r\n {t(actionBtnText)}\r\n \r\n \r\n \r\n )\r\n})\r\n\r\nActionConfirmModal.propTypes = {\r\n actionBtnText: PropTypes.string.isRequired,\r\n Action: PropTypes.func.isRequired\r\n};\r\nActionConfirmModal.displayName = 'ActionConfirmModal';\r\nexport { ActionConfirmModal };\r\nconst ModalContainer = styled(Modal)`\r\n max-width: 400px;\r\n`\r\nconst DeleteWarningText = styled(ModalBody)`\r\n color: #76838f;\r\n font-size: 14px;\r\n line-height: 20px;\r\n margin-top: 10px;\r\n`","import { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { Flex } from \"shared/ui-basics/index\";\r\nimport { memo } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nconst SyncWithModal = memo(({ isOpen, onClose, title, bodyText, actionBtnText, action, alertType = \"info\" }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst confirm = () => {\r\n\t\taction();\r\n\t\tonClose();\r\n\t};\r\n\r\n\tconst handleClose = () => {\r\n\t\tonClose();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(title)}\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{IconDispatcher(\"INFO\")}
\r\n\t\t\t\t\t\t
{bodyText}
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
{t(\"CONTINUE_VALIDATION\")}
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ASPX_86\")}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{actionBtnText}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\nSyncWithModal.displayName = \"SyncWithModal\";\r\nexport { SyncWithModal };\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 450px;\r\n`;\r\n\r\nconst Body = styled(ModalBody)`\r\n\tcolor: #76838f;\r\n\tfont-size: 14px;\r\n\tline-height: 20px;\r\n\tmargin-top: 10px;\r\n`;\r\n","import { EMPTY_GUID, constructUrl } from \"@utils/helpers\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { genericService } from \"shared/GenericService\";\r\n\r\nlet currentRequest = null;\r\nlet requestId = EMPTY_GUID;\r\nlet intervalId = null;\r\n\r\nconst InitActionCreator = ({ baseUrl, method }) => {\r\n return ({ type, endPoint, data, responseType, signal, params, meta }) => ({\r\n type,\r\n request: {\r\n url: baseUrl + endPoint,\r\n method,\r\n signal,\r\n data,\r\n responseType,\r\n },\r\n meta,\r\n params,\r\n });\r\n};\r\nconst createGetAction = InitActionCreator({ baseUrl: \"api/query/\", method: \"GET\" });\r\nexport const getRequestId = ({ query, advancedSearch, signal, ...props }) => genericService({\r\n ...props, action: createGetAction({\r\n type: 'GET_REQUEST_ID', endPoint: constructUrl(\"getRequestId\", {\r\n query:btoa(query.toLowerCase()),\r\n advancedSearch\r\n }),\r\n signal,\r\n })\r\n});\r\nexport const getResult = ({ requestId, ...props }) => genericService({\r\n ...props, action: createGetAction({\r\n type: 'GET_REQUEST_ID', endPoint: constructUrl(\"checkTaskStatus\", {\r\n requestId: requestId,\r\n }),\r\n })\r\n});\r\n\r\nexport const getResultService = async (query, advancedSearch, callbackData) => {\r\n\r\n if (currentRequest) {\r\n currentRequest.abort(); // Cancel previous request\r\n }\r\n currentRequest = new AbortController();\r\n const onSuccess = (data) => {\r\n if (intervalId !== null)\r\n clearInterval(intervalId); // Cleanup on component unmount\r\n requestId = data;\r\n\r\n intervalId = setInterval(async () => {\r\n\r\n getResult({ requestId, onSuccess: (data) => {\r\n if (data) {\r\n callbackData(JSON.parse(data?.result));\r\n clearInterval(intervalId);\r\n }\r\n }\r\n })\r\n }, 5000);\r\n }\r\n\r\n getRequestId({ query, advancedSearch, signal: currentRequest.signal, onSuccess });\r\n\r\n};\r\nexport const useAdvancedSearch = (query, advancedSearch, callbackData, debouncedSearchTerm) => {\r\n const [loading, setLoading] = useState(true);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (debouncedSearchTerm && query && query !== \"\") {\r\n if (currentRequest) {\r\n currentRequest.abort(); // Cancel previous request\r\n }\r\n currentRequest = new AbortController();\r\n const onSuccess = (data) => {\r\n const requestId = data;\r\n if (intervalId !== null) {\r\n clearInterval(intervalId); // Cleanup on component unmount\r\n }\r\n\r\n intervalId = setInterval(async () => {\r\n getResult({\r\n requestId, onSuccess: (data) => {\r\n if (data) {\r\n callbackData(data?.result !== \"\" && JSON.parse(data?.result));\r\n clearInterval(intervalId);\r\n setLoading(false);\r\n }\r\n\r\n }\r\n })\r\n }, 5000);\r\n\r\n }\r\n getRequestId({ query, advancedSearch, signal: currentRequest.signal, onSuccess })\r\n\r\n }\r\n };\r\n\r\n fetchData();\r\n\r\n // Cleanup on component unmount\r\n return () => {\r\n if (currentRequest) {\r\n currentRequest.abort();\r\n }\r\n if (intervalId !== null) {\r\n clearInterval(intervalId);\r\n setLoading(false);\r\n }\r\n };\r\n }, [debouncedSearchTerm, dispatch]);\r\n\r\n return [loading];\r\n};\r\n","import { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexAlignCenter } from \"shared/ui-basics/index\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components/macro\";\r\nimport { Badge, BadgeWrapper, RemoveButton } from \"./PicklistCard_style\";\r\n\r\nexport const KpiRelationCard = ({ index, entity, unlink, length, disable }) => {\r\n\tconst currencySymbol = useSelector((state) => state?.settings?.organization?.defaultCurrency?.symbol) || \"$\";\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
{entity?.measureName?.defaultPlaceholder(\"KPI_NAME\")}
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{Number(entity?.financialImpact).toFixed(2)}\r\n\t\t\t\t\t\t{currencySymbol}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{!disable && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Impact = styled.div`\r\n\tcolor: #f96209;\r\n\tfont-family: \"Oswald\", sans-serif;\r\n\tfont-size: 0.75rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n","import {\r\n\tcreateCxAction,\r\n\tcreateInsight,\r\n\tcreateOpportunity,\r\n\tcreateSolution,\r\n\tgetAllCxAction,\r\n\tgetAllInsights,\r\n\tgetAllOpportunity,\r\n\tgetAllSolutions,\r\n\tlinkInsightRecords,\r\n\tunLinkInsightRecords,\r\n} from \"@redux/index\";\r\nimport { createDefaultInsight, encode } from \"@utils/helpers\";\r\nimport { getInsightById } from \"redux/memoizedSelectors\";\r\n\r\nimport { linkInteraction, linkRecordsOnMap, unlinkInteraction } from \"features/journey-map/reducer/CJMActions\";\r\nimport { AddInsight } from \"features/journey-map/swimlanes/insights/AddInsight\";\r\nimport { t } from \"i18next\";\r\nimport _ from \"lodash\";\r\nimport PropTypes from \"prop-types\";\r\nimport React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { getInteractionSelector } from \"redux/memoizedSelectors\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { ActionItemCard } from \"shared/components/cards/cx-cards/ActionCard\";\r\nimport { InsightCard } from \"shared/components/cards/cx-cards/InisightCard\";\r\nimport { KpiRelationCard } from \"shared/components/cards/cx-cards/KpisRelationCard\";\r\nimport { OpportunityItemCard } from \"shared/components/cards/cx-cards/OpportunityCard\";\r\nimport { SolutionItemCard } from \"shared/components/cards/cx-cards/SolutionCard\";\r\nimport SearchPickList from \"shared/cx-components/SearchPickList\";\r\nimport { useAsyncs } from \"shared/hooks/index\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport RelatedCjmsManager from \"./RelatedCjmsManager\";\r\n\r\nexport const TabTitleContext = React.createContext();\r\n\r\nfunction RelationManager({ mode, ...props }) {\r\n\tconst history = useHistory();\r\n\r\n\tconst [key, setKey] = useState(props?.defaultKey);\r\n\tconst { t } = useTranslation();\r\n\tconst [count, setCount] = useState(null);\r\n\tconst tabsData = GetTabsData(props.stageId, props.item?.id, props.variant, props?.item);\r\n\r\n\tconst redirect = useCallback((id, url) => {\r\n\t\thistory.push(url);\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t setKey(k)} className=\"mb-3 fs2\">\r\n\t\t\t\t{tabsData.map((tab) => {\r\n\t\t\t\t\tif (tab.CustomManager) {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst RelatedItemsManager = ({ tabsData, redirect, mode, dataLoading = true, stageId, onClose }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst refPopup = useRef(null);\r\n\tconst { count, setCount } = useContext(TabTitleContext);\r\n\r\n\tconst {\r\n\t\tattribute,\r\n\t\tCustomCard,\r\n\t\taddButtonLabel,\r\n\t\tgetAllPath,\r\n\t\treducerSelector,\r\n\t\tlink,\r\n\t\tunlink,\r\n\t\tgetAllApi = null,\r\n\t\ttitleAttribute = \"name\",\r\n\t\tentityType,\r\n\t\tcreateDefaultObject,\r\n\t\tcreateFunction,\r\n\t\tspecificPathArray,\r\n\t\tnoDataIcon,\r\n\t\tnoDataText,\r\n\t\tCustomPickList,\r\n\t\tisShowAddButton = true,\r\n\t} = tabsData;\r\n\r\n\tuseAsyncs({ asyncFns: [{ asyncFn: dataLoading ? getAllApi : null, parameter: { statusCode: StatusCode.Active } }] });\r\n\r\n\tconst showSampleData = useSelector(({ settings }) => settings.organization.showSampleData);\r\n\tconst currentItem = useSelector(reducerSelector);\r\n\tconst userInfo = useSelector(({ auth }) => auth?.userInfo);\r\n\tconst baseItems = useSelector((s) => _.get(s, specificPathArray ?? getAllPath, []) ?? []);\r\n\tconst allItems = attribute === \"linkedInsights\" ? baseItems : baseItems?.getActiveRecords(!showSampleData) ?? [];\r\n\tconst isShowCreateObject = (createDefaultObject && createFunction) || allItems?.length > 0;\r\n\r\n\tconst ids = currentItem?.[attribute] ?? [];\r\n\tconst visibleItems = useMemo(() => allItems?.filter((item) => ids?.includes(item?.id)), [allItems, ids]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (count?.[attribute] !== visibleItems?.length) {\r\n\t\t\tsetCount((prev) => ({ ...(prev || {}), [attribute]: visibleItems?.length }));\r\n\t\t}\r\n\t}, [visibleItems]);\r\n\r\n\tconst handleLinkRecord = useCallback(\r\n\t\t(res) => {\r\n\t\t\tlink(res.recordId);\r\n\t\t},\r\n\t\t[link]\r\n\t);\r\n\r\n\tconst handleUnlinkRecord = useCallback(\r\n\t\t(id) => {\r\n\t\t\tunlink(id);\r\n\t\t},\r\n\t\t[unlink]\r\n\t);\r\n\r\n\tconst handleCreate = useCallback(\r\n\t\t({ globalFilterValue }) => {\r\n\t\t\tif (createDefaultObject && createFunction) {\r\n\t\t\t\tlet item = createDefaultObject(userInfo);\r\n\t\t\t\titem[titleAttribute] = encode(globalFilterValue.truncate(100, true));\r\n\r\n\t\t\t\tcreateFunction({ item, displayToast: \"CREATE\", onSuccess: (response) => handleLinkRecord({ recordId: response.id }) });\r\n\t\t\t}\r\n\t\t},\r\n\t\t[createFunction, createDefaultObject, handleLinkRecord, titleAttribute, userInfo]\r\n\t);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{!mode.IsViewer() && isShowCreateObject && isShowAddButton && (\r\n\t\t\t\t\t refPopup.current.toggle(e)}\r\n\t\t\t\t\t\taria-haspopup\r\n\t\t\t\t\t\taria-controls=\"overlay_panel\"\r\n\t\t\t\t\t\tclassName={\"my-2 \"}>\r\n\t\t\t\t\t\t{t(addButtonLabel)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!CustomPickList ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>{!mode.IsViewer() && CustomPickList(refPopup)}\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t{visibleItems?.length > 0 ? (\r\n\t\t\t\tvisibleItems?.map((item, i, x) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t handleUnlinkRecord(item?.id || id)}\r\n\t\t\t\t\t\t\topenRoute={redirect}\r\n\t\t\t\t\t\t\tlength={x?.length}\r\n\t\t\t\t\t\t\tdisable={mode?.IsViewer()}\r\n\t\t\t\t\t\t\tonClose={onClose}\r\n\t\t\t\t\t\t\tstageId={stageId}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t);\r\n\t\t\t\t})\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(noDataIcon, \"\", { size: \"3rem\", style: \"thin\" })}\r\n\t\t\t\t\t{noDataText}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst GetTabsData = (stageId, itemId, variant) => {\r\n\tconst { cjmIdStr, personaIdStr } = useLocation().search.getAllMapsParams();\r\n\tconst allSwimlanes = useSelector((state) => state.maps.current_map?.cjmSwimLanes);\r\n\tconst allSwimlanesDetails = useSelector((state) => state.maps.current_map?.cjmSwimLaneDetails);\r\n\r\n\tconst swimLaneInsights = allSwimlanes?.find((swimLane) => swimLane.type === InformationType.Insights);\r\n\r\n\tconst interaction = useSelector(getInteractionSelector(personaIdStr,stageId, itemId));\r\n\tconst isStandard = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName === \"Standard\");\r\n\r\n\tconst isInsight = variant === \"insight\";\r\n\tlet data = [\r\n\t\t{\r\n\t\t\ttabLabel: \"ASPX_33\",\r\n\t\t\taddButtonLabel: \"ADD_INSIGHT\",\r\n\t\t\tCustomCard: InsightCard,\r\n\t\t\tattribute: \"linkedInsights\",\r\n\t\t\tgetAllPath: \"insights.all_insights\",\r\n\t\t\tgetAllApi: getAllInsights,\r\n\t\t\tentityType: \"cem_insight\",\r\n\t\t\ttitleAttribute: \"name\",\r\n\t\t\tcreateDefaultObject: (currentUser) => createDefaultInsight({ currentUser }),\r\n\t\t\tcreateFunction: createInsight,\r\n\t\t\tnoDataIcon: \"GEM\",\r\n\t\t\tnoDataText: t(\"INTERACTION_INSIGHT_EMPTY\"),\r\n\t\t\tisShowAddButton: false,\r\n\t\t\tCustomPickList: () => ,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttabLabel: \"OPPORTUNITIES\",\r\n\t\t\taddButtonLabel: \"ADD_OPPORTUNITY\",\r\n\t\t\tCustomCard: OpportunityItemCard,\r\n\t\t\tattribute: \"linkedOpps\",\r\n\t\t\tgetAllPath: \"opportunity.all_Opportunities\",\r\n\t\t\tgetAllApi: getAllOpportunity,\r\n\t\t\tentityType: \"cem_cxopportunity\",\r\n\t\t\tcreateDefaultObject: () => ({ id: uuid(), name: \"\" }), // link on the map if stageId is present\r\n\t\t\tcreateFunction: createOpportunity,\r\n\t\t\tnoDataIcon: \"OPPORTUNITY\",\r\n\t\t\tnoDataText: t(\"INTERACTION_OPPORTUNITY_EMPTY\"),\r\n\t\t\ttype: InformationType.Opportunity,\r\n\t\t\tcxAttributeId: \"opportunityId\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttabLabel: \"SOLUTIONS\",\r\n\t\t\taddButtonLabel: \"ADD_SOLUTION\",\r\n\t\t\tCustomCard: SolutionItemCard,\r\n\t\t\tattribute: \"linkedSols\",\r\n\t\t\tgetAllPath: \"solutions.all_solutions\",\r\n\t\t\tgetAllApi: getAllSolutions,\r\n\t\t\tentityType: \"cem_cxsolution\",\r\n\t\t\tcreateDefaultObject: () => ({ id: uuid(), name: \"\" }), // link on the map if stageId is present,\r\n\t\t\tcreateFunction: createSolution,\r\n\t\t\tnoDataIcon: \"SOLUTION\",\r\n\t\t\tnoDataText: t(\"INTERACTION_SOLUTION_EMPTY\"),\r\n\t\t\ttype: InformationType.Solution,\r\n\t\t\tcxAttributeId: \"solutionId\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttabLabel: \"JS_80\",\r\n\t\t\taddButtonLabel: \"ADD_ACTION\",\r\n\t\t\tCustomCard: ActionItemCard,\r\n\t\t\tattribute: \"linkedActions\",\r\n\t\t\tgetAllPath: \"actions.all_actions\",\r\n\t\t\tgetAllApi: getAllCxAction,\r\n\t\t\tentityType: \"cem_cxactiontask\",\r\n\t\t\tcreateDefaultObject: () => ({ id: uuid(), name: \"\" }),\r\n\t\t\tcreateFunction: createCxAction,\r\n\t\t\tnoDataIcon: \"MENU-ACTION\",\r\n\t\t\tnoDataText: t(\"INTERACTION_ACTION_EMPTY\"),\r\n\t\t\ttype: InformationType.ActionsList,\r\n\t\t\tcxAttributeId: \"cxActionId\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttabLabel: \"KPIS\",\r\n\t\t\taddButtonLabel: \"ADD_KPI\",\r\n\t\t\tCustomCard: KpiRelationCard,\r\n\t\t\tattribute: \"linkedKpis\",\r\n\t\t\tspecificPathArray: !isInsight ? [\"maps\", \"current_map\", \"cjmCxGoals\", stageId] : null,\r\n\t\t\tentityType: \"cem_goal\",\r\n\t\t\ttitleAttribute: \"measureName\",\r\n\t\t\tisActiveRecord: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttabLabel: \"JS_71\",\r\n\t\t\tCustomManager: RelatedCjmsManager,\r\n\t\t\tattribute: \"linkedCjms\",\r\n\t\t},\r\n\t];\r\n\tif (isInsight) {\r\n\t\tconst subscriptionFilter = (relation) => (isStandard ? relation.tabLabel === \"JS_71\" : true);\r\n\t\tconst insightRelations = (relation) => ![\"KPIS\", \"ASPX_33\"].includes(relation.tabLabel);\r\n\r\n\t\tdata = data.filter(insightRelations)?.filter(subscriptionFilter);\r\n\t\tconst linkFunction = (id, d) => {\r\n\t\t\tlinkInsightRecords({ itemId, recIds: [id], recEntityName: d.entityType, attribute: d.attribute });\r\n\t\t\tif (cjmIdStr && d.type && stageId) {\r\n\t\t\t\t// link the opp.sol.action to the map\r\n\t\t\t\tconst swlimlane = allSwimlanes?.find((swimLane) => swimLane.type === d.type);\r\n\t\t\t\tconst relatedIdsOnThisStage = allSwimlanesDetails?.[swlimlane?.key]?.[stageId]?.items?.map((item) => item?.[d.cxAttributeId]);\r\n\t\t\t\tif (relatedIdsOnThisStage?.includes(id)) {\r\n\t\t\t\t\t// if the record is already linked to the map, return\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst params = {\r\n\t\t\t\t\tcjmId: cjmIdStr,\r\n\t\t\t\t\tcustomSwimLaneId: swlimlane?.key || uuid(),\r\n\t\t\t\t\tstageId,\r\n\t\t\t\t\tswimLaneItemIds: [uuid()],\r\n\t\t\t\t\tobjIds: [id],\r\n\t\t\t\t\tobjType: d.type,\r\n\t\t\t\t\tattributeId: d.cxAttributeId,\r\n\t\t\t\t\tpersonaId: personaIdStr,\r\n\t\t\t\t};\r\n\t\t\t\tlinkRecordsOnMap(params);\r\n\t\t\t}\r\n\t\t};\r\n\t\tdata = data.map((d) => ({\r\n\t\t\t...d,\r\n\t\t\treducerSelector: getInsightById(itemId),\r\n\t\t\tlink: (id) => linkFunction(id, d),\r\n\t\t\tunlink: (id) => unLinkInsightRecords({ itemId, recIds: [id], recEntityName: d.entityType, attribute: d.attribute }),\r\n\t\t}));\r\n\t} else {\r\n\t\tconst subscriptionFilter = (relation) => (isStandard ? relation.tabLabel === \"ASPX_33\" : true);\r\n\t\tconst touchpointsRelations = (relation) => ![\"KPIS\", \"JS_71\"].includes(relation.tabLabel);\r\n\r\n\t\tdata = data.filter(touchpointsRelations)?.filter(subscriptionFilter);\r\n\t\tconst linkFunction = (id, d) => {\r\n\t\t\tlinkInteraction({\r\n\t\t\t\trecIds: [id],\r\n\t\t\t\tstageId,\r\n\t\t\t\titemId,\r\n\t\t\t\tattribute: d.attribute,\r\n\t\t\t\trecEntityName: d.entityType,\r\n\t\t\t});\r\n\t\t\tif (cjmIdStr && d.type) {\r\n\t\t\t\t// link the opp.sol.action to the map\r\n\t\t\t\tconst swlimlane = allSwimlanes?.find((swimLane) => swimLane.type === d.type);\r\n\t\t\t\tconst relatedIdsOnThisStage = allSwimlanesDetails?.[swlimlane?.key]?.[stageId]?.items?.map((item) => item?.[d.cxAttributeId]);\r\n\t\t\t\tif (relatedIdsOnThisStage?.includes(id)) return;\r\n\t\t\t\tconst params = {\r\n\t\t\t\t\tcjmId: cjmIdStr,\r\n\t\t\t\t\tcustomSwimLaneId: swlimlane?.key || uuid(),\r\n\t\t\t\t\tstageId,\r\n\t\t\t\t\tswimLaneItemIds: [uuid()],\r\n\t\t\t\t\tobjIds: [id],\r\n\t\t\t\t\tobjType: d.type,\r\n\t\t\t\t\tattributeId: d.cxAttributeId,\r\n\t\t\t\t\tpersonaId: personaIdStr,\r\n\t\t\t\t};\r\n\t\t\t\tlinkRecordsOnMap(params);\r\n\t\t\t}\r\n\t\t};\r\n\t\tdata = data.map((d) => ({\r\n\t\t\t...d,\r\n\t\t\treducerSelector: getInteractionSelector(personaIdStr,stageId, itemId),\r\n\t\t\tlink: (id) => linkFunction(id, d),\r\n\t\t\tunlink: (id) => unlinkInteraction({ recIds: [id], stageId, itemId, attribute: d.attribute, recEntityName: d.entityType }),\r\n\t\t}));\r\n\t}\r\n\r\n\treturn data;\r\n};\r\n\r\nRelationManager.displayName = \"RelationManager\";\r\nRelatedItemsManager.displayName = \"RelatedItemsManager\";\r\n\r\nRelationManager.propTypes = {\r\n\tstageId: PropTypes.string, // stageId is needed only on touchpoint\r\n\titem: PropTypes.object,\r\n\tupdateFunction: PropTypes.func,\r\n\tmode: PropTypes.string,\r\n};\r\nexport default RelationManager;\r\n\r\nconst NoData = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tgap: 23px;\r\n`;\r\n\r\nconst NoDataIcon = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nconst NoDataText = styled.div`\r\n\tcolor: #605f60;\r\n\ttext-align: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 0.875rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n","import React, { useState } from \"react\";\r\nimport { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from \"reactstrap\";\r\nimport { IconDispatcher } from \"../Icons\";\r\nimport { SearchBar } from \"../ui-basics/input\";\r\nimport styled from \"styled-components\";\r\n\r\nexport function GenericDropdown(props) {\r\n\tconst [dropdownOpen, setDropdownOpen] = useState(false);\r\n\tconst [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\r\n\tconst result = props.options?.searchFilter(globalFilterValue, \"value\") || [];\r\n\tconst selectedOption = props.options?.find((option) => option.id?.toString() === props.value?.toString());\r\n\tconst toggle = () => setDropdownOpen((prevState) => !prevState);\r\n\tconst handleChange = (e) => setGlobalFilterValue(e.target.value);\r\n\tconst Search = SearchBar({ globalFilterValue, handleChange, size: \"small\", label: `SEARCH` });\r\n\treturn (\r\n\t\t\r\n\t\t\t{props?.customToggle ? (\r\n\t\t\t\tprops?.customToggle\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t{selectedOption?.value ? {selectedOption.value} : {props?.placeholder}}\r\n\t\t\t\t\t{props.icon && !props?.disabled && {IconDispatcher(dropdownOpen ? \"ANGLE-UP\" : \"ANGLE-DOWN\")}}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{result && (\r\n\t\t\t\t\r\n\t\t\t\t\t{props.search &&
{Search}
}\r\n\t\t\t\t\t{result?.map((option, index) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.customItem ? props.customItem(option) : option.value}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\nconst DropdownMenuWrapper = styled(DropdownMenu)`\r\n${props => props?.minwidth ? `min-width:${props?.minwidth}px` : \"width:100%\"}\r\n\r\n`\r\nconst LabelPlaceHolder = styled.div`\r\n\tcolor: #c4c4c4;\r\n\tfont-style: italic;\r\n`;\r\nexport const GenericDropdownWrapper = styled(Dropdown)`\r\n\t${(props) => props.isborder === \"true\" && `border: 1px solid #d9dbde; border-radius:4px;`}\r\n\theight:36px;\r\n\tfont-size: 14px;\r\n\t.dropdown-menu {\r\n\t\tmax-height: 250px;\r\n\t\toverflow-y: scroll;\r\n\t\tfont-size: 14px;\r\n\r\n\t}\r\n\t.btn-secondary{\r\n\t\t${(props) => props?.disabled !== true && `\r\n\t\tbackground-color:#fff !important;\r\n\t\theight:100%;`\r\n\t\t}\r\n\t}\r\n\t${(props) => props.validated === \"true\" && `border: 1px solid #dc3545;`};\r\n\t.caret {\r\n\tmax-width: 20px;\r\n\tvisibility: hidden;\r\n \t}\r\n \t:hover {\r\n\t\t${(props) => props?.ishoverborder === \"true\" && `background: #efefef;border-radius:4px;`}\r\n\t\t.caret {\r\n\t\t\tvisibility: visible;\r\n\t\t}\r\n\t}\r\n\t:focus {\r\n\t\t${(props) => props?.ishoverborder === \"true\" && `border: 1px solid #d9dbde; `}\r\n\r\n\t}\r\n\r\n`;\r\n\r\nconst SelectedOption = styled.div`\r\n ${props => props.color && `color: ${props.color};`}\r\n font-size: 14px;\r\n`\r\nconst Item = styled(DropdownItem)`\r\n ${props => props.color && `color: ${props.color};`}\r\n \r\n ${props => !props?.onClick && ` pointer-events:none`}\r\n `;","import InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport { forwardRef } from \"react\";\r\nimport { Token, TypeaheadInputMulti } from \"react-bootstrap-typeahead\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { TypeaheadWrapper } from \"shared/modals/manage-access/ManageAccessStyle\";\r\nimport { Label } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\n\r\nconst UsersSelectorTypeahead = forwardRef(({ options, selected = [], placeholder, onChange = () => {}, showBorder = false, width = \"100%\" }, ref) => {\r\n\tconst { t } = useTranslation();\r\n\tconst renderListUsers = (option) => {\r\n\t\tconst index = options?.findIndex((user) => user.id === option.id);\r\n\t\tconst firstUserIndex = options?.findIndex((user) => Object.prototype.hasOwnProperty.call(user, \"memberUserIds\") === false && user.fullName !== \"All\");\r\n\t\tconst isTeam = Object.prototype.hasOwnProperty.call(option, \"memberUserIds\") || option.fullName === \"All\";\r\n\r\n\t\tconst icon = {IconDispatcher(\"USER-GROUP\")};\r\n\t\tconst fullName = option.fullName === \"All\" ? t(\"ALL_TEAM_MEMBERS\") : option?.fullName;\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{[firstUserIndex, 0].includes(index) && }\r\n\t\t\t\t\r\n\t\t\t\t\t{index === 0 && }\r\n\t\t\t\t\t{index === firstUserIndex && }\r\n\t\t\t\t\t{isTeam ? icon : }\r\n\t\t\t\t\t
{fullName}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderSelectedUsers = (inputProps, props) => {\r\n\t\tconst icon = {IconDispatcher(\"USER-GROUP\")};\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{props.selected?.map((option, idx) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{Object.prototype.hasOwnProperty.call(option, \"memberUserIds\") || option.fullName === \"All\" ? (\r\n\t\t\t\t\t\t\ticon\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t<>{option.fullName === \"All\" ? t(\"ALL_TEAM_MEMBERS\") : option.fullName}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst render = () => {\r\n\t\tif (ref) {\r\n\t\t\treturn (\r\n\t\t\t\t ref.current?.blur()}\r\n\t\t\t\t\toptions={options}\r\n\t\t\t\t\trenderMenuItemChildren={renderListUsers}\r\n\t\t\t\t\trenderInput={renderSelectedUsers}\r\n\t\t\t\t\twidth={width}\r\n\t\t\t\t/>\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn render();\r\n});\r\n\r\nUsersSelectorTypeahead.displayName = \"UsersSelectorTypeahead\";\r\nexport default UsersSelectorTypeahead;\r\n\r\nconst IconWrapper = styled.div`\r\n\tbackground-color: #efefef;\r\n\tborder-radius: 50%;\r\n\twidth: 32px;\r\n\theight: 32px;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tdisplay: flex;\r\n`;\r\n\r\nconst Separator = styled.div`\r\n\twidth: 100%;\r\n\theight: 32px;\r\n\t${(props) => props.border && `border-top: 1px solid #C4C4C4;`}\r\n\tmargin: 10px 0px;\r\n`;\r\n\r\nconst UserWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t:hover {\r\n\t\tbackground-color: #efefef;\r\n\t}\r\n`;\r\n\r\nexport const CustomToken = styled(Token)`\r\n\tborder-radius: 4px;\r\n\tbackground: #efefef;\r\n\talign-items: center;\r\n\tcolor: #333;\r\n\ttext-align: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\t.rbt-token-label {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tgap: 5px;\r\n\t}\r\n\t.rbt-token-remove-button {\r\n\t\talign-items: center;\r\n\t}\r\n`;\r\n","import styled, { css } from \"styled-components\";\r\n\r\nconst WorkspaceLogo = ({ letter, colorCode, size = \"m\" }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{letter?.toUpperCase()}\r\n\t\t\r\n\t);\r\n};\r\n\r\nWorkspaceLogo.displayName = \"WorkspaceLogo\";\r\nexport default WorkspaceLogo;\r\n\r\nconst Container = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tcolor: #fff;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tbackground-color: ${(props) => props?.color};\r\n\tborder-radius: 4px;\r\n\tfont-weight: 600;\r\n\r\n\t${(props) =>\r\n\t\tprops.size === \"xs\" &&\r\n\t\tcss`\r\n\t\t\twidth: 20px;\r\n\t\t\theight: 20px;\r\n\t\t\tfont-size: 12px;\r\n\t\t`}\r\n\t${(props) =>\r\n\t\tprops.size === \"m\" &&\r\n\t\tcss`\r\n\t\t\twidth: 36px;\r\n\t\t\theight: 36px;\r\n\t\t\tfont-size: 24px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"l\" &&\r\n\t\tcss`\r\n\t\t\twidth: 60px;\r\n\t\t\theight: 60px;\r\n\t\t\tfont-size: 40px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xl\" &&\r\n\t\tcss`\r\n\t\t\twidth: 80px;\r\n\t\t\theight: 80px;\r\n\t\t\tfont-size: 48px;\r\n\t\t`}\r\n ${(props) =>\r\n\t\tprops.size === \"xxl\" &&\r\n\t\tcss`\r\n\t\t\twidth: 120px;\r\n\t\t\theight: 120px;\r\n\t\t\tfont-size: 68px;\r\n\t\t`}\r\n`;\r\n","\r\nimport PersonaBadge from \"features/journey-map/cards/PersonaBadge\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\n\r\nexport default function PersonaDropdown({ object, recordType, link, unlink, menuListHeight, isOpen=false, isSwitchDisabled }) {\r\n\tconst { personaIdStr, cjmIdStr } = useLocation().search.getAllMapsParams();\r\n\tconst showSampleData = useSelector(({ settings }) => settings.organization?.showSampleData);\r\n\tconst allPersonas = useSelector((state) => state.personas.all_personas?.getActiveRecords(!showSampleData));\r\n\tconst linkedPersonas = allPersonas?.filter((p) => object?.linkedPersonas?.includes(p?.personaId)) || [];\r\n\tconst linkedPersonasOnMap = useSelector((state) => state.maps.current_map.cjmPersonasData) || [];\r\n\tconst renderReadOnlyItems = () => (\r\n\t\t<>\r\n\t\t\t{linkedPersonas?.map((p) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t persona.personaId === p?.personaId)} object={p} classNames=\"\" />\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n\r\n\tconst params = {\r\n\t\tselected: linkedPersonas,\r\n\t\toptions: allPersonas,\r\n\t\tidAttribute: \"personaId\",\r\n\t\trenderSelectedItem: (persona) => p.personaId === persona?.personaId)} object={persona} isEdit={true} unlink={unlink} classNames=\"\" />,\r\n\t\trenderMenuItem: ({ item }) => ,\r\n\t\tlinkMenuItem: ({ item }) => link(item.personaId),\r\n\t\tfilter: ({ query, option }) => {\r\n\t\t\tconst persona = allPersonas?.find((p) => p.personaId === option?.personaId);\r\n\t\t\tif (persona && !linkedPersonas.map((lp) => lp?.personaId)?.includes(option?.personaId)) return persona?.name?.toLowerCase().includes(query?.toLowerCase());\r\n },\r\n menuListHeight,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t};\r\n\r\n\tconst render = () => {\r\n\r\n\t\tif (recordType === \"cem_customerexperience\") {\r\n\t\t\tconst currentPersona = allPersonas?.find((p) => p.personaId === personaIdStr);\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\treturn (\r\n \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\r\n\t};\r\n\r\n\treturn render();\r\n}\r\n","import { useSelector } from \"react-redux\";\r\nimport { FilterTemplate } from \"./FilterTemplate\";\r\n\r\ninterface StatusFilterProps {\r\n\tinnerRef: React.RefObject<{\r\n\t\tgetFilters: () => string[];\r\n }>;\r\n entity: string\r\n\thandleApply: () => void;\r\n}\r\n\r\nexport const StatusFilter: React.FC = ({ innerRef, entity, handleApply }) => {\r\n\tconst statuses = useSelector(({ libraries }:any) => libraries?.status[entity] || []);\r\n\r\n\treturn ;\r\n};\r\n","import { upsertSettingUser } from \"@redux/index\";\r\nimport { getAllActiveWorkspaces } from \"@redux/memoizedSelectors\";\r\nimport { modes } from \"@utils/optionsSets/OptionSets\";\r\nimport { useState } from \"react\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { getSusbscriptionName } from \"redux/memoizedSelectors\";\r\nimport { base } from \"redux/store\";\r\nimport { GenericButton } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components\";\r\nimport WorkspaceLogoAndName from \"../others/workspace-logo-and-name\";\r\nimport { clearPersistedIndexedDB } from \"redux/helpers\";\r\n\r\nconst WorkspaceDropdown = ({ toggleComponent: ToggleComponent, size = \"m\", isMenuItemDisabled = false, displayMenu = true, specificWorkspaces, nameWidth, getIcon, iconTooltip, showCreateButton }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst envName = useSelector((state) => state?.auth?.userInfo?.EnvName || \"\");\r\n\tconst userSetting = useSelector((state) => state.settings.userSetting);\r\n\tconst allActivesWorkspaces = useSelector(getAllActiveWorkspaces);\r\n\tconst isSharedEnterprise = useSelector(getSusbscriptionName)?.isSubscriptionAllowed([\"sharedenterprise\"]);\r\n\tconst currentWorkspaceId = base.split(\"/\")[2];\r\n\tconst currentWorkspace = allActivesWorkspaces.find((ws) => ws?.id === currentWorkspaceId);\r\n\tconst filteredWorkspaces = allActivesWorkspaces.filter((ws) => ws.id !== currentWorkspaceId);\r\n\tconst workspacesToDisplay = specificWorkspaces ? specificWorkspaces?.sortAsc(\"name\") : filteredWorkspaces?.sortAsc(\"name\");\r\n\r\n\tconst [show, setShow] = useState(false);\r\n\r\n\tconst switchWorkspace = (id) => {\r\n\t\tsetShow(false);\r\n\t\t\r\n\t\twindow.location.href = `${envName}/${id}/home`;\r\n\t};\r\n\r\n\tconst onCreate = () => {\r\n\t\tsetShow(false);\r\n\t\thistory.push(`/edit-workspace?mode=1`);\r\n\t};\r\n\r\n\tconst redirect = ({ workspace }) => {\r\n\t\tsetShow(false);\r\n\t\thistory.push(`/edit-workspace?id=${workspace.id}&mode=${modes.update}`);\r\n\t};\r\n\tif (!displayMenu) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tconst isButtonDisabled = isSharedEnterprise && allActivesWorkspaces?.length > 1;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t 4}>\r\n\t\t\t\t\r\n\t\t\t\t\t{workspacesToDisplay?.map((workspace) => (\r\n\t\t\t\t\t\t switchWorkspace(workspace?.id)}\r\n\t\t\t\t\t\t\tsecondaryAction={() => redirect({ workspace })}\r\n\t\t\t\t\t\t\tsize={size}\r\n\t\t\t\t\t\t\ticon={getIcon ? getIcon(workspace) : undefined}\r\n\t\t\t\t\t\t\tnameWidth={nameWidth}\r\n\t\t\t\t\t\t\ticonTooltip={iconTooltip}\r\n\t\t\t\t\t\t\tisDisabled={isMenuItemDisabled}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t))}\r\n\t\t\t\t\t{showCreateButton && (\r\n\t\t\t\t\t\t{`${t(\"ASPX_108\")} ${t(\"ASPX_242\")}`}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nWorkspaceDropdown.displayName = \"WorkspaceDropdown\";\r\nexport default WorkspaceDropdown;\r\n\r\nconst DropdownWrapper = styled(Dropdown)`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tmargin: 0 !important;\r\n\tdisplay: flex;\r\n\r\n\t.dropdown-toggle:after {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.dropdown-item:hover {\r\n\t\tvisibility: visible;\r\n\t}\r\n\r\n\t.dropdown-menu.show {\r\n\t\tpadding: 0 !important;\r\n\t\tbox-shadow: 1px 1px 3px rgba(33, 33, 33, 0.3);\r\n\t}\r\n\t.dropdown-item:focus,\r\n\t.dropdown-item:hover {\r\n\t\tbackground-color: #e4e7f1;\r\n\t}\r\n`;\r\n\r\nconst DropdownMenu = styled(Dropdown.Menu)`\r\n\tposition: absolute;\r\n\ttop: 54px;\r\n\tz-index: 1001;\r\n\tmax-height: 320px;\r\n\t${({ enablescroll }) =>\r\n\t\tenablescroll &&\r\n\t\tcss`\r\n\t\t\toverflow: scroll;\r\n\t\t`}\r\n`;\r\n\r\nconst Content = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 8px;\r\n\tbackground-color: #ffff;\r\n\tbox-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\twidth: 236px;\r\n`;\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { BenefitCard } from \"features/solutions/solutionsComponents/BenefitCard\";\r\nimport React, { useMemo } from \"react\";\r\nimport { OverlayTrigger, Popover } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport { useItem } from \"shared/dynamic-imports\";\r\nimport { CustomRating } from \"shared/ui-basics/ui-components/CustomRating\";\r\nimport styled from \"styled-components\";\r\nimport { calculatesolutionType, getSolutionTypeData } from \"utils/helpers\";\r\nimport { SolutionType } from \"utils/optionsSets/OptionSets\";\r\n\r\ntype Props = {\r\n\tattribute: any;\r\n\tdisabled: boolean;\r\n\tlink: (id: string) => void;\r\n};\r\nconst getLabelByKeyName = (key: string) => {\r\n\tswitch (key) {\r\n\t\tcase \"impactCustomer\":\r\n\t\t\treturn \"IMPACT_ON_CUSTOMER\";\r\n\t\tcase \"customerBenefit\":\r\n\t\t\treturn \"CUSTOMER_BENEFITS\";\r\n\t\tcase \"implComplexity\":\r\n\t\t\treturn \"COMPLEXITY_IMPL\";\r\n\t\tcase \"implDuration\":\r\n\t\t\treturn \"TIME_HORIZON\";\r\n\t\tcase \"cost\":\r\n\t\t\treturn \"IMPL_COST\";\r\n\t\tcase \"revenueIncrease\":\r\n\t\t\treturn \"REVENUE_INCREASE\";\r\n\t\tcase \"impactBrand\":\r\n\t\t\treturn \"IMPACT_ON_BRAND\";\r\n\t\tcase \"engagementEffortRanking\":\r\n\t\t\treturn \"ENGAGEMENT_EFFORT\";\r\n\t\tdefault:\r\n\t\t\treturn \"N/A\";\r\n\t}\r\n};\r\nconst order = [\"impactCustomer\", \"customerBenefit\", \"revenueIncrease\", \"impactBrand\", \"cost\", \"implComplexity\", \"engagementEffortRanking\", \"implDuration\"];\r\n\r\nexport default function AdvancedRatings({ attribute, disabled }: Props): JSX.Element {\r\n\tconst { currentItem, updateService, modifiedAttribNames, setModifiedAttribNames } = useItem();\r\n\tconst { t } = useTranslation();\r\n\tconst [show, setShow] = React.useState(false);\r\n\tconst solutionType = currentItem.solutionType && currentItem.solutionType !== -1 ? currentItem.solutionType : calculatesolutionType(currentItem);\r\n\tconst handleToggle = () => {\r\n\t\tconst visible = !show;\r\n\t\tsetShow(visible);\r\n\t\tif (!visible) {\r\n\t\t\thandleHide();\r\n\t\t}\r\n\t};\r\n\tconst handleHide = () => {\r\n\t\tif (modifiedAttribNames.size > 0) {\r\n\t\t\tupdateService({\r\n\t\t\t\titem: currentItem,\r\n\t\t\t\tmodifiedAttribNames: Array.from(modifiedAttribNames.values()),\r\n\t\t\t});\r\n\t\t\tsetModifiedAttribNames(new Set());\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}>\r\n\t\t\t\r\n\t\t\t\t{solutionType && solutionType !== -1 ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t{t(\"RATE_THIS_SOLUTION\")}\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\nconst PopoverComponent = (props: any) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { currentItem, setCurrentItem, updateService } = useItem();\r\n\tconst ratings = useMemo(\r\n\t\t() =>\r\n\t\t\tcurrentItem?.ratings\r\n\t\t\t\t? Object.entries(currentItem?.ratings)\r\n\t\t\t\t\t\t?.map(([key, value]: any) => ({ key, ...value, label: getLabelByKeyName(key) }))\r\n\t\t\t\t\t\t?.sort((a, b) => order.indexOf(a.key) - order.indexOf(b.key))\r\n\t\t\t\t: [],\r\n\t\t[currentItem.ratings]\r\n\t);\r\n\tconst solutionType = currentItem.solutionType && currentItem.solutionType !== -1 ? currentItem.solutionType : calculatesolutionType(currentItem);\r\n\r\n\tconst updateFunction = (item: any) => {\r\n\t\tconst ratings = {\r\n\t\t\t...currentItem.ratings,\r\n\t\t\t[item.key]: { ...currentItem.ratings[item.key], rating: item.rating },\r\n\t\t};\r\n\t\tconst solutionType = calculatesolutionType({ ...currentItem, ratings });\r\n\t\tsetCurrentItem({ ...currentItem, ratings, solutionType });\r\n\t\tupdateService({ item: { ...currentItem, ratings, solutionType }, modifiedAttribNames: [`ratings.${item.key}.rating`, \"solutiontype\"] });\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{t(\"RATINGS\")}\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{ratings?.slice(0, 4)?.map((rating: any) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(rating.label)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{ratings?.slice(4, Infinity).map((rating: any) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(rating.label)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nconst CustomPopover = styled(Popover)`\r\n\tmax-width: 750px;\r\n\twidth: 100%;\r\n\tpadding: 8px;\r\n\tgap: 4px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tbox-shadow: 1px 8px 16px 0px rgba(0, 0, 0, 0.15);\r\n\r\n\tbutton {\r\n\t\tjustify-content: start;\r\n\t}\r\n\t.popover-arrow {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\ninterface WrapperProps extends React.HTMLAttributes {\r\n\tkey?: string;\r\n}\r\nconst RatingWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tpadding: 8px;\r\n\tbackground-color: #fafafa;\r\n\tborder-radius: 4px;\r\n`;\r\nconst Title = styled.h3`\r\n\tcolor: var(--color-Grey-Primary-Text, #262626);\r\n\tfont-family: Inter;\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n\tpadding: 8px; /* 100% */\r\n`;\r\nconst Placeholder = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\theight: 100%;\r\n\tpadding-left: 8px;\r\n\tcursor: pointer;\r\n\t:hover {\r\n\t\tbackground-color: #efefef;\r\n\t}\r\n`;\r\nconst FlexAlign = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\tjustify-content: center;\r\n\tmin-height: 50px;\r\n`;\r\n\r\nconst Line = styled.div`\r\n\tbackground: var(--color-Grey-Background, #f5f5f5);\r\n\theight: 8px;\r\n\twidth: 679px;\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n`;\r\nconst Labels = styled.div`\r\n\tcolor: #333333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n`;\r\n\r\nconst RatingLabelsWrapper = styled.div`\r\n\tposition: absolute;\r\n\tz-index: 2;\r\n\tdisplay: flex;\r\n\tjustify-content: space-around;\r\n\talign-items: center;\r\n\twidth: 600px;\r\n`;\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport React, { useRef, useState } from 'react';\r\nimport { OverlayTrigger } from 'react-bootstrap';\r\nimport Popover from 'react-bootstrap/Popover';\r\nimport { useTranslation } from 'react-i18next';\r\nimport AttachCreatePopOver from 'shared/attachment/AttachCreatePopOver';\r\nimport AttachEditPopOver from 'shared/attachment/AttachEditPopOver';\r\nimport { CreateActionsDropdown } from 'shared/dropdowns/CreateActionsDropdown';\r\nimport { useItem } from 'shared/dynamic-imports';\r\nimport { Button, IconDispatcher } from 'shared/ui-basics';\r\nimport styled, { css } from 'styled-components/macro';\r\nimport { decode, encode, getAttachMode } from 'utils/helpers';\r\nimport { InformationType } from 'utils/optionsSets/OptionSets';\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { deleteCxAttributeItem, getFileService, upsertCXAttributeAttachItem } from '../../redux/index';\r\n\r\n\r\ntype Props = {\r\n disabled: boolean;\r\n recordType: \"cem_cxopportunity\" | \"cem_cxactiontask\" | \"cem_cxsolution\";\r\n}\r\ninterface AttachmentItem {\r\n id: string;\r\n description: string;\r\n fileName: string;\r\n url: string;\r\n uploadFile?: File;\r\n}\r\nexport default function AttachPopover({\r\n disabled,\r\n recordType,\r\n}: Props): JSX.Element {\r\n\r\n const refPopup = useRef<{ toggle: (e: any) => void } | null>(null);\r\n\r\n const { t } = useTranslation();\r\n const { currentItem, updateAttribute } = useItem();\r\n const [show, setShow] = useState(false);\r\n\r\n\r\n const [modifiedItem, setModifiedItem] = useState(null);\r\n const [saveEvent, setSaveEvent] = useState(null);\r\n const [openEdit, setOpenEdit] = useState(false);\r\n const attachementAttributes = currentItem?.attributes?.find((att: any) => att.type === InformationType.Attachment);\r\n\r\n\r\n const newObject: any = {\r\n id: uuidv4(),\r\n cxAttributeId: attachementAttributes.id,\r\n fileName: \"\",\r\n url: \"\",\r\n description: \"\"\r\n };\r\n const upsert = ({ newObject, onSuccess }: any) => {\r\n if (attachementAttributes.items.find((item: any) => item.id === newObject.id)) {\r\n // update\r\n const newValue = attachementAttributes.items.map((item: any) => item.id === newObject.id ? newObject : item);\r\n updateAttribute(attachementAttributes.id, \"items\", newValue)\r\n } else {\r\n // add\r\n const newValue = attachementAttributes.items ? [...attachementAttributes.items, newObject] : [newObject];\r\n updateAttribute(attachementAttributes.id, \"items\", newValue)\r\n }\r\n const formData = new FormData();\r\n const newItems = { ...newObject }\r\n newItems.url = encode(newItems.url);\r\n newItems.fileName = newItems.url === \"\" ? newItems.fileName : encode(newItems.fileName);\r\n newItems.description = encode(newItems.description);\r\n\r\n formData.append(\"cxAttributeItem\", JSON.stringify(newItems));\r\n formData.append(\"objId\", currentItem.id);\r\n formData.append(\"objName\", recordType);\r\n\r\n const files = newItems?.uploadFile;\r\n if (files) {\r\n formData.append(\"uploadFile\", files, decode(newItems?.fileName)); // Extracting the file name\r\n }\r\n\r\n upsertCXAttributeAttachItem({ data: formData, onSuccess })\r\n };\r\n const onRemove = (e: any, id: string) => {\r\n e.stopPropagation()\r\n\r\n const newAttachments = attachementAttributes?.items?.filter((item: any) => item.id !== id);\r\n updateAttribute(attachementAttributes.id, \"items\", newAttachments)\r\n deleteCxAttributeItem({ attributeItemId: id, attributeId: attachementAttributes.id, objId: currentItem.id, objName: recordType })\r\n };\r\n const onToggle = (e: any) => {\r\n e.stopPropagation()\r\n setSaveEvent(e)\r\n if (attachementAttributes?.items?.length === 0) {\r\n refPopup.current?.toggle(e)\r\n return\r\n }\r\n setShow(!show)\r\n\r\n };\r\n const handleGetFile = (item: any) => {\r\n getFileService({ name: item.description, itemId: item.id, objId: currentItem.id, objName: recordType })\r\n };\r\n const handleEdit = (e: any, item: any) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setModifiedItem(item)\r\n setShow(false)\r\n setOpenEdit(true)\r\n };\r\n const createActions = (item: any) => {\r\n const attachMode = getAttachMode(item);\r\n const actions = [];\r\n if (attachMode === \"file\")\r\n actions.push({ handleClick: () => handleGetFile(item), icon: \"download\", text: t(\"Download\") });\r\n actions.push({ handleClick: (e: any) => handleEdit(e, item), icon: \"edit\", text: t(\"EDIT\") })\r\n actions.push({ handleClick: (e: any) => onRemove(e, item.id), icon: \"DELETE\", text: t(\"ASPX_13\") });\r\n\r\n\r\n return actions;\r\n };\r\n\r\n return (\r\n \r\n \r\n {attachementAttributes?.items?.length > 0 ? attachementAttributes?.items.map((item: any) => (
\r\n \r\n
{IconDispatcher(getAttachMode(item))}
\r\n {getAttachMode(item) === \"file\" ?
{item.description}
\r\n : {item?.description}}\r\n\r\n
\r\n
))\r\n : }\r\n\r\n
\r\n setShow(!show)} rootClose placement=\"bottom\"\r\n overlay={\r\n \r\n {attachementAttributes?.items?.map((item: any) => (
\r\n \r\n
\r\n
{IconDispatcher(getAttachMode(item))}
\r\n {getAttachMode(item) === \"file\" ?
{item.description}
\r\n : {item?.description}}\r\n
\r\n e.stopPropagation() as any}\r\n handleToggle={(show: any, e: any) => e?.originalEvent?.stopPropagation() as any}\r\n isicon=\"true\"\r\n size=\"s\"\r\n dropdownClasses=\"\"\r\n />\r\n
\r\n
))}\r\n \r\n
\r\n }>\r\n
\r\n \r\n \r\n upsert({\r\n newObject: {\r\n ...newObject,\r\n description: decode(newObject.description),\r\n filename: decode(newObject.filename),\r\n url: decode(newObject?.url)\r\n },\r\n })}\r\n />\r\n \r\n );\r\n}\r\n\r\n\r\ninterface ContainerProps extends React.HTMLAttributes {\r\n ref?: React.RefObject;\r\n disabled?: boolean;\r\n fs?: number | string;\r\n fw?: string;\r\n}\r\n\r\ninterface WrapperProps extends React.HTMLAttributes {\r\n ref?: React.RefObject;\r\n\r\n}\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n flex-wrap: wrap;\r\n\tgap: 8px;\r\n\twidth: 100%;\r\n\tmin-height: 48px;\r\n\tborder-radius: 4px;\r\n\tpadding: 8px;\r\n\r\n\tcursor: pointer;\r\n\t:hover {\r\n\t\tbackground: #efefef;\r\n\t}\r\n\t${({ disabled }) =>\r\n disabled &&\r\n css`\r\n pointer-events: none;\r\n\t\t\tcursor: not-allowed;\r\n\t\t`}\r\n`;\r\n\r\nconst Label = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 4px;\r\n\tcolor: #605f60;\r\n\tfont-size: 14px;\r\n`;\r\nconst Wrapper = styled.div`\r\n /* display: flex;\r\n align-items: center; */\r\n height: 100%;\r\n position: relative;\r\n`;\r\nconst FlexCardBorder = styled.div`\r\n display: flex;\r\n align-items: center;\r\n padding : 4px;\r\n border-radius: 4px;\r\n gap: 8px;\r\n /* border:1px solid #c4c4c4 */\r\n`;\r\nconst Item = styled.div`\r\ndisplay: flex;\r\nwidth: 100%;\r\npadding: 8px 16px;\r\njustify-content: space-between;\r\nalign-items: center;\r\nalign-self: stretch;\r\ncolor: var(--color-Grey-Primary-Text, #262626);\r\nborder-radius: var(--Radius-100, 4px);\r\nborder: var(--sds-size-stroke-border) solid var(--color-Grey-Dividers, #F0F0F0);\r\nbackground: var(--white, #FFF);\r\n`\r\nconst CustomPopover = styled(Popover)`\r\nmax-width: 520px;\r\nwidth: 100%;\r\npadding:8px;\r\ngap:4px;\r\ndisplay: flex;\r\nflex-direction: column;\r\nbox-shadow: 1px 8px 16px 0px rgba(0, 0, 0, 0.15);\r\n/* align-items: center;\r\njustify-content:start; */\r\nbutton {\r\n justify-content: start;\r\n}\r\n`\r\n","import { Calendar, CalendarChangeParams } from 'primereact/calendar';\r\nimport { useItem } from 'shared/dynamic-imports';\r\nimport styled from 'styled-components';\r\nimport { transformIsoStringToDate } from 'utils/helpers';\r\n\r\ntype Props = {\r\n disabled: boolean;\r\n link?: (date: string) => void;\r\n attribute: any;\r\n}\r\n\r\nexport default function Date({ disabled, link ,attribute}: Props): JSX.Element {\r\n\r\n const { currentItem } = useItem();\r\n const currentAttribute = currentItem.attributes.find((item: any) => item.id === attribute.id);\r\n\r\n const formattedDate = transformIsoStringToDate(currentAttribute?.date);\r\n\r\n const onChange = (e: CalendarChangeParams) => {\r\n const date: Date = e.value as Date;\r\n if (date && link) {\r\n const string = date.toISOString();\r\n link(string);\r\n }\r\n }\r\n return \r\n \r\n \r\n\r\n}\r\n\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n padding-left: 8px;\r\n cursor: pointer !important;\r\n`;","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { useItem } from 'shared/dynamic-imports';\r\nimport { CustomRating } from 'shared/ui-basics/ui-components/CustomRating';\r\nimport styled from 'styled-components';\r\n\r\ntype Props = {\r\n attribute: any;\r\n disabled: boolean;\r\n link: (id: string) => void;\r\n}\r\n\r\nexport default function Rating({\r\n attribute,\r\n disabled,\r\n link\r\n}: Props): JSX.Element {\r\n\r\n const { currentItem, modifiedAttribNames } = useItem();\r\n const currentAttribute = currentItem.attributes.find((item: any) => item.id === attribute.id);\r\n const attributeName = \"ratingValue\";\r\n\r\n const updateFunction = (item: any) => {\r\n link(item.ratingValue);\r\n\r\n }\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n padding-left: 8px;\r\n`;","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { getAllPersonas } from 'features/forms/personas/reducer/PersonaActions';\r\nimport React from 'react';\r\nimport OwnerDropdown from 'shared/dropdowns/cx-dropdown/OwnerDropdown';\r\nimport PriorityDropdown from 'shared/dropdowns/cx-dropdown/PriorityDropdown';\r\nimport StatusDropdown from 'shared/dropdowns/cx-dropdown/StatusDropdown';\r\nimport DepartmentDropdown from 'shared/dropdowns/library-dropdown/DepartmentDropdown';\r\nimport GroupDropdown from 'shared/dropdowns/library-dropdown/group/GroupDropdown';\r\nimport SystemDropdown from 'shared/dropdowns/library-dropdown/SystemDropdown';\r\nimport TagsDropdown from 'shared/dropdowns/library-dropdown/tags/TagsDropdown';\r\nimport TouchpointDropdown from 'shared/dropdowns/library-dropdown/TouchpointDropdown';\r\nimport { InformationType } from 'utils/optionsSets/OptionSets';\r\nimport AdvancedRatings from '../advanced-ratings';\r\nimport AttachPopover from '../attach-popover';\r\nimport Date from '../date';\r\nimport PersonaRelations from '../PersonaRelation';\r\nimport Rating from '../rating';\r\n\r\nexport interface PanelColumn {\r\n icon: string;\r\n type?: number;\r\n Component: React.ComponentType; // Accept any component\r\n componentProps?: any;\r\n disableHide?: boolean;\r\n attribute?: any;\r\n}\r\n\r\n// Example columns array with dynamic components\r\nexport const columns: PanelColumn[] = [\r\n {\r\n type: InformationType.Persona,\r\n icon: 'PERSONA',\r\n Component: PersonaRelations, // Example component, import this correctly\r\n componentProps: {\r\n reduxActions: [getAllPersonas],\r\n recordType: \"cem_cxopportunity\",\r\n entityType: \"cem_persona\",\r\n },\r\n },\r\n {\r\n type: InformationType.Status,\r\n icon: 'circle',\r\n Component: StatusDropdown,\r\n componentProps: {\r\n recordType: \"cem_cxopportunity\",\r\n entityType: \"cem_status\",\r\n attributeName: \"statusId\",\r\n single: true\r\n\r\n },\r\n disableHide: true\r\n\r\n },\r\n {\r\n type: InformationType.Priority,\r\n icon: 'arrow-up-big-small',\r\n Component: PriorityDropdown,\r\n componentProps: {\r\n entityType: \"cem_priority\",\r\n attributeName: \"priorityId\",\r\n single: true\r\n },\r\n disableHide: true\r\n\r\n },\r\n {\r\n type: InformationType.DueDate,\r\n icon: 'calendar',\r\n Component: Date,\r\n componentProps: {\r\n attributeName: \"date\",\r\n single: true\r\n }\r\n },\r\n {\r\n type: InformationType.Owner,\r\n icon: 'user',\r\n Component: OwnerDropdown,\r\n componentProps: {\r\n attributeName: \"userId\",\r\n single: true\r\n }\r\n },\r\n\r\n {\r\n type: InformationType.Rating,\r\n icon: 'star',\r\n Component: Rating,\r\n componentProps: {\r\n attributeName: \"ratingValue\",\r\n single: true\r\n }\r\n\r\n },\r\n {\r\n type: InformationType.AdvancedRating,\r\n icon: 'star',\r\n Component: AdvancedRatings,\r\n componentProps: {\r\n attributeName: \"ratingValue\",\r\n single: true\r\n }\r\n\r\n },\r\n {\r\n type: InformationType.Tags,\r\n icon: 'tag',\r\n Component: TagsDropdown,\r\n componentProps: {\r\n disabledSpinner: true,\r\n recordType: \"cem_cxattribute\",\r\n entityType: \"cem_tag\",\r\n attributeName: \"tags\",\r\n\r\n }\r\n },\r\n {\r\n type: InformationType.Group,\r\n icon: 'tag',\r\n Component: GroupDropdown,\r\n componentProps: {\r\n recordType: \"cem_cxattribute\",\r\n entityType: \"cem_group\",\r\n attributeName: \"groups\",\r\n\r\n }\r\n },\r\n {\r\n type: InformationType.Touchpoints,\r\n icon: 'circle-dot',\r\n Component: TouchpointDropdown,\r\n componentProps: {\r\n entityType: \"cem_touchpoints\",\r\n attributeName: \"linkedTouchpoints\",\r\n }\r\n },\r\n {\r\n type: InformationType.Systems,\r\n icon: 'SYSTEM_DUOTONE',\r\n Component: SystemDropdown,\r\n componentProps: {\r\n entityType: \"cem_libraryvalue\",\r\n attributeName: \"linkedLibraryValue\",\r\n }\r\n },\r\n {\r\n type: InformationType.Departments,\r\n icon: 'DEPARTMENT_DUOTONE',\r\n Component: DepartmentDropdown,\r\n componentProps: {\r\n entityType: \"cem_libraryvalue\",\r\n attributeName: \"linkedLibraryValue\",\r\n }\r\n },\r\n {\r\n type: InformationType.Attachment,\r\n icon: 'file',\r\n Component: AttachPopover,\r\n componentProps: {\r\n upsertAttachItem: () => { },\r\n }\r\n },\r\n\r\n // Add more columns with different components as needed\r\n];\r\n\r\nexport const columnsOrder = columns.map(c => c.type)","import PersonaDropdown from \"shared/dropdowns/library-dropdown/persona/PersonaDropdown\";\r\nimport { getEntityData } from \"./relations/relations\";\r\nimport { useItem } from \"shared/dynamic-imports\";\r\n\r\ntype Props = {\r\n\tdisabled: boolean;\r\n\trecordType: \"cem_cxopportunity\" | \"cem_cxactiontask\" | \"cem_cxsolution\";\r\n};\r\n\r\nexport default function PersonaRelations(props: Props): JSX.Element {\r\n\tconst { recordType, disabled } = props;\r\n\tconst { currentItem, handleChange } = useItem();\r\n\tconst { functions } = getEntityData(recordType);\r\n\r\n\tconst handleLink = (id: string) => {\r\n\t\tfunctions.link({ recEntityName: \"cem_persona\", recIds: [id], id: currentItem.id }); // link records in the backend\r\n\t\thandleChange(\"linkedPersonas\", [...(currentItem?.linkedPersonas || []), id]);\r\n\t};\r\n\tconst handleUnlink = (id: string) => {\r\n\t\tfunctions.unlink({ recEntityName: \"cem_persona\", recIds: [id], id: currentItem.id }); // unlink records in the backend\r\n\t\thandleChange(\r\n\t\t\t\"linkedPersonas\",\r\n\t\t\tcurrentItem?.linkedPersonas?.filter((relatedId: string) => relatedId !== id)\r\n\t\t); // update the state\r\n\t};\r\n\tconst params = {\r\n\t\tobject: currentItem,\r\n\t\trecordType,\r\n\t\tlink: handleLink,\r\n\t\tunlink: handleUnlink,\r\n\t\tisSwitchDisabled: disabled,\r\n\t};\r\n\r\n\treturn ;\r\n}\r\n","/* eslint-disable no-case-declarations */\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { useMemo } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getInteractionSelector } from \"redux/memoizedSelectors\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { useItem } from \"shared/dynamic-imports\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { ActionPopOver } from \"shared/popovers/ActionsPopOver\";\r\nimport { Borders, Button } from \"shared/ui-basics\";\r\nimport { EMPTY_GUID } from \"utils/helpers\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport {\r\n\tcreateMultipleInteractions,\r\n\tlinkGroups,\r\n\tlinkInteraction,\r\n\tlinkRecordAttributeAPI,\r\n\tlinkTags,\r\n\tunlinkGroups,\r\n\tunlinkRecordAttributeAPI,\r\n\tunlinkTags,\r\n\tupdateAttributeAPI,\r\n\tupdateUserModification,\r\n} from \"../../../redux/index\";\r\nimport { Label_ts, StyledCol } from \"../cx-components.style\";\r\nimport { columns, columnsOrder, PanelColumn } from \"./columns\";\r\nimport { getAllMapsParams } from \"features/comments/helpers\";\r\n\r\ntype Props = {\r\n\tdisabled: boolean;\r\n\trecordType: \"cem_cxopportunity\" | \"cem_cxactiontask\" | \"cem_cxsolution\";\r\n\tstageId?: string;\r\n};\r\n\r\nexport default function DetailPanel({ disabled, recordType, stageId }: Props): JSX.Element {\r\n\tconst { cjmIdStr, personaIdStr } = getAllMapsParams(useLocation().search) || {};\r\n\r\n\tconst { t } = useTranslation();\r\n\tconst { currentItem, updateAttribute } = useItem();\r\n\tconst { displayedAttribute, hiddenAttribute, updateShowAttribute } = useColumns();\r\n\tconst userName = useSelector((state: any) => state?.auth?.userInfo?.UserFullName);\r\n\tconst interactions = useSelector(getInteractionSelector(personaIdStr, stageId));\r\n\r\n\tconst handleLinkChange = ({ id, attributeName, single, attributeId, mode, entityType }: any) => {\r\n\t\tif (single) {\r\n\t\t\tconst idUpdate = mode === \"add\" ? id : EMPTY_GUID;\r\n\t\t\tupdateAttribute(attributeId, attributeName, idUpdate);\r\n\t\t\tconst modfifiedCxAttribute = currentItem?.attributes.find((att: any) => att.id === attributeId);\r\n\t\t\tupdateAttributeAPI({ attributeId, modifiedAttribNames: [attributeName], modfifiedCxAttribute: { ...modfifiedCxAttribute, [attributeName]: idUpdate } });\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst att = currentItem?.attributes.find((att: any) => att.id === attributeId);\r\n\t\tconst updatedLinks = mode === \"add\" ? [...(att?.[attributeName] || []), id] : att?.[attributeName]?.filter((item: any) => item !== id);\r\n\t\tlet linkorUnlink;\r\n\t\tswitch (attributeName) {\r\n\t\t\tcase \"tags\":\r\n\t\t\t\tlinkorUnlink = mode === \"add\" ? linkTags : unlinkTags;\r\n\t\t\t\tlinkorUnlink({ tagIds: [id], recordIds: [attributeId], recordType: \"cem_cxattribute\" });\r\n\t\t\t\tupdateUserModification({ objId: currentItem.id, objName: recordType, userName });\r\n\r\n\t\t\t\tupdateAttribute(attributeId, attributeName, updatedLinks);\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"groups\":\r\n\t\t\t\tlinkorUnlink = mode === \"add\" ? linkGroups : unlinkGroups;\r\n\t\t\t\tlinkorUnlink({ groupIds: [id], recordIds: [attributeId], recordType: \"cem_cxattribute\" });\r\n\t\t\t\tupdateUserModification({ objId: currentItem.id, objName: recordType, userName });\r\n\t\t\t\tupdateAttribute(attributeId, attributeName, updatedLinks);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"linkedTouchpoints\":\r\n\t\t\t\tlinkorUnlink = mode === \"add\" ? linkRecordAttributeAPI : unlinkRecordAttributeAPI;\r\n\t\t\t\tupdateAttribute(attributeId, attributeName, updatedLinks);\r\n\t\t\t\tlinkorUnlink({ recEntityName: entityType, recIds: [id], attributeId, objId: currentItem.id, objName: recordType });\r\n\t\t\t\tconst interaction = interactions?.filter((it: any) => it.channelId === id);\r\n\t\t\t\tif (mode === \"add\") {\r\n\t\t\t\t\tlet relatedAttributeInteraction;\r\n\t\t\t\t\tswitch (recordType) {\r\n\t\t\t\t\t\tcase \"cem_cxopportunity\":\r\n\t\t\t\t\t\t\trelatedAttributeInteraction = \"linkedOpps\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"cem_cxsolution\":\r\n\t\t\t\t\t\t\trelatedAttributeInteraction = \"linkedSols\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"cem_cxactiontask\":\r\n\t\t\t\t\t\t\trelatedAttributeInteraction = \"linkedActions\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (interaction && interaction?.length > 0) {\r\n\t\t\t\t\t\tinteraction?.forEach((inter: any) => {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tlinkInteraction({\r\n\t\t\t\t\t\t\t\trecIds: [currentItem?.id] as any,\r\n\t\t\t\t\t\t\t\tstageId,\r\n\t\t\t\t\t\t\t\titemId: inter.id,\r\n\t\t\t\t\t\t\t\tattribute: relatedAttributeInteraction,\r\n\t\t\t\t\t\t\t\trecEntityName: recordType,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//create persona interaction\r\n\t\t\t\t\t\tconst newGuid = uuid();\r\n\t\t\t\t\t\tcreateMultipleInteractions({ personaInteractionsIds: { [id]: newGuid }, personaIdStr, cjmIdStr, ownerId: EMPTY_GUID, stageId }as any);\r\n\r\n\t\t\t\t\t\tlinkInteraction({\r\n\t\t\t\t\t\t\trecIds: [currentItem.id]as any,\r\n\t\t\t\t\t\t\tstageId: stageId,\r\n\t\t\t\t\t\t\titemId: newGuid,\r\n\t\t\t\t\t\t\tattribute: relatedAttributeInteraction,\r\n\t\t\t\t\t\t\trecEntityName: recordType,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tlinkorUnlink = mode === \"add\" ? linkRecordAttributeAPI : unlinkRecordAttributeAPI;\r\n\t\t\t\tupdateAttribute(attributeId, attributeName, updatedLinks);\r\n\t\t\t\tlinkorUnlink({ recEntityName: entityType, recIds: [id], attributeId, objId: currentItem.id, objName: recordType });\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\tconst sortedOrder = (a: any, b: any) => columnsOrder.indexOf(a.type) - columnsOrder.indexOf(b.type)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{displayedAttribute.sort(sortedOrder).map((attribute: any) => {\r\n\t\t\t\tconst { id, name, type, isCustom }: any = attribute;\r\n\t\t\t\tconst column: PanelColumn = columns?.find((column: PanelColumn) => column.type === type) as PanelColumn;\r\n\t\t\t\tconst { icon, Component, componentProps }: PanelColumn = (column as PanelColumn) || {};\r\n\t\t\t\tconst showHideButton = isCustom && !disabled;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{IconDispatcher(icon)}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(name)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{showHideButton && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{Component && (\r\n\t\t\t\t\t\t\t\t\t handleLinkChange({ id, mode: \"add\", attributeId: attribute.id, ...componentProps })}\r\n\t\t\t\t\t\t\t\t\t\tunlink={(id: string) => handleLinkChange({ id, mode: \"remove\", attributeId: attribute.id, ...componentProps })}\r\n\t\t\t\t\t\t\t\t\t\tisSwitchDisabled={disabled}\r\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\t\t\t\tattribute={attribute}\r\n\t\t\t\t\t\t\t\t\t\trecordType={recordType}\r\n\t\t\t\t\t\t\t\t\t\tstageId={stageId}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\t{hiddenAttribute?.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t\t\t{!disabled && }\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst useColumns = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst { currentItem, setCurrentItem } = useItem();\r\n\tconst displayedAttribute = currentItem?.attributes?.filter((attribute: any) => attribute?.isShown);\r\n\tconst hiddenAttribute = useMemo(\r\n\t\t() =>\r\n\t\t\tcurrentItem?.attributes\r\n\t\t\t\t?.filter((attribute: any) => !attribute?.isShown)\r\n\t\t\t\t?.map((attribute: any) => {\r\n\t\t\t\t\tconst icon = columns && columns.find((column: PanelColumn) => column.type === attribute?.type)?.icon;\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tid: attribute?.id,\r\n\t\t\t\t\t\ttext: t(attribute?.name),\r\n\t\t\t\t\t\ticon: icon,\r\n\t\t\t\t\t\thandleClick: () => updateShowAttribute(attribute?.id, true),\r\n\t\t\t\t\t};\r\n\t\t\t\t}),\r\n\t\t[currentItem?.attributes]\r\n\t);\r\n\r\n\tconst updateShowAttribute = (attributeId: string, isShown: boolean) => {\r\n\t\tconst modfifiedCxAttribute = currentItem?.attributes.find((att: any) => att.id === attributeId);\r\n\t\tconst updatedModfifiedCxAttribute = { ...modfifiedCxAttribute, isShown: isShown };\r\n\r\n\t\tsetCurrentItem((prev: any) => {\r\n\t\t\treturn { ...prev, attributes: prev.attributes.map((attr: any) => (attr.id === attributeId ? updatedModfifiedCxAttribute : attr)) };\r\n\t\t});\r\n\t\tupdateAttributeAPI({ attributeId, modifiedAttribNames: [\"isshown\"], modfifiedCxAttribute: updatedModfifiedCxAttribute });\r\n\t};\r\n\r\n\treturn { displayedAttribute, hiddenAttribute, updateShowAttribute };\r\n};\r\n","import { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { FlexAlignStart, FlexBetweenAlignCenter, FlexColumnAlignCenter } from \"shared/ui-basics/index\";\r\nimport { extractTextFromHtml } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport InsightType from \"../../../ui-basics/ui-components/InsightType\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { FindStatusById } from \"redux/memoizedSelectors\";\r\nimport StatusItem from \"shared/ui-basics/ui-components/StatusItem\";\r\n\r\nconst getstatusType = (entityType) => {\r\n\tswitch (entityType) {\r\n\t\tcase \"cem_cxsolution\":\r\n\t\t\treturn \"solutions\";\r\n\t\tcase \"cem_cxopportunity\":\r\n\t\t\treturn \"opportunity\";\r\n\t\tcase \"cem_cxactiontask\":\r\n\t\t\treturn \"cxActions\";\r\n\t\tcase \"cem_project\":\r\n\t\t\treturn \"project\";\r\n\t\tdefault:\r\n\t\t\treturn \"\";\r\n\t}\r\n};\r\nexport const DefaultPickListSelectCard = ({ obj, link, label = \"Default name\", idAttribute, titleAttribute, showConfirmAssociatedModal, refOver, disabled, entityType }) => {\r\n\tconst type = getstatusType(entityType);\r\n\tconst statusID = obj.attributes?.find((attr) => attr?.type === InformationType.Status)?.statusId;\r\n\tconst status = useSelector(FindStatusById(type,statusID));\r\n\r\n\tconst [showConfirmAssociatedObjects] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"PROJECT_LINK_ASSOCIATED_OBJECTS\",\r\n\t\tAction: (linkRelated) => link(obj?.[idAttribute], linkRelated),\r\n\t\tactionBtnText: \"LINK\",\r\n\t\tsecondBtnText: \"NO\",\r\n\t\tbeforeClose: () => link(obj?.[idAttribute], false),\r\n\t});\r\n\tconst handleClick = () => {\r\n\t\trefOver.current.hide();\r\n\t\tif (showConfirmAssociatedModal) showConfirmAssociatedObjects();\r\n\t\telse link(obj?.[idAttribute]);\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{obj?.[titleAttribute]?.defaultPlaceholder(label.isEmptyString() ? 'Default name':label)}
\r\n\t\t\t\t\t
{extractTextFromHtml(obj?.description)}
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{entityType === \"cem_insight\" && }\r\n\t\t\t\t\t{status && }\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Item = styled.div`\r\n\tpadding: 0.3rem 1rem;\r\n\tcursor: pointer;\r\n\tmax-height: 50px;\r\n\theight: 66px;\r\n\t.obj-name-pick {\r\n\t\tcolor: #333;\r\n\t\tfont-family: Inter;\r\n\t\tfont-size: 14px;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 500;\r\n\t\tline-height: 150%;\r\n\t\talign-self: flex-start;\r\n\t\tmax-width: 350px;\r\n\t}\r\n\t.obj-desc {\r\n\t\tcolor: #605f60;\r\n\t\tfont-family: Inter;\r\n\t\tfont-size: 12px;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 500;\r\n\t\tline-height: 150%;\r\n\t\talign-self: flex-start;\r\n\t\tmax-width: 350px;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t\topacity: 0.5;\r\n\t\t`}\r\n\r\n\t:hover {\r\n\t\tbackground-color: #efefef;\r\n\t\tborder-radius: 4px;\r\n\t}\r\n`;\r\n\r\nconst Status = styled.div`\r\n\tborder-radius: 4px;\r\n\ttext-align: start;\r\n\tfont-weight: 500;\r\n\tfont-size: 12px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tcolor: ${(props) => props.colorcode};\r\n\t/* color:#5c5858; */\r\n`;\r\n","import React, { forwardRef, memo } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { List } from \"react-virtualized\";\r\nimport { DefaultPickListSelectCard } from \"shared/components/cards/cx-cards/DefaultPickListSelectCard\";\r\nimport { useClickOutside } from \"shared/hooks\";\r\nimport { SearchBar } from \"shared/ui-basics/index\";\r\nimport * as Style from \"./style\";\r\n\r\nconst SearchPickList = forwardRef(\r\n\t(\r\n\t\t{\r\n\t\t\tcurrentItem,\r\n\t\t\tspecificItems,\r\n\t\t\tallItems,\r\n\t\t\tlinkedAttribute,\r\n\t\t\tidAttribute = \"id\",\r\n\t\t\thandleCreate,\r\n\t\t\tentityType,\r\n\t\t\thandleLinkRecord,\r\n\t\t\tnoItemsText = \"\",\r\n\t\t\ttitleAttribute = \"subject\",\r\n\t\t\tshowConfirmAssociatedModal = false,\r\n\t\t\tisPickListCardDisabledFunction,\r\n\t\t\tspecificItemsLabel,\r\n\t\t\tSelectCardComponent = DefaultPickListSelectCard,\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst { t } = useTranslation();\r\n\t\tconst innerRef = React.useRef();\r\n\t\tuseClickOutside(innerRef, () => ref.current.hide(), [\"insight-pick\", \"searchPickList\", \"p-inputtext\", \"buttons__Button\", \"ellipsis\", \"Description\",\"DefaultPickListSelectCard\",\"ui-basics__FlexBetweenAlignCenter\"]);\r\n\t\tconst [globalFilterValue, setGlobalFilterValue] = React.useState(\"\");\r\n\t\tconst handleChange = (e) => setGlobalFilterValue(e.target.value);\r\n\t\tconst isSearchOnly = !handleCreate;\r\n\r\n\t\tconst createRecord = () => {\r\n\t\t\tref.current.hide();\r\n\t\t\thandleCreate({ entityType, globalFilterValue });\r\n\t\t\tsetGlobalFilterValue(\"\");\r\n\t\t};\r\n\r\n\t\tconst filterList = allItems?.filter((data) => {\r\n\t\t\tconst value = data?.[titleAttribute]?.toLowerCase();\r\n\t\t\treturn value?.includes(globalFilterValue?.toLowerCase());\r\n\t\t});\r\n\r\n\t\tfilterList?.sortAsc(titleAttribute)\r\n\r\n\t\tconst showCreationButton = !isSearchOnly && filterList?.length === 0 && globalFilterValue?.length > 0;\r\n\t\tconst Search = SearchBar({\r\n\t\t\tglobalFilterValue,\r\n\t\t\thandleChange,\r\n\t\t\tsize: \"small\",\r\n\t\t\tlabel: isSearchOnly ? `SEARCH_GENERIC` : `SEARCH_CREATE_GENERIC`,\r\n\t\t\tcreateAction: showCreationButton && createRecord,\r\n\t\t\tdisabledCreation: currentItem?.stageId?.length === 0 || currentItem?.ownerId?.length === 0,\r\n\t\t});\r\n\r\n\t\tconst linkRecord = (recordId, linkRelated = false) => {\r\n\t\t\tref.current.hide();\r\n\t\t\thandleLinkRecord({ recordId, linkedAttribute, linkRelated });\r\n\t\t};\r\n\r\n\t\tconst isPickListCardDisabled = ({ pickListCardData }) => {\r\n\t\t\tif (isPickListCardDisabledFunction) return isPickListCardDisabledFunction({ pickListCardData });\r\n\t\t\treturn currentItem?.[linkedAttribute]?.some((linkedItem) => {\r\n\t\t\t\tconst id = linkedItem?.id || linkedItem;\r\n\t\t\t\treturn id === pickListCardData.id;\r\n\t\t\t});\r\n\t\t};\r\n\t\tconst list = specificItems || filterList;\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
{Search}
\r\n\t\t\t\t\t{specificItemsLabel && {t(specificItemsLabel)}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{list?.length > 0 ? (\r\n\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t
{noItemsText}
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSearchPickList.displayName = \"SearchPickList\";\r\nexport default memo(SearchPickList);\r\n","import { createAction } from \"@reduxjs/toolkit\";\r\nimport { store } from \"../../../redux/store\";\r\nimport {\r\n\tdeleteAdvancedInteractionIcon,\r\n\tdeleteIconSimpleInteraction,\r\n\tdeleteIconsSwimlane,\r\n\tdeleteStageAttribute,\r\n\tlinkIconSwimlane,\r\n\tunLinkIconSwimlane,\r\n\tupdateAdvancedInteractionIcon,\r\n\tupdateIconSimpleInteraction,\r\n\tupdateIconsSwimlane,\r\n\tupdateStageAttribute,\r\n} from \"features/journey-map/reducer/CJMActions\";\r\n\r\nexport const deleteIconCustomSwimlane = async ({ swimlaneKey, stageId, iconId, type, cjmIdStr, personaIdStr, cardId, specificKey }) => {\r\n\tconst key = specificKey ? specificKey : type === 5 || type === 14 ? swimlaneKey + \"_\" + stageId : stageId;\r\n\tswitch (type) {\r\n\t\tcase 14:\r\n\t\t\tstore.dispatch(deleteIconsSwimlane(swimlaneKey, stageId, iconId));\r\n\t\t\tbreak;\r\n\t\tcase 5:\r\n\t\t\tstore.dispatch(deleteIconsSwimlane(swimlaneKey, stageId, iconId));\r\n\t\t\tbreak;\r\n\t\tcase 7:\r\n\t\t\tstore.dispatch(deleteIconSimpleInteraction(personaIdStr, stageId, iconId, \"consIcons\"));\r\n\t\t\tbreak;\r\n\t\tcase 8:\r\n\t\t\tstore.dispatch(deleteIconSimpleInteraction(personaIdStr, stageId, iconId, \"prosIcons\"));\r\n\t\t\tbreak;\r\n\t\tcase 15:\r\n\t\t\tstore.dispatch(deleteAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"icons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 1:\r\n\t\t\tstore.dispatch(deleteAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"interactionIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 26:\r\n\t\t\tstore.dispatch(deleteAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"ActionsIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 9:\r\n\t\t\tstore.dispatch(deleteStageAttribute(stageId, \"globalInsightsIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 10:\r\n\t\t\tstore.dispatch(deleteStageAttribute(stageId, \"descriptionIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 12:\r\n\t\t\tstore.dispatch(deleteStageAttribute(stageId, \"issuesIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 11:\r\n\t\t\tstore.dispatch(deleteStageAttribute(stageId, \"kpIsIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 13:\r\n\t\t\tstore.dispatch(deleteStageAttribute(stageId, \"processesIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 4:\r\n\t\t\tstore.dispatch(deleteAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"prosIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\tstore.dispatch(deleteAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"consIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 3:\r\n\t\t\tstore.dispatch(deleteAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"insightsIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 6:\r\n\t\t\tstore.dispatch(deleteIconSimpleInteraction(personaIdStr, stageId, iconId, \"actionsIcons\"));\r\n\t\t\tbreak;\r\n\t\tcase 19: {\r\n\t\t\tconst deleteIconCxGoals = createAction(\"DELETE_ICON_SWIMLANE_CX_GOALS\");\r\n\t\t\tstore.dispatch(deleteIconCxGoals({ stageId, iconId, cardId }));\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase 29:\r\n\t\tcase 25:\r\n\t\tcase 16: {\r\n\t\t\tconst itemDELETE = createAction(\"DELETE_ICON_SWIMLANE_ITEMS\");\r\n\t\t\tstore.dispatch(itemDELETE({ swimlaneKey, stageId, iconId, cardId }));\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\t\r\n\t\tcase 22: {\r\n\t\t\tstore.dispatch(deleteStageAttribute(stageId, \"nameIcons\", iconId));\r\n\t\t\tbreak\r\n\t\t}\r\n\t\tcase 24: {\r\n\t\t\tconst deleteTimeLineIcon = createAction(\"DELETE_ICON_TIMELINE\");\r\n\t\t\tstore.dispatch(deleteTimeLineIcon({ stageId, iconId, cardId }));\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase 28: {\r\n\t\t\tconst deleteCustomerFeedbackIcon = createAction(\"DELETE_ICON_CUSTOMER_FEEDBACK\");\r\n\t\t\tstore.dispatch(deleteCustomerFeedbackIcon({ stageId, iconId, cardId, personaId: personaIdStr }));\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase 23: {\r\n\t\t\tconst deletePhaseIcons = createAction(\"DELETE_PHASE_ICONS\")\r\n\t\t\tstore.dispatch(deletePhaseIcons({ phaseId: stageId, iconId }))\r\n\t\t\tbreak\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\tunLinkIconSwimlane({ iconIdStr: iconId, objectIdStr: key, IconType: type, cjmIdStr, personaIdStr })\r\n\r\n};\r\nexport const addIconCustomSwimlane = async ({ swimlaneKey, stageId, iconId, type, cjmIdStr, personaIdStr, cardId, specificKey }) => {\r\n\tconst key = specificKey ? specificKey : [5, 14].includes(type) ? swimlaneKey + \"_\" + stageId : stageId;\r\n\r\n\tswitch (type) {\r\n\t\tcase 14:\r\n\t\t\tstore.dispatch(updateIconsSwimlane(swimlaneKey, stageId, iconId));\r\n\t\t\tbreak;\r\n\t\tcase 5:\r\n\t\t\tstore.dispatch(updateIconsSwimlane(swimlaneKey, stageId, iconId));\r\n\t\t\tbreak;\r\n\t\tcase 7:\r\n\t\t\tstore.dispatch(updateIconSimpleInteraction(personaIdStr, stageId, iconId, \"consIcons\"));\r\n\t\t\tbreak;\r\n\t\tcase 8:\r\n\t\t\tstore.dispatch(updateIconSimpleInteraction(personaIdStr, stageId, iconId, \"prosIcons\"));\r\n\t\t\tbreak;\r\n\t\tcase 15:\r\n\t\t\tstore.dispatch(updateAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"icons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 1:\r\n\t\t\tstore.dispatch(updateAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"interactionIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 26:\r\n\t\t\tstore.dispatch(updateAdvancedInteractionIcon(personaIdStr, stageId, cardId, \"actionsIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 9:\r\n\t\t\tstore.dispatch(updateStageAttribute(stageId, \"globalInsightsIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 22:\r\n\t\t\tstore.dispatch(updateStageAttribute(stageId, \"nameIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 10:\r\n\t\t\tstore.dispatch(updateStageAttribute(stageId, \"descriptionIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 12:\r\n\t\t\tstore.dispatch(updateStageAttribute(stageId, \"issuesIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 11:\r\n\t\t\tstore.dispatch(updateStageAttribute(stageId, \"kpIsIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 13:\r\n\t\t\tstore.dispatch(updateStageAttribute(stageId, \"processesIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 4:\r\n\t\t\tstore.dispatch(updateAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"prosIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\tstore.dispatch(updateAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"consIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 3:\r\n\t\t\tstore.dispatch(updateAdvancedInteractionIcon(personaIdStr, stageId,cardId, \"insightsIcons\", iconId));\r\n\t\t\tbreak;\r\n\t\tcase 23: {\r\n\t\t\tconst updatePhaseIcons = createAction(\"UPDATE_PHASE_ICONS\")\r\n\t\t\tstore.dispatch(updatePhaseIcons({ phaseId: stageId, iconId }))\r\n\t\t\tbreak\r\n\t\t}\r\n\t\tcase 6:\r\n\t\t\tstore.dispatch(updateIconSimpleInteraction(personaIdStr, stageId, iconId, \"actionsIcons\"));\r\n\t\t\tbreak;\r\n\r\n\t\tcase 19: {\r\n\t\t\tconst itemUpdateCxGoals = createAction(\"ADD_ICON_SWIMLANE_CX_GOALS\");\r\n\t\t\tstore.dispatch(itemUpdateCxGoals({ stageId, iconId, cardId }));\r\n\t\t\tbreak\r\n\t\t}\r\n\t\tcase 29:\r\n\t\tcase 25:\r\n\t\tcase 16: {\r\n\t\t\tconst itemUpdate = createAction(\"ADD_ICON_SWIMLANE_ITEMS\");\r\n\t\t\tstore.dispatch(itemUpdate({ swimlaneKey, stageId, iconId, cardId }));\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\r\n\t\tcase 24: {\r\n\t\t\tconst updateTimeLineIcon = createAction(\"ADD_ICON_TIMELINE\");\r\n\t\t\tstore.dispatch(updateTimeLineIcon({ stageId, iconId, cardId }));\r\n\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase 28: {\r\n\t\t\tconst updateCustomerFeedbackIcon = createAction(\"ADD_ICON_CUSTOMER_FEEDBACK\");\r\n\t\t\tstore.dispatch(updateCustomerFeedbackIcon({ stageId, iconId, cardId, personaId: personaIdStr }));\r\n\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tdefault:\r\n\t}\r\n\tlinkIconSwimlane({ iconIdStr: iconId, objectIdStr: key, IconType: type, cjmIdStr, personaIdStr })\r\n\r\n};\r\n","import { CheckBoxWrapper } from \"features/library/modals/link-kpi/Style\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { touchPointIconValidation } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const TouchpointSelectCard = (props) => {\r\n\tconst { object, handleRemove, showBorders, disabled, isEdit, info } = props;\r\n\tconst { t } = useTranslation();\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst picture = pictureValidation(object, sessionId);\r\n\tconst isRemovable = handleRemove !== undefined;\r\n\tconst selectableComponent = () => {\r\n\t\tconst { selected } = props;\r\n\t\treturn {}} />;\r\n\t};\r\n\tconst handleDelete = (e) => {\r\n\t\te.stopPropagation();\r\n\t\thandleRemove(object.id);\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.selectable &&
{selectableComponent()}
}\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t\t{object?.name}\r\n\t\t\t\r\n\r\n\t\t\t
{isRemovable && isEdit && {IconDispatcher(\"X\", \"\", { size: \"xs\" })}}
\r\n\t\t\t{info && (\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"INFO\", \"ne-2\", { size: \"xs\", color: \"#605F60\" })}
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst pictureValidation = (icon, sessionId) => {\r\n\tif (icon.isCustom) return `api/touchpoint/getCustomImage?channelIdStr=${icon.id}&sid=${sessionId}&workspaceId=${currentWorkspaceId}`;\r\n\treturn touchPointIconValidation(icon.name);\r\n};\r\n\r\nconst RemoveButton = styled.div`\r\n\tjustify-self: end;\r\n\tcursor: pointer;\r\n`;\r\n\r\nconst Card = styled.div`\r\n\theight: 32px;\r\n\tdisplay: flex;\r\n\tmargin: 0px;\r\n\tborder-radius: 0.25rem;\r\n\tgap: 8px;\r\n\tpadding: 4px;\r\n\t${(props) =>\r\n\t\t!props.isremovable === \"true\" &&\r\n\t\tcss`\r\n\t\t\t:hover .row {\r\n\t\t\t\tbackground-color: #efefef;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t\topacity: 0.5;\r\n\t\t`}\r\n\r\n\t${(props) =>\r\n\t\tprops.showborders === \"true\" &&\r\n\t\tcss`\r\n\t\t\tborder: 1px solid #c4c4c4;\r\n\t\t`}\r\n`;\r\n\r\nconst ImageIcon = styled.img`\r\n\twidth: 1.12rem;\r\n\theight: 1.12rem;\r\n\talign-self: center !important;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\talign-self: center;\r\n`;\r\n","import { Container } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\nimport { Spinner } from \"./Spinner\";\r\n\r\nexport default function CascadeLoader({ words }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst Middle = styled.div`\r\n\tposition: absolute;\r\n\ttop: 50%;\r\n\tleft: 50%;\r\n\ttransform: translate(-50%, -50%);\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Loading = ({ words }) => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{/*
*/}\r\n\t\t\t
\r\n\t\t\t\t

Generating

\r\n\t\t\t\t
\r\n\t\t\t\t\t{words.map((word,i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{word}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n","import { getAllPersonas } from '@redux/index';\r\nimport TextSuggestions from 'features/ai/components/TextSuggestion';\r\nimport PersonaBubble from 'features/forms/personas/components/PersonaBubble';\r\nimport { useEffect, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport CascadeLoader from 'shared/components/spinners/CascadeLoader';\r\nimport { Spinner } from 'shared/components/spinners/Spinner';\r\nimport GenericHeader from 'shared/headers/GenericHeader';\r\nimport { useAsync } from 'shared/hooks';\r\nimport { FlexAlignCenter } from 'shared/ui-basics';\r\nimport styled from 'styled-components';\r\n\r\nexport default function JourneyMapLoading() {\r\n\r\n const [details, setDetails] = useState(null)\r\n const persona = useSelector((state) => state.personas?.all_personas?.find(p => p.personaId === details?.personaId))\r\n const params = useSelector((state) => state.maps?.creationCjmParams)\r\n const isAiGeneration = useSelector((state) => state.maps?.aiGeneration)\r\n\r\n\r\n useAsync({ asyncFn: getAllPersonas })\r\n useEffect(() => {\r\n if (params) {\r\n setDetails(params)\r\n }\r\n }, [params]);\r\n return (\r\n \r\n \r\n \r\n {persona && }\r\n
\r\n

{isAiGeneration ? : details?.name}

\r\n
{isAiGeneration ? : details?.description}
\r\n
\r\n
\r\n
\r\n \r\n {isAiGeneration ? : }\r\n \r\n
\r\n )\r\n}\r\n\r\nconst MapContainer = styled.div`\r\n\tpadding: 0.5rem;\r\n\tfont-size: 14px;\r\n`;\r\nconst SwimlanesContainer = styled.div`\r\n\tmargin-top: 8px;\r\n\twidth: 100%;\r\n\toverflow: auto;\r\n\theight: calc(100vh - 220px);\r\n\tposition: relative;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: #fff;\r\n\tbox-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25);\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\r\n`;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { TitleInput } from \"shared/cx-components/cx-components.style\";\r\nimport { GenericButton } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport { isNullOrEmpty } from \"utils/helpers\";\r\n\r\ninterface TaxonomyCreateItemProps {\r\n\tonCreate: (params: { name: string }) => void;\r\n\ttabKey?: string;\r\n}\r\n\r\nconst TaxonomyCreateItem: React.FC = ({ onCreate, tabKey }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst [name, setName] = useState(\"\");\r\n\r\n\t// Reset name when tabKey changes\r\n\tuseEffect(() => {\r\n\t\tsetName(\"\");\r\n\t}, [tabKey]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t) => setName(e.target.value)}\r\n\t\t\t\tautoFocus={true}\r\n\t\t\t/>\r\n\t\t\t {\r\n\t\t\t\t\tonCreate({ name });\r\n\t\t\t\t\tsetName(\"\");\r\n\t\t\t\t}}\r\n\t\t\t\tdisabled={isNullOrEmpty(name)}>\r\n\t\t\t\t{t(\"ASPX_108\")}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TaxonomyCreateItem;\r\n\r\nconst InputContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n\theight: 72px;\r\n\tpadding: 16px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #333;\r\n\tmargin-top: 40px;\r\n`;\r\n","import { CustomizationColors, FlexAlignCenter, IconDispatcher, SwimlaneColors } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface ColorPickerVerticalProps {\r\n\tvariant: \"swimlane\" | \"taxonomy\";\r\n\tonSelect: ({ e, color }: { e: any; color: string }) => void;\r\n\tselectedColor: string;\r\n}\r\n\r\nexport const ColorPickerVertical: React.FC = ({ variant, onSelect, selectedColor }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tlet colorData = [];\r\n\tswitch (variant) {\r\n\t\tcase \"taxonomy\":\r\n\t\t\tcolorData = Object.keys(CustomizationColors).map((key) => CustomizationColors[key]);\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{colorData?.map((data, i) => (\r\n\t\t\t\t onSelect({ e, color: data?.backgroundColor })}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{IconDispatcher(\"CHECK\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{t(data?.description)}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 8px;\r\n\twidth: 100%;\r\n`;\r\n\r\nconst ColorSquare = styled.div<{ backgroundColor: string; borderColor: string }>`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 32px;\r\n\theight: 32px;\r\n\tborder-radius: 4px;\r\n\tbackground-color: ${({ backgroundColor }) => backgroundColor};\r\n\tborder: 1px solid ${({ borderColor }) => borderColor};\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst Check = styled.div<{ visible: boolean }>`\r\n\tvisibility: ${({ visible }) => (visible ? \"visible\" : \"hidden\")};\r\n\tpath {\r\n\t\tfill: #333;\r\n\t}\r\n`;\r\n\r\nconst Description = styled.div`\r\n\tcolor: #262626;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n","import { memo, useEffect, useRef, useState } from \"react\";\r\nimport OverlayTrigger from \"react-bootstrap/OverlayTrigger\";\r\nimport Popover from \"react-bootstrap/Popover\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { TitleInput } from \"shared/cx-components/cx-components.style\";\r\nimport { CustomizationColors, GenericButton } from \"shared/ui-basics\";\r\nimport { ColorPickerVertical } from \"shared/ui-basics/ui-components/ColorPickerVertical\";\r\nimport styled from \"styled-components/macro\";\r\nimport TaxonomyItem from \"./TaxonomyItem\";\r\nimport { ActionConfirmModal } from \"shared/modals\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport Drag from \"shared/Drag-Drop/components/Drag\";\r\ninterface TaxonomyListItemProps {\r\n\titem: any;\r\n\tonUpdate: (params: any) => void;\r\n\tonDelete: (params: any) => void;\r\n\tshowDot?: boolean;\r\n\tisEditAllowed?: boolean;\r\n\tdefaultColor?: { color: string; backgroundColor: string };\r\n}\r\n\r\nconst TaxonomyListItem: React.FC = ({ item, onUpdate, onDelete, showDot = false, isEditAllowed = true, defaultColor }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst target = useRef(null);\r\n\r\n\tconst [show, setShow] = useState(false);\r\n\tconst [name, setName] = useState(item?.name);\r\n\tconst [colorCode, setColorCode] = useState(item?.colorCode);\r\n\tconst [placement, setPlacement] = useState(\"right\");\r\n\r\n\tuseEffect(() => {\r\n\t\tconst handleResize = () => {\r\n\t\t\tconst isEnoughSpaceForRight = window.innerWidth > 1750;\r\n\t\t\tsetPlacement(isEnoughSpaceForRight ? \"right\" : \"auto\");\r\n\t\t};\r\n\r\n\t\thandleResize();\r\n\r\n\t\twindow.addEventListener(\"resize\", handleResize);\r\n\r\n\t\treturn () => window.removeEventListener(\"resize\", handleResize);\r\n\t}, []);\r\n\r\n\tconst handleUpdate = () => {\r\n\t\tonUpdate({ updatedItem: { ...item, name, colorCode }, modifiedAttribNames: [\"name\", \"colorCode\"] });\r\n\t};\r\n\tconst [showModalDelete] = useModal(ActionConfirmModal, {\r\n\t\ttitle: t(\"ASPX_145\"),\r\n\t\tbodyContent: \"DELETE_PERMANENT_GENERIC\",\r\n\t\tAction: () => onDelete({ item }),\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\tconst openPopover = (visible) => {\r\n\t\tif (isEditAllowed) setShow(visible);\r\n\t\tif (!visible && (name !== item?.name || colorCode !== item?.colorCode)) {\r\n\t\t\thandleUpdate();\r\n\t\t}\r\n\t};\r\n\r\n\tconst popover = (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t setName(e.target.value)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t setColorCode(color)} selectedColor={colorCode} />\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"CS_45\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n\r\n\tconst { color, backgroundColor } = CustomizationColors[colorCode] || defaultColor || { color: \"#333\", backgroundColor: colorCode };\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{isEditAllowed && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TaxonomyListItem;\r\n\r\nconst ActionsContainer = styled.div`\r\n\tvisibility: hidden;\r\n\tposition: relative;\r\n`;\r\n\r\nconst Container = styled.div`\r\n\tmargin-top: 8px;\r\n\tpadding: 8px 18px;\r\n\t\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n\tborder-radius: 4px;\r\n\t:hover {\r\n\t\tbackground-color: #f1f5f9;\r\n\t\tcursor: pointer;\r\n\t}\r\n\t:hover ${ActionsContainer} {\r\n\t\tvisibility: visible;\r\n\t}\r\n`;\r\n\r\nconst Menu = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 16px;\r\n`;\r\n\r\nconst InputContainer2 = styled.div`\r\n\twidth: 100%;\r\n\theight: 41px;\r\n\tborder: 1px solid #333;\r\n\tborder-radius: 4px;\r\n`;\r\n\r\nconst ColorsContainer = styled.div`\r\n\theight: fit-content;\r\n`;\r\n\r\nconst MenuFooter = styled.div`\r\n\tborder-top: 1px solid #f0f0f0;\r\n`;\r\n\r\nconst PopOverCustom = styled(Popover)`\r\n\tpadding: 1rem;\r\n\tmin-width: 261px;\r\n\r\n\t.popover-header {\r\n\t\tpadding: 0.2rem 0.3rem;\r\n\t\tbackground-color: #ffffff;\r\n\t}\r\n\t.popover-body {\r\n\t\tmax-height: 300px;\r\n\t\toverflow: auto;\r\n\t}\r\n\t/* .popover-arrow {\r\n\t\tdisplay: none;\r\n\t} */\r\n`;\r\n","import styled from \"styled-components/macro\";\r\n\r\nexport const Container = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n`;\r\n\r\nexport const Header = styled.div`\r\n\tpadding: 24px;\r\n\tmargin-bottom: 24px;\r\n\tborder-bottom: 1px solid #efefef;\r\n`;\r\n\r\n// export const Title = styled.div`\r\n// \tcolor: #262626;\r\n// \tfont-family: \"Inter\";\r\n// \tfont-size: 24px;\r\n// \tfont-style: normal;\r\n// \tfont-weight: 600;\r\n// \tline-height: normal;\r\n// `;\r\n\r\nexport const Body = styled.div`\r\n\twidth: 100%;\r\n\theight: calc(100vh - 450px);\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nexport const Wrapper = styled.div`\r\n\theight: 100%;\r\n\twidth: 960px;\r\n`;\r\n\r\nexport const RecordsContainer = styled.div`\r\n\theight: 100%;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tmargin-top: 16px;\r\n\t.handle {\r\n\t\ttop: 15px !important;\r\n\t}\r\n`;\r\n","import { addGroup, groupInit, removeGroup, saveOrderGroup, updateGroupAttribute } from \"features/library/reducer/LibraryActions\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { findWorkspaceById } from \"redux/memoizedSelectors\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport DragDrop, { SetItemsProps } from \"shared/Drag-Drop/DragDrop\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport TaxonomyCreateItem from \"../components/TaxonomyCreateItem\";\r\nimport TaxonomyListItem from \"../components/TaxonomyListItem\";\r\nimport { Body, Container, Header, RecordsContainer, Wrapper } from \"./style\";\r\n\r\nconst TaxonomyGroup: React.FC = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst currentWorkspace = useSelector(findWorkspaceById(currentWorkspaceId));\r\n\tconst groups = useSelector((state: any) => state.libraries.group);\r\n\r\n\tconst onCreate = ({ name }: { name: string }) => addGroup({ newGroup: { name:name?.truncate(100,true), colorCode: \"#64748B\" } });\r\n\r\n\tconst onUpdate = ({ updatedItem, modifiedAttribNames }: { updatedItem: any; modifiedAttribNames: string[] }) => updateGroupAttribute({ modifiedGroup: updatedItem, modifiedAttribNames });\r\n\r\n\tconst onDelete = ({ item }: { item: any }) => removeGroup({ id: item.id });\r\n\r\n\tconst onDragEnd = ({ newItems }: SetItemsProps) => saveOrderGroup({ ids: newItems?.map((el) => el.id)?.join(\"|\") });\r\n\r\n\tconst defaultColor = { color: \"#1e293b\", backgroundColor: \"#f3f4f6\" };\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{t(\"GROUP\")}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{(item) => }\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default TaxonomyGroup;\r\n","import { createInsightType, deleteInsightType, getAllInsightTypes, saveOrderInsightType, updateInsightType } from \"features/library/reducer/LibraryActions\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { findWorkspaceById } from \"redux/memoizedSelectors\";\r\nimport DragDrop, { SetItemsProps } from \"shared/Drag-Drop/DragDrop\";\r\nimport { CustomizationColors } from \"shared/ui-basics\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport { EMPTY_GUID, getRandomInt } from \"utils/helpers\";\r\nimport TaxonomyCreateItem from \"../components/TaxonomyCreateItem\";\r\nimport TaxonomyListItem from \"../components/TaxonomyListItem\";\r\nimport { Body, Container, Header, RecordsContainer, Wrapper } from \"./style\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\n\r\nconst TaxonomyInsightType: React.FC = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst currentWorkspace = useSelector(findWorkspaceById(currentWorkspaceId));\r\n\tconst insightTypes = useSelector((state: any) => state.libraries.insightTypes);\r\n\tconst colors = Object.keys(CustomizationColors);\r\n\r\n\tconst onCreate = ({ name }: { name: string }) => {\r\n\t\tcreateInsightType({ \r\n\t\t\tnewInsightType: { id: EMPTY_GUID, name: name?.truncate(100, true), colorCode: colors[getRandomInt(0, colors.length - 1)] } \r\n\t\t});\r\n\t}\r\n\tconst onUpdate = ({ updatedItem, modifiedAttribNames }: { updatedItem: any; modifiedAttribNames: string[] }) => {\r\n\t\tupdateInsightType({ item: updatedItem, modifiedAttribNames });\r\n\t}\r\n\r\n\tconst onDelete = ({ item }: { item: any }) => {\r\n\t\tconst typeId = localStorage.getItem(\"lastUsedInsightTypeId\");\r\n\t\tif (typeId === item.id) {\r\n\t\t\tlocalStorage.removeItem(\"lastUsedInsightTypeId\");\r\n\t\t}\r\n\t\tdeleteInsightType({ id: item.id });\r\n\t};\r\n\r\n\tconst onDragEnd = ({ newItems }: SetItemsProps) => saveOrderInsightType({ ids: newItems?.map((el) => el.id)?.join(\"|\") });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{t(\"INSIGHT_TYPE\")}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{(item) => }\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default TaxonomyInsightType;\r\n","import { addPriority, priorityInit, removePriority, saveOrderPriority, updatePriorityAttribute } from \"features/library/reducer/LibraryActions\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { findWorkspaceById } from \"redux/memoizedSelectors\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport DragDrop, { SetItemsProps } from \"shared/Drag-Drop/DragDrop\";\r\nimport { CustomizationColors } from \"shared/ui-basics\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport { CxValidation, getRandomInt } from \"utils/helpers\";\r\nimport TaxonomyCreateItem from \"../components/TaxonomyCreateItem\";\r\nimport TaxonomyListItem from \"../components/TaxonomyListItem\";\r\nimport { Body, Container, Header, RecordsContainer, Wrapper } from \"./style\";\r\n\r\nconst TaxonomyPriority: React.FC = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst currentWorkspace = useSelector(findWorkspaceById(currentWorkspaceId));\r\n\tconst priorities = useSelector((state: any) => state.libraries.priority);\r\n\tconst colors = Object.keys(CustomizationColors);\r\n\r\n\tconst [tabKey, setTabKey] = useState(\"insight\");\r\n\r\n\tconst handleChangeTab = (k: string) => setTabKey(k);\r\n\r\n\tconst onCreate = ({ name }: { name: string }) =>\r\n\t\taddPriority({ newPriority: { name: name?.truncate(100, true), colorCode: colors[getRandomInt(0, colors.length - 1)], CXEntity: CxValidation(tabKey) }, type: tabKey });\r\n\r\n\tconst onUpdate = ({ updatedItem, modifiedAttribNames }: { updatedItem: any; modifiedAttribNames: string[] }) =>\r\n\t\tupdatePriorityAttribute({ modifiedPriority: updatedItem, modifiedAttribNames, type: tabKey });\r\n\r\n\tconst onDelete = ({ item }: { item: any }) => removePriority({ id: item.id, type: tabKey });\r\n\r\n\tconst onDragEnd = ({ newItems }: SetItemsProps) => saveOrderPriority({ ids: newItems.map((el) => el.id).join(\"|\"), params: tabKey });\r\n\r\n\tconst tabs = [\r\n\t\t{ key: \"insight\", title: t(\"ASPX_33\") },\r\n\t\t{ key: \"opportunity\", title: t(\"OPPORTUNITIES\") },\r\n\t\t{ key: \"cxActions\", title: t(\"ACTION_ITEM\") },\r\n\t\t{ key: \"project\", title: t(\"PROJECTS\") },\r\n\t];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{t(\"PRIORITY\")}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tabs.map((tab) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{(item) => }\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default TaxonomyPriority;\r\n","import { addStatus, removeStatus, saveOrderStatus, statusInit, updateStatusAttribute } from \"features/library/reducer/LibraryActions\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { findWorkspaceById } from \"redux/memoizedSelectors\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport DragDrop, { SetItemsProps } from \"shared/Drag-Drop/DragDrop\";\r\nimport { CustomizationColors } from \"shared/ui-basics\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport { CxValidation, encode, getRandomInt } from \"utils/helpers\";\r\nimport TaxonomyCreateItem from \"../components/TaxonomyCreateItem\";\r\nimport TaxonomyListItem from \"../components/TaxonomyListItem\";\r\nimport { Body, Container, Header, RecordsContainer, Wrapper } from \"./style\";\r\n\r\nconst TaxonomyStatus: React.FC = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst currentWorkspace = useSelector(findWorkspaceById(currentWorkspaceId));\r\n\tconst statuses = useSelector((state: any) => state.libraries.status);\r\n\tconst isStandard = useSelector((state: any) => state.auth?.userInfo?.UserSubscriptionPlanName) === \"Standard\";\r\n\tconst colors = Object.keys(CustomizationColors);\r\n\r\n\tconst [tabKey, setTabKey] = useState(\"customerJourney\");\r\n\r\n\tconst handleChangeTab = (k: string) => setTabKey(k);\r\n\r\n\tconst onCreate = ({ name }: { name: string }) =>\r\n\t\taddStatus({ newStatus: { name: encode(name?.truncate(100, true)), colorCode: colors[getRandomInt(0, colors.length - 1)], CXEntity: CxValidation(tabKey) }, type: tabKey });\r\n\r\n\tconst onUpdate = ({ updatedItem, modifiedAttribNames }: { updatedItem: any; modifiedAttribNames: string[] }) =>\r\n\t\tupdateStatusAttribute({ modifiedStatus: updatedItem, modifiedAttribNames, type: tabKey });\r\n\r\n\tconst onDelete = ({ item }: { item: any }) => removeStatus({ id: item.id, type: tabKey });\r\n\r\n\tconst onDragEnd = ({ newItems }: SetItemsProps) => saveOrderStatus({ ids: newItems?.map((el) => el.id)?.join(\"|\"), params: tabKey });\r\n\r\n\tconst tabs = [\r\n\t\t{ key: \"customerJourney\", title: t(\"JOURNEYS\") },\r\n\t\t{ key: \"insight\", title: t(\"ASPX_33\") },\r\n\t\t{ key: \"opportunity\", title: t(\"OPPORTUNITIES\") },\r\n\t\t{ key: \"solutions\", title: t(\"SOLUTIONS\") },\r\n\t\t{ key: \"cxActions\", title: t(\"ACTION_ITEM\") },\r\n\t\t{ key: \"project\", title: t(\"PROJECTS\") },\r\n\t].filter((tab) => (isStandard ? tab.key === \"customerJourney\" : true));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{t(\"ASPX_222\")}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tabs.map((tab) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{(item) => }\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default TaxonomyStatus;\r\n","import { deleteTag, saveOrderTags, tagInit, upsertTag } from \"features/library/reducer/LibraryActions\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { findWorkspaceById } from \"redux/memoizedSelectors\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport DragDrop, { SetItemsProps } from \"shared/Drag-Drop/DragDrop\";\r\nimport { CustomizationColors } from \"shared/ui-basics\";\r\nimport { CustomBreadCrumb } from \"shared/ui-basics/ui-components/CustomBreadCrumb\";\r\nimport { decode, EMPTY_GUID, getRandomInt } from \"utils/helpers\";\r\nimport TaxonomyCreateItem from \"../components/TaxonomyCreateItem\";\r\nimport TaxonomyListItem from \"../components/TaxonomyListItem\";\r\nimport { Body, Container, Header, RecordsContainer, Wrapper } from \"./style\";\r\n\r\nconst TaxonomyTag: React.FC = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst currentWorkspace = useSelector(findWorkspaceById(currentWorkspaceId));\r\n\tconst tags = useSelector((state: any) => state.libraries.tags);\r\n\tconst colors = Object.keys(CustomizationColors);\r\n\r\n const onCreate = ({ name }: { name: string }) => upsertTag({ tag: { id: EMPTY_GUID, name:name?.truncate(100,true), colorCode: colors[getRandomInt(0, colors.length - 1)] } });\r\n \r\n const onUpdate = ({ updatedItem }: { updatedItem: any }) => upsertTag({ tag: { ...updatedItem, name: decode(updatedItem?.name?.truncate(100,true)) } });\r\n \r\n\tconst onDelete = ({ item }: { item: any }) => deleteTag({ tagId: item.id });\r\n\r\n\tconst onDragEnd = ({ newItems }: SetItemsProps) => saveOrderTags({ ids: newItems?.map((el) => el.id)?.join(\"|\") });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{t(\"TAGS\")}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{(item) => }\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default TaxonomyTag;\r\n","import { UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport axios from \"axios\";\r\nimport {\r\n\tAnalytics,\r\n\tArchive,\r\n\tBrandValues,\r\n\tCXProgram,\r\n\tConfiguration,\r\n\tCustomLibrary,\r\n\tCxActions,\r\n\tCxAssessmentPage,\r\n\tEditUser,\r\n\tHome,\r\n\tInsights,\r\n\tIntegrationForm,\r\n\tIntegrationList,\r\n\tJourneyMapCreation,\r\n\tJourneyMapList,\r\n\tLibraries,\r\n\tManageOwnership,\r\n\tManageTeams,\r\n\tMapHierarchyView,\r\n\tMeasures,\r\n\tOpportunity,\r\n\tOrganization,\r\n\tPersonaCreationWizard,\r\n\tPersonas,\r\n\tProjects,\r\n\tSearch,\r\n\tSolutions,\r\n\tStickers,\r\n\tTemplates,\r\n\tTouchPoints,\r\n\tTrashBin,\r\n\tUsers,\r\n\tWorkspaceForm,\r\n\tWorkspacesList\r\n} from \"features/index\";\r\nimport JourneyMapLoading from \"features/journey-map/components/journey-map-loading\";\r\nimport TaxonomyGroup from \"features/taxonomy/views/taxonomy-group\";\r\nimport TaxonomyInsightType from \"features/taxonomy/views/taxonomy-insight-type\";\r\nimport Taxonomy from \"features/taxonomy/views/taxonomy-page\";\r\nimport TaxonomyPriority from \"features/taxonomy/views/taxonomy-priority\";\r\nimport TaxonomyStatus from \"features/taxonomy/views/taxonomy-status\";\r\nimport TaxonomyTag from \"features/taxonomy/views/taxonomy-tag\";\r\nimport { lazy } from \"react\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { base } from \"redux/store\";\r\nimport { allRoutesCombines, settingsfooterRoutes } from \"shared/Routes/routes\";\r\nimport CascadeLoader from \"shared/components/spinners/CascadeLoader\";\r\n\r\nconst JourneyMapPage = lazy(() => import(\"features/journey-map/view/journey-map-page\"));\r\nconst PersonaPage = lazy(() => import(\"features/forms/personas/view/persona-page\"));\r\nconst CXProgramPage = lazy(() => import(\"features/forms/cx-programs/view/cxprogram-page.jsx\"));\r\nconst ProjectPage = lazy(() => import(\"features/projects/view/project-page.jsx\"));\r\n\r\nconst routes = {\r\n\tlazyPages: [\r\n\t\t{ path: \"/EditMap\", component: JourneyMapPage },\r\n\t\t{ path: \"/EditPersona\", component: PersonaPage },\r\n\t\t{ path: \"/EditCxProgram\", component: CXProgramPage },\r\n\t\t{ path: \"/EditProject\", component: ProjectPage },\r\n\t],\r\n\tnonLazyPages: [\r\n\t\t{ path: \"/taxonomy\", component: Taxonomy },\r\n\t\t{ path: \"/taxonomy-status\", component: TaxonomyStatus },\r\n\t\t{ path: \"/taxonomy-priority\", component: TaxonomyPriority },\r\n\t\t{ path: \"/taxonomy-tag\", component: TaxonomyTag },\r\n\t\t{ path: \"/taxonomy-group\", component: TaxonomyGroup },\r\n\t\t{ path: \"/taxonomy-insight-type\", component: TaxonomyInsightType },\r\n\t\t{ path: \"/map-creation\", component: JourneyMapCreation },\r\n\t\t{ path: \"/persona-creation\", component: PersonaCreationWizard },\r\n\t\t{ path: \"/edit-cx-assessment\", component: CxAssessmentPage },\r\n\t\t{ path: \"/home\", component: Home },\r\n\t\t{ path: \"/journey-map\", component: JourneyMapList },\r\n\t\t{ path: \"/sample-data\", component: () => },\r\n\t\t{ path: \"/personas\", component: Personas },\r\n\t\t{ path: \"/map-hierarchy\", component: MapHierarchyView },\r\n\t\t{ path: \"/trash\", component: TrashBin },\r\n\t\t{ path: \"/archive\", component: Archive },\r\n\t\t{ path: \"/cx-actions\", component: CxActions },\r\n\t\t{ path: \"/users\", component: Users },\r\n\t\t{ path: \"/edit-user\", component: EditUser },\r\n\t\t{ path: \"/teams\", component: ManageTeams },\r\n\t\t{ path: \"/transfer-ownership\", component: ManageOwnership },\r\n\t\t{ path: \"/organization\", component: Organization },\r\n\t\t{ path: \"/configuration\", component: Configuration },\r\n\t\t{ path: \"/workspaces\", component: WorkspacesList },\r\n\t\t{ path: \"/edit-workspace\", component: WorkspaceForm },\r\n\t\t{ path: \"/libraries\", component: Libraries },\r\n\t\t{ path: \"/library-touchpoints\", component: TouchPoints },\r\n\t\t{ path: \"/library-stickers\", component: Stickers },\r\n\t\t{ path: \"/library-brandvalues\", component: BrandValues },\r\n\t\t{ path: \"/library-measures\", component: Measures },\r\n\t\t{ path: \"/library-custom\", component: CustomLibrary },\r\n\t\t{ path: \"/templates\", component: Templates },\r\n\t\t{ path: \"/integration\", component: IntegrationList },\r\n\t\t{ path: \"/edit-integration\", component: IntegrationForm },\r\n\t\t{ path: \"/opportunity\", component: Opportunity },\r\n\t\t{ path: \"/solutions\", component: Solutions },\r\n\t\t{ path: \"/projects\", component: Projects },\r\n\t\t{ path: \"/cx-program\", component: CXProgram },\r\n\t\t{ path: \"/search\", component: Search },\r\n\t\t{ path: \"/insights\", component: Insights },\r\n\t\t{ path: \"/analytics\", component: Analytics },\r\n\t\t{ path: \"/edit-persona-pending\", component: () => CascadeLoader({ words: [\"backgrounds\", \"needs\", \"frustrations\", \"expectations\", \"quote\"] }) },\r\n\t\t{ path: \"/map-creation-loading\", component: JourneyMapLoading },\r\n\t],\r\n};\r\n\r\nexport function updateDictionnaryAccess(userId, userType, workspaces) {\r\n\tconst routeAccess = {};\r\n\tconst isUserReadyOnlyOrUser = [100000000, 100000003].includes(Number(userType));\r\n\tconst isCompanyAdmin = Number(userType) === UserType.companyAdmin;\r\n\tconst isAdmin = Number(userType) === UserType.admin;\r\n\tconst isWorkspaceOwner = workspaces.filter((ws) => ws?.authorizedUsers?.find((au) => au?.id === userId)?.roleName === \"owner\");\r\n\tconst fullAccess = [\"Standard\", \"SharedExpert\", \"Expert\", \"Enterprise\", \"SharedEnterprise\"];\r\n\tconst mediumAccess = [\"SharedExpert\", \"Expert\", \"Enterprise\", \"SharedEnterprise\"];\r\n\tconst settingsRoutes = settingsfooterRoutes.map((route) => route.route);\r\n\tallRoutesCombines.forEach((item) => {\r\n\t\t//Add the main route if access is not null or undefined\r\n\t\tif (isUserReadyOnlyOrUser && item.route && settingsRoutes.includes(item.route)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (item.access && item.route) {\r\n\t\t\trouteAccess[item.route] = item.access;\r\n\t\t}\r\n\r\n\t\t// If there are active routes, add them as well\r\n\t\tif (item.activeRoutes) {\r\n\t\t\titem.activeRoutes.forEach((activeRoute) => {\r\n\t\t\t\t// Only add the active route if access is not null or undefined\r\n\t\t\t\tif (item.access && activeRoute) {\r\n\t\t\t\t\trouteAccess[activeRoute] = item.access;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\trouteAccess[\"/map-creation\"] = fullAccess;\r\n\trouteAccess[\"/persona-creation\"] = fullAccess;\r\n\trouteAccess[\"/edit-cx-assessment\"] = mediumAccess;\r\n\trouteAccess[\"/map-hierarchy\"] = fullAccess;\r\n\trouteAccess[\"/search\"] = fullAccess;\r\n\trouteAccess[\"/edit-workspace\"] = fullAccess;\r\n\r\n\tif (isWorkspaceOwner || isCompanyAdmin) {\r\n\t\trouteAccess[\"/workspaces\"] = fullAccess;\r\n\t}\r\n\r\n\tif (isWorkspaceOwner || isCompanyAdmin || isAdmin) {\r\n\t\trouteAccess[\"/libraries\"] = fullAccess;\r\n\t\trouteAccess[\"/library-touchpoints\"] = fullAccess;\r\n\t\trouteAccess[\"/library-stickers\"] = fullAccess;\r\n\t\trouteAccess[\"/library-brandvalues\"] = mediumAccess;\r\n\t\trouteAccess[\"/library-measures\"] = mediumAccess;\r\n\t\trouteAccess[\"/library-custom\"] = fullAccess;\r\n\t\trouteAccess[\"/teams\"] = mediumAccess;\r\n\t\trouteAccess[\"/templates\"] = fullAccess;\r\n\t\trouteAccess[\"/taxonomy\"] = fullAccess;\r\n\t\trouteAccess[\"/taxonomy-status\"] = fullAccess;\r\n\t\trouteAccess[\"/taxonomy-priority\"] = fullAccess;\r\n\t\trouteAccess[\"/taxonomy-tag\"] = fullAccess;\r\n\t\trouteAccess[\"/taxonomy-group\"] = fullAccess;\r\n\t\trouteAccess[\"/taxonomy-insight-type\"] = fullAccess;\r\n\t\trouteAccess[\"/integration\"] = fullAccess;\r\n\t\trouteAccess[\"/edit-integration\"] = fullAccess;\r\n\t}\r\n\r\n\tif (isCompanyAdmin || isAdmin) {\r\n\t\trouteAccess[\"/users\"] = fullAccess;\r\n\t\trouteAccess[\"/edit-user\"] = fullAccess;\r\n\t\trouteAccess[\"/transfer-ownership\"] = mediumAccess;\r\n\t}\r\n\trouteAccess[\"/analytics\"] = mediumAccess;\r\n\trouteAccess[\"/edit-persona-pending\"] = fullAccess;\r\n\trouteAccess[\"/sample-data\"] = fullAccess;\r\n\trouteAccess[\"/map-creation-loading\"] = fullAccess;\r\n\r\n\treturn routeAccess;\r\n}\r\n\r\nexport function filterRoutesAccess(AccessDictionary, currentUserSubscriptionPlanName) {\r\n\tconst lazyPages = routes.lazyPages?.filter((route) => AccessDictionary[route.path]?.includes(currentUserSubscriptionPlanName));\r\n\tconst nonLazyPages = routes.nonLazyPages?.filter((route) => AccessDictionary[route.path]?.includes(currentUserSubscriptionPlanName));\r\n\treturn { lazyPages, nonLazyPages };\r\n}\r\n\r\nexport const configHeaderAxios = (token,connectionId) => {\r\n\tconst workspaceId = base.split(\"/\")[2];\r\n\taxios.interceptors.request.use((config) => {\r\n\t\tif (token) {\r\n\t\t\tconfig.headers.Authorization = `Bearer ${token}`;\r\n\t\t\tconfig.headers.WorkspaceId = workspaceId;\r\n\t\t\t\r\n\t\t\tif(connectionId){\r\n\t\t\t\tconfig.headers.ConnectionKey = connectionId;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn config;\r\n\t});\r\n};\r\n","export const updateCxProgramState = (state, key, newData, secondKey, secondData) => {\r\n\tconst current_program = {\r\n\t\t...state.current_program,\r\n\t\t[key]: newData,\r\n\t\tlastModifiedOn: new Date().toISOString(),\r\n\t};\r\n\tif (secondKey !== undefined) {\r\n\t\tcurrent_program[secondKey] = secondData;\r\n\t}\r\n\treturn {\r\n\t\t...state,\r\n\t\tcurrent_program,\r\n\t};\r\n};","import { useDraggable } from \"@dnd-kit/core\";\r\nimport { useSortable } from \"@dnd-kit/sortable\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport styled from \"styled-components/macro\";\r\n\r\ntype DragItemProps = {\r\n\tid: string;\r\n\tchildren: React.ReactNode;\r\n\twidth?: number;\r\n\thandleStyle?: React.CSSProperties;\r\n\tdisabled?: boolean;\r\n\tinnerRef?: React.Ref;\r\n\tglobalStyle?: React.CSSProperties;\r\n};\r\nconst defaulthandleStyle: React.CSSProperties = {\r\n\tpadding: \"8px\",\r\n\tcursor: \"grab\", // Indicates drag interaction\r\n\tbackgroundColor: \"#ffffff\",\r\n\tborderRadius: \"4px\",\r\n\tmarginRight: \"8px\",\r\n};\r\n\r\nfunction Drag({ id, innerRef, children, handleStyle = defaulthandleStyle, globalStyle, disabled = false,\r\n\t\r\n}: DragItemProps) {\r\n\r\n\tconst { attributes, listeners, setNodeRef, transform, transition ,isDragging} = useSortable({ id, disabled });\r\n\r\n\tconst style: React.CSSProperties = {\r\n\t\t// width: width ? `${width}px` : \"100%\",\r\n\t\ttransition,\r\n\t\ttransform: transform ? `translate3d(${transform.x}px, ${transform.y}px, 0)` : undefined,\r\n\t\tuserSelect: \"none\",\r\n\t\tzIndex: isDragging ? 1 : undefined\r\n\t\t\r\n\t};\r\n\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/* Drag Handle - Only this part will be draggable */}\r\n\t\t\t
\r\n\t\t\t{!disabled && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t\t\t{/* Item Content - Not Draggable */}\r\n\t\t\t
\r\n\t\t\t\t{children}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\ntype DragContainerProps = {\r\n\tid: string;\r\n\tchildren: (item: any) => React.ReactNode;\r\n\twidth?: number;\r\n\thandleStyle?: React.CSSProperties;\r\n\tdisabled?: boolean;\r\n\tinnerRef?: React.Ref;\r\n\tglobalStyle?: React.CSSProperties;\r\n};\r\nexport function DragContainer({ id, innerRef, children, handleStyle = defaulthandleStyle, globalStyle, disabled = false,\r\n\t\r\n}: DragContainerProps) {\r\n\r\n\tconst { attributes, listeners, setNodeRef, transform, transition ,isDragging} = useSortable({ id, disabled });\r\n\r\n\tconst style: React.CSSProperties = {\r\n\t\t// width: width ? `${width}px` : \"100%\",\r\n\t\ttransition,\r\n\t\ttransform: transform ? `translate3d(${transform.x}px, ${transform.y}px, 0)` : undefined,\r\n\t\tuserSelect: \"none\",\r\n\t\tzIndex: isDragging ? 1 : undefined\r\n\t\t\r\n\t};\r\n\tconst DragIcon = () => {\r\n\t\t\treturn
\r\n\t\t\t{!disabled && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{children(DragIcon)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\nconst Handle = styled.div`\r\n\tdisplay:none;\r\n\tmargin-left: 0px;\r\n\tcolor: #605F60;\r\n zoom: 1.3;\r\n\r\n`\r\nconst Container = styled.div`\r\n\r\n\t:hover ${Handle} {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n`\r\nexport default Drag;\r\n","import { urlOriginStatus } from \"@utils/optionsSets/OptionSets.js\";\r\nimport _ from \"lodash\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { BreadcrumbItem } from \"reactstrap\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport * as S from \"./Style.js\";\r\n\r\nconst GenericHeader = ({ createActions, children, backLabel, namePath, backPath, hide, disabled, userConnected }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst { search, pathname } = useLocation();\r\n\tconst hideForPdf = search.hideForPdf();\r\n\tconst origin = search.getOrigin();\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\tconst hideHeader = hideForPdf || hide;\r\n\r\n\tconst name = useSelector((x) => _.get(x, namePath));\r\n\r\n\tconst back = () => {\r\n\t\tif (cxProgramId !== \"\") {\r\n\t\t\tif (backPath) return history.push(backPath);\r\n\r\n\t\t\treturn history.push(`/EditCxProgram?programid=${cxProgramId}&tab=relationship`);\r\n\t\t}\r\n\t\tif (origin == urlOriginStatus.DefaultReturn) {\r\n\t\t\treturn history.goBack();\r\n\t\t}\r\n\t\tif (backPath) return history.push(backPath);\r\n\r\n\t\thistory.goBack();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{!hideHeader && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t(backLabel)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{name}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{userConnected && userConnected}\r\n\t\t\t\t\t\t{createActions && createActions()}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\nexport default GenericHeader;\r\n","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport { AvatarGroup } from \"primereact/avatargroup\";\r\nimport styled from \"styled-components\";\r\n\r\nexport default function AuthorizedUsers(item, wrap) {\r\n\tconst authorizedUsersBased = item?.authorizedUsers || item?.cjmUsersData || [];\r\n\tconst authorizedUsers = authorizedUsersBased?.filter((user) => user.roleId !== EMPTY_GUID);\r\n\treturn (\r\n\t\t\r\n\t\t\t{authorizedUsers?.map((owner) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst GroupWrapper = styled(AvatarGroup)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tdisplay: -webkit-box;\r\n\toverflow: hidden;\r\n`;\r\n","import { updateSolution } from \"@redux/index\";\r\nimport TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\nimport React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Dropdown, DropdownItem } from \"reactstrap\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport { getTaxonomyColorData } from \"utils/helpers\";\r\nimport * as Style from \"./style\";\r\n\r\nexport default function DisplayStatus({ object, setObject, style, disable, name, updateFunction, size = \"m\", attKey = \"statusId\" }) {\r\n\tconst { t } = useTranslation();\r\n\tconst { pathname } = useLocation();\r\n\r\n\tconst [toggleStatus, setToggleStatus] = React.useState(false);\r\n\tconst allStatus = useSelector((state) => state.libraries?.status);\r\n\tconst status = allStatus && allStatus[name]?.filter((status) => !status.name.isEmptyString());\r\n\tconst selectedStatus = getSelected(status, object, attKey);\r\n\tconst showPlaceHolder = Object.keys(selectedStatus)?.length === 0;\r\n\tconst toggle = () => setToggleStatus(!toggleStatus);\r\n\tconst borderVisible = style?.border || [\"/journey-map\", \"/opportunity\", \"/cx-actions\", \"/solutions\", \"/personas\", \"/cx-program\", \"/projects\"].includes(pathname) ? \"false\" : \"true\"; //border not visible on table\r\n\tconst isInactive = [\"/trash\", \"/archive\"].includes(pathname);\r\n\r\n\tconst handleClick = (value) => {\r\n\t\tconst updatedObject = { ...object, statusId: value };\r\n\t\tsetObject && setObject(updatedObject);\r\n\t\tif (updateFunction) updateFunction(updatedObject, [\"statusId\"]);\r\n\t\telse updateSolution({ modifiedSolution: updatedObject, modifiedAttribNames: [\"statusId\"] });\r\n\t};\r\n\r\n\tif (isInactive && !selectedStatus.name) return null;\r\n\r\n\tconst StatusCard = ({ status }) => {\r\n\t\tconst { backgroundColor, color } = getTaxonomyColorData({ entity: \"status\", colorCode: status?.colorCode });\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{status && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{showPlaceHolder ? (\r\n\t\t\t\t\t\t\t
{disable ? t(\"NO_STATUS\") : t(\"SELECT_VALUE\")}
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{toggleStatus &&
{IconDispatcher(\"ANGLE-UP\")}
}\r\n\t\t\t\t\t\t\t\t{!toggleStatus &&
{IconDispatcher(\"ANGLE-DOWN\")}
}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{status?.map((s) => (\r\n\t\t\t\t\t\t\t handleClick(s.id)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst getSelected = (status, object, attKey) => {\r\n\tif (status?.length > 0) {\r\n\t\tconst found = status?.find((prio) => prio.id === object?.[attKey]);\r\n\t\tif (found) return found;\r\n\t\treturn {};\r\n\t}\r\n\treturn {};\r\n};\r\n\r\nconst CustomDropdownItem = styled(DropdownItem)`\r\n\t:hover {\r\n\t\tborder-radius: 4px;\r\n\t}\r\n`;\r\n","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { ActionConfirmModal, DuplicateModal } from \"shared/modals/index\";\r\nimport GenericManageAccess from \"shared/modals/manage-access/GenericManageAccess\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { archiveCxProgram, copyCxProgram, deleteCxProgram, deleteCxProgramPermanent, restoreCxProgram } from \"../reducer/CxProgramActions\";\r\n\r\nexport default function BaseActions({ cxProgram, context, setRename, handleRedirect }) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst userId = useSelector((state) => state.auth?.userInfo?.UserId);\r\n\tconst isInWorkspace = useLocation().pathname === \"/cx-program\";\r\n\r\n\tconst userAccess = cxProgram?.authorizedUsers?.find((user) => user.id === userId && user.roleId === EMPTY_GUID)?.roleName;\r\n\tconst id = cxProgram.id;\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleArchive = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ARCHIVE_GENERIC\",\r\n\t\t\tAction: () => archiveCxProgram({ id, onSuccess: handleRedirect }),\r\n\t\t\tactionBtnText: \"ARCHIVE\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_GENERIC\",\r\n\t\t\tAction: () => deleteCxProgram({ id, onSuccess: handleRedirect }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deleteCxProgramPermanent({ id }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst callBackCopy = (response) => {\r\n\t\tif (typeof response === \"object\") {\r\n\t\t\thistory.push(`/EditCxProgram?programid=${response?.id}`);\r\n\r\n\t\t}\r\n\t};\r\n\r\n\tconst [showCopyModal] = useModal(DuplicateModal, {\r\n\t\ttitle: `${t(\"JS_61\")} ${t(\"CX-PROGRAM\")}`,\r\n\t\tinputTitle: \"CX_PROGRAM_NAME\",\r\n\t\tcloseBtnLabel: \"COPY\",\r\n\t\tinputValue: `[${t(\"COPY_NOUN\").toUpperCase()}]- ` + cxProgram?.name,\r\n\t\taction: ({ name, selectedWorkspaces }) => copyCxProgram({ id, name, workspaceIds: selectedWorkspaces.map((w) => w?.id), onSuccess: !isInWorkspace && callBackCopy }),\r\n\t});\r\n\r\n\tconst [showAccessModal] = useModal(GenericManageAccess, {\r\n\t\titemId: id,\r\n\t});\r\n\r\n\tconst { renameAllowed, copyAllowed, archiveAllowed, deleteAllowed, manageAccessAllowed, restoreAllowed, deletePermanentAllowed } = PermissionManager({\r\n\t\tuserAccess,\r\n\t\tcontext,\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tif (renameAllowed && setRename) actions.push({ id: \"rename\", handleClick: () => setRename(id), icon: \"EDIT\", text: t(\"JS_89\") });\r\n\t\tif (copyAllowed) actions.push({ id: \"copy\", handleClick: showCopyModal, icon: \"COPY\", text: t(\"JS_61\") });\r\n\t\tif (manageAccessAllowed) actions.push({ id: \"manageAccess\", handleClick: showAccessModal, icon: \"ACCESS\", text: t(\"ASPX_17\") });\r\n\t\tif (archiveAllowed || deleteAllowed) actions.push({ id: \"divider\", divider: true });\r\n\t\tif (archiveAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"archive\",\r\n\t\t\t\thandleClick: handleArchive,\r\n\t\t\t\ticon: \"ARCHIVE\",\r\n\t\t\t\ttext: t(\"ARCHIVE\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deleteAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (restoreAllowed) actions.push({ id: \"restore\", handleClick: () => restoreCxProgram({ id }), icon: \"RESTORE\", text: t(\"JS_96\") });\r\n\t\tif (deletePermanentAllowed) actions.push({ id: \"deletePermanent\", handleClick: handleDeletePermanent, itemStyle: \"warning-delete\", icon: \"DELETE\", text: t(\"JS_97\") });\r\n\t\tif (cxProgram?.isSample) {\r\n\t\t\tactions = actions.filter((action) => action.id === \"copy\");\r\n\t\t}\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import { EMPTY_GUID, GetActiveCJM, checkLinkMapBeforeAction } from \"@utils/helpers\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { ActionConfirmModal, DuplicateModal, LinkListCjmModel } from \"shared/modals/index\";\r\nimport GenericManageAccess from \"shared/modals/manage-access/GenericManageAccess\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { archivePersona, copyPersona, deletePermanentlyPersona, deletePersona, restorePersona } from \"../reducer/PersonaActions\";\r\n\r\nexport default function BaseActions({ persona, context, setRename, handleRedirect }) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst allMaps = useSelector((state) => state.maps.all_maps);\r\n\tconst userId = useSelector((state) => state.auth?.userInfo?.UserId);\r\n\tconst isInEdit = useLocation().pathname === \"/EditPersona\";\r\n\tconst isTemplate = persona.isTemplate;\r\n\r\n\tconst userAccess = persona?.authorizedUsers?.find((user) => user.id === userId && user.roleId === EMPTY_GUID)?.roleName;\r\n\tconst id = persona.personaId;\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleArchive = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ARCHIVE_PERSONA_WARNING\",\r\n\t\t\tAction: () => archivePersona({ persona_id: id, onSuccess: handleRedirect }),\r\n\t\t\tactionBtnText: \"ARCHIVE\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_PERSONNA_NOT_PERMANENT\",\r\n\t\t\tAction: () => deletePersona({ persona_id: id, onSuccess: handleRedirect }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deletePermanentlyPersona({ persona_id: id }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst callBackCopy = (response) => {\r\n if (typeof response === \"object\") {\r\n\t\t\thistory.push(`/EditPersona?personaIdStr=${response?.personaId}`);\r\n\t\t}\r\n\t};\r\n\r\n\tconst [showCopyModal] = useModal(DuplicateModal, {\r\n\t\ttitle: `${t(\"JS_61\")} ${t(\"ASPX_74\")}`,\r\n\t\tinputTitle: \"JS_82\",\r\n\t\tcloseBtnLabel: \"COPY\",\r\n\t\tinputValue: `[${t(\"COPY_NOUN\").toUpperCase()}]- ` + persona?.name,\r\n\t\taction: ({ name, selectedWorkspaces }) => copyPersona({ id, name, workspaceIds: selectedWorkspaces.map((w) => w?.id), onSuccess: isInEdit && callBackCopy }),\r\n\t});\r\n\r\n\tconst [showAccessModal] = useModal(GenericManageAccess, {\r\n\t\titemId: id,\r\n\t\tcontext: \"/personas\",\r\n\t});\r\n\r\n\tconst [showLinkListCjm] = useModal(LinkListCjmModel);\r\n\r\n\tconst CheckLinkedItems = (actionPopup, title, description_1) =>\r\n\t\tcheckLinkMapBeforeAction({\r\n\t\t\tallMaps,\r\n\t\t\tpersonaObject: persona,\r\n\t\t\tlinkedJourneyMap: GetActiveCJM(persona?.linkedCjms, allMaps),\r\n\t\t\tshowActionPopup: actionPopup,\r\n\t\t\tshowLinkListCjm,\r\n\t\t\ttitle,\r\n\t\t\tdescription_1,\r\n\t\t});\r\n\r\n\tconst { renameAllowed, copyAllowed, archiveAllowed, deleteAllowed, manageAccessAllowed, restoreAllowed, deletePermanentAllowed } = PermissionManager({\r\n\t\tuserAccess,\r\n\t\tcontext,\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tif (renameAllowed && setRename) actions.push({ id: \"rename\", handleClick: () => setRename(id), icon: \"EDIT\", text: t(\"JS_89\") });\r\n\t\tif (copyAllowed) actions.push({ id: \"copy\", handleClick: showCopyModal, icon: \"COPY\", text: t(\"JS_61\") });\r\n\t\tif (!isTemplate && manageAccessAllowed) actions.push({ id: \"manageAccess\", handleClick: showAccessModal, icon: \"ACCESS\", text: t(\"ASPX_17\") });\r\n\t\tif (archiveAllowed || deleteAllowed) actions.push({ id: \"divider\", divider: true });\r\n\t\tif (archiveAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"archive\",\r\n\t\t\t\thandleClick: () => CheckLinkedItems(handleArchive, \"PERSONA_ARCHIVE_IMPOSSIBLE_TITLE\", \"PERSONA_ARCHIVE_IMPOSSIBLE_DESC1\"),\r\n\t\t\t\ticon: \"ARCHIVE\",\r\n\t\t\t\ttext: t(\"ARCHIVE\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deleteAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: () => CheckLinkedItems(handleDelete, \"PERSONA_DELETE_IMPOSSIBLE_TITLE\", \"PERSONA_DELETE_IMPOSSIBLE_DESC1\"),\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (restoreAllowed) actions.push({ id: \"restore\", handleClick: () => restorePersona({ persona_id: id }), icon: \"RESTORE\", text: t(\"JS_96\") });\r\n\t\tif (deletePermanentAllowed) actions.push({ id: \"deletePermanent\", handleClick: handleDeletePermanent, itemStyle: \"warning-delete\", icon: \"DELETE\", text: t(\"JS_97\") });\r\n\t\tif (persona?.isSample) {\r\n\t\t\tactions = actions.filter((action) => action.id === \"copy\");\r\n\t\t}\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import { createCxMetric, deleteCxMetric, updateCxMetric } from \"@redux/index\";\r\nimport { MAX_SIZE_TEXT_BOX } from \"@utils/helpers\";\r\nimport { UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Input, Label } from \"reactstrap\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { useAutoFocus } from \"shared/hooks/index\";\r\nimport { Colors, GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport CustomTooltip from \"../../../../../shared/components/CustomTooltip\";\r\nimport ManageGenericItems from \"../ManageGenericItems\";\r\n\r\nconst TargetForm = ({ saveTarget, selectedTarget, panelRef, isViewer }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useAutoFocus();\r\n\r\n\tconst allMetricsData = useSelector((state) => state.libraries.cxMetrics);\r\n\tconst loggerUserInfo = useSelector((state) => state.auth.userInfo);\r\n\r\n\tconst [allMetrics, setAllMetrics] = useState([]);\r\n\tconst [name, setName] = useState(selectedTarget?.name || \"\");\r\n\tconst [description, setDescription] = useState(selectedTarget?.description || \"\");\r\n\tconst [metrics, setMetrics] = useState(selectedTarget?.metrics || []);\r\n\tconst [showManageMetric, setShowManageMetric] = useState(false);\r\n\r\n\tconst loggerUserType = Number(loggerUserInfo.UserType);\r\n\tconst isUserAllowed = loggerUserType === UserType.companyAdmin || loggerUserType === UserType.admin;\r\n\tconst isShowManageAllowed = !showManageMetric && !isViewer && isUserAllowed;\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo?.UserType)?.isReadOnly();\r\n\r\n\tuseEffect(() => {\r\n\t\tsetAllMetrics(allMetricsData);\r\n\t}, [allMetricsData]);\r\n\r\n\tconst handleEditorChange = (value) => {\r\n\t\tif (value.length > MAX_SIZE_TEXT_BOX) {\r\n\t\t\tvalue = value.truncate(MAX_SIZE_TEXT_BOX, false);\r\n\t\t}\r\n\r\n\t\tsetDescription(value);\r\n\t};\r\n\r\n\tconst closeForm = (e) => panelRef.current.toggle(e);\r\n\r\n\tconst handleSave = (e) => {\r\n\t\tif (name === \"\") return toast.info(t(\"WARNING_WRITE_SUBJECT\"));\r\n\t\tsaveTarget({ selectedTarget, name, description, metrics });\r\n\t\tcloseForm(e);\r\n\t};\r\n\r\n\treturn (\r\n\t\t e.stopPropagation()} isReadOnly={isReadOnly}>\r\n\t\t\t\r\n\t\t\t\t{!showManageMetric && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t(\"JS_53\")}\r\n\t\t\t\t\t\t\t setName(e.target.value)} disabled={isViewer} innerRef={ref} />\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t(\"ASPX_9\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t handleEditorChange(value)} disabled={isViewer} />\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"JS_130\")}\r\n\t\t\t\t\t\t\t\t{isShowManageAllowed && (\r\n\t\t\t\t\t\t\t\t\t setShowManageMetric(!showManageMetric)}>\r\n\t\t\t\t\t\t\t\t\t\t{t(\"MANAGE_METRICS\")}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{allMetrics?.map((metric, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{showManageMetric && (\r\n\t\t\t\t\t createCxMetric({ name, onSuccess })}\r\n\t\t\t\t\t\tupdateItem={(cxMeasureId, newName, onSuccess) => updateCxMetric({ cxMeasureId, newName, onSuccess })}\r\n\t\t\t\t\t\tdeleteItem={(cxMeasureId, onSuccess) => deleteCxMetric({ cxMeasureId, onSuccess })}\r\n\t\t\t\t\t\tmaxHeight={350}\r\n\t\t\t\t\t\tplaceholder=\"ADD_METRIC\"\r\n\t\t\t\t\t\tdeleteLabel=\"DELETE_ITEM_PERMANENT_METRIC\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{showManageMetric && (\r\n\t\t\t\t\t setShowManageMetric(!showManageMetric)}>\r\n\t\t\t\t\t\t{t(\"BACK_TO_TARGET\")}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!showManageMetric && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ASPX_86\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!isViewer && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default TargetForm;\r\n\r\nconst Metric = ({ metric, metrics, setMetrics, isEditable }) => {\r\n\tconst labelRef = useRef(null);\r\n\tconst [isEllipsisActive, setIsEllipsisActive] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (labelRef?.current?.offsetWidth < labelRef?.current?.scrollWidth) {\r\n\t\t\tsetIsEllipsisActive(true);\r\n\t\t}\r\n\t}, [labelRef?.current]);\r\n\r\n\tconst handleCheckBoxClick = () => {\r\n\t\t// If the id of the metric is already in newItem.metrics then remove it, else add it to the list\r\n\t\tif (metrics.includes(metric.id)) metrics = metrics?.filter((metricId) => metricId !== metric.id);\r\n\t\telse metrics.push(metric.id);\r\n\t\tsetMetrics([...metrics]);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{metric?.name}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Wrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n\r\nconst FormContainer = styled.div`\r\n\twidth: 462px;\r\n\theight: 500px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n\t${(props) => props.isReadOnly && \"pointer-events: none;\"}\r\n`;\r\n\r\nconst Body = styled.div`\r\n\twidth: 100%;\r\n\tmax-height: 500px;\r\n`;\r\n\r\nconst Form = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 1.5rem;\r\n`;\r\n\r\nconst Labels = styled(Label)`\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tline-height: 19px;\r\n\tcolor: ${Colors.label};\r\n`;\r\n\r\nconst CustomInput = styled(Input)`\r\n\twidth: ${(props) => (props.width ? props.width : \"100%\")}px;\r\n\tresize: none;\r\n\tfont-weight: 500;\r\n\tfont-size: 14px;\r\n\tline-height: 20px;\r\n\tcolor: #333333;\r\n\tbackground-color: #ffffff;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\r\n\t&.form-control:focus {\r\n\t\tbackground-color: transparent;\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t-webkit-box-shadow: none;\r\n\t\t-moz-box-shadow: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n\r\n\t&.form-control:disabled,\r\n\t.form-control[readonly] {\r\n\t\tbackground-color: #e5e4e5;\r\n\t\tcolor: #92919d;\r\n\t\topacity: 1;\r\n\t}\r\n`;\r\n\r\nconst MetricsContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tmax-height: 125px;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst MetricContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\tinput[type=\"checkbox\"] {\r\n\t\taccent-color: #333333;\r\n\t\twidth: 15px !important;\r\n\t\theight: 15px !important;\r\n\t\t:hover {\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nconst CheckboxWrapper = styled.div`\r\n\twidth: 5%;\r\n`;\r\n\r\nconst MetricName = styled.div`\r\n\tmax-width: 100px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\tcolor: #333333;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n\r\nconst Footer = styled.div``;\r\n\r\nconst FooterButtons = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n`;\r\n\r\nexport const EditorWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tmin-height: 150px;\r\n\tmax-height: 160px;\r\n\toverflow: scroll;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n\tpadding: 0.5rem;\r\n\t:focus-within {\r\n\t\tborder: 1px solid #333333;\r\n\t}\r\n`;\r\n","import { createStakeholderRole, deleteStakeholderRole, getAllStakeholderRoles, updateStakeholderRole, upsertStakeholder } from \"@redux/index\";\r\nimport { UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport _ from \"lodash\";\r\nimport { useEffect, useState } from \"react\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Dropdown, DropdownItem, DropdownMenu, DropdownToggle, Label } from \"reactstrap\";\r\nimport { useAsyncs, useAutoFocus } from \"shared/hooks/index\";\r\nimport { Colors, GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport ManageGenericItems from \"../ManageGenericItems\";\r\n\r\nconst StakeHolderForm = ({ recId, entityName, selectedData, actionType, stakeHoldersPath, panelRef, roleName, onSuccess }) => {\r\n\t// If a stakeholder role is deleted, all the related stakeholders are also deleted\r\n\t// A stakeholder must have a role (a default one is provided)\r\n\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useAutoFocus();\r\n\r\n\tuseAsyncs({\r\n\t\tasyncFns: [{ asyncFn: getAllStakeholderRoles }],\r\n\t});\r\n\r\n\tconst stakeholderRoles = useSelector((state) => state.libraries?.stakeholderRoles)?.sortAsc(\"name\");\r\n\tconst authorizedUsers = useSelector(({ settings }) => {\r\n\t\tconst authorizedUsers = settings.authorizedUsers;\r\n\t\tconst activeUsersEmails = settings.users?.map((user) => (user.isActive ? user.loginName : null))?.filter((user) => user !== null);\r\n\t\treturn authorizedUsers?.filter((user) => activeUsersEmails.includes(user.domainName));\r\n\t}, shallowEqual);\r\n\tconst currentStakeholders = useSelector((state) => _.get(state, stakeHoldersPath));\r\n\tconst loggerUserInfo = useSelector((state) => state.auth.userInfo);\r\n\r\n\tconst [showManageRole, setShowManageRole] = useState(false);\r\n\tconst [nameDropdownStatus, setNameDropdownStatus] = useState(false);\r\n\tconst [roleDropdownStatus, setRoleDropdownStatus] = useState(false);\r\n\r\n\tconst isUserAlreadyUsed = (user) => (currentStakeholders?.find((stakeholder) => stakeholder.userId === user.id) ? true : false);\r\n\tconst filteredAuthUsers = authorizedUsers?.filter((user) => !isUserAlreadyUsed(user));\r\n\r\n\tconst loggerUserType = Number(loggerUserInfo.UserType);\r\n\tconst isUserAllowed = loggerUserType === UserType.companyAdmin || loggerUserType === UserType.admin;\r\n\r\n\tconst isViewer = roleName === \"viewer\";\r\n\tconst isShowManageAllowed = !showManageRole && !isViewer && isUserAllowed;\r\n\r\n\tconst [stakeholder, setStakeholder] = useState(selectedData);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetStakeholder({ ...stakeholder, roleName: stakeholderRoles.find((role) => role.id === stakeholder?.roleId)?.name });\r\n\t}, [stakeholderRoles]);\r\n\r\n\tconst handleUserSelection = (user) => {\r\n\t\tsetStakeholder({ ...stakeholder, userId: user.id, fullName: user.fullName });\r\n\t};\r\n\r\n\tconst handleRoleSelection = (role) => {\r\n\t\tsetStakeholder({ ...stakeholder, roleId: role.id, roleName: role.name });\r\n\t};\r\n\r\n\tconst closeForm = (e) => panelRef.current.toggle(e);\r\n\r\n\tconst handleSave = (e) => {\r\n\t\tif (!stakeholder?.fullName) return toast.info(t(\"WARNING_SELECT_NAME\"));\r\n\t\tif (!stakeholder?.roleName) return toast.info(t(\"WARNING_SELECT_ROLE\"));\r\n\t\tupsertStakeholder({\r\n\t\t\tstakeholder,\r\n\t\t\trecId,\r\n\t\t\tentityName,\r\n\t\t\tactionType: \"UPSERT_\" + actionType,\r\n\t\t\tonSuccess: onSuccess,\r\n\t\t});\r\n\t\tcloseForm(e);\r\n\t};\r\n\r\n\treturn (\r\n\t\t e.stopPropagation()}>\r\n\t\t\t\r\n\t\t\t\t{!showManageRole && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t(\"ASPX_136\")}\r\n\t\t\t\t\t\t\t{!selectedData && (\r\n\t\t\t\t\t\t\t\t setNameDropdownStatus(!nameDropdownStatus)} autoFocus>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{stakeholder?.fullName ? stakeholder.fullName : t(\"SELECT_USER\")}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{filteredAuthUsers.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\tfilteredAuthUsers?.map((user, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t handleUserSelection(user)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{user?.fullName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t{t(\"NO_USERS_AVAILABLE\")}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{selectedData && {stakeholder?.fullName}}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ROLE\")}\r\n\t\t\t\t\t\t\t\t{isShowManageAllowed && (\r\n\t\t\t\t\t\t\t\t\t setShowManageRole(!showManageRole)} iconClassName=\"me-1\">\r\n\t\t\t\t\t\t\t\t\t\t{t(\"MANAGE_ROLES\")}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{!isViewer && (\r\n\t\t\t\t\t\t\t\t setRoleDropdownStatus(!roleDropdownStatus)}>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{stakeholder?.roleName ? stakeholder?.roleName : t(\"SELECT_ROLE\")}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{stakeholderRoles?.map((role, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t handleRoleSelection(role)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{role?.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{isViewer && {stakeholder?.roleName}}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{showManageRole && (\r\n\t\t\t\t\t createStakeholderRole({ name, onSuccess })}\r\n\t\t\t\t\t\tupdateItem={(roleId, newName) => updateStakeholderRole({ roleId, newName })}\r\n\t\t\t\t\t\tdeleteItem={(roleId) => deleteStakeholderRole({ roleId })}\r\n\t\t\t\t\t\tmaxHeight={220}\r\n\t\t\t\t\t\tdeleteLabel=\"DELETE_ITEM_PERMANENT_ROLE\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{showManageRole && (\r\n\t\t\t\t\t setShowManageRole(!showManageRole)}>\r\n\t\t\t\t\t\t{t(\"BACK_TO_STAKEHOLDER\")}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!showManageRole && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ASPX_86\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!isViewer && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default StakeHolderForm;\r\n\r\nconst FormContainer = styled.div`\r\n\twidth: 462px;\r\n\theight: 350px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Body = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n`;\r\n\r\nconst Form = styled.div`\r\n\theight: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 1.5rem;\r\n\t.dropdown-toggle {\r\n\t\theight: 40px !important;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: space-between;\r\n\t\twidth: 100%;\r\n\t\tborder: 1px solid #ced4da !important;\r\n\t\t:focus {\r\n\t\t\tbackground-color: transparent;\r\n\t\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t\t-webkit-box-shadow: none;\r\n\t\t\t-moz-box-shadow: none;\r\n\t\t\tbox-shadow: none;\r\n\t\t}\r\n\t\t:disabled {\r\n\t\t\tcursor: not-allowed !important;\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nconst Labels = styled(Label)`\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tline-height: 19px;\r\n\tcolor: ${Colors.label};\r\n`;\r\n\r\nconst Footer = styled.div``;\r\n\r\nconst FooterButtons = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n`;\r\n\r\nconst NameBox = styled.div`\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n\tcursor: not-allowed;\r\n`;\r\n\r\nconst Menu = styled(DropdownMenu)`\r\n\twidth: 100%;\r\n\t::-webkit-scrollbar-track {\r\n\t\tbackground: #ffffff !important;\r\n\t}\r\n\toverflow: scroll;\r\n\tmax-height: 200px;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\tcolor: #433d56;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Button, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport WorkspaceDropdown from \"../components/dropdowns/workspace-dropdown\";\r\nimport { invalidWorkspaceStatus } from \"@utils/optionsSets/OptionSets\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\n\r\n//const statuses = { 1: \"DISABLED\", 2: \"REMOVED\", 3: \"DISABLED-SWITCH-ON\", 4: \"REMOVED-SWITCH-ON\" };\r\n\r\nexport default function WorkspaceInvalidPage(props) {\r\n\tconst { t } = useTranslation();\r\n\tconst { search } = useLocation();\r\n\r\n\tconst { statusCode } = search.getInvalidWorkspaceProps();\r\n\tconst code = statusCode ? statusCode : props?.statusCode;\r\n\tconst { Disabled, Removed, DisabledSwitch, RemovedSwitch } = invalidWorkspaceStatus;\r\n\r\n\tconst getFirstLabel = () => {\r\n\t\tif ([Disabled, DisabledSwitch].includes(code)) return \"WORKSPACE_DISABLED\";\r\n\t\treturn \"REMOVED_FROM_WORKSPACE\";\r\n\t};\r\n\r\n\tconst ToggleComponent = () => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
{t(\"SWITCH_WORKSPACE\")}
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{IconDispatcher(\"GHOST\", \"m-3 mt-0 mb-4\", { style: \"thin\" })}\r\n\t\t\t\r\n\t\t\t\t
{t(getFirstLabel())}
\r\n\t\t\t\t{[Disabled, Removed].includes(code) &&
{t(\"CONTACT_ADMINISTRATOR\")}
}\r\n\t\t\t\t{[DisabledSwitch, RemovedSwitch].includes(code) && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\nconst WrapperImg = styled.div`\r\n\tsvg {\r\n\t\theight: 48px;\r\n\t}\r\n`;\r\n\r\nexport const CustomContainer = styled.div`\r\n\twidth: 50% !important;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 10px;\r\n\tcolor: #333;\r\n\ttext-align: center;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n","import { FilterTemplate } from \"./FilterTemplate\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface RatingFilterProps {\r\n\tinnerRef: React.RefObject<{\r\n\t\tgetFilters: () => string[];\r\n\t}>;\r\n\thandleApply: () => void;\r\n}\r\n\r\nexport const RatingFilter: React.FC = ({ innerRef, handleApply }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst solutionTypes = [\r\n\t\t{ id: 100000000, name: t(\"QUICK_WIN\") },\r\n\t\t{ id: 100000002, name: t(\"NICE_TO_HAVE\") },\r\n\t\t{ id: 100000001, name: t(\"COMPLEX_PROJ\") },\r\n\t\t{ id: 100000003, name: t(\"TO_AVOID\") },\r\n\t];\r\n\r\n\treturn ;\r\n};\r\n","import { JourneyFilter } from \"features/journey-map/modals/AdvancedSearch/JourneyFilter\";\r\nimport { PersonaFilter } from \"features/journey-map/modals/AdvancedSearch/PersonaFilter\";\r\nimport { CheckBox, FiltersContainer, ListItem, EmptyList, ListItemsContainer, EmptyIconContainer } from \"features/journey-map/modals/AdvancedSearch/Style\";\r\nimport { TagFilter } from \"features/journey-map/modals/AdvancedSearch/TagFilter\";\r\nimport { TouchpointFilter } from \"features/journey-map/modals/AdvancedSearch/TouchpointFilter\";\r\nimport { memo, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { List } from \"react-virtualized\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { Button, GenericButton, IconDispatcher, SearchBar } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport { MenuItemSelector } from \"../../card-components/MenuItemSelector\";\r\nimport { encode, getCxAttribute, StripHtml } from \"utils/helpers\";\r\nimport { displayBenefitCard } from \"features/grid-table/columns-components/ReusableListComponents\";\r\nimport { StatusFilter } from \"features/journey-map/modals/AdvancedSearch/StatusFilter\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { RatingFilter } from \"features/journey-map/modals/AdvancedSearch/RatingFilter\";\r\nimport EditSolution from \"features/solutions/modals/edit-solution\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { createSolution } from \"redux/index\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\n// Types for props and other elements\r\ninterface SolutionAdvancedSearchModalProps {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tlink: (ids: string[], event: any) => void;\r\n\tselectedSolutionIds?: string[];\r\n}\r\n\r\nconst SolutionAdvancedSearchModal = memo(({ isOpen, onClose, link, selectedSolutionIds = [] }: SolutionAdvancedSearchModalProps) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst ratingRef = useRef(null);\r\n\tconst personaRef = useRef(null);\r\n\tconst cjmRef = useRef(null);\r\n\tconst touchpointRef = useRef(null);\r\n\tconst tagRef = useRef(null);\r\n\tconst statusRef = useRef(null);\r\n\r\n\tconst solutions: any[] = useSelector((state: any) => state.solutions.all_solutions || [])?.filter(\r\n\t\t(solution: any) => solution?.statusCode === StatusCode.Active && !selectedSolutionIds?.includes(solution?.id)\r\n\t);\r\n\r\n\tconst [filteredSolutions, setFilteredSolutions] = useState(solutions);\r\n\tconst [selectedIds, setSelectedIds] = useState([]);\r\n\tconst [searchedValue, setSearchedValue] = useState(\"\");\r\n\r\n\tconst [showEditModal] = useModal(EditSolution);\r\n\r\n\tconst applyFilters = () => {\r\n\t\tconst ratingFilters = ratingRef?.current?.getFilters();\r\n\t\tconst personaFilters = personaRef?.current?.getFilters();\r\n\t\tconst cjmFilters = cjmRef?.current?.getFilters();\r\n\t\tconst touchpointFilters = touchpointRef?.current?.getFilters();\r\n\t\tconst tagFilters = tagRef?.current?.getFilters();\r\n\t\tconst statusFilters = statusRef?.current?.getFilters();\r\n\r\n\t\tconst filtered = solutions?.filter((solution) => {\r\n\t\t\treturn (\r\n\t\t\t\t(!ratingFilters?.length || ratingFilters.some((id: string) => solution?.solutionType === id)) &&\r\n\t\t\t\t(!personaFilters?.length || personaFilters.some((id: string) => solution?.linkedPersonas?.includes(id))) &&\r\n\t\t\t\t(!cjmFilters?.length || cjmFilters.some((id: string) => Object.keys(solution?.linkedCjms || {}).includes(id))) &&\r\n\t\t\t\t(!touchpointFilters?.length ||\r\n\t\t\t\t\ttouchpointFilters.some((id: string) => getCxAttribute({ data: solution, informationType: InformationType.Touchpoints })?.linkedTouchpoints?.includes(id))) &&\r\n\t\t\t\t(!tagFilters.length || tagFilters.some((id: string) => getCxAttribute({ data: solution, informationType: InformationType.Tags })?.tags?.includes(id))) &&\r\n\t\t\t\t(!statusFilters.length || statusFilters.some((id: string) => getCxAttribute({ data: solution, informationType: InformationType.Status })?.statusId === id))\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\tsetFilteredSolutions(filtered);\r\n\t};\r\n\r\n\tconst handleSearch = (e: React.ChangeEvent) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetSearchedValue(value);\r\n\t};\r\n\r\n\tconst handleSelectRecord = (id: string) => {\r\n\t\tif (!selectedIds?.includes(id)) setSelectedIds([...selectedIds, id]);\r\n\t\telse setSelectedIds(selectedIds.filter((sId) => sId !== id));\r\n\t};\r\n\r\n\tconst addSelected = (e: React.MouseEvent) => {\r\n\t\tonClose();\r\n\t\tlink(selectedIds, e);\r\n\r\n\t\t// selectedIds?.forEach((selectedId) => link(selectedId, e));\r\n\t};\r\n\r\n\tconst recordsToDisplay = filteredSolutions?.filter((fs) => fs?.name?.toLowerCase()?.includes(searchedValue)).sort((a, b) => a.name.localeCompare(b.name));\r\n\r\n\tconst createNewSolution = () => {\r\n\t\tif (onClose) onClose();\r\n\t\tcreateSolution({ item: { id: uuid(), name: encode(searchedValue.truncate(100, true)) }, onSuccess: (item) => link(item?.id, () => showEditModal({ id: item.id })) });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"ADVANCED_SEARCH\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{recordsToDisplay?.length > 0 ? (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tconst record = recordsToDisplay[index];\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t handleSelectRecord(record.id)}>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t {}} />\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t displayBenefitCard(record)}\r\n\t\t\t\t\t\t\t\t\t\t\ticon=\"SOLUTION\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"magnifying-glass\", \"\", { style: \"thin\" })}\r\n\t\t\t\t\t\t\t
{t(\"NO_RECORD_TO_DISPLAY\")}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ADD_SOLUTION\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\nSolutionAdvancedSearchModal.displayName = \"SolutionAdvancedSearchModal\";\r\nexport { SolutionAdvancedSearchModal };\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 1140px;\r\n`;\r\n","import { getPrompt } from \"features/ai/prompts/AI_prompt\";\r\nimport { getAllMapsParams } from \"features/comments/helpers\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { getAllInsights, getAllTouchpoints, getInteractionSelector, retrieveAllActiveOpportunities } from \"redux/memoizedSelectors\";\r\nimport { calculatesolutionType, encode } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { createSolution, linkInteraction, linkRecordAttributeAPI, linkSolutionRecords } from \"../../../../redux/index\";\r\n\r\ntype DropdownAIProps = {\r\n aiParameters?: any;\r\n closeDropdown?: () => void;\r\n link?: (id: string) => void;\r\n};\r\n\r\ntype ItemAIProps = {\r\n title: string;\r\n description: string;\r\n relatedTouchpoint?: string;\r\n relatedInsight?: string;\r\n relatedOpportunity?: string;\r\n details?: any;\r\n ratings?: any;\r\n};\r\n\r\n\r\n\r\nexport const useAIParams = ({ aiParameters, closeDropdown, link }: DropdownAIProps) => {\r\n const { personaIdStr } = getAllMapsParams(useLocation().search);\r\n\r\n const { t } = useTranslation();\r\n const [showAI, setShowAI] = useState(false);\r\n const allTouchpoints = useSelector(getAllTouchpoints)\r\n const allActiveInsights: any[] = useSelector(getAllInsights)?.getActiveRecords();\r\n const allOpportunities = useSelector(retrieveAllActiveOpportunities);\r\n const interactions: any[] = useSelector(getInteractionSelector(personaIdStr,aiParameters?.stageId));\r\n\r\n if (!aiParameters) return {};\r\n\r\n const { stageName, swimlaneKey, stageId } = aiParameters || {};\r\n\r\n const handleRelations = (item: ItemAIProps, data: any) => {\r\n const { relatedOpportunity, relatedTouchpoint, relatedInsight } = item || {}; // new opportunity generated by ai\r\n const { attributes, id } = data || {};\r\n if (link) link(id);\r\n\r\n // Update attributes\r\n if (relatedOpportunity) {\r\n const opportunity = allOpportunities?.find((s: any) => s.name.trim().toLowerCase() === relatedOpportunity.trim().toLowerCase());\r\n if (opportunity) {\r\n linkSolutionRecords({ recEntityName: \"cem_cxopportunity\", recIds: [opportunity.id], id });\r\n }\r\n // Link related Touchpoints\r\n } else {\r\n if (relatedTouchpoint) {\r\n const touchpointAtt = findAttribute(attributes, InformationType.Touchpoints) || {};\r\n const touchpointId = allTouchpoints.find((t: any) => t.name.toLowerCase() === relatedTouchpoint.toLowerCase())?.id;\r\n if (touchpointId) {\r\n // this is regular link on opportunity record to touchpoint\r\n linkRecordAttributeAPI({\r\n recEntityName: \"cem_touchpoints\",\r\n recIds: [touchpointId],\r\n attributeId: touchpointAtt.id,\r\n objId: id,\r\n objName: \"cem_cxsolution\",\r\n });\r\n // this is link on persona interaction record to opportunity\r\n if (interactions?.length > 0) {\r\n const personaInteraction = interactions.find((inter: any) => inter?.touchPointId === touchpointId);\r\n if (personaInteraction)\r\n linkInteraction({\r\n recIds: [id],\r\n stageId,\r\n itemId: personaInteraction.id,\r\n attribute: \"linkedOpps\",\r\n recEntityName: \"cem_cxsolution\",\r\n } as any);\r\n }\r\n }\r\n }\r\n // Link related Insights\r\n if (relatedInsight) {\r\n const name = relatedInsight?.split(\"]\")[1]?.trim().toLowerCase();\r\n const insightId = allActiveInsights.find((t) => t.name.trim().toLowerCase() === name)?.id;\r\n if (insightId) {\r\n linkSolutionRecords({ recEntityName: \"cem_insight\", recIds: [insightId], id });\r\n }\r\n }\r\n }\r\n };\r\n const handleCreateAIItems = (items: ItemAIProps[]) => {\r\n\r\n items.forEach((item: ItemAIProps) => {\r\n\r\n const { title, description, details,ratings } = item || {}; // new opportunity generated by ai\r\n const compbineDescription = `\r\n ${description}\r\n

\r\n ${t('IMPACT_PEOPLE')}\r\n ${details?.people || \"\"}\r\n

\r\n ${t('IMPACT_PROCESS')}\r\n ${details?.process || \"\"}\r\n

\r\n ${t('IMPACT_TECH')}\r\n ${details?.technology || \"\"}\r\n

\r\n ${t('IMPACT_VALUES')}\r\n ${details?.values || \"\"}\r\n

\r\n ${t('KEY_METRICS')}\r\n ${details?.keymMetrics || \"\"}\r\n `;\r\n\r\n const sol:any = {\r\n id: uuid(),\r\n name: encode(title),\r\n description: encode(compbineDescription),\r\n ratings :{\r\n impactCustomer: { rating: ratings?.CustomerAffected || 0, comment: \"\" },\r\n customerBenefit: { rating: ratings?.CustomerBenefit || 0, comment: \"\" },\r\n revenueIncrease: { rating: ratings?.PotentialRevenueIncrease || 0, comment: \"\" },\r\n impactBrand: { rating: ratings?.ImproveBrandImage || 0, comment: \"\" },\r\n cost: { rating: ratings?.ImplementationCost || 0, comment: \"\" },\r\n implComplexity: { rating: ratings?.ImplementationComplexity || 0, comment: \"\" },\r\n engagementEffortRanking: { rating: ratings?.ImplementationEffort || 0, comment: \"\" },\r\n implDuration: { rating: ratings?.ImplementationTime || 0, comment: \"\" },\r\n }\r\n \r\n \r\n }\r\n \r\n sol.solutionType = calculatesolutionType(sol)\r\n \r\n createSolution({\r\n item: sol,\r\n onSuccess: (data: any) => handleRelations(item, data),\r\n } as any);\r\n });\r\n };\r\n const handleOpen = () => {\r\n if (!stageName) return toast.info(t(\"STAGE_NAME_REQUIRED\"));\r\n return setShowAI(true);\r\n };\r\n const handleClose = (all?: boolean) => {\r\n setShowAI(false);\r\n if (all && closeDropdown) closeDropdown();\r\n };\r\n\r\n const aiParams = {\r\n show: showAI,\r\n openAI: handleOpen,\r\n ComponentParams: {\r\n onClose: handleClose,\r\n getPrompt: getPrompt.CJM_SOL,\r\n onSave: handleCreateAIItems,\r\n stageId,\r\n swimlaneKey,\r\n max_tokens: 2000,\r\n },\r\n };\r\n\r\n return { aiParams: aiParams };\r\n};\r\n\r\nfunction findAttribute(attributes: any[], type: number, name?: string) {\r\n if (!name) return attributes.find((att: any) => att.type === type);\r\n return attributes.find((att: any) => att.type === type && att.name === name);\r\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { displayBenefitCard } from \"features/grid-table/columns-components/ReusableListComponents\";\r\nimport { MenuItemSelector } from \"features/journey-map/swimlanes/card-components/MenuItemSelector\";\r\nimport { SolutionAdvancedSearchModal } from \"features/journey-map/swimlanes/solutions/modals/SolutionAdvancedSearchModal\";\r\nimport { createSolution } from \"features/solutions/reducer/SolutionsActions\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { retrieveAllActiveSolutions } from \"redux/memoizedSelectors\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport CreateNewItem from \"shared/dropdowns/cx-dropdown/components/create-new-item\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport Tag from \"shared/ui-basics/ui-components/tag\";\r\nimport { EMPTY_GUID, encode, StripHtml } from \"utils/helpers\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport RenderAdvancedModalFooter from \"../components/RenderAdvancedFooter\";\r\nimport { useAIParams } from \"./SolutionDropdownAI\";\r\n\r\ninterface SolutionDropdownProps {\r\n\tlink?: (id: string, e?: any) => void;\r\n\tcloseDropdown?: () => void;\r\n\tselected?: any;\r\n\tmenuListHeight?: string;\r\n\tisOpen?: boolean;\r\n\tisSwitchDisabled?: boolean;\r\n\tisCloseAfterCreate?: boolean;\r\n\tshowShadow?: boolean;\r\n\tglobalWidth?: string;\r\n\taiParameters?: any;\r\n}\r\n\r\nexport const SolutionDropdown = ({\r\n\tlink,\r\n\tcloseDropdown,\r\n\tselected = [],\r\n\tmenuListHeight,\r\n\tisOpen = false,\r\n\tisSwitchDisabled = false,\r\n\tisCloseAfterCreate = false,\r\n\tshowShadow = false,\r\n\tglobalWidth,\r\n\taiParameters, // stageName, cjmDescription, swimlaneKey, stageId\r\n}: SolutionDropdownProps): JSX.Element => {\r\n\r\n\tconst allSolutions: any[] = useSelector(retrieveAllActiveSolutions);\r\n\tconst aiParams = useAIParams({ aiParameters, closeDropdown, link });\r\n\r\n\tconst handleCreate = ({ input, clearInput, close }: any) => {\r\n\t\tclearInput();\r\n\t\tif (isCloseAfterCreate) close();\r\n\t\tconst onSuccess = (item: any) => {\r\n\t\t\tif (link)\r\n\t\t\t\tlink(item?.id)\r\n\r\n\t\t}\r\n\t\tconst params: any = { item: { id: uuid(), name: encode(input.truncate(100, true)) }, onSuccess: link ? onSuccess : null };\r\n\t\tcreateSolution(params);\r\n\t};\r\n\tconst params: any = {\r\n\t\tselected: [],\r\n\t\toptions: allSolutions,\r\n\t\tplaceholder: \"SEARCH_OR_CREATE\",\r\n\t\tmenuLabel: \"SELECT_OR_CREATE\",\r\n\t\trenderSelectedItem: () => <>,\r\n\t\trenderMenuItem: ({ item }: any) => {\r\n\t\t\tconst handleClicked = (e: any) => {\r\n\t\t\t\tif (link) link(item?.id, e)\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t displayBenefitCard(item)}\r\n icon=\"SOLUTION\"\r\n classNames=\"p-2\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t},\r\n\t\tlinkMenuItem: ({ item }: any) => {\r\n\t\t\tif (link) link(item?.id);\r\n\t\t},\r\n\t\tfilter: ({ query, option }: any) => {\r\n\t\t\tconst sol = allSolutions.find((t) => t.id === option?.id);\r\n\t\t\tif (sol && !selected?.includes(sol.id)) return sol?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t\trenderCreateItem: ({ input, clearInput, close }: any) => (\r\n\t\t\t handleCreate({ input, clearInput, close })} renderItem={() => } createLabel=\"JS_87\" />\r\n\t\t),\r\n\t\tmenuListHeight,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t\tRenderFooter: RenderAdvancedModalFooter({ closeDropdown, link, selected, modal: SolutionAdvancedSearchModal }),\r\n\t\tshowShadow,\r\n\t\tglobalWidth,\r\n\t\tvirtualScrollerParams: {\r\n\t\t\trowHeight: 96,\r\n\t\t},\r\n\t\t...aiParams,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\n\r\n","import { displayBenefitCard } from \"features/grid-table/columns-components/ReusableListComponents\";\r\nimport { JourneyFilter } from \"features/journey-map/modals/AdvancedSearch/JourneyFilter\";\r\nimport { PersonaFilter } from \"features/journey-map/modals/AdvancedSearch/PersonaFilter\";\r\nimport { StatusFilter } from \"features/journey-map/modals/AdvancedSearch/StatusFilter\";\r\nimport { CheckBox, EmptyIconContainer, EmptyList, FiltersContainer, ListItem, ListItemsContainer } from \"features/journey-map/modals/AdvancedSearch/Style\";\r\nimport { TagFilter } from \"features/journey-map/modals/AdvancedSearch/TagFilter\";\r\nimport { TouchpointFilter } from \"features/journey-map/modals/AdvancedSearch/TouchpointFilter\";\r\nimport { memo, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { List } from \"react-virtualized\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { Button, GenericButton, IconDispatcher, SearchBar } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport { encode, getCxAttribute, StripHtml } from \"utils/helpers\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { MenuItemSelector } from \"../../card-components/MenuItemSelector\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { createCxAction } from \"redux/index\";\r\nimport EditCxAction from \"features/cx-actions/modals/cx-action\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\n\r\n// Types for props and other elements\r\ninterface ActionAdvancedSearchModalProps {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tlink: (ids: string[], event: any) => void;\r\n\tselectedActionIds?: string[];\r\n}\r\n\r\nconst ActionAdvancedSearchModal = memo(({ isOpen, onClose, link, selectedActionIds = [] }: ActionAdvancedSearchModalProps) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst personaRef = useRef(null);\r\n\tconst cjmRef = useRef(null);\r\n\tconst touchpointRef = useRef(null);\r\n\tconst tagRef = useRef(null);\r\n\tconst statusRef = useRef(null);\r\n\r\n\tconst actions: any[] = useSelector((state: any) => state.actions.all_actions || [])?.filter((action: any) => action?.statusCode === StatusCode.Active && !selectedActionIds?.includes(action?.id));\r\n\r\n\tconst [filteredActions, setFilteredActions] = useState(actions);\r\n\tconst [selectedIds, setSelectedIds] = useState([]);\r\n\tconst [searchedValue, setSearchedValue] = useState(\"\");\r\n\r\n\tconst [showEditModal] = useModal(EditCxAction);\r\n\r\n\tconst applyFilters = () => {\r\n\t\tconst personaFilters = personaRef?.current?.getFilters();\r\n\t\tconst cjmFilters = cjmRef?.current?.getFilters();\r\n\t\tconst touchpointFilters = touchpointRef?.current?.getFilters();\r\n\t\tconst tagFilters = tagRef?.current?.getFilters();\r\n\t\tconst statusFilters = statusRef?.current?.getFilters();\r\n\r\n\t\tconst filtered = actions?.filter((action) => {\r\n\t\t\treturn (\r\n\t\t\t\t(!personaFilters?.length || personaFilters.some((id: string) => action?.linkedPersonas?.includes(id))) &&\r\n\t\t\t\t(!cjmFilters?.length || cjmFilters.some((id: string) => Object.keys(action?.linkedCjms || {}).includes(id))) &&\r\n\t\t\t\t(!touchpointFilters?.length ||\r\n\t\t\t\t\ttouchpointFilters.some((id: string) => getCxAttribute({ data: action, informationType: InformationType.Touchpoints })?.linkedTouchpoints?.includes(id))) &&\r\n\t\t\t\t(!tagFilters.length || tagFilters.some((id: string) => getCxAttribute({ data: action, informationType: InformationType.Tags })?.tags?.includes(id))) &&\r\n\t\t\t\t(!statusFilters.length || statusFilters.some((id: string) => getCxAttribute({ data: action, informationType: InformationType.Status })?.statusId === id))\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\tsetFilteredActions(filtered);\r\n\t};\r\n\r\n\tconst handleSearch = (e: React.ChangeEvent) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetSearchedValue(value);\r\n\t};\r\n\r\n\tconst handleSelectRecord = (id: string) => {\r\n\t\tif (!selectedIds?.includes(id)) setSelectedIds([...selectedIds, id]);\r\n\t\telse setSelectedIds(selectedIds.filter((sId) => sId !== id));\r\n\t};\r\n\r\n\tconst addSelected = (e: React.MouseEvent) => {\r\n\t\tonClose();\r\n\t\tlink(selectedIds, e);\r\n\r\n\t\t// selectedIds?.forEach((selectedId) => link(selectedId, e));\r\n\t};\r\n\r\n\tconst recordsToDisplay = filteredActions?.filter((fa) => fa?.name?.toLowerCase()?.includes(searchedValue)).sort((a, b) => a.name.localeCompare(b.name));\r\n\r\n\tconst createNewAction = () => {\r\n\t\tif (onClose) onClose();\r\n\t\tcreateCxAction({ item: {id: uuid(), name: encode(searchedValue?.truncate(100, true)) }, onSuccess: (item) => link(item?.id, () => showEditModal({ id: item.id })) });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"ADVANCED_SEARCH\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{recordsToDisplay?.length > 0 ? (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tconst record = recordsToDisplay[index];\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t handleSelectRecord(record.id)}>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t {}} />\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t displayBenefitCard(record)}\r\n\t\t\t\t\t\t\t\t\t\t\ticon=\"ACTION\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"magnifying-glass\", \"\", { style: \"thin\" })}\r\n\t\t\t\t\t\t\t
{t(\"NO_RECORD_TO_DISPLAY\")}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ADD_ACTION\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\nActionAdvancedSearchModal.displayName = \"ActionAdvancedSearchModal\";\r\nexport { ActionAdvancedSearchModal };\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 1140px;\r\n`;\r\n","import { getPrompt } from \"features/ai/prompts/AI_prompt\";\r\nimport { getAllMapsParams } from \"features/comments/helpers\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { getAllInsights, getAllTouchpoints, getInteractionSelector, retrieveAllActiveSolutions } from \"redux/memoizedSelectors\";\r\nimport { encode } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { createCxAction, linkCxActionRecords, linkInteraction, linkRecordAttributeAPI } from \"../../../../redux/index\";\r\n\r\ntype DropdownAIProps = {\r\n aiParameters?: any;\r\n closeDropdown?: () => void;\r\n link?: (id: string) => void;\r\n};\r\n\r\ntype ItemAIProps = {\r\n title: string;\r\n description: string;\r\n relatedTouchpoint?: string;\r\n relatedInsight?: string;\r\n relatedSolution?: string;\r\n};\r\n\r\n\r\nexport const useAIParams = ({ aiParameters, closeDropdown, link }: DropdownAIProps) => {\r\n\r\n const { personaIdStr } = getAllMapsParams(useLocation().search);\r\n const { t } = useTranslation();\r\n const [showAI, setShowAI] = useState(false);\r\n const allTouchpoints = useSelector(getAllTouchpoints)\r\n const allActiveInsights: any[] = useSelector(getAllInsights)?.getActiveRecords();\r\n const allSolutions = useSelector(retrieveAllActiveSolutions);\r\n const interactions: any[] = useSelector(getInteractionSelector(personaIdStr, aiParameters?.stageId));\r\n\r\n if (!aiParameters) return {};\r\n\r\n const { stageName, swimlaneKey, stageId } = aiParameters || {};\r\n\r\n const handleRelations = (item: ItemAIProps, data: any) => {\r\n const { relatedTouchpoint, relatedInsight, relatedSolution } = item || {}; // new opportunity generated by ai\r\n const { attributes, id } = data || {};\r\n if (link) link(id);\r\n if (relatedSolution) {\r\n const solution = allSolutions?.find((s: any) => s.name.trim().toLowerCase() === relatedSolution.trim().toLowerCase());\r\n if (solution) {\r\n linkCxActionRecords({ recEntityName: \"cem_cxsolution\", recIds: [solution.id], id });\r\n }\r\n\r\n } else {\r\n // Link related Touchpoints\r\n if (relatedTouchpoint) {\r\n const touchpointAtt = findAttribute(attributes, InformationType.Touchpoints) || {};\r\n const touchpointId = allTouchpoints.find((t: any) => t.name.toLowerCase() === relatedTouchpoint.toLowerCase())?.id;\r\n if (touchpointId) {\r\n // this is regular link on opportunity record to touchpoint\r\n linkRecordAttributeAPI({\r\n recEntityName: \"cem_touchpoints\",\r\n recIds: [touchpointId],\r\n attributeId: touchpointAtt.id,\r\n objId: id,\r\n objName: \"cem_cxactiontask\",\r\n });\r\n // this is link on persona interaction record to opportunity\r\n if (interactions?.length > 0) {\r\n const personaInteraction = interactions.find((inter: any) => inter?.touchPointId === touchpointId);\r\n if (personaInteraction)\r\n linkInteraction({\r\n recIds: [id],\r\n stageId,\r\n itemId: personaInteraction.id,\r\n attribute: \"linkedActions\",\r\n recEntityName: \"cem_cxactiontask\",\r\n } as any);\r\n }\r\n }\r\n }\r\n // Link related Insights\r\n if (relatedInsight) {\r\n const name = relatedInsight?.split(\"]\")[1]?.trim().toLowerCase();\r\n const insightId = allActiveInsights.find((t) => t.name.trim().toLowerCase() === name)?.id;\r\n if (insightId) {\r\n linkCxActionRecords({ recEntityName: \"cem_insight\", recIds: [insightId], id });\r\n }\r\n }\r\n }\r\n\r\n\r\n };\r\n const handleCreateAIItems = (items: ItemAIProps[]) => {\r\n\r\n items.forEach((item: ItemAIProps) => {\r\n\r\n const { title, description } = item || {}; // new opportunity generated by ai\r\n\r\n createCxAction({\r\n item: {\r\n id: uuid(),\r\n name: encode(title),\r\n description: encode(description),\r\n },\r\n onSuccess: (data: any) => handleRelations(item, data),\r\n } as any);\r\n });\r\n };\r\n const handleOpen = () => {\r\n if (!stageName) return toast.info(t(\"STAGE_NAME_REQUIRED\"));\r\n return setShowAI(true);\r\n };\r\n const handleClose = (all?: boolean) => {\r\n setShowAI(false);\r\n if (all && closeDropdown) closeDropdown();\r\n };\r\n\r\n const aiParams = {\r\n show: showAI,\r\n openAI: handleOpen,\r\n ComponentParams: {\r\n onClose: handleClose,\r\n getPrompt: getPrompt.CJM_CXACTIONS,\r\n onSave: handleCreateAIItems,\r\n stageId,\r\n swimlaneKey,\r\n },\r\n };\r\n\r\n return { aiParams: aiParams };\r\n};\r\n\r\nfunction findAttribute(attributes: any[], type: number, name?: string) {\r\n if (!name) return attributes.find((att: any) => att.type === type);\r\n return attributes.find((att: any) => att.type === type && att.name === name);\r\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { createCxAction } from \"features/cx-actions/reducer/CxActionActions\";\r\nimport { MenuItemSelector } from \"features/journey-map/swimlanes/card-components/MenuItemSelector\";\r\nimport { ActionAdvancedSearchModal } from \"features/journey-map/swimlanes/cx-actions/modals/ActionAdvancedSearchModal\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { retrieveAllActiveActions } from \"redux/memoizedSelectors\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport CreateNewItem from \"shared/dropdowns/cx-dropdown/components/create-new-item\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport StatusItem from \"shared/ui-basics/ui-components/StatusItem\";\r\nimport Tag from \"shared/ui-basics/ui-components/tag\";\r\nimport { EMPTY_GUID, encode, getCxAttribute, StripHtml } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport RenderAdvancedModalFooter from \"../components/RenderAdvancedFooter\";\r\nimport { useAIParams } from \"./ActionDropdownAI\";\r\n\r\ninterface ActionDropdownProps {\r\n\tlink?: (id: string, e?: any) => void;\r\n\tcloseDropdown?: () => void;\r\n\tselected?: any;\r\n\tmenuListHeight?: string;\r\n\tisOpen?: boolean;\r\n\tisSwitchDisabled?: boolean;\r\n\tisCloseAfterCreate?: boolean;\r\n\tshowShadow?: boolean;\r\n\tglobalWidth?: string;\r\n\taiParameters?: any;\r\n}\r\n\r\nexport const ActionDropdown = ({\r\n\tselected,\r\n\tlink,\r\n\tmenuListHeight,\r\n\tisOpen = false,\r\n\tisSwitchDisabled = false,\r\n\tisCloseAfterCreate = false,\r\n\tshowShadow = false,\r\n\tcloseDropdown,\r\n\tglobalWidth,\r\n\taiParameters, // stageName, cjmDescription, swimlaneKey, stageId\r\n}: ActionDropdownProps): JSX.Element => {\r\n\r\n\tconst allActions: any[] = useSelector(retrieveAllActiveActions);\r\n\tconst statuses: any[] = useSelector((state: any) => state?.libraries?.status?.cxActions);\r\n\r\n\tconst aiParams = useAIParams({ aiParameters, closeDropdown, link });\r\n\r\n\tconst handleCreate = ({ input, clearInput, close }: any) => {\r\n\t\tclearInput();\r\n\t\tif (isCloseAfterCreate) close();\r\n\t\tconst onSuccess = (item: any) => {\r\n\t\t\tif (link)\r\n\t\t\t\tlink(item?.id)\r\n\t\t}\r\n\t\tconst params: any = { item: { id: uuid(), name: encode(input.truncate(100, true)) }, onSuccess: link ? onSuccess : null };\r\n\t\tcreateCxAction(params);\r\n\t};\r\n\r\n\tconst params: any = {\r\n\t\tselected: [],\r\n\t\toptions: allActions,\r\n\t\tplaceholder: \"SEARCH_OR_CREATE\",\r\n\t\tmenuLabel: \"SELECT_OR_CREATE\",\r\n\t\trenderSelectedItem: () => <>,\r\n\t\trenderMenuItem: ({ item }: any) => {\r\n\t\t\tconst statusAttribute = getCxAttribute({ data: item, informationType: InformationType.Status });\r\n\t\t\tconst status = statuses?.find((p) => p.id === statusAttribute?.statusId);\r\n\t\t\tconst handleClick = (e: any) => {\r\n\t\t\t\tif (link) link(item?.id, e);\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t }\r\n icon=\"ACTION\"\r\n classNames=\"p-2\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t},\r\n\t\tlinkMenuItem: ({ item }: any) => {\r\n\t\t\tif (link) link(item?.id);\r\n\t\t},\r\n\t\tfilter: ({ query, option }: any) => {\r\n\t\t\tconst act = allActions.find((t) => t.id === option?.id);\r\n\t\t\tif (act && !selected?.includes(act.id)) return act?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t\trenderCreateItem: ({ input, clearInput, close }: any) => (\r\n\t\t\t handleCreate({ input, clearInput, close })} renderItem={() => } createLabel=\"JS_87\" />\r\n\t\t),\r\n\t\tmenuListHeight,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t\tRenderFooter: RenderAdvancedModalFooter({ closeDropdown, link, selected, modal: ActionAdvancedSearchModal }),\r\n\t\tshowShadow,\r\n\t\tglobalWidth,\r\n\t\tvirtualScrollerParams: {\r\n\t\t\trowHeight: 96,\r\n\t\t},\r\n\t\t...aiParams,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n","import { JourneyFilter } from \"features/journey-map/modals/AdvancedSearch/JourneyFilter\";\r\nimport { PersonaFilter } from \"features/journey-map/modals/AdvancedSearch/PersonaFilter\";\r\nimport { PriorityFilter } from \"features/journey-map/modals/AdvancedSearch/PriorityFilter\";\r\nimport { CheckBox, EmptyIconContainer, EmptyList, FiltersContainer, ListItem, ListItemsContainer } from \"features/journey-map/modals/AdvancedSearch/Style\";\r\nimport { TagFilter } from \"features/journey-map/modals/AdvancedSearch/TagFilter\";\r\nimport { TouchpointFilter } from \"features/journey-map/modals/AdvancedSearch/TouchpointFilter\";\r\nimport { memo, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { List } from \"react-virtualized\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { Button, GenericButton, IconDispatcher, SearchBar } from \"shared/ui-basics\";\r\nimport PriorityItem from \"shared/ui-basics/ui-components/PriorityItem\";\r\nimport styled from \"styled-components/macro\";\r\nimport { encode, getCxAttribute, StripHtml } from \"utils/helpers\";\r\nimport { InformationType, StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { MenuItemSelector } from \"../../card-components/MenuItemSelector\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { createOpportunity } from \"redux/index\";\r\nimport EditOpportunity from \"features/opportunity/modals/edit-opportunity\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\n// Types for props and other elements\r\ninterface OpportunityAdvancedSearchModalProps {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tlink: (ids: string[], event: any) => void;\r\n\tselectedOpportunityIds?: string[];\r\n}\r\n\r\nconst OpportunityAdvancedSearchModal = memo(({ isOpen, onClose, link, selectedOpportunityIds = [] }: OpportunityAdvancedSearchModalProps) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst personaRef = useRef(null);\r\n\tconst cjmRef = useRef(null);\r\n\tconst touchpointRef = useRef(null);\r\n\tconst priorityRef = useRef(null);\r\n\tconst tagRef = useRef(null);\r\n\r\n\tconst opportunities: any[] = useSelector((state: any) => state.opportunity.all_Opportunities || [])?.filter(\r\n\t\t(opportunity: any) => opportunity?.statusCode === StatusCode.Active && !selectedOpportunityIds?.includes(opportunity?.id)\r\n\t);\r\n\tconst priorities: any[] = useSelector((state: any) => state?.libraries?.priority?.opportunity);\r\n\r\n\tconst [filteredOpportunities, setFilteredOpportunities] = useState(opportunities);\r\n\tconst [selectedIds, setSelectedIds] = useState([]);\r\n\tconst [searchedValue, setSearchedValue] = useState(\"\");\r\n\r\n\tconst [showEditModal] = useModal(EditOpportunity);\r\n\r\n\tconst applyFilters = () => {\r\n\t\tconst personaFilters = personaRef?.current?.getFilters();\r\n\t\tconst cjmFilters = cjmRef?.current?.getFilters();\r\n\t\tconst touchpointFilters = touchpointRef?.current?.getFilters();\r\n\t\tconst priorityFilters = priorityRef?.current?.getFilters();\r\n\t\tconst tagFilters = tagRef?.current?.getFilters();\r\n\r\n\t\tconst filtered = opportunities?.filter((opportunity) => {\r\n\t\t\treturn (\r\n\t\t\t\t(!personaFilters?.length || personaFilters?.some((id: string) => opportunity?.linkedPersonas?.includes(id))) &&\r\n\t\t\t\t(!cjmFilters?.length || cjmFilters?.some((id: string) => Object.keys(opportunity?.linkedCjms || {}).includes(id))) &&\r\n\t\t\t\t(!touchpointFilters?.length ||\r\n\t\t\t\t\ttouchpointFilters?.some((id: string) => getCxAttribute({ data: opportunity, informationType: InformationType.Touchpoints })?.linkedTouchpoints?.includes(id))) &&\r\n\t\t\t\t(!priorityFilters?.length || priorityFilters?.some((id: string) => getCxAttribute({ data: opportunity, informationType: InformationType.Priority })?.priorityId === id)) &&\r\n\t\t\t\t(!tagFilters?.length || tagFilters?.some((id: string) => getCxAttribute({ data: opportunity, informationType: InformationType.Tags })?.tags?.includes(id)))\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\tsetFilteredOpportunities(filtered);\r\n\t};\r\n\r\n\tconst handleSearch = (e: React.ChangeEvent) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetSearchedValue(value);\r\n\t};\r\n\r\n\tconst handleSelectRecord = (id: string) => {\r\n\t\tif (!selectedIds?.includes(id)) setSelectedIds([...selectedIds, id]);\r\n\t\telse setSelectedIds(selectedIds.filter((sId) => sId !== id));\r\n\t};\r\n\r\n\tconst addSelected = (e: React.MouseEvent) => {\r\n\t\tonClose();\r\n\t\tlink(selectedIds, e);\r\n\t};\r\n\r\n\tconst recordsToDisplay = filteredOpportunities?.filter((fo) => fo?.name?.toLowerCase()?.includes(searchedValue))?.sort((a, b) => a.name.localeCompare(b.name));\r\n\r\n\tconst createNewOpportunity = () => {\r\n\t\tif (onClose) onClose();\r\n\t\tcreateOpportunity({ item: { id: uuid(), name: encode(searchedValue.truncate(100, true)) }, onSuccess: (item) => link(item?.id, () => showEditModal({ id: item?.id })) });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"ADVANCED_SEARCH\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{recordsToDisplay?.length > 0 ? (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tconst record = recordsToDisplay[index];\r\n\t\t\t\t\t\t\t\tconst priorityAttribute = getCxAttribute({ data: record, informationType: InformationType.Priority });\r\n\t\t\t\t\t\t\t\tconst priority = priorities?.find((p) => p.id === priorityAttribute?.priorityId);\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t handleSelectRecord(record.id)}>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t {}} />\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t\ticon=\"OPPORTUNITY\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"magnifying-glass\", \"\", { style: \"thin\" })}\r\n\t\t\t\t\t\t\t
{t(\"NO_RECORD_TO_DISPLAY\")}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ADD_OPPORTUNITY\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\nOpportunityAdvancedSearchModal.displayName = \"OpportunityAdvancedSearchModal\";\r\nexport { OpportunityAdvancedSearchModal };\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 1140px;\r\n`;\r\n","import { getPrompt } from \"features/ai/prompts/AI_prompt\";\r\nimport { getAllMapsParams } from \"features/comments/helpers\";\r\nimport { createOpportunity, linkOpportunityRecords } from \"features/opportunity/reducer/OpportunityActions\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { getAllInsights, getAllTouchpoints, getInteractionSelector } from \"redux/memoizedSelectors\";\r\nimport { encode } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { linkInteraction, linkRecordAttributeAPI, updateAttributeAPIMulti } from \"../../../../redux/index\";\r\n\r\ntype DropdownAIProps = {\r\n aiParameters?: any;\r\n closeDropdown?: () => void;\r\n link?: (id: string) => void;\r\n};\r\n\r\ntype ItemAIProps = {\r\n title: string;\r\n description: string;\r\n customerValue: number;\r\n businessValue: number;\r\n relatedTouchpoint?: string;\r\n relatedInsight?: string;\r\n};\r\n\r\n\r\n\r\nexport const useAIParams = ({ aiParameters, closeDropdown, link }: DropdownAIProps) => {\r\n const { personaIdStr } = getAllMapsParams(useLocation().search);\r\n\r\n const { t } = useTranslation();\r\n const [showAI, setShowAI] = useState(false);\r\n const allTouchpoints = useSelector(getAllTouchpoints)\r\n const allActiveInsights: any[] = useSelector(getAllInsights)?.getActiveRecords();\r\n const interactions: any[] = useSelector(getInteractionSelector(personaIdStr,aiParameters?.stageId));\r\n\r\n if (!aiParameters) return {};\r\n\r\n const { stageName, swimlaneKey, stageId } = aiParameters || {};\r\n\r\n const handleRelations = (item: ItemAIProps, data:any) => {\r\n const { customerValue, businessValue, relatedTouchpoint, relatedInsight } = item || {}; // new opportunity generated by ai\r\n const { attributes, id } = data || {};\r\n if (link) link(id);\r\n\r\n // Update attributes\r\n if (attributes && item.customerValue && item.businessValue) {\r\n\r\n const modifiedAttCustomerValue = findAttribute(attributes, InformationType.Rating, \"CUSTOMER_VALUE\");\r\n const modifiedAttBusinessValue = findAttribute(attributes, InformationType.Rating, \"BUSINESS_VALUE\");\r\n\r\n modifiedAttCustomerValue.ratingValue = customerValue;\r\n modifiedAttBusinessValue.ratingValue = businessValue;\r\n\r\n updateAttributeAPIMulti({\r\n modifiedCxAttributes: [modifiedAttCustomerValue, modifiedAttBusinessValue],\r\n modifiedAttribNames: [\"ratingValue\"],\r\n });\r\n }\r\n // Link related Touchpoints\r\n if (relatedTouchpoint) {\r\n const touchpointAtt = findAttribute(attributes, InformationType.Touchpoints) || {};\r\n const touchpointId = allTouchpoints.find((t: any) => t.name.toLowerCase() === relatedTouchpoint.toLowerCase())?.id;\r\n if (touchpointId) {\r\n // this is regular link on opportunity record to touchpoint\r\n linkRecordAttributeAPI({\r\n recEntityName: \"cem_touchpoints\",\r\n recIds: [touchpointId],\r\n attributeId: touchpointAtt.id,\r\n objId: id,\r\n objName: \"cem_cxopportunity\",\r\n });\r\n // this is link on persona interaction record to opportunity\r\n if (interactions?.length > 0) {\r\n const personaInteraction = interactions.find((inter: any) => inter?.touchPointId === touchpointId);\r\n if (personaInteraction)\r\n linkInteraction({\r\n recIds: [id],\r\n stageId,\r\n itemId: personaInteraction.id,\r\n attribute: \"linkedOpps\",\r\n recEntityName: \"cem_cxopportunity\",\r\n } as any);\r\n }\r\n }\r\n }\r\n // Link related Insights\r\n if (relatedInsight) {\r\n const name = relatedInsight?.split(\"]\")[1]?.trim().toLowerCase();\r\n const insightId = allActiveInsights.find((t) => t.name.trim().toLowerCase() === name)?.id;\r\n if (insightId) {\r\n linkOpportunityRecords({ recEntityName: \"cem_insight\", recIds: [insightId], id });\r\n }\r\n }\r\n };\r\n const handleCreateAIItems = (items: ItemAIProps[]) => {\r\n\r\n items.forEach((item: ItemAIProps) => {\r\n\r\n const { title, description } = item || {}; // new opportunity generated by ai\r\n\r\n createOpportunity({\r\n item: {\r\n id: uuid(),\r\n name: encode(title),\r\n description: encode(description),\r\n },\r\n onSuccess : (data: any) => handleRelations(item,data),\r\n } as any);\r\n });\r\n };\r\n const handleOpen = () => {\r\n if (!stageName) return toast.info(t(\"STAGE_NAME_REQUIRED\"));\r\n return setShowAI(true);\r\n };\r\n const handleClose = (all?: boolean) => {\r\n setShowAI(false);\r\n if (all && closeDropdown) closeDropdown();\r\n };\r\n\r\n const aiParams = {\r\n show: showAI,\r\n openAI: handleOpen,\r\n ComponentParams: {\r\n onClose: handleClose,\r\n getPrompt: getPrompt.CJM_OPP,\r\n onSave: handleCreateAIItems,\r\n stageId,\r\n swimlaneKey,\r\n },\r\n };\r\n\r\n return { aiParams: aiParams };\r\n};\r\n\r\nfunction findAttribute(attributes: any[], type: number, name?: string) {\r\n if (!name) return attributes.find((att: any) => att.type === type);\r\n return attributes.find((att: any) => att.type === type && att.name === name);\r\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { MenuItemSelector } from \"features/journey-map/swimlanes/card-components/MenuItemSelector\";\r\nimport { OpportunityAdvancedSearchModal } from \"features/journey-map/swimlanes/opportunities/modals/OpportunityAdvancedSearchModal\";\r\nimport { createOpportunity } from \"features/opportunity/reducer/OpportunityActions\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { retrieveAllActiveOpportunities } from \"redux/memoizedSelectors\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport CreateNewItem from \"shared/dropdowns/cx-dropdown/components/create-new-item\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport PriorityItem from \"shared/ui-basics/ui-components/PriorityItem\";\r\nimport Tag from \"shared/ui-basics/ui-components/tag\";\r\nimport { EMPTY_GUID, encode, getCxAttribute, StripHtml } from \"utils/helpers\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport RenderAdvancedModalFooter from \"../components/RenderAdvancedFooter\";\r\nimport { useAIParams } from \"./OpportunityDropdownAI\";\r\n\r\ninterface OpportunityDropdownProps {\r\n\tlink?: (id: string, e?: any) => void;\r\n\tcloseDropdown?: () => void;\r\n\tselected?: any;\r\n\tmenuListHeight?: string;\r\n\tisOpen?: boolean;\r\n\tisSwitchDisabled?: boolean;\r\n\tisCloseAfterCreate?: boolean;\r\n\tshowShadow?: boolean;\r\n\tglobalWidth?: string;\r\n\taiParameters?: any;\r\n}\r\n\r\nexport const OpportunityDropdown = ({\r\n\tselected,\r\n\tlink,\r\n\tmenuListHeight,\r\n\tcloseDropdown,\r\n\tisOpen = false,\r\n\tisSwitchDisabled = false,\r\n\tisCloseAfterCreate = false,\r\n\tshowShadow = false,\r\n\tglobalWidth,\r\n\taiParameters, // stageName, cjmDescription, swimlaneKey, stageId\r\n}: OpportunityDropdownProps): JSX.Element => {\r\n\r\n\tconst allOpportunities: any[] = useSelector(retrieveAllActiveOpportunities);\r\n\tconst priorities: any[] = useSelector((state: any) => state?.libraries?.priority?.opportunity);\r\n\tconst aiParams = useAIParams({ aiParameters, closeDropdown, link });\r\n\r\n\tconst handleCreate = ({ input, clearInput, close }: any) => {\r\n\t\tclearInput();\r\n\t\tif (isCloseAfterCreate) close();\r\n\t\tconst onSuccess = (item: any) => {\r\n\t\t\tif (link)\r\n\t\t\t\tlink(item?.id)\r\n\r\n\t\t}\r\n\t\tconst params: any = { item: { id: uuid(), name: encode(input.truncate(100, true)) }, onSuccess: link ? onSuccess : null };\r\n\t\tcreateOpportunity(params);\r\n\t};\r\n\r\n\tconst params: any = {\r\n\t\tselected: [],\r\n\t\toptions: allOpportunities,\r\n\t\tplaceholder: \"SEARCH_OR_CREATE\",\r\n\t\tmenuLabel: \"SELECT_OR_CREATE\",\r\n\t\trenderSelectedItem: () => <>,\r\n\t\trenderMenuItem: ({ item }: any) => {\r\n\t\t\tconst priorityAttribute = getCxAttribute({ data: item, informationType: InformationType.Priority });\r\n\t\t\tconst priority = priorities?.find((p) => p.id === priorityAttribute?.priorityId);\r\n\t\t\tconst handleLink = (e: any) => {\r\n\t\t\t\tif (link) link(item?.id, e);\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t }\r\n icon=\"OPPORTUNITY\"\r\n classNames=\"p-2\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t},\r\n\t\tlinkMenuItem: ({ item }: any) => {\r\n\t\t\tif (link) link(item?.id);\r\n\t\t},\r\n\t\tfilter: ({ query, option }: any) => {\r\n\t\t\tconst opp = allOpportunities.find((t) => t.id === option?.id);\r\n\t\t\tif (opp && !selected?.includes(opp.id)) return opp?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t\trenderCreateItem: ({ input, clearInput, close }: any) => (\r\n\t\t\t handleCreate({ input, clearInput, close })} renderItem={() => } createLabel=\"JS_87\" />\r\n\t\t),\r\n\r\n\t\tmenuListHeight,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t\tRenderFooter: RenderAdvancedModalFooter({ closeDropdown, link, selected, modal: OpportunityAdvancedSearchModal }),\r\n\t\tshowShadow,\r\n\t\tglobalWidth,\r\n\t\tvirtualScrollerParams: {\r\n\t\t\trowHeight: 96,\r\n\t\t},\r\n\t\t...aiParams,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\n","import { Input } from \"shared/ui-basics/input\";\r\nimport PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nfunction EditableTitle({ item, attribute, update, placeholder, classNames, disabled }) {\r\n\tconst [title, setTitle] = React.useState(item?.[attribute] || \"\");\r\n\r\n\tconst handleBlur = () => {\r\n\t\tconst updatedItem = { ...item, [attribute]: title?.truncate(100) };\r\n\t\tif (title !== item[attribute]) update({ item: updatedItem, modifiedAttribNames: [attribute] });\r\n\t};\r\n\r\n\treturn (\r\n\t\t handleBlur(\"subject\")}\r\n\t\t\tonChange={(e) => setTitle(e.target.value?.truncate(100))}\r\n\t\t\tdisabled={disabled}\r\n\t\t/>\r\n\t);\r\n}\r\n\r\nEditableTitle.displayName = \"EditableTitle\";\r\n\r\nEditableTitle.propTypes = {\r\n\tisOpen: PropTypes.bool,\r\n\tonClose: PropTypes.func,\r\n\titem: PropTypes.object,\r\n\tattribute: PropTypes.string,\r\n\tupdate: PropTypes.func,\r\n\tplaceholder: PropTypes.string,\r\n\tstageId: PropTypes.string,\r\n};\r\nexport default EditableTitle;\r\n\r\nexport const CustomInput = styled(Input)`\r\n\twidth: 100%;\r\n\tresize: none;\r\n\tfont-weight: 500;\r\n\tfont-size: 20px;\r\n\tline-height: 20px;\r\n\tcolor: #333333;\r\n\tbackground-color: #ffffff;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tborder-radius: 4px;\r\n\twidth: 100%;\r\n\tmin-height: 60px;\r\n\tpadding: 4px;\r\n\tborder: 1px solid transparent;\r\n\r\n\t::before {\r\n\t\tfont-style: italic !important;\r\n\t\tcolor: #c4c4c4 !important;\r\n\t\tfont-weight: 300;\r\n\t\tline-height: 150%; /* 21px */\r\n\t\tfont-size: 14px;\r\n\t}\r\n\r\n\t&.form-control:focus {\r\n\t\tbackground-color: transparent;\r\n\t\tborder: 1px solid #605f60 !important;\r\n\t\t-webkit-box-shadow: none;\r\n\t\t-moz-box-shadow: none;\r\n\t\tbox-shadow: none;\r\n\t}\r\n\r\n\t&.form-control:hover {\r\n\t\tborder: 1px solid #605f60 !important;\r\n\t}\r\n\r\n\t&.form-control:disabled,\r\n\t.form-control[readonly] {\r\n\t\tbackground-color: #ffffff;\r\n\t\tcolor: #333333;\r\n\t\topacity: 1;\r\n\t\tcursor: no-drop;\r\n\t}\r\n`;\r\n","import { getInsightById } from \"@redux/memoizedSelectors\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport PropTypes from \"prop-types\";\r\nimport React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport Header from \"shared/cx-components/header\";\r\nimport { EntityList } from \"utils/optionsSets/OptionSets\";\r\nimport { Descriptions, PropertyManager, RelationManager } from \"../../journey-map/modals/PersonaInteractions/components\";\r\nimport { Body, OffcanvasLayout } from \"../../journey-map/modals/PersonaInteractions/personaInteractions_style\";\r\nimport { getInsightRelatedRecords, linkInsightRecords, unLinkInsightRecords, updateInsight } from \"../reducer/InsightActions\";\r\nimport EditableTitle from \"./components/EditableTitle\";\r\n\r\nfunction EditInsights({ isOpen, onClose, ...props }) {\r\n\tconst { stageId, customNavigationIds } = props;\r\n\r\n\tconst allInsights = useSelector((state) => state.insights.all_insights) || [];\r\n\tconst tableNavigationIds = useSelector((state) => state.ui.table?.entity?.[EntityList.Insight]?.insightList?.filteredIds) || [];\r\n\r\n\tconst navigationIds = customNavigationIds ? customNavigationIds : tableNavigationIds;\r\n\r\n\tconst [insightId, setCurrentInsightId] = useState(props?.insightId);\r\n\tconst currentInsight = useSelector(getInsightById(insightId));\r\n\r\n\tconst handleInsightChange = (id) => {\r\n\t\tconst newInsight = allInsights?.find((insight) => insight.id === id);\r\n\t\tsetCurrentInsightId(newInsight.id);\r\n\t};\r\n\r\n\tconst updateFunction = ({ item, modifiedAttribNames }) => updateInsight({ modifiedInsight: item, modifiedAttribNames });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t handleInsightChange(id)} updateFunction={updateFunction} navigationIds={navigationIds} />\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst Content = ({ onClose, insight, stageId, onInsightChange, updateFunction, navigationIds }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { search } = useLocation();\r\n\tconst { cjmIdStr, personaIdStr } = search.getAllMapsParams();\r\n\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo.UserType)?.isReadOnly();\r\n\tconst userAccess = useSelector((state) => state?.maps?.currentUser?.roleName);\r\n\tconst { editAllowed } = PermissionManager({ userAccess });\r\n\tconst isStandard = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName === \"Standard\");\r\n\r\n\tconst isEditable = !isReadOnly && editAllowed;\r\n\tconst mode = isEditable ? \"edit\" : \"viewer\";\r\n\r\n\tconst defaultRows = insight?.jsonProperty\r\n\t\t? JSON.parse(insight.jsonProperty)\r\n\t\t: {\r\n\t\t\tdisplayed: [\"insightType\", \"persona\", \"status\", \"priority\", \"linkedTouchpoints\", \"tags\"],\r\n\t\t\textra: [\"groups\", \"systems\", \"departments\"],\r\n\t\t};\r\n\tconst updateRows = (rows) => updateFunction({ item: { ...insight, jsonProperty: JSON.stringify(rows) }, modifiedAttribNames: [\"json_property\"] });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nEditInsights.displayName = \"EditInsights\";\r\nEditInsights.propTypes = {\r\n\tisOpen: PropTypes.bool,\r\n\tonClose: PropTypes.func,\r\n};\r\nexport default EditInsights;\r\n","import { copyCustomIcon, deleteCustomIcon, deleteCustomImage, updateCustomIcon } from \"@redux/index\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { StickerIconValidation } from \"@utils/helpers\";\r\nimport { LibraryItemCard } from \"features/library/components/LibraryItemCard\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ActionConfirmModal, EditLibrariesModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport const StickerCard = ({ icon, category, setFocus }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useRef(null);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\r\n\tconst [picture, setPicture] = useState(pictureValidation(icon, sessionId));\r\n\tconst [showEditModal, hideEditModal] = useModal(EditLibrariesModal);\r\n\r\n\r\n\tuseEffect(() => {\r\n\t\tsetPicture(pictureValidation(icon, sessionId));\r\n\t}, [icon.category,icon.render]);\r\n\r\n\tconst updateCustom = (index, name, category, weight, FileExtension, DocumentBody) => {\r\n\t\tif (icon.isCustom) {\r\n\t\t\tUpdateCustomIcon(index, name, category, FileExtension ? FileExtension : \"\", DocumentBody ? DocumentBody : \"\");\r\n\t\t\tif (FileExtension === \"\") DeleteCustomImage(index);\r\n\t\t}\r\n\t};\r\n\r\n\tconst UpdateCustomIcon = async (iconIdStr, newIconName, category, imageExtension, imageBody64) => {\r\n\t\tconst onSuccess = () => {\r\n\t\t\thideEditModal();\r\n\r\n\t\t\tsetPicture(`api/icon/getCustomImage?iconIdStr=${icon.id}&sid=${sessionId}&workspaceId=${currentWorkspaceId}&${Math.random()}=true`);\r\n\r\n\t\t};\r\n\t\tconst onFailed = (data) => {\r\n\t\t\tif (data?.response?.data === 'IMG_NOT_VALID') {\r\n\t\t\t\ttoast.error(t(\"IMG_NOT_VALID\"));\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tupdateCustomIcon({ iconIdStr, newIconName, category, imageExtension, imageBody64, onSuccess , onFailed });\r\n\r\n\t};\r\n\r\n\tconst DeleteCustomImage = async (iconIdStr) => {\r\n\t\tconst onSuccess = () => {\r\n\t\t\tsetPicture(`api/icon/getCustomImage?iconIdStr=${icon.id}&sid=${sessionId}&workspaceId=${currentWorkspaceId}&${Math.random()}=true`);\r\n\t\t}\r\n\t\tdeleteCustomImage({ iconIdStr, onSuccess });\r\n\t};\r\n\r\n\tconst deleteCustom = async () => {\r\n\t\thideModalDelete();\r\n\t\tdeleteCustomIcon({ id: icon?.id });\r\n\t\thideEditModal();\r\n\t};\r\n\r\n\tconst [showModalDelete, hideModalDelete] = useModal(ActionConfirmModal, {\r\n\t\ttitle: t(\"ASPX_145\"),\r\n\t\tbodyContent: \"DELETE_ICON\",\r\n\t\tAction: deleteCustom,\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst openEdit = (e) => {\r\n\t\tconst index = e.currentTarget.id;\r\n\t\tshowEditModal({\r\n\t\t\tonDelete: showModalDelete,\r\n\t\t\tobject: icon,\r\n\t\t\tcontext: \"icon\",\r\n\t\t\tentityName: \"icon\",\r\n\t\t\ttitle: \"STICKER\",\r\n\t\t\tdisplayCjmTable: true,\r\n\t\t\tpictureValidation,\r\n\t\t\tdeleteCustom,\r\n\t\t\tupdateCustom,\r\n\t\t\tcategory,\r\n\t\t\tindex,\r\n\t\t});\r\n\t};\r\n\tconst copyIcon = ({ id, name, workspaceIds }) => {\r\n\t\tcopyCustomIcon({\r\n\t\t\tid: id,\r\n\t\t\tname: name,\r\n\t\t\tworkspaceIds: workspaceIds\r\n\t\t});\r\n\t};\r\n\r\n\treturn ;\r\n};\r\n\r\nconst pictureValidation = (icon, sessionId) => {\r\n\tif (icon.isCustom) return `api/icon/getCustomImage?iconIdStr=${icon.id}&sid=${sessionId}&workspaceId=${currentWorkspaceId}&${Math.random()}=true`;\r\n\treturn StickerIconValidation({ number: icon.number, type: icon.category });\r\n};\r\n","import { createCustomIcon } from \"@redux/index\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { CreateLibraryItemCanvas } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { LibraryTemplate } from \"../components/LibraryTemplate\";\r\nimport { StickerCard } from \"../components/Stickers/StickerCard\";\r\nimport StickerForm from \"../components/Stickers/StickerForm\";\r\n\r\nconst Stickers = () => {\r\n\tconst iconsDB = useSelector((state) => state.libraries.icons);\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\r\n\tconst categories = [\r\n\t\t{ name: \"ALL\", id: EMPTY_GUID },\r\n\t\t{ name: \"EMOTIONS\", id: \"100000001\" },\r\n\t\t{ name: \"ASPX_147\", id: \"100000000\" },\r\n\t];\r\n\r\n\tconst createCustom = async (newIconName, category, weight, imageExtension, imageBody64) => {\r\n\t\tcreateCustomIcon({ newIconName:newIconName?.truncate(100,true), category, imageExtension, imageBody64, onSuccess: hideCreateModal });\r\n\t};\r\n\r\n\tconst [showCreateModal, hideCreateModal] = useModal(CreateLibraryItemCanvas, {\r\n\t\ttitle: \"NEW_STICKER\",\r\n\t\tdisplayForm: () => ,\r\n\t});\r\n\r\n\tconst displayLibraryItem = ({ item }) => {\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn (\r\n\t);\r\n};\r\n\r\nexport default Stickers;\r\n","import { useHistory } from \"react-router-dom\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { FlexAlignCenter } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\ninterface TaxonomyData {\r\n\turl: string;\r\n\ticon: string;\r\n\tname: string;\r\n\tdescription: string;\r\n\tnRecords: number;\r\n}\r\n\r\ninterface TaxonomyMenuCardProps {\r\n\tdata: TaxonomyData;\r\n}\r\n\r\nexport const TaxonomyMenuCard: React.FC = ({ data }) => {\r\n\tconst history = useHistory();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t history.push(`/taxonomy-${data.url}`)}>\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(data.icon, \"m-2\", { size: \"xl\" })}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{data.name || \"-\"}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{data.description}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
{data.nRecords}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Card = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 16px;\r\n`;\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tgap: 16px;\r\n\theight: 64px;\r\n\twidth: 1100px;\r\n\tborder-radius: 4px;\r\n\tpadding: 8px;\r\n\t&:hover {\r\n\t\tbackground-color: #f8fafc;\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 48px;\r\n\theight: 48px;\r\n\tborder-radius: 8px;\r\n\tbackground: #f1f5f9;\r\n\r\n\tsvg {\r\n\t\twidth: 24px;\r\n\t\theight: 24px;\r\n\t}\r\n`;\r\n\r\nconst Body = styled.div`\r\n\tfont-family: \"Inter\";\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tcolor: #262626;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: 150%;\r\n\tcursor: pointer;\r\n\toverflow: hidden;\r\n\tcolor: #333333;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 1;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\talign-self: center !important;\r\n`;\r\n\r\nconst Description = styled.div`\r\n\tcolor: #595959;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-box-orient: vertical;\r\n\t-webkit-line-clamp: 1;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: normal;\r\n`;\r\n\r\nconst Records = styled.div`\r\n\tcolor: #262626;\r\n\ttext-align: right;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n","/* eslint-disable no-extend-native */\r\nimport { getAllInsightTypes, groupInit, priorityInit, statusInit, tagInit } from \"@redux/index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { PageTemplate } from \"shared/global-layouts/PageTemplate\";\r\nimport { FlexColumnGap } from \"shared/ui-basics/index\";\r\nimport { TaxonomyMenuCard } from \"../components/TaxonomyMenuCard\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\n\r\nconst Taxonomy = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst LoadedTaxonomyPage = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst isStandard = subscriptionPlan === \"Standard\";\r\n\tconst librariesData = useSelector((state) => state?.libraries);\r\n\r\n\tconst menuData = [\r\n\t\t{\r\n\t\t\tname: t(\"ASPX_222\"),\r\n\t\t\tdescription: t(\"STATUS_DESCRIPTION\"),\r\n\t\t\turl: \"status\",\r\n\t\t\ticon: \"circle\",\r\n\t\t\tnRecords: librariesData?.status ? Object.values(librariesData?.status).reduce((sum, array) => sum + array.length, 0) : 0,\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: t(\"PRIORITY\"),\r\n\t\t\tdescription: t(\"PRIORITY_DESCRIPTION\"),\r\n\t\t\turl: \"priority\",\r\n\t\t\ticon: \"arrow-up-big-small\",\r\n\t\t\tnRecords: librariesData?.priority ? Object.values(librariesData?.priority).reduce((sum, array) => sum + array.length, 0) : 0,\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: t(\"GROUP\"),\r\n\t\t\tdescription: t(\"GROUP_DESCRIPTION\"),\r\n\t\t\turl: \"group\",\r\n\t\t\ticon: \"users\",\r\n\t\t\tnRecords: librariesData?.group ? librariesData?.group?.length : 0,\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: t(\"TAG\"),\r\n\t\t\tdescription: t(\"TAG_DESCRIPTION\"),\r\n\t\t\turl: \"tag\",\r\n\t\t\ticon: \"tag\",\r\n\t\t\tnRecords: librariesData?.tags ? librariesData?.tags?.length : 0,\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: t(\"INSIGHT_TYPE\"),\r\n\t\t\tdescription: t(\"INSIGHT_TYPE_DESCRIPTION\"),\r\n\t\t\turl: \"insight-type\",\r\n\t\t\ticon: \"hashtag\",\r\n\t\t\tnRecords: librariesData?.insightTypes ? librariesData?.insightTypes?.length : 0,\r\n\t\t},\r\n\t];\r\n\r\n\tconst dataFilteredBySubscription = menuData?.filter((data) => (isStandard ? data?.name !== t(\"PRIORITY\") : true));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{dataFilteredBySubscription?.map((data, i) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTaxonomy.displayName = \"Taxonomy\";\r\nexport default Taxonomy;\r\n","import { upsertValueLibrary } from \"@redux/index\";\r\nimport { createDefaultCustomLibraryItem, encode, isUserAllowed } from \"@utils/helpers\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Label } from \"reactstrap\";\r\nimport { EditorWrapper } from \"shared/cx-components/style\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { IconDispatcher, Input } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport PickListData from \"utils/optionsSets/PickListData\";\r\n\r\nconst infoLibrary = (type) => {\r\n\tconst setting = {\r\n\t\tcolorCode: \"\",\r\n\t\tpalette: \"\",\r\n\t\ttitle: \"\",\r\n\t\ttextModalDelete: \"\",\r\n\t};\r\n\tswitch (type) {\r\n\t\tcase \"system\":\r\n\t\t\tsetting.colorCode = \"#FCA8CE\";\r\n\t\t\tsetting.palette = \"palette-system\";\r\n\t\t\tbreak;\r\n\t\tcase \"department\":\r\n\t\t\tsetting.colorCode = \"#FFAC81\";\r\n\t\t\tsetting.palette = \"palette-department\";\r\n\t\t\tbreak;\r\n\t\tcase \"library\":\r\n\t\t\tsetting.colorCode = \"#E9ECEF\";\r\n\t\t\tsetting.palette = \"palette-library\";\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\treturn setting;\r\n};\r\nexport default function LibraryValueForm({ items, libraryId, selectedItem, type, onDelete, onCreate, onClose }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\tconst info = infoLibrary(type);\r\n\tconst [item, setItem] = useState(selectedItem ? selectedItem : createDefaultCustomLibraryItem(info.colorCode));\r\n\r\n\tconst isDeleteAllowed = item?.isCustom && isUserAllowed(userType, \"delete-library\");\r\n\r\n\tconst handleChange = (attribute, value) => {\r\n\t\tsetItem((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\t[attribute]: value,\r\n\t\t}));\r\n\t};\r\n\tconst callBackCreate = () => {\r\n\t\tsetItem(createDefaultCustomLibraryItem(info.colorCode));\r\n\t\tonClose();\r\n\t};\r\n\tconst onUpdate = ({ item, callBack }) => {\r\n\t\tupsertValueLibrary({ libraryId, libraryValue: item, onSuccess: callBack });\r\n\t};\r\n\t// Handle create / update actions\r\n\tconst handleAction = () => {\r\n\t\tif (item?.name === \"\") return toast.info(t(\"NAME_EMPTY\"));\r\n\r\n\t\tconst isNameExist = items?.filter((it) => it.name.toUpperCase() === item?.name.toUpperCase()).length > 0;\r\n\t\tif (isNameExist) {\r\n\t\t\treturn toast.info(t(\"NAME_EXISTS\"));\r\n\t\t}\r\n\t\tconst copyItem = { ...item };\r\n\r\n\t\tcopyItem.name = encode(item.name);\r\n\t\tcopyItem.description = encode(item?.description);\r\n\t\tselectedItem ? onUpdate({ item: copyItem, toast: \"UPDATE\", callBack: onClose }) : onUpdate({ item: copyItem, callBack: callBackCreate });\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{t(\"NAME\")}\r\n\t\t\t\t handleChange(\"name\", e.target.value.truncate(100))}\r\n\t\t\t\t\tplaceholder={t(\"ENTER_NAME\")}\r\n\t\t\t\t\tdisabled={!item?.isCustom}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"ASPX_9\")}\r\n\t\t\t\t\r\n\t\t\t\t\t handleChange(\"description\", value)} />\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"ASPX_137\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{item.isCustom === undefined ||\r\n\t\t\t\t(item?.isCustom && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{onCreate ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_108\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{isDeleteAllowed && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t(\"ASPX_13\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{item.isCustom === undefined || item?.isCustom ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t
\r\n\t);\r\n}\r\nconst SystemDepartmentColorSelector = ({ item, handleChange, palette, disabled }) => {\r\n\tconst colors = PickListData(palette);\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{colors?.map((color, i) => (\r\n\t\t\t\t\t handleChange(\"colorCode\", color)}>\r\n\t\t\t\t\t\t{item?.colorCode === color && IconDispatcher(\"WHITE-CHECK\")}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nconst Container = styled.div`\r\n\twidth: 100%;\r\n\tbox-shadow: 0 2px 12px 0 rgb(0 0 0 / 20%);\r\n\tborder: none !important;\r\n\tbackground: #ffffff;\r\n\t${(props) =>\r\n\t\tprops.disabled === true &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t`}\r\n`;\r\n\r\nconst WrapperMenu = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tpadding: 0;\r\n\tborder-radius: 6px;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst BoxColor = styled.div`\r\n\twidth: 28px;\r\n\theight: 28px;\r\n\tborder-radius: 4px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tcolor: #ffffff;\r\n\tbackground-color: ${(props) => props.color};\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n\tmargin-bottom: 24px;\r\n`;\r\n\r\nconst FooterDiv = styled.div`\r\n\tpadding-top: 1rem;\r\n\tdisplay: flex;\r\n\tjustify-content: ${(props) => (props.IsDeleteAllowed ? \"space-between\" : \"flex-end\")};\r\n\twidth: 100%;\r\n`;\r\n\r\nconst LabelWrapper = styled(Label)`\r\n\tcolor: #92919d;\r\n\tmargin-bottom: 16px;\r\n`;\r\n\r\nconst ButtonWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-evenly;\r\n`;\r\n","import { getBrandValueLinkedRecords, getCustomLibraryLinkedRecords, getIconsLinkedRecords, getMeasuresLinkedRecords, getTouchpointLinkedRecords } from \"@redux/index\";\r\nimport DataTable from \"features/grid-table/DataTable\";\r\nimport BrandValueForm from \"features/library/components/BrandValues/BrandValueForm\";\r\nimport LibraryValueForm from \"features/library/components/LibraryValue/LibraryValueForm\";\r\nimport MeasureForm from \"features/library/components/Measures/MeasureForm\";\r\nimport StickerForm from \"features/library/components/Stickers/StickerForm\";\r\nimport TouchPointForm from \"features/library/components/TouchPoints/TouchPointForm\";\r\nimport _ from \"lodash\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Col, Label, Modal, ModalBody, ModalHeader, Row } from \"reactstrap\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { useAsync } from \"shared/hooks/index\";\r\nimport { FlexBetweenAlignCenter, GenericButton, SearchBar } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport \"./ModalStyle.scss\";\r\n\r\nconst buildModalByContext = (props, childRef) => {\r\n\tconst data = {\r\n\t\trecordId: props?.object.id,\r\n\t};\r\n\tswitch (props?.context) {\r\n\t\tcase \"brandValue\":\r\n\t\t\tdata.displayForm = (onClose) => ;\r\n\t\t\tdata.pathToAllRecords = \"libraries.brandValues\";\r\n\t\t\tdata.linkedRecordsAttribute = \"linkedCxProgram\";\r\n\t\t\tdata.getLinkedRecords = getBrandValueLinkedRecords;\r\n\t\t\tdata.linkedRecordsTitle = \"RELATED_CX_PROGRAMS\";\r\n\t\t\tdata.parameter = { brandValueId: props?.object.id };\r\n\t\t\tdata.pathContext = \"cxPrograms.library\";\r\n\t\t\tbreak;\r\n\t\tcase \"libraryValue\":\r\n\t\t\tdata.displayForm = (onClose) => ;\r\n\t\t\tdata.pathToAllRecords = `libraries.customLibraries[${props?.indexLibrary}].values`;\r\n\t\t\tdata.linkedRecordsAttribute = \"linkedCjms\";\r\n\t\t\tdata.getLinkedRecords = getCustomLibraryLinkedRecords;\r\n\t\t\tdata.linkedRecordsTitle = \"CS_37\";\r\n\t\t\tdata.parameter = { libraryId: props?.libraryId, libraryValueId: props?.object.id };\r\n\t\t\tdata.pathContext = \"map.library\";\r\n\t\t\tbreak;\r\n\t\tcase \"measure\":\r\n\t\t\tdata.displayForm = (onClose) => ;\r\n\t\t\tdata.pathToAllRecords = \"libraries.measures\";\r\n\t\t\tdata.linkedRecordsAttribute = \"linkedCjms\";\r\n\t\t\tdata.getLinkedRecords = getMeasuresLinkedRecords;\r\n\t\t\tdata.linkedRecordsTitle = \"CS_37\";\r\n\t\t\tdata.parameter = { measureId: props?.object.id };\r\n\t\t\tdata.pathContext = \"map.library\";\r\n\t\t\tdata.isDataFormatable = true;\r\n\t\t\tbreak;\r\n\t\tcase \"touchpoint\":\r\n\t\t\tdata.displayForm = (onClose) => (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t\tdata.pathToAllRecords = `libraries.touchPoint`;\r\n\t\t\tdata.linkedRecordsAttribute = \"linkedCjms\";\r\n\t\t\tdata.getLinkedRecords = getTouchpointLinkedRecords;\r\n\t\t\tdata.linkedRecordsTitle = \"CS_37\";\r\n\t\t\tdata.parameter = { touchpointId: props?.object.id };\r\n\t\t\tdata.pathContext = \"map.library\";\r\n\t\t\tbreak;\r\n\t\tcase \"icon\":\r\n\t\t\tdata.displayForm = (onClose) => (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t\tdata.pathToAllRecords = `libraries.icons`;\r\n\t\t\tdata.linkedRecordsAttribute = \"linkedCjms\";\r\n\t\t\tdata.getLinkedRecords = getIconsLinkedRecords;\r\n\t\t\tdata.linkedRecordsTitle = \"CS_37\";\r\n\t\t\tdata.parameter = { iconNumber: props?.object.number };\r\n\t\t\tdata.pathContext = \"map.library\";\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\treturn data;\r\n};\r\n\r\nexport const EditLibrariesModal = ({ isOpen, onClose, showlinkedRecordsMaps = true, displayCjmTable, entityName, title, ...props }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst childRef = useRef(null);\r\n\tconst { displayForm, pathToAllRecords, linkedRecordsAttribute, linkedRecordsTitle, recordId, getLinkedRecords, parameter, pathContext, isDataFormatable } = buildModalByContext(props, childRef);\r\n\r\n\tconst maps = useSelector((state) => state.maps.all_maps);\r\n\tconst cxPrograms = useSelector((state) => state.cxProgram.all_cxPrograms);\r\n\tconst linkedData = useSelector((state) => _.get(state, pathToAllRecords)?.find((rec) => rec.id === recordId))?.[linkedRecordsAttribute];\r\n\tconst [linkedItems, setLinkedItems] = useState(displayCjmTable ? {} : []);\r\n\tconst [searchValue, setSearchValue] = useState(\"\");\r\n\tconst [loading, setLoading] = useState(false);\r\n\tuseAsync({ asyncFn: getLinkedRecords, parameter, loading: setLoading });\r\n\r\n\tuseEffect(() => {\r\n\t\tsetLinkedItems(getLinkedItems());\r\n\t}, [linkedData]);\r\n\r\n\tconst transformLinkedData = () => {\r\n\t\t// Get a linkedItems object from Libraries (Touchpoints / icons / Custom Lib)\r\n\t\t// and return an array of maps with the related stageName for each map\r\n\r\n\t\tconst items = [];\r\n\t\tif (linkedData) {\r\n\t\t\tfor (const [mapId, stages] of Object.entries(linkedData)) {\r\n\t\t\t\tconst map = maps.find((map) => map.cjmId === mapId);\r\n\t\t\t\tif (map) {\r\n\t\t\t\t\tfor (const [stageId, stageName] of Object.entries(stages)) {\r\n\t\t\t\t\t\titems.push({ ...map, linkedStageName: stageName });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn items;\r\n\t};\r\n\r\n\tconst getLinkedItems = () => {\r\n\t\tif (displayCjmTable || isDataFormatable) return transformLinkedData();\r\n\t\tif (pathContext === \"cxPrograms.library\") {\r\n\t\t\treturn linkedData?.map((data) => {\r\n\t\t\t\tconst item = cxPrograms?.find((p) => p.id === data);\r\n\t\t\t\tif (item) return { id: item?.id, name: item?.name };\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn linkedData;\r\n\t};\r\n\r\n\tconst handleSearchChange = (e) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetSearchValue(value);\r\n\t\tif (!value) setLinkedItems(getLinkedItems());\r\n\t\telse setLinkedItems(linkedItems.filter((map) => map?.name?.toLowerCase().includes(value.toLowerCase())));\r\n\t};\r\n\r\n\tconst handleCheckLength = (data) => {\r\n\t\tif (!data) return false;\r\n\t\tif (Array.isArray(data)) return data.length > 0;\r\n\t\treturn Object.keys(data)?.length > 0;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{!recordId ? t(\"NEW\") : t(\"EDIT\") + \" \"}\r\n\t\t\t\t{t(title)}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{showlinkedRecordsMaps && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{displayForm(onClose)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{loading && }\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{!loading && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{t(linkedRecordsTitle)}\r\n\t\t\t\t\t\t\t\t\t\t{\"(\" + linkedItems?.length + \")\"}\r\n\t\t\t\t\t\t\t\t\t\t{handleCheckLength(linkedData) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t childRef.current.exportRelatedExcelClick(recordId, entityName)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"ASPX_14\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{!loading && li?.id) : linkedItems} />}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t{!showlinkedRecordsMaps && displayForm(onClose)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst LeftCol = styled(Col)``;\r\n\r\nconst RightCol = styled(Col)`\r\n\tborder-left: 1px dashed #c4c4c4;\r\n`;\r\n\r\nconst Header = styled(ModalHeader)`\r\n\th5 {\r\n\t\tfont-family: \"Segoe UI\";\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 400;\r\n\t\tfont-size: 20px;\r\n\t\tline-height: 27px;\r\n\t}\r\n`;\r\n\r\nconst TableContainer = styled.div`\r\n\t/* height: 555px; */\r\n\toverflow: scroll;\r\n\tpadding: 1rem;\r\n\tmargin: 0;\r\n\t/* min-height: 555px; */\r\n\t/* overflow: hidden; */\r\n`;\r\n\r\nconst LabelWrapper = styled(Label)`\r\n\tcolor: #92919d;\r\n\tmargin-bottom: 16px;\r\n`;\r\n\r\nconst Number = styled.span`\r\n\tcolor: #92919d;\r\n`;\r\n\r\nconst RelatedContainer = styled.div`\r\n\tmin-height: 80px;\r\n`;\r\n","import CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { getEmotionLevelData } from \"utils/helpers\";\r\n\r\ninterface SmileyReactiveComponentProps {\r\n\temotionLevel: number;\r\n\tisSelected: boolean;\r\n\tisDisabled?: boolean;\r\n}\r\n\r\nexport const SmileyReactiveComponent: React.FC = ({ emotionLevel, isSelected, isDisabled = false }) => {\r\n\tconst { smiley, smileyColor, description } = getEmotionLevelData({ level: emotionLevel });\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{IconDispatcher(smiley)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Container = styled.div<{ disabled: boolean }>`\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\tflex-shrink: 0;\r\n\tcursor: ${({ disabled }) => (disabled ? \"not-allowed\" : \"pointer\")};\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\t${({ disabled }) =>\r\n\t\tdisabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t`};\r\n`;\r\n\r\nconst WhiteBackground = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tborder-radius: 50%;\r\n\tbackground: #ffffff;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nconst Icon = styled.div<{ selected: boolean; color: string }>`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tsvg {\r\n\t\twidth: 24px;\r\n\t\theight: 24px;\r\n\t\tcolor: #bfbfbf;\r\n\t}\r\n\r\n\t:hover {\r\n\t\tsvg {\r\n\t\t\twidth: 26px;\r\n\t\t\theight: 26px;\r\n\t\t\tcolor: ${({ color }) => color};\r\n\t\t}\r\n\t}\r\n\r\n\t${({ selected }) =>\r\n\t\tselected &&\r\n\t\tcss`\r\n\t\t\tsvg {\r\n\t\t\t\twidth: 28px;\r\n\t\t\t\theight: 28px;\r\n\t\t\t\tcolor: ${({ color }) => color};\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n","import styled from \"styled-components/macro\";\r\nimport { SmileyReactiveComponent } from \"./SmileyReactiveComponent\";\r\n\r\ninterface SmileyRatingProps {\r\n\temotionLevel: number;\r\n\tonSelect?: () => void;\r\n\tisDisabled?: boolean;\r\n}\r\n\r\nexport const SmileyRating: React.FC = ({ emotionLevel, onSelect, isDisabled = false }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{[1, 2, 3, 4, 5].map((level) => (\r\n\t\t\t\t
onSelect(level) : () => {}}>\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\twidth: fit-content;\r\n\theight: 30px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n`;\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nconst Loader = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst StyledWrapper = styled.div`\r\n .pl {\r\n width: 6em;\r\n height: 6em;\r\n }\r\n\r\n .pl__ring {\r\n animation: ringA 2s linear infinite;\r\n }\r\n\r\n .pl__ring--a {\r\n /* stroke: #F97316; */\r\n stroke: #FB923C; \r\n }\r\n\r\n .pl__ring--b {\r\n animation-name: ringB;\r\n /* stroke: #8B5CF6; */\r\n stroke: #A78BFA; \r\n }\r\n\r\n .pl__ring--c {\r\n animation-name: ringC;\r\n /* stroke: #3F3D56; */\r\n stroke: #FDE047; \r\n }\r\n\r\n .pl__ring--d {\r\n animation-name: ringD;\r\n /* stroke: #3B82F6; */\r\n stroke: #60A5FA; \r\n }\r\n\r\n /* Animations */\r\n @keyframes ringA {\r\n from, 4% {\r\n stroke-dasharray: 0 660;\r\n stroke-width: 20;\r\n stroke-dashoffset: -330;\r\n }\r\n\r\n 12% {\r\n stroke-dasharray: 60 600;\r\n stroke-width: 30;\r\n stroke-dashoffset: -335;\r\n }\r\n\r\n 32% {\r\n stroke-dasharray: 60 600;\r\n stroke-width: 30;\r\n stroke-dashoffset: -595;\r\n }\r\n\r\n 40%, 54% {\r\n stroke-dasharray: 0 660;\r\n stroke-width: 20;\r\n stroke-dashoffset: -660;\r\n }\r\n\r\n 62% {\r\n stroke-dasharray: 60 600;\r\n stroke-width: 30;\r\n stroke-dashoffset: -665;\r\n }\r\n\r\n 82% {\r\n stroke-dasharray: 60 600;\r\n stroke-width: 30;\r\n stroke-dashoffset: -925;\r\n }\r\n\r\n 90%, to {\r\n stroke-dasharray: 0 660;\r\n stroke-width: 20;\r\n stroke-dashoffset: -990;\r\n }\r\n }\r\n\r\n @keyframes ringB {\r\n from, 12% {\r\n stroke-dasharray: 0 220;\r\n stroke-width: 20;\r\n stroke-dashoffset: -110;\r\n }\r\n\r\n 20% {\r\n stroke-dasharray: 20 200;\r\n stroke-width: 30;\r\n stroke-dashoffset: -115;\r\n }\r\n\r\n 40% {\r\n stroke-dasharray: 20 200;\r\n stroke-width: 30;\r\n stroke-dashoffset: -195;\r\n }\r\n\r\n 48%, 62% {\r\n stroke-dasharray: 0 220;\r\n stroke-width: 20;\r\n stroke-dashoffset: -220;\r\n }\r\n\r\n 70% {\r\n stroke-dasharray: 20 200;\r\n stroke-width: 30;\r\n stroke-dashoffset: -225;\r\n }\r\n\r\n 90% {\r\n stroke-dasharray: 20 200;\r\n stroke-width: 30;\r\n stroke-dashoffset: -305;\r\n }\r\n\r\n 98%, to {\r\n stroke-dasharray: 0 220;\r\n stroke-width: 20;\r\n stroke-dashoffset: -330;\r\n }\r\n }\r\n\r\n @keyframes ringC {\r\n from {\r\n stroke-dasharray: 0 440;\r\n stroke-width: 20;\r\n stroke-dashoffset: 0;\r\n }\r\n\r\n 8% {\r\n stroke-dasharray: 40 400;\r\n stroke-width: 30;\r\n stroke-dashoffset: -5;\r\n }\r\n\r\n 28% {\r\n stroke-dasharray: 40 400;\r\n stroke-width: 30;\r\n stroke-dashoffset: -175;\r\n }\r\n\r\n 36%, 58% {\r\n stroke-dasharray: 0 440;\r\n stroke-width: 20;\r\n stroke-dashoffset: -220;\r\n }\r\n\r\n 66% {\r\n stroke-dasharray: 40 400;\r\n stroke-width: 30;\r\n stroke-dashoffset: -225;\r\n }\r\n\r\n 86% {\r\n stroke-dasharray: 40 400;\r\n stroke-width: 30;\r\n stroke-dashoffset: -395;\r\n }\r\n\r\n 94%, to {\r\n stroke-dasharray: 0 440;\r\n stroke-width: 20;\r\n stroke-dashoffset: -440;\r\n }\r\n }\r\n\r\n @keyframes ringD {\r\n from, 8% {\r\n stroke-dasharray: 0 440;\r\n stroke-width: 20;\r\n stroke-dashoffset: 0;\r\n }\r\n\r\n 16% {\r\n stroke-dasharray: 40 400;\r\n stroke-width: 30;\r\n stroke-dashoffset: -5;\r\n }\r\n\r\n 36% {\r\n stroke-dasharray: 40 400;\r\n stroke-width: 30;\r\n stroke-dashoffset: -175;\r\n }\r\n\r\n 44%, 50% {\r\n stroke-dasharray: 0 440;\r\n stroke-width: 20;\r\n stroke-dashoffset: -220;\r\n }\r\n\r\n 58% {\r\n stroke-dasharray: 40 400;\r\n stroke-width: 30;\r\n stroke-dashoffset: -225;\r\n }\r\n\r\n 78% {\r\n stroke-dasharray: 40 400;\r\n stroke-width: 30;\r\n stroke-dashoffset: -395;\r\n }\r\n\r\n 86%, to {\r\n stroke-dasharray: 0 440;\r\n stroke-width: 20;\r\n stroke-dashoffset: -440;\r\n }\r\n }`;\r\n\r\nexport default Loader;\r\n","import { upsertMeasure, upsertValueLibrary } from \"@redux/index\";\r\nimport { EMPTY_GUID, createDefaultCustomLibraryItem, encode } from \"@utils/helpers\";\r\nimport { UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport { ColorTextCard } from \"features/forms/personas/cards/ColorTextCard\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Label } from \"reactstrap\";\r\nimport SearchPickList from \"shared/cx-components/SearchPickList\";\r\nimport { GenericButton, IconDispatcher, Input } from \"shared/ui-basics/index\";\r\nimport { FinancialImpact } from \"shared/ui-basics/ui-components/FinancialImpact\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nconst getDefaultItem = () => {\r\n\treturn {\r\n\t\tid: EMPTY_GUID,\r\n\t\tsystemSourceId: EMPTY_GUID,\r\n\t\tname: \"\",\r\n\t\tunit: \"\",\r\n\t\tsource: \"\",\r\n\t\tfinancialValue: 0.0,\r\n\t};\r\n};\r\n\r\nexport default function MeasureForm({ selectedItem, mode, onDelete, onClose, hideCreateModal }) {\r\n\tconst { t } = useTranslation();\r\n\tconst refOver = useRef();\r\n\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\tconst systemsLibrary = useSelector((state) => state.libraries.customLibraries)?.find((library) => library.name === \"Systems\" && !library.isCustom);\r\n\tconst systems = systemsLibrary?.values;\r\n\tconst currencySymbol = useSelector((state) => state?.settings?.organization?.defaultCurrency?.symbol) || \"$\";\r\n\r\n\tconst [measure, setMeasure] = useState(selectedItem ? selectedItem : getDefaultItem());\r\n\tconst relatedSystem = systems?.find((system) => system.id === measure.systemSourceId);\r\n\tconst isDisabled = userType === UserType.user;\r\n\r\n\tconst eventEnterLimit = (e) => {\r\n\t\tconst keyCode = e.which || e.keyCode;\r\n\r\n\t\t// 13 r. the Enter key\r\n\t\tif (keyCode === 13 && !e.shiftKey) {\r\n\t\t\t// Don't generate a new line\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tif (e.target.value.length > 190) {\r\n\t\t\ttoast.info(t(\"EXCEEDED_MAX_SIZE_INPUT\"));\r\n\t\t}\r\n\t\tsetMeasure((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\t[e.target.name]: e.target.value.truncate(190),\r\n\t\t}));\r\n\t};\r\n\r\n\t// Handle create / update actions\r\n\tconst handleAction = () => {\r\n\t\tif (measure.name === \"\") return toast.info(t(\"NAME_EMPTY\"));\r\n\t\tconst copyMeasure = { ...measure };\r\n\r\n\t\tupsertMeasure({\r\n\t\t\tmeasure: {\r\n\t\t\t\t...copyMeasure,\r\n\t\t\t\tname: encode(copyMeasure.name),\r\n\t\t\t\tunit: encode(copyMeasure.unit),\r\n\t\t\t\tsource: encode(copyMeasure.source),\r\n\t\t\t\tfinancialValue: Number(copyMeasure.financialValue),\r\n\t\t\t\tbaseUnit: copyMeasure?.baseUnit ? Number(copyMeasure.baseUnit) : 0,\r\n\t\t\t},\r\n\t\t});\r\n\t\tonClose ? onClose() : setMeasure(getDefaultItem());\r\n\t\thideCreateModal && hideCreateModal();\r\n\t};\r\n\r\n\tconst CustomAddButton = ({ handleClick, disabled }) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{t(\"SOURCE\")}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst handleCreateSystem = ({ globalFilterValue }) => {\r\n\t\tconst system = createDefaultCustomLibraryItem(\"#FCA8CE\");\r\n\t\tsystem.name = encode(globalFilterValue);\r\n\t\tupsertValueLibrary({ libraryId: systemsLibrary?.id, libraryValue: system, onSuccess: (data) => setMeasure({ ...measure, systemSourceId: data.id }) });\r\n\t\treturn;\r\n\t};\r\n\tconst handleChangeFinancialImpact = (value) => {\r\n\t\tsetMeasure((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\tfinancialValue: value,\r\n\t\t}));\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tonClose();\r\n\t\tonDelete({ onSuccess: () => {} });\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{t(\"JS_53\")}\r\n\t\t\t\t\r\n\t\t\t\t{IconDispatcher(\"CHART\", \"\", { style: { color: mode === \"update\" ? \"#F96209\" : \"#C4C4C4\" } })}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"UNIT_OF_MEASURE\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"UNIT\")}\r\n\t\t\t\t\r\n\t\t\t\t{IconDispatcher(\"CHART\", \"\", { style: { color: mode === \"update\" ? \"#F96209\" : \"#C4C4C4\" } })}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"FINANCIAL_VALUE\")}\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"SOURCE\")}\r\n\t\t\t\t{!relatedSystem && (\r\n\t\t\t\t\t refOver.current.toggle(e)} disabled={isDisabled}>\r\n\t\t\t\t\t\t{t(\"SOURCE\")}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t setMeasure({ ...measure, systemSourceId: recordId })}\r\n\t\t\t\t\tisPickListCardDisabledFunction={({ pickListCardData }) => pickListCardData.id === measure.systemSourceId}\r\n\t\t\t\t\tCustomAddButton={CustomAddButton}\r\n\t\t\t\t\tnoItemsText={t(\"NO_SYSTEMS_WARNING\")}\r\n\t\t\t\t\ttitleAttribute=\"name\"\r\n\t\t\t\t\tdisable={isDisabled}\r\n\t\t\t\t/>\r\n\t\t\t\t{relatedSystem && (\r\n\t\t\t\t\t refOver.current.toggle(e)}\r\n\t\t\t\t\t\twidth=\"100%\"\r\n\t\t\t\t\t\theight=\"2.25rem\"\r\n\t\t\t\t\t\tfontSize=\"14px\"\r\n\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\t{mode === \"update\" ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{!isDisabled && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_13\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ASPX_108\")}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst Wrapper = styled.div`\r\n\tmargin-bottom: 24px;\r\n\tposition: relative;\r\n`;\r\n\r\nconst FooterDiv = styled.div`\r\n\tpadding-top: 1rem;\r\n\tdisplay: flex;\r\n\tjustify-content: ${(props) => (props.IsDeleteAllowed ? \"space-between\" : \"flex-end\")};\r\n\twidth: 100%;\r\n`;\r\n\r\nconst LabelWrapper = styled(Label)`\r\n\tcolor: #92919d;\r\n\tmargin-bottom: 16px;\r\n`;\r\n\r\nconst ButtonWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-evenly;\r\n`;\r\nexport const TextareaWithIcon = styled(InputTextarea)`\r\n\tpadding-left: 2rem !important;\r\n\twidth: 100%;\r\n\tmin-height: 50px;\r\n`;\r\nexport const IconWrapper = styled.div`\r\n\tposition: absolute;\r\n\ttop: 53px;\r\n\tleft: 10px;\r\n`;\r\n\r\nexport const Textarea = styled(InputTextarea)`\r\n\twidth: 100%;\r\n\tmin-height: 50px;\r\n`;\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components/macro\";\r\nimport { FlexColumnGap, Input } from \"shared/ui-basics/index\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\n\r\nexport const FinancialImpact = ({ financialImpact, currencySymbol, handleFinancialImpactChange, readonly = false, label = \"FINANCIAL_IMPACT\", noLabel = false }) => {\r\n\tconst { t } = useTranslation();\r\n const newFinancialImpact = parseInt(financialImpact);\r\n\treturn (\r\n\t\t\r\n\t\t\t{!noLabel && {t(label)}}{\" \"}\r\n\t\t\t\r\n\t\t\t\t handleFinancialImpactChange(e.value)} readOnly={readonly} min={0} />\r\n\t\t\t\t{currencySymbol}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst CustomLabel = styled.div`\r\n\tgap: 20px;\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\twhite-space: nowrap;\r\n`;\r\nconst FinancialInput = styled(InputNumber)`\r\n\twidth: 100%;\r\n\t.p-inputtext {\r\n\t\tcolor: #f96209 !important;\r\n\t\tborder-radius: 4px;\r\n\t\tfont-family: \"Oswald\";\r\n\t\tfont-size: 14px;\r\n\t}\r\n\t${(props) => (props.readOnly ? \"pointer-events:none;\" : \"\")}\r\n`;\r\nconst FinancialImpactNumber = styled.div`\r\n\tposition: relative;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tcolor: #f96209;\r\n\ttext-align: right;\r\n\tfont-family: \"Oswald\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\toverflow: hidden;\r\n`;\r\n\r\nconst CurrencySymbol = styled.div`\r\n\tposition: absolute;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tmin-height: 96%;\r\n\twidth: 32px;\r\n\tbackground: #fff;\r\n\tcolor: #f96209;\r\n\tfont-family: \"Oswald\", sans-serif;\r\n\tfont-size: 0.875rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\ttop: 1px;\r\n\tright: 10px;\r\n\tborder-left: 1px solid #c4c4c4;\r\n\tborder-radius: 0;\r\n`;\r\n","import { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { GenericButton, Input } from \"shared/ui-basics/index\";\r\nimport { EMPTY_GUID, detectImageExtension, isUserAllowed } from \"@utils/helpers\";\r\nimport React,{ useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Form, FormFeedback, Label } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from 'use-modal-hook';\r\nimport { UploadImageModal } from \"../../../../shared/components/UploadImage\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\n\r\nexport default function StickerForm({ index, selectedItem, category, srcImg, onClose, onCreate, onUpdate, onDelete, mode = \"update\", defaultCategory, data }) {\r\n\tconst { t } = useTranslation();\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\r\n\tconst [customImage, setCustomImage] = useState(index !== undefined && selectedItem !== null ? srcImg(selectedItem, sessionId) : mode === \"create\" ? \"upload\" : \"default\");\r\n\tconst [selectCategory, setSelectCategory] = useState(index ? selectedItem.category.toString() : defaultCategory ? defaultCategory : '100000000');\r\n\tconst [name, setName] = useState(index ? selectedItem.name : undefined);\r\n\tconst [nameExist, setNameExist] = useState(false);\r\n\tconst [weight, setWeight] = useState(index ? (selectedItem.weight !== \"\" && selectedItem.weight > 0 ? selectedItem.weight : 1) : 1);\r\n\tconst [fileSize, setFileSize] = useState(null);\r\n\r\n\tconst isDeleteAllowed = selectedItem?.isCustom && isUserAllowed(userType, \"delete-library\");\r\n\r\n\tconst handleDelete = (e) => {\r\n\t\tonDelete(e);\r\n\t\thideModalDelete();\r\n\t\tonClose();\r\n\t};\r\n\r\n\tconst [showModalDelete, hideModalDelete] = useModal(ActionConfirmModal, {\r\n\t\ttitle: t(\"ASPX_145\"),\r\n\t\tbodyContent: \"DELETE_TOUCHPOINT\",\r\n\t\tAction: handleDelete,\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst create = (e) => {\r\n\t\tif (data) {\r\n\t\t\tif (name !== \"\" && name !== undefined && weight !== \"\" && weight >= 1) {\r\n\t\t\t\tconst dataFiltering = data?.filter((type) => type.name.toUpperCase() === name.toUpperCase()) || [];\r\n\t\t\t\tif (customImage !== \"upload\" && customImage !== \"error\") {\r\n\t\t\t\t\tif (dataFiltering.length > 0) {\r\n\t\t\t\t\t\tsetNameExist(true);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst FileExtension = detectImageExtension(customImage.split(\",\")[0]);\r\n\t\t\t\t\t\tconst DocumentBody = customImage !== undefined && customImage !== -1 ? customImage.split(\",\").pop() : \"\";\r\n\t\t\t\t\t\tonCreate(name, selectCategory, weight, FileExtension === \"svg+xml\" ? \"svg\" : FileExtension, DocumentBody);\r\n\t\t\t\t\t\tsetName(undefined);\r\n\t\t\t\t\t\tsetNameExist(false);\r\n\t\t\t\t\t\tsetCustomImage(\"upload\");\r\n\t\t\t\t\t\tsetWeight(1);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetFileSize(-1);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (name === undefined) setName(\"\");\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst update = (e) => {\r\n\t\tif (customImage === \"\" || customImage === undefined) {\r\n\t\t\tsetFileSize(-1);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (name !== \"\" && name !== undefined && weight !== \"\" && weight >= 1) {\r\n\t\t\tif (customImage === \"delete\") {\r\n\t\t\t\tonUpdate(index, name, selectCategory, weight, \"\", \"\"); //update +remove img\r\n\t\t\t} else {\r\n\t\t\t\tconst FileExtension = customImage.split(\";\").length > 1 ? detectImageExtension(customImage.split(\",\")[0]) : undefined;\r\n\t\t\t\tconst DocumentBody = customImage.split(\";\").length > 1 ? customImage.split(\",\")[1] : undefined;\r\n\t\t\t\tonUpdate(index, name, selectCategory, weight, FileExtension, DocumentBody);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tsetName(e.target.value.truncate(100));\r\n\t\tsetNameExist(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(\"NAME\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{nameExist ? t(\"NAME_EXISTS\") : t(\"ICON_NAME_MISSING\")}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"SELECTCATEGORY\")}\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetSelectCategory(e.target.value);\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={selectCategory}>\r\n\t\t\t\t\t{category?.map((item, index) =>\r\n\t\t\t\t\t\titem.id !== EMPTY_GUID ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{mode !== \"create\" ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isDeleteAllowed && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_13\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{selectedItem?.isCustom ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ASPX_108\")}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst NameWrapper = styled.div`\r\n\tmargin-bottom: 24px;\r\n`;\r\n\r\nconst ImgBox = styled.div`\r\n\tbackground-color: #ffffff;\r\n\tborder: 1px dashed #9e9292;\r\n\tborder-radius: 0.5rem;\r\n\tcolor: #7676d2;\r\n\tmax-height: 250px;\r\n\tmin-height: 140px;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tpadding: 0.75rem;\r\n\t${(props) => !props.disabled && props.disabled !== undefined && ` background-color: #e9ecef !important; `};\r\n\tmargin-bottom: 24px;\r\n`;\r\n\r\nconst FooterDiv = styled.div`\r\n\tpadding-top: 1rem;\r\n\tdisplay: flex;\r\n\tjustify-content: ${(props) => (props.IsDeleteAllowed ? \"space-between\" : \"flex-end\")};\r\n\twidth: 100%;\r\n`;\r\nconst SelectWrapper = styled.select`\r\n\tborder: 1px solid #adacb5 !important;\r\n\tborder-radius: 4px !important;\r\n\twidth: 100%;\r\n\theight: 38px;\r\n\tmargin-bottom: 16px;\r\n\t:disabled {\r\n\t\tbackground-color: #e9ecef;\r\n\t}\r\n`;\r\n\r\nconst LabelWrapper = styled(Label)`\r\n\tcolor: #92919d;\r\n\tmargin-bottom: 16px;\r\n`;\r\n\r\nconst InputWrapper = styled(Form)`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: flex-start;\r\n\tmargin-bottom: 24px;\r\n`;\r\n\r\nconst ButtonWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-evenly;\r\n`;\r\n","import { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { IconDispatcher, Input } from \"shared/ui-basics/index\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { EMPTY_GUID, detectImageExtension, isUserAllowed } from \"@utils/helpers\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Form, FormFeedback, Label } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { UploadImageModal } from \"../../../../shared/components/UploadImage\";\r\n\r\nexport default function TouchPointForm({ index, selectedItem, srcImg, onClose, onCreate, onUpdate, onDelete, mode = \"update\", data }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\tconst subscriptionPlanName = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n\tconst category = [{ name: \"ALL\", id: EMPTY_GUID },...useSelector((state) => state.libraries.touchPointCategories)||[]];\r\n\r\n\tconst isStandard = subscriptionPlanName === \"Standard\";\r\n\tconst isSharedExpert = subscriptionPlanName === \"SharedExpert\" || subscriptionPlanName === \"SharedEnterprise\";\r\n\tconst customCategory = category.find(category => category.name === \"Custom\")?.id;\r\n\tconst [customImage, setCustomImage] = useState(index !== undefined && selectedItem !== null ? srcImg(selectedItem, sessionId)+`&${Math.random()}=true` : mode === \"create\" ? \"upload\" : \"default\");\r\n const [selectCategory, setSelectCategory] = useState(index ? selectedItem.categoryId : customCategory);\r\n\tconst [name, setName] = useState(index ? selectedItem.name : undefined);\r\n\tconst [nameExist, setNameExist] = useState(false);\r\n\tconst [weight, setWeight] = useState(index ? (selectedItem.weight !== \"\" && selectedItem.weight > 0 ? selectedItem.weight : 1) : 1);\r\n\r\n\tconst isDeleteAllowed = selectedItem?.isCustom && isUserAllowed(userType, \"delete-library\");\r\n const isSaveAllowed = !selectedItem?.isCustom && (isStandard || isSharedExpert) ? false : true;\r\n\r\n\tconst handleDelete = (e) => {\r\n\t\tonDelete(e);\r\n\t\thideModalDelete();\r\n\t\tonClose();\r\n\t};\r\n\r\n\tconst [showModalDelete, hideModalDelete] = useModal(ActionConfirmModal, {\r\n\t\ttitle: t(\"ASPX_145\"),\r\n\t\tbodyContent: \"DELETE_TOUCHPOINT\",\r\n\t\tAction: handleDelete,\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst create = (e) => {\r\n\t\tif (data) {\r\n\t\t\tif (name !== \"\" && name !== undefined && weight !== \"\" && weight >= 1) {\r\n\t\t\t\tconst dataFiltering = data?.filter((type) => type.name.toUpperCase() === name.toUpperCase()) || [];\r\n\t\t\t\tif (dataFiltering.length > 0) {\r\n\t\t\t\t\tsetNameExist(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst FileExtension = customImage !== \"upload\" && customImage !== \"default\" ? detectImageExtension(customImage.split(\",\")[0]) : \"\";\r\n\t\t\t\t\tconst DocumentBody = customImage !== \"upload\" && customImage !== \"default\" ? customImage.split(\",\").pop() : \"\";\r\n\t\t\t\t\tonCreate(name, selectCategory, weight, FileExtension, DocumentBody);\r\n\t\t\t\t\tsetName(undefined);\r\n\t\t\t\t\tsetNameExist(false);\r\n\t\t\t\t\tsetCustomImage(\"upload\");\r\n\t\t\t\t\tsetWeight(1);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (name === undefined) setName(\"\");\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst update = (e) => {\r\n\t\tif (name !== \"\" && name !== undefined && weight !== \"\" && weight >= 1) {\r\n\t\t\tif (customImage === \"delete\") {\r\n\t\t\t\tonUpdate(index, name, selectCategory, weight, \"\", \"\"); //update +remove img\r\n\t\t\t} else {\r\n\t\t\t\tconst FileExtension = detectImageExtension(customImage.split(\",\")[0]);\r\n\t\t\t\tconst DocumentBody = customImage.split(\";\").length > 1 ? customImage.split(\",\").pop() : undefined;\r\n\t\t\t\tonUpdate(index, name, selectCategory, weight, FileExtension === \"svg+xml\" ? \"svg\" : FileExtension, DocumentBody);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tsetName(e.target.value.truncate(100));\r\n\t\tsetNameExist(false);\r\n\t};\r\n\r\n\tconst handleChangeWeight = (e) => setWeight(e.target.value);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(\"NAME\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{nameExist ? t(\"NAME_EXISTS\") : t(\"ICON_NAME_MISSING\")}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{!isStandard && !isSharedExpert ? (\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"JS_184\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{IconDispatcher(\"INFO\")}\r\n\t\t\t\t\t\t{t(\"JS_192\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{t(\"WEIGHT_MISSING\")}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{t(\"SELECTCATEGORY\")}\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetSelectCategory(e.target.value);\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tvalue={selectCategory}>\r\n\t\t\t\t\t{category?.map((item, index) =>\r\n\t\t\t\t\t\titem.id !== EMPTY_GUID ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{mode !== \"create\" ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isDeleteAllowed && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_13\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{isSaveAllowed && (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ASPX_108\")}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst NameWrapper = styled.div`\r\n\tmargin-bottom: 15px;\r\n`;\r\n\r\nconst ImgBox = styled.div`\r\n\tbackground-color: #ffffff;\r\n\tborder: 1px dashed #9e9292;\r\n\tborder-radius: 0.5rem;\r\n\tcolor: #7676d2;\r\n\tmax-height: 250px;\r\n\tmin-height: 140px;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tpadding: 0.75rem;\r\n\t${(props) => !props.disabled && props.disabled !== undefined && ` background-color: #e9ecef !important; `};\r\n\tmargin-bottom: 14px;\r\n`;\r\n\r\nconst FooterDiv = styled.div`\r\n\tpadding-top: 1rem;\r\n\tdisplay: flex;\r\n\tjustify-content: ${(props) => (props.IsDeleteAllowed ? \"space-between\" : \"flex-end\")};\r\n\twidth: 100%;\r\n`;\r\n\r\nconst SelectWrapper = styled.select`\r\n\tborder: 1px solid #adacb5 !important;\r\n\tborder-radius: 4px !important;\r\n\twidth: 100%;\r\n\theight: 38px;\r\n\tmargin-bottom: 16px;\r\n\t:disabled {\r\n\t\tbackground-color: #e9ecef;\r\n\t}\r\n`;\r\n\r\nconst LabelWrapper = styled(Label)`\r\n\tcolor: #92919d;\r\n\tmargin-bottom: 16px;\r\n`;\r\n\r\nconst WariningWrapper = styled.span`\r\n\tmargin-bottom: 0.55rem;\r\n\tcolor: #92919d;\r\n\tfont-size: 12px;\r\n`;\r\n\r\nconst InputWrapper = styled(Form)`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: flex-start;\r\n\tmargin-bottom: 15px;\r\n`;\r\n\r\nconst ButtonWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-evenly;\r\n`;\r\n","import { EMPTY_GUID, calculateFinancialImpact, getCxGoalValue, validateStringNumberInput } from \"@utils/helpers\";\r\nimport { CxGoalDirection } from \"@utils/optionsSets/OptionSets\";\r\nimport { ProgressBar } from \"primereact/progressbar\";\r\nimport { memo, useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { Collapse } from \"reactstrap\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { EditorWrapper } from \"shared/cx-components/style\";\r\nimport TouchpointDropdown from \"shared/dropdowns/library-dropdown/TouchpointDropdown\";\r\nimport { FlexBetween, FlexBetweenAlignCenter, FlexColumnGap, FlexGap, GenericButton, Input, Label } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { ColorTextCard } from \"../../../../features/forms/personas/cards/ColorTextCard\";\r\nimport { FinancialImpact } from \"../../../ui-basics/ui-components/FinancialImpact\";\r\n\r\nconst EditCxGoalCard = memo(({ cxGoal, setCxGoals, isEditable = true, width }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst isFromMap = useLocation().pathname === \"/EditMap\";\r\n\r\n\tconst currencySymbol = useSelector((state) => state?.settings?.organization?.defaultCurrency?.symbol) || \"$\";\r\n\tconst measure = useSelector((state) => state.libraries.measures)?.find((measure) => measure.id === cxGoal?.measureId);\r\n\tconst relatedSystem = useSelector((state) => state.libraries.customLibraries)\r\n\t\t?.find((library) => library.name === \"Systems\" && !library.isCustom)\r\n\t\t?.values?.find((system) => system.id === measure?.systemSourceId);\r\n\r\n\tconst [showDetails, setShowDetails] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (measure?.name) {\r\n\t\t\tsetCxGoals((prevState) => {\r\n\t\t\t\tconst measureName = measure.name;\r\n\t\t\t\treturn prevState.map((goal) => {\r\n\t\t\t\t\tif (goal.measureId === cxGoal?.measureId) {\r\n\t\t\t\t\t\tgoal = { ...goal, measureName };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn goal;\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}, [measure?.name]);\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tlet { value, name } = e.target;\r\n\t\tlet n = value;\r\n\t\tif (name !== \"date\") {\r\n\t\t\tn = validateStringNumberInput({ n: value, isPositive: name === \"financialImpact\" ? true : false });\r\n\t\t}\r\n\r\n\t\tif (n === undefined) return;\r\n\r\n\t\tsetCxGoals((prevState) => {\r\n\t\t\treturn prevState.map((goal) => {\r\n\t\t\t\tif (goal.measureId === cxGoal?.measureId) {\r\n\t\t\t\t\tgoal = { ...goal, [name]: n };\r\n\t\t\t\t\t(goal.achieved = getCxGoalValue({ cxGoal: goal })), (goal.financialImpact = calculateFinancialImpact({ cxGoal: goal, measure }));\r\n\t\t\t\t}\r\n\t\t\t\treturn goal;\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleChangeEditor = (value) => {\r\n\t\tsetCxGoals((prevState) => {\r\n\t\t\treturn prevState.map((goal) => {\r\n\t\t\t\tif (goal.measureId === cxGoal?.measureId) {\r\n\t\t\t\t\tgoal = { ...goal, description: value };\r\n\t\t\t\t}\r\n\t\t\t\treturn goal;\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleIncrease = () => {\r\n\t\tsetCxGoals((prevState) => {\r\n\t\t\treturn prevState.map((goal) => {\r\n\t\t\t\tif (goal.measureId === cxGoal?.measureId) {\r\n\t\t\t\t\tgoal = { ...goal, direction: CxGoalDirection.Increase };\r\n\t\t\t\t\tgoal.financialImpact = calculateFinancialImpact({ cxGoal: goal, measure });\r\n\t\t\t\t\tgoal = { ...goal, direction: CxGoalDirection.Increase };\r\n\t\t\t\t\tgoal.financialImpact = calculateFinancialImpact({ cxGoal: goal, measure });\r\n\t\t\t\t}\r\n\t\t\t\treturn goal;\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDecrease = () => {\r\n\t\tsetCxGoals((prevState) => {\r\n\t\t\treturn prevState.map((goal) => {\r\n\t\t\t\tif (goal.measureId === cxGoal?.measureId) {\r\n\t\t\t\t\tgoal = { ...goal, direction: CxGoalDirection.Decrease };\r\n\t\t\t\t\tgoal.financialImpact = calculateFinancialImpact({ cxGoal: goal, measure });\r\n\t\t\t\t}\r\n\t\t\t\treturn goal;\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleLinkTouchpoint = (id) => {\r\n\t\tsetCxGoals((prevState) => {\r\n\t\t\treturn prevState.map((goal) => {\r\n\t\t\t\tif (goal.measureId === cxGoal?.measureId) {\r\n\t\t\t\t\tgoal = { ...goal, touchpointId: id };\r\n\t\t\t\t}\r\n\t\t\t\treturn goal;\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleUnlinkTouchpoint = () => {\r\n\t\tsetCxGoals((prevState) => {\r\n\t\t\treturn prevState.map((goal) => {\r\n\t\t\t\tif (goal.measureId === cxGoal?.measureId) {\r\n\t\t\t\t\tgoal = { ...goal, touchpointId: EMPTY_GUID };\r\n\t\t\t\t}\r\n\t\t\t\treturn goal;\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{`${measure?.name || \"\"}`}\r\n\t\t\t\t\t{measure?.unit && ` (${measure?.unit || \"\"})`}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{t(\"INCREASE\")}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{t(\"DECREASE\")}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {}} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ACTUAL\")}\r\n\t\t\t\t\t\t\t{t(\"GOAL\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"SOURCE\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{isFromMap && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"TOUCHPOINT\")}\r\n\t\t\t\t\t\t\t{isFromMap && (\r\n\t\t\t\t\t\t\t\t handleLinkTouchpoint(id)}\r\n\t\t\t\t\t\t\t\t\tunlink={() => handleUnlinkTouchpoint()}\r\n\t\t\t\t\t\t\t\t\tshowInUse={true}\r\n\t\t\t\t\t\t\t\t\tisSwitchDisabled={!isEditable}\r\n\t\t\t\t\t\t\t\t\tisCloseWhenSelected={true}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t setShowDetails(!showDetails)} iconClassName=\"me-1\">\r\n\t\t\t\t\t{t(\"MORE_DETAILS\")}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n});\r\nEditCxGoalCard.displayName = \"EditCxGoalCard\";\r\nexport default EditCxGoalCard;\r\n\r\nconst Container = styled.div`\r\n\twidth: ${(props) => (props.width ? props.width : \"303px\")};\r\n\tflex-shrink: 0;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: #fff;\r\n`;\r\n\r\nconst ProgressBarWrapper = styled(FlexColumnGap)`\r\n\t.p-progressbar {\r\n\t\theight: 5px !important;\r\n\t}\r\n\r\n\t.p-progressbar .p-progressbar-value {\r\n\t\tbackground: #f96209;\r\n\t}\r\n`;\r\n\r\nconst BarLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: normal;\r\n`;\r\n\r\nconst CustomInput = styled(Input)`\r\n\tcolor: #f96209;\r\n\tfont-family: \"Oswald\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\theight: 36px;\r\n\tborder-radius: 0;\r\n\tborder-radius: ${(props) => (props.palette ? \"0px 4px 4px 0px;\" : \"4px;\")};\r\n\r\n\t:disabled {\r\n\t\tbackground-color: transparent !important;\r\n\t\tcolor: #c4c4c4 !important;\r\n\t}\r\n`;\r\n\r\nconst Details = styled(FlexColumnGap)`\r\n\tborder-top: 1px dashed #c4c4c4;\r\n`;\r\n\r\nconst RadioButton = styled(Input)`\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\r\n\t:checked {\r\n\t\tbackground-color: #333333;\r\n\t\tborder-color: #333333;\r\n\t}\r\n\t:focus {\r\n\t\tbox-shadow: none;\r\n\t}\r\n`;\r\n\r\nconst CustomLabel = styled.div`\r\n\tgap: 20px;\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\twhite-space: nowrap;\r\n`;\r\n","import { Input } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const Checkbox = styled(Input)`\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t:checked {\r\n\t\tbackground-color: #333333;\r\n\t\tborder-color: #333333;\r\n\t}\r\n\t:focus {\r\n\t\tbox-shadow: none;\r\n\t\tborder-color: ${(props) => (props.disabled === \"\" ? \"#F96209\" : \"#c4c4c4\")};\r\n\t\tbackground-image: none;\r\n\t}\r\n\r\n\t${(props) =>\r\n\t\tprops.sze === \"md\" &&\r\n\t\t`\r\n width: 20px;\r\n height: 20px;\r\n min-width: 20px;\r\n min-height: 20px;\r\n `}\r\n\t${(props) =>\r\n\t\tprops.sze === \"sm\" &&\r\n\t\t`\r\n width: 16px;\r\n height: 16px;\r\n min-width: 16px;\r\n min-height: 16px;\r\n\r\n `}\r\n ${(props) =>\r\n\t\tprops.sze === \"lg\" &&\r\n\t\t`\r\n width: 24px;\r\n height: 24px;\r\n min-width: 24px;\r\n min-height: 24px;\r\n\r\n `}\r\n`;\r\n","import styled, { css } from \"styled-components/macro\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nexport const TableTemplate = styled(DataTable)`\r\n\ttd {\r\n\t\toverflow: visible !important;\r\n\t\t/* padding: 0.2rem 0rem 0.2rem 0.4rem !important; */\r\n\t\theight: 56px;\r\n\t\t border-width: 0px 1px 1px 0px !important;\r\n\t\tborder-color: #D9D9D9 !important;\r\n\t\tbackground: #fff !important;\r\n\r\n\t}\r\n\ttd:first-child {\r\n\tborder-left-width: 1px !important;\r\n\toverflow:hidden !important;\r\n\t${props => (props.readOnly) && css`\r\n\t\t.p-checkbox{\r\n\t\t\tdisplay:none;\r\n\r\n\t\t}\r\n\r\n\t\t`}\r\n\r\n\t${props => ![\"cxProgram\", \"library\", \"editPersona\"].includes(props.context) && 'border-right-width:0px !important;'}\r\n\t}\r\ntd:nth-last-child(2) {\r\n /* Your styles here */\r\n\r\n /* Example: Add a right border */\r\n \t${props => ![ \"managePersonas\"].includes(props.context) && ' border-right-width:0px !important;'}\r\n\r\n /* border-right-width: 0px !important; */\r\n}\r\n\r\ntd:last-child {\r\n\r\n\tborder-left-width:0px !important;\r\n\toverflow:hidden !important;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.isheadervisible === \"true\" ||\r\n\t\t(props.expandable === \"true\" &&\r\n\t\t\tcss`\r\n\t\t\t\tmin-height: calc(100vh - 450px) !important;\r\n\t\t\t`)}\r\n\r\n\r\n table {\r\n\t\tborder-spacing: 0 !important;\r\n\t\tborder-collapse: separate !important;\r\n\t}\r\n\t.p-datatable-header {\r\n\t\tbackground: #fff;\r\n\t\tborder: none;\r\n\t\tpadding: 0 0 1.5rem 0 !important;\r\n\t}\r\n\tthead {\r\n\t\tborder-top-left-radius: 4px;\r\n\t\tborder-top-right-radius: 4px;\r\n\t\theight:56px;\r\n\t}\r\n\ttr {\r\n\t\t/* border: 1px solid #c4c4c4; */\r\n\t\tbackground: transparent !important;\r\n\t\tmin-height: 56px;\r\n\t\t:hover {\r\n\t\t\ttd {\r\n\t\t\t\tbackground: var(--color-Grey-Table-Header, #FAFAFA) !important;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n\t.p-datatable-wrapper {\r\n\t\tborder-bottom-right-radius: 4px;\r\n\t\tborder-bottom-left-radius: 4px;\r\n\t}\r\n\t/* .p-datatable-thead {\r\n\t\tposition: relative;\r\n\t\tz-index: 0;\r\n\r\n\t\tbackground-color: #f8f9fa !important;\r\n\t} */\r\n\r\n\ttd {\r\n\t\toverflow: visible !important;\r\n\t\tpadding: 0.2rem 0rem 0.2rem 0.4rem;\r\n\t\theight: 56px;\r\n\t\tmax-height: 56px;\r\n\t\t/* border-width: 0 0 0px 0; */\r\n\t\tborder-color: #D9D9D9 !important;\r\n\t}\r\n\t.p-column-title {\r\n\t\tcolor: var(--color-Grey-Secondary-Text, #595959);\r\n\r\n\t\tfont-family: Inter;\r\n\t\tfont-size: 14px;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 400;\r\n\t\tline-height: 150%;\r\n\t}\r\n\r\n\r\n\tth {\r\n\t\tposition: relative;\r\n\t\tbackground: var(--color-Grey-Table-Header, #FAFAFA)!important;\r\n\t\tpadding: 0.2rem 0rem 0.2rem 0.4rem;\r\n\r\n\t\t${(props) =>\r\n\t\tprops.disablefixheader === \"true\"\r\n\t\t\t? \"\"\r\n\t\t\t: css`\r\n\t\t\t\t\t\tposition: sticky;\r\n\r\n\t\t\t\t\t\ttop: 0px;\r\n\t\t\t\t\t\t//z-index: 50;\r\n\t\t\t\t `};\r\n\t\t:hover .p-sortable-column-icon {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t:hover .pi-filter-icon {\r\n\t\t\tdisplay: block;\r\n\r\n\t\t}\r\n\t}\r\n\r\n\t.p-column-filter-menu-button-open {\r\n\t\t.pi-filter-icon {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t.p-sortable-column-icon {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t}\r\n\t.p-column-filter-menu-button-active {\r\n\t\t.pi-filter-icon {\r\n\t\t\tdisplay: block;\r\n\t\t\tcolor: #f96209;\r\n\t\t}\r\n\t\t.p-sortable-column-icon {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t}\r\n\t.p-column-filter {\r\n\t\torder:1;\r\n\r\n\t}\r\n\t.p-sortable-column-icon {\r\n\t\torder:2;\r\n\t}\r\n\t.p-checkbox .p-checkbox-box.p-highlight {\r\n\t\tborder-color: #333333;\r\n\t\tbackground: #333333;\r\n\t\t:hover {\r\n\t\t\tborder-color: #333333;\r\n\t\t\tbackground: #333333;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\ttr.p-highlight {\r\n\t\tcolor: #333333 !important;\r\n\r\n\t}\r\n\ttr {\r\n\t\tth {\r\n\t\t\t/* border-bottom: 1px solid #D9D9D9 !important ; */\r\n\t\t}\r\n\t}\r\n\ttr:hover {\r\n\r\n\t\t/* td {\r\n\t\t\tbackground-color: var(--color-Grey-Table-Header, #FAFAFA);\r\n\t\t}\r\n\t\ttd.action-box-table > div {\r\n\t\t\tbackground-color: var(--color-Grey-Table-Header, #FAFAFA) ;\r\n\t\t} */\r\n\t}\r\n\tth {\r\n\t\t.p-checkbox {\r\n\t\twidth: 16px;\r\n\t\theight: 16px;\r\n\t}\r\n\t}\r\n\t.p-checkbox .p-checkbox-box {\r\n\t\twidth: 16px;\r\n\t\theight: 16px;\r\n\t\tborder: 1px solid #333333;\r\n\t\tborder-radius:2px;\r\n\r\n\t}\r\n\t.p-datatable .p-column-header-content {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus {\r\n\t\tbox-shadow: none;\r\n\t\tborder-color: #333333;\r\n\t}\r\n\t.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover {\r\n\t\tborder-color: #333333;\r\n\t}\r\n\t.pi-filter-icon {\r\n\t\tposition: absolute;\r\n\t\ttop: 25%;\r\n\t\tright: 25%;\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.p-sortable-column-icon {\r\n\t\tposition: relative;\r\n\t\t/* right:2%; */\r\n\t\tdisplay: none;\r\n\t}\r\n\t.p-column-filter-menu {\r\n\t\tdisplay: inline-flex;\r\n\t\tmargin-left: 2px;\r\n\r\n\r\n\t}\r\n\r\n\t.disable-checkbox {\r\n\t\t.p-checkbox {\r\n\t\t\tdisplay: flex;\r\n\t\t\tpointer-events: none;\r\n\t\t\topacity: 0.4;\r\n\t\t}\r\n\t\t.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus {\r\n\t\t\tbox-shadow: none;\r\n\t\t\tborder-color: #D9D9D9;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t.p-highlight:not(.p-sortable-disabled) {\r\n\r\n\t\t.p-sortable-column-icon {\r\n\t\t\tcolor: #f96209 !important;\r\n\t\t}\r\n\t}\r\n\t.p-highlight {\r\n\t\tcolor: #f96209 !important;\r\n\t}\r\n\t.p-datatable-thead {\r\n\t\tbackground-color: unset !important;\r\n\r\n\r\n\t}\r\n\r\n\r\n\tfont-size: 14px;\r\n\t.p-column-filter-menu-button:focus {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t.p-sortable-column:focus {\r\n\t\tbox-shadow: none !important;\r\n\t\toutline: 0 none;\r\n\t}\r\n\r\n\r\n\t.p-row-toggler:focus {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\r\n\t/* width: min-content; */\r\n\r\n\ttd {\r\n\t\tflex: none !important;\r\n\t}\r\n\ttr {\r\n\t\tflex: none !important;\r\n\t}\r\n\tth {\r\n\t\tflex: none !important;\r\n\t\tborder-width:1px 1px 1px 0px !important;\r\n\t\tborder-color: #D9D9D9 !important;\r\n\t}\r\n\tth:first-child {\r\n\tborder-left-width: 1px !important;\r\n\t${props => (props.readOnly) && css`\r\n\t\t\t.p-checkbox{\r\n\t\t\t\tdisplay:none;\r\n\r\n\t\t\t}\r\n\r\n\r\n\t`}\r\n ${props => ![\"cxProgram\", \"library\", \"editPersona\"].includes(props.context) && 'border-right-width:0px !important;'}\r\n /* Add right border to the last cell */\r\n}\r\n\tth:last-child {\r\n\t\tborder-left-width:0px !important;\r\n\t}\r\n\tth:nth-last-child(2) {\r\n\t\t${props => ![ \"managePersonas\"].includes(props.context) && ' border-right-width:0px !important;'}\r\n\t}/* Add right border to the last cell */\r\n\tmin-width: 100%;\r\n\t${(props) => (props.header ? \"\" : \"min-width: 100%;\")}\r\n\t.p-virtualscroller-content {\r\n\t\t/* position: static; this affect the sticky header when scrolling until the*/\r\n\t\t/* width:max-content; */\r\n\t\t//: sticky;\r\n\t\tmax-width: 100%;\r\n\r\n\t}\r\n\t.p-virtualscroller {\r\n\t\tcontain: unset;\r\n\t\t//overflow-x:hidden;\r\n\t\t${(props) => (props.header ? \"\" : \"overflow:auto;\")};\r\n\t}\r\n\t@media screen and (min-height: 800px) {\r\n\t\t.p-virtualscroller {\r\n\t\t\t${(props) => props?.value?.length < 9 && `overflow-y: hidden;`}\r\n\t\t}\r\n\t}\r\n\t@media screen and (max-height: 800px) {\r\n\t\t.p-virtualscroller {\r\n\t\t\t${(props) => props?.value?.length < 7 && `overflow-y: hidden;`}\r\n\t\t}\r\n\t}\r\n\t@media screen and (max-height: 750px) {\r\n\t\t.p-virtualscroller {\r\n\t\t\t${(props) => props?.value?.length < 4 && `overflow-y: hidden;`}\r\n\t\t}\r\n\t}\r\n\t// checkbox\r\n\t/* th[style=\"width: 56px; min-width: 56px; padding: 5px; display: flex; justify-content: center; align-items: center;\"] {\r\n\t\tborder-right: none !important;\r\n\t}\r\n\t//actions\r\n\tth[style=\"width: 56px; min-width: 56px; padding: 5px;\"] {\r\n\t\tborder-right: none !important;\r\n\t} */\r\n\r\n\t.p-datatable-emptymessage {\r\n\t\ttd{\r\n\t\t\tmin-width: 100%;\r\n\t\t}\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.nocolumnheader === \"true\" &&\r\n\t\tcss`\r\n\t\t\t.p-datatable-thead {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n\t\t/* Apply border-radius to the DataTable */\r\n.p-datatable {\r\n border-collapse: separate;\r\n border-spacing: 0;\r\n border: none;\r\n\r\n}\r\n\r\n/* Apply border-radius to the table corners */\r\n.p-datatable-thead > tr > th:first-child {\r\n border-top-left-radius: 4px;\r\n}\r\n\r\n.p-datatable-thead > tr > th:last-child {\r\n border-top-right-radius: 4px;\r\n}\r\n\r\n.p-datatable-tbody > tr:last-child > td:first-child {\r\n border-bottom-left-radius: 4px;\r\n}\r\n\r\n.p-datatable-tbody > tr:last-child > td:last-child {\r\n border-bottom-right-radius:4px;\r\n}\r\n.p-datatable-emptymessage > td{\r\n\t\tborder:none !important;\r\n\r\n}\r\n`;\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport { useSelector } from \"react-redux\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport { Button, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport GenericTypeahead from \"../GenericTypeahead\";\r\nimport { EMPTY_GUID } from \"utils/helpers\";\r\n\r\nconst OwnerItem = ({ user, isEdit, handleRemove }: any) => {\r\n const onRemove = (e: any) => {\r\n e.stopPropagation();\r\n handleRemove(user.id);\r\n }\r\n return \r\n \r\n {user?.fullName}\r\n {isEdit && handleRemove && (\r\n
\r\n \r\n {IconDispatcher(\"X\")}\r\n \r\n
\r\n )}\r\n
\r\n}\r\ntype Props = {\r\n object: any;\r\n link: (id: string) => void;\r\n unlink: (id: string) => void;\r\n disableViewer: boolean;\r\n minHeight?: string;\r\n isSwitchDisabled?: boolean;\r\n attributeName?: string;\r\n}\r\nexport default function OwnerDropdown({ object, link, unlink,attributeName, disableViewer, isSwitchDisabled }: Props) {\r\n\r\n\r\n const authorizedUsers = useSelector((state: any) => state.settings.currentWorkspaceAuthorizedUsers);\r\n const selectedOwner = GetSelectedOwner(object, authorizedUsers,attributeName);\r\n const renderReadOnlyItems = () => (\r\n <>\r\n {selectedOwner?.map((user: any) => (\r\n
\r\n \r\n
\r\n ))}\r\n \r\n );\r\n\r\n const params = {\r\n selected: selectedOwner,\r\n options: authorizedUsers,\r\n renderSelectedItem: (item: any) => ,\r\n renderMenuItem: ({ item }: any) => ,\r\n linkMenuItem: ({ item,close }: any) => {\r\n link(item.id)\r\n close();\r\n },\r\n filter: ({ query, option }: any) => {\r\n const it = authorizedUsers.find((s: any) => s.id === option?.id);\r\n if (it && !selectedOwner.map((li: any) => li?.id)?.includes(option?.id)) return it?.fullName?.toLowerCase().includes(query?.toLowerCase());\r\n },\r\n };\r\n\r\n return \r\n \r\n \r\n \r\n \r\n}\r\n\r\nconst GetSelectedOwner = (item: any, authorizedUsers: any,attributeName:string | undefined) => {\r\n const userId =attributeName ? item?.[attributeName] : item.ownerId;\r\n if (userId === EMPTY_GUID || userId=== \"\") return [];\r\n return authorizedUsers?.filter((user: any) => user.id === userId);\r\n};\r\n\r\n\r\nconst Card = styled.div`\r\ndisplay: flex;\r\nalign-items: center;\r\nbackground: var(--color-Grey-Background, #F5F5F5) !important;\r\nborder-radius: 4px;\r\nheight: 32px;\r\npadding: 2px 8px;\r\n`\r\nexport const OwnerName = styled.div`\r\n color: #333333;\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\talign-self: center;\r\n\tmargin-left: 0.5rem;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twidth: 100%;\r\n text-transform: capitalize;\r\n`;","import { ColorTextCard } from \"features/forms/personas/cards/ColorTextCard\";\r\nimport { useSelector } from \"react-redux\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\n\r\nexport default function DepartmentDropdown({ object,attributeName, link, unlink, isSwitchDisabled }) {\r\n\tconst libraries = useSelector((state) => state.libraries.customLibraries) || [];\r\n\tconst allDepartments = libraries?.find((l) => l.name === \"Departments\" && l.isCustom === false)?.values;\r\n\tconst linkedIds = object?.[attributeName] || object?.linkedDepartments || []\r\n\tconst linkedDepartments = allDepartments?.filter((s) => linkedIds?.includes(s?.id));\r\n\r\n\tconst renderReadOnlyItems = () => (\r\n\t\t<>\r\n\t\t\t{linkedDepartments?.map((dep) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n\r\n\tconst params = {\r\n\t\tselected: linkedDepartments,\r\n\t\toptions: allDepartments,\r\n\t\trenderSelectedItem: (dep) => (\r\n\t\t\t unlink(dep?.id)}\r\n\t\t\t\tisEdit={true}\r\n\t\t\t\tshowBorder={false}\r\n\t\t\t/>\r\n\t\t),\r\n\t\trenderMenuItem: ({ item }) => (\r\n\t\t\t\r\n\t\t),\r\n\t\tlinkMenuItem: ({ item }) => link(item.id),\r\n\t\tfilter: ({ query, option }) => {\r\n\t\t\tconst dep = allDepartments.find((d) => d.id === option?.id);\r\n\t\t\tif (dep && !linkedDepartments.map((ld) => ld?.id)?.includes(option?.id)) return dep?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { ColorTextCard } from \"features/forms/personas/cards/ColorTextCard\";\r\nimport { useSelector } from \"react-redux\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\n\r\nexport default function SystemDropdown({ object, link, unlink,attributeName, isSwitchDisabled }) {\r\n\tconst libraries = useSelector((state) => state.libraries?.customLibraries) || [];\r\n\tconst allSystems = libraries?.find((l) => l.name === \"Systems\" && l.isCustom === false)?.values;\r\n\tconst linkedIds = object?.[attributeName] || object?.linkedSystems || []\r\n\r\n\tconst linkedSystems = allSystems?.filter((s) => linkedIds?.includes(s?.id));\r\n\r\n\tconst renderReadOnlyItems = () => (\r\n\t\t<>\r\n\t\t\t{linkedSystems?.map((system) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n\r\n\tconst params = {\r\n\t\tselected: linkedSystems,\r\n\t\toptions: allSystems,\r\n\t\trenderSelectedItem: (system) => (\r\n\t\t\t unlink(system?.id)}\r\n\t\t\t\tisEdit={true}\r\n\t\t\t\tshowBorder={false}\r\n\t\t\t/>\r\n\t\t),\r\n\t\trenderMenuItem: ({ item }) => (\r\n\t\t\t\r\n\t\t),\r\n\t\tlinkMenuItem: ({ item }) => link(item.id),\r\n\t\tfilter: ({ query, option }) => {\r\n\t\t\tconst system = allSystems?.find((s) => s.id === option?.id);\r\n\t\t\tif (system && !linkedSystems?.map((ls) => ls?.id)?.includes(option?.id)) return system?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexAlignCenter, FlexBetweenAlignCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { Badge, BadgeWrapper, MaxWidth, PriorityTypes, RemoveButton } from \"./PicklistCard_style\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { findPriority } from \"@redux/memoizedSelectors\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport EditCxAction from \"features/cx-actions/modals/cx-action\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport PriorityItem from \"shared/ui-basics/ui-components/PriorityItem\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport function ActionItemCard({ index, entity, unlink, length, disable, recordId ,stageId ,onClose}) {\r\n\r\n\tconst { t } = useTranslation();\r\n\tconst allActions = useSelector((state) => state.actions.all_actions);\r\n\tconst currentEntity = entity || allActions.find((sol) => sol.id === recordId);\r\n\tconst [cxActionModal] = useModal(EditCxAction, { id: recordId || entity?.id ,stageId});\r\n\tconst priorityId = currentEntity?.attributes?.find((attr) => attr.type === InformationType.Priority)?.priorityId;\r\n\tconst priority = useSelector(findPriority(\"cxActions\", priorityId));\r\n\tif (!currentEntity) return \r\n\t\t\r\n\t\t\t{t(\"NO_ACCESS\")}\r\n\t\t\r\n\t\r\n\r\n\tconst handleClick = (e) => {\r\n\t\te.stopPropagation();\r\n\t\tif (cxActionModal)\r\n\t\t\tif(onClose){\r\n\t\t\t\tonClose();\r\n\t\t\t}\r\n\t\t\tcxActionModal({ id: currentEntity?.id });\r\n\t};\r\n\tconst handleRemove = (e) => {\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\r\n\t\tunlink(currentEntity?.id);\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"ACTION\", \"border border-dark rounded-circle p-1 me-2\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{currentEntity?.name?.defaultPlaceholder(\"ACTION_NAME\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{!disable && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t
\r\n\t);\r\n}\r\n\r\n","import { EditInsights } from \"features/index\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexAlignCenter, FlexBetweenAlignCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport InsightType from \"../../../ui-basics/ui-components/InsightType\";\r\nimport { Badge, BadgeWrapper, RemoveButton } from \"./PicklistCard_style\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const InsightCard = ({ index, entity, unlink, length, disable, recordId ,stageId,onClose}) => {\r\n\tconst { t } = useTranslation();\r\n\tconst allInsights = useSelector((state) => state.insights.all_insights);\r\n\tconst currentEntity = entity || allInsights.find((insight) => insight.id === recordId);\r\n\tconst [insightModal] = useModal(EditInsights, { insightId: currentEntity?.id,stageId:stageId });\r\n\tif (!currentEntity) return \r\n\t\r\n\t\t{t(\"NO_ACCESS\")}\r\n\t\r\n\r\n\r\n\tconst handleDelete = (e) => {\r\n\t\te.stopPropagation();\r\n\t\tunlink(currentEntity?.id);\r\n\t};\r\n\tconst handleClick = (e) => {\r\n\t\tif(onClose){\r\n\t\t\tonClose();\r\n\t\t}\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\r\n\t\tif (insightModal)\r\n\t\t\tinsightModal();\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"GEM\", \"border border-dark rounded-circle p-1 me-2\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{currentEntity?.name.defaultPlaceholder(\"INSIGHT_NAME\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{!disable && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n","import EditOpportunity from \"features/opportunity/modals/edit-opportunity\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { FindStatusById } from \"redux/memoizedSelectors\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexAlignCenter, FlexBetweenAlignCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport StatusItem from \"shared/ui-basics/ui-components/StatusItem\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { Badge, BadgeWrapper, RemoveButton } from \"./PicklistCard_style\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport function OpportunityItemCard ({ index, entity, unlink, recordId, disable, length,stageId,onClose }) {\r\n\r\n\tconst { t } = useTranslation();\r\n\tconst allOpps = useSelector((state) => state.opportunity.all_Opportunities);\r\n\tconst currentEntity = entity || allOpps.find((op) => op.id === recordId);\r\n\tconst [oppModal] = useModal(EditOpportunity, { id: recordId || entity?.id ,stageId});\r\n\tconst statusId = currentEntity?.attributes?.find((attr) => attr.type === InformationType.Status)?.statusId;\r\n\tconst status = useSelector(FindStatusById(\"opportunity\", statusId));\r\n\r\n\tif (!currentEntity) return \r\n\t\t\r\n\t\t\t{t(\"NO_ACCESS\")}\r\n\t\t\r\n\t\r\n\tconst handleClick = (e) => {\r\n\t\te.stopPropagation();\r\n\t\tif(onClose){\r\n\t\t\tonClose();\r\n\t\t}\r\n\t\tif (oppModal)\r\n\t\t\toppModal();\r\n\t};\r\n\tconst handleRemove = (e) => {\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\r\n\t\tunlink(currentEntity?.id);\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"OPPORTUNITY\", \"border border-dark rounded-circle p-1 me-2\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{currentEntity?.name?.defaultPlaceholder(\"OPPORTUNITY_NAME\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{!disable && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t
\r\n\t);\r\n}\r\n\r\n","import { FlexAlignCenter, FlexBetweenAlignCenter, GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { BenefitCard } from \"features/solutions/solutionsComponents/BenefitCard.js\";\r\nimport { SolutionType } from \"@utils/optionsSets/OptionSets\";\r\nimport { Badge, BadgeWrapper, RemoveButton } from \"./PicklistCard_style\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { useSelector } from \"react-redux\";\r\nimport EditSolution from \"features/solutions/modals/edit-solution\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const SolutionItemCard = ({ entity, recordId, unlink, disable, index, length, stageId, onClose }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst allsolutions = useSelector((state) => state.solutions.all_solutions);\r\n\tconst currentEntity = entity || allsolutions.find((sol) => sol.id === recordId);\r\n\tconst [solutionModal] = useModal(EditSolution, { id: recordId || entity?.id, stageId });\r\n\r\n\tif (!currentEntity)\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"NO_ACCESS\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\r\n\tconst SolutionTypeLabel = () => {\r\n\t\tlet labelSolution;\r\n\t\tswitch (currentEntity.solutionType) {\r\n\t\t\tcase SolutionType.QuickWin:\r\n\t\t\t\tlabelSolution = {\r\n\t\t\t\t\tvariant: \"quickWin\",\r\n\t\t\t\t\ticon: \"LIKE\",\r\n\t\t\t\t\ttext: \"QUICK_WIN\",\r\n\t\t\t\t};\r\n\t\t\t\tbreak;\r\n\t\t\tcase SolutionType.NiceToHave:\r\n\t\t\t\tlabelSolution = {\r\n\t\t\t\t\tvariant: \"niceToHave\",\r\n\t\t\t\t\ticon: \"STAR-LIFE\",\r\n\t\t\t\t\ttext: \"NICE_TO_HAVE\",\r\n\t\t\t\t};\r\n\t\t\t\tbreak;\r\n\t\t\tcase SolutionType.ComplexProject:\r\n\t\t\t\tlabelSolution = {\r\n\t\t\t\t\tvariant: \"complexProj\",\r\n\t\t\t\t\ticon: \"PUZZLE\",\r\n\t\t\t\t\ttext: \"COMPLEX_PROJ\",\r\n\t\t\t\t};\r\n\t\t\t\tbreak;\r\n\t\t\tcase SolutionType.ToAvoid:\r\n\t\t\t\tlabelSolution = {\r\n\t\t\t\t\tvariant: \"toAvoid\",\r\n\t\t\t\t\ticon: \"ROAD-BARRIER\",\r\n\t\t\t\t\ttext: \"TO_AVOID\",\r\n\t\t\t\t};\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t\treturn ;\r\n\t};\r\n\r\n\tconst handleClick = (e) => {\r\n\t\te.stopPropagation();\r\n\t\tif (onClose) {\r\n\t\t\tonClose();\r\n\t\t}\r\n\t\tif (solutionModal) solutionModal();\r\n\t};\r\n\tconst handleRemove = (e) => {\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\t\tunlink(currentEntity?.id);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"SOLUTION\", \"border border-dark rounded-circle p-1 me-2\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{currentEntity?.name?.defaultPlaceholder(\"SOLUTION_NAME\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t
{SolutionTypeLabel()}
\r\n\t\t\t\t\t{!disable && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n","import { PermissionManager } from \"@utils/permissionManager\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { archiveSolution, deleteSolution, deleteSolutionPermanently, restoreSolution } from \"../reducer/SolutionsActions\";\r\n\r\nexport default function BaseActions({ solution, handleRedirect= undefined, onClose }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst id = solution?.id;\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleArchive = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ARCHIVE_GENERIC\",\r\n\t\t\tAction: () => archiveSolution({ id, onSuccess: onClose ? onClose : handleRedirect }),\r\n\t\t\tactionBtnText: \"ARCHIVE\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_GENERIC\",\r\n\t\t\tAction: () => deleteSolution({ id, onSuccess: onClose ? onClose : handleRedirect }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deleteSolutionPermanently({ id }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\r\n\r\n\tconst {archiveAllowed, deleteAllowed, restoreAllowed, deletePermanentAllowed } = PermissionManager({});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tif ((archiveAllowed || deleteAllowed) && actions?.length > 0) actions.push({ id: \"divider\", divider: true });\r\n\t\tif (archiveAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"archive\",\r\n\t\t\t\thandleClick: handleArchive,\r\n\t\t\t\ticon: \"ARCHIVE\",\r\n\t\t\t\ttext: t(\"ARCHIVE\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deleteAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (restoreAllowed) actions.push({ id: \"restore\", handleClick: () => restoreSolution({ id }), icon: \"RESTORE\", text: t(\"JS_96\") });\r\n\t\tif (deletePermanentAllowed) actions.push({ id: \"deletePermanent\", handleClick: handleDeletePermanent, itemStyle: \"warning-delete\", icon: \"DELETE\", text: t(\"JS_97\") });\r\n\t\tif (solution?.isSample) {\r\n\t\t\tactions = actions.filter((action) => action.id === \"copy\");\r\n\t\t}\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import { Borders, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { Collapse } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\nimport { TabTitleContext } from \"./RelationManager\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nfunction RelatedCjmsManager({ item, tabsData, ...props }) {\r\n\tconst linkedMapIds = item?.linkedCjms ? Object.keys(item?.linkedCjms) : [];\r\n\tconst attribute = tabsData?.attribute || props.attribute;\r\n\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\r\n\tconst relatedMaps = useSelector((state) => state?.maps?.all_maps)?.getActiveRecords(!showSampleData,false)?.filter((map) => linkedMapIds?.includes(map.cjmId))\r\n\r\n\tconst { count, setCount } = useContext(TabTitleContext);\r\n\tuseEffect(() => {\r\n\t\tif (count?.[attribute] !== relatedMaps?.length) {\r\n\t\t\tsetCount((prev) => ({ ...prev || {}, [attribute]: relatedMaps?.length }));\r\n\t\t}\r\n\t}, [relatedMaps]);\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{relatedMaps.map((relatedMap) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n}\r\nfunction RowCJM({ cjmId, cjm, item }) {\r\n\tconst { cjmIdStr } = useLocation().search.getAllMapsParams();\r\n\r\n\tconst [isOpen, setIsOpen] = useState(false);\r\n\tconst history = useHistory();\r\n\r\n\tconst viewJourney = () => {\r\n\t\tif (cjmId !== cjmIdStr) {\r\n\t\t\thistory.push(`/EditMap?cjmid=${cjmId}&personaId=${cjm?.linkedPersonas[0]?.personaId}`)\r\n\t\t}\r\n\t};\r\n\tconst toggle = () => {\r\n\t\tsetIsOpen(!isOpen);\r\n\t};\r\n\treturn <>\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{}:viewJourney}>{cjm?.name}\r\n\t\t
\r\n\t\t\r\n\t\t\t{ item?.linkedCjms?.[cjmId]?.map((insightLocation, i) =>
)}\r\n\t\t\r\n\t\r\n}\r\n\r\nfunction Details({ map, insightLocation }) {\r\n\tconst { t } = useTranslation();\r\n\tconst stage = map?.stages.find((stage) => stage?.id === insightLocation?.stageId);\r\n\treturn (\r\n\t\t\r\n\t\t\t
{stage?.name || insightLocation?.stageName || t(\"NEW\") + \" \" + t(\"STAGE\")}
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nRelatedCjmsManager.displayName = \"RelatedCjmsManager\";\r\n\r\nexport default RelatedCjmsManager;\r\nconst WrapperCollapseIcon = styled.div`\r\n\twidth:20px;\r\n`\r\nconst CustomBorders = styled(Borders)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t:hover {\r\n\t\t${(props)=>props.template === 'false' &&`\r\n\t\t\t\t\tcursor: pointer;\r\n\t\t`}\r\n\t}\r\n`;\r\n\r\nconst MapName = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 120%;\r\n`;\r\n\r\nconst Container = styled(Borders)`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 120%;\r\n`;\r\n","import { useSelector } from \"react-redux\";\r\nimport { FilterTemplate } from \"./FilterTemplate\";\r\n\r\ninterface PriorityFilterProps {\r\n\tinnerRef: React.RefObject<{\r\n\t\tgetFilters: () => string[];\r\n\t}>;\r\n\tentity: string;\r\n\thandleApply: () => void;\r\n}\r\n\r\nexport const PriorityFilter: React.FC = ({ innerRef, entity, handleApply }) => {\r\n\tconst priorities = useSelector(({ libraries }: any) => libraries?.priority[entity] || []);\r\n\r\n\treturn ;\r\n};\r\n","import { PermissionManager } from \"@utils/permissionManager\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { archiveOpportunity, deleteOpportunity, deleteOpportunityPermanently, restoreOpportunity } from \"../reducer/OpportunityActions\";\r\n\r\nexport default function BaseActions({ opportunity, handleRedirect = null, onClose }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst id = opportunity?.id;\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleArchive = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ARCHIVE_GENERIC\",\r\n\t\t\tAction: () => archiveOpportunity({ id, onSuccess: onClose ? onClose : handleRedirect }),\r\n\t\t\tactionBtnText: \"ARCHIVE\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_GENERIC\",\r\n\t\t\tAction: () => deleteOpportunity({ id, onSuccess: onClose ? onClose : handleRedirect }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deleteOpportunityPermanently({ id }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n const { archiveAllowed, deleteAllowed, restoreAllowed, deletePermanentAllowed } = PermissionManager({});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tif ((archiveAllowed || deleteAllowed) && actions?.length > 0) actions.push({ id: \"divider\", divider: true });\r\n\t\tif (archiveAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"archive\",\r\n\t\t\t\thandleClick: handleArchive,\r\n\t\t\t\ticon: \"ARCHIVE\",\r\n\t\t\t\ttext: t(\"ARCHIVE\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deleteAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (restoreAllowed) actions.push({ id: \"restore\", handleClick: () => restoreOpportunity({ id }), icon: \"RESTORE\", text: t(\"JS_96\") });\r\n\t\tif (deletePermanentAllowed) actions.push({ id: \"deletePermanent\", handleClick: handleDeletePermanent, itemStyle: \"warning-delete\", icon: \"DELETE\", text: t(\"JS_97\") });\r\n\t\tif (opportunity?.isSample) {\r\n\t\t\tactions = actions.filter((action) => action.id === \"copy\");\r\n\t\t}\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import { PermissionManager } from \"@utils/permissionManager\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { archiveCxAction, deleteCxAction, deleteCxActionPermanently, restoreCxAction } from \"../reducer/CxActionActions\";\r\n\r\nexport default function BaseActions({ action, handleRedirect = undefined, onClose }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst id = action?.id;\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleArchive = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ARCHIVE_GENERIC\",\r\n\t\t\tAction: () => archiveCxAction({ id, onSuccess: onClose ? onClose : handleRedirect }),\r\n\t\t\tactionBtnText: \"ARCHIVE\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_GENERIC\",\r\n\t\t\tAction: () => deleteCxAction({ id, onSuccess: onClose ? onClose : handleRedirect }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deleteCxActionPermanently({ id }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst { archiveAllowed, deleteAllowed, restoreAllowed, deletePermanentAllowed } = PermissionManager({\r\n\t\tcontext:\"/cx-actions\",\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tif ((archiveAllowed || deleteAllowed) && actions?.length > 0) actions.push({ id: \"divider\", divider: true });\r\n\t\tif (archiveAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"archive\",\r\n\t\t\t\thandleClick: handleArchive,\r\n\t\t\t\ticon: \"ARCHIVE\",\r\n\t\t\t\ttext: t(\"ARCHIVE\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deleteAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (restoreAllowed) actions.push({ id: \"restore\", handleClick: () => restoreCxAction({ id }), icon: \"RESTORE\", text: t(\"JS_96\") });\r\n\t\tif (deletePermanentAllowed) actions.push({ id: \"deletePermanent\", handleClick: handleDeletePermanent, itemStyle: \"warning-delete\", icon: \"DELETE\", text: t(\"JS_97\") });\r\n\t\tif (action?.isSample) {\r\n\t\t\tactions = actions.filter((action) => action.id === \"copy\");\r\n\t\t}\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import {\r\n archiveFolder,\r\n createCxAction,\r\n createCxProgram,\r\n createFolder,\r\n createInsight,\r\n createOpportunity,\r\n createSolution,\r\n deleteFolder,\r\n deleteFolderPermanently,\r\n restoreFolder,\r\n updateFolderLinks,\r\n} from \"@redux/index\";\r\nimport { EMPTY_GUID, createDefaultInsight } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport { createProject } from \"features/projects/reducer/ProjectsActions\";\r\nimport $ from \"jquery\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { allRoutes } from \"shared/Routes/routes\";\r\nimport { ActionsDropdown } from \"shared/dropdowns/ActionsDropdown\";\r\nimport BulkModalLinkComponent from \"shared/modals/bulk-links/BulkModalLinkComponent\";\r\nimport { ActionConfirmModal, NewModal } from \"shared/modals/index\";\r\nimport ListLinkedModal from \"shared/modals/list-links/ListLinkedModal\";\r\nimport { Flex } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\n\r\nexport default function BaseActions({ folder, setRename, context }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst userInfo = useSelector(({ auth }) => auth.userInfo);\r\n\tconst foldersLength = useSelector(({ folders }) => folders.filter((f) => f.statusCode === 1 && f.parentId === EMPTY_GUID)?.length);\r\n\tconst id = folder?.id;\r\n\tconst isFolderCreatedByCurrentUser = Number(userInfo?.UserType) === 100000002 || folder?.ownerId === userInfo?.UserId;\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\tconst [showFolderLinkComponent] = useModal(BulkModalLinkComponent);\r\n\r\n\tconst { renameAllowed, archiveAllowed, deleteAllowed, restoreAllowed, deletePermanentAllowed, moveToFolderAllowed, createInFolderAllowed, linkExistingItemsAllowed } = PermissionManager({\r\n\t\tcontext,\r\n\t});\r\n\tif (!folder?.id) return null;\r\n\r\n\tconst handleArchive = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ARCHIVE_GENERIC\",\r\n\t\t\tAction: () => archiveFolder({ id }),\r\n\t\t\tactionBtnText: \"ARCHIVE\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_GENERIC\",\r\n\t\t\tAction: () => deleteFolder({ id }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deleteFolderPermanently({ id }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\tconst handleToggleMain = () => {\r\n\t\t// close dropdown menu when clicking on nested dropdown\r\n\t\tvar $dropdownMenu = $(`#dropdown-menu-${folder?.id}_Main`);\r\n\t\tvar $dropdownToggle = $(`#dropdown-toggle-${folder?.id}_Main`);\r\n\t\tif ($dropdownMenu.is(\":visible\")) {\r\n\t\t\t$dropdownToggle.click();\r\n\t\t}\r\n\t};\r\n\r\n\tconst createActions = () => {\r\n\t\tconst actions = [];\r\n\t\tif (renameAllowed && setRename) actions.push({ id: \"rename\", handleClick: () => setRename(id), icon: \"EDIT\", text: t(\"JS_89\"), iconStyle: \"me-3\" });\r\n\r\n\t\tif (moveToFolderAllowed && folder?.linkedFolders?.length === 0 && foldersLength > 1) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"moveToFolder\",\r\n\t\t\t\ticon: \"ARROW_RIGHT\",\r\n\t\t\t\ttext: t(\"MOVE_TO_FOLDER\"),\r\n\t\t\t\thandleClick: () => showFolderLinkComponent({ componentName: \"subFolder\", idAttribute: \"cjmId\", folderId: folder.id }),\r\n\t\t\t\ticonStyle: \"me-3\",\r\n\t\t\t});\r\n\r\n\t\t\tactions.push({ id: \"separator\", customItem: , disabled: true });\r\n\t\t}\r\n\t\tif (createInFolderAllowed) {\r\n\t\t\tactions.push({ id: \"createInFolder\", customItem: CreateOrLink({ linkExisting: false, folder, handleToggleMain }) });\r\n\t\t}\r\n\t\tif (linkExistingItemsAllowed) {\r\n\t\t\tactions.push({ id: \"linkExistimItems\", customItem: CreateOrLink({ linkExisting: true, folder, handleToggleMain }) });\r\n\t\t}\r\n\t\tif (archiveAllowed && isFolderCreatedByCurrentUser) {\r\n\t\t\tactions.push({ id: \"separator1\", customItem: , disabled: true });\r\n\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"archive\",\r\n\t\t\t\thandleClick: handleArchive,\r\n\t\t\t\ticon: \"ARCHIVE\",\r\n\t\t\t\ttext: t(\"ARCHIVE\"),\r\n\t\t\t\ticonStyle: \"me-3\",\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deleteAllowed && isFolderCreatedByCurrentUser) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t\ticonStyle: \"me-3\",\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (restoreAllowed) actions.push({ id: \"restore\", handleClick: () => restoreFolder({ id }), icon: \"RESTORE\", text: t(\"JS_96\"), iconStyle: \"me-3\" });\r\n\t\tif (deletePermanentAllowed) actions.push({ id: \"deletePermanent\", handleClick: handleDeletePermanent, itemStyle: \"warning-delete\", icon: \"DELETE\", text: t(\"JS_97\"), iconStyle: \"me-3\" });\r\n\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\nconst CreateOrLink = ({ linkExisting = false, folder, handleToggleMain }) => {\r\n\tconst userInfo = useSelector(({ auth }) => auth.userInfo);\r\n\tconst { t } = useTranslation();\r\n\tconst icon = !linkExisting ? \"SQUARE_PLUS\" : \"LINK\";\r\n\tconst label = linkExisting ? \"LINK_EXISTING_ITEMS\" : \"CREATE_IN_FOLDER\";\r\n\tconst entities = allRoutes.top.slice(2, 10);\r\n\tconst history = useHistory();\r\n\tconst [newModal] = useModal(NewModal);\r\n\tconst [showListLinkedModal] = useModal(ListLinkedModal);\r\n\tconst { UserSubscriptionPlanName = \"\" } = useSelector(({ auth }) => auth?.userInfo || {});\r\n\tconst isSubscriptionAllowed = [\"SharedExpert\", \"Expert\", \"SharedEnterprise\", \"Enterprise\"].includes(UserSubscriptionPlanName);\r\n\r\n\tconst handleCreate = (context) => {\r\n\t\tswitch (context) {\r\n\t\t\tcase \"/cx-program\": {\r\n\t\t\t\tconst onSuccess = (data) => {\r\n\t\t\t\t\tupdateFolderLinks({ folderIds: [folder.id], idsToLink: [data.id], entityName: \"cem_cxprogram\" });\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\thistory.push(`/cx-program?folderId=${folder.id}`);\r\n\t\t\t\t\t}, 500);\r\n\t\t\t\t};\r\n\t\t\t\tcreateCxProgram({ name: \"\", onSuccess, folderId: folder.id });\r\n\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"/journey-map\":\r\n\t\t\t\thistory.push(`/map-creation?folderId=${folder.id}`);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/personas\":\r\n\t\t\t\thistory.push(`/persona-creation?folderId=${folder.id}`);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/opportunity\": {\r\n\t\t\t\tconst onSuccess = (data) => {\r\n\t\t\t\t\tupdateFolderLinks({ folderIds: [folder.id], idsToLink: [data.id], entityName: \"cem_cxopportunity\" });\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\thistory.push(`/opportunity?folderId=${folder.id}`);\r\n\t\t\t\t\t}, 500);\r\n\t\t\t\t};\r\n\r\n\t\t\t\tcreateOpportunity({\r\n\t\t\t\t\titem: {id: uuid(), name: \"\" },\r\n\t\t\t\t\tonSuccess,\r\n\t\t\t\t\tfolderId: folder.id,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"/cx-actions\": {\r\n\t\t\t\tconst onSuccess = (data) => {\r\n\t\t\t\t\tupdateFolderLinks({ folderIds: [folder.id], idsToLink: [data.id], entityName: \"cem_cxactiontask\" });\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\thistory.push(`/cx-actions?folderId=${folder.id}`);\r\n\t\t\t\t\t}, 500);\r\n\t\t\t\t};\r\n\r\n\t\t\t\tcreateCxAction({\r\n\t\t\t\t\titem: {id: uuid(), name: \"\" },\r\n\t\t\t\t\tonSuccess,\r\n\t\t\t\t\tfolderId: folder.id,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"/solutions\": {\r\n\t\t\t\tconst onSuccess = (data) => {\r\n\t\t\t\t\tupdateFolderLinks({ folderIds: [folder.id], idsToLink: [data.id], entityName: \"cem_cxsolution\" });\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\thistory.push(`/solutions?folderId=${folder.id}`);\r\n\t\t\t\t\t}, 500);\r\n\t\t\t\t};\r\n\r\n\t\t\t\tcreateSolution({\r\n\t\t\t\t\titem: {id: uuid(), name: \"\" },\r\n\t\t\t\t\tonSuccess,\r\n\t\t\t\t\tfolderId: folder.id,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"/folder\":\r\n\t\t\t\tnewModal({\r\n\t\t\t\t\ttitle: \"JS_84\",\r\n\t\t\t\t\tcloseBtnLabel: \"ASPX_135\",\r\n\t\t\t\t\tinputTitle: \"JS_69\",\r\n\t\t\t\t\tplaceholder: \"JS_68\",\r\n\t\t\t\t\taction: (name) => {\r\n\t\t\t\t\t\tcreateFolder({ name, parentId: folder.id });\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/projects\": {\r\n\t\t\t\tconst onSuccess = (data) => {\r\n\t\t\t\t\tupdateFolderLinks({ folderIds: [folder.id], idsToLink: [data.id], entityName: \"cem_cxproject\" });\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\thistory.push(`/projects?folderId=${folder.id}`);\r\n\t\t\t\t\t}, 500);\r\n\t\t\t\t};\r\n\r\n\t\t\t\tcreateProject({ item: { name: \"\" }, onSuccess: onSuccess });\r\n\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"/insights\": {\r\n\t\t\t\tconst onSuccess = (data) => {\r\n\t\t\t\t\tupdateFolderLinks({ folderIds: [folder.id], idsToLink: [data.id], entityName: \"cem_insight\" });\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\thistory.push(`/insights?folderId=${folder.id}`);\r\n\t\t\t\t\t}, 500);\r\n\t\t\t\t};\r\n\t\t\t\tconst item = createDefaultInsight({ currentUser: userInfo });\r\n\t\t\t\tcreateInsight({ item, onSuccess });\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\thandleToggleMain();\r\n\t};\r\n\tconst handleLinking = (context) => {\r\n\t\tswitch (context) {\r\n\t\t\tcase \"/cx-program\":\r\n\t\t\t\tshowListLinkedModal({ folderId: folder.id, linked: folder.LinkedCxPrograms, entityType: EntityList.CXProgram });\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/journey-map\":\r\n\t\t\t\tshowListLinkedModal({ folderId: folder.id, linked: folder.linkedCjms, entityType: EntityList.CustomerJourney });\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/opportunity\":\r\n\t\t\t\tshowListLinkedModal({ folderId: folder.id, linked: folder.linkedOpps, entityType: EntityList.Opportunity });\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/cx-actions\":\r\n\t\t\t\tshowListLinkedModal({ folderId: folder.id, linked: folder.linkedActions, entityType: EntityList.Action });\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/solutions\":\r\n\t\t\t\tshowListLinkedModal({ folderId: folder.id, linked: folder.linkedSols, entityType: EntityList.Solution });\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/projects\":\r\n\t\t\t\tshowListLinkedModal({ folderId: folder.id, linked: folder.linkedProjects, entityType: EntityList.Project });\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/personas\":\r\n\t\t\t\tshowListLinkedModal({ folderId: folder.id, linked: folder.linkedPersonas, entityType: EntityList.Persona });\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"/insights\":\r\n\t\t\t\tshowListLinkedModal({ folderId: folder.id, linked: folder.linkedInsights, entityType: EntityList.Insight });\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\thandleToggleMain();\r\n\t};\r\n\tconst handleClickFunction = linkExisting ? handleLinking : handleCreate;\r\n\r\n\tconst toggleButton = (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
{IconDispatcher(icon)}
\r\n\t\t\t\t
{t(label)}
\r\n\t\t\t
\r\n\t\t\t
{IconDispatcher(\"ANGLE-RIGHT\")}
\r\n\t\t
\r\n\t);\r\n\tconst actions = entities\r\n\t\t.map((entity) => ({ id: entity.route, text: t(entity.text), icon: entity.icon, handleClick: () => handleClickFunction(entity.route), iconStyle: \"me-3\" }))\r\n\t\t.filter((entity) => {\r\n\t\t\tif (!isSubscriptionAllowed) {\r\n\t\t\t\t// means user is standard\r\n\t\t\t\treturn [\"/journey-map\", \"/personas\", \"/insights\", \"/folder\"].includes(entity.id);\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t});\r\n\r\n\tif (!linkExisting) {\r\n\t\tconst addFolder = { id: \"folder\", text: t(\"FOLDER\"), icon: \"FOLDER-PLUS\", handleClick: () => handleClickFunction(\"/folder\"), iconStyle: \"me-3\" };\r\n\t\tactions.push({ id: \"separator2\", customItem: , disabled: true });\r\n\t\tactions.push(addFolder);\r\n\t}\r\n\tconst handleToggle = () => {\r\n\t\tvar $dropdownMenu = $(`#dropdown-menu-${folder?.id}_${!linkExisting}`);\r\n\t\tvar $dropdownToggle = $(`#dropdown-toggle-${folder?.id}_${!linkExisting}`);\r\n\t\tif ($dropdownMenu.is(\":visible\")) {\r\n\t\t\t$dropdownToggle.click();\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nconst DropdownPosition = styled.div`\r\n\twidth: 100%;\r\n\t.dropdown-menu {\r\n\t\tleft: 14px !important;\r\n\t\ttop: -6px !important;\r\n\t}\r\n\t.btn :hover {\r\n\t\t//\tall: unset;\r\n\t}\r\n\t.dropdown-toggle {\r\n\t\twidth: 100%;\r\n\t}\r\n`;\r\nconst ToggleButton = styled.div`\r\n\tall: unset;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: left;\r\n\tline-height: 1.5rem;\r\n\twidth: 100%;\r\n\tclear: both;\r\n\tfont-weight: 400;\r\n\tcolor: #333333;\r\n\ttext-align: inherit;\r\n\ttext-decoration: none;\r\n\twhite-space: nowrap;\r\n\tbackground-color: transparent;\r\n\tborder: 0;\r\n\tfont-size: 14px;\r\n\twidth: 100%;\r\n`;\r\nconst Separator = styled.div`\r\n\theight: 1px;\r\n\tbackground-color: #c4c4c4;\r\n\twidth: 100%;\r\n\tpointer-events: none;\r\n`;\r\n","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { ActionConfirmModal, DuplicateModal } from \"shared/modals/index\";\r\nimport GenericManageAccess from \"shared/modals/manage-access/GenericManageAccess\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { archiveProjects, copyProject, deleteProjects, deleteProjectsPermanent, restoreProjects } from \"../reducer/ProjectsActions\";\r\n\r\nexport default function BaseActions({ project, context, setRename, handleRedirect }) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst userId = useSelector((state) => state.auth?.userInfo?.UserId);\r\n\tconst isInWorkspace = useLocation().pathname === \"/projects\";\r\n\r\n\tconst userAccess = project?.authorizedUsers?.find((user) => user.id === userId && user.roleId === EMPTY_GUID)?.roleName;\r\n\tconst id = project.id;\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleArchive = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ARCHIVE_GENERIC\",\r\n\t\t\tAction: () => archiveProjects({ ids: [id], onSuccess: handleRedirect }),\r\n\t\t\tactionBtnText: \"ARCHIVE\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_GENERIC\",\r\n\t\t\tAction: () => deleteProjects({ ids: [id], onSuccess: handleRedirect }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deleteProjectsPermanent({ ids: [id] }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst callBackCopy = (response) => {\r\n\t\tif (typeof response === \"object\") {\r\n\t\t\thistory.push(`/EditProject?id=${response?.id}`);\r\n\r\n\t\t}\r\n\t};\r\n\r\n\tconst [showCopyModal] = useModal(DuplicateModal, {\r\n\t\ttitle: `${t(\"JS_61\")} ${t(\"PROJECT\")}`,\r\n\t\tinputTitle: \"PROJECT_NAME\",\r\n\t\tcloseBtnLabel: \"COPY\",\r\n\t\tinputValue: `[${t(\"COPY_NOUN\").toUpperCase()}]- ` + project?.name,\r\n\t\taction: ({ name, selectedWorkspaces }) => copyProject({ id, name, workspaceIds: selectedWorkspaces.map((w) => w?.id), onSuccess: !isInWorkspace && callBackCopy }),\r\n\t});\r\n\r\n\tconst [showAccessModal] = useModal(GenericManageAccess, {\r\n\t\titemId: id,\r\n\t});\r\n\r\n\tconst { renameAllowed, copyAllowed, archiveAllowed, deleteAllowed, manageAccessAllowed, restoreAllowed, deletePermanentAllowed } = PermissionManager({\r\n\t\tuserAccess,\r\n\t\tcontext,\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tif (renameAllowed && setRename) actions.push({ id: \"rename\", handleClick: () => setRename(id), icon: \"EDIT\", text: t(\"JS_89\") });\r\n\t\tif (copyAllowed) actions.push({ id: \"copy\", handleClick: showCopyModal, icon: \"COPY\", text: t(\"JS_61\") });\r\n\t\tif (manageAccessAllowed) actions.push({ id: \"manageAccess\", handleClick: showAccessModal, icon: \"ACCESS\", text: t(\"ASPX_17\") });\r\n\t\tif (archiveAllowed || deleteAllowed) actions.push({ id: \"divider\", divider: true });\r\n\t\tif (archiveAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"archive\",\r\n\t\t\t\thandleClick: handleArchive,\r\n\t\t\t\ticon: \"ARCHIVE\",\r\n\t\t\t\ttext: t(\"ARCHIVE\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deleteAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (restoreAllowed) actions.push({ id: \"restore\", handleClick: () => restoreProjects({ ids: [id] }), icon: \"RESTORE\", text: t(\"JS_96\") });\r\n\t\tif (deletePermanentAllowed) actions.push({ id: \"deletePermanent\", handleClick: handleDeletePermanent, itemStyle: \"warning-delete\", icon: \"DELETE\", text: t(\"JS_97\") });\r\n\t\tif (project?.isSample) {\r\n\t\t\tactions = actions.filter((action) => action.id === \"copy\");\r\n\t\t}\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import styled from \"styled-components/macro\";\r\nimport { SmileyStaticComponent } from \"./SmileyStaticComponent\";\r\n\r\ninterface EmotionLevelAndSmileyProps {\r\n\temotionLevel: number;\r\n}\r\n\r\nexport const EmotionLevelAndSmiley: React.FC = ({ emotionLevel }) => {\r\n\tif (Math.round(emotionLevel) === 0) return <>;\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{emotionLevel?.toFixed(1)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst Score = styled.div`\r\n\tcolor: #262626;\r\n\ttext-align: right;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 14px;\r\n`;\r\n","import { isFullUser, isFullUsersLicenseAvailable } from \"@utils/helpers\";\r\nimport { SubscriptionPlan, UserType } from \"@utils/optionsSets/OptionSets\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { CustomDropdownButton } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport default function UserTypeDropdown({ user, handleUserTypeChange }) {\r\n\tconst { t } = useTranslation();\r\n\tconst users = useSelector((state) => state.settings.users);\r\n\tconst subscriptionDetails = useSelector((state) => state.settings?.subscriptionDetails);\r\n\tconst loggerUserInfo = useSelector((state) => state.auth.userInfo);\r\n\r\n\tconst isNewUser = user?.userType === -1;\r\n\tconst loggerUserType = Number(loggerUserInfo.UserType);\r\n\tconst isLoggerCompanyAdmin = loggerUserType === UserType.companyAdmin;\r\n\tconst isLoggerAdmin = loggerUserType === UserType.admin;\r\n\tconst contracts = subscriptionDetails.subscriptionContracts;\r\n\tconst isSingleSubscription = contracts?.length === 1;\r\n\r\n\tconst isEnterprise = user?.subscriptionPlan === SubscriptionPlan.Enterprise;\r\n\tconst isExpert = user?.subscriptionPlan === SubscriptionPlan.Expert;\r\n\tconst isSharedExpert = user?.subscriptionPlan === SubscriptionPlan.SharedExpert || user?.subscriptionPlan === SubscriptionPlan.SharedEnterprise;\r\n\tconst isStandard = user?.subscriptionPlan === SubscriptionPlan.Standard;\r\n\r\n\tconst isFullUserSeatAvailable = isFullUsersLicenseAvailable(users, contracts, user?.subscriptionPlan).answer || isFullUser(user?.userType);\r\n\r\n\tconst showCompanyAdmin = () => {\r\n\t\tif (user?.userType !== UserType.companyAdmin && isLoggerCompanyAdmin) {\r\n\t\t\tif (isSingleSubscription) {\r\n\t\t\t\tif (isFullUserSeatAvailable && (isEnterprise || isExpert || isStandard)) return true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif (isFullUserSeatAvailable && (isEnterprise || isSharedExpert)) return true;\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst showAdmin = () => {\r\n\t\tif (user?.userType !== UserType.admin) {\r\n\t\t\tif (isSingleSubscription) {\r\n\t\t\t\tif (isFullUserSeatAvailable && (isEnterprise || isExpert || isSharedExpert)) return true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif (isFullUserSeatAvailable && (isEnterprise || isSharedExpert)) return true;\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst showUser = () => {\r\n\t\tif (user?.userType !== UserType.user) {\r\n\t\t\tif (isSingleSubscription) {\r\n\t\t\t\tif (isFullUserSeatAvailable && (isEnterprise || isExpert || isSharedExpert)) return true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif (isFullUserSeatAvailable) return true;\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst showReadOnly = () => {\r\n\t\tif (user?.userType !== UserType.readOnly) {\r\n\t\t\tif (isStandard) return false;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst onUserTypeChange = (user) => (userTypeCode) => {\r\n\t\thandleUserTypeChange(user, userTypeCode);\r\n\t};\r\n\r\n\tconst displayDropDownTitle = (user) => {\r\n\t\tif (user?.userType === UserType.companyAdmin) return t(\"SUPER_ADMIN\") + \" \";\r\n\t\telse if (user?.userType === UserType.admin) return t(\"CS_53\") + \" \";\r\n\t\telse if (user?.userType === UserType.readOnly) return t(\"READ_ONLY\") + \" \";\r\n\t\telse if (user?.userType === UserType.user) return t(\"CS_52\") + \" \";\r\n\t\treturn t(\"SELECT_USER_TYPE\");\r\n\t};\r\n\r\n\tconst isDropdownDisabled = () => {\r\n\t\tif (!user?.isActive) return true;\r\n\t\tif (isStandard && !isNewUser) return true;\r\n\r\n\t\tif (user?.subscriptionPlan === -1) return true;\r\n\r\n\t\t// If logged user is Admin, He can only modify roles / activate-deactivate User and Admin\r\n\t\t// He cannot modify / activate-deactivate a user with Company Admin role\r\n\t\tif (isLoggerAdmin && user?.userType === UserType.companyAdmin) return true;\r\n\r\n\t\t// In any case, logged user actions are disabled (except for create new user)\r\n\t\tif (loggerUserInfo.UserEmail.toLowerCase() === user?.loginName.toLowerCase() && !isNewUser) return true;\r\n\r\n\t\tif (!isFullUserSeatAvailable && user?.userType === UserType.readOnly) return true;\r\n\r\n\t\tif (!showCompanyAdmin() && !showAdmin() && !showUser() && !showReadOnly()) return true;\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{displayDropDownTitle(user)}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{showCompanyAdmin() && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t(\"SUPER_ADMIN\")}\r\n\t\t\t\t\t\t\t{t(\"COMPANY_ADMIN_ROLE\")}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t{showAdmin() && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t(\"CS_53\")}\r\n\t\t\t\t\t\t\t{t(\"ADMIN_ROLE\")}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t{showUser() && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t(\"CS_52\")}\r\n\t\t\t\t\t\t\t{t(\"USER_ROLE\")}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t{showReadOnly() && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t(\"READ_ONLY\")}\r\n\t\t\t\t\t\t\t{t(\"READ_ONLY_DETAILS\")}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst StyledDropdownItem = styled(Dropdown.Item)`\r\n\tborder-bottom: 1px solid #e9ecef !important;\r\n\tpadding-bottom: 5px;\r\n\tfont-size: 14px;\r\n`;\r\n\r\nconst StyledDetails = styled.span`\r\n\twidth: inherit;\r\n\tcolor: #858585;\r\n\tdisplay: block;\r\n\tword-wrap: break-word;\r\n\twhite-space: break-spaces;\r\n`;\r\n","import React, { useState } from \"react\";\r\nimport \"react-bootstrap-typeahead/css/Typeahead.css\";\r\nimport styled from \"styled-components/macro\";\r\nimport { Input } from \"reactstrap\";\r\nimport { Colors, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Swal from \"sweetalert2\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nconst ManageGenericItems = ({ title, allItems, createItem, updateItem, deleteItem, maxHeight, placeholder = \"ADD_ROLE\",deleteLabel=\"DELETE_ITEM_PERMANENT_METRIC\" }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [items, setItems] = useState(JSON.parse(JSON.stringify(allItems)));\r\n\tconst [newItem, setNewItem] = useState(\"\");\r\n\r\n\tconst handleTextChange = (e, index) => {\r\n\t\tsetItems((prev) => prev.map((item, idx) => (idx === index ? { ...item, name: e.target.value } : item)));\r\n\t};\r\n\r\n\tconst handleUpdate = (e, index) => {\r\n\t\tconst newValue = e?.target?.value || items[index]?.name;\r\n\t\tif (newValue !== allItems[index]?.name) {\r\n\t\t\tif (newValue.length > 90) {\r\n\t\t\t\ttoast.info(t(\"EXCEEDED_MAX_SIZE_INPUT\"));\r\n\t\t\t\tsetItems((prev) => prev.map((item, idx) => (idx === index ? { ...item, name: newValue.truncate(90) } : item)));\r\n\t\t\t}\r\n\t\t\tupdateItem(items[index]?.id, newValue.truncate(90));\r\n\t\t}\r\n\t};\r\n\tconst handleCreate = (e) => {\r\n\t\tconst newValue = e?.target?.value || newItem;\r\n\t\tif (newValue === \"\") return;\r\n\t\tif (e.target.value.length > 90) {\r\n\t\t\ttoast.info(t(\"EXCEEDED_MAX_SIZE_INPUT\"));\r\n\t\t}\r\n\t\tcreateItem(newValue.truncate(90), (newItem) => setItems([...items, newItem]));\r\n\t\tsetNewItem(\"\");\r\n\r\n\t};\r\n\r\n\tconst handleEnter = (e, index, action) => {\r\n\t\tif (e.key === \"Enter\") {\r\n\t\t\tif (action === \"create\") {\r\n\t\t\t\thandleCreate(e);\r\n\t\t\t} else if (action === \"update\") {\r\n\t\t\t\thandleUpdate(e, index);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(title)}\r\n\t\t\t\r\n\t\t\t\t{items?.map((item, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t handleTextChange(e, index)} onBlur={(e) => handleUpdate(e, index)} onKeyDown={(e) => handleEnter(e, index, \"update\")} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t setNewItem(e.target.value)} onBlur={handleCreate} onKeyDown={(e) => handleEnter(e, null, \"create\")} />\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ManageGenericItems;\r\n\r\nfunction Delete({ deleteItem, toDelete, items, setItems,deleteLabel }) {\r\n\tconst { t } = useTranslation();\r\n\tconst openModal = () => {\r\n\t\tSwal.fire({\r\n\t\t\ttext: t(deleteLabel),\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonColor: \"#F96209\",\r\n\t\t\tcancelButtonColor: \"#EFEFEF\",\r\n\t\t\tconfirmButtonText: t(\"ASPX_13\"),\r\n\t\t}).then((result) => {\r\n\t\t\tif (result.isConfirmed) {\r\n\t\t\t\tsetItems(items.filter((item) => item.id !== toDelete.id));\r\n\t\t\t\tdeleteItem(toDelete.id);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{IconDispatcher(\"X\")}\r\n\t\t
\r\n\t);\r\n}\r\n\r\n\r\n\r\nconst ManageItemsContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tfont-weight: 500;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\tcolor: #333333;\r\n`;\r\n\r\nconst CustomInput = styled(Input)`\r\n\twidth: ${(props) => (props.width ? props.width : \"100%\")}px;\r\n\tresize: none;\r\n\tfont-weight: 500;\r\n\tfont-size: 14px;\r\n\tline-height: 20px;\r\n\tcolor: #333333;\r\n\tbackground-color: #ffffff;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\r\n\t&.form-control:focus {\r\n\t\tbackground-color: transparent;\r\n\t\tborder: 1px solid ${Colors.primaryText} !important;\r\n\t\t-webkit-box-shadow: none;\r\n\t\t-moz-box-shadow: none;\r\n\t\tbox-shadow: none;\r\n\t\tcolor: #333333;\r\n\t}\r\n\r\n\t&.form-control:disabled,\r\n\t.form-control[readonly] {\r\n\t\tbackground-color: #e5e4e5;\r\n\t\tcolor: #333333;\r\n\t}\r\n`;\r\n\r\nconst ItemsContainer = styled.div`\r\n\tmax-height: ${(props) => props.maxHeight}px;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst ItemContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\tinput[type=\"checkbox\"] {\r\n\t\taccent-color: #333333;\r\n\t\twidth: 15px !important;\r\n\t\theight: 15px !important;\r\n\t\t:hover {\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nconst AddItem = styled.div`\r\n\tmargin-right: 60px;\r\n\tinput[type=\"text\"] {\r\n\t\theight: 30px;\r\n\t\tfont-weight: 400;\r\n\t\tborder: 1px solid #c4c4c4;\r\n\t\tborder-radius: 4px;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 19px;\r\n\t\tcolor: #c4c4c4;\r\n\t}\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { copyValueLibrary, deleteValueLibrary, upsertValueLibrary } from \"redux/index\";\r\nimport { ColorSelectModal } from \"shared/modals/colors/ColorSelectModal\";\r\nimport { ActionConfirmModal, DuplicateModal } from \"shared/modals/index\";\r\nimport { CustomLibraryColors } from \"shared/ui-basics\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { encode } from \"utils/helpers\";\r\n\r\nexport default function BaseActions({ libraryId, item, handleChange, onClose }) {\r\n\tconst { t } = useTranslation();\r\n\tconst inMap = useLocation().pathname === \"/EditMap\";\r\n\tconst currentLibrary = useSelector((state) => state.libraries?.customLibraries)?.find((cl) => cl?.id === libraryId);\r\n\r\n\tconst itemId = item?.id;\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_GENERIC\",\r\n\t\t\tAction: () => {\r\n\t\t\t\tif (onClose) onClose();\r\n\t\t\t\tdeleteValueLibrary({ libraryId: currentLibrary?.id, libraryValueId: item?.id });\r\n\t\t\t},\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst [showCopyModal] = useModal(DuplicateModal, {\r\n\t\ttitle: `${t(\"JS_61\")} ${t(currentLibrary?.name)}`,\r\n\t\tinputTitle: \"NAME\",\r\n\t\tcloseBtnLabel: \"COPY\",\r\n\t\tinputValue: `${item?.name} - ${t(\"COPY\")}`,\r\n\t\taction: ({ name, selectedWorkspaces }) =>\r\n\t\t\tcopyValueLibrary({\r\n\t\t\t\tlibraryId: currentLibrary?.id,\r\n\t\t\t\tlibraryValueId: itemId,\r\n\t\t\t\tname,\r\n\t\t\t\tworkspaceIds: selectedWorkspaces.map((w) => w?.id),\r\n\t\t\t}),\r\n\t});\r\n\r\n\tconst [showColorModal] = useModal(ColorSelectModal, {\r\n\t\tselectedColor: item?.colorCode,\r\n\t\tcolorsPanel: CustomLibraryColors,\r\n\t\taction: ({ selectedColor }) => {\r\n\t\t\tif (handleChange) handleChange(\"colorCode\", selectedColor);\r\n\t\t\tupsertValueLibrary({ libraryId: currentLibrary?.id, libraryValue: { ...item, name: encode(item?.name?.truncate(100,true)), description: encode(item?.description?.truncate(20000,true)), colorCode: selectedColor } });\r\n\t\t},\r\n\t\tcolorSize: 32,\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tactions.push({ id: \"copy\", handleClick: showCopyModal, icon: \"COPY\", text: t(\"JS_61\") });\r\n\t\tif (item?.isCustom) actions.push({ id: \"color\", handleClick: showColorModal, icon: \"FILL-DRIP\", text: t(\"COLOR\") });\r\n\r\n\t\tif (item?.isCustom && !inMap)\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t});\r\n\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\n\r\ninterface ColorCircleProps {\r\n\tcolor?: string;\r\n}\r\n\r\nexport const ColorCircle: React.FC = ({ color = \"#ffffff\" }) => {\r\n\treturn {IconDispatcher(\"bookmark\")};\r\n};\r\n\r\nconst Container = styled.div<{ color: string }>`\r\n\tmin-width: 40px;\r\n\tmin-height: 40px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tborder-radius: 50%;\r\n\tborder: 1px solid #262626;\r\n\tbackground-color: ${({ color }) => color};\r\n`;\r\n","import { FileUpload } from \"primereact/fileupload\";\r\nimport { forwardRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Button, FlexColumnAlignCenter, GenericButton, IconDispatcher, Label } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\ninterface UploadFileProps {\r\n\tisDisable: boolean;\r\n stopRetrieveData:boolean;\r\n setIsFile:React.SetStateAction;\r\n setValidFile:React.SetStateAction;\r\n templateExportService: () => void; \r\n fileUploadRef: React.RefObject; \r\n}\r\n\r\nexport const UploadFile: React.FC = ({ isDisable,stopRetrieveData ,setIsFile,setValidFile,templateExportService,fileUploadRef}) => {\r\n\r\n\tconst { t } = useTranslation();\r\n\r\n const chooseOptions = { icon: IconDispatcher(\"UPLOAD\"), iconOnly: true, className: \"custom-choose-btn p-button-transparent\" };\r\n\tconst cancelOptions = { icon: IconDispatcher(\"trash\"), iconOnly: true, className: \"custom-choose-btn p-button-transparent\" };\r\n\r\n const headerTemplate = (options:any) => {\r\n\t\tconst { className, chooseButton, cancelButton } = options;\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{chooseButton}\r\n\t\t\t\t\t{cancelButton}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n const downloadTemplateFile = () => {\r\n\t\ttemplateExportService();\r\n\t};\r\n const emptyView = () => {\r\n return (\r\n \r\n {stopRetrieveData? (\r\n
{t(\"START_RETRIEVING_DEC\")}
\r\n ) : (\r\n <>\r\n {IconDispatcher(\"FILE-XLS-THIN\", \"\", { size: \"2xl\" })}\r\n \r\n \r\n )}\r\n
\r\n );\r\n };\r\n const itemTemplate = (file) => {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t
{file.name}
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n const eventOnFile=(haveFile)=>{\r\n setIsFile&& setIsFile(haveFile);\r\n setValidFile&& setValidFile(true);\r\n \r\n }\r\n return {\r\n eventOnFile(true);\r\n }}\r\n onClear={() => {\r\n eventOnFile(false);\r\n }}\r\n />\r\n\r\n};\r\n// UploadFile.displayName = \"UploadFile\";\r\n// export default UploadFile;\r\n\r\nconst WrapperHeader = styled.div`\r\n\tbackground-color: transparent;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n font-size: 14px;\r\n`;\r\n","import { GenericButton, Input } from \"shared/ui-basics/index\";\r\nimport { submitReportRequest } from \"@redux/index\";\r\nimport { encode, toastWrapper } from \"@utils/helpers\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport React, { useState } from \"react\";\r\nimport Offcanvas from \"react-bootstrap/Offcanvas\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Form, FormFeedback, FormGroup, Label } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport const SupportForm = ({ isOpen, onClose,subject}) => {\r\n\tconst dispatch = useDispatch();\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [request, setRequest] = useState({ subject: subject || \"\", message: \"\" });\r\n\tconst [invalidSub, setInvalidSub] = useState(false);\r\n\tconst [invalidDes, setInvalidDes] = useState(false);\r\n\r\n\tconst validation = () => {\r\n\t\tlet check = false;\r\n\t\tif (request.subject.length < 1) {\r\n\t\t\tsetInvalidSub(true);\r\n\t\t}\r\n\t\tif (request.message.length < 1) {\r\n\t\t\tsetInvalidDes(true);\r\n\t\t}\r\n\t\tif (request.subject.length > 0 && request.message.length > 0) {\r\n\t\t\tsetInvalidSub(false);\r\n\t\t\tsetInvalidDes(false);\r\n\t\t\tcheck = true;\r\n\t\t}\r\n\t\treturn check;\r\n\t};\r\n\r\n\tconst handleSubmit = async (e) => {\r\n\t\te.preventDefault();\r\n\t\tif (validation()) {\r\n\t\t\tonClose();\r\n\t\t\tconst promise = async () => {\r\n\t\t\t\tconst { error } = await dispatch(submitReportRequest(encode(request.subject), encode(request.message)));\r\n\t\t\t\tif (error) throw error;\r\n\t\t\t\tsetRequest({ subject: \"\", message: \"\" });\r\n\t\t\t};\r\n\r\n\t\t\ttoastWrapper(promise, \"SEND\");\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleChange = ({ target: input }) => {\r\n\t\tsetRequest({ ...request, [input.name]: input.value.truncate(input.name === \"subject\" ? 200 : 2000) });\r\n\t\tif (input.name === \"subject\") setInvalidSub(false);\r\n\t\tif (input.name === \"message\") setInvalidDes(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"CONTACT_US\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{invalidSub && {t(\"support_subject_error\")}}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{invalidDes && {t(\"support_description_error\")}}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{t(\"ASPX_7\")}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\nexport const TextArea = styled(InputTextarea)`\r\n\tmargin-top: 1rem;\r\n\twidth: 100%;\r\n\t:focus {\r\n\t\tborder: 1px solid #18aead !important;\r\n\t\t-webkit-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\t-moz-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\tbox-shadow: 0 0 3px #9df2f2 !important;\r\n\t}\r\n\t&:hover {\r\n\t\tborder-color: #18aead !important;\r\n\t}\r\n`;\r\n\r\nconst OffCanvasWrap = styled(Offcanvas)`\r\n\tmargin-top: 40px;\r\n`;\r\n\r\nconst OffCanvasHeader = styled(Offcanvas.Header)`\r\n\tborder-bottom: 1px solid grey;\r\n`;\r\n\r\nconst SubjectInput = styled(Input)`\r\n\tmargin-top: 6px;\r\n\tmargin-bottom: 50px;\r\n`;\r\n\r\nconst CustomTextArea = styled(Input)`\r\n\tresize: none !important;\r\n\theight: 300px;\r\n\tmargin-top: 6px;\r\n\tmargin-bottom: 50px;\r\n`;\r\n","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Editor from 'shared/components/Editor/Editor';\r\nimport { IconDispatcher } from 'shared/Icons';\r\nimport { Button } from 'shared/ui-basics';\r\nimport { Flex } from '../modals/comment-center.style';\r\n\r\ntype Props = {\r\n value?: string;\r\n onSubmit: (value: string, mentions:any) => void;\r\n placeholder?: string;\r\n autoFocus?: boolean;\r\n}\r\n\r\nconst CommentEditor = (props: Props) => {\r\n const { t } = useTranslation();\r\n const [mentions, setMentions] = React.useState([]);\r\n const [value, setValue] = React.useState(props.value || '');\r\n\r\n const onSubmit = () => {\r\n props.onSubmit(value,mentions);\r\n setValue('');\r\n }\r\n const onClickEnter = (e: React.KeyboardEvent) => {\r\n if (e.key === 'Enter' && !e.shiftKey && value !== '') {\r\n e.preventDefault();\r\n onSubmit();\r\n }\r\n }\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\n\r\nexport default CommentEditor;","import { createContext, useContext, useState } from \"react\";\r\nimport { useAxiosInterceptor } from \"shared/hooks\";\r\nimport { useSignalR } from \"../hooks\";\r\n\r\nconst HubConnectionContext = createContext();\r\n\r\nexport const HubConnectionProvider = ({ children }) => {\r\n const [connection, setConnection] = useState(null);\r\n const [connectionId, setConnectionId] = useState(null);\r\n const { updateConnectionID } = useAxiosInterceptor() \r\n\r\n const updateConnectionId = (connectionId) => {\r\n setConnectionId(connectionId);\r\n updateConnectionID(connectionId);\r\n\r\n };\r\n const updateConnection = (connection) => {\r\n setConnection(connection);\r\n updateConnectionId(connection.connectionId);\r\n }\r\n\r\n useSignalR({ name: \"realTimeManager\", updateConnection });\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport const useHubConnection = () => useContext(HubConnectionContext);","import { StripHtml } from \"@utils/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport InsightType from \"shared/ui-basics/ui-components/InsightType\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\ninterface InsightPickListCardProps {\r\n\tinsight: any;\r\n}\r\n\r\nconst InsightPickListCard: React.FC = ({ insight}) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst name = insight?.name ? insight.name : t(\"NEW_INSIGHT_NAME\");\r\n\tconst description = StripHtml(insight?.description || \"\");\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{IconDispatcher(\"gem\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{name}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{description && {description}}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nInsightPickListCard.displayName = \"InsightPickListCard\";\r\nexport default InsightPickListCard;\r\n\r\nconst Container = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n`;\r\n\r\nconst TitleContainer = styled.div`\r\n\tposition: relative;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #262626;\r\n\tfont-size: 14px;\r\n\tfont-weight: 600;\r\n\ttext-indent: 2rem;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 1;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden;\r\n`;\r\n\r\nconst LogoContainer = styled.div`\r\n\tposition: absolute;\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\t.svg {\r\n\t\twidth: 24px;\r\n\t\theight: 24px;\r\n\t}\r\n`;\r\n\r\nconst Logo = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tborder: 1px solid #262626;\r\n\tborder-radius: 50%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tbackground-color: #fff;\r\n`;\r\n\r\nconst Description = styled.div`\r\n\twidth: 100%;\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2;\r\n\t-webkit-box-orient: vertical;\r\n\ttext-overflow: ellipsis;\r\n\tcolor: #262626;\r\n\tfont-style: normal;\r\n\tfont-size: 14px;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n`;\r\n\r\nconst InsightTypeContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-self: flex-start;\r\n`;\r\n","import { useSelector } from \"react-redux\";\r\nimport { FilterTemplate } from \"./FilterTemplate\";\r\n\r\ninterface InsightTypeFilterProps {\r\n\tinnerRef: React.RefObject<{\r\n\t\tgetFilters: () => string[];\r\n\t}>;\r\n\thandleApply: () => void;\r\n}\r\n\r\nexport const InsightTypeFilter: React.FC = ({ innerRef, handleApply }) => {\r\n\tconst insightTypes = useSelector((state: any) => state.libraries?.insightTypes) as any[] | undefined;\r\n\r\n\treturn ;\r\n};\r\n","import InsightPickListCard from \"features/insights/components/cards/insight-pick-list-card\";\r\nimport EditInsights from \"features/insights/modals/EditInsights\";\r\nimport { InsightTypeFilter } from \"features/journey-map/modals/AdvancedSearch/InsightTypeFilter\";\r\nimport { JourneyFilter } from \"features/journey-map/modals/AdvancedSearch/JourneyFilter\";\r\nimport { PersonaFilter } from \"features/journey-map/modals/AdvancedSearch/PersonaFilter\";\r\nimport { CheckBox, EmptyIconContainer, EmptyList, FiltersContainer, ListItem, ListItemsContainer } from \"features/journey-map/modals/AdvancedSearch/Style\";\r\nimport { TagFilter } from \"features/journey-map/modals/AdvancedSearch/TagFilter\";\r\nimport { TouchpointFilter } from \"features/journey-map/modals/AdvancedSearch/TouchpointFilter\";\r\nimport { memo, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { List } from \"react-virtualized\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { createInsight } from \"redux/index\";\r\nimport { Button, GenericButton, IconDispatcher, SearchBar } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport { createDefaultInsight, encode } from \"utils/helpers\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\n// Types for props and other elements\r\ninterface InsightAdvancedSearchModalProps {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tlink: (ids: string[], event: any) => void;\r\n\tselectedInsightsIds?: string[];\r\n}\r\n\r\nconst InsightAdvancedSearchModal = memo(({ isOpen, onClose, link, selectedInsightsIds = [] }: InsightAdvancedSearchModalProps) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst insightTypeRef = useRef(null);\r\n\tconst personaRef = useRef(null);\r\n\tconst cjmRef = useRef(null);\r\n\tconst touchpointRef = useRef(null);\r\n\tconst tagRef = useRef(null);\r\n\r\n\tconst userInfo = useSelector(({ auth }: any) => auth?.userInfo);\r\n\tconst showSampleData = useSelector((state: any) => state.settings.organization.showSampleData);\r\n\tconst insights: any[] = useSelector((state: any) => state?.insights?.all_insights || [])\r\n\t\t.getActiveRecords(!showSampleData)\r\n\t\t?.filter((insight: any) => !selectedInsightsIds?.includes(insight?.id));\r\n\r\n\tconst [filteredInsights, setFilteredInsights] = useState(insights);\r\n\tconst [selectedIds, setSelectedIds] = useState([]);\r\n\tconst [searchedValue, setSearchedValue] = useState(\"\");\r\n\r\n\tconst [showEditModal] = useModal(EditInsights);\r\n\r\n\tconst applyFilters = () => {\r\n\t\tconst insightTypeFilters = insightTypeRef?.current?.getFilters();\r\n\t\tconst personaFilters = personaRef?.current?.getFilters();\r\n\t\tconst cjmFilters = cjmRef?.current?.getFilters();\r\n\t\tconst touchpointFilters = touchpointRef?.current?.getFilters();\r\n\t\tconst tagFilters = tagRef?.current?.getFilters();\r\n\r\n\t\tconst filtered = insights?.filter((insight) => {\r\n\t\t\treturn (\r\n\t\t\t\t(!insightTypeFilters?.length || insightTypeFilters.includes(insight?.typeId)) &&\r\n\t\t\t\t(!personaFilters?.length || personaFilters.some((id: string) => insight?.linkedPersonas?.includes(id))) &&\r\n\t\t\t\t(!cjmFilters?.length || cjmFilters.some((id: string) => Object.keys(insight?.linkedCjms || {}).includes(id))) &&\r\n\t\t\t\t(!touchpointFilters?.length || touchpointFilters.some((id: string) => insight?.linkedTouchpoints?.includes(id))) &&\r\n\t\t\t\t(!tagFilters.length || tagFilters.some((id: string) => insight?.tags?.includes(id)))\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\tsetFilteredInsights(filtered);\r\n\t};\r\n\r\n\tconst handleSearch = (e: React.ChangeEvent) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetSearchedValue(value);\r\n\t};\r\n\r\n\tconst handleSelectInsight = (id: string) => {\r\n\t\tif (!selectedIds?.includes(id)) setSelectedIds([...selectedIds, id]);\r\n\t\telse setSelectedIds(selectedIds.filter((sId) => sId !== id));\r\n\t};\r\n\r\n\tconst addSelected = (e: React.MouseEvent) => {\r\n\t\tif (onClose) onClose();\r\n\t\tlink(selectedIds, e);\r\n\t\t// selectedIds?.forEach((selectedId) => link(selectedId, e));\r\n\t};\r\n\r\n\tconst recordsToDisplay = filteredInsights?.filter((is) => is?.name?.toLowerCase()?.includes(searchedValue)).sort((a, b) => a.name.localeCompare(b.name));\r\n\r\n const createNewInsight = () => {\r\n if (onClose) onClose();\r\n\t\tconst item = createDefaultInsight({name: encode(searchedValue.truncate(100, true)), currentUser: userInfo });\r\n const onLinkSuccess = () => showEditModal({ insightId: item.id });\r\n\t\tcreateInsight({ item, onSuccess: () => link(item.id, onLinkSuccess) });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"ADVANCED_SEARCH\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{recordsToDisplay?.length > 0 ? (\r\n\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t handleSelectInsight(recordsToDisplay[index].id)}>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t {}} />\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"magnifying-glass\", \"\", { style: \"thin\" })}\r\n\t\t\t\t\t\t\t
{t(\"NO_RECORD_TO_DISPLAY\")}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ADD_INSIGHT\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\nInsightAdvancedSearchModal.displayName = \"InsightAdvancedSearchModal\";\r\nexport { InsightAdvancedSearchModal };\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 1140px;\r\n`;\r\n","import { createInsight } from \"features/insights/reducer/InsightActions\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { FlexAlignCenter, GenericButton } from \"shared/ui-basics\";\r\nimport InsightType from \"shared/ui-basics/ui-components/InsightType\";\r\nimport styled from \"styled-components/macro\";\r\nimport { createDefaultInsight, EMPTY_GUID, encode } from \"utils/helpers\";\r\n\r\ninterface InsightCreateNewItemProps {\r\n\tlink?: (id: string, e: any) => void;\r\n\tinput: string;\r\n\tclearInput: () => void;\r\n}\r\n\r\nconst InsightCreateNewItem: React.FC = ({ link, input, clearInput }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst op = useRef();\r\n\tconst insightTypes = useSelector((state: any) => state.libraries?.insightTypes);\r\n\tconst userInfo = useSelector(({ auth }: any) => auth?.userInfo);\r\n\r\n\tconst getTypeId = () => {\r\n\t\tconst typeId = localStorage.getItem(\"lastUsedInsightTypeId\");\r\n\t\tif (insightTypes?.find((it: any) => it.id === typeId)) return typeId;\r\n\t\telse if (insightTypes?.find((it: any) => it.id === insightTypes[0]?.id)) return insightTypes[0]?.id;\r\n\t\treturn EMPTY_GUID;\r\n\t};\r\n\tconst [selectedTypeId, setSelectedTypeId] = useState(getTypeId());\r\n\r\n\tconst handleCreate = (e: any) => {\r\n\t\tclearInput();\r\n\t\tlocalStorage.setItem(\"lastUsedInsightTypeId\", selectedTypeId);\r\n\t\tconst currentTypeId = insightTypes?.find((it: any) => it.id === selectedTypeId) ? selectedTypeId : EMPTY_GUID;\r\n\r\n\t\tconst item = createDefaultInsight({ currentUser: userInfo, name: encode(input.truncate(100, true)), typeId: currentTypeId });\r\n\t\tcreateInsight({ item, onSuccess: link ? () => link(item.id, e) : () => {}});\r\n };\r\n \r\n const handleSelect = (e, typeId) => {\r\n e?.stopPropagation()\r\n setSelectedTypeId(typeId)\r\n op?.current?.toggle(e)\r\n }\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"JS_87\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{input}\r\n\t\t\t\t\r\n\t\t\t\t op.current.toggle(e)}>\r\n
{selectedTypeId !== EMPTY_GUID ? : t(\"PLEASE SELECT_TYPE\")}
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{insightTypes\r\n\t\t\t\t\t\t\t?.filter((it) => it?.id !== selectedTypeId)\r\n\t\t\t\t\t\t\t?.map((it) => (\r\n\t\t\t\t\t\t\t\t handleSelect(e, it?.id)}>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nInsightCreateNewItem.displayName = \"InsightCreateNewItem\";\r\nexport default InsightCreateNewItem;\r\n\r\nconst MenuItemContainer = styled.div`\r\n\twidth: 100%;\r\n`;\r\n\r\nconst NewItemCreation = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tpadding: 4px;\r\n\twidth: 100%;\r\n\tgap: 8px;\r\n\r\n\t:hover {\r\n\t\tborder-radius: 4px;\r\n\t\tbackground: #f5f5f5;\r\n\t}\r\n`;\r\n\r\nconst Text = styled.div`\r\n\toverflow: hidden;\r\n\tcolor: #262626;\r\n\ttext-overflow: ellipsis;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nconst CustomOverlayPanel = styled(OverlayPanel)`\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n\r\n\t.p-overlaypanel-close {\r\n\t\tbackground: #f96209;\r\n\t\tcolor: #ffffff;\r\n\t\twidth: 1.5rem;\r\n\t\theight: 1.5rem;\r\n\t\ttransition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\r\n\t\tborder-radius: 50%;\r\n\t\tposition: absolute;\r\n\t\ttop: -12px;\r\n\t\tright: -12px;\r\n\t}\r\n`;\r\n\r\nconst ItemsContainer = styled.div`\r\n\theight: 100%;\r\n\twidth: 100%;\r\n\tpadding: 8px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 4px;\r\n max-height: 200px;\r\n overflow: scroll;\r\n`;\r\n\r\nconst TypeContainer = styled.div`\r\n\tborder-radius: 4px;\r\n\tpadding: 4px;\r\n\t:hover {\r\n cursor: pointer;\r\n\t\tbackground-color: #efefef;\r\n\t}\r\n`;\r\n","import { getPrompt } from \"features/ai/prompts/AI_prompt\";\r\nimport { getAllMapsParams } from \"features/comments/helpers\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { allInsightTypes, getAllTouchpoints, getInteractionSelector } from \"redux/memoizedSelectors\";\r\nimport { encode } from \"utils/helpers\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { createInsight, linkInsightRecords, linkInteraction } from \"../../../../redux/index\";\r\n\r\ntype DropdownAIProps = {\r\n aiParameters?: any;\r\n closeDropdown?: () => void;\r\n link?: (id: string) => void;\r\n};\r\n\r\ntype ItemAIProps = {\r\n title: string;\r\n description: string;\r\n relatedTouchpoint?: string;\r\n type?: string;\r\n};\r\n\r\n\r\n\r\nexport const useAIParams = ({ aiParameters, closeDropdown, link }: DropdownAIProps) => {\r\n const { personaIdStr } = getAllMapsParams(useLocation().search);\r\n\r\n const { t } = useTranslation();\r\n const [showAI, setShowAI] = useState(false);\r\n const allTouchpoints = useSelector(getAllTouchpoints)\r\n const insightsTypes = useSelector(allInsightTypes)\r\n const interactions: any[] = useSelector(getInteractionSelector(personaIdStr,aiParameters?.stageId));\r\n\r\n\r\n if (!aiParameters) return {};\r\n\r\n const { stageName, swimlaneKey, stageId } = aiParameters || {};\r\n\r\n const handleRelations = (item: ItemAIProps, data: any) => {\r\n const { relatedTouchpoint } = item || {}; // new opportunity generated by ai\r\n const { id } = data || {};\r\n if (link) link(id);\r\n\r\n // Link related Touchpoints\r\n if (relatedTouchpoint) {\r\n const touchpointId = allTouchpoints.find((t: any) => t.name.toLowerCase() === relatedTouchpoint.toLowerCase())?.id;\r\n if (touchpointId) {\r\n // this is regular link on opportunity record to touchpoint\r\n linkInsightRecords({ itemId: id, recIds: [touchpointId], recEntityName: 'cem_touchpoints', attribute: 'linkedTouchpoints' })\r\n\r\n // this is link on persona interaction record to opportunity\r\n if (interactions?.length > 0) {\r\n const personaInteraction = interactions.find((inter: any) => inter?.touchPointId === touchpointId);\r\n if (personaInteraction)\r\n linkInteraction({\r\n recIds: [id],\r\n stageId,\r\n itemId: personaInteraction.id,\r\n attribute: \"linkedActions\",\r\n recEntityName: \"cem_cxactiontask\",\r\n } as any);\r\n }\r\n }\r\n }\r\n\r\n };\r\n const handleCreateAIItems = (items: ItemAIProps[]) => {\r\n\r\n items.forEach((item: ItemAIProps) => {\r\n\r\n const { title, description, type } = item || {}; // new opportunity generated by ai\r\n const insightTypeId = insightsTypes.find((t: any) => t.name.trim().toLowerCase() === type?.trim()?.toLowerCase())?.id;\r\n createInsight({\r\n item: {\r\n id: uuid(),\r\n name: encode(title),\r\n typeId: insightTypeId,\r\n description: encode(description),\r\n },\r\n onSuccess: (data: any) => handleRelations(item, data),\r\n } as any);\r\n });\r\n };\r\n const handleOpen = () => {\r\n if (!stageName) return toast.info(t(\"STAGE_NAME_REQUIRED\"));\r\n return setShowAI(true);\r\n };\r\n const handleClose = (all?: boolean) => {\r\n setShowAI(false);\r\n if (all && closeDropdown) closeDropdown();\r\n };\r\n\r\n const aiParams = {\r\n show: showAI,\r\n openAI: handleOpen,\r\n ComponentParams: {\r\n onClose: handleClose,\r\n getPrompt: getPrompt.CJM_INSIGHT,\r\n onSave: handleCreateAIItems,\r\n stageId,\r\n swimlaneKey,\r\n },\r\n };\r\n\r\n return { aiParams: aiParams };\r\n};\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport InsightPickListCard from \"features/insights/components/cards/insight-pick-list-card\";\r\nimport { InsightAdvancedSearchModal } from \"features/journey-map/swimlanes/insights/modals/AdvancedSearchModal\";\r\nimport { useSelector } from \"react-redux\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport InsightCreateNewItem from \"../components/insight-create-new-item\";\r\nimport RenderAdvancedModalFooter from \"../components/RenderAdvancedFooter\";\r\nimport { useAIParams } from \"./InsightDropdownAI\";\r\n\r\ninterface InsightDropdownProps {\r\n\tlink?: (id: string, e?: any) => void;\r\n\tcloseDropdown?: () => void;\r\n\tselected?: any;\r\n\tisOpen?: boolean;\r\n\tisSwitchDisabled?: boolean;\r\n\tshowShadow?: boolean;\r\n\tglobalWidth?: string;\r\n\taiParameters?: any;\r\n}\r\n\r\nexport const InsightDropdown = ({ selected, link, isOpen = false, isSwitchDisabled = false, showShadow = false, closeDropdown, globalWidth ,aiParameters}: InsightDropdownProps): JSX.Element => {\r\n\r\n\tconst showSampleData = useSelector(({ settings }: any) => settings.organization?.showSampleData);\r\n\tconst allInsights = useSelector((state: any) => state.insights?.all_insights.getActiveRecords(!showSampleData));\r\n\tconst aiParams = useAIParams({ aiParameters, closeDropdown, link });\r\n\r\n\r\n\tconst params: any = {\r\n\t\tselected: [],\r\n\t\toptions: allInsights,\r\n\t\tplaceholder: \"SEARCH_OR_CREATE\",\r\n\t\tmenuLabel: \"SELECT_OR_CREATE\",\r\n\t\trenderSelectedItem: () => <>,\r\n\t\trenderMenuItem: ({ item }: any) => (\r\n\t\t\t
link(item?.id, e) : undefined}>\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t),\r\n\t\tlinkMenuItem: ({ e, item }: any) => {\r\n\t\t\tif (link) link(item?.id, e);\r\n\t\t},\r\n\t\tfilter: ({ query, option }: any) => {\r\n\t\t\tconst ins = allInsights.find((t: any) => t.id === option?.id);\r\n\t\t\tif (ins && !selected?.includes(ins.id)) return ins?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t\trenderCreateItem: ({ input, clearInput, close }: any) => ,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t\tglobalWidth,\r\n\t\tvirtualScrollerParams: {\r\n\t\t\trowHeight: 96,\r\n\t\t},\r\n\t\tRenderFooter: RenderAdvancedModalFooter({ closeDropdown, link, selected, modal: InsightAdvancedSearchModal }),\r\n\t\tshowShadow,\r\n\t\t...aiParams,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\n\r\n","import { useSelector } from \"react-redux\";\r\nimport PersonaBubble from \"../PersonaBubble\";\r\nimport { useState } from \"react\";\r\nimport { useImperativeHandle } from \"react\";\r\nimport { FlexAlignCenter } from \"shared/ui-basics\";\r\nimport { Dropdown as DropdownPrimeReact } from 'primereact/dropdown';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport styled from \"styled-components\";\r\nimport { useClickOutsides } from \"shared/hooks\";\r\nimport { useRef } from \"react\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\n\r\n\r\n\r\nconst PersonaSelection = ({ innerRef ,className='w-100',...props}) => {\r\n\r\n const {t} = useTranslation()\r\n const dropdownRef = useRef(null);\r\n const authorizedClickOuteClasses = [\"p-dropdown-item\",\"ellipsis ms-2\",\"PersonaBubble__PersonaImage-sc-bui15p-1 jaEAuo\",\"ui-basics__FlexAlignCenter-sc-zh9sy2-3 dWpHJU\"];\r\n const showSampleData = useSelector((state) => state.settings.organization.showSampleData);\r\n const personas = useSelector(({ personas }) => personas?.all_personas.getActiveRecords(!showSampleData) || []);\r\n const [selected, setSelected] = useState(props?.defaultselected ? personas?.[0]?.personaId || EMPTY_GUID : null);\r\n const hasDefault = selected === EMPTY_GUID;\r\n const ref = useClickOutsides(() => {\r\n if (dropdownRef.current) {\r\n dropdownRef.current?.hide();\r\n }\r\n },authorizedClickOuteClasses); // due to primereact menu outisde the root element\r\n\r\n\r\n\r\n const options = [...personas?.map((persona) => ({\r\n name: persona.name,\r\n value: persona.personaId\r\n })), hasDefault ? { name: t(\"DEFAULT\"), value: EMPTY_GUID } : null].filter(Boolean);\r\n const [allOptions, setAllOptions] = useState(options);\r\n const onChange = (e) => setSelected(e.value);\r\n\r\n\r\n // to retrieve from parent component\r\n useImperativeHandle(innerRef, () => ({\r\n getSelectedPersona: () => selected,\r\n setSelectedPersona: (personaId) => setSelected(personaId),\r\n setOptions : (optionss) => {\r\n setAllOptions(options.filter((option) => optionss.includes(option.value)))\r\n },\r\n cleanOptions : () => setAllOptions(options)\r\n\r\n\r\n }))\r\n\r\n // template component for the dropdown\r\n const Personalabel = (option, props) => {\r\n if (option) {\r\n const persona = personas?.find((persona) => persona.personaId === option.value);\r\n return (\r\n \r\n \r\n
{option?.name}
\r\n
\r\n );\r\n }\r\n\r\n return props && {props.placeholder};\r\n };\r\n return (\r\n
\r\n \r\n
\r\n\r\n\r\n )\r\n}\r\n\r\nconst Dropdown = styled(DropdownPrimeReact)`\r\n.p-inputtext {\r\n padding: 0.4rem 0.75rem;\r\n}\r\n\r\n`\r\n\r\nexport default PersonaSelection;","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport styled from 'styled-components';\r\n\r\n\r\n\r\nconst SelectButton = ({ options, selected, onChange ,hideSwimlaneSelection}) => {\r\n const { t } = useTranslation()\r\n const isSelected = (option) => selected.includes(`${option?.key}`);\r\n\r\n const Button = styled.button`\r\n border-radius: 18px;\r\n background-color: ${props => isSelected(props.option) ? '#333333' : '#FFFFFF'};\r\n color: ${props => isSelected(props.option) ? '#EFEFEF' : '#333333'};\r\n border: 1px solid #333333;\r\n padding: 8px;\r\n width: fit-content;\r\n cursor: pointer;\r\n height: 38px;\r\n font-size: 14px;\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-family: Inter;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: normal;\r\n pointer-events: ${hideSwimlaneSelection ? 'none' : 'auto'};\r\n opacity: ${hideSwimlaneSelection ? '0.5' : '1'};\r\n\r\n `;\r\n\r\n return (\r\n
\r\n {options.map((option) => (\r\n onChange(`${option?.key}`)}\r\n >\r\n {t(option.label)}\r\n \r\n ))}\r\n
\r\n );\r\n};\r\n\r\n\r\nexport default SelectButton;","import { InputGroup, InputGroupText, Modal as ReactModal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport styled from \"styled-components\";\r\n\r\n\r\nexport const Modal = styled(ReactModal)`\r\n\twidth: 796px !important;\r\n max-width: 796px !important;\r\n textarea {\r\n\t\tbackground-color: transparent;\r\n\t\twidth: calc(100% - 42px);\r\n\t\tcolor: #333333;\r\n\t\tresize: none;\r\n\t\toverflow: hidden;\r\n\t\tborder: none;\r\n\t\tpadding: 0.5rem;\r\n border: 1px solid #ced4da;\r\n border-radius: 5px;\r\n border-left: 0;\r\n ::placeholder {\r\n color: #ced4da;\r\n font-size: 14px;\r\n font-style: italic;\r\n align-content: center;\r\n }\r\n\t}\r\n.modal-header {\r\n border: none;\r\n}\r\n.modal-footer {\r\n border:none;\r\n}\r\n.input-group-text {\r\n background-color: #ffffff !important;\r\n\r\n\r\n}\r\n.modal-content {\r\n /* background: linear-gradient(45deg, #F96209,#F8AD48, #18AEAD, #60C1EF, #3F3D56); */\r\n border: none !important;\r\n //padding: 2px;\r\n}\r\n.white-container {\r\n background: #ffffff;\r\n}\r\n.form-text {\r\n margin-left: 4px;\r\n font-size:12px;\r\n font-style: italic; // Added italic style\r\n\r\n }\r\n`;\r\nexport const Body = styled(ModalBody)`\r\npadding: 0px 1rem;\r\n`;\r\nexport const Footer = styled(ModalFooter)`\r\n`;\r\nexport const Header = styled(ModalHeader)`\r\n\tbackground: var(--AI-gradient-bg, linear-gradient(104deg, #FFEEE3 0.73%, #FFF8EE 32.71%, #E8F7FF 66.16%, #F1F0FF 97.16%));\r\n padding:16px;\r\n\r\n`;\r\nexport const Info = styled.div`\r\n font-size: 14px;\r\n font-weight: 400;\r\n color: #333333;\r\n border-radius: 4px;\r\nbackground: #EFEFEF;\r\ncolor: #605F60;\r\npadding: 8px;\r\nwidth: 100%;\r\n\r\nfont-family: Inter;\r\nfont-size: 12px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 150%;\r\n\r\n`\r\n","\r\n\r\nimport { Dropdown as DropdownPrimeReact } from 'primereact/dropdown';\r\nimport { useImperativeHandle, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useClickOutsides } from \"shared/hooks\";\r\nimport { FlexAlignCenter, Label } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\nimport { StatusCode } from 'utils/optionsSets/OptionSets';\r\n\r\n\r\n\r\nconst TemplateSelection = ({ innerRef, className = 'w-100', personaRef, setHideSwimlaneSelection, ...props }) => {\r\n\r\n const { t } = useTranslation()\r\n const dropdownRef = useRef(null);\r\n const authorizedClickOuteClasses = [\"p-dropdown-item\", \"ellipsis ms-2\", \"PersonaBubble__PersonaImage-sc-bui15p-1 jaEAuo\", \"ui-basics__FlexAlignCenter-sc-zh9sy2-3 dWpHJU\"];\r\n const template = useSelector((state) => state.maps.all_maps).filter((map) => map.isTemplate === true && map.statusCode === StatusCode.Active && map.templateStatus === 100000001);\r\n const templateCemantica = [\r\n { value: \"100000001\", name: t(\"ASPX_117\") },\r\n { value: \"100000003\", name: t(\"ASPX_256\") },\r\n { value: \"100000000\", name: t(\"ASPX_116\") },\r\n ];\r\n\r\n const [selected, setSelected] = useState(null);\r\n const ref = useClickOutsides(() => {\r\n if (dropdownRef.current) {\r\n dropdownRef.current?.hide();\r\n }\r\n }, authorizedClickOuteClasses); // due to primereact menu outisde the root element\r\n\r\n const organizationsTemplates = template.length > 0 ? [{\r\n label: t('YOUR_ORGANIZATION'), items: template.map((persona) => ({\r\n name: persona.name,\r\n value: persona.cjmId\r\n }))\r\n }] : [];\r\n\r\n const options = [{ label: t('CEMANTICA'), items: templateCemantica }, ...organizationsTemplates];\r\n\r\n const onChange = (e) => {\r\n setHideSwimlaneSelection(true)\r\n\r\n setSelected(e.value);\r\n if (e.value?.length > 10) {\r\n setHideSwimlaneSelection(true)\r\n const templatePersonas = template.find((temp) => temp.cjmId === e.value)?.linkedPersonas;\r\n const personaIds = templatePersonas?.map((persona) => persona.personaId);\r\n personaRef.current.setOptions(personaIds);\r\n personaRef.current.setSelectedPersona(personaIds[0]);\r\n return;\r\n }\r\n if (e.value === undefined) {\r\n personaRef.current.cleanOptions();\r\n setHideSwimlaneSelection(false)\r\n\r\n }\r\n }\r\n\r\n\r\n // to retrieve from parent component\r\n useImperativeHandle(innerRef, () => ({\r\n getSelectedTemplate: () => selected\r\n }))\r\n\r\n // template component for the dropdown\r\n const Templatelabel = (option, props) => {\r\n if (option?.items) {\r\n return \r\n }\r\n if (option) {\r\n return (\r\n \r\n
{option?.name}
\r\n
\r\n );\r\n }\r\n\r\n return props && {props.placeholder};\r\n };\r\n return (\r\n
\r\n \r\n
\r\n\r\n\r\n )\r\n}\r\n\r\nconst Dropdown = styled(DropdownPrimeReact)`\r\n.p-inputtext {\r\n padding: 0.4rem 0.75rem;\r\n}\r\n\r\n\r\n`\r\n\r\n\r\nexport default TemplateSelection;","import { createCJM, createPersona } from '@redux/index';\r\nimport { createAction } from '@reduxjs/toolkit';\r\nimport { EMPTY_GUID, encode, getLanguagebyCode } from '@utils/helpers';\r\nimport { InformationType, MapMode, StateTypeOption } from '@utils/optionsSets/OptionSets';\r\nimport { alexAssistantCjm } from 'features/ai/reducer/ai-actions';\r\nimport PersonaSelection from 'features/forms/personas/components/dropdown/PersonaSelection';\r\nimport React, { useImperativeHandle, useRef, useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory, useLocation } from 'react-router-dom/cjs/react-router-dom.min';\r\nimport TextareaAutosize from \"react-textarea-autosize\";\r\nimport { toast } from 'react-toastify';\r\nimport { Col, InputGroup, InputGroupText, Row } from 'reactstrap';\r\nimport { GenericButton, IconDispatcher, Input, Label } from 'shared/ui-basics';\r\nimport SelectButton from 'shared/ui-basics/ui-components/SelectButtons';\r\nimport { Body, Footer, Header, Info, Modal } from './ai-creation-style';\r\nimport TemplateSelection from 'features/journey-map/components/dropdown/templateSelection';\r\n\r\nexport default function AICreation({ isOpen, onClose }) {\r\n const { t, i18n } = useTranslation()\r\n\r\n const folderId = useLocation().search.getFolderId();\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const systemLanguage = getLanguagebyCode(i18n.language)\r\n const [hideSwimlaneSelection, setHideSwimlaneSelection] = useState(false)\r\n const industryRef = useRef(null);\r\n const swimlaneRef = useRef(null);\r\n const personaRef = useRef(null);\r\n const templateRef = useRef(null);\r\n\r\n const mapCreation = (params) => {\r\n const alexPrompt = `\r\n Generate a name and a summary for the following customer journey description: \"${params.name}\"\r\n Respond in the following JSON format only name and summary are required.\r\n Response in ${systemLanguage} language.\r\n *** Ex JSON Format *** \r\n {\r\n \"name\":\"generated name\",\r\n \"summary\": \"generated summary\"\r\n }\r\n\r\n `;\r\n\r\n const setAIGeneration = createAction(\"SET_AI_GENERATION\")\r\n dispatch(setAIGeneration(true))\r\n\r\n alexAssistantCjm({\r\n prompt: alexPrompt, max_tokens: 300, onSuccess: (response) => {\r\n if (response.name && response.summary) {\r\n params.name = response.name\r\n params.description = response.summary\r\n params.language = systemLanguage\r\n const SetCreationCJMParams = createAction(\"SET_CREATION_CJM_PARAMS\")\r\n dispatch(SetCreationCJMParams(params))\r\n createCJM({\r\n newCjmParams: params,\r\n\r\n onSuccess: (data) => {\r\n history.push(`/EditMap?cjmid=${data.cjmId}&personaId=${params.personaId}`)\r\n localStorage.setItem('recentlyGeneratedByAI', data.cjmId)\r\n dispatch(SetCreationCJMParams(null))\r\n dispatch(setAIGeneration(false))\r\n\r\n\r\n },\r\n onFailed: () => toast.error('FAILED_TO_CREATE_JOURNEY_MAP')\r\n })\r\n }\r\n }\r\n })\r\n\r\n history.push('/map-creation-loading')\r\n onClose()\r\n\r\n }\r\n\r\n const onSubmit = () => {\r\n const prompt = industryRef.current?.getPrompt();\r\n const swimlanes = swimlaneRef.current?.getSelectedSwimlane();\r\n const persona = personaRef.current?.getSelectedPersona();\r\n const template = templateRef.current?.getSelectedTemplate();\r\n if (!prompt) return toast.info(t('PLEASE_CJM_DESCRIPTION'))\r\n const params = {\r\n name: prompt,\r\n description: prompt,\r\n personaId: persona,\r\n aiGeneration: true,\r\n selectedLanes: swimlanes,\r\n mapMode: MapMode.Custom\r\n }\r\n if (persona === EMPTY_GUID) {\r\n createNewPersona(params)\r\n } else {\r\n if (template) {\r\n if (template.length < 10) {\r\n //cemantica template\r\n params.mapMode = Number(template)\r\n }\r\n else {\r\n //org template\r\n params.fromTemplateId = template\r\n params.isTemplate = true\r\n }\r\n }\r\n mapCreation(params);\r\n }\r\n\r\n }\r\n const createNewPersona = (params) => {\r\n const prompt = industryRef.current?.getPrompt();\r\n\r\n const alexPrompt = `\r\n Generate a persona relevant for the journey map description'${prompt}'.\r\n Response format (JSON):\r\n {\r\n \"name\": \"Persona Name(ex: John Doe)\",\r\n \"occupation\": \"Persona Occupation\",\r\n \"age\": \"Persona Age\",\r\n \"gender\": \"Persona gender(Man,Woman,Other)\",\r\n \"location\": \"Persona Location\",\r\n \"context\": \"Persona Context\"\r\n }\r\n `;\r\n history.push(\"/edit-persona-pending\");\r\n\r\n\r\n alexAssistantCjm({\r\n prompt: alexPrompt, max_tokens: 300, onSuccess: (response) => {\r\n if (response.name && response.occupation) {\r\n const newPersona = createDefaultPersona({\r\n name: response.name,\r\n occupation: response.occupation,\r\n age: response.age,\r\n gender: response.gender,\r\n language: systemLanguage,\r\n location: response.location,\r\n context: response.context\r\n })\r\n createPersona({\r\n item: newPersona,\r\n onSuccess: (data) => {\r\n params.personaId = data.personaId\r\n mapCreation(params)\r\n },\r\n onFailed: () => {\r\n toast.error(t('FAILED_TO_CREATE_PERSONA_AI'))\r\n history.push(\"/journey-map\")\r\n }\r\n\r\n })\r\n }\r\n\r\n },\r\n onFailed: () => {\r\n toast.error(t('FAILED_TO_CREATE_PERSONA_AI'))\r\n history.push(\"/journey-map\")\r\n }\r\n })\r\n onClose()\r\n\r\n }\r\n return (\r\n \r\n {/*
*/}\r\n
{t(\"GENERATE_CJM_HEADER\")}
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {t(\"GENERATE\")}\r\n \r\n
\r\n {IconDispatcher('INFO', 'me-1')}{t(\"AI_DATA_MAY_BE_INACURATE\")}\r\n {/* */}\r\n \r\n )\r\n}\r\n\r\nconst SwimlaneSelection = ({ innerRef, hideSwimlaneSelection }) => {\r\n\r\n const [value, setValue] = useState([`Touchpoints`]);\r\n\r\n const options = [\r\n { key: 'Touchpoints', label: 'TOUCHPOINTS', value: InformationType.AdvancedInteractions },\r\n { key: 'Pains', label: 'ADVANCED_CONS_SWIMLANE', value: InformationType.Insights },\r\n { key: 'Gains', label: 'JS_57', value: InformationType.Insights },\r\n { key: 'Findings', label: 'FINDINGS', value: InformationType.Insights },\r\n { key: 'Opportunities', label: 'OPPORTUNITIES', value: InformationType.Opportunity },\r\n { key: 'Solutions', label: 'SOLUTIONS', value: InformationType.Solution },\r\n\r\n\r\n ]\r\n\r\n const handleChange = (selectedValue) => {\r\n if (selectedValue === 'Touchpoints') return\r\n setValue((prevValue) =>\r\n prevValue?.includes(selectedValue)\r\n ? prevValue.filter((value) => value !== selectedValue)\r\n : [...prevValue, selectedValue]\r\n );\r\n };\r\n\r\n useImperativeHandle(innerRef, () => ({\r\n getSelectedSwimlane: () => value\r\n }))\r\n\r\n return (\r\n \r\n )\r\n}\r\nconst IndustryDescription = ({ innerRef }) => {\r\n const { t } = useTranslation()\r\n\r\n const [prompt, setPrompt] = React.useState('')\r\n\r\n const handleChange = (e) => {\r\n setPrompt(e.target.value)\r\n }\r\n useImperativeHandle(innerRef, () => ({\r\n getPrompt: () => prompt\r\n }))\r\n\r\n return \r\n \r\n \r\n}\r\nconst IconGroup = ({ icon, children }) => {\r\n return (\r\n \r\n \r\n {IconDispatcher(icon)}\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nconst createDefaultPersona = ({ name, occupation, age, gender, language, location, context }) => ({\r\n name: name,\r\n occupation: occupation ?? \"\",\r\n age: age ?? \"\",\r\n gender: gender?.replace(\"Female\", \"Woman\").replace(\"Male\", \"Man\"),\r\n isFuture: StateTypeOption.CurrentState,\r\n standardImage: \"\",\r\n customImage: \"upload\",\r\n imageExtension: \"\",\r\n isTemplate: false,\r\n aiGeneration: true,\r\n language: language,\r\n location: location ?? \"\",\r\n context: context ?? \"\",\r\n})","import { Dropdown } from \"primereact/dropdown\";\r\nimport { Label } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\nexport const FieldWrapper = styled.div`\r\n\tmargin-bottom: 24px;\r\n`;\r\n\r\nexport const LabelWrapper = styled(Label)`\r\n\tcolor: #92919d;\r\n\tmargin-bottom: 16px;\r\n`;\r\n\r\nexport const DisplayFlexWrap = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\talign-items: center;\r\n\tborder: 1px solid #d9dbde;\r\n\t${(props) =>\r\n\t\tprops.disabled &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t`}\r\n\r\n\tsvg {\r\n\t\tcursor: pointer;\r\n\t\twidth: 35px;\r\n\t\theight: 35px;\r\n\t}\r\n`;\r\n\r\nexport const DivDropdown = styled.div`\r\n\t.p-dropdown {\r\n\t\t:hover {\r\n\t\t\tborder-color: #9df2f2;\r\n\t\t}\r\n\t\t:active {\r\n\t\t\tborder-color: #9df2f2 !important;\r\n\t\t}\r\n\t}\r\n\t.p-focus {\r\n\t\tborder-color: #18aead !important;\r\n\t\t-webkit-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\t-moz-box-shadow: 0 0 3px #9df2f2 !important;\r\n\t\tbox-shadow: 0 0 3px #9df2f2 !important;\r\n\t}\r\n`;\r\nexport const DropdownWrapper = styled(Dropdown)`\r\n\t/* min-width:auto !important; */\r\n\t/* z-index:1056 !important; */\r\n\r\n\t/* z-index:1056 !important; */\r\n`;\r\nexport const ButtonWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-evenly;\r\n`;\r\nexport const FooterDiv = styled.div`\r\n\tpadding-top: 1rem;\r\n\tdisplay: flex;\r\n\tjustify-content: ${(props) => (props.IsDeleteAllowed ? \"space-between\" : \"flex-end\")};\r\n\t/* border-top:1px solid #E5E5E5 !important; */\r\n\twidth: 100%;\r\n`;\r\nexport const WrapperBox = styled.div`\r\n\tborder-radius: 4px;\r\n\tbackground: ${(props) => (props.active ? ColorCheck(props.type, true) : \"#ffffff\")};\r\n\tcolor: ${(props) => (props.active ? ColorCheck(props.type) : \"#92919D\")};\r\n\twidth: fit-content;\r\n`;\r\nconst ColorCheck = (type, bg = false) => {\r\n\tif (bg === false) {\r\n\t\tswitch (type) {\r\n\t\t\tcase \"emotional\":\r\n\t\t\t\treturn \"#B25BFF\";\r\n\t\t\tcase \"functional\":\r\n\t\t\t\treturn \"#20A9E9\";\r\n\r\n\t\t\tdefault:\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\tif (bg === true) {\r\n\t\tswitch (type) {\r\n\t\t\tcase \"emotional\":\r\n\t\t\t\treturn \"#EED8FF\";\r\n\t\t\tcase \"functional\":\r\n\t\t\t\treturn \"#D2EEFB\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t}\r\n};\r\nexport const ImgWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tflex-basis: 6%;\r\n\tborder: 1px solid transparent;\r\n\t${(props) => props.selected && `border:1px solid #18AEAD;`}\r\n`;\r\n","import { addBrandValue, updateBrandValue } from \"@redux/index\";\r\nimport { encode, isUserAllowed } from \"@utils/helpers\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Form, FormFeedback } from \"reactstrap\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { EditorWrapper } from \"shared/cx-components/style\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { GenericButton, IconDispatcher, Input } from \"shared/ui-basics/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport * as Styles from \"./Styles\";\r\n\r\nconst BrandValueForm = ({ index, selectedBrandValue, mood = \"update\", callbackCreateBrandValue, onClose, onDelete, hideCreateModal }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst brandValueType = [\r\n\t\t{ name: \"Functional\", type: 100000001 },\r\n\t\t{ name: \"Emotional\", type: 100000000 },\r\n\t];\r\n\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\r\n\tconst [currentBrandValue, setBrandValue] = useState(selectedBrandValue || { type: brandValueType[0].type, number: Number(1) });\r\n\tconst [attributeToUpdate, setAttributeToUpdate] = useState([]);\r\n\tconst isDeleteAllowed = isUserAllowed(userType, \"delete-library\");\r\n\r\n\tconst handleChangeDescription = (value) => {\r\n\t\tsetBrandValue((prevState) => ({ ...prevState, description: value }));\r\n\t\tif (!attributeToUpdate?.find((x) => x === \"description\")) attributeToUpdate.push(\"description\");\r\n\t};\r\n\r\n\tconst onBrandValueTypeChange = (e) => {\r\n\t\tsetBrandValue({ ...currentBrandValue, type: e.value?.type });\r\n\t\tif (!attributeToUpdate?.find((x) => x === \"type\")) attributeToUpdate.push(\"type\");\r\n\t};\r\n\r\n\tconst selectBrand = (n) => {\r\n\t\tsetBrandValue({ ...currentBrandValue, number: Number(n) });\r\n\t\tif (!attributeToUpdate?.find((x) => x === \"number\")) attributeToUpdate.push(\"number\");\r\n\t};\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tconst { name, value } = e.target;\r\n\t\tsetBrandValue({ ...currentBrandValue, [name]: value });\r\n\t\tif (!attributeToUpdate?.find((x) => x === name)) attributeToUpdate.push(name);\r\n\t};\r\n\r\n\tconst selectedbrandValueType = (option, props) => {\r\n\t\tif (option) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{IconDispatcher(getTypeIcon(option?.name), \"me-1\", { size: \"lg\" })}\r\n\t\t\t\t\t\t{t(option?.name.toUpperCase())}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn {props.placeholder};\r\n\t};\r\n\r\n\tconst brandValueTypeOptionTemplate = (option) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
{IconDispatcher(getTypeIcon(option?.name), \"me-1\", { size: \"lg\" })}
\r\n\t\t\t\t
{t(option?.name.toUpperCase())}
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst getTypeIcon = (name) => {\r\n\t\tswitch (name.toLowerCase()) {\r\n\t\t\tcase \"functional\":\r\n\t\t\t\treturn \"BRAIN\";\r\n\t\t\tcase \"emotional\":\r\n\t\t\t\treturn \"HEART\";\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\tconst create = () => {\r\n\t\tif (currentBrandValue?.name && !currentBrandValue?.name.isEmptyString()) {\r\n\t\t\taddBrandValue({ brandValue: currentBrandValue, onSuccess: (responseData) => callbackCreateBrandValue && callbackCreateBrandValue(responseData, onClose) });\r\n\t\t\tconst newBrand = { type: brandValueType[0].type, number: Number(1) };\r\n\t\t\tsetBrandValue(newBrand);\r\n\t\t} else {\r\n\t\t\tsetBrandValue({ ...currentBrandValue, name: \"\" });\r\n\t\t}\r\n\t\thideCreateModal && hideCreateModal();\r\n\t};\r\n\r\n\tconst update = () => {\r\n\t\tonClose()\r\n\t\tif (currentBrandValue?.name !== undefined && currentBrandValue?.name !== \"\" && attributeToUpdate.length > 0) {\r\n\t\t\tconst copy = { ...currentBrandValue };\r\n\t\t\tcopy.description = copy.description ? encode(copy.description?.truncate(20000,true)) : \"\";\r\n\t\t\tcopy.name = copy.name ? encode(copy.name?.truncate(100,true)) : \"\";\r\n\t\t\tupdateBrandValue({ modifiedBrandValue: copy, modifiedAttribNames: attributeToUpdate });\r\n\t\t}\r\n\t};\r\n\r\n\tconst deleteCustom = () => {\r\n\t\tonDelete(selectedBrandValue.id);\r\n\t\tonClose();\r\n\t};\r\n\r\n\tconst [showModalDelete] = useModal(ActionConfirmModal, {\r\n\t\ttitle: t(\"ASPX_145\"),\r\n\t\tbodyContent: \"DELETE_BRAND_VALUE\",\r\n\t\tAction: deleteCustom,\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst getIconNumber = () => {\r\n\t\tconst number = Number(currentBrandValue?.number);\r\n\t\tif (!number || number === \"\" || number > 16) return 1;\r\n\t\treturn number;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t(\"JS_53\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"BRAND_VALUE_NAME_MISSING\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(\"ASPX_9\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"SELECTCATEGORY\")}\r\n\t\t\t\t\t\t x.type === currentBrandValue?.type) : brandValueType[0]}\r\n\t\t\t\t\t\t\toptions={brandValueType}\r\n\t\t\t\t\t\t\tonChange={onBrandValueTypeChange}\r\n\t\t\t\t\t\t\toptionLabel=\"name\"\r\n\t\t\t\t\t\t\tplaceholder=\"Select a Brand Value Type\"\r\n\t\t\t\t\t\t\tvalueTemplate={selectedbrandValueType}\r\n\t\t\t\t\t\t\titemTemplate={brandValueTypeOptionTemplate}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(\"LUCKY_GEM_STONE\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{Array.from(Array(16).keys())?.map((n) => (\r\n\t\t\t\t\t\t\t selectBrand(n + 1)}>\r\n\t\t\t\t\t\t\t\t{IconDispatcher(\"BV-\" + (n + 1), \"\", { width: \"35px\", height: \"35px\" })}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{mood !== \"create\" ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{isDeleteAllowed && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{IconDispatcher(\"TRASH\", \"me-1\")}\r\n\t\t\t\t\t\t\t\t\t\t{t(\"ASPX_13\")}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"ASPX_108\")}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t);\r\n};\r\nexport default BrandValueForm;\r\n","import React from \"react\"\r\nimport { useEffect, useState } from \"react\"\r\nimport styled from \"styled-components/macro\"\r\n\r\nconst { FlexEndAlignCenter, GenericButton } = require(\"shared/ui-basics/index\")\r\n\r\nconst TextSuggestions = ({ text, onSave, onClose, displayButton = true, setTyping, size = '14', speed = 5, lineHeight = '1.58', className = 'p-2', typingEffect = true, regularMode = false }) => {\r\n\r\n const [typingtext, setTypingtext] = useState(\"\")\r\n const [textHeight, setTextHeight] = useState('auto')\r\n const textRef = React.createRef();\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n\r\n let index = 0;\r\n if (text && typingEffect && isMounted) {\r\n setTypingtext(\"\");\r\n if (setTyping) {\r\n setTyping(true);\r\n }\r\n const intervalId = setInterval(() => {\r\n if (index < text.length && isMounted) {\r\n setTypingtext((prev) => prev + text[index]);\r\n index++;\r\n } else {\r\n if (setTyping && isMounted) {\r\n setTyping(false);\r\n }\r\n clearInterval(intervalId); // Clear the interval to stop the typing effect\r\n }\r\n }, speed);\r\n return () => {\r\n isMounted = false;\r\n clearInterval(intervalId);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n }, [text, setTyping, typingEffect, speed])\r\n useEffect(() => {\r\n let isMounted = true;\r\n if (textRef.current) {\r\n // Measure the text height\r\n const height = textRef.current.offsetHeight +50;\r\n // Set the popover height based on the text height\r\n if (isMounted)\r\n setTextHeight(`${height}px`);\r\n }\r\n return () => {\r\n isMounted = false;\r\n }\r\n }\r\n , [text, textRef, setTextHeight])\r\n\r\n return
\r\n {regularMode ? : <>\r\n
\r\n {text}\r\n
\r\n
\r\n \r\n\r\n
\r\n }\r\n\r\n {displayButton && \r\n \r\n \r\n }\r\n
\r\n}\r\nexport default TextSuggestions\r\n\r\nexport const Text = styled.div`\r\nbackground-color: transparent !important;\r\n color: #333333 !important;\r\n padding: 8px;\r\n z-index: 0;\r\n overflow: visible;\r\n border-radius: 0;\r\n font-size: ${props => props.size}px;\r\n min-height: inherit;\r\n line-height: ${props => props.lineHeight}rem;\r\n`","export default __webpack_public_path__ + \"static/media/viewIcon.69796395.svg\";","export default __webpack_public_path__ + \"static/media/Book-Wizard.d37069ab.svg\";","export default __webpack_public_path__ + \"static/media/Hat-Wizard.91b88b34.svg\";","import { widthValidation } from \"@utils/helpers\";\r\n\r\nexport const TypeValidation = (type,hideForPdf) => {\r\n switch (type) {\r\n case 'X':\r\n return { id: type, type: 'number', label: 'x' }\r\n default:\r\n if (hideForPdf)\r\n return [{ id: type, type: 'number' }, { id: type, type: 'string', role: 'annotation' }];\r\n else\r\n return [{ id: type, type: 'number' }, { id: type, role: 'tooltip', type: \"string\", p: { html: true } }];\r\n }\r\n}\r\n\r\nexport const dataValidation = (chart, stage, cjmPersonasData) => {\r\n if (Object.keys(chart).length > 0 && chart.feelingPoints_Global !== null) {\r\n const chartData = [\r\n chart?.feelingPoints_Global,\r\n chart?.feelingPoints_Target,\r\n chart?.feelingPoints_Contact,\r\n ...cjmPersonasData?.map((persona) => chart?.feelingPoints_Perso[persona?.personaId]),\r\n ...cjmPersonasData?.map((persona) => chart?.feelingPoints_PersoVOC[persona?.personaId]),\r\n\r\n ];\r\n const data = [];\r\n let temp = 0;\r\n for (let i = 0; i < stage.length; i++) {\r\n const newData = chartData?.map((value, index) => {\r\n return value?.filter((v) => v[0] === stage[i].id).length > 0 ? [value?.filter((v) => v[0] === stage[i].id)[0][1], value?.filter((v) => v[0] === stage[i].id)[0][2]].flat() : [0, 0];\r\n });\r\n const stageMidpoint = Math.ceil(widthValidation(stage[i].width) / 2);\r\n\r\n const newDatas = [temp + stageMidpoint, ...newData.flat()];\r\n temp += widthValidation(stage[i].width) + 8;\r\n\r\n data.push(newDatas);\r\n }\r\n return data;\r\n } else return [];\r\n};\r\n\r\n\r\nexport const getChartOptions = (colorLine, totalWidth, mapLegend, hideForPdf) => {\r\n const options = {\r\n // pointSize: 18,\r\n lineWidth: 3,\r\n ...(!hideForPdf ? {\r\n animation: {\r\n duration: 500,\r\n easing: \"out\",\r\n startup: true,\r\n }\r\n } : {})\r\n ,\r\n series: getChartLineTypes(colorLine,mapLegend),\r\n hAxis: {\r\n textPosition: \"none\",\r\n baselineColor: \"white\",\r\n minValue: 0,\r\n maxValue: totalWidth,\r\n ticks: []\r\n },\r\n vAxis: {\r\n maxValue: 4,\r\n ticks: [{ v: 0, f: \"\" }, { v: 1, f: \"\" }, { v: 2, f: \"\" }, { v: 3, f: \"\" }, { v: 4, f: \"\" }],\r\n textPosition: \"none\",\r\n baselineColor: \"#CCCCCC\"\r\n },\r\n chartArea: {\r\n top: 15,\r\n bottom: 10,\r\n right: 10,\r\n left: 10\r\n },\r\n legend: {\r\n position: \"none\"\r\n },\r\n pointSize: 12,\r\n width: totalWidth ,\r\n height: 300,\r\n backgroundColor: \"#ffffff\",\r\n ...(hideForPdf ? {\r\n annotations: {\r\n textStyle: {\r\n fontName: 'Inter',\r\n fontSize: 12,\r\n bold: true,\r\n // italic: true,\r\n // The color of the text.\r\n color: '#333333',\r\n // The color of the text outline.\r\n // auraColor: '#d799ae',\r\n // The transparency of the text.\r\n opacity: 0.8\r\n }\r\n }\r\n } : {}),\r\n displayAnnotations: true,\r\n colors: getChartLineColors(colorLine, mapLegend),\r\n tooltip: { isHtml: true }\r\n };\r\n return options\r\n}\r\n\r\nconst GLOBAL_LINE = { id: 'Global', color: '#8da0b3' };\r\nconst TARGET_LINE = { id: 'Target', color: '#F96209' };\r\nconst VOC_LINE = { id: 'VoC', color: '#8da0b3' };\r\n\r\nconst PERSONA_COLORS = [\r\n '#FF008E', '#006BA6', '#18AEAD', '#8A39E1', '#548CFF', '#FC9918',\r\n '#DF2935', '#474973', '#750550', '#6F732F', '#4ECF71', '#B91646', '#895737'\r\n];\r\n\r\nexport const getChartLinesColors = (cjmPersonasData) => {\r\n const personaLines = cjmPersonasData?.flatMap((item, index) => [\r\n { id: item.personaId, color: PERSONA_COLORS[index] },\r\n ]) || [];\r\n const personaLinesVOC = cjmPersonasData?.flatMap((item, index) => [\r\n { id: `${item.personaId}_VOC`, color: PERSONA_COLORS[index] }\r\n]) || [];\r\n\r\n return [GLOBAL_LINE, TARGET_LINE, VOC_LINE, ...personaLines, ...personaLinesVOC];\r\n};\r\nconst getChartLineColors = (colorLine, mapLegend) => {\r\n const includedLineIds = new Set(mapLegend);\r\n const includedLines = colorLine.filter(item => includedLineIds.has(item.id));\r\n const includedColors = includedLines.map(item => item.color);\r\n return includedColors;\r\n };\r\n const getChartLineTypes = (colorLine, mapLegend) => {\r\n const includedLineIds = new Set(mapLegend);\r\n const includedLines = colorLine.filter(item => includedLineIds.has(item.id));\r\n\r\n const series = includedLines?.reduce((acc, item, index) => {\r\n if (item?.id?.includes(\"_VOC\") ||item?.id?.includes(\"VoC\")) {\r\n acc[index] = { lineDashStyle: [6, 6] };\r\n } else {\r\n acc[index] = { lineWidth: 2 };\r\n }\r\n return acc;\r\n }, {})\r\n return series;\r\n };","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport React, { memo, useEffect, useMemo } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport GenericPopover from \"shared/popovers/GenericPopover\";\r\nimport { Button } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport { Flex } from \"../../modals/comment-center.style\";\r\nimport { setDiscussion, setOpenDiscussion } from \"../../reducer/commentSlice\";\r\nimport { createComment, deleteDiscussion } from \"../../reducer/MapActions\";\r\nimport CommentEditor from \"../CommentEditor\";\r\nimport Discussion from \"./discussion\";\r\n\r\ntype Props = {\r\n\tdiscussions: any;\r\n\tsubject: string;\r\n\tclassName?: string;\r\n};\r\nconst popoverParams = {\r\n\twidth: 432,\r\n\thideArrow: true,\r\n\tdraggable: true,\r\n\tplacement: \"auto\",\r\n\tshadow: \"none\",\r\n\tanimation: true,\r\n};\r\n\r\nconst AddCommentPopup = (props: Props): JSX.Element => {\r\n\tconst innerRef = React.useRef<{ show_popover?: () => void; hide_popover?: () => void; show: boolean }>(null);\r\n\tconst { t } = useTranslation();\r\n\tconst { discussions, subject } = props;\r\n\r\n\tconst open = useSelector((state: any) => discussions?.includes(state.ui?.comment?.openDiscussion) || false);\r\n\tconst uiDiscussions = useSelector((state: any) => state.ui?.comment?.discussion);\r\n\tconst cjmDiscussions = useSelector((state: any) => state.maps.current_map?.cjmDiscussions);\r\n\r\n\tconst { cjmIdStr, personaIdStr } = getAllMapsParams(useLocation().search);\r\n\tconst [discussionState, setDiscussionState] = React.useState(discussions || []);\r\n\tconst [tabKey, setTabKey] = React.useState(\"open\");\r\n\tconst showComments = useSelector(({ maps }: any) => maps.current_map?.showComments || false);\r\n\tconst showResolved = useSelector(({ maps }: any) => maps.current_map?.showResolvedComments || false);\r\n\r\n\tconst showComment = () => {\r\n\t\tif (innerRef.current?.show_popover) {\r\n\t\t\tinnerRef.current.show_popover();\r\n\t\t}\r\n\t};\r\n\r\n\tconst closeComment = () => {\r\n\t\tif (innerRef.current?.hide_popover) {\r\n\t\t\tinnerRef.current.hide_popover();\r\n\t\t}\r\n\t};\r\n\r\n\tconst onSubmit = (value: string, mentions: any) => {\r\n\t\tcreateComment({\r\n\t\t\tdiscussionId: uiDiscussions.id,\r\n\t\t\tdescription: value,\r\n\t\t\tmentions: mentions,\r\n\t\t\tcjmIdStr,\r\n\t\t\tpersonaIdStr,\r\n\t\t});\r\n\t\tif (!discussionState.includes(uiDiscussions.id)) {\r\n\t\t\tsetDiscussionState([...discussionState, uiDiscussions.id]);\r\n\t\t}\r\n\t\tsetOpenDiscussion(null);\r\n\t\tcloseComment();\r\n\t\tsetDiscussion(null);\r\n\t};\r\n\r\n\tconst resolvedFilter = (discussionId: any) => cjmDiscussions?.[discussionId]?.isResolved === (tabKey === \"resolved\");\r\n\r\n\tconst counts = useMemo(() => {\r\n\t\tif (!discussionState || !cjmDiscussions) return { open: 0, resolved: 0 };\r\n\t\treturn discussionState?.reduce(\r\n\t\t\t(acc: any, discussionId: string) => {\r\n\t\t\t\tif (!cjmDiscussions[discussionId]) return acc;\r\n\t\t\t\tif (cjmDiscussions[discussionId]?.comments?.length === 0) return acc;\r\n\t\t\t\tif (cjmDiscussions?.[discussionId]?.isResolved) {\r\n\t\t\t\t\tacc.resolved++;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tacc.open++;\r\n\t\t\t\t}\r\n\t\t\t\treturn acc;\r\n\t\t\t},\r\n\t\t\t{ open: 0, resolved: 0 }\r\n\t\t);\r\n\t}, [discussionState, cjmDiscussions]);\r\n\r\n\tconst custom = (\r\n\t\t e.stopPropagation()}>\r\n\t\t\t{open && uiDiscussions ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t{/* { this is only when creating a new discussion} */}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t!uiDiscussions && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t setTabKey(k)} className=\"mb-2 nav-justified\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{discussionState?.filter(resolvedFilter)?.map((discussionId: string) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{discussionState?.filter(resolvedFilter).length === 0 && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n\r\n\tconst onToggle = () => {\r\n\t\tif (cjmDiscussions?.[uiDiscussions?.id]?.comments?.length === 0) {\r\n\t\t\t// delete discussion if no comments (only for new discussions)\r\n\t\t\tdeleteDiscussion({\r\n\t\t\t\tdiscussionId: uiDiscussions?.id,\r\n\t\t\t\tcjmId: cjmIdStr,\r\n\t\t\t\tpersonaId: personaIdStr,\r\n\t\t\t});\r\n\t\t\tsetDiscussionState(discussionState?.filter((id: string) => id !== uiDiscussions?.id));\r\n\t\t}\r\n\t\tif(open)\r\n\t\tsetOpenDiscussion(null);\r\n\r\n\t\tif(uiDiscussions)\r\n\t\tsetTimeout(() => {\r\n\t\t\tsetDiscussion(null);\r\n\t\t}, 100);\r\n\t};\r\n\tconst onClick = (e: any) => {\r\n\t\te.stopPropagation();\r\n\t\tif (innerRef.current?.show) {\r\n\t\t\tcloseComment();\r\n\t\t} else if (innerRef.current?.show_popover) {\r\n\t\t\tshowComment();\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (open && innerRef.current) {\r\n\t\t\tshowComment();\r\n\t\t}\r\n\t\tif (!open && discussionState.length === 0 && innerRef.current?.show) {\r\n\t\t\tcloseComment();\r\n\t\t}\r\n\r\n\t}, [open]);\r\n\tuseEffect(() => {\r\n\t\treturn () => {\r\n\t\t\tif (cjmDiscussions?.[uiDiscussions?.id]?.comments?.length === 0) {\r\n\t\t\t\t// delete discussion if no comments (only for new discussions)\r\n\t\t\t\tdeleteDiscussion({\r\n\t\t\t\t\tdiscussionId: uiDiscussions?.id,\r\n\t\t\t\t\tcjmId: cjmIdStr,\r\n\t\t\t\t\tpersonaId: personaIdStr,\r\n\t\t\t\t});\r\n\t\t\t\tsetDiscussionState(discussionState?.filter((id: string) => id !== uiDiscussions?.id));\r\n\t\t\t}\r\n\t\t\tsetOpenDiscussion(null);\r\n\t\t}\r\n\t}, [])\r\n\r\n\r\n\tif (!showComments) return <>;\r\n\tconst totalCounts = showResolved ? counts.open + counts.resolved : counts.open;\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t<>\r\n\t\t\t\t\t{totalCounts > 0 && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{totalCounts}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nfunction getAllMapsParams(search: string) {\r\n\tconst params = new URLSearchParams(search);\r\n\tconst cjmIdStr = params.get(\"cjmid\");\r\n\tconst personaIdStr = params.get(\"personaId\");\r\n\treturn { cjmIdStr, personaIdStr };\r\n}\r\ninterface PopoverStyleProps extends React.HTMLAttributes {\r\n\tonClick?: any;\r\n\tcreationMode?: boolean;\r\n}\r\nconst PopoverStyle = styled.div`\r\n\t/* box-shadow: 0px 8px 16px 0px #00000026; */\r\n\t/* border : 1px solid #e5e5e5; */\r\n\tpadding: 8px;\r\n\tborder-radius: 4px;\r\n\tmax-height: 640px;\r\n\toverflow-y: auto;\r\n\tborder-color: #d9d9d9;\r\n\tbox-shadow: 0px 9px 28px 8px rgba(0, 0, 0, 0.05), 0px 6px 16px 0px rgba(0, 0, 0, 0.08), 0px 3px 6px -4px rgba(0, 0, 0, 0.12);\r\n\t.nav-tabs {\r\n\t\tdirection: center;\r\n\t\tborder-bottom: 1px solid #f0f0f0;\r\n\t}\r\n\t.nav-tabs .nav-link {\r\n\t\tcolor: rgba(0, 0, 0, 0.6) !important;\r\n\t}\r\n\t.nav-tabs .nav-link:hover {\r\n\t\tcolor: #333333 !important;\r\n\t\tbackground-color: #fff !important;\r\n\t\tborder-bottom: 1px solid #333333 !important;\r\n\t}\r\n\t.nav-tabs .nav-link.active {\r\n\t\tcolor: #333333 !important;\r\n\t\tbackground-color: #fff !important;\r\n\t\tborder-bottom: 1px solid #333333 !important;\r\n\t\tfont-weight: 500;\r\n\t}\r\n`;\r\nconst CustomButton = styled(Button)`\r\n\theight: 24px;\r\n\r\n\tbackground-color: #f0f0f0 !important;\r\n\tpadding: 0 0.5rem;\r\n\t:hover {\r\n\t\tbackground-color: #e5e5e5 !important;\r\n\t}\r\n`;\r\n\r\nexport default memo(AddCommentPopup);\r\n","import AllIcons from \"@Assets/images/IconsEmotionDictionaryKey.json\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { RestrictUserAccess } from \"@utils/helpers\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { useImages } from \"shared/dynamic-imports\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components/macro\";\r\n\r\n\r\nexport const IconDisplay = ({ icon, index, deleteIcon }) => {\r\n\tconst current_user = useSelector((state) => state.maps.currentUser);\r\n\tconst hideForPdf = useLocation().search.getAllMapsParams().hideForPdf;\r\n\tconst iconLibraries = useSelector((state) => state.libraries.icons?.find((ic) => Number(ic.number) === Number(icon)));\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst isEmotion = (Number(icon) > 30 && Number(icon) < 61) || (Number(icon) > 89 && Number(icon) < 96);\r\n\tconst { emotions, icons } = useImages();\r\n\r\n\tlet IconComponent;\r\n\tlet isCustom = false;\r\n\tif (iconLibraries?.isCustom) {\r\n\t\tIconComponent = `api/icon/getCustomImage?iconIdStr=${iconLibraries.id}&sid=${sessionId}&workspaceId=${currentWorkspaceId}`;\r\n\t\tisCustom = true;\r\n\t} else {\r\n\t\tconst iconSet = isEmotion ? emotions : icons;\r\n\t\tIconComponent = iconSet && AllIcons?.[Number(icon)] && iconSet[AllIcons[Number(icon)]]?.default;\r\n\t}\r\n\r\n\tconst DeleteAction = (e) => {\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\t\tdeleteIcon(icon);\r\n\t};\r\n\r\n\tif (!IconComponent) return <>;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{IconDispatcher(\"REMOVE\")}\r\n\t\t\r\n\t);\r\n};\r\nconst IconItem = styled.div`\r\n${props => !props?.access && css`\r\npointer-events: none;`};\r\ndisplay: flex;\r\nopacity:1;\r\n`\r\nconst RemoveIconAction = styled.button`\r\n\tbackground: transparent;\r\n\tborder: none;\r\n\tposition: absolute;\r\n\ttop: -10px;\r\n\tright: -10px;\r\n\tcursor: pointer;\r\n\tborder-radius: 50%;\r\n\ttop: 0%;\r\n\ttransform: translate(0px, -3px);\r\n\tborder: 1px solid #dee2e6;\r\n\tbackground: #ffffff;\r\n\twidth: 18px;\r\n\tfont-size: 0.8rem;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tvisibility: hidden;\r\n\tz-index: 2;\r\n\r\n\t&:hover {\r\n\t\tcolor: #ff0000;\r\n\t}\r\n`;\r\nconst IconContainer = styled.div`\r\n\tborder-radius: 50%;\r\n\tz-index: 1;\r\n\tposition: relative;\r\n\tright: -2%;\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tmargin: 0 2px;\r\n\t& img {\r\n\t\twidth: 24px;\r\n\t\theight: 24px;\r\n\t\tz-index: 2;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.icon &&\r\n\t\tcss`\r\n\t\t\tbackground: #ffffff;\r\n\t\t\tborder: 1px solid #dee2e6;\r\n\t\t\twidth: 24px;\r\n\t\t\theight: 24px;\r\n\t\t\t& img {\r\n\t\t\t\twidth: 14px;\r\n\t\t\t\theight: 14px;\r\n\t\t\t}\r\n\t\t`}\r\n\r\n\t&:hover ${RemoveIconAction} {\r\n\t\t${(props) => (RestrictUserAccess(props.access, [\"viewer\", \"contributor\"]) ? \"\" : \" visibility : inherit;\")}\r\n\r\n\t\tdisplay: flex;\r\n\t\ttransform: translate(-5px, -5px);\r\n\t}\r\n`;\r\n","import AllIconsNumber from \"@Assets/images/IconsEmotionDictionaryKey.json\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { RestrictUserAccess } from \"@utils/helpers\";\r\nimport { getterApis } from \"@utils/optionsSets/getterApis.js\";\r\nimport React, { useState } from \"react\";\r\nimport { Overlay, Tab, Tabs } from \"react-bootstrap\";\r\nimport Popover from \"react-bootstrap/Popover\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useImages } from \"shared/dynamic-imports/index.js\";\r\nimport { ShowComponentModal } from \"shared/modals/index\";\r\nimport { GenericButton, IconDispatcher } from 'shared/ui-basics/index';\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport Stickers from \"../../features/library/view/library-stickers.jsx\";\r\nimport CustomTooltip from \"../components/CustomTooltip.js\";\r\n\r\n\r\nexport default function IconSelector({ addFunction, deleteFunction, selected, button = false, buttonText = \"\", placement = \"top\", className, ...rest }) {\r\n\tconst [key, setKey] = React.useState(\"emotion\");\r\n\tconst { t } = useTranslation();\r\n\tconst { emotions, icons } = useImages();\r\n\tconst IconDB = useSelector((state) => state.libraries.icons);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst current_user = useSelector((state) => state.maps.currentUser);\r\n\tconst access = !RestrictUserAccess(current_user?.roleName?.toLowerCase(), [\"viewer\", \"contributor\"]);\r\n\r\n\tconst emo = IconDB?.filter((icon) => icon.category === 100000001);\r\n\tconst ico = IconDB?.filter((icon) => icon.category === 100000000);\r\n\tconst [showModal] = useModal(ShowComponentModal);\r\n\r\n\tconst [open, setOpen] = useState(false);\r\n\tconst ref = React.useRef();\r\n\tconst openStickersByCategory = (selectedCategory) => {\r\n\t\tshowModal({\r\n\t\t\ttitle: \"MANAGE_STICKERS\",\r\n\t\t\tComponent: Stickers,\r\n\t\t\tdefaultCategory: selectedCategory,\r\n\t\t});\r\n\t\tsetOpen(false);\r\n\t};\r\n\tconst handleChange = (e) => {\r\n\t\te.stopPropagation()\r\n\t\tconst id = e.currentTarget.id;\r\n\t\tif (selected?.includes(id)) deleteFunction(id);\r\n\t\telse {\r\n\t\t\tif (selected?.length >= 3) return toast.info(t(\"LIMIT_ICON\"));\r\n\t\t\tif (selected?.includes(id.toString()) || selected?.includes(String(id).padStart(5, \"0\"))) return toast.info(t(\"EXIST_ICON\"));\r\n\t\t\tselected?.length < 3 && addFunction(id);\r\n\t\t}\r\n\t};\r\n\tconst onHide = () => {\r\n\t\tsetOpen(false);\r\n\t};\r\n\r\n\t\r\n\treturn (\r\n\t\t\r\n\t\t\t
setOpen(!open)}>\r\n\t\t\t\t{button ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{buttonText}
\r\n\t\t\t\t\t
\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t
e.stopPropagation()}>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setKey(k)} className=\"mb-3\">\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{ico?.map((key, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\tconst url = key.isCustom ? getterApis[\"GET_CUSTOM_ICON\"](key.id, sessionId) : icons[AllIconsNumber[Number(key.number)]]?.default;\r\n\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{selected?.includes(key.number) && }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{emo?.map((key, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\tconst url = key.isCustom ? getterApis[\"GET_CUSTOM_ICON\"](key.id, sessionId) : emotions[AllIconsNumber[Number(key.number)]]?.default;\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selected?.includes(key.number) && }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\topenStickersByCategory(key === \"icon\" ? 100000000 : 100000001);\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t{IconDispatcher(\"CIRCLE-PLUS\", \"me-1\")}\r\n\t\t\t\t\t\t\t\t{t(key === \"icon\" ? \"MANAGE_ICONS\" : \"MANAGE_EMOTIONS\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\nexport const AccessWrapper = ({ children }) => {\r\n\tconst current_user = useSelector((state) => state.maps.currentUser);\r\n\r\n\tconst access = !RestrictUserAccess(current_user?.roleName?.toLowerCase(), [\"viewer\"]);\r\n\tif(!access) {\r\n\t\treturn <>\r\n\t}\r\n\treturn {children};\r\n};\r\n\r\nconst IconButtonWrapper = styled.div`\r\n\tmin-height: 24px;\r\n\tmin-width: 24px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\r\n\t${(props) => (!props?.access ? `visibility:hidden;` : `visibility : inherit;`)}\r\n`;\r\nconst CustomPopOver = styled(Popover)`\r\n\tmax-width: 400px;\r\n\tz-index: 1088 !important;\r\n`;\r\nconst HideWrapper = styled.div`\r\n\tdisplay: ${(props) => (props.button || props.stayOpen ? \"flex\" : \"none\")};\r\n\r\n\t${(props) =>\r\n\t\tprops.button\r\n\t\t\t? css`\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 30px;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tbutton {\r\n\t\t\t\t\t\tpadding: 4px 8px;\r\n\t\t\t\t\t\theight: 29px;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t:hover {\r\n\t\t\t\t\t\tbackground-color: #EFEFEF;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t `\r\n\t\t\t: css`\r\n\t\t\t `}\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tmax-height: 173px;\r\n\toverflow-y: scroll;\r\n\tjustify-content: start;\r\n\tgap: 3px;\r\n`;\r\nconst DragImg = styled.img`\r\n\tcursor: pointer;\r\n\tz-index: 1;\r\n\twidth: 25px;\r\n\theight: 25px;\r\n\tmargin: 2px;\r\n`;\r\nconst IconWrapper = styled.div`\r\n\tmargin: 6px;\r\n\tposition: relative;\r\n\t${(props) =>\r\n\t\tprops.selected &&\r\n\t\tcss`\r\n\t\t\tborder: 1px solid #c4c4c4;\r\n\t\t\tborder-radius: 50%;\r\n\t\t\tbox-shadow: -1px -1px 5px rgba(0, 0, 0, 0.2);\r\n\t\t`}\r\n\toverflow:hidden;\r\n\t${(props) =>\r\n\t\t!props?.access &&\r\n\t\tcss`\r\n\t\t\tpointer-events: none;\r\n\t\t`}\r\n`;\r\nconst Revert = styled.div`\r\n\tposition: absolute;\r\n\twidth: 40px;\r\n\theight: 40px;\r\n\tbackground-color: #d9d9d9;\r\n\tborder-top: 1px solid #c4c4c4;\r\n\tbottom: -29px;\r\n\tright: -21px;\r\n\tborder-top-right-radius: 50%;\r\n\tborder-top-left-radius: 50%;\r\n\ttransform: rotate(-55deg);\r\n`;\r\nconst AddIcon = styled.div`\r\n\tcolor: #605f60 !important;\r\n\tcursor: pointer;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\talign-self: center;\r\n`;\r\n","import { t } from \"i18next\";\r\nimport { toast } from \"react-toastify\";\r\nimport { store } from \"redux/store\";\r\nimport { addStrategyAttribute, addStrategyBrandValue, archiveCxStrategy, archiveManyCxStrategies, copyCxStrategy, createStrategy, deleteCxStrategy, deleteCxStrategyCustomListItem, deleteCxStrategyPermanent, deleteManyCxStrategies, deleteManyCxStrategiesPermanent, deleteStrategyAttribute, deleteStrategyBrandValue, getExcelExportList, reorderCxStrategyListItem, restoreManyStrategies, restoreStrategy, shareStrategy, shareUsersMulipleStrategy, shareUsersSingleStrategy, updateCxStrategyListItem, updateStrategyAttribOrder, updateStrategyAttribOrderDB, updateStrategyAttribute, updateStrategyBrandValue, upsertStrategyBrandValue } from \"features/forms/cx-strategy/reducer/StrategyAction\";\r\nimport { EMPTY_GUID, toastWrapper } from \"@utils/helpers\";\r\nimport { genericService } from \"../../../../shared/GenericService\";\r\n\r\nexport const createStrategyService = (strategyName, history) => {\r\n const promise = async () => {\r\n const { error, action, data } = await store.dispatch(createStrategy(strategyName));\r\n if (error) throw error\r\n if (action?.response?.status === 200) {\r\n history.push(`/editStrategy?strategyid=${action.response.data.id}`)\r\n }\r\n }\r\n toastWrapper(promise, \"CREATE\")\r\n\r\n}// genericService({strategyName, action: createStrategy, displayToast: \"CREATE\"})\r\n// export const createStrategyService = (strategyName) => genericService({strategyName, action: createStrategy, displayToast: \"CREATE\"})\r\nexport const copyStrategyService = (strategyId, newSubject, onSuccess) => {\r\n genericService({ strategyId, newSubject, action: copyCxStrategy, displayToast: \"COPY\", onSuccess })\r\n}\r\nexport const archiveStrategyService = (strategyId) => genericService({ strategyId, action: archiveCxStrategy, displayToast: \"ARCHIVE\" })\r\nexport const archiveManyStrategiesService = (strategyIds, toast, onSuccess) => genericService({ strategyIds, action: archiveManyCxStrategies, displayToast: toast, onSuccess })\r\nexport const deleteStrategyService = (strategyId) => genericService({ strategyId, action: deleteCxStrategy, displayToast: \"DELETE\" })\r\nexport const deleteManyStrategiesService = (strategyIds, toast, onSuccess) => genericService({ strategyIds, action: deleteManyCxStrategies, displayToast: toast, onSuccess })\r\nexport const deleteStrategyPermanentService = (strategyId) => genericService({ strategyId, action: deleteCxStrategyPermanent, displayToast: \"DELETE\" })\r\nexport const deleteManyStrategiesPermanentService = (strategyIds, toast, onSuccess) => genericService({ strategyIds, action: deleteManyCxStrategiesPermanent, displayToast: toast, onSuccess })\r\nexport const restoreStrategyService = (strategyId) => genericService({ strategyId, action: restoreStrategy, displayToast: \"RESTORE\" })\r\nexport const restoreManyStrategiesService = (strategyIds, onSuccess) => genericService({ strategyIds, action: restoreManyStrategies, displayToast: \"RESTORE\", onSuccess })\r\nexport const shareManyStrategiesService = (roleDetails, usersId, strategyIds) => genericService({ roleDetails, usersId, strategyIds, action: shareUsersMulipleStrategy, displayToast: \"UPDATE\" })\r\nexport const shareManyUsersSingleStrategyService = (roleDetails, usersId, strategyId) => genericService({ roleDetails, usersId, strategyId, action: shareUsersSingleStrategy, displayToast: \"UPDATE\" })\r\nexport const shareUserStrategyService = (roleDetails, userId, userName, strategyId) => genericService({ roleDetails, userId, userName, strategyId, action: shareStrategy, displayToast: \"UPDATE\" })\r\n\r\nexport const addStrategyAttributeService=(newFieldID, strategyId, attributeType, newObject)=>genericService({newFieldID, strategyId, attributeType, newObject,action:addStrategyAttribute})\r\nexport const deleteStrategyAttributeService = (strategyId,attributeId) => genericService({strategyId,attributeId, action: deleteStrategyAttribute, displayToast: \"DELETE\"})\r\nexport const updateStrategyAttribOrderService=(strategyId, newOrderConfig,cxProgramId)=>\r\n genericService({strategyId, cxProgramId,newOrderConfig,action:updateStrategyAttribOrderDB})\r\nexport const updateCxStrategyAttributeService=(modifiedStrategy, modifiedAttribNames)=>genericService({modifiedStrategy, modifiedAttribNames,action:updateStrategyAttribute})\r\nexport const getExcelExportListService = (ids) => {\r\n const promise = async () => {\r\n const { data, error } = await store.dispatch(getExcelExportList(ids));\r\n var fileDownload = require('js-file-download');\r\n fileDownload(data, 'Strategies List', \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n if (error) throw error\r\n }\r\n toastWrapper(promise, \"EXPORT\")\r\n}\r\n\r\nexport const updateCxStrategyAttribute = async (modifiedStrategy, modifiedAttribNames) => {\r\n const { error } = await store.dispatch(updateStrategyAttribute(modifiedStrategy, modifiedAttribNames))\r\n if (error) {\r\n toast.error(t('JS_13'));\r\n }\r\n\r\n}\r\n\r\nexport const updateListItemCxStrategy = async ({ strategyIdStr, attributeIdStr, value, attributeItemIdStr, onSuccess }) => {\r\n const { error } = await store.dispatch(updateCxStrategyListItem({ strategyIdStr, attributeIdStr, description: value, attributeItemIdStr }))\r\n if (error) toast.error(t('JS_13'))\r\n onSuccess && onSuccess();\r\n\r\n}\r\n\r\nexport const createListItemcxStrategy = async ({ strategyIdStr, attributeIdStr, value, onSuccess }) => {\r\n updateListItemCxStrategy({ strategyIdStr, attributeIdStr, value, attributeItemIdStr: EMPTY_GUID, onSuccess })\r\n}\r\nexport const reorderListItemsStrategy = async ({ newOrder, strategyIdStr, attributeIdStr }) => {\r\n\r\n const { error } = await store.dispatch(reorderCxStrategyListItem({ strategyIdStr, attributeIdStr, newOrder }))\r\n if (error) toast.error(t('JS_13'))\r\n\r\n\r\n}\r\nexport const deleteListItemStrategy = async ({ strategyIdStr, attributeIdStr, attributeItemIdStr, onSuccess }) =>\r\n genericService({ strategyIdStr, attributeIdStr, attributeItemIdStr, action: deleteCxStrategyCustomListItem, onSuccess })\r\n\r\n\r\nexport const addStrategyBrandValueService = (props) => genericService({ ...props, action: addStrategyBrandValue })\r\nexport const updateStrategyBrandValueService = (props) => genericService({ ...props, action: updateStrategyBrandValue })\r\nexport const deleteStrategyBrandValueService = (props) => genericService({ ...props, action: deleteStrategyBrandValue })\r\nexport const upsertStrategyBrandValueService = (props) => genericService({ ...props, action: upsertStrategyBrandValue })\r\n","import styled from \"styled-components\"\r\nimport { RestrictUserAccess } from \"@utils/helpers\"\r\nimport { GenericButton } from \"shared/ui-basics\"\r\n\r\nexport const WrapperGrid = styled.div`\r\n :hover{\r\n .drag-handle-child{\r\n display:flex;\r\n align-items:center;\r\n }\r\n }\r\n`\r\nexport const Handle = styled.div`\r\n\r\n cursor: grab;\r\n touch-action: manipulation;\r\n user-select: none;\r\n display: none;\r\n justify-content: center;\r\n padding: 0.2rem;\r\n\r\n svg {\r\n\r\nwidth: 20px;\r\nheight: 20px;\r\n}\r\n`\r\nexport const ActionsBox = styled.div`\r\n position: relative;\r\n top: 0;\r\n right: 0;\r\n z-index: 2;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 0.25rem;\r\n height: 100%;\r\n /* background-color: #FFFFFF; */\r\n color: #605F60 !important;\r\n display: none;\r\n font-size: 1.5rem;\r\n max-height:38px;\r\n padding: 0.2rem;\r\n ${props => props.access ? 'visibility:hidden': ''}\r\n`\r\nexport const Container = styled.div`\r\n position: relative;\r\n border-radius: 4px;\r\n background-color: '#fff';\r\n margin-bottom: 0.5rem;\r\n width: 100%;\r\n border: ${props => props.isDragging ? '1px solid #f6f6f6' : ''};\r\n :hover {\r\n ${Handle} {\r\n display:flex;\r\n }\r\n ${ActionsBox} {\r\n display: flex;\r\n }\r\n\r\n }\r\n\r\n`\r\n\r\nexport const ListItem = styled.div`\r\n min-height: 38px;\r\n background-color: ${props => props.colorCode?.length !== 0 ? props.colorCode : '#FFFFFF'};\r\n margin-bottom: 0.25rem;\r\n display: flex;\r\n justify-content: space-between;\r\n /* align-items: center; */\r\n justify-content: center;\r\n border-radius: 4px;\r\n border: ${props => ['#ffffff','#FFFFFF'].includes(props.colorCode) || props.colorCode?.isEmptyString() || props.colorCode === null? '1px solid #c4c4c4': 'none'};\r\n ${props => props.colorCode?.length > 15 && props.colorCode};\r\n\r\n`\r\nexport const AddButton = styled.button`\r\nborder-radius: 0;\r\nheight: 30px;\r\ncolor: black;\r\nvisibility: ${props => !props.hide ? 'hidden' : 'inherit'} ;;\r\ncolor: #F96209;\r\nbackground-color: #FFFFFF;\r\nborder: 1px solid #F96209;\r\nborder-radius: 2px;\r\nwidth: 100%;\r\npadding: 0 10px;\r\nfont-weight: 500;\r\n\r\n&:hover {\r\n background-color: #F96209;\r\n color: #FFFFFF;\r\n}\r\n`\r\nexport const AddListItem = styled.div`\r\nborder-radius: 0;\r\nmin-height: 38px;\r\n color: #333333;\r\n align-self:center;\r\nheight:max-content;\r\nborder-radius: 4px;\r\npadding: 6px;\r\n\r\nborder: 1px dashed #C4C4C4; background-color: #FFFFFF !important;\r\n\r\n visibility: ${props => props.hide ? 'hidden' : 'inherit'} ;;\r\n width: 100%;\r\n max-width: 100%;\r\n white-space: nowrap;\r\n\r\n ${props => RestrictUserAccess(props.access?.toLowerCase(),['viewer']) ? ' pointer-events: none !important;' :''};\r\n display: grid;\r\n align-items: center;\r\n\r\n\r\n `\r\nexport const Text = styled.div`\r\nbackground-color: transparent !important;\r\n color: #333333 !important;\r\n padding: 8px;\r\n z-index: 0;\r\n overflow: visible;\r\n border-radius: 0;\r\n font-size: 14px;\r\n min-height: inherit;\r\n line-height: 1.58rem;\r\n`\r\nexport const Card = styled.div`\r\n\r\npadding: 0.5rem;\r\nborder-radius: 4px;\r\nbox-shadow: 0 0 0 1px #c4c4c4;\r\n`\r\nexport const SectionTitle = styled.div`\r\npadding: 0.5rem;\r\nborder-radius: 4px;\r\ncolor : #333333;\r\nfont-size: 16px;\r\n`\r\nexport const WhiteContainer = styled.div`\r\nbackground-color: #FFFFFF;\r\nborder-radius: 4px;\r\npadding: 0.5rem;\r\nwidth: 100%;\r\nheight: 100%;\r\n`\r\nexport const TextInfo = styled.div`\r\nfont-size: 14px;\r\nfont-weight: 400;\r\ncolor: #333333;\r\nborder-radius: 4px;\r\nbackground: #EFEFEF;\r\ncolor: #605F60;\r\npadding: 8px;\r\nwidth: 100%;\r\n\r\nfont-family: Inter;\r\nfont-size: 12px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 150%;\r\n`\r\n\r\nexport const ButtonAddListItem=styled(GenericButton)`\r\n${(props)=>props?.ishidden===\"true\"?`visibility: hidden;\r\n`:`visibility:visible;`}\r\n\r\n`","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport styled from 'styled-components'\r\nimport { Button, IconDispatcher } from 'shared/ui-basics/index';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nexport default function NoDataComponent({ label, icon, fixed = true, backLabel = false }) {\r\n const { t } = useTranslation()\r\n const history = useHistory()\r\n\r\n return (\r\n
\r\n \r\n {IconDispatcher(icon, 'm-3 mt-0 mb-2', { style: 'light', family:'sharp' })}\r\n \r\n \r\n {t(label)}\r\n \r\n {backLabel && }\r\n
)\r\n}\r\nconst WrapperImg = styled.div`\r\nsvg {\r\n height:80px;\r\n}`\r\nexport const CustomContainer = styled.div`\r\n width: 50% !important;\r\n text-align: center;\r\n font-size: 20px;\r\n`","import { copyCustomTouchpoint, deleteCustomTouchpoint, deleteCustomTouchpointImage, getCurrentMap, recomputeMapSentimentLevel, recomputeSentimentLevels, updateCustomTouchpoint } from \"redux/index\";\r\nimport { getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { EMPTY_GUID, touchPointIconValidation } from \"@utils/helpers\";\r\nimport { LibraryItemCard } from \"features/library/components/LibraryItemCard\";\r\nimport { currentWorkspaceId } from \"index\";\r\nimport { memo, useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ActionConfirmModal, EditLibrariesModal } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nconst TouchpointCard = memo(({ touchPoint, setFocus }) => {\r\n\r\n\tconst location = useLocation();\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useRef(null);\r\n\r\n\tconst sessionId = useSelector(getSessionId);\r\n\tconst category = [{ name: \"ALL\", id: EMPTY_GUID }, ...useSelector((state) => state.libraries.touchPointCategories) || []];\r\n\r\n\tconst [picture, setPicture] = useState(pictureValidation(touchPoint, sessionId));\r\n\r\n\tconst query = new URLSearchParams(location.search.toLowerCase());\r\n\r\n\tconst deleteCustom = async () => {\r\n\t\thideModalDelete();\r\n\t\tdeleteCustomTouchpoint({ id: touchPoint?.id });\r\n\t};\r\n\r\n\tconst RecomputeSentimentLevels = async () => {\r\n\t\tconst cjmId = query.get(\"cjmid\");\r\n\t\tconst personaId = query.get(\"personaid\");\r\n\t\tconst onSuccess = () => {\r\n\t\t\tif (cjmId && personaId) {\r\n\t\t\t\trecomputeMapSentimentLevel({ channelIdStr: touchPoint.id, cjmIdStr: cjmId, personaIdStr: personaId });\r\n\t\t\t}\r\n\t\t}\r\n\t\trecomputeSentimentLevels({ channelIdStr: touchPoint.id, onSuccess })\r\n\t};\r\n\tconst [showEditModal,hideEditLibrary] = useModal(EditLibrariesModal);\r\n\r\n\tconst [showModalDelete, hideModalDelete] = useModal(ActionConfirmModal, {\r\n\t\ttitle: t(\"ASPX_145\"),\r\n\t\tbodyContent: \"DELETE_TOUCHPOINT\",\r\n\t\tAction: deleteCustom,\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst DeleteCustomTouchpointImage = (channelIdStr) => {\r\n\r\n\t\tconst onSuccess = () => {\r\n\t\t\tsetPicture(`api/touchpoint/getCustomImage?channelIdStr=${touchPoint.id}&sid=${sessionId}&workspaceId=${currentWorkspaceId}&${Math.random()}=true`);\r\n\t\t}\r\n\t\tdeleteCustomTouchpointImage({ channelIdStr, onSuccess })\r\n\t};\r\n\r\n\tconst updateCustom = (index, name, category, weight, FileExtension, DocumentBody) => {\r\n\t\tUpdateCustomChannel(index, name, category, weight, FileExtension ? FileExtension : \"\", DocumentBody ? DocumentBody : \"\");\r\n\t\tif (FileExtension === \"\") DeleteCustomTouchpointImage(index);\r\n\t};\r\n\r\n\tconst UpdateCustomChannel = async (id, newValue, category, weight, FileExtension, DocumentBody) => {\r\n\r\n\t\tconst onSuccess = () => {\r\n\t\t\thideEditLibrary();\r\n\r\n\t\t\tif (weight !== touchPoint.weight) RecomputeSentimentLevels();\r\n\t\t\tif (touchPoint.isCustom) setPicture(`api/touchpoint/getCustomImage?channelIdStr=${touchPoint.id}&sid=${sessionId}&workspaceId=${currentWorkspaceId}&${Math.random()}=true`);\r\n\r\n\t\t}\r\n\t\tconst onFailed = (data) => {\r\n\t\t\tif(data?.response?.data === 'IMG_NOT_VALID') {\r\n\t\t\t\ttoast.error(t(\"IMG_NOT_VALID\"));\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tupdateCustomTouchpoint({ channelIdStr: id, newChannelName: newValue, category, weight, imageExtension: FileExtension, imageBody64: DocumentBody, onSuccess,onFailed });\r\n\t};\r\n\tconst openEdit = () => {\r\n\t\tshowEditModal({\r\n\t\t\tonDelete: showModalDelete,\r\n\t\t\tobject: touchPoint,\r\n\t\t\tcontext: \"touchpoint\",\r\n\t\t\tentityName: \"touchpoint\",\r\n\t\t\ttitle: \"TOUCHPOINT\",\r\n\t\t\tdisplayCjmTable: true,\r\n\t\t\tpictureValidation,\r\n\t\t\tdeleteCustom,\r\n\t\t\tupdateCustom,\r\n\t\t\tcategory,\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsetPicture(pictureValidation(touchPoint, sessionId,true));\r\n\t}, [touchPoint.category,touchPoint.render]);\r\n\r\n\tconst onCopy = ({ id, name, workspaceIds }) => {\r\n\t\tcopyCustomTouchpoint({\r\n\t\t\tchannelIdStr: id,\r\n\t\t\tnewChannelName: name,\r\n\t\t\tworkspaceIds: workspaceIds\r\n\t\t});\r\n\t};\r\n\treturn touchPoint && ;\r\n});\r\nTouchpointCard.displayName = \"TouchpointCard\";\r\nexport { TouchpointCard };\r\nconst pictureValidation = (icon, sessionId,force = false) => {\r\n\tif (icon.isCustom) return `api/touchpoint/getCustomImage?channelIdStr=${icon.id}&sid=${sessionId}&workspaceId=${currentWorkspaceId}${force ? `&${Math.random()}=true` : \"\"}`;\r\n\treturn touchPointIconValidation(icon.name);\r\n};\r\n","import { getAllMapsListData } from \"@redux/index\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { useSelector } from \"react-redux\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { CreateLibraryItemCanvas } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { LibraryTemplate } from \"../components/LibraryTemplate\";\r\nimport TouchPointForm from \"../components/TouchPoints/TouchPointForm\";\r\nimport { TouchpointCard } from \"../components/TouchPoints/TouchpointCard\";\r\nimport { createCustomChannel } from \"../reducer/LibraryActions\";\r\n\r\nconst TouchPoints = () => {\r\n\tconst touchPoints = useSelector((state) => state.libraries.touchPoint);\r\n\tconst touchpointCategories = [{ name: \"ALL\", id: EMPTY_GUID }, ...(useSelector((state) => state.libraries.touchPointCategories) || [])];\r\n\tconst createCustom = (newChannelName, category, weight, imageExtension, imageBody64) =>\r\n\t\tcreateCustomChannel({ newChannelName:newChannelName?.truncate(100,true), category, weight, imageExtension, imageBody64, onSuccess: () => hideCreateModal() });\r\n\r\n\tconst [showCreateModal, hideCreateModal] = useModal(CreateLibraryItemCanvas, {\r\n\t\ttitle: \"ADD_NEW_TOUCHPOINT\",\r\n\t\tdisplayForm: () => ,\r\n\t});\r\n\r\n\tconst displayLibraryItem = ({ item }) => {\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTouchPoints.displayName = \"TouchPoints\";\r\nexport default TouchPoints;\r\n","import { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { upsertSettingUser } from \"redux/index\";\r\nimport { ColorPickerProvider, useColorPicker } from \"shared/dynamic-imports\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { isDarkColor } from \"utils/helpers\";\r\n\r\ninterface CustomColorSelectModalProps {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tselectedColor: string;\r\n\taction: (params: { selectedColor: string }) => void;\r\n}\r\n\r\nconst MAX_ARRAY_LEN = 8;\r\n\r\nexport const CustomColorSelectModal: React.FC = ({ isOpen, onClose, selectedColor, action }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst userSettings = useSelector(({ settings }: any) => settings?.userSetting);\r\n\tconst [currentColor, setCurrentColor] = useState(selectedColor || \"#FFFFFF\");\r\n\r\n\tconst updateUserSettings = () => {\r\n\t\tif (!userSettings?.colors?.includes(currentColor)) {\r\n\t\t\tconst userSettingsColors = [...userSettings?.colors];\r\n\t\t\tuserSettingsColors?.unshift(currentColor);\r\n\t\t\tif (userSettingsColors?.length > MAX_ARRAY_LEN) userSettingsColors?.pop();\r\n\t\t\tupsertSettingUser({\r\n\t\t\t\tuserSetting: {\r\n\t\t\t\t\tid: userSettings?.id,\r\n\t\t\t\t\tcolors: userSettingsColors,\r\n\t\t\t\t},\r\n\t\t\t\tmodifiedAttribNames: [\"colors\"],\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst confirm = () => {\r\n\t\tonClose();\r\n\t\tupdateUserSettings();\r\n\t\taction({ selectedColor: currentColor });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"SELECT_CUSTOM_COLOR\")}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{userSettings?.colors?.map((color: string) => (\r\n\t\t\t\t\t\t\t setCurrentColor(color)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{IconDispatcher(\"CHECK\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\ninterface RenderChromePickerProps {\r\n\tselectedColor: string;\r\n\tsetCurrentColor: (color: string) => void;\r\n}\r\n\r\nconst RenderChromePicker: React.FC = ({ selectedColor, setCurrentColor }) => {\r\n\tconst ChromePicker = useColorPicker()?.ChromePicker;\r\n\treturn <>{ChromePicker && setCurrentColor(color?.hex)} disableAlpha={true} />};\r\n};\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 281px;\r\n`;\r\nconst Body = styled(ModalBody)`\r\n\tpadding: 16px;\r\n`;\r\n\r\nconst ColorContainer = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst Color = styled.div<{ color: string }>`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\tflex-shrink: 0;\r\n\tborder-radius: 4px;\r\n\tbackground: ${({ color }) => color};\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst Check = styled.div<{ selected: boolean; color: string }>`\r\n\tvisibility: hidden;\r\n\t${({ selected }) =>\r\n\t\tselected &&\r\n\t\tcss`\r\n\t\t\tvisibility: visible;\r\n\t\t`}\r\n\tpath {\r\n\t\tfill: ${({ color }) => color};\r\n\t}\r\n`;\r\n\r\nconst Footer = styled(ModalFooter)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: flex-end;\r\n`;\r\n","import { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { IconDispatcher } from \"shared/ui-basics\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { CustomColorSelectModal } from \"./CustomColorSelectModal\";\r\n\r\ninterface ColorSelectModalProps {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tselectedColor: string;\r\n\taction: (params: { selectedColor: string }) => void;\r\n\tcolorsPanel: string[]; // Array of colors to display\r\n\tbeforeClose?: () => void; // Optional function to run before closing the modal\r\n\tcolorSize: string; // Size of the color swatches\r\n\tisRound?: boolean; // Optional, whether the color swatches are round\r\n\tisShowColorPicker?: boolean; // Optional, whether to show the custom color picker\r\n}\r\n\r\nexport const ColorSelectModal: React.FC = ({ isOpen, onClose, selectedColor, action, colorsPanel, beforeClose, colorSize, isRound = false, isShowColorPicker = false }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst [currentColor, setCurrentColor] = useState(selectedColor || \"#FFFFFF\");\r\n\r\n\tconst [showCustomColorModal] = useModal(CustomColorSelectModal, {\r\n\t\tselectedColor,\r\n\t\taction: ({ selectedColor }: { selectedColor: string }) => {\r\n\t\t\taction({ selectedColor });\r\n\t\t},\r\n\t});\r\n\r\n\tconst openCustomColorSelectModal = () => {\r\n\t\tonClose();\r\n\t\tshowCustomColorModal();\r\n\t};\r\n\r\n\tconst confirm = () => {\r\n\t\tonClose();\r\n\t\taction({ selectedColor: currentColor });\r\n\t};\r\n\r\n\tconst handleReset = () => {\r\n\t\tif (beforeClose) beforeClose();\r\n\t\tonClose();\r\n\t\taction({ selectedColor: \"#FFFFFF\" });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"SELECT_COLOR\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{colorsPanel.map((color) => (\r\n\t\t\t\t\t\t setCurrentColor(color)} size={colorSize} isRound={isRound} showBorder={color === \"#FFFFFF\"}>\r\n\t\t\t\t\t\t\t{IconDispatcher(\"CHECK\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\t{isShowColorPicker && }\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"RESET_COLOR\")}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ASPX_12\")}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 500px;\r\n`;\r\nconst Body = styled(ModalBody)`\r\n\tpadding: 32px;\r\n`;\r\n\r\nconst ColorContainer = styled.div`\r\n\twidth: 432px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tflex-wrap: wrap;\r\n\tgap: 8px;\r\n`;\r\n\r\nconst Color = styled.div<{ isRound: boolean; showBorder: boolean; color: string }>`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: ${({ size }) => size}px;\r\n\theight: ${({ size }) => size}px;\r\n\tflex-shrink: 0;\r\n\tborder-radius: 4px;\r\n\tbackground: ${({ color }) => color};\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${({ isRound }) =>\r\n\t\tisRound &&\r\n\t\tcss`\r\n\t\t\tborder-radius: 50%;\r\n\t\t`}\r\n\t${({ showBorder }) =>\r\n\t\tshowBorder &&\r\n\t\tcss`\r\n\t\t\tborder: 1px solid #333;\r\n\t\t`}\r\n`;\r\n\r\nconst Check = styled.div<{ selected: boolean }>`\r\n\tvisibility: hidden;\r\n\t${({ selected }) =>\r\n\t\tselected &&\r\n\t\tcss`\r\n\t\t\tvisibility: visible;\r\n\t\t`}\r\n\tpath {\r\n\t\tfill: \"#333\";\r\n\t}\r\n`;\r\n\r\nconst Footer = styled(ModalFooter)`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n`;\r\n","import React,{ memo } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, ModalBody, ModalHeader } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\n const ShowComponentModal = memo(({ isOpen, onClose, title, Component, ...props }) => {\r\n\tconst { t } = useTranslation();\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(title)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\n\r\nShowComponentModal.displayName = \"ShowComponentModal\";\r\nexport { ShowComponentModal };\r\nconst BigModal = styled(Modal)`\r\n\twidth: 100%;\r\n\tmin-width: 1000px;\r\n\tmax-width: 1450px;\r\n`;\r\nconst ModalBodyCustom = styled(ModalBody)`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tmin-height: 500px;\r\n\tmax-height: 800px;\r\n\toverflow: auto;\r\n`;\r\n","import { PermissionManager } from \"@utils/permissionManager\";\r\nimport AuthorizedUsers from \"features/grid-table/columns-components/AuthorizedUsers\";\r\nimport { updateCjmDescription, updateCjmStatus, updateStateCJM } from \"features/index\";\r\nimport { Sidebar } from \"primereact/sidebar\";\r\nimport { memo, useState } from \"react\";\r\nimport Offcanvas from \"react-bootstrap/Offcanvas\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Moment from \"react-moment\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Row,Col } from \"reactstrap\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport DisplayState from \"shared/cx-components/DisplayState\";\r\nimport DisplayStatus from \"shared/cx-components/DisplayStatus\";\r\nimport { EditorWrapper } from \"shared/cx-components/style\";\r\nimport GroupDropdown from \"shared/dropdowns/library-dropdown/group/GroupDropdown\";\r\nimport GenericManageAccess from \"shared/modals/manage-access/GenericManageAccess\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nfunction HeaderDetails({ isOpen, onClose }) {\r\n\tconst { t } = useTranslation();\r\n\tconst { cjmIdStr } = useLocation().search.getAllMapsParams();\r\n\r\n\tconst mapUsers = useSelector((state) => state.maps.current_linked_users);\r\n\tconst map = useSelector((state) => state.maps.current_map);\r\n\r\n\tconst groupIds = useSelector((state) => state.maps.current_map.groups);\r\n\tconst userAccess = useSelector((state) => state?.maps?.currentUser?.roleName);\r\n\tconst cjmDescription = useSelector((state) => state.maps.current_map.cjmDescription);\r\n\tconst [description, setDescription] = useState(cjmDescription);\r\n\tconst [groups, setGroups] = useState({ id: cjmIdStr, groups: groupIds });\r\n\tconst isStandard = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName === \"Standard\");\r\n\tconst isReadOnly = useSelector(({ auth }) => auth.userInfo.UserType)?.isReadOnly();\r\n\tconst { editAllowed } = PermissionManager({\r\n\t\tuserAccess,\r\n\t});\r\n\r\n\tconst isDisabled = !editAllowed;\r\n\r\n\tconst updateState = (object) => {\r\n\t\tupdateStateCJM({ id: cjmIdStr, value: object?.isFuture });\r\n\t};\r\n\tconst updateStatus = (object) => {\r\n\t\tupdateCjmStatus({ cjmIdsStr: cjmIdStr, newValueId: object?.statusId });\r\n\t};\r\n\r\n\tconst handleBlur = (html) => {\r\n\t\tupdateCjmDescription({ id: cjmIdStr, value: html });\r\n\t};\r\n\r\n\tconst [showAccessModal] = useModal(GenericManageAccess, {\r\n\t\titemId: map.cjmId,\r\n\t});\r\n\r\n\tconst manageAccessAction = { id: \"manageAccess\", handleClick: showAccessModal, icon: \"ACCESS\", text: t(\"ASPX_17\") };\r\n\r\n\tconst handleManageAccess = () => {\r\n\t\tmanageAccessAction.handleClick();\r\n\t};\r\n\r\n\tconst handleClose = () => {\r\n\t\tif (description !== cjmDescription) updateCjmDescription({ id: cjmIdStr, value: description });\r\n\r\n\t\tonClose();\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{t(\"MAP_DETAILS\")}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{AuthorizedUsers({ cjmUsersData: mapUsers }, true)}\r\n\t\t\t\t\t\t\t{!isStandard && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(\"JS_56\")} {map?.lastModifiedOn}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\nexport default memo(HeaderDetails);\r\n\r\nconst CustomSidebar = styled(Sidebar)`\r\n\twidth: 480px !important;\r\n\t.p-sidebar-header {\r\n\t\tposition: absolute;\r\n\t\tright: 5px;\r\n\t\ttop: -7px;\r\n\t}\r\n\t.p-sidebar-icon {\r\n\t\tborder-radius: 4px !important;\r\n\t}\r\n\t.p-sidebar-icon:focus {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t.p-sidebar-content {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t}\r\n`;\r\nconst Body = styled(Offcanvas.Body)`\r\n\toverflow-x: hidden;\r\n`;\r\nconst Title = styled.div`\r\n\tfont-size: 20px;\r\n\tmargin-bottom: 1rem;\r\n`;\r\nconst Header = styled.div`\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n\tmargin: 1rem;\r\n`;\r\n\r\nconst Details = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 32px;\r\n`;\r\n\r\nconst DetailContainer = styled(Col)`\r\n\tflex-grow: 1;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\r\n`;\r\n\r\nconst Label = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\ttext-transform: capitalize;\r\n\tpadding-bottom: 8px;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n","import { isValidURL } from \"@utils/helpers\";\r\nimport { FileUpload } from \"primereact/fileupload\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport React, { forwardRef, useRef, useState } from \"react\";\r\nimport { Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { SmallSpinner } from \"shared/components/spinners/Spinner\";\r\nimport { FlexColumnGap, GenericButton, IconDispatcher, Input, Label } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nconst LinkForm = forwardRef(({ item, upsertAttachItem }, ref) => {\r\n\r\n const { t } = useTranslation();\r\n const [objectToCreate, setCreateObject] = useState(item);\r\n const checkIfValid = () => {\r\n if (objectToCreate?.description.isEmptyString() || !isValidURL(objectToCreate?.url))\r\n return false;\r\n return true;\r\n }\r\n\r\n const validated = checkIfValid();\r\n const handleChange = (e) => {\r\n let { name, value } = e.target;\r\n setCreateObject({ ...objectToCreate, [name]: value });\r\n };\r\n const save = (e) => {\r\n const copyObject = {\r\n ...objectToCreate,\r\n description: objectToCreate?.description.truncate(100, true),\r\n url: objectToCreate?.url\r\n }\r\n upsertAttachItem({ newObject: copyObject })\r\n ref.current.toggle(e);\r\n\r\n }\r\n return \r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {t(\"SAVE\")}\r\n \r\n
\r\n});\r\nLinkForm.displayName = \"LinkForm\";\r\n\r\nconst UploadFile = forwardRef(({ item, upsertAttachItem }, ref) => {\r\n\r\n const { t } = useTranslation();\r\n const [typeMsg, setTypeMsg] = useState(\"info\");\r\n const [loading, setLoading] = useState(false);\r\n const fileUploadRef = useRef(null);\r\n const subscriptionPlan = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName);\r\n const isSubscriptionAllowed = [\"Enterprise\"].includes(subscriptionPlan);\r\n const subscriptionDetails = useSelector(({ settings }) => settings.subscriptionDetails);\r\n\r\n const uploadHandler = async (event) => {\r\n const file = event.files[0];\r\n\r\n if (file?.size > 10485760)//10 MB = 10,485,760 Bytes\r\n {\r\n setTypeMsg(\"error\");\r\n fileUploadRef?.current.clear();\r\n }\r\n else {\r\n //set spinner\r\n setLoading(true);\r\n\r\n const newObject = {\r\n ...item,\r\n fileName: (event.files[0].name),\r\n description: (event.files[0].name),\r\n uploadFile: event.files[0]\r\n }\r\n upsertAttachItem({ newObject: newObject, onSuccess: (e) => { ref.current.toggle(e); } });\r\n }\r\n }\r\n const redirect = () => {\r\n if (subscriptionDetails?.upgradeButtonLink?.isEmptyString()) return window.open(\"https://www.cemantica.com/Pricing\");\r\n\r\n const url = subscriptionDetails?.upgradeButtonLink?.split(\"'\")[1];\r\n return window.open(url)\r\n\r\n }\r\n if (!isSubscriptionAllowed)\r\n return \r\n \r\n \r\n \r\n {t(\"UPGRADE_SUBSCRIPTION\")}\r\n \r\n \r\n\r\n const chooseOptions = { icon: IconDispatcher(\"UPLOAD\", \"pe-2\"), label: t(\"UPLOAD_FILE\"), className: \"custom-choose-btn-block \" };\r\n\r\n return \r\n {loading && }\r\n {!loading && }\r\n {typeMsg === \"info\" &&\r\n \r\n
{IconDispatcher(\"circle-info\", \"\", { style: \"solid\", color: \"#595959\" })}
\r\n \r\n
\r\n }\r\n {typeMsg === \"error\" &&\r\n \r\n
{IconDispatcher(\"triangle-exclamation\", \"\", { style: \"solid\", color: \"#D50000\" })}
\r\n \r\n
\r\n }\r\n
\r\n});\r\nUploadFile.displayName = \"UploadFile\";\r\n\r\nconst AttachCreatePopOver = ({ item, upsertAttachItem, innerRef,width = 270}) => {\r\n const { t } = useTranslation();\r\n const [key, setKey] = useState(\"link\");\r\n return (\r\n
\r\n \r\n setKey(k)} className=\"m-3 mb-4\" mountOnEnter={true} unmountOnExit={true}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n );\r\n};\r\n\r\n\r\nAttachCreatePopOver.displayName = \"AttachCreatePopOver\";\r\nexport default AttachCreatePopOver;\r\n\r\nconst OverlayPanelWrapper = styled(OverlayPanel)`\r\n\twidth: ${(props) => props.width}px;\r\n\tmax-height: 800px !important;\r\n\tz-index: 1060 !important;\r\n box-shadow: 1px 8px 16px 0px rgba(0, 0, 0, 0.15);\r\n\t.p-overlaypanel-content {\r\n\t\tpadding: 0px;\r\n\t}\r\n\t.p-overlaypanel-close {\r\n\t\tdisplay: none;\r\n\t}\r\n &::before,\r\n\t&::after {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst WrapperInfo = styled.div`\r\n /* margin-bottom:1rem; */\r\n display: flex;\r\n align-items: flex-start;\r\n ${(props) => props.type === \"info\" && `\r\n background: #F5F5F5;\r\n `}\r\n ${(props) => props.type === \"error\" && `\r\n background: #FFEDED;\r\n `}\r\n padding:4px;\r\n border-radius:4px;\r\n gap:8px;\r\n\r\n `","import { encode, getAttachMode, isValidURL } from \"@utils/helpers\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { OverlayTrigger, Popover } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FlexColumnGap, GenericButton, Input, Label } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nconst AttachEditPopOver = ({ item, upsertAttachItem, placement = \"top\", open, setOpen }) => {\r\n\r\n const { t } = useTranslation();\r\n const [objectToUpdate, setUpdateObject] = useState(item);\r\n const attachMode = getAttachMode(item);\r\n useEffect(() => {\r\n if(item?.id !== objectToUpdate?.id)\r\n setUpdateObject(item);\r\n }, [item]);\r\n const checkIfValid = () => {\r\n if (objectToUpdate?.description.isEmptyString() || (attachMode === \"link\" && !isValidURL(objectToUpdate?.url)))\r\n return false;\r\n return true;\r\n }\r\n\r\n const validated = checkIfValid();\r\n const handleChange = (e) => {\r\n let { name, value } = e.target;\r\n setUpdateObject({ ...objectToUpdate, [name]: value });\r\n };\r\n const save = (e) => {\r\n\r\n const copyObject = {\r\n ...objectToUpdate,\r\n description: encode(objectToUpdate?.description),\r\n url: encode(objectToUpdate?.url),\r\n fileName: encode(objectToUpdate?.fileName)\r\n }\r\n upsertAttachItem(copyObject);\r\n setOpen(false);\r\n }\r\n const handle = (e) => {\r\n setOpen(false);\r\n };\r\n const popover = (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n {attachMode === \"link\" &&
\r\n \r\n \r\n
}\r\n \r\n {t(\"SAVE\")}\r\n \r\n
\r\n
\r\n
\r\n );\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\nAttachEditPopOver.displayName = \"AttachEditPopOver\";\r\n\r\nexport default AttachEditPopOver;\r\nconst CustomPopOver = styled(Popover)`\r\n\t/* max-width: 400px; */\r\n\tz-index: 1001;\r\n box-shadow: 1px 8px 16px 0px rgba(0, 0, 0, 0.15);\r\n .popover-arrow {\r\n display:none;\r\n}\r\n`;\r\n\r\nconst WrapperButton = styled.div`\r\n :hover{\r\n background-color: #efefef !important;\r\n\r\n }\r\n`","import { cxGoalsUpsert } from \"@redux/index\";\r\nimport { getMeasureById, getSessionId } from \"@redux/memoizedSelectors\";\r\nimport { getCxGoalValue, pictureValidation } from \"@utils/helpers\";\r\nimport { t } from \"i18next\";\r\nimport { ProgressBar } from \"primereact/progressbar\";\r\nimport { memo, useRef } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { EditCxGoalModal } from \"shared/modals/index\";\r\nimport { Flex, FlexAlignCenter, FlexBetweenAlignCenter, FlexColumn, FlexColumnGap } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { ColorTextCard } from \"../../../../features/forms/personas/cards/ColorTextCard\";\r\n\r\nconst CxGoalCard = memo(({ cxGoal, createCardActions, isEditable, noBorder }) => {\r\n\tconst refOut = useRef();\r\n\r\n\tconst currencySymbol = useSelector((state) => state?.settings?.organization?.defaultCurrency?.symbol) || \"$\";\r\n\tconst getMeasure = getMeasureById(cxGoal?.measureId);\r\n\tconst measure = useSelector(getMeasure);\r\n\tconst isDragging = useSelector((state) => state?.comments?.isDragging);\r\n\r\n\tconst relatedSystem = useSelector((state) => state.libraries.customLibraries)\r\n\t\t?.find((library) => library.name === \"Systems\" && !library.isCustom)\r\n\t\t?.values.find((system) => system.id === measure?.systemSourceId);\r\n\r\n\tconst touchpoint = useSelector((state) => state.libraries.touchPoint)?.getById(cxGoal?.touchpointId);\r\n\tconst sessionId = useSelector(getSessionId);\r\n\r\n\tconst picture = pictureValidation(touchpoint, sessionId);\r\n\r\n\tconst [showEditModal] = useModal(EditCxGoalModal, {\r\n\t\tcxGoal,\r\n\t\thandleAction: (updatedCxGoal) => cxGoalsUpsert({ CxGoals: [updatedCxGoal] }),\r\n\t});\r\n\tconst newFinancialImpact = parseInt(Math.round(cxGoal?.financialImpact || 0))?.toLocaleString() || \"\";\r\n\r\n\treturn (\r\n\t\t {}} noborder={`${noBorder}`}>\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{`${measure?.name || \"\"}`}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"IMPACT\")?.toUpperCase() + \": \"}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{newFinancialImpact}\r\n\t\t\t\t\t\t\t\t{currencySymbol}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{createCardActions && {createCardActions && createCardActions()}}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t {}} />\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"ACTUAL\")?.toUpperCase()}\r\n\t\t\t\t\t\t{t(\"GOAL\")?.toUpperCase()}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{(relatedSystem || touchpoint) && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{relatedSystem && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{touchpoint && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{touchpoint?.name}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n});\r\n\r\nconst LabelActualAndGoals = memo(({ cxGoal }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{cxGoal?.actual?.toLocaleString()}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{cxGoal?.goal?.toLocaleString()}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\n\r\nCxGoalCard.displayName = \"CxGoalCard\";\r\nLabelActualAndGoals.displayName = \"LabelActualAndGoals\";\r\nexport { CxGoalCard };\r\n\r\nconst GoalCard = styled.div`\r\n\tposition: relative;\r\n\twidth: 100%;\r\n\tmin-height: ${(props) => (props.expand ? \"297px\" : \"109px\")};\r\n\t/* background-color: #ffffff; */\r\n\t${(props) => (props.noborder === \"true\" ? \"\" : \"border: 1px solid #c4c4c4\")};\r\n\tborder-radius: 2px;\r\n\t:hover #actions-list {\r\n\t\tdisplay: flex;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.isclickable &&\r\n\t\tcss`\r\n\t\t\t:hover {\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t}\r\n\t\t`}\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 16px;\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst Touchpoint = styled.div`\r\n\tdisplay: flex;\r\n\tborder-radius: 4px;\r\n\tbackground: rgba(51, 51, 51, 0.1);\r\n\twidth: fit-content;\r\n\tpadding: 4px;\r\n`;\r\n\r\nconst ImageIcon = styled.img`\r\n\twidth: 1.12rem;\r\n\theight: 1.12rem;\r\n\talign-self: center !important;\r\n`;\r\n\r\nconst TPName = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tline-height: normal;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n\r\nconst Body = styled(FlexColumnGap)`\r\n\t.p-progressbar {\r\n\t\theight: 6px !important;\r\n\t}\r\n\r\n\t.p-progressbar .p-progressbar-value {\r\n\t\tbackground: #0078e7;\r\n\t}\r\n`;\r\n\r\nconst BarLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-size: 12px;\r\n\tfont-family: \"Inter\";\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\twhite-space: nowrap;\r\n`;\r\n\r\nconst ScoreLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 600;\r\n\tline-height: normal;\r\n\tfont-family: \"Oswald\", sans-serif;\r\n\t${(props) => props.color && `color: ${props.color};`}\r\n\t${(props) => props.bold && `font-weight: 600;`}\r\n white-space: nowrap;\r\n`;\r\n\r\nconst Impact = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Oswald\";\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 8px;\r\n`;\r\n","import { FlexAlignEnd, GenericButton, IconDispatcher, Input } from \"shared/ui-basics/index\";\r\nimport { t } from \"i18next\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport styled from \"styled-components\";\r\nimport React, { useState } from \"react\";\r\n\r\nexport default function DeleteWarningModal({ isOpen, onClose, title, warningLabel, label, onClick, secondBtnText, actionBtnText, isDeleteConfirm = false, textColor = \"#977f04\", boxColor = \"#fff8d6\" }) {\r\n\tconst [deleteConfirm, setDeleteConfirm] = useState(\"\")\r\n\r\n\tconst handleClick = () => {\r\n\t\tif (isDeleteConfirm && deleteConfirm.toLowerCase() === \"delete\") {\r\n\t\t\tonClick();\r\n\t\t\tonClose();\r\n\t\t}else if (!isDeleteConfirm){\r\n\t\t\tonClick();\r\n\t\t\tonClose();\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(title)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
{IconDispatcher(\"EXCLAMATION\", \"me-2\", { size: \"xl\" })}
\r\n\t\t\t\t\t\t
{ t(\"WARNING\")}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
{t(warningLabel)}
\r\n\t\t\t\t
\r\n\t\t\t\t
{t(label)}
\r\n\t\t\t\t{isDeleteConfirm && setDeleteConfirm(e.target.value)} />}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(secondBtnText)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(actionBtnText)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}\r\nconst WarningBox = styled.div`\r\n\tborder-radius: 4px;\r\n\tcolor: ${(props) => props.textcolor};\r\n\tbackground: ${(props) => props.boxcolor};\r\n\t.svg {\r\n\t\tfill: ${(props) => props.textcolor};\r\n\t}\r\n`;\r\n","import { unlinkPersona } from \"@redux/index\";\r\nimport { encode } from \"@utils/helpers\";\r\nimport PersonaBubble from \"features/forms/personas/components/PersonaBubble\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nconst ManagePersonaCard = ({ personaId, cjmIdStr, selectedCard, setSelectedCard, isCurrent, nextPersonaId, isViewable = true, isRemovable, isSelectable = true, displayLine }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst MAX_LENGTH = 30;\r\n\r\n\t// redux\r\n\tconst cjmName = useSelector((state) => state.maps.current_map.cjmName);\r\n\tconst personaDetails = useSelector((state) => state.personas.all_personas?.find((pers) => personaId === pers.personaId));\r\n\t//state\r\n\r\n\tconst viewJourney = () => {\r\n\t\thistory.push(`/EditMap?cjmid=${cjmIdStr}&personaId=${nextPersonaId}`);\r\n\r\n\t};\r\n\r\n\tconst onSuccess = () => {\r\n\t\tif (isCurrent) viewJourney();\r\n\t\telse history.go(0);\r\n\t};\r\n\r\n\t// modals\r\n\tconst [showModalRemove] = useModal(ActionConfirmModal, {\r\n\t\ttitle: t(\"ASPX_145\"),\r\n\t\tbodyContent: \"UNLINK_PERSONA_MESSAGE\",\r\n\t\tAction: () => unlinkPersona({cjmIdStr,personaIdStr:personaId, onSuccess}),\r\n\t\tactionBtnText: \"REMOVE\",\r\n\t});\r\n\r\n\tconst redirectToPersona = () => history.push(`/EditPersona?personaIdStr=${personaId}&isInMap=1&origin=${encode(cjmName)}`);\r\n\tconst handleSelection = () => setSelectedCard && setSelectedCard(personaDetails?.personaId);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{isSelectable && }\r\n\t\t\t\t{displayLine && displayLine()}\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{personaDetails?.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{personaDetails?.occupation}\r\n\t\t\t\t\r\n\t\t\t\t{isViewable && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t{isRemovable && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default ManagePersonaCard;\r\n\r\nconst HiddenButton = styled.div`\r\n\tvisibility: hidden;\r\n`;\r\n\r\nconst CardContainer = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t&:hover ${HiddenButton} {\r\n\t\tvisibility: visible;\r\n\t}\r\n`;\r\n\r\nconst Card = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid ${(props) => (props.selected ? \"#333333\" : \"#D9D9D9\")};\r\n\t:hover {\r\n\t\tbox-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25);\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.isSelectable === false &&\r\n\t\tcss`\r\n\t\t\tborder: none;\r\n\t\t\t:hover {\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t\tcursor: default;\r\n\t\t\t}\r\n\t\t`};\r\n`;\r\n\r\nconst RadioButton = styled.div`\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tborder-radius: 100px;\r\n\tborder: ${(props) => (props.selected ? \"4px solid #333333\" : \"1px solid var(--components-checkbox-border, rgba(0, 0, 0, 0.15))\")};\r\n\tbackground: var(--gray-white, #fff);\r\n`;\r\n\r\nconst PersonaName = styled.div`\r\n\twidth: 100%;\r\n\tcolor: #333;\r\n\tfont-size: 16px;\r\n\tfont-family: Inter;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tline-height: normal;\r\n\tcursor: pointer;\r\n\t${(props) =>\r\n\t\tprops.isSelectable === false &&\r\n\t\tcss`\r\n\t\t\tcursor: default;\r\n\t\t`};\r\n`;\r\n\r\nconst DetailsWrapper = styled.div`\r\n\twidth: 200px;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 4px;\r\n`;\r\n\r\nconst Occupation = styled.div`\r\n\tcolor: #333;\r\n\tfont-size: 14px;\r\n\tfont-family: Inter;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport styled from \"styled-components/macro\";\r\nimport { updateSwimlaneProps } from \"features/index\";\r\nimport { FlexBetweenAlignCenter } from \"shared/ui-basics/index\";\r\nimport { Switch } from \"shared/ui-basics/buttons\";\r\nimport { filterEmotionMap } from \"features/journey-map/reducer/CJMActions\";\r\nimport { PopoverSubscription } from \"../../../shared/popovers/PopoverSubscription\";\r\nimport ManagePersonaCard from \"./ManagePersonaCard\";\r\nimport { getSusbscriptionName } from \"redux/memoizedSelectors\";\r\n\r\nexport function ManageSentimentCard({ personaId, displayLine, isEditable = true, swimlaneKey, lastElement }) {\r\n\r\n\tconst { t } = useTranslation();\r\n\tconst dispatch = useDispatch();\r\n const { cjmIdStr } = useLocation().search.getAllMapsParams();\r\n const subscriptionContracts = useSelector(state => state?.settings?.subscriptionDetails?.subscriptionContracts)\r\n\tconst isSubscriptionAllowed = useSelector(getSusbscriptionName)?.isSubscriptionAllowed([\"enterprise\", \"sharedenterprise\"]) || subscriptionContracts?.length > 1;\r\n \r\n\tconst swimLane = useSelector((state) => state.maps.current_map.cjmSwimLanes?.find((swimLane) => swimLane.key === swimlaneKey));\r\n\tconst mapLegend = useSelector((state) => state.maps.current_map?.mapLegend) || [];\r\n\r\n\tconst showPersonaSentiment = swimLane?.sentimentsConfig?.showPersonaSentiment?.[personaId];\r\n\tconst showCustomerSentiment = isSubscriptionAllowed ? swimLane?.sentimentsConfig?.showCustomerSentiment?.[personaId] : false;\r\n\tconst showPersona = swimLane?.sentimentsConfig?.showPersona?.[personaId];\r\n\tconst handleClick = (e) => {\r\n\t\tconst name = e.target.name\r\n\t\tlet newConfig;\r\n\t\tlet type = 'add'// add or remove\r\n\r\n\t\tif (name === 'Sentiment') {\r\n\t\t\tif (showPersonaSentiment) {\r\n\t\t\t\ttype = 'remove'\r\n\t\t\t}\r\n\t\t\tconst update = !showPersonaSentiment\r\n\t\t\tnewConfig = { ...swimLane?.sentimentsConfig, showPersonaSentiment: { ...swimLane?.sentimentsConfig?.showPersonaSentiment, [personaId]: update } }\r\n\t\t}\r\n\t\tif (name === 'VOC') {\r\n\t\t\tif (showCustomerSentiment) {\r\n\t\t\t\ttype = 'remove'\r\n\t\t\t}\r\n\t\t\tconst updateVOC = !showCustomerSentiment\r\n\r\n\t\t\tnewConfig = { ...swimLane?.sentimentsConfig, showCustomerSentiment: { ...swimLane?.sentimentsConfig?.showCustomerSentiment, [personaId]: updateVOC } }\r\n\t\t}\r\n\r\n\t\tconst modifiedSwimLane = { ...swimLane, sentimentsConfig: JSON.stringify(newConfig) }\r\n\t\tif (swimLane.type === 100000012) {\r\n\t\t\tconst limitFilter = type === 'add' ? 1 : 2\r\n\r\n\t\t\tmapLegend.length > limitFilter && updateSwimlaneProps({ cjmId: cjmIdStr, modifiedSwimLane, modifiedAttribNames: [\"sentimentsconfig\"] })\r\n\r\n\t\t} else {\r\n\t\t\tupdateSwimlaneProps({ cjmId: cjmIdStr, modifiedSwimLane, modifiedAttribNames: [\"sentimentsconfig\"] })\r\n\r\n\t\t}\r\n\t\tif (swimLane.type === 100000012) {\r\n\t\t\tdispatch(filterEmotionMap());\r\n\t\t}\r\n\t}\r\n\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst RouteCard = styled.div`\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: #fff;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\t${(props) => props.disabled && \"opacity: 0.5; pointer-events: none;\"}\r\n`;\r\n\r\nconst Label = styled.span`\r\n\tfont-weight: 400;\r\n\tfont-size: 14px;\r\n\tcolor: #605f60;\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tborder-top: 1px solid #c4c4c4;\r\n\tgap: 10px;\r\n`;\r\n","import { updateShowRoute } from \"features/index\";\r\nimport _ from \"lodash\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport GenericSwitch from \"shared/ui-basics/buttons\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nexport function SwitchRouteCard({ cjmIdStr, text, icon, itemSelectorPath, isMain, isEditable = true }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst showRoute = useSelector((state) => _.get(state, itemSelectorPath));\r\n\tconst [toggle, setToggle] = useState(showRoute);\r\n\r\n\tconst handleToggle = () => {\r\n\t\tupdateShowRoute({ cjmIdStr, showRoute: !toggle, isMain });\r\n\t\tsetToggle(!toggle);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{IconDispatcher(icon)}\r\n\t\t\t\r\n\t\t\t\t{t(text)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst RouteCard = styled.div`\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: #fff;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n`;\r\n\r\nconst SwitchWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Text = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n`;\r\n\r\nconst RouteIcon = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n`;\r\n","import PickListData from \"@utils/optionsSets/PickListData\";\r\nimport { updateSwimlaneProps } from \"features/index\";\r\nimport { ManageSentimentCard } from \"features/journey-map/cards/ManageSentimentCard\";\r\nimport { SwitchRouteCard } from \"features/journey-map/cards/SwitchRouteCard\";\r\nimport { filterEmotionMap, toggleTargetValues } from \"features/journey-map/reducer/CJMActions\";\r\nimport { getChartLinesColors } from \"features/journey-map/swimlanes/sentiment-map/chartUtils\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { getSusbscriptionName } from \"redux/memoizedSelectors\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { EditorWrapper } from \"shared/cx-components/style\";\r\nimport { PopoverSubscription } from \"shared/popovers/PopoverSubscription\";\r\nimport GenericSwitch, { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { CustomDropdown, FlexBetween, FlexColumnGap, IconDispatcher, Input } from \"shared/ui-basics/index\";\r\nimport { ColorPicker } from \"shared/ui-basics/ui-components/ColorPicker\";\r\nimport styled from \"styled-components/macro\";\r\n//TODO SEPARATE each component in separate file (for Ruben)\r\n\r\nexport function GeneralDetails({ cjmId, swimlaneKey, isEditable = true }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst swimLane = useSelector((state) => state.maps.current_map.cjmSwimLanes?.find((swimLane) => swimLane.key === swimlaneKey));\r\n\tconst swimlaneTitle = swimLane?.name?.length === 0 ? t(\"ASPX_113\") : swimLane?.name;\r\n\tconst modifiedSwimLaneRef = useRef(swimLane);\r\n\r\n\tconst handleNameChange = (e) => {\r\n\t\tmodifiedSwimLaneRef.current = { ...modifiedSwimLaneRef.current, name: e.target.value.truncate(100) };\r\n\t};\r\n\r\n\tconst handleDescriptionChange = (value) => (modifiedSwimLaneRef.current = { ...modifiedSwimLaneRef.current, description: value });\r\n\tuseEffect(() => {\r\n\t\treturn () => {\r\n\t\t\tif (swimLane.name !== modifiedSwimLaneRef.current?.name) {\r\n\t\t\t\thandleBlur(\"name\", modifiedSwimLaneRef.current?.name);\r\n\t\t\t}\r\n\t\t\tif (swimLane.description !== modifiedSwimLaneRef.current?.description) {\r\n\t\t\t\thandleBlur(\"description\", modifiedSwimLaneRef.current?.description);\r\n\t\t\t}\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleBlur = (type, value) => {\r\n\t\tif (type === \"name\" && swimlaneTitle !== value) {\r\n\t\t\tupdateSwimlaneProps({\r\n\t\t\t\tcjmId,\r\n\t\t\t\tmodifiedSwimLane: {\r\n\t\t\t\t\t...swimLane,\r\n\t\t\t\t\tname: modifiedSwimLaneRef.current?.name,\r\n\t\t\t\t\tdescription: modifiedSwimLaneRef.current?.description,\r\n\t\t\t\t\tsentimentsConfig: JSON.stringify(modifiedSwimLaneRef.current?.sentimentsConfig),\r\n\t\t\t\t},\r\n\t\t\t\tmodifiedAttribNames: [\"name\"],\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (type === \"description\") {\r\n\t\t\tupdateSwimlaneProps({\r\n\t\t\t\tcjmId,\r\n\t\t\t\tmodifiedSwimLane: {\r\n\t\t\t\t\t...swimLane,\r\n\t\t\t\t\tname: modifiedSwimLaneRef.current?.name,\r\n\t\t\t\t\tdescription: modifiedSwimLaneRef.current?.description,\r\n\t\t\t\t\tsentimentsConfig: JSON.stringify(modifiedSwimLaneRef.current?.sentimentsConfig),\r\n\t\t\t\t},\r\n\t\t\t\tmodifiedAttribNames: [\"description\"],\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleToggle = () => {\r\n\t\tconst newValue = !modifiedSwimLaneRef.current?.showHideDescription;\r\n\t\tmodifiedSwimLaneRef.current = { ...(modifiedSwimLaneRef.current || {}), showHideDescription: newValue };\r\n\t\tupdateSwimlaneProps({\r\n\t\t\tcjmId,\r\n\t\t\tmodifiedSwimLane: { ...modifiedSwimLaneRef.current, showHideDescription: newValue, sentimentsConfig: JSON.stringify(modifiedSwimLaneRef.current?.sentimentsConfig) },\r\n\t\t\tmodifiedAttribNames: [\"showhidedescription\"],\r\n\t\t});\r\n\t};\r\n\r\n\tconst updateColor = ({ color }) =>\r\n\t\tupdateSwimlaneProps({\r\n\t\t\tcjmId,\r\n\t\t\tmodifiedSwimLane: {\r\n\t\t\t\t...swimLane,\r\n\t\t\t\tsentimentsConfig: swimLane.sentimentsConfig ? JSON.stringify(swimLane.sentimentsConfig) : swimLane.sentimentsConfig,\r\n\t\t\t\tcolorCode: color,\r\n\t\t\t},\r\n\t\t\tmodifiedAttribNames: [\"colorcode\"],\r\n\t\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t handleBlur(\"name\", e.target.value)}\r\n\t\t\t\t\tdisabled={!isEditable}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t handleBlur(\"description\", html)} disabled={!isEditable} />\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{t(\"SHOW_SWIMLANE_DESCR\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function CustomerRoutesDetails({ cjmId, isEditable = true }) {\r\n\tconst { t } = useTranslation();\r\n\tconst isSubscriptionAllowed = useSelector(getSusbscriptionName)?.isSubscriptionAllowed([\"enterprise\", \"sharedenterprise\"]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"SHOW_MAIN_OR_ALTERNATIVE\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function SentimentLevelDetails({ isEditable = true, swimlaneKey }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst personasData = useSelector((state) => state.maps.current_map.cjmPersonasData);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"SHOW_AND_HIDE_SENTIMENT_LEVEL\")}\r\n\t\t\t{personasData.map((data) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function DividerDetails({ cjmId, swimlaneKey, isEditable = true }) {\r\n\tconst { t } = useTranslation();\r\n\tconst dividerOptions = PickListData(\"divider-pattern\");\r\n\r\n\tconst swimLane = useSelector((state) => state.maps.current_map.cjmSwimLanes?.find((swimLane) => swimLane.key === swimlaneKey));\r\n\tconst [modifiedSwimLane, setModifiedSwimLane] = useState(swimLane);\r\n\r\n\tconst handleHeightChange = (e) => {\r\n\t\tsetModifiedSwimLane((prevState) => ({ ...prevState, dividerLineHeight: parseFloat(e.target.value) }));\r\n\t\tupdateSwimlaneProps({ cjmId, modifiedSwimLane: { ...swimLane, dividerLineHeight: parseFloat(e.target.value) }, modifiedAttribNames: [\"dividerlineheight\"] });\r\n\t};\r\n\r\n\tconst handlePatternChange = (e) => {\r\n\t\tsetModifiedSwimLane((prevState) => ({ ...prevState, dividerPattern: e.value }));\r\n\t\tupdateSwimlaneProps({ cjmId, modifiedSwimLane: { ...swimLane, dividerPattern: e.target.value }, modifiedAttribNames: [\"dividerpattern\"] });\r\n\t};\r\n\r\n\tconst Template = (option, props) => {\r\n\t\tif (option) {\r\n\t\t\treturn {option?.name};\r\n\t\t}\r\n\r\n\t\treturn <>{props.placeholder};\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"LINE_HEIGHT\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"PATTERN\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function GeneralSentimentLineDetails({ isEditable = true, swimlaneKey }) {\r\n\tconst { t } = useTranslation();\r\n\tconst dispatch = useDispatch();\r\n\tconst { cjmIdStr } = useLocation().search.getAllMapsParams();\r\n\tconst swimLane = useSelector((state) => state.maps.current_map.cjmSwimLanes?.find((swimLane) => swimLane.key === swimlaneKey));\r\n\tconst personasData = useSelector((state) => state.maps.current_map.cjmPersonasData);\r\n\tconst mapLegend = useSelector((state) => state.maps.current_map?.mapLegend) || [];\r\n\tconst subscriptionPlan = useSelector(getSusbscriptionName);\r\n\tconst subscriptionContracts = useSelector((state) => state?.settings?.subscriptionDetails?.subscriptionContracts);\r\n\r\n\tconst colorLine = getChartLinesColors(personasData);\r\n\tconst isSubscriptionAllowed = subscriptionPlan === \"enterprise\" || subscriptionPlan === \"sharedenterprise\" || subscriptionContracts?.length > 0;\r\n\tconst showTargetSentiment = swimLane?.sentimentsConfig?.showTargetSentiment;\r\n\tconst showGlobalPersonaSentiment = swimLane?.sentimentsConfig?.showGlobalPersonaSentiment;\r\n\tconst showGlobalCustomerSentiment = isSubscriptionAllowed ? swimLane?.sentimentsConfig?.showGlobalCustomerSentiment : false;\r\n\r\n\tconst handleClick = (e) => {\r\n\t\tconst name = e.target.name;\r\n\t\tlet newConfig;\r\n\t\tlet type = \"add\"; // add or remove\r\n\r\n\t\tif (name === \"Global\") {\r\n\t\t\tif (showGlobalPersonaSentiment) {\r\n\t\t\t\ttype = \"remove\";\r\n\t\t\t}\r\n\t\t\tnewConfig = { ...swimLane?.sentimentsConfig, showGlobalPersonaSentiment: !showGlobalPersonaSentiment };\r\n\t\t}\r\n\t\tif (name === \"VoC\") {\r\n\t\t\tif (showGlobalCustomerSentiment) {\r\n\t\t\t\ttype = \"remove\";\r\n\t\t\t}\r\n\t\t\tnewConfig = { ...swimLane?.sentimentsConfig, showGlobalCustomerSentiment: !showGlobalCustomerSentiment };\r\n\t\t}\r\n\t\tif (name === \"Target\") {\r\n\t\t\tif (showTargetSentiment) {\r\n\t\t\t\ttype = \"remove\";\r\n\t\t\t}\r\n\t\t\tnewConfig = { ...swimLane?.sentimentsConfig, showTargetSentiment: !showTargetSentiment };\r\n\t\t}\r\n\r\n\t\tconst modifiedSwimLane = { ...swimLane, sentimentsConfig: JSON.stringify(newConfig) };\r\n\t\tif (swimLane.type === 100000012) {\r\n\t\t\tconst limitFilter = type === \"add\" ? 1 : 2;\r\n\t\t\tmapLegend.length > limitFilter && updateSwimlaneProps({ cjmId: cjmIdStr, modifiedSwimLane, modifiedAttribNames: [\"sentimentsconfig\"] });\r\n\t\t} else {\r\n\t\t\tupdateSwimlaneProps({ cjmId: cjmIdStr, modifiedSwimLane, modifiedAttribNames: [\"sentimentsconfig\"] });\r\n\t\t}\r\n\t\tif (swimLane.type === 100000012) {\r\n\t\t\tdispatch(filterEmotionMap());\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t d.id === \"Global\").color}>{IconDispatcher(\"LINE-GRAPH\")}\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"GLOBAL_PERSONA_SENTIMENT\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"GLOBAL_CUSTOMER_SENTIMENT\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t d.id === \"Target\").color}>{IconDispatcher(\"LINE-GRAPH\")}\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"TARGET_LINE\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t dispatch(toggleTargetValues())}>\r\n\t\t\t\t\t\t{t(\"SET_TARGET_VALUES\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport function PersonaSentimentLinesDetails({ isEditable = true, swimlaneKey, lastElement }) {\r\n\tconst personasData = useSelector((state) => state.maps.current_map.cjmPersonasData);\r\n\tconst colorLine = getChartLinesColors(personasData);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{personasData.map((data) => (\r\n\t\t\t\t d.id === data.personaId).color}>{IconDispatcher(\"LINE-GRAPH\")}}\r\n\t\t\t\t\tisEditable={isEditable}\r\n\t\t\t\t\tswimlaneKey={swimlaneKey}\r\n\t\t\t\t\tlastElement={lastElement}\r\n\t\t\t\t/>\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst DropDownDivider = styled(CustomDropdown)`\r\n\t.p-inputtext {\r\n\t\tpadding: 0;\r\n\t}\r\n`;\r\nconst DetailContainer = styled.div`\r\n\tflex-grow: 1;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 16px;\r\n`;\r\n\r\nconst Label = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\ttext-transform: capitalize;\r\n`;\r\n\r\nconst SwitchWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Text = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tpadding: 6px;\r\n`;\r\n\r\nconst LineIcon = styled.div`\r\n\tpath {\r\n\t\tfill: ${(props) => props.color};\r\n\t}\r\n\tmargin: 0.5rem;\r\n`;\r\n\r\nconst FlexColumnGapWrapper = styled(FlexColumnGap)`\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #c4c4c4;\r\n`;\r\n","import { memoizedSwimlanes } from \"@redux/memoizedSelectors\";\r\nimport { firstLetterUppercase } from \"@utils/helpers\";\r\nimport { InformationType } from \"@utils/optionsSets/OptionSets\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport { Accordion, AccordionTab } from \"primereact/accordion\";\r\nimport { Sidebar } from \"primereact/sidebar\";\r\nimport Offcanvas from \"react-bootstrap/Offcanvas\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Colors, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { CustomerRoutesDetails, DividerDetails, GeneralDetails, GeneralSentimentLineDetails, PersonaSentimentLinesDetails, SentimentLevelDetails } from \"./SwimlaneDetailsComponents\";\r\n\r\nfunction SwimlaneDetailsCanvas({ isOpen, onClose, cjmId, swimlaneKey, isEditable = true }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst swimLane = useSelector(memoizedSwimlanes)?.find((swimLane) => swimLane.key === swimlaneKey);\r\n\tconst userAccess = useSelector((state) => state?.maps?.currentUser?.roleName);\r\n\tconst { routesAllowed } = PermissionManager({ userAccess });\r\n\tconst {\r\n\t\tText,\r\n\t\tDivider,\r\n\t\tImage,\r\n\t\tListItems,\r\n\t\tCustomLibrary,\r\n\t\tSystems,\r\n\t\tDepartments,\r\n\t\tOpportunity,\r\n\t\tActionsList,\r\n\t\tFeelings,\r\n\t\tKPIs,\r\n\t\tTiming,\r\n\t\tTouchpoints,\r\n\t\tAdvancedInteractions,\r\n\t\tSentimentChart,\r\n\t\tCustomerActions,\r\n\t} = InformationType;\r\n\r\n\tconst getContext = () => {\r\n\t\tif ([\"Processes\", \"KPIs\", \"KPI\", \"Issues\"].includes(swimLane?.id)) return [\"general\"];\r\n\r\n\t\tif ([Feelings, Image, Systems, Departments, CustomLibrary, KPIs, Timing, Opportunity, ActionsList, Touchpoints].includes(swimLane?.type)) return [\"general\"];\r\n\t\tif ([Text, ListItems, CustomerActions].includes(swimLane?.type)) return [\"general\"];\r\n\t\tif (swimLane?.type === Divider) return [\"general\", \"divider\"];\r\n\t\tif (swimLane?.type === AdvancedInteractions) return [\"general\", \"sentimentLevel\", \"routes\"];\r\n\t\tif (swimLane?.type === SentimentChart) return [\"general\", \"generalSentimentLine\", \"personaSentimentLine\"];\r\n\t\treturn [\"general\"];\r\n\t};\r\n\r\n\tconst dataByContext = {\r\n\t\tgeneral: {\r\n\t\t\tcomponent: GeneralDetails,\r\n\t\t\tprops: { cjmId, swimlaneKey, isEditable },\r\n\t\t\tlabel: \"ASPX_185\",\r\n\t\t},\r\n\t\tsentimentLevel: {\r\n\t\t\tcomponent: SentimentLevelDetails,\r\n\t\t\tprops: { isEditable, swimlaneKey },\r\n\t\t\tlabel: \"SENTIMENT_LEVEL\",\r\n\t\t},\r\n\t\tgeneralSentimentLine: {\r\n\t\t\tcomponent: GeneralSentimentLineDetails,\r\n\t\t\tprops: { isEditable, swimlaneKey },\r\n\t\t\tlabel: \"GLOBAL_SENTIMENT_LINES\",\r\n\t\t},\r\n\t\tpersonaSentimentLine: {\r\n\t\t\tcomponent: PersonaSentimentLinesDetails,\r\n\t\t\tprops: { isEditable, swimlaneKey },\r\n\t\t\tlabel: \"PERSONA_SENTIMENT_LINES\",\r\n\t\t},\r\n\t\troutes: {\r\n\t\t\tcomponent: CustomerRoutesDetails,\r\n\t\t\tprops: { cjmId, routesAllowed },\r\n\t\t\tlabel: \"CUSTOMER_ROUTES\",\r\n\t\t},\r\n\t\tdivider: {\r\n\t\t\tcomponent: DividerDetails,\r\n\t\t\tprops: { cjmId, swimlaneKey, isEditable },\r\n\t\t\tlabel: \"HEIGHT_AND_PATTERN\",\r\n\t\t},\r\n\t};\r\n\r\n\tconst contextData = getContext();\r\n\tconst activeIndex = [...Array(contextData.length).keys()];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{t(\"DETAILS\")}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{contextData.map((context, index) => {\r\n\t\t\t\t\t\tconst data = dataByContext[context];\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\nSwimlaneDetailsCanvas.displayName = \"SwimlaneDetailsCanvas\";\r\n\r\nexport default SwimlaneDetailsCanvas;\r\n\r\nfunction SimpleHeaderDisplay({ type, icon, label }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{icon && IconDispatcher(icon, \"mx-2\")}\r\n\t\t\t{firstLetterUppercase(t(label))}\r\n\t\t\r\n\t);\r\n}\r\nconst CustomLabel = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tcolor: #92919d;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 19px;\r\n\r\n\t${(props) =>\r\n\t\tprops.type === \"actions\" &&\r\n\t\tcss`\r\n\t\t\tcolor: #605f60;\r\n\t\t`};\r\n\t${(props) =>\r\n\t\tprops.type === \"pros\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${Colors.excellent};\r\n\t\t`};\r\n\t${(props) =>\r\n\t\tprops.type === \"cons\" &&\r\n\t\tcss`\r\n\t\t\tcolor: ${Colors.terrible};\r\n\t\t`};\r\n\t${(props) =>\r\n\t\tprops.type === \"insights\" &&\r\n\t\tcss`\r\n\t\t\tcolor: #20a9e9;\r\n\t\t`};\r\n`;\r\n\r\nconst CustomSidebar = styled(Sidebar)`\r\n\twidth: 480px !important;\r\n\t.p-sidebar-header {\r\n\t\tposition: absolute;\r\n\t\tright: 5px;\r\n\t\ttop: -7px;\r\n\t}\r\n\t.p-sidebar-icon {\r\n\t\tborder-radius: 4px !important;\r\n\t}\r\n\t.p-sidebar-icon:focus {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t.p-sidebar-content {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tpadding: 0px;\r\n\t}\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n\tmargin-top: 1rem;\r\n`;\r\nconst Title = styled.div`\r\n\tfont-size: 20px;\r\n\tmargin-left: 1rem;\r\n\tmargin-bottom: 1rem;\r\n`;\r\n\r\nconst CustomAccordion = styled(Accordion)`\r\n\tborder-radius: 0px !important;\r\n\r\n\t.p-accordion-tab {\r\n\t\tmargin-bottom: 0px;\r\n\t}\r\n\t.p-accordion-header-link {\r\n\t\tpadding-left: 1px !important;\r\n\t\tpadding: 0px !important;\r\n\t\theight: 30px;\r\n\t\tborder-radius: 0px !important;\r\n\t}\r\n\r\n\t.p-accordion-header-link:focus {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\r\n\t.p-accordion-content {\r\n\t\tmargin: 0px;\r\n\t\tpadding: 0px;\r\n\t\tborder: none;\r\n\t}\r\n\t.p-accordion-header-link {\r\n\t\tflex-direction: row-reverse;\r\n\t\tjustify-content: space-between;\r\n\t}\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nexport function VersionPreviewModal({ isOpen, onClose, iframeUrl, versionName, versionDescription,onRestore ,onDelete}) {\r\n\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"VERSION_PREVIEW\")}\r\n\t\t\t\r\n\t\t\t \r\n {versionName}\r\n {versionDescription && ( \r\n \r\n )}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t{}\r\n\r\n\t\t\t\t
\r\n\t\t\t\r\n {\r\n {\r\n onDelete();\r\n onClose();\r\n }}>\r\n {t(\"DELETE\")}\r\n \r\n {\r\n onRestore();\r\n onClose();\r\n }}>\r\n {t(\"RESTORE_THIS_VERSION\")}\r\n \r\n }\r\n\t\t
\r\n\t);\r\n}\r\nconst Frame = styled.iframe`\r\n\twidth: 100%;\r\n\theight: 922px;\r\n\toverflow: auto;\r\n\tzoom: 0.7;\r\n\tborder-radius: 8px;\r\nbackground: var(--color-Grey-Background, #F5F5F5);\r\n`;\r\nconst Body = styled(ModalBody)`\r\n\toverflow: auto;\r\n width: 100%; \r\n height: 100%;\r\n\tpadding: 0px;\r\n\t/* @media (max-height: 800px) {\r\n\t\tmin-height: 700px;\r\n\t\tmax-height: 700px;\r\n\t} */\r\n`;\r\n\r\n\r\nconst Text = styled.div`\r\n\tcolor: ${props=> props.color ||' #333333' };\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tpadding: 4px;\r\n`;\r\n\r\nconst Bold = styled.div`\r\n\tcolor: #333333;\r\n\tfont-family: \"Inter\";\r\n font-size: 38px;\r\n\tfont-weight: 500;\r\n\tline-height: normal;\r\n`;","import { EMPTY_GUID, encode, getLastVersionNumber } from \"@utils/helpers\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport { dateBodyTemplate } from \"features/grid-table/components/TableSettings\";\r\nimport { deletePermanentlyMap, restoreMapVersion, updateMapVersion } from \"features/index\";\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport { memo } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { base } from \"redux/store\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { ActionsDropdown } from \"shared/dropdowns/ActionsDropdown\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { NameDescriptionModal } from \"shared/modals/basic/NameDescriptionModal\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { Flex, FlexAlignCenter } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { VersionPreviewModal } from \"./VersionPreviewModal\";\r\n\r\nfunction VersionHistoryCard({ record, onClose }) {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst versionOwner = useSelector((state) => state.settings.authorizedUsers).find((user) => user.id === record?.createdByIdMapVersion);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{dateBodyTemplate(record?.createdOnMapVersion, \"\", \"\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{versionOwner && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{versionOwner?.fullName}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t\r\n\t\t\t\t{record?.nameMapVersion}\r\n\t\t\t\t{record?.descriptionMapVersion && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst VersionHistoryCardActions = memo(({ record, onClose }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst { cjmIdStr: cjmId, personaIdStr } = useLocation().search.getAllMapsParams();\r\n\r\n\tconst allMaps = useSelector((state) => state.maps.all_maps);\r\n\tconst userAccess = useSelector((state) => state?.maps?.currentUser?.roleName);\r\n\r\n\tconst parentMapId = allMaps?.find((map) => map.cjmId === cjmId)?.parentMapId;\r\n\r\n\tconst { viewVersionAllowed, editVersionAllowed, restoreVersionAllowed, deleteVersionAllowed } = PermissionManager({\r\n\t\tuserAccess,\r\n\t\tcontext: \"editMap.header\",\r\n\t});\r\n\r\n\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst [showUpdateVersionModal] = useModal(NameDescriptionModal, {\r\n\t\ttitle: \"UPDATE_VERSION\",\r\n\t\tbuttonText: \"APPLY\",\r\n\t\tselectedItem: { name: record?.nameMapVersion, description: record?.descriptionMapVersion },\r\n\t\thandleAction: ({ item, onClose }) => {\r\n\t\t\tonClose();\r\n\t\t\tupdateMapVersion({\r\n\t\t\t\tcjmId: record?.cjmId,\r\n\t\t\t\tname: encode(item.name),\r\n\t\t\t\tdescription: encode(item.description),\r\n\t\t\t});\r\n\t\t},\r\n\t});\r\n\r\n\tconst redirect = (id) => {\r\n\t\thistory.push(`/EditMap?cjmid=${id}&personaId=${personaIdStr}`);\r\n\t};\r\n\r\n\tconst handleRestore = () => {\r\n\t\tonClose();\r\n\t\trestoreMapVersion({\r\n\t\t\tcjmId: record?.cjmId,\r\n\t\t\tversionNumber: getLastVersionNumber({ currentMapId: cjmId, allMaps, parentMapId }) + 1,\r\n\t\t\tonSuccess: (id) => redirect(id),\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deletePermanentlyMap({ id: record?.cjmId }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\tconst [showIFrameModal] = useModal(VersionPreviewModal, {\r\n\t\tiframeUrl: `${base}EditMap?cjmid=${record?.cjmId}&personaId=${personaIdStr}&isPreview=true`,\r\n\t\tversionName: record?.nameMapVersion, \r\n\t\tversionDescription: record?.descriptionMapVersion,\r\n\t\tonRestore: handleRestore, onDelete: handleDeletePermanent\r\n\t});\r\n\tconst createActions = () => {\r\n\t\tconst actions = [];\r\n\t\tif (viewVersionAllowed) actions.push({ handleClick: showIFrameModal, icon: \"VIEW\", text: t(\"PREVIEW\") });\r\n\t\tif (editVersionAllowed) actions.push({ handleClick: showUpdateVersionModal, icon: \"EDIT\", text: t(\"EDIT\") });\r\n\t\tif (restoreVersionAllowed) actions.push({ handleClick: handleRestore, icon: \"RESTORE\", text: t(\"JS_96\") });\r\n\t\t// First version should not be deleted\r\n\t\tif (deleteVersionAllowed && record.parentMapId !== EMPTY_GUID) actions.push({ handleClick: handleDeletePermanent, icon: \"DELETE\", text: t(\"ASPX_13\") });\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\nVersionHistoryCard.displayName = \"VersionHistoryCard\";\r\nVersionHistoryCardActions.displayName = \"VersionHistoryCardActions\";\r\n\r\nexport default VersionHistoryCard;\r\n\r\nconst Actions = styled.div`\r\n\tvisibility: hidden;\r\n`;\r\n\r\nconst CardContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: 100%;\r\n\tgap: 1rem;\r\n\tposition: relative;\r\n\tpadding: 16px 24px;\r\n\tbackground: var(--slate-50, #F8FAFC);\r\n\tborder-radius: 4px;\r\n\t\t:hover ${Actions} {\r\n\t\tvisibility: visible;\r\n\t}\r\n`;\r\n\r\nconst Text = styled.div`\r\n\tcolor: ${props => props.color || ' #333333'};\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tpadding: 4px;\r\n`;\r\n\r\nconst Bold = styled.div`\r\n\tcolor: #333333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-weight: 500;\r\n\tline-height: normal;\r\n`;\r\n\r\nconst Description = styled.div`\r\n\tcolor: #595959;\r\n\tfont-size: 14px;\r\n\tfont-family: Inter;\r\nfont-size: 14px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 150%;\r\npadding: 4px;\r\n`;\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components/macro\";\r\nimport { Sidebar } from \"primereact/sidebar\";\r\nimport VersionHistoryCard from \"./VersionHistoryCard\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getMapVersionsSorted } from \"@redux/memoizedSelectors\";\r\n\r\nconst MapVersionsHistory = ({ isOpen, onClose }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { cjmIdStr: currentMapId } = useLocation().search.getAllMapsParams();\r\n\r\n\tconst allVersionsSorted = useSelector(getMapVersionsSorted({ currentMapId }));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{t(\"VERSIONS_HISTORY\")}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{allVersionsSorted.map((map, i) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default MapVersionsHistory;\r\n\r\nconst CustomSidebar = styled(Sidebar)`\r\n\twidth: 480px !important;\r\n\t.p-sidebar-header {\r\n\t\tposition: absolute;\r\n\t\ttop:18px;\r\n\t\tright: 18px;\r\n\t\tpadding: 0px;\r\n\t} \r\n\t.p-sidebar-icon {\r\n\t\tborder-radius: 4px !important;\r\n\t}\r\n\t.p-sidebar-icon:focus {\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t.p-sidebar-content {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tpadding: 0px;\r\n\t}\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tborder-bottom: 1px solid #D9D9D9;\r\n\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #333333;\r\n\tfont-family: Inter;\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n`;\r\n\r\nconst Body = styled.div`\r\ngap:8px;\r\ndisplay: flex;\r\nflex-direction: column;\r\n`;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Input } from \"shared/ui-basics/input\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nexport const KPICard = ({ item, setItem, mode, title }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst eventEnterLimit = (e) => {\r\n\t\tconst keyCode = e.which || e.keyCode;\r\n\t\tif (keyCode === 13 && !e.shiftKey) {\r\n\t\t\t// Don't generate a new line\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t};\r\n\tconst handleChange = (e) => {\r\n\t\tif (e.target.value.length > 190) {\r\n\t\t\ttoast.info(t(\"EXCEEDED_MAX_SIZE_INPUT\"));\r\n\t\t}\r\n\t\tsetItem((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\t[e.target.name]: e.target.value.truncate(190),\r\n\t\t}));\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst DivWrapper = styled.div`\r\n\tposition: relative;\r\n\twidth: 100%;\r\n\talign-items: center;\r\n\tdisplay: flex;\r\n\tmin-height: 40px;\r\n`;\r\n\r\nexport const TextareaWithIcon = styled(Input)`\r\n\tpadding: 0.3rem;\r\n\twidth: 100%;\r\n\tmin-height: 1px;\r\n\topacity: 1 !important;\r\n\tfont-family: \"Inter\";\r\n\tdisplay: inline-block;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\tborder: none;\r\n\r\n\t${(props) =>\r\n\t\tprops.mode === \"create\" &&\r\n\t\tcss`\r\n\t\t\tcolor: #c4c4c4;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-style: italic;\r\n\t\t`}\r\n\t:hover {\r\n\t\tborder-color: transparent !important;\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t:focus {\r\n\t\tborder-color: transparent !important;\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t::placeholder {\r\n\t\tcolor: #c4c4c4;\r\n\t\tfont-size: 14px;\r\n\t\tfont-style: italic;\r\n\t}\r\n`;\r\n\r\nexport const IconWrapper = styled.div`\r\n\tmin-width: 30px;\r\n\talign-items: center;\r\n\tdisplay: flex;\r\n\theight: 100%;\r\n\tjustify-content: center;\r\n`;\r\n","import { EMPTY_GUID, createDefaultCxGoal } from \"@utils/helpers\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport EditCxGoalCard from \"shared/components/cards/cx-goals/EditCxGoalCard\";\r\nimport { FlexColumnGap, GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nexport default function SelectedCxGoals({ cjmId, stageId, selectedMeasures, setSelected, addSelected, onClose }) {\r\n\tconst { t } = useTranslation();\r\n\tconst { pathname, search } = useLocation();\r\n\tconst [cxGoals, setCxGoals] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\t// Add cxGoal if new measure selected\r\n\t\tselectedMeasures.forEach((measureId) => {\r\n\t\t\tif (!cxGoals.find((cxGoal) => cxGoal.measureId === measureId)) {\r\n\t\t\t\tconst cxGoalId= pathname===\"/EditCxProgram\" ? uuid() : EMPTY_GUID;\r\n\t\t\t\tsetCxGoals([...cxGoals, createDefaultCxGoal({ mapId: cjmId, stageId, measureId ,cxGoalId})]);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// remove cxGoal if a measure was removed\r\n\t\tcxGoals.forEach((cxGoal) => {\r\n\t\t\tif (!selectedMeasures.find((measureId) => cxGoal.measureId === measureId)) {\r\n\t\t\t\tsetCxGoals(cxGoals.filter((goal) => goal.measureId !== cxGoal.measureId));\r\n\t\t\t}\r\n\t\t});\r\n }, [selectedMeasures]);\r\n\r\n const handleAddSelected = () => {\r\n\t\tsetSelected([]);\r\n\t\taddSelected({ CxGoals: cxGoals, stageId, measures: cxGoals?.map((cxGoal) => ({ id: cxGoal.measureId, measureName: cxGoal.measureName })) });\r\n\t\tonClose();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"SELECTED_MEASURES\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{cxGoals.map((cxGoal, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ADD_SELECTED\")}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst Container = styled.div`\r\n\twidth: 360px;\r\n\theight: 100%;\r\n\tposition: absolute;\r\n\tright: 484px;\r\n\tbackground-color: #ffffff;\r\n\tborder: 1px solid #c4c4c4;\r\n`;\r\n\r\nconst Body = styled.div`\r\n\theight: 92vh;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 20px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\tmargin-bottom: 32px;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n\tborder-top: 1px solid #c4c4c4;\r\n`;\r\n","import { deleteMeasure, upsertMeasure } from \"@redux/index\";\r\nimport { EMPTY_GUID, encode } from \"@utils/helpers\";\r\nimport $ from \"jquery\";\r\nimport React, { memo, useLayoutEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { List } from \"react-virtualized\";\r\nimport { ModalBody, ModalHeader } from \"reactstrap\";\r\nimport { useClickOutside } from \"shared/hooks/index\";\r\nimport { GenericButton, SearchBar } from \"shared/ui-basics/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { UserType } from \"utils/optionsSets/OptionSets\";\r\nimport { ActionConfirmModal } from \"../../../../shared/modals/basic/ActionConfirmModal\";\r\nimport { KPICard } from \"./KPICard\";\r\nimport * as Style from \"./Style\";\r\nimport SelectedCxGoals from \"./SelectedCxGoals\";\r\n\r\nconst LinkKPI = memo((props) => {\r\n\tconst { isOpen, onClose, stageId, selectedItems = [], cjmId } = props;\r\n\tconst { t } = useTranslation();\r\n\tconst myRef = React.createRef();\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\tconst measures = useSelector((state) => state.libraries.measures);\r\n\r\n\tconst [item, setItem] = useState({\r\n\t\tname: \"\",\r\n\t\tid: EMPTY_GUID,\r\n\t\tcolorCode: \"#ffffff\",\r\n\t});\r\n\tconst [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\tconst [selected, setSelected] = useState([]);\r\n\r\n\tconst isUserAllowedToCreate = Number(userType) === UserType.companyAdmin || Number(userType) === UserType.admin;\r\n\tconst listData = measures?.sortAsc(\"name\")?.searchFilter(globalFilterValue, \"name\");\r\n\r\n\tconst handleChange = (e) => setGlobalFilterValue(e.target.value);\r\n\r\n\tconst handleCustomCreate = (e) => {\r\n\t\tif (item?.name === \"\") return;\r\n\t\tconst isNameExist = measures?.filter((it) => it.name.toLowerCase() === item?.name.toLowerCase())?.length > 0;\r\n\t\tif (isNameExist) {\r\n\t\t\treturn toast.info(t(\"NAME_EXISTS\"));\r\n\t\t}\r\n\r\n\t\tconst copyItem = { ...item };\r\n\t\tcopyItem.name = encode(item?.name);\r\n\r\n\t\tconst onSuccess = (value) => {\r\n\t\t\tsetItem({\r\n\t\t\t\tname: \"\",\r\n\t\t\t\tid: EMPTY_GUID,\r\n\t\t\t\tcolorCode: \"#ffffff\",\r\n\t\t\t});\r\n\t\t\tsetSelected([...selected, value.id]);\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tconst newLibraryValue = $(`#libraryItem_${value.id}`)[0];\r\n\t\t\t\tif (newLibraryValue) {\r\n\t\t\t\t\tnewLibraryValue?.scrollIntoView({ block: \"center\", behavior: \"smooth\", inline: \"start\" });\r\n\t\t\t\t}\r\n\t\t\t}, 500);\r\n\t\t};\r\n\t\tupsertMeasure({ onSuccess, displayToast: \"CREATE_NO_SUCCESS_TOAST\", measure: copyItem });\r\n\t};\r\n\r\n\tconst Search = SearchBar({ globalFilterValue, handleChange, size: \"small\", label: `SEARCH`, floatLabel: false, height: 42 });\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{selected.length > 0 && }\r\n\t\t\t\r\n\t\t\t\t{t(\"SELECT\") + \" \"}\r\n\t\t\t\t{t(\"MEASURE\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{Search}\r\n\t\t\t\t\t{isUserAllowedToCreate && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"JS_40\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{t(\"MEASURES_LIBRARY\")}\r\n\t\t\t\t\r\n\t\t\t\t\t{listData?.length > 0 && (\r\n\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n});\r\n\r\nconst Item = ({ item, selected, selectedItems, setSelected }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useRef();\r\n\r\n\tconst userType = useSelector((state) => state.auth.userInfo.UserType);\r\n\tconst isItemSelected = selectedItems?.includes(item.id);\r\n\tconst isUserAllowedToDelete = Number(userType) === UserType.companyAdmin || Number(userType) === UserType.admin;\r\n\r\n\tconst [_item, setItem] = useState(item);\r\n\tconst [mode, setMode] = useState({\r\n\t\tupdate: false,\r\n\t\tfocus: item.setFocus,\r\n\t\tdelete: false,\r\n\t});\r\n\r\n\tconst toolTipTextDelete = isItemSelected ? t(\"KPI_USE\") : isUserAllowedToDelete ? t(\"ASPX_13\") : t(\"NO_PRIVILEGE_RECORD\");\r\n\r\n\tconst tooltipEditButton = isUserAllowedToDelete ? t(\"ASPX_10\") : t(\"NO_PRIVILEGE_RECORD\");\r\n\tconst disabledDelete = isItemSelected || !isUserAllowedToDelete;\r\n\tconst isChecked = selected?.includes(item.id) || selectedItems?.includes(item.id);\r\n\r\n\tuseLayoutEffect(() => {\r\n\t\tif (item.setFocus && ref.current) {\r\n\t\t\tref.current.scrollIntoView();\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleClickOutside = () => {\r\n\t\tif ((item?.name !== _item.name || _item.codeCode !== item.colorCode) && mode.update) {\r\n\t\t\tif (_item.name.isEmptyString()) return toast.info(t(\"NAME_EMPTY\"));\r\n\t\t\tconst copyObject = { ..._item };\r\n\t\t\tcopyObject.name = encode(_item.name);\r\n\t\t\tcopyObject.update = \"name\";\r\n\t\t\tupsertMeasure({ displayToast: \"UPDATE\", measure: copyObject });\r\n\t\t}\r\n\t\tsetMode({ update: false, focus: false, delete: false });\r\n\t};\r\n\tconst handleDelete = () => {\r\n\t\tconst onSuccess = () => setMode({ ...mode, delete: false });\r\n\t\tdeleteMeasure({ measureId: item.id, onSuccess });\r\n\t\thideModalDeletePopup();\r\n\t};\r\n\tconst handleCheckboxChange = (e) => {\r\n\t\tconst id = e.currentTarget.id;\r\n\t\tif (selectedItems?.includes(id)) return;\r\n\t\tif (selected.includes(id)) {\r\n\t\t\tsetSelected(selected.filter((item) => item !== id));\r\n\t\t} else {\r\n\t\t\tsetSelected([...selected, id]);\r\n\t\t}\r\n\t};\r\n\r\n\tconst [showModalDeletePopup, hideModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: t(\"DELETE_KPI\"),\r\n\t\tAction: handleDelete,\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\tuseClickOutside(ref, handleClickOutside);\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{item.isCustom && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setMode({ ...mode, update: true })} />\r\n\t\t\t\t\t\t{!mode.delete && }\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nLinkKPI.displayName = \"LinkKPI\";\r\nexport { LinkKPI };\r\n","import { copyBrandValue, deleteBrandValue } from \"@redux/index\";\r\nimport { getBrandValueIcon } from \"@utils/helpers\";\r\nimport { useRef } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { LibraryItemCard } from \"../LibraryItemCard\";\r\n\r\n///\r\n//Brand Value Card can be on library and also on link components\r\n//on library we can delete and edit\r\n//on link comp we can remove and edit\r\n//list brand value we can create a new link (view mood)\r\n//on click the card can open 2 option of modal or create a new link!!\r\n//on click->add the brand value, showmodal->show modal strategy brand value, openEdit->library edit brand value\r\n///\r\nconst BrandValueLibraryCard = ({ context, strategybrandValue, brandValueId, onClick, onDelete, showModal, setFocus}) => {\r\n\tconst ref = useRef(null);\r\n\r\n\tconst brandValue = useSelector((state) => state.libraries.brandValues)?.find((bv) => bv.id === brandValueId);\r\n const addEvent = onClick ? true : false;\r\n\r\n\tconst buildModal = () => {\r\n\t\tshowModal({\r\n\t\t\tstrategyBrandValue: strategybrandValue ?? undefined,\r\n\t\t\taccessDelete: onDelete,\r\n\t\t\tbrandValueId: brandValueId,\r\n\t\t});\r\n\r\n\t\tswitch (context) {\r\n\t\t\tcase \"strategy\":\r\n\t\t\t\tshowModal({\r\n\t\t\t\t\tstrategyBrandValue: strategybrandValue ?? undefined,\r\n\t\t\t\t\taccessDelete: onDelete,\r\n brandValueId: brandValueId,\r\n context: \"brandValue\",\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"library\":\r\n\t\t\t\tshowModal({\r\n\t\t\t\t\tobject: brandValue,\r\n\t\t\t\t\tcontext: \"brandValue\",\r\n\t\t\t\t\ttitle: \"BRAND_VALUE\",\r\n\t\t\t\t\tonDelete,\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\t//on click->add the brand value, showmodal->show modal strategy brand value, openEdit->library edit brand value\r\n const eventOnClickBrandValue = addEvent ? onClick : showModal ? buildModal : undefined;\r\n\r\n\r\n\tconst onCopy = ({id,name,workspaceIds}) => {\r\n\t\tcopyBrandValue({\r\n\t\t\tbrandValueId:id,\r\n\t\t\tname:name,\r\n\t\t\tworkspaceIds: workspaceIds\r\n\t\t});\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\nexport default BrandValueLibraryCard;\r\n","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport BrandValueLibraryCard from \"features/library/components/BrandValues/BrandValueLibraryCard\";\r\nimport { EditLibrariesModal } from \"features/library/modals/EditLibrariesModal\";\r\nimport { useSelector } from \"react-redux\";\r\nimport DataLoader from \"shared/components/data-loader\";\r\nimport { CreateLibraryItemCanvas } from \"shared/modals/index\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport BrandValueForm from \"../components/BrandValues/BrandValueForm\";\r\nimport { LibraryTemplate } from \"../components/LibraryTemplate\";\r\nimport { brandValueInit, deleteBrandValue } from \"../reducer/LibraryActions\";\r\nimport { getAllCxProgram } from \"../../forms/cx-programs/reducer/CxProgramActions\";\r\n\r\nconst BrandValues = ({ srcBrandValueId, callbackCreateBrandValue, onClose }) => {\r\n\tconst categories = [\r\n\t\t{ name: \"ALL\", id: EMPTY_GUID },\r\n\t\t{ name: \"Functional\", id: \"100000001\" },\r\n\t\t{ name: \"Emotional\", id: \"100000000\" },\r\n\t];\r\n\r\n\tconst brandValues = useSelector((state) => state.libraries.brandValues);\r\n\r\n\tconst onDelete = (brandValueId) => {\r\n\t\tdeleteBrandValue({ id: brandValueId });\r\n\t};\r\n\r\n\tconst [showCreateModal, hideCreateModal] = useModal(CreateLibraryItemCanvas, {\r\n\t\ttitle: \"NEW_BRAND_VALUE\",\r\n\t\tdisplayForm: () => (\r\n\t\t\t\r\n\t\t),\r\n\t});\r\n\r\n\tconst [showEditModal] = useModal(EditLibrariesModal, {\r\n\t\tonDelete: onDelete,\r\n\t\tentityName: \"brandvalue\",\r\n\t});\r\n\r\n\tconst displayLibraryItem = ({ item }) => {\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nexport default BrandValues;\r\n","var map = {\n\t\"./abused.svg\": 958,\n\t\"./admiration.svg\": 959,\n\t\"./affection.svg\": 960,\n\t\"./agony.svg\": 961,\n\t\"./alarm.svg\": 962,\n\t\"./alone.svg\": 963,\n\t\"./amazed.svg\": 964,\n\t\"./amused.svg\": 965,\n\t\"./angry.svg\": 966,\n\t\"./anticipation.svg\": 967,\n\t\"./anxiety.svg\": 968,\n\t\"./assured.svg\": 969,\n\t\"./crazy.svg\": 970,\n\t\"./depressed.svg\": 971,\n\t\"./disappointed.svg\": 972,\n\t\"./disgusted.svg\": 973,\n\t\"./excellent.svg\": 974,\n\t\"./fear.svg\": 975,\n\t\"./frustrated.svg\": 976,\n\t\"./generic.svg\": 977,\n\t\"./good.svg\": 978,\n\t\"./happy.svg\": 979,\n\t\"./inspired.svg\": 980,\n\t\"./joy.svg\": 981,\n\t\"./motivated.svg\": 982,\n\t\"./peaceful.svg\": 983,\n\t\"./pensive.svg\": 984,\n\t\"./poor.svg\": 985,\n\t\"./sad.svg\": 986,\n\t\"./surprise.svg\": 987,\n\t\"./terrible.svg\": 988,\n\t\"./thrilled.svg\": 989,\n\t\"./tiered.svg\": 990,\n\t\"./trust.svg\": 991,\n\t\"./upset.svg\": 992\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 707;","var map = {\n\t\"./1-solid.svg\": 993,\n\t\"./2-solid.svg\": 994,\n\t\"./3-solid.svg\": 995,\n\t\"./4-solid.svg\": 996,\n\t\"./5-solid.svg\": 997,\n\t\"./A-solid.svg\": 998,\n\t\"./B-solid.svg\": 999,\n\t\"./C-solid.svg\": 1000,\n\t\"./D-solid.svg\": 1001,\n\t\"./E-solid.svg\": 1002,\n\t\"./H-solid.svg\": 1003,\n\t\"./P-solid.svg\": 1004,\n\t\"./S-solid.svg\": 1005,\n\t\"./T-solid.svg\": 1006,\n\t\"./applause.svg\": 1007,\n\t\"./arrow-down-diagonal.svg\": 1008,\n\t\"./arrow-down-solid.svg\": 1009,\n\t\"./arrow-up-diagonal.svg\": 1010,\n\t\"./arrow-up-solid.svg\": 1011,\n\t\"./ban-solid.svg\": 1012,\n\t\"./bolt-solid.svg\": 1013,\n\t\"./check-solid.svg\": 1014,\n\t\"./coins-solid.svg\": 1015,\n\t\"./comment-regular.svg\": 1016,\n\t\"./crossroad.svg\": 1017,\n\t\"./dead-end.svg\": 1018,\n\t\"./digital.svg\": 1019,\n\t\"./dollar.svg\": 1020,\n\t\"./double-side-arrow.svg\": 1021,\n\t\"./euro.svg\": 1022,\n\t\"./exclamation-triangle-solid.svg\": 1023,\n\t\"./fire-solid.svg\": 1024,\n\t\"./flag-solid.svg\": 1025,\n\t\"./gift.svg\": 1026,\n\t\"./hand-paper-solid.svg\": 1027,\n\t\"./heart-broken-solid.svg\": 1028,\n\t\"./heart-solid.svg\": 1029,\n\t\"./hourglass-half-solid.svg\": 1030,\n\t\"./human.svg\": 1031,\n\t\"./info-solid.svg\": 1032,\n\t\"./key.svg\": 1033,\n\t\"./left-arrow.svg\": 1034,\n\t\"./lightbulb-solid.svg\": 1035,\n\t\"./location.svg\": 1036,\n\t\"./lock.svg\": 1037,\n\t\"./loop.svg\": 1038,\n\t\"./map-pin-solid.svg\": 1039,\n\t\"./money-bill-wave-solid.svg\": 1040,\n\t\"./pound.svg\": 1041,\n\t\"./question-solid.svg\": 1042,\n\t\"./recycle.svg\": 1043,\n\t\"./right-arrow.svg\": 1044,\n\t\"./search-solid.svg\": 1045,\n\t\"./star-of-life-solid.svg\": 1046,\n\t\"./star-solid.svg\": 1047,\n\t\"./start.svg\": 1048,\n\t\"./stop-solid.svg\": 1049,\n\t\"./target.svg\": 1050,\n\t\"./thumbs-down-solid.svg\": 1051,\n\t\"./thumbs-up-solid.svg\": 1052,\n\t\"./times-solid.svg\": 1053,\n\t\"./wrench-solid.svg\": 1054\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 708;","var map = {\n\t\"./PersImg1.jpg\": 1086,\n\t\"./PersImg10.jpg\": 1087,\n\t\"./PersImg11.jpg\": 1088,\n\t\"./PersImg12.jpg\": 1089,\n\t\"./PersImg13.jpg\": 1090,\n\t\"./PersImg14.jpg\": 1091,\n\t\"./PersImg15.jpg\": 1092,\n\t\"./PersImg16.jpg\": 1093,\n\t\"./PersImg17.jpg\": 1094,\n\t\"./PersImg18.jpg\": 1095,\n\t\"./PersImg19.jpg\": 1096,\n\t\"./PersImg2.jpg\": 1097,\n\t\"./PersImg20.jpg\": 1098,\n\t\"./PersImg21.jpg\": 1099,\n\t\"./PersImg22.jpg\": 1100,\n\t\"./PersImg23.jpg\": 1101,\n\t\"./PersImg24.jpg\": 1102,\n\t\"./PersImg25.jpg\": 1103,\n\t\"./PersImg26.jpg\": 1104,\n\t\"./PersImg27.jpg\": 1105,\n\t\"./PersImg28.jpg\": 1106,\n\t\"./PersImg29.jpg\": 1107,\n\t\"./PersImg3.jpg\": 1108,\n\t\"./PersImg30.jpg\": 1109,\n\t\"./PersImg4.jpg\": 1110,\n\t\"./PersImg5.jpg\": 1111,\n\t\"./PersImg6.jpg\": 1112,\n\t\"./PersImg7.jpg\": 1113,\n\t\"./PersImg8.jpg\": 1114,\n\t\"./PersImg9.jpg\": 1115\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 727;","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { ActionConfirmModal, DuplicateModal } from \"shared/modals/index\";\r\nimport GenericManageAccess from \"shared/modals/manage-access/GenericManageAccess\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { archiveCJM, copyCJM, deleteCJM, deletePermanentlyMap, restoreCJM } from \"../reducer/CJMActions\";\r\n\r\nexport default function BaseActions({ map, context, setRename, personaIdStr }) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst { pathname } = useLocation();\r\n\tconst isInEdit = pathname === \"/EditMap\";\r\n\tconst isSample = map?.isSample;\r\n\tconst isTemplate = map?.isTemplate;\r\n\r\n\tconst userId = useSelector((state) => state.auth?.userInfo?.UserId);\r\n\tlet userAccess = useSelector((state) => state?.maps?.currentUser?.roleName);\r\n\tconst isStandard = useSelector((state) => state.auth?.userInfo?.UserSubscriptionPlanName.toLowerCase() === \"standard\");\r\n\r\n\tif (!isInEdit) userAccess = map?.authorizedUsers?.find((user) => user.id === userId && user.roleId === EMPTY_GUID)?.roleName;\r\n\tif (isStandard) userAccess = \"owner\";\r\n\r\n\tconst id = map.cjmId;\r\n\tconst mapName = isInEdit ? map?.cjmName : map?.name;\r\n\r\n\tconst backToOrigin = () => {\r\n\t\tif (isTemplate) {\r\n\t\t\thistory.push(`/templates?tab=maps`);\r\n\t\t} else history.push(`/journey-map`);\r\n\t};\r\n\r\n\tconst [actionConfirmModal] = useModal(ActionConfirmModal);\r\n\r\n\tconst handleArchive = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ARCHIVE_GENERIC\",\r\n\t\t\tAction: () => archiveCJM({ id, onSuccess: isInEdit && backToOrigin }),\r\n\t\t\tactionBtnText: \"ARCHIVE\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"DELETE_GENERIC\",\r\n\t\t\tAction: () => deleteCJM({ id, onSuccess: isInEdit && backToOrigin }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleDeletePermanent = () => {\r\n\t\tactionConfirmModal({\r\n\t\t\tbodyContent: \"ASPX_204\",\r\n\t\t\tAction: () => deletePermanentlyMap({ id, deleteAllVersion: true }),\r\n\t\t\tactionBtnText: \"ASPX_13\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst callBackCopy = (response) => {\r\n\t\tif (typeof response === \"object\") {\r\n\t\t\thistory.push(`/EditMap?cjmid=${response?.cjmId}&personaId=${personaIdStr}`);\r\n\t\t}\r\n\t};\r\n\tconst [showCopyModal] = useModal(DuplicateModal, {\r\n\t\ttitle: `${t(\"JS_61\")} ${t(\"JOURNEY\")}`,\r\n\t\tinputTitle: \"JOURNEY_MAP_NAME\",\r\n\t\tcloseBtnLabel: \"COPY\",\r\n\t\tinputValue: `[${t(\"COPY_NOUN\").toUpperCase()}]- ` + mapName,\r\n\t\taction: ({ name, selectedWorkspaces }) => copyCJM({ id, name, workspaceIds: selectedWorkspaces.map((w) => w?.id), onSuccess: isInEdit && callBackCopy }),\r\n\t});\r\n\r\n\tconst [showAccessModal] = useModal(GenericManageAccess, {\r\n\t\titemId: id,\r\n\t\tcontext: \"/journey-map\",\r\n\t});\r\n\r\n\tconst { renameAllowed, copyAllowed, archiveAllowed, deleteAllowed, manageAccessAllowed, showHierarchyAllowed, restoreAllowed, deletePermanentAllowed } = PermissionManager({\r\n\t\tuserAccess,\r\n\t\tcontext,\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tlet actions = [];\r\n\t\tif (renameAllowed && setRename) actions.push({ id: \"rename\", handleClick: () => setRename(id), icon: \"EDIT\", text: t(\"JS_89\") });\r\n\t\tif (copyAllowed) actions.push({ id: \"copy\", handleClick: showCopyModal, icon: \"COPY\", text: t(\"JS_61\") });\r\n\t\tif (manageAccessAllowed) actions.push({ id: \"manageAccess\", handleClick: showAccessModal, icon: \"ACCESS\", text: t(\"ASPX_17\") });\r\n\t\tif (showHierarchyAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"mapHierarchy\",\r\n\t\t\t\thandleClick: () => history.push(`/map-hierarchy?cjmid=${id}&personaId=${personaIdStr || map?.linkedPersonas[0]?.personaId}`),\r\n\t\t\t\ticon: \"MAP-HIERARCHY\",\r\n\t\t\t\ttext: t(\"VIEW_HIERARCHY\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (archiveAllowed || deleteAllowed) actions.push({ id: \"divider2\", divider: true });\r\n\t\tif (archiveAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"archive\",\r\n\t\t\t\thandleClick: handleArchive,\r\n\t\t\t\ticon: \"ARCHIVE\",\r\n\t\t\t\ttext: t(\"ARCHIVE\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (deleteAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: handleDelete,\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(\"CS_45\"),\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (restoreAllowed) actions.push({ id: \"restore\", handleClick: () => restoreCJM({ id }), icon: \"RESTORE\", text: t(\"JS_96\") });\r\n\t\tif (deletePermanentAllowed) actions.push({ id: \"deletePermanent\", handleClick: handleDeletePermanent, itemStyle: \"warning-delete\", icon: \"DELETE\", text: t(\"JS_97\") });\r\n\t\tif (isSample) {\r\n\t\t\tactions = actions?.filter((action) => action.id === \"copy\" || action.id === \"mapHierarchy\");\r\n\t\t}\r\n\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn createActions();\r\n}\r\n","import { linkInsightRecords, linkInteraction } from \"@redux/index\";\r\nimport { useRef, useState } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { linkRecordsOnMap } from \"features/journey-map/reducer/CJMActions\";\r\nimport { InsightDropdown } from \"shared/dropdowns/cx-dropdown/Insights/InsightDropdown\";\r\nimport { Button, IconDispatcher } from \"shared/ui-basics\";\r\nimport styled from \"styled-components\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport { getStage } from \"redux/memoizedSelectors\";\r\nimport $ from 'jquery'\r\nexport const AddInsight = ({ swimlaneKey, stageId, interaction, selected ,disableAI = false}) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst { cjmIdStr, personaIdStr } = useLocation().search.getAllMapsParams();\r\n\r\n\tconst cjmSwimLaneDetails = useSelector((state) => state.maps.current_map.cjmSwimLaneDetails?.[swimlaneKey]?.[stageId]);\r\n\tconst [show, setShow] = useState(false);\r\n\tconst stageName = useSelector(getStage(stageId))?.name\r\n\r\n\tconst handleToggle = (isOpen) => {\r\n\t\tsetShow(isOpen);\r\n\t\tconst selector = $(`#addItems_${swimlaneKey}_${stageId}`);\r\n\t\tif (isOpen && selector) {\r\n\t\t\tselector.addClass(\"open\");\r\n\r\n\t\t} else if (selector) {\r\n\t\t\tselector.removeClass(\"open\");\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleClose = () => setShow(false);\r\n\r\n\tconst linkedInsights = selected ? selected : cjmSwimLaneDetails?.items.map((item) => item?.insightId);\r\n\r\n\tconst linkInsightOnMapWrapper = (recordId, onSuccess) => {\r\n\t\tconst isArray = Array.isArray(recordId);\r\n\r\n\t\tif (stageId) {\r\n\t\t\tconst params = {\r\n\t\t\t\tcjmId: cjmIdStr,\r\n\t\t\t\tcustomSwimLaneId: swimlaneKey,\r\n\t\t\t\tstageId,\r\n\t\t\t\tswimLaneItemIds: isArray ? recordId.map(d => uuid()) : [uuid()],\r\n\t\t\t\tobjIds: isArray ? recordId : [recordId],\r\n\t\t\t\tobjType: InformationType.Insights,\r\n\t\t\t\tattributeId: \"insightId\",\r\n\t\t\t\tpersonaId: personaIdStr,\r\n\t\t\t\tonSuccess,\r\n\t\t\t};\r\n\t\t\tlinkRecordsOnMap(params);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleLink = (id, onLinkSuccess) => {\r\n\t\tif (interaction) {\r\n\t\t\tlinkInteraction({\r\n\t\t\t\trecEntityName: \"cem_insight\",\r\n\t\t\t\trecIds: [id],\r\n\t\t\t\titemId: interaction?.id,\r\n\t\t\t\tstageId,\r\n\t\t\t\tattribute: \"linkedInsights\",\r\n\t\t\t});\r\n\t\t\tlinkInsightRecords({ itemId: id, recIds: [interaction?.touchPointId], recEntityName: \"cem_touchpoints\", attribute: \"linkedTouchpoints\" });\r\n\t\t}\r\n\t\tlinkInsightOnMapWrapper(id, onLinkSuccess);\r\n\t\tif (show) handleToggle(false);\r\n\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"PLUS\")}
\r\n\t\t\t\t\t
{t(\"ADD_INSIGHT\")}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst DropDownContainer = styled(Dropdown)`\r\n\t.dropdown-toggle::after {\r\n\t\tdisplay: none;\r\n\t}\r\n\t.dropdown-menu {\r\n\t\tpadding: 0px;\r\n\t\tmargin: 0px;\r\n\t}\r\n`;\r\n\r\nconst MenuContainer = styled(Dropdown.Menu)`\r\n\twidth: 576px;\r\n\tmax-height: 292px;\r\n\tborder: none;\r\n`;\r\n\r\nconst ActionContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tline-height: 24px;\r\n\tfont-size: 14px;\r\n\tbackground-color: transparent !important;\r\n\tcolor: #605f60 !important;\r\n`;\r\n","import { GenericButton, RadioButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexAlign } from \"shared/ui-basics/index\";\r\nimport InsightType from \"shared/ui-basics/ui-components/InsightType\";\r\nimport { updateInsight } from \"../../insights/reducer/InsightActions\";\r\nimport { getAllInsights } from \"@redux/memoizedSelectors\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { memo, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Modal, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\nconst SelectInsightTypeModal = memo(({ isOpen, onClose, selectedItems }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst insightIds = selectedItems.map(({ insightId }) => insightId);\r\n\tconst selectedInsights = useSelector(getAllInsights)?.filter((insight) => insightIds?.includes(insight.id));\r\n\tconst insightTypes = useSelector((state) => state.libraries?.insightTypes);\r\n\tconst [selectedType, setSelectedType] = useState(EMPTY_GUID);\r\n\r\n\tconst apply = ({typeId}) => {\r\n\t\tonClose();\r\n\t\tselectedInsights.forEach((insight) => {\r\n\t\t\tupdateInsight({ modifiedInsight: { ...insight, typeId: typeId??selectedType }, modifiedAttribNames: [\"type\"] });\r\n\t\t});\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"SELECT_TYPE\")}\r\n\t\t\t\r\n\t\t\t\t{insightTypes?.map(({ id }) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setSelectedType(id)} showpointer />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{apply({typeId:EMPTY_GUID})}}>\r\n\t\t\t\t\t{t(\"CLEAN\")}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"APPLY\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\n\r\nSelectInsightTypeModal.displayName = \"SelectInsightTypeModal\";\r\nexport { SelectInsightTypeModal };\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 400px;\r\n`;\r\n\r\nconst CustomFooter = styled(ModalFooter)`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n`;\r\n\r\nconst TypesContainer = styled.div`\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n\tmax-height: 500px;\r\n\toverflow: scroll;\r\n`;\r\n","import { createPersona, updateFolderLinks } from \"@redux/index\";\r\nimport { detectImageExtension, getEntityCurrentState } from \"@utils/helpers\";\r\nimport { Carousel } from \"primereact/carousel\";\r\nimport React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport { UploadImageModal } from \"shared/components/UploadImage\";\r\nimport { GenericButton, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport * as S from \"./PersonaCreationStyles\";\r\n\r\nexport default function PersonaPicture({ previousStep, newPersona, setNewPersona }) {\r\n\tconst { t } = useTranslation();\r\n\tconst history = useHistory();\r\n\tconst { search } = useLocation()\r\n\tconst cxProgramId = search.getCxProgramID();\r\n\tconst folderId = search.getFolderId()\r\n\r\n\tconst [isDisabled, setIsDisabled] = useState(false);\r\n\r\n\tconst onSuccess = (data) => {\r\n\t\tif(folderId) {\r\n\t\t\tupdateFolderLinks({ folderIds: [folderId], idsToLink: [data.personaId], entityName: \"cem_persona\" })\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\thistory.push(`/personas?folderId=${folderId}`);\r\n\t\t\t}, 500);\r\n\r\n\r\n\t\t}else {\r\n\t\t\thistory.push(`/EditPersona?personaIdStr=${data?.personaId}${cxProgramId ? `&cxProgramId=${cxProgramId}` : ''}`);\r\n\t\t}\r\n\t};\r\n\r\n const handleDoneClick = () => {\r\n setIsDisabled(true)\r\n createPersona({item:{...newPersona,isFuture:getEntityCurrentState(newPersona.isFuture)}, onSuccess, cxProgramId});\r\n }\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(\"ARROW_LEFT\", \"me-1\")}\r\n\t\t\t\t{t(\"ASPX_132\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{IconDispatcher(\"WIZARD-BIRD\")}\r\n\t\t\t\t\t{t(\"ALMOST_DONE\")}\r\n\t\t\t\t\t{t(\"SELECT_PERSONA_PICTURE\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"ASPX_187\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\nexport const PersonaPictureSelector = ({ newPersona, setNewPersona ,generateUsingAI ,innerRef }) => {\r\n\tlet pictureGrids = \"\";\r\n\tif (newPersona?.gender === \"Man\") {\r\n\t\tpictureGrids = [\r\n\t\t\t[\"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\"],\r\n\t\t\t[\"1\", \"3\", \"10\", \"11\", \"12\"],\r\n\t\t];\r\n\t} else if (newPersona?.gender === \"Woman\") {\r\n\t\tpictureGrids = [\r\n\t\t\t[\"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\"],\r\n\t\t\t[\"2\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\r\n\t\t];\r\n\t} else {\r\n\t\tpictureGrids = [\r\n\t\t\t[\"22\", \"13\", \"23\", \"14\", \"24\", \"15\", \"25\", \"16\", \"26\"],\r\n\t\t\t[\"17\", \"27\", \"18\", \"28\", \"19\", \"29\", \"20\", \"30\", \"21\"],\r\n\t\t\t[\"1\", \"2\", \"3\", \"4\", \"10\", \"5\", \"11\", \"6\", \"12\"],\r\n\t\t\t[\"7\", \"8\", \"9\"],\r\n\t\t];\r\n\t}\r\n\r\n\r\n\tconst handleStandardImageClick = (e) => {\r\n\t\tconst id = e.target.id;\r\n\t\tif (newPersona.standardImage === id) setNewPersona({ ...newPersona, standardImage: \"\", customImage: \"\" });\r\n\t\telse setNewPersona({ ...newPersona, standardImage: id, customImage: \"upload\" });\r\n\t};\r\n\r\n\tconst handlePictureUpload = (result) => {\r\n\t\tif (result) {\r\n\t\t\tsetNewPersona({ ...newPersona, standardImage: \"\", customImage: result, imageExtension: detectImageExtension(result.split(\",\")[0]) });\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleDelete = () => {\r\n\t\tsetNewPersona({ ...newPersona, customImage: \"delete\" });\r\n\t};\r\n\r\n\tconst GridTemplate = (grid) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{grid.map((pictureNumber, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{IconDispatcher(\"PRIMARY-CHECK\")}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n","import { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport React, { memo, useEffect, useRef, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styled from \"styled-components/macro\";\r\nimport { ActionsDropdown, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport TargetForm from \"features/forms/components/sections/TargetSection/TargetForm\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { t } from \"i18next\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\n\r\nfunction TargetCard({ item, saveTarget, deleteTarget, roleName, cardWidth = \"100%\" }) {\r\n\tconst panelRef = useRef(null);\r\n\tconst tooltipRef = useRef(null);\r\n\tconst allMetrics = useSelector((state) => state.libraries.cxMetrics);\r\n\tconst isReadOnly = useSelector((state) => state.auth.userInfo?.UserType)?.isReadOnly();\r\n\r\n\tconst [isEllipsisActive, setIsEllipsisActive] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (tooltipRef?.current?.offsetWidth < tooltipRef?.current?.scrollWidth) {\r\n\t\t\tsetIsEllipsisActive(true);\r\n\t\t}\r\n\t}, [tooltipRef]);\r\n\r\n\tconst isViewer = roleName === \"viewer\";\r\n\tconst isContributor = roleName === \"contributor\";\r\n\tconst isDeletable = !isViewer && !isContributor;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t panelRef.current.toggle(e)}>\r\n\t\t\t\t
\r\n\t\t\t\t\t{IconDispatcher(\"BULLSEYE-ARROW\", \"me-2\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item?.name}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{item?.metrics.length > 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item?.metrics.map((metricId, index) => {\r\n\t\t\t\t\t\t\tconst metricObj = allMetrics?.find((m) => m.id === metricId);\r\n\t\t\t\t\t\t\tconst len = item?.metrics.length - 1;\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{metricObj?.name}\r\n\t\t\t\t\t\t\t\t\t{len !== index && \" |\"}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{isDeletable && !isReadOnly && }\r\n\t\t
\r\n\t);\r\n}\r\nconst TargetActions = memo(({ item, deleteTarget, isDeleteAllowed }) => {\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_TARGET\",\r\n\t\tAction: () => deleteTarget({ itemId: item.id }),\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tconst actions = [];\r\n\t\tif (isDeleteAllowed) actions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", text: t(\"ASPX_13\") });\r\n\t\treturn actions;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\nTargetCard.displayName = \"TargetCard\";\r\nTargetActions.displayName = \"TargetActions\";\r\nexport default memo(TargetCard);\r\n\r\nconst Actions = styled.div`\r\n\tposition: absolute;\r\n\ttop: 1px;\r\n\tright: 1px;\r\n\tz-index: 2;\r\n\tdisplay: none;\r\n`;\r\n\r\nconst CardContainer = styled.div`\r\n\tposition: relative;\r\n\twidth: ${(props) => props.cardWidth};\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t:hover ${Actions} {\r\n\t\tdisplay: flex;\r\n\t}\r\n`;\r\n\r\nconst Card = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 10px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tborder-radius: 4px;\r\n\tbackground-color: #ffffff;\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\n\r\nconst Logo = styled.div`\r\n\tcolor: #f96209;\r\n\tpath {\r\n\t\tfill: #f96209 !important;\r\n\t}\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tfont-style: normal;\r\n\tfont-weight: 500;\r\n\tfont-size: 20px;\r\n\tline-height: 24px;\r\n\tcolor: #333333;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n\r\nconst Metrics = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n`;\r\n\r\nconst Metric = styled.div`\r\n\tdisplay: flex;\r\n\tfont-weight: 500;\r\n\tfont-size: 14px;\r\n\tline-height: 150%;\r\n\tcolor: #605f60;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tmax-width: 100px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n","import { deleteStakeholder } from \"@redux/index\";\r\nimport { GetUserColor, getInitials } from \"@utils/helpers\";\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { useRef, useState } from \"react\";\r\nimport { FlexAlignCenter, FlexColumn, GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport StakeHolderForm from \"./StakeHolderForm\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nexport default function StakeHolderCard({ recordId, item, roleName, entityName, onSuccess, stakeHoldersPath, actionType }) {\r\n\tconst panelRef = useRef(null);\r\n\tconst [disableDelete, setDisableDelete] = useState(false);\r\n\tconst hideForPdf = useLocation().search.hideForPdf()\r\n\tconst isViewer = roleName === \"viewer\";\r\n\tconst isContributor = roleName === \"contributor\";\r\n\tconst isDeletable = !hideForPdf && !disableDelete && !isViewer && !isContributor;\r\n\r\n\tconst handleDelete = () => {\r\n\t\tsetDisableDelete(true);\r\n\t\tdeleteStakeholder({ stakeholderId: item.id, recId: recordId, entityName, actionType: \"DELETE_\" + actionType, onSuccess: onSuccess });\r\n\t\tsetDisableDelete(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t panelRef.current.toggle(e)}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item?.fullName}\r\n\t\t\t\t\t\t{item?.roleName}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{isDeletable && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst CardContainer = styled.div`\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\tbackground-color: #efefef;\r\n\tpadding: 8px;\r\n\tborder-radius: 4px;\r\n`;\r\n\r\nconst Card = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 16px;\r\n`;\r\n\r\nconst Name = styled.div`\r\n\tfont-weight: 400;\r\n\tfont-size: 16px;\r\n\tline-height: 19px;\r\n\tmax-width: 200px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n\r\nconst JobTitle = styled.div`\r\n\tfont-weight: 400;\r\n\tfont-size: 12px;\r\n\tline-height: 15px;\r\n\tcolor: #92919d;\r\n\tmax-width: 200px;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n`;\r\n\r\nconst ButtonWrapper = styled.div`\r\n\tfont-weight: 400;\r\n\tcolor: #433d56;\r\n display: flex;\r\n align-items: center;\r\n`;\r\n\r\n","import _ from \"lodash\";\r\nimport React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { IconDispatcher } from \"shared/ui-basics/index\";\r\nimport * as S from \"./Style\";\r\nimport { t } from \"i18next\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport TagsDropdown from \"shared/dropdowns/library-dropdown/tags/TagsDropdown\";\r\n\r\nexport const CXNumbers = ({ cxProgramId }) => {\r\n\tconst progFromList = useSelector((s) => s.cxProgram.all_cxPrograms);\r\n\tconst prog = useSelector((s) => s.cxProgram.current_program);\r\n\tlet CxData;\r\n\r\n\tif (cxProgramId) {\r\n\t\tCxData = progFromList.find((cx) => cx.id === cxProgramId);\r\n\t} else {\r\n\t\tCxData = prog;\r\n\t}\r\n\r\n\tconst { t } = useTranslation();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{CxData.CxNumbers && (\r\n\t\t\t\t\r\n\t\t\t\t\t{CxData.CxNumbers.map((cx, i) => {\r\n\t\t\t\t\t\tconst linkedItems = CxData[cx.linkName];\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{IconDispatcher(cx.icon, \"me-1\")}\r\n\t\t\t\t\t\t\t\t\t{t(cx.title)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{linkedItems?.length}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const Title = ({ path, updateFunction, itemId, icon, isEditable, isContributor, recordType }) => {\r\n const hideForPdf = useLocation().search.hideForPdf();\r\n\r\n\tconst item = useSelector((state) => _.get(state, path));\r\n\tconst [showInput, setShowInput] = useState(false);\r\n\r\n\tconst [inputValue, setInputValue] = useState(item?.name || \"\");\r\n\tconst [object, setObject] = useState(item);\r\n\tconst maxLines = 2;\r\n\tconst defaultName = \"cem_cxproject\" === recordType ? t(\"PROJECT_NAME\") : t(\"CX_PROGRAM_NAME\");\r\n\tconst colSize = recordType === \"cem_cxprogram\" ? { xs: 5, xxl: 8 } : { xs: 6, xxl: 8 };\r\n\tconst updateName = () => {\r\n\t\tsetShowInput(false);\r\n\t\tif (inputValue !== item) {\r\n\t\t\tconst name = inputValue === \"\" ? `${defaultName}` : inputValue;\r\n\t\t\tsetInputValue(name);\r\n\t\t\tupdateFunction({ id: itemId, name: name }, [\"name\"]);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{icon && IconDispatcher(icon, \"me-4\")}\r\n\t\t\t\t\t{showInput ? (\r\n\t\t\t\t\t\t setInputValue(e.target.value)}\r\n\t\t\t\t\t\t\tonBlur={updateName}\r\n\t\t\t\t\t\t\tdisabled={!isEditable}\r\n\t\t\t\t\t\t\tvalue={inputValue}\r\n\t\t\t\t\t\t\tautoFocus\r\n\t\t\t\t\t\t\tplaceholder={defaultName}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t setShowInput(true)}>{inputValue.defaultPlaceholder(defaultName)}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport BaseActions from \"features/library/actions/library-item-actions/BaseActions\";\r\nimport { ColorCircle } from \"features/library/components/CustomLibrary/ColorCircle\";\r\nimport { getCustomLibraryLinkedRecordsFn, upsertValueLibrary } from \"features/library/reducer/LibraryActions\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { getAllCustomLibraryItems } from \"redux/memoizedSelectors\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { SideModal } from \"shared/cx-components/cx-components.style\";\r\nimport Header from \"shared/cx-components/header\";\r\nimport HeaderTitle from \"shared/cx-components/header-title\";\r\nimport Relations from \"shared/cx-components/relations/relations\";\r\nimport { TypesTabs } from \"shared/cx-components/relations/tabs-data\";\r\nimport { ItemProvider, useItem } from \"shared/dynamic-imports\";\r\nimport { useNavigationListData } from \"shared/hooks\";\r\nimport { encode } from \"utils/helpers\";\r\n\r\ntype Props = {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tcustomItemsIds?: string[];\r\n\tlibraryId: string;\r\n\titemId: string;\r\n\tstageId?: string;\r\n};\r\n\r\nexport default function EditCustomLibrary(props: Props): JSX.Element {\r\n\tconst { isOpen, onClose, libraryId, itemId } = props;\r\n\tconst currentItem = useSelector((state: any) => state?.libraries?.customLibraries.find((cl: any) => cl.id === libraryId)?.values?.find((value: any) => value?.id === itemId) || []);\r\n\r\n\tconst handleUpdateLibraryItem = ({ item, modifiedAttribNames }: any) => {\r\n\t\t// if (modifiedAttribNames?.includes(\"description\")) item.description = encode(item?.description?.truncate(20000,true));\r\n\t\t// if (modifiedAttribNames?.includes(\"name\")) item.name = encode(item?.name?.truncate(100,true));\r\n\t\tupsertValueLibrary({ libraryId, libraryValue: item });\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{itemId ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : null}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst Content = (props: Props) => {\r\n\tconst { onClose, libraryId, customItemsIds, stageId } = props;\r\n\tconst { currentItem, setCurrentItem, handleChange } = useItem();\r\n\tconst isReadOnly = useSelector(({ auth }: any) => auth.userInfo.UserType)?.isReadOnly();\r\n\tconst [isRelationLoading, setIsRelationLoading] = useState(true);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetCustomLibraryLinkedRecordsFn({\r\n\t\t\tlibraryId,\r\n\t\t\tlibraryValueId: currentItem?.id,\r\n\t\t\tonSuccess: (data) => {\r\n\t\t\t\tsetIsRelationLoading(false);\r\n\t\t\t\tsetCurrentItem(data);\r\n\t\t\t},\r\n\t\t});\r\n\t}, [currentItem?.id]);\r\n\r\n\tconst { navigationList, updateCurrentItem } = useNavigationListData({ allItemsSelector: getAllCustomLibraryItems(libraryId), selectedItemsIds: customItemsIds });\r\n\tconst disabled = isReadOnly || !currentItem?.isCustom;\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t } disabled={disabled} />\r\n\t\t\t<>\r\n\t\t\t\t{isRelationLoading ? : }\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n","var map = {\n\t\"./asana.png\": 1246,\n\t\"./intercom.png\": 1247,\n\t\"./jira.png\": 1248,\n\t\"./mailchimp.png\": 1249,\n\t\"./marketo.png\": 1250,\n\t\"./medalia.png\": 1251,\n\t\"./microsoft-customer-voice.png\": 1252,\n\t\"./microsoft-dynamics.png\": 1253,\n\t\"./microsoft-power-apps.png\": 1254,\n\t\"./microsoft-power-bi.png\": 1255,\n\t\"./microsoft-sharepoint.png\": 1256,\n\t\"./microsoft-teams.png\": 1257,\n\t\"./miro.png\": 1258,\n\t\"./monday.png\": 1259,\n\t\"./mural.png\": 1260,\n\t\"./qualtrics.png\": 1261,\n\t\"./salesforce.png\": 1262,\n\t\"./sandsiv.png\": 1263,\n\t\"./sap.png\": 1264,\n\t\"./service-now.png\": 1265,\n\t\"./slack.png\": 1266,\n\t\"./smartsheet.png\": 1267,\n\t\"./survey-monkey.png\": 1268,\n\t\"./trello.png\": 1269,\n\t\"./zendesk.png\": 1270\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 748;","/* eslint-disable no-undef */\r\nimport { getSessionId, getStageCustomerFeedback, mapCurrentUser } from \"@redux/memoizedSelectors\";\r\nimport { EMPTY_GUID, importAll } from \"@utils/helpers\";\r\nimport { ConnectorSource } from \"@utils/optionsSets/OptionSets\";\r\nimport AddComment_popup from \"features/comments/components/comment-popup/add-comment_popup\";\r\nimport { deleteCustomerFeedback, upsertCustomerFeedback } from \"features/index\";\r\nimport EditFeedbackData from \"features/journey-map/modals/AddFeedback/EditFeedbackData\";\r\nimport { addIconCustomSwimlane, deleteIconCustomSwimlane } from \"features/journey-map/reducer/IconService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { IconDisplay } from \"shared/components/IconDisplay\";\r\nimport IconSelector from \"shared/popovers/IconSelector\";\r\nimport { ActionsDropdown, FlexColumnGap, FlexColumnJustifyBetween, IconDispatcher, Label } from \"shared/ui-basics/index\";\r\nimport { SmileyStaticComponent } from \"shared/ui-basics/ui-components/EmotionLevelComponents/SmileyStaticComponent\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport * as Style from \"./Styles\";\r\nimport { makeGetTouchpoint } from \"redux/memoizedSelectors\";\r\nimport { PermissionManager } from \"utils/permissionManager\";\r\n\r\nexport const getImgConnector = (connectorSource) => {\r\n\tconst integrations = importAll(require.context(\"@Assets/images/integration\", false, /\\.(png|jpe?g|svg)$/));\r\n\r\n\tswitch (connectorSource) {\r\n\t\t// case ConnectorSource.Manual:\r\n\t\t// \treturn \"PEN-TO-SQUARE\";\r\n\t\t// case ConnectorSource.ImportFile:\r\n\t\t// \treturn \"UPLOAD-LIGHT\";\r\n\t\tcase ConnectorSource.Qualtrics:\r\n\t\t\treturn integrations[\"qualtrics.png\"]?.default;\r\n\t\tcase ConnectorSource.SurveyMonkey:\r\n\t\t\treturn integrations[\"survey-monkey.png\"]?.default;\r\n\t\tcase ConnectorSource.Sandsiv:\r\n\t\t\treturn integrations[\"sandsiv.png\"]?.default;\r\n\t}\r\n\treturn \"\";\r\n};\r\nexport const StagesCustomerFeedbacks = ({ stage, swimlaneKey }) => {\r\n\tconst { personaIdStr } = useLocation().search.getAllMapsParams();\r\n\tconst customerFeedbacks = useSelector(getStageCustomerFeedback(stage.id, personaIdStr)) || [];\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{customerFeedbacks?.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t\t\t{customerFeedbacks?.map((customerFeedback) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport const CustomerFeedbackCard = ({ customerFeedback, stageId, swimlaneKey }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { cjmIdStr: cjmId, personaIdStr: personaId } = useLocation().search.getAllMapsParams();\r\n\tconst current_user = useSelector(mapCurrentUser);\r\n\tconst { customerFeedbackDatas } = customerFeedback || [];\r\n\tconst connectorData = useSelector((state) => state.settings.connector)?.find((con) => con?.id === customerFeedback?.connectorId);\r\n\tconst touchPoint = useSelector(makeGetTouchpoint(customerFeedback?.touchPointId))\r\n\r\n\tconst metricsData = useSelector((state) => state.libraries.cxMetrics)?.getById(customerFeedback?.cxMetricsId);\r\n\tconst isOwner = current_user?.roleName?.toLowerCase().toLowerCase() === \"owner\";\r\n\tconst isViewer = current_user?.roleName?.toLowerCase().toLowerCase() === \"viewer\";\r\n\tconst { discussionIds } = useSelector((state) => state.maps.current_map?.cjmCustomerFeedback?.[personaId]?.[stageId]?.find((cf) => cf.id === customerFeedback.id) || {});\r\n\tconst [feedbackModal] = useModal(EditFeedbackData, { customerFeedbackId: customerFeedback?.id, stageId });\r\n\tconst open = useSelector((state) => discussionIds?.includes(state.ui?.comment?.openDiscussion) || false);\r\n\tconst userAccess = useSelector((state) => state?.maps?.currentUser?.roleName);\r\n\tconst { swimlaneItemActionsAllowed, addCommentAllowed } = PermissionManager({ userAccess });\r\n\tconst srcImg = getImgConnector(connectorData?.source);\r\n\r\n\tconst iconParams = {\r\n\t\tswimlaneKey: swimlaneKey,\r\n\t\tstageId: stageId,\r\n\t\tcjmIdStr: cjmId,\r\n\t\tpersonaIdStr: personaId,\r\n\t\tcardId: customerFeedback?.id,\r\n\t\ttype: 28,\r\n\t\tspecificKey: swimlaneKey + \"_\" + stageId + \"_\" + customerFeedback?.id,\r\n\t\tattributeId: customerFeedback?.id,\r\n\t};\r\n\tconst addIcon = (id) => id && addIconCustomSwimlane({ iconId: id, ...iconParams });\r\n\tconst deleteIcon = (id) => id && deleteIconCustomSwimlane({ iconId: id, ...iconParams });\r\n\tconst deleteAction = () => deleteCustomerFeedback({ customerFeedbackId: customerFeedback.id, personaId, stageId, cjmId });\r\n\tconst copyAction = () => upsertCustomerFeedback({ customerFeedback: { ...customerFeedback, id: EMPTY_GUID, retrieveData: false, icon: [], customerFeedbackDatas: [] }, cjmId });\r\n\r\n\tconst createActions = () => {\r\n\t\tconst actions = [];\r\n\t\tif (swimlaneItemActionsAllowed) {\r\n\t\t\tactions.push({\r\n\t\t\t\thandleClick: () => {\r\n\t\t\t\t\tfeedbackModal({ customerFeedbackId: customerFeedback?.id, stageId });\r\n\t\t\t\t},\r\n\t\t\t\ticon: \"EDIT\",\r\n\t\t\t\ttext: t(\"EDIT\"),\r\n\t\t\t});\r\n\t\t\tactions.push({ handleClick: copyAction, icon: \"COPY\", text: t(\"COPY\") });\r\n\r\n\t\t\tactions.push({ handleClick: deleteAction, icon: \"DELETE\", text: t(\"ASPX_13\") });\r\n\t\t\tactions.push({\r\n\t\t\t\tcustomItem: ,\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (addCommentAllowed)\r\n\t\t\tactions.addDiscussionAction({\r\n\t\t\t\tobjId: customerFeedback.id, swimlaneId: swimlaneKey, stageId: stageId, objName: 'cem_customerfeedback', cjmId, personaId,\r\n\t\t\t});\r\n\t\treturn actions;\r\n\t};\r\n\tconst HeaderCard = () => {\r\n\t\tconst getName = customerFeedback?.name?.defaultPlaceholder(\"FEEDBACK_DATA\") || \"\";\r\n\r\n\t\tconst actions = createActions()\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{IconDispatcher(\"chart-simple-horizontal\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\tconst Icons = ({ object, stageId, swimlaneKey, deleteIcon, showEdit }) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{object.icons?.map((icon, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst NonData = () => {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{customerFeedback?.retrieveData ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"RETRIEVING_DATA\") + \"...\"}\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"NEW_FEEDBACK_DATA\")}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\tconst CompareValues = () => {\r\n\t\tif (customerFeedbackDatas?.length < 2 || customerFeedbackDatas[0]?.sentimentIndex === customerFeedbackDatas[1]?.sentimentIndex)\r\n\t\t\treturn { icon: \"circle\", params: { style: \"solid\", color: \"#F0F0F0\" } };\r\n\t\tif (customerFeedbackDatas[0]?.sentimentIndex >= customerFeedbackDatas[1]?.sentimentIndex)\r\n\t\t\treturn { icon: \"caret-up\", params: { size: \"lg\", style: \"solid\", color: \"#4ADE80\" } };\r\n\t\telse\r\n\t\t\treturn { icon: \"caret-down\", params: { size: \"lg\", style: \"solid\", color: \"#F87171\" } };\r\n\t}\r\n\tconst value = CompareValues();\r\n\tconst lastSentimentIndex = customerFeedbackDatas[0]?.sentimentIndex;\r\n\treturn (\r\n\t\t\r\n\t\t\t
{ } : feedbackModal}>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{customerFeedbackDatas.length > 0 ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{lastSentimentIndex !== 0 && }\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{customerFeedbackDatas[0]?.interactionDate}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{metricsData ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{srcImg !== \"\" ? :\r\n\t\t\t\t\t\t\t\t\t\t\t<>{IconDispatcher(getImgConnector(customerFeedback?.source), \"me-1\")}}\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Moment from \"react-moment\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { Button } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport { Flex } from \"../../modals/comment-center.style\";\r\nimport { createComment, deleteComment, deleteDiscussion, updateComment, updateStatusDiscussion } from \"../../reducer/MapActions\";\r\nimport CommentEditor from \"../CommentEditor\";\r\nimport { setOpenDiscussion } from \"features/comments/reducer/commentSlice\";\r\nimport $ from \"jquery\";\r\ntype DiscussionProps = {\r\n\tdiscussion: any;\r\n\tsubject: string;\r\n\tdiscussionId: string;\r\n\tsetDiscussionState?: any;\r\n\tinnerRef?: React.RefObject;\r\n\thidden?: boolean;\r\n};\r\n\r\nconst Discussion = ({ discussion, subject, discussionId, setDiscussionState, innerRef, hidden }: DiscussionProps): JSX.Element => {\r\n\tconst { cjmIdStr, personaIdStr } = getAllMapsParams(useLocation().search);\r\n\tconst users = useSelector((state: any) => state.settings?.authorizedUsers);\r\n\tconst currentUserId = useSelector((state) => state?.auth?.userInfo.UserId);\r\n\r\n\tconst [edit, setEdit] = React.useState(null);\r\n\tconst [mention, setMention] = React.useState([]);\r\n\tconst { t } = useTranslation();\r\n\tconst isInCommentCenter = hidden;\r\n\tconst commentCounts = discussion?.comments?.length || 0;\r\n\tconst isResolved = discussion?.isResolved;\r\n const [showReply, setShowReply] = React.useState(false);\r\n\r\n\tconst onSubmit = (value: string, mentions: any) => {\r\n\t\tcreateComment({\r\n\t\t\tdiscussionId: discussionId,\r\n\t\t\tdescription: value,\r\n\t\t\tmentions: mentions,\r\n\t\t\tcjmIdStr,\r\n\t\t\tpersonaIdStr,\r\n\t\t});\r\n \r\n\t};\r\n\tconst getActions = (index: number) => {\r\n\t\tconst commentOwnerId = discussion?.comments[index]?.ownerId;\r\n\t\tconst isOwner = commentOwnerId === currentUserId;\r\n\t\tif (!isOwner) return [];\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\t\t\tid: \"edit\",\r\n\t\t\t\t\t\thandleClick: () => setEdit(index),\r\n\t\t\t\t\t\ticon: \"EDIT\",\r\n\t\t\t\t\t\ttext: t(\"EDIT\"),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: \"delete\",\r\n\t\t\t\thandleClick: () => {\r\n\t\t\t\t\tif (index === 0) {\r\n\t\t\t\t\t\tdeleteDiscussion({\r\n\t\t\t\t\t\t\tdiscussionId: discussion?.id,\r\n\t\t\t\t\t\t\tcjmId: cjmIdStr,\r\n\t\t\t\t\t\t\tpersonaId: personaIdStr,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (setDiscussionState) {\r\n\t\t\t\t\t\t\tsetDiscussionState((prev: any[]) => prev?.filter((id: string) => id !== discussion?.id));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (innerRef && innerRef.current?.hide_popover) {\r\n\t\t\t\t\t\t\tinnerRef.current?.hide_popover();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdeleteComment({ commentId: discussion?.comments[index]?.id, discussionId: discussion.id, cjmIdStr, personaIdStr });\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\ticon: \"DELETE\",\r\n\t\t\t\ttext: t(index === 0 ? \"DELETE_CONVERSATION\" : \"DELETE_COMMENT\"),\r\n\t\t\t},\r\n\t\t];\r\n\t};\r\n\tconst update = (values: string) => {\r\n\t\tif (edit === null) return;\r\n\t\tupdateComment({\r\n\t\t\tcommentId: discussion?.comments[edit]?.id,\r\n\t\t\tnewDescription: values,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t\tdiscussionId: discussion.id,\r\n\t\t\tmentions: mention,\r\n\t\t});\r\n\r\n\t\tsetEdit(null);\r\n\t\tsetMention([]);\r\n\t};\r\n\tconst resolveDiscussion = (e: any) => {\r\n\t\te.stopPropagation();\r\n\t\tupdateStatusDiscussion({\r\n\t\t\tdiscussionId: discussion?.id,\r\n\t\t\tisResolved: !discussion.isResolved,\r\n\t\t\tcjmId: cjmIdStr,\r\n\t\t\tpersonaId: personaIdStr,\r\n\t\t});\r\n\t};\r\n\tconst openDiscussion = () => {\r\n\t\tif (isInCommentCenter && isResolved === false && edit === null) {\r\n\t\t\tconst swimlane = $(`#swimlanes_${discussion.swimLaneId}`)[0];\r\n\t\t\tif (swimlane) {\r\n\t\t\t\tswimlane.scrollIntoView({ block: \"center\", behavior: \"smooth\", inline: \"start\" });\r\n\t\t\t}\r\n\t\t\tsetOpenDiscussion(discussion.id);\r\n\t\t}\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t{discussion?.comments?.slice(0, hidden && !showReply ? 1 : Infinity).map((comment: any, index: number) => {\r\n\t\t\t\tconst user = users?.find((user: any) => user.id === comment.ownerId);\r\n\t\t\t\tconst actions = getActions(index) as any;\r\n\t\t\t\tconst isOwner = comment.ownerId === currentUserId;\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
{user?.fullName}
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{comment.lastModifiedOn}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{index === 0 && isOwner && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t{discussion.isResolved === false &&\r\n\t\t\t\t\t\t\t\t\tactions.length > 0 &&\r\n\t\t\t\t\t\t\t\t\tCreateActionsDropdown({\r\n\t\t\t\t\t\t\t\t\t\tactions: actions,\r\n\t\t\t\t\t\t\t\t\t\tvariant: \"light-dark\",\r\n\t\t\t\t\t\t\t\t\t\tdropdownClasses: \"p-1\",\r\n\t\t\t\t\t\t\t\t\t\tstopPropagation: true,\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{index === 0 && subject !== '' && subject && {subject}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{hidden && index === 0&& commentCounts > 1 && (\r\n\t\t\t\t\t\t\t {\r\n e.stopPropagation();\r\n setShowReply(!showReply);\r\n\r\n } }>\r\n\t\t\t\t\t\t\t\t
{commentCounts - 1}
\r\n\t\t\t\t\t\t\t\t
{commentCounts - 1 > 1 ? t(\"REPLIES\") : t(\"REPLY\")}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\t{!hidden && !isResolved && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nfunction getAllMapsParams(search: string) {\r\n\tconst params = new URLSearchParams(search);\r\n\tconst cjmIdStr = params.get(\"cjmid\");\r\n\tconst personaIdStr = params.get(\"personaId\");\r\n\treturn { cjmIdStr, personaIdStr };\r\n}\r\nexport default Discussion;\r\ninterface DiscussionWrapperProps extends React.HTMLAttributes {\r\n\tonClick?: () => void;\r\n}\r\nconst DiscussionWrapper = styled.div`\r\n\tborder: 1px solid var(--color-Grey-Border, #d9d9d9);\r\n\tborder-radius: 4px;\r\n\toverflow: hidden;\r\n\twidth: 100%;\r\n`;\r\nconst CommentWrapper = styled.div<{ children?: React.ReactNode }>`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tborder-bottom: 1px solid var(--color-Grey-Border, #d9d9d9);\r\n\toverflow: hidden;\r\n\tbackground: var(--slate-50, #f8fafc);\r\n\r\n\tpadding: 16px;\r\n\tgap: 16px;\r\n`;\r\nconst Subject = styled.div`\r\n\tfont-size: 14px;\r\n\tfont-weight: 500;\r\n\tpadding: 4px 8px;\r\n\tborder-radius: 4px;\r\n\tcolor: var(--color-Black-Text, #0b0b0b);\r\n\tbackground: var(--slate-200, #e2e8f0);\r\n`;\r\nconst LastUpdated = styled.div`\r\n\tfont-size: 12px;\r\n\tcolor: var(--color-Grey-Text, #6b6b6b);\r\n\r\n`;\r\ninterface EditWrapperProps extends React.HTMLAttributes {\r\n\tedit?: string;\r\n}\r\nconst EditWrapper = styled.div`\r\n${props => props.edit === 'true' && `border-radius: 4px;padding:4px;background:#ffffff; border: 1px solid #262626;`}\r\n`;","import { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Form, Label, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { EditorWrapper } from \"shared/cx-components/style\";\r\nimport { GenericButton, Input } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\n\r\nconst getDefaultItem = () => {\r\n\treturn {\r\n\t\tname: \"\",\r\n\t\tdescription: \"\",\r\n\t\tid: EMPTY_GUID,\r\n\t};\r\n};\r\nexport const NameDescriptionModal = ({ selectedItem, title, buttonText, handleAction, isOpen, onClose }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst [item, setItem] = useState(selectedItem ?? getDefaultItem());\r\n\tconst [modifiedAttributes, setModifiedAttributes] = useState({});\r\n\r\n\tconst handleChange = (attribute, value) => {\r\n\t\tsetItem((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\t[attribute]: value,\r\n\t\t}));\r\n\t\tsetModifiedAttributes({\r\n\t\t\t...modifiedAttributes,\r\n\t\t\t[attribute]: true,\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{t(title)}\r\n\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"NAME\")}\r\n\t\t\t\t\t\t\t\t handleChange(\"name\", e.target.value.truncate(100))}\r\n\t\t\t\t\t\t\t\t\tplaceholder={t(\"ENTER_NAME\")}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_9\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t handleChange(\"description\", value)} />\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t handleAction({ item, onClose ,modifiedAttributes})}>\r\n\t\t\t\t\t\t{t(buttonText)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Wrapper = styled.div`\r\n\tmargin-bottom: 24px;\r\n`;\r\nconst LabelWrapper = styled(Label)`\r\n\tcolor: #92919d;\r\n\tmargin-bottom: 16px;\r\n`;\r\n","import CustomTooltip from \"shared/components/CustomTooltip\";\r\nimport { CustomizationColors, IconDispatcher, SwimlaneColors } from \"shared/ui-basics\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\n\r\ninterface ColorPickerProps {\r\n\tvariant: \"swimlane\" | \"taxonomy\";\r\n\tonSelect: ({ e, color }: { e: any; color: string }) => void;\r\n\tselectedColor: string;\r\n}\r\n\r\nexport const ColorPicker: React.FC = ({ variant, onSelect, selectedColor }) => {\r\n\tlet colorData = [];\r\n\tswitch (variant) {\r\n\t\tcase \"swimlane\":\r\n\t\t\tcolorData = Object.keys(SwimlaneColors).map((key) => ({\r\n\t\t\t\tcolor: key,\r\n\t\t\t}));\r\n\t\t\tbreak;\r\n\t\tcase \"taxonomy\":\r\n\t\t\tcolorData = Object.keys(CustomizationColors).map((key) => ({\r\n\t\t\t\tcolor: key,\r\n\t\t\t\tdescription: CustomizationColors[key].description,\r\n\t\t\t}));\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{colorData?.map((data) => (\r\n\t\t\t\t\r\n\t\t\t\t\t onSelect({ e, color: data.color })}>\r\n\t\t\t\t\t\t{IconDispatcher(\"CHECK\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst Container = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n`;\r\n\r\nconst ColorBubble = styled.div<{ color: string }>`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\tborder-radius: 50%;\r\n\tbackground-color: ${({ color }) => color};\r\n\t${({ color }) =>\r\n\t\tcolor === \"#FFFFFF\" &&\r\n\t\tcss`\r\n\t\t\tborder: 1px solid #d9d9d9;\r\n\t\t`};\r\n\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst Check = styled.div<{ visible: boolean }>`\r\n\tvisibility: ${({ visible }) => (visible ? \"visible\" : \"hidden\")};\r\n\tpath {\r\n\t\tfill: #fff;\r\n\t}\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/notifications.3b9738e2.svg\";","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { FlexAlignJustifyCenter } from \"shared/ui-basics/index\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nexport default function ProjectMenu({ activeLink }) {\r\n\tconst { t } = useTranslation();\r\n\tconst currentProject = useSelector((state) => state.projects.current_project);\r\n\r\n\tconst relatedItems = [\r\n\t\t{ icon: \"OPPORTUNITY\", text: t(\"OPPORTUNITIES\"), n: currentProject?.linkedOpps?.length },\r\n\t\t{ icon: \"SOLUTION\", text: t(\"SOLUTIONS\"), n: currentProject?.linkedSols?.length },\r\n\t\t{ icon: \"ACTION\", text: t(\"JS_74\"), n: currentProject?.linkedActions?.length },\r\n\t\t{ icon: \"CX-PROGRAM\", text: t(\"CX_PROGRAMS\"), n: currentProject?.linkedCxProgram?.length },\r\n\t\t{ icon: \"CJM\", text: t(\"ASPX_97\"), n: currentProject?.linkedCjms?.length },\r\n\t\t{ icon: \"PERSONA\", text: t(\"ASPX_98\"), n: currentProject?.linkedPersonas?.length },\r\n\t];\r\n\r\n\t//create a component, put in map\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{relatedItems?.map((item, index) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst CustomLinkComponent = ({ activeLink, currentLink, icon, label }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst handleClick = (id) => {\r\n\t\tconst element = document.getElementById(id);\r\n\t\tif (element) {\r\n\t\t\telement.scrollIntoView({ behavior: \"smooth\" });\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t handleClick(currentLink)}>\r\n\t\t\t\r\n\t\t\t\t
{IconDispatcher(icon)}
\r\n\t\t\t\t
{t(label)}
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst ItemCard = ({ icon, text, n }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{IconDispatcher(icon, \"\", {style:'light'})}\r\n\t\t\t\t
{text}
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
{n}
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst MenuContainer = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n\r\nconst CustomLink = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\theight: 2rem;\r\n\tborder-radius: 4px;\r\n\r\n\tmargin-bottom: 1rem;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.active === true &&\r\n\t\tcss`\r\n\t\t\tbackground: #efefef;\r\n\t\t\tcolor: #333;\r\n\t\t\tfont-weight: 500;\r\n\t\t`}\r\n`;\r\n\r\nconst RelatedItemsContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 1rem;\r\n\tmargin-left: 4rem;\r\n`;\r\n\r\nconst RelatedItemContainer = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tgap: 12px;\r\n`;\r\n\r\nconst CustomBadge = styled.div`\r\n\tmin-width: 20px;\r\n\theight: 20px;\r\n\tborder-radius: 20px;\r\n\tbackground: #d2eefb !important;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tcolor: #605f60;\r\n\ttext-align: center;\r\n\tfont-family: Inter;\r\n\tfont-size: 12px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tpadding: 2px 4px;\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\tfont-size: 16px;\r\n`;\r\n","import { Col, Label, Row } from \"reactstrap\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport { Input } from \"shared/ui-basics/index\";\r\n\r\nexport const Section = styled.div`\r\n\tmargin-bottom: 6rem;\r\n`;\r\n\r\nexport const SectionTitle = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 24px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n\tmargin-bottom: 2rem;\r\n`;\r\n\r\nexport const CustomLabel = styled(Label)`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n\t${(props) => props.fs && `font-size: ${props.fs}px;`}\r\n\tmargin-bottom: 1rem;\r\n`;\r\n\r\nexport const CustomRow = styled(Row)``;\r\n\r\nexport const CustomInput = styled(Input)`\r\n\tpadding: 0;\r\n padding-left: 5px;\r\n\tfont-size: ${props => props.fontSize ? props.fontSize : 14}px;\r\n\tcolor: #333333;\r\n\t--bs-bg-opacity: 1;\r\n\ttext-overflow: ellipsis;\r\n\tbackground-color: transparent !important;\r\n\tfont-weight: 500;\r\n\tborder: 1px solid #c4c4c4;\r\n\tmin-height: 44px;\r\n\tmax-height: 100px; /* Adjust this for the desired number of lines */\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden;\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 2; /* Adjust this for the desired number of lines */\r\n\t-webkit-box-orient: vertical;\r\n\tresize: none;\r\n\tword-break: break-all;\r\n\tuser-select:text;\r\n\r\n\t:focus {\r\n\t\tfont-family: \"Inter\";\r\n\t\tletter-spacing: 0em;\r\n\t\ttext-align: left;\r\n\t\t--bs-bg-opacity: 1;\r\n\t\ttext-overflow: ellipsis;\r\n\t\tbackground-color: transparent !important;\r\n\t}\r\n\r\n\t${(props) => (props.isDisabled ? \"pointer-events: none;\" : \"\")}\r\n`;\r\n\r\nexport const CustomCol = styled(Col)`\r\n#copy_button {\r\n\tvisibility: hidden;\r\n}\r\n&:hover #copy_button {\r\n\tvisibility: visible;\r\n}\r\n`;\r\n","import { projectFinancialImpact } from \"@redux/memoizedSelectors\";\r\nimport { calculateTotalFinancialImpact, validateStringNumberInput } from \"@utils/helpers\";\r\nimport { InformationType } from \"@utils/optionsSets/OptionSets\";\r\nimport { updateProject } from \"features/projects/reducer/ProjectsActions\";\r\nimport React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Col } from \"reactstrap\";\r\nimport { FlexAlignCenter, Input } from \"shared/ui-basics/index\";\r\nimport styled, { css } from \"styled-components/macro\";\r\nimport * as Style from \"../SectionsStyling\";\r\n\r\nconst FinancialImpact = ({ isViewer }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst currencySymbol = useSelector((state) => state?.settings?.organization?.defaultCurrency?.symbol) || \"$\";\r\n\tconst { id, attributesList, userProvided, financialImpact } = useSelector(projectFinancialImpact, shallowEqual);\r\n\tconst kpiAttribute = attributesList?.find((attr) => attr.type === InformationType.KPIs);\r\n\tconst allCxGoals = useSelector((state) => state.libraries.cxGoals);\r\n\tconst allMeasures = useSelector((state) => state.libraries.measures);\r\n\r\n\tconst [showInput, setShowInput] = useState(false);\r\n\tconst [up, setUserProvided] = useState(userProvided);\r\n\tconst [fi, setFinancialImpact] = useState(financialImpact);\r\n\r\n\tconst update = (attr, newValue) => {\r\n\t\tupdateProject({ modifiedProject: { id, [attr]: newValue }, modifiedAttribNames: [attr] });\r\n\t};\r\n\r\n\tconst updateFinancialImpact = () => {\r\n\t\tsetShowInput(false);\r\n\t\tupdate(\"financialImpact\", fi);\r\n\t};\r\n\r\n\tconst handleButtonClick = (type) => {\r\n\t\tlet newValue = true;\r\n\t\tif (type === \"calculated\") newValue = false;\r\n\r\n\t\tsetUserProvided(newValue);\r\n\t\tupdate(\"userProvided\", newValue);\r\n\t};\r\n\r\n\tconst handleInputChange = (e) => {\r\n\t\tlet value = e.target.value;\r\n\t\tvalue = validateStringNumberInput({ n: value, isPositive: true });\r\n\r\n\t\tif (value === undefined) return 0;\r\n\r\n\t\tsetFinancialImpact(Number(value));\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{t(\"FINANCIAL_IMPACT\")}\r\n\t\t\t\r\n\t\t\t\t handleButtonClick(\"calculated\")} disabled={isViewer}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t{t(\"CALCULATED\")}\r\n\t\t\t\t\r\n\t\t\t\t handleButtonClick(\"user\")} disabled={isViewer}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t{t(\"USER_PROVIDED\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{showInput && userProvided ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{currencySymbol}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t setShowInput(true)}>{up ? fi.toLocaleString() : calculateTotalFinancialImpact(kpiAttribute, allCxGoals, allMeasures)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{currencySymbol}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default React.memo(FinancialImpact);\r\n\r\nconst CustomLabel = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: Inter;\r\n\tfont-size: 14px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 20px;\r\n\t${(props) => props.fs && `font-size: ${props.fs}px;`}\r\n`;\r\n\r\nconst RadioButtonContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 10px;\r\n\t:hover {\r\n\t\tcursor: pointer;\r\n\t}\r\n\t${(props) =>\r\n\t\tprops.disabled === true &&\r\n\t\tcss`\r\n\t\t\topacity: 0.7 !important;\r\n\t\t\tpointer-events: none !important;\r\n\t\t\tcursor: not-allowed;\r\n\t\t`}\r\n`;\r\n\r\nconst RadioButton = styled.div`\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tborder-radius: 100px;\r\n\tborder: ${(props) => (props.selected ? \"4px solid #333333\" : \"1px solid var(--components-checkbox-border, rgba(0, 0, 0, 0.15))\")};\r\n\tbackground: var(--gray-white, #fff);\r\n`;\r\n\r\nconst CustomContainer = styled.div`\r\n\twidth: 100%;\r\n\tmin-height: 55px;\r\n\tmargin-top: 16px;\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: #fff;\r\n\tcolor: #f96209;\r\n\tfont-family: \"Oswald\", sans-serif;\r\n\tfont-size: 36px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\tflex-shrink: 0;\r\n\tpadding-left: 5px;\r\n\tborder-top-left-radius: 4px;\r\n\tborder-bottom-left-radius: 4px;\r\n`;\r\n\r\nconst CustomInput = styled(Input)`\r\n\twidth: 100%;\r\n\tmin-height: 55px;\r\n\tfont-size: 36px;\r\n\tmargin-top: 16px;\r\n\theight: 36px;\r\n\tcolor: #f96209;\r\n\tfont-family: \"Oswald\", sans-serif;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\tborder-radius: 0;\r\n\tborder-top-left-radius: 4px;\r\n\tborder-bottom-left-radius: 4px;\r\n\r\n\t:disabled {\r\n\t\tbackground-color: transparent !important;\r\n\t\tcolor: #c4c4c4 !important;\r\n\t}\r\n`;\r\n\r\nconst CurrencySymbol = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tmin-height: 36px;\r\n\tmargin-top: 16px;\r\n\tbackground: #fff;\r\n\tcolor: #f96209;\r\n\tfont-family: \"Oswald\", sans-serif;\r\n\tfont-size: 36px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\tborder: 1px solid ${(props) => props.bordercolor};\r\n\tborder-left: none;\r\n\tborder-top-right-radius: 4px;\r\n\tborder-bottom-right-radius: 4px;\r\n`;\r\n","import { cxGoalsUpsert } from \"@redux/index\";\r\nimport { projectBusinessCase } from \"@redux/memoizedSelectors\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport { InformationType } from \"@utils/optionsSets/OptionSets\";\r\nimport TargetCard from \"features/forms/components/sections/TargetSection/TargetCard\";\r\nimport TargetForm from \"features/forms/components/sections/TargetSection/TargetForm\";\r\nimport { deleteAttributeItem, upsertAttributeItem } from \"features/projects/reducer/ProjectsActions\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useInView } from \"react-intersection-observer\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Col } from \"reactstrap\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { CxGoalCard } from \"shared/components/cards/cx-goals/CxGoalCard\";\r\nimport { ActionsDropdown } from \"shared/dropdowns/ActionsDropdown\";\r\nimport { ActionConfirmModal, EditCxGoalModal } from \"shared/modals/index\";\r\nimport { LinkKPI } from \"features/library/modals/link-kpi/LinkKPI\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport * as Style from \"../SectionsStyling\";\r\nimport ProjectFinancialImpact from \"./ProjectFinancialImpact\";\r\n\r\nexport const ProjectBusinessCase = ({ setActiveLink, innerRef }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst panelRef = useRef(null);\r\n\r\n\tconst { id: projectId, attributesList } = useSelector(projectBusinessCase);\r\n\tconst allCxGoals = useSelector((state) => state.libraries.cxGoals);\r\n\tconst roleName = useSelector((s) => s.projects?.currentUser?.roleName)?.toLowerCase();\r\n\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\r\n\tconst targetAttribute = attributesList?.find((attr) => attr.type === InformationType.Target);\r\n\tconst kpiAttribute = attributesList?.find((attr) => attr.type === InformationType.KPIs); // prototype\r\n\tconst isViewer = roleName === \"viewer\";\r\n\tconst isOwner = roleName === \"owner\";\r\n\tconst isReadOnly = useSelector(({ auth }) => auth.userInfo.UserType)?.isReadOnly();\r\n\r\n\tconst cxGoals = [];\r\n\tkpiAttribute?.items?.forEach((item) => {\r\n\t\tconst currentCxGoal = allCxGoals.find((cxGoal) => cxGoal.id === item.cxGoalId);\r\n\t\tif (currentCxGoal) cxGoals.push(currentCxGoal);\r\n\t});\r\n\r\n\tconst { ref: inViewRef } = useInView({\r\n\t\tonChange: (inView) => {\r\n\t\t\tif (inView) setActiveLink(\"projectBusinessCase\");\r\n\t\t},\r\n\t\tthreshold: 0.5,\r\n\t\troot: innerRef.current,\r\n\t});\r\n\r\n\tconst addSelectedKpis = ({ CxGoals }) => {\r\n\t\tCxGoals.forEach((cxGoal) => {\r\n\t\t\tupsertAttributeItem({\r\n\t\t\t\tattributeItem: { id: EMPTY_GUID, type: InformationType.KPIs },\r\n\t\t\t\tattribute: kpiAttribute,\r\n\t\t\t\tcxGoal,\r\n\t\t\t\tdisplayToast: \"UPDATE\",\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst deleteKpi = ({ cxGoal }) => {\r\n\t\tconst kpiAttributeItem = kpiAttribute?.items?.find((item) => item.cxGoalId === cxGoal.id);\r\n\t\tdeleteAttributeItem({ projectId, attributeId: kpiAttribute.id, attributeItemId: kpiAttributeItem?.id, cXGoalId: cxGoal.id });\r\n\t};\r\n\r\n\tconst [showModalLibrary] = useModal(LinkKPI, {\r\n\t\tindexLibrary: -1,\r\n\t\taddSelected: addSelectedKpis,\r\n\t});\r\n\r\n\tconst saveTarget = ({ selectedTarget, name, description, metrics }) =>\r\n\t\tupsertAttributeItem({\r\n\t\t\tattributeItem: { id: selectedTarget ? selectedTarget.id : EMPTY_GUID, name, description, metrics, type: InformationType.Target },\r\n\t\t\tattribute: targetAttribute,\r\n\t\t\tdisplayToast: selectedTarget ? \"UPDATE\" : \"CREATE\",\r\n\t\t});\r\n\r\n\tconst deleteTarget = ({ itemId }) => deleteAttributeItem({ projectId, attributeId: targetAttribute.id, attributeItemId: itemId });\r\n\r\n\tconst createCardActions = ({ cxGoal }) => ;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"BUSINESS_CASE\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t(\"TARGETS\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{targetAttribute?.items?.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!hideForPdf && !isReadOnly && (\r\n\t\t\t\t\t\t\t 0 && \"mt-3\"}\r\n\t\t\t\t\t\t\t\tvariant=\"dashed-light-link\"\r\n\t\t\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\t\t\ticon=\"SQUARE_PLUS\"\r\n\t\t\t\t\t\t\t\ticonClassName=\"me-1\"\r\n\t\t\t\t\t\t\t\tonClick={(e) => panelRef.current.toggle(e)}\r\n\t\t\t\t\t\t\t\tdisabled={isViewer}>\r\n\t\t\t\t\t\t\t\t{t(\"ASPX_75\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t(\"KPIS\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{cxGoals?.map((cxGoal) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t createCardActions({ cxGoal })} isEditable={!isViewer} noBorder={true} />\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!hideForPdf && !isReadOnly && (\r\n\t\t\t\t\t\t\t 0 && \"mt-2\"}\r\n\t\t\t\t\t\t\t\tvariant=\"dashed-light-link\"\r\n\t\t\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\t\t\ticon=\"SQUARE_PLUS\"\r\n\t\t\t\t\t\t\t\ticonClassName=\"me-1\"\r\n\t\t\t\t\t\t\t\tonClick={showModalLibrary}\r\n\t\t\t\t\t\t\t\tdisabled={isViewer}>\r\n\t\t\t\t\t\t\t\t{t(\"KPI\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst CardActions = ({ cxGoal, deleteKpi, isEditAllowed, isDeleteAllowed }) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst deleteCxGoal = () => deleteKpi({ cxGoal });\r\n\tconst updateCxGoal = (updatedCxGoal) => cxGoalsUpsert({ CxGoals: [updatedCxGoal] });\r\n\r\n\tconst [showEditModal] = useModal(EditCxGoalModal, {\r\n\t\tcxGoal,\r\n\t\thandleAction: updateCxGoal,\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tconst actions = [];\r\n\t\tif (isEditAllowed) actions.push({ handleClick: showEditModal, icon: \"EDIT\", text: t(\"EDIT\") });\r\n\t\tif (isDeleteAllowed) actions.push({ handleClick: showModalDeletePopup, icon: \"DELETE\", text: t(\"ASPX_13\") });\r\n\t\treturn actions;\r\n\t};\r\n\r\n\tconst [showModalDeletePopup] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"DELETE_KPI_GENERIC\",\r\n\t\tAction: deleteCxGoal,\r\n\t\tactionBtnText: \"ASPX_13\",\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t e.stopPropagation()}\r\n\t\t\t\thandleToggle={(show, e) => e?.originalEvent?.stopPropagation()}\r\n\t\t\t\tisicon=\"true\"\r\n\t\t\t/>\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst AttributeItemsContainer = styled.div`\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 10px;\r\n`;\r\n\r\nconst Actions = styled.div`\r\n\tposition: absolute;\r\n\ttop: 1px;\r\n\tright: 1px;\r\n\tz-index: 2;\r\n\tdisplay: none;\r\n`;\r\n\r\nconst CardContainer = styled.div`\r\n\tpadding: 16px;\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid #d9d9d9;\r\n\t:hover {\r\n\t\tbox-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.15);\r\n\t}\r\n`;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { Token } from \"react-bootstrap-typeahead\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport styled from \"styled-components\";\r\nimport { useClickOutside } from \"shared/hooks/index\";\r\nimport { EMPTY_GUID } from \"@utils/helpers\";\r\nimport * as Style from \"./style\";\r\nimport { FlexAlignCenter } from \"shared/ui-basics/index\";\r\nimport InitialsBubble from \"features/settings/manage-users/components/initials-bubble\";\r\nimport { OwnerName } from \"shared/dropdowns/cx-dropdown/OwnerDropdown\";\r\n\r\nexport default function OwnerPickList({ object, setObject, disable, updateFunction, minHeight = \"44\" }) {\r\n\tconst { t } = useTranslation();\r\n\tconst ref = useRef();\r\n\tconst refOut = useRef();\r\n\r\n\tconst authorizedUsers = useSelector((state) => state.settings.authorizedUsers);\r\n\tconst currentUser = useSelector((state) => state.maps.currentUser);\r\n\tconst pathname = useLocation().pathname;\r\n\r\n\tconst [selectedOwner, setSelectedOwner] = useState(GetSelectedOwner(object, authorizedUsers, currentUser, pathname));\r\n\r\n\tconst handleChange = (select) => {\r\n\t\tconst lastSelected = select.length > 0 ? [select[select.length - 1]] : [];\r\n\t\tref.current.state.selected = lastSelected;\r\n\t\tsetSelectedOwner(lastSelected);\r\n\r\n\t\tconst newIdSelected = lastSelected?.[0]?.id || EMPTY_GUID;\r\n\t\tif (newIdSelected === object.ownerId) return;\r\n\t\tconst updatedObject = { ...object, ownerId: newIdSelected };\r\n\t\tsetObject(updatedObject);\r\n\t\tnewIdSelected !== EMPTY_GUID && updateFunction(updatedObject, [\"ownerId\"]);\r\n\t};\r\n\r\n\tconst handleClickOut = () => ref.current.blur();\r\n\tuseClickOutside(refOut, handleClickOut);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
{option?.fullName}
}\r\n\t\t\t\trenderToken={(option, { onRemove }, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{option?.fullName}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst GetSelectedOwner = (object, authorizedUsers, currentUser, pathname) => {\r\n\tconst inMap = pathname === \"/EditMap\";\r\n\tconst owner = object?.ownerId !== \"\" ? authorizedUsers?.filter((user) => user.id === object?.ownerId) : inMap ? [currentUser] : [];\r\n\treturn owner;\r\n};\r\n\r\nconst CustomToken = styled(Token)`\r\n\talign-content: center;\r\n\tbackground: var(--color-Grey-Background, #F5F5F5) !important;\r\n\t.rbt-token-label {\r\n\t\tbackground: var(--color-Grey-Background, #F5F5F5) !important;\r\n\r\n\t}\r\n\r\n\t.rbt-token-remove-button {\r\n\t\tvisibility: hidden;\r\n\t}\r\n\t:hover {\r\n\t\t.rbt-token-remove-button {\r\n\t\t\tvisibility: visible;\r\n\t\t}\r\n\t}\r\n\tinput {\r\n\t\tmax-width: 150px;\r\n\t\tmin-width: 30px;\r\n\t}\r\n`;\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Dropdown, DropdownItem } from \"reactstrap\";\r\nimport { CustomizationColors, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport * as Style from \"./style\";\r\nimport TaxonomyItem from \"features/taxonomy/components/TaxonomyItem\";\r\n\r\nexport default function Priority({ object, setObject, name, disable, updateFunction }) {\r\n\tconst { t } = useTranslation();\r\n\tconst allPriorities = useSelector((state) => state.libraries.priority);\r\n\tconst entityPriorities = allPriorities && allPriorities[name];\r\n\tconst [togglePriority, setTogglePriority] = React.useState(false);\r\n\tconst selected = getSelected(entityPriorities, object);\r\n\tconst showPlaceHolder = Object.keys(selected)?.length === 0;\r\n\r\n\tconst handlePriority = (e) => {\r\n\t\tconst id = e.currentTarget.id;\r\n\t\tconst updatedObject = { ...object, priorityId: id };\r\n\t\tsetObject && setObject(updatedObject);\r\n\t\tif (updateFunction) {\r\n\t\t\tupdateFunction(updatedObject, [\"priorityId\"]);\r\n\t\t}\r\n\t};\r\n\tconst { color, backgroundColor } = CustomizationColors[selected?.colorCode] || { color: \"#333\", backgroundColor: selected?.colorCode };\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{entityPriorities && (\r\n\t\t\t\t setTogglePriority(!togglePriority)} direction=\"down\" disabled={disable}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{showPlaceHolder ? (\r\n\t\t\t\t\t\t\t
{t(\"NO_PRIORITY\")}
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{togglePriority &&
{IconDispatcher(\"ANGLE-UP\")}
}\r\n\t\t\t\t\t\t\t\t{!togglePriority &&
{IconDispatcher(\"ANGLE-DOWN\")}
}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{entityPriorities?.map((priority) => {\r\n\t\t\t\t\t\t\tconst { color, backgroundColor } = CustomizationColors[priority?.colorCode] || { color: \"#333\", backgroundColor: priority?.colorCode };\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst getSelected = (priority, object) => {\r\n\tif (priority?.length > 0) {\r\n\t\tconst found = priority?.find((prio) => prio.id === object?.priorityId);\r\n\t\tif (found) return found;\r\n\t\treturn priority[0];\r\n\t}\r\n\treturn {};\r\n};\r\n","import { projectDetails } from \"@redux/memoizedSelectors\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Button, GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { updateProject } from \"../reducer/ProjectsActions\";\r\nimport * as Style from \"./SectionsStyling\";\r\n\r\nexport const ProjectDetails = () => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst { id, projectManagementTool, projectManagementToolLink } = useSelector(projectDetails, shallowEqual);\r\n\tconst roleName = useSelector((s) => s.projects?.currentUser?.roleName)?.toLowerCase();\r\n\r\n\tconst [pmt, setPmt] = useState(projectManagementTool);\r\n\tconst [pmtl, setPmtl] = useState(projectManagementToolLink);\r\n\tconst isViewer = roleName === \"viewer\";\r\n\r\n\tconst handleBlur = useCallback(\r\n\t\tasync (attribute, value) => {\r\n\t\t\ttry {\r\n\t\t\t\tupdateProject({ modifiedProject: { id, [attribute]: value }, modifiedAttribNames: [attribute] });\r\n\t\t\t} catch (error) {\r\n\t\t\t\t// console.error(\"Failed to update project:\", error);\r\n\t\t\t\t// Handle error (e.g., show a notification)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[id]\r\n\t);\r\n\r\n\tconst handleCopy = useCallback(\r\n\t\tasync (text) => {\r\n\t\t\ttry {\r\n\t\t\t\tawait navigator.clipboard.writeText(text);\r\n\t\t\t\ttoast.success(t(\"COPY_LINK_SUCCESS\"));\r\n\t\t\t} catch (error) {\r\n\t\t\t\t// console.error(\"Copy to clipboard failed:\", error);\r\n\t\t\t\t// Handle error (e.g., show a notification)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[t]\r\n\t);\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"PROJECT_MANAGEMENT_TOOL\")}\r\n\t\t\t\t setPmt(e.target.value)}\r\n\t\t\t\t\tonBlur={() => handleBlur(\"projectManagementTool\", pmt)}\r\n\t\t\t\t\tvalue={pmt || \"\"}\r\n\t\t\t\t\tdisabled={isViewer}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{t(\"PROJECT_MANAGEMENT_TOOL_LINK\")}\r\n\t\t\t\t setPmtl(e.target.value)}\r\n\t\t\t\t\tonBlur={() => handleBlur(\"projectManagementToolLink\", pmtl)}\r\n\t\t\t\t\tvalue={pmtl || \"\"}\r\n\t\t\t\t\tdisabled={isViewer}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n","import { encode } from \"@utils/helpers\";\r\nimport StakeHolderCard from \"features/forms/components/sections/StakeHolderSection/StakeHolderCard\";\r\nimport StakeHolderForm from \"features/forms/components/sections/StakeHolderSection/StakeHolderForm\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { Slider } from \"primereact/slider\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useInView } from \"react-intersection-observer\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { Col } from \"reactstrap\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport OwnerPickList from \"shared/cx-components/OwnerPickList\";\r\nimport Priority from \"shared/cx-components/Priority\";\r\nimport { EditorWrapper } from \"shared/cx-components/style\";\r\nimport GroupDropdown from \"shared/dropdowns/library-dropdown/group/GroupDropdown\";\r\nimport { FlexAlignJustifyCenter, FlexBetweenAlignCenter, GenericButton } from \"shared/ui-basics/index\";\r\nimport { Input } from \"shared/ui-basics/input\";\r\nimport styled from \"styled-components\";\r\nimport { updateProject } from \"../reducer/ProjectsActions\";\r\nimport { ProjectDetails } from \"./ProjectDetails\";\r\nimport * as Style from \"./SectionsStyling\";\r\n\r\nexport const ProjectGeneral = ({ setActiveLink, innerRef }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst panelRef = useRef(null);\r\n\r\n\tconst roleName = useSelector((s) => s.projects?.currentUser?.roleName)?.toLowerCase();\r\n\tconst currentProject = useSelector((state) => state.projects.current_project);\r\n\r\n\tconst [project, setProject] = useState(currentProject);\r\n\tconst isViewer = roleName === \"viewer\";\r\n\tconst isOwner = roleName === \"owner\";\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\tconst [readyToUpdate, setReadyToUpdate] = useState(false);\r\n\tconst isReadOnly = useSelector(({ auth }) => auth.userInfo.UserType)?.isReadOnly();\r\n\r\n\tuseEffect(() => {\r\n\t\tif (readyToUpdate) {\r\n\t\t\tupdate({ ...project, projectProgress: project?.projectProgress }, \"projectProgress\");\r\n\t\t\tsetReadyToUpdate(false);\r\n\t\t}\r\n\t}, [project?.projectProgress, readyToUpdate]);\r\n\r\n\tconst update = (project, attr) => {\r\n\t\tupdateProject({ modifiedProject: project, modifiedAttribNames: [attr] });\r\n\t};\r\n\r\n\tconst { ref: inViewRef } = useInView({\r\n\t\tonChange: (inView) => {\r\n\t\t\tif (inView) setActiveLink(\"projectGeneral\");\r\n\t\t},\r\n\t\tthreshold: 0.5,\r\n\t\tinitialInView: true,\r\n\t\troot: innerRef.current,\r\n\t});\r\n\r\n\tconst handleProgressChange = (e) => {\r\n\t\tsetProject((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\tprojectProgress: e.value,\r\n\t\t}));\r\n\t};\r\n\r\n\tconst updateProgressBar = () => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tsetReadyToUpdate(true);\r\n\t\t}, 500);\r\n\t};\r\n\r\n\tconst handleEditorChange = (value) => {\r\n\t\tsetProject((prevState) => ({\r\n\t\t\t...prevState,\r\n\t\t\tdescription: value,\r\n\t\t}));\r\n\t};\r\n\r\n\tconst handleBlur = (attribute) => {\r\n\t\tupdate({ ...project, description: encode(project?.description.truncate(20000, true)) }, attribute);\r\n\t};\r\n\r\n\tconst handleDateChange = (e) => {\r\n\t\tconst { value, name } = e.target;\r\n\t\tconst date = value ? new Date(value).toISOString() : \"\";\r\n\t\tsetProject({ ...project, [name]: date });\r\n\t\tupdate({ ...project, [name]: date }, name);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(\"ASPX_185\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ASPX_9\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t handleBlur(\"description\")} />\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t {t(\"START_DATE\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t {t(\"END_DATE\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(\"PROGRESS\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{project?.projectProgress}\r\n\t\t\t\t\t\t\t{\"%\"}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t(\"PROJECT_OWNER\")}\r\n\t\t\t\t\t\t update(project, attrList[0])} disable={isViewer} />\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t(\"STAKEHOLDERS\")}\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{currentProject?.stakeholders?.map((stakeholder, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{!hideForPdf && !isReadOnly && (\r\n\t\t\t\t\t\t\t\t panelRef.current.toggle(e)} disabled={isViewer}>\r\n\t\t\t\t\t\t\t\t\t{t(\"STAKEHOLDER\")}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t(\"GROUP\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t(\"PRIORITY\")}\r\n\t\t\t\t\t\t update(project, attrList[0])} disable={isViewer} />\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst SliderContainer = styled.div`\r\n\theight: 1rem !important;\r\n\t.p-slider.p-slider-horizontal {\r\n\t\theight: 100%;\r\n\t}\r\n\t.p-slider .p-slider-range {\r\n\t\tborder-radius: 4px;\r\n\t}\r\n`;\r\n\r\nconst CardsContainerStyle = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tgap: 15px;\r\n`;\r\n\r\nconst ProgressScore = styled.div`\r\n\tcolor: #f96209;\r\n\tfont-family: \"Oswald\";\r\n\tfont-size: 1.25rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n`;\r\n\r\nconst Score = styled.div`\r\n\tfont-family: \"Oswald\", sans-serif;\r\n`;\r\n","import { IconDispatcher } from \"shared/Icons\";\r\nimport { ActionConfirmModal } from \"shared/modals/index\";\r\nimport { EntityListItem } from \"shared/ui-basics/ui-components/EntityListItem\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\n\r\nexport const ProjectRelatedItemCard = ({ entityType, entity, unlink, linkedAttribute, idAttribute, showConfirmAssociatedModal, isRemoveAllowed,modal }) => {\r\n\tconst [showConfirmAssociatedObjects] = useModal(ActionConfirmModal, {\r\n\t\tbodyContent: \"PROJECT_UNLINK_ASSOCIATED_OBJECTS\",\r\n\t\tAction: (unlinkRelated) => unlink({ recordId: entity?.[idAttribute], linkedAttribute, unlinkRelated }),\r\n\t\tactionBtnText: \"UNLINK\",\r\n\t\tsecondBtnText: \"NO\",\r\n\t\tbeforeClose: () => unlink({ recordId: entity?.[idAttribute], linkedAttribute, unlinkRelated: false }),\r\n\t});\r\n\r\n\tconst handleUnlink = (e) => {\r\n\t\te.stopPropagation();\r\n\t\tunlink({ recordId: entity?.[idAttribute], linkedAttribute, unlinkRelated: false });\r\n };\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{isRemoveAllowed && {IconDispatcher(\"X\")}}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst UnlinkButton = styled.div`\r\n\tdisplay: none;\r\n\tmargin-left: 1rem;\r\n\tcursor: pointer;\r\n`;\r\n\r\nconst CardWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tbackground: #ffffff;\r\n\r\n\tborder: 1px solid #ffffff;\r\n\t:hover {\r\n\t\tborder-radius: 4px;\r\n\t\tborder: 1px solid #d2eefb;\r\n\t}\r\n\t:hover ${UnlinkButton} {\r\n\t\tdisplay: block;\r\n\t}\r\n`;\r\n","import { createCxAction, createCxProgram, createOpportunity, createPersona, createSolution } from \"@redux/index\";\r\nimport { createDefaultMap, createDefaultPersona, encode, getEntityName } from \"@utils/helpers\";\r\nimport { EntityList } from \"@utils/optionsSets/OptionSets\";\r\nimport EditCxAction from \"features/cx-actions/modals/cx-action\";\r\nimport { createJourneyMap } from \"features/journey-map/reducer/CJMActions\";\r\nimport EditOpportunity from \"features/opportunity/modals/edit-opportunity\";\r\nimport EditSolution from \"features/solutions/modals/edit-solution\";\r\nimport _ from \"lodash\";\r\nimport { useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useInView } from \"react-intersection-observer\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { Col } from \"reactstrap\";\r\nimport { ProjectRelatedItemCard } from \"shared/components/cards/cx-cards/ProjectRelatedItemCard\";\r\nimport SearchPickList from \"shared/cx-components/SearchPickList\";\r\nimport { ActionDropdown } from \"shared/dropdowns/cx-dropdown/CxActions/ActionDropdown\";\r\nimport { OpportunityDropdown } from \"shared/dropdowns/cx-dropdown/Opportunity/OpportunityDropdown\";\r\nimport { SolutionDropdown } from \"shared/dropdowns/cx-dropdown/Solution/SolutionDropdown\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components\";\r\nimport { linkRecords, unlinkRecords } from \"../reducer/ProjectsActions\";\r\nimport * as Style from \"./SectionsStyling\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nexport const ProjectRelatedItems = ({ setActiveLink, innerRef }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\r\n\tconst project = useSelector((state) => state.projects.current_project);\r\n\r\n\tconst getLinkedItems = (linkedItemsIds, allLinkedItems, idAttribute = \"id\") => {\r\n\t\treturn linkedItemsIds?.map((id) => allLinkedItems?.find((item) => item?.[idAttribute] === id));\r\n\t};\r\n\r\n\tconst { ref: inViewRef } = useInView({\r\n\t\tonChange: (inView) => {\r\n\t\t\tif (inView) setActiveLink(\"projectRelatedItems\");\r\n\t\t},\r\n\t\tthreshold: 1,\r\n\t\troot: innerRef?.current,\r\n\t});\r\n\r\n\tconst handleLinkRecord = ({ recordId, linkedAttribute, linkRelated, onSuccess }) => {\r\n\t\tlinkRecords({\r\n\t\t\tprojectId: project.id,\r\n\t\t\trecToLinkEntityName: getEntityName(linkedAttribute),\r\n\t\t\trecToLinkIds: [recordId],\r\n\t\t\tlinkRelated,\r\n\t\t\torigin: linkedAttribute === \"linkedCjms\" ? \"project\" : \"\",\r\n\t\t\tonSuccess,\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleUnlinkRecord = ({ recordId, linkedAttribute, unlinkRelated }) => {\r\n\t\tunlinkRecords({ projectId: project.id, recToUnlinkEntityName: getEntityName(linkedAttribute), recToUnlinkIds: [recordId], unlinkRelated });\r\n\t};\r\n\r\n\tconst handleCreate = ({ entityType, globalFilterValue }) => {\r\n\t\tswitch (entityType) {\r\n\t\t\tcase EntityList.Opportunity: {\r\n\t\t\t\tcreateOpportunity({\r\n\t\t\t\t\titem: { id: uuid(), name: encode(globalFilterValue.truncate(100, true)) },\r\n\t\t\t\t\tonSuccess: (response) => handleLinkRecord({ recordId: response.id, linkedAttribute: \"linkedOpps\" }),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase EntityList.Solution: {\r\n\t\t\t\tcreateSolution({\r\n\t\t\t\t\titem: { id: uuid(), name: encode(globalFilterValue.truncate(100, true)) },\r\n\t\t\t\t\tonSuccess: (response) => handleLinkRecord({ recordId: response.id, linkedAttribute: \"linkedSols\" }),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase EntityList.Action: {\r\n\t\t\t\tcreateCxAction({\r\n\t\t\t\t\titem: { id: uuid(), name: encode(globalFilterValue.truncate(100, true)) },\r\n\t\t\t\t\tonSuccess: (response) => handleLinkRecord({ recordId: response.id, linkedAttribute: \"linkedActions\" }),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase EntityList.Persona: {\r\n\t\t\t\tconst newPersona = createDefaultPersona();\r\n\t\t\t\tcreatePersona({\r\n\t\t\t\t\titem: { ...newPersona, name: globalFilterValue },\r\n\t\t\t\t\tdisplayToast: \"CREATE\",\r\n\t\t\t\t\tonSuccess: (response) => handleLinkRecord({ recordId: response.personaId, linkedAttribute: \"linkedPersonas\" }),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase EntityList.CXProgram: {\r\n\t\t\t\tcreateCxProgram({ name: globalFilterValue, onSuccess: (response) => handleLinkRecord({ recordId: response.id, linkedAttribute: \"linkedCxProgram\" }) });\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase EntityList.CustomerJourney: {\r\n\t\t\t\tconst newMap = createDefaultMap(undefined, false);\r\n\r\n\t\t\t\tcreateJourneyMap({\r\n\t\t\t\t\tnewMap: { ...newMap, name: globalFilterValue },\r\n\t\t\t\t\tonSuccess: (response) => handleLinkRecord({ recordId: response.cjmId, linkedAttribute: \"linkedCjms\" }),\r\n\t\t\t\t\tgoToMap: false,\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\tconst RelatedItemSection = ({\r\n\t\ttitle,\r\n\t\tlinkedAttribute,\r\n\t\ttitleAttribute,\r\n\t\tidAttribute = \"id\",\r\n\t\tpathToAllRecords,\r\n\t\tentityType,\r\n\t\taddText,\r\n\t\tnoItemsText,\r\n\t\tlabel,\r\n\t\tDropdown,\r\n\t\tmodal,\r\n\t\tshowConfirmAssociatedModal = false,\r\n\t}) => {\r\n\t\tconst ref = useRef();\r\n\t\tconst showSampleData = useSelector((state) => state.settings.organization?.showSampleData);\r\n\t\tconst allActiveRecords = useSelector((state) => _.get(state, pathToAllRecords)?.getActiveRecords(!showSampleData));\r\n\t\tconst roleName = useSelector((s) => s.projects?.currentUser?.roleName)?.toLowerCase();\r\n\r\n\t\tconst isViewer = roleName === \"viewer\";\r\n\t\tconst isOwner = roleName === \"owner\";\r\n\r\n\t\tconst linkedItems = getLinkedItems(project?.[linkedAttribute], allActiveRecords, idAttribute).filter(Boolean);\r\n\t\tconst isReadOnly = useSelector(({ auth }) => auth.userInfo.UserType)?.isReadOnly();\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{t(title)}\r\n\t\t\t\t\r\n\t\t\t\t\t{linkedItems?.map((entity, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\t{Dropdown && !hideForPdf ? (\r\n\t\t\t\t\t handleLinkRecord({ recordId: id, linkedAttribute, onSuccess })} />\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{!hideForPdf && !isReadOnly && (\r\n\t\t\t\t\t\t\t ref.current.toggle(e)}\r\n\t\t\t\t\t\t\t\tdisabled={isViewer}\r\n\t\t\t\t\t\t\t\taria-haspopup\r\n\t\t\t\t\t\t\t\taria-controls=\"overlay_panel\"\r\n\t\t\t\t\t\t\t\ticon=\"SQUARE_PLUS\"\r\n\t\t\t\t\t\t\t\ticonClassName=\"me-1\">\r\n\t\t\t\t\t\t\t\t{t(addText)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst relatedItemsSectionsDic = [\r\n\t\t{\r\n\t\t\ttitle: \"OPPORTUNITIES\",\r\n\t\t\tlinkedAttribute: \"linkedOpps\",\r\n\t\t\ttitleAttribute: \"subject\",\r\n\t\t\tpathToAllRecords: \"opportunity.all_Opportunities\",\r\n\t\t\tentityType: EntityList.Opportunity,\r\n\t\t\taddText: \"OPPORTUNITY\",\r\n\t\t\tnoItemsText: \"EMPTY_OPPORTUNITY_LIST\",\r\n\t\t\tlabel: \"NEW_OPPORTUNITY_NAME\",\r\n\t\t\tDropdown: OpportunityDropdown,\r\n\t\t\tmodal: EditOpportunity,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: \"SOLUTIONS\",\r\n\t\t\tlinkedAttribute: \"linkedSols\",\r\n\t\t\ttitleAttribute: \"subject\",\r\n\t\t\tpathToAllRecords: \"solutions.all_solutions\",\r\n\t\t\tentityType: EntityList.Solution,\r\n\t\t\taddText: \"SOLUTION\",\r\n\t\t\tnoItemsText: \"EMPTY_SOLUTION_LIST\",\r\n\t\t\tlabel: \"NEW_SOLUTION_NAME\",\r\n\t\t\tDropdown: SolutionDropdown,\r\n\t\t\tmodal: EditSolution,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: \"JS_74\",\r\n\t\t\tlinkedAttribute: \"linkedActions\",\r\n\t\t\ttitleAttribute: \"subject\",\r\n\t\t\tpathToAllRecords: \"actions.all_actions\",\r\n\t\t\tentityType: EntityList.Action,\r\n\t\t\taddText: \"ACTION\",\r\n\t\t\tnoItemsText: \"EMPTY_ACTION_LIST\",\r\n\t\t\tlabel: \"NEW_ACTION_NAME\",\r\n\t\t\tDropdown: ActionDropdown,\r\n\t\t\tmodal: EditCxAction,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: \"JS_71\",\r\n\t\t\tlinkedAttribute: \"linkedCjms\",\r\n\t\t\ttitleAttribute: \"name\",\r\n\t\t\tidAttribute: \"cjmId\",\r\n\t\t\tpathToAllRecords: \"maps.all_maps\",\r\n\t\t\tentityType: EntityList.CustomerJourney,\r\n\t\t\taddText: \"JOURNEY_MAP\",\r\n\t\t\tnoItemsText: \"ASPX_212\",\r\n\t\t\tlabel: \"NEW_OPPORTUNITY_NAME\",\r\n\t\t\tshowConfirmAssociatedModal: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: \"JS_70\",\r\n\t\t\tlinkedAttribute: \"linkedPersonas\",\r\n\t\t\ttitleAttribute: \"name\",\r\n\t\t\tidAttribute: \"personaId\",\r\n\t\t\tpathToAllRecords: \"personas.all_personas\",\r\n\t\t\tentityType: EntityList.Persona,\r\n\t\t\taddText: \"ASPX_74\",\r\n\t\t\tnoItemsText: \"ASPX_213\",\r\n\t\t\tlabel: \"NEW_SOLUTION_NAME\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: \"CX_PROGRAMS\",\r\n\t\t\tlinkedAttribute: \"linkedCxProgram\",\r\n\t\t\ttitleAttribute: \"name\",\r\n\t\t\tpathToAllRecords: \"cxProgram.all_cxPrograms\",\r\n\t\t\tentityType: EntityList.CXProgram,\r\n\t\t\taddText: \"CX-PROGRAM\",\r\n\t\t\tnoItemsText: \"EMPTY_CX_PROGRAM_LIST\",\r\n\t\t\tlabel: \"NEW_SOLUTION_NAME\",\r\n\t\t},\r\n\t];\r\n\tconst relatedItemsHasData = relatedItemsSectionsDic.some((s) => project?.[s.linkedAttribute]?.length > 0);\r\n\tif (!relatedItemsHasData && hideForPdf) return null;\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"RELATED_ITEMS\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{relatedItemsSectionsDic.slice(0, 2).map((s, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{relatedItemsSectionsDic.slice(2, 4).map((s, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{relatedItemsSectionsDic.slice(4, 7).map((s, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst CardsContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n`;\r\n\r\nconst AddButton = styled(GenericButton)`\r\n\tcolor: #605f60;\r\n\tfont-size: 14px;\r\n`;\r\n\r\nconst RelatedSectionTitle = styled.div`\r\n\tcolor: #333;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 1.25rem;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: 150%;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport ProjectMenu from \"./ProjectMenu\";\r\nimport React,{ useRef, useState } from \"react\";\r\nimport { Container } from \"reactstrap\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Flex } from \"shared/ui-basics/index\";\r\nimport { ProjectBusinessCase } from \"./BusinessCase/ProjectBusinessCase\";\r\nimport { ProjectGeneral } from \"./ProjectGeneral\";\r\nimport { ProjectRelatedItems } from \"./ProjectRelatedItems\";\r\n\r\nexport const ProjectBody = () => {\r\n\tconst [activeLink, setActiveLink] = useState(\"projectGeneral\");\r\n\tconst bodyRef = useRef(null);\r\n\tconst { search } = useLocation();\r\n\r\n\tconst hideForPdf = search.hideForPdf();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{!hideForPdf && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst Body = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n margin-top: 8px;\r\n`;\r\n\r\nconst ColWrapper = styled.div`\r\n\tflex-basis: 80%;\r\n\theight: calc(100vh - 300px);\r\n\toverflow: scroll;\r\n`;\r\n\r\nconst MenuContainer = styled.div`\r\n\tflex-basis: 20%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: start;\r\n\tpadding-left: 1rem;\r\n border-right: 1px solid #efefef;\r\n`;\r\n\r\nconst CustomContainer = styled(Container)`\r\n\tmax-width: 960px;\r\n`;\r\n","import { EMPTY_GUID, isNullOrEmpty, isToday, reorderActions } from \"@utils/helpers\";\r\nimport { ConnectorSource } from \"@utils/optionsSets/OptionSets\";\r\nimport { PermissionManager } from \"@utils/permissionManager\";\r\nimport { SyncWithModal } from \"features/projects/modals/SyncWithModal\";\r\nimport { useCallback } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Moment from \"react-moment\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport { ActionPopOver } from \"shared/popovers/ActionsPopOver\";\r\nimport { GenericButton } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components/macro\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { synchronizeProject } from \"../reducer/ProjectsActions\";\r\nimport BaseActions from \"./BaseActions\";\r\n\r\nexport default function HeaderActions({ onRefresh, handleRedirect, handleExport }) {\r\n\tconst { t } = useTranslation();\r\n\tconst userId = useSelector((state) => state.auth?.userInfo?.UserId);\r\n const project = useSelector((state) => state.projects.current_project);\r\n const isSynching = useSelector((state) => state.projects.isSynching);\r\n const mondayConnector = useSelector((state) => state.settings.connector)?.find((connector) => connector.source === ConnectorSource.Monday);\r\n\r\n\tconst userAccess = project?.authorizedUsers?.find((user) => user.id === userId && user.roleId === EMPTY_GUID)?.roleName;\r\n\tconst lastModifiedOn = project?.lastModifiedOn;\r\n\r\n\tconst LastSave = useCallback(() => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{t(\"JS_56\")} @{lastModifiedOn}\r\n\t\t\t\t{isToday(lastModifiedOn) ? (\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t[{lastModifiedOn}]\r\n\t\t\t\t\t\r\n\t\t\t\t)}{\" \"}\r\n\t\t\t
\r\n\t\t);\r\n\t}, [lastModifiedOn]);\r\n\r\n\tconst [showSyncModal] = useModal(SyncWithModal, {\r\n\t\ttitle: `${t(\"SYNCHRONIZE_WITH\")} ${t(\"MONDAY\")}`,\r\n bodyText: `${t(\"SYNC_ALERT_1\")} [${mondayConnector?.mondaySettings?.globalProjectsBoardName}] ${t(\"SYNC_ALERT_2\")} [${project?.name}] ${t(\"SYNC_ALERT_3\")}`,\r\n actionBtnText: t(\"SYNCHRONIZE\"),\r\n\t\taction: () => synchronizeProject({ projectId: project?.id }),\r\n\t});\r\n\r\n\tconst { exportAllowed, refreshAllowed, mondaySyncAllowed } = PermissionManager({\r\n\t\tuserAccess,\r\n\t});\r\n\r\n\tconst createActions = () => {\r\n\t\tconst actions = [];\r\n\t\tif (refreshAllowed) actions.push({ id: \"refresh\", handleClick: onRefresh, icon: \"REFRESH\", text: });\r\n\t\tif (exportAllowed) actions.push({ id: \"export\", handleClick: () => handleExport(project), icon: \"EXPORT\", text: t(\"ASPX_14\"), itemClasses: \"d-flex align-items-center\" });\r\n\t\tif (mondaySyncAllowed && mondayConnector) {\r\n\t\t\tactions.push({ id: \"divider\", divider: true });\r\n\t\t\tactions.push({\r\n\t\t\t\tid: \"mondaySync\",\r\n\t\t\t\thandleClick: showSyncModal,\r\n\t\t\t\ticon: \"MONDAY\",\r\n\t\t\t\ttext: `${t(\"SYNCHRONIZE_WITH\")} ${t(\"MONDAY\")}`,\r\n\t\t\t\titemClasses: \"d-flex align-items-center\",\r\n\t\t\t\ttype: \"textTransformNone\",\r\n\t\t\t\tdisabled: isSynching || !isNullOrEmpty(project?.externalUrl) || !mondayConnector?.enableConnection,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst baseActions = BaseActions({ project, handleRedirect });\r\n\t\tconst allActions = actions.concat(baseActions);\r\n\r\n\t\treturn {\r\n\t\t\tinDropdownActions: reorderActions({\r\n\t\t\t\tactions: allActions?.filter((action) => ![\"manageAccess\", \"refresh\"].includes(action?.id)),\r\n\t\t\t\torder: [\"export\", \"copy\", \"divider\", \"archive\", \"delete\", \"divider\", \"mondaySync\"],\r\n\t\t\t}),\r\n\t\t\toutsideDropdownActions: reorderActions({\r\n\t\t\t\tactions: allActions?.filter((action) => [\"manageAccess\", \"refresh\"].includes(action?.id)),\r\n\t\t\t\torder: [\"manageAccess\", \"refresh\"],\r\n\t\t\t}),\r\n\t\t};\r\n\t};\r\n\r\n\tconst actionsData = createActions();\r\n\r\n\tconst actionValidation = (action, index) => {\r\n\t\tif (action?.id === \"addSection\") return ;\r\n\t\treturn ;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{actionsData?.outsideDropdownActions?.map((action, index) => actionValidation(action, index))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst HeaderActionsContainer = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n`;\r\n","import { GetCxProgram, getAllCxAction, getAllMapsListData, getAllOpportunity, getAllPersonas, getAllSolutions } from \"@redux/index\";\r\nimport { projectFinancialImpact } from \"@redux/memoizedSelectors\";\r\nimport { calculateTotalFinancialImpact, encode, toastWrapper } from \"@utils/helpers\";\r\nimport { InformationType, urlOriginStatus } from \"@utils/optionsSets/OptionSets\";\r\nimport HeaderActions from \"features/projects/actions/HeaderActions\";\r\nimport { SyncWithModal } from \"features/projects/modals/SyncWithModal\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport DisplayStatus from \"shared/cx-components/DisplayStatus\";\r\nimport { CreateActionsDropdown } from \"shared/dropdowns/CreateActionsDropdown\";\r\nimport GenericHeader from \"shared/headers/GenericHeader\";\r\nimport { Title } from \"shared/headers/Reusable\";\r\nimport { FlexAlignJustifyCenter, FlexBetweenAlignCenter, IconDispatcher } from \"shared/ui-basics/index\";\r\nimport styled from \"styled-components\";\r\nimport { useModal } from \"use-modal-hook\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { stopSynchronizationProject, updateProject } from \"../reducer/ProjectsActions\";\r\n\r\nexport default function ProjectHeader({ forceReload, handleExport }) {\r\n\tconst { search } = useLocation();\r\n\tconst projectId = search.getId();\r\n\tconst history = useHistory();\r\n\tconst { t } = useTranslation();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst currencySymbol = useSelector((state) => state?.settings?.organization?.defaultCurrency?.symbol) || \"$\";\r\n\tconst project = useSelector((state) => state.projects?.current_project);\r\n\tconst loggedUserId = useSelector((state) => state.auth.userInfo.UserId);\r\n\tconst { attributesList, userProvided } = useSelector(projectFinancialImpact, shallowEqual);\r\n\tconst kpiAttribute = attributesList?.find((attr) => attr.type === InformationType.KPIs);\r\n\tconst allCxGoals = useSelector((state) => state.libraries.cxGoals);\r\n\tconst allMeasures = useSelector((state) => state.libraries.measures);\r\n\r\n\tconst roleName = project.authorizedUsers?.find((user) => user.id === loggedUserId).roleName.toLowerCase();\r\n\tconst isOwner = roleName === \"owner\";\r\n\tconst isViewer = roleName === \"viewer\";\r\n\tconst isContributor = roleName === \"contributor\";\r\n\tconst origin = search.getOrigin();\r\n\tconst folderId = search.getFolderId();\r\n\r\n\tconst onRefresh = () => {\r\n\t\tconst allFunctions = [GetCxProgram, getAllOpportunity, getAllSolutions, getAllCxAction, getAllMapsListData, getAllPersonas];\r\n\r\n\t\tconst promise = async () => {\r\n\t\t\treturn await Promise.all([\r\n\t\t\t\tallFunctions.forEach((func, i) => {\r\n\t\t\t\t\tdispatch(func(i === 0 ? { projectId, parameter: { statusCode: StatusCode.Active } } : null));\r\n\t\t\t\t}),\r\n\t\t\t])\r\n\t\t\t\t.then(() => forceReload())\r\n\t\t\t\t.catch(() => toast.error(t(\"JS_13\")));\r\n\t\t};\r\n\t\ttoastWrapper(promise, \"REFRESH\");\r\n\t};\r\n\r\n\tconst handleRedirect = () => {\r\n\t\thistory.push(`/projects${folderId ? `?folderid=${folderId}` : \"\"}`);\r\n\t};\r\n\r\n\tconst getBackPath = () => {\r\n\t\tif (origin && origin === urlOriginStatus.DefaultReturn) return null;\r\n\t\treturn \"/projects\" + (folderId ? `?folderid=${folderId}` : \"\");\r\n\t};\r\n\r\n\tconst [showSyncModal] = useModal(SyncWithModal, {\r\n\t\ttitle: `${t(\"STOP_SYNCING_WITH\")} ${t(\"MONDAY\")}`,\r\n\t\tbodyText: t(\"STOP_SYNCING_WARNING\"),\r\n\t\talertType: \"danger\",\r\n\t\tactionBtnText: t(\"STOP_SYNCING\"),\r\n\t\taction: () => stopSynchronizationProject({ projectId: project?.id }),\r\n\t});\r\n\r\n\tconst createSyncActions = () => {\r\n\t\tconst actions = [];\r\n\t\tactions.push({\r\n\t\t\thandleClick: () => window.open(project?.externalUrl, \"_blank\"),\r\n\t\t\ticon: \"ARROW-UP-RIGHT-FROM-SQUARE-LIGHT\",\r\n\t\t\ttext: `${t(\"VIEW_PROJECT\")}`,\r\n\t\t\titemClasses: \"d-flex align-items-center\",\r\n\t\t});\r\n\t\tif (isOwner) actions.push({ handleClick: showSyncModal, icon: \"X\", text: t(\"STOP_SYNCING\"), itemClasses: \"d-flex align-items-center\" });\r\n\t\treturn actions;\r\n\t};\r\n\r\n\tconst toggleButton = (\r\n\t\t\r\n\t\t\t{IconDispatcher(\"MONDAY\", \"me-1\")}\r\n\t\t\t{t(\"SYNCHRONIZED\")}\r\n\t\t\t{IconDispatcher(\"retweet\", \"ms-2\")}\r\n\t\t\r\n\t);\r\n\r\n\treturn (\r\n\t\t HeaderActions({ onRefresh, handleRedirect, handleExport })}\r\n\t\t\tbackLabel={\"PROJECT\"}\r\n\t\t\tbackPath={getBackPath()}\r\n\t\t\tnamePath={\"projects.current_project.name\"}\r\n\t\t\tid={projectId}>\r\n\t\t\t\r\n\t\t\t\t updateProject({ modifiedProject: { ...project, name: encode(obj.name.truncate(100,true)) }, modifiedAttribNames })}\r\n\t\t\t\t\ticon=\"PROJECT-HEADER\"\r\n\t\t\t\t\tisEditable={!isViewer}\r\n\t\t\t\t\tisContributor={isContributor}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\t{project?.externalSyncEnabled && }\r\n\t\t\t\t\t updateProject({ modifiedProject, modifiedAttribNames })}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{userProvided ? project?.financialImpact?.toLocaleString() : calculateTotalFinancialImpact(kpiAttribute, allCxGoals, allMeasures)}\r\n\t\t\t\t\t\t{currencySymbol}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst Wrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tcolor: #f96209;\r\n\ttext-align: right;\r\n\tfont-family: \"Oswald\", sans-serif;\r\n\tfont-size: 36px;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tline-height: normal;\r\n`;\r\n\r\nconst Oswald = styled.div`\r\n\tfont-family: \"Oswald\", sans-serif;\r\n`;\r\n\r\nconst ToggleButton = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n`;\r\n","import { getAllCxAction, getAllCxProgram, getAllMapsListData, getAllOpportunity, getAllPersonas, getAllSolutions } from \"@redux/index\";\r\nimport { handleAddRenderElement, toastWrapper } from \"utils/helpers\";\r\nimport NoDataComponent from \"features/auth/view/no-data-component\";\r\nimport { cxGoalsInit } from \"features/library/reducer/LibraryActions\";\r\nimport { getProject, getProjectPdfExport, getProjectUsers, resetProject } from \"features/projects/reducer/ProjectsActions\";\r\nimport $ from \"jquery\";\r\nimport { useRef, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Container } from \"reactstrap\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { useAsyncs, useInsertRecentWork } from \"shared/hooks/index\";\r\nimport styled from \"styled-components\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { ProjectBody } from \"../components/ProjectBody\";\r\nimport ProjectHeader from \"../header/ProjectHeader\";\r\n\r\nexport default function ProjectPage() {\r\n\tconst { search } = useLocation();\r\n\tconst pdfRef = useRef();\r\n\tconst hideForPdf = useLocation().search.hideForPdf();\r\n\tconst projectId = search.getId();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst userId = useSelector((state) => state.auth.userInfo.UserId);\r\n\r\n\tconst noAccess = useSelector((state) => state.projects.current_project?.noAccess);\r\n\r\n\tconst [loading, setLoading] = useState(true);\r\n\tconst [counter, setCounters] = useState(0);\r\n\r\n\tuseInsertRecentWork({\r\n\t\tentityName: \"cem_cxproject\",\r\n\t\trecordId: projectId,\r\n\t});\r\n\r\n\tconst asyncFns = [\r\n\t\t{ asyncFn: getProjectUsers, parameter: { projectId, userId } },\r\n\t\t{ asyncFn: getAllOpportunity, parameter: { statusCode: StatusCode.Active } },\r\n\t\t{ asyncFn: getAllSolutions, parameter: { statusCode: StatusCode.Active } },\r\n\t\t{ asyncFn: getAllCxAction, parameter: { statusCode: StatusCode.Active } },\r\n\t\t{ asyncFn: getAllMapsListData },\r\n\t\t{ asyncFn: getAllPersonas },\r\n\t\t{ asyncFn: getAllCxProgram },\r\n\t\t{ asyncFn: getProject, parameter: { projectId } },\r\n\t\t{ asyncFn: cxGoalsInit },\r\n\t];\r\n\r\n\tuseAsyncs({\r\n\t\tasyncFns,\r\n\t\tsetLoading,\r\n\t\tresets: [resetProject],\r\n\t});\r\n\r\n\tconst forceReload = () => setCounters((prevKey) => prevKey + 1);\r\n\r\n\tconst getProjectPDFService = ({ id, name, width, height, renderDelay = -1 }) => {\r\n\t\tconst promise = async () => {\r\n\t\t\tconst { data, error } = await dispatch(getProjectPdfExport({ id, width, height, renderDelay }));\r\n\t\t\tvar fileDownload = require(\"js-file-download\");\r\n\t\t\tfileDownload(data, name + \".pdf\");\r\n\t\t\tif (error) {\r\n\t\t\t\tthrow error;\r\n\t\t\t}\r\n\t\t};\r\n\t\ttoastWrapper(promise, \"EXPORT_PDF\");\r\n\t};\r\n\tconst handleExport = (project) => {\r\n\t\tconst width = pdfRef?.current?.offsetWidth;\r\n\t\tconst height = $(\"#projectPDFRef\")?.[0]?.offsetHeight;\r\n\t\tgetProjectPDFService({ id: project.id, name: project.name, width, height });\r\n\t};\r\n\tif (noAccess) return ;\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{hideForPdf &&
{handleAddRenderElement(3000)}
}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n}\r\n\r\nconst MainContainer = styled(Container)`\r\n\tdisplay: flex;\r\n\tbackground: #ffffff;\r\n\tbox-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25);\r\n\tborder-radius: 4px;\r\n\tpadding: 1rem;\r\n\tmin-height: calc(100vh - 240px);\r\n\tpadding-left: 0px;\r\n\tpadding-right: 0px;\r\n`;\r\n","import { COLORS, Label } from \"shared/ui-basics/index\";\r\nimport { Popover, Row } from \"react-bootstrap\";\r\nimport { FormFeedback } from \"reactstrap\";\r\nimport styled from \"styled-components/macro\";\r\n\r\n\r\nexport const FormFeedbackWrapper = styled(FormFeedback)`\r\n\r\n display:${(props) => props.display === \"true\" ? 'block' : 'none'};\r\n color: #605F60;\r\n .svg{\r\n color:red;\r\n }\r\n\r\n`\r\n\r\nexport const PopoverCustom = styled(Popover)`\r\n width: max-content;\r\n left: auto !important;\r\n border-radius: 4px;\r\n background: #fff;\r\n box-shadow: -2px -2px 4px 0px rgba(0, 0, 0, 0.25), 2px 2px 4px 0px rgba(0, 0, 0, 0.25);\r\n `;\r\nexport const TableWrapper = styled.div`\r\n/* border-radius: 4px; \r\noverflow: hidden; \r\nborder: 1px solid #ccc; */\r\n`;\r\nexport const StyledTable = styled.table`\r\n/* border-radius: 4px; */\r\n/* border: 1px solid #D9D9D9 ; */\r\nbackground: #F8FAFC;\r\nwidth: 100%;\r\nborder-collapse: collapse; /* Ensures table borders render correctly */\r\nthead tr:first-child th:first-child {\r\n border-top-left-radius: 4px; /* Top-left corner */\r\n }\r\n\r\n thead tr:first-child th:last-child {\r\n border-top-right-radius: 4px; /* Top-right corner */\r\n }\r\n\r\n tbody tr:last-child td:first-child {\r\n border-bottom-left-radius: 4px; /* Bottom-left corner */\r\n }\r\n\r\n tbody tr:last-child td:last-child {\r\n border-bottom-right-radius: 4px; /* Bottom-right corner */\r\n }\r\n`;\r\nexport const ThWrapper = styled.th`\r\n padding:0.5rem;\r\n border:1px solid #D9D9D9;\r\n \r\n /* border-bottom:1px solid #D9D9D9; */\r\n text-wrap:nowrap;\r\n ${props => props?.iscenter && `text-align:center`}\r\n\r\n `\r\nexport const TdWrapper = styled.td`\r\n padding:4px 0.5rem;\r\n /* border:1px solid #c4c4c4; */\r\n\r\n border:1px solid #D9D9D9;\r\n font-size:14px;\r\n ${props => props?.iscenter && `text-align:center;`}\r\n /* border-bottom:1px solid #D9D9D9; */\r\n `\r\n\r\nexport const InputWrapper = styled.input`\r\n border:none;\r\n width: 100%;\r\n height:28px;\r\n padding-left:0.25rem;\r\n padding-right:0.25rem;\r\n background:transparent;\r\n\r\n ${props => props?.isitalic && `font-style:italic;`}\r\n &:hover{\r\n cursor:pointer;\r\n }\r\n &:focus {\r\n ${(props) => !props?.disabled &&\r\n `border: 1px solid #C4C4C4; \r\n border-radius: 4px;\r\n background:#fff;`}\r\n\t\t\t }\r\n &::-webkit-calendar-picker-indicator {\r\n cursor: pointer;\r\n }\r\n `\r\n\r\nexport const QueryBuilderDiv = styled.div`\r\n/* .queryBuilder-branches .ruleGroup{\r\n border-color: #D9D9D9;\r\n} */\r\n .react-select__menu {\r\n max-width: 200px; /* Adjust to your desired width */\r\n overflow-wrap: break-word;\r\n white-space: normal;\r\n}\r\n\r\n/* Optionally limit the width of individual options */\r\n.react-select__option {\r\n max-width: 200px; /* Same as the menu width for consistency */\r\n overflow-wrap: break-word;\r\n white-space: normal;\r\n}\r\n .custom-field-class {\r\n max-width: 20px;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n.queryBuilder .btn.ruleGroup-addRule {\r\n color: #262626 !important;\r\n background-color: #F8FAFC !important;\r\n border: 0px;\r\n margin-right:0.5rem;\r\n &:hover, &:focus {\r\n\t\t\t\tcolor: #262626 !important;\r\n\t\t\t\tbackground-color: #F8FAFC !important;\r\n\t\t\t\tborder: 1px solid #262626 !important;\r\n\t\t\t}\r\n}\r\n.queryBuilder .btn.ruleGroup-addGroup {\r\n color: #262626 !important;\r\n background-color: #F8FAFC !important;\r\n border: 0px;\r\n\r\n &:hover, &:focus {\r\n\t\t\t\tcolor: #262626 !important;\r\n\t\t\t\tbackground-color: #F8FAFC !important;\r\n\t\t\t\tborder: 1px solid #262626 !important;\r\n\t\t\t}\r\n}\r\n.ruleGroup-combinators.form-select{\r\n &:focus\r\n {\r\n border-color:#ced4da!important;\r\n box-shadow: none !important;\r\n } \r\n}\r\n.ruleGroup {\r\n background:transparent;\r\n border-color: #D9D9D9;\r\n}\r\n.ruleGroup-body .ruleGroup{\r\n background:#F1F5F9;\r\n}\r\n.btn-danger{\r\n background-color: transparent !important;\r\n\tcolor: ${COLORS.label} !important;\r\n\tborder: 1px solid ${COLORS.lightHover} !important;\r\n &:hover, &:focus {\r\n\t\t\t\tcolor: ${COLORS.label} !important;\r\n\t\t\t\tbackground-color: ${COLORS.lightHover} !important;\r\n\t\t\t\tborder: 1px solid ${COLORS.lightHover} !important;\r\n\t\t\t}\r\n}\r\n`\r\nexport const WrapperButton = styled.div`\r\n/* .deleteButton {\r\n visibility: hidden;\r\n} */\r\n`\r\nexport const TrWrapper = styled.tr`\r\n background-color: #ffffff !important;\r\n\r\n:hover {\r\n .deleteButton{\r\n\t\tvisibility: visible;\r\n }\r\n}\r\n${(props) => props.disabled && `background:#F8FAFC!important;`}\r\n`\r\n\r\nexport const LabelCenter = styled(Label)`\r\ntext-align:center;\r\n`\r\n\r\nexport const DivSurveyWrapper = styled.div`\r\nborder-radius: 4px;\r\nborder: 1px solid #D9D9D9;\r\nbackground:#F8FAFC ;\r\n`\r\nexport const DivSurveyLabel = styled.div`\r\n border-bottom:1px solid #D9D9D9;\r\n margin: 0.5rem;\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem\r\n`","import { upsertCustomerFeedback } from \"features/journey-map/reducer/CJMActions\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Moment from \"react-moment\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport GenericSwitch from \"shared/ui-basics/buttons\";\r\nimport { IconDispatcher, Label } from \"shared/ui-basics/index\";\r\nimport { EmotionLevelAndSmiley } from \"shared/ui-basics/ui-components/EmotionLevelComponents/EmotionLevelAndSmiley\";\r\nimport styled from \"styled-components\";\r\nimport * as Styles from \"../Styles\";\r\n\r\nexport const FeedBackData = ({ feedback, showStopRetrieveData = true }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { cjmIdStr } = useLocation()?.search.getMapsParams();\r\n\r\n\tconst connector = useSelector((state) => state.settings.connector)?.getById(feedback?.connectorId) || {};\r\n\tconst { enableConnection = true } = connector;\r\n\tconst [toggle, setToggle] = useState(feedback?.stopRetrieveData);\r\n\tconst loading = feedback?.customerFeedbackDatas?.length === 0 && (!feedback?.errorMsg || feedback?.errorMsg.isEmptyString());\r\n\r\n\tconst handleChange = () => {\r\n\t\tsetToggle(!toggle);\r\n\t\tupsertCustomerFeedback({ customerFeedback: { ...feedback, stopRetrieveData: !toggle, errorMsg: \"\" }, cjmId: cjmIdStr });\r\n\t};\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(\"START_RETRIEVING_DEC\")}\r\n\t\t\t\t\t{t(\"START_RETRIEVING_DEC1\")}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t{feedback?.errorMsg && feedback?.errorMsg !== \"\" && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{IconDispatcher(\"triangle-exclamation\", \"\", { style: \"solid\", color: \"#D50000\" })}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{!enableConnection && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{IconDispatcher(\"circle-info\", \"\", { style: \"solid\", color: \"#0078E7\" })}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{feedback?.customerFeedbackDatas\r\n\t\t\t\t\t\t\t\t.sort((a, b) => new Date(b.interactionDate) - new Date(a.interactionDate))\r\n\t\t\t\t\t\t\t\t?.map((feedbackData, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{feedbackData?.interactionDate}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{showStopRetrieveData && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\nexport const WrapperInfo = styled.div`\r\n\tmargin-bottom: 1rem;\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\t${(props) =>\r\n\t\tprops.type === \"info\" &&\r\n\t\t`\r\n border: 1px solid #CBE6FF;\r\n background: #EAF5FF;\r\n `}\r\n\t${(props) =>\r\n\t\tprops.type === \"error\" &&\r\n\t\t`\r\n border: 1px solid #FFD2D2;\r\n background: #FFEDED;\r\n `}\r\n\r\n padding:4px;\r\n\tborder-radius: 4px;\r\n\tgap: 8px;\r\n`;\r\nFeedBackData.propTypes = {\r\n\tfeedback: PropTypes.shape({\r\n\t\tstopRetrieveData: PropTypes.bool,\r\n\t\tcustomerFeedbackDatas: PropTypes.array,\r\n\t}),\r\n};\r\n","import EmptyData from \"features/analytics/Components/EmptyData\";\r\nimport { TickStyle } from \"features/analytics/Style\";\r\nimport { upsertCustomerFeedback } from \"features/journey-map/reducer/CJMActions\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Area, AreaChart, CartesianGrid, ResponsiveContainer, Tooltip, XAxis, YAxis } from \"recharts\";\r\nimport { Spinner } from \"shared/components/spinners/Spinner\";\r\nimport { FlexAlignJustifyCenter, IconDispatcher, Label } from \"shared/ui-basics\";\r\nimport GenericSwitch from \"shared/ui-basics/buttons\";\r\nimport styled from \"styled-components\";\r\nimport { getEmotionLevelData, hexToHSL } from \"utils/helpers\";\r\nimport * as Styles from \"../Styles\";\r\n\r\ntype Props = {\r\n feedback: any;\r\n showStopRetrieveData: boolean;\r\n};\r\n\r\nexport default function ReportSummeryFeedback({ feedback, showStopRetrieveData }: Props): JSX.Element {\r\n const { t } = useTranslation();\r\n const { cjmIdStr } = useLocation()?.search.getMapsParams();\r\n const connector = useSelector((state) => state.settings.connector)?.getById(feedback?.connectorId) || {};\r\n const { enableConnection = true } = connector;\r\n\r\n const { smileyColor } = getEmotionLevelData({ level: feedback?.customerFeedbackDatas?.[0]?.sentimentIndex });\r\n\r\n\r\n const loading = feedback?.customerFeedbackDatas?.length === 0 && (!feedback?.errorMsg || feedback?.errorMsg.isEmptyString());\r\n const [toggle, setToggle] = useState(feedback?.stopRetrieveData);\r\n\r\n const handleChange = () => {\r\n setToggle(!toggle);\r\n upsertCustomerFeedback({ customerFeedback: { ...feedback, stopRetrieveData: !toggle, errorMsg: \"\" }, cjmId: cjmIdStr });\r\n };\r\n const data = feedback?.customerFeedbackDatas\r\n\r\n ?.sort((a, b) => new Date(a.interactionDate) - new Date(b.interactionDate))\r\n ?.slice(-12)\r\n ?.map(({ interactionDate, sentimentIndex, averageRating }) => {\r\n const dateObject = new Date(interactionDate); // Create a single Date object\r\n const date = interactionDate.split(\"T\")[0]; // Extract the date part (YYYY-MM-DD)\r\n const day = dateObject.getDate(); // Extract the day\r\n const month = dateObject.toLocaleString('en-US', { month: 'long' }); // Get the month name\r\n\r\n return {\r\n date,\r\n month: `${day} ${month}`, // Format as \"day month\"\r\n sentiment: sentimentIndex,\r\n rating: averageRating,\r\n };\r\n });\r\n const CustomTooltip = ({ active, payload, label }) => {\r\n if (active && payload && payload.length) {\r\n const value = payload[0]?.payload;\r\n return \r\n
\r\n
{`Date: ${value?.date}`}
\r\n
{`Sentiment: ${value?.sentiment}`}
\r\n
{`Avg Rating: ${value?.rating}`}
\r\n
\r\n\r\n\r\n
\r\n }\r\n\r\n return null;\r\n };\r\n return <>\r\n {loading ? (\r\n
\r\n {t(\"START_RETRIEVING_DEC\")}\r\n {t(\"START_RETRIEVING_DEC1\")}\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n {feedback?.errorMsg && feedback?.errorMsg !== \"\" && (\r\n \r\n
{IconDispatcher(\"triangle-exclamation\", \"\", { style: \"solid\", color: \"#D50000\" })}
\r\n \r\n
\r\n )}\r\n {!enableConnection && (\r\n \r\n
{IconDispatcher(\"circle-info\", \"\", { style: \"solid\", color: \"#0078E7\" })}
\r\n \r\n
\r\n )}\r\n {showStopRetrieveData && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n {feedback?.customerFeedbackDatas?.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n } isAnimationActive={false} />\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n
)}\r\n \r\n}\r\nexport const WrapperInfo = styled.div`\r\n\tmargin-bottom: 1rem;\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\t${(props) =>\r\n props.type === \"info\" &&\r\n `\r\n border: 1px solid #CBE6FF;\r\n background: #EAF5FF;\r\n `}\r\n\t${(props) =>\r\n props.type === \"error\" &&\r\n `\r\n border: 1px solid #FFD2D2;\r\n background: #FFEDED;\r\n `}\r\n\r\n padding:4px;\r\n\tborder-radius: 4px;\r\n\tgap: 8px;\r\n`;\r\nconst TooltipContainer = styled.div`\r\n\tcolor: #605f60;\r\n\tfont-family: \"Inter\";\r\n\tfont-size: 14px;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\tborder: 1px solid #ccc;\r\n\tmin-width: 120px;\r\n`;","import { QueryBuilderBootstrap } from \"@react-querybuilder/bootstrap\";\r\nimport 'react-querybuilder/dist/query-builder.scss';\r\nimport { EMPTY_GUID, lowercaseKeys } from \"@utils/helpers\";\r\nimport { upsertCustomerFeedback } from \"features/journey-map/reducer/CJMActions\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Col, Row, Tab, Tabs } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport QueryBuilder, { ActionElement } from \"react-querybuilder\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Form } from \"reactstrap\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport * as Styles from \"../Styles\";\r\nimport { ConnectorSource } from \"@utils/optionsSets/OptionSets\";\r\nimport { connectorInit, getQuestionsAndFilters } from \"features/integrations/reducer/ConnectorAction\";\r\nimport { ConfirmPopup, confirmPopup } from \"primereact/confirmpopup\";\r\nimport PropTypes from \"prop-types\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { Labels } from \"shared/cx-components/style\";\r\nimport { GenericDropdown } from \"shared/dropdowns/GenericDropdown\";\r\nimport { Label } from \"shared/ui-basics\";\r\nimport { FeedBackData } from \"./FeedBackData\";\r\nimport ReportSummeryFeedback from \"./report-summery-feedback\";\r\n\r\nexport const FeedbackConfiguration = ({ currentItem, isViewer, onClose }) => {\r\n\r\n\tconst { t } = useTranslation();\r\n\tconst dispatch = useDispatch();\r\n\tconst { cjmIdStr } = useLocation()?.search.getMapsParams();\r\n\tconst connector = useSelector((state) => state.settings.connector)?.getById(currentItem?.connectorId);\r\n\tconst { jsonSurveys, source, enableConnection } = connector;\r\n\tconst listSurvey = jsonSurveys.replaceAll('\"Name\"', '\"value\"') || \"[]\";\r\n\r\n\tconst surveyData = JSON.parse(listSurvey)?.map((x) => lowercaseKeys(x));\r\n\r\n\tconst [feedback, setFeedback] = useState(currentItem)\r\n\r\n\tconst [loadingSurvey, setLoadingSurvey] = useState(false);\r\n\tconst [listFilter, setListFilter] = useState([]);\r\n\tconst [listQuestions, setListQuestions] = useState([]);\r\n\tconst [query, setQuery] = useState(currentItem?.jsonCondition ? JSON.parse(currentItem?.jsonCondition) : { combinator: \"and\", rules: [] });\r\n\tconst [validated, setValidated] = useState(true);\r\n\tconst [key, setKey] = useState(\"report\");\r\n\r\n\tconst isDisable = currentItem.retrieveData || !loadingSurvey || isViewer;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (feedback.surveyId) {\r\n\t\t\tonSelectSurvey(feedback.surveyId);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleChange = (e, type) => {\r\n\t\tif (e.target) {\r\n\t\t\tconst { value } = e.target;\r\n\t\t\tsetFeedback({ ...feedback, [type]: value });\r\n\t\t} else {\r\n\t\t\tsetFeedback({ ...feedback, touchPointId: e || EMPTY_GUID });\r\n\t\t}\r\n\t};\r\n\tconst changeSurvey = (e) => {\r\n\t\tconst { value } = e.target;\r\n\t\tsetFeedback({ ...feedback, surveyId: value });\r\n\t\tonSelectSurvey(value);\r\n\t};\r\n\tconst onSelectSurvey = (surveyId) => {\r\n\t\t//call api\r\n\t\tsetLoadingSurvey(false);\r\n\t\tconst callbacks = {\r\n\t\t\tonSuccess: fillResult,\r\n\t\t\tonFailed: () => setLoadingSurvey(true),\r\n\t\t};\r\n\t\tgetQuestionsAndFilters({ connectorId: feedback?.connectorId, surveyId, ...callbacks });\r\n\t};\r\n\r\n\tconst fillResult = (data) => {\r\n\t\tsetListFilter(data?.Filters?.map((x) => lowercaseKeys(x)).sortAsc(\"value\"));\r\n\t\tsetListQuestions(data?.Questions?.map((x) => lowercaseKeys(x)));\r\n\t\tsetLoadingSurvey(true);\r\n\t};\r\n\r\n\tconst transfertQuestion = () => {\r\n\t\treturn listQuestions?.map((question) => {\r\n\t\t\treturn {\r\n\t\t\t\tname: question?.id, label: question?.value !== \"\" ? question?.value : question?.id, inputType: 'number',\r\n\t\t\t\toperators: [\r\n\t\t\t\t\t{ name: '=', label: 'equals' },\r\n\t\t\t\t\t{ name: '!=', label: 'not equals' },\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\tconst fields = transfertQuestion();\r\n\tconst validation = () => {\r\n\t\tconst { filterId, surveyId, cxMetricsId, ratingQuestionId } = feedback;\r\n\t\treturn !surveyId?.isEmptyString() && !cxMetricsId?.isEmptyString() && !ratingQuestionId?.isEmptyString();\r\n\t}\r\n\tconst startRetrieveData = () => {\r\n\t\tif (validation()) {\r\n\t\t\tsetFeedback({ ...feedback, retrieveData: true });\r\n\r\n\t\t\tupsertCustomerFeedback({ customerFeedback: { \r\n\t\t\t\t...currentItem, \r\n\t\t\t\tsurveyId: feedback.surveyId,\r\n\t\t\t\tratingQuestionId: feedback.ratingQuestionId,\r\n\t\t\t\tfilterId: feedback.filterId,\r\n\t\t\t\tretrieveData: true, \r\n\t\t\t\tjsonCondition: JSON.stringify(query) \r\n\t\t\t}, \r\n\t\t\t\tcjmId: cjmIdStr })\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsetValidated(false);\r\n\t\t}\r\n\t}\r\n\tconst update = () => {\r\n\t\tupsertCustomerFeedback({ customerFeedback: { ...currentItem,\r\n\t\t\tsurveyId: feedback.surveyId,\r\n\t\t\tratingQuestionId: feedback.ratingQuestionId,\r\n\t\t\tfilterId: feedback.filterId, jsonCondition: JSON.stringify(query) }, cjmId: cjmIdStr })\r\n\t\tonClose();\r\n\t}\r\n\tconst confirmRetrieveData = (event) => {\r\n\t\tconfirmPopup({\r\n\t\t\ttarget: event.currentTarget,\r\n\t\t\tclassName: \"w-25\",\r\n\t\t\tmessage: t(\"RETRIEVE_DATA_QUALTRICS\"),\r\n\t\t\ticon: 'pi pi-info-circle',\r\n\t\t\tacceptClassName: 'p-button-danger confirm-popup-button p-1',\r\n\t\t\trejectClassName: \"p-button-outlined confirm-popup-button p-1\",\r\n\t\t\trejectLabel: t(\"SAVE_RESUME\"),\r\n\t\t\tacceptLabel: t(\"START_RETRIEVING\"),\r\n\t\t\taccept: startRetrieveData,\r\n\t\t\treject: update\r\n\t\t});\r\n\t};\r\n\tconst customStyles = {\r\n\t\tmenu: (provided) => ({\r\n\t\t\t...provided,\r\n\t\t\tmaxWidth: 200,\r\n\t\t\twhiteSpace: \"normal\",\r\n\t\t\toverflowWrap: \"break-word\",\r\n\t\t}),\r\n\t\toption: (provided) => ({\r\n\t\t\t...provided,\r\n\t\t\tmaxWidth: 200,\r\n\t\t\twhiteSpace: \"normal\",\r\n\t\t\toverflowWrap: \"break-word\",\r\n\t\t}),\r\n\t};\r\n\treturn (
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t(\"SURVEY\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"INFO\", \"me-2\")}\r\n\t\t\t\t\t\t\t{t(\"MANDATORY\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{source === ConnectorSource.Qualtrics && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"FILTER\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t handleChange(e, \"filterId\")}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"RATING_QUESTION\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t handleChange(e, \"ratingQuestionId\")}\r\n\t\t\t\t\t\t\tdisabled={feedback.retrieveData}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"INFO\", \"me-2\")} {t(\"MANDATORY\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{source === ConnectorSource.Qualtrics && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"CONDITION\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t setQuery(q)}\r\n\t\t\t\t\t\t\t\t\t\tcontrolClassnames={{\r\n\t\t\t\t\t\t\t\t\t\t\t// queryBuilder: \"queryBuilder-branches\",\r\n\t\t\t\t\t\t\t\t\t\t\tvalueEditor: (props) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tcontrolElements={{\r\n\t\t\t\t\t\t\t\t\t\t\taddGroupAction: (props) => (props?.level === 0 ? : null),\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t\t{!currentItem.retrieveData &&
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"SAVE_RESUME\")}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t(\"RETRIEVE_DATA\")}\r\n\t\t\t\r\n\t\t
\r\n\t\t}\r\n\t\t{feedback?.connectorId !== EMPTY_GUID && currentItem.retrieveData &&\r\n\t\t\t
\r\n\t\t\t\t setKey(k)} className=\"mb-3 fs2\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t}\r\n\r\n\t\r\n\t);\r\n};\r\n\r\nFeedbackConfiguration.propTypes = {\r\n\tfeedback: PropTypes.object,\r\n\tsetFeedback: PropTypes.func,\r\n\tisViewer: PropTypes.bool,\r\n\tonClose: PropTypes.func,\r\n};\r\nActionElement.propTypes = {\r\n\tlevel: PropTypes.number,\r\n};\r\n","import { getExcelTemplateExportService, uploadExcelVOC, upsertCustomerFeedback } from \"features/journey-map/reducer/CJMActions\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useRef, useState } from \"react\";\r\nimport { Row } from \"react-bootstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { toast } from \"react-toastify\";\r\nimport { getStageCustomerFeedback } from \"redux/memoizedSelectors\";\r\nimport { FlexJustifyStart, GenericButton, IconDispatcher, Label } from \"shared/ui-basics/index\";\r\nimport { UploadFile } from \"../UploadFile\";\r\nimport { FeedBackData, WrapperInfo } from \"./FeedBackData\";\r\n\r\n//handleUpsertFeedbacks ->if we get value =0 this mean the user want to clean the cxMetrics to null;\r\nexport const ImportFile = ({ feedback, isViewer, onClose }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { cjmIdStr: cjmId,personaIdStr } = useLocation()?.search.getMapsParams();\r\n\tconst currentItem = useSelector(getStageCustomerFeedback(feedback.stageId, personaIdStr))?.getById(feedback.id) || [];\r\n\tconst fileUploadRef = useRef(null);\r\n\r\n\tconst [isHaveFile, setIsFile] = useState(false);\r\n\tconst [validFile, setValidFile] = useState(true);\r\n\tconst [errorFile, setErrorFile] = useState(\"\");\r\n\r\n\r\n\tconst isDisable = isViewer || (currentItem?.retrieveData);\r\n\tconst isDisableRetrieveData = !isHaveFile || (currentItem?.retrieveData && !currentItem?.stopRetrieveData)\r\n\r\n\tconst onFailed = (msg) => {\r\n\t\tif (msg?.response?.data)\r\n\t\t\tsetErrorFile(t(msg?.response?.data).replace(\"{NUB_LIMIT}\", 10000));\r\n\t\tsetValidFile(false);\r\n\t\tsetIsFile(false);\r\n\t}\r\n\tconst onSuccessImport = () => {\r\n\t\tupsertCustomerFeedback({ customerFeedback: { ...currentItem, retrieveData: true, stopRetrieveData: true, errorMsg: \"\" }, cjmId: cjmId })\r\n\t\ttoast.info(t(\"IMPORT_DATA_IN_PROGRESS\"));\r\n\t\tonClose();\r\n\t}\r\n\tconst startCreateData = () => {\r\n\t\tif (fileUploadRef.current) {\r\n\t\t\tconst authorizedExtenions = [\"xlsx\"];\r\n\t\t\tconst files = fileUploadRef.current.getFiles();\r\n\t\t\tif (files?.length > 0) {\r\n\t\t\t\tconst file = files[0];\r\n\t\t\t\tconst fileExtension = file?.name?.split(\".\")?.pop()?.toLowerCase();\r\n\t\t\t\tif (authorizedExtenions.indexOf(fileExtension) == -1) {\r\n\t\t\t\t\tsetValidFile(false);\r\n\t\t\t\t\tsetErrorFile(t(\"EXCEL_NOT_VALID\"));\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tconst reader = new FileReader();\r\n\t\t\t\treader.readAsDataURL(file);\r\n\t\t\t\treader.onloadend = function () {\r\n\t\t\t\t\tconst base64data = reader.result;\r\n\t\t\t\t\tuploadExcelVOC({ customerFeedback: feedback, fileBody64: base64data.split(\",\")[1], cjmId, onFailed: onFailed, onSuccess: onSuccessImport });\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{(!validFile || (currentItem?.errorMsg && !currentItem?.errorMsg?.isEmptyString())) &&\r\n\t\t\t\t\r\n\t\t\t\t\t
{IconDispatcher(\"triangle-exclamation\", \"\", { style: \"solid\", color: \"#D50000\" })}
\r\n\t\t\t\t\t\r\n\t\t\t\t
}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"START_RETRIEVE_DATA\")}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{currentItem?.customerFeedbackDatas?.length > 0 && }\r\n\t\t\r\n\t);\r\n};\r\nexport default ImportFile;\r\n\r\nImportFile.propTypes = {\r\n\tfeedback: PropTypes.shape({\r\n\t\tstopRetrieveData: PropTypes.bool,\r\n\t\ttouchPointId: PropTypes.string,\r\n\t\tcxMetricsId: PropTypes.string,\r\n\t\tretrieveData: PropTypes.bool,\r\n\t\tid: PropTypes.string,\r\n\t}),\r\n\tstageId: PropTypes.string,\r\n\tisViewer: PropTypes.bool,\r\n};\r\n\r\n","import { deleteCustomerFeedbackSummary, upsertCustomerFeedback, upsertCustomerFeedbackSummary } from \"features/journey-map/reducer/CJMActions\";\r\nimport { ConfirmPopup, confirmPopup } from \"primereact/confirmpopup\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport GenericPopover from \"shared/popovers/GenericPopover\";\r\nimport { GenericButton } from \"shared/ui-basics/buttons\";\r\nimport { FlexColumnAlignCenter, Label } from \"shared/ui-basics/index\";\r\nimport { SmileyRating } from \"shared/ui-basics/ui-components/EmotionLevelComponents/SmileyRating\";\r\nimport { SmileyStaticComponent } from \"shared/ui-basics/ui-components/EmotionLevelComponents/SmileyStaticComponent\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport * as Styles from \"../Styles\";\r\nimport { useItem } from \"shared/dynamic-imports\";\r\n\r\nexport const Manual = ({ feedback, stageId, isDisable }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst innerRef = useRef(null);\r\n\tconst { cjmIdStr: cjmId, personaIdStr: personaId } = useLocation()?.search.getMapsParams();\r\n\tconst { customerFeedbackDatas } = feedback || {};\r\n\tconst customerFeedbackId = feedback?.id;\r\n\tconst [contactData, setContactData] = useState(customerFeedbackDatas || []);\r\n\tconst isReadOnly = useSelector(({ auth }: any) => auth.userInfo.UserType)?.isReadOnly();\r\n\tconst { handleChange ,currentItem} = useItem();\r\n\r\n\tconst onChangeInput = (e, contactId) => {\r\n\t\tconst { name, value } = e.target;\r\n\r\n\t\tconst editData = contactData.map((item) => (item.id === contactId && name ? { ...item, [name]: value } : item));\r\n\t\tsetContactData(editData);\r\n\t};\r\n\r\n\tconst update = (e, id) => {\r\n\t\tlet copyData;\r\n\t\tconst { name, value } = e.target;\r\n\t\t// optimistic update\r\n\t\tconst dataDB = customerFeedbackDatas.getById(id);\r\n\t\tconst updateData = contactData.getById(id);\r\n\t\tif (name === \"interactionDate\") {\r\n\t\t\tcopyData = { ...updateData, interactionDate: value };\r\n\t\t\tconst editData = contactData?.map((item) => (item.id === id ? { ...item, interactionDate: value } : item));\r\n\t\t\tsetContactData(editData);\r\n\t\t}\r\n\t\tif (value !== dataDB?.[name]) {\r\n\t\t\tupsertCustomerFeedbackSummary({ customerFeedbackData: copyData ?? updateData, customerFeedbackId, cjmId, stageId: stageId, personaId, touchPointId: feedback?.touchPointId });\r\n\t\t}\r\n\t};\r\n\r\n\tconst changeEmotionLevel = (number, id) => {\r\n\t\tconst updateData = contactData?.find((item) => item.id === id);\r\n\t\tconst copyData = { ...updateData, sentimentIndex: number };\r\n\t\tupsertCustomerFeedbackSummary({ customerFeedbackData: copyData, customerFeedbackId, cjmId, stageId: stageId, personaId, touchPointId: feedback?.touchPointId });\r\n\t\tconst editData = contactData?.map((item) => (item.id === id ? { ...item, sentimentIndex: number } : item));\r\n\t\thandleChange(\"customerFeedbackDatas\",currentItem.customerFeedbackDatas.map(fd => {\r\n\t\t\tif(fd.id === copyData.id) fd = copyData\r\n\t\t\treturn fd \r\n\t\t}))\r\n\r\n\t\tsetContactData(editData);\r\n\t\tinnerRef?.current?.hide_popover();\r\n\t};\r\n\r\n\tconst addContactInteractions = () => {\r\n\t\tconst customerFeedbackData = {\r\n\t\t\tsentimentIndex: 3,\r\n\t\t\tsourcesOfData: currentItem.sourceDescription,\r\n\t\t\tdescription: \"\",\r\n\t\t\tinteractionDate: new Date().toISOString(),\r\n\t\t\tnumberOfInteractions: 1,\r\n\t\t\tid: uuidv4(),\r\n\t\t};\r\n\t\tsetContactData((contactData) => [customerFeedbackData, ...contactData]);\r\n\r\n\t\tupsertCustomerFeedbackSummary({ customerFeedbackData, customerFeedbackId, cjmId, stageId, personaId, touchPointId: feedback?.touchPointId, cxMetricsId: feedback?.cxMetricsId });\r\n\t\thandleChange(\"customerFeedbackDatas\",customerFeedbackDatas.length == 0 ? [customerFeedbackData] :[...customerFeedbackDatas,customerFeedbackData] )\r\n\r\n\t};\r\n\r\n\tconst startCreateData = () => {\r\n\t\tupsertCustomerFeedback({ customerFeedback: { ...feedback, retrieveData: true }, cjmId, onSuccess: addContactInteractions });\r\n\t\thandleChange(\"retrieveData\",true)\r\n\t};\r\n\r\n\tconst handleDelete = (id) => {\r\n\t\tdeleteCustomerFeedbackSummary({ customerFeedbackDataId: id, cjmId, stageId, personaId, touchPointId: feedback?.touchPointId, customerFeedbackId: feedback?.id });\r\n\t\tconst editData = contactData?.filter((item) => item.id !== id);\r\n\t\tsetContactData(editData);\r\n\t};\r\n\tconst confirmRetrieveData = (event) => {\r\n\t\tconfirmPopup({\r\n\t\t\ttarget: event.currentTarget,\r\n\t\t\tclassName: \"w-25\",\r\n\t\t\tmessage: t(\"RETRIEVE_DATA_MANUAL\"),\r\n\t\t\ticon: \"pi pi-info-circle\",\r\n\t\t\trejectClassName: \"d-none\",\r\n\t\t\tacceptClassName: \"confirm-popup-button p-1\",\r\n\t\t\tacceptLabel: t(\"START_ADDING_DATA\"),\r\n\t\t\taccept: startCreateData,\r\n\t\t});\r\n\t};\r\n\r\n\tconst Custom = ({ contact }) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t changeEmotionLevel(number, contact?.id)} />\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!isDisable &&
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t(\"ADD_ROW\")}\r\n\t\t\t\t\r\n\t\t\t
}\r\n\t\t\t{feedback?.retrieveData && !isReadOnly && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t(\"ADD_ROW\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{contactData?.map((contact, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t update(e, contact?.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t} innerRef={innerRef} disabled={index !== 0}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t onChangeInput(e, contact?.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(e) => update(e, contact?.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={index !== 0}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t onChangeInput(e, contact?.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(e) => update(e, contact?.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={index !== 0}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t handleDelete(contact?.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\nManual.propTypes = {\r\n\tfeedback: PropTypes.shape({\r\n\t\tstopRetrieveData: PropTypes.bool,\r\n\t\ttouchPointId: PropTypes.string,\r\n\t\tcxMetricsId: PropTypes.string,\r\n\t\tretrieveData: PropTypes.bool,\r\n\t\tid: PropTypes.string,\r\n\t}),\r\n\tstageId: PropTypes.string,\r\n\tisViewer: PropTypes.bool,\r\n};\r\n","import { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getStageCustomerFeedback } from \"redux/memoizedSelectors\";\r\nimport { ConnectorSource } from \"utils/optionsSets/OptionSets\";\r\nimport { FeedbackConfiguration } from \"./feedback-configuration\";\r\nimport ImportFile from \"./import-file\";\r\nimport { Manual } from \"./manual\";\r\nimport { getAllMapsParams } from \"features/comments/helpers\";\r\ntype Props = {\r\n customerFeedbackId: string;\r\n stageId?: string;\r\n onClose: () => void;\r\n\r\n};\r\nexport default function DetailFeedBackConfiguration({ customerFeedbackId, stageId, onClose }: Props): JSX.Element {\r\n const { personaIdStr, } = getAllMapsParams(useLocation().search);\r\n const currentItem = useSelector(getStageCustomerFeedback(stageId, personaIdStr))?.getById(customerFeedbackId) || [];\r\n const connector = useSelector((state:any) => state.settings.connector)?.getById(currentItem?.connectorId);\r\n const isReadOnly = useSelector(({ auth }: any) => auth.userInfo.UserType)?.isReadOnly();\r\n const isDisable = isReadOnly || currentItem?.retrieveData ;//isViewer\r\n\r\n if ([ConnectorSource.Qualtrics, ConnectorSource.SurveyMonkey, ConnectorSource.Sandsiv].includes(connector?.source))\r\n return \r\n\r\n switch (currentItem?.source) {\r\n case ConnectorSource.Manual:\r\n return ;\r\n case ConnectorSource.ImportFile:\r\n return \r\n }\r\n return <>\r\n}","import { Row } from \"react-bootstrap\";\r\nimport { Label_ts, StyledCol } from \"shared/cx-components/cx-components.style\";\r\nimport { Button } from \"../buttons\";\r\nimport { IconDispatcher } from \"shared/Icons\";\r\nimport { Col } from \"reactstrap\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface LabelDisplayProps {\r\n id: string;\r\n children: React.ReactNode;\r\n icon: string;\r\n label: string;\r\n showHide?: boolean;\r\n onHide: () => void;\r\n}\r\nconst LabelDisplay: React.FC = ({ id, children, icon, label, showHide = false, onHide }) => {\r\n const { t } = useTranslation();\r\n\r\n return \r\n \r\n
{IconDispatcher(icon)}
\r\n \r\n {t(label)}\r\n \r\n {showHide && (\r\n \r\n )}\r\n
\r\n
\r\n {children}\r\n \r\n \r\n}\r\nexport default LabelDisplay;","import { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Editor from \"shared/components/Editor/Editor\";\r\nimport { FlexContainer } from \"shared/cx-components/cx-components.style\";\r\nimport PersonaDropdown from \"shared/dropdowns/library-dropdown/persona/PersonaDropdown\";\r\nimport TouchpointDropdown from \"shared/dropdowns/library-dropdown/TouchpointDropdown\";\r\nimport { useItem } from \"shared/dynamic-imports\";\r\nimport { GenericDropdown } from \"shared/ui-basics\";\r\nimport LabelDisplay from \"shared/ui-basics/ui-components/LabelDisplay\";\r\nimport { EMPTY_GUID } from \"utils/helpers\";\r\nimport { ConnectorSource } from \"utils/optionsSets/OptionSets\";\r\n\r\nexport default function DetailPanelFeedBack(): JSX.Element {\r\n const { t } = useTranslation();\r\n\r\n const { currentItem, handleBlur, handleChange } = useItem();\r\n const metricsData = useSelector((state) => state.libraries.cxMetrics)?.FormatDropDownArray();\r\n const isReadOnly = useSelector(({ auth }: any) => auth.userInfo.UserType)?.isReadOnly();\r\n\r\n metricsData?.unshift({ id: 0, value: t(\"NO_VALUE\") });\r\n const isDisable = isReadOnly || currentItem?.retrieveData;//isViewer\r\n const isManual = currentItem?.source === ConnectorSource.Manual;\r\n\r\n return <>\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n handleChange(\"touchPointId\", id, true)}\r\n unlink={(id: string) => handleChange(\"touchPointId\", EMPTY_GUID, true)}\r\n isSwitchDisabled={isDisable}\r\n isCloseWhenSelected={true}\r\n />\r\n \r\n \r\n
\r\n handleChange(\"cxMetricsId\", e.target.value, true)}\r\n ishoverborder={(!isDisable && true).toString()}\r\n />\r\n
\r\n
\r\n {isManual && \r\n
\r\n \r\n handleChange(\"sourceDescription\", value)}\r\n onUpdate={() => handleBlur(\"sourceDescription\")}\r\n placeholder={t(\"EMPTY\")}\r\n disabled={isDisable}\r\n />\r\n \r\n
\r\n
\r\n\r\n }\r\n \r\n}\r\n\r\n","import { getAllMapsParams } from \"features/comments/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { getCustomerFeedbackStagesIds, getStageCustomerFeedback } from \"redux/memoizedSelectors\";\r\nimport { SideModal } from \"shared/cx-components/cx-components.style\";\r\nimport Header from \"shared/cx-components/header\";\r\nimport HeaderTitle from \"shared/cx-components/header-title\";\r\nimport { ItemProvider, useItem } from \"shared/dynamic-imports\";\r\nimport { decode } from \"utils/helpers\";\r\nimport { upsertCustomerFeedback } from \"../../reducer/CJMActions\";\r\nimport DetailFeedBackConfiguration from \"./components/detail-feedback-configuration\";\r\nimport DetailPanelFeedBack from \"./components/detail-panel-feedback\";\r\nimport { connectorInit } from \"features/integrations/reducer/ConnectorAction\";\r\nimport { useEffect } from \"react\";\r\n\r\ntype Props = {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n customerFeedbackId?: string[];\r\n stageId?: string;\r\n};\r\nexport default function EditFeedbackData(props: Props): JSX.Element {\r\n const { isOpen, onClose, stageId, customerFeedbackId } = props;\r\n const { personaIdStr, cjmIdStr: cjmId } = getAllMapsParams(useLocation().search);\r\n const dispatch = useDispatch();\r\n\r\n const currentItem = useSelector(getStageCustomerFeedback(stageId, personaIdStr))?.getById(customerFeedbackId) || {};\r\n useEffect(() => {\r\n \r\n dispatch(connectorInit({refreshSurveys: true}));\r\n }, []);\r\n const handleUpdateFeedbackData = ({ item, modifiedAttribNames }: any) => {\r\n if (modifiedAttribNames?.includes(\"description\")) item.description = decode(item?.description);\r\n if (modifiedAttribNames?.includes(\"name\")) item.name = decode(item?.name);\r\n if (modifiedAttribNames?.includes(\"sourceDescription\")) item.sourceDescription = decode(item?.sourceDescription);\r\n\r\n upsertCustomerFeedback({ \r\n customerFeedback: {...currentItem,\r\n [modifiedAttribNames[0]]: item[modifiedAttribNames[0]]\r\n }, \r\n cjmId: cjmId, modifiedAttribNames \r\n })\r\n };\r\n\r\n return (\r\n \r\n {customerFeedbackId ? (\r\n
\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n}\r\nconst Content = (props: Props) => {\r\n const { t } = useTranslation();\r\n\r\n const { onClose, stageId ,customerFeedbackId} = props;\r\n const { currentItem, setCurrentItem } = useItem();\r\n const stagesCustomerFeedbackIds = useSelector(getCustomerFeedbackStagesIds(stageId, currentItem?.personaId));\r\n const customerFeedbacks = useSelector(getStageCustomerFeedback(stageId, currentItem?.personaId));\r\n const updateCurrentItem = (feedbackId: string) => {\r\n setCurrentItem(customerFeedbacks?.getById(feedbackId))\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};","import { getAllTeams } from \"../../../redux/index\";\r\nimport { getNotifications } from \"features\";\r\nimport { connectorInit } from \"features/integrations/reducer/ConnectorAction\";\r\nimport { brandValueInit, cxGoalsInit, getAllCxMetrics, getAllInsightTypes, getAllStakeholderRoles, groupInit, iconsInit, libraryInit, measureInit, priorityInit, statusInit, tagInit, touchPointCategoriesInit, touchPointInit } from \"features/library/reducer/LibraryActions\";\r\nimport { getAllWorkspaces } from \"features/workspace/reducer/WorkspaceActions\";\r\nimport { getOrganizationSettings, getSubscriptionDetails } from \"features/settings/reducer/SettingsActions\";\r\nimport { getAllAuthorizedUsers, getAllRegisteredUsers, getAllRoles, getSettingUser } from \"features/settings/reducer/UserActions\";\r\nimport { Logout } from \"features/auth/reducer/AuthActions\";\r\nimport { updateAllStoresStates } from \"shared/hooks/useNetworkStatus\";\r\n\r\nexport const methodWorkspaceFun = (methodName, args, dispatch, userId) => {\r\n\r\n switch (methodName) {\r\n case \"GET_ALL_WORKSPACE\":\r\n dispatch(getAllWorkspaces());\r\n // dispatch(getAllAuthorizedUsers())\r\n // dispatch(getAllTeams())\r\n\r\n break;\r\n case \"GET_ALL_LIBRARY\":\r\n dispatch(libraryInit());\r\n break;\r\n case \"GET_ALL_REGISTERED_USERS\":\r\n dispatch(getAllWorkspaces());\r\n dispatch(getAllRegisteredUsers());\r\n \r\n if (args === userId) {\r\n dispatch(Logout());\r\n }\r\n break;\r\n case \"GET_NOTIFICATIONS\":\r\n getNotifications();\r\n break;\r\n case \"GET_SUBSCRIPTION_DETAILS\":\r\n dispatch(getSubscriptionDetails())\r\n break;\r\n case \"GET_USER_SETTINGS\":\r\n dispatch(getSettingUser())\r\n break;\r\n case \"GET_ORGANIZATION_SETTINGS\":\r\n dispatch(getOrganizationSettings())\r\n break;\r\n case \"GET_ALL_AUTHORIZED_USERS\":\r\n dispatch(getAllAuthorizedUsers())\r\n break;\r\n case \"GET_ALL_ROLES\":\r\n dispatch(getAllRoles())\r\n break;\r\n case \"GET_ALL_TEAMS\":\r\n dispatch(getAllTeams())\r\n break;\r\n \r\n case \"GET_CONNECTOR\":\r\n dispatch(connectorInit())\r\n break;\r\n case \"GET_STATUS\":\r\n dispatch(statusInit());\r\n break;\r\n case \"GET_PRIORITIES\":\r\n dispatch(priorityInit())\r\n break;\r\n case \"GET_TOUCHPOINTS\":\r\n dispatch(touchPointInit(args))\r\n break;\r\n case \"GET_BRAND_VALUES\":\r\n dispatch(brandValueInit())\r\n break;\r\n case \"GET_ICONS\":\r\n dispatch(iconsInit(args))\r\n break;\r\n case \"GET_MEASURES\":\r\n dispatch(measureInit())\r\n break;\r\n case \"GET_INSIGHT_TYPES\":\r\n dispatch(getAllInsightTypes())\r\n break;\r\n case \"GET_TAGS\":\r\n dispatch(tagInit())\r\n break;\r\n case \"GET_GROUPS\":\r\n dispatch(groupInit())\r\n break;\r\n case \"GET_TOUCHPOINTSCATEGORIES\":\r\n dispatch(touchPointCategoriesInit())\r\n break;\r\n case \"GET_STAKEHOLDER_ROLES\":\r\n dispatch(getAllStakeholderRoles())\r\n break;\r\n case \"GET_CX_METRICS\":\r\n dispatch(getAllCxMetrics())\r\n break;\r\n case \"GET_CX_GOALS\":\r\n dispatch(cxGoalsInit())\r\n break;\r\n case \"UPDATE_PERSISTOR\":\r\n updateAllStoresStates(dispatch)\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n return null;\r\n}","import * as signalR from \"@microsoft/signalr\";\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nimport { useCallback, useEffect, useRef } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { updateAllStoresStates } from \"shared/hooks/useNetworkStatus\";\r\nimport { useHubConnection } from \"../context/HubConnectionContext\";\r\nimport { methodMapFun } from \"../methods/journey-map\";\r\nimport { methodWorkspaceFun } from \"../methods/workspace\";\r\n\r\nexport const useSignalR = ({ name,updateConnection }) => {\r\n const dispatch = useDispatch();\r\n const token = useSelector((state) => state.auth.token);\r\n const userInfo = useSelector(({ auth }) => auth.userInfo);\r\n\r\n useEffect(() => {\r\n\r\n const connection = new signalR.HubConnectionBuilder()\r\n .withUrl(`api/${name}`, {\r\n accessTokenFactory: () => token,\r\n })\r\n .withAutomaticReconnect([5000]) // Retry intervals\r\n .configureLogging(signalR.LogLevel.Error)\r\n .build();\r\n\r\n let shouldReconnect = true; // Flag to control reconnection attempts\r\n let reconnectTimeout = null; // Holds the timeout ID for throttling reconnects\r\n let attempt = 0;\r\n let maxAttempt = 10;\r\n\r\n const setupConnectionHandlers = () => {\r\n \r\n\r\n connection.on(\"OnWorkspaceUpdate\", (methodName, args) => {\r\n methodWorkspaceFun(methodName, args, dispatch,userInfo?.UserId)\r\n }\r\n );\r\n\r\n connection.onclose((error) => {\r\n console.error(\"SignalR connection closed:\", error);\r\n dispatch(createAction(\"ONLINE_USER_REGISTRY_LOGOUT_CLOSE\")({ userIds: [] }));\r\n if (shouldReconnect) attemptReconnect();\r\n });\r\n\r\n connection.onreconnecting((error) => {\r\n console.warn(\"SignalR reconnecting due to error:\", error);\r\n });\r\n\r\n connection.onreconnected(async (connectionId) => { \r\n // console.log(\"SignalR reconnected with connectionId:\", connectionId);\r\n updateConnection(connection);\r\n reinitializeConnection();\r\n });\r\n };\r\n\r\n const startConnection = async () => {\r\n try {\r\n if (navigator.onLine) {\r\n if (connection.state !== signalR.HubConnectionState.Disconnected) {\r\n //console.log(\"Connection is not in 'Disconnected' state. Stopping first...\");\r\n await connection.stop(); // Ensure the connection is stopped before starting\r\n }\r\n \r\n await connection.start();\r\n //console.log(\"SignalR connected\");\r\n \r\n \r\n reinitializeConnection();\r\n updateConnection(connection);\r\n return true\r\n\r\n } else {\r\n console.warn(\"Browser is offline. Delaying SignalR connection...\");\r\n }\r\n } catch (error) {\r\n console.error(\"Error starting SignalR connection:\", error);\r\n if (shouldReconnect) {\r\n clearTimeout(reconnectTimeout);\r\n reconnectTimeout = setTimeout(attemptReconnect, 5000); // Retry after 5 seconds\r\n }\r\n return false\r\n }\r\n };\r\n \r\n\r\n const attemptReconnect = async () => {\r\n if (\r\n navigator.onLine && \r\n connection.state === signalR.HubConnectionState.Disconnected\r\n ) {\r\n //console.log(\"Attempting to reconnect SignalR...\");\r\n attempt++\r\n const result = await startConnection();\r\n if(result) {\r\n await reinitializeConnection();\r\n await updateAllStoresStates(dispatch);\r\n }\r\n \r\n\r\n\r\n } else if (connection.state !== signalR.HubConnectionState.Disconnected) {\r\n console.warn(\r\n \"Connection is not in a 'Disconnected' state. Current state:\", \r\n connection.state\r\n );\r\n }\r\n\r\n };\r\n \r\n\r\n const handleOnline = () => {\r\n //console.log(\"Browser is back online. Checking SignalR connection...\");\r\n shouldReconnect = true;\r\n attempt = 0;\r\n attemptReconnect();\r\n };\r\n\r\n const handleOffline = () => {\r\n console.warn(\"Browser is offline. Stopping SignalR connection...\");\r\n shouldReconnect = false; // Prevent automatic retries while offline\r\n if (connection.state === signalR.HubConnectionState.Connected) {\r\n connection.stop().catch((err) =>\r\n console.error(\"Error stopping SignalR connection on offline:\", err)\r\n );\r\n }\r\n };\r\n\r\n const reinitializeConnection = async () => {\r\n try {\r\n if (connection.state === signalR.HubConnectionState.Connected) {\r\n await connection.invoke(\"UserLogin\", userInfo?.UserId);\r\n //console.log(\"Reinitialized SignalR connection\");\r\n }\r\n } catch (error) {\r\n console.error(\"Error during reinitialization after reconnection:\", error);\r\n }\r\n };\r\n\r\n const handleVisibilityChange = () => {\r\n if (!document.hidden) {\r\n //console.log(\"User resumed activity. Checking SignalR connection...\");\r\n shouldReconnect = true;\r\n attempt = 0;\r\n \r\n attemptReconnect();\r\n\r\n }\r\n };\r\n\r\n setupConnectionHandlers();\r\n startConnection();\r\n\r\n\r\n document.addEventListener(\"visibilitychange\", handleVisibilityChange);\r\n window.addEventListener(\"online\", handleOnline);\r\n window.addEventListener(\"offline\", handleOffline);\r\n\r\n //.log(\"SignalR connection initialized\");\r\n\r\n return () => {\r\n clearTimeout(reconnectTimeout);\r\n window.removeEventListener(\"online\", handleOnline);\r\n window.removeEventListener(\"offline\", handleOffline);\r\n document.removeEventListener(\"visibilitychange\", handleVisibilityChange);\r\n shouldReconnect = false; // Stop reconnection attempts\r\n connection.stop().catch((err) =>\r\n console.error(\"Error stopping SignalR connection during cleanup:\", err)\r\n );\r\n };\r\n }, [name, token, userInfo, dispatch]);\r\n\r\n return null;\r\n};\r\n\r\n\r\nexport const useHubMapConnection = ({ forceReload }) => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const { cjmIdStr, personaIdStr } = useLocation().search.getAllMapsParams();\r\n const { connection } = useHubConnection();\r\n const userInfo = useSelector((state) => state.auth.userInfo);\r\n\r\n // Track connection instance and previous state\r\n const connectionRef = useRef(null);\r\n const prevConnectionState = useRef(signalR.HubConnectionState.Disconnected);\r\n\r\n const wrapperMethod = (methodName, args) => {\r\n methodMapFun(\r\n methodName,\r\n args,\r\n dispatch,\r\n cjmIdStr,\r\n personaIdStr,\r\n userInfo?.UserId,\r\n history,\r\n forceReload\r\n );\r\n }\r\n // , [dispatch, cjmIdStr, personaIdStr, userInfo?.UserId, history, forceReload]);\r\n\r\n const setupHandlers = useCallback(async () => {\r\n if (!connectionRef.current || connectionRef.current.state !== signalR.HubConnectionState.Connected) {\r\n // console.warn(\"⏳ Waiting for SignalR to connect before setting up handlers...\");\r\n return;\r\n }\r\n\r\n // console.log(\"✅ SignalR is connected. Setting up event handlers...\");\r\n connectionRef.current.on(\"OnMapUpdate\", wrapperMethod);\r\n\r\n // console.log(\"📡 Invoking UserLoginToMap...\");\r\n try {\r\n await connectionRef.current.invoke(\"UserLoginToMap\", cjmIdStr);\r\n // console.log(\"✅ UserLoginToMap invoked successfully.\");\r\n } catch (error) {\r\n console.error(\"❌ Error in UserLoginToMap:\", error);\r\n }\r\n }, [wrapperMethod, cjmIdStr]);\r\n\r\n useEffect(() => {\r\n if (!connection) return;\r\n\r\n connectionRef.current = connection;\r\n const currentState = connection.state;\r\n\r\n //console.log(`🔄 SignalR state changed: ${currentState} (prev: ${prevConnectionState.current})`);\r\n\r\n if (\r\n (prevConnectionState.current === signalR.HubConnectionState.Disconnected &&\r\n currentState === signalR.HubConnectionState.Connected) ||\r\n (prevConnectionState.current === signalR.HubConnectionState.Connecting &&\r\n currentState === signalR.HubConnectionState.Connected)\r\n ) {\r\n // console.log(\"🔄 Reconnected after being disconnected/connecting, re-running setupHandlers...\");\r\n setupHandlers();\r\n }\r\n\r\n // Store the current state for the next check\r\n prevConnectionState.current = currentState;\r\n }, [connection, setupHandlers]);\r\n\r\n return null;\r\n};","import { getAllMapsListData, getAllPersonas, getCjmCustomerFeedbackFn, getCjmCxActionsFn, getCjmCxGoalsFn, getCjmHeaderFieldsFn, getCjmOpportunitiesFn, getCjmPersonasDataFn, getCjmSolutionsFn, getCjmStagesCustomerExperienceDataFn, getCjmSwimLaneDetailsFn, getCjmSwimLaneFn, getCjmTimeLinesFn, getPersonaMapDetails, getStagesPhasesFn, groupInit, libraryInit, tagInit, touchPointInit } from \"@redux/index\";\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nimport { InformationType } from \"utils/optionsSets/OptionSets\";\r\nimport { getMapDiscussionsFn } from \"../../comments/reducer/MapActions\";\r\nimport { getAllInsightOfMapFu, getCjmContactDataFn, getInteractionsFn, getMapChartData, getMapUsers, getPersonaInteractionByStageFn, loadChart } from \"../../journey-map/reducer/CJMActions\";\r\n\r\nexport const methodMapFun = (methodName, args, dispatch, cjmIdStr, personaIdStr, userId, history, forceReload) => {\r\n // console.log(methodName, args)\r\n const updateAction = createAction(methodName);\r\n switch (methodName) {\r\n case \"GET_CJM_HEADER_FIELDS\":\r\n getCjmHeaderFieldsFn({ cjmIdStr });\r\n break;\r\n case \"GET_STAGES_PHASES\":\r\n getStagesPhasesFn({ cjmIdStr, params: args });\r\n break;\r\n case \"ONLINE_USER_REGISTRY\":\r\n case \"ONLINE_USER_REGISTRY_LOGOUT\":\r\n case \"ONLINE_USER_REGISTRY_LOGOUT_CLOSE\":\r\n dispatch(updateAction({ userIds: args }));\r\n break;\r\n case \"GET_ALL_TAG\":\r\n dispatch(tagInit());\r\n break;\r\n case \"GET_ALL_GROUP\":\r\n dispatch(groupInit());\r\n break;\r\n case \"GET_ALL_LIBRARY\":\r\n dispatch(libraryInit());\r\n break;\r\n case \"GET_SWIMLANE\":\r\n getCjmSwimLaneFn({ cjmIdStr, personaIdStr });\r\n break;\r\n case \"GET_SWIMLANEDETAILS\":\r\n getCjmSwimLaneDetailsFn({ cjmIdStr, personaIdStr, collab: true });\r\n\r\n switch (args) {\r\n\r\n case InformationType.Solution: {\r\n getCjmSolutionsFn({ cjmIdStr });\r\n break;\r\n }\r\n case InformationType.Opportunity: {\r\n getCjmOpportunitiesFn({ cjmIdStr });\r\n break;\r\n }\r\n case InformationType.ActionsList: {\r\n getCjmCxActionsFn({ cjmIdStr });\r\n break;\r\n }\r\n case InformationType.Insights : {\r\n getAllInsightOfMapFu({ cjmId: cjmIdStr })\r\n break\r\n }\r\n\r\n }\r\n\r\n break;\r\n case \"GET_SWIMLANEDETAILS_INSIGHTS\":\r\n getCjmSwimLaneDetailsFn({ cjmIdStr, personaIdStr });\r\n getAllInsightOfMapFu({ cjmId: cjmIdStr })\r\n break;\r\n case \"GET_INSIGHTS\":\r\n getAllInsightOfMapFu({ cjmId: cjmIdStr });\r\n break;\r\n case \"GET_PERSONA_DATA\":\r\n getCjmPersonasDataFn({ cjmIdStr });\r\n break;\r\n case \"GET_CJM_INTERACTIONS\":\r\n getInteractionsFn({ cjmIdStr });\r\n // getCjmHeaderFieldsFn({ cjmIdStr });\r\n\r\n // if (args === \"loadMapChart\") {\r\n // loadChart({ cjmIdStr, personaIdStr, forceRecalculate:true });\r\n // }\r\n break;\r\n case \"GET_SOLUTIONS\":\r\n getCjmSolutionsFn({ cjmIdStr });\r\n break;\r\n case \"GET_CXACTIONS\":\r\n getCjmCxActionsFn({ cjmIdStr });\r\n break;\r\n case \"GET_OPPORTUNITIES\":\r\n getCjmOpportunitiesFn({ cjmIdStr });\r\n break;\r\n case \"GET_TIME_LINES\":\r\n getCjmTimeLinesFn({ cjmIdStr });\r\n break;\r\n case \"GET_CXGOALS\":\r\n getCjmCxGoalsFn({ cjmIdStr });\r\n break;\r\n case \"GET_CUSTOMER_FEEDBACK\":\r\n getCjmCustomerFeedbackFn({ cjmIdStr });\r\n break;\r\n case \"GET_CONTACT_DATA\":\r\n // getCjmCustomerFeedbackFn({ cjmIdStr });\r\n getCjmContactDataFn({ cjmIdStr ,personaIdStr});\r\n loadChart({ cjmIdStr, personaIdStr,forceRecalculate:true });\r\n\r\n break;\r\n case \"GET_STAGES_CUSTOMER_EXPRIENCE\":\r\n getCjmStagesCustomerExperienceDataFn({ cjmIdStr, personaIdStr });\r\n break;\r\n case \"GET_STAGES_CUSTOMER_EXPRIENCE_SENTIMENT\": {\r\n const onSuccess = () => {\r\n getCjmStagesCustomerExperienceDataFn({ cjmIdStr, personaIdStr });\r\n }\r\n getInteractionsFn({ cjmIdStr, onSuccess: onSuccess });\r\n loadChart({ cjmIdStr, personaIdStr ,forceRecalculate:true });\r\n getCjmHeaderFieldsFn({ cjmIdStr });\r\n\r\n break;\r\n }\r\n case \"UPDATE_CHART\": {\r\n loadChart({ cjmIdStr, personaIdStr ,forceRecalculate:true});\r\n getCjmHeaderFieldsFn({ cjmIdStr });\r\n\r\n break;\r\n }\r\n case \"LINK_ICON\": {\r\n const type = args || 0;\r\n switch (type) {\r\n case 1:\r\n case 2:\r\n case 3:\r\n case 4:\r\n case 15:\r\n case 26:\r\n getInteractionsFn({ cjmIdStr });\r\n break;\r\n case 5:\r\n case 14:\r\n getCjmSwimLaneDetailsFn({ cjmIdStr, personaIdStr });\r\n break;\r\n case 6:\r\n case 7:\r\n case 8:\r\n getCjmStagesCustomerExperienceDataFn({ cjmIdStr, personaIdStr });\r\n break;\r\n case 9:\r\n case 10:\r\n case 11:\r\n case 12:\r\n case 13:\r\n case 23:\r\n getStagesPhasesFn({ cjmIdStr });\r\n break\r\n case 19:\r\n getCjmCxGoalsFn({ cjmIdStr });\r\n break;\r\n case 25:\r\n case 16:\r\n case 29:\r\n getCjmSwimLaneDetailsFn({ cjmIdStr, personaIdStr });\r\n break;\r\n case 20:\r\n getCjmOpportunitiesFn({ cjmIdStr });\r\n break;\r\n case 21:\r\n getCjmCxActionsFn({ cjmIdStr });\r\n break;\r\n case 24:\r\n getCjmTimeLinesFn({ cjmIdStr });\r\n break;\r\n case 27:\r\n getCjmSolutionsFn({ cjmIdStr });\r\n break;\r\n case 28:\r\n getCjmCustomerFeedbackFn({ cjmIdStr });\r\n break;\r\n }\r\n }\r\n break;\r\n case \"REFRESH_MAP\": {\r\n dispatch(getPersonaMapDetails({ cjmIdStr, personaIdStr }));\r\n dispatch(getMapChartData({ cjmIdStr, personaIdStr }));\r\n }\r\n break;\r\n case \"GET_COMMENTS\":\r\n dispatch(getPersonaMapDetails({ cjmIdStr, personaIdStr }));\r\n break;\r\n case \"GET_DISCUSSIONS\":\r\n // getMapDiscussionsFn({ cjmIdStr, personaIdStr });\r\n\r\n switch (args) {\r\n\r\n case \"cem_stage\":\r\n getStagesPhasesFn({ cjmIdStr, params: args });\r\n break;\r\n case \"cem_customswimlane\":\r\n case \"cem_swimlaneitem\":\r\n getCjmSwimLaneDetailsFn({ cjmIdStr, personaIdStr, collab: true });\r\n break;\r\n case \"cem_personaexperience\":\r\n getCjmStagesCustomerExperienceDataFn({ cjmIdStr, personaIdStr });\r\n break;\r\n case \"cem_customerexperience\":\r\n getInteractionsFn({ cjmIdStr });\r\n\r\n break;\r\n case \"cem_timeline\":\r\n getCjmTimeLinesFn({ cjmIdStr });\r\n break;\r\n case \"cem_goal\":\r\n getCjmCxGoalsFn({ cjmIdStr });\r\n break;\r\n case \"cem_customerfeedback\":\r\n getCjmCustomerFeedbackFn({ cjmIdStr });\r\n break;\r\n }\r\n\r\n break;\r\n case \"GET_DISCUSSIONS_CJM\":\r\n getMapDiscussionsFn({ cjmIdStr, personaIdStr });\r\n break;\r\n case \"GET_ALL_CJMS\":\r\n getCjmHeaderFieldsFn({ cjmIdStr });\r\n dispatch(getAllMapsListData());\r\n break;\r\n case \"GET_CJM_PERSONAS\":\r\n\r\n getCjmPersonasDataFn({ cjmIdStr });\r\n dispatch(getAllPersonas());\r\n break;\r\n\r\n case \"UPLOAD_IMG\":\r\n case \"UPLOAD_STAGE_IMG\":\r\n dispatch(updateAction({ ...args }));\r\n\r\n // getCjmSwimLaneDetailsFn({ cjmIdStr, personaIdStr });\r\n //cjmSwimLanes\r\n break;\r\n case \"UNLINK_PERSONA\":\r\n getCjmPersonasDataFn({ cjmIdStr });\r\n break;\r\n case \"GET_ALL_TOUCHPOINTS\":\r\n dispatch(touchPointInit());\r\n break;\r\n case \"GET_PERSONA_INTERACTION_BY_STAGE\":\r\n getPersonaInteractionByStageFn({ cjmId: cjmIdStr, personaId: personaIdStr, ...args });\r\n break;\r\n case \"MAP_HEADER\":\r\n getCjmHeaderFieldsFn({ cjmIdStr });\r\n break;\r\n case \"GET_MAP_USERS\": {\r\n const mapUserParameters = { cjmId: cjmIdStr, forceViewer: false, userId: userId };\r\n dispatch(getMapUsers(mapUserParameters)).then(() => {\r\n forceReload();\r\n\r\n });\r\n break;\r\n }\r\n case \"CREATE_NEW_VERSION\": {\r\n history.push(`/EditMap?cjmid=${args}&personaId=${personaIdStr}`);\r\n\r\n break;\r\n }\r\n }\r\n return null;\r\n}","import { displayBenefitCard } from \"features/grid-table/columns-components/ReusableListComponents\";\r\nimport { JourneyFilter } from \"features/journey-map/modals/AdvancedSearch/JourneyFilter\";\r\nimport { PriorityFilter } from \"features/journey-map/modals/AdvancedSearch/PriorityFilter\";\r\nimport { StatusFilter } from \"features/journey-map/modals/AdvancedSearch/StatusFilter\";\r\nimport { CheckBox, EmptyIconContainer, EmptyList, FiltersContainer, ListItem, ListItemsContainer } from \"features/journey-map/modals/AdvancedSearch/Style\";\r\nimport { TagFilter } from \"features/journey-map/modals/AdvancedSearch/TagFilter\";\r\nimport { memo, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { List } from \"react-virtualized\";\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { Button, IconDispatcher, SearchBar } from \"shared/ui-basics\";\r\nimport styled from \"styled-components/macro\";\r\nimport { StripHtml } from \"utils/helpers\";\r\nimport { StatusCode } from \"utils/optionsSets/OptionSets\";\r\nimport { MenuItemSelector } from \"../../card-components/MenuItemSelector\";\r\n\r\n// Types for props and other elements\r\ninterface ProjectAdvancedSearchModalProps {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tlink: (ids: string[], event: any) => void;\r\n\tonCreate: any;\r\n\tselectedProjectIds?: string[];\r\n}\r\n\r\nconst ProjectAdvancedSearchModal = memo(({ isOpen, onClose, link, onCreate, selectedProjectIds = [] }: ProjectAdvancedSearchModalProps) => {\r\n\tconst { t } = useTranslation();\r\n\r\n\tconst cjmRef = useRef(null);\r\n\tconst priorityRef = useRef(null);\r\n\tconst statusRef = useRef(null);\r\n\tconst tagRef = useRef(null);\r\n\r\n\tconst projects: any[] = useSelector((state: any) => state.projects.all_projects || [])?.filter(\r\n\t\t(project: any) => project?.statusCode === StatusCode.Active && !selectedProjectIds?.includes(project?.id)\r\n\t);\r\n\r\n\tconst [filteredProjects, setFilteredProjects] = useState(projects);\r\n\tconst [selectedIds, setSelectedIds] = useState([]);\r\n\tconst [searchedValue, setSearchedValue] = useState(\"\");\r\n\r\n\tconst applyFilters = () => {\r\n\t\tconst cjmFilters = cjmRef?.current?.getFilters();\r\n\t\tconst priorityFilters = priorityRef?.current?.getFilters();\r\n\t\tconst statusFilters = statusRef?.current?.getFilters();\r\n\t\tconst tagFilters = tagRef?.current?.getFilters();\r\n\r\n\t\tconst filtered = projects?.filter((project) => {\r\n\t\t\treturn (\r\n\t\t\t\t(!cjmFilters?.length || cjmFilters?.some((id: string) => Object.keys(project?.linkedCjms || {}).includes(id))) &&\r\n\t\t\t\t(!priorityFilters?.length || priorityFilters?.includes(project?.priorityId)) &&\r\n\t\t\t\t(!statusFilters?.length || statusFilters?.includes(project?.statusId)) &&\r\n\t\t\t\t(!tagFilters?.length || tagFilters?.some((id: string) => project?.tags?.includes(id)))\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\tsetFilteredProjects(filtered);\r\n\t};\r\n\r\n\tconst handleSearch = (e: React.ChangeEvent) => {\r\n\t\tconst value = e.target.value;\r\n\t\tsetSearchedValue(value);\r\n\t};\r\n\r\n\tconst handleSelectRecord = (id: string) => {\r\n\t\tif (!selectedIds?.includes(id)) setSelectedIds([...selectedIds, id]);\r\n\t\telse setSelectedIds(selectedIds.filter((sId) => sId !== id));\r\n\t};\r\n\r\n\tconst addSelected = (e: React.MouseEvent) => {\r\n\t\tonClose();\r\n\t\tlink(selectedIds, e);\r\n\r\n\t\t// selectedIds?.forEach((selectedId) => link(selectedId, e));\r\n\t};\r\n\r\n\tconst recordsToDisplay = filteredProjects?.filter((fs) => fs?.name?.toLowerCase()?.includes(searchedValue)).sort((a, b) => a.name.localeCompare(b.name));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t(\"ADVANCED_SEARCH\")}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{recordsToDisplay?.length > 0 ? (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tconst record = recordsToDisplay[index];\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t handleSelectRecord(record.id)}>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t {}} />\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t displayBenefitCard(record)}\r\n\t\t\t\t\t\t\t\t\t\t\ticon=\"PROJECT\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{IconDispatcher(\"magnifying-glass\", \"\", { style: \"thin\" })}\r\n\t\t\t\t\t\t\t
{t(\"NO_RECORD_TO_DISPLAY\")}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\nProjectAdvancedSearchModal.displayName = \"ProjectAdvancedSearchModal\";\r\nexport { ProjectAdvancedSearchModal };\r\n\r\nconst ModalContainer = styled(Modal)`\r\n\tmax-width: 1140px;\r\n`;\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { MenuItemSelector } from \"features/journey-map/swimlanes/card-components/MenuItemSelector\";\r\nimport { createProject } from \"features/projects/reducer/ProjectsActions\";\r\nimport { useSelector } from \"react-redux\";\r\nimport EditModeSwitch from \"shared/components/edit-mode-switch\";\r\nimport GenericTypeahead from \"shared/dropdowns/GenericTypeahead\";\r\nimport CreateNewItem from \"shared/dropdowns/cx-dropdown/components/create-new-item\";\r\nimport { SwitchProvider } from \"shared/dynamic-imports\";\r\nimport PriorityItem from \"shared/ui-basics/ui-components/PriorityItem\";\r\nimport Tag from \"shared/ui-basics/ui-components/tag\";\r\nimport { EMPTY_GUID, encode, StripHtml } from \"utils/helpers\";\r\nimport RenderAdvancedModalFooter from \"./components/RenderAdvancedFooter\";\r\nimport { ProjectAdvancedSearchModal } from \"features/journey-map/swimlanes/project/modals/ProjectAdvancedSearchModal\";\r\n\r\ninterface ProjectDropdownProps {\r\n\tlink?: (id: string, e?: any) => void;\r\n\tcloseDropdown?: () => void;\r\n\tselected?: any;\r\n\tmenuListHeight?: string;\r\n\tisOpen?: boolean;\r\n\tisSwitchDisabled?: boolean;\r\n\tisCloseAfterCreate?: boolean;\r\n\tshowShadow?: boolean;\r\n\tglobalWidth?: string;\r\n\taiParameters?: any;\r\n}\r\nexport const ProjectDropdown = ({\r\n\tselected,\r\n\tlink,\r\n\tmenuListHeight,\r\n\tcloseDropdown,\r\n\tisOpen = false,\r\n\tisSwitchDisabled = false,\r\n\tisCloseAfterCreate = false,\r\n\tshowShadow = false,\r\n\tglobalWidth,\r\n}: ProjectDropdownProps): JSX.Element => {\r\n\tconst showSampleData = useSelector(({ settings }: any) => settings.organization?.showSampleData);\r\n\tconst allProjects: any[] = useSelector(({ projects }: any) => projects?.all_projects.getActiveRecords(!showSampleData));\r\n\tconst priorities: any[] = useSelector(({ libraries }: any) => libraries?.priority?.project);\r\n\r\n\tconst handleCreate = ({ input, clearInput, close }: any) => {\r\n\t\tif (clearInput) clearInput();\r\n\t\tif (close) close();\r\n\t\tif(closeDropdown) closeDropdown();\r\n\t\tconst params: any = { item: { name: input ? encode(input.truncate(100, true)) : \"\" }, onSuccess: link ? (item: any) => link(item?.id) : null, displayToast: \"CREATE\" };\r\n\t\tcreateProject(params);\r\n\t};\r\n\r\n\tconst params: any = {\r\n\t\tselected,\r\n\t\toptions: allProjects,\r\n\t\tplaceholder: \"SEARCH_OR_CREATE\",\r\n\t\tmenuLabel: \"SELECT_OR_CREATE\",\r\n\t\trenderSelectedItem: () => <>,\r\n\t\trenderMenuItem: ({ item }: any) => {\r\n\t\t\tconst priority = priorities?.find((p) => p.id === item?.priorityId);\r\n\t\t\tconst handleLink = (e: any) => {\r\n\t\t\t\tif (link) link(item?.id, e);\r\n\t\t\t};\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\tclassNames=\"p-2\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t},\r\n\t\tlinkMenuItem: ({ item }: any) => {\r\n\t\t\tif (link) link(item?.id);\r\n\t\t},\r\n\t\tfilter: ({ query, option }: any) => {\r\n\t\t\tconst pro = allProjects.find((t) => t.id === option?.id);\r\n\t\t\tif (pro && !selected?.includes(pro.id)) return pro?.name?.toLowerCase().includes(query?.toLowerCase());\r\n\t\t},\r\n\t\trenderCreateItem: ({ input, clearInput, close }: any) => (\r\n\t\t\t handleCreate({ input, clearInput, close })} renderItem={() => } createLabel=\"JS_87\" />\r\n\t\t),\r\n\t\tmenuListHeight,\r\n\t\tisStrictOpen: isOpen ? isOpen : null,\r\n\t\tRenderFooter: RenderAdvancedModalFooter({ closeDropdown, link, onCreate: handleCreate, selected, modal: ProjectAdvancedSearchModal }),\r\n\t\tshowShadow,\r\n\t\tglobalWidth,\r\n\t\tvirtualScrollerParams: {\r\n\t\t\trowHeight: 96,\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n","import { success, error } from \"@redux-requests/core\";\r\nimport { appendListsAndRemoveDuplicates, decode, EMPTY_GUID, firstLetterUppercase, hasAttribute, toastWrapper, validateItems } from \"@utils/helpers\";\r\nimport * as Helpers from \"./helpers\";\r\nimport { StatusCode } from \"@utils/optionsSets/OptionSets\";\r\n\r\nconst initialState = {\r\n\tcurrent_program: {},\r\n\tall_cxPrograms: [],\r\n\tcurrent_linked_users: [],\r\n\tloading: false,\r\n};\r\n\r\nconst CxProgramReducer = (state = initialState, action) => {\r\n\tconst requestData = action?.meta?.requestAction?.request?.data;\r\n\tconst responseData = action?.response?.data;\r\n\tswitch (action.type) {\r\n\t\tcase \"CX_PROGRAM_GET_ALL\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: state.all_cxPrograms.length === 0,\r\n\t\t\t};\r\n\r\n\t\tcase error(\"CX_PROGRAM_GET_ALL\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"CX_PROGRAM_GET_ALL\"): {\r\n\t\t\tconst { url } = action?.meta?.requestAction?.request;\r\n\t\t\tif (url.includes(\"redirectReducer\")) return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms:\r\n\t\t\t\t\taction.response.data.map((cx) => {\r\n\t\t\t\t\t\tconst CxNumbers = [\r\n\t\t\t\t\t\t\t{ title: \"JS_71\", linkName: \"linkedCjms\", icon: \"CJM\", color: \"#3F3D56\" },\r\n\t\t\t\t\t\t\t{ title: \"CS_31\", linkName: \"linkedPersonas\", icon: \"PERSONA\", color: \"#18AEAD\" },\r\n\t\t\t\t\t\t\t{ title: \"OPPORTUNITIES\", linkName: \"linkedOpps\", icon: \"OPPORTUNITY\", color: \"#818089\" },\r\n\t\t\t\t\t\t\t{ title: \"SOLUTIONS\", linkName: \"linkedSols\", icon: \"SOLUTION\", color: \"#60C1EF\" },\r\n\t\t\t\t\t\t\t{ title: \"JS_74\", linkName: \"linkedActions\", icon: \"MENU-ACTION\", color: \"#F8AD48\" },\r\n\t\t\t\t\t\t\t{ title: \"PROJECTS\", linkName: \"linkedProjects\", icon: \"PROJECT\", color: \"#F8AD48\" },\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tcx.CxNumbers = CxNumbers;\r\n\t\t\t\t\t\treturn cx;\r\n\t\t\t\t\t}) || [],\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_STRATEGY_CX_PROGRAM\"): {\r\n\t\t\tconst strategyId = action.response.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: { ...state.current_program, strategyId },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"GET_CX_PROGRAM\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t};\r\n\t\tcase \"NO_ACCESS_cxProgram\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: { ...state.current_program, noAccess: true },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CX_PROGRAM\"): {\r\n\t\t\tconst data = action.response.data;\r\n\t\t\tconst CxNumbers = [\r\n\t\t\t\t{ title: \"JS_71\", linkName: \"linkedCjms\", icon: \"CJM\", color: \"#3F3D56\" },\r\n\t\t\t\t{ title: \"CS_31\", linkName: \"linkedPersonas\", icon: \"PERSONA\", color: \"#18AEAD\" },\r\n\t\t\t\t{ title: \"OPPORTUNITIES\", linkName: \"linkedOpps\", icon: \"OPPORTUNITY\", color: \"#818089\" },\r\n\t\t\t\t{ title: \"SOLUTIONS\", linkName: \"linkedSols\", icon: \"SOLUTION\", color: \"#60C1EF\" },\r\n\t\t\t\t{ title: \"JS_74\", linkName: \"linkedActions\", icon: \"MENU-ACTION\", color: \"#F8AD48\" },\r\n\t\t\t\t{ title: \"PROJECTS\", linkName: \"linkedProjects\", icon: \"PROJECT\", color: \"#F8AD48\" },\r\n\t\t\t];\r\n\t\t\tdata.attributesDic = data.attributesDic === null ? [] : Object.entries(data.attributesDic)?.map((att) => att[1]);\r\n\t\t\tdata.attributesPositions = eval(data?.attributesPositions || \"\");\r\n\t\t\tdata.CxNumbers = CxNumbers;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: { ...state.current_program, ...data },\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase error(\"GET_CX_PROGRAM\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase \"RESET_PROGRAM\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {},\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\r\n\t\tcase success(\"CREATE_CX_PROGRAM\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: [...state.all_cxPrograms, action.response.data],\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_CX_PROGRAM\"): {\r\n\t\t\tconst resData = action.response.data;\r\n\t\t\tconst modifiedAttribNames = action.meta.requestAction.request.data.modifiedAttribNames;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (cxProgram.id === action.meta.requestAction.request.data.modifiedCxProgram.id) {\r\n\t\t\t\t\t\tcxProgram = resData;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_program: modifiedAttribNames.includes(\"name\") ? { ...state.current_program, name: resData?.name } : state.current_program,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"RENAME_CX_PROGRAM\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (cxProgram.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...cxProgram,\r\n\t\t\t\t\t\t\tname: decode(action.meta.requestAction.request.data.newValue),\r\n\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tname: decode(action.meta.requestAction.request.data.newValue),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"COPY_CX_PROGRAM\"): {\r\n\t\t\tconst data = action.response.data;\r\n\t\t\tconst CxNumbers = [\r\n\t\t\t\t{ title: \"JS_71\", linkName: \"linkedCjms\", icon: \"CJM\", color: \"#3F3D56\" },\r\n\t\t\t\t{ title: \"CS_31\", linkName: \"linkedPersonas\", icon: \"PERSONA\", color: \"#18AEAD\" },\r\n\t\t\t\t{ title: \"OPPORTUNITIES\", linkName: \"linkedOpps\", icon: \"OPPORTUNITY\", color: \"#818089\" },\r\n\t\t\t\t{ title: \"SOLUTIONS\", linkName: \"linkedSols\", icon: \"SOLUTION\", color: \"#60C1EF\" },\r\n\t\t\t\t{ title: \"JS_74\", linkName: \"linkedActions\", icon: \"MENU-ACTION\", color: \"#F8AD48\" },\r\n\t\t\t\t{ title: \"PROJECTS\", linkName: \"linkedProjects\", icon: \"PROJECT\", color: \"#F8AD48\" },\r\n\t\t\t];\r\n\t\t\tdata.CxNumbers = CxNumbers;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: [...state.all_cxPrograms, action.response.data],\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ARCHIVE_CX_PROGRAM\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state?.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (cxProgram.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...cxProgram,\r\n\t\t\t\t\t\t\tstatusCode: StatusCode.Archived,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"ARCHIVE_MANY_CX_PROGRAMS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (action.response.data.includes(cxProgram.id)) {\r\n\t\t\t\t\t\tcxProgram.statusCode = StatusCode.Archived;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_CX_PROGRAM\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms.map((cxProgram) => {\r\n\t\t\t\t\tif (cxProgram.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\tcxProgram.statusCode = StatusCode.Active;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_MANY_CX_PROGRAMS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (action.response.data.includes(cxProgram.id)) {\r\n\t\t\t\t\t\tcxProgram.statusCode = StatusCode.Active;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_CX_PROGRAM\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state?.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (cxProgram.id === action.meta.requestAction.request.data.id) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...cxProgram,\r\n\t\t\t\t\t\t\tstatusCode: StatusCode.Trashed,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_CX_PROGRAMS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state?.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (action.response.data.includes(cxProgram.id)) {\r\n\t\t\t\t\t\tcxProgram.statusCode = StatusCode.Trashed;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_CX_PROGRAM_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.filter((cxProgram) => cxProgram.id !== action.meta.requestAction.request.data.id),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_CX_PROGRAMS_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.filter((cxProgram) => !action.response.data.includes(cxProgram.id)),\r\n\t\t\t};\r\n\t\tcase \"UPDATE_CX_PROGRAM_ORDER\":\r\n\t\t\t{\r\n\t\t\t\tconst newConfig = JSON.parse(action.request.data.newPositions) || \"\";\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\t\tattributesPositions: newConfig,\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\tcase \"UPDATE_LAYOUT\": {\r\n\t\t\tif (!hasAttribute(state.current_program, \"attributesPositions\"))\r\n\t\t\t\treturn state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesPositions: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_CX_PROGRAM_ORDER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"ADD_ATTRIBUTE\"): {\r\n\t\t\tconst newAtt = [\r\n\t\t\t\t...state.current_program.attributesDic.map((x) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...x,\r\n\t\t\t\t\t\tsetFocus: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}),\r\n\t\t\t];\r\n\t\t\tnewAtt?.push({ ...action.response?.data, setFocus: true });\r\n\t\t\tconst newPosition = {\r\n\t\t\t\tw: 1,\r\n\t\t\t\th: 240,\r\n\t\t\t\tx: 0,\r\n\t\t\t\ty: Infinity,\r\n\t\t\t\ti: action.response?.data.id,\r\n\t\t\t\tminH: 240,\r\n\t\t\t\t// maxH: 220,\r\n\t\t\t\tmoved: false,\r\n\t\t\t\tstatic: false,\r\n\t\t\t};\r\n\t\t\tif (responseData?.id === EMPTY_GUID) {\r\n\t\t\t\treturn state;\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: newAtt,\r\n\t\t\t\t\tattributesPositions: [...state.current_program.attributesPositions, newPosition],\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_ATTRIBUTE\"): {\r\n\t\t\tconst attributeID = action.meta.requestAction.request.data.attributeId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: state.current_program?.attributesDic?.filter((att) => {\r\n\t\t\t\t\t\treturn att.id !== attributeID;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tattributesPositions: state.current_program?.attributesPositions?.filter((att) => {\r\n\t\t\t\t\t\treturn att.i !== attributeID;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_CXPROGRAM_ATTRIBUTE_COLOR\"): {\r\n\t\t\tconst { newColor, attributeId } = requestData;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: state.current_program?.attributesDic?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === attributeId) {\r\n\t\t\t\t\t\t\tatt.colorCode = newColor;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"UPDATE_CXPROGRAM_ATTRIBUTE_NAME\"): {\r\n\t\t\tconst attributeIdStr_name = action.meta.requestAction.request.data.attributeId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: state.current_program?.attributesDic?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === attributeIdStr_name) {\r\n\t\t\t\t\t\t\tatt.name = action?.response.data?.name;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_CXPROGRAM_ATTRIBUTE_DESC\"): {\r\n\t\t\tconst attributeIdStr_desc = action.meta.requestAction.request.data.attributeId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: state.current_program?.attributesDic?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === attributeIdStr_desc) {\r\n\t\t\t\t\t\t\tatt = action.response.data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPSERT_CXPROGRAM_ATTRIBUTE_ATTACH_ITEM\"):{\r\n\t\t\tconst formData = action.meta.requestAction.request.data; // Accessing the FormData object\r\n\t\t\tconst attributeItem = JSON.parse(formData?.get(\"attributeItemStr\"));\r\n\t\t\tconst attribute = JSON.parse(formData?.get(\"attributeStr\"));\r\n\t\t\tconst upsertItem = {\r\n\t\t\t\t...attributeItem,\r\n\t\t\t\tname: decode(attributeItem?.name ?? \"\"),\r\n\t\t\t\tdescription: decode(attributeItem?.description ?? \"\"),\r\n\t\t\t\turl: decode(attributeItem?.url ?? \"\"),\r\n\t\t\t\tfileName: decode(attributeItem?.fileName ?? \"\"),\r\n\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: state.current_program?.attributesDic?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === attribute.id) {\r\n\t\t\t\t\t\t\tatt.items = validateItems(att.items,upsertItem);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPSERT_CXPROGRAM_ATTRIBUTE_ITEM\": {\r\n\t\t\tconst { attributeItem, attribute, cxGoal } = action.request.data;\r\n\t\t\tconst upsertItem = {\r\n\t\t\t\t...attributeItem,\r\n\t\t\t\tname: decode(attributeItem?.name ?? \"\"),\r\n\t\t\t\tdescription: decode(attributeItem?.description ?? \"\"),\r\n\t\t\t\tcxGoalId: cxGoal?.id\r\n\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: state.current_program?.attributesDic?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === attribute.id) {\r\n\t\t\t\t\t\t\tatt.items = validateItems(att.items,upsertItem);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"DELETE_CXPROGRAM_ATTRIBUTE_ITEM\": {\r\n\t\t\tconst { attributeId, attributeItemId } = action.request.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: state.current_program?.attributesDic?.map((section) => {\r\n\t\t\t\t\t\tif (section.id === attributeId) {\r\n\t\t\t\t\t\t\tsection.items = section.items?.filter((item) => item.id !== attributeItemId);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase \"UPDATE_CXPROGRAM_ATTRIBUTE_ITEM_ORDER\": {\r\n\t\t\tconst itemsIds = action.request.data.newItemsOrder.split(\"|\");\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: state.current_program?.attributesDic?.map((section) => {\r\n\t\t\t\t\t\tif (section.id === action.request.data.attributeIdStr) {\r\n\t\t\t\t\t\t\tsection.items = itemsIds.map((id) => section.items.find((i) => i.id === id)).flat();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_CXPROGRAM_ATTRIBUTE_ITEM_ORDER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"SHARE_USERS_SINGLE_CX_PROGRAM\"): {\r\n\t\t\tconst cxProgId = action.meta.requestAction.request.data.recId;\r\n\t\t\tconst roleDetails = action.meta.requestAction.request.data.roleDetails;\r\n\t\t\tconst userId_ = action.meta.requestAction.request.data?.userId || action.meta.requestAction.request.data?.teamId;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (cxProgram.id === cxProgId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...cxProgram,\r\n\t\t\t\t\t\t\tauthorizedUsers: cxProgram.authorizedUsers.map((user) => {\r\n\t\t\t\t\t\t\t\tif (user.id === userId_) {\r\n\t\t\t\t\t\t\t\t\tuser.roleId = roleDetails.split(\"_\")[1];\r\n\t\t\t\t\t\t\t\t\tuser.roleName = roleDetails.split(\"_\")[0];\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn user;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\r\n\t\t\t\tcurrent_linked_users: state.current_linked_users.map((user) => {\r\n\t\t\t\t\tif (user.id === userId_) {\r\n\t\t\t\t\t\tuser.roleId = roleDetails.split(\"_\")[1];\r\n\t\t\t\t\t\tuser.roleName = roleDetails.split(\"_\")[0];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn user;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"SHARE_USERS_MANY_CX_PROGRAMS\"): {\r\n\t\t\tconst recIds = action.meta.requestAction.request.data.recIds;\r\n\t\t\tlet linkUsers = [...state.current_linked_users];\r\n\t\t\tif (recIds.length === 1) {\r\n\t\t\t\tlinkUsers = action.response.data.find((item) => item.id === recIds[0]).authorizedUsers;\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tconst getMapFromResponse = action.response.data.find((item) => item.id === cxProgram.id);\r\n\t\t\t\t\tif (getMapFromResponse) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...getMapFromResponse,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: linkUsers,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UNSHARE_CX_PROGRAM\"): {\r\n\t\t\tconst { recId, userId, teamId } = requestData;\r\n\t\t\tconst id = teamId || userId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (cxProgram.id === recId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...cxProgram,\r\n\t\t\t\t\t\t\tauthorizedUsers: cxProgram.authorizedUsers?.filter((user) => user.id !== id),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: state.current_linked_users?.filter((user) => user.id !== id),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_CXPROGRAM_USERS\"): {\r\n\t\t\tconst isPrint = action.meta.requestAction.params.isPrint;\r\n\t\t\tconst userId = action.meta.requestAction.params.userId;\r\n\r\n\t\t\tconst linkedUsers = Object.entries(action.response.data)?.map((user) => user[1]) || [];\r\n\t\t\tconst user = linkedUsers.find((users) => users.id === userId && users.roleId === EMPTY_GUID);\r\n\t\t\tif (hasAttribute(user, \"roleName\")) user.roleName = isPrint ? \"viewer\" : firstLetterUppercase(user?.roleName); // only to export pdf\r\n\t\t\tif (user?.roleName?.toLowerCase() === \"viewer\" && isPrint === undefined) toastWrapper(\"\", \"CX_PROGRAM_VIEWER_WARNING\", { autoClose: 10000 });\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_linked_users: linkedUsers,\r\n\t\t\t\tcurrentUser: user,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"LINK_RECORD\"):\r\n\t\tcase success(\"UNLINK_RECORD\"): {\r\n\t\t\tconst program = { ...state.current_program };\r\n\t\t\tprogram.linkedCjms = action.response.data[0];\r\n\t\t\tprogram.linkedPersonas = action.response.data[1];\r\n\t\t\tprogram.linkedOpps = action.response.data[2];\r\n\t\t\tprogram.linkedSols = action.response.data[3];\r\n\t\t\tprogram.linkedActions = action.response.data[4];\r\n\t\t\tprogram.linkedProjects = action.response.data[5];\r\n\t\t\treturn { ...state, current_program: program };\r\n\t\t}\r\n\t\tcase success(\"UPSERT_CXPROGRAM_STAKEHOLDER\"): {\r\n\t\t\tif (requestData.stakeholder.id === EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\t\tstakeholders: [...state.current_program.stakeholders, { ...action.response.data }],\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tstakeholders: state.current_program.stakeholders.map((stakeholder) => {\r\n\t\t\t\t\t\tif (stakeholder.id === requestData.stakeholder.id) stakeholder = responseData;\r\n\t\t\t\t\t\treturn stakeholder;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\t}\r\n\t\tcase success(\"DELETE_CXPROGRAM_STAKEHOLDER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tstakeholders: state.current_program.stakeholders?.filter((stakeholder) => stakeholder.id !== requestData.stakeholderId),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_STAKEHOLDER_ROLE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tstakeholders: state.current_program?.stakeholders?.filter((stakeholder) => stakeholder.roleId !== requestData.roleId),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_STAKEHOLDER_ROLE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tstakeholders: state.current_program?.stakeholders?.map((stakeholder) => {\r\n\t\t\t\t\t\tif (stakeholder.roleId === requestData.roleId) {\r\n\t\t\t\t\t\t\tstakeholder.roleName = decode(requestData.newName);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn stakeholder;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_CX_METRIC\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_program: {\r\n\t\t\t\t\t...state.current_program,\r\n\t\t\t\t\tattributesDic: state.current_program?.attributesDic?.map((attribute) => {\r\n\t\t\t\t\t\tif (attribute.type === 100000019) {\r\n\t\t\t\t\t\t\tattribute.items.map((item) => {\r\n\t\t\t\t\t\t\t\titem.metrics = item.metrics?.filter((metricId) => metricId !== requestData.cxMeasureId);\r\n\t\t\t\t\t\t\t\treturn item;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn attribute;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"GET_ALL_CX_ASSESSMENTS\"):\r\n\t\t\treturn Helpers.updateCxProgramState(state, \"cxAssessments\", action?.response?.data);\r\n\t\tcase success(\"CREATE_CX_ASSESSMENT\"): {\r\n\t\t\tconst { cxAssessments = [] } = state.current_program;\r\n\t\t\treturn Helpers.updateCxProgramState(state, \"cxAssessments\", [...cxAssessments, action?.response?.data]);\r\n\t\t}\r\n\t\tcase success(\"UPDATE_CX_ASSESSMENT\"): {\r\n\t\t\tconst cxAssessments = state.current_program.cxAssessments?.map((assessment) => {\r\n\t\t\t\tif (assessment.id === requestData.modifiedCxAssessment.id) assessment = action?.response?.data;\r\n\t\t\t\treturn assessment;\r\n\t\t\t});\r\n\t\t\treturn Helpers.updateCxProgramState(state, \"cxAssessments\", [...cxAssessments, action?.response?.data]);\r\n\t\t}\r\n\t\tcase success(\"DELETE_CX_ASSESSMENTS\"): {\r\n\t\t\tconst filteredAssessments = state.current_program.cxAssessments?.filter((assessment) => !requestData.cxAssessmentIds.includes(assessment.id));\r\n\t\t\treturn Helpers.updateCxProgramState(state, \"cxAssessments\", [...filteredAssessments]);\r\n\t\t}\r\n\r\n\t\tcase success(\"LINK_TAGS\"): {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n\t\t\tif (recordType !== \"cem_cxprogram\") return state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (recordIds.includes(cxProgram.id)) {\r\n\t\t\t\t\t\tcxProgram.tags = [...appendListsAndRemoveDuplicates(cxProgram.tags, tagIds)];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n }\r\n case success(\"UNLINK_TAGS\"): {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n\t\t\tif (recordType !== \"cem_cxprogram\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_cxPrograms: state.all_cxPrograms?.map((cxProgram) => {\r\n\t\t\t\t\tif (recordIds.includes(cxProgram.id)) {\r\n\t\t\t\t\t\tcxProgram.tags = cxProgram.tags.filter(tagId => !tagIds.includes(tagId));\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn cxProgram;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"RESET_CXPROGRAMS_USERS\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_linked_users: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default CxProgramReducer;\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport { EMPTY_GUID, decode, firstLetterUppercase, hasAttribute, toastWrapper, validateItems } from \"@utils/helpers\";\r\n\r\nconst initialState = {\r\n\tcurrent_strategy: {},\r\n\tall_Strategies: [],\r\n\tcurrent_linked_users: [],\r\n\tloading: false,\r\n};\r\n\r\nconst StrategyReducer = (state = initialState, action) => {\r\n\tconst requestData = action?.meta?.requestAction?.request?.data;\r\n\tconst responseData = action?.response?.data;\r\n\tswitch (action.type) {\r\n\t\tcase \"STRATEGY_GET_ALL\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: state.all_Strategies.length === 0,\r\n\t\t\t};\r\n\r\n\t\tcase error(\"STRATEGY_GET_ALL\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"STRATEGY_GET_ALL\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: action.response.data || [],\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"CREATE_STRATEGY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: [...state.all_Strategies, action.response.data],\r\n\t\t\t};\r\n\t\tcase success(\"ADD_STRATEGY_ATTRIBUTE_TYPE\"): {\r\n\r\n\t\t\tconst strategyAttributes = [\r\n\t\t\t\t...state?.current_strategy.strategy.stdAttributesDic.map((x) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...x,\r\n\t\t\t\t\t\tsetFocus: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}),\r\n\t\t\t];\r\n\t\t\tstrategyAttributes?.push({ ...action.response?.data, setFocus: true });\r\n\r\n\t\t\tconst newPosition = {\r\n\t\t\t\tw: 1,\r\n\t\t\t\th: 220,\r\n\t\t\t\tx: 0,\r\n\t\t\t\ty: Infinity,\r\n\t\t\t\ti: action.response?.data.id,\r\n\t\t\t\tminH: 220,\r\n\t\t\t\t// maxH: 220,\r\n\t\t\t\tmoved: false,\r\n\t\t\t\tstatic: false,\r\n\t\t\t};\r\n\t\t\tif (action.response?.data?.id === EMPTY_GUID) {\r\n\t\t\t\treturn state;\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tattributesPositions: [...state.current_strategy.strategy.attributesPositions, newPosition],\r\n\r\n\t\t\t\t\t\tstdAttributesDic: strategyAttributes,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_STRATEGY_FORM_DATA\"):{\r\n\t\t\tconst data = action.response.data;\r\n\t\t\tconst strategyBrandValue = Object.entries(action.response.data?.strategy.strategyBrandValueDic).map((x) => x[1]);\r\n\t\t\tconst sortablePosition = eval(data?.strategy.attributesPositions);\r\n\r\n\t\t\tdata.strategy.strategyBrandValueDic = strategyBrandValue;\r\n\t\t\tdata.strategy.attributesPositions = sortablePosition;\r\n\t\t\tdata.strategy.stdAttributesDic = data?.strategy.stdAttributesDic === null ? [] : Object.entries(data?.strategy.stdAttributesDic)?.map((att) => att[1]);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\t\t...data,\r\n\t\t\t\t\t} || {},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_CX_STRATEGY\"):{\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state?.all_Strategies?.map((strategy) => {\r\n\t\t\t\t\tif (strategy.id === action.meta.requestAction.request.data.strategyId) {\r\n\t\t\t\t\t\tstrategy.statusCode = 2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn strategy;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_MANY_CX_STRATEGIES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state?.all_Strategies?.map((strategy) => {\r\n\t\t\t\t\tif (action.response.data.includes(strategy.id)) {\r\n\t\t\t\t\t\tstrategy.statusCode = 2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn strategy;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_CX_STRATEGY_PERMANENT\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state.all_Strategies?.filter((strategy) => strategy.id !== action.meta.requestAction.request.data.strategyId),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_CX_STRATEGIES_PERMANENT\"):{\r\n\t\t\tconst successIdDeleted = action.response.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state.all_Strategies?.filter((strategy) => !successIdDeleted.includes(strategy.id)),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"COPY_CX_STRATEGY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: [...state.all_Strategies, action?.response?.data],\r\n\t\t\t};\r\n\r\n\t\tcase success(\"UPDATE_STRATEGY\"):{\r\n\t\t\tconst dataUpdate = action.response.data;\r\n\t\t\tconst strategyBrandValue1 = Object.entries(dataUpdate?.strategyBrandValueDic)?.map((x) => x[1]);\r\n\t\t\tdataUpdate.strategyBrandValueDic = strategyBrandValue1;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: { ...dataUpdate },\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_STRATEGY_ATTRIBUTE\"):{\r\n\t\t\tconst customAttributeIdStr = action.meta.requestAction.request.data.modifiedStrategyAttribute.id;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tstdAttributesDic: state.current_strategy.strategy?.stdAttributesDic?.map((section) => {\r\n\t\t\t\t\t\t\tif (section.id === customAttributeIdStr) {\r\n\t\t\t\t\t\t\t\tsection = { ...action.response.data, items: section.items };\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPSERT_CXSTRATEGY_ATTRIBUTE_ATTACH_ITEM\"):{\r\n\t\t\tconst formData = action.meta.requestAction.request.data; // Accessing the FormData object\r\n\t\t\tconst attributeItem = JSON.parse(formData?.get(\"attributeItemStr\"));\r\n\t\t\tconst attributeId = formData?.get(\"attributeId\");\r\n\t\t\tconst upsertItem = {\r\n\t\t\t\t...attributeItem,\r\n\t\t\t\tname: decode(attributeItem?.name ?? \"\"),\r\n\t\t\t\tdescription: decode(attributeItem?.description ?? \"\"),\r\n\t\t\t\turl: decode(attributeItem?.url ?? \"\"),\r\n\t\t\t\tfileName: decode(attributeItem?.fileName ?? \"\"),\r\n\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tstdAttributesDic: state.current_strategy.strategy?.stdAttributesDic?.map((att) => {\r\n\t\t\t\t\t\t\tif (att.id === attributeId) {\r\n\t\t\t\t\t\t\t\tatt.items = validateItems(att.items,upsertItem);\r\n\t\t\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\t\r\n\t\tcase success(\"DELETE_STRATEGY_ATTRIBUTE\"):{\r\n\t\t\tconst customAttributeIdStrToDelete = action.meta.requestAction.request.data.strategyAttributeId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tstdAttributesDic: state.current_strategy.strategy?.stdAttributesDic?.filter((section) => {\r\n\t\t\t\t\t\t\treturn section.id !== customAttributeIdStrToDelete;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ADD_STRATEGY_BRAND_VALUE\"):{\r\n\t\t\tconst newStrategyBrandValueDic = [...state.current_strategy.strategy.strategyBrandValueDic];\r\n\t\t\tnewStrategyBrandValueDic?.push(action.response.data);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tstrategyBrandValueDic: newStrategyBrandValueDic,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_STRATEGY_BRAND_VALUE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tstrategyBrandValueDic: state.current_strategy.strategy.strategyBrandValueDic.filter((x) => x.id !== action.meta.requestAction.request.data.strategyBrandValue.id),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_STRATEGY_BRAND_VALUE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tstrategyBrandValueDic: state.current_strategy.strategy.strategyBrandValueDic.map((strategyBrandValue) => {\r\n\t\t\t\t\t\t\tif (strategyBrandValue.id === action.meta.requestAction.request.data.modifiedStrategyBrandValue.id) return action.response.data;\r\n\t\t\t\t\t\t\treturn strategyBrandValue;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPSERT_STRATEGY_BRAND_VALUE\"):{\r\n\t\t\tif (requestData.strategyBrandValue.id === EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\t\tstrategyBrandValueDic: [...state.current_strategy.strategy.strategyBrandValueDic, responseData],\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\t\tstrategyBrandValueDic: state.current_strategy.strategy.strategyBrandValueDic.map((strategyBrandValue) => {\r\n\t\t\t\t\t\t\t\tif (strategyBrandValue.id === responseData.id) return action.response.data;\r\n\t\t\t\t\t\t\t\treturn strategyBrandValue;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"UPDATE_STRATEGY_ATTRIBUTE_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: { ...state.current_strategy, lastModifiedOn: new Date().toISOString() },\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_IMAGE_ON_BOX\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: { ...state.current_strategy, lastModifiedOn: new Date().toISOString() },\r\n\t\t\t};\r\n\t\tcase \"UPDATE_STRATEGY_ATTRIB_ORDER\":{\r\n\t\t\tconst newConfig = JSON.parse(action.request.data.newOrderConfig);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tattributesPositions: newConfig,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_LAYOUT\":{\r\n\t\t\tif (!hasAttribute(state.current_strategy?.strategy, \"attributesPositions\"))\r\n\t\t\t\treturn state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tattributesPositions: action.payload,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_STRATEGY_ATTRIB_ORDER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\tcase success(\"SHARE_USERS_SINGLE_STRATEGY\"):{\r\n\t\t\tconst linkedUsers1 = Object.entries(action.response.data).map((user) => user[1]) || [];\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state.all_Strategies?.map((strategy) => {\r\n\t\t\t\t\tif (strategy.id === action.meta.requestAction.request.data.strategyId) {\r\n\t\t\t\t\t\tstrategy.authorizedUsers = linkedUsers1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn strategy;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: linkedUsers1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"SHARE_USERS_MULTIPLE_STRATEGY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: action.response.data || [],\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_SHARE\"):{\r\n\t\t\tconst existUser = state.current_linked_users.find((user) => user.id === action.meta.requestAction.request.data.userId);\r\n\r\n\t\t\tconst newLinkUsers =\r\n\t\t\t\texistUser === undefined\r\n\t\t\t\t\t? [\r\n\t\t\t\t\t\t...state.current_linked_users,\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: action.meta.requestAction.request.data.userId,\r\n\t\t\t\t\t\t\troleName: action.meta.requestAction.request.data.roleDetails.split(\"_\")[0],\r\n\t\t\t\t\t\t\troleId: action.meta.requestAction.request.data.roleDetails.split(\"_\")[1],\r\n\t\t\t\t\t\t\tfullName: action.meta.requestAction.request.param.fullName,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t]\r\n\t\t\t\t\t: state.current_linked_users?.map((user) => {\r\n\t\t\t\t\t\tif (user.id === action.meta.requestAction.request.data.userId) {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...user,\r\n\t\t\t\t\t\t\t\troleName: action.meta.requestAction.request.data.roleDetails.split(\"_\")[0],\r\n\t\t\t\t\t\t\t\troleId: action.meta.requestAction.request.data.roleDetails.split(\"_\")[1],\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn user;\r\n\t\t\t\t\t});\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state.all_Strategies?.map((strategy) => {\r\n\t\t\t\t\tif (strategy.id === action.meta.requestAction.request.data.strategyIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...strategy,\r\n\t\t\t\t\t\t\tauthorizedUsers: newLinkUsers,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn strategy;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: newLinkUsers,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_UNSHARE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state.all_Strategies?.map((strategy) => {\r\n\t\t\t\t\tif (strategy.id === action.meta.requestAction.request.data.strategyIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...strategy,\r\n\t\t\t\t\t\t\tauthorizedUsers: strategy.authorizedUsers.filter((user) => user.id !== action.meta.requestAction.request.data.userId),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn strategy;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: state.current_linked_users.filter((user) => user.id !== action.meta.requestAction.request.data.userId),\r\n\t\t\t};\r\n\t\tcase \"UPDATE_ORDER_LOCALLY\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategyData: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase \"RESET_CURRENT_STRATEGY\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {},\r\n\t\t\t};\r\n\t\tcase success(\"ARCHIVE_CX_STRATEGY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state?.all_Strategies?.map((strategy) => {\r\n\t\t\t\t\tif (strategy.id === action.meta.requestAction.request.data.strategyId) {\r\n\t\t\t\t\t\tstrategy.statusCode = 100000000;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn strategy;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"ARCHIVE_MANY_CX_STRATEGIES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state?.all_Strategies?.map((strategy) => {\r\n\t\t\t\t\tif (action.response.data.includes(strategy.id)) {\r\n\t\t\t\t\t\tstrategy.statusCode = 100000000;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn strategy;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_CX_STRATEGY\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state.all_Strategies.map((strategy) => {\r\n\t\t\t\t\tif (strategy.id === action.meta.requestAction.request.data.strategyId) {\r\n\t\t\t\t\t\tstrategy.statusCode = 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn strategy;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_MANY_CX_STRATEGIES\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_Strategies: state.all_Strategies.map((strategy) => {\r\n\t\t\t\t\tif (action.response.data.includes(strategy.id)) {\r\n\t\t\t\t\t\tstrategy.statusCode = 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn strategy;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_CXSTRATEGY_LIST_ITEM\"):{\r\n\t\t\tconst attributeIdStr = action.meta.requestAction.request.data.attributeIdStr;\r\n\t\t\tconst attributeItemIdStr = action.meta.requestAction.request.data.attributeItemIdStr;\r\n\t\t\tconst description = action.meta.requestAction.request.data.description;\r\n\r\n\t\t\tif (attributeItemIdStr !== EMPTY_GUID) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t\t...state.current_strategy,\r\n\r\n\t\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\t\tstdAttributesDic: state.current_strategy.strategy?.stdAttributesDic?.map((section) => {\r\n\t\t\t\t\t\t\t\tif (section.id === attributeIdStr) {\r\n\t\t\t\t\t\t\t\t\tsection.items = section.items.map((item) => {\r\n\t\t\t\t\t\t\t\t\t\tif (item.id === attributeItemIdStr) {\r\n\t\t\t\t\t\t\t\t\t\t\titem.description = decode(description);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\treturn item;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\t//create one\r\n\t\t\t\tconst newObject = {\r\n\t\t\t\t\tid: action.response.data,\r\n\t\t\t\t\tdescription: decode(description),\r\n\t\t\t\t};\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\t\tstdAttributesDic: state.current_strategy.strategy?.stdAttributesDic?.map((section) => {\r\n\t\t\t\t\t\t\t\tif (section.id === attributeIdStr) {\r\n\t\t\t\t\t\t\t\t\tsection.items = [...section.items, newObject];\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase success(\"REORDER_CXSTRATEGY_LIST_ITEM\"):{\r\n\t\t\tif (action.response?.data === true) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_strategy: { ...state.current_strategy, lastModifiedOn: new Date().toISOString() },\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_CXSTRATEGY_LIST_ITEM\"):{\r\n\t\t\tconst attributeIdStr_delete = action.meta.requestAction.request.data.attributeIdStr;\r\n\t\t\tconst attributeItemIdStr_delete = action.meta.requestAction.request.data.attributeItemIdStr;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tstdAttributesDic: state.current_strategy.strategy?.stdAttributesDic?.map((section) => {\r\n\t\t\t\t\t\t\tif (section.id === attributeIdStr_delete) {\r\n\t\t\t\t\t\t\t\tsection.items = section.items.filter((item) => item.id !== attributeItemIdStr_delete);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"ORDER_LIST_ITEM_STRATEGY\":{\r\n\t\t\tconst itemsIds = action.payload.newOrder?.split(\"|\");\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_strategy: {\r\n\t\t\t\t\t...state.current_strategy,\r\n\t\t\t\t\tstrategy: {\r\n\t\t\t\t\t\t...state?.current_strategy.strategy,\r\n\t\t\t\t\t\tstdAttributesDic: state.current_strategy.strategy?.stdAttributesDic?.map((section) => {\r\n\t\t\t\t\t\t\tif (section.id === action.payload.attributeIdStr) {\r\n\t\t\t\t\t\t\t\tsection.items = itemsIds.map((id) => section.items.find((i) => i.id === id)).flat();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\nexport default StrategyReducer;\r\n","import { error, success } from \"@redux-requests/core\";\r\nimport { t } from \"i18next\";\r\nimport { toast } from \"react-toastify\";\r\nimport { StateTypeOption, StatusCode } from \"@utils/optionsSets/OptionSets\";\r\nimport { EMPTY_GUID, appendListsAndRemoveDuplicates, decode, firstLetterUppercase, getNextPosition, hasAttribute, toastWrapper, validateItems } from \"@utils/helpers\";\r\n\r\nconst initialState = {\r\n\tcurrent_persona: {},\r\n\tall_personas: [],\r\n\tcurrent_persona_map: {},\r\n\tcurrent_linked_users: [],\r\n\tloading: false,\r\n};\r\n\r\nconst PersonaReducer = (state = initialState, action) => {\r\n\tconst requestData = action?.meta?.requestAction?.request?.data;\r\n\tconst responseData = action?.response?.data;\r\n\r\n\tswitch (action.type) {\r\n\t\tcase \"GET_ALL_PERSONAS\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: state.all_personas?.length === 0,\r\n\t\t\t};\r\n\r\n\t\tcase error(\"GET_ALL_PERSONAS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"GET_ALL_PERSONAS\"): {\r\n\t\t\tconst { url } = action?.meta?.requestAction?.request;\r\n\t\t\tif (url.includes(\"redirectReducer\")) return state;\r\n\r\n\t\t\tconst all_personas =\r\n\t\t\t\tresponseData?.map((persona) => {\r\n\t\t\t\t\tconst personaAtt = Object.entries(persona.personaAttributes)?.map((x) => x[1]) || [];\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\tpersonaAttributes: personaAtt,\r\n\t\t\t\t\t};\r\n\t\t\t\t}) || [];\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: all_personas,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"COPY_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: [...state.all_personas, responseData],\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state?.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (persona.personaId === requestData.personaIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\t\tstatusCode: StatusCode.Trashed\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"ARCHIVE_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state?.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (persona.personaId === requestData.personaIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\t\tstatusCode: StatusCode.Archived\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"GET_PERSONA_CJM_DATA\"): // not implemented yet\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\tcase success(\"RESTORE_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas.map((persona) => {\r\n\t\t\t\t\tif (persona.personaId === requestData.personaIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\t\tstatusCode: StatusCode.Active\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_PERMANENTLY_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas.filter((persona) => persona.personaId !== requestData.personaIdStr),\r\n\t\t\t};\r\n\t\tcase success(\"CREATE_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: [...state.all_personas, responseData],\r\n\t\t\t};\r\n\t\tcase \"SET_CURRENT_PERSONA\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t};\r\n\t\tcase success(\"SET_CURRENT_PERSONA\"): {\r\n\t\t\tconst dataPersona = responseData;\r\n\t\t\tif (dataPersona.personaId === \"00000000-0000-0000-0000-000000000000\") toast.info(t(\"JS_134\"));\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona_map: dataPersona || {},\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase error(\"SET_CURRENT_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona_map: {},\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_PERSONA_SINGLE_TXT\"):\r\n\t\t\tif (responseData === true) {\r\n\t\t\t\tconst attributeName = requestData.attributeName.split(\"cem_\")[1];\r\n\t\t\t\tconst newValue = decode(requestData.newValue);\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\t\t[attributeName]: newValue,\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_PERSONA_TYPE\"): {\r\n\t\t\tif (responseData === true) {\r\n\t\t\t\tconst ids = requestData.personaIds.split(\"|\") || [];\r\n\r\n\t\t\t\tconst newValue = requestData.newValue;\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\t\tisFuture: newValue === StateTypeOption.FutureState,\r\n\t\t\t\t\t\tisFutureState: newValue === StateTypeOption.FutureState,\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tall_personas: state.all_personas?.map((persona) => {\r\n\t\t\t\t\t\tif (ids.includes(persona.personaId)) {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\t\t\tisFuture: newValue === StateTypeOption.FutureState,\r\n\t\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn persona;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_PERSONA_NAME\"): {\r\n\t\t\tif (responseData === true) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\r\n\t\t\t\t\tall_personas: state.all_personas.map((persona) => {\r\n\t\t\t\t\t\tif (persona.personaId === requestData.personaIdStr) {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\t\t\tname: decode(requestData.newValue),\r\n\t\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn persona;\r\n\t\t\t\t\t}),\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"RESET_CURRENT_PERSONA\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {},\r\n\t\t\t\tcurrent_persona_map: {},\r\n\t\t\t};\r\n\t\tcase \"GET_PERSONA\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t};\r\n\t\tcase error(\"GET_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t};\r\n\t\tcase \"NO_ACCESS_persona\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t\tcurrent_persona: { ...state.current_persona, noAccess: true },\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_PERSONA\"): {\r\n\t\t\tconst personaForm = responseData;\r\n\t\t\tconst personaAtt = Object.entries(personaForm.personaAttributes).map((x) => x[1]);\r\n\t\t\tconst sortablePosition = eval(personaForm.personaAttributePositions); // here is your object Good luck\r\n\t\t\tpersonaForm.personaAttributes = personaAtt;\r\n\t\t\tpersonaForm.personaAttributePositions = sortablePosition;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: { ...state.current_persona, ...personaForm } || {},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase success(\"UPDATE_CUSTOM_PERSONA_ATTRIBUTE_DESC\"): {\r\n\t\t\tif (responseData === true) {\r\n\t\t\t\tconst attributeIdStr = requestData.attributeIdStr;\r\n\t\t\t\tconst newValueCustom = decode(requestData.newDescription);\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\t\tpersonaAttributes: state.current_persona?.personaAttributes?.map((att) => {\r\n\t\t\t\t\t\t\tif (att.id === attributeIdStr) {\r\n\t\t\t\t\t\t\t\tatt.descriptionHtml = newValueCustom;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_ORDER_LOCALLY\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaData: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_PERSONA_ATTRIB_ORDER\"): {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_LAYOUT\": {\r\n\t\t\tif (!hasAttribute(state.current_persona, \"personaAttributePositions\"))\r\n\t\t\t\treturn state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaAttributePositions: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_ATTRIBUTE_NAME\": {\r\n\t\t\tconst { attributeIdStr, newName } = action?.request?.data;\r\n\t\t\tconst newNameUpdated = decode(newName);\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaAttributes: state.current_persona?.personaAttributes?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === attributeIdStr) {\r\n\t\t\t\t\t\t\tatt.name = newNameUpdated;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_ATTRIBUTE_COLOR\"): {\r\n\t\t\tif (action.response?.data === true) {\r\n\t\t\t\tconst customAttributeIdStr = requestData.customAttributeIdStr;\r\n\t\t\t\tconst newColorCodeParam = requestData.newColorCodeParam;\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\t\tpersonaAttributes: state.current_persona?.personaAttributes?.map((att) => {\r\n\t\t\t\t\t\t\tif (att.id === customAttributeIdStr) {\r\n\t\t\t\t\t\t\t\tatt.colorCode = newColorCodeParam;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ADD_PERSONA_ATTRIBUTE\"): {\r\n\t\t\tconst newPersonaAtt = [\r\n\t\t\t\t...state.current_persona.personaAttributes.map((x) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...x,\r\n\t\t\t\t\t\tsetFocus: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t}),\r\n\t\t\t];\r\n\t\t\tnewPersonaAtt?.push({ ...action.response?.data, setFocus: true });\r\n\t\t\tconst newPosition = {\r\n\t\t\t\tw: 1,\r\n\t\t\t\th: 240,\r\n\t\t\t\tx: 0,\r\n\t\t\t\ty: Infinity,\r\n\t\t\t\ti: action.response?.data.id,\r\n\t\t\t\tminH: 240,\r\n\t\t\t\tmaxH: 240,\r\n\t\t\t\tmoved: false,\r\n\t\t\t\tstatic: false,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaAttributes: newPersonaAtt,\r\n\t\t\t\t\tpersonaAttributePositions: [...state.current_persona.personaAttributePositions, newPosition],\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ADD_PERSONA_ATTRIBUTE_TYPE\"): {\r\n\t\t\tif (action.response?.data === true) {\r\n\t\t\t\tconst newPersonaData = [...state.current_persona.personaData];\r\n\t\t\t\tnewPersonaData[2]?.push(action.meta.requestAction.params);\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\t\tpersonaData: newPersonaData,\r\n\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_PERSONA_CUSTOM_FIELD\"): {\r\n\t\t\tconst customAttributeIdStrToDelete = requestData.attributeIdStr;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaAttributes: state.current_persona?.personaAttributes?.filter((att) => {\r\n\t\t\t\t\t\treturn att.id !== customAttributeIdStrToDelete;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tpersonaAttributePositions: state.current_persona?.personaAttributePositions?.filter((att) => {\r\n\t\t\t\t\t\treturn att.i !== customAttributeIdStrToDelete;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_PERSONA_STD_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tstandardImageNumber: requestData.standardImageNumber,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_PERSONA_CUSTOM_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tstandardImageNumber: 0,\r\n\t\t\t\t\tcustomImageBody: requestData.imageExtension,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_PERSONA_CUSTOM_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: { ...state.current_persona, lastModifiedOn: new Date().toISOString() },\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_CUSTOM_PERSONA_ATTRIBUTE_IMAGE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: { ...state.current_persona, lastModifiedOn: new Date().toISOString() },\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_IMAGE_ON_BOX\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: { ...state.current_persona, lastModifiedOn: new Date().toISOString() },\r\n\t\t\t};\r\n\t\tcase success(\"PERVIOUS_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\r\n\t\t\t\tall_personas: state.all_personas.map((persona) => {\r\n\t\t\t\t\tif (persona.personaId === requestData.personaIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\t\tisPervios: responseData ? true : false,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"RETRIEVE_LINKS_MAPS\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tlinkedCjms: responseData,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\tcase success(\"DELETE_MANY_PERSONAS\"): {\r\n\t\t\tconst successIdDeleted = responseData;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.map((personas) => {\r\n\t\t\t\t\tif (successIdDeleted.includes(personas.personaId)) {\r\n\t\t\t\t\t\treturn { ...personas, statusCode: StatusCode.Trashed };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn personas;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ARCHIVE_MANY_PERSONAS\"): {\r\n\t\t\tconst successIdArchived = responseData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.map((personas) => {\r\n\t\t\t\t\tif (successIdArchived.includes(personas.personaId)) {\r\n\t\t\t\t\t\treturn { ...personas, statusCode: StatusCode.Archived };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn personas;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"RESTORE_MANY_PERSONAS\"): {\r\n\t\t\tconst successIdRestore = responseData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.map((personas) => {\r\n\t\t\t\t\tif (successIdRestore.includes(personas.personaId)) {\r\n\t\t\t\t\t\treturn { ...personas, statusCode: StatusCode.Active };\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn personas;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"DELETE_PERMANENTLY_MANY_PERSONAS\"): {\r\n\t\t\tconst successIdDeletePerma = responseData;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.filter((personas) => !successIdDeletePerma?.includes(personas.personaId)),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPSERT_PERSONA_ATTRIBUTE_ATTACH_ITEM\"): {\r\n\t\t\tconst formData = action.meta.requestAction.request.data; // Accessing the FormData object\r\n\t\t\tconst personaAttributeItem = JSON.parse(formData?.get(\"personaAttributeItem\"));\r\n\t\t\tconst personaAttribute = JSON.parse(formData?.get(\"personaAttribute\"));\r\n\t\t\tconst upsertItem = {\r\n\t\t\t\t...personaAttributeItem,\r\n\t\t\t\tname: decode(personaAttributeItem?.name ?? \"\"),\r\n\t\t\t\tdescription: decode(personaAttributeItem?.description ?? \"\"),\r\n\t\t\t\turl: decode(personaAttributeItem?.url ?? \"\"),\r\n\t\t\t\tfileName: decode(personaAttributeItem?.fileName ?? \"\"),\r\n\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaAttributes: state.current_persona?.personaAttributes?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === personaAttribute.id) {\r\n\t\t\t\t\t\t\tatt.items = validateItems(att.items,upsertItem);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPSERT_PERSONA_ATTRIBUTE_ITEM\": {\r\n\t\t\tconst { personaAttributeItem, personaAttribute } = action.request.data;\r\n\t\t\tconst upsertItem = {\r\n\t\t\t\t...personaAttributeItem,\r\n\t\t\t\tname: decode(personaAttributeItem?.name ?? \"\"),\r\n\t\t\t\tdescription: decode(personaAttributeItem?.description ?? \"\"),\r\n\t\t\t\tsliderMaxTitle: decode(personaAttributeItem?.sliderMaxTitle ?? \"\"),\r\n\t\t\t\tsliderMinTitle: decode(personaAttributeItem?.sliderMinTitle ?? \"\"),\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaAttributes: state.current_persona?.personaAttributes?.map((att) => {\r\n\t\t\t\t\t\tif (att.id === personaAttribute.id) {\r\n\t\t\t\t\t\t\tatt.items = validateItems(att.items,upsertItem);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn att;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\t}\r\n\t\tcase \"DELETE_PERSONA_ATTRIBUTE_ITEM\": {\r\n\t\t\tconst { attributeId, attributeItemId } = action.request.data;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaAttributes: state.current_persona?.personaAttributes?.map((section) => {\r\n\t\t\t\t\t\tif (section.id === attributeId) {\r\n\t\t\t\t\t\t\tsection.items = section.items?.filter((item) => item.id !== attributeItemId);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_PERSONA_ATTRIBUTE_ITEM_ORDER\": {\r\n\t\t\tconst itemsIds = action.request.data.newItemsOrder.split(\"|\");\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaAttributes: state.current_persona?.personaAttributes?.map((section) => {\r\n\t\t\t\t\t\tif (section.id === action.request.data.attributeId) {\r\n\t\t\t\t\t\t\tsection.items = itemsIds.map((id) => section.items.find((i) => i.id === id)).flat();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_PERSONA_ATTRIBUTE_ITEM_ORDER\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\r\n\t\tcase \"ORDER_LIST_ITEM\": {\r\n\t\t\tconst attributeIdStr_order = action.payload.attributeIdStr;\r\n\t\t\tconst newOrder = action.payload.newOrder;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tpersonaAttributes: state.current_persona?.personaAttributes?.map((section) => {\r\n\t\t\t\t\t\tif (section.id === attributeIdStr_order) {\r\n\t\t\t\t\t\t\tsection.items = newOrder;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn section;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GET_PERSONA_USERS\"): {\r\n\t\t\tconst isPrint = action.meta.requestAction.params.isPrint;\r\n\t\t\tconst userId = action.meta.requestAction.params.userId;\r\n\r\n\t\t\tconst linkedUsers = Object.entries(responseData).map((user) => user[1]) || [];\r\n\t\t\tconst user = linkedUsers.find((users) => users.id === userId && users.roleId === EMPTY_GUID) || {};\r\n\t\t\tif (hasAttribute(user, \"roleName\")) user.roleName = isPrint ? \"viewer\" : firstLetterUppercase(user?.roleName); // only to export pdf\r\n\t\t\tif (user?.roleName?.toLowerCase() === \"viewer\" && isPrint === false) toastWrapper(\"\", \"PERSONA_VIEWER_WARNING\", { autoClose: 10000 });\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_linked_users: linkedUsers,\r\n\t\t\t\tcurrentUser: user,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"SHARE_USERS_SINGLE_PERSONA\"): {\r\n\t\t\tconst linkedUsers1 = Object.entries(responseData).map((user) => user[1]) || [];\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (persona.id === requestData.personaId) {\r\n\t\t\t\t\t\tpersona.authorizedUsers = linkedUsers1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: linkedUsers1,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"SHARE_USERS_MULTIPLE_PERSONA\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: responseData || [],\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_SHARE\"): {\r\n\t\t\tconst userId = state.current_linked_users.find((user) => user.id === requestData.userId);\r\n\t\t\tconst teamId = state.current_linked_users.find((user) => user.id === requestData.teamId);\r\n\t\t\tconst roleName = requestData.roleDetails.split(\"_\")[0];\r\n\t\t\tconst roleId = requestData.roleDetails.split(\"_\")[1];\r\n\t\t\tconst fullName = action.meta.requestAction.request?.params?.fullName || action.meta.requestAction.params?.fullName\r\n\r\n\t\t\tconst newLinkUsers =\r\n\t\t\t\tuserId === undefined && teamId === undefined\r\n\t\t\t\t\t? [...state.current_linked_users, { id: userId, roleName, roleId, fullName }]\r\n\t\t\t\t\t: state.current_linked_users.map((user) => (user.id === userId || user.id === teamId ? { ...user, roleName, roleId } : user));\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (persona.personaId === requestData.personaId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\t\tauthorizedUsers: newLinkUsers,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: newLinkUsers,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_UNSHARE\"): {\r\n\t\t\tconst { personaId, userId, teamId } = requestData;\r\n\t\t\tconst id = userId || teamId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (persona.personaId === personaId) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\t\tauthorizedUsers: persona.authorizedUsers.filter((user) => user.id !== id),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t\tcurrent_linked_users: state.current_linked_users.filter((user) => user.id !== id),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"UPDATE_PERSONA_LINKS_PERSONA\"): {\r\n\t\t\tconst { personaIdsToUnlink, personaIdsToLink } = requestData;\r\n\t\t\tlet LinkedPersonas = JSON.parse(JSON.stringify(state.current_persona.linkedPersonas)) || [];\r\n\t\t\tconst personaIdsToUnlinkArray = personaIdsToUnlink.split(\"|\") || [];\r\n\t\t\tconst personaIdsToLinkArray = personaIdsToLink.split(\"|\") || [];\r\n\t\t\tif (personaIdsToUnlinkArray.length > 0) {\r\n\t\t\t\tLinkedPersonas = LinkedPersonas.filter((linkedPersona) => !personaIdsToUnlinkArray.includes(linkedPersona));\r\n\t\t\t}\r\n\t\t\tif (personaIdsToLinkArray.length > 0) {\r\n\t\t\t\tLinkedPersonas = [...new Set([...LinkedPersonas, ...personaIdsToLinkArray])];\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\tlinkedPersonas: LinkedPersonas,\r\n\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t},\r\n\t\t\t\tall_personas: state.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (persona.personaId === requestData.personaIdStr) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...persona,\r\n\t\t\t\t\t\t\tlinkedPersonas: LinkedPersonas,\r\n\t\t\t\t\t\t\tlastModifiedOn: new Date().toISOString(),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"UPDATE_LOCK_PERSONA_TEMPLATE\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (persona.personaId === action.request.data.modifiedPersona.personaId) {\r\n\t\t\t\t\t\tpersona.isLocked = action.request.data.modifiedPersona.isLocked;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"UPDATE_STATUS_PERSONA_TEMPLATE\"):\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_persona: {\r\n\t\t\t\t\t...state.current_persona,\r\n\t\t\t\t\ttemplateStatus: requestData.modifiedPersona.templateStatus,\r\n\t\t\t\t},\r\n\t\t\t\tall_personas: state.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (persona.personaId === requestData.modifiedPersona.personaId) {\r\n\t\t\t\t\t\tpersona.templateStatus = requestData.modifiedPersona.templateStatus;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\tcase success(\"LINK_TAGS\"): {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n\t\t\tif (recordType !== \"cem_persona\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (recordIds.includes(persona.personaId)) {\r\n\t\t\t\t\t\tpersona.tags = [...appendListsAndRemoveDuplicates(persona.tags, tagIds)];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n }\r\n case success(\"UNLINK_TAGS\"): {\r\n\t\t\tconst { tagIds, recordType, recordIds } = action.meta.requestAction.request.data;\r\n\t\t\tif (recordType !== \"cem_persona\") return state;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tall_personas: state.all_personas?.map((persona) => {\r\n\t\t\t\t\tif (recordIds.includes(persona.personaId)) {\r\n\t\t\t\t\t\tpersona.tags = persona.tags?.filter(tagId => !tagIds.includes(tagId));\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn persona;\r\n\t\t\t\t}),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"RESET_PERSONAS_USERS\": {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcurrent_linked_users: null,\r\n\t\t\t\tcurrentUser: null,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"GENERATE_PERSONA_SECTION_AI\"): {\r\n\t\t\tconst cardId = action.meta.requestAction.params.cardId;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tai: {\r\n\t\t\t\t\t...state.ai,\r\n\t\t\t\t\t[cardId]: responseData,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase success(\"ASK_ALEX\"): {\r\n\t\t\tconst cardId = action.meta.requestAction.params.cardId;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tai: {\r\n\t\t\t\t\t...state.ai,\r\n\t\t\t\t\t[cardId]: responseData,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase \"RESET_ALEX_GENERATION\": {\r\n\t\t\tconst id = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tai: {\r\n\t\t\t\t\t...state.ai,\r\n\t\t\t\t\t[id]: null,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\n\r\nexport default PersonaReducer;\r\n","var map = {\n\t\"./2hand-celebration-emoji.svg\": [\n\t\t1490,\n\t\t26\n\t],\n\t\"./Book-Wizard.svg\": [\n\t\t658\n\t],\n\t\"./Detailed.svg\": [\n\t\t1491,\n\t\t27\n\t],\n\t\"./FreeTrial.svg\": [\n\t\t1492,\n\t\t28\n\t],\n\t\"./Hat-Wizard.svg\": [\n\t\t659\n\t],\n\t\"./HighLevel.svg\": [\n\t\t1493,\n\t\t29\n\t],\n\t\"./Potion-Wizard.svg\": [\n\t\t1494,\n\t\t30\n\t],\n\t\"./ServiceBlueprint.svg\": [\n\t\t1495,\n\t\t31\n\t],\n\t\"./Warning.svg\": [\n\t\t1488,\n\t\t32\n\t],\n\t\"./ai-popup.svg\": [\n\t\t1489,\n\t\t33\n\t],\n\t\"./alternative-customer-route.svg\": [\n\t\t1496,\n\t\t34\n\t],\n\t\"./briefcase.svg\": [\n\t\t1497,\n\t\t35\n\t],\n\t\"./bv-1.svg\": [\n\t\t1498,\n\t\t36\n\t],\n\t\"./bv-10.svg\": [\n\t\t1499,\n\t\t37\n\t],\n\t\"./bv-11.svg\": [\n\t\t1500,\n\t\t38\n\t],\n\t\"./bv-12.svg\": [\n\t\t1501,\n\t\t39\n\t],\n\t\"./bv-13.svg\": [\n\t\t1502,\n\t\t40\n\t],\n\t\"./bv-14.svg\": [\n\t\t1503,\n\t\t41\n\t],\n\t\"./bv-15.svg\": [\n\t\t1504,\n\t\t42\n\t],\n\t\"./bv-16.svg\": [\n\t\t1505,\n\t\t43\n\t],\n\t\"./bv-2.svg\": [\n\t\t1506,\n\t\t44\n\t],\n\t\"./bv-3.svg\": [\n\t\t1507,\n\t\t45\n\t],\n\t\"./bv-4.svg\": [\n\t\t1508,\n\t\t46\n\t],\n\t\"./bv-5.svg\": [\n\t\t1509,\n\t\t47\n\t],\n\t\"./bv-6.svg\": [\n\t\t1510,\n\t\t48\n\t],\n\t\"./bv-7.svg\": [\n\t\t1511,\n\t\t49\n\t],\n\t\"./bv-8.svg\": [\n\t\t1512,\n\t\t50\n\t],\n\t\"./bv-9.svg\": [\n\t\t1513,\n\t\t51\n\t],\n\t\"./chart-line-graph.svg\": [\n\t\t1514,\n\t\t52\n\t],\n\t\"./chart-simple-light.svg\": [\n\t\t1515,\n\t\t53\n\t],\n\t\"./crystal-ball.svg\": [\n\t\t1516,\n\t\t54\n\t],\n\t\"./cursorComments.svg\": [\n\t\t1517,\n\t\t55\n\t],\n\t\"./dash-legend.svg\": [\n\t\t1518,\n\t\t56\n\t],\n\t\"./dash-solid.svg\": [\n\t\t1519,\n\t\t57\n\t],\n\t\"./delete-big.svg\": [\n\t\t1520,\n\t\t58\n\t],\n\t\"./department-atr.svg\": [\n\t\t1521,\n\t\t59\n\t],\n\t\"./dog.svg\": [\n\t\t1522,\n\t\t60\n\t],\n\t\"./emotion-excellent.svg\": [\n\t\t1523,\n\t\t61\n\t],\n\t\"./emotion-generic.svg\": [\n\t\t1524,\n\t\t62\n\t],\n\t\"./emotion-good.svg\": [\n\t\t1525,\n\t\t63\n\t],\n\t\"./emotion-poor.svg\": [\n\t\t1526,\n\t\t64\n\t],\n\t\"./emotion-terrible.svg\": [\n\t\t1527,\n\t\t65\n\t],\n\t\"./empty-library.svg\": [\n\t\t1528,\n\t\t66\n\t],\n\t\"./excellent-btn-active.svg\": [\n\t\t1529,\n\t\t67\n\t],\n\t\"./excellent-btn.svg\": [\n\t\t1530,\n\t\t68\n\t],\n\t\"./generic-btn-active.svg\": [\n\t\t1531,\n\t\t69\n\t],\n\t\"./generic-btn.svg\": [\n\t\t1532,\n\t\t70\n\t],\n\t\"./good-btn-active.svg\": [\n\t\t1533,\n\t\t71\n\t],\n\t\"./good-btn.svg\": [\n\t\t1534,\n\t\t72\n\t],\n\t\"./group-atr.svg\": [\n\t\t1535,\n\t\t73\n\t],\n\t\"./group-list.svg\": [\n\t\t1536,\n\t\t74\n\t],\n\t\"./hourglass1.svg\": [\n\t\t1537,\n\t\t75\n\t],\n\t\"./integration-widget.svg\": [\n\t\t1538,\n\t\t76\n\t],\n\t\"./lib-brandValues.svg\": [\n\t\t1539,\n\t\t77\n\t],\n\t\"./lib-custom.svg\": [\n\t\t1540,\n\t\t78\n\t],\n\t\"./lib-departments.svg\": [\n\t\t1541,\n\t\t79\n\t],\n\t\"./lib-kpi.svg\": [\n\t\t1542,\n\t\t80\n\t],\n\t\"./lib-stickers.svg\": [\n\t\t1543,\n\t\t81\n\t],\n\t\"./lib-systems.svg\": [\n\t\t1544,\n\t\t82\n\t],\n\t\"./lib-touchpoints.svg\": [\n\t\t1545,\n\t\t83\n\t],\n\t\"./linked-atr.svg\": [\n\t\t1546,\n\t\t84\n\t],\n\t\"./main-customer-route.svg\": [\n\t\t1547,\n\t\t85\n\t],\n\t\"./map-default.svg\": [\n\t\t1548,\n\t\t86\n\t],\n\t\"./map-light.svg\": [\n\t\t1549,\n\t\t87\n\t],\n\t\"./measure.svg\": [\n\t\t1550,\n\t\t88\n\t],\n\t\"./monday.svg\": [\n\t\t1551,\n\t\t89\n\t],\n\t\"./neutral-btn.svg\": [\n\t\t1552,\n\t\t90\n\t],\n\t\"./nosentiment-smiley.svg\": [\n\t\t1553,\n\t\t91\n\t],\n\t\"./notebook.svg\": [\n\t\t1554,\n\t\t92\n\t],\n\t\"./notifications.svg\": [\n\t\t854\n\t],\n\t\"./open-door.svg\": [\n\t\t1555,\n\t\t93\n\t],\n\t\"./package.svg\": [\n\t\t1556,\n\t\t94\n\t],\n\t\"./pencil-lower-left.svg\": [\n\t\t1557,\n\t\t95\n\t],\n\t\"./pending-pic.svg\": [\n\t\t1558,\n\t\t96\n\t],\n\t\"./persona-atr.svg\": [\n\t\t1559,\n\t\t97\n\t],\n\t\"./persona-empty-list.svg\": [\n\t\t1560,\n\t\t98\n\t],\n\t\"./persona-wizard-bird.svg\": [\n\t\t1561,\n\t\t99\n\t],\n\t\"./plug-thin.svg\": [\n\t\t1562,\n\t\t100\n\t],\n\t\"./poor-btn-active.svg\": [\n\t\t1563,\n\t\t101\n\t],\n\t\"./poor-btn.svg\": [\n\t\t1564,\n\t\t102\n\t],\n\t\"./primary-check.svg\": [\n\t\t1565,\n\t\t103\n\t],\n\t\"./project-header.svg\": [\n\t\t1566,\n\t\t104\n\t],\n\t\"./resolved-pic.svg\": [\n\t\t1567,\n\t\t105\n\t],\n\t\"./sentiment-atr.svg\": [\n\t\t1568,\n\t\t106\n\t],\n\t\"./slider-arrow.svg\": [\n\t\t1569,\n\t\t107\n\t],\n\t\"./solutions-swimlane.svg\": [\n\t\t1570,\n\t\t108\n\t],\n\t\"./sparkles-ligh.svg\": [\n\t\t1571,\n\t\t109\n\t],\n\t\"./sparkles-thin.svg\": [\n\t\t1572,\n\t\t110\n\t],\n\t\"./stage-arow.svg\": [\n\t\t1573,\n\t\t111\n\t],\n\t\"./stakeholders-atr.svg\": [\n\t\t1574,\n\t\t112\n\t],\n\t\"./swimlane-actions.svg\": [\n\t\t1575,\n\t\t113\n\t],\n\t\"./swimlane-attach.svg\": [\n\t\t1576,\n\t\t114\n\t],\n\t\"./swimlane-custom.svg\": [\n\t\t1577,\n\t\t115\n\t],\n\t\"./swimlane-department.svg\": [\n\t\t1578,\n\t\t116\n\t],\n\t\"./swimlane-divider.svg\": [\n\t\t1579,\n\t\t117\n\t],\n\t\"./swimlane-feedbackdata.svg\": [\n\t\t1580,\n\t\t118\n\t],\n\t\"./swimlane-feelings.svg\": [\n\t\t1581,\n\t\t119\n\t],\n\t\"./swimlane-image.svg\": [\n\t\t1582,\n\t\t120\n\t],\n\t\"./swimlane-kpi.svg\": [\n\t\t1583,\n\t\t121\n\t],\n\t\"./swimlane-li.svg\": [\n\t\t1584,\n\t\t122\n\t],\n\t\"./swimlane-oppt.svg\": [\n\t\t1585,\n\t\t123\n\t],\n\t\"./swimlane-system.svg\": [\n\t\t1586,\n\t\t124\n\t],\n\t\"./swimlane-text.svg\": [\n\t\t1587,\n\t\t125\n\t],\n\t\"./swimlane-timing.svg\": [\n\t\t1588,\n\t\t126\n\t],\n\t\"./swimlane-touchpoints&intractions.svg\": [\n\t\t1589,\n\t\t127\n\t],\n\t\"./system-atr.svg\": [\n\t\t1590,\n\t\t128\n\t],\n\t\"./tag-atr.svg\": [\n\t\t1591,\n\t\t129\n\t],\n\t\"./template-map-creation.svg\": [\n\t\t1592,\n\t\t130\n\t],\n\t\"./terrible-btn-active.svg\": [\n\t\t1593,\n\t\t131\n\t],\n\t\"./terrible-btn.svg\": [\n\t\t1594,\n\t\t132\n\t],\n\t\"./terrible.svg\": [\n\t\t1595,\n\t\t133\n\t],\n\t\"./unexpected.svg\": [\n\t\t1596,\n\t\t134\n\t],\n\t\"./upload-image.svg\": [\n\t\t1597,\n\t\t135\n\t],\n\t\"./viewIcon.svg\": [\n\t\t656\n\t],\n\t\"./voc-alternative.svg\": [\n\t\t1598,\n\t\t136\n\t],\n\t\"./voc-main.svg\": [\n\t\t1599,\n\t\t137\n\t],\n\t\"./wand-Wizard.svg\": [\n\t\t1600,\n\t\t138\n\t],\n\t\"./white-checkmark.svg\": [\n\t\t1601,\n\t\t139\n\t],\n\t\"./widget-ai.svg\": [\n\t\t1602,\n\t\t140\n\t],\n\t\"./widget-analytic.svg\": [\n\t\t1603,\n\t\t141\n\t],\n\t\"./widget-integration.svg\": [\n\t\t1604,\n\t\t142\n\t],\n\t\"./wizard-bag.svg\": [\n\t\t1605,\n\t\t143\n\t],\n\t\"./youtube.svg\": [\n\t\t1606,\n\t\t144\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 957;\nmodule.exports = webpackAsyncContext;","export default __webpack_public_path__ + \"static/media/abused.1d676a89.svg\";","export default __webpack_public_path__ + \"static/media/admiration.61d717dc.svg\";","export default __webpack_public_path__ + \"static/media/affection.53204b45.svg\";","export default __webpack_public_path__ + \"static/media/agony.acd7873e.svg\";","export default __webpack_public_path__ + \"static/media/alarm.f64682b2.svg\";","export default __webpack_public_path__ + \"static/media/alone.292d8785.svg\";","export default __webpack_public_path__ + \"static/media/amazed.8e235df3.svg\";","export default __webpack_public_path__ + \"static/media/amused.ba47bbba.svg\";","export default __webpack_public_path__ + \"static/media/angry.4cf4f5ea.svg\";","export default __webpack_public_path__ + \"static/media/anticipation.f5f76ae9.svg\";","export default __webpack_public_path__ + \"static/media/anxiety.7ae25dc8.svg\";","export default __webpack_public_path__ + \"static/media/assured.890ea9d4.svg\";","export default __webpack_public_path__ + \"static/media/crazy.5b14583f.svg\";","export default __webpack_public_path__ + \"static/media/depressed.c9ff7264.svg\";","export default __webpack_public_path__ + \"static/media/disappointed.6b6e4807.svg\";","export default __webpack_public_path__ + \"static/media/disgusted.9d82a631.svg\";","export default __webpack_public_path__ + \"static/media/excellent.054bcded.svg\";","export default __webpack_public_path__ + \"static/media/fear.889d3d49.svg\";","export default __webpack_public_path__ + \"static/media/frustrated.4292339b.svg\";","export default __webpack_public_path__ + \"static/media/generic.82da1d42.svg\";","export default __webpack_public_path__ + \"static/media/good.1bdc645d.svg\";","export default __webpack_public_path__ + \"static/media/happy.f38aff4d.svg\";","export default __webpack_public_path__ + \"static/media/inspired.be1d2ab3.svg\";","export default __webpack_public_path__ + \"static/media/joy.b0a534bc.svg\";","export default __webpack_public_path__ + \"static/media/motivated.690ec73b.svg\";","export default __webpack_public_path__ + \"static/media/peaceful.6f58ecc3.svg\";","export default __webpack_public_path__ + \"static/media/pensive.1c3748a1.svg\";","export default __webpack_public_path__ + \"static/media/poor.5200d29b.svg\";","export default __webpack_public_path__ + \"static/media/sad.350a2817.svg\";","export default __webpack_public_path__ + \"static/media/surprise.8b954c0a.svg\";","export default __webpack_public_path__ + \"static/media/terrible.6b71fa9e.svg\";","export default __webpack_public_path__ + \"static/media/thrilled.01acfe11.svg\";","export default __webpack_public_path__ + \"static/media/tiered.dbb20ac0.svg\";","export default __webpack_public_path__ + \"static/media/trust.2a4e8286.svg\";","export default __webpack_public_path__ + \"static/media/upset.7dcc6ed8.svg\";","export default __webpack_public_path__ + \"static/media/1-solid.ba1d86b5.svg\";","export default __webpack_public_path__ + \"static/media/2-solid.70f562a6.svg\";","export default __webpack_public_path__ + \"static/media/3-solid.95956102.svg\";","export default __webpack_public_path__ + \"static/media/4-solid.2e927c8c.svg\";","export default __webpack_public_path__ + \"static/media/5-solid.05d695c3.svg\";","export default __webpack_public_path__ + \"static/media/A-solid.93dbae88.svg\";","export default __webpack_public_path__ + \"static/media/B-solid.62d8a605.svg\";","export default __webpack_public_path__ + \"static/media/C-solid.b63117ff.svg\";","export default __webpack_public_path__ + \"static/media/D-solid.5d05e487.svg\";","export default __webpack_public_path__ + \"static/media/E-solid.fe1c5a7f.svg\";","export default __webpack_public_path__ + \"static/media/H-solid.9f334015.svg\";","export default __webpack_public_path__ + \"static/media/P-solid.33d18655.svg\";","export default __webpack_public_path__ + \"static/media/S-solid.d5438e17.svg\";","export default __webpack_public_path__ + \"static/media/T-solid.a5c22987.svg\";","export default __webpack_public_path__ + \"static/media/applause.59249afd.svg\";","export default __webpack_public_path__ + \"static/media/arrow-down-diagonal.0cb8a8d0.svg\";","export default __webpack_public_path__ + \"static/media/arrow-down-solid.eef81091.svg\";","export default __webpack_public_path__ + \"static/media/arrow-up-diagonal.9c551dc6.svg\";","export default __webpack_public_path__ + \"static/media/arrow-up-solid.2c49bb1b.svg\";","export default __webpack_public_path__ + \"static/media/ban-solid.b51c6bf4.svg\";","export default __webpack_public_path__ + \"static/media/bolt-solid.24a6040d.svg\";","export default __webpack_public_path__ + \"static/media/check-solid.0187ee15.svg\";","export default __webpack_public_path__ + \"static/media/coins-solid.c52e6e68.svg\";","export default __webpack_public_path__ + \"static/media/comment-regular.dffbfc6b.svg\";","export default __webpack_public_path__ + \"static/media/crossroad.ed8fe4e6.svg\";","export default __webpack_public_path__ + \"static/media/dead-end.a59aeadb.svg\";","export default __webpack_public_path__ + \"static/media/digital.99e3087e.svg\";","export default __webpack_public_path__ + \"static/media/dollar.1fd9d5ec.svg\";","export default __webpack_public_path__ + \"static/media/double-side-arrow.5a31f7cd.svg\";","export default __webpack_public_path__ + \"static/media/euro.8d0471bb.svg\";","export default __webpack_public_path__ + \"static/media/exclamation-triangle-solid.62c08da3.svg\";","export default __webpack_public_path__ + \"static/media/fire-solid.73b47147.svg\";","export default __webpack_public_path__ + \"static/media/flag-solid.fcff6189.svg\";","export default __webpack_public_path__ + \"static/media/gift.d855f21b.svg\";","export default __webpack_public_path__ + \"static/media/hand-paper-solid.ad7c8611.svg\";","export default __webpack_public_path__ + \"static/media/heart-broken-solid.00273732.svg\";","export default __webpack_public_path__ + \"static/media/heart-solid.8d15d19a.svg\";","export default __webpack_public_path__ + \"static/media/hourglass-half-solid.677d281b.svg\";","export default __webpack_public_path__ + \"static/media/human.ed1b3cf0.svg\";","export default __webpack_public_path__ + \"static/media/info-solid.c533c87c.svg\";","export default __webpack_public_path__ + \"static/media/key.ab34266f.svg\";","export default __webpack_public_path__ + \"static/media/left-arrow.a1cb945a.svg\";","export default __webpack_public_path__ + \"static/media/lightbulb-solid.03d42f11.svg\";","export default __webpack_public_path__ + \"static/media/location.08fd37c5.svg\";","export default __webpack_public_path__ + \"static/media/lock.9f9b9ede.svg\";","export default __webpack_public_path__ + \"static/media/loop.fb0ebccc.svg\";","export default __webpack_public_path__ + \"static/media/map-pin-solid.b49453d4.svg\";","export default __webpack_public_path__ + \"static/media/money-bill-wave-solid.b54fc313.svg\";","export default __webpack_public_path__ + \"static/media/pound.6a92f3a5.svg\";","export default __webpack_public_path__ + \"static/media/question-solid.e4d9e395.svg\";","export default __webpack_public_path__ + \"static/media/recycle.3bc42a37.svg\";","export default __webpack_public_path__ + \"static/media/right-arrow.660d1727.svg\";","export default __webpack_public_path__ + \"static/media/search-solid.def5cb3c.svg\";","export default __webpack_public_path__ + \"static/media/star-of-life-solid.dafe36d3.svg\";","export default __webpack_public_path__ + \"static/media/star-solid.153f0d8a.svg\";","export default __webpack_public_path__ + \"static/media/start.cee0d557.svg\";","export default __webpack_public_path__ + \"static/media/stop-solid.2babfd7d.svg\";","export default __webpack_public_path__ + \"static/media/target.dd932ef1.svg\";","export default __webpack_public_path__ + \"static/media/thumbs-down-solid.80e8d3b4.svg\";","export default __webpack_public_path__ + \"static/media/thumbs-up-solid.d35abdf3.svg\";","export default __webpack_public_path__ + \"static/media/times-solid.68623a14.svg\";","export default __webpack_public_path__ + \"static/media/wrench-solid.a2ec29e1.svg\";","export default __webpack_public_path__ + \"static/media/PersImg1.6a363cb1.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg10.fcb25745.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg11.50d984c2.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg12.a1dd407c.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg13.49ba9d69.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg14.17f31dc7.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg15.dfc5b9c9.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg16.dee3857d.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg17.e519400e.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg18.7ac304d9.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg19.c691d4e4.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg2.db9f37b8.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg20.b2e9d0a4.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg21.bfb8e928.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg22.fe306180.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg23.fe86698a.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg24.117c858f.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg25.312d0fad.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg26.3333a804.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg27.f62cdaca.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg28.f67e0f7d.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg29.09bb35d9.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg3.ddb4e945.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg30.f383bdbd.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg4.32782d7b.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg5.4647d981.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg6.0c0d2455.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg7.e6dba210.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg8.f2068e7a.jpg\";","export default __webpack_public_path__ + \"static/media/PersImg9.7efc2579.jpg\";","export default __webpack_public_path__ + \"static/media/persona-plshldr.64bb8bd3.jpg\";","var map = {\n\t\"./advertisement.svg\": 1118,\n\t\"./application.svg\": 1119,\n\t\"./article.svg\": 1120,\n\t\"./articles.svg\": 1121,\n\t\"./atm.svg\": 1122,\n\t\"./blog.svg\": 1123,\n\t\"./book-open.svg\": 1124,\n\t\"./branch.svg\": 1125,\n\t\"./briefcase-alt.svg\": 1126,\n\t\"./broadcast-media.svg\": 1127,\n\t\"./brochure.svg\": 1128,\n\t\"./call-center.svg\": 1129,\n\t\"./cashier.svg\": 1130,\n\t\"./chat.svg\": 1131,\n\t\"./circle.svg\": 1132,\n\t\"./comment-alt-dots.svg\": 1133,\n\t\"./comparison-sites.svg\": 1134,\n\t\"./credit-card-solid.svg\": 1135,\n\t\"./doctor.svg\": 1136,\n\t\"./email.svg\": 1137,\n\t\"./employee-portal.svg\": 1138,\n\t\"./event.svg\": 1139,\n\t\"./face-to-face.svg\": 1140,\n\t\"./facebook-messenger.svg\": 1141,\n\t\"./facebook.svg\": 1142,\n\t\"./fax.svg\": 1143,\n\t\"./file.svg\": 1144,\n\t\"./hr.svg\": 1145,\n\t\"./instagram.svg\": 1146,\n\t\"./intranet.svg\": 1147,\n\t\"./it.svg\": 1148,\n\t\"./laboratory.svg\": 1149,\n\t\"./lamp.svg\": 1150,\n\t\"./laptop-solid.svg\": 1151,\n\t\"./letter.svg\": 1152,\n\t\"./linkedin.svg\": 1153,\n\t\"./manager.svg\": 1154,\n\t\"./medical-center.svg\": 1155,\n\t\"./medical-device.svg\": 1156,\n\t\"./medical-examination.svg\": 1157,\n\t\"./meeting-room.svg\": 1158,\n\t\"./message-captions.svg\": 1159,\n\t\"./mobile-device.svg\": 1160,\n\t\"./nurse.svg\": 1161,\n\t\"./office.svg\": 1162,\n\t\"./patient.svg\": 1163,\n\t\"./paycheck.svg\": 1164,\n\t\"./payment-gateway.svg\": 1165,\n\t\"./paypal.svg\": 1166,\n\t\"./pharmacy.svg\": 1167,\n\t\"./phone-volume.svg\": 1168,\n\t\"./phone.svg\": 1169,\n\t\"./point-of-sale.svg\": 1170,\n\t\"./portal.svg\": 1171,\n\t\"./press-release.svg\": 1172,\n\t\"./print.svg\": 1173,\n\t\"./question-circle-print.svg\": 1174,\n\t\"./question-circle.svg\": 1175,\n\t\"./reception.svg\": 1176,\n\t\"./search.svg\": 1177,\n\t\"./self-service.svg\": 1178,\n\t\"./setting.svg\": 1179,\n\t\"./shop.svg\": 1180,\n\t\"./shopkeeper.svg\": 1181,\n\t\"./shopping-cart.svg\": 1182,\n\t\"./skype.svg\": 1183,\n\t\"./sms.svg\": 1184,\n\t\"./social-media.svg\": 1185,\n\t\"./star-half-stroke.svg\": 1186,\n\t\"./tablet.svg\": 1187,\n\t\"./teams.svg\": 1188,\n\t\"./third-party.svg\": 1189,\n\t\"./tiktok.svg\": 1190,\n\t\"./training.svg\": 1191,\n\t\"./truck.svg\": 1192,\n\t\"./twitter.svg\": 1193,\n\t\"./video-conference.svg\": 1194,\n\t\"./wallet.svg\": 1195,\n\t\"./web-ads.svg\": 1196,\n\t\"./website.svg\": 1197,\n\t\"./whatsapp.svg\": 1198,\n\t\"./word-of-mouth.svg\": 1199,\n\t\"./work-station.svg\": 1200,\n\t\"./youtube.svg\": 1201\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1117;","export default __webpack_public_path__ + \"static/media/advertisement.312d96aa.svg\";","export default __webpack_public_path__ + \"static/media/application.6e5b17d7.svg\";","export default __webpack_public_path__ + \"static/media/article.8b35bc91.svg\";","export default __webpack_public_path__ + \"static/media/articles.8b35bc91.svg\";","export default __webpack_public_path__ + \"static/media/atm.1ba24b60.svg\";","export default __webpack_public_path__ + \"static/media/blog.aa61baf0.svg\";","export default __webpack_public_path__ + \"static/media/book-open.2f29b40e.svg\";","export default __webpack_public_path__ + \"static/media/branch.05a44f68.svg\";","export default __webpack_public_path__ + \"static/media/briefcase-alt.6471c7f8.svg\";","export default __webpack_public_path__ + \"static/media/broadcast-media.1dcbefe1.svg\";","export default __webpack_public_path__ + \"static/media/brochure.f1455bef.svg\";","export default __webpack_public_path__ + \"static/media/call-center.39a73750.svg\";","export default __webpack_public_path__ + \"static/media/cashier.c583b4df.svg\";","export default __webpack_public_path__ + \"static/media/chat.f018c5e0.svg\";","export default __webpack_public_path__ + \"static/media/circle.350ac466.svg\";","export default __webpack_public_path__ + \"static/media/comment-alt-dots.f9966ea7.svg\";","export default __webpack_public_path__ + \"static/media/comparison-sites.c2ac7751.svg\";","export default __webpack_public_path__ + \"static/media/credit-card-solid.99dc9595.svg\";","export default __webpack_public_path__ + \"static/media/doctor.b781e184.svg\";","export default __webpack_public_path__ + \"static/media/email.b5a889fa.svg\";","export default __webpack_public_path__ + \"static/media/employee-portal.c700deef.svg\";","export default __webpack_public_path__ + \"static/media/event.770d6192.svg\";","export default __webpack_public_path__ + \"static/media/face-to-face.19308ec0.svg\";","export default __webpack_public_path__ + \"static/media/facebook-messenger.543f426a.svg\";","export default __webpack_public_path__ + \"static/media/facebook.a618a945.svg\";","export default __webpack_public_path__ + \"static/media/fax.34e3c24a.svg\";","export default __webpack_public_path__ + \"static/media/file.000b4261.svg\";","export default __webpack_public_path__ + \"static/media/hr.d0d2b2ef.svg\";","export default __webpack_public_path__ + \"static/media/instagram.c73338a2.svg\";","export default __webpack_public_path__ + \"static/media/intranet.af4b869f.svg\";","export default __webpack_public_path__ + \"static/media/it.26c18558.svg\";","export default __webpack_public_path__ + \"static/media/laboratory.d2fc5269.svg\";","export default __webpack_public_path__ + \"static/media/lamp.b1b30986.svg\";","export default __webpack_public_path__ + \"static/media/laptop-solid.2aea5a7a.svg\";","export default __webpack_public_path__ + \"static/media/letter.b57a5fcf.svg\";","export default __webpack_public_path__ + \"static/media/linkedin.260d7e00.svg\";","export default __webpack_public_path__ + \"static/media/manager.256b7db9.svg\";","export default __webpack_public_path__ + \"static/media/medical-center.d83ba144.svg\";","export default __webpack_public_path__ + \"static/media/medical-device.f1c6a898.svg\";","export default __webpack_public_path__ + \"static/media/medical-examination.113da2e1.svg\";","export default __webpack_public_path__ + \"static/media/meeting-room.848eb21d.svg\";","export default __webpack_public_path__ + \"static/media/message-captions.c86053f1.svg\";","export default __webpack_public_path__ + \"static/media/mobile-device.4b264d12.svg\";","export default __webpack_public_path__ + \"static/media/nurse.d594a655.svg\";","export default __webpack_public_path__ + \"static/media/office.ee0b3113.svg\";","export default __webpack_public_path__ + \"static/media/patient.cf25a6fd.svg\";","export default __webpack_public_path__ + \"static/media/paycheck.c40efce8.svg\";","export default __webpack_public_path__ + \"static/media/payment-gateway.246e6172.svg\";","export default __webpack_public_path__ + \"static/media/paypal.6d6b97eb.svg\";","export default __webpack_public_path__ + \"static/media/pharmacy.e0579ddd.svg\";","export default __webpack_public_path__ + \"static/media/phone-volume.e63e0e4c.svg\";","export default __webpack_public_path__ + \"static/media/phone.a777d90c.svg\";","export default __webpack_public_path__ + \"static/media/point-of-sale.1db62a2a.svg\";","export default __webpack_public_path__ + \"static/media/portal.fa94212a.svg\";","export default __webpack_public_path__ + \"static/media/press-release.408e449f.svg\";","export default __webpack_public_path__ + \"static/media/print.2437c91e.svg\";","export default __webpack_public_path__ + \"static/media/question-circle-print.853ab9a3.svg\";","export default __webpack_public_path__ + \"static/media/question-circle.d2f61a19.svg\";","export default __webpack_public_path__ + \"static/media/reception.b56698c6.svg\";","export default __webpack_public_path__ + \"static/media/search.dd4057d4.svg\";","export default __webpack_public_path__ + \"static/media/self-service.c0c78be3.svg\";","export default __webpack_public_path__ + \"static/media/setting.78549095.svg\";","export default __webpack_public_path__ + \"static/media/shop.49a94c03.svg\";","export default __webpack_public_path__ + \"static/media/shopkeeper.651da379.svg\";","export default __webpack_public_path__ + \"static/media/shopping-cart.feadf72d.svg\";","export default __webpack_public_path__ + \"static/media/skype.6cd3282a.svg\";","export default __webpack_public_path__ + \"static/media/sms.b87dcd0f.svg\";","export default __webpack_public_path__ + \"static/media/social-media.cce02c87.svg\";","export default __webpack_public_path__ + \"static/media/star-half-stroke.d0bb37c1.svg\";","export default __webpack_public_path__ + \"static/media/tablet.31a4f484.svg\";","export default __webpack_public_path__ + \"static/media/teams.d173fcd2.svg\";","export default __webpack_public_path__ + \"static/media/third-party.1a59032b.svg\";","export default __webpack_public_path__ + \"static/media/tiktok.704632b0.svg\";","export default __webpack_public_path__ + \"static/media/training.eca21be7.svg\";","export default __webpack_public_path__ + \"static/media/truck.5ff09a31.svg\";","export default __webpack_public_path__ + \"static/media/twitter.7c310a90.svg\";","export default __webpack_public_path__ + \"static/media/video-conference.43db4fe3.svg\";","export default __webpack_public_path__ + \"static/media/wallet.eb195d96.svg\";","export default __webpack_public_path__ + \"static/media/web-ads.4006bf88.svg\";","export default __webpack_public_path__ + \"static/media/website.b9d2ef43.svg\";","export default __webpack_public_path__ + \"static/media/whatsapp.3a886f57.svg\";","export default __webpack_public_path__ + \"static/media/word-of-mouth.6ece300d.svg\";","export default __webpack_public_path__ + \"static/media/work-station.607d9d0e.svg\";","export default __webpack_public_path__ + \"static/media/youtube.236921dc.svg\";","export default __webpack_public_path__ + \"static/media/detailed.f5eb472b.png\";","export default __webpack_public_path__ + \"static/media/blueprint.02b09f7c.png\";","export default __webpack_public_path__ + \"static/media/high-level.e502e6c8.png\";","export default __webpack_public_path__ + \"static/media/no-maps.d6017441.svg\";","export default __webpack_public_path__ + \"static/media/no-personas.c5348965.svg\";","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/microsoft-dynamics.ee561054.png\";","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA8OSURBVHgB7V0JkBTVGf5f9xy7swssLHtwGTAc8UKjFiDGiEYTLYOR6Hog5CDxigEhQEWFlTGwUBgVQ8qU5VVGI6AYWJFgtLTEA3XxCN5yquFYVtgDNrszu338+XvO7pnunp6ZnrP2q9qd1+/93f36/97//++97n4N0Ic+9KEPfehDH4oCDIoE87z7B5VwzjEMHCdxjI1AFMsB+F4AbGUMd3Uz4ZP7Fw/bD3mOgidk0bLmCQwdsxHwYrqcGiM5Ku/hgH1OqQe72nrWrFo1wgd5iIIl5HZv80iO41cyjtWRtpO8DvYFyFJ9w5LqDZRGyCMUJCGLl7ZehSA/Rsn+kAboGGs6pCM3/c176v8gT1BQhNTVPcuPGf+jOxnId9GmA+zBDkHsmXrP3cMPQB6AgwLCmNPOvx5AvhvsI0PBGU7e/dCNNx70QB6gYAhZvPTIOGDsYZYJq2ZwWdUJrlWQBygIl7VgweEyd39uGxFyOmQSknxug7fmbcghCsJCSvs7rsw4GQp49uDq1eiGHMJOX5wR1NV96pIZ3gZZARv/7bHW8yjxCiQJrxe5j3Y2TaY+9ETGuFpJlko44Fpp+yMEoWnTuh8csnKcvCdk3Pgaukh2mtJJzQI4Iv9KSIKQy2e91Q96XD/bsWv7EiJ0tJKHiMCxoPNhgT+nPO26pkcEhvdtXjNpt2kFIO+Bl9CfE7IEJsOFU6agpYY6debrozif8yVOxqeovYw2EeWoOd3EIzRdcc12U2vPe0KQwfchi0CGwyZf3H5yIrlp1zSN5UT3FkqeAxbBgA0kah6Ydt32241k8p8QmZ0IWQQprYyTBbPWDlPqXiuXOdhAst+DFEDWsvzy6U2/1yvLe0IYgwGQZdD8WIVZeYXDU0+x4RRIGciYjIsuvf7d4bElBRBDWNbrKEnGZdNmbqumn9mQJhhjtW6Zmxmbn/8WAtgBWYYDuXajMpQcV9NPKdgA6o3NObnuWZc6rxAs5BvILnoFJxiPGWR2AdgEcse140pGjVXn5f04xOfv3E5auNCqPFN6/a5S4LiUL+2g4BQ/NSzlcISdQyJZkMfTT+R8eU+IIPveZJI0n1RteSwiCD5wuTzgcpdD0mBs670La7sMy5H1t3OQShFS4/7iCKn71fZaHv2n0EjTLYJFSEllx0vFCKrPe3D/UVdlhaeVGn5t3K6kFxn99NtLVuEBp7NMCZaBgt7eLuAdbuD55MaUDOXnTAVQ9gOzb04WZVlzcyxCSN28t0sd7eJyxvf8llpBuTL854O7RHeOaRiR7UgkQo0Mb7BfnCynlXNoKwxH2zr1zxtIyyCJbdDrew9KPRUwdNiZAZelQBC6iRDrvWYaFH5a07/qVXMp9hn9s22iU+ZdmhgZUaWzXZxH/e+5dH3l0QsOJpRtQzIicqir+Pg8DMz1mB8vnIcJj0cTeWQJg8HpHg6+7g6yqPcDJCmQJMs2Hr7GP86Zw3pMBRl+CDaBTtnZ6Ry0Q50XIGT6LW8OlBlbpCUCDYmIJcO6HFqQg5AcWpALk4bgcNWQPy4Fv/8YHD9+KHJOy+DwiRX11VsSiYlOeR3YBvbg1idG+TXVUP7JPey75BU9yRORjIKtyiVHRDSPI0KCtzJ6/VoXlxAMdpCp3WlFdPOTkw/SuVdD+miVRd/DsZlBl4WcS+2eYpEqEWHZRHJRBVuRCx5XXy54OXLIZVkD7haEnqnLF1U1W93DwxxL6WcfpAEygJUvrD//q9j8UAwRLFhFJuMEWpADCNchvm4pAtlGoZOdlewTJ2vXnn2UFDqDzp/qk5D3b1w78c96Bboj9dTjRLbcE+jWOQk005TM4oa7Kq+8556qJP1bEKTQd1CSLmRJWApdsZ8hrGpcO3GBkYyGkOwGYqtyaEEOAKwEcIQ9gPytvRKeuay+uiHdpxY3rZ+8p8tRQiNtbh4dvN1Mloh7TpLx3I3rJv4BTCob6fLrWYQe9N1TIhl9paUvp5XluPJHZGg7TK5oBNXKQ/e0e0gTrQzZPgGlN0rl6s+8Xma9L2wBLz91ujKqf6Cu7rVHe3n3xcAcE4jnEWSBDpS5o9R72wtMeqXx6cmfWDleYMh57a9fn0w3graB5cAeyLHsOqyMJ6J55q5JTy6cR+eZsfm5i56GAoZqUJy8gt1ujv5464rD0JbeMVWZXV0iiKIZiYlJK1QYuCxrLf3MMyrh1hvGgd147Mk98PKrh3TqYkxEoG7WJs/yGkFCBNCEd6vuycEHLcT2SvFcTD3MiNCWFzo0s71J+/8M6sFKcI/UDYMuT5b2L/vxZSvnVlaeCNVDTkKe7ol4PJWQHBjIsswji3nMlg7f1e2TW1raoMffC+mC6ivRzPROjrHHN6yZ8EY438RlWQvEmQCq/uudV103NXGI4kjq3Ywk3UFwah5TaDOoPOQQ/9AzZfQr90B5WSl89fUh8Pl6IB2EzjCJ6vjLK6Zvn9u4ZsJflIy4+yHJ9Ih27z0Of33oS22+Kl3R3wW/mH5i3H7rG7+B5uZuMMKXu45FZI3qprEgDHcKMt9ilPstw4dVw759B0GSk5miMQFCwxXT332rcc2kD2JclrmLiOYFCw4d7g78GcnWVJfoEILw4X9adZSenHuKplX7ZsmCXS4nuEvc0N1t12uKWEZD1MspESQkMFLCRAoJ/I8/VALSDKuQDhGgbyFZ4iMAl5OHbrAPyLjAHVEdl6UjjPYREbOH4fESuyfQWkg22cgA6KZaIKgYBvVgXupEoIlLV89R2UFEgXOhge5TJ8m5J0woYwQjMuKJiN2OL0veOvMTafWyEvl/M6hljbux0bS+VRSxhdhNhN5UeaRM55zJEREU0ksX+tIUAUKUmZPYCZBU3ZO694TGQcTEPemTFO+eoicrSgsJI12rCKXADKhz3KTdk46F5NciGakhQS8r8F8nDwzy0FQOVGIJA7hFIrRnLXwECVFGhirnmzEiolJx54i3FjCME0ZlxbDWVMJeVupEoG5HISqLBmkwtwIjkorETGJclj1kqKc7DJFinIgeF0Hr7TBYkQI3E80t3EgqXSJCZYbuC8MKtEZESEJbpiZCI1DYsHCDKpIyllMpUGtpBi4LMOU4ET6sdrQeJa0oxiEK4lu7ZktXRqMY0LEQMIN19xRrBajaUVNWBFHdZC4rkNLJC28bExHVlgElaKEnZRQnwvtr0iqhAoeBy7IeJ7TWo1WSSQiJcU8G1pKAiEhZeMdishD9cYEKBnHCbDxhxAgaWkVqREQJLnwrsdTLsuKe9C3EREGm7smMmMjJoq4KoQioCCJESPBx19TihJ5iEmkogfKNiIgti7GQYgjsur2spKfF1WUqLnw+EXaGHmYIQ3k0RxAxbfekly4GK9H2skz7+qEE6JEU3NZYGG20tffAnIXvgJUxhKGFGBKhqkOkrIhiiK57MiECdF0VgPXxhJmrAjCNEwYWUgyIzvYCWIsToO+eku7GqtNmZYYWomMtBcwKCyki/rks3ZYf456sKD8urVU+ahOW3BNqM7Rlhc2HUvnAq3UOVYa+FQBoB4wpKF+rzGSsQFUHg7JYuUIFY+yg8ht5HQF5des1sxYA6+7JuCcV2Y5JWyVClR09TgFzQuFCWbLDwELSJkJH2WZlhhZikQj1wQsQVPMuQeY+VtLBp06Y2BO/UAxadFWxFqVvXaEjmig/IqFjIfH10Sc/e69QybKdDQDf27J+4mElFXhVyQOuvXSx+6O9J9U9b1QFTMToPFSgCFXuQp0OKwkjacQoqcE0hncL/1ORpC1DiNYnko45btDvHodsQZTsI18G2RtOBwhpbLygA2VcHq98dSuPDeBaIjRKMrIKEyIMyzTKB5Ulac+BkrKoghDYZlmYP5FsIoQu4f3O5nO2hbcjbxa+tOmSh2RkM0jkQNxsrJGFgDoNcRYSZxUAhlYAEE9ExCowRvmacygLoO1Rqg18aFk/h8MFmYTyoo4g2EMIQ27h1q3Rd+fjmtJZN77vrDnQMgqdLHB1hm/TpfianbKbS9453+drmRXI0HHFCFahvLrmD+zhdJVBaWkF8LwDaoeeDv36DwGO48FTNhjsht/fC3v3JbU8ij5kvK/xmUmaZTZyMjf682sfuab5wMc2rTvFyCLcUOoZFPjtN2AIlJVXQb9+tbRdAiWl9q/DfPRoB7R82wbpgBpd0/NrJ06Kzc/JIpijTzhvi9DbixB6SSV1sIBFcJwTeAf98e7QmotBOJ0lkAkcP57uu1P4zy7R8Ru9kpzdPZg56/ltotgzGTIAxUIGDhqZ2qqkCaDEjt17/gtGDwEmBvuHU/Tcsn69/pfhcrZMrKuk39Pk/m0nhOM4IuM7GSFDQcexzlTJ+FqW2fxNz0zYYCaUM0IGeir/3g5sLvWSxoCNKC+vJjL6QYYgdPv8j1Mrn0puZ2giYSIOGeN2UGqdCPzjm585+2iifXJ6w/Pm296dL4r+eyFdUNxw8C4oox5VSWkFZAwIjzbcVXXDpZfudjsHtF1EY4ZLkMF4UmINBcQKpnwOBrGT4pjyFZ0d1Alc397y4mdbt3otLwmVU0LuuONAJVfm3k4XmtVvhKSILqcEY73eKkvfkkoVOV2Mf8WK4a3UJhZAAQBBXplpMhTk/OsIDYsHb6RqrIU8BoXw113SkZWQBeTF5yrQJ86jq/4c8hGMdXIg3OL1npr+EkAWkBeELF9e00KB8CqG+C3kF3qoTjOW1Q/9ArKEvPmgy7L6wV+IDJVPAGVvDt0UeJzmERYvq6/aBFlE3j3nt3jpkSn08y8MLH2eM0jIsVnLFw1+ErKMvPvkEbXIrdROzmbBz0LkAi0gS9NyQYaCvPwGleK+HJLwU0S5EbIIagQfyBKb0rCk9gXIEfL+0eRFf2r5HbWbet0v7NgEUoJIsxxLnHLVA14vs3MZrFTqkv9YsqR1uOCQbuaA3Uqxxc65Ebq7JT/l84tL728YlurC+raioB7ev31Fx0Be6l1Ac0RX0/hgNKQA5c4vXfQBuhfzInW1711WX70b8ggF+TbF6tW73Yc6BpxMlf8J/f2QZlRPoqmNIRQD4j9Oz8BHc65HGOAuKm9CJv/bKQofer3DcuqajFAMq1HA7NnorqhqHyvxwlCGfDXdqy7jAHsZcq2iA/cPdEk7F5p9Cq8PfehDH/rQhyLA/wGnd+vkSPDERAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABhJSURBVHgB7V0JlBTVuf5uVfUyK/vOKMogwgAKAsKwygxkYFgFWWQRBKNBNGo0xjyj+BKTY/b15BxzkryjiSe+nPg0eeblJfryVDQqIAdmYRhmmI0dYWAWZrq7qu77b1X3TM9MT3dVdTXnvDgfp5nuWv669/73/uu9txhcAOecAQcVNB5Mb7sayGKyR0FAZfAyHWhH8vDDL3EJXOXtXONwBX4gyCW/TyGarbz3Y3HKlDYAaG1sQSivFWMWBhhjSZeNwSEMJlx5pX/7hbemKIGaeUxruQVMu57x0CDGZS94kIHRRT2KyGM8NuqYuIGzHuc4GBPfmXmgG53w9y73JniO+cv4EaHJzfNRxyKFZz2ex5kok8KZJDXqunSWS2llOhuyT+037cP0nGfPEXM0OIBthhAj5GDZA+MlXr5K1ptWA+oEOphJBWBdCm00jB59J30k9Kxk+Jy4nkXuYd2K2P1Yonsiz4tBp+MeHufaxM8WXSPCOm52Bh26HgRT6jnz/F1nw15Thix6nw1/ohU2YJkhxAgJ9Y+O0a8c3M70xm00OnPodilSwD50BbVIi859f+Xe3B8pE179gPqrauU+SwzhpaVeTf7achas2itxbSL1Btm8NbrH9yEGxDC+pKL/T5QBc3/Brvv26UQ3JGRIc9V3hvqu/v5JRW+9jxiQRXrCGKTmrY5V0GcLHKomefcFPZO/mj7hpX/EuzRui7aWbxnhC5Z9X0JwDelLHySOPiY4gxgqXGfVUubkXch95d3eLDKpVwJnfz7UF6r4sYTAXTQifFyKIt0H2xBqX5J4Lr9a9qJ6dFWh6SrEvK4nGmv29s9qevOHMto3k5WhoA+uQuXycd03ea1vwm9Lup/rMUKEWZtx9aOtEm/dCN7HjFRAZto4OXD0+daKPSO7n+vBELVyeb4UaHiCjGwf+pASmPZpYKk3cGiPGADR57owhF94I4u1nXtMlvmoiLvah9SAnEpFRtPW0LFNU6OPd2FI8Py/FcmsfbFVh0+oJS7L9PHQR6GPFP6rhI9HznnoSVbNZPKCJTlMSwrTUKJ+Rx2TZFgxMsQVuhQuq2Tex6k8nZ/IMcn4fq16Ij15hBSsfZTzUm/kWIeO4GdfytDO/OA+SHp65PJEBTtWp2Dp52W6SqdKCx5GGoiHvwvoxu/8aR786Il2DB4oC0XVK00RENj0JRUfHTElpmloi7CQJzqSZNDNyPTihcf9KJ7dmqDiwDsHPNjxVVFGQUsy6HVCDZfX7IezpzJ88xEZY4a1IbXMoS7CrxSHan56K/34OFJW89TxXbN464d/ocbtFw7SJCZHwdwZGzNwuFwRkR3zGHqrAkfh3ABe+S75rYLlPMK4nnjz/XSsflBcIlMTsZhUzWiSYIuGnzwL3LeqjWRAnNFCdcrf6sP+wxHG9gxgRv/KzlLxvac4thSrxKpQCtnCucoG/EiZvO8JEV6RzENcVtuPraWQSLatcAj15ucfjQTfdOPDer2X4a19fizemYbzl+M/o2BmG1YURFgRm8UsPIJJFOPh5yRs+LIPbSqNKp31Vm/8/GlqXFkLs7Irte6/mptl3EcjatYGBQeOpSN1YEzizUWofXCw+GWO0RMvZFLkdi4zamjdGxdXzZ+q4rqRobDIkhLee7hMxty7dTR86kFvfqmfBOnuTW3hOCpLWAZGdP74lhdzNuuoOpfWK6+njFexcaU1vWMyW8aRCg/mbeR45Lt+XG6VkQpIXM1pb/v0JuO7eeTCCI7QODhAmkfF1tVCh+iW76k9mYk77vGg+kxEjndrdOoUBdN1LC/oXax1h6BQWkEjcAfDa+/4wqOgqx4Ufe2Z+1vRL8tetEHXPfjZy8SYbR78/m3Sv5LL7hlDmqI3TqdBbFpTWnv5OCp2JhyB4ZFtEtJ8IdgJq9SfVLBwiweVZ7J7ocrx5Z3tsBi17rjr5BkZGx4hA+LVTNIuPXv0DSM07NmqxRGtvVFmqKjy4u7H/LjrMQW156SwOHUjlMQkpjVPhGHnGQ8LXU90vXCI/mlXse3OxOKqO859yjB3YxD7Kzwxz8+axDF3JrdVZWNMkG574pscu59PQ0tb2IwNW3aiYb90r4rxudZHdBfa9Hnjb15MLPbgxddJbwUkuIO2MadP/8kniSCXrvtGMGavMbuC4QsbdPj9dnqzeV/jZS8W3+vBH/cZplfX09SIP/kXHdxBLxR65df/DszdKqOkxt+lr2R5Qnhmj2mOO4Ua8mHPsz7Mv8eHD0q8SHakMK4Ny2p5J53Y+xwVNehHksi7sQ1FC5jtYol2ukrK8t6nZPzn+92LwTHxugCWL3KUnjaolx/3YuVuP97+JAPR6eMV84OYOVVPqhnFaDt81IM7timk9LNJ6UtJ0JP9Wf2yhMh6lpxoLiVraIsk4o41ZK87y+2jqQlY/7CEX7yukHkQJf5o5P7rF0PIyHBe1VOnNSzfxfDCSxloC5rGtI/M3x98RZQ3WR3AjBjsz14GZm7w4w//40MgZF+Mmc5vnHyIfXAsvC2E8Tc67XWkyVQP9jyXhhd+FexyZsoNKlYscia6ItA0GU9/T8IXvpWFplaT4TNuDmDbWpfUMv2raVCw8VFS/E/5UH3aC3s6VdVami9yFxkiTGAdj+wQ35w1ndF3ybF79sfZ+Nav02DOIRK5Nh33r2+D12tXR3WnL+GV1ziW3J+GipNkGjMZT25vRv9spyKxO30YkYU//k3BZPJ3XnxDKH17okeK+t+FEjFsLgoiKzPJCnIFz/xQwgNfz6CgoGLwZPYUkL/DXejNDAdLGAq2K3iNxEtuDrDrrqBrBqz5BEZKn0b7Mx5sedpvdCirMGIYenIdrwv85Cg+uRtgSVdPwq9+L2P3N3ykU2RDxj6+nTvWUdEQI+XCBQpiPsrw7Vey8OVdwLDBKuya7Ykgus/sKTpgw4I1hKnkquBi2FQYRL9s+3Z+VypmT/vlqwru+VoaLjUpGDsygIe2J0e3C2gkPv2Cjoe+QfGwHdxWtMEKKOGBtYtFB7LHEJeLAYwermLxXHe4LKryuz/JePD5TDS1MTy0RUN6mjsy36Qv49U3PfjNG34M6e9mS3Dk3aTh+mH2aErmf64OEWO20INbKJfA3FKWHH/4C7DqoTSkkbm6vMBFGQuT6RWVGj697GY7MKz9HDfzcjYQLoHbYwSYMymIxfMklxSl6Tu8f0BG4U4fvrRThqIE4CZEOT1ep/ZhTzDKFW0qNlMSdiA8dYpmwn2QRb2+qMVwvNyx88MBvmoFd32RIsFL3M1RZKQFMXGcN2G43yqmTJRw3XD7ncb01FM02WfDEglT83RXbRdBq67eiz+/HXRVCc/Pz0BVTRPcgOiChfkBktj2u6Kp1N0VyR0QJvCW1UHX7PtOMAQCZg7cHdoct01qQ+tVd2Y+eRRyPvNVRx3RVOru6vQoMKxewCkh5J5VFEG/fqIXudOTZEnF2BxRRncygjeN1ZF/C7Plf0SQMlZEkDNUx9Y1yYW6e4Lj1jzZMFndEId3LpNxtYW54MyatVycH6LgpUjYOWJIipR6Bzge285dM4EFhg7RMTDbLWHFsXFpEOVVkXksyULFsnmJp1D1BlOpp3SccOQMDGDaZPcmCGxeEcKpc1YnK8RHVoaKO2bqqDPy+8nTG58rUbjEOR1Tqad0hMCYtXix0R2GyJTt27VexvETQbiBYkp+ZXg4TjS4Y2ounaeRMROCU6RYqZs4d1lB3UnnhYzG9EkMHjmIy1eSL7QQUp9fL0GX/aiuaU1aYAmRV7xA6/jlBClX6gKHj5LH4ELqRcxS3LEuiJLjHmOCXHLgGDVcw5zJQSpfkLJ8yZu8A7JVsq40xJu/mQhm+D2FIksU7UiVP2qiqXOMGk6R5CLgw0ORAic3MaNgljlF9EA5koYYbUvma/BIgbhzlxMhBeH3rhCzWf78TiSt67wBxf2rCsic9IiJ2B4X1K+O3ZtlowWqGyRXQibb79TNkcucN2jKlbqYiVFyLPnq+ih9u26JCi2koLo2kt9zTjXvJh235AbBdI7KWhlIsoRDB+qYMSF5RzXlSr32lITGKzxpp2vGLRz5U8lAaGQ4czE54SfuXbaQQxG+EVW+/hSSxoxbgez0WLs+2ENqlTrJ0oNHTY862UdtX0sZOB7C0ToOTU2uRyuKijUFQSO00Uoiv+GslCSDOdYuCQAuZOY7lbr7EUBjhdWh8uTFVWaGhsKZ5q5ClSfEWpTkCjz7NgmTx0kGiQuXGK5ccU5L3DmAYnWrC5kreiis1HW38/sGGFPwSXny229sWkkW1iDBBAlHqiPznZwVWPTmFQtD8IpYEzms1SSudO68+uK+ObMYMj3uJMzCSj01kqvmlIbqejmpniNyHpuLW2AkcmUZH+zXwuxwxmSZEmafm6OKnaMM6oePiZBJMlEEHWsWuWcVmUo9RQmq0ioFlxuTk6vjbuSYNcksYGOTjIoTzqKoCJdi/mwdE8YAkY28DpV3nnOCrGwd86eRP8PdaUSTSkpSuMDHZZKxyM25hcXxxC6Neo0ZjqisIUrck4R44bh3jRgdwjw1p5OWHFcQ2cnLCebPZBgzQnVNB3f6IW4rdeqBB8sUoxGchrWzsziK5nba9hV1Qrw4F3/plIafN63Tf+GSF7X1KpJRn0L8udl2nX6Iy0pdrAU6cgxAEhqkYA7HiOxQeNIJyfsK540n2mzWVBUjB3Wu9Dp1nlPa1nn5JMo0Fs12V7ykLEFVUevF2fNwDnLa7r2zrSMNKqaTllU7t64EE+67SzOm50QYcrxOLNp1rtCnTWHIGQFXkbIE1f9+LPIVHjiBaK6bxzEsntVZsCuUYj1W7dyBy0jXUJQfmdYZXnxMUQTGnRsIm5eHqJu4O1/AHCFwHx+W+JMKl2xdRYXTO+V9VQPHybPOK79soYZ0n4roHU8PVzrviWIx6rL55o4SbsIYIW5zhFO0s9QIKDqzFvqT3lg5r93YKSKy0rWiRkRknVlYOtHZsU4xZr13ECBReLhUd+yB3JonYcxw3XVjKCXBxSZSlNV1kf1P7DahyCswjL9eN5w3Zh5CSbXi2DzIoYZbMK3rhs7tQRnHTkhQHfVGjvXLSB+JCW0uG0MpEVnlNTJZL4rjst5dJEzdaIeS42i12WvssxdYvoi0mbHevbOm5y6TXmpm5qixCUXRsXpByNhM2W24rtSFiDlQ6nHse4wYrmLR7WFREK4wZ14cqxH6w0nX0bFivtpDeZ86w6BqYnMbezRFsXJvFBsQqGAuiysB16eSCkX+X+/qjj3fR7YzpHlDiK7txWYJZ856HImsSeMptDEd4aHVef/RmsgveyUV9yzJp/pJyYfaY8F9HSL7cKTCGUHOQlg+V0RNuzZ8aZWMtoD90WFGdnX4eixd4Kiqd9acnLTOxmLN3BwiBRFy1z2QmlMcZy/YD5eIxplLcaFxOVqPM+/uV6mgcthIsA5RgtWFMbx7Mhaq672OzPKbxnLcNj5kiEC3li5Ew1DqbkJEeJmDgKJY1PnkvSHEEnafHDX3K7FLczI13LSbe96j0yiurHG2yHPZPMnIw3NzDZHrMP0Qt8YJ9bx/lHjCKVt7GDmMYcFtMWweUuw1J53MmeKU9iUxp/WcoPfpJVBe3okHQt7+gih6qRJZrsWySBn99d1I8M56aYWAW0miJc0jwi1dC9Ma8KKiqg12ISucerMWnpLTtSzHGzQ0Ntrv4CKcM/cWc3SkgBcGpI7/XMD5Roly3vYnIEjkI+y+O3YphLkrNhCzA9HQUyequGFU7O046s/4jb207Dbqots1+ORAOAKRGrim1EXFK+oYrrbbI2lk8W6XMH507Jz0Jw5TrDvWwZD1PYOHHKXHiR3cbjl1LF+ogdsc/XbhGkOE9D98VDScvQCgqNo9d4qG02LKkHc/tt8b0/whynObL0lCT36gqlay3csHD9Qxc5Ie1o+pZogbbOE69pfZJyQ2lFkyK2huyty9nvS7vMp+QHH+TBmDs2IvVxA8P3FGsmWWmzpOR1Z6ihZjRsE1T11lPsroSbY3IdixXseQ/qbl0r2JWttlnDxjbtNsFaLx7lzc+yjlioLjx+2G8YlmoZoaT7AbXPPUyysDqGmwl0AS88G2rDCjJLGqWneW4eJlewJiyCANd8wImpOtYqCmwYMWG3pOUMnOVJE/xfnUIztwTYeUnfCirQ22vOlb8jhm3Bw0NhmIBTHLxA7E6CiYwzBmpGbs6R4LH5UEbPlJgsq82xVk+iMR6NTCtRlZH5eZ2x5bZYeo2he3c3OKTy9h7PIac3NmO9J+5QJqcN38HuvGynq720tybFgahF3fyincUerkoR+pUGyR8VE6tWhWWPHG6Hiit5shE+vW0KgROgpvD5eC6THLWVljbwtCsc1U8bxrMzoEXFHqmuwlk9fWLVhGZulAsfMcj2WbirSrD+9+ELQcwBPNtfZzOgZkBsLkenYPMTVJOK52xlz+dIYs6jyMuSbd48IVpX6AxNWVZuvSTyjzhwzPPDzJO0amp+akhsvN9sTLqoLexZ9Ae0DC6U+t93VxXfH8IFjqJZUI8TCxtXhkA7Oktux574C9cPvNuTrmTGnrVZkLHKsB7OxDOqi/itmT4l99uYWSXReta4I0UuSbisW3azE6FBmysW8vNYuOq3AITnJ5f6n1nZ2Fr7thaQCS2BiS9aYfKId+wmvLRFi3TCy4jLf0mqLGpyjIr8uWmTxnuo5Mrxtvu04M4zXOrD+NE2a8VbfF8QiRZJRUWk/WZFBYY+c6Ka5oEeOirCpSoMR0xZU7VmsJHDdS6A2RiRdWKsuxfIH4k5pXVPSE3oT+4UggkzLEKjtHs9DONSqorbcmXIyUaiEwNEtDvFW5KvfgWK3X8rKc8WNV3HozElzN8dFhINFVnVerKF5A41lK0fKy7s9jnvNo2Wlu7R9SW+toyDjaq6KyTqb7meVg3bZV3BBV8bzecxfFznHW+8fdK7l4KQoSTQMRq4Gtrr7Kny7h+uEhmGvOU67VOWO+CowebTKk3TOlnhrJwdRojnf2mxFQKyJL7JywYFo4gRWn7cQk6KYWi4EKyqVsXa6HSxMHEo26at3i6ADuKgqFI9DXwsQS61j7HST1Ya5la8m87hzgL4VNiLK+/ZEnrvjpuJY+e7Zo8MrBBC1H+YoqM8tnpSlmTJEwanBbwn5/7hLH5SZr+kCRdSzJD4+Ma2Dz0pMugY/4RHw3GDJ69KPtqjTkv8ULw+wQEs7bkTJr8lWspVi1UDVNXRYvB8pQUmV9QsOyhe3hGSmIy+gTDSRULTp3kydwjBvl/k7XvUHnvlJv3ppa8d1U6mRpaUrunziUU3aGaGmVhqbWTrsl3mdNEZCboyXedYKYVV5pZgkT0Uyn/MTaQuMmJELVKWKbBR6LS3auuzaKPIyg7hn8W2ClMXGgoybkT0hq6YLvy/rFh5hFT+gsWVj/8XaEQJiU8C2EqWj8NefKiAExbxpD3o2Jt2jS6Z7f/c2Dpia9w9mMNhi4Eak1jYKB/RnWUe5DsrDZy5FqCR8cMoOVpkHJor5HYFZbLKO7fhi/BtJK7JIkl0r91i5mN+w9C3TrWoGqByZ5Wt9/nSo81npZWAfxRA9PiQgwyFqhbf3518SugpFkDWnKgKeUSe99P/LC+y4jwTv250c1ZL1MwtbGSsaIAEmEFFWx25zdBBdaJ5lyiLUW3g/bBz/8Eot6zU8XhtAJTcm49Ve65H0PjtZ29MEquM4uBpVR38kasf5C9PGeumLsz07q6bMfJ1necA0V22cK1KoBrox4wZe39y/dz8WYucm4J/enh7hn2OMU6riEa5QH+KyAjCdVh/dlKf3GXzA2vYeVE7O1BVNkPuB11Tv+K6R4xJDqGyqugId0ZP1GHvPgk2zsi1diXRFXSQhTOFi2eqNHrfo6MekG81XMfXrFGVizhrSXZbn4a2zS3ku9XRVXHonYijdv6u+Yf8wuDu8+zlO0j9M/NUTGCA0haeTTsu+Br8RjhoCl1hWvZ8Xp+weplyruJ8fxfhJgoxnr40x8CEawVp0rb8nZt+3FDb8sYYwlDInbalR6hBIq25gnqbW7JXZ1Kbg2irE+rd8VXHCiWWfefZqS86J3+LS/Y+DeZmbxlaKOejk90Rus2j5Oaa8t4HpzIeOhyZQcHUqDxmvETRj7jIweHtnXIEQy5IoOuZrL2e9BGfqmMvSOQ2zQw7bfEJN0w3Fe6m2v+OlIhV8cx0OnchkCORTG608ZF4VGqEX65vZ9/69ghNpYsw7/ed07rBq6VOEd8lwdBo9vYUm8YNf1nmzom8+O5jcanjH3Vqz/H0TQNF886/bsAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\""],"sourceRoot":""}