{"version":3,"sources":["webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/utils.js","webpack:///./front/redux/moneyball/candidatePages/lookup/utils.js","webpack:///./front/redux/federal/profile/utils/keyDetails.js","webpack:///./front/redux/federal/profile/utils/districtInfo.js","webpack:///./front/redux/federal/profile/utils/staffers.js","webpack:///./front/redux/federal/profile/utils/breakingNews.js","webpack:///./front/redux/federal/profile/utils/largestEmployers.js","webpack:///./front/redux/federal/profile/utils/index.js","webpack:///./front/redux/grm2/transformers/toBE/cards.js","webpack:///./front/redux/grm2/transformers/toBE/tasks.js","webpack:///./front/redux/grm2/transformers/toBE/filters.js","webpack:///./front/redux/grm2/transformers/toBE/index.js","webpack:///./front/redux/dashboardV2/common/workspaces/transformers.js","webpack:///./front/redux/moneyball/pacRankingPages/lookup/utils.js","webpack:///./front/redux/dashboardV2/trackItems/constants.js","webpack:///./front/redux/tags/utils/constants.js","webpack:///./front/redux/moneyball/committeePages/lookup/utils.js","webpack:///./front/redux/moneyball/individualPages/lookup/utils.js","webpack:///./front/redux/moneyball/corporationPages/lookup/utils.js","webpack:///./front/redux/moneyball/disbursementPages/lookup/utils.js","webpack:///./front/redux/dashboardV2/common/subscriptions/utils/constants.js","webpack:///./front/redux/dashboardV2/common/subscriptions/utils/url.js","webpack:///./front/redux/stakeholder/common/utils.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/trackedEvents/federalTransformers.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/trackedEvents/stateTransformers.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/trackedEvents/index.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/index.js","webpack:///./front/redux/federal/billProfile/constants.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/positionTransformers.js","webpack:///./front/redux/dashboardV2/feedPage/actions/position.js","webpack:///./front/redux/dashboardV2/feedPage/actions/tracking.js","webpack:///./front/redux/dashboardV2/feedPage/actions/linksPreview.js","webpack:///./front/redux/dashboardV2/feedPage/actions/tags.js","webpack:///./front/redux/dashboardV2/feedPage/actions/lastVisit.js","webpack:///./front/redux/dashboardV2/feedPage/actions/socialMediaPosts.js","webpack:///./front/redux/dashboardV2/feedPage/actions/keywords.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/keywordsTransformers.js","webpack:///./front/redux/dashboardV2/feedPage/actions/bulkActions.js","webpack:///./front/redux/dashboardV2/feedPage/actions/advancedSearch.js","webpack:///./front/redux/dashboardV2/feedPage/actions/index.js","webpack:///./front/redux/state/billProfile/utils/transformLegislator.js","webpack:///./front/redux/dashboardV2/feedPage/actions/trackCommittee.js","webpack:///./front/redux/legislator-distances.js","webpack:///./front/redux/select-all.js","webpack:///./front/redux/grassrootsReports/constants.js","webpack:///./front/redux/dashboardV2/trackItems/utils.js","webpack:///./front/redux/positions/utils/transformers.js","webpack:///./front/redux/positions/actions.js","webpack:///./front/redux/state/supportedStates/constants.js","webpack:///./front/redux/moneyball/vendorPages/lookup/constants.js","webpack:///./front/redux/grm2/recordTypes.js","webpack:///./front/redux/events/utils/transformers.js","webpack:///./front/redux/globalSearch/transformAdvancedFiltersForBE.js","webpack:///./front/redux/globalSearch/transformers.js","webpack:///./front/redux/socialMedia/feed/utils/index.js","webpack:///./front/redux/socialMedia/feed/utils/api.js","webpack:///./front/redux/tags/constants.js","webpack:///./front/redux/tags/actions.js","webpack:///./front/redux/appliedSearchFilters/actions.js","webpack:///./front/redux/stakeholder/Lookup/actions/export.js","webpack:///./front/redux/tracking/utils/index.js","webpack:///./front/redux/appliedSearchFilters/utils.js","webpack:///./front/redux/subscriptions/utils/index.js","webpack:///./front/redux/subscriptions/actions.js","webpack:///./front/redux/news/common/constants.js","webpack:///./front/redux/state/regulations/lookup/actions/data/getRegulationsData.js","webpack:///./front/redux/state/billProfile/utils/sponsorsAndCosponsors.js","webpack:///./front/redux/federal/profile/actions.js","webpack:///./front/redux/stakeholder/Profile/actions/contributions.js","webpack:///./front/redux/stakeholder/Profile/actions/contributions_last_sync.js","webpack:///./front/redux/stakeholder/Lookup/actions/tags.js","webpack:///./front/redux/stakeholder/Lookup/actions/lists.js","webpack:///./front/redux/grassrootsCampaignBuilder/constants.js","webpack:///./front/redux/district-maps.js","webpack:///./front/redux/action-center-manager.js","webpack:///./front/redux/grassroots-settings.js","webpack:///./front/redux/organization/individualAssetSet/reducers.js","webpack:///./front/redux/organization/institutionalData/reducers.js","webpack:///./front/redux/stakeholder/Lookup/utils/updateStakeholdersAppliedItems.js","webpack:///./front/redux/stateLegWatchlist/actions.js","webpack:///./front/redux/staffers/common/actions.js","webpack:///./front/redux/staffers/common/utils.js","webpack:///./front/redux/local/localExecutiveLookup/utils/index.js","webpack:///./front/redux/state/executiveLookup/utils/index.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/recentEvents/federalTransformers.jsx","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/recentEvents/stateTransformers.jsx","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/recentEvents/keywordTransformers.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/recentEvents/newsTransformers.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/recentEvents/generalTransformers.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/recentEvents/socialMediaTransformers.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/recentEvents/index.js","webpack:///./front/redux/news/common/analytics/actions.js","webpack:///./front/redux/news/common/analytics/utils.js","webpack:///./front/redux/notifications/utils/transformers.js","webpack:///./front/redux/notifications/actions.js","webpack:///./front/redux/federal/agencyStaffersLookup/utils/constants.js","webpack:///./front/redux/federal/agencyStaffersLookup/utils/transformers.js","webpack:///./front/redux/grassrootsPortal/constants.js","webpack:///./front/redux/state/billProfile/constants.js","webpack:///./front/redux/stakeholder/Lookup/constants.js","webpack:///./front/redux/events/actions.js","webpack:///./front/redux/tags/utils/index.js","webpack:///./front/redux/stakeholder/Profile/constants.js","webpack:///./front/redux/dashboardV2/workspaceSettings/constants.js","webpack:///./front/redux/state/regulations/lookup/constants.js","webpack:///./front/redux/state/legislatorLookup/constants.js","webpack:///./front/redux/federal/billLookup/constants.js","webpack:///./front/redux/state/billLookup/constants.js","webpack:///./front/redux/dashboardV2/feedPage/utils/index.js","webpack:///./front/redux/state/committeesLookup/constants.js","webpack:///./front/redux/bills/transformers.js","webpack:///./front/redux/federal/legislatorLookup/constants.js","webpack:///./front/redux/stateLegWatchlist/constants.js","webpack:///./front/redux/moneyball/receiptPages/lookup/actions.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/advancedSearch.js","webpack:///./front/redux/stakeholder/Lookup/actions/advancedSearch.js","webpack:///./front/redux/stakeholder/Lookup/actions/index.js","webpack:///./front/redux/state/regulations/utils.js","webpack:///./front/redux/state/regulations/profile/utils/publicationsTimeline.js","webpack:///./front/redux/federal/committeeProfile/constants.js","webpack:///./front/redux/federal/profile/constants.js","webpack:///./front/redux/dashboard-discovery-keyword-manager.js","webpack:///./front/redux/dashboard-tracking-center.js","webpack:///./front/redux/grassroots-campaigns.js","webpack:///./front/redux/moneyball/pacRankingPages/lookup/reducers.js","webpack:///./front/redux/federal/committeeLookup/constants.js","webpack:///./front/redux/stakeholder/SmartLists/constants.js","webpack:///./front/redux/advancedSearch/utils.js","webpack:///./front/redux/moneyball/pacRankingPages/lookup/api.js","webpack:///./front/redux/state/legislatorProfile/utils/keyDetails.js","webpack:///./front/redux/state/legislatorProfile/utils/publicRecords.js","webpack:///./front/redux/state/legislatorProfile/utils/index.js","webpack:///./front/redux/dismissibleAlert/actions.js","webpack:///./front/redux/fileUpload/actions.js","webpack:///./front/redux/dashboardV2/common/subscriptions/utils/index.js","webpack:///./front/redux/dashboardV2/common/subscriptions/notifications.js","webpack:///./front/redux/dashboardV2/common/subscriptions/api.js","webpack:///./front/redux/service-terms/actions.js","webpack:///./front/redux/grm2/actions/linksPreview.js","webpack:///./front/redux/grm2/actions/customFields.js","webpack:///./front/redux/grm2/utils/card.js","webpack:///./front/redux/grm2/actions/cards.js","webpack:///./front/redux/grm2/actions/filters.js","webpack:///./front/redux/grm2/actions/export.js","webpack:///./front/redux/grm2/actions/sort.js","webpack:///./front/redux/grm2/utils/tag.js","webpack:///./front/redux/grm2/actions/tags.js","webpack:///./front/redux/grm2/actions/timelineDefaultFilters.js","webpack:///./front/redux/grm2/actions/analytics.js","webpack:///./front/redux/grm2/actions/namespace.js","webpack:///./front/redux/grm2/actions/resetData.js","webpack:///./front/redux/grm2/actions/index.js","webpack:///./front/redux/grassrootsPortal/actions/utils.js","webpack:///./front/redux/grassrootsPortal/actions/formSubmission.js","webpack:///./front/redux/grassrootsPortal/actions/customColors.js","webpack:///./front/redux/grassrootsPortal/actions/data/fetchLegislators.js","webpack:///./front/redux/grassrootsPortal/actions/data/fetchCustomRecipients.js","webpack:///./front/redux/grassrootsPortal/actions/data/fetchRegulation.js","webpack:///./front/redux/grassrootsPortal/actions/data/index.js","webpack:///./front/redux/grassrootsPortal/actions/messages.js","webpack:///./front/redux/grassrootsPortal/actions/index.js","webpack:///./front/redux/globalSearch/actions/results.js","webpack:///./front/redux/globalSearch/actions/summary.js","webpack:///./front/redux/globalSearch/actions/index.js","webpack:///./front/redux/staffers/transformers.js","webpack:///./front/redux/staffers/actions.js","webpack:///./front/redux/staffers/utils.js","webpack:///./front/redux/local/lookup/constants.js","webpack:///./front/redux/tracking/transformers.js","webpack:///./front/redux/tracking/actions.js","webpack:///./front/redux/news/cluster/utils.js","webpack:///./front/redux/news/cluster/actions.js","webpack:///./front/redux/lobbyAlertsPortal/actions/submitLobbyAlerts.js","webpack:///./front/redux/lobbyAlertsPortal/actions/index.js","webpack:///./front/redux/donorLookupPortal/actions/fetchDonors.js","webpack:///./front/redux/donorLookupPortal/actions/index.js","webpack:///./front/redux/publicRecords/utils/index.js","webpack:///./front/redux/publicRecords/actions.js","webpack:///./front/redux/exportReport/utils.js","webpack:///./front/redux/bills/constants.js","webpack:///./front/redux/state/regulations/profile/constants.js","webpack:///./front/redux/news/news/constants.js","webpack:///./front/redux/moneyball/individualPages/profile/constants.js","webpack:///./front/redux/state/committeeProfile/constants.js","webpack:///./front/redux/exportReport/actions.js","webpack:///./front/redux/subscriptions/utils/shapes.js","webpack:///./front/redux/grm2/transformers/index.js","webpack:///./front/redux/moneyball/committeePages/profile/constants.js","webpack:///./front/redux/customFields/constants.js","webpack:///./front/redux/publicRecords/constants.js","webpack:///./front/redux/organization/manageOrganization/constants.js","webpack:///./front/redux/advancedSearch/constants.js","webpack:///./front/redux/moneyball/candidatePages/profile/constants.js","webpack:///./front/redux/socialMedia/feed/constants.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/trackedEvents/commonTransformers.js","webpack:///./front/redux/moneyball/smartSearch/lookup/constants.js","webpack:///./front/redux/moneyball/corporationPages/profile/constants.js","webpack:///./front/redux/rolodex/stafferProfile/constants.js","webpack:///./front/redux/documentView/utils.js","webpack:///./front/redux/documentView/actions/summary.js","webpack:///./front/redux/documentView/actions/tags.js","webpack:///./front/redux/documentView/actions/sharedDocument.js","webpack:///./front/redux/documentView/actions/details.js","webpack:///./front/redux/documentView/actions/exportDocument.js","webpack:///./front/redux/documentView/actions/index.js","webpack:///./front/redux/bills/actions/index.js","webpack:///./front/redux/bills/actions/tags.js","webpack:///./front/redux/bills/actions/subscriptions.js","webpack:///./front/redux/dashboardV2/trackItems/api.js","webpack:///./front/redux/dashboardV2/trackItems/actions.js","webpack:///./front/redux/dashboardV2/workspaces/actions.js","webpack:///./front/redux/dashboardV2/common/defaultSubscription/actions.js","webpack:///./front/redux/federal/hearingCalendars/utils.js","webpack:///./front/redux/federal/hearingCalendars/actions.js","webpack:///./front/redux/state/hearingCalendars/utils.js","webpack:///./front/redux/state/hearingCalendars/actions.js","webpack:///./front/redux/state/supportedStates/actions/index.js","webpack:///./front/redux/state/supportedStates/utils/index.js","webpack:///./front/redux/legislator/lookup/actions.js","webpack:///./front/redux/votingRecord/actions.js","webpack:///./front/redux/moneyball/pacRankingPages/lookup/actions.js","webpack:///./front/redux/organization/manageOrganization/actions/apiToken.js","webpack:///./front/redux/organization/manageOrganization/actions/companyInfo.js","webpack:///./front/redux/organization/manageOrganization/actions/contacts.js","webpack:///./front/redux/organization/manageOrganization/utils/index.js","webpack:///./front/redux/organization/manageOrganization/actions/index.js","webpack:///./front/redux/stakeholder/Profile/actions/tags.js","webpack:///./front/redux/stakeholder/Profile/actions/smartLists.js","webpack:///./front/redux/stakeholder/Profile/actions/lists.js","webpack:///./front/redux/stakeholder/Profile/actions/reset_data.js","webpack:///./front/redux/stakeholder/Profile/actions/index.js","webpack:///./front/redux/dashboardV2/constants.js","webpack:///./front/redux/stakeholder/SmartLists/utils/index.js","webpack:///./front/redux/stakeholder/SmartLists/actions/data.js","webpack:///./front/redux/stakeholder/SmartLists/actions/list.js","webpack:///./front/redux/stakeholder/SmartLists/actions/builder.js","webpack:///./front/redux/stakeholder/SmartLists/actions/index.js","webpack:///./front/redux/grassrootsReports/actions/fetchCampaign.js","webpack:///./front/redux/grassrootsReports/actions/fetchStatistics.js","webpack:///./front/redux/grassrootsReports/actions/charts.js","webpack:///./front/redux/grassrootsReports/actions/index.js","webpack:///./front/redux/organization/individualAssetSet/utils/index.js","webpack:///./front/redux/organization/individualAssetSet/actions.js","webpack:///./front/redux/dashboardV2/workspaceSettings/utils/notifications.js","webpack:///./front/redux/dashboardV2/workspaceSettings/actions.js","webpack:///./front/redux/grassrootsCampaignBuilder/actions/customRecipients.js","webpack:///./front/redux/grassrootsCampaignBuilder/actions/index.js","webpack:///./front/redux/rolodex/stafferLookup/actions.js","webpack:///./front/redux/state/legislatorProfile/constants.js","webpack:///./front/redux/federal/billProfile/actions.js","webpack:///./front/redux/moneyball/committeePages/lookup/actions.js","webpack:///./front/redux/moneyball/individualPages/lookup/actions.js","webpack:///./front/redux/moneyball/corporationPages/lookup/actions.js","webpack:///./front/redux/moneyball/disbursementPages/lookup/actions.js","webpack:///./front/redux/moneyball/candidatePages/lookup/actions.js","webpack:///./front/redux/socialMedia/feed/actions.js","webpack:///./front/redux/state/legislatorProfile/actions.js","webpack:///./front/redux/state/billProfile/actions.js","webpack:///./front/redux/local/lookup/actions/data/resetDocuments.js","webpack:///./front/redux/local/lookup/actions/tags.js","webpack:///./front/redux/local/lookup/actions/data/getDocumentsData.js","webpack:///./front/redux/local/lookup/actions/data/fetchDocuments.js","webpack:///./front/redux/local/lookup/actions/data/index.js","webpack:///./front/redux/local/lookup/actions/export.js","webpack:///./front/redux/local/lookup/actions/advancedSearch.js","webpack:///./front/redux/local/lookup/actions/subscriptions.js","webpack:///./front/redux/local/lookup/actions/popup.js","webpack:///./front/redux/local/lookup/actions/index.js","webpack:///./front/redux/state/regulations/lookup/actions/data/resetRegulations.js","webpack:///./front/redux/state/regulations/lookup/actions/subscriptions.js","webpack:///./front/redux/state/regulations/lookup/actions/positions.js","webpack:///./front/redux/state/regulations/lookup/actions/tags.js","webpack:///./front/redux/state/regulations/lookup/actions/data/fetchRegulations.js","webpack:///./front/redux/state/regulations/lookup/actions/data/index.js","webpack:///./front/redux/state/regulations/lookup/actions/export.js","webpack:///./front/redux/state/regulations/lookup/actions/advancedSearch.js","webpack:///./front/redux/state/regulations/lookup/actions/index.js","webpack:///./front/redux/state/committeesLookup/actions/data/resetCommittees.js","webpack:///./front/redux/state/committeesLookup/actions/subscriptions.js","webpack:///./front/redux/state/committeesLookup/actions/tags.js","webpack:///./front/redux/state/committeesLookup/actions/data/getCommitteesData.js","webpack:///./front/redux/state/committeesLookup/actions/data/fetchCommittees.js","webpack:///./front/redux/state/committeesLookup/actions/data/index.js","webpack:///./front/redux/state/committeesLookup/actions/export.js","webpack:///./front/redux/state/committeesLookup/actions/advancedSearch.js","webpack:///./front/redux/state/committeesLookup/actions/index.js","webpack:///./front/redux/federal/billLookup/actions/subscriptions.js","webpack:///./front/redux/federal/billLookup/actions/tags.js","webpack:///./front/redux/federal/billLookup/actions/data.js","webpack:///./front/redux/federal/billLookup/actions/positions.js","webpack:///./front/redux/federal/billLookup/actions/graphs.js","webpack:///./front/redux/federal/billLookup/actions/advancedSearch.js","webpack:///./front/redux/federal/billLookup/actions/export.js","webpack:///./front/redux/federal/billLookup/actions/index.js","webpack:///./front/redux/state/billLookup/actions/subscriptions.js","webpack:///./front/redux/state/billLookup/actions/tags.js","webpack:///./front/redux/state/billLookup/actions/data.js","webpack:///./front/redux/state/billLookup/actions/positions.js","webpack:///./front/redux/state/billLookup/actions/graphs.js","webpack:///./front/redux/state/billLookup/actions/advancedSearch.js","webpack:///./front/redux/state/billLookup/actions/export.js","webpack:///./front/redux/state/billLookup/actions/index.js","webpack:///./front/redux/state/legislatorLookup/actions/subscriptions.js","webpack:///./front/redux/state/legislatorLookup/actions/tags.js","webpack:///./front/redux/state/legislatorLookup/actions/data.js","webpack:///./front/redux/state/legislatorLookup/actions/export.js","webpack:///./front/redux/state/legislatorLookup/actions/advancedSearch.js","webpack:///./front/redux/state/legislatorLookup/actions/index.js","webpack:///./front/redux/federal/legislatorLookup/actions/tags.js","webpack:///./front/redux/federal/legislatorLookup/actions/subscriptions.js","webpack:///./front/redux/federal/legislatorLookup/actions/data.js","webpack:///./front/redux/federal/legislatorLookup/actions/export.js","webpack:///./front/redux/federal/legislatorLookup/actions/advancedSearch.js","webpack:///./front/redux/federal/legislatorLookup/actions/index.js","webpack:///./front/redux/federal/committeeProfile/utils/overview.js","webpack:///./front/redux/federal/committeeProfile/utils/staffers.js","webpack:///./front/redux/federal/committeeProfile/actions/staffers.js","webpack:///./front/redux/federal/committeeProfile/actions/overview.js","webpack:///./front/redux/federal/committeeProfile/actions/index.js","webpack:///./front/redux/state/stafferProfile/transformers/position.js","webpack:///./front/redux/state/stafferProfile/transformers/historicalPosition.js","webpack:///./front/redux/state/stafferProfile/transformers/profile.js","webpack:///./front/redux/state/stafferProfile/transformers/officeStaffers.js","webpack:///./front/redux/state/stafferProfile/actions.js","webpack:///./front/redux/state/stafferProfile/utils/getOfficeStaffersBody.js","webpack:///./front/redux/federal/committeeLookup/actions/export.js","webpack:///./front/redux/federal/committeeLookup/actions/subscriptions.js","webpack:///./front/redux/federal/committeeLookup/actions/tags.js","webpack:///./front/redux/federal/committeeLookup/actions/data.js","webpack:///./front/redux/federal/committeeLookup/actions/advancedSearch.js","webpack:///./front/redux/federal/committeeLookup/actions/index.js","webpack:///./front/redux/federal/agencyStaffersLookup/actions/data.js","webpack:///./front/redux/federal/agencyStaffersLookup/actions/advancedSearch.js","webpack:///./front/redux/federal/agencyStaffersLookup/actions/export.js","webpack:///./front/redux/federal/agencyStaffersLookup/actions/index.js","webpack:///./front/redux/state/committeeProfile/utils/overview.js","webpack:///./front/redux/state/committeeProfile/actions/overview.js","webpack:///./front/redux/state/committeeProfile/actions/index.js","webpack:///./front/redux/state/stafferLookup/actions/data.js","webpack:///./front/redux/state/stafferLookup/actions/export.js","webpack:///./front/redux/state/stafferLookup/actions/advancedSearch.js","webpack:///./front/redux/state/stafferLookup/actions/index.js","webpack:///./front/redux/federal/agencyStafferProfile/transformers.js","webpack:///./front/redux/federal/agencyStafferProfile/actions.js","webpack:///./front/redux/federal/agencyStafferProfile/api.js","webpack:///./front/redux/local/localExecutiveLookup/actions/advancedSearch.js","webpack:///./front/redux/local/localExecutiveLookup/actions/export.js","webpack:///./front/redux/local/localExecutiveLookup/actions/index.js","webpack:///./front/redux/moneyball/smartSearch/builder/utils.js","webpack:///./front/redux/moneyball/smartSearch/builder/transformers.js","webpack:///./front/redux/moneyball/smartSearch/builder/actions.js","webpack:///./front/redux/state/regulations/profile/actions/profile.js","webpack:///./front/redux/state/regulations/profile/actions/publicationsTimeline.js","webpack:///./front/redux/state/regulations/profile/actions/index.js","webpack:///./front/redux/state/executiveLookup/actions/advancedSearch.js","webpack:///./front/redux/state/executiveLookup/actions/export.js","webpack:///./front/redux/state/executiveLookup/actions/index.js","webpack:///./front/redux/organization/institutionalData/transformers.js","webpack:///./front/redux/organization/institutionalData/actions.js","webpack:///./front/redux/dashboardV2/keywordSearch/utils.js","webpack:///./front/redux/dashboardV2/keywordSearch/actions.js","webpack:///./front/redux/rolodex/stafferProfile/utils.js","webpack:///./front/redux/rolodex/stafferProfile/actions.js","webpack:///./front/redux/local/executiveProfile/utils/transformers.js","webpack:///./front/redux/local/executiveProfile/actions.js","webpack:///./front/redux/moneyball/committeePages/profile/utils.js","webpack:///./front/redux/moneyball/committeePages/profile/actions.js","webpack:///./front/redux/moneyball/individualPages/profile/utils.js","webpack:///./front/redux/moneyball/individualPages/profile/actions.js","webpack:///./front/redux/moneyball/corporationPages/profile/utils.js","webpack:///./front/redux/moneyball/corporationPages/profile/actions.js","webpack:///./front/redux/moneyball/vendorPages/lookup/utils.js","webpack:///./front/redux/moneyball/vendorPages/lookup/actions.js","webpack:///./front/redux/moneyball/vendorPages/profile/utils.js","webpack:///./front/redux/moneyball/vendorPages/profile/actions.js","webpack:///./front/redux/moneyball/candidatePages/profile/utils.js","webpack:///./front/redux/moneyball/candidatePages/profile/actions.js","webpack:///./front/redux/moneyball/smartSearch/lookup/utils.js","webpack:///./front/redux/moneyball/smartSearch/lookup/actions.js","webpack:///./front/redux/moneyball/clusterbuckPages/firstQueue/lookup/utils.js","webpack:///./front/redux/moneyball/clusterbuckPages/firstQueue/lookup/actions.js","webpack:///./front/redux/moneyball/clusterbuckPages/firstQueue/profile/utils.js","webpack:///./front/redux/moneyball/clusterbuckPages/firstQueue/profile/actions.js","webpack:///./front/redux/moneyball/clusterbuckPages/secondQueue/lookup/utils.js","webpack:///./front/redux/moneyball/clusterbuckPages/secondQueue/lookup/actions.js","webpack:///./front/redux/moneyball/clusterbuckPages/secondQueue/profile/utils.js","webpack:///./front/redux/moneyball/clusterbuckPages/secondQueue/profile/actions.js","webpack:///./front/redux/stakeholder/MergeTool/utils.js","webpack:///./front/redux/stakeholder/MergeTool/actions.js","webpack:///./front/redux/state/regulations/document/utils.js","webpack:///./front/redux/state/regulations/document/actions.js","webpack:///./front/redux/state/executiveProfile/utils/transformers.js","webpack:///./front/redux/state/executiveProfile/actions.js","webpack:///./front/redux/state/agencyStafferProfile/utils/transformers.js","webpack:///./front/redux/state/agencyStafferProfile/actions.js","webpack:///./front/redux/utils.js","webpack:///./front/redux/events/utils/shapes.js","webpack:///./front/redux/dashboardV2/workspaces/constants.js","webpack:///./front/redux/dashboardV2/common/workspaces/api.js","webpack:///./front/redux/moneyball/smartSearch/builder/constants.js","webpack:///./front/redux/moneyball/individualPages/lookup/constants.js","webpack:///./front/redux/moneyball/clusterbuckPages/firstQueue/profile/constants.js","webpack:///./front/redux/moneyball/clusterbuckPages/secondQueue/profile/constants.js","webpack:///./front/redux/notifications/constants.js","webpack:///./front/redux/documentView/constants.js","webpack:///./front/redux/stakeholder/common/constants.js","webpack:///./front/redux/federal/hearingCalendars/constants.js","webpack:///./front/redux/moneyball/vendorPages/profile/constants.js","webpack:///./front/redux/news/common/utils/index.js","webpack:///./front/redux/federal/billProfile/utils/legislator.js","webpack:///./front/redux/federal/billProfile/utils/profile.js","webpack:///./front/redux/federal/billProfile/utils/hearings.js","webpack:///./front/redux/federal/billProfile/utils/rollCallVotes.js","webpack:///./front/redux/federal/billProfile/utils/amendments.js","webpack:///./front/redux/federal/billProfile/utils/activeVoices.js","webpack:///./front/redux/federal/billProfile/utils/lobbyingInformation.js","webpack:///./front/redux/federal/billProfile/utils/billsComparison.js","webpack:///./front/redux/federal/billProfile/utils/index.js","webpack:///./front/redux/state/stafferProfile/constants.js","webpack:///./front/redux/appliedSearchFilters/reducers.js","webpack:///./front/redux/advancedSearch/reducers.js","webpack:///./front/redux/dashboardV2/common/defaultSubscription/reducers.js","webpack:///./front/redux/dashboardV2/feedPage/utils/subscriptionReducer.js","webpack:///./front/redux/dashboardV2/feedPage/utils/positionReducer.js","webpack:///./front/redux/dashboardV2/feedPage/utils/tagsReducer.js","webpack:///./front/redux/dashboardV2/feedPage/utils/reducersUtils.js","webpack:///./front/redux/dashboardV2/feedPage/reducers.js","webpack:///./front/redux/dashboardV2/feedPage/utils/linkPreviewReducer.js","webpack:///./front/redux/dashboardV2/keywordSearch/reducers.js","webpack:///./front/redux/dashboardV2/trackItems/reducers.js","webpack:///./front/redux/dashboardV2/workspaces/utils/index.js","webpack:///./front/redux/dashboardV2/workspaces/reducers.js","webpack:///./front/redux/dashboardV2/workspaceSettings/utils/index.js","webpack:///./front/redux/dashboardV2/workspaceSettings/reducers.js","webpack:///./front/redux/dashboardV2/index.js","webpack:///./front/redux/dismissibleAlert/reducers.js","webpack:///./front/redux/documentView/reducers.js","webpack:///./front/redux/grassrootsCampaignBuilder/defaultState.js","webpack:///./front/redux/grassrootsCampaignBuilder/reducer.js","webpack:///./front/redux/grassrootsReports/reducer/defaultState.js","webpack:///./front/redux/grassrootsReports/reducer/index.js","webpack:///./front/redux/grassrootsPortal/defaultState.js","webpack:///./front/redux/grassrootsPortal/recipientBuilder.js","webpack:///./front/redux/grassrootsPortal/reducer.js","webpack:///./front/redux/grm2/utils/reducers.js","webpack:///./front/redux/grm2/reducers.js","webpack:///./front/redux/stateLegWatchlist/reducers.js","webpack:///./front/redux/federal/hearingCalendars/reducers.js","webpack:///./front/redux/exportReport/reducers.js","webpack:///./front/redux/federal/legislatorLookup/utils/reducersUtils.js","webpack:///./front/redux/federal/legislatorLookup/reducers.js","webpack:///./front/redux/federal/committeeLookup/utils/reducersUtils.js","webpack:///./front/redux/federal/committeeLookup/reducers.js","webpack:///./front/redux/federal/profile/reducers.js","webpack:///./front/redux/federal/committeeProfile/reducers.js","webpack:///./front/redux/federal/billProfile/reducers.js","webpack:///./front/redux/federal/billLookup/reducers.js","webpack:///./front/redux/federal/agencyStaffersLookup/reducers.js","webpack:///./front/redux/federal/agencyStafferProfile/reducers.js","webpack:///./front/redux/federal/index.js","webpack:///./front/redux/state/agencyStafferProfile/reducers.js","webpack:///./front/redux/state/legislatorLookup/utils/reducersUtils.js","webpack:///./front/redux/state/legislatorLookup/reducers.js","webpack:///./front/redux/state/supportedStates/reducers.js","webpack:///./front/redux/state/legislatorProfile/reducers.js","webpack:///./front/redux/state/committeesLookup/reducers/utils/reducersUtils.js","webpack:///./front/redux/state/committeesLookup/reducers/defaultState.js","webpack:///./front/redux/state/committeesLookup/reducers/index.js","webpack:///./front/redux/state/committeeProfile/reducers.js","webpack:///./front/redux/state/stafferLookup/reducers.js","webpack:///./front/redux/state/stafferProfile/reducers.js","webpack:///./front/redux/state/billProfile/reducers.js","webpack:///./front/redux/state/billLookup/utils/reducersUtils.js","webpack:///./front/redux/state/billLookup/reducers.js","webpack:///./front/redux/state/regulations/lookup/reducers/utils/reducersUtils.js","webpack:///./front/redux/state/regulations/lookup/reducers/defaultState.js","webpack:///./front/redux/state/regulations/lookup/reducers/index.js","webpack:///./front/redux/state/regulations/profile/reducers.js","webpack:///./front/redux/state/regulations/document/reducers.js","webpack:///./front/redux/state/executiveLookup/reducers.js","webpack:///./front/redux/state/executiveProfile/reducers.js","webpack:///./front/redux/state/hearingCalendars/reducers.js","webpack:///./front/redux/state/index.js","webpack:///./front/redux/local/lookup/actions/utils/reducerUtils.js","webpack:///./front/redux/local/lookup/reducers.js","webpack:///./front/redux/local/executiveProfile/reducers.js","webpack:///./front/redux/local/localExecutiveLookup/reducers.js","webpack:///./front/redux/local/index.js","webpack:///./front/redux/moneyball/smartSearch/lookup/reducers.js","webpack:///./front/redux/moneyball/smartSearch/builder/reducers.js","webpack:///./front/redux/moneyball/committeePages/lookup/reducers.js","webpack:///./front/redux/moneyball/committeePages/profile/reducers.js","webpack:///./front/redux/moneyball/candidatePages/profile/reducers.js","webpack:///./front/redux/moneyball/candidatePages/lookup/reducers.js","webpack:///./front/redux/moneyball/individualPages/lookup/reducers.js","webpack:///./front/redux/moneyball/individualPages/profile/reducers.js","webpack:///./front/redux/moneyball/corporationPages/lookup/reducers.js","webpack:///./front/redux/moneyball/corporationPages/profile/reducers.js","webpack:///./front/redux/moneyball/disbursementPages/lookup/reducers.js","webpack:///./front/redux/moneyball/receiptPages/lookup/reducers.js","webpack:///./front/redux/moneyball/vendorPages/lookup/reducers.js","webpack:///./front/redux/moneyball/vendorPages/profile/reducers.js","webpack:///./front/redux/moneyball/clusterbuckPages/firstQueue/lookup/reducers.js","webpack:///./front/redux/moneyball/clusterbuckPages/firstQueue/profile/reducers.js","webpack:///./front/redux/moneyball/clusterbuckPages/secondQueue/lookup/reducers.js","webpack:///./front/redux/moneyball/clusterbuckPages/secondQueue/profile/reducers.js","webpack:///./front/redux/moneyball/index.js","webpack:///./front/redux/news/news/reducers.js","webpack:///./front/redux/news/cluster/reducers.js","webpack:///./front/redux/news/common/analytics/reducers.js","webpack:///./front/redux/news/common/reducers.js","webpack:///./front/redux/news/index.js","webpack:///./front/redux/rolodex/stafferProfile/reducers.js","webpack:///./front/redux/rolodex/stafferLookup/reducers.js","webpack:///./front/redux/rolodex/index.js","webpack:///./front/redux/customFields/reducers.js","webpack:///./front/redux/fileUpload/reducer.js","webpack:///./front/redux/stakeholder/common/reducers.js","webpack:///./front/redux/stakeholder/Lookup/reducers.js","webpack:///./front/redux/legislator/lookup/reducers.js","webpack:///./front/redux/stakeholder/Profile/reducers.js","webpack:///./front/redux/stakeholder/MergeTool/reducers.js","webpack:///./front/redux/stakeholder/SmartLists/reducers/builder.js","webpack:///./front/redux/stakeholder/SmartLists/reducers/lookup.js","webpack:///./front/redux/stakeholder/SmartLists/reducers/index.js","webpack:///./front/redux/stakeholder/standalone/reducers.js","webpack:///./front/redux/stakeholder/index.js","webpack:///./front/redux/service-terms/reducer.js","webpack:///./front/redux/lobbyAlertsPortal/reducer/defaultState.js","webpack:///./front/redux/lobbyAlertsPortal/reducer/submitLobbyAlerts.js","webpack:///./front/redux/lobbyAlertsPortal/reducer/submitLobbyAlertsDone.js","webpack:///./front/redux/lobbyAlertsPortal/reducer/submitLobbyAlertsError.js","webpack:///./front/redux/lobbyAlertsPortal/reducer/index.js","webpack:///./front/redux/donorLookupPortal/reducer/defaultState.js","webpack:///./front/redux/donorLookupPortal/reducer/fetchDonors.js","webpack:///./front/redux/donorLookupPortal/reducer/receiveDonors.js","webpack:///./front/redux/donorLookupPortal/reducer/notFoundDonors.js","webpack:///./front/redux/donorLookupPortal/reducer/index.js","webpack:///./front/redux/publicRecords/reducers.js","webpack:///./front/redux/bills/reducers.js","webpack:///./front/redux/votingRecord/reducers.js","webpack:///./front/redux/staffers/reducers.js","webpack:///./front/redux/organization/manageOrganization/reducers.js","webpack:///./front/redux/organization/index.js","webpack:///./front/redux/socialMedia/feed/reducers.js","webpack:///./front/redux/socialMedia/index.js","webpack:///./front/redux/globalSearch/reducers.js","webpack:///./front/redux/notifications/reducers.js","webpack:///./front/redux/tracking/reducers.js","webpack:///./front/redux/store.js","webpack:///./front/redux/state/regulations/document/constants.js","webpack:///./front/redux/moneyball/receiptPages/lookup/constants.js","webpack:///./front/redux/moneyball/pacRankingPages/lookup/constants.js","webpack:///./front/redux/grm2/transformers/toFE/tasks.js","webpack:///./front/redux/grm2/transformers/toFE/pagination.js","webpack:///./front/redux/grm2/transformers/toFE/customFields.js","webpack:///./front/redux/grm2/transformers/toFE/cards.js","webpack:///./front/redux/grm2/transformers/toFE/filters.js","webpack:///./front/redux/grm2/transformers/toFE/index.js","webpack:///./front/redux/federal/agencyStaffersLookup/constants.js","webpack:///./front/redux/state/stafferLookup/constants.js","webpack:///./front/redux/state/hearingCalendars/constants.js","webpack:///./front/redux/organization/individualAssetSet/constants.js","webpack:///./front/redux/advancedSearch/actions.js","webpack:///./front/redux/stakeholder/Profile/utils.js","webpack:///./front/redux/subscriptions/utils/transformers.js","webpack:///./front/redux/moneyball/disbursementPages/lookup/constants.js","webpack:///./front/redux/royal-file-uploader.js","webpack:///./front/redux/dashboardV2/common/trackings/transformers.js","webpack:///./front/redux/dashboardV2/common/trackings/api.js","webpack:///./front/redux/dismissibleAlert/constants.js","webpack:///./front/redux/stakeholder/Lookup/utils/index.js","webpack:///./front/redux/stakeholder/Lookup/utils/transformers.js","webpack:///./front/redux/dashboardV2/feedPage/utils/transformers/recentEvents/descriptionNodeTypes.js","webpack:///./front/redux/hill-day-calendar-event-builder.js","webpack:///./front/redux/donorLookupPortal/constants.js","webpack:///./front/redux/globalSearch/constants.js","webpack:///./front/redux/dashboardV2/feedPage/api.js","webpack:///./front/redux/one-page-report.js","webpack:///./front/redux/state/billProfile/utils/sast.js","webpack:///./front/redux/state/billProfile/utils/profile.js","webpack:///./front/redux/state/billProfile/utils/hearings.js","webpack:///./front/redux/state/billProfile/utils/rollCallVotes.js","webpack:///./front/redux/state/billProfile/utils/activeVoices.js","webpack:///./front/redux/state/billProfile/utils/billsComparison.js","webpack:///./front/redux/state/billProfile/utils/transformTimeline.js","webpack:///./front/redux/state/billProfile/utils/amendments.js","webpack:///./front/redux/state/billProfile/utils/index.js","webpack:///./front/redux/rolodex/stafferLookup/constants.js","webpack:///./front/redux/dashboardV2/common/defaultSubscription/constants.js","webpack:///./front/redux/dashboardV2/keywordSearch/constants.js","webpack:///./front/redux/service-terms/constants.js","webpack:///./front/redux/state/billLookup/utils/transformers.js","webpack:///./front/redux/state/billLookup/utils/index.js","webpack:///./front/redux/federal/billLookup/utils/transformers.js","webpack:///./front/redux/federal/billLookup/utils/index.js","webpack:///./front/redux/stakeholder/common/actions.js","webpack:///./front/redux/grm2/initialState.js","webpack:///./front/redux/state/executiveLookup/constants.js","webpack:///./front/redux/local/localExecutiveLookup/constants.js","webpack:///./front/redux/local/executiveProfile/constants.js","webpack:///./front/redux/moneyball/committeePages/lookup/constants.js","webpack:///./front/redux/moneyball/candidatePages/lookup/constants.js","webpack:///./front/redux/moneyball/corporationPages/lookup/constants.js","webpack:///./front/redux/legislator/lookup/constants.js","webpack:///./front/redux/state/regulations/lookup/actions/utils/index.js","webpack:///./front/redux/moneyball/utils/transformers.js","webpack:///./front/redux/federal/agencyStaffersLookup/utils/index.js","webpack:///./front/redux/local/localExecutiveLookup/utils/transformers.js","webpack:///./front/redux/state/executiveLookup/utils/transformers.js","webpack:///./front/redux/appliedSearchFilters/constants.js","webpack:///./front/redux/staffers/common/constants.js","webpack:///./front/redux/tracking/utils/constants.js","webpack:///./front/redux/moneyball/utils/index.js","webpack:///./front/redux/federal/agencyStafferProfile/constants.js","webpack:///./front/redux/state/agencyStafferProfile/constants.js","webpack:///./front/redux/state/executiveProfile/constants.js","webpack:///./front/redux/staffers/constants.js","webpack:///./front/redux/stakeholder/Lookup/actions/data.js","webpack:///./front/redux/socialMedia/feed/utils/transformers.js","webpack:///./front/redux/state/committeesLookup/actions/utils/index.js","webpack:///./front/redux/state/legislatorLookup/utils/index.js","webpack:///./front/redux/state/stafferLookup/utils.js","webpack:///./front/redux/moneyball/clusterbuckPages/firstQueue/lookup/constants.js","webpack:///./front/redux/moneyball/clusterbuckPages/secondQueue/lookup/constants.js","webpack:///./front/redux/bills/utils/index.js","webpack:///./front/redux/customFields/utils.js","webpack:///./front/redux/customFields/actions.js","webpack:///./front/redux/grm2/constants.js","webpack:///./front/redux/local/lookup/actions/utils/index.js","webpack:///./front/redux/grm2/transformers/toFE/cardLinks.js","webpack:///./front/redux/hill-day-calendar-event-calendar.js","webpack:///./front/redux/royal-cosponsors-oracle.js","webpack:///./front/redux/federal/legislatorLookup/utils/index.js","webpack:///./front/redux/federal/committeeLookup/utils/index.js","webpack:///./front/redux/news/common/actions/events.js","webpack:///./front/redux/news/common/actions/tags.js","webpack:///./front/redux/news/common/actions/index.js","webpack:///./front/redux/grm2/transformers/toBE/cardLinks.js","webpack:///./front/redux/moneyball/receiptPages/lookup/utils.js","webpack:///./front/redux/news/common/analytics/constants.js","webpack:///./front/redux/stakeholder/Profile/actions/data.js","webpack:///./front/redux/votingRecord/constants.js","webpack:///./front/redux/legislator-lookup.js","webpack:///./front/redux/exportReport/constants.js","webpack:///./front/redux/dashboardV2/common/positions/api.js","webpack:///./front/redux/dashboardV2/feedPage/notifications.js","webpack:///./front/redux/dashboardV2/feedPage/constants.js","webpack:///./front/redux/rolodex/stafferLookup/utils/transformers.js","webpack:///./front/redux/rolodex/stafferLookup/utils/index.js","webpack:///./front/redux/lobbyAlertsPortal/constants.js","webpack:///./front/redux/dashboardV2/common/subscriptions/transformers.js","webpack:///./front/redux/socialMedia/feed/utils/constants.js","webpack:///./front/redux/local/localExecutiveLookup/utils/constants.js","webpack:///./front/redux/state/executiveLookup/utils/constants.js","webpack:///./front/redux/news/news/utils/transformers.js","webpack:///./front/redux/news/news/actions.js","webpack:///./front/redux/state/regulations/profile/utils/profile.js","webpack:///./front/redux/state/regulations/profile/utils/index.js","webpack:///./front/redux/organization/manageOrganization/transformers.js","webpack:///./front/redux/votingRecord/utils.js","webpack:///./front/redux/grm2/utils/constants.js","webpack:///./front/redux/news/cluster/constants.js","webpack:///./front/redux/fileUpload/constants.js","webpack:///./front/redux/stakeholder/MergeTool/constants.js","webpack:///./front/redux/organization/institutionalData/constants.js"],"names":["getPositionDescription","_ref","userFullName","position","_ref$isNotification","isNotification","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default","EMPTY_VALUE","concat","getHearingStatus","type","getHearingNotificationTitle","recordType","getTitleUrl","id","basePath","withDomain","arguments","length","undefined","formatUrl","BASE_URL","getTitle","first","second","withFormat","separator","secondWord","filteredItems","lodash_filter__WEBPACK_IMPORTED_MODULE_3___default","Boolean","lodash_join__WEBPACK_IMPORTED_MODULE_0___default","displayDescription","values","lodash_size__WEBPACK_IMPORTED_MODULE_2___default","formatDescription","getStateRegulationUrl","eventData","_ref2","document_id","regulation_document_id","regulation_id","lodash_isNil__WEBPACK_IMPORTED_MODULE_1___default","documentId","url","getSocialMediaTitle","_ref3","socialNetwork","social_network","name","user","getStafferItemType","documentType","_DOCUMENT_TYPES$FEDER2","_defineProperty","DOCUMENT_TYPES","FEDERAL_COMMITTEE","FEDERAL_COMMITTEE_ITEM_TYPE","FEDERAL_LEGISLATOR","FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE","STATE_COMMITTEE","STATE_COMMITTEE_ITEM_TYPE","STATE_LEGISLATOR","STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE","transformCandidates","map","candidateItem","candidate","total_amount_received","state_code","district_number","_extends","_objectWithoutProperties","district","join","amount_received","formatMoney","transformOptionsForBE","data","searchValue","options","amounts","stateCodes","partyTypes","sourceTypes","candidateNames","officeSoughTypes","fromValue","toValue","getValue","formatSelectValueToArrForBE","formatReceivedTypesForBE","transformSearchesForFE","item","_ref4","search_params","query","_ref6","candidate_names","party_types","state_codes","source_types","office_sough_types","title","filters","lodash_compact__WEBPACK_IMPORTED_MODULE_0___default","getDisplayItem","getAmountValue","getLabelForUI","getPartiesTypeValue","getPluralLabel","getCommitteeTypeFilterValue","formatAmounts","formatSelectValueForFE","formatSelectTypeToValForFE","transformSearchesForBE","baseOptions","_ref7","formatSelectValueToObjForBE","sourceSelectValueForBE","formatTypesForSaveBE","SENATOR_ROLE","serving_label","is_active","is_elected","serving_since","serving_until","getSocialMediaUrl","base","isExternal","transformProfileForUI","profileData","biography","facebook","homepage","instagram","office","party_slug","party_short","phone","photo_path","chamber","twitter","role","state","state_name","fec","universal_moniker","caucuses_memberships","committee_memberships","current_leadership_role","state_id","district_id","full_biography","homepageLink","value","href","twitterLink","TWITTER_LINK","facebookLink","FACEBOOK_LINK","instagramLink","INSTAGRAM_LINK","omitBy_default","legislator","fecTokens","stateId","districtId","stateName","isSenator","currentLeadershipRole","party","slug","moniker","avatarUrl","keyDetails","isString_default","getPhoneLink","isCurrent","isElected","serving","description","fullBiography","recordId","itemType","committees","caucuses","isNil_default","a","checkEmptyObjValue","keyName","getMedianHouseIncome","medianData","isEmpty_default","district_avg","us_avg","rank","rank_max","districtAverage","usAverage","rankMax","transformDistrictInfoForUI","mapData","kw_district_id","latitude","longitude","cookPVI","avg_value","raw_value","districtInfoData","_ref4$cook_pvi","cook_pvi","_ref4$district","_ref4$education","education","_ref4$gender_percenta","gender_percentage","_ref4$industry_info","industry_info","_ref4$median_househol","median_household_income","_ref4$racial_demograp","racial_demographics","isIncomplete","long_name","longName","racialDemographics","genders","industries","mapLocation","kwDistrictId","center","householdIncome","transformStaffersForBE","payload","staffers_extends","search_form","legislator_ids","transformStaffersForUI","allItems","map_default","staffer","alias_name","full_name","responsibilities","email","issues","transformNewsForUI","newsData","published_date","source_name","link","released","transformNewsfeedForBE","keywordSearch","legislator_id","keywords","transformLargestEmployersForUI","_largestEmployersData","address","employees","employer","web","web_site","__webpack_require__","d","__webpack_exports__","transformCardForBE","card","date","eventDate","tag_names","tags","card_links","transformCardLinks","custom_fields_answers","customFieldsAnswers","uploads","user_ids","creator","interaction_type","interactionType","card_type","NOTE_CARD_TYPE","TASK_STATUS_TO_BE","open","inProgress","closed","transformTaskStatusForBE","status","transformTaskCardForBE","assignee","dueDate","time","priority","cardProps","TASK_CARD_TYPE","task","assignee_id","toString_default","due_datetime","combineDateTime","transformFiltersForBE","timelineDefaultFilters","lookup_keyword","keywordLookup","_toConsumableArray","people","toCardLinks","bills","documents","regulations","timeline_default_card_links","assignee_ids","statuses","statusTypes","priorities","priorityTypes","due_date","from","startDate","to","endDate","card_types","activityTypes","interaction_types","interactionTypes","tag_ids","creation_date","creationDate","event_date","with_attachments","attachments","filters_transformFiltersForBE","cards_transformCardForBE","tasks_transformTaskCardForBE","createdAt","updatedAt","subscribers","subscriptionStatus","lodash_omitBy__WEBPACK_IMPORTED_MODULE_3___default","lodash_map__WEBPACK_IMPORTED_MODULE_0___default","lodash_get__WEBPACK_IMPORTED_MODULE_1___default","lodash_isNil__WEBPACK_IMPORTED_MODULE_2___default","buildSearchFormForBE","page","transformOptionsForUI","searchParams","searchData","camelizeKeys","transformUserForUI","_ref5","fullName","photoUrl","profileImg","transformWorkspaceForUI","workspace","subscription","users","transformWorkspacesForUI","pagination","feed","transformFilters","sector","industry","category","cycle","subtype","sortBy","pageSize","all","sectorId","industryId","categoryId","years","filter","organizationTypeIds","JSON","stringify","page_size","sector_id","industry_id","category_id","transformDataRequest","transformDataResponse","_ref8","_slicedToArray","totals","graph","_ref9","total_pacs","total_by_type","_ref10","total_disbursements_by_party","republican","democrat","_ref11","receipts","disbursements","sortedGraph","lodash_sortBy__WEBPACK_IMPORTED_MODULE_0___default","currencyFormat","toRepublicans","toDemocrats","contributingPACS","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_2___default","labels","_ref12","year","other","_ref13","contributed_to_others","_ref14","contributed_to_republicans","democratic","_ref15","contributed_to_democrats","received","_ref16","total_received","transformDataLookupRequest","transformDataLookupResponse","_ref17$items","items","lodash_map__WEBPACK_IMPORTED_MODULE_1___default","_ref18","total_democrats","total_republicans","end_cash_on_hands","average","total","endCoH","transformFiltersResponse","_ref19","_ref20","sectors","subtypes","PREFIX","constants","SAVE_TRACK_ITEMS","SAVE_TRACK_ITEMS_DONE","transformCommittees","committeeItem","committee","oldCommittees","restProps","donated","_getUniqueValues","getUniqueValues","nameValue","nameInfo","info","amount","amountDisbursed","lodash_size__WEBPACK_IMPORTED_MODULE_0___default","amount_donated","address_state_codes","super_committee_ids","types","_getAmountsValueByTyp","getAmountsValueByType","amountLabel","amountValue","lodash_compact__WEBPACK_IMPORTED_MODULE_1___default","getCommitteeTypeValue","formatAmountsValueByType","states","committeeNames","committeeTypes","formatDisbursedAmountsForBE","formatReceivedAmountsForBE","transformOptionsSearchForBE","transformIndividuals","individuals","_ref$individual","individual","total_donated","zip_code","street_1","street_2","occupation","is_restricted","city","individualValues","zipCode","formatZipCode","_getUniqueValues2","occupationValue","occupationInfo","_getUniqueValues3","employerValue","employerInfo","_getUniqueValues4","streetValue","streetInfo","_getUniqueValues5","cityValue","cityInfo","_getUniqueValues6","stateValue","stateInfo","_getUniqueValues7","zipValue","zipInfo","contributed_amount","names","address_streets","address_cities","address_zipcodes","employers","occupations","streets","cities","zipCodes","transformCorporations","corporationItem","corporation","address_states","compact","street","transformDisbursements","disbursementItem","disbursement","spender","recipient","is_pdf_available","spender_name","restDisbursementProps","spenderId","spenderName","restRecipientProps","getDisbursedRecipientInfo","formatGlobalDate","dates","recipientCommittee","recipientCommitteeTypes","recipientIndividuals","recipientCity","recipientStates","recipientStreet","recipientVendors","recipientVendorsCity","recipientVendorsStates","recipientVendorsZip","recipientZip","disbursement_date","disbursement_amount","super_committees","super_vendors","super_individuals","ids","spenderIds","vendorIds","vendorCities","vendorStates","vendorZip","zip_codes","individualNames","individualStreets","individualCities","individualStates","individualZip","getDateValue","getRecipientType","formatDates","ITEM_TYPES","_ITEM_TYPES","FEDERAL_BILL","FEDERAL_REGISTER_REGULATION","STATE_BILL","STATE_REGULATION","NEWS_SEARCH","STAFFER_OFFICE_TYPE","COMMITTEE_TYPE","FEDERAL_COMMITTEES_TYPE","STATE_STAFFER_OFFICE_TYPE","STATE_COMMITTEE_STAFFER_TYPE","WORKSPACE_TYPE","STATE_COMMITTEE_TYPE","STATE_COMMITTEES_TYPE","url_getSubscriptionUrl","url_getSubscriptionUrlWithId","getBaseUrl","feedToken","BASE_FEEDS_URL","getTrackedItemUrl","subscribableType","trackedItemType","baseUrl","getKeywordUrl","getSubscriptionUrl","isKeyword","KEYWORD_TYPE","urlGetter","getSubscriptionUrlWithId","modelId","token","subscribableData","subscribableId","get","trackedItemId","transformStakeholderToUI","first_name","last_name","middle_name","facebook_profile","twitter_username","party_code","custom_fields","addresses","primary_phone","smart_lists","firstName","lastName","middleName","facebookProfile","twitterName","partyCode","customFields","without_complement","congressional_district","state_upper_district","state_lower_district","is_partial","congressional","stateUpper","stateLower","isPartial","smartLists","transformCommittee","item_data","send_week_ahead_email","subscriptions","is_disabled","chair","party_breakdown","ranking_member","action_date","transformSubscriptions","isCommittee","titleUrl","transformSponsor","rankingMember","partyBreakdown","sendWeekAheadEmail","lastActionDate","formatMonthDayYear","transformStaffer","FEDERAL_TRACKED_TYPE","_FEDERAL_TRACKED_TYPE","responseTrackingTypes","cosponsors","sponsor","status_step","introduced_on","official_source","last_action","session","bill_summary","FEDERAL_BILL_ITEM_TYPE","displayTitle","cardTitle","billSummary","billStatusStep","billStatusAllSteps","getBillStatusTypes","introducedOn","officialSource","lastAction","transformLastAction","transformSession","FEDERAL_REGULATION","agencies","document_type","publication_date","regulation_url","regulation_pdf_url","regulation_gov_url","agency","filter_default","FEDERAL_REGULATION_ITEM_TYPE","regulationDocumentType","FEDERAL_REGULATION_TYPES","latestPublication","label","FEDERAL_COMMITTEE_HEARING","FEDERAL_COMMITTEE_STAFFER","FEDERAL_LEGISLATOR_STAFFER","officeHolder","alpha2","stateTransformers_extends","stateShort","ALL_ITEMS","trackedEvents_extends","stateTransformers_defineProperty","_STATE_TRACKED_TYPE","status_type","statusLabel","find_default","STATE_BILL_STATUS","STATE_BILL_ITEM_TYPE","code_citation","administrative_code_url","display_label","lastActionUrl","lastActionLabel","normalizeUrl","STATE_REGULATION_ITEM_TYPE","codeCitation","truncate_default","STATE_COMMITTEE_HEARING","STATE_COMMITTEE_STAFFER","STATE_LEGISLATOR_STAFFER","addressable_moniker","_ref13$state","transformRecentDataRequest","perPage","_ref2$date","emailFrequency","trackedItems","sharedItems","savedItems","removedItems","readItems","transformers_extends","getItemTypes","formatBooleanItem","formatTrackedItems","formatSharedItems","read_only","formatReadItems","transformTrackedDataRequest","sortData","_ref4$dateAdded","dateAdded","addedStartDate","addedEndDate","_ref4$lastUpdate","lastUpdate","updatedStartDate","updatedEndDate","federalBillStatus","stateBillStatus","sort","direction","getTrackedItemTypes","transformTracked","subscriptionId","item_type","positionRecordType","POSITION_BUTTON_RECORD_TYPES","allItemsFunction","isFunction_default","transformTrackedItem","withPosition","transformRecent","event_data","event_type","created_at","is_removed","is_saved","is_read","searchId","search_id","transformedSubscription","frequency","keyword","subscribable_type","isDisabled","trackingsSlug","trackings_slug","transformSubscription","includes","trackRecordType","getTrackRecordType","TRACKED_STATE_REGULATION","getPositionType","formatFullDate","transformRecentEvent","isRead","isNewData","isRemoved","isSaved","listSubscriptions","isLoadingTracking","withTrack","TRACKED","RECENT","BILL_SLUG","API_BASE","FETCH_PROFILE","RECEIVE_PROFILE_DONE","FETCH_SUBSCRIPTIONS","RECEIVE_SUBSCRIPTIONS_DONE","FETCH_COMMITTEES","RECEIVE_COMMITTEES_DONE","FETCH_COSPONSORS","RECEIVE_COSPONSORS_DONE","FETCH_TAGS","RECEIVE_TAGS_DONE","FETCH_REPORTS","RECEIVE_REPORTS_DONE","FETCH_BILLS_COMPARISON","RECEIVE_BILLS_COMPARISON_DONE","FETCH_BILL_TIMELINE","RECEIVE_BILL_TIMELINE_DONE","FETCH_ROLL_CALL_VOTES","RECEIVE_ROLL_CALL_VOTES","FETCH_AMENDMENTS","RECEIVE_AMENDMENTS","FETCH_LOBBYING_INFORMATION","RECEIVE_LOBBYING_INFORMATION","FETCH_ACTIVE_VOICES","RECEIVE_ACTIVE_VOICES","RECEIVE_DEFAULT_SUBSCRIPTION_DONE","FETCH_MY_FEED_DOCUMENTS","RECEIVE_MY_FEED_DOCUMENTS_DONE","RECEIVE_MY_FEED_DOCUMENTS_FAILURE","UPDATE_PROFILE_MY_FEED","FETCH_TIMELINE_ERROR","FETCH_SPONSORS_ERROR","BILL_NOT_FOUND","FETCH_COMMITTEES_ERROR","FETCH_REPORTS_ERROR","FETCH_BILL_ERROR","transformPositionsResponseForUI","reduce_default","result","record_type","user_positions","formatData","record_id","position_type","push","apply","fetchPositions","dispatch","LOAD_POSITIONS_INIT","filteredPositions","groupedItems","groupBy_default","formattedValues","key","record_ids","uniq_default","LOAD_POSITIONS_FINISHED","positionsApi","fetchAllPositions","then","response","error","Error","transformSubscriptionResponse","isNewsfeed","formattedData","subscribable_data","tracking_extends","model_id","isTracking","tracking_toConsumableArray","formatTrackRecords","record","isArray_default","getTrackRecord","fetchItemsTracking","LOAD_ITEMS_SUBSCRIPTIONS_INIT","formattedTrack","idKey","LOAD_ITEMS_SUBSCRIPTIONS_FINISHED","trackingsApi","fetchLinkPreview","cardsLink","getCardsUrlToPreview","urls","values_default","SET_CARDS_LINK_PREVIEW_INIT","fetchLinksPreview","linksPreview","transformPreviewDataToFE","updatedCardsLinkPreview","getUpdatedLinksPreview","SET_CARDS_LINK_PREVIEW_DONE","fetchTags","isRecent","LOAD_TAGS","fetchTagsByRecordIdsNoDispatch","LOAD_TAGS_DONE","bulkSaveTags","selectedItems","onSuccess","onFailure","Promise","resolve","BULK_UPDATE_EVENTS","isLoadingTags","_getFilteredTags","getFilteredTags","newTags","existingTags","saveTagsAndUpdateRecords","saveTagsForRecord","responseNewTags","bulkTagRecordsNoDispatch","tagIds","transformTagsForBE","records","transformRecordsForTag","onSaveTags","props","saveTags","setCreatedAt","current_page","isFirstPage","head_default","SET_CREATED_TO","onResetLastVisit","SET_LAST_VISIT","isSocialMediaPost","SOCIAL_MEDIA_POST","getPosts","compact_default","descriptionNode","updateDataPosts","replies","updatedPost","socialMediaPosts_extends","fetchKeywords","withRemoved","LOAD_KEYWORDS_INIT","api","LOAD_KEYWORDS_DONE","_ref$data","keywordsTransformers_objectWithoutProperties","keywordsTransformers_extends","isNotFoundError","notifications","defaultFetchDataFailed","bulkRemoveItems","BULK_REMOVE_EVENTS","isRecentTab","selectedIds","feedsApi","subscriptionsApi","tokens","BULK_REMOVE_EVENTS_DONE","bulkUpdateItems","isLoadingPriority","isLoadingRead","isLoadingUnread","isLoadingSaving","BULK_UPDATE_EVENTS_DONE","saveInRecentSearch","_payload$searchData","isEmpty","advancedSearchData","advanced_search","strategy_slug","saved","onSaveRecentItem","fetchData","isInfinite","appliedFilters","clearAll","withLastVisit","resetLastVisit","enableInAppNotifications","LOAD_DATA_INIT","recentLookupForm","searchForm","actions_extends","EXPORT_LIMIT","recentUrl","trackedUrl","includeLastVisitRequest","_regeneratorRuntime","mark","_callee","visitData","payloadData","posts","_yield$tryCatch","_yield$tryCatch2","wrap","_context","prev","next","tryCatch","fetchReplies","sent","isForbiddenError","window","Sentry","captureMessage","LOAD_DATA_DONE","paginator","transformPaginator","transformSort","abrupt","stop","_x","_x2","this","requests","notifyLoadPageFailure","itemTitle","isMyFeed","lastVisit","latestEventToken","SET_SEEN","onUpdateLastVisit","LOADING_DATA_FINISH","resetAppliedFilters","handleUpdateAppliedFilters","updateEvent","actionType","UPDATE_EVENT_INIT","getIsLoadingActions","UPDATE_EVENT","defaultSubmitDataFailed","fetchSingleData","method","subscription_ids","undoEvent","LOAD_UNDO_EVENT","UNDO_EVENT","undoSubscription","formatTokens","updateTrackedItem","isKeywordSearch","isNewsFeed","withWeekAheadEmail","modelSlugs","UPDATE_EVENT_KEYWORD","content","removeEventUI","REMOVE_EVENT","updateDataItem","UPDATE_DATA_ITEM","reset","RESET","transformLegislator","partyShort","partySlug","getCommitteeAction","isFederal","isStaffer","isHearing","isPresentStaffers","isPresentHearings","hearingData","stafferData","hearingPath","stafferPath","getHearing","lodash_get__WEBPACK_IMPORTED_MODULE_2___default","getStaffer","trackingApi","lodash_over__WEBPACK_IMPORTED_MODULE_1___default","getSubscriptionsData","responseData","_responseData","hearings","staffers","lodash_isArray__WEBPACK_IMPORTED_MODULE_4___default","onSuccessTrackCommittee","dispatchTrackCommittee","_getSubscriptionsData2","onUpdateTrackCommittee","UPDATE_TRACK_COMMITTEE_INIT","subscriptionsReducer","getListSubscription","lodash_reject__WEBPACK_IMPORTED_MODULE_3___default","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_5___default","UPDATE_TRACK_COMMITTEE","updateSubscriptions","action","lodash_partial__WEBPACK_IMPORTED_MODULE_0___default","placeholder","notifySubscriptionChange","RECEIVE_RESULTS","FETCH_RESULTS","FETCH_FAILED","getUrlByStrategy","_urlHash","strategy","legislatorId","form","prefix","urlHash","componentConstants","LEGISLATOR_DISTANCES","STATE_LEGISLATOR_DISTANCES","console","search","ajax","$","defaultState","links","nodes","everSearched","ui","loading","loadingForm","REGISTER_SELECTOR","UPDATE_SELECTOR","UPDATE_ALL_SELECTORS","registerSelector","updateSelector","updateAllSelectors","selectors","Object","keys","forEach","FETCH_CAMPAIGN","RECEIVE_CAMPAIGN","CAMPAIGN_NOT_FOUND","FETCH_STATISTICS","RECEIVE_STATISTICS_LOADING","RECEIVE_STATISTICS_ADVOCATES_COUNT","RECEIVE_STATISTICS_MESSAGES_COUNT","RECEIVE_STATISTICS_MESSAGES_SENT","RECEIVE_STATISTICS_TOP_STATES","RECEIVE_STATISTICS_EDITED_MESSAGES","RECEIVE_STATISTICS_CUSTOM_RECIPIENTS","RECEIVE_STATISTICS_FEDERAL_RECIPIENTS","RECEIVE_STATISTICS_STATE_RECIPIENTS","RECEIVE_STATISTICS_SENDERS","RECEIVE_STATISTICS_REGULATIONS","FETCHING_TABLE_STATISTICS","FETCHED_TABLE_STATISTICS","ADD_CHART_TO_PRINT","SET_DATE_RANGE","PER_PAGE","getIds","lodash_map__WEBPACK_IMPORTED_MODULE_2___default","getData","itemData","globalFrequency","getWithWorkspaces","isMyFeedToken","getCommitteeHearings","itemDataFrequency","workspacesData","withWorkspaces","isCommitteeHearing","workspacesSendEmail","lodash_get__WEBPACK_IMPORTED_MODULE_0___default","workspacesFrequency","lodash_isObject__WEBPACK_IMPORTED_MODULE_3___default","sendEmail","subscriptionFrequency","getCommitteeStaffers","isCommitteeStaffer","transformTrackItemsForBE","federalBills","stateBills","federalRegulations","stateRegulations","stateCommittees","federalCommittees","federalLegislators","stateLegislators","newsfeeds","feedTokens","federalCommitteeData","stateCommitteeData","lodash_omitBy__WEBPACK_IMPORTED_MODULE_1___default","federal_bills","state_bills","federal_regulations","state_regulations","state_committee_hearings","state_committee_staffers","federal_committee_hearings","federal_committee_staffers","federal_legislator_staffers","state_legislator_staffers","news_searches","feed_tokens","fetchLookupPositions","defaultDocumentType","actionTypes","LOAD_POSITIONS","isLoadingPositions","filteredPayload","recordIds","formattedPayload","FETCH_SUPPORTED_STATES","RECEIVE_SUPPORTED_STATES_DONE","FETCH_VENDORS","RECEIVE_VENDORS_DONE","RECORD_TYPES","federal_staffer","pluralLabel","path","federal_legislator","federal_bill","federal_committee","state_bill","state_staffer","state_legislator","state_committee","state_regulation","federal_regulation","colleague","stakeholder","grassroots_campaign","record_token","hill_day","hill_day_meeting","agency_press_release","record_external_url","cbo_cost_estimate","committee_report","_ref17","congressional_press_release","congressional_record_item","contract","crs_report","_ref21","dear_colleague_letter","_ref22","executive_order","_ref23","gao_report","_ref24","grant","_ref25","live_hearing_transcript","_ref26","official_hearing_transcript","_ref27","sap_report","_ref28","state_of_the_union_address","_ref29","treaty_document","_ref30","third_party_report","_ref31","white_house_press_briefing","_ref32","governor_order","_ref33","governor_press_release","_ref34","local_executive","_ref35","federal_executive","_ref36","state_executive","_ref37","state_agency_staffer","_ref38","transformDocumentIdsForBE","documentIds","lodash_map__WEBPACK_IMPORTED_MODULE_5___default","lodash_toString__WEBPACK_IMPORTED_MODULE_4___default","transformMyFeedDocuments","documentTypes","typeDocuments","index","document","lodash_keys__WEBPACK_IMPORTED_MODULE_2___default","sharings","lodash_flatten__WEBPACK_IMPORTED_MODULE_3___default","transformDocumentsForProfile","lodash_head__WEBPACK_IMPORTED_MODULE_1___default","transformAdvancedFiltersForBE","advancedFilters","FEDERAL_EXECUTIVE_SLUG","_advancedFilters$exec2","executives","_advancedFilters$orga","organizations","_advancedFilters$titl2","titles","_advancedFilters$part2","parties","_advancedFilters$tags2","federalExecutiveTransformer","get_default","LOCAL_EXECUTIVE_SLUG","_advancedFilters$exec","_advancedFilters$bran","branches","_advancedFilters$titl","_advancedFilters$part","_advancedFilters$stat","_advancedFilters$coun","counties","_advancedFilters$citi","_advancedFilters$zip_","_advancedFilters$elec","electionDates","_advancedFilters$tags","election_dates","localExecutiveTransformer","STATE_EXECUTIVE_SLUG","_advancedFilters$exec3","_advancedFilters$stat2","_advancedFilters$orga2","_advancedFilters$titl3","_advancedFilters$part3","_advancedFilters$tags3","stateExecutiveTransformer","STATE_STAFFER_EXECUTIVE_SLUG","_advancedFilters$staf","_advancedFilters$exec4","_advancedFilters$stat3","_advancedFilters$titl4","_advancedFilters$part4","_advancedFilters$tags4","executive_ids","stateStafferExecutiveTransformer","transformPayloadForBE","searchTerm","_searchParams$states","_searchParams$tags","slugs","_searchParams$advance","pickBy_default","terms","start_date","formatDate","end_date","search_slugs","advanced_filters","per_page","transformChairmanData","chairmanData","transformPersonTitle","personTitle","branch","additionalInfo","transformPersonPhone","personPhone","areaCode","area_code","phoneNumber","phone_number","transformResultForUI","personOffice","display_state","photo_url","boss_name","works_for_label","sending_office","recipient_name","text","snippet","summary","synopsis","agency_name","governor_name","organization","primary_email","_ref4$offices","offices","_ref4$phones","phones","agencies_titles","code_citation_url","latest_publication_date","latest_publication_url","boss_party_slug","boss_party","staffable_id","primary_address_district","chairman_data","posted_at","account_screen_name","social_media_lists","post_url","person_party","person_email","person_title","person_office","person_phone","restOptions","primaryAddressDistrict","primaryPhone","primaryEmail","bossName","bossPartySlug","bossId","targetLabel","codeCitationUrl","latestPublicationDate","latestPublicationUrl","chairman","postedAt","accountScreenName","socialMediaLists","postUrl","getAddress","transformPaginationForUI","currentPage","totalPages","total_pages","totalCount","total_count","transformResponseForUI","results","updatePostsReplies","replyTo","tweetId","reply","externalToken","getUpdatedItem","fetchPosts","post","transformRequestData","transformPosts","transformBulkTagsRecordsForBE","contentType","updateTagRecordsForRecordNoDispatch","transformFetchRecordIdsForBE","postJson","transformTagsByRecordIdsForUI","fetchLookupTags","UPDATE_TAG_ITEM","UPDATE_TAG_ITEM_DONE","transformNewTagsForUI","bulkSaveLookupTags","BULK_UPDATE_DATA","_getFilteredTags2","fetchProfileTags","_ref10$tags","setAppliedFilters","updateAppliedFilters","_constants__WEBPACK_IMPORTED_MODULE_0__","SET_APPLIED_FILTERS","UPDATE_APPLIED_FILTERS","RESET_APPLIED_FILTERS","submitExport","exportOption","_payload$direction","_payload$sort","exportIds","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_1___default","STRATEGY_SLUG_FOR_EXPORT","strategy_inputs[stakeholder_ids]","strategy_inputs[file_extension]","CSV_ID","strategy_inputs[direction]","strategy_inputs[sort]","getExportSortData","lodash_omitBy__WEBPACK_IMPORTED_MODULE_0___default","getExportInfo","submitExportReport","onSuccessCustom","exportCSVBlob","moment","format","FULL_DATE_FORMAT","getAllEmails","getState","FETCH_STAKEHOLDER_EMAILS","stakeholderLookup","_getStakeholdersData","getStakeholdersData","EXPORT_EMAIL_LIMIT","RECEIVE_STAKEHOLDER_EMAILS_DONE","transformStakeholdersForUI","isTrackableRecordType","TRACKABLE_SLUGS","mergeSubscriptionDocType","baseSubscriptions","newSubscriptions","memo","mergeSubscriptions","reduceMethod","reduce","isNotFetched","fetchedRecords","handleAppliedFilters","hasAppliedFilters","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0__","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0___default","n","_actions__WEBPACK_IMPORTED_MODULE_1__","getSubscriptionModelId","getHasStafferSubscription","some_default","SUBSCRIBABLE_TYPES","FEDERAL_STAFFER_OFFICE","getHasHearingsSubscription","COMMITTEE","getSubscriptionRequests","workspacesToTrack","trackings","committeeHearingData","committeeStafferData","fetchLookupSubscriptions","trackableItems","trackingType","fetchTrackingsBulk","fetchLookupCommitteeSubscriptions","_ref7$actionTypes","transformCommitteeSubscriptions","fetchDefaultSubscription","fetchProfileSubscriptions","transformTracking","fetchProfileCommitteeSubscriptions","_ref11$actionTypes","transformCommitteeProfileSubscriptions","updateCommitteeSubscriptions","isProfile","_ref13$actionTypes","workspaces","getWorkspacesToTrack","responses","subscriptionsData","generalFailedNotification","bulkTrackLookupItems","customFetchSubscriptions","BULK_TRACK_DATA","fetchSubscriptions","selectedFeeds","workspaceTokens","handleFailure","_workspaceTokens","_toArray","firstToken","restTokens","slice","callApi","requestData","bulkTrackItems","getMyFeedToken","_restTokens","workspaceToken","BULK_TRACK_DATA_DONE","flatten_default","subscriptionsByGroup","forEach_default","selectedFeed","subscriptionGroup","bulkShareLookupToMyFeed","BULK_SHARE_TO_MY_FEED","selectedItemsSize","selectedItemsIds","bulkShareToMyFeed","notifySharedToMyFeedMultiple","BULK_SHARE_TO_MY_FEED_DONE","transformSharedDocuments","BULK_SHARE_TO_MY_FEED_FAILURE","BASE_TAG_URL","FETCH_NEWS_FEED","RECEIVE_NEWS_FEED_DONE","RECEIVE_NEWS_FEED_FAILURE","RESET_NEWS_FEED","FETCH_FEED_KEYWORDS","RECEIVE_FEED_KEYWORDS_DONE","RECEIVE_FEED_KEYWORDS_FAILURE","RESET_FEED_KEYWORDS","SELECT_CARDS","BULK_SAVE_TAGS","BULK_SAVE_TAGS_DONE","BULK_SAVE_TAGS_FAILURE","RECEIVE_TAGS_FAILURE","UPDATE_TAGS","UPDATE_TAGS_DONE","UPDATE_TAGS_FAILURE","SHARE_TO_MY_FEED","SHARE_TO_MY_FEED_DONE","SHARE_TO_MY_FEED_FAILURE","getRegulationsData","isSearch","searchQuery","currentSort","DEFAULT_SORT","API_URL","committee_id","toLowerCase","transformSponsorsAndCosponsorsForUI","total_republican","total_democratic","total_other","_ref2$sponsors","sponsors","_ref2$cosponsors","numCosponsors","others","isSponsor","cosponsor","isCosponsor","PAGE_SIZE","onUpdateTags","onUpdateTrackings","fetchProfile","legislatorsPath","isKwProfile","profile","_asyncToGenerator","fetchProfileDocument","fetchStaffers","FETCH_STAFFERS","staffersData","RECEIVE_STAFFERS_DONE","fetchBreakingNews","FETCH_NEWS","RECEIVE_NEWS_DONE","fetchDistrictInfo","FETCH_DISTRICT_INFO","RECEIVE_DISTRICT_INFO","getLargestEmployersUrl","fetchLargestEmployers","FETCH_LARGEST_EMPLOYEE","RECEIVE_LARGEST_EMPLOYEE_DONE","resetDistrictInfo","RESET_DISTRICT_INFO","resetProfileData","RESET_PROFILE","loadLegislatorWithDistrict","_callee2","_context2","FETCH_LEGISLATOR_WITH_DISTRICT","updateProfileMyFeed","updateProfileShare","fetchStakeholderContributions","redux_moneyball_receiptPages_lookup_utils__WEBPACK_IMPORTED_MODULE_0__","_contributions_last_sync__WEBPACK_IMPORTED_MODULE_1__","_constants__WEBPACK_IMPORTED_MODULE_2__","_utils__WEBPACK_IMPORTED_MODULE_3__","defaultFilters","sort_column","sort_direction","fetchContributionsLastSync","FETCH_STAKEHOLDER_CONTRIBUTIONS","_filters$page","stakeholder_id","FETCH_STAKEHOLDER_CONTRIBUTIONS_DONE","transformReceiptsForFE","transformMoneyballPaginator","transformMoneyballSort","FETCH_STAKEHOLDER_CONTRIBUTIONS_FAIL","utils_constants_date__WEBPACK_IMPORTED_MODULE_0__","utils_date__WEBPACK_IMPORTED_MODULE_1__","FETCH_CONTRIBUTIONS_LAST_SYNC","FETCH_CONTRIBUTIONS_LAST_SYNC_DONE","lastSyncAt","formatDateBy","last_sync_at","LAST_SYNC_AT_FORMAT","FETCH_CONTRIBUTIONS_LAST_SYNC_FAIL","lastSyncShort","lastSyncFull","submitAppliedTags","SUBMIT_APPLIED_TAGS","_payload$ids","lastSearchId","_payload$tags","toggleOpen","onClear","_payload$notification","isBulkAction","request","bulk_params","getBulkTagsApplyingRequest","tag_params","stakeholder_ids","stakeholders","tag","lodash_pick__WEBPACK_IMPORTED_MODULE_0___default","allStakeholdersIds","updatedStakeholdersIds","updatedStakeholders","updateStakeholdersAppliedItems","collection","appliedItems","SUBMIT_APPLIED_TAGS_DONE","getSuccess","SUBMIT_APPLIED_TAGS_FAIL","getFailed","r","submitAppliedLists","_utils_updateStakeholdersAppliedItems__WEBPACK_IMPORTED_MODULE_0__","_constants__WEBPACK_IMPORTED_MODULE_1__","SUBMIT_STAKEHOLDER_LISTS","_payload$lists","lists","list_params","getListsApplyingRequest","SUBMIT_STAKEHOLDER_LISTS_DONE","SUBMIT_STAKEHOLDER_LISTS_FAIL","STOP_LOADING","RESET_STATE","SET_NEW_CAMPAIGN_TYPE","SAVE_CAMPAIGN","FETCH_REGULATION","RECEIVE_REGULATION","RECEIVE_RECIPIENT","RECEIVE_DELETED_RECIPIENT","SAVE_MESSAGES","RECEIVE_MESSAGE","SAVE_PTC_MESSAGE","RECEIVE_PTC_MESSAGE","SAVE_THANK_YOU_MESSAGE","RECEIVE_THANK_YOU_MESSAGE","SAVE_SETTINGS","SAVE_LOGO_CONFIG","RECEIVE_LOGO_CONFIG","FETCH_FORM_INITIAL_VALUES","RECEIVE_FORM_INITIAL_VALUES","SAVE_CUSTOM_RECIPIENT","FAILED_SAVE_CUSTOM_RECIPIENT","DELETE_CUSTOM_RECIPIENTS","DELETED_CUSTOM_RECIPIENTS","FETCH_CUSTOM_RECIPIENTS","RECEIVE_CUSTOM_RECIPIENTS","RECEIVE_DELETED_CUSTOM_RECIPIENT","RECEIVE_PAGINATION","FETCH_DISTRICT_ID","FETCH_DISTRICT_META","RECEIVE_DISTRICT_ID","RECEIVE_DISTRICT_META","RECEIVE_DISTRICT_NOT_FOUND","FETCHING_DISTRICT_INFO","ERROR_FETCHING_DISTRICT_INFO","chamberSlugs","cd","sldu","sldl","receiveDistrictMeta","receiveDistrictNotFound","fetchDistrictMeta","features","mapConstants","CONGRESSIONAL_DISTRICTS","targetFeature","find","f","properties","geoId","fail","fetchDistrictId","fetchMapBox","coordinates","districtsInfo","districtMaps","chamber_slug","receiveDistrictInfo","loadingDistrict","loadedDistrict","isFetchingDistrictInfo","FETCH_CAMPAIGNS","RECEIVE_CAMPAIGNS","CHANGE_DISPLAY_ON_ACTION_CENTER","CHANGE_DISPLAY_ON_ACTION_CENTER_SUCCESS","SET_EMBEDDABLE_STATUS","ACTION_CENTER_EMBEDDABLE_STATUS_CHANGED","ACTION_CENTER_EMBEDDABLE_STATUS_CHANGE_FAILURE","setEmbeddableStatus","fetchCampaigns","_payload$page","arr","addedToActionCenter","rest","display_on_action_center","unshift","changeCampaignActionCenterPresence","campaign","changeEmbeddableStatus","companyId","company","action_center_embeddable","campaigns","actionCenterEmbeddable","updateSingleCampaign","FETCH_INITIAL_VALUES","FETCH_SETTINGS","RECEIVE_SETTINGS","FETCH_VERIFIED_DOMAINS","RECEIVE_VERIFIED_DOMAINS","fetchSettings","settings","fetchVerifiedDomains","fetchInitialValues","asyncRequests","saveSettings","company_config","custom_email_enabled","verifiedDomains","defaultPagination","DEFAULT_INITIAL_PAGE","DEFAULT_PAGE_SIZE","assetSetName","individualAssetSets","isLoading","isLoadingMultipleIndividualAssetSets","individualAssetSet","SEARCH_INDIVIDUAL_ASSET_SET","FETCH_INDIVIDUAL_ASSET_SET","FETCH_MULTIPLE_INDIVIDUAL_ASSET_SETS","RECEIVE_INDIVIDUAL_ASSET_SET_FAIL","RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_FAIL","RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_DONE","RECEIVE_INDIVIDUAL_ASSET_SET_DONE","dataset","RESET_INDIVIDUAL_ASSET_SET","dataSets","institutionalData","FETCH_DATA_SETS","RECEIVE_DATA_SETS_DONE","RECEIVE_DATA_SETS_ERROR","lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_1___default","iteratedStakeholder","iteratedStakeholderCollection","appliedItem","lodash_some__WEBPACK_IMPORTED_MODULE_0___default","PORTAL_URL","watchlistBillUrl","watchlistToken","billId","transformTimeline","FEDERAL_BILLS_TYPE","transformFederalTimeline","transformStateTimeline","transformKeyDetails","transformFederalKeyDetails","transformStateKeyDetails","receiveWatchlist","RECEIVE_WATCHLIST","fetchWatchlist","FETCH_WATCHLIST","isPortal","suffix","selectBill","SELECT_BILL","deselectBill","DESELECT_BILL","fetchBill","FETCH_BILL","RECEIVE_BILL","fetchSponsorsAndCosponsors","FETCH_SPONSORS_AND_COSPONSORS","_payload$perPage","RECEIVE_SPONSORS_AND_COSPONSORS","fetchTimeline","RECEIVE_BILL_TIMELINE","fetchCommittees","FETCH_BILL_COMMITTEES","RECEIVE_BILL_COMMITTEES","transformCommitteesForUI","fetchReports","FETCH_BILL_REPORTS","RECEIVE_BILL_REPORTS","transformOfficialReportsForUI","fetchCosponsors","FETCH_BILL_COSPONSORS","RECEIVE_BILL_COSPONSORS","transformCosponsorsForUI","sortStafferByColumn","stafferKey","columnName","sortDirection","SORT_STAFFER_DATA","SORT_STAFFER_DATA_DONE","lodash_orderBy__WEBPACK_IMPORTED_MODULE_0___default","getOfficeStaffer","congressionalPositions","employment","boss","OTHER_TYPE","LEGISLATOR_TYPE","strategy_inputs[keyword]","strategy_inputs[person_ids]","transformSelectValues","strategy_inputs[states]","strategy_inputs[organizations]","strategy_inputs[titles]","strategy_inputs[parties]","getExportSortInfo","strategy_inputs[order_column]","strategy_inputs[order_mode]","getExecutivesData","lodash_isNil__WEBPACK_IMPORTED_MODULE_0___default","LOCAL_EXECUTIVES_URL","STATE_EXECUTIVES_URL","getBaseStaffer","isDescriptionVisible","afterLabel","_ref17$event_data","staffer_id","staffer_name","comeFrom","come_from","office_name","office_url","LINK_NODE","source","getSource","FEDERAL_RECENT_TYPE","_FEDERAL_RECENT_TYPE","responseEventTypes","FEDERAL_BILL_ACTION","_ref$event_data","bill_id","bill_display_id","bill_display_title","FEDERAL_BILL_COSPONSOR","_ref3$isNotification","_ref3$event_data","cosponsor_id","cosponsor_name","cosponsor_party_short","cosponsor_party_slug","cosponsor_come_from","descriptionData","infoText","react_default","createElement","Sponsor","withLink","SPONSOR_NODE","FEDERAL_BILL_TEXT","_ref5$isNotification","_ref5$event_data","text_version","FEDERAL_BILL_HEARING","_ref7$isNotification","_ref7$event_data","hearing_subject","hearing_location","action_type","HEARING_NODE","subject","location","FEDERAL_BILL_USER_POSITION","_ref9$isNotification","_ref9$event_data","new_user_position_type","user_full_name","_ref11$isNotification","_ref11$event_data","committee_name","FEDERAL_REGULATION_USER_POSITION","_ref13$isNotification","_ref13$event_data","regulation_title","FEDERAL_REGULATION_PUBLIC_SUBMISSION","_ref15$isNotification","_ref15$event_data","FEDERAL_STAFFER_JOIN","_ref19$isNotification","staffer_title","baseStaffer","FEDERAL_STAFFER_LEAVE","_ref21$isNotification","FEDERAL_STAFFER_TITLE_CHANGE","_ref23$isNotification","staffer_previous_title","getBaseStateRegulation","document_text_snippet","state_alpha2","STATE_RECENT_TYPE","_STATE_RECENT_TYPE","STATE_BILL_ACTION","bill_title","action_title","STATE_BILL_SPONSOR","sponsor_id","sponsor_name","sponsor_party_short","sponsor_party_slug","sponsor_come_from","STATE_BILL_USER_POSITION","_ref18$isNotification","_ref18$event_data","STATE_REGULATION_PUBLICATION","baseRegulation","STATE_REGULATION_STATE_AGENCY_NOTICE","_ref12$isNotification","STATE_REGULATION_AGENCY_ITEM_TYPE","STATE_REGULATION_STATE_NOTICE","STATE_REGULATION_NOTICE_ITEM_TYPE","STATE_REGULATION_USER_POSITION","_ref20$isNotification","STATE_STAFFER_JOIN","_ref26$isNotification","STATE_STAFFER_LEAVE","_ref28$isNotification","STATE_STAFFER_TITLE_CHANGE","_ref30$isNotification","KEYWORD_ACTION_TYPE","transformKeyword","subscriptionToken","subscriptionTitle","eventTitle","highlighted_text","isKeywordMatch","COMMITTEE_REPORTS_ITEM_TYPE","OFFICIAL_HEARING_TRANSCRIPTS_ITEM_TYPE","DOCTROVE_HEARING_TRANSCRIPTS_ITEM_TYPE","AGENCY_PRESS_RELEASES_ITEM_TYPE","CONGRESSIONAL_PRESS_RELEASES_ITEM_TYPE","FEDERAL_CONTRACT_ITEM_TYPE","FEDERAL_GRANT_ITEM_TYPE","formatString","KEYWORD_RECENT_TYPE","keywordTransformers_defineProperty","_KEYWORD_RECENT_TYPE","KEYWORD_FEDERAL_BILL","display_id","_ref5$subscription","_ref5$feed","KEYWORD_DOCTROVE_GOVERNOR_ORDER","stateAlpha2","keywordTransformers_extends","KEYWORD_DOCTROVE_GOVERNOR_PRESS_RELEASE","KEYWORD_SOCIAL_MEDIA_POST","TWEET_NODE","transformPost","SOCIAL_MEDIA_POST_ITEM_TYPE","KEYWORD_STATE_BILL","_ref11$subscription","KEYWORD_STATE_REGULATION","_ref13$subscription","KEYWORD_TOWN_INTEL_DOCUMENT","_ref16$isNotification","cityStateTitle","KEYWORD_CONGRESSIONAL_RECORD","KEYWORD_DOCTROVE_AGENCY_PRESS_RELEASE","KEYWORD_DOCTROVE_CBO","KEYWORD_DOCTROVE_COMMITTEE_REPORT","KEYWORD_DOCTROVE_CRS","KEYWORD_DOCTROVE_DEAR_COLLEAGUE_LETTER","KEYWORD_DOCTROVE_EXECUTIVE_ORDER","KEYWORD_DOCTROVE_FBO","KEYWORD_DOCTROVE_GAO","KEYWORD_DOCTROVE_GRANT","KEYWORD_DOCTROVE_HEARING_TRANSCRIPT","KEYWORD_DOCTROVE_LIVE_HEARING_TRANSCRIPT","KEYWORD_DOCTROVE_PRESS_BRIEFING","KEYWORD_DOCTROVE_PRESS_RELEASE","KEYWORD_DOCTROVE_SAP","KEYWORD_DOCTROVE_THIRD_PARTY_REPORT","KEYWORD_DOCTROVE_TREATY","KEYWORD_DOCTROVE_UNION_STATEMENT","KEYWORD_FEDERAL_REGULATION","transformNewsStory","_ref$isShared","isShared","searchTitle","search_title","userName","clusters","story_title","NEWSFEED_ITEM_TYPE","customBodyUrl","newsTransformers_extends","NEWS_STORY_NODE","transformStory","clusterIds","withTags","withCallToActions","withCreationDate","NEWS_STORY_ITEM_TYPE","withEditNewsfeed","withSharedBy","NEWS_STORY_RECENT_TYPE","NEWS_STORY","GENERAL_RECENT_TYPE","generalTransformers_defineProperty","SHARED_DOCUMENT","activity_card_type","document_url","NEWS_STORY_SLUG","SOCIAL_MEDIA_SLUG","transformTweet","allProducts","generalTransformers_toConsumableArray","getAllFilterProducts","STATE_REGULATIONS_SLUG","GRM_ACTIVITY_TYPE","activityCardType","note","CARD_TYPES","hill_day_note","hill_day_attendance","hill_day_meeting_attendance","grassroots_legislation","recentEvents_extends","recentEvents_objectWithoutProperties","isFunction","fetchTimeSeries","FETCH_TIME_SERIES","selectedFeedId","clusterId","mention","tagId","_payload$url","tag_id","entities_title_text","config_id","timeSeries","RECEIVE_TIME_SERIES_DONE","publishedAt","published_at","count","timestamp","CALENDAR_DATE_FORMAT","RECEIVE_TIME_SERIES_FAILURE","handleFailureNotification","resetTimeSeries","RESET_TIME_SERIES","transformResponseData","formattedNotifications","notification","eventType","matchedId","findIndex_default","previousItem","previousDocumentId","previousEventType","test","_ref$workspaces","currentNotification","uniqueWorkspaces","uniqBy_default","sortedWorkspaces","orderBy_default","formattedNotification","groupWorkspaces","timer","getNotifications","countResponse","stateNotifications","_ref$count","toNumber_default","localStorage","getItem","NOTIFICATIONS_COUNT_KEY","FETCH_NOTIFICATIONS_DONE","totalNotifications","setItem","BASE_NOTIFICATIONS_URL","setTimeout","abort","REQUEST_TIME_LIMIT","fetchNotifications","fetch","setInterval","FETCH_INTERVAL","stopFetchNotifications","clearInterval","resetNotifications","RESET_NOTIFICATIONS","clearNotifications","CLEAR_NOTIFICATIONS","latest_event_token","CLEAR_NOTIFICATIONS_DONE","CLEAR_NOTIFICATIONS_FAILURE","sendFailureNotification","togglePanel","TOGGLE_PANEL","resetPanel","RESET_PANEL","EMAIL_KEY","FACEBOOK_KEY","TWITTER_KEY","LINKEDIN_KEY","INSTAGRAM_KEY","YOUTUBE_KEY","getUrl","socialMediaKey","getOrganizations","positions","flatMap_default","sortBy_default","transformAgencyStaffer","agencyStaffer","_omitBy2","socialMedia","FACEBOOK","TWITTER","LINKEDIN","INSTAGRAM","YOUTUBE","TEMPORARY_SAVE_FORM_SUBMISSION","EDIT_FORM_SUBMISSION","SAVE_FORM_SUBMISSION","RECEIVE_FORM_SUBMISSION","FETCH_LEGISLATORS","RECEIVE_LEGISLATORS","SET_PREVIEW_MODE","SAVE_CUSTOM_MESSAGE","SAVE_CUSTOM_REGULATION_COMMENT","OPEN_MESSAGE_EDITOR","CLOSE_MESSAGE_EDITOR","COLLECT_STATISTIC","FETCH_CUSTOM_COLORS","RECEIVE_CUSTOM_COLORS","CREATE_RECIPIENTS","PROFILE_NOT_FOUND","SET_PROFILE_SUBSCRIPTIONS","FETCH_PROFILE_ERROR","STRATEGY_SLUG","FETCH_STAKEHOLDERS","RECEIVE_STAKEHOLDERS_DONE","RECEIVE_STAKEHOLDERS_FAIL","FETCH_STAKEHOLDERS_MAP","RECEIVE_STAKEHOLDERS_MAP_DONE","RECEIVE_STAKEHOLDERS_MAP_FAIL","FETCH_STAKEHOLDER_LISTS","RECEIVE_STAKEHOLDER_LISTS_DONE","FETCH_DISTRICT_STAKEHOLDERS_METADATA","RECEIVE_DISTRICT_STAKEHOLDERS_METADATA","DISTRICT_STAKEHOLDERS_METADATA_FAIL","fetchDocuments","POST_REQUEST","document_ids","fetchMyFeedDocuments","payloadGroups","lodash_groupBy__WEBPACK_IMPORTED_MODULE_1___default","lodash_keys__WEBPACK_IMPORTED_MODULE_0___default","getMyFeed","lodash_map__WEBPACK_IMPORTED_MODULE_8___default","formattedRecords","lodash_uniqWith__WEBPACK_IMPORTED_MODULE_2___default","lodash_isEqual__WEBPACK_IMPORTED_MODULE_1___default","lodash_reduce__WEBPACK_IMPORTED_MODULE_6___default","record_tags","recordTag","groupedValues","lodash_groupBy__WEBPACK_IMPORTED_MODULE_7___default","lodash_filter__WEBPACK_IMPORTED_MODULE_5___default","lodash_difference__WEBPACK_IMPORTED_MODULE_3___default","createTagsNoDispatch","FETCH_STAKEHOLDER_PROFILE","FETCH_STAKEHOLDER_PROFILE_FAIL","RECEIVE_STAKEHOLDER_PROFILE_DONE","RECEIVE_STAKEHOLDER_PROFILE_FAIL","RELOAD_STAKEHOLDER_PROFILE","DELETE_STAKEHOLDER_TAG","DELETE_STAKEHOLDER_TAG_DONE","DELETE_STAKEHOLDER_LIST","DELETE_STAKEHOLDER_LIST_DONE","SORT_STAKEHOLDER_SMART_LIST_DATA","SORT_STAKEHOLDER_SMART_LIST_DATA_DONE","SORT_STAKEHOLDER_LIST_DATA","SORT_STAKEHOLDER_LIST_DATA_DONE","SORT_STAKEHOLDER_TAG_DATA","SORT_STAKEHOLDER_TAG_DATA_DONE","FETCH_STAKEHOLDER_MATCHING_INDIVIDUALS","FETCH_STAKEHOLDER_MATCHING_INDIVIDUALS_FAIL","FETCH_STAKEHOLDER_MATCHING_INDIVIDUALS_DONE","RESET_DATA","UPDATE_STAKEHOLDER_PROFILE_DESCRIPTION","FETCH_WORKSPACE","RECEIVE_WORKSPACE_DONE","WORKSPACE_NOT_FOUND","UPDATE_WORKSPACE","UPDATE_WORKSPACE_DONE","NAME_ALREADY_TAKEN","UPDATE_WORKSPACE_SUBSCRIPTION","DELETE_SUBSCRIPTION","DELETE_SUBSCRIPTION_DONE","DELETE_SUBSCRIPTIONS","DELETE_SUBSCRIPTIONS_DONE","UPDATE_SUBSCRIPTION","UPDATE_SUBSCRIPTION_DONE","UPDATE_SUBSCRIPTIONS","UPDATE_SUBSCRIPTIONS_DONE","UPDATE_COMMITTEE_SUBSCRIPTION_DONE","DELETE_COMMITTEE_SUBSCRIPTION_DONE","FETCH_DEFAULT_FREQUENCY","FETCH_DEFAULT_FREQUENCY_DONE","UPDATE_DEFAULT_FREQUENCY","UPDATE_DEFAULT_FREQUENCY_DONE","RESET_SUBSCRIPTIONS_SETTINGS","RESET_SUBSCRIPTIONS_SETTINGS_DONE","STRATEGY_SLUG_BULK_EXPORT","FETCH_REGULATIONS","RECEIVE_REGULATIONS","RESET_REGULATIONS","SET_REGULATIONS","RECEIVE_LEGISLATORS_DONE","FETCH_LEGISLATORS_EMAILS","RECEIVE_LEGISLATORS_EMAILS_DONE","RESET_LEGISLATORS","LEGISLATOR_LOOKUP_NAME","STRATEGY_SLUG_SINGLE_EXPORT","FETCH_BILLS","RECEIVE_BILLS_DONE","FETCH_BILLS_GRAPH","RECEIVE_BILLS_GRAPH_DONE","RESET_BILLS","SET_BILLS","lodash_isNil__WEBPACK_IMPORTED_MODULE_6___default","_TRACKED_ITEMS_ONLY$E2","TRACKED_ITEMS_ONLY","EXCLUDE_TRACKED_ITEMS","_SHOW_ONLY_SHARED_DOC3","SHOW_ONLY_SHARED_DOCS","EXCLUDE_SHARED_DOCS","_FILTER_READ_HIDE_UNR2","FILTER_READ_HIDE_UNREAD","FILTER_READ_HIDE_READ","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_3___default","itemTypes","lodash_includes__WEBPACK_IMPORTED_MODULE_0___default","TRACKED_FEDERAL_COMMITTEE_STAFFER","TRACKED_FEDERAL_COMMITTEE_HEARING","TRACKED_STATE_COMMITTEE_STAFFER","TRACKED_STATE_COMMITTEE_HEARING","PRIORITY_ACTION","SAVE_ACTION","isLoadingSave","READ_ACTION","SUBSCRIPTION_ACTION","isLoadingSubscription","_DOCUMENT_TYPES$STATE3","_DOCUMENT_TYPES$STATE2","RECEIVE_COMMITTEES","RESET_COMMITTEES","COMMITTEE_LOOKUP_NAME","transformBillsForBE","congress","allCongressOptions","getRelationshipStatus","match_congress","getBillsCongressValue","transformBillsForUI","_ref2$billsData","billsData","_ref2$cosponsorsCount","cosponsorsCount","_ref$bill","bill","_ref$cosponsorsCount","restPayload","lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default","_omitBy2$cosponsors","display_bill_id","display_title","overview","_omitBy2$last_action","_omitBy2$sponsor","status_full","introduced_at","score_rank","slicedCosponsors","lodash_isNumber__WEBPACK_IMPORTED_MODULE_2___default","billUrl","billTitle","introducedAt","similarityRank","lodash_toString__WEBPACK_IMPORTED_MODULE_1___default","allCosponsorsSize","transformBill","FETCH_SUBSCRIPTION","RECEIVE_SUBSCRIPTION_DONE","FETCH_COSPONSORS_ERROR","initAppliedSearchFilters","emptyState","searchType","loadReceiptSavedSearches","params","loadSavedSearches","loadReceiptRecentSearches","loadRecentSearches","saveReceiptAdvancedSearch","_item$id","_item$data","onSaveItem","removeReceiptAdvancedSearch","onRemoveItem","exportNotifications","toggleExportModal","gon","moneyballApiV2","receipt_ids","format_type","dimensions","SUBMIT_EXPORT_REPORT_LOADING","fetchReport","REQUEST_CONTENT_TYPE","SUBMIT_EXPORT_REPORT_DONE","searchReceipt","FETCH_RECEIPT","fetchSearchReceipt","transformResponse","transformReceiptContributions","RECEIVE_RECEIPT_DONE","searchReceipts","FETCH_RECEIPTS","_payload$super_candid","super_candidate_recipients","super_candidates","isSearchPayload","RECEIVE_RECEIPTS_DONE","toResetSelectedItems","toReset","fetchCompanyStakeholdersContributions","fetchSearch","transformResponsePayload","transformSearchToQuery","transformAdvancedSearchToQuery","saveRecentAdvancedSearch","transformTrackedOptionsForBE","date_from","date_to","subscription_tokens","document_types","tracked_items","tracked_items_only","exclude_tracked_items","shared_items","show_only_shared_documents","exclude_shared_documents","saved_only","removed_only","last_update_from","last_update_to","date_added_from","date_added_to","show_active_only","federal_bill_status","state_bill_status","transformTrackedOptionsForUI","loadStakeholdersRecentSearches","recentSearch","transformSearchesForUI","loadStakeholdersSavedSearches","savedSearch","saveAdvancedSearchItem","removeAdvancedSearchItem","_payload$isClickedIte","isClickedItem","actions","actions_data","actions_export","advancedSearch_actions","getSelectedTypesForBE","selectedTypes","regulationsKey","REGULATION_EQUIVALENT_KEYS","toString","concat_default","transformPublicationsForUI","display_document_type","highlights","action_type_title","text_snippet","textSnippet","getTimelineTitle","transformTimelineForUI","publications","transformPublicationsForBE","rangeDate","withRelatedRegulations","publication_date_from","publication_date_to","with_related_regulations","FETCH_COMMITTEE","RECEIVE_COMMITTEE_DONE","RESET_COMMITTEE","FETCH_COMMITTEE_MEMBERS","RECEIVE_COMMITTEE_MEMBERS_DONE","FETCH_SUBCOMMITTEES","RECEIVE_SUBCOMMITTEES_DONE","LOAD_OVERVIEW","LOAD_OVERVIEW_DONE","CREATE_KEYWORD","UPDATE_KEYWORD","FETCH_KEYWORD","RECEIVE_KEYWORD","CLEAR_KEYWORD","DELETE_KEYWORD","updateKeyword","subscribable_slug","FETCH_EVENTS","RECEIVE_EVENTS","FETCH_REPORT_ITEMS","RECEIVE_REPORT_ITEMS","fetchEvents","_ref$page","subscribableSlug","_ref$sortData","_getDefaultSortData","DEFAULT_SORT_KEY","SORT_DIRECTIONS","DESC","getDefaultSortData","fetchReportItems","lodash_chunk__WEBPACK_IMPORTED_MODULE_1___default","events","reportItems","reportItemIds","loadingEvents","getAggregationValue","aggregation","bill_ids","regulation_ids","isLoadingReportItems","filtersOptions","transaction","DISBURSEMENTS","lookup","isInfiniteDisabled","isFiltersLoading","isDataLoading","combineReducers","lookUp","DATA_REQUEST","DATA_SUCCESS","DATA_LOOKUP_REQUEST","DATA_LOOKUP_SUCCESS","size","PAC_PAGE_SIZE","FILTERS_REQUEST","FILTERS_SUCCESS","UPDATE_FILTERS","FETCH_COMMITTEES_EMAILS","RECEIVE_COMMITTEES_EMAILS_DONE","SET_COMMITTEES","UPDATE_IS_TEMPLATE","UPDATE_TITLE","UPDATE_DESCRIPTION","UPDATE_TRANSACTOR","UPDATE_DATA","GET_LIST_START","GET_LIST_DONE","CREATE_LIST_START","CREATE_LIST_DONE","CREATE_LIST_FAIL","FETCH_SMART_LISTS","RECEIVE_SMART_LISTS_DONE","DELETE_SMART_LIST","DELETE_SMART_LIST_DONE","SORT_BY_TYPES","NEWEST_TO_OLDEST","OLDEST_TO_NEWEST","A_TO_Z","Z_TO_A","transformSavedSearchPaginator","current","DEFAULT_PER_PAGE","lodash_isArray__WEBPACK_IMPORTED_MODULE_2___default","lodash_isObject__WEBPACK_IMPORTED_MODULE_1___default","getDisplayRangeItem","start","end","mapBackendValues","loadAdvancedSearch","fetchLookupData","endpoints","getOffices","fax","address_1","address_2","faxLink","reject_default","getFaxes","faxes","getTwitterMedias","media","getFacebookMedias","websites","emails","display_name","avatar_url","chamber_category","website","current_leadership_role_title","currentState","upperFirst_default","chamberCategory","getDirectMailLink","site","number","districtInfo","servingSince","districtMap","committeeAssignments","sortedUniqBy_default","transformPublicRecordsForBE","_searchData$rangeDate","_searchData$selectedT","publicRecords_extends","legislator_lookup_keyword","collections","fetchAlert","dismissAlert","resetData","FETCH_ALERT","showAlert","FETCH_ALERT_DONE","FETCH_ALERT_FAILURE","DISMISS_ALERT","alert_type","DISMISS_ALERT_DONE","DISMISS_ALERT_FAILURE","RESET_ALERT","filesAdded","createAction","FILES_ADDED","deleteFile","DELETE_FILE","EMPTY_STATE","addFiles","files","setProgress","setFailures","fileList","Array","parseFilesToUploadFormat","file","file_upload_id","file_upload_url","file_url","FormData","append","cache","processData","xhr","XMLHttpRequest","upload","onprogress","e","barPercentageComplete","Math","floor","loaded","prevProgress","createFileId","ajaxRequestToPromise","prevFailures","uploadedFiles","getSectionType","_sections","sections","BILLS_REGULATIONS_SECTION","COMMITTEE_SECTION","LEGISLATOR_SECTION","NEWSFEED_SECTION","KEYWORD_SECTION","WORKSPACE_SECTION","getTypeByModel","modelType","Committee","Legislator","StateLegislation::Legislator","StateLegislation::Committee","getType","_types","getModelTypeUrl","getSectionUrl","_sectionUrls","lodash_isNil__WEBPACK_IMPORTED_MODULE_4___default","federal_register_regulation","getModelTypeItem","getItemType","_keyword$federal_bill2","KEYWORD_ITEM_TYPE","federal_legislator_bill","WORKSPACE_ITEM_TYPE","formatToken","isJSON","parse","lodash_toString__WEBPACK_IMPORTED_MODULE_0___default","lodash_flattenDeep__WEBPACK_IMPORTED_MODULE_3___default","getSubscriptionData","defaultError","transformSubscriptionsForUI","fetchAllSubscriptions","transformNestedSubscriptionsForUI","fetchWorkspacesSubscriptions","fetchSubscriptionsAndKeywords","deleteSubscription","finalUrl","reqMethod","updateSubscription","putJson","transformSubscriptionForBE","updateCommonSubscriptions","bulkActionData","buildBulkUpdatePayloadForBE","updateWorkspaceSubscriptions","deleteWorkspaceSubscriptions","deleteCommonSubscriptions","deleteSubscriptions","fetchDefaultFrequency","updateDefaultFrequency","resetSubscriptionsSettings","createSubscription","loadServiceTermsStarted","loadServiceTermsFail","loadServiceTermsDone","acceptServiceTermsStarted","acceptServiceTermsFail","acceptServiceTermsDone","fetchServiceTerms","acceptServiceTerms","redux_utils__WEBPACK_IMPORTED_MODULE_0__","LOAD_SERVICE_TERMS_STARTED","LOAD_SERVICE_TERMS_FAIL","LOAD_SERVICE_TERMS_DONE","ACCEPT_SERVICE_TERMS_STARTED","ACCEPT_SERVICE_TERMS_FAIL","ACCEPT_SERVICE_TERMS_DONE","handleSuccess","acceptance","service_term_id","serviceTerms","serviceTermId","updateCardsLinkPreview","updatedCards","cardsLinkPreview","grm2","grm","timeOut","removeCardsLinkPreview","SET_CARDS_LINK_PREVIEW","repeatFetch","isUndefined_default","handleFetchLinksPreview","STOP_LOADING_LINKS_PREVIEW","START_LOADING_LINKS_PREVIEW","fetchCustomFields","enabled","product_slugs","PRODUCT_SLUGS","GRM","START_LOADING_CUSTOM_FIELDS","transformedCustomFields","transformCustomFieldsForFeed","SET_CUSTOM_FIELDS","generalFailNotification","STOP_LOADING_CUSTOM_FIELDS","applyCardChanges","cards","updatedCard","cardToReplace","applyCardsChanges","filterFieldMap","recordTypesByField","CARD_FIELDS_TO_OMIT","isCardInconsistent","_ref$card","_ref$oldCard","oldCard","_ref$filters","initialFilters","initialState","transformLinks","cardLinks","transformedOldCard","omit_default","transformedCard","modifiedFields","isEqual_default","modifiedFilters","cardFields","intersection_default","selectCard","cardId","selected","cards_toConsumableArray","selectedCardIds","SET_SELECTED","selectCards","unselectCards","UNSELECT_CARDS","unselectCard","resetSelectedCards","RESET_SELECTED_CARDS","dispatchMyFeedDocuments","chunk_default","MY_FEED_CARD_LIMIT","fetchSingleCard","START_LOADING","transformCardForFeed","SET_CARDS","SET_PAGINATION","fetchCardsRequest","cards_extends","setIsTasksContext","SET_IS_TASKS_CONTEXT","fetchTasks","_getState$grm2$grm2","_ref6$statuses","TASK_STATUSES","SET_FILTERS","_ref9$data","RESET_CARD_STATUS","fetchCards","isTasksContext","_getState$grm2$grm","_response$data","_response$pagination","paginationData","transformPaginationForFeed","fetchActivityCards","updateCard","isNew","shouldDispatchEvent","_getState$grm2$grm3","namespace","isAddToCollection","ACITIVITY_FOR_NAVIGATION_NAMESPACE","isCardPresent","_ActivityEventsPublis","ActivityEventsPublisher","cardCreated","cardUpdated","reduxCard","uiCard","dispatchCards","dispatchPagination","cardsPayload","cardChanged","newCard","SET_HAS_EDITED_CARD","paginationPayload","SET_HAS_NEW_CARD","addNote","updateCards","_getState$grm2$grm4","transformedCards","cardsUpdated","reduxCards","uiCards","updateCommentsCount","incrementValue","_getState$grm2$grm5","commentsCount","transformCardForEvent","removeCardById","filteredCards","dataItemUpdated","updateCardById","_getState$grm2$grm6","updateCardsById","cardsId","_getState$grm2$grm7","cardsToBeUpdated","includes_default","transformCardsForEvent","updateTasks","_getState$grm2$grm8","tasks","updatedTask","transformTaskForFeed","getUpdatedCardsByTask","setPage","avoidDispatchFetch","filters_extends","setPerPage","setAdvancedSearchFilters","setLastSearchId","transformFiltersFromAdvancedSearch","setSearchId","ADVANCED_SEARCH_SLUG","setAdvancedSearch","SET_ADVANCED_SEARCH","setFilter","withAdvancedSearch","filters_defineProperty","setFilters","newFilters","resetFilters","cardIds","strategyInputs","export_extends","EXPORT_STRATEGY_SLUG","strategy_inputs","setSort","newSort","sort_extends","SET_SORT","isPresentTag","transformRecordsForBe","uniqWith_default","tagMayCauseInconsistency","updateCardTags","tag_extends","getUpdatedCardByTags","updateCardsTags","tag_name","cardToBeUpdated","tagsForUi","pushUniq","getUpdatedCardsByTags","updatedCardsId","updatedCardId","tags_toConsumableArray","card_ids","tags_slicedToArray","setTimelineDefaultFilters","SET_TIMELINE_DEFAULT_FILTERS","showDashboard","SHOW_DASHBOARD","hideDashboard","HIDE_DASHBOARD","setNamespace","SET_NAMESPACE","filters_setPage","filters_setPerPage","filters_setFilter","filters_setFilters","filters_resetFilters","filters_setAdvancedSearchFilters","filters_setSearchId","filters_setAdvancedSearch","customFields_fetchCustomFields","sort_setSort","cards_selectCard","cards_selectCards","cards_unselectCards","cards_unselectCard","cards_resetSelectedCards","cards_fetchSingleCard","cards_setIsTasksContext","cards_updateCard","cards_updateCards","cards_updateCommentsCount","cards_removeCardById","cards_updateCardById","cards_updateCardsById","cards_updateTasks","timelineDefaultFilters_setTimelineDefaultFilters","analytics_showDashboard","analytics_hideDashboard","namespace_setNamespace","linksPreview_updateCardsLinkPreview","stopLoading","receiveError","reject","validateAddressParts","addressParts","zipcode","temporarySaveFormSubmission","formSubmission","geocodeByAddress","getAddressPartsFromGeoResponse","form_submission","responseJSON","validateFormSubmission","grassrootsPortal","saveFormSubmission","editFormSubmission","fetchCustomColors","_DEFAULT_CUSTOM_COLOR","primary_color","secondary_color","customColors_extends","DEFAULT_CUSTOM_COLORS","pickBy","fetchCoordinates","getLatLng","fetchGeoId","lng","lat","linkLegislatorToMatcher","matcher","fetchLegislators_extends","getGeoId","mapboxResult","strategySlug","chamberSlug","MAPBOX_TYPE_BY_MATCHER_SLUG","feature","fetchLegislatorsForOneChamber","fetchLegislators_regeneratorRuntime","_yield$$$ajax","recipients","geo_id","fetchLegislatorsForAllMatchers","legislatorsRequest","matchers","CUSTOM","flatMap","strategy_data","chamber_slugs","fetchLegislatorsForOneMatcher","legislators","flatten","validateMapboxResult","fetchLegislators","campaign_type","CAMPAIGN_LEGISLATOR_TYPE","receiveLegislators","fetchCustomRecipients","custom_recipients","customRecipient","fetchCustomRecipients_extends","linkCustomRecipientToMatcher","customRecipients","receiveCustomRecipients","fetchRegulation","CAMPAIGN_REGULATION_TYPE","regulationId","regulation","receiveRegulation","loadLegislatorCampaignData","validateRecipientsAmount","loadRegulationCampaignData","loadStepTwoData","_CAMPAIGN_REGULATION_","loadFunction","sendSingleMessage","matcherMessage","recipientId","recipientType","message","grassroots_form_submission_id","grassroots_matcher_id","recipient_id","grassroots_matcher_message_id","recipient_type","sendRecipientsMessages","custom_messages","sendRecipientMessage","sendRegulationComment","customComment","custom_comment","matcher_messages","RECIPIENT_TYPE","saveMessages","sendFunction","messages_defineProperty","sendMessages","fetchCampaign","campaignToken","receiveCampaign","saveCustomMessage","saveCustomRegulationComment","openMessageEditor","closeMessageEditor","setPreviewMode","collectStatistics","_len","payloads","_key","addNotification","app","GlobalNotifier","onFetchSuccess","isInfiniteLoad","RECEIVE_RESULTS_DONE","onFetchError","level","RECEIVE_RESULTS_ERROR","fetchResults","_ref$searchParams","GLOBAL_SEARCH_URL","onError","RECEIVE_SUMMARY_ERROR","body","RECEIVE_SUMMARY_DONE","fetchSummary","FETCH_SUMMARY","is_leadership","isLeadership","stafferTitles","issuesArea","customTransformers","_customTransformers$t","transformForBE","_customTransformers$t2","transformForUI","_getStaffersUrl","_staffersUrls","staffersUrls","FEDERAL_LEGISLATOR_SLUG","FEDERAL_COMMITTEE_SLUG","STATE_LEGISLATOR_SLUG","getStaffersUrl","STRATEGY_SLUG_EXPORT","FETCH_DOCUMENTS","RECEIVE_DOCUMENTS_DONE","RESET_DOCUMENTS","SET_DOCUMENTS","transformEachRecordForBE","transformRecordsForBE","transformRecordTypeSubscriptions","groupedSubscriptions","keyBy_default","mapValues_default","extractIdsFromRecords","transformFetchedRecords","recordsObject","RECEIVE_SUBSCRIPTIONS_ERROR","successPayload","_ref2$isTrackable","isTrackable","_ref2$shouldBeFetched","shouldBeFetched","tracking","newSubscriptionData","transformTrendsForUI","sumBy_default","sentimentOverall","sentiment","percentage","formatPercentage","fetchClusterTrends","FETCH_CLUSTER_INFO","feedId","field","RECEIVE_CLUSTER_INFO_DONE","RECEIVE_CLUSTER_INFO_FAILURE","Notifications","submitLobbyAlerts","SUBMIT_LOBBY_ALERTS","SUBMIT_LOBBY_ALERTS_DONE","SUBMIT_LOBBY_ALERTS_ERROR","fetchDonors","FETCH_DONORS","RECEIVE_DONORS","DONORS_NOT_FOUND","transformPublicRecordsForUI","_ref$response","transformRecords","full_text","getPublicRecordsData","_getPublicRecordsUrl","_publicRecordsUrls","publicRecordsUrls","FEDERAL_BILL_SLUG","STATE_BILL_SLUG","getPublicRecordsUrl","fetchPublicRecords","FETCH_PUBLIC_RECORDS","_getPublicRecordsData","currentData","RECEIVE_PUBLIC_RECORDS_DONE","fileName","blob","Blob","getBlob","downloadBlob","STATE_COMMITTEE_SLUG","FEDERAL_BILL_SIMILAR_BILLS_SLUG","STATE_BILL_SIMILAR_BILLS_SLUG","PUBLICATIONS_URL","RECEIVE_REGULATION_DONE","FETCH_TIMELINE","RECEIVE_TIMELINE_DONE","UPSERT_SUMMARY_DONE","FETCH_PUBLICATIONS","RECEIVE_PUBLICATIONS_DONE","RESET_REGULATION_DATA","FETCH_GENERAL_FEEDS","RECEIVE_GENERAL_FEEDS_DONE","RECEIVE_GENERAL_FEEDS_FAILURE","FETCH_PERSONAL_FEEDS","RECEIVE_PERSONAL_FEEDS_DONE","RECEIVE_PERSONAL_FEEDS_FAILURE","DELETE_FEED","DELETE_FEED_DONE","DELETE_FEED_FAILURE","CREATE_FEED_DONE","CREATE_FEED_FAILURE","UPDATE_FEED_DONE","UPDATE_FEED_FAILURE","SUBSCRIBE_TO_FEED","SUBSCRIBE_TO_FEED_DONE","SUBSCRIBE_TO_FEED_FAILURE","MONEYBALL_INDIVIDUAL_PROFILE_STRATEGY_SLUG","FETCH_INDIVIDUAL","RECEIVE_INDIVIDUAL_DONE","FETCH_INDIVIDUAL_CONTRIBUTIONS","RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE","FETCH_INDIVIDUAL_RECEIPT","RECEIVE_INDIVIDUAL_RECEIPT_DONE","SET_ELECTION_CYCLES","SELECT_ELECTION_CYCLE","SUBMIT_EXPORT_ONE_PAGE_REPORT_LOADING","SUBMIT_EXPORT_ONE_PAGE_REPORT_DONE","getExportPayloadData","_ref$type","_ref$toggleExportModa","_ref$exportNotificati","GOV_REPORTS_URL","ajaxProps","_getExportPayloadData","queryStringify","trackingShape","prop_types__WEBPACK_IMPORTED_MODULE_0__","prop_types__WEBPACK_IMPORTED_MODULE_0___default","redux_events_utils_shapes__WEBPACK_IMPORTED_MODULE_1__","utils_shapes__WEBPACK_IMPORTED_MODULE_2__","subscriptionShape","PropTypes","shape","stringNumberType","string","isRequired","bool","model_type","workspaceShape","arrayOf","_toBE__WEBPACK_IMPORTED_MODULE_0__","_toFE__WEBPACK_IMPORTED_MODULE_1__","FETCH_COMMITTEES_DATA","RECEIVE_COMMITTEES_DATA_DONE","FETCH_COMMITTEES_RECEIPT","RECEIVE_COMMITTEES_RECEIPT_DONE","FETCH_CUSTOM_FIELDS","FETCH_CUSTOM_FIELDS_DONE","RECEIVE_CUSTOM_FIELDS","RECEIVE_CUSTOM_FIELDS_DONE","GET_CUSTOM_FIELD_BY_TOKEN","GET_CUSTOM_FIELD_BY_TOKEN_DONE","CREATE_CUSTOM_FIELDS","CREATE_CUSTOM_FIELDS_DONE","UPDATE_CUSTOM_FIELDS","UPDATE_CUSTOM_FIELDS_DONE","RESET_LOADING_CUSTOM_FIELDS","UPDATE_POSITION","UPDATE_POSITION_DONE","UPDATE_POSITION_FAILURE","UPDATE_POSITION_SYNC_DONE","SET_PUBLIC_RECORDS","FETCH_COMPANY_INFO","RECEIVE_COMPANY_INFO_DONE","UPDATE_COMPANY_INFO","UPDATE_COMPANY_INFO_DONE","UPDATE_COMPANY_INFO_ERROR","RESET_API_TOKEN","RESET_API_TOKEN_DONE","DELETE_CONTACT","DELETE_CONTACT_DONE","DELETE_CONTACT_ERROR","SAVE_CONTACT","CONTACT_SAVED","SAVE_CONTACT_FAILED","STRATEGY_SLUGS_WITHOUT_LAST_SEARCH_ID","redux_moneyball_candidatePages_profile_constants__WEBPACK_IMPORTED_MODULE_0__","redux_moneyball_individualPages_profile_constants__WEBPACK_IMPORTED_MODULE_1__","FETCH_SAVED_SEARCHES_DATA","RECEIVE_SAVED_SEARCHES_DATA_DONE","FETCH_RECENT_SEARCHES_DATA","RECEIVE_RECENT_SEARCHES_DATA_DONE","SAVE_SEARCH_ITEM","SAVE_RECENT_SEARCH_ITEM","SAVE_RECENT_SEARCH_ITEM_DONE","SAVE_SEARCH_ITEM_DONE","REMOVE_SEARCH_ITEM","REMOVE_SEARCH_ITEM_DONE","SET_LAST_SEARCH_ID","MONEYBALL_CANDIDATE_PROFILE_STRATEGY_SLUG","FETCH_CANDIDATE","RECEIVE_CANDIDATE_DONE","FETCH_CANDIDATE_CONTRIBUTIONS","RECEIVE_CANDIDATE_CONTRIBUTIONS_DONE","FETCH_CANDIDATE_RECEIPT","RECEIVE_CANDIDATE_RECEIPT_DONE","FETCH_POSTS","RECEIVE_POSTS_DONE","RECEIVE_POSTS_FAILURE","SAVE_TAGS_ITEM","short_moniker","addressableMoniker","mappedSubscriptions","required_inputs","NONE_ID","TRACK_SUBSCRIPTION_FREQUENCIES","lodash_capitalize__WEBPACK_IMPORTED_MODULE_1___default","lodash_head__WEBPACK_IMPORTED_MODULE_3___default","FETCH_SEARCHES","RECEIVE_SEARCHES","FETCH_SEARCHES_RESULTS","DELETE_SEARCHES_ITEM","RESET_SEARCHES_TIMERS","RECEIVE_SEARCHES_RESULT","RECEIVE_SEARCHES_RESULTS","REFRESH_SEARCHES_RESULTS","SET_ENRICHMENT","FETCH_CORPORATION","RECEIVE_CORPORATION_DONE","FETCH_CORPORATION_CONTRIBUTIONS","RECEIVE_CORPORATION_CONTRIBUTIONS_DONE","FETCH_CORPORATION_RECEIPT","RECEIVE_CORPORATION_RECEIPT_DONE","stafferConstants","FETCH_STAFFER_DATA","FETCH_STAFFER_DATA_DONE","FETCH_COMMITTEE_OFFICE_DATA","FETCH_COMMITTEE_OFFICE_DATA_DONE","FETCH_LEGISLATOR_DATA","FETCH_LEGISLATOR_DATA_DONE","getPdfUrl","paths","pdf_url","size_default","transformSummaryForUI","pdfUrl","apiUrl","onTagsSaved","fetchDocumentTags","onDocumentShared","RECEIVE_IS_SHARED_DONE","fetchIsDocumentShared","fetchIsShared","RECEIVE_DETAILS_DONE","RECEIVE_DETAILS_ERROR","fetchDetails","FETCH_DETAILS","tagsApiUrl","myFeedApiUrl","onExportDocument","EXPORT_DOCUMENT","exportDocument_extends","dataType","xhrFields","responseType","currentDate","EXPORT_DOCUMENT_DONE","tags_onTagsSaved","tags_fetchDocumentTags","sharedDocument_onDocumentShared","sharedDocument_fetchIsDocumentShared","fetchBills","_getBillsUrl","getBillsUrl","saveTrackItems","trackItems","actions_saveTrackItems","addWorkspace","fetchWorkspaces","deleteWorkspace","fetchWorkspace","resetWorkspace","components_Dashboard_common_UserNotifications__WEBPACK_IMPORTED_MODULE_1__","components_Dashboard_utils__WEBPACK_IMPORTED_MODULE_2__","redux_appliedSearchFilters_utils__WEBPACK_IMPORTED_MODULE_3__","redux_appliedSearchFilters_actions__WEBPACK_IMPORTED_MODULE_4__","redux_advancedSearch_actions__WEBPACK_IMPORTED_MODULE_5__","redux_dashboardV2_common_workspaces_api__WEBPACK_IMPORTED_MODULE_6__","redux_dashboardV2_common_workspaces_transformers__WEBPACK_IMPORTED_MODULE_7__","utils_http_isNotFoundError__WEBPACK_IMPORTED_MODULE_8__","_constants__WEBPACK_IMPORTED_MODULE_9__","ADD_WORKSPACE","_ref$searchData","_ref$isInfinite","FETCH_WORKSPACES","workspacesApi","RECEIVE_WORKSPACES_DONE","_ref3$isTracking","DELETE_WORKSPACE","DELETE_WORKSPACES_DONE","DELETE_WORKSPACE_FAILURE","RESET_WORKSPACE","updateDefaultSubscription","redux_dashboardV2_common_subscriptions_api__WEBPACK_IMPORTED_MODULE_0__","FETCH_DEFAULT_SUBSCRIPTION","LOAD_DEFAULT_SUBSCRIPTION_DONE","LOAD_DEFAULT_SUBSCRIPTION_FAILED","UPDATE_DEFAULT_SUBSCRIPTION","UPDATE_DEFAULT_SUBSCRIPTION_DONE","UPDATE_DEFAULT_SUBSCRIPTION_FAILED","groupResponseByDate","groupedData","scheduled_at","DAY_DATE_FORMAT","event","addToCalendarUrl","calendar_export_url","committeeId","committeeType","committeeName","committeeUrl","scheduledDate","isChecked","getAjax","filterResponseByCommittees","selectedCommittees","apiEvents","_event$committee","monthsAheadToFetch","federal","hearingCalendar","_payload$end_date","monthsAhead","add","getEndDate","selectedSubcommittee","filteredResponse","committeeProfile","isSubcommittee","_event$committee2","subcommittee_id","FETCH_EVENTS_SUCCESS","fetchCalendarData","FETCH_CALENDAR_DATA","_payload$date","subtract","FETCH_CALENDAR_DATA_SUCCESS","onSelectCalendarDate","selectedDate","SELECT_CALENDAR_DATE","onChangeCalendarMonth","onCheckAllEvents","checkedEvents","extractAllEvents","CHECK_EVENTS","onClearAllCheckedEvents","onClearAllEvents","onCheckSelectedEvent","selectedEvent","filteredEvents","unionWith_default","filterByCommittee","FILTER_EVENTS","setMonthsAheadToFetch","SET_MONTHS_AHEAD","billNumber","bill_number","startCase_default","filterResponseByStates","selectedStates","_getState$state$heari","filteredByStates","filterByState","fetchSupportedStates","mapboxApiEndpoint","radius","access_token","mapboxAccessToken","filterType","kwId","STATE_LEGISLATION_LOWER","state_lower_district_kw_id","STATE_LEGISLATION_UPPER","state_upper_district_kw_id","congressional_district_kw_id","getKwIdByFilterType","RECEIVE_LEGISLATORS_FAIL","getFetchLegislatorsUrl","fetchDistrict","fetchAllLegislatorsByAddress","districts","geocodeLegislatorAddress","mapTypeCodes","_payload","congressionalLegislators","stateUpperLegislators","stateLowerLegislators","RECEIVE_ALL_LEGISLATORS_DONE","fetchBillsAndVotes","transformBillsAndVotesForBE","transformBillsAndVotesForUI","getVotingRecordUrl","fetchFilterIndustries","fetchFilterOrganizationTypes","fetchFilters","updateFilters","restFilters","formattedFilters","resolvers","fetchTotals","fetchGraph","fetchDataLookup","_ref2$filters","resetApiToken","companyInfo","company_id","api_token","apiToken","transformCompanyInfoForUI","fetchCompanyInfo","updateCompanyInfo","transformCompanyInfoForBE","onDeleteSuccess","contactId","onDeleteError","deleteContact","onSaveSuccess","onSaveError","saveContact","contact","getContactSaveRequestSettings","deleteStakeholderTag","stakeholderId","deleteNotifications","fetchStakeholderProfile","sortStakeholderTagByColumn","sortStakeholderSmartListByColumn","deleteStakeholderList","listId","sortStakeholderListByColumn","contributions","contributions_last_sync","BASE_URL_SUBSCRIPTIONS","BASE_FEEDS_MANAGER_URL","SHOW_ALL","REMOVED_FREQUENCY","_TRACK_SUBSCRIPTION_F","STATE_STAFFER_OFFICE","transformSmartList","smartList","updated_at","is_processing","DAY_YEAR_DATE_FORMAT","stakeholdersCount","isProcessing","fetchSmartLists","_options","deleteSmartList","success","failure","updateIsTemplate","target","checked","updateTitle","updateDescription","updateTransactor","_getState$moneyball$s","moneyball","smartSearchBuilder","builder","transactor","statement","Date","getTime","operator","statements","updateData","getList","request_data","isTemplate","submitList","urlSuffix","delay","responsePayload","builder_reset","setDateRange","dateRange","fetchStatisticsMessagesCount","fetchStatisticsAdvocatesCount","initialMessagesSentOptions","starts_on","ends_on","fetchStatisticsMessagesSent","fetchStatisticsTopStates","fetchStatisticsEditedMessages","initialSendersOptions","order_mode","order_column","fetchStatisticsSenders","initialFederalRecipientsOptions","fetchStatisticsFederalRecipients","initialStateRecipientsOptions","fetchStatisticsStateRecipients","initialRegulationsOptions","initialCustomRecipientsOptions","fetchStatisticsCustomRecipients","fetchStatisticsRegulations","fetchStatistics","commonRequests","regulationRequests","legislatorRequests","generalRequests","campaignRequests","addChartToPrint","chartId","chart","transformDataForUI","transformDataForBE","_ref2$includeStats","includeStats","column","dataset_id","congressional_district_ids","state_ids","include_rows_stats","handleFecthData","responsePagination","fetchIndividualAssetSets","_ref3$sortData","_ref3$pagination","searchIndividualAssetSets","_getState$organizatio","resetIndividualAsset","fetchMultipleIndividualAssetSets","promisses","transformedData","stats","is_rows_aggregate","totalRows","omit","isRowsAggregate","itemsCount","pluralize","updateWorkspace","initialName","updateWorkspaceSubscription","frequencyLabel","successNotification","updateCommitteeSubscription","deleteCommitteeSubscription","defaultFrequency","saveCustomRecipient","deleteCustomRecipient","deleteCustomRecipients","defaultOptions","ASC","mapOrderColumn","twitter_screen_name","resetState","setNewCampaignType","saveCampaign","saveRecipients","disable","deleteRecipient","saveRecipient","savePTCMessage","ptc_config","messageRequests","emailMessage","matcher_message","saveMessage","saveThankYouMessage","thank_you_config","saveLogoConfig","logo_config","fetchFormInitialValues","getColors","companyConfig","getLogo","logo","initialValues","orderColumn","strategy_inputs[staffer_ids]","loadStaffersRecentSearches","loadStaffersSavedSearches","saveStaffersAdvancedSearch","removeStaffersAdvancedSearch","_payload$stafferData","getStaffersData","_payload$searchData2","_payload$searchData3","_getStaffersData","FETCH_STAFFERS_EMAILS","rolodex","stafferLookup","_getStaffersData2","RECEIVE_STAFFERS_EMAILS_DONE","FETCH_LEGISLATOR","RECEIVE_LEGISLATOR_DONE","RESET_LEGISLATOR_DATA","fetchStarted","fetchFinished","notFound","fetchAjaxData","transformItemForUI","fetchBillsComparison","transformTextVersionsForUI","fetchRollCallVotes","rollCallVotesData","transformRollCallVotesForBE","transformRollCallVotesForUI","fetchAmendments","amendmentsData","transformAmendmentsForBE","transformAmendmentsForUI","fetchActiveVoices","activeVoicesData","transformActiveVoicesForBE","transformActiveVoicesForUI","fetchLobbyingInformation","transformLobbyingInformationForUI","loadCommitteeSavedSearches","loadCommitteeRecentSearches","saveCommitteeAdvancedSearch","removeCommitteeAdvancedSearch","searchCommittees","loadIndividualSavedSearches","loadIndividualRecentSearches","saveIndividualAdvancedSearch","removeIndividualAdvancedSearch","super_individual_ids","searchIndividuals","FETCH_INDIVIDUALS","RECEIVE_INDIVIDUALS_DONE","checkClusterbuck","_ref3$items","CHECK_CLUSTERBUCK_INIT","cluster_exists","CHECK_CLUSTERBUCK_DONE","allow","sendToClusterbuck","_ref5$items","toggleClusterbuckModal","SUBMIT_TO_CLUSTERBUCK_INIT","reviewer_name","getCurrentUserName","SUBMIT_TO_CLUSTERBUCK_DONE","loadCorporationSavedSearches","loadCorporationRecentSearches","saveCorporationAdvancedSearch","removeCorporationAdvancedSearch","super_corporation_ids","searchCorporations","FETCH_CORPORATIONS","RECEIVE_CORPORATIONS_DONE","loadDisbursementsSavedSearches","loadDisbursementsRecentSearches","saveDisbursementsAdvancedSearch","removeDisbursementsAdvancedSearch","disbursement_ids","searchDisbursementsReceipt","FETCH_DISBURSEMENTS_RECEIPT","transformReceiptDisbursements","RECEIVE_DISBURSEMENTS_RECEIPT_DONE","searchDisbursements","FETCH_DISBURSEMENTS","RECEIVE_DISBURSEMENTS_DONE","loadCandidatesSavedSearches","loadCandidatesRecentSearches","saveCandidatesAdvancedSearch","removeCandidatesAdvancedSearch","customData","super_candidate_ids","searchCandidates","FETCH_CANDIDATES","RECEIVE_CANDIDATES_DONE","fetchSinglePost","resetLegislatorData","fetchLegislatorProfile","_payload$page2","_payload$perPage2","resetDocuments","appliedFiltersConstants","getDocumentsData","_getDocumentsData","currentPayload","transformDocumentsForUI","dataProps","strategy_inputs[ids]","GLOBAL_DATE_FORMAT","loadLocalRecentSearches","localData","advancedSearch_extends","loadLocalSavedSearches","_payload$localData","emptySearch","emptyOptions","isSearchEmpty","isEqual","handleViewAllClick","local","toUpperCase","popup_extends","locales","data_fetchDocuments","data_resetDocuments","resetRegulations","filterConstants","selectedGroups","groupType","bulkShareToMyFeedApi","fetchRegulations","_getRegulationsData","transformRegulationForUI","identity_default","loadRegulationsRecentSearches","regulationsData","loadRegulationsSavedSearches","_payload$regulationsD","data_fetchRegulations","data_resetRegulations","resetCommittees","partial_default","getCommitteesData","_getCommitteesData","loadCommitteesRecentSearches","legislatorData","loadCommitteesSavedSearches","_payload$legislatorDa","data_fetchCommittees","data_resetCommittees","dataPayload","_getLookupRequestPara","getLookupRequestParams","resetBills","fetchBillsGraphs","graphs_extends","transformGraphForUI","loadBillsRecentSearches","billData","loadBillsSavedSearches","_payload$billData","getLegislatorsData","_getLegislatorsData","transformLegislatorsForUI","resetLegislators","legislatorLookup","loadLegislatorsRecentSearches","loadLegislatorsSavedSearches","subcommittee","parent_committee","displayName","parentCommittee","transformCommitteeMembersForUI","members","transformMember","byParty","member","byRepublicanParty","byDemocraticParty","byOtherParty","overSome_default","republicans","democrats","transformSubcommitteesForUI","fetchMembers","fetchSubcommittees","loadOverview","fetchCommittee","resetCommitteeData","transformStaffableForUI","staffable","external_id","role_code","nickname","externalId","districtNumber","roleCode","isNull_default","transformLegislatorForUI","universalMoniker","transformPositionForUI","office_type","employment_status","position_titles","stafferId","positionTitles","officeType","employmentStatus","transformHistoricalPositionForUI","staffable_type","staffableId","staffableType","positionType","chamber_name","twitter_account","facebook_account","linkedin_account","gender_title","historical_positions","state_office_id","profile_objectWithoutProperties","profile_extends","chamberName","twitterAccount","facebookAccount","linkedInAccount","genderTitle","stateOfficeId","historicalPositions","STATE_STAFFER_ITEM_TYPE","STATE_STAFFER","nextPage","next_page","prevPage","prev_page","transformOfficeStaffersForUI","officeStaffers","officeStaffer","officeStaffers_extends","fetchOfficeStaffers","FETCH_OFFICE_STAFFERS","RECEIVE_OFFICE_STAFFERS_DONE","requestBody","getOfficeStaffersBody_extends","state_offices","fetchStaffer","FETCH_STAFFER","RECEIVE_STAFFER_DONE","sortOfficeStaffers","stafferProfile","sortStaffer","data_extends","committeeData","_payload$committeeDat","fetchAgencyStaffers","FETCH_AGENCY_STAFFERS","RECEIVE_AGENCY_STAFFERS_DONE","transformAgencyStaffersForUI","resetAgencyStaffers","RESET_AGENCY_STAFFERS","loadAgencyStaffersRecentSearches","agencyStafferData","loadAgencyStaffersSavedSearches","transformOptionsForSave","_payload$agencyStaffe","FETCH_AGENCY_STAFFERS_EMAILS","agencyStaffersLookup","_getAgencyStaffersDat","omitBy","isNil","getAgencyStaffersData","RECEIVE_AGENCY_STAFFERS_EMAILS_DONE","partial","resetStaffers","RESET_STAFFERS","loadStaffersRecentSearch","transformPersonForUI","person","transformExecutive","FEDERAL_ROLE","FEDERAL_AGENCY_STAFFER_ITEM_TYPE","FEDERAL_AGENCY_STAFFER","actions_fetchProfile","notifyError","errorNotification","profile_slug","fetchAgencyStaffer","loadLocalExecutivesRecentSearches","loadLocalExecutivesSavedSearches","FETCH_LOCAL_EXECUTIVES_EMAILS","localExecutiveLookup","_getExecutivesData","RECEIVE_LOCAL_EXECUTIVES_EMAILS_DONE","fetchExecutives","FETCH_LOCAL_EXECUTIVES","RECEIVE_LOCAL_EXECUTIVES_DONE","transformExecutivesForUI","resetExecutives","RESET_LOCAL_EXECUTIVES","transformDataForFront","display_data","is_template","copy","transformDataForBack","govpredictAdmin","currentUser","isTemplateForBack","dataForBack","val","responseValue","toType","addons","total_gt","total_lt","toTypeValue","isArray","object","gt","lt","lon","receiptAmount","zipWithinRange","formatSmartSearchObjectForBE","UPDATE_ISTEMPLATE","trackMoneyBallSmartSearchCreate","trackMoneyBallSmartSearchUpdate","fetchRegulationProfile","resetRegulationData","PUBLICATIONS_PER_PAGE","fetchPublicationsBase","isTimeline","_getPublicationsData","grouped","customPerPage","getPublicationsData","fetchDone","fetchPublications","loadExecutivesRecentSearches","loadExecutivesSavedSearches","FETCH_EXECUTIVES_EMAILS","executiveLookup","RECEIVE_EXECUTIVES_EMAILS_DONE","FETCH_EXECUTIVES","RECEIVE_EXECUTIVES_DONE","RESET_EXECUTIVES","transformDataSetForUI","dataSet","total_rows","restData","String","fetchDataSets","_ref$pagination","_data","mapValue","isObject_default","getStateBills","itemsToTrack","isStateBills","STATE_BILLS_SLUG","isStateRegulation","isGovernorPressReleases","GOVERNOR_PRESS_RELEASES_SLUG","isGovernorOrders","GOVERNOR_ORDERS_SLUG","state_bill_states","state_regulation_document_states","doctrove_governor_press_release_states","doctrove_governor_order_states","getLocalDocuments","LOCAL_DOCUMENTS_SLUG","town_intel_document_options","getSocialMedia","social_media_post_ids","transformKeywordForUI","allStatesLength","defaultSubscription","model_slugs","statesToTrack","localCities","localStates","localCitiesLength","localDocumentOptions","isCity","isAllLocalChecked","isAllSocialMediaSelected","socialMediaToTrack","notificationFrequency","fetchKeyword","RECEIVE_KEYWORD_SUCCESS","RECEIVE_KEYWORD_FAILED","saveKeyword","SAVE_KEYWORD","_ref2$isUpdate","isUpdate","workspacesToSubscribe","item_types","commonProps","withWorkspacesOption","transformKeywordForBE","createData","ajaxData","SAVE_KEYWORD_DONE","resetKeywordForm","isLoadingKeyword","RESET_KEYWORD_FORM","transformStaffMembers","staff_members","addTitleToCommitteeMembers","activePosition","transformSubject","abbreviated_title","restSubject","abbreviatedTitle","identity","fetchStafferData","getStafferProfileFailed","active_positions","organizational_positions","committee_staffer_type","committeeStafferType","activePositions","additionalStaff","additional_staff","restActivePosition","organizationalPositions","linkedinAccount","CONGRESSIONAL_STAFFER","CONGRESSIONAL_STAFFER_ITEM_TYPE","isLegislator","fetchCommitteeOffice","getCommitteeFailed","fetchLegislator","getLegislatorFailed","sortCommitteeOfficeByColumn","committeeKey","committeeOffice","sortedCommitteeOfficeData","sortLegislatorByColumn","legislatorKey","sortedLegislatorData","transformLocalExecutive","executive","LOCAL_ROLE","LOCAL_EXECUTIVE_ITEM_TYPE","LOCAL_EXECUTIVE","fetchExecutiveProfile","FETCH_EXECUTIVE","RECEIVE_EXECUTIVE_DONE","fetchProfileFailed","organization_type","super_committee","restCommittee","formattedCommittees","address_zip_code","transformContributions","receipt","superCommDonor","super_committee_donor","superIndDonor","super_individual_donor","superCorpDonor","super_corporation_donor","super_committee_conduit","donorInfo","getContributionDonorInfo","conduitId","conduitName","filing_source_url","contribution_date","contribution_amount","source_type_full","election_type_full","donor_name","conduit","conduitUrl","dataTransformedBySearchType","election_types","getElectionTypeFilterValue","transformDisbursementSearchesForFE","contributor_types","contributor","transformContributionSearchesForFront","queryType","transformContributionSearchesForFE","transformContributionOptionsForBE","contributorType","contributorNonIndividual","contributorCommitteeTypes","contributorIndividuals","contributorEmployers","contributorOccupations","contributorStreet","contributorCity","contributorStates","contributorZip","electionTypes","formatContributorType","transformDisbursementOptionsForBE","transformContributionOptionsSearchForBE","transformDisbursementOptionsSearchForBE","setElectionCycles","cycles","onSetElectionCycles","onSelectCycle","onSelectElectionCycle","submitExportLookup","exportLookupFilters","super_committee_recipients","customFileName","slugify","submitDisbursementsExport","submitDisbursementsExportLookup","fetchCommitteeData","fetchSearchKeyDetails","searchCommitteesReceipt","searchCommitteesData","actions_objectWithoutProperties","transformResponsePayloadBySearchType","transformSearchToQueryBySearchType","transformAdvancedSearchToQueryBySearchType","transformIndividual","individualItem","super_individual","formattedSuperIndividual","formattedSuperIndividuals","superIndividualItem","formattedIndividuals","super_committee_recipient","recipientInfo","getContributionRecipientInfo","recipientNames","submitExportOnePage","combineIds","DOCX_ID","merge_default","fetchIndividual","searchIndividualContributionsReceipt","searchIndividualContributions","transformCorporation","corporations","super_corporation","formattedSuperCorporation","formattedCorporations","super_corporations","fetchCorporation","searchCorporationContributionsReceipt","searchCorporationContributions","transformVendors","vendorItem","vendor","last_disbursement_date","searchVendors","actions_reset","transformVendor","vendors","super_vendor","formattedSuperVendor","formattedVendors","loadVendorSavedSearches","loadVendorRecentSearches","saveVendorAdvancedSearch","removeVendorAdvancedSearch","fetchVendorData","FETCH_VENDOR","super_vendor_ids","RECEIVE_VENDOR_DONE","searchVendorsReceipt","FETCH_VENDOR_RECEIPT","RECEIVE_VENDOR_RECEIPT_DONE","searchVendorDisbursements","FETCH_VENDOR_DISBURSEMENTS","RECEIVE_VENDOR_DISBURSEMENTS_DONE","transformCandidate","candidates","restCandidate","formattedCandidates","committeeAddressZipCode","loadCandidateSavedSearches","loadCandidateRecentSearches","saveCandidateAdvancedSearch","removeCandidateAdvancedSearch","fetchCandidateData","searchCandidatesReceipt","searchCandidatesContributions","searchItem","last_run_at","is_contact_enrichment_requested","isEnrichmentEnabled","remainingTime","currentStatus","hasResults","disabled","progressCompleted","_result$done","done","_result$total","max","min","ceil","titleTheme","percent","enqueued","progress","hasFreshResults","diff","createdDate","lastRunDate","isEnrichmentRequested","withEnrichment","updateItemSearches","transformSearches","timers","pollingSearchesData","poolTimer","ms","clearTimeout","job_ids","fetchSearchesAllResults","clearTimers","fetchSearchesData","deleteSearchesItem","refreshSearchesItem","fetchSearchesItemResults","enrichmentSearchesItem","transformData","cluster","_ref$members","primaryMember","is_primary","primaryMemberSM","stakeholder_mgmt_companies","primaryMemberName","primaryMemberEmployer","primaryMemberOccupation","primaryMemberStreet1","primaryMemberStateCode","primaryMemberZipCode","primaryMemberAddressFinal","super_individuals_count","clusterAmount","total_amount","status_at","nameClusterCounter","sm","memberAmount","_ref6$stakeholder_mgm","memberSM","memberStreet1","memberStateCode","memberZipCode","memberCity","restMember","memberAddressFinal","restAppliedFilters","FETCH_DATA_REQUEST","FETCH_DATA_SUCCESS","deleteData","reviewer","afterDeleteAction","DELETE_DATA_REQUEST","cluster_ids","DELETE_DATA_SUCCESS","mergeData","afterMergeAction","MERGE_DATA_REQUEST","MERGE_DATA_SUCCESS","transformToBE","mergeRecords","transformTags","transformLists","transformAddresses","transformEmails","transformPhones","merge_records","mergeStakeholders","MERGE_STAKEHOLDERS","merge","MERGE_STAKEHOLDERS_DONE","MERGE_STAKEHOLDERS_FAIL","mapDocuments","related_documents","relevant_links","agency_titles","capitalize_default","publicationDate","quickReferences","transformRelevantLinks","union_default","transformDocumentForUI","fetchDocument","FETCH_DOCUMENT","RECEIVE_DOCUMENT_DONE","fetchRegulationTags","onRegulationShared","fetchIsRegulationShared","fetchRegulationDetails","FETCH_REGULATION_DETAILS","RECEIVE_REGULATION_DETAILS_DONE","getFirstDocumentFromResponse","ADDED_TO_API_URL","transformStateExecutive","STATE_ROLE","STATE_EXECUTIVE_ITEM_TYPE","STATE_EXECUTIVE","STATE_AGENCY_STAFFER","STATE_AGENCY_STAFFER_ITEM_TYPE","callback","ajaxRequest","successAction","reloadAction","failureAction","errorKey","_ref$method","createWorkspace","redux_dashboardV2_common_subscriptions_utils__WEBPACK_IMPORTED_MODULE_0__","redux_dashboardV2_constants__WEBPACK_IMPORTED_MODULE_2__","utils_api__WEBPACK_IMPORTED_MODULE_3__","utils_object__WEBPACK_IMPORTED_MODULE_4__","_transformers__WEBPACK_IMPORTED_MODULE_5__","notifyWorkspaceCreateSuccess","notifyWorkspaceCreateFailure","notifyWorkspaceUpdateSuccess","notifyWorkspaceUpdateFailure","notifyWorkspaceDeleteSuccess","notifyWorkspaceDeleteFailure","reqs","redux_dashboardV2_constants__WEBPACK_IMPORTED_MODULE_0__","DELETE_STAKEHOLDERS","DELETE_STAKEHOLDERS_DONE","DELETE_STAKEHOLDER","DELETE_STAKEHOLDER_DONE","CREATE_STAKEHOLDER","CREATE_STAKEHOLDER_FAIL","CREATE_STAKEHOLDER_DONE","UPDATE_STAKEHOLDER","UPDATE_STAKEHOLDER_FAIL","UPDATE_STAKEHOLDER_DONE","FETCH_EVENTS_FAILURE","toFixed","_ref4$sentences","sentences","_ref4$summary","summarySentences","validDate","_values","unit","numericTime","_data$source","logo_url","restSourceProps","_data$sentiment","author","entities","image_url","external_token","polarity","score","mentions","imageUrl","raw","full","fromNow","short","split","replace","trimWhitespace","lodash_join__WEBPACK_IMPORTED_MODULE_3___default","logoUrl","transformNewsFeedForUI","clusterGroups","feedData","addedClusters","shouldGroupClusters","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_6___default","lodash_groupBy__WEBPACK_IMPORTED_MODULE_5___default","lodash_forEach__WEBPACK_IMPORTED_MODULE_1___default","story","isEmptyClusterIds","isClusterIdAdded","lodash_includes__WEBPACK_IMPORTED_MODULE_2___default","clusterKeyName","lodash_find__WEBPACK_IMPORTED_MODULE_4___default","clusterKey","clusterData","cursor","dataCount","isLastPage","transformNewsParams","sort_by","transformNewsLookupParams","extractKeywords","str","word","removeIgnoredKeyword","trim","getFeedKeywords","includeKeywords","include_keywords","feedNotFound","transformTag","short_title","official_title","text_url","committee_hearings","companion_bill","text_summary","related_bill","companionBillId","companionBillUrl","MONTH_SHORT_DAY_YEAR_FORMAT","textSummary","billName","shortTitle","officialTitle","displayBillId","billStatusFull","billText","companionBill","committeesAssignments","total_republican_cosponsors","total_democratic_cosponsors","total_independent_cosponsors","original_cosponsors","additional_cosponsors","independent","originalCosponsors","isOriginalCosponsor","otherCosponsors","transformReportList","reports","sap_reports","crs_reports","committee_reports","cbo_reports","officialReports","sapReports","crsReports","committeeReports","cboCostEstimate","getItemTitle","_item$type_name","type_name","rollCallVotes_extends","rollCallVotes_objectWithoutProperties","_amendments$data","proposed","amendments_objectWithoutProperties","sponsorProps","amendments_extends","attributes","ratings","rating","_rating$records","_rollCallVotesData$da","contract_url","client","firm","registrant","addCurrentSuffix","versions","billsComparison_extends","billsComparison_objectWithoutProperties","transformVersions","version_name","_ref3$bill_versions","bill_versions","_ref3$companion_versi","companion_versions","textVersions","reducers","savedSearches","recentSearches","savedPaginator","isSavedSearchesLoading","isRecentSearchesLoading","isSavingSearches","isRemovingItem","advancedSearch_reducers","reducers_extends","isLoadingDefaultSubscription","isUpdatingDefaultSubscription","defaultSubscription_reducers","defaultSubscription_reducers_extends","isSameRecord","subscriptionRecordId","getSubscriptions","itemSubscription","subscriptionType","findFederalCommitteeSubscription","subscriptionSearchId","isSameSearch","belongsToItem","mergeTrackWithSubscriptions","subscriptionReducer_extends","mergeDataWithPosition","positionReducer_extends","positionItem","positionRecordId","findPosition","isLoadingPosition","mergeDataWithTags","tagsReducer_extends","tagItem","tagRecordId","findTags","actionId","reducersUtils_extends","isLoadingUndo","isUndo","setUndoFalse","isLoadingSingleTag","getTrackCommitteeIds","hearingId","seen","isLoadingKeywords","isInitialSeenUpdated","isInitialLoad","isLoadingNextPage","appliedSearchFilters","advancedSearch","myFeed","feedPage_reducers_extends","eventId","loadEvent","restStateProps","itemId","_item$subscription","updatedSubscription","updatedItem","_item$subscription2","itemPayload","updateEventKeyword","removeEvent","loadUndoEvent","LOAD_POSITIONS_DONE","loadPositions","loadAllPositionsDone","loadTags","updateTags","LOAD_RECENT_ITEM_SUBSCRIPTION","_action$payload","loadSubscriptions","updateTagItemLoading","isLoadingBulkRemove","loadingBulkRemoveEvents","isLoadingBulkSaving","isLoadingBulkPriority","isLoadingBulkRead","isLoadingBulkUnread","isLoadingBulkTags","loadingBulkUpdateItems","updateTrackCommitteeInit","list","unionBy_default","updateTrackCommittee","linkPreviewReducer_extends","has_default","isLoadingLinkPreview","loadLinksPreview","linkPreview","updateLinksPreview","searchKeyword","isFetchError","keywordSearch_reducers_extends","isSaveTrackItems","updateSubscriptionUsers","_camelizeKeys","userId","profileImgUrl","utils_extends","usersWithoutCurrentUser","usersWithCurrentUser","utils_toConsumableArray","newFrequency","getFeedWithNewFrequency","getFeedWithoutDeletedItem","DEFAULT_STATE","isLoadingWorkspace","isDeletingWorkspace","isNotFound","workspaces_reducers_extends","workspaceSettings_utils_extends","updateItem","updateListSubscriptions","updateAllSubscriptions","isLoadingSubscriptions","isDeletingSubscriptions","isUpdatingSubscriptions","isLoadingDefaultFrequency","isUpdatingDefaultFrequency","workspaceSettings","workspaceSettings_reducers_extends","isUpdating","isNameAlreadyTaken","trackItems_reducers_extends","isLoadingAlert","isDismissingAlert","isExporting","documentView_reducers_extends","social_media_message_enabled","exclude_washington_dc_delegates","exclude_us_territories","use_federal_legislator_contact_form","messages_customization_option","campaignNotFound","updatingCustomRecipients","statistics","advocates_count","messages_count","messages_sent","top_states","edited_messages","messages_by_parties","messages_by_chambers","senate","senders","federal_recipients","state_recipients","startsOn","endsOn","charts","loadingCampaign","loadingStatistics","loadingTableStatistics","receiveStatistics","grassrootsReports_reducer_extends","customColors","previewMode","landingPage","previewPage","thankYouPage","messageEditorsOpened","findLegislatorMatcherMessage","legislatorToRecipient","recipientBuilder_extends","findCustomRecipientMatcherMessage","customRecipientToRecipient","title_name","CUSTOM_RECIPIENT","facebookUrl","twitterScreenName","facebook_url","twitter_link","facebook_link","socialInfo","stateHandler","overrideProps","propsValues","utils_reducers_extends","appendValuesToArrayProps","_ref$removeDuplicates","removeDuplicates","newValue","reducers_toConsumableArray","updateObjectProps","isObjectLike_default","grmLookupKeyName","_stateHandler","hasNewCard","hasEditedCard","isLoadingCustomFields","isLoadingLinksPreview","getEnabledCards","difference_default","analytics","isLoadingMyFeedDocuments","grm2_reducers_extends","updateDataItemArrayPayload","loadingUpdateItem","watchlist","state_leg_issue_areas","selectedBill","timeline","sponsorsAndCosponsors","isLoadingWatchlist","committeesStatus","profileStatus","timelineStatus","cosponsorsStatus","sponsorsStatus","reportsStatus","calendarData","isLoadingEvents","isLoadingCalendar","isLoadingExports","exportReport_reducers","exportReport_reducers_extends","utils_reducersUtils_extends","isLoadingData","isSavingSubscriptions","isLoadingAllEmails","isInitialLoading","isSharingItems","legislatorLookup_reducers_extends","actionUpdated","getFederalSubscription","exportReport","committeeLookup_utils_reducersUtils_extends","committeeLookupKeyName","committeeLookup","committeeLookup_reducers_extends","news","largestEmployers","legislatorBills","isLoadingProfile","isLoadingStaffers","isLoadingNews","isLoadingDistrictInfo","isLoadingLargestEmployers","isLoadingLegislatorBills","details","subcommittees","isLoadingCommittee","isLoadingOverview","isLoadingCommitteeMembers","isLoadingSubcommittees","rollCallVotes","amendments","activeVoices","lobbyingInformation","isLoadingRollCallVotes","isLoadingAmendments","isLoadingActiveVoices","isLoadingLobbyingInformation","isLoadingBillsComparison","graphs","isLoadingGraphData","billLookupKeyName","billLookup","billLookup_reducers_extends","agencyStaffers","agencyStaffersLookup_reducers_extends","isProfileNotFound","hearingCalendars_reducers_extends","committeeProfile_reducers_extends","profile_reducers_extends","billProfile","billProfile_reducers_extends","agencyStafferProfile","agencyStafferProfile_reducers_extends","legislatorLookup_utils_reducersUtils_extends","state_legislatorLookup_reducers_extends","getStateSubscription","supportedStates","isLoadingSupportedStates","supportedStates_reducers","supportedStates_reducers_extends","legislatorProfile","legislatorProfile_reducers_extends","reducers_utils_reducersUtils_extends","committeesLookup","receiveCommittees","committeesLookup_reducers_extends","state_committeeProfile_reducers_extends","stafferLookup_reducers_extends","officeStaffersPagination","officeStaffersSortData","isLoadingStaffer","isLoadingOfficeStaffers","billLookup_utils_reducersUtils_extends","state_billLookup_reducers_extends","lookup_reducers_utils_reducersUtils_extends","lookup_reducers_extends","receiveRegulations","regulationLookupKeyName","regulationsLookup","relevantLinks","isLoadingPublications","isLoadingTimeline","isInitialLoadingTimeline","documentView","isLoadingRegulation","isLoadingDocument","document_reducers_extends","executiveLookup_reducers_extends","executiveProfile","executiveProfile_reducers_extends","state_agencyStafferProfile_reducers_extends","stafferProfile_reducers_extends","state_billProfile_reducers_extends","regulations_profile_reducers_extends","regulationsDocument","state_hearingCalendars_reducers_extends","reducerUtils_extends","receiveDocuments","localLookupKeyName","localLookup","local_lookup_reducers_extends","local_executiveProfile_reducers_extends","localExecutiveLookup_reducers_extends","searches","isSearchesLoading","isResultsInProgress","smartSearch_lookup_reducers_extends","lookup_reducers_toConsumableArray","restItem","reducers_objectWithoutProperties","receivedId","builder_reducers_extends","committeesError","isLoadingReport","committeePages_lookup_reducers_extends","committeesData","committeesDataError","committeesReceipt","committeesReceiptError","electionCyclesData","electionCycle","isCommitteeLoading","isCommitteesDataLoading","isCommitteesReceiptLoading","initialLoadingStatus","committeePages_profile_reducers_extends","candidateReceipt","candidateReceiptError","candidateContributions","candidateContributionsError","isCandidateLoading","isContributionsLoading","isCandidateReceiptsLoading","candidatePages_profile_reducers_extends","candidatesError","candidatePages_lookup_reducers_extends","individualsError","isLoadingToClusterbuck","isClusterbuckAllowed","individualPages_lookup_reducers_extends","contributionsError","contributionsReceipt","contributionsReceiptError","isIndividualLoading","isContributionsReceiptLoading","isOnePageReportLoading","individualPages_profile_reducers_extends","corporationError","corporationPages_lookup_reducers_extends","isCorporationLoading","corporationPages_profile_reducers_extends","receiptError","disbursementsError","isReceiptLoading","disbursementPages_lookup_reducers_extends","receiptsError","receiptPages_lookup_reducers_extends","vendorsError","vendorPages_lookup_reducers_extends","vendorReceipt","vendorReceiptError","vendorDisbursements","vendorDisbursementsError","isVendorLoading","isVendorDisbursementsLoading","isVendorReceiptLoading","vendorPages_profile_reducers_extends","dataError","isDeleting","firstQueue_lookup_reducers_extends","isMerging","firstQueue_profile_reducers_extends","secondQueue_lookup_reducers_extends","secondQueue_profile_reducers_extends","smartSearchLookup","individualLookup","individualProfile","corporationLookup","corporationProfile","vendorLookup","vendorProfile","candidateProfile","candidateLookup","disbursementLookup","receiptLookup","pacRankingLookup","clusterBuckFirstQueueLookup","clusterBuckFirstQueueProfile","clusterBuckSecondQueueLookup","clusterBuckSecondQueueProfile","generalFeeds","personalFeeds","isDeletingFeed","isLoadingPersonalFeeds","isLoadingGeneralFeeds","isSubscribing","clusterInfo","isLoadingClusterInfo","isLoadingTimeSeries","selectedFeedKeywords","selectedCards","isLoadingFeed","isSharingToMyFeed","newsFeed","common_reducers_extends","shouldReset","common_reducers_toConsumableArray","storyFeed","news_reducers_extends","news_reducers_toConsumableArray","cluster_reducers_extends","analytics_reducers_extends","isLoadingLegislator","rolodex_stafferLookup_reducers_extends","rolodex_stafferProfile_reducers_extends","isLoadingCustomFieldByToken","isSavingCustomField","isUpdatingCustomField","resetTable","isEnabled","isUpdatingPositions","availableIn","allCustomFields","customField","customFields_reducers_extends","filesUploaded","parseFileObjectToList","uploadedFileIds","replaceFilesWithoutIds","uploadedFile","payloadFile","similarFile","isSubmitting","stakeholder_common_reducers_extends","stakeholdersMap","stakeholderLists","districtStakeholdersMetadata","pages","tableColumns","isLoadingMapData","isLoadingLists","isApplyingLists","isApplyingTags","isResetFilters","isLoadingDistrictStakeholdersMetadata","Lookup_reducers_extends","allLegislators","geoCodeResults","isLoadingLegislators","FETCH_ALL_LEGISLATORS","legislator_lookup_reducers_extends","searchTouched","FETCH_DISTRICT","RECEIVE_DISTRICT_FAIL","stakeholderProfile","stakeholderContributions","isLoadingSmartLists","isDeletingStakeholderTag","isDeletingStakeholderList","errorLoadingStakeholder","isLoadingStakeholderProfile","isLoadingContributions","Profile_reducers_extends","isMergingStakeholders","stakeholderMerge","MergeTool_reducers_extends","builder_extends","isDeletingSmartList","lookup_extends","stakeholderSmartLists","standalone","termType","acceptTermsLoading","errors","submitLobbyAlerts_extends","submitLobbyAlertsDone","submitLobbyAlertsDone_extends","submitLobbyAlertsError","errorMessage","submitLobbyAlertsError_extends","donors","noResultsFound","fetchDonors_extends","transform","donor","receiveDonors","page_number","receiveDonors_extends","notFoundDonors","notFoundDonors_extends","isSavingContact","isResetingToken","isDeletingContact","isSavingCompany","manageOrganization","manageOrganization_reducers_extends","receiveSavedItem","savedItem","contacts","isLoadingPosts","feedLookupKeyName","feed_reducers_extends","feed_reducers_toConsumableArray","summaries","isLoadingSummary","globalSearch_reducers_extends","globalSearch_reducers_toConsumableArray","reducers_defineProperty","isClearingNotifications","isNotificationsPanelOpen","tracking_reducers_extends","tracking_reducers_defineProperty","prepopulatedStore","dashboardV2","dashboardDiscoveryKeywordManager","dashboardTrackingCenter","dismissibleAlert","dismissibleAlert_reducers_extends","HillDayCalendarEventBuilder","HillDayCalendarEventCalendar","actionCenterManager","grassrootsCampaigns","grassrootsCampaignBuilder","reducer_extends","campaignType","updated","updatedMatchers","reducer_toConsumableArray","updatedMessages","grassrootsSettings","grassrootsReports","grassrootsPortal_reducer_extends","grassrootsPortal_reducer_toConsumableArray","backgroundColor","color","legislatorDistances","onePageReport","royalFileUploader","royalCosponsorsOracle","selectAll","stateLegWatchlist","stateLegWatchlist_reducers_extends","fileUpload","fileUpload_reducer_extends","fileUpload_reducer_toConsumableArray","_","service_terms_reducer_extends","term_type","lobbyAlertsPortal","_actions","reducer_defineProperty","hasOwnProperty","submitFunc","donorLookupPortal","donorLookupPortal_reducer_defineProperty","publicRecords","publicRecords_reducers_extends","bills_reducers_extends","votingRecord","votingRecord_reducers_extends","staffers_reducers_extends","notifications_reducers_extends","globalSearch","middlewares","thunk","storeParams","env","__REDUX_DEVTOOLS_EXTENSION__","applyMiddleware","makeStore","compose","createStore","store","prepopulatedState","TASK_STATUS_TO_FE","in_progress","transformTaskStatusForFeed","transformedStatus","_ref$assignee","_ref$assigner","assigner","profile_img_url","dueDateTime","TASK_FULL_DATE_FORMAT","transformTaskForEvent","_ref2$assignee","_ref2$assigner","transformTaskForForm","formatTime","customFieldIsEmpty","answer","every_default","transformCustomFieldAnswersForFeed","answers","transformCustomFieldAnswersForEvent","field_type","editable","customFields_objectWithoutProperties","fieldType","isEditable","transformCustomFieldAnswersForForm","enabledAnswers","fullCreationDate","getDate","photo","createdBy","transformCardLinksForFeed","cardType","comments_and_replies_count","GRM_V2_CARD","transformCardForForm","taskFields","transformCardLinksForForm","transformCardLinksForEvent","INTERACTION_TYPES","tasks_transformTaskForFeed","pagination_transformPaginationForFeed","customFields_transformCustomFieldsForFeed","cards_transformCardForFeed","cards_transformCardForForm","cards_transformCardForEvent","cards_transformCardsForEvent","filters_transformFiltersFromAdvancedSearch","defaultTransformer","genericUrl","transformer","skipSaveLastSearchId","transformStakeholderToBE","state_upper","state_lower","isMoneyballPermitted","isMoneyballEnabled","isMoneyballContributionsEnabled","hasRequiredInfo","subscriptionsByRecord","lodash_reduce__WEBPACK_IMPORTED_MODULE_2___default","acc","recordTrackings","lodash_map__WEBPACK_IMPORTED_MODULE_3___default","reduceSubscriptions","accumulator","transformCommitteeTrackings","trackingsByFeed","allSubscriptions","lodash_flatMap__WEBPACK_IMPORTED_MODULE_0___default","UPLOAD_FILES","COMPLETE_UPLOADS","RECEIVE_ERRORS","FETCH_FILES","RECEIVE_FILES","DELETE_FILES","uploadFiles","requiredInputs","fetchFiles","fileUploadIds","fileUploadId","deleteFiles","fileErrors","uploadingFiles","loadingFiles","transformTrackedItemForBE","feed_token","createCommitteeTracking","tokenHearing","tokenStaffer","hearingOutput","stafferOutput","api_extends","federal_committee_hearing","federal_committee_staffer","state_committee_hearing","state_committee_staffer","customFeedToken","transformSelectLocationValues","getLocationType","_params$locations","locations","LOCATION_TYPES","none","zip","countries","formatLocationFilters","getLocations","_params$locations2","getLocationLabelsForRecentSearches","primaryAddressOnly","locationRadius","primaryAddressFlag","locationRadiusFlag","Number","formattedAddress","country","getLocationLabel","getLabelFromBoolean","booleanValue","STAKEHOLDER_BASE_URL","isAdvocatesEnabled","withRadius","districtType","locationType","isPrimaryLocation","emailOptedInOnly","smsOptedInOnly","snakeCase_default","term","smart_lists_ids","starts_at","ends_at","congressional_districts","state_upper_districts","state_lower_districts","zip_codes_radius","primary_address_only","email_opted_in_only","sms_opted_in_only","locationParams","getLabelFromItem","getDateLabel","getDisplayDataForRecentSearches","congressionalDistricts","stateUpperDistricts","stateLowerDistricts","districtValues","valueOrNull","_data$searchValue","transformers_defineProperty","strategy_inputs[term]","strategy_inputs[organization]","strategy_inputs[title]","strategy_inputs[smart_lists_ids]","strategy_inputs[lists]","strategy_inputs[tags]","SAVE_EVENT","FETCH_EVENT","RECEIVE_EVENT","DELETE_EVENT_ITEM","FETCH_LEGISLATOR_OFFICE_ADDRESS","RECEIVE_LEGISLATOR_OFFICE_ADDRESS","baseAPIUrl","saveEvent","flyInToken","eventToken","saveEventDispatch","clearEvent","createEvent","receiveEvent","fetchLegislatorOfficeAddress","clearEventLocation","location_name","state_token","deleteEvent","sendNotifications","send_notifications","attendees","stateFetchEvent","stateReceiveEvent","stateReceiveCustomData","fetchSeen","updateSeen","bulkRemoveEvents","bulkUpdateEvents","redux_dashboardV2_common_subscriptions_transformers__WEBPACK_IMPORTED_MODULE_1__","show_all","ADD_DOCUMENT","DELETE_DOCUMENT","TOGGLE_ALL_SELECTED","addDocument","deleteDocument","toggleAllSelected","allSelected","stateDocuments","Report","SAST_LABELS","same_as","crossfiled","enabling_for","enabled_by","carry_over","getLabel","sastType","transfromSastBill","sast_bill_name","sast_bill_id","helperText","helper_text","notes","display_notes","isProjected","is_projected","projectedDate","MONTH_DAY_YEAR_DATE_FORMAT","numberOfdays","daysLeftInSession","daysLeft","billsBySastType","_payload$last_action","_payload$last_text_ve","last_text_version","sasts","getFormattedDate","billStatus","BILL_STATUS","stateBill","keys_default","introduced","utils_sponsorsAndCosponsors","getSponsorUrl","responseStatesTransformers","stateData","statesToExclude","GUAM","VIRGIN_ISLANDS","AMERICAN_SAMOA","PUERTO_RICO","NORTHERN_MARIANA_ISLANDS","since","billStatuses","textExcludes","legislationType","showOnlyTrackedItems","transformArraySelectValues","getItemValue","_omitBy2$snippet","_omitBy2$sponsors","_omitBy2$committee_sp","committee_sponsors","has_vote","text_version_url","allSponsors","getSlicedSponsors","allSponsorsSize","billDescription","dateIntroduced","hasVote","govPredictLink","getUrlWithBase","billTextLink","getSlicedLegislators","billSummaryLastUpdated","legislationTypes","chambers","main_search_keywords","primary_sponsor_ids","cosponsor_ids","committee_ids","status_types","different_text","introduced_from","last_action_from","last_action_to","show_only_tracked_items","getMapDisplayItem","getRangeLabel","getMapSelectValue","strategy_inputs[main_search_keywords]","strategy_inputs[primary_sponsor_ids]","strategy_inputs[cosponsor_ids]","strategy_inputs[committee_ids]","strategy_inputs[different_text]","strategy_inputs[introduced_from]","strategy_inputs[status_types]","strategy_inputs[chamber]","strategy_inputs[type]","strategy_inputs[tag_ids]","strategy_inputs[last_action_from]","strategy_inputs[last_action_to]","strategy_inputs[show_only_tracked_items]","transformBillData","introduced_over_time","top_cosponsors","top_sponsors","introducedOverTime","topCosponsors","topSponsors","topStates","getSinceCongressValue","congressOptions","sinceCongress","firstCongress","billNumbers","billTypes","subjects","showOnlyAppropriations","billTypesOptions","billStatusOptions","bill_numbers","bill_types","show_only_appropriations","formatSelectValue","text_version_link","_omitBy2$overview","transformBillLegislators","strategy_inputs[bill_numbers]","strategy_inputs[sponsor_ids]","strategy_inputs[cosponsors_id]","strategy_inputs[committees_ids]","strategy_inputs[congress]","strategy_inputs[bill_types]","strategy_inputs[subjects]","strategy_inputs[show_only_appropriations]","delayReponse","deleteStakeholder","redirectToDirectory","deleteStakeholders","_payload$paginator","fetchStakeholders","submitStakeholder","isProfilePageUpdate","SUBMIT","SUBMIT_DONE","SUBMIT_FAIL","updateStakeholder","stakeholderData","createStakeholder","utils_constants_sortDirections__WEBPACK_IMPORTED_MODULE_0__","components_Grm2_events_constants__WEBPACK_IMPORTED_MODULE_1__","sortDirections","ACTIVITY_PAGE_NAMESPACE","CONSTANTS","isOpenCommentPeriod","commentPeriodDays","isStateNotice","isAgencyNotice","enabledAgencyNotice","enabledStateNotice","enabled_agency_notices","enabled_state_notices","regulationProps","show_only_open_comments","comment_period_days","last_action_date_from","last_action_date_to","getYesNoLabel","checkValue","numberOfDays","lodash_compact__WEBPACK_IMPORTED_MODULE_4___default","fromDate","toDate","getRegisterLabel","registerField","introducedIssue","register_issue_number","introducedVolume","register_volume_number","last_action_date","comments_open","comments_closed","register_online_url","summaryText","administrativeCodeUrl","isRegulationDocument","REGULATION_DOCUMENT","STATE_REGULATION_DOCUMENT","lodash_capitalize__WEBPACK_IMPORTED_MODULE_0___default","stateRegisterUrl","commentsOpenDate","commentsClosedDate","strategy_inputs[lookup_keyword]","strategy_inputs[agencies]","strategy_inputs[show_only_open_comments]","strategy_inputs[comment_period_days]","strategy_inputs[last_action_date_from]","strategy_inputs[last_action_date_to]","strategy_inputs[enabled_agency_notices]","strategy_inputs[enabled_state_notices]","getTypeValue","i","objectValuesToArr","substr","amountsType","DISBURSED","RECEIVED","BOTH","dataCommitteeTypes","dataParties","dataSourceTypes","checkedValues","dataElectionTypes","getContributorType","toCapitalize","ALL","INDIVIDUAL","VENDOR","party_full","recipientUrl","recipientParty","disbursedToId","disbursedToName","disbursedToUrl","superCommitteeId","superCommitteeName","superIndividualId","superIndividualName","superVendorId","superVendorName","committee_donor","individual_donor","corporation_donor","committee_recipient","donorName","recipientName","address_city","address_state_code","treasurer_name","type_full","election_cycle","recipientAddress","recipientTreasurer","recipientCommitteeType","sourceType","electionType","hasPdf","disbursement_description","specificContact","departmentName","parentOrganizationName","organizationName","_data$search_params","department_names","parent_organization_names","organization_names","strategy_inputs[department_names]","strategy_inputs[parent_organization_names]","strategy_inputs[organization_names]","getUrlOfType","lodash_get__WEBPACK_IMPORTED_MODULE_4___default","lodash_find__WEBPACK_IMPORTED_MODULE_3___default","lodash_compact__WEBPACK_IMPORTED_MODULE_2___default","SOCIAL_MEDIA_LIST","getBranch","executivePositions","getPhone","positionPhone","lodash_toLower__WEBPACK_IMPORTED_MODULE_1___default","PHONE_TYPE","joinCompact","getParenthesisItem","getAddressFromExecutivePositions","executive_positions","lodash_uniq__WEBPACK_IMPORTED_MODULE_7___default","lodash_map__WEBPACK_IMPORTED_MODULE_6___default","PARTY_OPTIONS","_data$search_params2","lodash_flatMap__WEBPACK_IMPORTED_MODULE_5___default","positionWithState","getActionTypes","formattedStartDate","formattedEndDate","sortParam","directionParam","is_estimated","isEstimated","totalItems","restParams","lookupForm","lodash_pick__WEBPACK_IMPORTED_MODULE_1___default","lodash_omit__WEBPACK_IMPORTED_MODULE_2___default","saveAdvancedSearchQueries","_ref6$type","selectedCycle","_ref8$method","setRequestHeader","onload","contentDisposition","parseFileName","getResponseHeader","statusText","onerror","send","exportBlob","prop","originalValue","mappedData","filteredData","lodash_filter__WEBPACK_IMPORTED_MODULE_6___default","changedValues","lodash_lowerCase__WEBPACK_IMPORTED_MODULE_4___default","uniqueValues","lodash_uniqBy__WEBPACK_IMPORTED_MODULE_0___default","_uniqueValues","fetchStakeholdersMapData","_payload$isTablePageV","isTablePageView","_getStakeholdersData2","transformTableColumns","table_columns","fetchStakeholdersTableData","fetchDistrictStakeholdersMetadata","isFederalSenator","districtName","_getStakeholdersData3","getDistrictFilters","_transformPaginator","transformUserEntity","entity","profile_photo","transformPostUser","account_id","entity_type","entity_id","_ref3$date","caucus","lodash_map__WEBPACK_IMPORTED_MODULE_4___default","lodash_filter__WEBPACK_IMPORTED_MODULE_0___default","postType","MEDIA_TWEET","lodash_includes__WEBPACK_IMPORTED_MODULE_1___default","include_media","transformMedia","preview_url","video_url","transformCommonProps","screen_name","profile_image_url","user_info","userInfo","transformReplyTweet","reply_to","userScreenName","user_screen_name","tweet_id","transformQuotedTweet","quotedTweet","tweetUrl","tweet_url","transformQuoteTweet","quoteTweet","quote_tweet","quoted_tweet","transformRetweet","_ref10$retweet","retweet","_POST_TYPES$REPLY_TWE2","external_link","post_type","POST_TYPES","TWEET","postTransformer","REPLY_TWEET","QUOTE_TWEET","RETWEET","QUOTE_RETWEET","_ref13$date","post_types","historicalCommittees","transformLegislatorData","legislatorsProps","show_historical","getUniqueLabelFromItem","getMappedValues","strategy_inputs[chambers]","strategy_inputs[legislator_ids]","strategy_inputs[state_alpha2_ids]","historicalLegislator","firstTermLegislator","stateDelegation","state_alpha2s","include_historical","only_first_term","lodash_compact__WEBPACK_IMPORTED_MODULE_3___default","lodash_startCase__WEBPACK_IMPORTED_MODULE_2___default","getCommittees","sortedCommittees","lodash_sortedUniqBy__WEBPACK_IMPORTED_MODULE_4___default","_committee$name","strategy_inputs[state_alpha2s]","strategy_inputs[include_historical]","strategy_inputs[only_first_term]","worksFor","officeLocations","includeHistorical","office_location_types","boss_party_short","boss_url","bossParty","bossPartyShort","bossUrl","worksForLabel","officeName","strategy_inputs[state_offices]","strategy_inputs[office_location_types]","DEFAULT_LIMIT","billRelationship","SPONSOR_BILLS","sponsor_ids","COSPONSOR_BILLS","cosponsors_id","getCustomProps","limit","slicedLegislators","getLegislators","getSlicedCommittees","slicedCommittees","sliceLimit","_ref2$allCongressOpti","_ref2$congress","congressOption","_billsUrls","billsUrls","transformAllCustomFields","productSlugs","getDelimiters","destination","isLiftingUp","reorderSlice","changedSlice","last_default","slice_default","delayResponse","delay_default","getSearchForm","productSlug","_params$search_form","getCustomFieldByToken","question","fieldDescription","createCustomField","onResetForm","custom_field","updateCustomField","toggleModal","toggleCustomFieldStatus","onClearItems","resetLoadingFields","updatePosition","updatedCustomFields","_getDelimiters2","headingSlice","trailingSlice","updatedSlice","reorderCustomFields","product_slug","transformPositionsForBE","err","customFieldFailed","SET_PAGE","population","documentFormats","localeTypes","populationGTE","populationLTE","dateGTE","dateLTE","localProps","city_population_gteq","city_population_lteq","date_gteq","date_lteq","locale_types","valueOrEmpty","meeting_date","publication_date_estimated","TOWN_INTEL_DOCUMENT","meetingDate","isEstimatedDate","locale","strategy_inputs[cities]","strategy_inputs[city_population_gteq]","strategy_inputs[city_population_lteq]","strategy_inputs[date_gteq]","strategy_inputs[date_lteq]","strategy_inputs[document_types]","strategy_inputs[locale_types]","recordTypes","lodash_uniq__WEBPACK_IMPORTED_MODULE_6___default","transformedLinks","lodash_reduce__WEBPACK_IMPORTED_MODULE_5___default","record_title","externalUrl","lodash_values__WEBPACK_IMPORTED_MODULE_0___default","DOCUMENTS","hillDayActivity","filterLinks","lodash_filter__WEBPACK_IMPORTED_MODULE_2___default","lodash_includes__WEBPACK_IMPORTED_MODULE_3___default","FETCH_FLY_IN","CLEAR_EVENTS","CLEAR_EVENT_ITEM","FETCH_EVENT_ITEM","RECEIVE_FLY_IN","RECEIVE_EVENT_ITEM","fetchEvent","fetchFlyIn","flyIn","initialLoading","loadingEventItem","eventItem","stateClearEvents","stateClearEventItem","stateFetchEvents","stateReceiveEvents","stateFetchFlyIn","stateFetchEventItem","stateReceiveFlyIn","stateReceiveEventItem","stateDeleteEvent","deleteEventItem","stateSaveEventItem","ev","convertDateTimeZone","requestDateFormat","groupIndex","findIndex","g","group","newGroup","FETCH_RATINGS","RECEIVE_RATINGS","receiveRatings","fetchRatings","legislationLevel","TypeError","electedLegislator","only_elected","getSubcommittee","getCommittee","_committee$subcommitt","sortedSubcommittees","strategy_inputs[full_text]","strategy_inputs[caucus_ids]","strategy_inputs[only_elected]","shareToMyFeed","last_event_token","notifySharedToMyFeed","story_ids","itemsLength","notifyAddTags","notifyAddTagsMultiple","responseTags","fetchNews","_payload$resetFeed","resetFeed","shouldGroupCluster","_payload$method","GET_REQUEST","transformParams","storyIds","resetStoryFeed","fetchFeedKeywords","resetFeedKeywords","onSelectAllCards","onSelectCard","selectedCard","getCardLinkType","lodash_values__WEBPACK_IMPORTED_MODULE_1___default","EXECUTIVE_PERSON_TYPES","isExecutivePerson","EXECUTIVE_PERSON","lodash_forEach__WEBPACK_IMPORTED_MODULE_2___default","fieldValues","donorNameProps","updateStakeholderDescription","RECEIVE_LEGISLATORS_NOT_FOUND","RECEIVE_GEOCODE_RESULT","ERROR_GEOCODING_ADDRESS","GEOCODE_ADDRESS","receiveLegislatorsNotFound","geocodeAddress","errorGeocodingAddress","receiveGeocodeResult","getLegislatorsByAddress","loadingLegislators","geocodingAddress","LIMIT_SELECTED_ITEMS","BASE_POSITION_URL","fetchPosition","fetchPositionsByType","deletePosition","components_core_Notification__WEBPACK_IMPORTED_MODULE_0__","exportEventFailed","exportEventSuccess","UPDATE_POSITION_TRACK","transformOfficeForBE","isExport","strategy_inputs[office][legislator_ids]","strategy_inputs[office][committee_ids]","legislativeIssueArea","educations","officeLocationType","legislativeStaffersCommittee","officeMembershipType","historicalStaffer","strategy_inputs[priorities]","strategy_inputs[roles]","strategy_inputs[educations]","strategy_inputs[office_types]","strategy_inputs[office_membership_types]","strategy_inputs[legislator_caucus_ids]","strategy_inputs[legislator_committee_ids]","strategy_inputs[state_ids]","getEducations","school","office_membership_type","roles","office_membership_types","office_types","legislator_committees","officeMembershipTypes","transformSingleSubscriptionForUI","lodash_upperFirst__WEBPACK_IMPORTED_MODULE_3___default","sectionType","rejectDisabled","lodash_reject__WEBPACK_IMPORTED_MODULE_4___default","transformSubscriptionForUI","lodash_head__WEBPACK_IMPORTED_MODULE_5___default","subscriptionItem","lodash_omitBy__WEBPACK_IMPORTED_MODULE_2___default","utils_socialMedia_names__WEBPACK_IMPORTED_MODULE_0__","transformRichSelectValue","transformSelectValue","transformRichSelectValueToUI","transformSelectValueToUI","transformExcludeToBE","excludeFields","keywordType","newsOutlets","policyArea","exclude_keywords","exclude_keywords_type","exclude_sources","exclude_categories","transformIncludeToBE","includeFields","authors","countriesOrigin","statesOrigin","include_keywords_type","persons","include_sources","include_categories","source_location_countries","source_location_states","transformFeedToBE","include","exclude","news_search","transformExcludeToUI","_searchParams$exclude","_searchParams$exclude2","transformFeedForUI","includeParams","_searchParams$bills","_searchParams$authors","_searchParams$committ","_searchParams$persons","_searchParams$include","_searchParams$include2","_searchParams$source_","_searchParams$source_2","transformIncludeToUI","fetchGeneralFeeds","fetchPersonalFeeds","deleteFeed","onClose","trackNewsFeedRemoved","deleteFeedSuccess","deleteFeedFailed","createFeed","feedProps","trackNewsFeedCreated","createFeedSuccess","createFeedFailed","updateFeed","trackNewsFeedUpdated","updateFeedSuccess","updateFeedFailed","fetchFeedById","subscribeToFeed","hasSubscription","NO_PRIORITY","subscriptionApi","responseToken","trackNewsSubscribed","subscriptionFailed","formatDayYearDate","getAgenciesList","manual_url","getPeriodDate","commentsOpen","commentsClose","daysRemaining","daysLabel","isCloseInFuture","formatCloseDate","customError","betweenDates","isOpenInPast","closes","proposedIssue","proposedVolume","formattedDate","isValueLabel","proposed_regulation","stateFull","lastIssue","lastVolume","proposedValue","proposedUrl","proposedDate","latestRegulationText","commentsClosed","commentsPeriod","officialSources","publicationsTimeline","companyScorecardsPublic","forceLogoDelete","_companyInfo$quickLin","quickLinks","plan_type","total_users","api_docs_url","plan_expires","company_scorecards_public","datasets_count","quick_links","restCompanyInfo","planType","totalUsers","apiDocsUrl","planExpires","datasetsCount","savedItemId","itemsDiff","_votingRecordUrls","votingRecordUrls","vote_date","bill_url","bill_introduced_at","vote_display_number","vote_result","vote_url","vote_question","_item$legislator_vote","legislator_votes","voteType","vote","voteDate","voteNumber","voteQuestion","voteNumberUrl","FEDERAL_EXECUTIVE"],"mappings":"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","file":"js/redux-db8b0e4819549d9336f5.chunk.js","sourcesContent":["import { isEmpty, filter, size, isNil, join } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport {\n FEDERAL_COMMITTEE_ITEM_TYPE,\n FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n STATE_COMMITTEE_ITEM_TYPE,\n STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n} from 'utils/constants/itemTypes';\nimport { BASE_URL, EMPTY_VALUE } from 'utils/constants';\n\nexport function getPositionDescription({ userFullName, position, isNotification = false }) {\n if (isEmpty(userFullName) || isEmpty(position)) {\n return EMPTY_VALUE;\n }\n\n return isNotification\n ? `Position set to ${position} by ${userFullName}`\n : `${userFullName} changed position on this item to “${position}”`;\n}\n\nexport function getHearingStatus(type) {\n return type === 'updated_hearing' ? 'Updated Hearing' : 'New Hearing';\n}\n\nexport function getHearingNotificationTitle(type, recordType) {\n return type === 'updated_hearing'\n ? `${recordType} hearing update`\n : `${recordType} hearing announced`;\n}\n\nexport function getTitleUrl(id, basePath, withDomain = false) {\n if (id) {\n const formatUrl = `${basePath}/${id}`;\n return withDomain ? `${BASE_URL}${formatUrl}` : formatUrl;\n }\n\n return null;\n}\n\nexport function getTitle(first, second, withFormat = false, separator = ' ') {\n const secondWord = withFormat ? second && `(${second})` : second;\n const filteredItems = filter([first, secondWord], Boolean);\n\n return isEmpty(filteredItems) ? EMPTY_VALUE : join(filteredItems, separator);\n}\n\nexport function displayDescription(values) {\n return size(filter(values, Boolean)) === size(values);\n}\n\nexport function formatDescription(values) {\n return `${join(values, ' ')}.`;\n}\n\nexport function getStateRegulationUrl(eventData, withDomain = false) {\n const { id, document_id, regulation_document_id, regulation_id } = eventData || {};\n\n if (!isNil(regulation_id)) {\n return getTitleUrl(regulation_id, '/state/regulations', withDomain);\n }\n\n const documentId = id || regulation_document_id || document_id;\n\n if (isNil(documentId)) {\n return null;\n }\n\n const url = `/state/regulations/document/view?document_id=${documentId}&slug=single_document`;\n\n return withDomain ? `${BASE_URL}${url}` : url;\n}\n\nexport function getSocialMediaTitle(eventData) {\n const { social_network: socialNetwork, user } = eventData || {};\n const { name } = user || {};\n\n return join(filter([name, socialNetwork], Boolean), ' - ');\n}\n\nexport function getStafferItemType(documentType) {\n const { [documentType]: itemType } = {\n [DOCUMENT_TYPES.FEDERAL_COMMITTEE]: FEDERAL_COMMITTEE_ITEM_TYPE,\n [DOCUMENT_TYPES.FEDERAL_LEGISLATOR]: FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n [DOCUMENT_TYPES.STATE_COMMITTEE]: STATE_COMMITTEE_ITEM_TYPE,\n [DOCUMENT_TYPES.STATE_LEGISLATOR]: STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n };\n\n return itemType;\n}\n","import { isNil, compact } from 'lodash';\n\nimport {\n formatAmounts,\n formatSelectValueForFE,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n sourceSelectValueForBE,\n formatTypesForSaveBE,\n formatReceivedTypesForBE,\n formatSelectTypeToValForFE,\n getCommitteeTypeFilterValue,\n getValue,\n getLabelForUI,\n getPartiesTypeValue,\n getPluralLabel,\n} from 'redux/moneyball/utils/transformers';\nimport { getAmountValue } from 'redux/moneyball/utils';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport { formatMoney } from 'utils/formatters';\n\nexport function transformCandidates(candidates = []) {\n return candidates.map((candidateItem) => {\n const { candidate, total_amount_received } = candidateItem;\n const { id, state_code, district_number, ...restCandidateProps } = candidate || {};\n const district = (state_code && !isNil(district_number)) && [state_code, district_number].join('-');\n\n return ({\n ...restCandidateProps,\n id,\n district,\n state_code,\n amount_received: `$${formatMoney(total_amount_received)}`,\n url: `/moneyball_v2/candidates/${id}`,\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n amounts,\n stateCodes,\n partyTypes,\n sourceTypes,\n candidateNames,\n officeSoughTypes,\n } = options || data;\n\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('amount_received', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('state_codes', formatSelectValueToArrForBE(stateCodes)),\n ...getValue('super_candidate_ids', formatSelectValueToArrForBE(candidateNames)),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n ...getValue('party_types', partyTypes),\n ...getValue('office_sough_types', officeSoughTypes),\n };\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const { query } = search_params || data;\n const {\n amount_received,\n candidate_names,\n party_types,\n state_codes,\n source_types,\n office_sough_types,\n } = search_params || data;\n\n return {\n id,\n title: name || 'Applied filters:',\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem('Amounts', getAmountValue(amount_received)),\n getDisplayItem('Candidate name(s)', getLabelForUI(candidate_names)),\n getDisplayItem('Party(s)', getPartiesTypeValue(party_types)),\n getDisplayItem('Office sought', office_sough_types),\n getDisplayItem('State(s)', state_codes),\n getDisplayItem(getPluralLabel('Source type', source_types), getCommitteeTypeFilterValue(source_types)),\n ]),\n options: {\n ...getValue('searchValue', query),\n options: {\n ...getValue('amounts', formatAmounts(amount_received)),\n ...getValue('stateCodes', formatSelectValueForFE(state_codes)),\n ...getValue('officeSoughTypes', office_sough_types),\n ...getValue('candidateNames', candidate_names),\n ...getValue('partyTypes', party_types),\n ...getValue('sourceTypes', formatSelectTypeToValForFE(source_types)),\n },\n },\n };\n });\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformSearchesForBE(data = {}) {\n const baseOptions = transformOptionsForBE(data);\n const { options } = data;\n const {\n stateCodes,\n partyTypes,\n sourceTypes,\n candidateNames,\n officeSoughTypes,\n } = options || data;\n\n return {\n ...baseOptions,\n ...getValue('state_codes', formatSelectValueToObjForBE(stateCodes)),\n ...getValue('candidate_names', sourceSelectValueForBE(candidateNames)),\n ...getValue('source_types', formatTypesForSaveBE(sourceTypes)),\n ...getValue('office_sough_types', officeSoughTypes),\n ...getValue('party_types', partyTypes),\n };\n}\n","import { isNil, isString, omitBy } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getPhoneLink } from 'utils/socialMedia/links';\nimport { FACEBOOK_LINK, INSTAGRAM_LINK, TWITTER_LINK } from 'utils/constants/socialMedia';\nimport { FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE } from 'utils/constants/itemTypes';\nimport { isExternal } from 'utils/url';\n\nconst SENATOR_ROLE = 'sen';\n/** Key Details & Committee section */\n\nfunction serving_label(is_active, is_elected, serving_since, serving_until) {\n if (is_active) {\n return `Serving since ${serving_since}`;\n }\n\n if (is_elected) {\n return `Will serve since ${serving_since}`;\n }\n\n return `Served from ${serving_since}-${serving_until}`;\n}\n\nfunction getSocialMediaUrl(base, url) {\n if (isExternal(url)) {\n return url;\n }\n\n return `${base}/${url}`;\n}\n\nexport function transformProfileForUI(profileData = {}) {\n const {\n id,\n biography,\n facebook,\n homepage,\n instagram,\n office,\n party_slug,\n party_short,\n phone,\n photo_path,\n chamber,\n serving_since,\n serving_until,\n twitter,\n role,\n state,\n state_name,\n fec,\n is_active,\n is_elected,\n universal_moniker,\n caucuses_memberships,\n committee_memberships,\n current_leadership_role,\n state_id,\n district_id,\n full_biography,\n } = profileData;\n\n const homepageLink = homepage && {\n value: homepage,\n href: homepage,\n };\n\n const twitterLink = twitter && {\n value: twitter,\n href: getSocialMediaUrl(TWITTER_LINK, twitter),\n };\n\n const facebookLink = facebook && {\n value: facebook,\n href: getSocialMediaUrl(FACEBOOK_LINK, facebook),\n };\n\n const instagramLink = instagram && {\n value: instagram,\n href: getSocialMediaUrl(INSTAGRAM_LINK, instagram),\n };\n\n return omitBy({\n legislator: {\n id,\n chamber,\n fecTokens: fec,\n state,\n stateId: state_id,\n districtId: district_id,\n stateName: state_name,\n isSenator: role === SENATOR_ROLE,\n currentLeadershipRole: current_leadership_role,\n party: {\n id: party_short,\n slug: party_slug,\n moniker: universal_moniker,\n avatarUrl: photo_path,\n },\n },\n keyDetails: {\n homepage: homepageLink,\n phone: phone && isString(phone) && { href: getPhoneLink(phone), value: phone },\n twitter: twitterLink,\n facebook: facebookLink,\n instagram: instagramLink,\n office: { value: office },\n isCurrent: is_active,\n isElected: is_elected,\n serving: serving_label(is_active, is_elected, serving_since, serving_until),\n biography: {\n description: biography,\n fullBiography: full_biography,\n },\n },\n recordId: id,\n documentType: DOCUMENT_TYPES.FEDERAL_LEGISLATOR,\n itemType: FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n committees: omitBy({\n data: committee_memberships,\n caucuses: caucuses_memberships,\n }, isNil),\n }, isNil);\n}\n","import { isEmpty, isNil, omitBy } from 'lodash';\n\n/** District info section */\nfunction checkEmptyObjValue(value, keyName) {\n if (isNil(value)) {\n return {};\n }\n\n return { [keyName]: value };\n}\n\nexport function getCookPVIData(cookPVI) {\n const { rank, avg_value, raw_value, party_slug } = cookPVI || {};\n\n return {\n ...checkEmptyObjValue(rank, 'rank'),\n ...checkEmptyObjValue(avg_value, 'value'),\n ...checkEmptyObjValue(raw_value, 'rawValue'),\n ...checkEmptyObjValue(party_slug, 'partySlug'),\n };\n}\n\nexport function getMapLocation(mapData) {\n const { kw_district_id, latitude, longitude } = mapData || {};\n\n if (isEmpty(mapData) || isNil(kw_district_id) || isNil(latitude) || isNil(longitude)) {\n return {};\n }\n\n return {\n kwDistrictId: kw_district_id,\n latitude,\n longitude,\n center: [`${longitude}`, `${latitude}`],\n };\n}\n\nexport function getMedianHouseIncome(medianData = {}) {\n if (isEmpty(medianData)) {\n return {};\n }\n\n const { district_avg, us_avg, rank, rank_max } = medianData;\n\n if (isNil(district_avg) || isNil(us_avg)) {\n return {};\n }\n\n return {\n districtAverage: district_avg,\n usAverage: us_avg,\n rank,\n rankMax: rank_max,\n };\n}\n\nexport function transformDistrictInfoForUI(districtInfoData = {}) {\n const {\n cook_pvi = {},\n district = {},\n education = [],\n gender_percentage = [],\n industry_info = [],\n median_household_income = {},\n racial_demographics = [],\n } = districtInfoData || {};\n\n const isIncomplete = isEmpty(districtInfoData) || (\n isEmpty(cook_pvi)\n && isEmpty(education)\n && isEmpty(gender_percentage)\n && isEmpty(industry_info)\n && isEmpty(median_household_income)\n && isEmpty(racial_demographics)\n );\n\n const { id, name, long_name } = district;\n\n return omitBy({\n id,\n name,\n longName: long_name,\n cookPVI: getCookPVIData(cook_pvi),\n education,\n racialDemographics: racial_demographics,\n genders: gender_percentage,\n industries: industry_info,\n mapLocation: getMapLocation(district),\n householdIncome: getMedianHouseIncome(median_household_income),\n isIncomplete,\n }, isNil);\n}\n","import { map, isEmpty, omitBy } from 'lodash';\n\n/** Staffers section */\nexport function transformStaffersForBE(payload) {\n const { id, ...restProps } = payload;\n\n return {\n ...restProps,\n search_form: omitBy({\n legislator_ids: [id],\n }, isEmpty),\n };\n}\n\nexport function transformStaffersForUI(staffersData = {}) {\n const { data } = staffersData;\n\n if (isEmpty(data)) {\n return { allItems: [] };\n }\n\n return {\n allItems: map(data, (staffer = {}) => {\n const { id, alias_name, full_name, title, responsibilities, email, phone, url } = staffer;\n return {\n id,\n name: alias_name || full_name,\n title,\n issues: responsibilities,\n email,\n phone,\n url,\n };\n }),\n };\n}\n","import { map, isEmpty, omitBy } from 'lodash';\n\n/** Breaking news section */\nexport function transformNewsForUI(newsData = []) {\n if (isEmpty(newsData)) {\n return {\n allItems: [],\n };\n }\n\n return {\n allItems: map(newsData, (item = {}) => {\n const { published_date, title, source_name, link } = item;\n\n return {\n type: source_name,\n released: published_date,\n description: title,\n url: link,\n };\n }),\n };\n}\n\nexport function transformNewsfeedForBE(payload) {\n const { id, keywordSearch } = payload;\n\n return omitBy({\n legislator_id: id,\n keywords: keywordSearch,\n }, isEmpty);\n}\n","import { map, isEmpty } from 'lodash';\n\nexport function transformLargestEmployersForUI(largestEmployersData = {}) {\n const { data = [] } = largestEmployersData;\n\n if (isEmpty(data)) {\n return { allItems: [] };\n }\n\n return {\n allItems: map(data, ({\n address,\n description,\n employees,\n phone,\n title,\n web_site,\n }) => ({\n employer: title,\n description,\n employees,\n phone,\n address,\n web: web_site,\n })),\n };\n}\n","export * from './keyDetails';\nexport * from './districtInfo';\nexport * from './staffers';\nexport * from './breakingNews';\nexport * from './largestEmployers';\n","import { omitBy, isEmpty, map } from 'lodash';\n\nimport { NOTE_CARD_TYPE } from 'components/Grm2/constants';\n\nimport { transformCardLinks } from './cardLinks';\n\nexport const transformCardForBE = (card = {}) => ({\n card: omitBy({\n title: card.title,\n description: card.description,\n date: card.eventDate,\n tag_names: map(card.tags, 'label'),\n card_links: transformCardLinks(card),\n custom_fields_answers: card.customFieldsAnswers,\n uploads: card.uploads,\n user_ids: card.creator,\n interaction_type: card.interactionType,\n card_type: NOTE_CARD_TYPE,\n }, isEmpty),\n});\n","import { omitBy, isEmpty, toString } from 'lodash';\n\nimport { TASK_CARD_TYPE } from 'components/Grm2/constants';\nimport { combineDateTime } from 'utils/date';\n\nimport { transformCardForBE } from './cards';\n\nconst TASK_STATUS_TO_BE = {\n open: 'open',\n inProgress: 'in_progress',\n closed: 'closed',\n};\n\nexport const transformTaskStatusForBE = status => TASK_STATUS_TO_BE[status];\n\nexport const transformTaskCardForBE = ({ status, assignee, dueDate, time, priority, ...cardProps } = {}) => ({\n card: {\n ...transformCardForBE(cardProps).card,\n card_type: TASK_CARD_TYPE,\n task: omitBy({\n assignee_id: toString(assignee.value),\n due_datetime: dueDate && combineDateTime(dueDate, time),\n priority,\n status: transformTaskStatusForBE(status),\n }, isEmpty),\n },\n});\n","import { omitBy, isEmpty, isNil, map } from 'lodash';\n\nimport { TASK_CARD_TYPE } from 'components/Grm2/constants';\n\nimport { transformTaskStatusForBE } from './tasks';\nimport { toCardLinks } from './cardLinks';\n\nexport const transformFiltersForBE = (filters = {}, timelineDefaultFilters = []) => omitBy({\n lookup_keyword: filters.keywordLookup,\n card_links: [\n ...map(filters.people, toCardLinks),\n ...map(filters.bills, toCardLinks),\n ...map(filters.committees, toCardLinks),\n ...map(filters.documents, toCardLinks),\n ...map(filters.regulations, toCardLinks),\n ],\n timeline_default_card_links: timelineDefaultFilters,\n user_ids: map(filters.creator, ({ value }) => value),\n task: omitBy({\n assignee_ids: map(filters.assignee, 'value'),\n statuses: map(filters.statusTypes, transformTaskStatusForBE),\n priorities: filters.priorityTypes,\n due_date: omitBy({\n from: filters.dueDate && filters.dueDate.startDate,\n to: filters.dueDate && filters.dueDate.endDate,\n }, isEmpty),\n }, isEmpty),\n card_types: filters.activityTypes,\n interaction_types: map(filters.interactionTypes, 'value'),\n tag_ids: map(filters.tags, 'value'),\n creation_date: omitBy({\n from: filters.creationDate && filters.creationDate.startDate,\n to: filters.creationDate && filters.creationDate.endDate,\n }, isEmpty),\n event_date: omitBy({\n from: filters.eventDate && filters.eventDate.startDate,\n to: filters.eventDate && filters.eventDate.endDate,\n }, isEmpty),\n with_attachments: filters.attachments ? 'true' : null,\n}, value => isEmpty(value) || isNil(value));\n\nexport const transformTaskFiltersForBE = (assigneeId, status, filters) => ({\n ...transformFiltersForBE(filters),\n task: {\n assignee_ids: [assigneeId],\n statuses: [transformTaskStatusForBE(status)],\n },\n card_types: [TASK_CARD_TYPE],\n});\n","export { transformFiltersForBE } from './filters';\n\nexport { transformCardForBE } from './cards';\n\nexport {\n transformTaskCardForBE,\n transformTaskStatusForBE,\n} from './tasks';\n","import { omitBy, isNil, get, map } from 'lodash';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport { camelizeKeys } from 'utils/object';\n\nexport function transformOptionsForBE(options) {\n const {\n name,\n createdAt,\n updatedAt,\n subscribers,\n subscriptionStatus,\n } = options || {};\n\n return omitBy({\n ...getValue('tokens', map(name, 'value')),\n ...getValue('created_from', get(createdAt, 'startDate')),\n ...getValue('created_to', get(createdAt, 'endDate')),\n ...getValue('updated_from', get(updatedAt, 'startDate')),\n ...getValue('updated_to', get(updatedAt, 'endDate')),\n ...getValue('subscribed_user_ids', map(subscribers, 'value')),\n ...getValue('subscription_status', subscriptionStatus),\n }, isNil);\n}\n\nexport function buildSearchFormForBE({ options, page }) {\n const searchForm = transformOptionsForBE(options);\n\n return { search_form: searchForm, page };\n}\n\nexport function transformOptionsForUI({ searchData }) {\n const { search_params: searchParams } = searchData || {};\n\n return camelizeKeys(searchParams);\n}\n\nconst transformUserForUI = ({ id, fullName, email, profileImg }) => ({\n id,\n name: fullName,\n email,\n photoUrl: profileImg,\n});\n\nexport function transformWorkspaceForUI(workspace) {\n const { subscription } = workspace;\n const { users } = subscription || {};\n\n return {\n ...workspace,\n subscription: {\n ...subscription,\n users: map(users, transformUserForUI),\n },\n };\n}\n\nexport const transformWorkspacesForUI = ({ data, pagination }) => ({\n feed: map(data, transformWorkspaceForUI),\n pagination,\n});\n","import { isEmpty, map, sortBy as sortByAsc } from 'lodash';\n\nimport { getValue } from 'redux/moneyball/utils/transformers';\nimport { currencyFormat } from 'components/Moneyball/utils';\n\nfunction transformFilters({\n sector,\n industry,\n category,\n cycle,\n subtype,\n sortBy,\n pageSize,\n page,\n all,\n}) {\n const { value: sectorId } = sector || {};\n const { value: industryId } = industry || {};\n const { value: categoryId } = category || {};\n const years = cycle && cycle.map(({ value }) => value).filter(Boolean);\n const organizationTypeIds = subtype && subtype.map(({ value }) => value).filter(Boolean);\n\n return JSON.stringify({\n ...all && ({ all }),\n ...page && ({ page }),\n ...pageSize && ({ page_size: pageSize }),\n ...sectorId && ({ sector_id: sectorId }),\n ...industryId && ({ industry_id: industryId }),\n ...categoryId && ({ category_id: categoryId }),\n ...getValue('years', years),\n ...getValue('organization_type_ids', organizationTypeIds),\n ...getValue('sort_by', sortBy),\n });\n}\n\nexport function transformDataRequest(filters) {\n return transformFilters(filters);\n}\n\nexport function transformDataResponse([totals, graph]) {\n const { total_pacs, total_by_type, total_disbursements_by_party } = totals || {};\n const { republican, democrat } = total_disbursements_by_party || {};\n const { receipts, disbursements } = total_by_type || {};\n const sortedGraph = sortByAsc(graph, ['year']);\n\n return {\n totals: {\n receipts: currencyFormat(receipts, 0),\n disbursements: currencyFormat(disbursements, 0),\n toRepublicans: currencyFormat(republican, 0),\n toDemocrats: currencyFormat(democrat, 0),\n contributingPACS: total_pacs,\n },\n graph: isEmpty(sortedGraph) ? null : {\n labels: sortedGraph.map(({ year }) => year),\n values: {\n other: sortedGraph.map(({ contributed_to_others }) => contributed_to_others),\n republican: sortedGraph.map(({ contributed_to_republicans }) => contributed_to_republicans),\n democratic: sortedGraph.map(({ contributed_to_democrats }) => contributed_to_democrats),\n received: sortedGraph.map(({ total_received }) => total_received),\n },\n },\n };\n}\n\nexport function transformDataLookupRequest(filters) {\n return transformFilters(filters);\n}\n\nexport function transformDataLookupResponse({ items = [] } = {}) {\n return map(items, ({\n total_democrats,\n total_republicans,\n end_cash_on_hands,\n average,\n total,\n ...restProps\n }) => ({\n ...restProps,\n toRepublicans: currencyFormat(total_republicans, 0),\n toDemocrats: currencyFormat(total_democrats, 0),\n endCoH: currencyFormat(end_cash_on_hands, 0),\n average: currencyFormat(average, 0),\n total: currencyFormat(total, 0),\n }));\n}\n\nexport function transformFiltersResponse([industries, organizationTypes]) {\n return {\n sectors: industries,\n subtypes: organizationTypes,\n };\n}\n","const PREFIX = 'DASHBOARD_V2_TRACK_ITEMS';\n\nconst constants = {\n SAVE_TRACK_ITEMS: `${PREFIX}/SAVE_TRACK_ITEMS`,\n SAVE_TRACK_ITEMS_DONE: `${PREFIX}/SAVE_TRACK_ITEMS_DONE`,\n};\n\nexport default constants;\n","export const BASE_URL = '/api_web/tags';\n","import { compact, size } from 'lodash';\n\nimport {\n getValue,\n getPluralLabel,\n getLabelForUI,\n getAmountsValueByType,\n getCommitteeTypeValue,\n getCommitteeTypeFilterValue,\n getPartiesTypeValue,\n formatAmountsValueByType,\n formatSelectValueForFE,\n formatTypesForSaveBE,\n formatReceivedTypesForBE,\n formatReceivedAmountsForBE,\n formatDisbursedAmountsForBE,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n formatSelectTypeToValForFE,\n sourceSelectValueForBE,\n} from 'redux/moneyball/utils/transformers';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport { getUniqueValues } from 'redux/moneyball/utils';\n\nexport function transformCommittees(committees = []) {\n return committees.map((committeeItem) => {\n const { committee, amounts } = committeeItem;\n const { id, name, committees: oldCommittees, ...restProps } = committee || {};\n const { received, donated } = amounts || {};\n\n const { value: nameValue, info: nameInfo } = getUniqueValues('name', name, oldCommittees);\n\n return ({\n ...restProps,\n id,\n name: nameValue,\n url: `/moneyball_v2/committees/${id}`,\n amount: received,\n amountDisbursed: donated,\n info: size(oldCommittees) > 1 && {\n name: nameInfo,\n },\n });\n });\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const {\n query,\n amount_donated,\n amount_received,\n address_state_codes,\n super_committee_ids,\n party_types,\n source_types,\n types,\n } = search_params || {};\n\n const { amountLabel, amountValue } = getAmountsValueByType(amount_donated, amount_received);\n\n return ({\n id,\n title: name || 'Applied filters:',\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem(amountLabel, amountValue),\n getDisplayItem('State(s)', address_state_codes),\n getDisplayItem('Committee Name(s)', getLabelForUI(super_committee_ids)),\n getDisplayItem('Committee Type(s)', getCommitteeTypeValue(types)),\n getDisplayItem('Party(s)', getPartiesTypeValue(party_types)),\n getDisplayItem(getPluralLabel('Source type', source_types), getCommitteeTypeFilterValue(source_types)),\n ]),\n options: {\n ...getValue('searchValue', query),\n options: {\n ...getValue('amounts', formatAmountsValueByType(amount_donated, amount_received)),\n ...getValue('states', formatSelectValueForFE(address_state_codes)),\n ...getValue('partyTypes', party_types),\n ...getValue('sourceTypes', formatSelectTypeToValForFE(source_types)),\n ...getValue('committeeNames', super_committee_ids),\n ...getValue('committeeTypes', types),\n },\n },\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n amounts,\n states,\n partyTypes,\n sourceTypes,\n committeeNames,\n committeeTypes,\n } = options || data;\n const { type, fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('amount_donated', {\n ...getValue('start', formatDisbursedAmountsForBE(type, fromValue)),\n ...getValue('end', formatDisbursedAmountsForBE(type, toValue)),\n }),\n ...getValue('amount_received', {\n ...getValue('start', formatReceivedAmountsForBE(type, fromValue)),\n ...getValue('end', formatReceivedAmountsForBE(type, toValue)),\n }),\n ...getValue('address_state_codes', formatSelectValueToArrForBE(states)),\n ...getValue('super_committee_ids', formatSelectValueToArrForBE(committeeNames)),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n ...getValue('party_types', partyTypes),\n ...getValue('types', committeeTypes),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformOptionsSearchForBE(data = {}) {\n const { options } = data;\n const baseOptions = transformOptionsForBE(data);\n const {\n states,\n partyTypes,\n sourceTypes,\n committeeNames,\n } = options || data;\n\n return {\n ...baseOptions,\n ...getValue('source_types', formatTypesForSaveBE(sourceTypes)),\n ...getValue('address_state_codes', formatSelectValueToObjForBE(states)),\n ...getValue('super_committee_ids', sourceSelectValueForBE(committeeNames)),\n ...getValue('party_types', partyTypes),\n };\n}\n","import { size, map, compact } from 'lodash';\n\nimport {\n getValue,\n formatAmounts,\n formatZipCode,\n formatSelectValueForFE,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n} from 'redux/moneyball/utils/transformers';\nimport { getAmountValue, getUniqueValues } from 'redux/moneyball/utils';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\n\nexport function transformIndividuals(individuals = []) {\n return map(individuals, ({ individual = {}, total_donated }) => {\n const {\n id,\n name,\n zip_code,\n state_code,\n street_1,\n street_2,\n occupation,\n is_restricted,\n employer,\n city,\n individuals: individualValues,\n } = individual || {};\n\n const zipCode = formatZipCode(zip_code);\n\n const { value: nameValue, info: nameInfo } = getUniqueValues('name', name, individualValues);\n const { value: occupationValue, info: occupationInfo } = getUniqueValues('occupation', occupation, individualValues);\n const { value: employerValue, info: employerInfo } = getUniqueValues('employer', employer, individualValues);\n const { value: streetValue, info: streetInfo } = getUniqueValues('street_1', street_1, individualValues);\n const { value: cityValue, info: cityInfo } = getUniqueValues('city', city, individualValues);\n const { value: stateValue, info: stateInfo } = getUniqueValues('state_code', state_code, individualValues);\n const { value: zipValue, info: zipInfo } = getUniqueValues('zip_code', zipCode, individualValues);\n\n return ({\n id,\n name: nameValue,\n occupation: occupationValue,\n employer: employerValue,\n street_1: streetValue,\n street_2,\n city: cityValue,\n is_restricted,\n url: `/moneyball_v2/individuals/${id}`,\n state: stateValue,\n amount: total_donated,\n zip_code: zipValue,\n info: size(individualValues) > 1 && {\n name: nameInfo,\n occupation: occupationInfo,\n employer: employerInfo,\n street_1: streetInfo,\n city: cityInfo,\n state: stateInfo,\n zip_code: zipInfo,\n },\n });\n });\n}\n\nexport function transformSearchesForFE(data = []) {\n return map(data, (item) => {\n const { id, name, search_params } = item || {};\n const {\n query,\n contributed_amount,\n names,\n address_streets,\n address_cities,\n address_state_codes,\n address_zipcodes,\n employers,\n occupations,\n } = search_params || {};\n\n return ({\n id,\n title: name || 'Applied filters:',\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem('Amounts', getAmountValue(contributed_amount)),\n getDisplayItem('Individual(s)', names),\n getDisplayItem('Street name(s)', address_streets),\n getDisplayItem('Cities', address_cities),\n getDisplayItem('State(s)', address_state_codes),\n getDisplayItem('Zip code(s)', address_zipcodes),\n getDisplayItem('Employer(s)', employers),\n getDisplayItem('Occupation(s)', occupations),\n ]),\n options: {\n ...getValue('searchValue', query),\n options: {\n ...getValue('amounts', formatAmounts(contributed_amount)),\n ...getValue('individuals', formatSelectValueForFE(names)),\n ...getValue('streets', formatSelectValueForFE(address_streets)),\n ...getValue('cities', formatSelectValueForFE(address_cities)),\n ...getValue('states', formatSelectValueForFE(address_state_codes)),\n ...getValue('zipCodes', formatSelectValueForFE(address_zipcodes)),\n ...getValue('employers', formatSelectValueForFE(employers)),\n ...getValue('occupations', formatSelectValueForFE(occupations)),\n },\n },\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n amounts,\n individuals,\n streets,\n cities,\n states,\n zipCodes,\n employers,\n occupations,\n } = options || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('contributed_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('address_streets', formatSelectValueToArrForBE(streets)),\n ...getValue('address_cities', formatSelectValueToArrForBE(cities)),\n ...getValue('address_state_codes', formatSelectValueToArrForBE(states)),\n ...getValue('address_zipcodes', formatSelectValueToArrForBE(zipCodes)),\n ...getValue('names', formatSelectValueToArrForBE(individuals)),\n ...getValue('employers', formatSelectValueToArrForBE(employers)),\n ...getValue('occupations', formatSelectValueToArrForBE(occupations)),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformOptionsSearchForBE(data = {}) {\n const baseOptions = transformOptionsForBE(data);\n const { options } = data;\n const {\n individuals,\n streets,\n cities,\n states,\n zipCodes,\n employers,\n occupations,\n } = options || data;\n\n return {\n ...baseOptions,\n ...getValue('names', formatSelectValueToObjForBE(individuals)),\n ...getValue('address_streets', formatSelectValueToObjForBE(streets)),\n ...getValue('address_cities', formatSelectValueToObjForBE(cities)),\n ...getValue('address_state_codes', formatSelectValueToObjForBE(states)),\n ...getValue('address_zipcodes', formatSelectValueToObjForBE(zipCodes)),\n ...getValue('employers', formatSelectValueToObjForBE(employers)),\n ...getValue('occupations', formatSelectValueToObjForBE(occupations)),\n };\n}\n","import compact from 'lodash/compact';\n\nimport {\n getValue,\n formatAmounts,\n formatZipCode,\n formatSelectValueForFE,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n} from 'redux/moneyball/utils/transformers';\nimport { getAmountValue } from 'redux/moneyball/utils';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\n\nexport function transformCorporations(corporations = []) {\n return corporations.map((corporationItem) => {\n const { corporation, total_donated } = corporationItem;\n const { id, zip_code, state_code, ...restProps } = corporation;\n\n return ({\n ...restProps,\n id,\n url: `/moneyball_v2/corporations/${id}`,\n state: state_code,\n amount: total_donated,\n zip_code: formatZipCode(zip_code),\n });\n });\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const {\n query,\n contributed_amount,\n names,\n address_streets,\n address_cities,\n address_states,\n address_zipcodes,\n } = search_params || {};\n\n return ({\n id,\n title: name || 'Applied filters:',\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem('Amounts', getAmountValue(contributed_amount)),\n getDisplayItem('Corporation(s)', names),\n getDisplayItem('Street name(s)', address_streets),\n getDisplayItem('Cities', address_cities),\n getDisplayItem('State(s)', address_states),\n getDisplayItem('Zip code(s)', address_zipcodes),\n ]),\n options: {\n ...getValue('searchValue', query),\n options: {\n ...getValue('amounts', formatAmounts(contributed_amount)),\n ...getValue('corporation', formatSelectValueForFE(names)),\n ...getValue('street', formatSelectValueForFE(address_streets)),\n ...getValue('cities', formatSelectValueForFE(address_cities)),\n ...getValue('states', formatSelectValueForFE(address_states)),\n ...getValue('zipCodes', formatSelectValueForFE(address_zipcodes)),\n },\n },\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n amounts,\n corporation,\n street,\n cities,\n states,\n zipCodes,\n } = options || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('contributed_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('address_streets', formatSelectValueToArrForBE(street)),\n ...getValue('address_cities', formatSelectValueToArrForBE(cities)),\n ...getValue('address_states', formatSelectValueToArrForBE(states)),\n ...getValue('address_zip_codes', formatSelectValueToArrForBE(zipCodes)),\n ...getValue('super_corporation_ids', formatSelectValueToArrForBE(corporation)),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformOptionsSearchForBE(data = {}) {\n const baseOptions = transformOptionsForBE(data);\n const { options } = data;\n const {\n corporation,\n street,\n cities,\n states,\n zipCodes,\n } = options || data;\n\n return {\n ...baseOptions,\n ...getValue('names', formatSelectValueToObjForBE(corporation)),\n ...getValue('address_streets', formatSelectValueToObjForBE(street)),\n ...getValue('address_cities', formatSelectValueToObjForBE(cities)),\n ...getValue('address_states', formatSelectValueToObjForBE(states)),\n ...getValue('address_zipcodes', formatSelectValueToObjForBE(zipCodes)),\n };\n}\n","import { compact } from 'lodash';\n\nimport {\n formatDates,\n formatAmounts,\n formatSelectValueForFE,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n getDisbursedRecipientInfo,\n getCommitteeTypeValue,\n sourceSelectValueForBE,\n getLabelForUI,\n getRecipientType,\n getValue,\n} from 'redux/moneyball/utils/transformers';\nimport { getDateValue, getAmountValue } from 'redux/moneyball/utils';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport { formatGlobalDate } from 'utils/date';\n\nexport function transformDisbursements(disbursements = []) {\n return disbursements.map((disbursementItem) => {\n const { disbursement, spender, recipient } = disbursementItem;\n const { id, is_pdf_available, date, spender_name, ...restDisbursementProps } = disbursement || {};\n const { id: spenderId, name: spenderName } = spender || {};\n const { state_code, ...restRecipientProps } = recipient || {};\n const recipientInfo = getDisbursedRecipientInfo(restRecipientProps);\n\n return ({\n ...restDisbursementProps,\n ...recipientInfo,\n state_code,\n id,\n name: spenderName || spender_name,\n url: spenderName && `/moneyball_v2/committees/${spenderId}`,\n date: formatGlobalDate(date),\n receipts: {\n id,\n is_pdf_available,\n },\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n amounts,\n dates,\n spender,\n recipientCommittee,\n recipientCommitteeTypes,\n recipientIndividuals,\n recipientCity,\n recipientStates,\n recipientStreet,\n recipientVendors,\n recipientVendorsCity,\n recipientVendorsStates,\n recipientVendorsZip,\n recipientZip,\n } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('disbursement_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('disbursement_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('spender', {\n ...getValue('ids', formatSelectValueToArrForBE(spender)),\n }),\n ...getValue('recipient', {\n ...getValue('super_committees', {\n ...getValue('ids', formatSelectValueToArrForBE(recipientCommittee)),\n ...getValue('types', recipientCommitteeTypes),\n }),\n ...getValue('super_vendors', {\n ...getValue('ids', formatSelectValueToArrForBE(recipientVendors)),\n ...getValue('cities', formatSelectValueToArrForBE(recipientVendorsCity)),\n ...getValue('state_codes', formatSelectValueToArrForBE(recipientVendorsStates)),\n ...getValue('zip_codes', formatSelectValueToArrForBE(recipientVendorsZip)),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToArrForBE(recipientIndividuals)),\n ...getValue('streets', formatSelectValueToArrForBE(recipientStreet)),\n ...getValue('cities', formatSelectValueToArrForBE(recipientCity)),\n ...getValue('state_codes', formatSelectValueToArrForBE(recipientStates)),\n ...getValue('zip_codes', formatSelectValueToArrForBE(recipientZip)),\n }),\n }),\n };\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const { query, spender, disbursement_date, disbursement_amount, recipient } = search_params || data;\n const { super_committees, super_vendors, super_individuals } = recipient || data;\n const { ids, types } = super_committees || data;\n const { ids: spenderIds } = spender || {};\n\n const {\n ids: vendorIds,\n cities: vendorCities,\n state_codes: vendorStates,\n zip_codes: vendorZip,\n } = super_vendors || data;\n\n const {\n names: individualNames,\n streets: individualStreets,\n cities: individualCities,\n state_codes: individualStates,\n zip_codes: individualZip,\n } = super_individuals || data;\n\n return {\n id,\n title: name || 'Applied filters:',\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem('Dates', getDateValue(disbursement_date)),\n getDisplayItem('Amounts', getAmountValue(disbursement_amount)),\n getDisplayItem('Spender(s)', spenderIds),\n getDisplayItem('Recipient Type', getRecipientType(recipient, true)),\n getDisplayItem('Committee name(s)', getLabelForUI(ids)),\n getDisplayItem('Committee type(s)', getCommitteeTypeValue(types)),\n getDisplayItem('Vendor Name(s)', vendorIds),\n getDisplayItem('Vendor Cities', vendorCities),\n getDisplayItem('Vendor State(s)', vendorStates),\n getDisplayItem('Vendor Zip code(s)', vendorZip),\n getDisplayItem('Individual Name(s)', individualNames),\n getDisplayItem('Individual Street name(s)', individualStreets),\n getDisplayItem('Individual Cities', individualCities),\n getDisplayItem('Individual State(s)', individualStates),\n getDisplayItem('Individual Zip code(s)', individualZip),\n ]),\n options: {\n ...getValue('searchValue', query),\n options: {\n ...getValue('dates', formatDates(disbursement_date)),\n ...getValue('amounts', formatAmounts(disbursement_amount)),\n ...getValue('spender', formatSelectValueForFE(spenderIds)),\n ...getValue('recipientType', getRecipientType(recipient)),\n ...getValue('recipientCommittee', ids),\n ...getValue('recipientCommitteeTypes', types),\n ...getValue('recipientIndividuals', formatSelectValueForFE(individualNames)),\n ...getValue('recipientStreet', formatSelectValueForFE(individualStreets)),\n ...getValue('recipientCity', formatSelectValueForFE(individualCities)),\n ...getValue('recipientStates', formatSelectValueForFE(individualStates)),\n ...getValue('recipientZip', formatSelectValueForFE(individualZip)),\n ...getValue('recipientVendors', formatSelectValueForFE(vendorIds)),\n ...getValue('recipientVendorsCity', formatSelectValueForFE(vendorCities)),\n ...getValue('recipientVendorsStates', formatSelectValueForFE(vendorStates)),\n ...getValue('recipientVendorsZip', formatSelectValueForFE(vendorZip)),\n },\n },\n };\n });\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformSearchesForBE(data = {}) {\n const baseOptions = transformOptionsForBE(data);\n const { options } = data;\n const {\n spender,\n recipientCommittee,\n recipientCommitteeTypes,\n recipientIndividuals,\n recipientStreet,\n recipientCity,\n recipientStates,\n recipientVendors,\n recipientVendorsCity,\n recipientVendorsStates,\n recipientVendorsZip,\n recipientZip,\n } = options || data;\n\n return {\n ...baseOptions,\n ...getValue('spender', {\n ...getValue('ids', formatSelectValueToObjForBE(spender)),\n }),\n ...getValue('recipient', {\n ...getValue('super_committees', {\n ...getValue('ids', sourceSelectValueForBE(recipientCommittee)),\n ...getValue('types', recipientCommitteeTypes),\n }),\n ...getValue('super_vendors', {\n ...getValue('ids', formatSelectValueToObjForBE(recipientVendors)),\n ...getValue('cities', formatSelectValueToObjForBE(recipientVendorsCity)),\n ...getValue('state_codes', formatSelectValueToObjForBE(recipientVendorsStates)),\n ...getValue('zip_codes', formatSelectValueToObjForBE(recipientVendorsZip)),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToObjForBE(recipientIndividuals)),\n ...getValue('streets', formatSelectValueToObjForBE(recipientStreet)),\n ...getValue('cities', formatSelectValueToObjForBE(recipientCity)),\n ...getValue('state_codes', formatSelectValueToObjForBE(recipientStates)),\n ...getValue('zip_codes', formatSelectValueToObjForBE(recipientZip)),\n }),\n }),\n };\n}\n","import { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport {\n STAFFER_OFFICE_TYPE,\n STATE_STAFFER_OFFICE_TYPE,\n COMMITTEE_TYPE,\n FEDERAL_COMMITTEES_TYPE,\n STATE_COMMITTEE_STAFFER_TYPE,\n WORKSPACE_TYPE,\n STATE_COMMITTEE_TYPE,\n STATE_COMMITTEES_TYPE,\n} from 'redux/dashboardV2/constants';\n\nexport const ITEM_TYPES = {\n [DOCUMENT_TYPES.FEDERAL_BILL]: 'federal_bills',\n [DOCUMENT_TYPES.FEDERAL_LEGISLATOR]: 'federal_legislator_staffers',\n [DOCUMENT_TYPES.FEDERAL_REGISTER_REGULATION]: 'federal_regulations',\n [DOCUMENT_TYPES.STATE_BILL]: 'state_bills',\n [DOCUMENT_TYPES.STATE_COMMITTEE]: 'state_committee_staffers',\n [DOCUMENT_TYPES.STATE_LEGISLATOR]: 'state_legislator_staffers',\n [DOCUMENT_TYPES.STATE_REGULATION]: 'state_regulations',\n [DOCUMENT_TYPES.NEWS_SEARCH]: 'news_searches',\n [STAFFER_OFFICE_TYPE]: 'federal_committee_staffers',\n [COMMITTEE_TYPE]: 'federal_committee_hearings',\n [FEDERAL_COMMITTEES_TYPE]: 'federal_committees',\n federal_committee_staffer: 'federal_committee_staffers',\n [STATE_STAFFER_OFFICE_TYPE]: 'state_committee_staffers',\n [STATE_COMMITTEE_STAFFER_TYPE]: 'state_committee_staffers',\n state_committee: 'state_committee_staffers',\n bill: 'federal_bills',\n federal_bill: 'federal_bills',\n federal_legislator: 'federal_legislator_staffers',\n federal_legislator_staffer: 'federal_legislator_staffers',\n federal_committee_hearing: 'federal_committee_hearings',\n federal_regulation: 'federal_regulations',\n federal_register_regulation: 'federal_regulations',\n federal_legislator_bill: 'federal_legislator_bills',\n state_bill: 'state_bills',\n state_legislator: 'state_legislator_staffers',\n state_legislator_staffer: 'state_legislator_staffers',\n state_regulation: 'state_regulations',\n news_search: 'news_searches',\n [WORKSPACE_TYPE]: 'workspaces',\n [STATE_COMMITTEE_TYPE]: 'state_committee_hearings',\n [STATE_COMMITTEES_TYPE]: 'state_committees',\n};\n","import get from 'lodash/get';\n\nimport { ITEM_TYPES } from 'redux/dashboardV2/common/subscriptions/utils/constants';\nimport { BASE_FEEDS_URL, KEYWORD_TYPE } from 'redux/dashboardV2/constants';\n\nconst getBaseUrl = feedToken => `${BASE_FEEDS_URL}/${feedToken}`;\n\nconst getTrackedItemUrl = (feedToken, subscription) => {\n const { type, documentType, subscribableType } = subscription;\n const itemType = type || subscribableType;\n\n const trackedItemType = ITEM_TYPES[itemType] || ITEM_TYPES[documentType];\n const baseUrl = getBaseUrl(feedToken);\n\n return `${baseUrl}/subscriptions/trackings/${trackedItemType}`;\n};\n\nconst getKeywordUrl = (feedToken) => {\n const baseUrl = getBaseUrl(feedToken);\n\n return `${baseUrl}/keywords`;\n};\n\nexport const getSubscriptionUrl = (feedToken, subscription = {}) => {\n const type = subscription.type || subscription.subscribableType;\n const isKeyword = type === KEYWORD_TYPE;\n\n const urlGetter = isKeyword ? getKeywordUrl : getTrackedItemUrl;\n\n return urlGetter(feedToken, subscription);\n};\n\nexport const getSubscriptionUrlWithId = (feedToken, subscription = {}) => {\n const { modelId, token, subscribableData } = subscription;\n const subscribableId = modelId || get(subscribableData, 'model_id');\n const trackedItemId = subscribableId || token;\n\n const baseUrl = getSubscriptionUrl(feedToken, subscription);\n\n return `${baseUrl}/${trackedItemId}`;\n};\n","export function transformStakeholderToUI({\n first_name,\n last_name,\n middle_name,\n facebook_profile,\n twitter_username,\n party_code,\n custom_fields,\n addresses,\n primary_phone,\n smart_lists,\n ...restProps\n}) {\n return {\n ...restProps,\n firstName: first_name,\n lastName: last_name,\n middleName: middle_name,\n facebookProfile: facebook_profile,\n twitterName: twitter_username,\n partyCode: party_code,\n customFields: custom_fields,\n phone: primary_phone,\n addresses: addresses && addresses.map(({\n without_complement,\n congressional_district,\n state_upper_district,\n state_lower_district,\n is_partial,\n ...restAddressProps\n }) => ({\n ...restAddressProps,\n address: without_complement,\n congressional: congressional_district,\n stateUpper: state_upper_district,\n stateLower: state_lower_district,\n isPartial: is_partial,\n })),\n smartLists: smart_lists && smart_lists.map(\n ({ id, title }) => ({\n id,\n name: title,\n }),\n ),\n };\n}\n","import { isNil, filter } from 'lodash';\n\nimport { FEDERAL_REGULATION_TYPES, responseTrackingTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { formatGlobalDate, formatMonthDayYear } from 'utils/date';\nimport { getBillStatusTypes } from 'utils/constants/bills';\nimport {\n FEDERAL_COMMITTEE_ITEM_TYPE,\n FEDERAL_BILL_ITEM_TYPE,\n FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n FEDERAL_REGULATION_ITEM_TYPE,\n} from 'utils/constants/itemTypes';\n\nimport { getTitleUrl } from '../utils';\nimport {\n transformLastAction,\n transformSponsor,\n transformStaffer,\n transformSubscriptions,\n transformSession,\n} from './commonTransformers';\n\nfunction transformBillAction({ item_data, createdAt, subscriptions, is_disabled }) {\n const {\n id,\n title,\n chamber,\n cosponsors,\n sponsor,\n status_step,\n introduced_on,\n official_source,\n last_action,\n description,\n session,\n bill_summary,\n } = item_data || {};\n\n return {\n ...transformSubscriptions({ subscriptions, is_disabled }),\n titleUrl: getTitleUrl(id, '/federal/bills'),\n category: FEDERAL_BILL_ITEM_TYPE,\n displayTitle: {\n cardTitle: title,\n },\n title,\n description,\n billSummary: bill_summary,\n billStatusStep: status_step,\n billStatusAllSteps: getBillStatusTypes(chamber, status_step),\n chamber,\n cosponsors,\n introducedOn: formatMonthDayYear(introduced_on),\n officialSource: official_source,\n sponsor: transformSponsor(sponsor, '/federal/legislators'),\n lastAction: transformLastAction(last_action),\n session: transformSession(session),\n createdAt,\n };\n}\n\nfunction transformRegulation({ item_data, subscriptions, is_disabled }) {\n const {\n id,\n title,\n agencies,\n document_type,\n publication_date,\n regulation_url,\n regulation_pdf_url,\n regulation_gov_url,\n } = item_data || {};\n const date = formatGlobalDate(publication_date);\n const agency = filter(agencies, Boolean).join(', ');\n\n return {\n ...transformSubscriptions({ subscriptions, is_disabled }),\n titleUrl: getTitleUrl(id, '/federal/regulations'),\n category: FEDERAL_REGULATION_ITEM_TYPE,\n title,\n agency,\n regulationDocumentType: FEDERAL_REGULATION_TYPES[document_type],\n latestPublication: date,\n officialSource: filter([\n {\n value: regulation_url,\n label: 'View on FederalRegister.gov',\n },\n {\n value: regulation_pdf_url,\n label: 'View in Printed Federal Regulation',\n },\n {\n value: regulation_gov_url,\n label: 'View Docket and Comments on Regulations.gov',\n },\n ], ({ value }) => !isNil(value)),\n };\n}\n\nfunction transformCommittee({ item_data, send_week_ahead_email, subscriptions, is_disabled }) {\n const {\n id,\n title,\n chair,\n party_breakdown,\n ranking_member,\n action_date,\n staffer,\n } = item_data || {};\n\n return {\n ...transformSubscriptions({ subscriptions, is_disabled }),\n isCommittee: true,\n titleUrl: getTitleUrl(id, '/federal/committees'),\n category: FEDERAL_COMMITTEE_ITEM_TYPE,\n title,\n chair: transformSponsor(chair, '/federal/legislators'),\n rankingMember: transformSponsor(ranking_member, '/federal/legislators'),\n partyBreakdown: party_breakdown,\n sendWeekAheadEmail: send_week_ahead_email,\n lastActionDate: formatMonthDayYear(action_date),\n staffer: transformStaffer(staffer, '/federal/congressional_staffers'),\n };\n}\n\nfunction transformLegislatorStaffer({ item_data, subscriptions, is_disabled }) {\n const {\n id,\n title,\n staffer,\n action_date,\n } = item_data || {};\n\n return {\n ...transformSubscriptions({ subscriptions, is_disabled }),\n category: FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n titleUrl: getTitleUrl(id, '/federal/legislators'),\n title,\n officeHolder: transformSponsor(item_data, '/federal/legislators'),\n staffer: transformStaffer(staffer, '/federal/congressional_staffers'),\n lastActionDate: formatMonthDayYear(action_date),\n };\n}\n\nexport const FEDERAL_TRACKED_TYPE = {\n [responseTrackingTypes.FEDERAL_BILL]: transformBillAction,\n [responseTrackingTypes.FEDERAL_REGULATION]: transformRegulation,\n [responseTrackingTypes.FEDERAL_COMMITTEE_HEARING]: transformCommittee,\n [responseTrackingTypes.FEDERAL_COMMITTEE_STAFFER]: transformCommittee,\n [responseTrackingTypes.FEDERAL_LEGISLATOR_STAFFER]: transformLegislatorStaffer,\n};\n","import { filter, truncate, find } from 'lodash';\n\nimport { STATE_BILL_STATUS } from 'components/core/Profile/components/Cards/Bills/utils/billStatus';\nimport { responseTrackingTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { formatMonthDayYear } from 'utils/date';\nimport {\n STATE_BILL_ITEM_TYPE,\n STATE_COMMITTEE_ITEM_TYPE,\n STATE_REGULATION_ITEM_TYPE,\n STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n} from 'utils/constants/itemTypes';\nimport { BASE_URL } from 'utils/constants';\nimport { normalizeUrl } from 'utils/url';\n\nimport { getStateRegulationUrl, getTitle, getTitleUrl } from '../utils';\nimport {\n transformSponsor,\n transformLastAction,\n transformSubscriptions,\n transformSession,\n transformStaffer,\n} from './commonTransformers';\n\nfunction transformBill({ item_data, subscriptions, is_disabled }) {\n const {\n id,\n title,\n cosponsors,\n sponsor,\n status_type,\n introduced_on,\n official_source,\n last_action,\n description,\n session,\n state,\n bill_summary,\n } = item_data || {};\n const { label: statusLabel } = find(STATE_BILL_STATUS, { value: status_type }) || {};\n const { alpha2 } = state || {};\n\n return {\n ...transformSubscriptions({ subscriptions, is_disabled }),\n category: STATE_BILL_ITEM_TYPE,\n titleUrl: getTitleUrl(id, '/state/bills'),\n title,\n description,\n billSummary: bill_summary,\n status: statusLabel,\n sponsor: transformSponsor(sponsor, '/state/legislators'),\n cosponsors,\n displayTitle: {\n cardTitle: title,\n stateShort: alpha2,\n },\n introducedOn: formatMonthDayYear(introduced_on),\n officialSource: official_source,\n lastAction: transformLastAction(last_action),\n session: transformSession(session),\n };\n}\n\nfunction transformRegulation({ item_data, subscriptions, is_disabled }) {\n const {\n id,\n title,\n agencies,\n state,\n code_citation,\n administrative_code_url,\n official_source,\n last_action,\n } = item_data || {};\n const { alpha2 } = state || {};\n const {\n display_label,\n url: lastActionUrl,\n label: lastActionLabel,\n published_date: lastActionDate,\n } = last_action || {};\n\n const officialSource = official_source && normalizeUrl(`${BASE_URL}/${official_source}`);\n\n return {\n ...transformSubscriptions({ subscriptions, is_disabled }),\n category: STATE_REGULATION_ITEM_TYPE,\n titleUrl: getStateRegulationUrl({ regulation_id: id }),\n title,\n officialSource,\n displayTitle: {\n cardTitle: title,\n stateShort: alpha2,\n },\n agency: filter(agencies, Boolean).join(' - '),\n codeCitation: {\n href: administrative_code_url,\n label: truncate(code_citation, { length: 70 }),\n },\n latestPublication: {\n href: lastActionUrl,\n label: display_label,\n lastActionLabel,\n lastActionDate,\n },\n };\n}\n\nfunction transformCommittee({ item_data, send_week_ahead_email, subscriptions, is_disabled }) {\n const {\n id,\n title,\n chair,\n action_date,\n staffer,\n state,\n party_breakdown,\n } = item_data || {};\n const { alpha2 } = state || {};\n\n return {\n ...transformSubscriptions({ subscriptions, is_disabled }),\n isCommittee: true,\n titleUrl: getTitleUrl(id, '/state/committees'),\n category: STATE_COMMITTEE_ITEM_TYPE,\n state,\n displayTitle: {\n cardTitle: title,\n stateShort: alpha2,\n },\n partyBreakdown: party_breakdown,\n sendWeekAheadEmail: send_week_ahead_email,\n chair: transformSponsor(chair, '/state/legislators'),\n lastActionDate: formatMonthDayYear(action_date),\n staffer: transformStaffer(staffer, '/state/staffers'),\n };\n}\n\nfunction transformLegislator({ item_data, subscriptions, is_disabled }) {\n const {\n id,\n staffer,\n action_date,\n addressable_moniker: title,\n state: { alpha2 } = {},\n } = item_data || {};\n\n const category = getTitle(alpha2, STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE);\n\n return {\n ...transformSubscriptions({ subscriptions, is_disabled }),\n category,\n title,\n titleUrl: getTitleUrl(id, '/state/legislators'),\n officeHolder: transformSponsor(item_data, '/state/legislators'),\n staffer: transformStaffer(staffer, '/state/staffers'),\n lastActionDate: formatMonthDayYear(action_date),\n };\n}\n\nexport const STATE_TRACKED_TYPE = {\n [responseTrackingTypes.STATE_BILL]: transformBill,\n [responseTrackingTypes.STATE_REGULATION]: transformRegulation,\n [responseTrackingTypes.STATE_COMMITTEE_HEARING]: transformCommittee,\n [responseTrackingTypes.STATE_COMMITTEE_STAFFER]: transformCommittee,\n [responseTrackingTypes.STATE_LEGISLATOR_STAFFER]: transformLegislator,\n};\n","import { isFunction } from 'lodash';\n\nimport { FEDERAL_TRACKED_TYPE } from './federalTransformers';\nimport { STATE_TRACKED_TYPE } from './stateTransformers';\n\nconst ALL_ITEMS = {\n ...FEDERAL_TRACKED_TYPE,\n ...STATE_TRACKED_TYPE,\n undefined: () => {},\n};\n\nexport function transformTrackedItem({ item_type, ...restProps }) {\n const allItemsFunction = ALL_ITEMS[item_type];\n\n return isFunction(allItemsFunction) ? allItemsFunction(restProps) : {};\n}\n","import { isNil, isEmpty, map, toString, omitBy } from 'lodash';\n\nimport {\n POSITION_BUTTON_RECORD_TYPES,\n RECENT,\n TRACKED,\n DOCUMENT_TYPES,\n} from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { TRACKED_STATE_REGULATION } from 'components/Dashboard/utils/libProducts';\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport { formatFullDate } from 'utils/date';\n\nimport {\n getItemTypes,\n formatReadItems,\n formatBooleanItem,\n getTrackedItemTypes,\n formatTrackedItems,\n formatSharedItems,\n} from '../index';\nimport { transformRecentEvent } from './recentEvents';\nimport { transformTrackedItem } from './trackedEvents';\n\nexport function transformRecentDataRequest({\n searchValue,\n options,\n createdAt,\n perPage,\n page,\n}) {\n const {\n date: { startDate, endDate } = {},\n keywords,\n itemType,\n state,\n priority,\n position,\n emailFrequency,\n trackedItems,\n sharedItems,\n savedItems,\n removedItems,\n readItems,\n tags,\n } = options || {};\n\n return {\n ...getValue('per_page', perPage),\n ...getValue('page', page),\n ...getValue('search_form', omitBy({\n ...getValue('lookup_keyword', searchValue),\n ...getValue('date_from', startDate),\n ...getValue('date_to', endDate),\n ...getValue('created_at_to', createdAt),\n ...getValue('subscription_tokens', keywords),\n ...getValue('document_types', getItemTypes(itemType)),\n ...getValue('state_alpha2s', map(state, 'value')),\n ...getValue('tag_ids', map(tags, 'value')),\n ...getValue('priorities', priority),\n ...getValue('user_positions', position),\n ...getValue('frequency', emailFrequency),\n ...getValue('saved_only', formatBooleanItem(savedItems)),\n ...getValue('removed_only', formatBooleanItem(removedItems)),\n ...formatTrackedItems(trackedItems),\n ...formatSharedItems(sharedItems),\n read_only: formatReadItems(readItems),\n }, isNil)),\n };\n}\n\nexport function transformTrackedDataRequest({ searchValue, options, perPage, sortData, page }) {\n const {\n dateAdded: { startDate: addedStartDate, endDate: addedEndDate } = {},\n lastUpdate: { startDate: updatedStartDate, endDate: updatedEndDate } = {},\n itemType,\n state,\n priority,\n position,\n emailFrequency,\n savedItems,\n removedItems,\n status,\n tags,\n federalBillStatus,\n stateBillStatus,\n } = options || {};\n\n const { sort, direction } = sortData || {};\n\n return {\n ...getValue('per_page', perPage),\n ...getValue('page', page),\n ...getValue('sort', sort),\n ...getValue('direction', direction),\n ...getValue('search_form', {\n ...getValue('lookup_keyword', searchValue),\n ...getValue('last_update', {\n ...getValue('from', updatedStartDate),\n ...getValue('to', updatedEndDate),\n }),\n ...getValue('item_types', getTrackedItemTypes(itemType)),\n ...getValue('state_alpha2', map(state, 'value')),\n ...getValue('priorities', priority),\n ...getValue('user_positions', position),\n ...getValue('date_added', {\n ...getValue('from', addedStartDate),\n ...getValue('to', addedEndDate),\n }),\n ...getValue('tag_ids', map(tags, 'value')),\n ...getValue('frequency', emailFrequency),\n ...getValue('saved_only', formatBooleanItem(savedItems)),\n ...getValue('show_active_only', formatBooleanItem(status)),\n ...getValue('removed_only', formatBooleanItem(removedItems)),\n ...getValue('federal_bill_status_types', federalBillStatus),\n ...getValue('state_bill_status_types', stateBillStatus),\n }),\n };\n}\n\nfunction transformTracked({\n id: subscriptionId,\n item_type,\n item_data,\n is_disabled,\n document_type,\n subscriptions,\n}) {\n const { id } = item_data || {};\n const positionRecordType = POSITION_BUTTON_RECORD_TYPES[item_type];\n\n return {\n ...transformTrackedItem({ item_type, item_data, subscriptions, is_disabled }),\n itemType: item_type,\n positionRecordType,\n documentType: document_type,\n recordId: toString(id),\n withPosition: !isEmpty(positionRecordType),\n subscriptionId,\n };\n}\n\nfunction transformSubscription(subscription) {\n const {\n token,\n frequency,\n keyword,\n subscribable_type,\n is_disabled,\n title,\n trackings_slug,\n } = subscription || {};\n\n return {\n token,\n frequency,\n keyword,\n subscribableType: subscribable_type,\n isDisabled: is_disabled,\n title,\n trackingsSlug: trackings_slug,\n };\n}\n\nfunction getPositionType(documentType, trackRecordType) {\n const type = trackRecordType === TRACKED_STATE_REGULATION\n ? TRACKED_STATE_REGULATION\n : documentType;\n\n return POSITION_BUTTON_RECORD_TYPES[type];\n}\n\nfunction getTrackRecordType({ isCommittee, trackingsSlug, searchId }) {\n if (isCommittee) {\n return trackingsSlug;\n }\n\n if (!isNil(searchId)) {\n return DOCUMENT_TYPES.NEWS_SEARCH;\n }\n\n return toString(trackingsSlug);\n}\n\nfunction transformRecent({\n event_data,\n event_type,\n created_at,\n subscription,\n token,\n is_removed,\n is_saved,\n is_read,\n priority,\n}) {\n const {\n id,\n document_type: documentType,\n document_id: documentId,\n search_id: searchId,\n } = event_data || {};\n const transformedSubscription = transformSubscription(subscription);\n const { trackingsSlug, frequency, isDisabled } = transformedSubscription || {};\n const isCommittee = [\n DOCUMENT_TYPES.FEDERAL_COMMITTEE,\n DOCUMENT_TYPES.STATE_COMMITTEE,\n ].includes(documentType);\n /** Array for committee */\n const trackRecordType = getTrackRecordType({ isCommittee, trackingsSlug, searchId });\n const positionRecordType = getPositionType(documentType, trackRecordType);\n const createdAt = formatFullDate(created_at);\n\n return {\n ...transformRecentEvent({ event_type, event_data, subscription, createdAt }),\n isCommittee,\n id: token,\n isRead: is_read,\n isNewData: true,\n isRemoved: is_removed,\n isSaved: is_saved,\n priority,\n subscription: transformedSubscription,\n listSubscriptions: [],\n trackRecordType,\n positionRecordType,\n documentType,\n frequency,\n isDisabled,\n isLoadingTracking: true,\n recordId: toString(documentId || id),\n withPosition: !isEmpty(positionRecordType),\n withTrack: !isEmpty(trackRecordType),\n searchId,\n modelId: searchId,\n };\n}\n\nexport function transformDataResponse({ data }, type) {\n return map(data, item => ({\n ...(type === TRACKED && transformTracked(item)),\n ...(type === RECENT && transformRecent(item)),\n }));\n}\n","export const BILL_SLUG = 'bill';\nexport const API_BASE = '/api_web/federal/bills';\n\nconst keyword = 'FEDERAL_BILL_PROFILE';\nconst constants = {\n FETCH_PROFILE: `${keyword}/FETCH_PROFILE`,\n RECEIVE_PROFILE_DONE: `${keyword}/RECEIVE_PROFILE_DONE`,\n FETCH_SUBSCRIPTIONS: `${keyword}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${keyword}/RECEIVE_SUBSCRIPTIONS_DONE`,\n FETCH_COMMITTEES: `${keyword}/FETCH_COMMITTEES`,\n RECEIVE_COMMITTEES_DONE: `${keyword}/RECEIVE_COMMITTEES_DONE`,\n FETCH_COSPONSORS: `${keyword}/FETCH_COSPONSORS`,\n RECEIVE_COSPONSORS_DONE: `${keyword}/RECEIVE_COSPONSORS_DONE`,\n FETCH_TAGS: `${keyword}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${keyword}/RECEIVE_TAGS_DONE`,\n FETCH_REPORTS: `${keyword}/FETCH_REPORTS`,\n RECEIVE_REPORTS_DONE: `${keyword}/RECEIVE_REPORTS_DONE`,\n FETCH_BILLS_COMPARISON: `${keyword}/FETCH_BILLS_COMPARISON`,\n RECEIVE_BILLS_COMPARISON_DONE: `${keyword}/RECEIVE_BILLS_COMPARISON_DONE`,\n FETCH_BILL_TIMELINE: `${keyword}/FETCH_BILL_TIMELINE`,\n RECEIVE_BILL_TIMELINE_DONE: `${keyword}/RECEIVE_BILL_TIMELINE_DONE`,\n FETCH_ROLL_CALL_VOTES: `${keyword}/FETCH_ROLL_CALL_VOTES`,\n RECEIVE_ROLL_CALL_VOTES: `${keyword}/RECEIVE_ROLL_CALL_VOTES`,\n FETCH_AMENDMENTS: `${keyword}/FETCH_AMENDMENTS`,\n RECEIVE_AMENDMENTS: `${keyword}/RECEIVE_AMENDMENTS`,\n FETCH_LOBBYING_INFORMATION: `${keyword}/FETCH_LOBBYING_INFORMATION`,\n RECEIVE_LOBBYING_INFORMATION: `${keyword}/RECEIVE_LOBBYING_INFORMATION`,\n FETCH_ACTIVE_VOICES: `${keyword}/FETCH_ACTIVE_VOICES`,\n RECEIVE_ACTIVE_VOICES: `${keyword}/RECEIVE_ACTIVE_VOICES`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${keyword}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n FETCH_MY_FEED_DOCUMENTS: `${keyword}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${keyword}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${keyword}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n UPDATE_PROFILE_MY_FEED: `${keyword}/UPDATE_PROFILE_MY_FEED`,\n FETCH_TIMELINE_ERROR: `${keyword}/FETCH_TIMELINE_ERROR`,\n FETCH_SPONSORS_ERROR: `${keyword}/FETCH_SPONSORS_ERROR`,\n BILL_NOT_FOUND: `${keyword}/BILL_NOT_FOUND`,\n FETCH_COMMITTEES_ERROR: `${keyword}/FETCH_COMMITTEES_ERROR`,\n FETCH_REPORTS_ERROR: `${keyword}/FETCH_REPORTS_ERROR`,\n FETCH_BILL_ERROR: `${keyword}/FETCH_BILL_ERROR`,\n};\n\nexport default constants;\n","import { isEmpty, map, reduce } from 'lodash';\n\nexport function transformPosition({ data }) {\n if (isEmpty(data)) {\n return {};\n }\n\n return {\n positions: reduce(data, (accumulator, positionItem) => ({\n ...accumulator,\n [positionItem.record_id]: positionItem.position_type,\n }), {}),\n };\n}\n\nexport function transformPositionsResponseForUI({ data }) {\n return reduce(data, (result, item) => {\n const { record_type, user_positions } = item || {};\n\n const formatData = map(user_positions, (position) => {\n const { record_id, position_type } = position || {};\n\n return {\n recordType: record_type,\n recordId: record_id,\n position: position_type,\n };\n }) || [];\n\n result.push(...formatData);\n\n return result;\n }, []);\n}\n","import { filter, groupBy, map, uniq, isEmpty } from 'lodash';\n\nimport positionsApi from 'redux/dashboardV2/common/positions/api';\n\nimport { transformPositionsResponseForUI, transformPosition } from '../utils/transformers/positionTransformers';\nimport constants from '../constants';\n\nexport function fetchPositionsByType({ recordIds, recordType }) {\n return (dispatch) => {\n const onSuccess = (response) => {\n dispatch({\n payload: transformPosition(response),\n type: constants.LOAD_POSITIONS_DONE,\n });\n };\n\n const onFailure = error => new Error(error);\n\n return positionsApi.fetchPositionsByType({ recordIds, recordType })\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchPositions({ data }) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_POSITIONS_INIT });\n\n const filteredPositions = filter(data, 'withPosition');\n const groupedItems = groupBy(filteredPositions, 'positionRecordType');\n const formattedValues = map(groupedItems, (value, key) => ({\n record_type: key,\n record_ids: uniq(map(value, 'recordId')),\n }));\n\n if (isEmpty(formattedValues)) {\n return dispatch({\n payload: [],\n type: constants.LOAD_POSITIONS_FINISHED,\n });\n }\n\n const onSuccess = (response) => {\n dispatch({\n payload: transformPositionsResponseForUI(response),\n type: constants.LOAD_POSITIONS_FINISHED,\n });\n };\n\n const onFailure = (error) => {\n dispatch({\n payload: [],\n type: constants.LOAD_POSITIONS_FINISHED,\n });\n\n return new Error(error);\n };\n\n return positionsApi.fetchAllPositions({ search_form: formattedValues })\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function updatePositionOrTrack({ id, position, isTracking }) {\n return (dispatch) => {\n dispatch({ type: constants.UPDATE_POSITION_TRACK, id, position, isTracking });\n };\n}\n","import { isEmpty, isArray, groupBy, filter, map, reduce, uniq } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport * as trackingsApi from 'redux/dashboardV2/common/trackings/api';\n\nimport constants from '../constants';\n\nfunction transformSubscriptionResponse(response) {\n const { data } = response || {};\n\n return reduce(data, (result, item) => {\n const { record_type: recordType, subscriptions } = item || {};\n const isNewsfeed = recordType === DOCUMENT_TYPES.NEWS_SEARCH;\n\n const formattedData = map(subscriptions, ({ record_id: recordId, subscription }) => {\n const {\n subscribable_data: subscribableData,\n subscribable_type: subscribableType,\n frequency,\n } = subscription || {};\n const { send_week_ahead_email, model_id } = subscribableData || {};\n\n return {\n modelId: model_id,\n type: subscribableType,\n isTracking: !isEmpty(frequency),\n sendWeekAheadEmail: send_week_ahead_email,\n trackRecordType: recordType,\n frequency,\n ...(isNewsfeed ? { searchId: recordId } : { recordId }),\n };\n }) || [];\n\n result.push(...formattedData);\n\n return result;\n }, []);\n}\n\nfunction formatTrackRecords(items) {\n const getTrackRecord = (trackRecordType, record) => {\n if (isArray(trackRecordType)) {\n return map(trackRecordType, type => ({ ...record, trackRecordType: type }));\n }\n\n return [{ ...record, trackRecordType }];\n };\n\n return reduce(items, (result, item) => {\n const { trackRecordType, ...restTrackRecord } = item || {};\n const formatData = getTrackRecord(trackRecordType, restTrackRecord);\n\n result.push(...formatData);\n\n return result;\n }, []);\n}\n\nexport function fetchItemsTracking(feedToken, data) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_ITEMS_SUBSCRIPTIONS_INIT });\n\n const filteredTrack = filter(data, 'withTrack');\n const formattedTrack = formatTrackRecords(filteredTrack);\n const groupedItems = groupBy(formattedTrack, 'trackRecordType');\n\n const formattedValues = map(groupedItems, (value, key) => {\n const isNewsfeed = key === DOCUMENT_TYPES.NEWS_SEARCH;\n const idKey = isNewsfeed ? 'searchId' : 'recordId';\n\n return {\n record_type: key,\n record_ids: uniq(map(value, idKey)),\n };\n });\n\n if (isEmpty(formattedValues)) {\n return dispatch({\n payload: [],\n type: constants.LOAD_ITEMS_SUBSCRIPTIONS_FINISHED,\n });\n }\n\n const onSuccess = (response) => {\n dispatch({\n payload: transformSubscriptionResponse(response),\n type: constants.LOAD_ITEMS_SUBSCRIPTIONS_FINISHED,\n });\n };\n\n const onFailure = (error) => {\n dispatch({\n payload: [],\n type: constants.LOAD_ITEMS_SUBSCRIPTIONS_FINISHED,\n });\n\n return new Error(error);\n };\n\n return trackingsApi.fetchTrackingsBulk(formattedValues, feedToken)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import { isEmpty, values } from 'lodash';\n\nimport {\n fetchLinksPreview,\n getCardsUrlToPreview,\n getUpdatedLinksPreview,\n transformPreviewDataToFE,\n} from 'components/core/LinkPreview';\n\nimport constants from '../constants';\n\nexport const fetchLinkPreview = response => (\n (dispatch) => {\n const cardsLink = getCardsUrlToPreview(response);\n const urls = values(cardsLink);\n\n const fetchLinksAction = () => fetchLinksPreview(urls)\n .then(({ data }) => {\n const linksPreview = transformPreviewDataToFE(data);\n const updatedCardsLinkPreview = getUpdatedLinksPreview({}, { cardsLink, linksPreview });\n\n return dispatch({\n type: constants.SET_CARDS_LINK_PREVIEW_DONE,\n payload: updatedCardsLinkPreview,\n });\n })\n .catch(() => dispatch({\n type: constants.SET_CARDS_LINK_PREVIEW_DONE,\n payload: {},\n }));\n\n dispatch({\n type: constants.SET_CARDS_LINK_PREVIEW_INIT,\n payload: cardsLink,\n });\n\n return isEmpty(urls) ? response : fetchLinksAction();\n }\n);\n","import { isEmpty } from 'lodash';\n\nimport constants from 'redux/dashboardV2/feedPage/constants';\nimport {\n getFilteredTags,\n transformTagsForBE,\n transformRecordsForTag,\n saveTagsAndUpdateRecords,\n} from 'redux/tags/utils';\nimport {\n bulkTagRecordsNoDispatch,\n fetchTagsByRecordIdsNoDispatch,\n saveTags,\n} from 'redux/tags/actions';\n\nexport function fetchTags(response, isRecent) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_TAGS });\n\n fetchTagsByRecordIdsNoDispatch(response, isRecent)\n .then(tags => dispatch({ type: constants.LOAD_TAGS_DONE, payload: tags }))\n .catch(() => dispatch({ type: constants.LOAD_TAGS_DONE, payload: [] }));\n\n return response;\n };\n}\n\nexport function bulkSaveTags({ values, selectedItems, onSuccess, onFailure, isRecent }) {\n return (dispatch) => {\n if (isEmpty(values)) {\n return Promise.resolve();\n }\n\n dispatch({ type: constants.BULK_UPDATE_EVENTS, isLoadingTags: true });\n\n const { tags } = values || {};\n const { newTags, existingTags } = getFilteredTags(tags);\n\n function saveTagsForRecord(responseNewTags) {\n return bulkTagRecordsNoDispatch({\n tagIds: transformTagsForBE(existingTags, responseNewTags),\n records: transformRecordsForTag(selectedItems),\n })\n .then(() => dispatch(fetchTags(selectedItems, isRecent)))\n .then(onSuccess)\n .catch(onFailure)\n .finally(() => dispatch({ type: constants.BULK_UPDATE_EVENTS, isLoadingTags: false }));\n }\n\n return saveTagsAndUpdateRecords({ newTags, saveTagsForRecord });\n };\n}\n\nexport function onSaveTags(props) {\n return dispatch => dispatch(saveTags(props, constants));\n}\n","import { head } from 'lodash';\n\nimport * as api from 'redux/dashboardV2/feedPage/api';\n\nimport { isFirstPage } from '../utils';\nimport constants from '../constants';\n\nexport function setCreatedAt(dispatch, payload) {\n const { data, pagination } = payload || {};\n const { current_page: page } = pagination || {};\n\n if (isFirstPage({ page })) {\n const { created_at: createdAt } = head(data) || {};\n dispatch({\n type: constants.SET_CREATED_TO,\n payload: createdAt,\n });\n }\n}\n\nexport function onUpdateLastVisit(feedToken, latestEventToken) {\n return (dispatch) => {\n const onSuccess = () => dispatch({ type: constants.SET_SEEN });\n\n const onFailure = (error) => {\n dispatch({ type: constants.SET_SEEN });\n throw error;\n };\n\n return Promise.resolve(api.updateSeen(feedToken, latestEventToken))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function onResetLastVisit(dispatch) {\n dispatch({\n type: constants.SET_LAST_VISIT,\n payload: {},\n });\n dispatch({\n type: constants.SET_CREATED_TO,\n payload: '',\n });\n}\n","import { map, compact, find } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nconst isSocialMediaPost = documentType => documentType === DOCUMENT_TYPES.SOCIAL_MEDIA_POST;\n\nexport function getPosts(data) {\n return compact(map(data, ({ documentType, descriptionNode }) => {\n if (!isSocialMediaPost(documentType)) {\n return null;\n }\n\n const { data: post } = descriptionNode || {};\n\n return post;\n }));\n}\n\nexport function updateDataPosts({ data, replies }) {\n return map(data, (item) => {\n const { documentType, descriptionNode } = item;\n\n if (!isSocialMediaPost(documentType)) {\n return item;\n }\n\n const { data: post } = descriptionNode || {};\n const { id } = post || {};\n const updatedPost = find(replies, { id });\n\n return updatedPost\n ? { ...item, descriptionNode: { ...descriptionNode, data: updatedPost } }\n : item;\n });\n}\n","import * as api from 'redux/dashboardV2/feedPage/api';\nimport isNotFoundError from 'utils/http/isNotFoundError';\n\nimport { transformKeywordsResponse } from '../utils/transformers/keywordsTransformers';\nimport constants from '../constants';\nimport notifications from '../notifications';\n\nexport function fetchKeywords(withRemoved = false, token) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_KEYWORDS_INIT });\n\n const onSuccess = response => dispatch({\n type: constants.LOAD_KEYWORDS_DONE,\n payload: transformKeywordsResponse(response),\n });\n\n const onFailure = (error) => {\n dispatch({\n type: constants.LOAD_KEYWORDS_DONE,\n payload: [],\n });\n\n !isNotFoundError(error) && notifications.defaultFetchDataFailed();\n\n throw error;\n };\n\n return api.fetchKeywords(withRemoved, token)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import map from 'lodash/map';\n\nexport function transformKeywordsResponse({ data = [] }) {\n return map(data, ({ title, subscribable_data, ...restProps }) => {\n const { keyword } = subscribable_data || {};\n\n return ({\n ...restProps,\n subscribable_data,\n title: title || keyword,\n });\n });\n}\n","import constants from 'redux/dashboardV2/feedPage/constants';\nimport * as subscriptionsApi from 'redux/dashboardV2/common/subscriptions/api';\nimport * as feedsApi from 'redux/dashboardV2/feedPage/api';\n\nexport function bulkRemoveItems(payload) {\n return (dispatch) => {\n dispatch({ type: constants.BULK_REMOVE_EVENTS });\n\n const { isRecentTab, selectedIds, feedToken } = payload || {};\n\n const apiAjax = isRecentTab\n ? feedsApi.bulkRemoveEvents(feedToken, selectedIds)\n : subscriptionsApi.deleteSubscriptions({ feedToken, tokens: selectedIds });\n\n return apiAjax\n .then(() => dispatch({ type: constants.BULK_REMOVE_EVENTS_DONE, tokens: selectedIds }))\n .catch((error) => {\n dispatch({ type: constants.BULK_REMOVE_EVENTS_DONE });\n throw error;\n });\n };\n}\n\nexport function bulkUpdateItems(payload) {\n return (dispatch) => {\n const {\n isLoadingPriority,\n isLoadingRead,\n isLoadingUnread,\n isLoadingSaving,\n selectedIds,\n priority,\n isRead,\n isSaved,\n isRecentTab,\n feedToken,\n } = payload || {};\n\n dispatch({\n type: constants.BULK_UPDATE_EVENTS,\n isLoadingPriority,\n isLoadingSaving,\n isLoadingRead,\n isLoadingUnread,\n });\n\n const data = {\n feedToken,\n tokens: selectedIds,\n isSaved,\n isRead,\n priority,\n };\n\n const apiAjax = isRecentTab\n ? feedsApi.bulkUpdateEvents\n : subscriptionsApi.updateSubscriptions;\n\n return apiAjax(data)\n .then(() => dispatch({\n type: constants.BULK_UPDATE_EVENTS_DONE,\n tokens: selectedIds,\n isSaved,\n isRead,\n priority,\n }))\n .catch((error) => {\n dispatch({ type: constants.BULK_UPDATE_EVENTS_DONE });\n throw error;\n });\n };\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { onSaveRecentItem } from 'redux/advancedSearch/actions';\n\nimport {\n transformOptionsForBE,\n} from '../utils/transformers/advancedSearch';\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { type, searchData = {} } = payload;\n const data = transformOptionsForBE({ searchData, type });\n\n if (isEmpty(data)) {\n return null;\n }\n\n const advancedSearchData = {\n advanced_search: {\n strategy_slug: type,\n search_params: data,\n saved: false,\n },\n };\n\n return dispatch(onSaveRecentItem(advancedSearchData));\n };\n}\n","import { head, isEmpty, isNil, omitBy, map } from 'lodash';\n\nimport { RECENT, EXPORT_LIMIT } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nimport { formatTokens } from 'redux/dashboardV2/common/subscriptions/utils';\nimport * as subscriptionsApi from 'redux/dashboardV2/common/subscriptions/api';\nimport { notifyLoadPageFailure } from 'components/Dashboard/common/UserNotifications';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { handleUpdateAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { BASE_FEEDS_URL } from 'redux/dashboardV2/constants';\nimport * as api from 'redux/dashboardV2/feedPage/api';\nimport { fetchReplies } from 'redux/socialMedia/feed/utils/api';\nimport isForbiddenError from 'utils/http/isForbiddenError';\nimport isNotFoundError from 'utils/http/isNotFoundError';\nimport { isMyFeed } from 'components/Dashboard/utils';\nimport { tryCatch } from 'utils/async';\n\nimport { isFirstPage, getIsLoadingActions } from '../utils';\nimport {\n transformRecentDataRequest,\n transformTrackedDataRequest,\n transformDataResponse,\n} from '../utils/transformers';\nimport notifications from '../notifications';\nimport constants from '../constants';\nimport { fetchPositions } from './position';\nimport { fetchItemsTracking } from './tracking';\nimport { fetchLinkPreview } from './linksPreview';\nimport { fetchTags } from './tags';\nimport {\n onResetLastVisit,\n setCreatedAt,\n onUpdateLastVisit,\n} from './lastVisit';\nimport { getPosts, updateDataPosts } from './socialMediaPosts';\n\nexport * from './tags';\nexport * from './keywords';\nexport * from './bulkActions';\nexport * from './trackCommittee';\nexport * from './advancedSearch';\n\nexport function fetchData({\n isInfinite,\n type,\n searchData,\n appliedFilters,\n clearAll,\n withLastVisit,\n resetLastVisit,\n createdAt,\n sortData,\n enableInAppNotifications,\n feedToken,\n}) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_DATA_INIT, payload: type, isInfinite });\n resetLastVisit && onResetLastVisit(dispatch);\n\n const isRecent = type === RECENT;\n const recentLookupForm = isRecent && {};\n const searchForm = { perPage: EXPORT_LIMIT, sortData, ...(searchData || appliedFilters) };\n\n const data = isRecent\n ? transformRecentDataRequest({ ...recentLookupForm, ...searchForm, createdAt })\n : transformTrackedDataRequest({ ...searchForm });\n\n const baseUrl = `${BASE_FEEDS_URL}/${feedToken}`;\n const recentUrl = `${baseUrl}/events/lookup`;\n const trackedUrl = `${baseUrl}/trackings/lookup`;\n const url = isRecent ? recentUrl : trackedUrl;\n\n const includeLastVisitRequest = withLastVisit && isFirstPage(data);\n\n const saveAppliedFiltersToProps = () => {\n clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleUpdateAppliedFilters({ ...searchForm }));\n };\n\n const onSuccess = async (response, visitData) => {\n !isEmpty(visitData) && dispatch({\n type: constants.SET_LAST_VISIT,\n payload: visitData,\n });\n\n setCreatedAt(dispatch, response);\n const payloadData = transformDataResponse(response, type);\n const sort = omitBy(sortData, isNil);\n const posts = getPosts(payloadData);\n\n const [replies, error] = await tryCatch(fetchReplies(posts));\n\n if (error) {\n !isForbiddenError(error) && window.Sentry && window.Sentry.captureMessage(error);\n }\n\n const payload = isEmpty(replies)\n ? payloadData\n : updateDataPosts({ data: payloadData, replies });\n\n dispatch({\n type: constants.LOAD_DATA_DONE,\n payload,\n paginator: transformPaginator(response),\n sort: transformSort(sort),\n error: false,\n isInfinite,\n });\n\n return payload;\n };\n\n const onFetchPosition = (response) => {\n dispatch(fetchPositions({ data: response }));\n return response;\n };\n\n const onFetchTrackedItems = (response) => {\n isRecent && dispatch(fetchItemsTracking(feedToken, response));\n return response;\n };\n\n const fetchLastVisit = () => (\n includeLastVisitRequest ? api.fetchSeen(feedToken) : Promise.resolve()\n );\n\n const updateLastVisit = (response) => {\n const { id: latestEventToken } = head(response) || {};\n const shouldUpdate = includeLastVisitRequest && latestEventToken;\n shouldUpdate && dispatch(onUpdateLastVisit(feedToken, latestEventToken));\n\n return response;\n };\n\n const onFailure = (error) => {\n dispatch({\n type: constants.LOAD_DATA_DONE,\n payload: [],\n error: true,\n isInfinite,\n });\n\n !isNotFoundError(error) && notifyLoadPageFailure({\n itemTitle: isMyFeed(feedToken) ? 'My feed' : null,\n });\n\n throw error;\n };\n\n const onFinally = () => {\n dispatch({ type: constants.LOADING_DATA_FINISH });\n enableInAppNotifications && enableInAppNotifications();\n saveAppliedFiltersToProps();\n };\n\n const onLastVisitError = (error) => {\n if (isNotFoundError(error)) {\n onResetLastVisit(dispatch);\n\n return Promise.resolve({});\n }\n\n throw error;\n };\n\n const requests = [\n api.fetchData({ url, data }).catch(onFailure),\n fetchLastVisit().catch(onLastVisitError),\n ];\n\n return Promise.all(requests).then(([response, lastVisit]) => onSuccess(response, lastVisit))\n .then(onFetchPosition)\n .then(onFetchTrackedItems)\n .then(response => dispatch(fetchTags(response, isRecent)))\n .then(updateLastVisit)\n .then(response => dispatch(fetchLinkPreview(response)))\n .finally(onFinally);\n };\n}\n\nexport function updateEvent({ feedToken, id, priority, isSaved, isRead, actionType }) {\n return (dispatch) => {\n dispatch({\n type: constants.UPDATE_EVENT_INIT,\n payload: getIsLoadingActions(id, actionType, true),\n });\n\n const onSuccess = () => dispatch({\n type: constants.UPDATE_EVENT,\n payload: {\n ...getIsLoadingActions(id, actionType),\n priority,\n isSaved,\n isRead,\n },\n });\n\n const onFailure = (error) => {\n dispatch({\n type: constants.UPDATE_EVENT_INIT,\n payload: getIsLoadingActions(id, actionType),\n });\n\n notifications.defaultSubmitDataFailed();\n throw error;\n };\n\n const data = { priority, is_saved: Boolean(isSaved), is_read: Boolean(isRead) };\n return Promise.resolve(api.updateEvent({ feedToken, id, data }))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchSingleData({ feedToken, id, type }) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_DATA_INIT, payload: type });\n const isRecent = type === RECENT;\n\n const url = isRecent\n ? `${BASE_FEEDS_URL}/${feedToken}/events/${id}`\n : `${BASE_FEEDS_URL}/${feedToken}/trackings/lookup`;\n\n const method = isRecent\n ? 'GET'\n : 'POST';\n\n const data = isRecent ? {} : { search_form: { subscription_ids: [id] } };\n\n const onSuccess = (response) => {\n const payloadData = isRecent\n ? transformDataResponse({ data: [response] }, type)\n : transformDataResponse(response, type);\n\n dispatch({\n type: constants.LOAD_DATA_DONE,\n payload: payloadData,\n error: false,\n });\n\n return Promise.resolve(payloadData);\n };\n\n const onFailure = (error) => {\n throw error;\n };\n\n const onFinally = () => {\n dispatch({ type: constants.LOADING_DATA_FINISH });\n };\n\n const onFetchPosition = (response) => {\n dispatch(fetchPositions({ data: response }));\n return response;\n };\n\n const onFetchTrackedItems = (response) => {\n isRecent && dispatch(fetchItemsTracking(feedToken, response));\n return response;\n };\n\n return Promise.resolve(api.fetchData({ url, method, data }))\n .then(onSuccess)\n .then(onFetchPosition)\n .then(onFetchTrackedItems)\n .then(response => dispatch(fetchTags(response, isRecent)))\n .catch(onFailure)\n .finally(onFinally);\n };\n}\n\nexport function undoEvent(feedToken, id) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_UNDO_EVENT });\n\n const onSuccess = () => dispatch({\n type: constants.UNDO_EVENT,\n id,\n });\n\n const onFailure = (error) => {\n notifications.defaultSubmitDataFailed();\n throw error;\n };\n\n return Promise.resolve(api.undoEvent(feedToken, id))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function undoSubscription(feedToken, id) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_UNDO_EVENT });\n\n const onSuccess = () => dispatch({\n type: constants.UNDO_EVENT,\n id,\n });\n\n const onFailure = (error) => {\n notifications.defaultSubmitDataFailed();\n throw error;\n };\n\n const tokens = formatTokens([id]);\n const requests = map(tokens, token => api.undoSubscription(feedToken, token));\n\n return Promise.all(requests)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function updateTrackedItem({\n feedToken,\n token,\n isKeywordSearch,\n isNewsFeed,\n id,\n type,\n actionType,\n modelId,\n priority,\n isSaved,\n frequency,\n sendWeekAheadEmail,\n withWeekAheadEmail,\n modelSlugs,\n keyword,\n listSubscriptions,\n}) {\n return (dispatch) => {\n dispatch({\n type: constants.UPDATE_EVENT_INIT,\n payload: getIsLoadingActions(id, actionType, true),\n });\n\n const onSuccess = () => dispatch({\n type: isKeywordSearch || isNewsFeed ? constants.UPDATE_EVENT_KEYWORD : constants.UPDATE_EVENT,\n payload: {\n ...isKeywordSearch && { modelId },\n ...isNewsFeed && { modelId: token },\n ...getIsLoadingActions(id, actionType),\n ...(listSubscriptions && {\n listSubscriptions: map(listSubscriptions, subscription => ({\n ...subscription,\n content: frequency,\n frequency,\n sendWeekAheadEmail,\n })),\n }),\n priority,\n isSaved,\n frequency,\n sendWeekAheadEmail,\n },\n });\n\n const onFailure = (error) => {\n dispatch({\n type: constants.UPDATE_EVENT_INIT,\n payload: getIsLoadingActions(id, actionType),\n });\n notifications.defaultSubmitDataFailed();\n\n throw error;\n };\n\n const subscription = {\n modelId,\n token,\n type,\n priority,\n frequency,\n isSaved,\n sendWeekAheadEmail,\n withWeekAheadEmail,\n keyword,\n modelSlugs,\n };\n\n return subscriptionsApi.updateSubscription(feedToken, subscription)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function removeEventUI({ id, isTracking }) {\n return dispatch => dispatch({\n type: constants.REMOVE_EVENT,\n payload: { id, isTracking },\n });\n}\n\nexport function updateDataItem(item) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload: item,\n });\n}\n\nexport function reset() {\n return (dispatch) => {\n dispatch(resetAppliedFilters());\n dispatch({ type: constants.RESET });\n };\n}\n","export function transformLegislator(legislator = {}) {\n const {\n id,\n name,\n universal_moniker,\n party_short,\n party_slug,\n photo_path,\n position,\n ...restProps\n } = legislator;\n\n return {\n ...restProps,\n id,\n name: name || universal_moniker,\n partyShort: party_short,\n partySlug: party_slug,\n avatarUrl: photo_path,\n url: `/state/legislators/${id}`,\n position,\n };\n}\n","import { isEmpty, isArray, reject, get, over, partial } from 'lodash';\n\nimport notifications from 'redux/dashboardV2/feedPage/notifications';\nimport * as trackingApi from 'redux/dashboardV2/common/trackings/api';\nimport * as subscriptionsApi from 'redux/dashboardV2/common/subscriptions/api';\nimport constants from 'redux/dashboardV2/feedPage/constants';\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { notifySubscriptionChange } from 'components/Dashboard/common/UserNotifications';\n\nimport { getListSubscription } from '../utils/transformers/trackedEvents/commonTransformers';\n\nexport function getCommitteeAction({\n feedToken,\n isStaffer,\n isHearing,\n isPresentStaffers,\n isPresentHearings,\n hearingData,\n stafferData,\n}, isFederal) {\n const hearingPath = isFederal ? 'federal_committee_hearing' : 'state_committee_hearing';\n const stafferPath = isFederal ? 'federal_committee_staffer' : 'state_committee_staffer';\n const getHearing = payload => get(payload, `data.${hearingPath}`);\n const getStaffer = payload => get(payload, `data.${stafferPath}`);\n\n if (isHearing && isStaffer) {\n return [\n trackingApi.createCommitteeTracking({ feedToken, hearingData, stafferData, isFederal })\n .then(over(getHearing, getStaffer)),\n ];\n }\n\n if (isStaffer) {\n return [\n isPresentHearings && subscriptionsApi.deleteSubscription(feedToken, hearingData),\n trackingApi.createCommitteeTracking({ feedToken, stafferData, isFederal })\n .then(getStaffer),\n ];\n }\n\n if (isHearing) {\n return [\n trackingApi.createCommitteeTracking({ feedToken, hearingData, isFederal })\n .then(getHearing),\n isPresentStaffers && subscriptionsApi.deleteSubscription(feedToken, stafferData),\n ];\n }\n\n return [];\n}\n\nexport const getSubscriptionsData = (responseData = []) => {\n const [hearings, staffers] = responseData;\n\n if (isArray(hearings)) {\n return hearings;\n }\n\n return [hearings, staffers];\n};\n\nexport function onSuccessTrackCommittee({ responseData, dispatchTrackCommittee }) {\n const [hearingsData, staffersData] = getSubscriptionsData(responseData);\n\n return dispatchTrackCommittee(hearingsData, staffersData);\n}\n\nexport function onUpdateTrackCommittee({ documentType, itemType, ...payload }) {\n return (dispatch) => {\n dispatch({ type: constants.UPDATE_TRACK_COMMITTEE_INIT, payload });\n\n const dispatchTrackCommittee = (hearingData, stafferData) => {\n const subscriptionsReducer = getListSubscription(reject([hearingData, stafferData], isEmpty));\n\n dispatch({\n type: constants.UPDATE_TRACK_COMMITTEE,\n payload: { ...payload, updateSubscriptions: subscriptionsReducer },\n });\n };\n\n const onSuccess = (responseData) => {\n onSuccessTrackCommittee({\n responseData,\n dispatchTrackCommittee,\n });\n notifySubscriptionChange({ itemType });\n };\n\n const onFailure = (error) => {\n dispatch({ type: constants.UPDATE_TRACK_COMMITTEE_INIT, payload });\n notifications.defaultSubmitDataFailed();\n\n throw error;\n };\n\n const { [documentType]: action } = {\n [DOCUMENT_TYPES.FEDERAL_COMMITTEE]: partial(getCommitteeAction, partial.placeholder, true),\n [DOCUMENT_TYPES.STATE_COMMITTEE]: partial(getCommitteeAction, partial.placeholder, false),\n };\n\n return Promise.all(action(payload))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import componentConstants from '../components/legislator-distances/constants';\n\nconst constants = {\n RECEIVE_RESULTS: 'LEGISLATOR_DISTANCES/RECEIVE_RESULTS',\n FETCH_RESULTS: 'LEGISLATOR_DISTANCES/FETCH_RESULTS',\n FETCH_FAILED: 'LEGISLATOR_DISTANCES/FETCH_FAILED',\n};\n\nconst getUrlByStrategy = ({ strategy, form }) => {\n const legislatorId = form.legislator;\n const prefix = '/api_web/similarity_graph';\n const urlHash = {\n [componentConstants.LEGISLATOR_DISTANCES]: `${prefix}/federal_legislators/${legislatorId}/cosponsored_bills`,\n [componentConstants.STATE_LEGISLATOR_DISTANCES]: `${prefix}/state_legislators/${legislatorId}/cosponsored_bills`,\n };\n\n if (!urlHash[strategy]) {\n // eslint-disable-next-line no-console\n console.error(`No api url supplied for strategy ${strategy}`);\n }\n\n return urlHash[strategy] || null;\n};\n\nexport function search(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_RESULTS });\n const url = getUrlByStrategy(payload);\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n data: { form: payload.form },\n });\n\n return Promise.resolve(ajax)\n .then(result =>\n dispatch({ type: constants.RECEIVE_RESULTS, payload: result })\n )\n .catch(() =>\n dispatch({ type: constants.FETCH_FAILED })\n );\n };\n}\n\nexport const defaultState = {\n links: [],\n nodes: [],\n everSearched: false,\n ui: {\n loading: false,\n loadingForm: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.RECEIVE_RESULTS:\n return {\n ...state,\n links: action.payload.links,\n nodes: action.payload.nodes,\n legislator: action.payload.legislator,\n everSearched: true,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n case constants.FETCH_RESULTS:\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: true,\n },\n };\n case constants.FETCH_FAILED:\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n default:\n return state;\n }\n}\n","const constants = {\n REGISTER_SELECTOR: 'SELECT_ALL/REGISTER_SELECTOR',\n UPDATE_SELECTOR: 'SELECT_ALL/UPDATE_SELECTOR',\n UPDATE_ALL_SELECTORS: 'SELECT_ALL/UPDATE_ALL_SELECTORS',\n};\n\n\nexport function registerSelector(payload) {\n return { type: constants.REGISTER_SELECTOR, payload };\n}\n\nexport function updateSelector(payload) {\n return { type: constants.UPDATE_SELECTOR, payload };\n}\n\nexport function updateAllSelectors(payload) {\n return { type: constants.UPDATE_ALL_SELECTORS, payload };\n}\n\n\nexport const defaultState = {\n selectors: {},\n};\n\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.REGISTER_SELECTOR:\n return {\n ...state,\n selectors: {\n ...state.selectors,\n [action.payload.key]: action.payload.value,\n },\n };\n case constants.UPDATE_SELECTOR:\n return {\n ...state,\n selectors: {\n ...state.selectors,\n [action.payload.key]: action.payload.value,\n },\n };\n case constants.UPDATE_ALL_SELECTORS: {\n const { value } = action.payload;\n const selectors = {};\n\n Object.keys(state.selectors)\n .forEach((key) => {\n selectors[key] = value;\n });\n\n return {\n ...state,\n selectors,\n };\n }\n default:\n return state;\n }\n}\n","const PREFIX = 'GRASSROOTS_REPORTS';\n\nexport const BASE_URL = '/api_web/grassroots/statistics';\n\nexport const FETCH_CAMPAIGN = `${PREFIX}/FETCH_CAMPAIGN`;\nexport const RECEIVE_CAMPAIGN = `${PREFIX}/RECEIVE_CAMPAIGN`;\nexport const CAMPAIGN_NOT_FOUND = `${PREFIX}/CAMPAIGN_NOT_FOUND`;\n\nexport const FETCH_STATISTICS = `${PREFIX}/STATISTICS`;\nexport const RECEIVE_STATISTICS_LOADING = `${PREFIX}/STATISTICS_LOADING`;\n\nexport const RECEIVE_STATISTICS_ADVOCATES_COUNT = `${PREFIX}/STATISTICS_ADVOCATES_COUNT`;\nexport const RECEIVE_STATISTICS_MESSAGES_COUNT = `${PREFIX}/STATISTICS_MESSAGES_COUNT`;\nexport const RECEIVE_STATISTICS_MESSAGES_SENT = `${PREFIX}/RECEIVE_STATISTICS_MESSAGES_SENT`;\nexport const RECEIVE_STATISTICS_TOP_STATES = `${PREFIX}/RECEIVE_STATISTICS_TOP_STATES`;\nexport const RECEIVE_STATISTICS_EDITED_MESSAGES = `${PREFIX}/RECEIVE_STATISTICS_EDITED_MESSAGES`;\n\nexport const RECEIVE_STATISTICS_CUSTOM_RECIPIENTS = `${PREFIX}/RECEIVE_STATISTICS_CUSTOM_RECIPIENTS`;\nexport const RECEIVE_STATISTICS_FEDERAL_RECIPIENTS = `${PREFIX}/RECEIVE_STATISTICS_FEDERAL_RECIPIENTS`;\nexport const RECEIVE_STATISTICS_STATE_RECIPIENTS = `${PREFIX}/RECEIVE_STATISTICS_STATE_RECIPIENTS`;\nexport const RECEIVE_STATISTICS_SENDERS = `${PREFIX}/RECEIVE_STATISTICS_SENDERS`;\nexport const RECEIVE_STATISTICS_REGULATIONS = `${PREFIX}/RECEIVE_STATISTICS_REGULATIONS`;\nexport const FETCHING_TABLE_STATISTICS = `${PREFIX}/FETCHING_TABLE_STATISTICS`;\nexport const FETCHED_TABLE_STATISTICS = `${PREFIX}/FETCHED_TABLE_STATISTICS`;\n\nexport const ADD_CHART_TO_PRINT = `${PREFIX}/ADD_CHART_TO_PRINT`;\nexport const SET_DATE_RANGE = `${PREFIX}/SET_DATE_RANGE`;\n\nexport const PER_PAGE = 25;\n","import { isEmpty, isObject, map, omitBy, get } from 'lodash';\n\nimport { isMyFeed } from 'components/Dashboard/utils';\n\nfunction getIds(values) {\n return { ids: map(values, 'value') };\n}\n\nfunction getData(itemData, globalFrequency) {\n const { values, frequency } = itemData || {};\n\n if (isEmpty(values)) {\n return null;\n }\n\n return {\n ...getIds(values),\n frequency: frequency || globalFrequency,\n };\n}\n\nexport const getWithWorkspaces = (data, isMyFeedToken) => !(isEmpty(data) || isMyFeedToken);\n\nfunction getCommitteeHearings({ itemData, globalFrequency, isMyFeedToken }) {\n const { isHearing, frequency: itemDataFrequency, hearingData, values, workspacesData } = itemData || {};\n const withWorkspaces = getWithWorkspaces(workspacesData, isMyFeedToken);\n const isCommitteeHearing = withWorkspaces ? workspacesData.isHearing : isHearing;\n\n if (isEmpty(values) || !isCommitteeHearing) {\n return null;\n }\n\n const workspacesSendEmail = get(workspacesData, 'hearingData.sendWeekAheadEmail');\n const workspacesFrequency = get(workspacesData, 'hearingData.frequency');\n const frequencyHearingData = isObject(itemDataFrequency) ? itemDataFrequency : hearingData;\n const { hearings, frequency, sendWeekAheadEmail } = frequencyHearingData || {};\n const sendEmail = withWorkspaces ? workspacesSendEmail : sendWeekAheadEmail;\n const subscriptionFrequency = withWorkspaces ? workspacesFrequency : hearings || frequency;\n\n return {\n ...getIds(values),\n frequency: subscriptionFrequency || globalFrequency,\n send_week_ahead_email: sendEmail || false,\n };\n}\n\nfunction getCommitteeStaffers({ itemData, globalFrequency, isMyFeedToken }) {\n const { isStaffer, frequency: itemDataFrequency, stafferData, values, workspacesData } = itemData || {};\n const withWorkspaces = getWithWorkspaces(workspacesData, isMyFeedToken);\n const isCommitteeStaffer = withWorkspaces ? workspacesData.isStaffer : isStaffer;\n\n if (isEmpty(values) || !isCommitteeStaffer) {\n return null;\n }\n\n const workspacesFrequency = get(workspacesData, 'stafferData.frequency');\n const frequencyStafferData = isObject(itemDataFrequency) ? itemDataFrequency : stafferData;\n const { staffer, frequency } = frequencyStafferData || {};\n const subscriptionFrequency = withWorkspaces ? workspacesFrequency : staffer || frequency;\n\n return {\n ...getIds(values),\n frequency: subscriptionFrequency || globalFrequency,\n };\n}\n\nexport function transformTrackItemsForBE(payload, feedToken) {\n const {\n globalFrequency,\n federalBills,\n stateBills,\n federalRegulations,\n stateRegulations,\n stateCommittees,\n federalCommittees,\n federalLegislators,\n stateLegislators,\n newsfeeds,\n feedTokens,\n } = payload || {};\n\n const isMyFeedToken = isMyFeed(feedToken);\n const federalCommitteeData = { itemData: federalCommittees, globalFrequency, isMyFeedToken };\n const stateCommitteeData = { itemData: stateCommittees, globalFrequency, isMyFeedToken };\n\n return omitBy({\n federal_bills: getData(federalBills, globalFrequency),\n state_bills: getData(stateBills, globalFrequency),\n federal_regulations: getData(federalRegulations, globalFrequency),\n state_regulations: getData(stateRegulations, globalFrequency),\n state_committee_hearings: getCommitteeHearings(stateCommitteeData),\n state_committee_staffers: getCommitteeStaffers(stateCommitteeData),\n federal_committee_hearings: getCommitteeHearings(federalCommitteeData),\n federal_committee_staffers: getCommitteeStaffers(federalCommitteeData),\n federal_legislator_staffers: getData(federalLegislators, globalFrequency),\n state_legislator_staffers: getData(stateLegislators, globalFrequency),\n news_searches: getData(newsfeeds, globalFrequency),\n feed_tokens: feedTokens,\n }, isEmpty);\n}\n","import { map, reduce } from 'lodash';\n\nexport function transformPositionsResponseForUI({ data }) {\n return reduce(data, (result, item) => {\n const { record_type, user_positions } = item || {};\n const formatData = map(user_positions, (position) => {\n const { record_id, position_type } = position || {};\n\n return {\n recordType: record_type,\n recordId: record_id,\n position: position_type,\n };\n }) || [];\n\n result.push(...formatData);\n\n return result;\n }, []);\n}\n","import { filter, map, isEmpty } from 'lodash';\n\nimport positionsApi from 'redux/dashboardV2/common/positions/api';\n\nimport { transformPositionsResponseForUI } from './utils/transformers';\n\nexport function fetchLookupPositions(\n { payload: payloadData } = {},\n defaultDocumentType,\n actionTypes = {},\n) {\n return (dispatch) => {\n dispatch({ type: actionTypes.LOAD_POSITIONS, isLoadingPositions: true });\n\n const filterByDocumentType = ({ documentType }) => documentType === defaultDocumentType;\n const filteredPayload = filter(payloadData, filterByDocumentType);\n const recordIds = map(filteredPayload, 'id');\n\n const formattedPayload = [{\n record_type: defaultDocumentType,\n record_ids: recordIds,\n }];\n\n const onSuccess = (response) => {\n dispatch({\n type: actionTypes.LOAD_POSITIONS,\n isLoadingPositions: false,\n payload: transformPositionsResponseForUI(response),\n });\n\n return { payload: payloadData };\n };\n\n const onFailure = (error) => {\n dispatch({\n type: actionTypes.LOAD_POSITIONS,\n isLoadingPositions: false,\n payload: [],\n });\n\n throw error;\n };\n\n if (isEmpty(recordIds)) {\n return onSuccess({ data: [] });\n }\n\n return positionsApi.fetchAllPositions({ search_form: formattedPayload })\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","const keyword = 'STATE_STATES';\n\nconst constants = {\n FETCH_SUPPORTED_STATES: `${keyword}/FETCH_SUPPORTED_STATES`,\n RECEIVE_SUPPORTED_STATES_DONE: `${keyword}/RECEIVE_SUPPORTED_STATES_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'MONEYBALL_VENDOR_LOOKUP';\n\nconst constants = {\n FETCH_VENDORS: `${PREFIX}/FETCH_VENDORS`,\n RECEIVE_VENDORS_DONE: `${PREFIX}/RECEIVE_VENDORS_DONE`,\n};\n\nexport default constants;\n","export const RECORD_TYPES = {\n federal_staffer: {\n label: 'Federal Staffer',\n pluralLabel: 'Federal Staffers',\n path: ({ record_id }) => `/federal/congressional_staffers/${record_id}`,\n },\n federal_legislator: {\n label: 'Federal Legislator',\n pluralLabel: 'Federal Legislators',\n path: ({ record_id }) => `/federal/legislators/${record_id}`,\n },\n federal_bill: {\n label: 'Federal Bill',\n pluralLabel: 'Federal Bills',\n path: ({ record_id }) => `/federal/bills/${record_id}`,\n },\n federal_committee: {\n label: 'Federal Committee',\n pluralLabel: 'Federal Committees',\n path: ({ record_id }) => `/federal/committees/${record_id}`,\n },\n state_bill: {\n label: 'State Bill',\n pluralLabel: 'State Bills',\n path: ({ record_id }) => `/state/bills/${record_id}`,\n },\n state_staffer: {\n label: 'State Staffer',\n pluralLabel: 'State Staffers',\n path: ({ record_id }) => `/state/staffers/${record_id}`,\n },\n state_legislator: {\n label: 'State Legislator',\n pluralLabel: 'State Legislators',\n path: ({ record_id }) => `/state/legislators/${record_id}`,\n },\n state_committee: {\n label: 'State Committee',\n pluralLabel: 'State Committees',\n path: ({ record_id }) => `/state/committees/${record_id}`,\n },\n state_regulation: {\n label: 'State Regulation',\n pluralLabel: 'State Regulations',\n path: ({ record_id }) => `/state/regulations/${record_id}`,\n },\n federal_regulation: {\n label: 'Federal Regulation',\n pluralLabel: 'Federal Regulations',\n path: ({ record_id }) => `/federal/regulations/${record_id}`,\n },\n colleague: {\n label: 'Colleague',\n pluralLabel: 'Colleagues',\n path: () => {},\n },\n stakeholder: {\n label: 'Stakeholder',\n pluralLabel: 'Stakeholders',\n path: ({ record_id }) => `/stakeholder_management/stakeholder/${record_id}`,\n },\n grassroots_campaign: {\n label: 'Grassroots Campaign',\n pluralLabel: 'Grassroots Campaigns',\n path: ({ record_token }) => `/grassroots/reports/${record_token}`,\n },\n hill_day: {\n label: 'Hill Day',\n pluralLabel: 'Hill Days',\n path: ({ record_token }) => `/hill_day/hill_days/${record_token}`,\n },\n hill_day_meeting: {\n label: 'Hill Day Meeting',\n pluralLabel: 'Hill Day Meetings',\n path: ({ record_token }) => `/hill_day/events/${record_token}`,\n },\n agency_press_release: {\n label: 'Agency press release',\n pluralLabel: 'Agency press releases',\n path: ({ record_external_url }) => record_external_url,\n },\n cbo_cost_estimate: {\n label: 'CBO cost estimate',\n pluralLabel: 'CBO cost estimates',\n path: ({ record_id }) => `/federal/cbo_reports/document/view/${record_id}`,\n },\n committee_report: {\n label: 'Committee report',\n pluralLabel: 'Committee reports',\n path: ({ record_id }) => `/federal/committee_reports/document/view/${record_id}`,\n },\n congressional_press_release: {\n label: 'Congressional press release',\n pluralLabel: 'Congressional press releases',\n path: ({ record_external_url }) => record_external_url,\n },\n congressional_record_item: {\n label: 'Congressional record item',\n pluralLabel: 'Congressional record items',\n path: ({ record_id }) => `/federal/congressional_record/document/view/${record_id}`,\n },\n contract: {\n label: 'Contract',\n pluralLabel: 'Contracts',\n path: ({ record_id }) => `federal/contracts/${record_id}`,\n },\n crs_report: {\n label: 'CRS report',\n pluralLabel: 'CRS reports',\n path: ({ record_id }) => `/federal/crs_reports/document/view/${record_id}`,\n },\n dear_colleague_letter: {\n label: 'Dear Colleague letter',\n pluralLabel: 'Dear Colleague letters',\n path: ({ record_id }) => `/federal/dear_colleague_letters/${record_id}`,\n },\n executive_order: {\n label: 'Executive order',\n pluralLabel: 'Executive orders',\n path: ({ record_id }) => `/federal/executive_orders/document/view/${record_id}`,\n },\n gao_report: {\n label: 'GAO report',\n pluralLabel: 'GAO reports',\n path: ({ record_id }) => `/federal/gao_reports/document/view/${record_id}`,\n },\n grant: {\n label: 'Grant',\n pluralLabel: 'Grants',\n path: ({ record_id }) => `/federal/grants/${record_id}`,\n },\n live_hearing_transcript: {\n label: 'Live hearing transcript',\n pluralLabel: 'Live hearing transcripts',\n path: ({ record_external_url }) => record_external_url,\n },\n official_hearing_transcript: {\n label: 'Official hearing transcript',\n pluralLabel: 'Official hearing transcripts',\n path: ({ record_id }) => `/federal/official_hearing_transcripts/document/view/${record_id}`,\n },\n sap_report: {\n label: 'SAP report',\n pluralLabel: 'SAP reports',\n path: ({ record_id }) => `/federal/sap_reports/document/view/${record_id}`,\n },\n state_of_the_union_address: {\n label: 'State of the Union addresse',\n pluralLabel: 'State of the Union addresses',\n path: ({ record_id }) => `/federal/state_of_the_union_addresses/document/view/${record_id}`,\n },\n treaty_document: {\n label: 'Treaty document',\n pluralLabel: 'Treaty documents',\n path: ({ record_id }) => `/federal/treaties/document/view/${record_id}`,\n },\n third_party_report: {\n label: 'Third party report',\n pluralLabel: 'Third party reports',\n path: ({ record_id }) => `federal/third_party_reports/document/view/${record_id}`,\n },\n white_house_press_briefing: {\n label: 'White House press briefing',\n pluralLabel: 'White House press briefings',\n path: ({ record_id }) => `federal/white_house_press_briefings/document/view/${record_id}`,\n },\n governor_order: {\n label: 'Governor order',\n pluralLabel: 'Governor orders',\n path: ({ record_external_url }) => record_external_url,\n },\n governor_press_release: {\n label: 'Governor press release',\n pluralLabel: 'Governor press releases',\n path: ({ record_external_url }) => record_external_url,\n },\n local_executive: {\n label: 'Local executive',\n pluralLabel: 'Local executives',\n path: ({ record_id }) => `/local/executives/${record_id}`,\n },\n federal_executive: {\n label: 'Federal executive',\n pluralLabel: 'Federal executives',\n path: ({ record_id }) => `/federal/executives/${record_id}`,\n },\n state_executive: {\n label: 'State executive',\n pluralLabel: 'State executives',\n path: ({ record_id }) => `/state/executives/${record_id}`,\n },\n state_agency_staffer: {\n label: 'State agency staffer',\n pluralLabel: 'State agency staffers',\n path: ({ record_id }) => `/state/agency_staffers/${record_id}`,\n },\n};\n","import { map, toString, flatten, keys, head, get } from 'lodash';\n\nexport function transformDocumentIdsForBE(documentIds = []) {\n return map(documentIds, id => toString(id));\n}\n\nexport function transformMyFeedDocuments(data, documentTypes) {\n const documents = map(data, (typeDocuments, index) => {\n const documentType = documentTypes[index];\n\n return map(typeDocuments, (document) => {\n const [recordId] = keys(document);\n\n return {\n documentType,\n recordId,\n sharings: document[recordId],\n };\n });\n });\n\n return flatten(documents);\n}\n\nexport function transformDocumentsForProfile(data, id) {\n const sharings = get(head(data), id, []);\n\n return sharings;\n}\n","import { get, map } from 'lodash';\n\nimport {\n FEDERAL_EXECUTIVE_SLUG,\n LOCAL_EXECUTIVE_SLUG,\n STATE_EXECUTIVE_SLUG,\n STATE_STAFFER_EXECUTIVE_SLUG,\n} from 'utils/constants/featureSlugs';\n\nconst localExecutiveTransformer = (advancedFilters) => {\n const {\n executives = [],\n branches = [],\n titles = [],\n parties = [],\n states = [],\n counties = [],\n cities = [],\n zip_codes = [],\n electionDates = [],\n tags = [],\n } = advancedFilters;\n\n return {\n user_ids: map(executives, 'value'),\n branches: map(branches, 'label'),\n titles: map(titles, 'label'),\n parties,\n states: map(states, 'value'),\n counties: map(counties, 'value'),\n cities: map(cities, 'value'),\n zip_codes: map(zip_codes, 'value'),\n election_dates: map(electionDates, 'value'),\n tag_ids: map(tags, 'value'),\n };\n};\n\nconst federalExecutiveTransformer = (advancedFilters) => {\n const {\n executives = [],\n organizations = [],\n titles = [],\n parties = [],\n tags = [],\n } = advancedFilters;\n\n return {\n user_ids: map(executives, 'value'),\n organizations: map(organizations, 'label'),\n titles: map(titles, 'label'),\n parties,\n tag_ids: map(tags, 'value'),\n };\n};\n\nconst stateExecutiveTransformer = (advancedFilters) => {\n const {\n executives = [],\n states = [],\n organizations = [],\n titles = [],\n parties = [],\n tags = [],\n } = advancedFilters;\n\n return {\n user_ids: map(executives, 'value'),\n states: map(states, 'value'),\n organizations: map(organizations, 'label'),\n titles: map(titles, 'label'),\n parties,\n tag_ids: map(tags, 'value'),\n };\n};\n\nconst stateStafferExecutiveTransformer = (advancedFilters) => {\n const {\n staffers = [],\n executives = [],\n states = [],\n titles = [],\n parties = [],\n tags = [],\n } = advancedFilters;\n\n return {\n user_ids: map(staffers, 'value'),\n executive_ids: map(executives, 'value'),\n states: map(states, 'value'),\n titles: map(titles, 'label'),\n parties,\n tag_ids: map(tags, 'value'),\n };\n};\n\nconst transformAdvancedFiltersForBE = advancedFilters => ({\n [FEDERAL_EXECUTIVE_SLUG]: federalExecutiveTransformer(get(advancedFilters, FEDERAL_EXECUTIVE_SLUG, {})),\n [LOCAL_EXECUTIVE_SLUG]: localExecutiveTransformer(get(advancedFilters, LOCAL_EXECUTIVE_SLUG, {})),\n [STATE_EXECUTIVE_SLUG]: stateExecutiveTransformer(get(advancedFilters, STATE_EXECUTIVE_SLUG, {})),\n [STATE_STAFFER_EXECUTIVE_SLUG]: stateStafferExecutiveTransformer(get(advancedFilters, STATE_STAFFER_EXECUTIVE_SLUG, {})),\n});\n\nexport default transformAdvancedFiltersForBE;\n","import { isEmpty, pickBy } from 'lodash';\n\nimport { formatDate } from 'utils/date';\nimport { camelizeKeys } from 'utils/object';\nimport { getAddress } from 'components/core/Profile/components/Cards/Positions/utils';\n\nimport transformAdvancedFiltersForBE from './transformAdvancedFiltersForBE';\n\nexport function transformPayloadForBE({ searchTerm, searchParams, page, perPage }) {\n const {\n states = [],\n tags = [],\n startDate,\n endDate,\n slugs,\n advancedFilters = {},\n } = searchParams;\n\n return {\n search: pickBy({\n terms: searchTerm,\n start_date: formatDate(startDate),\n end_date: formatDate(endDate),\n states: states.map(({ value }) => value),\n search_slugs: slugs,\n tag_ids: tags.map(({ value }) => value),\n page,\n advanced_filters: transformAdvancedFiltersForBE(advancedFilters),\n per_page: perPage,\n }),\n };\n}\n\nconst transformChairmanData = (chairmanData) => {\n if (isEmpty(chairmanData)) return undefined;\n\n const { id, party_short, party_slug, universal_moniker } = chairmanData;\n\n return {\n id,\n partyShort: party_short,\n partySlug: party_slug,\n label: universal_moniker,\n };\n};\n\nconst transformPersonTitle = (personTitle) => {\n if (isEmpty(personTitle)) return undefined;\n\n const { branch, role, title, organizations } = personTitle;\n\n return {\n title,\n role,\n organizations,\n additionalInfo: { branch },\n };\n};\n\nconst transformPersonPhone = (personPhone) => {\n if (isEmpty(personPhone)) return undefined;\n\n const { area_code, phone_number } = personPhone;\n\n return {\n areaCode: area_code,\n phoneNumber: phone_number,\n };\n};\n\nconst transformPersonOffice = personOffice => getAddress(camelizeKeys(personOffice));\n\nconst transformResultForUI = (result) => {\n const { options } = result;\n const {\n party_short,\n party_slug,\n display_state,\n state,\n photo_url,\n boss_name,\n works_for_label,\n sending_office,\n recipient_name,\n text,\n snippet,\n summary,\n document,\n synopsis,\n agency,\n agency_name,\n description,\n category,\n governor_name,\n organization,\n primary_phone,\n primary_email,\n offices = [],\n phones = [],\n agencies_titles,\n code_citation,\n code_citation_url,\n latest_publication_date,\n publication_date,\n latest_publication_url,\n boss_party_slug,\n boss_party,\n staffable_id,\n primary_address_district,\n chairman_data,\n posted_at,\n account_screen_name,\n social_media_lists,\n post_url,\n email,\n office,\n phone,\n full_name,\n person_party,\n person_email,\n person_title,\n person_office,\n person_phone,\n ...restOptions\n } = options || {};\n\n result.options = {\n ...restOptions,\n offices,\n phones,\n state: display_state || state,\n partySlug: party_slug,\n partyShort: party_short || person_party,\n photoUrl: photo_url,\n primaryAddressDistrict: primary_address_district,\n primaryPhone: primary_phone,\n primaryEmail: primary_email,\n bossName: boss_name || works_for_label,\n bossPartySlug: boss_party_slug || boss_party,\n bossId: staffable_id,\n organization,\n targetLabel: organization || recipient_name || sending_office || agency || agency_name || category || governor_name,\n text: snippet || text || summary || document || synopsis || description,\n agency: agencies_titles,\n codeCitation: code_citation,\n codeCitationUrl: code_citation_url,\n latestPublicationDate: latest_publication_date || publication_date,\n latestPublicationUrl: latest_publication_url,\n chairman: transformChairmanData(chairman_data),\n postedAt: posted_at,\n accountScreenName: account_screen_name,\n socialMediaLists: social_media_lists,\n postUrl: post_url,\n fullName: full_name,\n position: transformPersonTitle(person_title),\n email: email || person_email,\n office: office || transformPersonOffice(person_office),\n phone: phone || transformPersonPhone(person_phone),\n };\n\n return result;\n};\n\nconst transformPaginationForUI = pagination => ({\n currentPage: pagination.current_page,\n perPage: pagination.per_page,\n totalPages: pagination.total_pages,\n totalCount: pagination.total_count,\n});\n\nexport function transformResponseForUI(response) {\n const { data: results, pagination } = response;\n\n return {\n results: results.map(transformResultForUI),\n pagination: transformPaginationForUI(pagination),\n };\n}\n","import { map, find, isEmpty } from 'lodash';\n\nexport function updatePostsReplies(posts, replies) {\n function getUpdatedItem(item) {\n const { replyTo } = item;\n\n if (isEmpty(replyTo)) {\n return item;\n }\n\n const { tweetId } = replyTo;\n const reply = find(replies, ({ externalToken }) => externalToken === tweetId);\n\n return {\n ...item,\n ...(reply && { reply }),\n };\n }\n\n return isEmpty(replies) ? posts : map(posts, item => getUpdatedItem(item));\n}\n","import { map, compact, isEmpty, uniq } from 'lodash';\n\nimport { transformRequestData, transformPosts } from './transformers';\nimport { updatePostsReplies } from '.';\n\nexport function fetchPosts(searchData) {\n const url = '/api_web/social_media/posts/lookup';\n const ajax = $.post(url, transformRequestData(searchData));\n\n return Promise.resolve(ajax);\n}\n\nexport function fetchReplies(posts) {\n const ids = uniq(compact(map(posts, ({ replyTo }) => {\n const { tweetId } = replyTo || {};\n\n return tweetId;\n })));\n\n if (isEmpty(ids)) {\n return Promise.resolve(posts);\n }\n\n function onSuccess(response) {\n const { posts: replies } = response || {};\n\n return updatePostsReplies(posts, transformPosts(replies));\n }\n\n return fetchPosts({ ids })\n .then(onSuccess);\n}\n","const PREFIX = 'TAGS';\n\nconst constants = {\n FETCH_ALL_COMPANY_TAGS: `${PREFIX}/FETCH_ALL_COMPANY_TAGS`,\n FETCH_ALL_COMPANY_TAGS_DONE: `${PREFIX}/FETCH_ALL_COMPANY_TAGS_DONE`,\n CREATE_NEW_TAG: `${PREFIX}/CREATE_NEW_TAG`,\n CREATE_NEW_TAG_DONE: `${PREFIX}/CREATE_NEW_TAG_DONE`,\n BULK_TAG_RECORDS: `${PREFIX}/BULK_TAG_RECORDS`,\n BULK_TAG_RECORDS_DONE: `${PREFIX}/BULK_TAG_RECORDS_DONE`,\n UPDATE_TAG_RECORDS: `${PREFIX}/UPDATE_TAG_RECORDS`,\n UPDATE_TAG_RECORDS_DONE: `${PREFIX}/UPDATE_TAG_RECORDS_DONE`,\n FETCH_TAGS_BY_RECORD_IDS: `${PREFIX}/FETCH_TAGS_BY_RECORD_IDS`,\n FETCH_TAGS_BY_RECORD_IDS_DONE: `${PREFIX}/FETCH_TAGS_BY_RECORD_IDS_DONE`,\n};\n\nexport default constants;\n","import { isEmpty, map, toString } from 'lodash';\n\nimport { postJson } from 'utils/api';\n\nimport constants from './constants';\nimport {\n getFilteredTags,\n saveTagsAndUpdateRecords,\n transformRecordsForTag,\n transformTagsForBE,\n transformNewTagsForUI,\n transformBulkTagsRecordsForBE,\n transformTagsByRecordIdsForUI,\n transformFetchRecordIdsForBE,\n createTagsNoDispatch,\n} from './utils';\nimport { BASE_URL } from './utils/constants';\n\nexport function fetchAllCompanyTags() {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_ALL_COMPANY_TAGS });\n\n const ajax = $.get(BASE_URL);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({ type: constants.FETCH_ALL_COMPANY_TAGS_DONE, payload: response }))\n .catch(() => dispatch({ type: constants.FETCH_ALL_COMPANY_TAGS_DONE, payload: [] }));\n };\n}\n\nexport function createNewTags(payload) {\n return (dispatch) => {\n dispatch({ type: constants.CREATE_NEW_TAG });\n\n return createTagsNoDispatch(payload)\n .catch(() => dispatch({ type: constants.CREATE_NEW_TAG_DONE, payload: [] }));\n };\n}\n\nexport function bulkTagRecordsNoDispatch(payload) {\n const data = transformBulkTagsRecordsForBE(payload);\n const ajax = $.ajax({\n url: `${BASE_URL}/bulk`,\n method: 'POST',\n data: JSON.stringify(data),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function bulkTagRecords(payload) {\n return (dispatch) => {\n dispatch({ type: constants.BULK_TAG_RECORDS });\n\n return bulkTagRecordsNoDispatch(payload)\n .then(() => dispatch({ type: constants.BULK_TAG_RECORDS_DONE }))\n .catch(() => dispatch({ type: constants.BULK_TAG_RECORDS_DONE, payload: [] }));\n };\n}\n\nexport function updateTagRecordsForRecordNoDispatch(payload) {\n const { recordType, recordId, tagIds } = payload || {};\n\n const ajax = $.ajax({\n method: 'PUT',\n url: `${BASE_URL}/${recordType}/${recordId}`,\n data: { tag_ids: tagIds },\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function updateTagRecordsForRecord(payload) {\n return (dispatch) => {\n dispatch({ type: constants.UPDATE_TAG_RECORDS });\n\n return updateTagRecordsForRecordNoDispatch(payload)\n .then(response => dispatch({ type: constants.UPDATE_TAG_RECORDS_DONE, payload: response }))\n .catch(() => dispatch({ type: constants.UPDATE_TAG_RECORDS_DONE, payload: [] }));\n };\n}\n\nexport function fetchTagsByRecordIdsNoDispatch(payload, isRecent) {\n const data = transformFetchRecordIdsForBE(payload, isRecent);\n\n if (isEmpty(data)) {\n return Promise.resolve([]);\n }\n\n const ajax = postJson(`${BASE_URL}/lookup`, { search_form: data });\n\n return Promise.resolve(ajax)\n .then(response => transformTagsByRecordIdsForUI(response))\n .catch(() => []);\n}\n\nexport function fetchTagsByRecordIds(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_TAGS_BY_RECORD_IDS });\n\n return fetchTagsByRecordIdsNoDispatch(payload)\n .then(response => dispatch({\n type: constants.FETCH_TAGS_BY_RECORD_IDS_DONE,\n payload: response,\n }))\n .catch(() => dispatch({\n type: constants.FETCH_TAGS_BY_RECORD_IDS_DONE,\n payload: [],\n }));\n };\n}\n\nexport function fetchLookupTags({ payload: payloadData } = {}, defaultDocumentType, actionTypes) {\n return (dispatch) => {\n dispatch({ type: actionTypes.FETCH_TAGS });\n\n const data = map(payloadData, ({ id, documentType }) => ({\n id,\n documentType: documentType || defaultDocumentType,\n }));\n\n function onSuccess(response) {\n dispatch({\n type: actionTypes.RECEIVE_TAGS_DONE,\n payload: response,\n });\n\n return { payload: payloadData };\n }\n\n function onFailure(error) {\n dispatch({\n type: actionTypes.RECEIVE_TAGS_DONE,\n payload: [],\n });\n\n throw error;\n }\n\n return fetchTagsByRecordIdsNoDispatch(data)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function saveTags({ recordId, values, documentType, onSuccess, onFailure }, actionTypes) {\n return (dispatch) => {\n dispatch({ type: actionTypes.UPDATE_TAG_ITEM, recordId });\n\n const { tags } = values || {};\n const { newTags, existingTags } = getFilteredTags(tags);\n\n function saveTagsForRecord(responseNewTags) {\n return updateTagRecordsForRecordNoDispatch({\n tagIds: transformTagsForBE(existingTags, responseNewTags),\n recordType: documentType,\n recordId: toString(recordId),\n }).then(response => dispatch({\n type: actionTypes.UPDATE_TAG_ITEM_DONE,\n payload: {\n recordId,\n tags: transformNewTagsForUI(response),\n },\n }))\n .then(onSuccess)\n .catch(onFailure);\n }\n\n return saveTagsAndUpdateRecords({ newTags, saveTagsForRecord });\n };\n}\n\nexport function bulkSaveLookupTags({ values, selectedItems, onSuccess, onFailure }, actionTypes) {\n return (dispatch) => {\n if (isEmpty(values)) {\n return Promise.resolve();\n }\n\n dispatch({ type: actionTypes.BULK_UPDATE_DATA, isLoadingTags: true });\n\n const { tags } = values || {};\n const { newTags, existingTags } = getFilteredTags(tags);\n\n function saveTagsForRecord(responseNewTags) {\n return bulkTagRecordsNoDispatch({\n tagIds: transformTagsForBE(existingTags, responseNewTags),\n records: transformRecordsForTag(selectedItems),\n })\n .then(() => dispatch(fetchLookupTags({ payload: selectedItems }, null, actionTypes)))\n .then(onSuccess)\n .catch(onFailure)\n .finally(() => dispatch({ type: actionTypes.BULK_UPDATE_DATA, isLoadingTags: false }));\n }\n\n return saveTagsAndUpdateRecords({ newTags, saveTagsForRecord });\n };\n}\n\nexport function fetchProfileTags(payload = {}, actionTypes = {}) {\n return (dispatch) => {\n dispatch({ type: actionTypes.FETCH_TAGS });\n\n function onSuccess(response) {\n const [data] = response || [];\n const { tags = [] } = data || {};\n\n return dispatch({\n type: actionTypes.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n }\n\n function onFailure(error) {\n dispatch({\n type: actionTypes.RECEIVE_TAGS_DONE,\n payload: [],\n });\n\n throw error;\n }\n\n return fetchTagsByRecordIdsNoDispatch([payload])\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import constants from './constants';\n\nexport function setAppliedFilters(payload) {\n return dispatch => (\n dispatch({\n type: constants.SET_APPLIED_FILTERS,\n payload,\n })\n );\n}\n\nexport function updateAppliedFilters(payload) {\n return dispatch => (\n dispatch({\n type: constants.UPDATE_APPLIED_FILTERS,\n payload,\n })\n );\n}\n\nexport function resetAppliedFilters() {\n return dispatch => (\n dispatch({\n type: constants.RESET_APPLIED_FILTERS,\n })\n );\n}\n","import { isEmpty, omitBy } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { submitExportReport } from 'redux/exportReport/actions';\nimport { exportCSVBlob, getExportSortData } from 'redux/exportReport/utils';\nimport { CSV_ID, EXPORT_EMAIL_LIMIT } from 'utils/constants/export';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\n\nimport { getExportInfo, transformStakeholdersForUI } from '../utils/transformers';\nimport constants from '../constants';\nimport { getStakeholdersData } from './data';\n\nexport function submitExport(payload = {}) {\n const {\n items,\n exportOption,\n direction = 'desc',\n sort = 'id',\n searchData = {},\n sortData,\n } = payload;\n\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: constants.STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[stakeholder_ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n 'strategy_inputs[direction]': direction,\n 'strategy_inputs[sort]': sort,\n ...getExportSortData(sortData),\n ...omitBy(getExportInfo(searchForm), isEmpty),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `Stakeholder Management ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({ ...payload, data, onSuccessCustom });\n}\n\nexport function getAllEmails(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.FETCH_STAKEHOLDER_EMAILS });\n const { appliedFilters } = getState().stakeholder.stakeholderLookup.appliedFilters;\n\n const { url, data } = getStakeholdersData({ ...payload, searchData: appliedFilters });\n const ajax = $.post(url, { ...data, per_page: EXPORT_EMAIL_LIMIT });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_STAKEHOLDER_EMAILS_DONE,\n payload: transformStakeholdersForUI(response.data),\n });\n }\n\n return Promise.resolve(ajax).then(onSuccess);\n };\n}\n","import { TRACKABLE_SLUGS } from './constants';\n\nexport const isTrackableRecordType = ({ recordType }) => TRACKABLE_SLUGS.includes(recordType);\n\nconst mergeSubscriptionDocType = (baseSubscriptions, newSubscriptions) => (memo, key) => {\n const baseSubscriptionsObject = baseSubscriptions[key];\n const newSubscriptionsObject = newSubscriptions[key] || {};\n\n return {\n ...memo,\n [key]: {\n ...baseSubscriptionsObject,\n ...newSubscriptionsObject,\n },\n };\n};\n\nexport const mergeSubscriptions = (baseSubscriptions, newSubscriptions) => {\n const reduceMethod = mergeSubscriptionDocType(baseSubscriptions, newSubscriptions);\n\n const mergedSubscriptions = Object.keys(baseSubscriptions).reduce(reduceMethod, {});\n\n return {\n ...newSubscriptions,\n ...mergedSubscriptions,\n };\n};\n\nexport const isNotFetched = fetchedRecords => ({ id, recordType }) => {\n const recordTypeRecords = fetchedRecords[recordType] || [];\n\n return !recordTypeRecords.includes(id);\n};\n","import isEmpty from 'lodash/isEmpty';\n\nimport { setAppliedFilters, updateAppliedFilters } from './actions';\n\nexport function handleAppliedFilters(searchData = {}) {\n return (dispatch) => {\n if (isEmpty(searchData)) return;\n\n dispatch(setAppliedFilters(searchData));\n };\n}\n\nexport function handleUpdateAppliedFilters(searchData = {}) {\n return (dispatch) => {\n if (isEmpty(searchData)) return;\n\n dispatch(updateAppliedFilters(searchData));\n };\n}\n\nexport function hasAppliedFilters(appliedFilters) {\n return !isEmpty(appliedFilters) &&\n (!isEmpty(appliedFilters.options) || !isEmpty(appliedFilters.searchValue));\n}\n","import { map, get, find, some } from 'lodash';\n\nimport { SUBSCRIBABLE_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { isMyFeed } from 'components/Dashboard/utils';\nimport { getWithWorkspaces } from 'redux/dashboardV2/trackItems/utils';\n\nexport const getSubscriptionModelId = ({ subscribableData }) => get(subscribableData, 'model_id');\n\nexport const getHasStafferSubscription = subscriptions => (\n some(\n subscriptions,\n ({ subscribableType }) => subscribableType === SUBSCRIBABLE_TYPES.FEDERAL_STAFFER_OFFICE\n )\n);\n\nexport const getHasHearingsSubscription = subscriptions => (\n some(subscriptions, ({ subscribableType }) => subscribableType === SUBSCRIBABLE_TYPES.COMMITTEE)\n);\n\nconst getData = (payload, workspace) => {\n const { trackings, isStaffer, isHearing, hearingData, stafferData, workspacesData } = payload;\n const subscriptions = get(\n find(trackings, ({ feed }) => feed.token === workspace.token),\n 'subscriptions'\n );\n\n const withWorkspaces = getWithWorkspaces(workspacesData, isMyFeed(workspace.token));\n const isCommitteeHearing = withWorkspaces ? workspacesData.isHearing : isHearing;\n const isCommitteeStaffer = withWorkspaces ? workspacesData.isStaffer : isStaffer;\n const committeeHearingData = withWorkspaces ? workspacesData.hearingData : hearingData;\n const committeeStafferData = withWorkspaces ? workspacesData.stafferData : stafferData;\n\n return {\n isStaffer: isCommitteeStaffer,\n isHearing: isCommitteeHearing,\n isPresentStaffers: getHasStafferSubscription(subscriptions),\n isPresentHearings: getHasHearingsSubscription(subscriptions),\n hearingData: committeeHearingData,\n stafferData: committeeStafferData,\n };\n};\n\nexport const getSubscriptionRequests = (payload, workspacesToTrack, action) => {\n const requests = map(workspacesToTrack, (workspace) => {\n const data = {\n ...getData(payload, workspace),\n feedToken: workspace.token,\n };\n\n return Promise.all(action(data));\n });\n\n return Promise.all(requests);\n};\n","import { isEmpty, map, filter, get, head, compact, forEach, groupBy, flatten } from 'lodash';\n\nimport { getMyFeedToken } from 'components/Dashboard/utils';\nimport { notifySharedToMyFeedMultiple } from 'components/Dashboard/common/UserNotifications';\nimport { fetchTrackingsBulk, bulkTrackItems } from 'redux/dashboardV2/common/trackings/api';\nimport { bulkShareToMyFeed } from 'redux/dashboardV2/common/subscriptions/api';\nimport * as subscriptionsApi from 'redux/dashboardV2/common/subscriptions/api';\nimport notifications from 'components/Dashboard/utils/notifications';\nimport { getSubscriptionsData } from 'redux/dashboardV2/feedPage/actions';\nimport { getWorkspacesToTrack } from 'components/core/TrackButton/utils';\nimport { transformFetchRecordIdsForBE } from 'redux/tags/utils';\n\nimport {\n transformSubscription,\n transformSubscriptions,\n transformCommitteeSubscriptions,\n transformCommitteeProfileSubscriptions,\n transformSharedDocuments,\n transformTracking,\n} from './utils/transformers';\nimport { getSubscriptionRequests, getSubscriptionModelId } from './utils';\n\nexport function fetchLookupSubscriptions(\n { payload: payloadData } = {},\n defaultDocumentType,\n actionTypes = {},\n) {\n return (dispatch) => {\n const trackableItems = filter(payloadData, 'withTrack');\n\n if (isEmpty(trackableItems)) {\n return Promise.resolve();\n }\n\n dispatch({ type: actionTypes.FETCH_SUBSCRIPTIONS });\n\n const payload = map(trackableItems, ({ id, documentType, trackingType }) => ({\n id,\n documentType: trackingType || documentType || defaultDocumentType,\n }));\n\n const data = transformFetchRecordIdsForBE(payload);\n\n function onSuccess({ data: responseData } = {}) {\n const [lookupSubscriptions] = responseData || [];\n const { record_type, subscriptions } = lookupSubscriptions || {};\n\n dispatch({\n type: actionTypes.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: transformSubscriptions(subscriptions, record_type),\n });\n }\n\n function onFailure(error) {\n dispatch({\n type: actionTypes.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: [],\n });\n\n throw error;\n }\n\n return Promise.resolve(fetchTrackingsBulk(data))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchLookupCommitteeSubscriptions({\n data,\n defaultDocumentType,\n actionTypes = {},\n}) {\n return (dispatch) => {\n dispatch({ type: actionTypes.FETCH_SUBSCRIPTIONS });\n\n function onSuccess({ data: responseData } = {}) {\n dispatch({\n type: actionTypes.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: transformCommitteeSubscriptions(responseData, defaultDocumentType),\n });\n }\n\n function onFailure(error) {\n dispatch({\n type: actionTypes.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: [],\n });\n\n throw error;\n }\n\n return Promise.resolve(fetchTrackingsBulk(data))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchDefaultSubscription(actionTypes = {}) {\n return (dispatch) => {\n function onSuccess(frequency) {\n dispatch({\n type: actionTypes.RECEIVE_DEFAULT_SUBSCRIPTION_DONE,\n payload: frequency,\n });\n }\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(subscriptionsApi.fetchDefaultFrequency())\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchProfileSubscriptions({ payload: payloadData } = {}, actionTypes = {}) {\n return (dispatch) => {\n dispatch({ type: actionTypes.FETCH_SUBSCRIPTIONS });\n const { id, trackingType } = payloadData;\n const data = [{ record_type: trackingType, record_ids: [id] }];\n\n function onSuccess({ data: responseData }) {\n const subscriptions = get(head(responseData), 'subscriptions');\n dispatch({\n type: actionTypes.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: map(subscriptions, transformTracking),\n });\n }\n\n function onFailure(error) {\n dispatch({\n type: actionTypes.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: [],\n });\n\n throw error;\n }\n\n return Promise.resolve(fetchTrackingsBulk(data))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchProfileCommitteeSubscriptions({\n data,\n defaultDocumentType,\n actionTypes = {},\n}) {\n return (dispatch) => {\n dispatch({ type: actionTypes.FETCH_SUBSCRIPTIONS });\n\n function onSuccess({ data: responseData } = {}) {\n dispatch({\n type: actionTypes.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: transformCommitteeProfileSubscriptions(responseData, defaultDocumentType),\n });\n }\n\n function onFailure(error) {\n dispatch({\n type: actionTypes.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: [],\n });\n\n throw error;\n }\n\n return Promise.resolve(fetchTrackingsBulk(data))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function updateCommitteeSubscriptions({\n isProfile,\n payload,\n action,\n actionTypes = {},\n}) {\n return (dispatch) => {\n const { workspaces } = payload;\n const workspacesToTrack = getWorkspacesToTrack(workspaces, payload);\n\n const onSuccess = (responses) => {\n let recordId = '';\n const trackings = map(responses, (responseData, index) => {\n const subscriptionsData = compact(getSubscriptionsData(responseData));\n const subscriptions = map(subscriptionsData, transformSubscription);\n recordId = recordId || getSubscriptionModelId(head(subscriptions));\n\n return {\n feed: workspacesToTrack[index],\n subscriptions,\n };\n });\n\n dispatch({\n type: isProfile ? actionTypes.RECEIVE_SUBSCRIPTIONS_DONE : actionTypes.UPDATE_DATA_ITEM,\n payload: isProfile ? trackings : { recordId, trackings },\n });\n };\n\n const onFailure = (error) => {\n notifications.generalFailedNotification();\n\n throw error;\n };\n\n return getSubscriptionRequests(payload, workspacesToTrack, action)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function bulkTrackLookupItems(payload, actionTypes = {}, customFetchSubscriptions) {\n return (dispatch) => {\n dispatch({ type: actionTypes.BULK_TRACK_DATA });\n\n const { data, selectedItems, documentType, onSuccess, onFailure } = payload || {};\n const fetchSubscriptions = customFetchSubscriptions || fetchLookupSubscriptions;\n const selectedFeeds = getWorkspacesToTrack(data.workspaces, data);\n const workspaceTokens = map(selectedFeeds, 'token');\n\n function handleSuccess(responses) {\n dispatch({ type: actionTypes.BULK_TRACK_DATA_DONE });\n dispatch(fetchSubscriptions({ payload: selectedItems }, documentType, actionTypes));\n\n if (onSuccess) {\n const subscriptions = flatten(map(responses, 'data'));\n const subscriptionsByGroup = groupBy(subscriptions, 'feed_token');\n\n forEach(selectedFeeds, (selectedFeed) => {\n const subscriptionGroup = subscriptionsByGroup[selectedFeed.token];\n\n if (!isEmpty(subscriptionGroup)) {\n onSuccess(\n map(subscriptionGroup, transformSubscription),\n selectedFeed.token,\n selectedFeed.name\n );\n }\n });\n }\n }\n\n function handleFailure(error) {\n onFailure && onFailure(error);\n\n window.Sentry && window.Sentry.captureMessage(error);\n\n return {};\n }\n\n const requests = (() => {\n if (isEmpty(workspaceTokens)) {\n return [];\n }\n\n const [firstToken, ...restTokens] = workspaceTokens;\n\n const callApi = (requestData, token) => bulkTrackItems(requestData, token)\n .catch(handleFailure);\n\n // separate requests because the transformer handles data differently for private and shared feeds\n if (firstToken === getMyFeedToken()) {\n const [workspaceToken, ...feedTokens] = restTokens;\n\n return [\n callApi(data, firstToken),\n ...(workspaceToken ? [callApi({ ...data, feedTokens }, workspaceToken)] : []),\n ];\n }\n\n return [callApi({ ...data, feedTokens: restTokens }, firstToken)];\n })();\n\n return Promise.all(requests)\n .then(handleSuccess)\n .finally(() => dispatch({ type: actionTypes.BULK_TRACK_DATA_DONE }));\n };\n}\n\nexport function bulkShareLookupToMyFeed(payload, actionTypes = {}) {\n return (dispatch) => {\n dispatch({ type: actionTypes.BULK_SHARE_TO_MY_FEED });\n const { selectedItemsSize, selectedItemsIds, documentType } = payload || {};\n const data = { record_ids: selectedItemsIds, record_type: documentType };\n\n function onSuccess(response) {\n notifySharedToMyFeedMultiple(selectedItemsSize);\n\n dispatch({\n type: actionTypes.BULK_SHARE_TO_MY_FEED_DONE,\n payload: transformSharedDocuments(response, documentType),\n });\n }\n\n function onFailure(error) {\n dispatch({ type: actionTypes.BULK_SHARE_TO_MY_FEED_FAILURE });\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return bulkShareToMyFeed(data)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","const PREFIX = 'NEWS_FEED';\n\nconst constants = {\n FETCH_NEWS_FEED: `${PREFIX}/FETCH_NEWS_FEED`,\n RECEIVE_NEWS_FEED_DONE: `${PREFIX}/RECEIVE_NEWS_FEED_DONE`,\n RECEIVE_NEWS_FEED_FAILURE: `${PREFIX}/RECEIVE_NEWS_FEED_FAILURE`,\n RESET_NEWS_FEED: `${PREFIX}/RESET_NEWS_FEED`,\n FETCH_FEED_KEYWORDS: `${PREFIX}/FETCH_FEED_KEYWORDS`,\n RECEIVE_FEED_KEYWORDS_DONE: `${PREFIX}/RECEIVE_FEED_KEYWORDS_DONE`,\n RECEIVE_FEED_KEYWORDS_FAILURE: `${PREFIX}/RECEIVE_FEED_KEYWORDS_FAILURE`,\n RESET_FEED_KEYWORDS: `${PREFIX}/RESET_FEED_KEYWORDS`,\n SELECT_CARDS: `${PREFIX}/SELECTED_CARDS`,\n BULK_SAVE_TAGS: `${PREFIX}/BULK_SAVE_TAGS`,\n BULK_SAVE_TAGS_DONE: `${PREFIX}/BULK_SAVE_TAGS_DONE`,\n BULK_SAVE_TAGS_FAILURE: `${PREFIX}/BULK_SAVE_TAGS_FAILURE`,\n LOAD_TAGS: `${PREFIX}/LOAD_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n RECEIVE_TAGS_FAILURE: `${PREFIX}/RECEIVE_TAGS_FAILURE`,\n UPDATE_TAGS: `${PREFIX}/UPDATE_TAGS`,\n UPDATE_TAGS_DONE: `${PREFIX}/UPDATE_TAGS_DONE`,\n UPDATE_TAGS_FAILURE: `${PREFIX}/UPDATE_TAGS_FAILURE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n SHARE_TO_MY_FEED: `${PREFIX}/SHARE_TO_MY_FEED`,\n SHARE_TO_MY_FEED_DONE: `${PREFIX}/SHARE_TO_MY_FEED_DONE`,\n SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/SHARE_TO_MY_FEED_FAILURE`,\n};\n\nexport const PER_PAGE = 100;\nexport const DEFAULT_SORT = 'relevance';\n\nexport const BASE_TAG_URL = '/api_web/news/tags';\n\nexport default constants;\n","import { isEmpty, isNil, omitBy } from 'lodash';\n\nimport { transformOptionsForBE } from 'redux/state/regulations/lookup/actions/utils';\nimport { DEFAULT_SORT, PER_PAGE } from 'components/State/Regulations/Lookup/utils/constants';\nimport { API_URL } from 'redux/state/regulations/lookup/constants';\n\nfunction getRegulationsData(payload) {\n const { searchData = {}, appliedFilters, clearAll, sort, direction, page, perPage } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const sortData = omitBy({ sort, direction }, isNil);\n const currentSort = isEmpty(sortData) ? DEFAULT_SORT : sortData;\n const data = { ...searchForm, ...currentSort, page, per_page: perPage || PER_PAGE };\n\n return {\n url: API_URL,\n data,\n sortData: currentSort,\n isSearch,\n };\n}\n\nexport default getRegulationsData;\n","import map from 'lodash/map';\n\nimport { transformLegislator } from './transformLegislator';\n\nfunction withCommitteeSuffix(name) {\n if (name.toLowerCase().includes('committee')) {\n return name;\n }\n\n return `${name} Committee`;\n}\n\nfunction transformCommittee(committee) {\n return {\n ...committee,\n name: withCommitteeSuffix(committee.name),\n url: `/state/committees/${committee.committee_id}`,\n };\n}\n\nfunction transformSponsor(sponsor) {\n const { record, record_type } = sponsor;\n\n if (record_type === 'legislator') {\n return transformLegislator({\n ...record,\n id: record.legislator_id,\n });\n }\n\n if (record_type === 'committee') {\n return transformCommittee({\n ...record,\n id: record.committee_id,\n });\n }\n\n return null;\n}\n\nexport function transformSponsorsAndCosponsorsForUI(payload) {\n const { data } = payload || {};\n const {\n total_republican,\n total_democratic,\n total_other,\n sponsors = [],\n cosponsors = [],\n } = data || {};\n\n return {\n republican: {\n numCosponsors: total_republican,\n partyShort: 'R',\n partySlug: 'republican',\n },\n democratic: {\n numCosponsors: total_democratic,\n partyShort: 'D',\n partySlug: 'democratic',\n },\n others: {\n numCosponsors: total_other,\n partyShort: 'O',\n partySlug: 'others',\n },\n allItems: [\n ...map(sponsors, sponsor => ({\n ...transformSponsor(sponsor),\n isSponsor: true,\n })),\n ...map(cosponsors, cosponsor => ({\n ...transformSponsor(cosponsor),\n isCosponsor: true,\n })),\n ],\n };\n}\n","import { isNil, omitBy } from 'lodash';\n\nimport { PAGE_SIZE } from 'components/core/Profile/utils/constants';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { fetchDefaultSubscription, fetchProfileSubscriptions } from 'redux/subscriptions/actions';\nimport { fetchProfileTags } from 'redux/tags/actions';\nimport { fetchProfileDocument, updateProfileShare } from 'redux/events/actions';\n\nimport constants from './constants';\nimport {\n transformProfileForUI,\n transformStaffersForBE,\n transformStaffersForUI,\n transformNewsForUI,\n transformNewsfeedForBE,\n transformDistrictInfoForUI,\n transformLargestEmployersForUI,\n} from './utils';\n\nexport const PER_PAGE = { per_page: PAGE_SIZE };\n\nexport function fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n\nexport function onUpdateTrackings({ trackings }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: trackings,\n });\n}\n\nexport function fetchSubscriptions(payload) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchProfileSubscriptions({ payload }, constants));\n };\n}\n\nexport function fetchProfile(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_PROFILE });\n const { id, isKwProfile } = payload;\n\n const legislatorsPath = isKwProfile ? `kw/${id}` : id;\n const url = `/api_web/federal/legislators/${legislatorsPath}`;\n const ajax = $.get(url);\n\n const onSuccess = (response) => {\n const profile = transformProfileForUI(response);\n\n dispatch({\n type: constants.RECEIVE_PROFILE_DONE,\n payload: profile,\n });\n\n return { ...payload, id: profile.recordId };\n };\n\n const onFailure = (error) => {\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(async (profileData) => {\n await dispatch(fetchTags(profileData));\n await dispatch(fetchProfileDocument(profileData, constants));\n await dispatch(fetchSubscriptions(profileData));\n\n return profileData;\n })\n .catch(onFailure);\n };\n}\n\n/** Staffers actions */\nexport function fetchStaffers(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAFFERS });\n\n const { sort, direction, page } = payload;\n const sortData = omitBy({ sort, direction, page }, isNil);\n const staffersData = transformStaffersForBE(payload);\n\n const url = '/api_web/federal/staffers/lookup';\n const ajax = $.post(url, { ...staffersData, ...PER_PAGE });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_STAFFERS_DONE,\n payload: {\n ...transformStaffersForUI(response),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(sortData),\n },\n }));\n };\n}\n\n/** Breaking news actions */\nexport function fetchBreakingNews(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_NEWS });\n\n const searchQuery = transformNewsfeedForBE(payload);\n\n const url = '/api_web/federal/newsfeed/lookup';\n const ajax = $.post(url, { ...searchQuery, ...PER_PAGE });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_NEWS_DONE,\n payload: {\n ...transformNewsForUI(response),\n },\n }));\n };\n}\n\n/** District info actions */\nexport function fetchDistrictInfo(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DISTRICT_INFO });\n const { id } = payload;\n\n const url = `/api_web/federal/legislators/${id}/district_info`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_DISTRICT_INFO,\n payload: transformDistrictInfoForUI(response),\n }));\n };\n}\n\n/** Largest employers actions */\nexport function getLargestEmployersUrl(id) {\n return `/api_web/federal/legislators/${id}/employers`;\n}\n\nexport function fetchLargestEmployers(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_LARGEST_EMPLOYEE });\n const { id } = payload;\n\n const ajax = $.get(getLargestEmployersUrl(id));\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_LARGEST_EMPLOYEE_DONE,\n payload: transformLargestEmployersForUI(response),\n }));\n };\n}\n\nexport function resetDistrictInfo() {\n return dispatch => dispatch({ type: constants.RESET_DISTRICT_INFO });\n}\n\nexport function resetProfileData() {\n return dispatch => dispatch({ type: constants.RESET_PROFILE });\n}\n\nexport function loadLegislatorWithDistrict(payload) {\n return async (dispatch) => {\n dispatch({ type: constants.FETCH_LEGISLATOR_WITH_DISTRICT, payload });\n\n const profileData = await dispatch(fetchProfile(payload));\n\n return dispatch(fetchDistrictInfo(profileData));\n };\n}\n\nexport function updateProfileMyFeed() {\n return (dispatch) => {\n dispatch(updateProfileShare(constants));\n };\n}\n","import { transformReceiptsForFE } from 'redux/moneyball/receiptPages/lookup/utils';\nimport { fetchContributionsLastSync } from './contributions_last_sync';\n\nimport constants from '../constants';\nimport {\n transformMoneyballSort,\n transformMoneyballPaginator,\n} from '../utils';\n\nconst defaultFilters = {\n sort_column: 'contribution_date',\n sort_direction: 'desc',\n};\n\nexport function fetchStakeholderContributions({ id }, filters = defaultFilters) {\n return (dispatch) => {\n dispatch(\n fetchContributionsLastSync({ id }),\n { type: constants.FETCH_STAKEHOLDER_CONTRIBUTIONS },\n );\n\n const url = '/api_web/stakeholder-management/contributions/lookup';\n const { page = 1, sort_column: sort, sort_direction: direction } = filters;\n const data = {\n search_form: {\n stakeholder_id: id,\n page,\n sort,\n direction,\n },\n };\n\n const ajax = $.ajax({\n url,\n method: 'GET',\n data,\n });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.FETCH_STAKEHOLDER_CONTRIBUTIONS_DONE,\n error: false,\n payload: {\n items: transformReceiptsForFE(response.items),\n paginator: transformMoneyballPaginator(response),\n sort: transformMoneyballSort(filters),\n },\n });\n }\n\n function onFailure(error) {\n dispatch({\n type: constants.FETCH_STAKEHOLDER_CONTRIBUTIONS_FAIL,\n error: true,\n payload: {\n items: [],\n paginator: {},\n sort: {},\n },\n });\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import { LAST_SYNC_AT_FORMAT } from 'utils/constants/date';\nimport { formatDateBy } from 'utils/date';\n\nimport constants from '../constants';\n\nexport function fetchContributionsLastSync({ id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CONTRIBUTIONS_LAST_SYNC });\n\n const url = '/api_web/stakeholder-management/contributions/last_sync_at';\n const data = {\n search_form: {\n stakeholder_id: id,\n },\n };\n\n const ajax = $.ajax({\n url,\n method: 'GET',\n data,\n });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.FETCH_CONTRIBUTIONS_LAST_SYNC_DONE,\n error: false,\n payload: {\n lastSyncAt: formatDateBy(response.last_sync_at, LAST_SYNC_AT_FORMAT),\n },\n });\n }\n\n function onFailure(error) {\n dispatch({\n type: constants.FETCH_CONTRIBUTIONS_LAST_SYNC_FAIL,\n error: true,\n payload: {\n lastSyncShort: null,\n lastSyncFull: null,\n },\n });\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import { map, pick } from 'lodash';\n\nimport updateStakeholdersAppliedItems from '../utils/updateStakeholdersAppliedItems';\nimport constants from '../constants';\n\nfunction getTagsApplyingRequest({ ids, tags }) {\n const data = {\n tag_params: {\n stakeholder_ids: ids,\n tags,\n },\n };\n\n const url = '/api_web/stakeholder-management/tags';\n const request = $.post(url, data);\n\n return request;\n}\n\nfunction getBulkTagsApplyingRequest({ tags, lastSearchId }) {\n const data = {\n bulk_params: {\n search_id: lastSearchId,\n tags,\n },\n };\n\n const url = '/api_web/stakeholder-management/bulk_tags';\n const request = $.post(url, data);\n\n return request;\n}\n\nexport function submitAppliedTags(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.SUBMIT_APPLIED_TAGS });\n\n const {\n ids = [],\n lastSearchId,\n tags = [],\n toggleOpen,\n onClear,\n notifications = {},\n } = payload;\n\n const isBulkAction = ids.length === 0;\n\n const request = isBulkAction\n ? getBulkTagsApplyingRequest({ lastSearchId, tags })\n : getTagsApplyingRequest({ ids, tags });\n\n function onSuccess(response) {\n const { stakeholders } = getState().stakeholder.stakeholderLookup.stakeholderLookup;\n const newTags = map(response, tag => pick(tag, ['id', 'name']));\n\n const allStakeholdersIds = stakeholders.map(({ id }) => id);\n const updatedStakeholdersIds = isBulkAction ? allStakeholdersIds : ids;\n\n const updatedStakeholders = updateStakeholdersAppliedItems({\n collection: 'tags',\n appliedItems: newTags,\n stakeholders,\n updatedStakeholdersIds,\n });\n\n dispatch({\n type: constants.SUBMIT_APPLIED_TAGS_DONE,\n payload: updatedStakeholders,\n });\n\n notifications.getSuccess();\n toggleOpen();\n onClear();\n }\n\n function onFailure(error) {\n dispatch({ type: constants.SUBMIT_APPLIED_TAGS_FAIL });\n notifications.getFailed();\n throw error;\n }\n\n return Promise.resolve(request)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import updateStakeholdersAppliedItems from '../utils/updateStakeholdersAppliedItems';\nimport constants from '../constants';\n\nfunction getListsApplyingRequest({ ids, lists }) {\n const data = {\n list_params: {\n lists,\n stakeholder_ids: ids,\n },\n };\n\n const url = '/api_web/stakeholder-management/lists';\n const request = $.post(url, data);\n\n return request;\n}\n\nfunction getBulkListsApplyingRequest({ lists, lastSearchId }) {\n const data = {\n bulk_params: {\n lists,\n search_id: lastSearchId,\n },\n };\n\n const url = '/api_web/stakeholder-management/bulk_lists';\n const request = $.post(url, data);\n\n return request;\n}\n\nexport function submitAppliedLists(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.SUBMIT_STAKEHOLDER_LISTS });\n\n const {\n ids = [],\n lastSearchId,\n lists = [],\n toggleOpen,\n onClear,\n notifications = {},\n } = payload;\n\n const isBulkAction = ids.length === 0;\n\n const request = isBulkAction ?\n getBulkListsApplyingRequest({ lastSearchId, lists }) :\n getListsApplyingRequest({ ids, lists });\n\n function onSuccess(response) {\n const { stakeholders } = getState().stakeholder.stakeholderLookup.stakeholderLookup;\n\n const allStakeholdersIds = stakeholders.map(({ id }) => id);\n const updatedStakeholdersIds = isBulkAction ? allStakeholdersIds : ids;\n\n const updatedStakeholders = updateStakeholdersAppliedItems({\n collection: 'lists',\n appliedItems: response,\n stakeholders,\n updatedStakeholdersIds,\n });\n\n dispatch({\n type: constants.SUBMIT_STAKEHOLDER_LISTS_DONE,\n payload: updatedStakeholders,\n });\n\n notifications.getSuccess();\n toggleOpen();\n onClear();\n }\n\n function onFailure(error) {\n dispatch({ type: constants.SUBMIT_STAKEHOLDER_LISTS_FAIL });\n notifications.getFailed();\n throw error;\n }\n\n return Promise.resolve(request)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","export const STOP_LOADING = 'GRASSROOTS_CAMPAIGN_BUILDER/STOP_LOADING';\nexport const RESET_STATE = 'GRASSROOTS_CAMPAIGN_BUILDER/RESET_STATE';\n\nexport const SET_NEW_CAMPAIGN_TYPE = 'GRASSROOTS_CAMPAIGN_BUILDER/SET_NEW_CAMPAIGN_TYPE';\nexport const SAVE_CAMPAIGN = 'GRASSROOTS_CAMPAIGN_BUILDER/SAVE_CAMPAIGN';\nexport const FETCH_CAMPAIGN = 'GRASSROOTS_CAMPAIGN_BUILDER/FETCH_CAMPAIGN';\nexport const RECEIVE_CAMPAIGN = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_CAMPAIGN';\nexport const CAMPAIGN_NOT_FOUND = 'GRASSROOTS_CAMPAIGN_BUILDER/CAMPAIGN_NOT_FOUND';\n\nexport const FETCH_REGULATION = 'GRASSROOTS_CAMPAIGN_BUILDER/FETCH_REGULATION';\nexport const RECEIVE_REGULATION = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_REGULATION';\n\nexport const SAVE_RECIPIENTS = 'GRASSROOTS_CAMPAIGN_BUILDER/SAVE_RECIPIENTS';\nexport const RECEIVE_RECIPIENT = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_RECIPIENT';\nexport const RECEIVE_DELETED_RECIPIENT = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_DELETED_RECIPIENT';\n\nexport const SAVE_MESSAGES = 'GRASSROOTS_CAMPAIGN_BUILDER/SAVE_MESSAGES';\nexport const RECEIVE_MESSAGE = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_MESSAGE';\n\nexport const SAVE_PTC_MESSAGE = 'GRASSROOTS_CAMPAIGN_BUILDER/SAVE_PTC_MESSAGE';\nexport const RECEIVE_PTC_MESSAGE = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_PTC_MESSAGE';\n\nexport const SAVE_THANK_YOU_MESSAGE = 'GRASSROOTS_CAMPAIGN_BUILDER/SAVE_THANK_YOU_MESSAGE';\nexport const RECEIVE_THANK_YOU_MESSAGE = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_THANK_YOU_MESSAGE';\n\nexport const SAVE_SETTINGS = 'GRASSROOTS_CAMPAIGN_BUILDER/SAVE_SETTINGS';\nexport const SAVE_LOGO_CONFIG = 'GRASSROOTS_CAMPAIGN_BUILDER/SAVE_LOGO_CONFIG';\nexport const RECEIVE_LOGO_CONFIG = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_LOGO_CONFIG';\n\nexport const FETCH_FORM_INITIAL_VALUES = 'GRASSROOTS_CAMPAIGN_BUILDER/FETCH_FORM_INITIAL_VALUES';\nexport const RECEIVE_FORM_INITIAL_VALUES = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_FORM_INITIAL_VALUES';\n\nexport const SAVE_CUSTOM_RECIPIENT = 'GRASSROOTS_CAMPAIGN_BUILDER/SAVE_CUSTOM_RECIPIENT';\nexport const FAILED_SAVE_CUSTOM_RECIPIENT = 'GRASSROOTS_CAMPAIGN_BUILDER/FAILED_SAVE_CUSTOM_RECIPIENT';\nexport const DELETE_CUSTOM_RECIPIENTS = 'GRASSROOTS_CAMPAIGN_BUILDER/DELETE_CUSTOM_RECIPIENTS';\nexport const DELETED_CUSTOM_RECIPIENTS = 'GRASSROOTS_CAMPAIGN_BUILDER/DELETED_CUSTOM_RECIPIENTS';\nexport const FETCH_CUSTOM_RECIPIENTS = 'GRASSROOTS_CAMPAIGN_BUILDER/FETCH_CUSTOM_RECIPIENTS';\n\nexport const RECEIVE_CUSTOM_RECIPIENTS = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_CUSTOM_RECIPIENTS';\nexport const RECEIVE_DELETED_CUSTOM_RECIPIENT = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_DELETED_CUSTOM_RECIPIENT';\n\nexport const RECEIVE_PAGINATION = 'GRASSROOTS_CAMPAIGN_BUILDER/RECEIVE_PAGINATION';\n","import { fetchMapBox } from 'components/map/helpers';\nimport mapConstants from 'components/map/constants';\n\nconst constants = {\n FETCH_DISTRICT_ID: 'DISTRICT_MAPS/FETCH_DISTRICT_ID',\n FETCH_DISTRICT_META: 'DISTRICT_MAPS/FETCH_DISTRICT_META',\n RECEIVE_DISTRICT_ID: 'DISTRICT_MAPS/RECEIVE_DISTRICT_ID',\n RECEIVE_DISTRICT_META: 'DISTRICT_MAPS/RECEIVE_DISTRICT_META',\n RECEIVE_DISTRICT_NOT_FOUND: 'DISTRICT_MAPS/RECEIVE_DISTRICT_NOT_FOUND',\n FETCHING_DISTRICT_INFO: 'DISTRICTS/FETCHING_DISTRICT_INFO',\n RECEIVE_DISTRICT_INFO: 'DISTRICTS/RECEIVE_DISTRICT_INFO',\n ERROR_FETCHING_DISTRICT_INFO: 'DISTRICTS/ERROR_FETCHING_DISTRICT_INFO',\n};\n\nconst chamberSlugs = {\n cd: null,\n sldu: 'senate',\n sldl: 'house',\n};\n\nexport function receiveDistrictMeta(payload) {\n return { type: constants.RECEIVE_DISTRICT_META, payload };\n}\n\nexport function receiveDistrictNotFound(payload) {\n return { type: constants.RECEIVE_DISTRICT_NOT_FOUND, payload };\n}\n\nexport function fetchDistrictMeta(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DISTRICT_META, payload });\n\n const features = payload.features;\n const type = mapConstants.CONGRESSIONAL_DISTRICTS;\n const targetFeature = features.find(f => f.properties.type === type);\n\n if (!targetFeature) {\n return dispatch(receiveDistrictNotFound({}));\n }\n\n const properties = targetFeature.properties;\n const geoId = properties.geoId;\n\n if (!geoId) {\n return dispatch(receiveDistrictNotFound({}));\n }\n\n // api_web_cosponsor_oracle_district_status_path\n return $.ajax({\n url: `/api_web/cosponsor_oracle/district_statuses/${geoId}`,\n method: 'GET',\n })\n .then(result =>\n dispatch(receiveDistrictMeta(result))\n ).fail(() =>\n dispatch(receiveDistrictNotFound({}))\n );\n };\n}\n\nexport function fetchDistrictId(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DISTRICT_ID, payload });\n fetchMapBox(payload.coordinates.join())\n .then(result => dispatch(fetchDistrictMeta(result)));\n };\n}\n\n// Fetch district info by geoId\nfunction fetchingDistrictInfo() {\n return { type: constants.FETCHING_DISTRICT_INFO };\n}\n\nfunction receiveDistrictInfo(geoId, district, type) {\n return {\n type: constants.RECEIVE_DISTRICT_INFO,\n payload: { geoId, district, type },\n };\n}\n\nfunction errorFetchingDistrictInfo() {\n return { type: constants.ERROR_FETCHING_DISTRICT_INFO };\n}\n\nexport function fetchDistrictInfo(geoId, type) {\n return (dispatch, getState) => {\n const chamber = chamberSlugs[type];\n const { districtsInfo } = getState().districtMaps;\n\n if (districtsInfo[type] && districtsInfo[type][geoId]) {\n return Promise.resolve(districtsInfo[type][geoId]);\n }\n\n dispatch(fetchingDistrictInfo());\n\n const url = `/api_web/districts/${geoId}`;\n const request = $.ajax({\n url,\n type: 'GET',\n data: chamber ? { chamber_slug: chamber } : null,\n });\n\n return Promise.resolve(request)\n .then((district) => {\n dispatch(receiveDistrictInfo(geoId, district, type));\n })\n .catch((error) => {\n dispatch(errorFetchingDistrictInfo());\n throw error;\n });\n };\n}\n\n\nconst defaultState = {\n district: {},\n districtsInfo: {},\n ui: {\n loadingDistrict: false,\n loadedDistrict: false,\n isFetchingDistrictInfo: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_DISTRICT_ID:\n return {\n ...state,\n district: {},\n ui: {\n ...state.ui,\n loadingDistrict: true,\n loadedDistrict: false,\n },\n };\n case constants.FETCH_DISTRICT_META:\n return {\n ...state,\n district: {},\n ui: {\n ...state.ui,\n loadingDistrict: true,\n loadedDistrict: false,\n },\n };\n case constants.RECEIVE_DISTRICT_META:\n return {\n ...state,\n district: action.payload,\n ui: {\n ...state.ui,\n loadingDistrict: false,\n loadedDistrict: true,\n },\n };\n case constants.RECEIVE_DISTRICT_NOT_FOUND:\n return {\n ...state,\n district: {},\n ui: {\n ...state.ui,\n loadingDistrict: false,\n loadedDistrict: true,\n },\n };\n // fetch district info\n case constants.FETCHING_DISTRICT_INFO:\n return {\n ...state,\n ui: {\n ...state.ui,\n isFetchingDistrictInfo: true,\n },\n };\n case constants.ERROR_FETCHING_DISTRICT_INFO:\n return {\n ...state,\n ui: {\n ...state.ui,\n isFetchingDistrictInfo: false,\n },\n };\n case constants.RECEIVE_DISTRICT_INFO:\n return {\n ...state,\n districtsInfo: {\n ...state.districtsInfo,\n [action.payload.type]: {\n ...state.districtsInfo[action.payload.type],\n [action.payload.geoId]: action.payload.district,\n },\n },\n ui: {\n ...state.ui,\n isFetchingDistrictInfo: false,\n },\n };\n default:\n return state;\n }\n}\n","\nconst constants = {\n STOP_LOADING: 'ACTION_CENTER_MANAGER/STOP_LOADING',\n FETCH_CAMPAIGNS: 'ACTION_CENTER_MANAGER/FETCH_CAMPAIGNS',\n RECEIVE_CAMPAIGNS: 'ACTION_CENTER_MANAGER/RECEIVE_CAMPAIGNS',\n CHANGE_DISPLAY_ON_ACTION_CENTER: 'ACTION_CENTER_MANAGER/CHANGE_DISPLAY_ON_ACTION_CENTER',\n CHANGE_DISPLAY_ON_ACTION_CENTER_SUCCESS: 'ACTION_CENTER_MANAGER/CHANGE_DISPLAY_ON_ACTION_CENTER_SUCCESS',\n SET_EMBEDDABLE_STATUS: 'ACTION_CENTER_MANAGER/SET_EMBEDDABLE_STATUS',\n ACTION_CENTER_EMBEDDABLE_STATUS_CHANGED: 'ACTION_CENTER_MANAGER/ACTION_CENTER_EMBEDDABLE_STATUS_CHANGED',\n ACTION_CENTER_EMBEDDABLE_STATUS_CHANGE_FAILURE: 'ACTION_CENTER_MANAGER/ACTION_CENTER_EMBEDDABLE_STATUS_CHANGE_FAILURE',\n};\n\n/**\n * Sorts to put campaigns displayed at action center first\n * @param {array} arr\n */\nfunction sort(arr) {\n const addedToActionCenter = [];\n const rest = arr.filter((item) => {\n if (item.display_on_action_center) {\n if (item.status === 'ready') {\n addedToActionCenter.unshift(item);\n } else {\n addedToActionCenter.push(item);\n }\n return false;\n }\n return true;\n });\n\n return addedToActionCenter.concat(rest);\n}\n\nexport function setEmbeddableStatus(status) {\n return (dispatch) => {\n dispatch({ type: constants.SET_EMBEDDABLE_STATUS, payload: status });\n };\n}\n\nexport function fetchCampaigns(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CAMPAIGNS, payload });\n\n // uses api_web_grassroots_campaigns_path\n const { page = 1 } = payload;\n const url = '/api_web/grassroots/campaigns';\n const method = 'GET';\n const data = {\n per_page: 100,\n page,\n };\n\n const ajax = $.ajax({\n method,\n url,\n data,\n });\n\n return Promise.resolve(ajax)\n .then(response =>\n dispatch({\n type: constants.RECEIVE_CAMPAIGNS,\n payload: {\n ...response,\n data: sort(response.data),\n },\n })\n )\n .catch(() => dispatch({ type: constants.STOP_LOADING }));\n };\n}\n\nexport function changeCampaignActionCenterPresence(token, status) {\n return (dispatch) => {\n dispatch({ type: constants.CHANGE_DISPLAY_ON_ACTION_CENTER });\n\n // uses api_web_grassroots_campaigns_path\n const url = `/api_web/grassroots/campaigns/${token}`;\n const method = 'PUT';\n const data = { campaign: { display_on_action_center: status } };\n\n const ajax = $.ajax({\n method,\n url,\n data,\n });\n\n return Promise.resolve(ajax)\n .then(response =>\n dispatch({ type: constants.CHANGE_DISPLAY_ON_ACTION_CENTER_SUCCESS, payload: response })\n )\n .catch(() => dispatch({ type: constants.STOP_LOADING }));\n };\n}\n\nexport function changeEmbeddableStatus(companyId, status) {\n return (dispatch) => {\n dispatch({ type: constants.CHANGE_DISPLAY_ON_ACTION_CENTER });\n\n const url = `/api_web/companies/${companyId}`;\n const method = 'PUT';\n const data = { company: { action_center_embeddable: status } };\n\n const ajax = $.ajax({\n method,\n url,\n\n data,\n });\n\n return Promise.resolve(ajax)\n .then(response =>\n dispatch({ type: constants.ACTION_CENTER_EMBEDDABLE_STATUS_CHANGED, payload: response })\n )\n .catch(() => dispatch({\n type: constants.ACTION_CENTER_EMBEDDABLE_STATUS_CHANGE_FAILURE,\n payload: !status,\n }));\n };\n}\n\nexport const defaultState = {\n campaigns: [],\n actionCenterEmbeddable: false,\n searchForm: {},\n pagination: {\n total_pages: 0,\n },\n ui: {\n loading: false,\n },\n};\n\nfunction updateSingleCampaign(campaigns, campaign) {\n return campaigns.map((item) => {\n if (item.token === campaign.token) return campaign;\n return item;\n });\n}\n\nexport default function (state = defaultState, action) {\n const {\n FETCH_CAMPAIGNS,\n RECEIVE_CAMPAIGNS,\n CHANGE_DISPLAY_ON_ACTION_CENTER,\n CHANGE_DISPLAY_ON_ACTION_CENTER_SUCCESS,\n STOP_LOADING,\n SET_EMBEDDABLE_STATUS,\n ACTION_CENTER_EMBEDDABLE_STATUS_CHANGED,\n ACTION_CENTER_EMBEDDABLE_STATUS_CHANGE_FAILURE,\n } = constants;\n\n switch (action.type) {\n case FETCH_CAMPAIGNS:\n return {\n ...state,\n campaigns: defaultState.campaigns,\n pagination: defaultState.pagination,\n searchForm: {\n ...state.searchForm,\n ...action.payload,\n },\n ui: {\n ...state.ui,\n loading: true,\n },\n };\n\n case CHANGE_DISPLAY_ON_ACTION_CENTER:\n return {\n ...state,\n ui: { ...state.ui, loading: true },\n };\n\n case RECEIVE_CAMPAIGNS:\n return {\n ...state,\n campaigns: action.payload.data,\n pagination: action.payload.pagination,\n ui: { ...state.ui, loading: false },\n };\n\n case CHANGE_DISPLAY_ON_ACTION_CENTER_SUCCESS:\n return {\n ...state,\n campaigns: updateSingleCampaign(state.campaigns, action.payload),\n ui: { ...state.ui, loading: false },\n };\n\n case SET_EMBEDDABLE_STATUS:\n return {\n ...state,\n actionCenterEmbeddable: action.payload,\n };\n\n case ACTION_CENTER_EMBEDDABLE_STATUS_CHANGED:\n return {\n ...state,\n actionCenterEmbeddable: action.payload.action_center_embeddable,\n ui: { ...state.ui, loading: false },\n };\n\n case ACTION_CENTER_EMBEDDABLE_STATUS_CHANGE_FAILURE:\n return {\n ...state,\n actionCenterEmbeddable: action.payload,\n ui: { ...state.ui, loading: false },\n };\n\n case STOP_LOADING:\n return {\n ...state,\n ui: { ...state.ui, loading: false },\n };\n\n default:\n return state;\n }\n}\n","const constants = {\n FETCH_INITIAL_VALUES: 'GRASSROOTS_SETTINGS/FETCH_INITIAL_VALUES',\n STOP_LOADING: 'GRASSROOTS_SETTINGS/STOP_LOADING',\n\n FETCH_SETTINGS: 'GRASSROOTS_SETTINGS/FETCH_SETTINGS',\n RECEIVE_SETTINGS: 'GRASSROOTS_SETTINGS/RECEIVE_SETTINGS',\n\n FETCH_VERIFIED_DOMAINS: 'GRASSROOTS_SETTINGS/FETCH_VERIFIED_DOMAINS',\n RECEIVE_VERIFIED_DOMAINS: 'GRASSROOTS_SETTINGS/RECEIVE_VERIFIED_DOMAINS',\n\n SAVE_SETTINGS: 'GRASSROOTS_SETTINGS/SAVE_SETTINGS',\n};\n\n\nfunction fetchSettings(dispatch) {\n // uses api_web_grassroots_company_config_path\n const url = '/api_web/grassroots/company_config';\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax)\n .then(settings =>\n dispatch({ type: constants.RECEIVE_SETTINGS, payload: settings })\n );\n}\n\nfunction fetchVerifiedDomains(dispatch) {\n // uses api_web_verified_domains_path\n const url = '/api_web/verified_domains';\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax)\n .then(response =>\n dispatch({ type: constants.RECEIVE_VERIFIED_DOMAINS, payload: response })\n );\n}\n\nexport function fetchInitialValues(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INITIAL_VALUES, payload });\n\n const asyncRequests = [\n fetchSettings(dispatch),\n fetchVerifiedDomains(dispatch),\n ];\n\n return Promise.all(asyncRequests)\n .then(() => dispatch({ type: constants.STOP_LOADING }))\n .catch((error) => {\n dispatch({ type: constants.STOP_LOADING });\n\n throw error;\n });\n };\n}\n\n\nexport function saveSettings(payload) {\n return (dispatch) => {\n dispatch({ type: constants.SAVE_SETTINGS, payload });\n\n const { settings } = payload;\n\n // uses api_web_grassroots_company_config_path\n const url = '/api_web/grassroots/company_config';\n const method = 'PUT';\n const data = JSON.stringify({ company_config: settings });\n const contentType = 'application/json';\n\n const ajax = $.ajax({\n method,\n url,\n data,\n contentType,\n });\n\n return Promise.resolve(ajax);\n };\n}\n\n\nexport const defaultState = {\n settings: {\n custom_email_enabled: false,\n },\n verifiedDomains: [],\n ui: {\n loading: false,\n },\n};\n\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_INITIAL_VALUES:\n return {\n ...state,\n settings: defaultState.settings,\n verifiedDomains: defaultState.verifiedDomains,\n ui: {\n ...state.ui,\n loading: true,\n },\n };\n case constants.RECEIVE_SETTINGS:\n return {\n ...state,\n settings: action.payload,\n };\n case constants.RECEIVE_VERIFIED_DOMAINS:\n return {\n ...state,\n verifiedDomains: action.payload.data,\n };\n case constants.STOP_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n default:\n return state;\n }\n}\n","import { DEFAULT_PAGE_SIZE, DEFAULT_INITIAL_PAGE } from 'components/core/Paginator/constants';\n\nimport constants from './constants';\n\nexport const defaultPagination = {\n currentPage: DEFAULT_INITIAL_PAGE,\n pageSize: DEFAULT_PAGE_SIZE,\n totalCount: 0,\n totalPages: 0,\n};\n\nexport const defaultState = {\n assetSetName: '',\n individualAssetSets: [],\n pagination: defaultPagination,\n sortData: {},\n ui: {\n isLoading: true,\n isLoadingMultipleIndividualAssetSets: false,\n },\n};\n\nfunction individualAssetSet(state = defaultState, action) {\n switch (action.type) {\n case constants.SEARCH_INDIVIDUAL_ASSET_SET:\n case constants.FETCH_INDIVIDUAL_ASSET_SET:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoading: true,\n },\n };\n case constants.FETCH_MULTIPLE_INDIVIDUAL_ASSET_SETS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingMultipleIndividualAssetSets: true,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_ASSET_SET_FAIL:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoading: false,\n },\n };\n case constants.RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_FAIL:\n case constants.RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingMultipleIndividualAssetSets: false,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_ASSET_SET_DONE:\n return {\n ...state,\n assetSetName: action.dataset,\n individualAssetSets: action.payload,\n pagination: action.pagination,\n sortData: action.sortData,\n ui: {\n ...state.ui,\n isLoading: false,\n },\n };\n case constants.RESET_INDIVIDUAL_ASSET_SET:\n return defaultState;\n\n default:\n return state;\n }\n}\n\nexport default individualAssetSet;\n","import { DEFAULT_PAGE_SIZE, DEFAULT_INITIAL_PAGE } from 'components/core/Paginator/constants';\n\nimport constants from './constants';\n\nexport const defaultPagination = {\n currentPage: DEFAULT_INITIAL_PAGE,\n pageSize: DEFAULT_PAGE_SIZE,\n};\n\nexport const defaultState = {\n dataSets: [],\n pagination: defaultPagination,\n sortData: {},\n ui: {\n isLoading: true,\n },\n};\n\nfunction institutionalData(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_DATA_SETS:\n return {\n ...state,\n ui: { ...state.ui, isLoading: true },\n };\n case constants.RECEIVE_DATA_SETS_DONE:\n return {\n ...state,\n dataSets: action.payload,\n pagination: action.pagination,\n sortData: action.sortData,\n ui: { ...state.ui, isLoading: false },\n };\n case constants.RECEIVE_DATA_SETS_ERROR:\n return {\n ...state,\n ui: { ...state.ui, isLoading: false },\n };\n default:\n return state;\n }\n}\n\nexport default institutionalData;\n","import { cloneDeep, some } from 'lodash';\n\nfunction updateStakeholdersAppliedItems({ collection, appliedItems, stakeholders, updatedStakeholdersIds }) {\n const oldStakeholders = cloneDeep(stakeholders);\n\n const updatedStakeholders = oldStakeholders.map((iteratedStakeholder) => {\n const { id, [collection]: iteratedStakeholderCollection } = iteratedStakeholder;\n\n if (updatedStakeholdersIds.includes(id)) {\n appliedItems.forEach((appliedItem) => {\n const isItemNew = !some(iteratedStakeholderCollection, appliedItem);\n\n if (isItemNew) {\n iteratedStakeholder[collection].push(appliedItem);\n }\n });\n }\n\n return iteratedStakeholder;\n });\n\n return updatedStakeholders;\n}\n\nexport default updateStakeholdersAppliedItems;\n","import { PAGE_SIZE } from 'components/core/Profile/utils/constants';\nimport { FEDERAL_BILLS_TYPE } from 'components/state-leg-watchlist/constants';\nimport {\n transformSponsorsAndCosponsorsForUI,\n transformTimeline as transformStateTimeline,\n transformKeyDetails as transformStateKeyDetails,\n} from 'redux/state/billProfile/utils';\nimport {\n transformCommitteesForUI,\n transformCosponsorsForUI,\n transformOfficialReportsForUI,\n transformTimeline as transformFederalTimeline,\n transformProfileForUI as transformFederalKeyDetails,\n} from 'redux/federal/billProfile/utils';\nimport { transformPaginator } from 'utils/transformers/paginator';\n\nimport constants from './constants';\n\nconst PORTAL_URL = '/api_web/portal';\n\nfunction watchlistUrl({ watchlistToken, isPortal }) {\n const suffix = `state_leg_watchlists/${watchlistToken}`;\n\n if (isPortal) {\n // uses api_web_portal_state_leg_watchlist_path\n return `${PORTAL_URL}/${suffix}`;\n }\n\n // uses api_web_state_leg_watchlist_path\n return `/api_web/${suffix}`;\n}\n\nfunction watchlistBillUrl({ watchlistToken, type, billId }) {\n const prefix = `${PORTAL_URL}/state_leg_watchlists/${watchlistToken}`;\n\n return `${prefix}/${type}_bills/${billId}`;\n}\n\nfunction transformTimeline(type, payload) {\n if (type === FEDERAL_BILLS_TYPE) {\n return transformFederalTimeline(payload);\n }\n\n return transformStateTimeline(payload);\n}\n\nfunction transformKeyDetails(type, payload) {\n if (type === FEDERAL_BILLS_TYPE) {\n return transformFederalKeyDetails(payload);\n }\n\n return transformStateKeyDetails(payload);\n}\n\nexport function receiveWatchlist(payload = {}) {\n return { type: constants.RECEIVE_WATCHLIST, payload };\n}\n\nexport function fetchWatchlist(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_WATCHLIST, payload });\n\n const url = watchlistUrl(payload);\n\n const ajax = $.ajax({ url });\n\n return Promise\n .resolve(ajax)\n .then(result => dispatch(receiveWatchlist(result)));\n };\n}\n\nexport function selectBill(payload) {\n return { type: constants.SELECT_BILL, payload };\n}\n\nexport function deselectBill(payload = {}) {\n return { type: constants.DESELECT_BILL, payload };\n}\n\nexport function fetchBill(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILL, payload });\n\n const url = watchlistBillUrl(payload);\n\n const ajax = $.ajax({ url });\n\n const onFailure = (error) => {\n dispatch({ type: constants.BILL_NOT_FOUND });\n throw error;\n };\n\n return Promise\n .resolve(ajax)\n .then(result => dispatch({\n type: constants.RECEIVE_BILL,\n payload: transformKeyDetails(payload.type, result),\n }))\n .catch(onFailure);\n };\n}\n\nexport function fetchSponsorsAndCosponsors(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_SPONSORS_AND_COSPONSORS });\n\n const url = `${watchlistBillUrl(payload)}/sponsors`;\n\n const { page = 1, perPage = PAGE_SIZE } = payload;\n const data = { page, per_page: perPage };\n\n const ajax = $.ajax({ url, data });\n\n const onFailure = (error) => {\n dispatch({ type: constants.FETCH_SPONSORS_ERROR });\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_SPONSORS_AND_COSPONSORS,\n payload: {\n ...transformSponsorsAndCosponsorsForUI(response),\n paginator: transformPaginator(response, perPage),\n },\n }))\n .catch(onFailure);\n };\n}\n\nexport function fetchTimeline(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILL_TIMELINE });\n\n const url = `${watchlistBillUrl(payload)}/actions`;\n\n const ajax = $.ajax({ url });\n\n const onFailure = (error) => {\n dispatch({ type: constants.FETCH_TIMELINE_ERROR });\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_BILL_TIMELINE,\n payload: transformTimeline(payload.type, response),\n }))\n .catch(onFailure);\n };\n}\n\nexport function fetchCommittees(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILL_COMMITTEES });\n\n const url = `${watchlistBillUrl(payload)}/committees`;\n\n const ajax = $.ajax({ url });\n\n const onFailure = (error) => {\n dispatch({ type: constants.FETCH_COMMITTEES_ERROR });\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_BILL_COMMITTEES,\n payload: transformCommitteesForUI(response),\n }))\n .catch(onFailure);\n };\n}\n\nexport function fetchReports(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILL_REPORTS });\n\n const url = `${watchlistBillUrl(payload)}/reports`;\n\n const ajax = $.ajax({ url });\n\n const onFailure = (error) => {\n dispatch({ type: constants.FETCH_REPORTS_ERROR });\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_BILL_REPORTS,\n payload: transformOfficialReportsForUI(response),\n }))\n .catch(onFailure);\n };\n}\n\nexport function fetchCosponsors(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILL_COSPONSORS });\n\n const url = `${watchlistBillUrl(payload)}/cosponsors`;\n\n const ajax = $.ajax({ url });\n\n const onFailure = (error) => {\n dispatch({ type: constants.FETCH_SPONSORS_ERROR });\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_BILL_COSPONSORS,\n payload: transformCosponsorsForUI(response),\n }))\n .catch(onFailure);\n };\n}\n","import { orderBy } from 'lodash';\n\nexport function sortStafferByColumn({ stafferKey, columnName, sortDirection, stafferData, actionTypes }) {\n return (dispatch) => {\n const { SORT_STAFFER_DATA, SORT_STAFFER_DATA_DONE } = actionTypes;\n\n dispatch({ type: SORT_STAFFER_DATA });\n\n const sortedStafferData = {\n ...stafferData,\n [stafferKey]: orderBy(\n stafferData[stafferKey],\n [columnName],\n [sortDirection]\n ),\n };\n\n return dispatch({\n type: SORT_STAFFER_DATA_DONE,\n stafferData: sortedStafferData,\n });\n };\n}\n","import isEmpty from 'lodash/isEmpty';\nimport map from 'lodash/map';\n\nimport {\n COMMITTEE_TYPE,\n LEGISLATOR_TYPE,\n OTHER_TYPE,\n} from './constants';\n\nexport function getOfficeStaffer(congressionalPositions) {\n return map(congressionalPositions, (position = {}) => {\n const {\n committee,\n legislator,\n employment,\n } = position;\n\n if (!isEmpty(committee) && !isEmpty(committee.name)) {\n return {\n ...position,\n boss: { ...committee, type: COMMITTEE_TYPE },\n };\n }\n\n if (!isEmpty(legislator) && !isEmpty(legislator.name)) {\n return {\n ...position,\n boss: { ...legislator, type: LEGISLATOR_TYPE },\n };\n }\n\n if (!isEmpty(employment) && !isEmpty(employment.name)) {\n return {\n ...position,\n boss: { ...employment, type: OTHER_TYPE },\n };\n }\n\n return position;\n });\n}\n","import { isEmpty, omitBy, isNil } from 'lodash';\n\nimport { transformSelectValues } from 'utils/transformers/advancedSearch';\n\nimport { transformOptionsForBE } from './transformers';\nimport { LOCAL_EXECUTIVES_URL } from './constants';\n\nexport function getExportInfo(data = {}) {\n const { searchValue, options } = data;\n const {\n executives,\n organizations,\n parties,\n states,\n titles,\n } = options;\n\n return {\n 'strategy_inputs[keyword]': searchValue || undefined,\n 'strategy_inputs[person_ids]': transformSelectValues(executives),\n 'strategy_inputs[states]': transformSelectValues(states),\n 'strategy_inputs[organizations]': transformSelectValues(organizations),\n 'strategy_inputs[titles]': transformSelectValues(titles),\n 'strategy_inputs[parties]': parties,\n };\n}\n\nexport function getExportSortInfo(data = {}) {\n const { direction, sort } = data;\n\n return {\n 'strategy_inputs[order_column]': sort,\n 'strategy_inputs[order_mode]': direction,\n };\n}\n\nexport function getExecutivesData(payload) {\n const {\n searchData = {},\n appliedFilters,\n clearAll,\n sort,\n direction,\n page,\n perPage,\n } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const sortData = omitBy({ sort, direction, page, per_page: perPage }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return { isSearch, url: LOCAL_EXECUTIVES_URL, data, sortData };\n}\n","import { isEmpty, omitBy, isNil } from 'lodash';\n\nimport { transformSelectValues } from 'utils/transformers/advancedSearch';\n\nimport { transformOptionsForBE } from './transformers';\nimport { STATE_EXECUTIVES_URL } from './constants';\n\nexport function getExportInfo(data = {}) {\n const { searchValue, options } = data;\n const {\n executives,\n organizations,\n parties,\n states,\n titles,\n } = options;\n\n return {\n 'strategy_inputs[keyword]': searchValue || undefined,\n 'strategy_inputs[person_ids]': transformSelectValues(executives),\n 'strategy_inputs[states]': transformSelectValues(states),\n 'strategy_inputs[organizations]': transformSelectValues(organizations),\n 'strategy_inputs[titles]': transformSelectValues(titles),\n 'strategy_inputs[parties]': parties,\n };\n}\n\nexport function getExportSortInfo(data = {}) {\n const { direction, sort } = data;\n\n return {\n 'strategy_inputs[order_column]': sort,\n 'strategy_inputs[order_mode]': direction,\n };\n}\n\nexport function getExecutivesData(payload) {\n const {\n searchData = {},\n appliedFilters,\n clearAll,\n sort,\n direction,\n page,\n perPage,\n } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const sortData = omitBy({ sort, direction, page, per_page: perPage }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return { isSearch, url: STATE_EXECUTIVES_URL, data, sortData };\n}\n","import React from 'react';\n\nimport Sponsor from 'components/Dashboard/common/Sponsor';\nimport { responseEventTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getSource } from 'redux/dashboardV2/feedPage/utils';\nimport {\n FEDERAL_COMMITTEE_ITEM_TYPE,\n FEDERAL_BILL_ITEM_TYPE,\n FEDERAL_REGULATION_ITEM_TYPE,\n} from 'utils/constants/itemTypes';\n\nimport {\n getHearingStatus,\n getHearingNotificationTitle,\n getTitle,\n getTitleUrl,\n displayDescription,\n formatDescription,\n getPositionDescription,\n getStafferItemType,\n} from '../utils';\nimport { SPONSOR_NODE, HEARING_NODE, LINK_NODE } from './descriptionNodeTypes';\n\nfunction transformBillAction({\n isNotification = false,\n createdAt,\n event_data: {\n action,\n bill_id,\n bill_display_id,\n bill_display_title,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = FEDERAL_BILL_ITEM_TYPE;\n const title = getTitle(bill_display_id, bill_display_title, false, ' - ');\n const titleUrl = getTitleUrl(bill_id, '/federal/bills');\n const actionType = 'Bill action';\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: actionType,\n description: action,\n itemType,\n itemTitle: bill_display_id,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType,\n itemType,\n title,\n createdAt,\n description: action,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformBillCosponsor({\n isNotification = false,\n createdAt,\n event_data: {\n bill_id,\n bill_display_id,\n bill_display_title,\n cosponsor_id,\n cosponsor_name,\n cosponsor_party_short,\n cosponsor_party_slug,\n cosponsor_come_from,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = FEDERAL_BILL_ITEM_TYPE;\n const title = getTitle(bill_display_id, bill_display_title, false, ' - ');\n const titleUrl = getTitleUrl(bill_id, '/federal/bills');\n const infoText = 'is now a cosponsor';\n\n const descriptionData = {\n url: getTitleUrl(cosponsor_id, '/federal/legislators'),\n label: cosponsor_name,\n partyShort: cosponsor_party_short,\n partySlug: cosponsor_party_slug,\n comeFrom: cosponsor_come_from,\n infoText,\n isExternal: false,\n };\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: 'Bill cosponsor added',\n description: ,\n itemType,\n itemTitle: bill_display_id,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: 'Cosponsors added',\n itemType,\n title,\n createdAt,\n descriptionNode: {\n type: SPONSOR_NODE,\n data: descriptionData,\n },\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformBillText({\n isNotification = false,\n createdAt,\n event_data: {\n bill_id,\n bill_display_id,\n bill_display_title,\n text_version,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = 'Federal bill';\n const title = getTitle(bill_display_id, bill_display_title, false, ' - ');\n const titleUrl = getTitleUrl(bill_id, '/federal/bills');\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: 'Bill action',\n description: text_version,\n itemType,\n itemTitle: bill_display_id,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: 'New draft',\n itemType: FEDERAL_BILL_ITEM_TYPE,\n title,\n createdAt,\n description: text_version,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformBillHearing({\n isNotification = false,\n createdAt,\n event_data: {\n bill_id,\n bill_display_id,\n bill_display_title,\n hearing_subject,\n hearing_location,\n action_type,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = FEDERAL_BILL_ITEM_TYPE;\n const title = getTitle(bill_display_id, bill_display_title, false, ' - ');\n const titleUrl = getTitleUrl(bill_id, '/federal/bills');\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: getHearingNotificationTitle(action_type, 'Bill'),\n description: hearing_subject,\n itemType,\n itemTitle: bill_display_id,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: getHearingStatus(action_type),\n itemType,\n title,\n createdAt,\n descriptionNode: {\n type: HEARING_NODE,\n data: {\n subject: hearing_subject,\n location: hearing_location,\n },\n },\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformBillPosition({\n isNotification = false,\n createdAt,\n event_data: {\n bill_id,\n bill_display_id,\n bill_display_title,\n new_user_position_type,\n user_full_name,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = FEDERAL_BILL_ITEM_TYPE;\n const title = getTitle(bill_display_id, bill_display_title, false, ' - ');\n const titleUrl = getTitleUrl(bill_id, '/federal/bills');\n const description = getPositionDescription({\n position: new_user_position_type,\n userFullName: user_full_name,\n isNotification,\n });\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: 'Position update',\n description,\n itemType,\n itemTitle: bill_display_id,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: 'Position changed',\n itemType,\n createdAt,\n title,\n description,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformCommitteeHearing({\n isNotification = false,\n createdAt,\n event_data: {\n action_type,\n committee_id,\n committee_name: title,\n hearing_subject,\n hearing_location,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = FEDERAL_COMMITTEE_ITEM_TYPE;\n const titleUrl = getTitleUrl(committee_id, '/federal/committees');\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: getHearingNotificationTitle(action_type, 'Committee'),\n description: hearing_subject,\n itemType,\n itemTitle: title,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: getHearingStatus(action_type),\n itemType,\n title,\n createdAt,\n descriptionNode: {\n type: HEARING_NODE,\n data: {\n subject: hearing_subject,\n location: hearing_location,\n },\n },\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformRegulationPosition({\n isNotification = false,\n createdAt,\n event_data: {\n user_full_name,\n regulation_title: title,\n regulation_id,\n new_user_position_type,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = FEDERAL_REGULATION_ITEM_TYPE;\n const titleUrl = getTitleUrl(regulation_id, '/federal/regulations');\n const description = getPositionDescription({\n position: new_user_position_type,\n userFullName: user_full_name,\n isNotification,\n });\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: 'Position update',\n description,\n itemType,\n itemTitle: title,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: 'Position changed',\n itemType,\n createdAt,\n title,\n description,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformPublicSubmission({\n isNotification = false,\n createdAt,\n event_data: {\n document_type: documentType,\n regulation_title: title,\n regulation_url: titleUrl,\n text,\n } = {},\n feed,\n}) {\n const itemType = 'Federal regulation';\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: 'New public submission',\n description: text,\n itemType,\n itemTitle: title,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: 'New public submission',\n itemType: FEDERAL_REGULATION_ITEM_TYPE,\n title,\n createdAt,\n description: text,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction getBaseStaffer({\n isNotification,\n isDescriptionVisible,\n createdAt,\n afterLabel,\n event_data: {\n staffer_id,\n staffer_name,\n come_from: comeFrom,\n office_name: title,\n office_url: titleUrl,\n party_short: partyShort,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n ...(isDescriptionVisible && {\n description: `${staffer_name} ${afterLabel}`,\n }),\n itemType: 'Congressional Staffers',\n itemTitle: title,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n itemType: getStafferItemType(documentType),\n title,\n titleUrl,\n createdAt,\n ...(isDescriptionVisible && {\n descriptionNode: {\n type: LINK_NODE,\n data: {\n url: getTitleUrl(staffer_id, '/federal/congressional_staffers'),\n label: staffer_name,\n isExternal: false,\n afterLabel,\n },\n },\n }),\n source: getSource({ documentType, title, titleUrl, partyShort, comeFrom }),\n };\n}\n\nfunction transformStafferJoin({ event_data, createdAt, feed, isNotification = false }) {\n const { staffer_name, staffer_title, office_name } = event_data || {};\n const isDescriptionVisible = displayDescription([staffer_name, staffer_title, office_name]);\n\n const baseStaffer = getBaseStaffer({\n event_data,\n createdAt,\n isDescriptionVisible,\n afterLabel: formatDescription(['has joined the', office_name, 'as a', staffer_title]),\n isNotification,\n feed,\n });\n\n if (isNotification) {\n return {\n ...baseStaffer,\n title: 'Staffer hired',\n };\n }\n\n return {\n ...baseStaffer,\n actionType: 'New staffer',\n };\n}\n\nfunction transformStafferLeave({ event_data, createdAt, feed, isNotification = false }) {\n const { staffer_name, office_name } = event_data || {};\n const isDescriptionVisible = displayDescription([staffer_name, office_name]);\n\n const baseStaffer = getBaseStaffer({\n event_data,\n createdAt,\n isDescriptionVisible,\n afterLabel: formatDescription(['has left the', office_name]),\n isNotification,\n feed,\n });\n\n if (isNotification) {\n return {\n ...baseStaffer,\n title: 'Staffer exit',\n };\n }\n\n return {\n ...baseStaffer,\n actionType: 'Staffer exit',\n };\n}\n\nfunction transformStafferTitleChange({ event_data, createdAt, feed, isNotification = false }) {\n const { staffer_name, staffer_title, staffer_previous_title, office_name } = event_data || {};\n\n const baseStaffer = getBaseStaffer({\n event_data,\n createdAt,\n isDescriptionVisible: displayDescription([\n staffer_name,\n staffer_title,\n staffer_previous_title,\n office_name,\n ]),\n afterLabel: formatDescription([\n 'has transitioned from',\n staffer_previous_title,\n 'to',\n staffer_title,\n 'on',\n office_name,\n ]),\n feed,\n isNotification,\n });\n\n if (isNotification) {\n return {\n ...baseStaffer,\n title: 'Staffer update',\n };\n }\n\n return {\n ...baseStaffer,\n actionType: 'Staffer update',\n };\n}\n\nexport const FEDERAL_RECENT_TYPE = {\n [responseEventTypes.FEDERAL_BILL_ACTION]: transformBillAction,\n [responseEventTypes.FEDERAL_BILL_COSPONSOR]: transformBillCosponsor,\n [responseEventTypes.FEDERAL_BILL_TEXT]: transformBillText,\n [responseEventTypes.FEDERAL_BILL_HEARING]: transformBillHearing,\n [responseEventTypes.FEDERAL_BILL_USER_POSITION]: transformBillPosition,\n [responseEventTypes.FEDERAL_COMMITTEE_HEARING]: transformCommitteeHearing,\n [responseEventTypes.FEDERAL_REGULATION_USER_POSITION]: transformRegulationPosition,\n [responseEventTypes.FEDERAL_REGULATION_PUBLIC_SUBMISSION]: transformPublicSubmission,\n [responseEventTypes.FEDERAL_STAFFER_JOIN]: transformStafferJoin,\n [responseEventTypes.FEDERAL_STAFFER_LEAVE]: transformStafferLeave,\n [responseEventTypes.FEDERAL_STAFFER_TITLE_CHANGE]: transformStafferTitleChange,\n};\n","import React from 'react';\n\nimport Sponsor from 'components/Dashboard/common/Sponsor';\nimport { responseEventTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getSource } from 'redux/dashboardV2/feedPage/utils';\nimport {\n STATE_BILL_ITEM_TYPE,\n STATE_REGULATION_ITEM_TYPE,\n STATE_REGULATION_AGENCY_ITEM_TYPE,\n STATE_REGULATION_NOTICE_ITEM_TYPE,\n STATE_COMMITTEE_ITEM_TYPE,\n} from 'utils/constants/itemTypes';\n\nimport {\n getTitle,\n getTitleUrl,\n getStateRegulationUrl,\n displayDescription,\n formatDescription,\n getPositionDescription,\n getStafferItemType,\n getHearingNotificationTitle,\n getHearingStatus,\n} from '../utils';\nimport { SPONSOR_NODE, LINK_NODE, HEARING_NODE } from './descriptionNodeTypes';\n\nfunction transformBillAction({\n isNotification = false,\n createdAt,\n event_data: {\n bill_id,\n bill_display_id,\n bill_title,\n state_alpha2,\n action_title,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = getTitle(state_alpha2, STATE_BILL_ITEM_TYPE);\n const title = getTitle(bill_display_id, bill_title, false, ' - ');\n const titleUrl = getTitleUrl(bill_id, '/state/bills');\n const actionType = 'Bill action';\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: actionType,\n description: action_title,\n itemType,\n itemTitle: bill_display_id,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType,\n itemType,\n title,\n createdAt,\n description: action_title,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformBillSponsor({\n isNotification = false,\n createdAt,\n event_data: {\n bill_id,\n bill_display_id,\n bill_title,\n state_alpha2,\n sponsor_id,\n sponsor_name,\n sponsor_party_short,\n sponsor_party_slug,\n sponsor_come_from,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = getTitle(state_alpha2, STATE_BILL_ITEM_TYPE);\n const title = getTitle(bill_display_id, bill_title, false, ' - ');\n const titleUrl = getTitleUrl(bill_id, '/state/bills');\n const infoText = 'is now a sponsor';\n\n const descriptionData = {\n url: getTitleUrl(sponsor_id, '/state/legislators'),\n label: sponsor_name,\n isExternal: false,\n partyShort: sponsor_party_short,\n partySlug: sponsor_party_slug,\n comeFrom: sponsor_come_from,\n infoText,\n };\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: 'Bill cosponsor added',\n description: ,\n itemType,\n itemTitle: title,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: 'Cosponsors added',\n itemType,\n title,\n createdAt,\n descriptionNode: {\n type: SPONSOR_NODE,\n data: descriptionData,\n },\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformBillPosition({\n isNotification = false,\n createdAt,\n event_data: {\n state_alpha2,\n user_full_name,\n new_user_position_type,\n bill_id,\n bill_title,\n bill_display_id,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = getTitle(state_alpha2, STATE_BILL_ITEM_TYPE);\n const title = getTitle(bill_display_id, bill_title, false, ' - ');\n const titleUrl = getTitleUrl(bill_id, '/state/bills');\n const description = getPositionDescription({\n position: new_user_position_type,\n userFullName: user_full_name,\n isNotification,\n });\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: 'Position update',\n description,\n itemType,\n itemTitle: title,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: 'Position changed',\n itemType,\n createdAt,\n title,\n description,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction getBaseStateRegulation({\n isNotification,\n createdAt,\n event_data: {\n regulation_title,\n document_text_snippet,\n } = {},\n feed,\n}) {\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n itemTitle: regulation_title,\n description: document_text_snippet,\n feedToken,\n };\n }\n\n return {\n title: regulation_title,\n createdAt,\n description: document_text_snippet,\n };\n}\n\nfunction transformStateRegulation({ isNotification = false, createdAt, event_data, feed }) {\n const {\n regulation_id,\n state_alpha2,\n regulation_title: title,\n document_type: documentType,\n } = event_data || {};\n\n const baseRegulation = getBaseStateRegulation({ event_data, createdAt, isNotification });\n const itemType = getTitle(state_alpha2, STATE_REGULATION_ITEM_TYPE);\n const titleUrl = getStateRegulationUrl({ regulation_id });\n const actionType = 'Regulatory documents published';\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n ...baseRegulation,\n title: actionType,\n itemType,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n ...baseRegulation,\n itemType,\n actionType,\n titleUrl,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformStateAgencyDocument({ isNotification = false, createdAt, event_data, feed }) {\n const { state_alpha2, regulation_title: title, document_type: documentType } = event_data || {};\n\n const baseRegulation = getBaseStateRegulation({ event_data, createdAt, isNotification });\n const itemType = getTitle(state_alpha2, STATE_REGULATION_AGENCY_ITEM_TYPE);\n const titleUrl = getStateRegulationUrl(event_data);\n const actionType = 'State agency regulatory notice published';\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n ...baseRegulation,\n title: actionType,\n itemType,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n ...baseRegulation,\n actionType,\n itemType,\n titleUrl,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformStateNoticeDocument({ isNotification = false, createdAt, event_data, feed }) {\n const { state_alpha2, regulation_title: title, document_type: documentType } = event_data || {};\n\n const baseRegulation = getBaseStateRegulation({ event_data, createdAt, isNotification });\n const itemType = getTitle(state_alpha2, STATE_REGULATION_NOTICE_ITEM_TYPE);\n const titleUrl = getStateRegulationUrl(event_data);\n const actionType = 'State regulatory notice published';\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n ...baseRegulation,\n title: actionType,\n itemType,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n ...baseRegulation,\n actionType,\n itemType,\n titleUrl,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformCommitteeHearing({\n isNotification = false,\n createdAt,\n event_data: {\n action_type,\n committee_id,\n committee_name: title,\n hearing_subject,\n hearing_location,\n document_type: documentType,\n } = {},\n feed,\n}) {\n const itemType = STATE_COMMITTEE_ITEM_TYPE;\n const titleUrl = getTitleUrl(committee_id, '/state/committees');\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: getHearingNotificationTitle(action_type, 'Committee'),\n description: hearing_subject,\n itemType,\n itemTitle: title,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: getHearingStatus(action_type),\n itemType,\n title,\n createdAt,\n descriptionNode: {\n type: HEARING_NODE,\n data: {\n subject: hearing_subject,\n location: hearing_location,\n },\n },\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction transformRegulationPosition({ isNotification = false, createdAt, event_data, feed }) {\n const {\n regulation_title: title,\n state_alpha2,\n new_user_position_type,\n user_full_name,\n document_type: documentType,\n } = event_data || {};\n\n const itemType = getTitle(state_alpha2, STATE_REGULATION_ITEM_TYPE);\n const titleUrl = getStateRegulationUrl(event_data);\n const description = getPositionDescription({\n position: new_user_position_type,\n userFullName: user_full_name,\n isNotification,\n });\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: 'Position update',\n description,\n itemType,\n itemTitle: title,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n titleUrl,\n actionType: 'Position changed',\n itemType,\n createdAt,\n title,\n description,\n source: getSource({ documentType, title, titleUrl }),\n };\n}\n\nfunction getBaseStaffer({\n event_data,\n createdAt,\n isDescriptionVisible,\n afterLabel,\n isNotification,\n feed,\n}) {\n const {\n staffer_id,\n staffer_name,\n state_alpha2,\n office_name: title,\n office_url: titleUrl,\n party_short: partyShort,\n document_type: documentType,\n come_from: comeFrom,\n } = event_data || {};\n\n const itemType = getTitle(state_alpha2, getStafferItemType(documentType));\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n ...(isDescriptionVisible && {\n description: `${staffer_name} ${afterLabel}`,\n }),\n itemTitle: title,\n url: titleUrl,\n itemType,\n feedToken,\n };\n }\n\n return {\n ...(isDescriptionVisible && {\n descriptionNode: {\n type: LINK_NODE,\n data: {\n url: getTitleUrl(staffer_id, '/state/staffers'),\n label: staffer_name,\n isExternal: false,\n afterLabel,\n },\n },\n }),\n itemType,\n titleUrl,\n title,\n createdAt,\n source: getSource({ documentType, title, titleUrl, partyShort, comeFrom }),\n };\n}\n\nfunction transformStafferJoin({ event_data, createdAt, feed, isNotification = false }) {\n const { staffer_name, staffer_title, office_name } = event_data || {};\n const isDescriptionVisible = displayDescription([staffer_name, office_name, staffer_title]);\n\n const baseStaffer = getBaseStaffer({\n event_data,\n createdAt,\n isDescriptionVisible,\n afterLabel: formatDescription(['has joined the', office_name, 'as a', staffer_title]),\n isNotification,\n feed,\n });\n\n if (isNotification) {\n return {\n ...baseStaffer,\n title: 'Staffer hired',\n };\n }\n\n return {\n ...baseStaffer,\n actionType: 'New staffer',\n };\n}\n\nfunction transformStafferLeave({ event_data, createdAt, feed, isNotification = false }) {\n const { staffer_name, office_name } = event_data || {};\n const isDescriptionVisible = displayDescription([staffer_name, office_name]);\n\n const baseStaffer = getBaseStaffer({\n event_data,\n createdAt,\n isDescriptionVisible,\n afterLabel: formatDescription(['has joined the', office_name]),\n isNotification,\n feed,\n });\n\n if (isNotification) {\n return {\n ...baseStaffer,\n title: 'Staffer exit',\n };\n }\n\n return {\n ...baseStaffer,\n actionType: 'Staffer exit',\n };\n}\n\nfunction transformStafferTitleChange({ event_data, createdAt, feed, isNotification = false }) {\n const { staffer_name, office_name, staffer_title, staffer_previous_title } = event_data || {};\n const isDescriptionVisible = displayDescription([\n staffer_name,\n staffer_previous_title,\n staffer_title,\n office_name,\n ]);\n\n const baseStaffer = getBaseStaffer({\n event_data,\n createdAt,\n isDescriptionVisible,\n afterLabel: formatDescription([\n 'has transitioned from',\n staffer_previous_title,\n 'to',\n staffer_title,\n 'on',\n office_name,\n ]),\n feed,\n isNotification,\n });\n\n if (isNotification) {\n return {\n ...baseStaffer,\n title: 'Staffer update',\n };\n }\n\n return {\n ...baseStaffer,\n actionType: 'Staffer update',\n };\n}\n\nexport const STATE_RECENT_TYPE = {\n [responseEventTypes.STATE_BILL_ACTION]: transformBillAction,\n [responseEventTypes.STATE_BILL_SPONSOR]: transformBillSponsor,\n [responseEventTypes.STATE_BILL_USER_POSITION]: transformBillPosition,\n [responseEventTypes.STATE_COMMITTEE_HEARING]: transformCommitteeHearing,\n [responseEventTypes.STATE_REGULATION_PUBLICATION]: transformStateRegulation,\n [responseEventTypes.STATE_REGULATION_STATE_AGENCY_NOTICE]: transformStateAgencyDocument,\n [responseEventTypes.STATE_REGULATION_STATE_NOTICE]: transformStateNoticeDocument,\n [responseEventTypes.STATE_REGULATION_USER_POSITION]: transformRegulationPosition,\n [responseEventTypes.STATE_STAFFER_JOIN]: transformStafferJoin,\n [responseEventTypes.STATE_STAFFER_LEAVE]: transformStafferLeave,\n [responseEventTypes.STATE_STAFFER_TITLE_CHANGE]: transformStafferTitleChange,\n};\n","import includes from 'lodash/includes';\n\nimport { responseEventTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { formatString } from 'components/Dashboard/common/FeedPage/utils';\nimport { getSource } from 'redux/dashboardV2/feedPage/utils';\nimport { transformPost } from 'redux/socialMedia/feed/utils/transformers';\nimport {\n AGENCY_PRESS_RELEASES_ITEM_TYPE,\n FEDERAL_CONTRACT_ITEM_TYPE,\n FEDERAL_GRANT_ITEM_TYPE,\n COMMITTEE_REPORTS_ITEM_TYPE,\n CONGRESSIONAL_PRESS_RELEASES_ITEM_TYPE,\n FEDERAL_BILL_ITEM_TYPE,\n DOCTROVE_HEARING_TRANSCRIPTS_ITEM_TYPE,\n OFFICIAL_HEARING_TRANSCRIPTS_ITEM_TYPE,\n STATE_BILL_ITEM_TYPE,\n STATE_REGULATION_ITEM_TYPE,\n SOCIAL_MEDIA_POST_ITEM_TYPE,\n} from 'utils/constants/itemTypes';\n\nimport {\n getTitle,\n getTitleUrl,\n getSocialMediaTitle,\n getStateRegulationUrl,\n} from '../utils';\nimport { TWEET_NODE } from './descriptionNodeTypes';\n\nconst KEYWORD_ACTION_TYPE = 'Keyword match';\n\nfunction transformKeyword({\n isNotification = false,\n createdAt,\n title,\n event_data,\n subscription,\n descriptionNode,\n feed,\n}, itemType) {\n const { keyword, token: subscriptionToken, title: subscriptionTitle } = subscription || {};\n const {\n url: titleUrl,\n title: eventTitle,\n highlighted_text,\n recipient_name,\n committee_name,\n agency_name,\n document_type: documentType,\n } = event_data || {};\n const { token: feedToken } = feed || {};\n\n function getActionType() {\n if (includes([\n COMMITTEE_REPORTS_ITEM_TYPE,\n OFFICIAL_HEARING_TRANSCRIPTS_ITEM_TYPE,\n DOCTROVE_HEARING_TRANSCRIPTS_ITEM_TYPE,\n ], itemType)) {\n return committee_name;\n }\n\n if (includes([\n AGENCY_PRESS_RELEASES_ITEM_TYPE,\n CONGRESSIONAL_PRESS_RELEASES_ITEM_TYPE,\n ], itemType)) {\n return recipient_name;\n }\n\n if (includes([FEDERAL_CONTRACT_ITEM_TYPE, FEDERAL_GRANT_ITEM_TYPE], itemType)) {\n return agency_name;\n }\n\n return null;\n }\n\n const displayTitle = eventTitle || title;\n\n if (isNotification) {\n return {\n title: KEYWORD_ACTION_TYPE,\n description: displayTitle,\n itemType,\n itemTitle: subscriptionTitle,\n url: titleUrl,\n subscriptionToken,\n isKeywordMatch: true,\n feedToken,\n };\n }\n\n return {\n actionType: getActionType(),\n itemType,\n title: displayTitle,\n titleUrl,\n createdAt,\n descriptionNode,\n description: highlighted_text,\n source: [\n { label: 'Keyword search', content: formatString(subscriptionTitle || keyword) },\n ...getSource({ documentType, title: displayTitle, titleUrl }),\n ],\n };\n}\n\nfunction transformFederalBill({\n isNotification = false,\n createdAt,\n event_data: {\n id,\n display_id,\n bill_display_title,\n highlighted_text,\n document_type: documentType,\n } = {},\n subscription: {\n keyword,\n token: subscriptionToken,\n title: subscriptionTitle,\n } = {},\n feed = {},\n}) {\n const itemType = FEDERAL_BILL_ITEM_TYPE;\n const title = getTitle(display_id, bill_display_title, false, ' - ');\n const titleUrl = getTitleUrl(id, '/federal/bills');\n\n if (isNotification) {\n return {\n title: KEYWORD_ACTION_TYPE,\n description: display_id,\n itemType,\n itemTitle: subscriptionTitle,\n url: titleUrl,\n subscriptionToken,\n isKeywordMatch: true,\n feedToken: feed.token,\n };\n }\n\n return {\n itemType,\n title,\n titleUrl,\n createdAt,\n description: highlighted_text,\n source: [\n { label: 'Keyword search', content: formatString(subscriptionTitle || keyword) },\n ...getSource({ documentType, title, titleUrl }),\n ],\n };\n}\n\nfunction transformGovernorOrder({ event_data, ...restProps }) {\n const { state_alpha2: stateAlpha2 } = event_data || {};\n const title = getTitle(stateAlpha2, 'Governor\\'s order');\n\n return transformKeyword({ ...restProps, event_data, title }, title);\n}\n\nfunction transformGovernorPressRelease({ event_data, ...restProps }) {\n const { state_alpha2: stateAlpha2 } = event_data || {};\n const title = getTitle(stateAlpha2, 'Governor press release');\n\n return transformKeyword({ ...restProps, event_data, title }, title);\n}\n\nfunction transformSocialMedia({ event_data, ...restProps }) {\n return transformKeyword(\n {\n ...restProps,\n event_data,\n title: getSocialMediaTitle(event_data),\n descriptionNode: {\n type: TWEET_NODE,\n data: transformPost(event_data),\n },\n },\n SOCIAL_MEDIA_POST_ITEM_TYPE,\n );\n}\n\nfunction transformStateBill({\n isNotification = false,\n createdAt,\n event_data: {\n id,\n display_id,\n bill_title,\n state_alpha2,\n highlighted_text,\n document_type: documentType,\n } = {},\n subscription: {\n keyword,\n token: subscriptionToken,\n title: subscriptionTitle,\n } = {},\n feed,\n}) {\n const itemType = getTitle(state_alpha2, STATE_BILL_ITEM_TYPE);\n const title = getTitle(display_id, bill_title, false, ' - ');\n const titleUrl = getTitleUrl(id, '/state/bills');\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: KEYWORD_ACTION_TYPE,\n description: title,\n itemType,\n itemTitle: subscriptionTitle,\n url: titleUrl,\n subscriptionToken,\n isKeywordMatch: true,\n feedToken,\n };\n }\n\n return {\n itemType,\n title,\n titleUrl,\n createdAt,\n description: highlighted_text,\n source: [\n { label: 'Keyword search', content: formatString(subscriptionTitle || keyword) },\n ...getSource({ documentType, title, titleUrl }),\n ],\n };\n}\n\nfunction transformStateRegulation({\n isNotification = false,\n createdAt,\n event_data,\n subscription: {\n keyword,\n token: subscriptionToken,\n title: subscriptionTitle,\n } = {},\n feed,\n}) {\n const { title, state_alpha2, highlighted_text, document_type: documentType } = event_data || {};\n const itemType = getTitle(state_alpha2, STATE_REGULATION_ITEM_TYPE);\n const titleUrl = getStateRegulationUrl(event_data);\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: KEYWORD_ACTION_TYPE,\n description: title,\n itemType,\n itemTitle: subscriptionTitle,\n url: titleUrl,\n subscriptionToken,\n isKeywordMatch: true,\n feedToken,\n };\n }\n\n return {\n itemType,\n title,\n titleUrl,\n createdAt,\n description: highlighted_text,\n source: [\n { label: 'Keyword search', content: formatString(subscriptionTitle || keyword) },\n ...getSource({ documentType, title, titleUrl }),\n ],\n };\n}\n\nfunction transformTownIntel({ event_data, createdAt, subscription, feed, isNotification = false }) {\n const { keyword, token: subscriptionToken, title: subscriptionTitle } = subscription || {};\n const { url, title, city, state_alpha2, highlighted_text } = event_data || {};\n const cityStateTitle = getTitle(city, state_alpha2, false, ', ');\n const itemType = getTitle(cityStateTitle, 'Publication');\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: KEYWORD_ACTION_TYPE,\n description: title,\n itemType,\n itemTitle: subscriptionTitle,\n url,\n subscriptionToken,\n isKeywordMatch: true,\n feedToken,\n };\n }\n\n return {\n titleUrl: url,\n itemType,\n title,\n createdAt,\n description: highlighted_text,\n source: [{ label: 'Keyword search', content: formatString(subscriptionTitle || keyword) }],\n };\n}\n\nexport const KEYWORD_RECENT_TYPE = {\n [responseEventTypes.KEYWORD_FEDERAL_BILL]: transformFederalBill,\n [responseEventTypes.KEYWORD_DOCTROVE_GOVERNOR_ORDER]: transformGovernorOrder,\n [responseEventTypes.KEYWORD_DOCTROVE_GOVERNOR_PRESS_RELEASE]: transformGovernorPressRelease,\n [responseEventTypes.KEYWORD_SOCIAL_MEDIA_POST]: transformSocialMedia,\n [responseEventTypes.KEYWORD_STATE_BILL]: transformStateBill,\n [responseEventTypes.KEYWORD_STATE_REGULATION]: transformStateRegulation,\n [responseEventTypes.KEYWORD_TOWN_INTEL_DOCUMENT]: transformTownIntel,\n // Common\n [responseEventTypes.KEYWORD_CONGRESSIONAL_RECORD]: props => transformKeyword(props, 'Congressional record item'),\n [responseEventTypes.KEYWORD_DOCTROVE_AGENCY_PRESS_RELEASE]: props => transformKeyword(props, 'Agency press release'),\n [responseEventTypes.KEYWORD_DOCTROVE_CBO]: props => transformKeyword(props, 'CBO report'),\n [responseEventTypes.KEYWORD_DOCTROVE_COMMITTEE_REPORT]: props => transformKeyword(props, 'Committee report'),\n [responseEventTypes.KEYWORD_DOCTROVE_CRS]: props => transformKeyword(props, 'CRS report'),\n [responseEventTypes.KEYWORD_DOCTROVE_DEAR_COLLEAGUE_LETTER]: props => transformKeyword(props, 'Dear colleague letter'),\n [responseEventTypes.KEYWORD_DOCTROVE_EXECUTIVE_ORDER]: props => transformKeyword(props, 'Executive order'),\n [responseEventTypes.KEYWORD_DOCTROVE_FBO]: props => transformKeyword(props, 'Federal contract'),\n [responseEventTypes.KEYWORD_DOCTROVE_GAO]: props => transformKeyword(props, 'GAO report'),\n [responseEventTypes.KEYWORD_DOCTROVE_GRANT]: props => transformKeyword(props, 'Federal grant document'),\n [responseEventTypes.KEYWORD_DOCTROVE_HEARING_TRANSCRIPT]: props => transformKeyword(props, 'Official hearing transcript'),\n [responseEventTypes.KEYWORD_DOCTROVE_LIVE_HEARING_TRANSCRIPT]: props => transformKeyword(props, 'Live hearing transcript'),\n [responseEventTypes.KEYWORD_DOCTROVE_PRESS_BRIEFING]: props => transformKeyword(props, 'White House press briefing'),\n [responseEventTypes.KEYWORD_DOCTROVE_PRESS_RELEASE]: props => transformKeyword(props, 'Congressional press release'),\n [responseEventTypes.KEYWORD_DOCTROVE_SAP]: props => transformKeyword(props, 'SAP Report'),\n [responseEventTypes.KEYWORD_DOCTROVE_THIRD_PARTY_REPORT]: props => transformKeyword(props, 'Third party report'),\n [responseEventTypes.KEYWORD_DOCTROVE_TREATY]: props => transformKeyword(props, 'Treaty document'),\n [responseEventTypes.KEYWORD_DOCTROVE_UNION_STATEMENT]: props => transformKeyword(props, 'State of the Union address'),\n [responseEventTypes.KEYWORD_FEDERAL_REGULATION]: props => transformKeyword(props, 'Federal regulation'),\n};\n","import { responseEventTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { formatString } from 'components/Dashboard/common/FeedPage/utils';\nimport { transformStory } from 'redux/news/common/utils';\nimport { NEWS_STORY_ITEM_TYPE, NEWSFEED_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nimport { NEWS_STORY_NODE } from './descriptionNodeTypes';\n\nexport function transformNewsStory({\n event_data,\n createdAt,\n isShared = false,\n feed,\n isNotification = false,\n}) {\n const {\n search_id: searchId,\n search_title: searchTitle,\n user_full_name: userName,\n clusters,\n story_title: title,\n url,\n } = event_data;\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: 'News article published',\n description: title,\n itemType: NEWSFEED_ITEM_TYPE,\n itemTitle: searchTitle,\n url: `/news?selectedFeedId=${searchId}`,\n customBodyUrl: url,\n feedToken,\n };\n }\n\n return {\n descriptionNode: {\n type: NEWS_STORY_NODE,\n data: {\n ...transformStory(event_data),\n title,\n },\n },\n createdAt,\n userName,\n title,\n titleUrl: url,\n clusterIds: clusters,\n withTags: false,\n withCallToActions: !isShared,\n withCreationDate: false,\n itemType: NEWS_STORY_ITEM_TYPE,\n withEditNewsfeed: !isShared,\n withSharedBy: isShared,\n ...(!isShared && {\n source: [{ label: 'Tracked newsfeed', content: formatString(searchTitle) }],\n }),\n };\n}\n\nexport const NEWS_STORY_RECENT_TYPE = {\n [responseEventTypes.NEWS_STORY]: transformNewsStory,\n};\n","import find from 'lodash/find';\n\nimport { responseEventTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getSource } from 'redux/dashboardV2/feedPage/utils';\nimport {\n getAllFilterProducts,\n FEDERAL_LEGISLATOR,\n STATE_LEGISLATOR,\n STATE_REGULATIONS_SLUG,\n GRM_ACTIVITY_TYPE,\n NEWS_STORY_SLUG,\n SOCIAL_MEDIA_SLUG,\n} from 'components/Dashboard/utils/libProducts';\nimport { CARD_TYPES } from 'components/Grm2/constants';\n\nimport { getTitle } from '../utils';\nimport { transformNewsStory } from './newsTransformers';\nimport { transformTweet } from './socialMediaTransformers';\n\nfunction transformSharedDocument({ event_data, createdAt, feed, isNotification = false }) {\n const {\n title,\n description,\n come_from: comeFrom,\n activity_card_type,\n party_short: partyShort,\n document_url: titleUrl,\n document_type: documentType,\n user_full_name: userName,\n state_alpha2: stateAlpha2,\n } = event_data || {};\n\n if (documentType === NEWS_STORY_SLUG) {\n return transformNewsStory({ event_data, createdAt, isShared: true });\n }\n\n if (documentType === SOCIAL_MEDIA_SLUG) {\n return transformTweet({ event_data, createdAt });\n }\n\n const allProducts = [\n ...getAllFilterProducts(),\n { id: FEDERAL_LEGISLATOR, type: 'Federal legislator' },\n { id: STATE_LEGISLATOR, type: 'State legislator' },\n { id: STATE_REGULATIONS_SLUG, type: 'State regulatory document' },\n { id: GRM_ACTIVITY_TYPE, type: 'Activity' },\n ];\n\n const { type: itemType } = find(allProducts, { id: documentType }) || {};\n const { [activity_card_type]: activityCardType } = {\n note: CARD_TYPES.note.label,\n task: CARD_TYPES.task.label,\n hill_day_note: CARD_TYPES.hill_day_note.label,\n hill_day_attendance: CARD_TYPES.hill_day_attendance.label,\n hill_day_meeting_attendance: CARD_TYPES.hill_day_meeting_attendance.label,\n grassroots_legislation: CARD_TYPES.grassroots_legislation.label,\n };\n\n const { token: feedToken } = feed || {};\n\n if (isNotification) {\n return {\n title: itemType,\n description,\n itemType,\n itemTitle: title,\n url: titleUrl,\n feedToken,\n };\n }\n\n return {\n withSharedBy: true,\n actionType: itemType,\n itemType: activityCardType || getTitle(stateAlpha2, itemType),\n createdAt,\n title,\n titleUrl,\n description,\n userName,\n source: getSource({ documentType, title, titleUrl, partyShort, comeFrom }),\n };\n}\n\nexport const GENERAL_RECENT_TYPE = {\n [responseEventTypes.SHARED_DOCUMENT]: transformSharedDocument,\n};\n","import { transformPost } from 'redux/socialMedia/feed/utils/transformers';\nimport { SOCIAL_MEDIA_POST_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nimport { TWEET_NODE } from './descriptionNodeTypes';\n\nexport function transformTweet({ event_data, createdAt }) {\n const {\n user,\n document_url: titleUrl,\n user_full_name: userName,\n } = event_data || {};\n const { name } = user || {};\n\n return {\n itemType: SOCIAL_MEDIA_POST_ITEM_TYPE,\n withSharedBy: true,\n descriptionNode: {\n type: TWEET_NODE,\n data: transformPost(event_data),\n },\n title: name,\n titleUrl,\n createdAt,\n userName,\n };\n}\n","import isFunction from 'lodash/isFunction';\n\nimport { FEDERAL_RECENT_TYPE } from './federalTransformers';\nimport { STATE_RECENT_TYPE } from './stateTransformers';\nimport { KEYWORD_RECENT_TYPE } from './keywordTransformers';\nimport { GENERAL_RECENT_TYPE } from './generalTransformers';\nimport { NEWS_STORY_RECENT_TYPE } from './newsTransformers';\n\nconst ALL_ITEMS = {\n ...FEDERAL_RECENT_TYPE,\n ...STATE_RECENT_TYPE,\n ...KEYWORD_RECENT_TYPE,\n ...GENERAL_RECENT_TYPE,\n ...NEWS_STORY_RECENT_TYPE,\n};\n\nexport function transformRecentEvent({ event_type, ...restProps }) {\n const allItemsFunction = ALL_ITEMS[event_type];\n\n return isFunction(allItemsFunction) ? allItemsFunction(restProps) : {};\n}\n","import { handleFailureNotification } from '../utils';\nimport { transformTimeSeries, transformTimeSeriesParams } from './utils';\nimport constants from './constants';\n\nexport function fetchTimeSeries(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_TIME_SERIES });\n\n const { url = '/api_web/news/time_series' } = payload;\n const ajax = $.get(url, transformTimeSeriesParams(payload));\n\n function onSuccess(response) {\n dispatch({\n type: constants.RECEIVE_TIME_SERIES_DONE,\n payload: transformTimeSeries(response.data),\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_TIME_SERIES_FAILURE });\n\n handleFailureNotification(error);\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function resetTimeSeries() {\n return dispatch => dispatch({ type: constants.RESET_TIME_SERIES });\n}\n","import moment from 'moment';\nimport map from 'lodash/map';\n\nimport { CALENDAR_DATE_FORMAT } from 'utils/constants/date';\n\nexport function transformTimeSeries(timeSeries) {\n return map(timeSeries, ({ published_at: publishedAt, date, count }) => {\n const timestamp = publishedAt || date;\n\n return {\n date: moment(timestamp).format(CALENDAR_DATE_FORMAT),\n count,\n };\n });\n}\n\nexport function transformTimeSeriesParams({ selectedFeedId, clusterId, mention, tagId }) {\n if (tagId) {\n return { tag_id: tagId };\n }\n\n if (clusterId) {\n return { clusters: [clusterId] };\n }\n\n if (mention) {\n return { entities_title_text: mention };\n }\n\n if (selectedFeedId) {\n return { config_id: selectedFeedId };\n }\n\n return {};\n}\n","import { get, map, reduce, findIndex, uniqBy, orderBy } from 'lodash';\n\nimport { transformRecentEvent } from 'redux/dashboardV2/feedPage/utils/transformers/recentEvents';\nimport { getMyFeedToken } from 'components/Dashboard/utils';\n\nfunction groupWorkspaces(data = []) {\n return reduce(data, (notifications, notification) => {\n const feed = get(notification, 'feed');\n const eventType = get(notification, 'event_type');\n const documentId = get(notification, 'event_data.document_id');\n const matchedId = findIndex(\n notifications,\n (previousItem) => {\n const previousDocumentId = get(previousItem, 'event_data.document_id');\n const previousEventType = get(previousItem, 'event_type');\n const isKeyword = /^keyword/.test(eventType);\n const isEqual = previousEventType === eventType\n && previousDocumentId === documentId;\n\n return !isKeyword && isEqual;\n }\n );\n\n // reduce duplicate notification from multiple feeds\n const { workspaces = [], ...currentNotification } = notifications[matchedId] || notification;\n const uniqueWorkspaces = uniqBy(feed ? [...workspaces, feed] : workspaces, 'token');\n const sortedWorkspaces = orderBy(uniqueWorkspaces, ({ token }) => token !== getMyFeedToken());\n const formattedNotification = { ...currentNotification, workspaces: sortedWorkspaces };\n\n if (matchedId !== -1) {\n notifications[matchedId] = { ...formattedNotification, feed: sortedWorkspaces[0] };\n\n return notifications;\n }\n\n return [...notifications, formattedNotification];\n }, []);\n}\n\nexport function transformResponseData({ data }) {\n const formattedNotifications = groupWorkspaces(data);\n\n return map(formattedNotifications, ({ token, workspaces, ...restProps }) => ({\n ...(transformRecentEvent({ ...restProps, isNotification: true })),\n workspaces,\n id: token,\n }));\n}\n","import { toNumber, isEmpty } from 'lodash';\n\nimport { getMyFeedToken } from 'components/Dashboard/utils';\nimport { BASE_FEEDS_URL } from 'redux/dashboardV2/constants';\nimport { sendFailureNotification } from 'utils/notification';\n\nimport constants, {\n BASE_NOTIFICATIONS_URL,\n FETCH_INTERVAL,\n REQUEST_TIME_LIMIT,\n NOTIFICATIONS_COUNT_KEY,\n} from './constants';\nimport { transformResponseData } from './utils/transformers';\n\nfunction fetchNotificationCount() {\n const url = `${BASE_NOTIFICATIONS_URL}/count`;\n const ajax = $.get(url);\n\n setTimeout(() => ajax && ajax.abort(), REQUEST_TIME_LIMIT);\n\n return Promise.resolve(ajax)\n .catch((error) => { throw error; });\n}\n\nlet timer = null;\n\nexport function getNotifications(countResponse) {\n return (dispatch, getState) => {\n const { notifications: stateNotifications } = getState().notifications;\n const { count = 0 } = countResponse || {};\n const previousCount = toNumber(localStorage.getItem(NOTIFICATIONS_COUNT_KEY));\n const isUnchanged = previousCount === count && !isEmpty(stateNotifications);\n\n if (isUnchanged) {\n return Promise.resolve();\n }\n\n localStorage.setItem(NOTIFICATIONS_COUNT_KEY, count);\n\n function onSuccess(response) {\n const notifications = transformResponseData(response);\n\n dispatch({\n type: constants.FETCH_NOTIFICATIONS_DONE,\n payload: {\n notifications,\n totalNotifications: count,\n },\n });\n }\n\n if (count === 0) {\n return Promise.resolve({ data: [] }).then(onSuccess);\n }\n\n const url = `${BASE_NOTIFICATIONS_URL}/lookup`;\n const ajax = $.get(url);\n\n setTimeout(() => ajax && ajax.abort(), REQUEST_TIME_LIMIT);\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch((error) => { throw error; });\n };\n}\n\nexport function fetchNotifications() {\n return (dispatch) => {\n function fetch() {\n fetchNotificationCount()\n .then(response => dispatch(getNotifications(response)));\n }\n\n fetch(); // initial fetch\n timer = setInterval(fetch, FETCH_INTERVAL);\n };\n}\n\nexport function stopFetchNotifications() {\n return () => clearInterval(timer);\n}\n\nexport function resetNotifications() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_NOTIFICATIONS });\n };\n}\n\nexport function clearNotifications(id) {\n return (dispatch) => {\n dispatch({ type: constants.CLEAR_NOTIFICATIONS });\n\n const url = `${BASE_FEEDS_URL}/${getMyFeedToken()}/last_visit/notifications`;\n const ajax = $.post(url, { latest_event_token: id });\n\n function onFailure(error) {\n dispatch({ type: constants.CLEAR_NOTIFICATIONS_FAILURE });\n\n sendFailureNotification('Failed to clear notifications. Please, try again.');\n\n throw error;\n }\n\n Promise.resolve(ajax)\n .then(() => dispatch({ type: constants.CLEAR_NOTIFICATIONS_DONE }))\n .catch(onFailure);\n };\n}\n\nexport function togglePanel() {\n return (dispatch) => {\n dispatch({ type: constants.TOGGLE_PANEL });\n };\n}\n\nexport function resetPanel() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_PANEL });\n };\n}\n","export const EMAIL_KEY = 'Email';\nexport const FACEBOOK_KEY = 'Facebook';\nexport const TWITTER_KEY = 'Twitter';\nexport const LINKEDIN_KEY = 'LinkedIn';\nexport const INSTAGRAM_KEY = 'Instagram';\nexport const YOUTUBE_KEY = 'YouTube';\n","import { omitBy, isNil, get, find, map, uniq, flatMap, sortBy } from 'lodash';\n\nimport {\n FACEBOOK,\n TWITTER,\n LINKEDIN,\n INSTAGRAM,\n YOUTUBE,\n} from 'utils/socialMedia/names';\n\nimport {\n FACEBOOK_KEY,\n TWITTER_KEY,\n LINKEDIN_KEY,\n INSTAGRAM_KEY,\n YOUTUBE_KEY,\n EMAIL_KEY,\n} from './constants';\n\nconst getUrl = (urls, socialMediaKey) => get(find(urls, (({ type }) => type === socialMediaKey)), 'url');\n\nexport const getOrganizations = positions => (\n uniq(flatMap(positions, ({ organizations }) => map(sortBy(organizations, 'level'), 'name')))\n);\n\nexport function transformAgencyStaffer(agencyStaffer = {}) {\n const {\n id,\n full_name,\n positions,\n urls,\n } = omitBy(agencyStaffer, isNil);\n\n return {\n id,\n name: full_name,\n email: getUrl(urls, EMAIL_KEY),\n title: uniq(map(positions, (value => value.title))),\n socialMedia: [\n { name: FACEBOOK, url: getUrl(urls, FACEBOOK_KEY) },\n { name: TWITTER, url: getUrl(urls, TWITTER_KEY) },\n { name: LINKEDIN, url: getUrl(urls, LINKEDIN_KEY) },\n { name: INSTAGRAM, url: getUrl(urls, INSTAGRAM_KEY) },\n { name: YOUTUBE, url: getUrl(urls, YOUTUBE_KEY) },\n ].filter(value => value.url),\n organizations: getOrganizations(positions),\n url: `/federal/executives/${id}`,\n };\n}\n","export const FETCH_CAMPAIGN = 'GRASSROOTS_TAKE_ACTION/FETCH_CAMPAIGN';\nexport const RECEIVE_CAMPAIGN = 'GRASSROOTS_TAKE_ACTION/RECEIVE_CAMPAIGN';\nexport const STOP_LOADING = 'GRASSROOTS_TAKE_ACTION/STOP_LOADING';\n\nexport const TEMPORARY_SAVE_FORM_SUBMISSION = 'GRASSROOTS_TAKE_ACTION/TEMPORARY_SAVE_FORM_SUBMISSION';\nexport const EDIT_FORM_SUBMISSION = 'GRASSROOTS_TAKE_ACTION/EDIT_FORM_SUBMISSION';\nexport const SAVE_FORM_SUBMISSION = 'GRASSROOTS_TAKE_ACTION/SAVE_FORM_SUBMISSION';\nexport const RECEIVE_FORM_SUBMISSION = 'GRASSROOTS_TAKE_ACTION/RECEIVE_FORM_SUBMISSION';\n\nexport const FETCH_LEGISLATORS = 'GRASSROOTS_TAKE_ACTION/FETCH_LEGISLATORS';\nexport const RECEIVE_LEGISLATORS = 'GRASSROOTS_TAKE_ACTION/RECEIVE_LEGISLATORS';\n\nexport const FETCH_REGULATION = 'GRASSROOTS_TAKE_ACTION/FETCH_REGULATION';\nexport const RECEIVE_REGULATION = 'GRASSROOTS_TAKE_ACTION/RECEIVE_REGULATION';\n\nexport const SAVE_MESSAGES = 'GRASSROOTS_TAKE_ACTION/SAVE_MESSAGES';\nexport const SET_PREVIEW_MODE = 'GRASSROOTS_TAKE_ACTION/SET_PREVIEW_MODE';\n\nexport const SAVE_CUSTOM_MESSAGE = 'GRASSROOTS_TAKE_ACTION/SAVE_CUSTOM_MESSAGE';\nexport const SAVE_CUSTOM_REGULATION_COMMENT = 'GRASSROOTS_TAKE_ACTION/SAVE_CUSTOM_REGULATION_COMMENT';\n\nexport const OPEN_MESSAGE_EDITOR = 'GRASSROOTS_TAKE_ACTION/OPEN_MESSAGE_EDITOR';\nexport const CLOSE_MESSAGE_EDITOR = 'GRASSROOTS_TAKE_ACTION/CLOSE_MESSAGE_EDITOR';\n\nexport const COLLECT_STATISTIC = 'GRASSROOTS_TAKE_ACTION/COLLECT_STATISTIC';\n\nexport const FETCH_CUSTOM_COLORS = 'GRASSROOTS_TAKE_ACTION/FETCH_CUSTOM_COLORS';\nexport const RECEIVE_CUSTOM_COLORS = 'GRASSROOTS_TAKE_ACTION/RECEIVE_CUSTOM_COLORS';\n\nexport const FETCH_CUSTOM_RECIPIENTS = 'GRASSROOTS_TAKE_ACTION/FETCH_CUSTOM_RECIPIENTS';\nexport const RECEIVE_CUSTOM_RECIPIENTS = 'GRASSROOTS_TAKE_ACTION/RECEIVE_CUSTOM_RECIPIENTS';\nexport const CREATE_RECIPIENTS = 'GRASSROOTS_TAKE_ACTION/CREATE_RECIPIENTS';\n","const keyword = 'STATE_BILL_PROFILE';\nexport const BILL_SLUG = 'bill';\n\nconst constants = {\n FETCH_PROFILE: `${keyword}/FETCH_PROFILE`,\n RECEIVE_PROFILE_DONE: `${keyword}/RECEIVE_PROFILE_DONE`,\n PROFILE_NOT_FOUND: `${keyword}/PROFILE_NOT_FOUND`,\n SET_PROFILE_SUBSCRIPTIONS: `${keyword}/SET_PROFILE_SUBSCRIPTIONS`,\n FETCH_BILL_TIMELINE: `${keyword}/FETCH_BILL_TIMELINE`,\n RECEIVE_BILL_TIMELINE_DONE: `${keyword}/RECEIVE_BILL_TIMELINE_DONE`,\n FETCH_BILLS_COMPARISON: `${keyword}/FETCH_BILLS_COMPARISON`,\n RECEIVE_BILLS_COMPARISON_DONE: `${keyword}/RECEIVE_BILLS_COMPARISON_DONE`,\n FETCH_ROLL_CALL_VOTES: `${keyword}/FETCH_ROLL_CALL_VOTES`,\n RECEIVE_ROLL_CALL_VOTES: `${keyword}/RECEIVE_ROLL_CALL_VOTES`,\n FETCH_AMENDMENTS: `${keyword}/FETCH_AMENDMENTS`,\n RECEIVE_AMENDMENTS: `${keyword}/RECEIVE_AMENDMENTS`,\n FETCH_ACTIVE_VOICES: `${keyword}/FETCH_ACTIVE_VOICES`,\n RECEIVE_ACTIVE_VOICES: `${keyword}/RECEIVE_ACTIVE_VOICES`,\n FETCH_SPONSORS_AND_COSPONSORS: `${keyword}/FETCH_SPONSORS_AND_COSPONSORS`,\n RECEIVE_SPONSORS_AND_COSPONSORS: `${keyword}/RECEIVE_SPONSORS_AND_COSPONSORS`,\n FETCH_TAGS: `${keyword}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${keyword}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${keyword}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${keyword}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${keyword}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n FETCH_MY_FEED_DOCUMENTS: `${keyword}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${keyword}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${keyword}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n UPDATE_PROFILE_MY_FEED: `${keyword}/UPDATE_PROFILE_MY_FEED`,\n FETCH_SPONSORS_ERROR: `${keyword}/FETCH_SPONSORS_ERROR`,\n FETCH_TIMELINE_ERROR: `${keyword}/FETCH_TIMELINE_ERROR`,\n FETCH_PROFILE_ERROR: `${keyword}/FETCH_PROFILE_ERROR`,\n};\n\nexport default constants;\n","const PREFIX = 'STAKEHOLDER_MANAGEMENT';\n\nconst constants = {\n STRATEGY_SLUG: 'stakeholder_mgmt_stakeholder',\n STRATEGY_SLUG_FOR_EXPORT: 'stakeholder_mgmt_stakeholder',\n FETCH_STAKEHOLDERS: `${PREFIX}/FETCH_STAKEHOLDERS`,\n RECEIVE_STAKEHOLDERS_DONE: `${PREFIX}/RECEIVE_STAKEHOLDERS_DONE`,\n RECEIVE_STAKEHOLDERS_FAIL: `${PREFIX}/RECEIVE_STAKEHOLDERS_FAIL`,\n FETCH_STAKEHOLDERS_MAP: `${PREFIX}/FETCH_STAKEHOLDERS_MAP`,\n RECEIVE_STAKEHOLDERS_MAP_DONE: `${PREFIX}/RECEIVE_STAKEHOLDERS_MAP_DONE`,\n RECEIVE_STAKEHOLDERS_MAP_FAIL: `${PREFIX}/RECEIVE_STAKEHOLDERS_MAP_FAIL`,\n FETCH_STAKEHOLDER_LISTS: `${PREFIX}/FETCH_STAKEHOLDER_LISTS`,\n RECEIVE_STAKEHOLDER_LISTS_DONE: `${PREFIX}/RECEIVE_STAKEHOLDER_LISTS_DONE`,\n SUBMIT_STAKEHOLDER_LISTS: `${PREFIX}/SUBMIT_STAKEHOLDER_LISTS`,\n SUBMIT_STAKEHOLDER_LISTS_DONE: `${PREFIX}/SUBMIT_STAKEHOLDER_LISTS_DONE`,\n SUBMIT_STAKEHOLDER_LISTS_FAIL: `${PREFIX}/SUBMIT_STAKEHOLDER_LISTS_FAIL`,\n SUBMIT_APPLIED_TAGS: `${PREFIX}/SUBMIT_APPLIED_TAGS`,\n SUBMIT_APPLIED_TAGS_DONE: `${PREFIX}/SUBMIT_APPLIED_TAGS_DONE`,\n SUBMIT_APPLIED_TAGS_FAIL: `${PREFIX}/SUBMIT_APPLIED_TAGS_FAIL`,\n FETCH_STAKEHOLDER_EMAILS: `${PREFIX}/FETCH_STAKEHOLDER_EMAILS`,\n RECEIVE_STAKEHOLDER_EMAILS_DONE: `${PREFIX}/RECEIVE_STAKEHOLDER_EMAILS_DONE`,\n FETCH_DISTRICT_STAKEHOLDERS_METADATA: `${PREFIX}/FETCH_DISTRICT_STAKEHOLDERS_METADATA`,\n RECEIVE_DISTRICT_STAKEHOLDERS_METADATA: `${PREFIX}/RECEIVE_DISTRICT_STAKEHOLDERS_METADATA`,\n DISTRICT_STAKEHOLDERS_METADATA_FAIL: `${PREFIX}/DISTRICT_STAKEHOLDERS_METADATA_FAIL`,\n RESET_STATE: `${PREFIX}/RESET_STATE`,\n};\n\nexport default constants;\n","import { map, groupBy, keys } from 'lodash';\n\nimport { POST_REQUEST } from 'utils/constants/api';\nimport { BASE_URL } from 'redux/dashboardV2/constants';\nimport { getMyFeed } from 'components/Dashboard/utils';\n\nimport {\n transformDocumentIdsForBE,\n transformMyFeedDocuments,\n transformDocumentsForProfile,\n} from './utils/transformers';\n\nexport function fetchDocuments(documentType, documentIds) {\n const url = `${BASE_URL}/my_feed/subscriptions/check/${documentType}`;\n const ajax = $.ajax({\n url,\n method: POST_REQUEST,\n data: JSON.stringify({ document_ids: transformDocumentIdsForBE(documentIds) }),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function fetchMyFeedDocuments(\n { payload: payloadData } = {},\n actionTypes = {}\n) {\n return (dispatch) => {\n dispatch({ type: actionTypes.FETCH_MY_FEED_DOCUMENTS });\n\n const payloadGroups = groupBy(payloadData, 'documentType');\n const documentTypes = keys(payloadGroups);\n\n function onSuccess(response) {\n dispatch({\n type: actionTypes.RECEIVE_MY_FEED_DOCUMENTS_DONE,\n payload: transformMyFeedDocuments(response, documentTypes),\n });\n\n return { payload: payloadData };\n }\n\n function onFailure(error) {\n dispatch({ type: actionTypes.RECEIVE_MY_FEED_DOCUMENTS_FAILURE });\n throw error;\n }\n\n const requests = map(documentTypes, (documentType) => {\n const documentIds = map(payloadGroups[documentType], 'id');\n\n return fetchDocuments(documentType, documentIds);\n });\n\n return Promise.all(requests)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchProfileDocument(payload = {}, actionTypes = {}) {\n return (dispatch) => {\n dispatch({ type: actionTypes.FETCH_MY_FEED_DOCUMENTS });\n\n const { documentType, id } = payload;\n\n function onSuccess(response) {\n dispatch({\n type: actionTypes.RECEIVE_MY_FEED_DOCUMENTS_DONE,\n payload: transformDocumentsForProfile(response, id),\n });\n }\n\n function onFailure(error) {\n dispatch({ type: actionTypes.RECEIVE_MY_FEED_DOCUMENTS_FAILURE });\n throw error;\n }\n\n return fetchDocuments(documentType, [id])\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function updateProfileShare(actionTypes = {}) {\n return (dispatch) => {\n dispatch({ type: actionTypes.UPDATE_PROFILE_MY_FEED, payload: [getMyFeed()] });\n };\n}\n","import {\n map,\n groupBy,\n reduce,\n filter,\n toString,\n difference,\n uniqWith,\n isEqual,\n isEmpty,\n} from 'lodash';\n\nimport { postJson } from 'utils/api';\n\nimport { BASE_URL } from './constants';\n\nexport function transformNewTagsForBE({ tags }) {\n return {\n tags: map(tags, ({ label }) => ({ name: label })),\n };\n}\n\nexport function transformNewTagsForUI({ data }) {\n return map(data, ({ name, id }) => ({ label: name, value: id }));\n}\n\nexport function transformRecordsForTag(data) {\n const formattedRecords = map(data, ({ documentType, recordId }) => ({\n id: toString(recordId),\n type: documentType,\n }));\n\n return uniqWith(formattedRecords, isEqual);\n}\n\nexport function transformBulkTagsRecordsForBE(payload) {\n /** Record format: { id, type } */\n const { records, tagIds } = payload || {};\n\n return {\n records,\n tag_ids: tagIds,\n };\n}\n\nexport function transformTagsByRecordIdsForUI(payload) {\n const { data } = payload || {};\n\n return reduce(data, (result, item) => {\n const { record_tags, record_type } = item || {};\n\n const formatData = map(record_tags, (recordTag) => {\n const { record_id, tags } = recordTag || {};\n\n return {\n recordType: record_type,\n recordId: record_id,\n tags: map(tags, ({ id, name }) => ({ value: id, label: name })),\n };\n }) || [];\n\n result.push(...formatData);\n\n return result;\n }, []);\n}\n\nexport function transformFetchRecordIdsForBE(payload) {\n const groupedValues = groupBy(payload, 'documentType');\n const formattedValues = map(groupedValues, (value, key) => ({\n record_type: key,\n record_ids: map(value, ({ recordId, id }) => toString(recordId || id)),\n }));\n\n return formattedValues;\n}\n\nexport function getFilteredTags(tags) {\n const newTags = filter(tags, ['isNew', true]);\n\n return {\n newTags,\n existingTags: difference(tags, newTags),\n };\n}\n\nexport function transformTagsForBE(existingTags, newTags) {\n return [\n ...map(newTags, ({ value }) => toString(value)),\n ...map(existingTags, ({ value }) => toString(value)),\n ];\n}\n\nexport function createTagsNoDispatch(payload) {\n const data = transformNewTagsForBE(payload);\n const ajax = postJson(BASE_URL, data);\n\n return Promise.resolve(ajax)\n .then(response => transformNewTagsForUI(response));\n}\n\nexport function saveTagsAndUpdateRecords({ newTags, saveTagsForRecord }) {\n if (isEmpty(newTags)) {\n return saveTagsForRecord();\n }\n\n return createTagsNoDispatch({ tags: newTags })\n .then(saveTagsForRecord);\n}\n","const prefix = 'STAKEHOLDER_PROFILE';\n\nexport default {\n FETCH_STAKEHOLDER_PROFILE: `${prefix}/FETCH_STAKEHOLDER_PROFILE`,\n FETCH_STAKEHOLDER_PROFILE_FAIL: `${prefix}/FETCH_STAKEHOLDER_PROFILE_FAIL`,\n RECEIVE_STAKEHOLDER_PROFILE_DONE: `${prefix}/RECEIVE_STAKEHOLDER_PROFILE_DONE`,\n RECEIVE_STAKEHOLDER_PROFILE_FAIL: `${prefix}/RECEIVE_STAKEHOLDER_PROFILE_FAIL`,\n RELOAD_STAKEHOLDER_PROFILE: `${prefix}/RELOAD_STAKEHOLDER_PROFILE`,\n DELETE_STAKEHOLDER_TAG: `${prefix}/DELETE_STAKEHOLDER_TAG`,\n DELETE_STAKEHOLDER_TAG_DONE: `${prefix}/DELETE_STAKEHOLDER_TAG_DONE`,\n DELETE_STAKEHOLDER_LIST: `${prefix}/DELETE_STAKEHOLDER_LIST`,\n DELETE_STAKEHOLDER_LIST_DONE: `${prefix}/DELETE_STAKEHOLDER_LIST_DONE`,\n SORT_STAKEHOLDER_SMART_LIST_DATA: `${prefix}/SORT_STAKEHOLDER_SMART_LIST_DATA`,\n SORT_STAKEHOLDER_SMART_LIST_DATA_DONE: `${prefix}/SORT_STAKEHOLDER_SMART_LIST_DATA_DONE`,\n SORT_STAKEHOLDER_LIST_DATA: `${prefix}/SORT_STAKEHOLDER_LIST_DATA`,\n SORT_STAKEHOLDER_LIST_DATA_DONE: `${prefix}/SORT_STAKEHOLDER_LIST_DATA_DONE`,\n SORT_STAKEHOLDER_TAG_DATA: `${prefix}/SORT_STAKEHOLDER_TAG_DATA`,\n SORT_STAKEHOLDER_TAG_DATA_DONE: `${prefix}/SORT_STAKEHOLDER_TAG_DATA_DONE`,\n FETCH_STAKEHOLDER_CONTRIBUTIONS: `${prefix}/FETCH_STAKEHOLDER_CONTRIBUTIONS`,\n FETCH_STAKEHOLDER_CONTRIBUTIONS_FAIL: `${prefix}/FETCH_STAKEHOLDER_CONTRIBUTIONS_FAIL`,\n FETCH_STAKEHOLDER_CONTRIBUTIONS_DONE: `${prefix}/FETCH_STAKEHOLDER_CONTRIBUTIONS_DONE`,\n FETCH_STAKEHOLDER_MATCHING_INDIVIDUALS: `${prefix}/FETCH_STAKEHOLDER_MATCHING_INDIVIDUALS`,\n FETCH_STAKEHOLDER_MATCHING_INDIVIDUALS_FAIL: `${prefix}/FETCH_STAKEHOLDER_MATCHING_INDIVIDUALS_FAIL`,\n FETCH_STAKEHOLDER_MATCHING_INDIVIDUALS_DONE: `${prefix}/FETCH_STAKEHOLDER_MATCHING_INDIVIDUALS_DONE`,\n FETCH_CONTRIBUTIONS_LAST_SYNC: `${prefix}/FETCH_CONTRIBUTIONS_LAST_SYNC`,\n FETCH_CONTRIBUTIONS_LAST_SYNC_FAIL: `${prefix}/FETCH_CONTRIBUTIONS_LAST_SYNC_FAIL`,\n FETCH_CONTRIBUTIONS_LAST_SYNC_DONE: `${prefix}/FETCH_CONTRIBUTIONS_LAST_SYNC_DONE`,\n RESET_DATA: `${prefix}/RESET_DATA`,\n UPDATE_STAKEHOLDER_PROFILE_DESCRIPTION: `${prefix}/UPDATE_STAKEHOLDER_PROFILE_DESCRIPTION`,\n};\n","const PREFIX = 'WORKSPACE_SETTINGS';\n\nconst constants = {\n FETCH_WORKSPACE: `${PREFIX}/FETCH_WORKSPACE`,\n RECEIVE_WORKSPACE_DONE: `${PREFIX}/RECEIVE_WORKSPACE_DONE`,\n WORKSPACE_NOT_FOUND: `${PREFIX}/WORKSPACE_NOT_FOUND`,\n UPDATE_WORKSPACE: `${PREFIX}/UPDATE_WORKSPACE`,\n UPDATE_WORKSPACE_DONE: `${PREFIX}/UPDATE_WORKSPACE_DONE`,\n NAME_ALREADY_TAKEN: `${PREFIX}/NAME_ALREADY_TAKEN`,\n UPDATE_WORKSPACE_SUBSCRIPTION: `${PREFIX}/UPDATE_WORKSPACE_SUBSCRIPTION`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n DELETE_SUBSCRIPTION: `${PREFIX}/DELETE_SUBSCRIPTION`,\n DELETE_SUBSCRIPTION_DONE: `${PREFIX}/DELETE_SUBSCRIPTION_DONE`,\n DELETE_SUBSCRIPTIONS: `${PREFIX}/DELETE_SUBSCRIPTIONS`,\n DELETE_SUBSCRIPTIONS_DONE: `${PREFIX}/DELETE_SUBSCRIPTIONS_DONE`,\n UPDATE_SUBSCRIPTION: `${PREFIX}/UPDATE_SUBSCRIPTION`,\n UPDATE_SUBSCRIPTION_DONE: `${PREFIX}/UPDATE_SUBSCRIPTION_DONE`,\n UPDATE_SUBSCRIPTIONS: `${PREFIX}/UPDATE_SUBSCRIPTIONS`,\n UPDATE_SUBSCRIPTIONS_DONE: `${PREFIX}/UPDATE_SUBSCRIPTIONS_DONE`,\n UPDATE_COMMITTEE_SUBSCRIPTION_DONE: `${PREFIX}/UPDATE_COMMITTEE_SUBSCRIPTION_DONE`,\n DELETE_COMMITTEE_SUBSCRIPTION_DONE: `${PREFIX}/DELETE_COMMITTEE_SUBSCRIPTION_DONE`,\n FETCH_DEFAULT_FREQUENCY: `${PREFIX}/FETCH_DEFAULT_FREQUENCY`,\n FETCH_DEFAULT_FREQUENCY_DONE: `${PREFIX}/FETCH_DEFAULT_FREQUENCY_DONE`,\n UPDATE_DEFAULT_FREQUENCY: `${PREFIX}/UPDATE_DEFAULT_FREQUENCY`,\n UPDATE_DEFAULT_FREQUENCY_DONE: `${PREFIX}/UPDATE_DEFAULT_FREQUENCY_DONE`,\n RESET_SUBSCRIPTIONS_SETTINGS: `${PREFIX}/RESET_SUBSCRIPTIONS_SETTINGS`,\n RESET_SUBSCRIPTIONS_SETTINGS_DONE: `${PREFIX}/RESET_SUBSCRIPTIONS_SETTINGS_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'REGULATIONS';\n\nexport const API_URL = '/api_web/state/regulations/lookup';\nexport const STRATEGY_SLUG = 'state_legislation_regulation';\nexport const STRATEGY_SLUG_KEYWORD = 'state_regulation_document';\nexport const STRATEGY_SLUG_FOR_EXPORT = 'state_regulations';\nexport const STRATEGY_SLUG_BULK_EXPORT = 'state_legislation_regulations';\nexport const STRATEGY_SLUG_ONE_PAGE_REPORT = 'state_legislation_onepage_report_regulation';\n\nconst constants = {\n FETCH_REGULATIONS: `${PREFIX}/FETCH_REGULATIONS`,\n RECEIVE_REGULATIONS: `${PREFIX}/RECEIVE_REGULATIONS`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n RESET_REGULATIONS: `${PREFIX}/RESET_REGULATIONS`,\n SET_REGULATIONS: `${PREFIX}/SET_REGULATIONS`,\n BULK_UPDATE_DATA: `${PREFIX}/BULK_UPDATE_DATA`,\n BULK_TRACK_DATA: `${PREFIX}/BULK_TRACK_DATA`,\n BULK_TRACK_DATA_DONE: `${PREFIX}/BULK_TRACK_DATA_DONE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n BULK_SHARE_TO_MY_FEED: `${PREFIX}/BULK_SHARE_TO_MY_FEED`,\n BULK_SHARE_TO_MY_FEED_DONE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_DONE`,\n BULK_SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_FAILURE`,\n LOAD_POSITIONS: `${PREFIX}/LOAD_POSITIONS`,\n};\n\nexport default constants;\n","const PREFIX = 'STATE_LEGISLATORS';\n\nconst constants = {\n STRATEGY_SLUG: 'state_legislator',\n STRATEGY_SLUG_FOR_EXPORT: 'state_legislators',\n FETCH_LEGISLATORS: `${PREFIX}/FETCH_LEGISLATORS`,\n RECEIVE_LEGISLATORS_DONE: `${PREFIX}/RECEIVE_LEGISLATORS_DONE`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_LEGISLATORS_EMAILS: `${PREFIX}/FETCH_LEGISLATORS_EMAILS`,\n RECEIVE_LEGISLATORS_EMAILS_DONE: `${PREFIX}/RECEIVE_LEGISLATORS_EMAILS_DONE`,\n RESET_LEGISLATORS: `${PREFIX}/RESET_LEGISLATORS`,\n BULK_UPDATE_DATA: `${PREFIX}/BULK_UPDATE_DATA`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n BULK_SHARE_TO_MY_FEED: `${PREFIX}/BULK_SHARE_TO_MY_FEED`,\n BULK_SHARE_TO_MY_FEED_DONE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_DONE`,\n BULK_SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_FAILURE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n BULK_TRACK_DATA: `${PREFIX}/BULK_TRACK_DATA`,\n BULK_TRACK_DATA_DONE: `${PREFIX}/BULK_TRACK_DATA_DONE`,\n LEGISLATOR_LOOKUP_NAME: 'legislators',\n};\n\nexport default constants;\n","const PREFIX = 'FEDERAL_BILL_LOOKUP';\n\nconst constants = {\n STRATEGY_SLUG: 'federal_bill',\n STRATEGY_SLUG_FOR_EXPORT: 'federal_bills',\n STRATEGY_SLUG_SINGLE_EXPORT: 'federal_bill',\n FETCH_BILLS: `${PREFIX}/FETCH_BILLS`,\n RECEIVE_BILLS_DONE: `${PREFIX}/RECEIVE_BILLS_DONE`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n FETCH_BILLS_GRAPH: `${PREFIX}/FETCH_BILLS_GRAPH`,\n RECEIVE_BILLS_GRAPH_DONE: `${PREFIX}/RECEIVE_BILLS_GRAPH_DONE`,\n RESET_BILLS: `${PREFIX}/RESET_BILLS`,\n SET_BILLS: `${PREFIX}/SET_BILLS`,\n BULK_UPDATE_DATA: `${PREFIX}/BULK_UPDATE_DATA`,\n BULK_TRACK_DATA: `${PREFIX}/BULK_TRACK_DATA`,\n BULK_TRACK_DATA_DONE: `${PREFIX}/BULK_TRACK_DATA_DONE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n BULK_SHARE_TO_MY_FEED: `${PREFIX}/BULK_SHARE_TO_MY_FEED`,\n BULK_SHARE_TO_MY_FEED_DONE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_DONE`,\n BULK_SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_FAILURE`,\n LOAD_POSITIONS: `${PREFIX}/LOAD_POSITIONS`,\n};\n\nexport default constants;\n","const PREFIX = 'STATE_BILL_LOOKUP';\n\nconst constants = {\n STRATEGY_SLUG: 'state_legislation_bills',\n STRATEGY_SLUG_FOR_EXPORT: 'state_bills',\n STRATEGY_SLUG_SINGLE_EXPORT: 'state_bill',\n FETCH_BILLS: `${PREFIX}/FETCH_BILLS`,\n RECEIVE_BILLS_DONE: `${PREFIX}/RECEIVE_BILLS_DONE`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n RESET_BILLS: `${PREFIX}/RESET_BILLS`,\n FETCH_BILLS_GRAPH: `${PREFIX}/FETCH_BILLS_GRAPH`,\n RECEIVE_BILLS_GRAPH_DONE: `${PREFIX}/RECEIVE_BILLS_GRAPH_DONE`,\n SET_BILLS: `${PREFIX}/SET_BILLS`,\n BULK_UPDATE_DATA: `${PREFIX}/BULK_UPDATE_DATA`,\n BULK_TRACK_DATA: `${PREFIX}/BULK_TRACK_DATA`,\n BULK_TRACK_DATA_DONE: `${PREFIX}/BULK_TRACK_DATA_DONE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n BULK_SHARE_TO_MY_FEED: `${PREFIX}/BULK_SHARE_TO_MY_FEED`,\n BULK_SHARE_TO_MY_FEED_DONE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_DONE`,\n BULK_SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_FAILURE`,\n LOAD_POSITIONS: `${PREFIX}/LOAD_POSITIONS`,\n};\n\nexport default constants;\n","import { isNil, isBoolean, isNumber, isEmpty, forEach, compact, includes } from 'lodash';\n\nimport {\n FILTER_READ_HIDE_READ,\n FILTER_READ_HIDE_UNREAD,\n SUBSCRIPTION_ACTION,\n PRIORITY_ACTION,\n DOCUMENT_TYPES,\n SAVE_ACTION,\n READ_ACTION,\n} from 'components/Dashboard/common/FeedPage/utils/constants';\nimport {\n TRACKED_STATE_REGULATION,\n STATE_REGULATIONS_SLUG,\n TRACKED_FEDERAL_COMMITTEE_STAFFER,\n TRACKED_FEDERAL_COMMITTEE_HEARING,\n TRACKED_STATE_COMMITTEE_STAFFER,\n TRACKED_STATE_COMMITTEE_HEARING,\n} from 'components/Dashboard/utils/libProducts';\nimport {\n EXCLUDE_SHARED_DOCS,\n EXCLUDE_TRACKED_ITEMS,\n SHOW_ONLY_SHARED_DOCS,\n TRACKED_ITEMS_ONLY,\n} from 'redux/dashboardV2/constants';\n\nexport function isFirstPage({ page }) {\n return isNil(page) || page === 1;\n}\n\nexport function getValue(key, value) {\n if (isBoolean(value)) {\n return { [key]: value };\n }\n\n if (isNumber(value)) {\n return { [key]: value };\n }\n\n if (isEmpty(value)) {\n return null;\n }\n\n return { [key]: value };\n}\n\nexport function formatTrackedItems(value) {\n const { [value]: formattedValue } = {\n [TRACKED_ITEMS_ONLY]: { [TRACKED_ITEMS_ONLY]: true },\n [EXCLUDE_TRACKED_ITEMS]: { [EXCLUDE_TRACKED_ITEMS]: true },\n };\n\n return formattedValue;\n}\n\nexport function formatSharedItems(value) {\n const { [value]: formattedValue } = {\n [SHOW_ONLY_SHARED_DOCS]: { [SHOW_ONLY_SHARED_DOCS]: true },\n [EXCLUDE_SHARED_DOCS]: { [EXCLUDE_SHARED_DOCS]: true },\n };\n\n return formattedValue;\n}\n\nexport function formatReadItems(value) {\n const { [value]: formattedValue } = {\n [FILTER_READ_HIDE_UNREAD]: true,\n [FILTER_READ_HIDE_READ]: false,\n };\n\n return formattedValue;\n}\n\nexport function formatBooleanItem(data) {\n return isEmpty(data) ? undefined : true;\n}\n\nexport function getItemTypes(itemTypes) {\n /** Include state regulation documents when state regulation is checked */\n if (!isEmpty(itemTypes) && itemTypes.includes(TRACKED_STATE_REGULATION)) {\n return [...itemTypes, STATE_REGULATIONS_SLUG];\n }\n\n return itemTypes;\n}\n\nexport function getTrackedItemTypes(itemTypes = []) {\n return compact([\n ...itemTypes,\n /** Include federal committee hearings documents when federal committees is checked */\n includes(itemTypes, TRACKED_FEDERAL_COMMITTEE_STAFFER) && TRACKED_FEDERAL_COMMITTEE_HEARING,\n /** Include state committee hearings documents when state committees is checked */\n includes(itemTypes, TRACKED_STATE_COMMITTEE_STAFFER) && TRACKED_STATE_COMMITTEE_HEARING,\n ]);\n}\n\nexport function getRecordTypesIds({ data }) {\n const recordTypeIds = {\n state_bill: [],\n federal_bill: [],\n federal_regulation: [],\n state_regulation: [],\n };\n\n const pushItem = (item) => {\n const { positionRecordType, recordId } = item;\n positionRecordType && recordTypeIds[positionRecordType].push(recordId);\n };\n\n forEach(data, pushItem);\n\n return recordTypeIds;\n}\n\nexport function getIsLoadingActions(id, actionType, isLoading = false) {\n const isPriorityAction = actionType === PRIORITY_ACTION;\n const isSaveAction = actionType === SAVE_ACTION;\n const isMarkAsReadAction = actionType === READ_ACTION;\n const isSubscriptionAction = actionType === SUBSCRIPTION_ACTION;\n\n return {\n id,\n ...isPriorityAction && { isLoadingPriority: isLoading },\n ...isSaveAction && { isLoadingSave: isLoading },\n ...isMarkAsReadAction && { isLoadingRead: isLoading },\n ...isSubscriptionAction && { isLoadingSubscription: isLoading },\n };\n}\n\nexport function getSource({ documentType, title, titleUrl: href, partyShort, comeFrom }) {\n const { [documentType]: source = [] } = {\n [DOCUMENT_TYPES.STATE_BILL]: [{\n label: 'Tracked bill',\n content: {\n title,\n href,\n },\n }],\n [DOCUMENT_TYPES.FEDERAL_BILL]: [{\n label: 'Tracked bill',\n content: {\n title,\n href,\n },\n }],\n [DOCUMENT_TYPES.STATE_REGULATION]: [{\n label: 'Tracked regulation',\n content: {\n title,\n href,\n },\n }],\n [DOCUMENT_TYPES.STATE_COMMITTEE]: [{\n label: 'Tracked committee',\n content: {\n title,\n href,\n },\n }],\n [DOCUMENT_TYPES.STATE_LEGISLATOR]: [{\n label: 'Tracked legislator',\n content: {\n title,\n href,\n partyShort,\n comeFrom,\n },\n }],\n [DOCUMENT_TYPES.FEDERAL_REGISTER_REGULATION]: [{\n label: 'Tracked regulation',\n content: {\n title,\n href,\n },\n }],\n [DOCUMENT_TYPES.FEDERAL_COMMITTEE]: [{\n label: 'Tracked committee',\n content: {\n title,\n href,\n },\n }],\n [DOCUMENT_TYPES.STATE_LEGISLATOR]: [{\n label: 'Tracked legislator',\n content: {\n title,\n href,\n partyShort,\n comeFrom,\n },\n }],\n [DOCUMENT_TYPES.FEDERAL_LEGISLATOR]: [{\n label: 'Tracked legislator',\n content: {\n title,\n href,\n partyShort,\n comeFrom,\n },\n }],\n };\n\n return source;\n}\n","const PREFIX = 'COMMITTEES';\nexport const API_URL = '/api_web/state/committees/lookup';\nexport const STRATEGY_SLUG = 'state_committee';\nexport const STRATEGY_SLUG_FOR_EXPORT = 'state_committees';\n\nconst constants = {\n FETCH_COMMITTEES: `${PREFIX}/FETCH_COMMITTEES`,\n RECEIVE_COMMITTEES: `${PREFIX}/RECEIVE_COMMITTEES`,\n RESET_COMMITTEES: `${PREFIX}/RESET_COMMITTEES`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n BULK_UPDATE_DATA: `${PREFIX}/BULK_UPDATE_DATA`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n BULK_TRACK_DATA: `${PREFIX}/BULK_TRACK_DATA`,\n BULK_TRACK_DATA_DONE: `${PREFIX}/BULK_TRACK_DATA_DONE`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n BULK_SHARE_TO_MY_FEED: `${PREFIX}/BULK_SHARE_TO_MY_FEED`,\n BULK_SHARE_TO_MY_FEED_DONE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_DONE`,\n BULK_SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_FAILURE`,\n COMMITTEE_LOOKUP_NAME: 'committees',\n};\n\nexport default constants;\n","import { isNil, isEmpty, omitBy, isNumber, toString, map } from 'lodash';\nimport moment from 'moment';\n\nimport { getBillsCongressValue, getRelationshipStatus } from 'redux/bills/utils';\n\nexport function transformBillsForBE(payload = {}) {\n const { tags, congress, allCongressOptions, ...restProps } = payload;\n\n return {\n search_form: omitBy({\n ...getRelationshipStatus(restProps),\n match_congress: getBillsCongressValue({ allCongressOptions, congress }),\n tag_ids: map(tags, 'value'),\n }, isEmpty),\n };\n}\n\nexport function transformBill({ bill = {}, cosponsorsCount = 10, ...restPayload }) {\n const {\n id,\n cosponsors = [],\n display_bill_id,\n display_title,\n overview,\n last_action = { text: '', date: '' },\n sponsor = {},\n status_full,\n introduced_at,\n score_rank,\n } = omitBy(bill, isNil);\n\n const { itemType, documentType } = restPayload;\n\n const slicedCosponsors = isNumber(cosponsorsCount) && cosponsorsCount > 0\n ? cosponsors.slice(0, cosponsorsCount)\n : cosponsors;\n\n return {\n id,\n billId: display_bill_id,\n billUrl: !isEmpty(id) && `/federal/bills/${id}`,\n snippet: overview,\n billTitle: display_title,\n lastAction: last_action && last_action.text,\n lastActionDate: last_action && last_action.date && moment(last_action.date),\n status: status_full,\n introducedAt: introduced_at,\n documentType,\n itemType,\n recordId: id,\n withTrack: true,\n similarityRank: toString(score_rank),\n sponsors: [{\n id: sponsor.id,\n name: sponsor.name,\n partyShort: sponsor.party_short,\n partySlug: sponsor.party_slug,\n url: `/federal/legislators/${sponsor.id}`,\n }],\n allCosponsorsSize: !isEmpty(cosponsors) ? cosponsors.length : 0,\n cosponsors: slicedCosponsors.map((cosponsor = {}) => {\n if (isEmpty(cosponsor) || isEmpty(cosponsor.name)) return null;\n\n return {\n id: cosponsor.id,\n name: cosponsor.name,\n partyShort: cosponsor.party_short,\n partySlug: cosponsor.party_slug,\n url: `/federal/legislators/${cosponsor.id}`,\n };\n }),\n };\n}\n\nexport function transformBillsForUI({ billsData = {}, cosponsorsCount = 10, ...restProps }) {\n const { data } = billsData;\n\n if (isEmpty(data)) {\n return { allItems: [] };\n }\n\n return { allItems: data.map(item => transformBill({ bill: item, cosponsorsCount, ...restProps })) };\n}\n","const PREFIX = 'FEDERAL_LEGISLATORS';\n\nconst constants = {\n STRATEGY_SLUG: 'federal_legislator',\n STRATEGY_SLUG_FOR_EXPORT: 'federal_legislators',\n FETCH_LEGISLATORS: `${PREFIX}/FETCH_LEGISLATORS`,\n RECEIVE_LEGISLATORS_DONE: `${PREFIX}/RECEIVE_LEGISLATORS_DONE`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_LEGISLATORS_EMAILS: `${PREFIX}/FETCH_LEGISLATORS_EMAILS`,\n RECEIVE_LEGISLATORS_EMAILS_DONE: `${PREFIX}/RECEIVE_LEGISLATORS_EMAILS_DONE`,\n RESET_LEGISLATORS: `${PREFIX}/RESET_LEGISLATORS`,\n BULK_UPDATE_DATA: `${PREFIX}/BULK_UPDATE_DATA`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n BULK_SHARE_TO_MY_FEED: `${PREFIX}/BULK_SHARE_TO_MY_FEED`,\n BULK_SHARE_TO_MY_FEED_DONE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_DONE`,\n BULK_SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_FAILURE`,\n BULK_TRACK_DATA: `${PREFIX}/BULK_TRACK_DATA`,\n BULK_TRACK_DATA_DONE: `${PREFIX}/BULK_TRACK_DATA_DONE`,\n FETCH_SUBSCRIPTION: `${PREFIX}/FETCH_SUBSCRIPTION`,\n RECEIVE_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTION_DONE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n LEGISLATOR_LOOKUP_NAME: 'legislators',\n};\n\nexport default constants;\n","const prefix = 'STATE_LEG_WATCHLIST';\n\nconst constants = {\n FETCH_WATCHLIST: `${prefix}/FETCH_WATCHLIST`,\n RECEIVE_WATCHLIST: `${prefix}/RECEIVE_WATCHLIST`,\n SELECT_BILL: `${prefix}/SELECT_BILL`,\n DESELECT_BILL: `${prefix}/DESELECT_BILL`,\n FETCH_BILL: `${prefix}/FETCH_BILL`,\n RECEIVE_BILL: `${prefix}/RECEIVE_BILL`,\n FETCH_SPONSORS_AND_COSPONSORS: `${prefix}/FETCH_SPONSORS_AND_COSPONSORS`,\n RECEIVE_SPONSORS_AND_COSPONSORS: `${prefix}/RECEIVE_SPONSORS_AND_COSPONSORS`,\n FETCH_BILL_TIMELINE: `${prefix}/FETCH_BILL_TIMELINE`,\n RECEIVE_BILL_TIMELINE: `${prefix}/RECEIVE_BILL_TIMELINE`,\n FETCH_BILL_COMMITTEES: `${prefix}/FETCH_BILL_COMMITTEES`,\n RECEIVE_BILL_COMMITTEES: `${prefix}/RECEIVE_BILL_COMMITTEES`,\n FETCH_BILL_REPORTS: `${prefix}/FETCH_BILL_REPORTS`,\n RECEIVE_BILL_REPORTS: `${prefix}/RECEIVE_BILL_REPORTS`,\n FETCH_BILL_COSPONSORS: `${prefix}/FETCH_BILL_COSPONSORS`,\n RECEIVE_BILL_COSPONSORS: `${prefix}/RECEIVE_BILL_COSPONSORS`,\n BILL_NOT_FOUND: `${prefix}/BILL_NOT_FOUND`,\n FETCH_TIMELINE_ERROR: `${prefix}/FETCH_TIMELINE_ERROR`,\n FETCH_SPONSORS_ERROR: `${prefix}/FETCH_SPONSORS_ERROR`,\n FETCH_COMMITTEES_ERROR: `${prefix}/FETCH_COMMITTEES_ERROR`,\n FETCH_REPORTS_ERROR: `${prefix}/FETCH_REPORTS_ERROR`,\n FETCH_COSPONSORS_ERROR: `${prefix}/FETCH_COSPONSORS_ERROR`,\n};\n\nexport default constants;\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue, transformReceiptContributions } from 'redux/moneyball/utils/transformers';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport {\n fetchSearch,\n fetchSearchReceipt,\n fetchReport,\n transformPaginator,\n transformSort,\n isSearchPayload,\n} from 'redux/moneyball/utils';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformReceiptsForFE,\n transformSearchesForFE,\n transformOptionsForBE,\n transformOptionsSearchForBE,\n} from './utils';\nimport constants from './constants';\n\nexport function initAppliedSearchFilters(emptyState, { searchType }) {\n return handleAppliedFilters({ ...emptyState, ...(searchType && { searchType }) });\n}\n\nexport function loadReceiptSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadReceiptRecentSearches() {\n return (dispatch) => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveReceiptAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformOptionsSearchForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadReceiptRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeReceiptAdvancedSearch(id) {\n return onRemoveItem(id, loadReceiptSavedSearches);\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map((item) => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/receipts/export`;\n const data = JSON.stringify({\n receipt_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'contributor_name',\n 'contributor_url',\n 'contributor_type',\n 'party',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'county',\n 'district',\n 'occupation',\n 'employer',\n 'amount',\n 'receipt_date',\n 'election_type',\n 'conduit',\n 'recipient_name',\n 'recipient_url',\n 'source_type',\n 'filing_url',\n 'contributor_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function searchReceipt({ id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_RECEIPT });\n\n return dispatch(\n fetchSearchReceipt({\n url: `${gon.moneyballApiV2}/api/v1/receipts/${id}`,\n transformResponse: transformReceiptContributions,\n actionType: constants.RECEIVE_RECEIPT_DONE,\n }),\n );\n };\n}\n\nfunction fetchCompanyStakeholdersContributions(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_RECEIPTS });\n\n const {\n page = 1,\n sort_column: sort,\n sort_direction: direction,\n super_candidate_recipients = {},\n } = payload;\n const { tokens: super_candidates } = super_candidate_recipients;\n const data = {\n search_form: { page, sort, direction, super_candidates },\n };\n const isSearch = isSearchPayload(payload);\n const url = '/api_web/stakeholder-management/company_contributions/lookup';\n const request = $.ajax({ url, data });\n\n function onSuccess(response) {\n return dispatch({\n error: false,\n type: constants.RECEIVE_RECEIPTS_DONE,\n toResetSelectedItems: isSearch,\n payload: transformReceiptsForFE(response.items),\n paginator: transformPaginator(response),\n sort: {\n ...transformSort(payload),\n toReset: isSearch,\n },\n });\n }\n\n return Promise.resolve(request)\n .then(onSuccess);\n };\n}\n\nexport function searchReceipts(payload = {}, stakeholdersContributionsOnly = false) {\n if (stakeholdersContributionsOnly) {\n return fetchCompanyStakeholdersContributions(payload);\n }\n\n return (dispatch) => {\n dispatch({ type: constants.FETCH_RECEIPTS });\n\n return dispatch(\n fetchSearch({\n payload,\n url: `${gon.moneyballApiV2}/api/v1/receipts/lookup`,\n actionType: constants.RECEIVE_RECEIPTS_DONE,\n transformResponsePayload: transformReceiptsForFE,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformOptionsSearchForBE,\n saveRecentAdvancedSearch: saveReceiptAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return (dispatch) => dispatch(resetAppliedFilters());\n}\n","import { omitBy, isNil } from 'lodash';\n\nimport { RECENT } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getValue } from 'utils/transformers/advancedSearch';\n\nfunction transformRecentOptionsForBE({ options }) {\n const {\n date: { startDate, endDate } = {},\n keywords,\n itemType,\n state,\n tags,\n priority,\n position,\n emailFrequency,\n trackedItems,\n sharedItems,\n savedItems,\n removedItems,\n readItems,\n } = options || {};\n\n return omitBy({\n ...getValue('date_from', startDate),\n ...getValue('date_to', endDate),\n ...getValue('subscription_tokens', keywords),\n ...getValue('document_types', itemType),\n ...getValue('states', state),\n ...getValue('tags', tags),\n ...getValue('priorities', priority),\n ...getValue('positions', position),\n ...getValue('frequency', emailFrequency),\n ...getValue('tracked_items', trackedItems),\n ...getValue('shared_items', sharedItems),\n ...getValue('saved_only', savedItems),\n ...getValue('removed_only', removedItems),\n ...getValue('read_only', readItems),\n }, isNil);\n}\n\nfunction transformTrackedOptionsForBE({ options }) {\n const {\n dateAdded: { startDate: addedStartDate, endDate: addedEndDate } = {},\n lastUpdate: { startDate: updatedStartDate, endDate: updatedEndDate } = {},\n itemType,\n state,\n priority,\n position,\n emailFrequency,\n savedItems,\n removedItems,\n status,\n tags,\n federalBillStatus,\n stateBillStatus,\n } = options || {};\n\n return omitBy({\n ...getValue('last_update_from', updatedStartDate),\n ...getValue('last_update_to', updatedEndDate),\n ...getValue('document_types', itemType),\n ...getValue('states', state),\n ...getValue('priorities', priority),\n ...getValue('positions', position),\n ...getValue('date_added_from', addedStartDate),\n ...getValue('date_added_to', addedEndDate),\n ...getValue('tags', tags),\n ...getValue('frequency', emailFrequency),\n ...getValue('saved_only', savedItems),\n ...getValue('show_active_only', status),\n ...getValue('removed_only', removedItems),\n ...getValue('federal_bill_status', federalBillStatus),\n ...getValue('state_bill_status', stateBillStatus),\n }, isNil);\n}\n\nexport function transformOptionsForBE({ type, searchData }) {\n return type === RECENT\n ? transformRecentOptionsForBE(searchData)\n : transformTrackedOptionsForBE(searchData);\n}\n\nfunction transformRecentOptionsForUI({ search_params }) {\n const {\n date_from,\n date_to,\n subscription_tokens,\n document_types,\n states,\n tags,\n priorities,\n positions,\n frequency,\n tracked_items,\n tracked_items_only,\n exclude_tracked_items,\n shared_items,\n show_only_shared_documents,\n exclude_shared_documents,\n saved_only,\n removed_only,\n read_only,\n } = search_params || {};\n\n return omitBy({\n ...getValue('date', {\n ...getValue('startDate', date_from),\n ...getValue('endDate', date_to),\n }),\n ...getValue('keywords', subscription_tokens),\n ...getValue('itemType', document_types),\n ...getValue('state', states),\n ...getValue('tags', tags),\n ...getValue('priority', priorities),\n ...getValue('position', positions),\n ...getValue('emailFrequency', frequency),\n ...getValue('savedItems', saved_only),\n ...getValue('removedItems', removed_only),\n ...getValue('readItems', read_only),\n ...getValue('trackedItems', tracked_items || tracked_items_only || exclude_tracked_items),\n ...getValue('sharedItems', shared_items\n || show_only_shared_documents\n || exclude_shared_documents),\n }, isNil);\n}\n\nfunction transformTrackedOptionsForUI({ search_params }) {\n const {\n last_update_from,\n last_update_to,\n document_types,\n states,\n priorities,\n positions,\n date_added_from,\n date_added_to,\n tags,\n frequency,\n saved_only,\n show_active_only,\n removed_only,\n federal_bill_status,\n state_bill_status,\n } = search_params || {};\n\n return omitBy({\n ...getValue('dateAdded', {\n ...getValue('startDate', date_added_from),\n ...getValue('endDate', date_added_to),\n }),\n ...getValue('lastUpdate', {\n ...getValue('startDate', last_update_from),\n ...getValue('endDate', last_update_to),\n }),\n ...getValue('itemType', document_types),\n ...getValue('state', states),\n ...getValue('priority', priorities),\n ...getValue('position', positions),\n ...getValue('emailFrequency', frequency),\n ...getValue('savedItems', saved_only),\n ...getValue('removedItems', removed_only),\n ...getValue('status', show_active_only),\n ...getValue('tags', tags),\n ...getValue('federalBillStatus', federal_bill_status),\n ...getValue('stateBillStatus', state_bill_status),\n }, isNil);\n}\n\nexport function transformOptionsForUI({ type, searchData }) {\n return type === RECENT\n ? transformRecentOptionsForUI(searchData)\n : transformTrackedOptionsForUI(searchData);\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\nimport { getValue } from 'utils/transformers/advancedSearch';\n\nimport constants from '../constants';\nimport { transformOptionsForBE, transformSearchesForUI } from '../utils/transformers';\n\nexport function loadStakeholdersRecentSearches(params) {\n const recentSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data))\n );\n}\n\nexport function loadStakeholdersSavedSearches(params) {\n const savedSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data)\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, customData, isSaved = true) {\n const { id, name } = data;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: transformOptionsForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadStakeholdersRecentSearches(params, customData)\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadStakeholdersRecentSearches(params, customData)\n );\n}\n\nexport function removeAdvancedSearchItem(id) {\n return onRemoveItem(\n id,\n params => loadStakeholdersSavedSearches(params));\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, null, false));\n }\n\n return null;\n };\n}\n\nexport { setLastSearchId } from 'redux/advancedSearch/actions';\n","export { createStakeholder, deleteStakeholders } from '../../common/actions';\nexport { fetchStakeholders, fetchStakeholdersMapData, resetState } from './data';\nexport { getAllEmails, submitExport } from './export';\nexport { submitAppliedTags } from './tags';\nexport { submitAppliedLists } from './lists';\n\nexport {\n loadStakeholdersRecentSearches,\n loadStakeholdersSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n setLastSearchId,\n} from './advancedSearch';\n","import { concat, difference, intersection, isEmpty } from 'lodash';\n\nimport { REGULATION_EQUIVALENT_KEYS } from 'components/State/Regulations/utils/constants';\n\nexport function getSelectedTypesForBE(selectedTypes) {\n const regulationsKey = REGULATION_EQUIVALENT_KEYS.toString();\n const hasRegulation = selectedTypes && selectedTypes.includes(regulationsKey);\n\n if (hasRegulation) {\n return concat(\n selectedTypes.filter(type => type !== regulationsKey),\n REGULATION_EQUIVALENT_KEYS,\n );\n }\n\n return selectedTypes;\n}\n\nexport function getSelectedTypesForUI(selectedTypes) {\n if (isEmpty(selectedTypes)) {\n return [];\n }\n\n const regulationsType = intersection(REGULATION_EQUIVALENT_KEYS, selectedTypes);\n\n if (!isEmpty(regulationsType)) {\n return [\n ...difference(selectedTypes, REGULATION_EQUIVALENT_KEYS),\n REGULATION_EQUIVALENT_KEYS.toString(),\n ];\n }\n\n return selectedTypes;\n}\n","import { isNil, omitBy, isEmpty } from 'lodash';\n\nimport { formatGlobalDate } from 'utils/date';\nimport { getSelectedTypesForBE } from 'redux/state/regulations/utils';\n\nfunction getData(data) {\n if (isEmpty(data)) {\n return [];\n }\n\n return data;\n}\n\nexport function transformPublicationsForUI(publications = {}) {\n const { data } = publications;\n\n return {\n allItems: getData(data).map((item) => {\n const {\n url,\n display_document_type,\n published_at,\n highlights,\n action_type_title,\n text_snippet,\n } = item || {};\n const {\n action_type_title: highlightAction,\n 'text_files.text': highlightSnippet,\n } = highlights || {};\n\n return {\n url,\n title: highlightAction || action_type_title,\n textSnippet: highlightSnippet || text_snippet,\n actionType: display_document_type,\n date: formatGlobalDate(published_at),\n };\n }),\n };\n}\n\nexport function getTimelineTitle(title, count) {\n if (isNil(count) || count < 2) {\n return title;\n }\n\n return `${title} (${count})`;\n}\n\nexport function transformTimelineForUI(publications = {}) {\n const { data, total_count } = publications;\n\n return {\n totalCount: total_count,\n allItems: getData(data).map((item) => {\n const { url, title, published_at, action_type_title, count } = item || {};\n\n return {\n href: url,\n text: title,\n title: getTimelineTitle(action_type_title, count),\n date: published_at,\n };\n }),\n };\n}\n\nexport function transformPublicationsForBE(data = {}) {\n const {\n id,\n keywordSearch,\n rangeDate,\n selectedTypes,\n withRelatedRegulations,\n } = data;\n const { startDate, endDate } = rangeDate || {};\n\n return {\n regulation_id: id,\n ...omitBy({\n lookup_keyword: keywordSearch,\n publication_date_from: startDate,\n publication_date_to: endDate,\n with_related_regulations: withRelatedRegulations,\n document_types: getSelectedTypesForBE(selectedTypes || []),\n }, isNil),\n };\n}\n","const keyword = 'FEDERAL_PROFILE';\n\nconst constants = {\n FETCH_COMMITTEE: `${keyword}/FETCH_COMMITTEE`,\n RECEIVE_COMMITTEE_DONE: `${keyword}/RECEIVE_COMMITTEE_DONE`,\n RESET_COMMITTEE: `${keyword}/RESET_COMMITTEE`,\n FETCH_STAFFERS: `${keyword}/FETCH_STAFFERS`,\n RECEIVE_STAFFERS_DONE: `${keyword}/RECEIVE_STAFFERS_DONE`,\n FETCH_COMMITTEE_MEMBERS: `${keyword}/FETCH_COMMITTEE_MEMBERS`,\n RECEIVE_COMMITTEE_MEMBERS_DONE: `${keyword}/RECEIVE_COMMITTEE_MEMBERS_DONE`,\n FETCH_SUBCOMMITTEES: `${keyword}/FETCH_SUBCOMMITTEES`,\n RECEIVE_SUBCOMMITTEES_DONE: `${keyword}/RECEIVE_SUBCOMMITTEES_DONE`,\n LOAD_OVERVIEW: `${keyword}/LOAD_OVERVIEW`,\n LOAD_OVERVIEW_DONE: `${keyword}/LOAD_OVERVIEW_DONE`,\n FETCH_TAGS: `${keyword}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${keyword}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${keyword}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${keyword}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${keyword}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n FETCH_MY_FEED_DOCUMENTS: `${keyword}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${keyword}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${keyword}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n UPDATE_PROFILE_MY_FEED: `${keyword}/UPDATE_PROFILE_MY_FEED`,\n};\n\nexport default constants;\n","const PREFIX = 'FEDERAL_PROFILE';\n\nconst constants = {\n FETCH_PROFILE: `${PREFIX}/FETCH_PROFILE`,\n RECEIVE_PROFILE_DONE: `${PREFIX}/RECEIVE_PROFILE_DONE`,\n RESET_PROFILE: `${PREFIX}/RESET_PROFILE`,\n FETCH_STAFFERS: `${PREFIX}/FETCH_STAFFERS`,\n RECEIVE_STAFFERS_DONE: `${PREFIX}/RECEIVE_STAFFERS_DONE`,\n FETCH_NEWS: `${PREFIX}/FETCH_NEWS`,\n RECEIVE_NEWS_DONE: `${PREFIX}/RECEIVE_NEWS_DONE`,\n FETCH_DISTRICT_INFO: `${PREFIX}/FETCH_DISTRICT_INFO`,\n RECEIVE_DISTRICT_INFO: `${PREFIX}/RECEIVE_DISTRICT_INFO`,\n RESET_DISTRICT_INFO: `${PREFIX}/RESET_DISTRICT_INFO`,\n FETCH_LARGEST_EMPLOYEE: `${PREFIX}/FETCH_LARGEST_EMPLOYEE`,\n RECEIVE_LARGEST_EMPLOYEE_DONE: `${PREFIX}/RECEIVE_LARGEST_EMPLOYEE_DONE`,\n FETCH_LEGISLATOR_WITH_DISTRICT: `${PREFIX}/FETCH_LEGISLATOR_WITH_DISTRICT`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n UPDATE_PROFILE_MY_FEED: `${PREFIX}/UPDATE_PROFILE_MY_FEED`,\n};\n\nexport default constants;\n","const KEYWORD = 'keyword';\n\nconst constants = {\n CREATE_KEYWORD: 'DASHBOARD_DISCOVERY_KEYWORD_MANAGER/CREATE_KEYWORD',\n UPDATE_KEYWORD: 'DASHBOARD_DISCOVERY_KEYWORD_MANAGER/UPDATE_KEYWORD',\n FETCH_KEYWORD: 'DASHBOARD_DISCOVERY_KEYWORD_MANAGER/FETCH_KEYWORD',\n RECEIVE_KEYWORD: 'DASHBOARD_DISCOVERY_KEYWORD_MANAGER/RECEIVE_KEYWORD',\n CLEAR_KEYWORD: 'DASHBOARD_DISCOVERY_KEYWORD_MANAGER/CLEAR_KEYWORD',\n DELETE_KEYWORD: 'DASHBOARD_DISCOVERY_KEYWORD_MANAGER/DELETE_KEYWORD',\n};\n\nexport function receiveKeyword(payload) {\n return { type: constants.RECEIVE_KEYWORD, payload };\n}\n\nexport function clearKeyword(payload) {\n return { type: constants.CLEAR_KEYWORD, payload };\n}\n\nexport function fetchKeyword(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_KEYWORD, payload });\n\n // uses api_web_royal_events_subscriptions_path\n const url = `/api_web/royal_events/subscriptions/${payload.token}`;\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax)\n .then(result => dispatch(receiveKeyword(result)))\n .catch((error) => {\n dispatch(receiveKeyword({}));\n\n throw error;\n });\n };\n}\n\nexport function createKeyword(payload) {\n return (dispatch) => {\n dispatch({ type: constants.CREATE_KEYWORD, payload });\n\n // uses api_web_royal_events_subscriptions_path\n const url = '/api_web/royal_events/subscriptions';\n const method = 'POST';\n const contentType = 'application/json';\n const data = JSON.stringify({ subscription: payload.subscription });\n\n const ajax = $.ajax({\n method,\n url,\n data,\n contentType,\n });\n\n return Promise.resolve(ajax);\n };\n}\n\nexport function updateKeyword(payload) {\n return (dispatch) => {\n dispatch({ type: constants.UPDATE_KEYWORD, payload });\n\n // uses api_web_royal_events_subscription_path\n const { type, token, subscription } = payload || {};\n const url = `/api_web/discovery/subscriptions/trackings/${type}/${token}`;\n const data = JSON.stringify(subscription);\n const contentType = 'application/json';\n const method = 'PUT';\n\n const ajax = $.ajax({ url, data, contentType, method });\n\n return Promise.resolve(ajax);\n };\n}\n\nexport function deleteKeyword(payload) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_KEYWORD, payload });\n\n // uses api_web_royal_events_subscription_path\n const url = `/api_web/royal_events/subscriptions/${payload.token}`;\n const method = 'DELETE';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax);\n };\n}\n\nconst defaultState = {\n keyword: {\n subscribable_slug: KEYWORD,\n },\n ui: {\n loading: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_KEYWORD:\n return {\n ...state,\n keyword: defaultState.keyword,\n ui: { ...state.ui, loading: true },\n };\n case constants.RECEIVE_KEYWORD:\n return {\n ...state,\n keyword: action.payload,\n ui: { ...state.ui, loading: false },\n };\n case constants.CLEAR_KEYWORD:\n return {\n ...state,\n keyword: defaultState.keyword,\n };\n case constants.DELETE_KEYWORD:\n return {\n ...state,\n keyword: defaultState.keyword,\n };\n default:\n return state;\n }\n}\n","import { chunk, isEmpty } from 'lodash';\n\nimport {\n DEFAULT_SORT_KEY,\n} from 'components/DashboardTrackingCenter/components/TheadMapping/utils';\nimport SORT_DIRECTIONS from 'utils/constants/sortDirections';\n\nconst constants = {\n FETCH_EVENTS: 'DASHBOARD_TRACKING_CENTER/FETCH_EVENTS',\n RECEIVE_EVENTS: 'DASHBOARD_TRACKING_CENTER/RECEIVE_EVENTS',\n FETCH_REPORT_ITEMS: 'DASHBOARD_TRACKING_CENTER/FETCH_REPORT_ITEMS',\n RECEIVE_REPORT_ITEMS: 'DASHBOARD_TRACKING_CENTER/RECEIVE_REPORT_ITEMS',\n};\n\nfunction getDefaultSortData(sortData, subscribableSlug) {\n if (subscribableSlug === 'federal_register_regulation') {\n return {};\n }\n\n if (isEmpty(sortData)) {\n return {\n sort: DEFAULT_SORT_KEY,\n direction: SORT_DIRECTIONS.DESC,\n };\n }\n\n return sortData;\n}\n\nexport function fetchEvents(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_EVENTS, payload });\n\n // uses tracking_center_api_web_royal_events_events_path\n const url = '/api_web/royal_events/events/tracking_center';\n const method = 'GET';\n const { page = 1, subscribableSlug, sortData = {}, ...searchForm } = payload || {};\n const { sort, direction } = getDefaultSortData(sortData, subscribableSlug);\n\n const data = {\n ...searchForm,\n sort_column: sort,\n sort_direction: direction,\n subscribable_slug: subscribableSlug,\n per_page: 50,\n page,\n };\n\n const ajax = $.ajax({\n method,\n url,\n data,\n });\n\n function onSuccess(result) {\n dispatch({\n type: constants.RECEIVE_EVENTS,\n payload: { ...result, type: subscribableSlug },\n sortData: { sort, direction },\n });\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess);\n };\n}\n\nexport function fetchReportItems(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_REPORT_ITEMS, payload });\n\n const { url } = payload;\n const method = 'GET';\n\n const idsChunks = chunk(payload.ids, 100);\n\n idsChunks.forEach((ids) => {\n const data = { ids };\n\n const ajax = $.ajax({\n method,\n url,\n data,\n });\n\n function onSuccess(result) {\n dispatch({ type: constants.RECEIVE_REPORT_ITEMS, payload: result });\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess);\n });\n };\n}\n\nconst defaultState = {\n events: [],\n reportItems: [],\n reportItemIds: [],\n searchForm: {},\n sortData: { sort: '', direction: '' },\n pagination: {\n total_pages: 0,\n },\n ui: {\n loadingEvents: false,\n },\n};\n\nfunction getAggregationValue(aggregation) {\n const { bill_ids: bills, regulation_ids: regulations } = aggregation || {};\n\n if (isEmpty(bills) && isEmpty(regulations)) {\n return [];\n }\n\n if (isEmpty(regulations)) {\n return bills;\n }\n\n return regulations;\n}\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_EVENTS:\n return {\n ...state,\n events: [],\n reportItemIds: [],\n searchForm: action.payload,\n sortData: action.sortData,\n ui: { ...state.ui, loadingEvents: true },\n };\n case constants.RECEIVE_EVENTS:\n return {\n ...state,\n events: action.payload.data,\n type: action.payload.type,\n reportItemIds: getAggregationValue(action.payload.aggregation),\n pagination: action.payload.pagination,\n sortData: action.sortData,\n ui: { ...state.ui, loadingEvents: false },\n };\n case constants.FETCH_REPORT_ITEMS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingReportItems: true },\n reportItems: [],\n };\n case constants.RECEIVE_REPORT_ITEMS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingReportItems: false },\n reportItems: [\n ...state.reportItems,\n ...action.payload.data,\n ],\n };\n default:\n return state;\n }\n}\n","const constants = {\n STOP_LOADING: 'GRASSROOTS_CAMPAIGNS/STOP_LOADING',\n\n FETCH_CAMPAIGNS: 'GRASSROOTS_CAMPAIGNS/FETCH_CAMPAIGNS',\n RECEIVE_CAMPAIGNS: 'GRASSROOTS_CAMPAIGNS/RECEIVE_CAMPAIGNS',\n};\n\n\nexport function fetchCampaigns(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CAMPAIGNS, payload });\n\n // uses api_web_grassroots_campaigns_path\n const { page = 1 } = payload;\n const url = '/api_web/grassroots/campaigns';\n const method = 'GET';\n const data = {\n per_page: 50,\n page,\n };\n\n const ajax = $.ajax({\n method,\n url,\n data,\n });\n\n return Promise.resolve(ajax)\n .then(response =>\n dispatch({ type: constants.RECEIVE_CAMPAIGNS, payload: response })\n )\n .catch(() => {\n dispatch({ type: constants.STOP_LOADING });\n });\n };\n}\n\n\nexport const defaultState = {\n campaigns: [],\n searchForm: {},\n pagination: {\n total_pages: 0,\n },\n ui: {\n loading: false,\n },\n};\n\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_CAMPAIGNS:\n return {\n ...state,\n campaigns: defaultState.campaigns,\n pagination: defaultState.pagination,\n searchForm: {\n ...state.searchForm,\n ...action.payload,\n },\n ui: {\n ...state.ui,\n loading: true,\n },\n };\n case constants.RECEIVE_CAMPAIGNS:\n return {\n ...state,\n campaigns: action.payload.data,\n pagination: action.payload.pagination,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n case constants.STOP_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\nimport size from 'lodash/size';\n\nimport { PAC_PAGE_SIZE } from 'components/Moneyball/PACRankingPages/Lookup/utils';\nimport { DISBURSEMENTS } from 'components/Moneyball/utils/constants';\n\nimport constants from './constants';\n\nexport const defaultState = {\n error: false,\n filtersOptions: {},\n filters: {\n transaction: DISBURSEMENTS,\n sector: { label: 'All', value: undefined },\n industry: null,\n category: null,\n cycle: null,\n subtype: null,\n },\n data: {\n totals: null,\n graph: null,\n lookup: null,\n },\n ui: {\n isInfiniteDisabled: false,\n isFiltersLoading: false,\n isDataLoading: false,\n isLoading: false,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.DATA_REQUEST:\n return {\n ...state,\n data: {\n ...state.data,\n totals: null,\n graph: null,\n },\n ui: {\n ...state.ui,\n isDataLoading: true,\n },\n };\n case constants.DATA_SUCCESS:\n return {\n ...state,\n error: action.error,\n data: {\n ...state.data,\n ...action.payload,\n },\n ui: {\n ...state.ui,\n isDataLoading: false,\n },\n };\n case constants.DATA_LOOKUP_REQUEST:\n return {\n ...state,\n data: {\n ...state.data,\n lookup: action.isInfinite ? state.data.lookup : null,\n },\n ui: {\n ...state.ui,\n isLoading: !action.isInfinite,\n },\n };\n case constants.DATA_LOOKUP_SUCCESS:\n return {\n ...state,\n error: action.error,\n data: {\n ...state.data,\n lookup: action.isInfinite ? [...state.data.lookup, ...action.payload] : action.payload,\n },\n ui: {\n ...state.ui,\n isLoading: false,\n isInfiniteDisabled: size(action.payload) < PAC_PAGE_SIZE,\n },\n };\n case constants.FILTERS_REQUEST:\n return {\n ...state,\n filtersOptions: {},\n ui: {\n ...state.ui,\n isFiltersLoading: true,\n },\n };\n case constants.FILTERS_SUCCESS:\n return {\n ...state,\n error: action.error,\n filtersOptions: action.payload,\n ui: {\n ...state.ui,\n isFiltersLoading: false,\n },\n };\n case constants.UPDATE_FILTERS:\n return {\n ...state,\n filters: {\n ...state.filters,\n ...action.payload,\n },\n ui: {\n ...state.ui,\n isLoading: true,\n isDataLoading: true,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n lookUp,\n});\n","const PREFIX = 'FEDERAL_COMMITTEES';\n\nconst constants = {\n STRATEGY_SLUG: 'federal_committee',\n STRATEGY_SLUG_FOR_EXPORT: 'federal_committees',\n FETCH_COMMITTEES: `${PREFIX}/FETCH_COMMITTEES`,\n RECEIVE_COMMITTEES_DONE: `${PREFIX}/RECEIVE_COMMITTEES_DONE`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n FETCH_COMMITTEES_EMAILS: `${PREFIX}/FETCH_COMMITTEES_EMAILS`,\n RECEIVE_COMMITTEES_EMAILS_DONE: `${PREFIX}/RECEIVE_COMMITTEES_EMAILS_DONE`,\n RESET_COMMITTEES: `${PREFIX}/RESET_COMMITTEES`,\n SET_COMMITTEES: `${PREFIX}/SET_COMMITTEES`,\n BULK_UPDATE_DATA: `${PREFIX}/BULK_UPDATE_DATA`,\n BULK_TRACK_DATA: `${PREFIX}/BULK_TRACK_DATA`,\n BULK_TRACK_DATA_DONE: `${PREFIX}/BULK_TRACK_DATA_DONE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n BULK_SHARE_TO_MY_FEED: `${PREFIX}/BULK_SHARE_TO_MY_FEED`,\n BULK_SHARE_TO_MY_FEED_DONE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_DONE`,\n BULK_SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_FAILURE`,\n};\n\nexport default constants;\n","const SMART_LISTS_BUILDER_PREFIX = 'SM_SMART_LISTS_BUILDER';\nexport const UPDATE_IS_TEMPLATE = `${SMART_LISTS_BUILDER_PREFIX}/UPDATE_IS_TEMPLATE`;\nexport const UPDATE_TITLE = `${SMART_LISTS_BUILDER_PREFIX}/UPDATE_TITLE`;\nexport const UPDATE_DESCRIPTION = `${SMART_LISTS_BUILDER_PREFIX}/UPDATE_DESCRIPTION`;\nexport const UPDATE_TRANSACTOR = `${SMART_LISTS_BUILDER_PREFIX}/UPDATE_TRANSACTOR`;\nexport const UPDATE_DATA = `${SMART_LISTS_BUILDER_PREFIX}/UPDATE_DATA`;\nexport const GET_LIST_START = `${SMART_LISTS_BUILDER_PREFIX}/GET_LIST_START`;\nexport const GET_LIST_DONE = `${SMART_LISTS_BUILDER_PREFIX}/GET_LIST_DONE`;\nexport const CREATE_LIST_START = `${SMART_LISTS_BUILDER_PREFIX}/CREATE_LIST_START`;\nexport const CREATE_LIST_DONE = `${SMART_LISTS_BUILDER_PREFIX}/CREATE_LIST_DONE`;\nexport const CREATE_LIST_FAIL = `${SMART_LISTS_BUILDER_PREFIX}/CREATE_LIST_FAIL`;\nexport const RESET = `${SMART_LISTS_BUILDER_PREFIX}/RESET`;\n\nconst STAKEHOLDER_SMART_LIST_PREFIX = 'STAKEHOLDER_SMART_LIST';\nexport const FETCH_SMART_LISTS = `${STAKEHOLDER_SMART_LIST_PREFIX}/FETCH_SMART_LISTS`;\nexport const RECEIVE_SMART_LISTS_DONE = `${STAKEHOLDER_SMART_LIST_PREFIX}/RECEIVE_SMART_LISTS_DONE`;\nexport const DELETE_SMART_LIST = `${STAKEHOLDER_SMART_LIST_PREFIX}/DELETE_SMART_LIST`;\nexport const DELETE_SMART_LIST_DONE = `${STAKEHOLDER_SMART_LIST_PREFIX}/DELETE_SMART_LIST_DONE`;\n\nexport const SORT_BY_TYPES = {\n NEWEST_TO_OLDEST: 'newestToOldest',\n OLDEST_TO_NEWEST: 'oldestToNewest',\n A_TO_Z: 'aToZ',\n Z_TO_A: 'zToA',\n};\n","import { isEmpty, isArray, isObject, isString } from 'lodash';\n\nimport { DEFAULT_PER_PAGE } from './constants';\n\nexport function transformSavedSearchPaginator(data) {\n return {\n current: data.current_page,\n total: data.total_pages,\n perPage: DEFAULT_PER_PAGE,\n totalCount: data.total_count,\n };\n}\n\nexport function getValue(key, value) {\n if (isEmpty(value)) {\n return null;\n }\n\n /** Parse select format to: { value, label } when array values are string */\n if (isArray(value)) {\n return {\n [key]: value.map(item => (\n isString(item) ? { value: item, label: item } : item\n )),\n };\n }\n\n return { [key]: value };\n}\n\nexport function transformArray(values) {\n return values.map((item) => {\n if (isObject(item)) {\n return { label: item.value || '' };\n }\n\n return { label: item };\n });\n}\n\nexport function getDisplayItem(label, value) {\n if (isEmpty(value)) {\n return undefined;\n }\n\n if (isArray(value)) {\n return { label, value: transformArray(value) };\n }\n\n return { label, value };\n}\n\n\nexport function getDisplayRangeItem(label, start, end) {\n if (!isEmpty(start) && !isEmpty(end)) {\n return {\n label: `${label} between`,\n value: `${start} and ${end}`,\n };\n }\n\n if (!isEmpty(start)) {\n return {\n label: `${label} greater than`,\n value: start,\n };\n }\n\n if (!isEmpty(end)) {\n return {\n label: `${label} less than`,\n value: end,\n };\n }\n\n return undefined;\n}\n\nexport function getDisplayData(title, filters, data) {\n return {\n title,\n filters,\n data,\n };\n}\n\nexport function mapBackendValues(state, values) {\n if (isEmpty(state) || isEmpty(values)) {\n return null;\n }\n\n return state.map(value => values[value]);\n}\n\nexport function loadAdvancedSearch(id) {\n const url = ['/api_web/advanced_search/searches', id].join('/');\n const request = $.get(url);\n\n return Promise.resolve(request);\n}\n","import { transformDataLookupRequest } from 'redux/moneyball/pacRankingPages/lookup/utils';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\n\nexport function fetchLookupData({ transaction, filters, all }) {\n const endpoints = {\n disbursements: `${gon.moneyballApiV2}/api/v1/pac_ranking/lookup/disbursements`,\n receipts: `${gon.moneyballApiV2}/api/v1/pac_ranking/lookup/receipts`,\n };\n\n const ajax = $.ajax({\n type: 'POST',\n url: endpoints[transaction],\n contentType: REQUEST_CONTENT_TYPE,\n data: transformDataLookupRequest({ ...filters, all }),\n });\n\n return Promise.resolve(ajax);\n}\n","import {\n isEmpty,\n isString,\n sortedUniqBy,\n upperFirst,\n toString,\n truncate,\n reject,\n map,\n} from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getPhoneLink, getDirectMailLink } from 'utils/socialMedia/links';\nimport { TWITTER_LINK } from 'utils/constants/socialMedia';\nimport { STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nfunction getAddress(address, city, state) {\n if (isEmpty(address)) {\n return '';\n }\n\n if (isEmpty(city) || isEmpty(state)) {\n return { value: address };\n }\n\n return { value: `${address}, ${city}, ${state}` };\n}\n\nfunction getOffices(offices) {\n return map(offices, ({ title, phones, fax, address_1, address_2, city, state_alpha2 }) => ({\n title,\n phones: phones && map(phones, phone => ({ value: phone, href: phone && getPhoneLink(phone) })),\n fax,\n faxLink: fax && getPhoneLink(fax),\n address: reject([\n getAddress(address_1, city, state_alpha2),\n getAddress(address_2),\n ], isEmpty),\n }));\n}\n\nfunction getFaxes(offices) {\n const faxes = map(offices, ({ fax }) => fax).filter(Boolean);\n\n return map(faxes, value => ({ href: getPhoneLink(value), value }));\n}\n\nfunction getWebsites(websites) {\n return map(websites, (site) => {\n const textToDisplay = truncate(site, { length: 34, separator: /,?\\.* +/ });\n\n return {\n href: site,\n value: textToDisplay,\n isExternal: true,\n };\n });\n}\n\nfunction getTwitterMedias(twitter) {\n return twitter && twitter.map(media => ({\n href: `${TWITTER_LINK}/${media}`,\n value: media,\n isExternal: true,\n }));\n}\n\nfunction getFacebookMedias(facebook, name) {\n return facebook && facebook.map((href, index) => {\n const value = facebook.length > 1 ? `${name} ${index + 1}` : name;\n\n return { href, value, isExternal: true };\n });\n}\n\nexport function transformProfileForUI(legislator) {\n const {\n id,\n emails,\n facebook,\n display_name,\n homepage,\n party_slug,\n party_short,\n phone_number,\n avatar_url,\n chamber,\n chamber_category,\n serving_since,\n serving_until,\n twitter,\n role,\n state,\n universal_moniker,\n district,\n committees,\n website,\n offices,\n is_active,\n full_biography,\n description,\n current_leadership_role_title,\n } = legislator;\n\n const currentState = !isEmpty(state) && !isEmpty(state.name) ? {\n ...(!isEmpty(state.alpha2) && { href: `/state/states/${state.alpha2}` }),\n value: state.name,\n alpha2: state.alpha2,\n } : {};\n\n const serving_label = is_active\n ? `Serving since ${serving_since}`\n : `Served from ${serving_since}-${serving_until}`;\n\n const getPhone = () => {\n if (!(phone_number && isString(phone_number))) {\n return null;\n }\n\n return { href: getPhoneLink(phone_number), value: phone_number };\n };\n\n return {\n profile: {\n id: toString(id),\n chamber: upperFirst(chamber),\n chamberCategory: chamber_category,\n role,\n party: {\n id: party_short,\n slug: party_slug,\n moniker: universal_moniker,\n avatarUrl: avatar_url,\n },\n },\n keyDetails: {\n homepage,\n emails: emails && emails.map(email => ({ href: getDirectMailLink(email), value: email })),\n phone: getPhone(),\n websites: getWebsites(website),\n district: district ? district.number : '',\n districtInfo: district,\n twitter: getTwitterMedias(twitter),\n facebook: getFacebookMedias(facebook, display_name),\n offices: getOffices(offices),\n faxes: getFaxes(offices),\n serving: serving_label,\n servingSince: serving_since,\n state: currentState,\n districtMap: district,\n isCurrent: is_active,\n biography: {\n description,\n fullBiography: full_biography,\n },\n },\n recordId: id,\n documentType: DOCUMENT_TYPES.STATE_LEGISLATOR,\n itemType: STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n currentLeadershipRole: current_leadership_role_title,\n committeeAssignments: sortedUniqBy(committees, committee => committee.name),\n };\n}\n","import { isEmpty, map, omitBy } from 'lodash';\n\nexport function transformPublicRecordsForBE(searchData = {}) {\n const { id, tags, keywordSearch, rangeDate = {}, selectedTypes = [] } = searchData;\n\n return {\n legislator_id: id,\n ...omitBy({\n legislator_lookup_keyword: keywordSearch,\n date_from: rangeDate && rangeDate.startDate,\n date_to: rangeDate && rangeDate.endDate,\n collections: [...selectedTypes],\n tag_ids: map(tags, 'value'),\n }, isEmpty),\n };\n}\n","export * from './keyDetails';\nexport * from './publicRecords';\n","import constants from './constants';\n\nconst baseUrl = '/api_web/dismissible_alerts';\n\nexport function fetchAlert(type) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_ALERT });\n\n const url = `${baseUrl}/${type}`;\n const ajax = $.get(url);\n\n function onSuccess(result) {\n const showAlert = !result.data;\n\n dispatch({ type: constants.FETCH_ALERT_DONE, payload: showAlert });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.FETCH_ALERT_FAILURE });\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function dismissAlert(type) {\n return (dispatch) => {\n dispatch({ type: constants.DISMISS_ALERT });\n\n const data = { alert_type: type };\n const ajax = $.post(baseUrl, data);\n\n function onSuccess() {\n dispatch({ type: constants.DISMISS_ALERT_DONE });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.DISMISS_ALERT_FAILURE });\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function resetData() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_ALERT });\n };\n}\n","import { createFileId } from 'components/core/FileUpload/utils';\nimport {\n createAction,\n ajaxRequestToPromise,\n} from 'redux/utils';\n\nimport {\n FILES_ADDED,\n DELETE_FILE,\n EMPTY_STATE,\n} from './constants';\n\nexport const filesAdded = createAction(FILES_ADDED);\nexport const deleteFile = createAction(DELETE_FILE);\nexport const emptyState = createAction(EMPTY_STATE);\n\nexport function addFiles(files, setProgress, setFailures) {\n const fileList = Array.from(files);\n\n function parseFilesToUploadFormat(responses) {\n return responses.map((file = {}, index) => ({\n file_upload_id: file.id,\n file_upload_url: file.file_url,\n name: fileList[index].name,\n size: fileList[index].size,\n }));\n }\n\n return (dispatch) => {\n dispatch(filesAdded(fileList));\n\n const url = '/api_web/file_uploads';\n const requests = fileList.map((file) => {\n const data = new FormData();\n data.append('file', file);\n data.append('strategy_slug', 'grm_card_document');\n data.append('required_inputs', '{}');\n\n const request = $.ajax({\n data,\n url,\n method: 'POST',\n cache: false,\n contentType: false,\n processData: false,\n xhr: () => {\n const xhr = new window.XMLHttpRequest();\n xhr.upload.onprogress = (e) => {\n const percentComplete = Math.floor((e.loaded * 100) / e.total);\n\n // holds the last 5% for the time it takes to send to backend;\n const barPercentageComplete = percentComplete * 0.95;\n\n setProgress(prevProgress => ({\n ...prevProgress,\n [createFileId(file)]: barPercentageComplete,\n }));\n };\n\n return xhr;\n },\n });\n\n return ajaxRequestToPromise(request)\n .catch(() => (\n setFailures(prevFailures => ({\n ...prevFailures,\n [createFileId(file)]: true,\n }))\n ))\n .finally(() => (\n setProgress(prevProgress => ({\n ...prevProgress,\n [createFileId(file)]: 0,\n }))\n ));\n });\n\n Promise.all(requests)\n .then(parseFilesToUploadFormat)\n .then((uploadedFiles) => {\n dispatch(filesAdded(uploadedFiles));\n });\n };\n}\n","import { isNil, flattenDeep, isArray, map, toString } from 'lodash';\n\nimport { isJSON } from 'utils/string';\nimport {\n DOCUMENT_TYPES,\n responseTrackingTypes,\n} from 'components/Dashboard/common/FeedPage/utils/constants';\nimport {\n STAFFER_OFFICE_TYPE,\n STATE_STAFFER_OFFICE_TYPE,\n KEYWORD_SECTION,\n BILLS_REGULATIONS_SECTION,\n COMMITTEE_SECTION,\n LEGISLATOR_SECTION,\n NEWSFEED_SECTION,\n WORKSPACE_SECTION,\n WORKSPACE_TYPE,\n} from 'redux/dashboardV2/constants';\nimport {\n FEDERAL_BILL_ITEM_TYPE,\n FEDERAL_COMMITTEE_ITEM_TYPE,\n FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n FEDERAL_REGULATION_ITEM_TYPE,\n KEYWORD_ITEM_TYPE,\n STATE_BILL_ITEM_TYPE,\n STATE_COMMITTEE_ITEM_TYPE,\n STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n STATE_REGULATION_ITEM_TYPE,\n NEWSFEED_ITEM_TYPE,\n WORKSPACE_ITEM_TYPE,\n} from 'utils/constants/itemTypes';\n\nexport function getSectionType(type, documentType) {\n const sections = {\n [DOCUMENT_TYPES.FEDERAL_BILL]: BILLS_REGULATIONS_SECTION,\n [DOCUMENT_TYPES.FEDERAL_COMMITTEE]: COMMITTEE_SECTION,\n [DOCUMENT_TYPES.FEDERAL_LEGISLATOR]: LEGISLATOR_SECTION,\n [DOCUMENT_TYPES.FEDERAL_REGISTER_REGULATION]: BILLS_REGULATIONS_SECTION,\n [DOCUMENT_TYPES.STATE_BILL]: BILLS_REGULATIONS_SECTION,\n [DOCUMENT_TYPES.STATE_LEGISLATOR]: LEGISLATOR_SECTION,\n [DOCUMENT_TYPES.STATE_REGULATION]: BILLS_REGULATIONS_SECTION,\n [DOCUMENT_TYPES.STATE_COMMITTEE]: COMMITTEE_SECTION,\n [DOCUMENT_TYPES.NEWS_SEARCH]: NEWSFEED_SECTION,\n keyword: KEYWORD_SECTION,\n workspace: WORKSPACE_SECTION,\n };\n\n return sections[documentType] || sections[type] || '';\n}\n\nconst getTypeByModel = (modelType) => {\n const types = {\n Committee: STAFFER_OFFICE_TYPE,\n Legislator: responseTrackingTypes.FEDERAL_LEGISLATOR_STAFFER,\n 'StateLegislation::Legislator': responseTrackingTypes.STATE_LEGISLATOR_STAFFER,\n 'StateLegislation::Committee': STATE_STAFFER_OFFICE_TYPE,\n };\n\n return types[modelType];\n};\n\nexport const getType = (subscribableType, modelType) => {\n const types = {\n [STAFFER_OFFICE_TYPE]: getTypeByModel(modelType),\n [STATE_STAFFER_OFFICE_TYPE]: getTypeByModel(modelType),\n };\n\n return types[subscribableType] || subscribableType;\n};\n\nfunction getModelTypeUrl(id, modelType) {\n const modelUrls = {\n Committee: `/federal/committees/${id}`,\n Legislator: `/federal/legislators/${id}`,\n 'StateLegislation::Legislator': `/state/legislators/${id}`,\n 'StateLegislation::Committee': `/state/committees/${id}`,\n };\n\n return modelUrls[modelType] || null;\n}\n\nexport function getSectionUrl(id, subscribableType, modelType) {\n if (isNil(id) || isNil(subscribableType)) {\n return null;\n }\n\n const sectionUrls = {\n bill: `/federal/bills/${id}`,\n state_bill: `/state/bills/${id}`,\n federal_register_regulation: `/federal/regulations/${id}`,\n state_regulation: `/state/regulations/${id}`,\n committee: `/federal/committees/${id}`,\n [STAFFER_OFFICE_TYPE]: getModelTypeUrl(id, modelType),\n [STATE_STAFFER_OFFICE_TYPE]: getModelTypeUrl(id, modelType),\n };\n\n return sectionUrls[subscribableType];\n}\n\nfunction getModelTypeItem(modelType) {\n const { [modelType]: sectionType } = {\n Committee: FEDERAL_COMMITTEE_ITEM_TYPE,\n Legislator: FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n 'StateLegislation::Legislator': STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n 'StateLegislation::Committee': STATE_COMMITTEE_ITEM_TYPE,\n };\n\n return sectionType || null;\n}\n\nexport function getItemType(type = '', modelType = '') {\n const { [type]: sectionType } = {\n keyword: KEYWORD_ITEM_TYPE,\n federal_bill: FEDERAL_BILL_ITEM_TYPE,\n bill: FEDERAL_BILL_ITEM_TYPE,\n federal_legislator_bill: FEDERAL_REGULATION_ITEM_TYPE,\n state_bill: STATE_BILL_ITEM_TYPE,\n federal_register_regulation: FEDERAL_REGULATION_ITEM_TYPE,\n state_regulation: STATE_REGULATION_ITEM_TYPE,\n [STAFFER_OFFICE_TYPE]: getModelTypeItem(modelType),\n [STATE_STAFFER_OFFICE_TYPE]: getModelTypeItem(modelType),\n committee: FEDERAL_COMMITTEE_ITEM_TYPE,\n news: NEWSFEED_ITEM_TYPE,\n [WORKSPACE_TYPE]: WORKSPACE_ITEM_TYPE,\n };\n\n return sectionType || '';\n}\n\nexport function formatToken(token) {\n const items = isJSON(token) ? JSON.parse(token) : token;\n\n return isArray(items) ? map(items, toString) : toString(items);\n}\n\nexport function formatTokens(tokens) {\n return flattenDeep(map(tokens, formatToken));\n}\n\nexport function getSubscriptionData(payload) {\n const {\n frequency,\n isSaved,\n priority,\n modelId,\n token,\n sendWeekAheadEmail,\n withWeekAheadEmail,\n } = payload || {};\n\n return {\n frequency,\n priority,\n is_saved: isSaved,\n token: modelId || token,\n ...(withWeekAheadEmail && { send_week_ahead_email: sendWeekAheadEmail }),\n };\n}\n","import { error } from 'components/core/Notification';\n\nexport default {\n defaultError: error('Something went wrong. Please try again.'),\n};\n","import { flatten, isEmpty } from 'lodash';\n\nimport { postJson, putJson } from 'utils/api';\nimport { BASE_URL, BASE_FEEDS_URL, KEYWORD_TYPE } from 'redux/dashboardV2/constants';\nimport { getMyFeedToken, isMyFeed } from 'components/Dashboard/utils';\n\nimport {\n transformNestedSubscriptionsForUI,\n transformSubscriptionForBE,\n transformSubscriptionsForUI,\n buildBulkUpdatePayloadForBE,\n} from './transformers';\nimport notifications from './notifications';\nimport { formatTokens, getSubscriptionData } from './utils';\nimport { getSubscriptionUrl, getSubscriptionUrlWithId } from './utils/url';\n\nconst onFailure = (error) => {\n notifications.defaultError();\n throw error;\n};\n\nexport const fetchKeywords = (feedToken) => {\n const url = `${BASE_FEEDS_URL}/${feedToken}/keywords/lookup`;\n\n const ajax = $.post(url);\n\n return Promise.resolve(ajax)\n .then(transformSubscriptionsForUI);\n};\n\nconst fetchAllSubscriptions = (feedToken) => {\n const url = `${BASE_FEEDS_URL}/${feedToken}/trackings/all`;\n\n const ajax = $.post(url);\n\n return Promise.resolve(ajax)\n .then(transformNestedSubscriptionsForUI);\n};\n\nconst fetchWorkspacesSubscriptions = (feedToken) => {\n if (!isMyFeed(feedToken)) return Promise.resolve([]);\n\n const url = `${BASE_FEEDS_URL}/${feedToken}/subscriptions/workspaces/lookup`;\n\n const ajax = $.post(url);\n\n return Promise.resolve(ajax)\n .then(transformSubscriptionsForUI);\n};\n\nexport const fetchSubscriptionsAndKeywords = feedToken => (\n Promise.all([\n fetchKeywords(feedToken),\n fetchAllSubscriptions(feedToken),\n fetchWorkspacesSubscriptions(feedToken),\n ])\n .then(flatten)\n .catch(onFailure)\n);\n\nexport const fetchSubscription = (feedToken, subscriptionData) => {\n const url = getSubscriptionUrlWithId(feedToken, subscriptionData);\n\n return Promise.resolve($.get(url));\n};\n\nexport const deleteSubscription = (feedToken, subscription) => {\n const type = subscription.type || subscription.subscribableType;\n const isKeyword = type === KEYWORD_TYPE;\n const baseUrl = getSubscriptionUrlWithId(feedToken, subscription);\n\n const finalUrl = isKeyword ? `${baseUrl}/disable` : baseUrl;\n const reqMethod = isKeyword ? 'POST' : 'DELETE';\n\n const ajax = $.ajax({ url: finalUrl, type: reqMethod });\n\n return Promise.resolve(ajax);\n};\n\nexport const updateSubscription = (feedToken, subscription) => {\n const url = getSubscriptionUrlWithId(feedToken, subscription);\n\n const ajax = putJson(url, transformSubscriptionForBE(subscription));\n\n return Promise.resolve(ajax);\n};\n\nconst updateCommonSubscriptions = ({ feedToken, tokens, ...bulkActionData }) => {\n if (isEmpty(tokens)) { return Promise.resolve(); }\n\n const url = `${BASE_FEEDS_URL}/${feedToken}/subscriptions/bulk_update`;\n const requestData = buildBulkUpdatePayloadForBE({ tokens, ...bulkActionData });\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n};\n\nconst updateWorkspaceSubscriptions = ({ feedToken, workspaceTokens, ...bulkActionData }) => {\n if (isEmpty(workspaceTokens)) { return Promise.resolve(); }\n\n const url = `${BASE_FEEDS_URL}/${feedToken}/subscriptions/workspaces/bulk_update`;\n const requestData = buildBulkUpdatePayloadForBE({ ...bulkActionData, tokens: workspaceTokens });\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n};\n\nexport const updateSubscriptions = bulkActionData => (\n Promise.all([\n updateCommonSubscriptions(bulkActionData),\n updateWorkspaceSubscriptions(bulkActionData),\n ]).then(flatten)\n);\n\nconst deleteWorkspaceSubscriptions = ({ workspaceTokens, feedToken }) => {\n if (isEmpty(workspaceTokens)) { return Promise.resolve(); }\n\n const url = `${BASE_FEEDS_URL}/${feedToken}/subscriptions/workspaces/bulk_disable`;\n const requestData = { tokens: formatTokens(workspaceTokens) };\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n};\n\nconst deleteCommonSubscriptions = ({ feedToken, tokens }) => {\n if (isEmpty(tokens)) { return Promise.resolve(); }\n\n const url = `${BASE_FEEDS_URL}/${feedToken}/subscriptions/bulk_disable`;\n const requestData = { tokens: formatTokens(tokens) };\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n};\n\nexport const deleteSubscriptions = ({ feedToken, tokens, workspaceTokens }) => (\n Promise.all([\n deleteCommonSubscriptions({ feedToken, tokens }),\n deleteWorkspaceSubscriptions({ workspaceTokens, feedToken }),\n ]).then(flatten)\n);\n\nexport const fetchDefaultFrequency = () => {\n const url = `${BASE_URL}/my_feed/settings`;\n\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(({ frequency }) => frequency)\n .catch(onFailure);\n};\n\nexport const updateDefaultFrequency = (frequency) => {\n const url = `${BASE_URL}/my_feed/settings`;\n const requestData = { frequency };\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n};\n\nexport const resetSubscriptionsSettings = () => {\n const url = `${BASE_URL}/my_feed/subscriptions/reset_frequency`;\n\n const ajax = $.post(url);\n\n return Promise.resolve(ajax);\n};\n\nexport const createSubscription = (feedToken, subscription = {}) => {\n const url = getSubscriptionUrl(feedToken, subscription);\n const data = getSubscriptionData(subscription);\n const ajax = postJson(url, data);\n\n return Promise.resolve(ajax);\n};\n\nexport const bulkShareToMyFeed = (data) => {\n const feedToken = getMyFeedToken();\n const url = `${BASE_FEEDS_URL}/${feedToken}/shared_documents`;\n\n const ajax = postJson(url, data);\n\n return Promise.resolve(ajax);\n};\n","import {\n createAction,\n ajaxRequestToPromise,\n handleSuccess,\n handleFailure,\n} from 'redux/utils';\n\nimport constants from './constants';\n\nexport const loadServiceTermsStarted = createAction(constants.LOAD_SERVICE_TERMS_STARTED);\nexport const loadServiceTermsFail = createAction(constants.LOAD_SERVICE_TERMS_FAIL);\nexport const loadServiceTermsDone = createAction(constants.LOAD_SERVICE_TERMS_DONE);\nexport const acceptServiceTermsStarted = createAction(constants.ACCEPT_SERVICE_TERMS_STARTED);\nexport const acceptServiceTermsFail = createAction(constants.ACCEPT_SERVICE_TERMS_FAIL);\nexport const acceptServiceTermsDone = createAction(constants.ACCEPT_SERVICE_TERMS_DONE);\n\nexport const fetchServiceTerms = () => (dispatch) => {\n dispatch(loadServiceTermsStarted());\n\n const url = '/api_web/service_terms';\n\n return ajaxRequestToPromise($.get(url))\n .then(handleSuccess(dispatch, loadServiceTermsDone))\n .catch(handleFailure(dispatch, loadServiceTermsFail));\n};\n\nexport const acceptServiceTerms = () => (dispatch, getState) => {\n dispatch(acceptServiceTermsStarted());\n\n const url = '/api_web/service_terms';\n\n const { serviceTermId } = getState().serviceTerms;\n const data = { acceptance: { service_term_id: serviceTermId } };\n\n return ajaxRequestToPromise($.post(url, data))\n .then(handleSuccess(dispatch, acceptServiceTermsDone))\n .catch(handleFailure(dispatch, acceptServiceTermsFail));\n};\n","import { isEmpty, isUndefined, values } from 'lodash';\n\nimport {\n fetchLinksPreview,\n getCardsUrlToPreview,\n getUpdatedLinksPreview,\n removeCardsLinkPreview,\n transformPreviewDataToFE,\n} from 'components/core/LinkPreview';\n\nimport constants from '../constants';\n\nexport const updateCardsLinkPreview = (updatedCards, options = {}) => (\n (dispatch, getState) => {\n const { cardsLinkPreview } = getState().grm2.grm;\n const { timeOut } = options;\n\n const cardsLink = getCardsUrlToPreview(updatedCards);\n\n if (isEmpty(cardsLink)) {\n const updatedCardsLinkPreview = removeCardsLinkPreview({ cardsLinkPreview, updatedCards });\n\n dispatch({ type: constants.SET_CARDS_LINK_PREVIEW, payload: updatedCardsLinkPreview });\n\n return;\n }\n\n const urls = values(cardsLink);\n const repeatFetch = !isUndefined(timeOut);\n\n const handleFetchLinksPreview = () => {\n fetchLinksPreview(urls).then(({ data }) => {\n const linksPreview = transformPreviewDataToFE(data);\n\n const updatedCardsLinkPreview = getUpdatedLinksPreview(cardsLinkPreview, { cardsLink, linksPreview, repeatFetch });\n\n dispatch({ type: constants.SET_CARDS_LINK_PREVIEW, payload: updatedCardsLinkPreview });\n }).finally(() => {\n !repeatFetch && dispatch({ type: constants.STOP_LOADING_LINKS_PREVIEW });\n });\n };\n\n dispatch({ type: constants.START_LOADING_LINKS_PREVIEW });\n handleFetchLinksPreview();\n\n repeatFetch && setTimeout(() => {\n handleFetchLinksPreview();\n dispatch({ type: constants.STOP_LOADING_LINKS_PREVIEW });\n }, timeOut);\n }\n);\n","import { PRODUCT_SLUGS } from 'components/core/CustomFields/utils/constants';\nimport notifications from 'components/Grm2/notifications';\n\nimport constants from '../constants';\nimport { transformCustomFieldsForFeed } from '../transformers';\n\nexport const fetchCustomFields = () => (\n (dispatch) => {\n const url = '/api_web/custom_fields/fields';\n const method = 'GET';\n const data = {\n search_form: {\n enabled: true,\n product_slugs: [PRODUCT_SLUGS.GRM],\n },\n per_page: 200,\n };\n\n dispatch({ type: constants.START_LOADING_CUSTOM_FIELDS });\n\n const ajax = $.ajax({ url, method, data });\n\n return Promise.resolve(ajax)\n .then(({ data: responseData = [] }) => {\n const transformedCustomFields = transformCustomFieldsForFeed(responseData);\n dispatch({ type: constants.SET_CUSTOM_FIELDS, payload: transformedCustomFields });\n\n return transformedCustomFields;\n })\n .catch(notifications.generalFailNotification)\n .finally(() => dispatch({ type: constants.STOP_LOADING_CUSTOM_FIELDS }));\n }\n);\n","import { find, map, isEmpty, isEqual, intersection, reduce, omit } from 'lodash';\n\nimport { transformTaskForFeed } from '../transformers/toFE';\nimport { recordTypesByField } from '../transformers/toFE/cardLinks';\nimport initialState from '../initialState';\n\nexport const applyCardChanges = (cards, updatedCard) => {\n const replaceCard = cardToReplace => (\n cardToReplace.id === updatedCard.id\n ? { ...cardToReplace, ...updatedCard }\n : cardToReplace\n );\n\n return cards.map(replaceCard);\n};\n\nexport const applyCardsChanges = (cards, updatedCards) => map(cards, (card) => {\n const cardToReplace = find(updatedCards, { id: card.id });\n\n return isEmpty(cardToReplace) ? card : ({ ...card, ...cardToReplace });\n});\n\nexport const getUpdatedCardsByTask = (cards, tasks) => map(cards, (card) => {\n const { task } = card;\n\n const updatedTask = find(tasks, { id: task.id });\n\n if (isEmpty(updatedTask)) {\n return card;\n }\n\n return {\n ...card,\n task: transformTaskForFeed(updatedTask),\n };\n});\n\nconst filterFieldMap = {\n ...recordTypesByField,\n activityTypes: ['cardType'],\n attachments: ['uploads'],\n creationDate: ['creationDate'],\n creator: ['createdBy'],\n eventDate: ['eventDate'],\n interactionTypes: ['interactionType'],\n keywordLookup: ['title', 'tags', 'description', 'customFieldsAnswers'],\n tags: ['tags'],\n dueDate: ['dueDateTime'],\n statusTypes: ['status'],\n priorityTypes: ['priority'],\n assignee: ['assignee'],\n};\n\nconst CARD_FIELDS_TO_OMIT = ['task', 'links'];\n\n// isCardInconsistent should be used only for edited cards,\n// new cards trigger doesn't rely on filters, so it was moved elsewhere\nexport const isCardInconsistent = ({\n card = {},\n oldCard = {},\n filters = {},\n}) => {\n const { filters: initialFilters } = initialState;\n\n const transformLinks = links => (\n reduce(links, (cardLinks, { type, value }) => ({\n ...cardLinks,\n [type]: value,\n }), {})\n );\n\n const transformedOldCard = {\n ...omit(oldCard, CARD_FIELDS_TO_OMIT),\n ...(oldCard.task || {}),\n ...transformLinks(oldCard.links),\n };\n const transformedCard = {\n ...omit(card, CARD_FIELDS_TO_OMIT),\n ...(card.task || {}),\n ...transformLinks(card.links),\n };\n\n const modifiedFields = reduce(transformedCard, (result, value, key) => (\n isEqual(value, transformedOldCard[key]) ? result : [\n ...result,\n key,\n ]\n ), []);\n\n const modifiedFilters = reduce(filters, (cardFields, value, key) => (\n isEqual(value, initialFilters[key])\n ? cardFields\n : [\n ...cardFields,\n ...(filterFieldMap[key] || []),\n ]\n ), []);\n\n return !isEmpty(intersection(modifiedFilters, modifiedFields));\n};\n","import {\n map,\n isNil,\n find,\n some,\n reduce,\n isEqual,\n chunk,\n forEach,\n includes,\n filter,\n isEmpty,\n} from 'lodash';\n\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\nimport ActivityEventsPublisher from 'components/Grm2/events/publisher';\nimport notifications from 'components/Grm2/notifications';\nimport { ACITIVITY_FOR_NAVIGATION_NAMESPACE } from 'components/Grm2/events/constants';\n\nimport { updateCardsLinkPreview } from './linksPreview';\nimport { fetchCustomFields } from './customFields';\nimport constants, { TASK_STATUSES, MY_FEED_CARD_LIMIT } from '../constants';\nimport {\n applyCardChanges,\n applyCardsChanges,\n getUpdatedCardsByTask,\n isCardInconsistent,\n} from '../utils/card';\nimport {\n transformCardForFeed,\n transformFiltersForBE,\n transformPaginationForFeed,\n} from '../transformers';\nimport { transformCardForEvent, transformCardsForEvent } from '../transformers/toFE';\n\nexport const selectCard = cardId => (\n (dispatch, getState) => {\n const state = getState().grm2.grm;\n\n const selected = [\n ...state.selectedCardIds,\n cardId,\n ];\n\n dispatch({\n type: constants.SET_SELECTED,\n payload: selected,\n });\n }\n);\n\nexport const selectCards = payload => ({\n type: constants.SELECT_CARDS,\n payload,\n});\n\nexport const unselectCards = payload => ({\n type: constants.UNSELECT_CARDS,\n payload,\n});\n\nexport const unselectCard = cardId => (\n (dispatch, getState) => {\n const state = getState().grm2.grm;\n\n const selected = state.selectedCardIds.filter(id => cardId !== id);\n\n dispatch({\n type: constants.SET_SELECTED,\n payload: selected,\n });\n }\n);\n\nexport const resetSelectedCards = payload => ({\n type: constants.RESET_SELECTED_CARDS,\n payload,\n});\n\nconst dispatchMyFeedDocuments = (cards, dispatch) => (\n isEmpty(cards)\n ? dispatch({ type: constants.RECEIVE_MY_FEED_DOCUMENTS_DONE, payload: [] })\n : forEach(chunk(cards, MY_FEED_CARD_LIMIT), payload => (\n dispatch(fetchMyFeedDocuments({ payload }, constants))\n ))\n);\n\nexport const fetchSingleCard = cardId => (\n (dispatch) => {\n dispatch({ type: constants.START_LOADING });\n const ajax = $.get(`/api_web/grm_v2/cards/${cardId}`);\n\n return Promise.all([ajax, dispatch(fetchCustomFields())])\n .then(([card, customFields]) => {\n const payload = [transformCardForFeed(card, customFields)];\n dispatch({ type: constants.SET_CARDS, payload });\n dispatch(updateCardsLinkPreview(payload));\n dispatch({\n type: constants.SET_PAGINATION,\n payload: {\n currentPage: 1,\n totalPages: 1,\n totalCount: 1,\n perPage: 10,\n },\n });\n dispatchMyFeedDocuments(payload, dispatch);\n })\n .catch(notifications.generalFailNotification)\n .finally(() => dispatch({ type: constants.STOP_LOADING }));\n }\n);\n\nconst fetchCardsRequest = ({\n pagination,\n filters,\n timelineDefaultFilters,\n sort,\n}) => {\n const url = '/api_web/grm_v2/cards/lookup';\n const method = 'POST';\n const data = {\n page: pagination.currentPage,\n per_page: pagination.perPage,\n search_form: transformFiltersForBE(filters, timelineDefaultFilters),\n ...sort,\n };\n\n return $.ajax({\n url,\n method,\n data: JSON.stringify(data),\n contentType: 'application/json',\n });\n};\n\nconst fetchActivityCards = (dispatch, getState) => {\n const {\n pagination,\n filters,\n timelineDefaultFilters,\n sort,\n } = getState().grm2.grm;\n\n dispatch({ type: constants.START_LOADING });\n dispatch({ type: constants.SET_FILTERS, payload: filters });\n\n const ajax = fetchCardsRequest({\n pagination,\n filters,\n timelineDefaultFilters,\n sort,\n });\n\n const onSuccess = ([response, customFields]) => {\n const { data: cards = [], pagination: paginationData = {} } = response;\n const payload = map(cards, card => transformCardForFeed(card, customFields));\n\n dispatch({ type: constants.SET_CARDS, payload });\n dispatch(updateCardsLinkPreview(payload));\n dispatch({ type: constants.SET_PAGINATION, payload: transformPaginationForFeed(paginationData) });\n dispatch({ type: constants.RESET_CARD_STATUS });\n dispatchMyFeedDocuments(payload, dispatch);\n };\n\n return Promise.all([ajax, dispatch(fetchCustomFields())])\n .then(onSuccess)\n .catch(notifications.generalFailNotification)\n .finally(() => dispatch({ type: constants.STOP_LOADING }));\n};\n\nexport const setIsTasksContext = () => ({ type: constants.SET_IS_TASKS_CONTEXT });\n\nconst fetchTasks = (dispatch, getState, options) => {\n const {\n pagination,\n filters,\n timelineDefaultFilters,\n sort,\n } = getState().grm2.grm;\n const { statuses = TASK_STATUSES } = options || {};\n\n dispatch({ type: constants.START_LOADING });\n dispatch({ type: constants.SET_FILTERS, payload: filters });\n\n const requests = map(statuses, status => (\n fetchCardsRequest({\n pagination,\n filters: { ...filters, statusTypes: [status] },\n timelineDefaultFilters,\n sort,\n })\n ));\n\n const onSuccess = ([customFields, ...responses]) => {\n const cards = reduce(responses, (result, { data = [] }) => [...result, ...data], []);\n\n const payload = map(cards, card => transformCardForFeed(card, customFields));\n dispatch({ type: constants.SET_CARDS, payload });\n dispatch(updateCardsLinkPreview(payload));\n dispatch({ type: constants.RESET_CARD_STATUS });\n dispatchMyFeedDocuments(payload, dispatch);\n };\n\n return Promise.all([dispatch(fetchCustomFields()), ...requests])\n .then(onSuccess)\n .catch(notifications.generalFailNotification)\n .finally(() => dispatch({ type: constants.STOP_LOADING }));\n};\n\nexport const fetchCards = options => (\n (dispatch, getState) => (\n getState().grm2.grm.isTasksContext\n ? fetchTasks(dispatch, getState, options)\n : fetchActivityCards(dispatch, getState, options)\n )\n);\n\nexport const updateCard = (card, isNew, shouldDispatchEvent = true) => (\n (dispatch, getState) => {\n const {\n pagination,\n filters,\n cards,\n customFields,\n namespace,\n isTasksContext,\n } = getState().grm2.grm;\n const isAddToCollection = isNew || isEqual(ACITIVITY_FOR_NAVIGATION_NAMESPACE, namespace);\n\n const updatedCard = transformCardForFeed(card, customFields);\n const isCardPresent = some(cards, { id: updatedCard.id });\n\n const { cardCreated, cardUpdated } = ActivityEventsPublisher(namespace);\n const eventToDispatch = isNew ? cardCreated : cardUpdated;\n shouldDispatchEvent && eventToDispatch({\n reduxCard: card,\n uiCard: updatedCard,\n });\n\n const dispatchCards = payload => dispatch({ type: constants.SET_CARDS, payload });\n\n const dispatchPagination = payload => dispatch({ type: constants.SET_PAGINATION, payload });\n\n function addNote() {\n const { perPage, totalCount } = pagination;\n\n // add a new note at the top of the feed,\n // and remove the last one if the total number of cards\n // exceeds the number of displayed items perPage.\n const cardsPayload = isTasksContext\n ? [updatedCard, ...cards]\n : [updatedCard, ...cards].slice(0, perPage);\n\n const paginationPayload = {\n ...pagination,\n totalCount: totalCount + 1,\n };\n\n dispatchCards(cardsPayload);\n dispatch(updateCardsLinkPreview([updatedCard], { timeOut: 5000 }));\n dispatchPagination(paginationPayload);\n dispatch({ type: constants.SET_HAS_NEW_CARD, payload: true });\n }\n\n if (isCardPresent) {\n const cardsPayload = applyCardChanges(cards, updatedCard);\n\n const oldCard = cards.find(({ id }) => id === card.id);\n shouldDispatchEvent && ActivityEventsPublisher(namespace).cardChanged({\n oldCard,\n newCard: updatedCard,\n });\n\n dispatchCards(cardsPayload);\n dispatch(updateCardsLinkPreview([updatedCard], { timeOut: 5000 }));\n isCardInconsistent({\n card: updatedCard,\n oldCard,\n filters,\n }) && dispatch({ type: constants.SET_HAS_EDITED_CARD, payload: true });\n } else if (isAddToCollection) {\n addNote();\n }\n }\n);\n\nexport const updateCards = (updatedCards, shouldDispatchEvent = true) => (\n (dispatch, getState) => {\n const { cards, customFields, namespace } = getState().grm2.grm;\n const transformedCards = map(updatedCards, card => transformCardForFeed(card, customFields));\n const replaceCard = (card) => {\n const transformedCard = find(transformedCards, { id: card.id });\n\n return isNil(transformedCard)\n ? card\n : { ...card, ...transformedCard };\n };\n\n const payload = map(cards, replaceCard);\n\n shouldDispatchEvent && ActivityEventsPublisher(namespace).cardsUpdated({\n reduxCards: updatedCards,\n uiCards: transformedCards,\n });\n\n dispatch({ type: constants.SET_CARDS, payload });\n }\n);\n\nexport const updateCommentsCount = (cardId, incrementValue, shouldDispatchEvent = true) => (\n (dispatch, getState) => {\n const { cards, namespace } = getState().grm2.grm;\n\n const updatedCard = find(cards, ['id', cardId]);\n updatedCard.commentsCount += incrementValue;\n\n const replaceCardCommentsCount = card => (\n card.id === cardId ? updatedCard : card\n );\n\n const payload = cards.map(replaceCardCommentsCount);\n\n shouldDispatchEvent && ActivityEventsPublisher(namespace).cardUpdated({\n reduxCard: transformCardForEvent(updatedCard).card,\n uiCard: updatedCard,\n });\n\n dispatch({ type: constants.SET_CARDS, payload });\n }\n);\n\nexport const removeCardById = cardId => (\n (dispatch, getState) => {\n const { cards } = getState().grm2.grm;\n const filteredCards = cards.filter(({ id }) => id !== cardId);\n\n dispatch({\n type: constants.SET_CARDS,\n payload: filteredCards,\n });\n }\n);\n\nexport function updateDataItem(payload, shouldDispatchEvent = true) {\n return (dispatch, getState) => {\n const { namespace } = getState().grm2.grm;\n\n shouldDispatchEvent && ActivityEventsPublisher(namespace).dataItemUpdated(payload);\n\n dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n };\n}\n\nexport const updateCardById = (cardId, data, shouldDispatchEvent = true) => (\n (dispatch, getState) => {\n const { cards, namespace } = getState().grm2.grm;\n const card = find(cards, { id: cardId });\n\n const updatedCard = {\n ...card,\n ...data,\n };\n\n const payload = applyCardChanges(cards, updatedCard);\n\n const { cardUpdated } = ActivityEventsPublisher(namespace);\n\n shouldDispatchEvent && cardUpdated({\n reduxCard: transformCardForEvent(updatedCard).card,\n uiCard: updatedCard,\n });\n\n dispatch({\n type: constants.SET_CARDS,\n payload,\n });\n }\n);\n\nexport const updateCardsById = (cardsId, data, shouldDispatchEvent = true) => (\n (dispatch, getState) => {\n const { cards, namespace } = getState().grm2.grm;\n\n const cardsToBeUpdated = filter(cards, ({ id }) => includes(cardsId, id));\n\n const updatedCards = map(cardsToBeUpdated, card => ({\n ...card,\n ...data,\n }));\n\n const payload = applyCardsChanges(cards, updatedCards);\n\n const { cardsUpdated } = ActivityEventsPublisher(namespace);\n shouldDispatchEvent && cardsUpdated({\n reduxCards: transformCardsForEvent(updatedCards),\n uiCards: updatedCards,\n });\n\n dispatch({\n type: constants.SET_CARDS,\n payload,\n });\n }\n);\n\nexport const updateTasks = ({ data }) => (\n (dispatch, getState) => {\n const { cards, namespace } = getState().grm2.grm;\n\n const updatedCards = getUpdatedCardsByTask(cards, data);\n\n ActivityEventsPublisher(namespace).cardsUpdated({\n reduxCards: transformCardsForEvent(updatedCards),\n uiCards: updatedCards,\n });\n\n dispatch({ type: constants.SET_CARDS, payload: updatedCards });\n }\n);\n","import { isEqual, toNumber, isEmpty } from 'lodash';\n\nimport { onSaveRecentItem, setLastSearchId } from 'redux/advancedSearch/actions';\nimport { loadAdvancedSearch } from 'redux/advancedSearch/utils';\n\nimport initialState from '../initialState';\nimport constants, { ADVANCED_SEARCH_SLUG } from '../constants';\nimport { transformFiltersForBE, transformFiltersFromAdvancedSearch } from '../transformers';\nimport { fetchCards } from './cards';\n\nexport const setPage = (page, options = {}) => (\n (dispatch, getState) => {\n const state = getState().grm2.grm;\n const { avoidDispatchFetch } = options;\n\n const pagination = {\n ...state.pagination,\n currentPage: page,\n };\n\n dispatch({ type: constants.SET_PAGINATION, payload: pagination });\n !avoidDispatchFetch && dispatch(fetchCards());\n }\n);\n\nexport const setPerPage = perPage => (\n (dispatch, getState) => {\n const state = getState().grm2.grm;\n\n const pagination = {\n ...state.pagination,\n perPage,\n };\n\n dispatch({ type: constants.SET_PAGINATION, payload: pagination });\n }\n);\n\nexport const setAdvancedSearchFilters = searchId => (\n (dispatch) => {\n const { filters: initialFilters } = initialState;\n\n dispatch(setLastSearchId(searchId));\n\n return loadAdvancedSearch(searchId).then(({ search_params: filters }) => (\n dispatch({\n type: constants.SET_FILTERS,\n payload: {\n ...initialFilters,\n ...transformFiltersFromAdvancedSearch(filters),\n },\n })\n ));\n }\n);\n\nexport const setSearchId = () => (\n (dispatch, getState) => {\n const { filters } = getState().grm2.grm;\n const { filters: initialFilters } = initialState;\n\n if (isEqual(filters, initialFilters)) {\n return dispatch(setLastSearchId());\n }\n\n const advancedSearchData = {\n advanced_search: {\n strategy_slug: ADVANCED_SEARCH_SLUG,\n search_params: transformFiltersForBE(filters),\n saved: false,\n },\n };\n\n return dispatch(onSaveRecentItem(advancedSearchData));\n }\n);\n\nexport const setAdvancedSearch = ({ page, searchId }) => (\n (dispatch) => {\n dispatch({ type: constants.SET_ADVANCED_SEARCH });\n\n const actions = [\n !isEmpty(searchId) && dispatch(setAdvancedSearchFilters(toNumber(searchId))),\n !isEmpty(page) && dispatch(setPage(toNumber(page), { avoidDispatchFetch: true })),\n ];\n\n return Promise.all(actions);\n }\n);\n\nexport const setFilter = (name, value) => (\n (dispatch, getState) => {\n const state = getState().grm2.grm;\n const { withAdvancedSearch } = state;\n\n const filters = {\n ...state.filters,\n [name]: value,\n };\n\n const pagination = {\n ...state.pagination,\n currentPage: 1,\n };\n\n dispatch({ type: constants.SET_FILTERS, payload: filters });\n dispatch({ type: constants.SET_PAGINATION, payload: pagination });\n dispatch(fetchCards());\n\n withAdvancedSearch && dispatch(setSearchId());\n }\n);\n\nexport const setFilters = (newFilters, options = {}) => (\n (dispatch, getState) => {\n const state = getState().grm2.grm;\n const { withAdvancedSearch } = state;\n const { avoidDispatchFetch } = options;\n\n const filters = {\n ...state.filters,\n ...newFilters,\n };\n\n const pagination = {\n ...state.pagination,\n currentPage: 1,\n };\n\n dispatch({ type: constants.SET_FILTERS, payload: filters });\n dispatch({ type: constants.SET_PAGINATION, payload: pagination });\n\n withAdvancedSearch && dispatch(setSearchId());\n\n if (!avoidDispatchFetch) return dispatch(fetchCards());\n\n return Promise.resolve();\n }\n);\n\nexport const resetFilters = (defaultFilters = {}) => (\n (dispatch, getState) => {\n const state = getState().grm2.grm;\n const { withAdvancedSearch } = state;\n\n const { filters } = initialState;\n\n const payload = {\n ...filters,\n ...defaultFilters,\n };\n\n const pagination = {\n ...state.pagination,\n currentPage: 1,\n };\n\n dispatch({ type: constants.SET_FILTERS, payload });\n dispatch({ type: constants.SET_PAGINATION, payload: pagination });\n dispatch(fetchCards());\n\n withAdvancedSearch && dispatch(setSearchId());\n }\n);\n","import { submitExportReport } from 'redux/exportReport/actions';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\nimport moment from 'moment/moment';\n\nimport { transformFiltersForBE } from '../transformers';\nimport constants from '../constants';\n\nexport function submitExport(payload = {}) {\n const { cardIds, filters } = payload;\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `Activity Export - ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n const strategyInputs = JSON.stringify({\n ...transformFiltersForBE(filters),\n ids: cardIds,\n });\n\n const data = {\n strategy_slug: constants.EXPORT_STRATEGY_SLUG,\n strategy_inputs: strategyInputs,\n };\n\n return submitExportReport({ data, onSuccessCustom });\n}\n","import constants from '../constants';\n\nexport const setSort = newSort => (\n (dispatch, getState) => {\n const state = getState().grm2.grm;\n\n const sort = {\n ...state.sort,\n ...newSort,\n };\n\n dispatch({ type: constants.SET_SORT, payload: sort });\n }\n);\n","import {\n reduce,\n uniqWith,\n isEqual,\n isEmpty,\n map,\n toString,\n find,\n some,\n} from 'lodash';\n\nimport {\n transformNewTagsForUI,\n} from 'redux/tags/utils';\nimport { pushUniq } from 'utils/array';\n\nimport { applyCardChanges } from './card';\n\nconst isPresentTag = (items, item) => some(items, ['value', item.value]);\n\nexport const getUpdatedCardByTags = (cards, tags, cardId) => {\n const cardToBeUpdated = find(cards, ['id', cardId]);\n\n return {\n ...cardToBeUpdated,\n tags: transformNewTagsForUI(tags),\n };\n};\n\nexport const getUpdatedCardsByTags = (cards, data) => reduce(data, (result, item) => {\n const { record_id, tag_id, tag_name } = item || {};\n const tags = {\n data: [{ id: tag_id, name: tag_name }],\n };\n\n const cardToBeUpdated = find(result, ['id', +record_id]);\n if (isEmpty(cardToBeUpdated)) {\n return result;\n }\n\n const tagsForUi = transformNewTagsForUI(tags);\n const newTags = pushUniq(cardToBeUpdated.tags, tagsForUi[0], isPresentTag);\n\n const updatedCard = {\n ...cardToBeUpdated,\n tags: newTags,\n };\n\n return applyCardChanges(result, updatedCard);\n}, cards);\n\nexport const transformRecordsForBe = (data) => {\n const formattedRecords = map(data, recordId => toString(recordId));\n\n return uniqWith(formattedRecords, isEqual);\n};\n\nexport function transformBulkTagsRecordsForBE(payload) {\n const { records, tagIds } = payload || {};\n\n return {\n card_ids: records,\n tag_ids: tagIds,\n };\n}\n\nexport const getUniqRecordsId = records => reduce(\n records,\n (result, { record_id }) => pushUniq(result, record_id),\n []\n);\n\nexport const tagMayCauseInconsistency = ({ tags, keywordLookup }) => (\n !isEmpty(tags) || !isEmpty(keywordLookup)\n);\n","import {\n isEmpty,\n toString,\n find,\n reduce,\n} from 'lodash';\n\nimport {\n getFilteredTags,\n transformTagsForBE,\n saveTagsAndUpdateRecords,\n} from 'redux/tags/utils';\nimport ActivityEventsPublisher from 'components/Grm2/events/publisher';\n\nimport constants from '../constants';\nimport {\n transformCardForEvent,\n transformCardsForEvent,\n} from '../transformers/toFE';\nimport {\n getUpdatedCardByTags,\n getUpdatedCardsByTags,\n transformRecordsForBe,\n transformBulkTagsRecordsForBE,\n getUniqRecordsId,\n tagMayCauseInconsistency,\n} from '../utils/tag';\nimport { applyCardChanges } from '../utils/card';\n\nexport const updateCardTags = (tags, cardId) => (\n (dispatch, getState) => {\n const { cards, namespace, filters } = getState().grm2.grm;\n\n const updatedCard = getUpdatedCardByTags(cards, tags, cardId);\n\n const payload = applyCardChanges(cards, updatedCard);\n\n ActivityEventsPublisher(namespace).cardUpdated({\n reduxCard: transformCardForEvent(updatedCard).card,\n uiCard: updatedCard,\n });\n\n dispatch({ type: constants.SET_CARDS, payload });\n tagMayCauseInconsistency(filters) && dispatch({ type: constants.SET_HAS_EDITED_CARD, payload: true });\n }\n);\n\nexport const updateCardsTags = ({ data }) => (\n (dispatch, getState) => {\n const { cards, namespace, filters } = getState().grm2.grm;\n\n const payload = getUpdatedCardsByTags(cards, data);\n\n const updatedCardsId = getUniqRecordsId(data);\n const updatedCards = reduce(\n updatedCardsId,\n (result, updatedCardId) => {\n const updatedCard = find(payload, ['id', +updatedCardId]);\n if (isEmpty(updatedCard)) {\n return result;\n }\n return [\n ...result,\n updatedCard,\n ];\n },\n [],\n );\n\n ActivityEventsPublisher(namespace).cardsUpdated({\n reduxCards: transformCardsForEvent(updatedCards),\n uiCards: updatedCards,\n });\n\n dispatch({ type: constants.SET_CARDS, payload });\n tagMayCauseInconsistency(filters) && dispatch({ type: constants.SET_HAS_EDITED_CARD, payload: true });\n }\n);\n\nexport function bulkTagRecordsNoDispatch(payload) {\n const data = transformBulkTagsRecordsForBE(payload);\n\n const ajax = $.ajax({\n url: '/api_web/grm_v2/tags/bulk_create',\n method: 'POST',\n data: JSON.stringify(data),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function updateTagRecordsForRecordNoDispatch(payload) {\n const { recordId, tagIds } = payload || {};\n\n const ajax = $.ajax({\n method: 'PUT',\n url: `/api_web/grm_v2/tags/${recordId}`,\n data: { tag_ids: tagIds },\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function bulkSaveTags({ cardIds, tags }) {\n return (dispatch) => {\n if (isEmpty(tags)) {\n return Promise.resolve();\n }\n\n const { newTags, existingTags } = getFilteredTags(tags);\n\n function saveTagsForRecord(responseNewTags) {\n return bulkTagRecordsNoDispatch({\n tagIds: transformTagsForBE(existingTags, responseNewTags),\n records: transformRecordsForBe(cardIds),\n }).then(response => dispatch(updateCardsTags(response)));\n }\n\n return saveTagsAndUpdateRecords({ newTags, saveTagsForRecord });\n };\n}\n\nexport function onSaveTags({ cardIds, tags }) {\n return (dispatch) => {\n const { newTags, existingTags } = getFilteredTags(tags);\n const [cardId] = cardIds;\n\n function saveTagsForRecord(responseNewTags) {\n return updateTagRecordsForRecordNoDispatch({\n tagIds: transformTagsForBE(existingTags, responseNewTags),\n recordId: toString(cardId),\n }).then(response => dispatch(updateCardTags(response, cardId)));\n }\n\n return saveTagsAndUpdateRecords({ newTags, saveTagsForRecord });\n };\n}\n","import constants from '../constants';\nimport { fetchCards } from './cards';\n\nexport const setTimelineDefaultFilters = payload => (\n (dispatch) => {\n dispatch({ type: constants.SET_TIMELINE_DEFAULT_FILTERS, payload });\n dispatch(fetchCards());\n }\n);\n","import constants from '../constants';\n\nexport const showDashboard = () => ({\n type: constants.SHOW_DASHBOARD,\n});\n\nexport const hideDashboard = () => ({\n type: constants.HIDE_DASHBOARD,\n});\n","import constants from '../constants';\n\nexport const setNamespace = namespace => ({\n type: constants.SET_NAMESPACE,\n payload: namespace,\n});\n","import constants from '../constants';\n\nexport function resetData() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_DATA });\n };\n}\n","export {\n setPage,\n setPerPage,\n setFilter,\n setFilters,\n resetFilters,\n setAdvancedSearchFilters,\n setSearchId,\n setAdvancedSearch,\n} from './filters';\nexport { fetchCustomFields } from './customFields';\nexport { submitExport } from './export';\nexport { setSort } from './sort';\nexport {\n bulkSaveTags,\n onSaveTags,\n} from './tags';\n\nexport {\n selectCard,\n selectCards,\n unselectCards,\n unselectCard,\n resetSelectedCards,\n fetchSingleCard,\n setIsTasksContext,\n fetchCards,\n updateCard,\n updateCards,\n updateCommentsCount,\n removeCardById,\n updateDataItem,\n updateCardById,\n updateCardsById,\n updateTasks,\n} from './cards';\n\nexport { setTimelineDefaultFilters } from './timelineDefaultFilters';\n\nexport {\n showDashboard,\n hideDashboard,\n} from './analytics';\n\nexport {\n setNamespace,\n} from './namespace';\n\nexport {\n updateCardsLinkPreview,\n} from './linksPreview';\n\nexport {\n resetData,\n} from './resetData';\n","import { STOP_LOADING } from '../constants';\n\nexport function stopLoading(dispatch) {\n return () => dispatch({ type: STOP_LOADING });\n}\n\nexport function receiveError(dispatch) {\n return (error) => {\n stopLoading(dispatch)();\n\n console.error(error);\n return Promise.reject(error);\n };\n}\n","import { geocodeByAddress } from 'react-places-autocomplete';\n\nimport { getAddressPartsFromGeoResponse } from 'components/core/AddressAutocomplete/utils';\n\nimport {\n TEMPORARY_SAVE_FORM_SUBMISSION,\n RECEIVE_FORM_SUBMISSION,\n EDIT_FORM_SUBMISSION,\n SAVE_FORM_SUBMISSION,\n} from '../constants';\nimport { receiveError } from './utils';\n\nfunction validateAddressParts(addressParts) {\n const { zipcode, address_1 } = addressParts;\n const validationError = {\n address: 'Please enter full address.',\n };\n\n if (!zipcode || !address_1) {\n throw validationError;\n }\n\n return addressParts;\n}\n\nfunction fullAddressToFormSubmissionAddressParts(address) {\n return geocodeByAddress(address)\n .then(getAddressPartsFromGeoResponse)\n .then(validateAddressParts);\n}\n\nfunction validateFormSubmission(formSubmission, campaign) {\n const url = `/api_web/portal/grassroots/campaigns/${campaign.token}/form_submissions/validate`;\n const method = 'POST';\n const data = { form_submission: formSubmission };\n\n const ajax = $.ajax({ method, url, data });\n\n return Promise.resolve(ajax)\n .then(() => formSubmission)\n .catch(({ responseJSON }) => {\n throw responseJSON;\n });\n}\n\nexport function temporarySaveFormSubmission(payload) {\n return (dispatch, getState) => {\n const { campaign } = payload;\n\n return fullAddressToFormSubmissionAddressParts(payload.formSubmission.address)\n .then(addressParts => ({\n ...payload.formSubmission,\n ...addressParts,\n }))\n .then(formSubmission => validateFormSubmission(formSubmission, campaign))\n .then(formSubmission => (\n dispatch({ type: TEMPORARY_SAVE_FORM_SUBMISSION, payload: formSubmission })\n ))\n .then(() => getState().grassrootsPortal.formSubmission);\n };\n}\n\nexport function saveFormSubmission(payload) {\n return (dispatch, getState) => {\n dispatch({ type: SAVE_FORM_SUBMISSION, payload });\n\n const { formSubmission, campaign } = payload;\n\n const url = `/api_web/portal/grassroots/campaigns/${campaign.token}/form_submissions`;\n const method = 'POST';\n const data = { form_submission: formSubmission };\n\n const ajax = $.ajax({ url, method, data });\n\n return Promise.resolve(ajax)\n .then((response) => {\n dispatch({ type: RECEIVE_FORM_SUBMISSION, payload: response });\n })\n .then(() => getState().grassrootsPortal.formSubmission)\n .catch(receiveError(dispatch));\n };\n}\n\nexport function editFormSubmission(formSubmission) {\n return {\n type: EDIT_FORM_SUBMISSION,\n payload: formSubmission,\n };\n}\n","import pickBy from 'lodash/pickBy';\nimport { DEFAULT_CUSTOM_COLORS } from 'components/grassroots-campaign-builder/constants';\n\nimport { FETCH_CUSTOM_COLORS, RECEIVE_CUSTOM_COLORS } from '../constants';\n\nexport function fetchCustomColors(campaign) {\n return async (dispatch) => {\n dispatch({ type: FETCH_CUSTOM_COLORS });\n\n const {\n primary_color,\n secondary_color,\n } = {\n ...DEFAULT_CUSTOM_COLORS,\n ...pickBy(campaign.company_config),\n ...pickBy(campaign),\n };\n\n const payload = {\n primary_color,\n secondary_color,\n };\n\n dispatch({ type: RECEIVE_CUSTOM_COLORS, payload });\n };\n}\n","import flatten from 'lodash/flatten';\nimport compact from 'lodash/compact';\nimport { geocodeByAddress, getLatLng } from 'react-places-autocomplete';\n\nimport { fetchMapBox } from 'components/map/helpers';\nimport { MAPBOX_TYPE_BY_MATCHER_SLUG } from 'components/GrassrootsPortal/constants';\nimport { CAMPAIGN_LEGISLATOR_TYPE, CUSTOM } from 'components/grassroots-campaign-builder/constants';\n\nimport { RECEIVE_LEGISLATORS, FETCH_LEGISLATORS } from '../../constants';\n\nfunction fetchCoordinates(addresses) {\n return getLatLng(addresses[0]);\n}\n\nfunction fetchGeoId({ lng, lat }) {\n const coordinates = [lng, lat].join();\n\n return fetchMapBox(coordinates);\n}\n\nfunction linkLegislatorToMatcher(matcher) {\n return legislator => ({\n ...legislator,\n matcher,\n });\n}\n\nfunction receiveLegislators(dispatch) {\n return legislators => dispatch(\n {\n type: RECEIVE_LEGISLATORS,\n payload: legislators,\n }\n );\n}\n\nfunction getGeoId(mapboxResult, strategySlug, chamberSlug) {\n const type = MAPBOX_TYPE_BY_MATCHER_SLUG[strategySlug][chamberSlug];\n\n const targetFeature = mapboxResult.features\n .find(feature => feature.properties.type === type);\n\n if (!targetFeature || !targetFeature.properties.geoId) {\n return null;\n }\n\n return targetFeature.properties.geoId;\n}\n\nfunction fetchLegislatorsForOneChamber({ matcher, mapboxResult }) {\n return async (chamberSlug) => {\n const geoId = getGeoId(mapboxResult, matcher.strategy_slug, chamberSlug);\n\n if (!geoId) {\n return [];\n }\n\n const { recipients } = await $.ajax({\n url: `/api_web/portal/grassroots/matchers/${matcher.id}/recipients`,\n data: { geo_id: geoId },\n });\n\n return recipients\n .filter(recipient => recipient.chamber_slug === chamberSlug)\n .map(linkLegislatorToMatcher(matcher));\n };\n}\n\nfunction fetchLegislatorsForOneMatcher(mapboxResult) {\n return matcher => matcher.strategy_data.chamber_slugs\n .flatMap(fetchLegislatorsForOneChamber({ matcher, mapboxResult }));\n}\n\nfunction fetchLegislatorsForAllMatchers(campaign) {\n return (mapboxResult) => {\n const { matchers } = campaign;\n const legislatorsRequest = matchers\n .filter(({ strategy_slug }) => strategy_slug !== CUSTOM)\n .flatMap(fetchLegislatorsForOneMatcher(mapboxResult));\n\n return Promise.all(legislatorsRequest)\n .then(legislators => compact(flatten(legislators)));\n };\n}\n\nfunction validateMapboxResult(mapboxResult) {\n const validationError = {\n address: 'We could not find any legislators for this address',\n };\n\n if (mapboxResult.features.length === 0) {\n throw validationError;\n }\n\n return mapboxResult;\n}\n\nexport function fetchLegislators(formSubmission, campaign) {\n return (dispatch) => {\n if (campaign.campaign_type !== CAMPAIGN_LEGISLATOR_TYPE) {\n return null;\n }\n\n dispatch({ type: FETCH_LEGISLATORS });\n\n return geocodeByAddress(formSubmission.address)\n .then(fetchCoordinates)\n .then(fetchGeoId)\n .then(validateMapboxResult)\n .then(fetchLegislatorsForAllMatchers(campaign))\n .then(receiveLegislators(dispatch));\n };\n}\n","import { CUSTOM } from 'components/grassroots-campaign-builder/constants';\n\nimport {\n FETCH_CUSTOM_RECIPIENTS,\n RECEIVE_CUSTOM_RECIPIENTS,\n} from '../../constants';\n\nfunction linkCustomRecipientToMatcher(matcher) {\n return customRecipient => ({\n ...customRecipient,\n matcher,\n });\n}\n\nfunction receiveCustomRecipients(dispatch) {\n return customRecipients => dispatch(\n {\n type: RECEIVE_CUSTOM_RECIPIENTS,\n payload: customRecipients,\n }\n );\n}\n\nexport function fetchCustomRecipients(campaign) {\n return (dispatch) => {\n const matcher = campaign.matchers\n .find(({ strategy_slug }) => strategy_slug === CUSTOM);\n\n if (!matcher) {\n return null;\n }\n\n dispatch({ type: FETCH_CUSTOM_RECIPIENTS });\n\n const url = `/api_web/portal/grassroots/campaigns/${campaign.token}/custom_recipients`;\n const method = 'GET';\n\n const ajax = $.ajax({ url, method });\n\n return Promise.resolve(ajax)\n .then(({ custom_recipients: customRecipients }) => (\n customRecipients.map(linkCustomRecipientToMatcher(matcher))\n ))\n .then(receiveCustomRecipients(dispatch));\n };\n}\n","import { CAMPAIGN_REGULATION_TYPE } from 'components/grassroots-campaign-builder/constants';\n\nimport {\n RECEIVE_REGULATION,\n FETCH_REGULATION,\n} from '../../constants';\n\nfunction receiveRegulation(dispatch) {\n return regulation => dispatch(\n {\n type: RECEIVE_REGULATION,\n payload: regulation,\n }\n );\n}\n\nexport function fetchRegulation(campaign) {\n return (dispatch) => {\n if (campaign.campaign_type !== CAMPAIGN_REGULATION_TYPE) {\n return null;\n }\n\n dispatch({ type: FETCH_REGULATION });\n\n // Regulation campaigns only have one matcher\n const regulationId = campaign.matchers[0].strategy_data.regulation_id;\n\n const ajax = $.ajax({\n url: `/api_web/portal/grassroots/regulations/${regulationId}`,\n method: 'GET',\n });\n\n return Promise.resolve(ajax)\n .then(receiveRegulation(dispatch));\n };\n}\n","import {\n CAMPAIGN_REGULATION_TYPE,\n CAMPAIGN_LEGISLATOR_TYPE,\n} from 'components/grassroots-campaign-builder/constants';\n\nimport { stopLoading } from '../utils';\nimport { fetchLegislators } from './fetchLegislators';\nimport { fetchCustomRecipients } from './fetchCustomRecipients';\nimport { fetchRegulation } from './fetchRegulation';\n\nimport { CREATE_RECIPIENTS } from '../../constants';\n\nfunction createRecipients() {\n return { type: CREATE_RECIPIENTS };\n}\n\nfunction validateRecipientsAmount(recipients) {\n const validationError = {\n address: 'We\\'re sorry, this campaign does not target any legislators from your district or state.',\n };\n\n if (!recipients.length) {\n throw validationError;\n }\n\n return recipients;\n}\n\nfunction loadLegislatorCampaignData({ formSubmission, campaign }) {\n return (dispatch, getState) => Promise.all([\n dispatch(fetchLegislators(formSubmission, campaign)),\n dispatch(fetchCustomRecipients(campaign)),\n ])\n .then(() => dispatch(createRecipients()))\n .then(() => validateRecipientsAmount(getState().grassrootsPortal.recipients));\n}\n\nfunction loadRegulationCampaignData({ campaign }) {\n return dispatch => Promise.all([\n dispatch(fetchRegulation(campaign)),\n ]);\n}\n\nexport function loadStepTwoData(campaign) {\n return dispatch => (formSubmission) => {\n const loadFunction = {\n [CAMPAIGN_REGULATION_TYPE]: loadRegulationCampaignData,\n [CAMPAIGN_LEGISLATOR_TYPE]: loadLegislatorCampaignData,\n }[campaign.campaign_type];\n\n return dispatch(loadFunction({ formSubmission, campaign }))\n .finally(stopLoading(dispatch));\n };\n}\n","import { RECIPIENT_TYPE } from 'components/GrassrootsPortal/constants';\nimport {\n CAMPAIGN_REGULATION_TYPE,\n CAMPAIGN_LEGISLATOR_TYPE,\n} from 'components/grassroots-campaign-builder/constants';\n\nimport {\n SAVE_MESSAGES,\n} from '../constants';\nimport { receiveError } from './utils';\n\nfunction sendSingleMessage({ content, formSubmission, matcher, matcherMessage, recipientId, recipientType }) {\n const url = '/api_web/portal/grassroots/messages';\n const method = 'POST';\n\n const data = {\n message: {\n content,\n grassroots_form_submission_id: formSubmission.id,\n grassroots_matcher_id: matcher.id,\n recipient_id: recipientId,\n grassroots_matcher_message_id: matcherMessage.id,\n recipient_type: recipientType,\n },\n };\n\n const ajax = $.ajax({ method, url, data });\n\n return Promise.resolve(ajax)\n .catch(() => {\n // do nothing, for user always it went right\n // all back-end errors are handled in sentry\n });\n}\n\nfunction sendRecipientMessage({ formSubmission, recipient }) {\n const { id, matcher, recipient_type, matcherMessage } = recipient;\n\n const customMessage = formSubmission.custom_messages && formSubmission.custom_messages[id];\n const content = customMessage || matcherMessage.content;\n\n return sendSingleMessage({\n content,\n matcher,\n matcherMessage,\n formSubmission,\n recipientId: id,\n recipientType: recipient_type,\n });\n}\n\nfunction sendRecipientsMessages({ formSubmission, recipients }) {\n return Promise.all(\n recipients.map(recipient => sendRecipientMessage({ recipient, formSubmission }))\n );\n}\n\nfunction sendRegulationComment({ campaign, formSubmission, regulation }) {\n const matcher = campaign.matchers[0];\n const customComment = formSubmission.custom_comment;\n const matcherMessage = matcher.matcher_messages[0];\n const content = customComment || matcherMessage.content;\n\n return sendSingleMessage({\n content,\n matcher,\n formSubmission,\n matcherMessage,\n recipientId: regulation.id,\n recipientType: RECIPIENT_TYPE.FEDERAL_REGISTER_REGULATION,\n chamberSlug: null,\n });\n}\n\nfunction sendMessages(state) {\n const { campaign_type } = state.campaign;\n\n const sendFunction = {\n [CAMPAIGN_REGULATION_TYPE]: sendRegulationComment,\n [CAMPAIGN_LEGISLATOR_TYPE]: sendRecipientsMessages,\n }[campaign_type];\n\n return sendFunction(state);\n}\n\nexport function saveMessages({ campaign, regulation, recipients }) {\n return dispatch => (formSubmission) => {\n dispatch({ type: SAVE_MESSAGES });\n\n const state = {\n campaign,\n regulation,\n recipients,\n formSubmission,\n };\n\n return sendMessages(state)\n .then(() => formSubmission)\n .catch(receiveError(dispatch));\n };\n}\n","import {\n RECEIVE_CAMPAIGN,\n FETCH_CAMPAIGN,\n SAVE_CUSTOM_MESSAGE,\n SAVE_CUSTOM_REGULATION_COMMENT,\n SET_PREVIEW_MODE,\n OPEN_MESSAGE_EDITOR,\n CLOSE_MESSAGE_EDITOR,\n COLLECT_STATISTIC,\n} from '../constants';\nimport { stopLoading, receiveError } from './utils';\n\nexport { temporarySaveFormSubmission, saveFormSubmission, editFormSubmission } from './formSubmission';\nexport { fetchCustomColors } from './customColors';\nexport { loadStepTwoData } from './data';\nexport { saveMessages } from './messages';\n\nfunction receiveCampaign(dispatch) {\n return payload => dispatch({ type: RECEIVE_CAMPAIGN, payload });\n}\n\nexport function fetchCampaign(payload) {\n return (dispatch) => {\n dispatch({ type: FETCH_CAMPAIGN, payload });\n\n const url = `/api_web/portal/grassroots/campaigns/${payload.campaignToken}`;\n const method = 'GET';\n\n const ajax = $.ajax({ method, url });\n\n return Promise.resolve(ajax)\n .then(receiveCampaign(dispatch))\n .then(stopLoading(dispatch))\n .catch(receiveError(dispatch));\n };\n}\n\nexport function saveCustomMessage(payload) {\n return { type: SAVE_CUSTOM_MESSAGE, payload };\n}\n\nexport function saveCustomRegulationComment(payload) {\n return { type: SAVE_CUSTOM_REGULATION_COMMENT, payload };\n}\n\nexport function openMessageEditor() {\n return { type: OPEN_MESSAGE_EDITOR };\n}\n\nexport function closeMessageEditor() {\n return { type: CLOSE_MESSAGE_EDITOR };\n}\n\nexport function setPreviewMode() {\n return { type: SET_PREVIEW_MODE };\n}\n\nexport function collectStatistics(...payloads) {\n return (dispatch) => {\n dispatch({ type: COLLECT_STATISTIC, payloads });\n\n const url = '/api_web/portal/grassroots/statistics/actions';\n const method = 'POST';\n\n const requests = payloads.map(payload =>\n Promise.resolve(\n $.ajax({\n method,\n url,\n data: JSON.stringify(payload),\n contentType: 'application/json',\n })\n )\n );\n\n return Promise.all(requests);\n };\n}\n","import { GLOBAL_SEARCH_URL } from 'components/GlobalSearch/utils/constants';\n\nimport { transformPayloadForBE, transformResponseForUI } from '../transformers';\nimport constants from '../constants';\n\nconst { addNotification } = window.app.GlobalNotifier;\n\nconst onFetchSuccess = (dispatch, isInfiniteLoad) => response => dispatch({\n type: constants.RECEIVE_RESULTS_DONE,\n payload: transformResponseForUI(response),\n isInfiniteLoad,\n});\n\nconst onFetchError = dispatch => () => {\n addNotification({\n message: 'Could not load results. Please try again.',\n level: 'error',\n });\n\n dispatch({\n type: constants.RECEIVE_RESULTS_ERROR,\n });\n};\n\nexport function fetchResults({ searchTerm, searchParams = {}, page, isInfiniteLoad }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_RESULTS, isInfiniteLoad });\n const requestData = transformPayloadForBE({ searchTerm, searchParams, page });\n const url = GLOBAL_SEARCH_URL;\n const method = 'POST';\n\n const ajax = $.ajax({\n url,\n method,\n data: requestData,\n });\n\n return Promise.resolve(ajax)\n .then(onFetchSuccess(dispatch, isInfiniteLoad))\n .catch(onFetchError(dispatch));\n };\n}\n","import constants from '../constants';\n\nconst { addNotification } = window.app.GlobalNotifier;\n\nconst onError = (dispatch, recordType, recordId) => (error) => {\n const { status } = error;\n\n dispatch({\n type: constants.RECEIVE_SUMMARY_ERROR,\n recordType,\n recordId,\n });\n\n if (status === 404) {\n return;\n }\n\n addNotification({\n message: 'Could not load the summaries. Please try again.',\n level: 'error',\n });\n};\n\nconst onSuccess = (dispatch, recordType, recordId) => ({ body }) => {\n dispatch({\n type: constants.RECEIVE_SUMMARY_DONE,\n payload: body,\n recordType,\n recordId,\n });\n};\n\nexport function fetchSummary({ recordType, recordId }) {\n return (dispatch) => {\n dispatch({\n type: constants.FETCH_SUMMARY,\n recordType,\n recordId,\n });\n\n const ajax = $.get(`api_web/summaries/${recordType}/${recordId}`);\n\n Promise.resolve(ajax)\n .then(onSuccess(dispatch, recordType, recordId))\n .catch(onError(dispatch, recordType, recordId));\n };\n}\n\nexport default fetchSummary;\n","export * from './results';\nexport * from './summary';\n","import { isEmpty, omitBy, map } from 'lodash';\n\nimport { transformSelectValues } from 'utils/transformers/advancedSearch';\n\nexport function transformStaffersForUI(staffersData = {}) {\n const { data } = staffersData || {};\n\n return {\n staffers: map(data, (staffer = {}) => {\n const {\n alias_name,\n full_name,\n responsibilities,\n is_leadership,\n ...restProps\n } = staffer;\n return {\n ...restProps,\n name: alias_name || full_name,\n issues: responsibilities,\n isLeadership: is_leadership,\n };\n }),\n };\n}\n\nexport function transformStaffersForBE(payload) {\n const { id, keywordSearch, stafferTitles, issuesArea, ...restProps } = payload || {};\n\n return {\n ...restProps,\n search_form: omitBy({\n legislator_ids: [id],\n lookup_keyword: keywordSearch,\n titles: transformSelectValues(stafferTitles),\n priorities: transformSelectValues(issuesArea),\n }, isEmpty),\n };\n}\n","import { isNil, omitBy } from 'lodash';\n\nimport { PAGE_SIZE } from 'components/core/Profile/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\n\nimport { transformStaffersForBE, transformStaffersForUI } from './transformers';\nimport { getStaffersUrl } from './utils';\nimport constants from './constants';\n\nexport const PER_PAGE = { per_page: PAGE_SIZE };\n\nexport function fetchStaffers(payload = {}, customTransformers = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAFFERS });\n const {\n transformForBE = transformStaffersForBE,\n transformForUI = transformStaffersForUI,\n } = customTransformers;\n\n const { sort, direction, page, id, slug } = payload;\n\n const staffersData = transformForBE(payload);\n const sortData = omitBy({ sort, direction, page }, isNil);\n const { url, method } = getStaffersUrl(slug, id);\n\n const ajax = $.ajax({\n url,\n method,\n data: { ...staffersData, ...sortData, ...PER_PAGE },\n });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_STAFFERS_DONE,\n payload: {\n ...transformForUI(response),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(payload),\n },\n }));\n };\n}\n","import {\n FEDERAL_LEGISLATOR_SLUG,\n FEDERAL_COMMITTEE_SLUG,\n STATE_LEGISLATOR_SLUG,\n STATE_EXECUTIVE_SLUG,\n} from './constants';\n\nexport function getStaffersUrl(slug, id) {\n const staffersUrls = {\n [FEDERAL_LEGISLATOR_SLUG]: {\n url: '/api_web/rolodex/staffers/lookup',\n method: 'POST',\n },\n [FEDERAL_COMMITTEE_SLUG]: {\n url: `/api_web/federal/committees/${id}/staffers`,\n method: 'GET',\n },\n [STATE_LEGISLATOR_SLUG]: {\n url: '/api_web/state/staffers/lookup',\n method: 'POST',\n },\n [STATE_EXECUTIVE_SLUG]: {\n url: '/api_web/state_agency_staffers',\n method: 'GET',\n },\n };\n\n if (!staffersUrls[slug]) {\n throw Error('The bill slug must be valid');\n }\n\n return staffersUrls[slug];\n}\n","const PREFIX = 'LOCAL';\n\nexport const API_URL = '/api_web/local/documents/lookup';\nexport const STRATEGY_SLUG = 'local';\nexport const STRATEGY_SLUG_EXPORT = 'town_intel';\n\nconst constants = {\n FETCH_DOCUMENTS: `${PREFIX}/FETCH_DOCUMENTS`,\n RECEIVE_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_DOCUMENTS_DONE`,\n RESET_DOCUMENTS: `${PREFIX}/RESET_DOCUMENTS`,\n SET_DOCUMENTS: `${PREFIX}/SET_DOCUMENTS`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n BULK_UPDATE_DATA: `${PREFIX}/BULK_UPDATE_DATA`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n BULK_SHARE_TO_MY_FEED: `${PREFIX}/BULK_SHARE_TO_MY_FEED`,\n BULK_SHARE_TO_MY_FEED_DONE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_DONE`,\n BULK_SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_FAILURE`,\n};\n\nexport default constants;\n","import { groupBy, map, mapValues, isEmpty, keyBy } from 'lodash';\n\nconst transformEachRecordForBE = (value, key) => ({\n record_type: key,\n record_ids: map(value, 'id'),\n});\n\nexport const transformRecordsForBE = (records) => {\n const groupedValues = groupBy(records, 'recordType');\n\n return map(groupedValues, transformEachRecordForBE);\n};\n\nconst transformSubscription = ({ subscription }) => {\n const { frequency, subscribable_data } = subscription || {};\n const { send_week_ahead_email } = subscribable_data || {};\n\n return ({\n ...subscription,\n sendWeekAheadEmail: send_week_ahead_email,\n isTracking: !isEmpty(frequency),\n });\n};\n\nconst transformRecordTypeSubscriptions = ({ subscriptions }) => {\n const groupedSubscriptions = keyBy(subscriptions, 'record_id');\n\n return mapValues(groupedSubscriptions, transformSubscription);\n};\n\nexport const transformSubscriptionsForUI = (subscriptions) => {\n const groupedSubscriptions = keyBy(subscriptions, 'record_type');\n\n return mapValues(groupedSubscriptions, transformRecordTypeSubscriptions);\n};\n\nconst extractIdsFromRecords = records => map(records, 'id');\n\nexport const transformFetchedRecords = (records) => {\n const recordsObject = groupBy(records, 'recordType');\n\n return mapValues(recordsObject, extractIdsFromRecords);\n};\n","import isEmpty from 'lodash/isEmpty';\n\nimport * as api from 'redux/dashboardV2/common/trackings/api';\nimport { getMyFeedToken } from 'components/Dashboard/utils';\n\nimport constants from './utils/constants';\nimport { transformRecordsForBE, transformSubscriptionsForUI, transformFetchedRecords } from './transformers';\nimport { isTrackableRecordType, isNotFetched } from './utils';\n\nconst { addNotification } = window.app.GlobalNotifier;\n\nconst onFailure = dispatch => () => {\n addNotification({\n message: 'Could not load tracking data. Please try again.',\n level: 'error',\n });\n\n dispatch({ type: constants.RECEIVE_SUBSCRIPTIONS_ERROR });\n};\n\nconst onSuccess = dispatch => ({ data: responseData } = {}) => {\n const successPayload = transformSubscriptionsForUI(responseData);\n\n dispatch({\n type: constants.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: successPayload,\n });\n};\n\nexport function fetchSubscriptions({\n records,\n isTrackable = isTrackableRecordType,\n shouldBeFetched = isNotFetched,\n}) {\n return (dispatch, getState) => {\n const { fetchedRecords } = getState().tracking;\n\n const trackableItems = records\n .filter(isTrackable)\n .filter(shouldBeFetched(fetchedRecords));\n\n if (isEmpty(trackableItems)) return Promise.resolve();\n\n dispatch({\n type: constants.FETCH_SUBSCRIPTIONS,\n payload: transformFetchedRecords(records),\n });\n\n const searchForm = transformRecordsForBE(trackableItems);\n\n return Promise.resolve(api.fetchTrackingsBulk(searchForm, getMyFeedToken()))\n .then(onSuccess(dispatch))\n .catch(onFailure(dispatch));\n };\n}\n\nexport function updateSubscription({ recordType, recordId, ...newSubscriptionData }) {\n return (dispatch) => {\n dispatch({\n type: constants.UPDATE_SUBSCRIPTION,\n recordType,\n recordId,\n newSubscriptionData,\n });\n };\n}\n","import { sumBy } from 'lodash';\nimport { formatPercentage } from '../common/utils';\n\nexport function transformTrendsParams({ id, selectedFeed, mention }) {\n const { id: feedId } = selectedFeed || {};\n const params = { field: 'sentiment' };\n\n if (id) {\n return { ...params, clusters: [id] };\n }\n\n if (mention) {\n return { ...params, entities_title_text: mention.text };\n }\n\n if (feedId) {\n return { config_id: feedId };\n }\n\n return params;\n}\n\nexport function transformTrendsForUI(response) {\n const total = sumBy(response, 'count');\n const sentimentOverall = response.map((sentiment) => {\n const { value, count } = sentiment;\n\n return {\n type: value,\n percentage: formatPercentage(count / total),\n };\n });\n\n return { sentimentOverall };\n}\n","import Notifications from 'components/News/utils/Notifications';\n\nimport { transformTrendsParams, transformTrendsForUI } from './utils';\nimport constants from './constants';\n\nexport function fetchClusterTrends(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CLUSTER_INFO });\n\n const url = '/api_web/news/trends';\n const ajax = $.get(url, transformTrendsParams(payload));\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_CLUSTER_INFO_DONE,\n payload: transformTrendsForUI(response.data),\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_CLUSTER_INFO_FAILURE });\n\n Notifications.defaultFetchDataFailed();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import {\n API_URL,\n SUBMIT_LOBBY_ALERTS,\n SUBMIT_LOBBY_ALERTS_DONE,\n SUBMIT_LOBBY_ALERTS_ERROR,\n} from '../constants';\n\nexport function submitLobbyAlerts(params) {\n return (dispatch) => {\n dispatch({ type: SUBMIT_LOBBY_ALERTS });\n\n const ajax = $.post(API_URL, params);\n\n return Promise.resolve(ajax)\n .then(response =>\n dispatch({ type: SUBMIT_LOBBY_ALERTS_DONE, payload: response })\n )\n .catch((error) => {\n dispatch({ type: SUBMIT_LOBBY_ALERTS_ERROR, payload: error });\n throw error;\n });\n };\n}\n","export * from './submitLobbyAlerts';\n","import {\n API_URL,\n FETCH_DONORS,\n RECEIVE_DONORS,\n DONORS_NOT_FOUND,\n DEFAULT_PER_PAGE,\n} from '../constants';\n\nexport function fetchDonors({ page = 1, ...params }) {\n return (dispatch) => {\n dispatch({ type: FETCH_DONORS, payload: params });\n\n const ajax = $.get(API_URL, {\n ...params,\n page,\n per_page: DEFAULT_PER_PAGE,\n });\n\n return Promise.resolve(ajax)\n .then(response =>\n dispatch({ type: RECEIVE_DONORS, payload: response })\n )\n .catch((error) => {\n dispatch({ type: DONORS_NOT_FOUND });\n throw error;\n });\n };\n}\n","export * from './fetchDonors';\n","import { omitBy, isEmpty, map } from 'lodash';\n\nimport {\n FEDERAL_LEGISLATOR_SLUG,\n STATE_LEGISLATOR_SLUG,\n FEDERAL_COMMITTEE_SLUG,\n FEDERAL_BILL_SLUG,\n STATE_BILL_SLUG,\n STATE_EXECUTIVE_SLUG,\n} from '../constants';\n\nexport function getPublicRecordsUrl(slug) {\n const publicRecordsUrls = {\n [FEDERAL_LEGISLATOR_SLUG]: {\n url: '/api_web/federal/public_records/lookup',\n strategySlug: 'federal_legislator_public_record',\n },\n [STATE_LEGISLATOR_SLUG]: {\n url: '/api_web/state/public_records/lookup',\n strategySlug: 'state_legislator_public_record',\n },\n [FEDERAL_COMMITTEE_SLUG]: {\n url: '/api_web/federal/public_records/lookup',\n strategySlug: 'federal_committee_public_record',\n },\n [FEDERAL_BILL_SLUG]: {\n url: '/api_web/federal/public_records/lookup',\n strategySlug: 'federal_bill_public_record',\n },\n [STATE_BILL_SLUG]: {\n url: '/api_web/state/bills/public_records',\n strategySlug: 'state_legislation_bill_public_record',\n },\n [STATE_EXECUTIVE_SLUG]: {\n url: '/api_web/state/executives/public_records/lookup',\n strategySlug: 'state_legislation_executive_public_record',\n },\n };\n\n if (!publicRecordsUrls[slug]) {\n throw Error('The public record slug must be valid');\n }\n\n return publicRecordsUrls[slug];\n}\n\nexport function transformPublicRecordsForUI({ response: { data } = {}, transformRecords }) {\n const transformedRecords = transformRecords && transformRecords(data) || data;\n\n return {\n types: [],\n records: transformedRecords,\n };\n}\n\nexport function transformPublicRecordsForBE(searchData = {}) {\n const { id, tags, keywordSearch, rangeDate = {}, selectedTypes = [] } = searchData;\n\n return omitBy({\n legislator_id: id,\n full_text: keywordSearch,\n date_from: rangeDate.startDate,\n date_to: rangeDate.endDate,\n collections: [...selectedTypes],\n tag_ids: map(tags, 'value'),\n }, isEmpty);\n}\n","import { isNil, omitBy } from 'lodash';\n\nimport { PAGE_SIZE } from 'components/core/Profile/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { fetchLookupTags } from 'redux/tags/actions';\nimport { fetchLookupSubscriptions } from 'redux/subscriptions/actions';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\n\nimport {\n getPublicRecordsUrl,\n transformPublicRecordsForUI,\n transformPublicRecordsForBE,\n} from './utils';\nimport constants from './constants';\n\nexport const PER_PAGE = { per_page: PAGE_SIZE };\n\nexport function fetchTags(payload = {}) {\n return dispatch => dispatch(fetchLookupTags(payload, null, constants));\n}\n\nexport function fetchSubscriptions(payload = {}) {\n return dispatch => dispatch(fetchLookupSubscriptions(payload, null, constants));\n}\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n\nfunction getPublicRecordsData(payload = {}, customTransformers = {}) {\n const { sort, direction, page, slug, id } = payload;\n const { transformForBE = transformPublicRecordsForBE } = customTransformers;\n\n const searchQuery = transformForBE(payload);\n const searchForm = { search_form: searchQuery };\n\n const { url, method, strategySlug } = getPublicRecordsUrl(slug, id);\n const sortData = omitBy({ sort, direction, page }, isNil);\n const data = { ...searchForm, ...sortData, ...PER_PAGE };\n return { url, method, data, sortData, strategySlug };\n}\n\nexport function fetchPublicRecords(payload = {}, customTransformers = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_PUBLIC_RECORDS });\n const { transformForUI = transformPublicRecordsForUI, transformRecords } = customTransformers;\n const { url, method, data, sortData, strategySlug } = getPublicRecordsData(payload, customTransformers);\n const currentData = { ...data, strategy_slug: strategySlug };\n\n const ajax = $.ajax({\n url,\n method: method || 'POST',\n data: currentData,\n });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_PUBLIC_RECORDS_DONE,\n payload: {\n ...transformForUI({ response, transformRecords }),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(sortData),\n },\n });\n }\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(({ payload: { records } }) => dispatch(fetchTags({ payload: records })))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .then(payloadData => dispatch(fetchSubscriptions(payloadData)))\n .catch(onFailure);\n };\n}\n","import { omitBy, isEmpty } from 'lodash';\n\nimport { getBlob, downloadBlob } from 'utils/fileExport';\n\nexport function getExportSortData(sortData = {}) {\n const data = {\n 'strategy_inputs[sort]': sortData.sort,\n 'strategy_inputs[direction]': sortData.direction,\n };\n\n return omitBy(data, isEmpty);\n}\n\nexport function exportCSVBlob(data, fileName) {\n const blob = (data instanceof Blob)\n ? data\n : getBlob(data);\n\n downloadBlob(blob, fileName);\n}\n","const PREFIX = 'BILLS';\n\nconst constants = {\n SET_BILLS: `${PREFIX}/SET_BILLS`,\n FETCH_BILLS: `${PREFIX}/FETCH_BILLS`,\n RECEIVE_BILLS_DONE: `${PREFIX}/RECEIVE_BILLS_DONE`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n};\n\n// TODO: This is duplicated from public_records\nexport const FEDERAL_LEGISLATOR_SLUG = 'federal_legislator';\nexport const STATE_LEGISLATOR_SLUG = 'state_legislator';\nexport const FEDERAL_COMMITTEE_SLUG = 'federal_committee';\nexport const STATE_COMMITTEE_SLUG = 'committee';\nexport const FEDERAL_BILL_SIMILAR_BILLS_SLUG = 'federal_bill_similar_bills';\nexport const STATE_BILL_SIMILAR_BILLS_SLUG = 'state_bill_similar_bills';\n\nexport default constants;\n","export const API_URL = '/api_web/state/regulations/profile';\nexport const PUBLICATIONS_URL = '/api_web/state/regulation_documents/lookup';\n\nexport const STRATEGY_SLUG = 'state_regulation';\nexport const STRATEGY_SLUG_FOR_EXPORT = 'state_regulations';\n\nconst PREFIX = 'STATE_REGULATION';\nconst constants = {\n FETCH_REGULATION: `${PREFIX}/FETCH_REGULATION`,\n RECEIVE_REGULATION_DONE: `${PREFIX}/RECEIVE_REGULATION`,\n FETCH_TIMELINE: `${PREFIX}/FETCH_TIMELINE`,\n RECEIVE_TIMELINE_DONE: `${PREFIX}/RECEIVE_TIMELINE_DONE`,\n UPSERT_SUMMARY_DONE: `${PREFIX}/UPSERT_SUMMARY_DONE`,\n FETCH_PUBLICATIONS: `${PREFIX}/FETCH_PUBLICATIONS`,\n RECEIVE_PUBLICATIONS_DONE: `${PREFIX}/RECEIVE_PUBLICATIONS_DONE`,\n RESET_REGULATION_DATA: `${PREFIX}/RESET_REGULATION_DATA`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n UPDATE_PROFILE_MY_FEED: `${PREFIX}/UPDATE_PROFILE_MY_FEED`,\n};\n\nexport default constants;\n","const PREFIX = 'NEWS_STORY_FEED';\n\nconst constants = {\n FETCH_GENERAL_FEEDS: `${PREFIX}/FETCH_GENERAL_FEEDS`,\n RECEIVE_GENERAL_FEEDS_DONE: `${PREFIX}/RECEIVE_GENERAL_FEEDS_DONE`,\n RECEIVE_GENERAL_FEEDS_FAILURE: `${PREFIX}/RECEIVE_GENERAL_FEEDS_FAILURE`,\n FETCH_PERSONAL_FEEDS: `${PREFIX}/FETCH_PERSONAL_FEEDS`,\n RECEIVE_PERSONAL_FEEDS_DONE: `${PREFIX}/RECEIVE_PERSONAL_FEEDS_DONE`,\n RECEIVE_PERSONAL_FEEDS_FAILURE: `${PREFIX}/RECEIVE_PERSONAL_FEEDS_FAILURE`,\n DELETE_FEED: `${PREFIX}/DELETE_FEED`,\n DELETE_FEED_DONE: `${PREFIX}/DELETE_FEED_DONE`,\n DELETE_FEED_FAILURE: `${PREFIX}/DELETE_FEED_FAILURE`,\n CREATE_FEED_DONE: `${PREFIX}/CREATE_FEED_DONE`,\n CREATE_FEED_FAILURE: `${PREFIX}/CREATE_FEED_FAILURE`,\n UPDATE_FEED_DONE: `${PREFIX}/UPDATE_FEED_DONE`,\n UPDATE_FEED_FAILURE: `${PREFIX}/UPDATE_FEED_FAILURE`,\n SUBSCRIBE_TO_FEED: `${PREFIX}/SUBSCRIBE_TO_FEED`,\n SUBSCRIBE_TO_FEED_DONE: `${PREFIX}/SUBSCRIBE_TO_FEED_DONE`,\n SUBSCRIBE_TO_FEED_FAILURE: `${PREFIX}/SUBSCRIBE_TO_FEED_FAILURE`,\n};\n\nexport default constants;\n","export const MONEYBALL_INDIVIDUAL_PROFILE_STRATEGY_SLUG = 'moneyball_individual_profile';\n\nconst PREFIX = 'MONEYBALL_INDIVIDUAL_PROFILE';\n\nconst constants = {\n STRATEGY_SLUG: MONEYBALL_INDIVIDUAL_PROFILE_STRATEGY_SLUG,\n FETCH_INDIVIDUAL: `${PREFIX}/FETCH_INDIVIDUAL`,\n RECEIVE_INDIVIDUAL_DONE: `${PREFIX}/RECEIVE_INDIVIDUAL_DONE`,\n FETCH_INDIVIDUAL_CONTRIBUTIONS: `${PREFIX}/FETCH_INDIVIDUAL_CONTRIBUTIONS`,\n RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE: `${PREFIX}/RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE`,\n FETCH_INDIVIDUAL_RECEIPT: `${PREFIX}/FETCH_INDIVIDUAL_RECEIPT`,\n RECEIVE_INDIVIDUAL_RECEIPT_DONE: `${PREFIX}/RECEIVE_INDIVIDUAL_RECEIPT_DONE`,\n SET_ELECTION_CYCLES: `${PREFIX}/SET_ELECTION_CYCLES`,\n SELECT_ELECTION_CYCLE: `${PREFIX}/SELECT_ELECTION_CYCLE`,\n SUBMIT_EXPORT_ONE_PAGE_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_ONE_PAGE_REPORT_LOADING`,\n SUBMIT_EXPORT_ONE_PAGE_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_ONE_PAGE_REPORT_DONE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n\nexport default constants;\n","const keyword = 'STATE_PROFILE';\n\nconst constants = {\n FETCH_COMMITTEE: `${keyword}/FETCH_COMMITTEE`,\n RECEIVE_COMMITTEE_DONE: `${keyword}/RECEIVE_COMMITTEE_DONE`,\n FETCH_COMMITTEE_MEMBERS: `${keyword}/FETCH_COMMITTEE_MEMBERS`,\n RECEIVE_COMMITTEE_MEMBERS_DONE: `${keyword}/RECEIVE_COMMITTEE_MEMBERS_DONE`,\n LOAD_OVERVIEW: `${keyword}/LOAD_OVERVIEW`,\n LOAD_OVERVIEW_DONE: `${keyword}/LOAD_OVERVIEW_DONE`,\n FETCH_TAGS: `${keyword}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${keyword}/RECEIVE_TAGS_DONE`,\n FETCH_MY_FEED_DOCUMENTS: `${keyword}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${keyword}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${keyword}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n UPDATE_PROFILE_MY_FEED: `${keyword}/UPDATE_PROFILE_MY_FEED`,\n FETCH_SUBSCRIPTIONS: `${keyword}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${keyword}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${keyword}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n RESET_COMMITTEE: `${keyword}/RESET_COMMITTEE`,\n};\n\nexport default constants;\n","import { queryStringify } from 'utils/query-string';\nimport { GOV_REPORTS_URL } from 'utils/reports/govReports';\n\nimport constants from './constants';\n\nexport function getExportPayloadData({\n url,\n data,\n type = 'POST',\n toggleExportModal = null,\n exportNotifications = null,\n ...restProps\n}) {\n const finalUrl = url || GOV_REPORTS_URL;\n\n return {\n ...restProps,\n url: finalUrl,\n data,\n type,\n toggleExportModal,\n exportNotifications,\n };\n}\n\nexport function submitExportReport(payload = {}, ajaxProps = {}) {\n return (dispatch) => {\n dispatch({ type: constants.SUBMIT_EXPORT_REPORT_LOADING, payload });\n const {\n url,\n data,\n type,\n contentType,\n toggleExportModal,\n exportNotifications,\n onSuccessCustom,\n } = getExportPayloadData(payload);\n\n const ajax = $.ajax({\n url,\n data,\n type,\n contentType,\n ...ajaxProps,\n });\n\n function onSuccess(response) {\n onSuccessCustom\n ? onSuccessCustom(response)\n : window.open(`${url}?${queryStringify(data)}`, '_blank');\n\n exportNotifications && exportNotifications.getSuccess();\n toggleExportModal && toggleExportModal();\n }\n\n function onFailure(error) {\n exportNotifications && exportNotifications.getFailed();\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure)\n .finally(() => dispatch({ type: constants.SUBMIT_EXPORT_REPORT_DONE }));\n };\n}\n","import PropTypes from 'prop-types';\n\nimport { workspaceShape } from 'redux/events/utils/shapes';\nimport { stringNumberType } from 'utils/shapes';\n\nexport const subscriptionShape = PropTypes.shape({\n id: stringNumberType,\n token: PropTypes.string.isRequired,\n frequency: PropTypes.string,\n isSaved: PropTypes.bool,\n priority: PropTypes.string,\n title: PropTypes.string,\n subscribableType: PropTypes.string,\n subscribableData: PropTypes.shape({\n model_id: stringNumberType,\n model_type: PropTypes.string,\n }),\n isDisabled: PropTypes.bool,\n sendWeekAheadEmail: PropTypes.bool,\n isTracking: PropTypes.bool,\n});\n\nexport const trackingShape = PropTypes.shape({\n feed: workspaceShape.isRequired,\n subscription: subscriptionShape,\n subscriptions: PropTypes.arrayOf(subscriptionShape),\n});\n","export {\n transformCardForBE,\n transformTaskCardForBE,\n transformFiltersForBE,\n transformTaskStatusForBE,\n} from './toBE';\n\nexport {\n transformCardForFeed,\n transformCardForForm,\n transformTaskForForm,\n transformCustomFieldsForFeed,\n transformPaginationForFeed,\n transformTaskStatusForFeed,\n transformFiltersFromAdvancedSearch,\n} from './toFE';\n","const PREFIX = 'MONEYBALL_COMMITTEE_PROFILE';\n\nconst constants = {\n STRATEGY_SLUG: 'moneyball_committee_profile',\n FETCH_COMMITTEE: `${PREFIX}/FETCH_COMMITTEE`,\n RECEIVE_COMMITTEE_DONE: `${PREFIX}/RECEIVE_COMMITTEE_DONE`,\n FETCH_COMMITTEES_DATA: `${PREFIX}/FETCH_COMMITTEES_DATA`,\n RECEIVE_COMMITTEES_DATA_DONE: `${PREFIX}/RECEIVE_COMMITTEES_DATA_DONE`,\n FETCH_COMMITTEES_RECEIPT: `${PREFIX}/FETCH_COMMITTEES_RECEIPT`,\n RECEIVE_COMMITTEES_RECEIPT_DONE: `${PREFIX}/RECEIVE_COMMITTEES_RECEIPT_DONE`,\n SET_ELECTION_CYCLES: `${PREFIX}/SET_ELECTION_CYCLES`,\n SELECT_ELECTION_CYCLE: `${PREFIX}/SELECT_ELECTION_CYCLE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n\nexport default constants;\n","const prefix = 'CUSTOM_FIELDS';\n\nconst constants = {\n FETCH_CUSTOM_FIELDS: `${prefix}/FETCH_CUSTOM_FIELDS`,\n FETCH_CUSTOM_FIELDS_DONE: `${prefix}/FETCH_CUSTOM_FIELDS_DONE`,\n RECEIVE_CUSTOM_FIELDS: `${prefix}/RECEIVE_CUSTOM_FIELDS`,\n RECEIVE_CUSTOM_FIELDS_DONE: `${prefix}/RECEIVE_CUSTOM_FIELDS_DONE`,\n GET_CUSTOM_FIELD_BY_TOKEN: `${prefix}/GET_CUSTOM_FIELD_BY_TOKEN`,\n GET_CUSTOM_FIELD_BY_TOKEN_DONE: `${prefix}/GET_CUSTOM_FIELD_BY_TOKEN_DONE`,\n CREATE_CUSTOM_FIELDS: `${prefix}/CREATE_CUSTOM_FIELDS`,\n CREATE_CUSTOM_FIELDS_DONE: `${prefix}/CREATE_CUSTOM_FIELDS_DONE`,\n UPDATE_CUSTOM_FIELDS: `${prefix}/UPDATE_CUSTOM_FIELDS`,\n UPDATE_CUSTOM_FIELDS_DONE: `${prefix}/UPDATE_CUSTOM_FIELDS_DONE`,\n RESET_LOADING_CUSTOM_FIELDS: `${prefix}/RESET_LOADING_CUSTOM_FIELDS`,\n UPDATE_POSITION: `${prefix}/UPDATE_POSITION`,\n UPDATE_POSITION_DONE: `${prefix}/UPDATE_POSITION_DONE`,\n UPDATE_POSITION_FAILURE: `${prefix}/UPDATE_POSITION_FAILURE`,\n UPDATE_POSITION_SYNC_DONE: `${prefix}/UPDATE_POSITION_SYNC_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'PUBLIC_RECORDS';\n\nconst constants = {\n FETCH_PUBLIC_RECORDS: `${PREFIX}/FETCH_PUBLIC_RECORDS`,\n RECEIVE_PUBLIC_RECORDS_DONE: `${PREFIX}/RECEIVE_PUBLIC_RECORDS_DONE`,\n SET_PUBLIC_RECORDS: `${PREFIX}/SET_PUBLIC_RECORDS`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n};\n\nexport const FEDERAL_LEGISLATOR_SLUG = 'federal_legislator';\nexport const STATE_LEGISLATOR_SLUG = 'state_legislator';\nexport const FEDERAL_COMMITTEE_SLUG = 'federal_committee';\nexport const FEDERAL_BILL_SLUG = 'federal_bill';\nexport const STATE_BILL_SLUG = 'state_bill';\nexport const STATE_EXECUTIVE_SLUG = 'state_executive';\n\nexport default constants;\n","const keyword = 'MANAGE_COMPANY';\n\nconst constants = {\n FETCH_COMPANY_INFO: `${keyword}/FETCH_COMPANY_INFO`,\n RECEIVE_COMPANY_INFO_DONE: `${keyword}/RECEIVE_COMPANY_INFO_DONE`,\n UPDATE_COMPANY_INFO: `${keyword}/UPDATE_COMPANY_INFO`,\n UPDATE_COMPANY_INFO_DONE: `${keyword}/UPDATE_COMPANY_INFO_DONE`,\n UPDATE_COMPANY_INFO_ERROR: `${keyword}/UPDATE_COMPANY_INFO_ERROR`,\n RESET_API_TOKEN: `${keyword}/RESET_API_TOKEN`,\n RESET_API_TOKEN_DONE: `${keyword}/RESET_API_TOKEN_DONE`,\n DELETE_CONTACT: `${keyword}/DELETE_CONTACT`,\n DELETE_CONTACT_DONE: `${keyword}/DELETE_CONTACT_DONE`,\n DELETE_CONTACT_ERROR: `${keyword}/DELETE_CONTACT_ERROR`,\n SAVE_CONTACT: `${keyword}/SAVE_CONTACT`,\n CONTACT_SAVED: `${keyword}/CONTACT_SAVED`,\n SAVE_CONTACT_FAILED: `${keyword}/SAVE_CONTACT_FAILED`,\n};\n\nexport default constants;\n","import { MONEYBALL_CANDIDATE_PROFILE_STRATEGY_SLUG } from 'redux/moneyball/candidatePages/profile/constants';\nimport { MONEYBALL_INDIVIDUAL_PROFILE_STRATEGY_SLUG } from 'redux/moneyball/individualPages/profile/constants';\n\nexport const DEFAULT_PER_PAGE = 10;\n\nconst PREFIX = 'ADVANCED_SEARCH';\nconst constants = {\n FETCH_SAVED_SEARCHES_DATA: `${PREFIX}/FETCH_SAVED_SEARCHES_DATA`,\n RECEIVE_SAVED_SEARCHES_DATA_DONE: `${PREFIX}/RECEIVE_SAVED_SEARCHES_DATA_DONE`,\n FETCH_RECENT_SEARCHES_DATA: `${PREFIX}/FETCH_RECENT_SEARCHES_DATA`,\n RECEIVE_RECENT_SEARCHES_DATA_DONE: `${PREFIX}/RECEIVE_RECENT_SEARCHES_DATA_DONE`,\n SAVE_SEARCH_ITEM: `${PREFIX}/SAVE_SEARCH_ITEM`,\n SAVE_RECENT_SEARCH_ITEM: `${PREFIX}/SAVE_RECENT_SEARCH_ITEM`,\n SAVE_RECENT_SEARCH_ITEM_DONE: `${PREFIX}/SAVE_RECENT_SEARCH_ITEM_DONE`,\n SAVE_SEARCH_ITEM_DONE: `${PREFIX}/SAVE_SEARCH_ITEM_DONE`,\n REMOVE_SEARCH_ITEM: `${PREFIX}/REMOVE_SEARCH_ITEM`,\n REMOVE_SEARCH_ITEM_DONE: `${PREFIX}/REMOVE_SEARCH_ITEM_DONE`,\n SET_LAST_SEARCH_ID: `${PREFIX}/SET_LAST_SEARCH_ID`,\n};\n\nexport const STRATEGY_SLUGS_WITHOUT_LAST_SEARCH_ID = [\n MONEYBALL_CANDIDATE_PROFILE_STRATEGY_SLUG,\n MONEYBALL_INDIVIDUAL_PROFILE_STRATEGY_SLUG,\n];\n\nexport default constants;\n","export const MONEYBALL_CANDIDATE_PROFILE_STRATEGY_SLUG = 'moneyball_candidate_profile';\nconst PREFIX = 'MONEYBALL_CANDIDATE_PROFILE';\n\nconst constants = {\n STRATEGY_SLUG: MONEYBALL_CANDIDATE_PROFILE_STRATEGY_SLUG,\n FETCH_CANDIDATE: `${PREFIX}/FETCH_CANDIDATE`,\n RECEIVE_CANDIDATE_DONE: `${PREFIX}/RECEIVE_CANDIDATE_DONE`,\n FETCH_CANDIDATE_CONTRIBUTIONS: `${PREFIX}/FETCH_CANDIDATE_CONTRIBUTIONS`,\n RECEIVE_CANDIDATE_CONTRIBUTIONS_DONE: `${PREFIX}/RECEIVE_CANDIDATE_CONTRIBUTIONS_DONE`,\n FETCH_CANDIDATE_RECEIPT: `${PREFIX}/FETCH_CANDIDATE_RECEIPT`,\n RECEIVE_CANDIDATE_RECEIPT_DONE: `${PREFIX}/RECEIVE_CANDIDATE_RECEIPT_DONE`,\n SET_ELECTION_CYCLES: `${PREFIX}/SET_ELECTION_CYCLES`,\n SELECT_ELECTION_CYCLE: `${PREFIX}/SELECT_ELECTION_CYCLE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'SOCIAL_MEDIA';\n\nconst constants = {\n FETCH_POSTS: `${PREFIX}/FETCH_POSTS`,\n RECEIVE_POSTS_DONE: `${PREFIX}/RECEIVE_POSTS_DONE`,\n RECEIVE_POSTS_FAILURE: `${PREFIX}/RECEIVE_POSTS_FAILURE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n SAVE_TAGS_ITEM: `${PREFIX}/SAVE_TAGS_ITEM`,\n UPDATE_TAG_ITEM: `${PREFIX}/UPDATE_TAG_ITEM`,\n UPDATE_TAG_ITEM_DONE: `${PREFIX}/UPDATE_TAG_ITEM_DONE`,\n BULK_UPDATE_DATA: `${PREFIX}/BULK_UPDATE_DATA`,\n BULK_SHARE_TO_MY_FEED: `${PREFIX}/BULK_SHARE_TO_MY_FEED`,\n BULK_SHARE_TO_MY_FEED_DONE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_DONE`,\n BULK_SHARE_TO_MY_FEED_FAILURE: `${PREFIX}/BULK_SHARE_TO_MY_FEED_FAILURE`,\n};\n\nexport const PER_PAGE = 100;\n\nexport default constants;\n","import { head, map, capitalize, orderBy } from 'lodash';\n\nimport { getTitleUrl } from 'redux/dashboardV2/feedPage/utils/transformers/utils';\nimport { TRACK_SUBSCRIPTION_FREQUENCIES } from 'redux/dashboardV2/constants';\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport { formatGlobalDate } from 'utils/date';\n\nexport function transformSponsor(sponsor, baseUrl) {\n const { id, addressable_moniker, short_moniker, party_short, come_from, party_slug } = sponsor || {};\n\n return {\n id,\n url: getTitleUrl(id, baseUrl),\n addressableMoniker: short_moniker || addressable_moniker,\n partyShort: party_short,\n partySlug: party_slug,\n comeFrom: come_from,\n };\n}\n\nexport function transformStaffer(staffer, baseUrl) {\n const { id, name, position, title } = staffer || {};\n\n return {\n name,\n position: position || title,\n url: getTitleUrl(id, baseUrl),\n };\n}\n\nexport function transformLastAction(lastAction) {\n const { action, date } = lastAction || {};\n\n return {\n action,\n date: formatGlobalDate(date),\n };\n}\n\nexport function transformSession(session) {\n const { name, start_date, end_date } = session || {};\n\n return {\n name,\n startDate: formatGlobalDate(start_date),\n endDate: formatGlobalDate(end_date),\n };\n}\n\nexport function getListSubscription(subscriptions) {\n const mappedSubscriptions = map(subscriptions, ({\n isDisabled,\n is_disabled,\n subscribableType,\n subscribable_type,\n frequency,\n required_inputs,\n subscribableData,\n subscribable_data,\n }) => {\n const { model_id, send_week_ahead_email } = required_inputs || subscribableData || subscribable_data || {};\n const isRemoved = isDisabled || is_disabled || false;\n const currentFrequency = frequency || NONE_ID;\n\n return {\n modelId: model_id,\n type: subscribableType || subscribable_type,\n frequency: currentFrequency,\n isRemoved,\n sendWeekAheadEmail: send_week_ahead_email || false,\n label: TRACK_SUBSCRIPTION_FREQUENCIES[subscribableType || subscribable_type],\n content: isRemoved ? 'Not subscribed' : `Subscribed - ${capitalize(frequency)}`,\n };\n });\n\n return orderBy(mappedSubscriptions, ['label'], 'desc');\n}\n\nexport function transformSubscriptions({ subscriptions, is_disabled }) {\n const { frequency, is_saved, priority } = head(subscriptions) || {};\n const tokens = map(subscriptions, 'token');\n const ids = map(subscriptions, 'id');\n\n return {\n id: JSON.stringify(tokens),\n ids,\n frequency,\n priority,\n isRemoved: is_disabled || false,\n isDisabled: is_disabled || false,\n isSaved: is_saved || false,\n listSubscriptions: getListSubscription(subscriptions),\n };\n}\n","const PREFIX = 'MONEYBALL_SMARTSEARCH_LOOKUP';\n\nexport const API_URL = '/api_web/moneyball_v2';\n\nexport const STRATEGY_SLUG = 'moneyball_searches_lookup';\n\nexport const FETCH_SEARCHES = `${PREFIX}/FETCH_SEARCHES`;\nexport const RECEIVE_SEARCHES = `${PREFIX}/RECEIVE_SEARCHES`;\n\nexport const FETCH_SEARCHES_RESULTS = `${PREFIX}/FETCH_SEARCHES_RESULTS`;\nexport const DELETE_SEARCHES_ITEM = `${PREFIX}/DELETE_SEARCHES_ITEM`;\nexport const RESET_SEARCHES_TIMERS = `${PREFIX}/RESET_SEARCHES_TIMERS`;\nexport const RECEIVE_SEARCHES_RESULT = `${PREFIX}/RECEIVE_SEARCHES_RESULT`;\nexport const RECEIVE_SEARCHES_RESULTS = `${PREFIX}/RECEIVE_SEARCHES_RESULTS`;\nexport const REFRESH_SEARCHES_RESULTS = `${PREFIX}/REFRESH_SEARCHES_RESULTS`;\nexport const SET_ENRICHMENT = `${PREFIX}/SET_ENRICHMENT`;\nexport const RESET = `${PREFIX}/RESET`;\n","const PREFIX = 'MONEYBALL_CORPORATION_PROFILE';\n\nconst constants = {\n STRATEGY_SLUG: 'moneyball_corporation_profile',\n FETCH_CORPORATION: `${PREFIX}/FETCH_CORPORATION`,\n RECEIVE_CORPORATION_DONE: `${PREFIX}/RECEIVE_CORPORATION_DONE`,\n FETCH_CORPORATION_CONTRIBUTIONS: `${PREFIX}/FETCH_CORPORATION_CONTRIBUTIONS`,\n RECEIVE_CORPORATION_CONTRIBUTIONS_DONE: `${PREFIX}/RECEIVE_CORPORATION_CONTRIBUTIONS_DONE`,\n FETCH_CORPORATION_RECEIPT: `${PREFIX}/FETCH_CORPORATION_RECEIPT`,\n RECEIVE_CORPORATION_RECEIPT_DONE: `${PREFIX}/RECEIVE_CORPORATION_RECEIPT_DONE`,\n SET_ELECTION_CYCLES: `${PREFIX}/SET_ELECTION_CYCLES`,\n SELECT_ELECTION_CYCLE: `${PREFIX}/SELECT_ELECTION_CYCLE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n\nexport default constants;\n","import stafferConstants from 'redux/staffers/common/constants';\n\nconst PREFIX = 'ROLODEX_STAFFER';\n\nconst constants = {\n ...stafferConstants(PREFIX),\n FETCH_STAFFER_DATA: `${PREFIX}/FETCH_STAFFER_DATA`,\n FETCH_STAFFER_DATA_DONE: `${PREFIX}/FETCH_STAFFER_DATA_DONE`,\n PROFILE_NOT_FOUND: `${PREFIX}/PROFILE_NOT_FOUND`,\n FETCH_COMMITTEE_OFFICE_DATA: `${PREFIX}/FETCH_COMMITTEE_OFFICE_DATA`,\n FETCH_COMMITTEE_OFFICE_DATA_DONE: `${PREFIX}/FETCH_COMMITTEE_OFFICE_DATA_DONE`,\n FETCH_LEGISLATOR_DATA: `${PREFIX}/FETCH_LEGISLATOR_DATA`,\n FETCH_LEGISLATOR_DATA_DONE: `${PREFIX}/FETCH_LEGISLATOR_DATA_DONE`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n};\n\nexport default constants;\n","import { size } from 'lodash';\n\nfunction getPdfUrl(response) {\n const { pdf_url: paths } = response;\n\n return size(paths) > 0\n ? paths[0]\n : null;\n}\n\nexport function transformSummaryForUI(response) {\n return {\n ...response,\n pdfUrl: getPdfUrl(response),\n };\n}\n","import constants from '../constants';\nimport { transformSummaryForUI } from '../utils';\n\nconst onSuccess = dispatch => (response) => {\n dispatch({\n type: constants.RECEIVE_SUMMARY_DONE,\n payload: transformSummaryForUI(response),\n });\n};\n\nexport const fetchSummary = (apiUrl, documentId) => (dispatch) => {\n const url = `/api_web/external_documents/documents/${apiUrl}/${documentId}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(onSuccess(dispatch));\n};\n","import { fetchTags } from 'components/core/DocumentContainer/api';\n\nimport constants from '../constants';\n\nexport const onTagsSaved = ({ tags }) => (dispatch) => {\n dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n};\n\nexport const fetchDocumentTags = (apiUrl, documentId) => dispatch => (\n fetchTags(apiUrl, documentId)\n .then(tags => dispatch(onTagsSaved({ tags })))\n);\n","import { fetchIsShared } from 'components/core/DocumentContainer/api';\n\nimport constants from '../constants';\n\nexport const onDocumentShared = sharings => (dispatch) => {\n dispatch({\n type: constants.RECEIVE_IS_SHARED_DONE,\n payload: sharings,\n });\n};\n\nexport const fetchIsDocumentShared = (apiUrl, documentId) => dispatch => (\n fetchIsShared(apiUrl, documentId)\n .then(sharings => dispatch(onDocumentShared(sharings)))\n);\n","import { error } from 'components/core/Notification';\n\nimport constants from '../constants';\nimport { fetchSummary } from './summary';\nimport { fetchDocumentTags } from './tags';\nimport { fetchIsDocumentShared } from './sharedDocument';\n\nconst onSuccess = dispatch => () => {\n dispatch({ type: constants.RECEIVE_DETAILS_DONE });\n};\n\nconst onError = dispatch => () => {\n error('Could not load document summary. Please try again.');\n dispatch({ type: constants.RECEIVE_DETAILS_ERROR });\n};\n\nexport function fetchDetails(documentType, documentId) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DETAILS });\n\n const { apiUrl, tagsApiUrl, myFeedApiUrl } = documentType;\n\n return Promise.all([\n dispatch(fetchSummary(apiUrl, documentId)),\n dispatch(fetchDocumentTags(tagsApiUrl, documentId)),\n dispatch(fetchIsDocumentShared(myFeedApiUrl, documentId)),\n ])\n .then(onSuccess(dispatch))\n .catch(onError(dispatch));\n };\n}\n","import { currentDate } from 'utils/date';\nimport { downloadBlob, getBlob } from 'utils/fileExport';\n\nimport constants from '../constants';\n\nexport function onExportDocument(payload = {}) {\n return (dispatch) => {\n const { data, exportNotifications, documentType } = payload;\n const { url } = data || {};\n const { name } = documentType || {};\n const { getSuccess, getFailed } = exportNotifications || {};\n\n dispatch({ type: constants.EXPORT_DOCUMENT });\n\n function onSuccess(responseData) {\n getSuccess();\n\n return downloadBlob(\n getBlob(responseData),\n `${name} document ${currentDate()}.pdf`,\n );\n }\n\n const ajaxProps = {\n dataType: 'native',\n xhrFields: {\n responseType: 'blob',\n },\n };\n\n const ajax = $.ajax({\n url,\n ...ajaxProps,\n });\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(getFailed)\n .finally(() => dispatch({ type: constants.EXPORT_DOCUMENT_DONE }));\n };\n}\n","export * from './details';\nexport * from './tags';\nexport * from './exportDocument';\nexport * from './sharedDocument';\n","import { isNil, omitBy } from 'lodash';\n\nimport { PAGE_SIZE } from 'components/core/Profile/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\n\nimport { transformBillsForBE, transformBillsForUI } from '../transformers';\nimport { getBillsUrl } from '../utils';\nimport constants from '../constants';\nimport { fetchSubscriptions } from './subscriptions';\nimport { fetchTags } from './tags';\n\nexport const PER_PAGE = { per_page: PAGE_SIZE };\n\nexport function fetchBills(payload = {}, customTransformers = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILLS });\n const {\n transformForBE = transformBillsForBE,\n transformForUI = transformBillsForUI,\n } = customTransformers;\n const { id, sort, direction, page, slug, documentType, itemType } = payload;\n const sortData = omitBy({ sort, direction, page }, isNil);\n const billsData = transformForBE(payload);\n\n const { url, method } = getBillsUrl(slug, id);\n const ajax = $.ajax({\n url,\n method: method || 'POST',\n data: { ...billsData, ...sortData, ...PER_PAGE },\n });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_BILLS_DONE,\n payload: {\n ...transformForUI({ billsData: response, cosponsorsCount: 10, documentType, itemType }),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(payload),\n },\n });\n }\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(({ payload: { allItems } }) => dispatch(fetchTags({ payload: allItems }, documentType)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .then(payloadData => dispatch(fetchSubscriptions(payloadData, documentType)))\n .catch(onFailure);\n };\n}\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import { fetchLookupTags } from 'redux/tags/actions';\n\nimport constants from '../constants';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n","import { fetchLookupSubscriptions } from 'redux/subscriptions/actions';\n\nimport constants from '../constants';\n\nexport function fetchSubscriptions(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupSubscriptions(payload, documentType, constants));\n}\n","import { postJson } from 'utils/api';\nimport { BASE_FEEDS_URL } from 'redux/dashboardV2/constants';\n\nimport { transformTrackItemsForBE } from './utils';\n\nexport const saveTrackItems = (feedToken, trackItems) => {\n const url = `${BASE_FEEDS_URL}/${feedToken}/subscriptions/trackings/bulk`;\n const requestData = transformTrackItemsForBE(trackItems);\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n};\n","import map from 'lodash/map';\n\nimport { transformSubscription } from 'redux/subscriptions/utils/transformers';\n\nimport constants from './constants';\nimport * as api from './api';\n\nexport function saveTrackItems(data) {\n return (dispatch) => {\n dispatch({ type: constants.SAVE_TRACK_ITEMS });\n\n const { payload, handleSuccess, handleFailure, feedToken } = data || {};\n\n return api.saveTrackItems(feedToken, payload)\n .then((response) => {\n const { data: subscriptions } = response || {};\n\n dispatch({ type: constants.SAVE_TRACK_ITEMS_DONE });\n handleSuccess(map(subscriptions, transformSubscription));\n })\n .catch((error) => {\n dispatch({ type: constants.SAVE_TRACK_ITEMS_DONE });\n handleFailure(error);\n });\n };\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { notifyLoadPageFailure } from 'components/Dashboard/common/UserNotifications';\nimport { isMyFeed } from 'components/Dashboard/utils';\nimport { handleUpdateAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { onSaveRecentItem } from 'redux/advancedSearch/actions';\nimport * as workspacesApi from 'redux/dashboardV2/common/workspaces/api';\nimport { transformOptionsForBE } from 'redux/dashboardV2/common/workspaces/transformers';\nimport isNotFoundError from 'utils/http/isNotFoundError';\n\nimport constants from './constants';\n\nexport { setLastSearchId } from 'redux/advancedSearch/actions';\n\nexport function addWorkspace(workspace) {\n return (dispatch) => {\n dispatch({ type: constants.ADD_WORKSPACE, payload: workspace });\n };\n}\n\nexport function fetchWorkspaces({ searchData = {}, isInfinite = false }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_WORKSPACES, payload: { isInfinite } });\n\n const onSuccess = ({ feed, pagination }) => {\n const type = constants.RECEIVE_WORKSPACES_DONE;\n dispatch({ type, payload: { feed, pagination, isInfinite } });\n dispatch(handleUpdateAppliedFilters(searchData));\n };\n\n const onFailure = (error) => {\n notifyLoadPageFailure({});\n throw error;\n };\n\n workspacesApi.fetchWorkspaces(searchData)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const data = transformOptionsForBE(payload);\n\n if (isEmpty(data)) {\n return null;\n }\n\n const advancedSearchData = {\n advanced_search: {\n strategy_slug: 'workspaces', // TODO: adjust strategy\n search_params: data,\n saved: false,\n },\n };\n\n return dispatch(onSaveRecentItem(advancedSearchData));\n };\n}\n\nexport function updateSubscription({ token, frequency, isTracking = true }) {\n return (dispatch) => {\n dispatch({ type: constants.UPDATE_WORKSPACE_SUBSCRIPTION, payload: { token, frequency, isTracking } });\n };\n}\n\nexport function deleteWorkspace(workspace) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_WORKSPACE });\n\n const onSuccess = () => {\n dispatch({ type: constants.DELETE_WORKSPACES_DONE, payload: workspace.token });\n };\n\n const onFailure = (error) => {\n dispatch({ type: constants.DELETE_WORKSPACE_FAILURE });\n\n throw error;\n };\n\n workspacesApi.deleteWorkspace(workspace)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchWorkspace(token) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_WORKSPACE });\n\n const onSuccess = (response) => {\n dispatch({ type: constants.RECEIVE_WORKSPACE_DONE, payload: response });\n };\n\n const onFailure = (error) => {\n isNotFoundError(error) && dispatch({ type: constants.WORKSPACE_NOT_FOUND });\n !isNotFoundError(error) && notifyLoadPageFailure({\n itemTitle: isMyFeed(token) ? 'My feed' : null,\n });\n\n throw error;\n };\n\n workspacesApi.fetchWorkspace(token)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function resetWorkspace() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_WORKSPACE });\n dispatch(resetAppliedFilters());\n };\n}\n","import * as api from 'redux/dashboardV2/common/subscriptions/api';\n\nimport constants from './constants';\n\nexport function fetchDefaultSubscription(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DEFAULT_SUBSCRIPTION });\n\n function onSuccess(frequency) {\n dispatch({\n type: constants.LOAD_DEFAULT_SUBSCRIPTION_DONE,\n payload: frequency,\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.LOAD_DEFAULT_SUBSCRIPTION_FAILED });\n\n throw error;\n }\n\n return Promise.resolve(api.fetchDefaultFrequency(payload))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function updateDefaultSubscription(payload = {}) {\n const { frequency } = payload || {};\n\n return (dispatch) => {\n dispatch({ type: constants.UPDATE_DEFAULT_SUBSCRIPTION });\n\n function onSuccess() {\n dispatch({\n type: constants.UPDATE_DEFAULT_SUBSCRIPTION_DONE,\n payload: frequency,\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.UPDATE_DEFAULT_SUBSCRIPTION_FAILED });\n\n throw error;\n }\n\n return Promise.resolve(api.updateDefaultFrequency(payload))\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import moment from 'moment';\nimport { groupBy, get } from 'lodash';\n\nimport { DAY_DATE_FORMAT } from 'utils/constants/date';\n\nfunction transformEventsData(events) {\n return events.map(event => ({\n id: event.id,\n addToCalendarUrl: event.calendar_export_url,\n committeeId: get(event.committee, 'id'),\n committeeType: get(event.committee, 'type'),\n committeeName: get(event.committee, 'name'),\n committeeUrl: get(event.committee, 'url'),\n scheduledDate: event.scheduled_at,\n title: event.title,\n location: event.location,\n url: event.url,\n isChecked: false,\n }));\n}\n\nexport function groupResponseByDate(response) {\n const groupedData = groupBy(response.data, item => moment(item.scheduled_at).format(DAY_DATE_FORMAT));\n const formatData = [];\n\n Object.keys(groupedData).forEach(item => formatData.push({\n date: item,\n events: transformEventsData(groupedData[item]),\n }));\n\n return formatData;\n}\n","import moment from 'moment';\nimport { unionWith, isEqual } from 'lodash';\n\nimport { CALENDAR_DATE_FORMAT } from 'utils/constants/date';\nimport { extractAllEvents } from 'components/core/HearingCalendars/utils';\n\nimport constants from './constants';\nimport { groupResponseByDate } from './utils';\n\nfunction getAjax(url, data, method = 'GET') {\n return $.ajax({\n method,\n url,\n data,\n });\n}\n\nfunction getEndDate(startDate, monthsAhead = 1) {\n return moment(startDate).add(monthsAhead, 'month').format(CALENDAR_DATE_FORMAT);\n}\n\nfunction filterResponseByCommittees(selectedCommittees, apiEvents) {\n return selectedCommittees && selectedCommittees.length > 0\n ? { data: apiEvents.filter(event => selectedCommittees.includes(event.committee?.id)) }\n : { data: apiEvents };\n}\n\nfunction filterResponseBySubcommittee(selectedSubcommittee, apiEvents) {\n return { data: apiEvents.filter(\n event => selectedSubcommittee === `${event.committee?.id}-${event.subcommittee_id}`\n ) };\n}\n\nexport function fetchEvents(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.FETCH_EVENTS, payload });\n\n const { monthsAheadToFetch } = getState().federal.hearingCalendar;\n\n const {\n page = 1,\n start_date,\n end_date = getEndDate(start_date, monthsAheadToFetch),\n } = payload;\n\n const url = '/api_web/hearings';\n const data = {\n per_page: 10,\n page,\n start_date,\n end_date,\n };\n\n const ajax = getAjax(url, data);\n\n return Promise.resolve(ajax)\n .then((response) => {\n const { selectedCommittees } = getState().federal.hearingCalendar;\n const { isSubcommittee } = getState().federal.committeeProfile.committee;\n const filteredResponse = isSubcommittee\n ? filterResponseBySubcommittee(selectedCommittees[0], response.data)\n : filterResponseByCommittees(selectedCommittees, response.data);\n\n return dispatch({\n type: constants.FETCH_EVENTS_SUCCESS,\n apiEvents: response.data,\n payload: groupResponseByDate(filteredResponse),\n });\n });\n };\n}\n\nexport function fetchCalendarData(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CALENDAR_DATA, payload });\n\n const { date = moment() } = payload;\n const url = '/api_web/hearings/calendar';\n const data = {\n start_date: moment(date).subtract(2, 'months').format(CALENDAR_DATE_FORMAT),\n end_date: moment(date).add(2, 'months').format(CALENDAR_DATE_FORMAT),\n };\n\n const ajax = getAjax(url, data);\n\n return Promise.resolve(ajax).then(\n response => dispatch({\n type: constants.FETCH_CALENDAR_DATA_SUCCESS,\n payload: response.data,\n })\n );\n };\n}\n\nexport function onSelectCalendarDate(selectedDate) {\n return (dispatch) => {\n const payload = { start_date: selectedDate };\n\n dispatch({ type: constants.SELECT_CALENDAR_DATE, selectedDate });\n dispatch(fetchEvents(payload));\n };\n}\n\nexport function onChangeCalendarMonth(selectedDate) {\n return (dispatch) => {\n const payload = { date: selectedDate };\n\n dispatch(fetchCalendarData(payload));\n };\n}\n\nexport function onCheckAllEvents(isChecked) {\n return (dispatch, getState) => {\n const { events } = getState().federal.hearingCalendar;\n const checkedEvents = isChecked ? extractAllEvents(events) : [];\n\n dispatch({ type: constants.CHECK_EVENTS, checkedEvents });\n };\n}\n\nfunction onClearAllCheckedEvents(dispatch) {\n dispatch({\n type: constants.CHECK_EVENTS,\n checkedEvents: [],\n });\n}\n\nexport function onClearAllEvents() {\n return dispatch => onClearAllCheckedEvents(dispatch);\n}\n\nexport function onCheckSelectedEvent(selectedEvent, isChecked) {\n return (dispatch, getState) => {\n const { checkedEvents } = getState().federal.hearingCalendar;\n let filteredEvents = [];\n\n if (isChecked) {\n selectedEvent.isChecked = isChecked;\n filteredEvents = unionWith(checkedEvents, [selectedEvent], isEqual);\n } else {\n filteredEvents = checkedEvents.filter(event => event !== selectedEvent);\n }\n\n dispatch({\n type: constants.CHECK_EVENTS,\n checkedEvents: filteredEvents,\n });\n };\n}\n\nexport function filterByCommittee(selectedItems) {\n const selectedCommittees = selectedItems.map(item => item.value);\n\n return (dispatch, getState) => {\n const { apiEvents } = getState().federal.hearingCalendar;\n const response = filterResponseByCommittees(selectedCommittees, apiEvents);\n\n onClearAllCheckedEvents(dispatch);\n\n dispatch({\n type: constants.FILTER_EVENTS,\n selectedCommittees,\n payload: groupResponseByDate(response),\n });\n };\n}\n\nexport function setMonthsAheadToFetch(payload) {\n return {\n type: constants.SET_MONTHS_AHEAD,\n payload,\n };\n}\n","import moment from 'moment';\nimport { map, groupBy, startCase, get } from 'lodash';\n\nimport { DAY_DATE_FORMAT } from 'utils/constants/date';\n\nconst transformBill = ({ bill_number, ...bill }) => ({\n billNumber: bill_number,\n ...bill,\n});\n\nfunction transformEventsData(events) {\n return map(events, event => ({\n id: event.id,\n addToCalendarUrl: event.calendar_export_url,\n committeeId: get(event.committee, 'id'),\n committeeType: get(event.committee, 'type'),\n committeeName: get(event.committee, 'name'),\n committeeUrl: get(event.committee, 'url'),\n scheduledDate: event.scheduled_at,\n state: event.state.alpha2,\n chamber: startCase(event.chamber),\n bills: map(event.bills, transformBill),\n title: event.title,\n location: event.location,\n url: event.url,\n isChecked: false,\n }));\n}\n\nexport function groupResponseByDate(response) {\n const formatData = [];\n const groupedData = groupBy(\n response.data, item => moment(item.scheduled_at).format(DAY_DATE_FORMAT)\n );\n\n Object.keys(groupedData).forEach(item => formatData.push({\n events: transformEventsData(groupedData[item]),\n date: item,\n }));\n\n return formatData;\n}\n","import moment from 'moment';\nimport { isEqual, unionWith, map, filter, includes, size, get } from 'lodash';\n\nimport { CALENDAR_DATE_FORMAT } from 'utils/constants/date';\nimport { extractAllEvents } from 'components/core/HearingCalendars/utils';\n\nimport constants from './constants';\nimport { groupResponseByDate } from './utils';\n\nfunction getAjax(url, data, method = 'POST') {\n return $.ajax({\n method,\n url,\n data,\n });\n}\n\nfunction getEndDate(startDate, monthsAhead = 1) {\n return moment(startDate).add(monthsAhead, 'month').format(CALENDAR_DATE_FORMAT);\n}\n\nfunction filterResponseByCommittees(selectedCommittees, apiEvents) {\n return size(selectedCommittees) > 0\n ? { data: filter(apiEvents, event => includes(selectedCommittees, get(event.committee, 'id'))) }\n : { data: apiEvents };\n}\n\nfunction filterResponseByStates(selectedStates, apiEvents) {\n return size(selectedStates) > 0\n ? { data: filter(apiEvents, event => includes(selectedStates, event.state.alpha2)) }\n : { data: apiEvents };\n}\n\nexport function fetchEvents(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.FETCH_EVENTS, payload });\n\n const { monthsAheadToFetch } = getState().state.hearingCalendar;\n\n const {\n page = 1,\n start_date,\n end_date = getEndDate(start_date, monthsAheadToFetch),\n } = payload;\n\n const url = '/api_web/state/committee_hearings/lookup';\n const data = {\n per_page: 10,\n page,\n start_date,\n end_date,\n };\n\n const ajax = getAjax(url, data);\n\n return Promise.resolve(ajax)\n .then((response) => {\n const { selectedCommittees, selectedStates } = getState().state.hearingCalendar;\n const filteredByCommittees = filterResponseByCommittees(selectedCommittees, response.data);\n const filteredByStates = filterResponseByStates(selectedStates, filteredByCommittees.data);\n\n return dispatch({\n type: constants.FETCH_EVENTS_SUCCESS,\n apiEvents: response.data,\n payload: groupResponseByDate(filteredByStates),\n });\n });\n };\n}\n\nexport function onSelectCalendarDate(selectedDate) {\n return (dispatch) => {\n const payload = { start_date: selectedDate };\n\n dispatch({ type: constants.SELECT_CALENDAR_DATE, selectedDate });\n dispatch(fetchEvents(payload));\n };\n}\n\nexport function onCheckAllEvents(isChecked) {\n return (dispatch, getState) => {\n const { events } = getState().state.hearingCalendar;\n const checkedEvents = isChecked ? extractAllEvents(events) : [];\n\n dispatch({ type: constants.CHECK_EVENTS, checkedEvents });\n };\n}\n\nfunction onClearAllCheckedEvents(dispatch) {\n dispatch({\n type: constants.CHECK_EVENTS,\n checkedEvents: [],\n });\n}\n\nexport function onClearAllEvents() {\n return dispatch => onClearAllCheckedEvents(dispatch);\n}\n\nexport function onCheckSelectedEvent(selectedEvent, isChecked) {\n return (dispatch, getState) => {\n const { checkedEvents } = getState().state.hearingCalendar;\n let filteredEvents = [];\n\n if (isChecked) {\n selectedEvent.isChecked = isChecked;\n filteredEvents = unionWith(checkedEvents, [selectedEvent], isEqual);\n } else {\n filteredEvents = checkedEvents.filter(event => event !== selectedEvent);\n }\n\n dispatch({\n type: constants.CHECK_EVENTS,\n checkedEvents: filteredEvents,\n });\n };\n}\n\nexport function filterByCommittee(selectedItems) {\n const selectedCommittees = selectedItems.map(item => item.value);\n\n return (dispatch, getState) => {\n const { apiEvents } = getState().state.hearingCalendar;\n const response = filterResponseByCommittees(selectedCommittees, apiEvents);\n\n onClearAllCheckedEvents(dispatch);\n\n dispatch({\n type: constants.FILTER_EVENTS,\n selectedCommittees,\n payload: groupResponseByDate(response),\n });\n };\n}\n\nexport function filterByState(selectedItems) {\n const selectedStates = map(selectedItems, 'value');\n\n return (dispatch, getState) => {\n const { apiEvents } = getState().state.hearingCalendar;\n const response = filterResponseByStates(selectedStates, apiEvents);\n\n onClearAllCheckedEvents(dispatch);\n\n dispatch({\n type: constants.FILTER_EVENTS,\n selectedStates,\n payload: groupResponseByDate(response),\n });\n };\n}\n\nexport function setMonthsAheadToFetch(payload) {\n return {\n type: constants.SET_MONTHS_AHEAD,\n payload,\n };\n}\n","import constants from '../constants';\nimport { transformSupportedStatesForUI } from '../utils';\n\nexport function fetchSupportedStates() {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_SUPPORTED_STATES });\n\n const url = '/api_web/state/staffers/states';\n const ajax = $.get(url);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_SUPPORTED_STATES_DONE,\n payload: transformSupportedStatesForUI(response),\n });\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess);\n };\n}\n\nfetchSupportedStates();\n","import { isEmpty } from 'lodash';\n\nexport function transformSupportedStatesForUI(payload) {\n if (isEmpty(payload) || isEmpty(payload.data)) {\n return [];\n }\n\n return payload.data;\n}\n","import { mapboxApiEndpoint, mapTypeCodes } from 'components/core/Map/utils/constants';\nimport {\n geocodeLegislatorAddress,\n getFetchLegislatorsUrl,\n} from 'redux/legislator-lookup';\nimport mapConstants from 'components/map/constants';\nimport constants from './constants';\n\nconst getKwIdByFilterType = (properties, filterType) => {\n if (filterType === mapConstants.STATE_LEGISLATION_LOWER) {\n return properties.state_lower_district_kw_id;\n }\n\n if (filterType === mapConstants.STATE_LEGISLATION_UPPER) {\n return properties.state_upper_district_kw_id;\n }\n\n return properties.congressional_district_kw_id;\n};\n\nexport function fetchMapBox(coordinates) {\n const ajax = $.get(\n `${mapboxApiEndpoint}/${coordinates}.json`,\n { radius: 0, access_token: gon.mapboxAccessToken }\n );\n\n return Promise.resolve(ajax);\n}\n\nconst fetchLegislators = (address, filterType) => (dispatch) => {\n dispatch({ type: constants.FETCH_LEGISLATORS });\n\n const kwId = getKwIdByFilterType(address, filterType);\n\n if (!kwId) {\n dispatch({ type: constants.RECEIVE_LEGISLATORS_FAIL });\n\n return [];\n }\n\n const ajax = $.get(getFetchLegislatorsUrl(kwId, filterType));\n\n const onSuccess = (response = {}) => {\n dispatch({\n type: constants.RECEIVE_LEGISLATORS_FAIL,\n payload: response,\n });\n\n return response.legislators || [];\n };\n\n return Promise.resolve(ajax).then(onSuccess);\n};\n\nexport function fetchDistrict(coordinates) {\n const data = coordinates.join();\n\n return fetchMapBox(data);\n}\n\nexport function fetchAllLegislatorsByAddress(payload = {}) {\n return (dispatch, getState) => {\n const { address, districts } = payload;\n\n const getLegislators = () => Promise.all(districts.map(\n district => dispatch(fetchLegislators(address, mapTypeCodes[district])),\n ));\n\n const onSuccess = () => getLegislators()\n .then(([congressionalLegislators, stateUpperLegislators, stateLowerLegislators]) => {\n dispatch({\n type: constants.RECEIVE_ALL_LEGISLATORS_DONE,\n payload: {\n [mapTypeCodes.congressional]: congressionalLegislators,\n [mapTypeCodes.stateUpper]: stateUpperLegislators,\n [mapTypeCodes.stateLower]: stateLowerLegislators,\n },\n });\n });\n\n return address && geocodeLegislatorAddress(address, dispatch, getState)\n .then(onSuccess);\n };\n}\n","import { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { PAGE_SIZE } from 'components/core/Profile/utils/constants';\n\nimport {\n getVotingRecordUrl,\n transformBillsAndVotesForBE,\n transformBillsAndVotesForUI,\n} from './utils';\nimport constants from './constants';\n\nexport const PER_PAGE = { per_page: PAGE_SIZE };\n\nexport function fetchBillsAndVotes(payload = {}, customTransformers = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILLS });\n\n const {\n transformForBE = transformBillsAndVotesForBE,\n transformForUI = transformBillsAndVotesForUI,\n } = customTransformers;\n const billsData = transformForBE(payload);\n\n const url = getVotingRecordUrl(payload.slug);\n const ajax = $.post(url, { ...billsData, ...PER_PAGE });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_BILLS_DONE,\n payload: {\n ...transformForUI(response),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(payload),\n },\n }));\n };\n}\n","import { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport Notifications from 'components/Moneyball/utils/Notifications';\n\nimport constants from './constants';\nimport { fetchLookupData } from './api';\nimport {\n transformDataRequest,\n transformDataResponse,\n transformDataLookupResponse,\n transformFiltersResponse,\n} from './utils';\n\nfunction fetchFilterIndustries() {\n const ajax = $.get(`${gon.moneyballApiV2}/api/v1/industries`);\n\n return Promise.resolve(ajax);\n}\n\nfunction fetchFilterOrganizationTypes() {\n const ajax = $.get(`${gon.moneyballApiV2}/api/v1/organization_types`);\n\n return Promise.resolve(ajax);\n}\n\nexport function fetchFilters() {\n return (dispatch) => {\n dispatch({ type: constants.FILTERS_REQUEST });\n\n const onSuccess = response => dispatch({\n type: constants.FILTERS_SUCCESS,\n payload: transformFiltersResponse(response),\n error: false,\n });\n\n const onFailure = (error) => {\n dispatch({\n type: constants.FILTERS_SUCCESS,\n payload: {},\n error: true,\n });\n\n Notifications.defaultFetchDataFailed();\n throw error;\n };\n\n return Promise.all([dispatch(fetchFilterIndustries), dispatch(fetchFilterOrganizationTypes)])\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function updateFilters(payload) {\n return (dispatch) => {\n dispatch({\n type: constants.UPDATE_FILTERS,\n payload,\n });\n };\n}\n\nfunction fetchTotals(transaction, formattedFilters) {\n const ajax = $.ajax({\n type: 'POST',\n url: `${gon.moneyballApiV2}/api/v1/pac_ranking/totals`,\n contentType: REQUEST_CONTENT_TYPE,\n data: formattedFilters,\n });\n\n return Promise.resolve(ajax);\n}\n\nfunction fetchGraph(transaction, formattedFilters) {\n const endpoints = {\n disbursements: `${gon.moneyballApiV2}/api/v1/pac_ranking/graph/disbursements`,\n receipts: `${gon.moneyballApiV2}/api/v1/pac_ranking/graph/receipts`,\n };\n\n const ajax = $.ajax({\n type: 'POST',\n url: endpoints[transaction],\n contentType: REQUEST_CONTENT_TYPE,\n data: formattedFilters,\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function fetchData({ filters: { transaction, ...restFilters } }) {\n return (dispatch) => {\n dispatch({ type: constants.DATA_REQUEST });\n\n const formattedFilters = transformDataRequest(restFilters);\n const resolvers = [\n dispatch(() => fetchTotals(transaction, formattedFilters)),\n dispatch(() => fetchGraph(transaction, formattedFilters)),\n ];\n\n const onSuccess = response => dispatch({\n type: constants.DATA_SUCCESS,\n payload: transformDataResponse(response),\n error: false,\n });\n\n const onFailure = (error) => {\n dispatch({\n type: constants.DATA_SUCCESS,\n payload: {\n totals: null,\n graph: null,\n },\n error: true,\n });\n\n Notifications.defaultFetchDataFailed();\n throw error;\n };\n\n return Promise.all(resolvers)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchDataLookup({\n isInfinite,\n searchData,\n filters: {\n transaction,\n ...restFilters\n },\n}) {\n return (dispatch) => {\n dispatch({ type: constants.DATA_LOOKUP_REQUEST, isInfinite });\n\n const onSuccess = response => dispatch({\n type: constants.DATA_LOOKUP_SUCCESS,\n payload: transformDataLookupResponse(response),\n error: false,\n isInfinite,\n });\n\n const onFailure = (error) => {\n dispatch({\n type: constants.DATA_LOOKUP_SUCCESS,\n payload: null,\n error: true,\n });\n\n Notifications.defaultFetchDataFailed();\n throw error;\n };\n\n return fetchLookupData({ filters: { ...restFilters, ...searchData }, transaction })\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import { transformCompanyInfoForUI } from '../transformers';\nimport constants from '../constants';\n\nexport function resetApiToken(companyInfo) {\n return (dispatch) => {\n dispatch({ type: constants.RESET_API_TOKEN });\n\n const { companyId, apiToken } = companyInfo;\n\n const url = '/api_web/company-subscription/institutional-data/reset_api_token';\n const method = 'POST';\n const data = {\n company_id: companyId,\n api_token: apiToken,\n };\n\n const ajax = $.ajax({ url, method, data });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RESET_API_TOKEN_DONE,\n payload: transformCompanyInfoForUI(response),\n }));\n };\n}\n","import { transformCompanyInfoForUI, transformCompanyInfoForBE } from '../transformers';\nimport constants from '../constants';\n\nexport function fetchCompanyInfo() {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMPANY_INFO });\n\n const url = '/api_web/company-subscription/institutional-data/company_info';\n const method = 'GET';\n\n const ajax = $.ajax({ url, method });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_COMPANY_INFO_DONE,\n payload: transformCompanyInfoForUI(response),\n }));\n };\n}\n\nexport function updateCompanyInfo(companyInfo) {\n return (dispatch) => {\n dispatch({ type: constants.UPDATE_COMPANY_INFO });\n\n const url = '/api_web/company-subscription/institutional-data/company_update';\n const method = 'PUT';\n const data = transformCompanyInfoForBE(companyInfo);\n\n const ajax = $.ajax({\n url,\n method,\n data,\n contentType: false,\n processData: false,\n });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.UPDATE_COMPANY_INFO_DONE,\n payload: transformCompanyInfoForUI(response),\n }))\n .catch((error) => {\n dispatch({ type: constants.UPDATE_COMPANY_INFO_ERROR });\n throw error;\n });\n };\n}\n","import constants from '../constants';\nimport { getContactSaveRequestSettings } from '../utils';\n\nconst { addNotification } = window.app.GlobalNotifier;\n\nconst onDeleteSuccess = (dispatch, contactId) => () => {\n dispatch({\n type: constants.DELETE_CONTACT_DONE,\n contactId,\n });\n\n addNotification({\n message: 'Key contact deleted.',\n level: 'success',\n });\n};\n\nconst onDeleteError = dispatch => () => {\n dispatch({ type: constants.DELETE_CONTACT_ERROR });\n\n addNotification({\n message: 'Failed to delete key contact.',\n level: 'error',\n });\n};\n\nexport function deleteContact({ contactId }) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_CONTACT });\n\n const url = `/api_web/company-subscription/contacts/${contactId}`;\n const method = 'DELETE';\n\n const ajax = $.ajax({ url, method });\n\n return Promise.resolve(ajax)\n .then(onDeleteSuccess(dispatch, contactId))\n .catch(onDeleteError(dispatch));\n };\n}\n\nconst onSaveSuccess = dispatch => (response) => {\n dispatch({\n type: constants.CONTACT_SAVED,\n payload: response,\n });\n\n addNotification({\n message: 'Key contact saved.',\n level: 'success',\n });\n};\n\nconst onSaveError = dispatch => () => {\n dispatch({ type: constants.SAVE_CONTACT_FAILED });\n\n addNotification({\n message: 'Could not save the contact. Please try again.',\n level: 'success',\n });\n};\n\nexport function saveContact(contact) {\n return (dispatch) => {\n dispatch({ type: constants.SAVE_CONTACT });\n\n const settings = getContactSaveRequestSettings(contact);\n\n return Promise.resolve($.ajax(settings))\n .then(onSaveSuccess(dispatch))\n .catch(onSaveError);\n };\n}\n","export function getContactSaveRequestSettings(contact) {\n const data = JSON.stringify(contact);\n const { id } = contact;\n\n if (id) {\n return {\n url: `/api_web/company-subscription/contacts/${id}`,\n method: 'PUT',\n contentType: 'application/json',\n data,\n };\n }\n\n return {\n url: '/api_web/company-subscription/contacts',\n method: 'POST',\n contentType: 'application/json',\n data,\n };\n}\n\nexport function getQuickLinkSaveRequestSettings(quickLink) {\n const data = JSON.stringify(quickLink);\n const { id } = quickLink;\n\n if (id) {\n return {\n url: `/api_web/company-subscription/quick_links/${id}`,\n method: 'PUT',\n contentType: 'application/json',\n data,\n };\n }\n\n return {\n url: '/api_web/company-subscription/quick_links',\n method: 'POST',\n contentType: 'application/json',\n data,\n };\n}\n","export * from './apiToken';\nexport * from './companyInfo';\nexport * from './contacts';\n","import { orderBy } from 'lodash';\n\nimport constants from '../constants';\nimport { fetchStakeholderProfile } from './data';\n\nexport function deleteStakeholderTag(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_STAKEHOLDER_TAG });\n\n const { stakeholderId, tagId, deleteNotifications } = payload;\n\n const url = `/api_web/stakeholder-management/stakeholders/${stakeholderId}/tags/${tagId}`;\n const ajax = $.ajax({ url, type: 'DELETE' });\n\n function onSuccess(response) {\n dispatch({\n type: constants.DELETE_STAKEHOLDER_TAG_DONE,\n payload: response.data,\n });\n\n deleteNotifications.getSuccess();\n dispatch(fetchStakeholderProfile({ stakeholderId }));\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(deleteNotifications.getFailed);\n };\n}\n\nexport function sortStakeholderTagByColumn(items, columnName, sortDirection) {\n return (dispatch) => {\n dispatch({ type: constants.SORT_STAKEHOLDER_TAG_DATA });\n\n items = orderBy(\n items,\n [columnName],\n [sortDirection]\n );\n\n return dispatch({\n type: constants.SORT_STAKEHOLDER_TAG_DATA_DONE,\n payload: items,\n });\n };\n}\n","import { orderBy } from 'lodash';\n\nimport constants from '../constants';\n\nexport function sortStakeholderSmartListByColumn(items, columnName, sortDirection) {\n return (dispatch) => {\n dispatch({ type: constants.SORT_STAKEHOLDER_SMART_LIST_DATA });\n items = orderBy(\n items,\n [columnName],\n [sortDirection]\n );\n\n return dispatch({\n type: constants.SORT_STAKEHOLDER_SMART_LIST_DATA_DONE,\n payload: items,\n });\n };\n}\n","import { orderBy } from 'lodash';\n\nimport constants from '../constants';\nimport { fetchStakeholderProfile } from './data';\n\nexport function deleteStakeholderList(payload) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_STAKEHOLDER_LIST });\n\n const { stakeholderId, listId, deleteNotifications } = payload;\n const url = `/api_web/stakeholder-management/lists/${listId}/stakeholders/${stakeholderId}`;\n\n const ajax = $.ajax({ url, type: 'DELETE' });\n\n function onSuccess(response) {\n dispatch({\n type: constants.DELETE_STAKEHOLDER_LIST_DONE,\n payload: response.data,\n });\n\n deleteNotifications.getSuccess();\n dispatch(fetchStakeholderProfile({ stakeholderId }));\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(deleteNotifications.getFailed);\n };\n}\n\nexport function sortStakeholderListByColumn(items, columnName, sortDirection) {\n return (dispatch) => {\n dispatch({ type: constants.SORT_STAKEHOLDER_LIST_DATA });\n\n items = orderBy(\n items,\n [columnName],\n [sortDirection]\n );\n\n return dispatch({\n type: constants.SORT_STAKEHOLDER_LIST_DATA_DONE,\n payload: items,\n });\n };\n}\n","import constants from '../constants';\n\nexport function resetData() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_DATA });\n };\n}\n","export { deleteStakeholder } from '../../common/actions';\nexport { fetchStakeholderProfile, updateStakeholderDescription } from './data';\nexport { deleteStakeholderTag, sortStakeholderTagByColumn } from './tags';\nexport { sortStakeholderSmartListByColumn } from './smartLists';\nexport { deleteStakeholderList, sortStakeholderListByColumn } from './lists';\nexport { fetchStakeholderContributions } from './contributions';\nexport { fetchContributionsLastSync } from './contributions_last_sync';\nexport { resetData } from './reset_data';\n","import { responseTrackingTypes, SUBSCRIBABLE_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nexport const BASE_URL = '/api_web/discovery';\nexport const BASE_URL_SUBSCRIPTIONS = `${BASE_URL}/subscriptions`;\nexport const BASE_URL_TRACKINGS = `${BASE_URL_SUBSCRIPTIONS}/trackings`;\nexport const BASE_FEEDS_URL = `${BASE_URL}/feeds`;\nexport const BASE_FEEDS_MANAGER_URL = `${BASE_URL}/manager/feeds`;\n\nexport const KEYWORD_TYPE = 'keyword';\nexport const STAFFER_OFFICE_TYPE = 'staffer_office';\nexport const COMMITTEE_TYPE = 'committee';\nexport const STATE_COMMITTEE_TYPE = 'state_committee';\nexport const STATE_STAFFER_OFFICE_TYPE = 'state_staffer_office';\nexport const STATE_COMMITTEES_TYPE = 'state_committees';\nexport const STATE_COMMITTEE_STAFFER_TYPE = 'state_committee_staffer';\nexport const FEDERAL_COMMITTEES_TYPE = 'federal_committees';\nexport const WORKSPACE_TYPE = 'workspace';\nexport const SHOW_ONLY_SHARED_DOCS = 'show_only_shared_documents';\nexport const EXCLUDE_SHARED_DOCS = 'exclude_shared_documents';\nexport const SHOW_ALL = 'show_all';\n\nexport const TRACKED_ITEMS_ONLY = 'tracked_items_only';\nexport const EXCLUDE_TRACKED_ITEMS = 'exclude_tracked_items';\n\nexport const REMOVED_FREQUENCY = 'Removed';\n\nexport const TRACK_SUBSCRIPTION_FREQUENCIES = {\n [SUBSCRIBABLE_TYPES.FEDERAL_BILL]: 'Bill updates',\n [SUBSCRIBABLE_TYPES.STATE_BILL]: 'Bill updates',\n [SUBSCRIBABLE_TYPES.STATE_COMMITTEE]: 'Hearing updates',\n [responseTrackingTypes.STATE_COMMITTEE_STAFFER]: 'Staffer updates',\n [responseTrackingTypes.FEDERAL_BILL]: 'Bill updates',\n [responseTrackingTypes.STATE_BILL]: 'Bill updates',\n [SUBSCRIBABLE_TYPES.FEDERAL_REGISTER_REGULATION]: 'Regulation updates',\n [responseTrackingTypes.FEDERAL_REGULATION]: 'Regulation updates',\n [SUBSCRIBABLE_TYPES.STATE_REGULATION]: 'Regulation updates',\n [responseTrackingTypes.STATE_REGULATION]: 'Regulation updates',\n [SUBSCRIBABLE_TYPES.FEDERAL_STAFFER_OFFICE]: 'Staffer updates',\n [SUBSCRIBABLE_TYPES.STATE_STAFFER_OFFICE]: 'Staffer updates',\n [responseTrackingTypes.FEDERAL_LEGISLATOR_STAFFER]: 'Staffer updates',\n [responseTrackingTypes.FEDERAL_LEGISLATOR]: 'Staffer updates',\n [responseTrackingTypes.STATE_LEGISLATOR_STAFFER]: 'Staffer updates',\n [responseTrackingTypes.STATE_LEGISLATOR]: 'Staffer updates',\n [SUBSCRIBABLE_TYPES.COMMITTEE]: 'Hearing updates',\n [responseTrackingTypes.FEDERAL_COMMITTEE_HEARING]: 'Hearing updates',\n [responseTrackingTypes.STATE_COMMITTEE_HEARING]: 'Hearing updates',\n};\n\nexport const KEYWORD_SECTION = 'keyword';\nexport const BILLS_REGULATIONS_SECTION = 'bills_regulations';\nexport const COMMITTEE_SECTION = 'committee';\nexport const LEGISLATOR_SECTION = 'legislator';\nexport const NEWSFEED_SECTION = 'newsfeed';\nexport const WORKSPACE_SECTION = 'workspace';\n","import { DAY_YEAR_DATE_FORMAT } from 'utils/constants/date';\nimport moment from 'moment';\nimport { SORT_BY_TYPES } from '../constants';\n\nexport function getSortParams(sort) {\n const options = {\n [SORT_BY_TYPES.NEWEST_TO_OLDEST]: { sort: 'created_at', direction: 'desc' },\n [SORT_BY_TYPES.OLDEST_TO_NEWEST]: { sort: 'created_at', direction: 'asc' },\n [SORT_BY_TYPES.A_TO_Z]: { sort: 'title.raw', direction: 'asc' },\n [SORT_BY_TYPES.Z_TO_A]: { sort: 'title.raw', direction: 'desc' },\n };\n\n return options[sort] || {};\n}\n\nfunction transformSmartList(smartList) {\n const {\n id,\n title,\n description,\n created_at,\n updated_at,\n count,\n is_processing,\n ...restProps\n } = smartList;\n\n return {\n id,\n title,\n description,\n createdAt: moment(created_at).format(DAY_YEAR_DATE_FORMAT),\n updatedAt: moment(updated_at).format(DAY_YEAR_DATE_FORMAT),\n stakeholdersCount: count,\n isProcessing: is_processing,\n ...restProps,\n };\n}\n\nexport function transformSmartListsForUI(smartLists) {\n return smartLists.map(transformSmartList);\n}\n\nexport function transformDataForFront({ title, description, request_data: data }) {\n const { transactor } = data;\n\n return {\n title,\n description,\n isTemplate: false,\n transactor,\n data,\n };\n}\n\nexport function transformDataForBack({ title, description, data }) {\n return {\n title,\n description,\n request_data: data,\n };\n}\n","import { FETCH_SMART_LISTS, RECEIVE_SMART_LISTS_DONE } from '../constants';\nimport { getSortParams, transformSmartListsForUI } from '../utils';\n\nexport function fetchSmartLists({ sortBy }) {\n return (dispatch) => {\n dispatch({ type: FETCH_SMART_LISTS });\n\n const url = '/api_web/stakeholder-management/smart_lists/lookup';\n const params = getSortParams(sortBy);\n\n const ajax = $.post(url, params);\n\n function onSuccess(response) {\n return dispatch({\n type: RECEIVE_SMART_LISTS_DONE,\n payload: transformSmartListsForUI(response && response.data),\n sortBy,\n });\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess);\n };\n}\n","import { DELETE_SMART_LIST, DELETE_SMART_LIST_DONE } from '../constants';\n\nexport function deleteSmartList(payload = {}) {\n return (dispatch) => {\n dispatch({ type: DELETE_SMART_LIST });\n\n const {\n id,\n toggleOpen,\n notifications = {},\n } = payload;\n\n const url = `/api_web/stakeholder-management/smart_lists/${id}`;\n const request = $.ajax({\n url,\n type: 'DELETE',\n });\n\n function onSuccess() {\n setTimeout(() => {\n dispatch({\n type: DELETE_SMART_LIST_DONE,\n payload: { id },\n });\n notifications.success();\n toggleOpen();\n }, 2000);\n }\n\n function onFailure() {\n notifications.failure();\n toggleOpen();\n }\n\n return Promise.resolve(request)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import delay from 'lodash/delay';\n\nimport {\n UPDATE_IS_TEMPLATE,\n UPDATE_TITLE,\n UPDATE_DESCRIPTION,\n UPDATE_TRANSACTOR,\n UPDATE_DATA,\n GET_LIST_START,\n GET_LIST_DONE,\n CREATE_LIST_START,\n CREATE_LIST_DONE,\n CREATE_LIST_FAIL,\n RESET,\n} from '../constants';\nimport {\n transformDataForFront,\n transformDataForBack,\n} from '../utils';\n\nexport function updateIsTemplate(event) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_IS_TEMPLATE,\n payload: event.target.checked,\n });\n };\n}\n\nexport function updateTitle({ payload }) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_TITLE,\n payload,\n });\n };\n}\n\nexport function updateDescription({ payload }) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_DESCRIPTION,\n payload,\n });\n };\n}\n\nexport function updateTransactor({ payload }) {\n return (dispatch, getState) => {\n const { transactor, data } = getState().moneyball.smartSearchBuilder.builder;\n\n dispatch({\n type: UPDATE_TRANSACTOR,\n payload: {\n transactor: payload,\n data: payload === transactor ? data : {\n transactor: payload,\n statement: {\n id: `statementgroup-${new Date().getTime()}`,\n type: 'statements_group',\n operator: {\n label: 'And',\n value: 'and',\n },\n statements: [],\n },\n },\n },\n });\n };\n}\n\nexport function updateData({ payload }) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_DATA,\n payload,\n });\n };\n}\n\nexport function getList({ id }) {\n return (dispatch) => {\n dispatch({ type: GET_LIST_START });\n\n const ajax = $.ajax({\n url: `/api_web/stakeholder-management/smart_lists/${id}`,\n type: 'GET',\n });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: GET_LIST_DONE,\n payload: transformDataForFront(response),\n }));\n };\n}\n\nexport function submitList({ id, payload, onSuccess }) {\n return (dispatch) => {\n dispatch({ type: CREATE_LIST_START });\n\n const type = id ? 'PUT' : 'POST';\n const urlSuffix = id ? `/${id}` : '';\n const data = JSON.stringify(\n transformDataForBack(payload)\n );\n const ajax = $.ajax({\n type,\n url: `/api_web/stakeholder-management/smart_lists${urlSuffix}`,\n contentType: 'application/json',\n data,\n });\n\n return Promise.resolve(ajax)\n // TODO: temp fix to the builder setimeout and elasticsearch load delay\n .then(response => new Promise(resolve => delay(() => resolve(response), 2000)))\n .then(response => dispatch({\n type: CREATE_LIST_DONE,\n payload: response,\n }))\n .then(({ payload: responsePayload }) => {\n if (typeof onSuccess === 'function') {\n onSuccess(responsePayload);\n }\n })\n .catch((error) => {\n dispatch({\n type: CREATE_LIST_FAIL,\n });\n\n throw error;\n });\n };\n}\n\nexport function reset() {\n return (dispatch) => {\n dispatch({\n type: RESET,\n });\n };\n}\n","export { fetchSmartLists } from './data';\nexport { deleteSmartList } from './list';\nexport * from './builder';\n","import {\n FETCH_CAMPAIGN,\n RECEIVE_CAMPAIGN,\n CAMPAIGN_NOT_FOUND,\n} from '../constants';\n\nexport function fetchCampaign(payload) {\n return (dispatch) => {\n dispatch({ type: FETCH_CAMPAIGN, payload });\n\n const url = `/api_web/grassroots/campaigns/${payload.campaignToken}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(campaign =>\n dispatch({ type: RECEIVE_CAMPAIGN, payload: campaign })\n )\n .catch((error) => {\n dispatch({ type: CAMPAIGN_NOT_FOUND });\n throw error;\n });\n };\n}\n","import moment from 'moment';\n\nimport {\n CAMPAIGN_LEGISLATOR_TYPE,\n CAMPAIGN_REGULATION_TYPE,\n} from 'components/grassroots-campaign-builder/constants';\nimport { SORT_DIRECTIONS } from 'utils/constants';\nimport { CALENDAR_DATE_FORMAT } from 'utils/constants/date';\n\nimport {\n BASE_URL,\n FETCH_STATISTICS,\n RECEIVE_STATISTICS_LOADING,\n RECEIVE_STATISTICS_ADVOCATES_COUNT,\n RECEIVE_STATISTICS_MESSAGES_COUNT,\n RECEIVE_STATISTICS_MESSAGES_SENT,\n RECEIVE_STATISTICS_TOP_STATES,\n RECEIVE_STATISTICS_EDITED_MESSAGES,\n RECEIVE_STATISTICS_STATE_RECIPIENTS,\n RECEIVE_STATISTICS_FEDERAL_RECIPIENTS,\n RECEIVE_STATISTICS_CUSTOM_RECIPIENTS,\n RECEIVE_STATISTICS_SENDERS,\n RECEIVE_STATISTICS_REGULATIONS,\n FETCHING_TABLE_STATISTICS,\n FETCHED_TABLE_STATISTICS,\n SET_DATE_RANGE,\n PER_PAGE,\n} from '../constants';\n\nexport function setDateRange(dateRange) {\n return {\n type: SET_DATE_RANGE,\n payload: dateRange,\n };\n}\n\nexport function fetchStatisticsMessagesCount(campaign) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/actions/count`\n : `${BASE_URL}/actions/count`;\n\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(results =>\n dispatch({\n type: RECEIVE_STATISTICS_MESSAGES_COUNT,\n payload: results,\n })\n );\n };\n}\n\nexport function fetchStatisticsAdvocatesCount(campaign) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/senders/count`\n : `${BASE_URL}/senders/count`;\n\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(results =>\n dispatch({\n type: RECEIVE_STATISTICS_ADVOCATES_COUNT,\n payload: results,\n })\n );\n };\n}\n\nconst initialMessagesSentOptions = {\n starts_on: moment().subtract(1, 'months').format(CALENDAR_DATE_FORMAT),\n ends_on: moment().format(CALENDAR_DATE_FORMAT),\n};\n\nexport function fetchStatisticsMessagesSent(campaign, options = initialMessagesSentOptions) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/actions`\n : `${BASE_URL}/actions`;\n\n const ajax = $.get(url, options);\n\n return Promise.resolve(ajax)\n .then(({ data }) =>\n dispatch({\n type: RECEIVE_STATISTICS_MESSAGES_SENT,\n payload: data,\n })\n );\n };\n}\n\nexport function fetchStatisticsTopStates(campaign) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/actions/top_states`\n : `${BASE_URL}/actions/top_states`;\n\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(({ data }) =>\n dispatch({\n type: RECEIVE_STATISTICS_TOP_STATES,\n payload: data,\n })\n );\n };\n}\n\nexport function fetchStatisticsEditedMessages(campaign) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/actions/edited`\n : `${BASE_URL}/actions/edited`;\n\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(({ data }) =>\n dispatch({\n type: RECEIVE_STATISTICS_EDITED_MESSAGES,\n payload: data,\n })\n );\n };\n}\n\nconst initialSendersOptions = {\n page: 1,\n order_mode: SORT_DIRECTIONS.DESC,\n order_column: 'created_at',\n};\n\nexport function fetchStatisticsSenders(campaign, options = initialSendersOptions) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/senders`\n : `${BASE_URL}/senders`;\n\n options = {\n ...options,\n per_page: PER_PAGE,\n };\n\n const ajax = $.get(url, options);\n\n dispatch({ type: FETCHING_TABLE_STATISTICS });\n\n return Promise.resolve(ajax)\n .then((data) => {\n dispatch({\n type: RECEIVE_STATISTICS_SENDERS,\n payload: data,\n });\n })\n .finally(() => dispatch({ type: FETCHED_TABLE_STATISTICS }));\n };\n}\n\nconst initialFederalRecipientsOptions = {\n page: 1,\n order_mode: SORT_DIRECTIONS.DESC,\n order_column: 'last_send_date',\n};\n\nexport function fetchStatisticsFederalRecipients(campaign, options = initialFederalRecipientsOptions) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/federal_recipients`\n : `${BASE_URL}/federal_recipients`;\n\n options = {\n ...options,\n per_page: PER_PAGE,\n };\n\n const ajax = $.get(url, options);\n\n dispatch({ type: FETCHING_TABLE_STATISTICS });\n\n return Promise.resolve(ajax)\n .then(data =>\n dispatch({\n type: RECEIVE_STATISTICS_FEDERAL_RECIPIENTS,\n payload: data,\n })\n )\n .finally(() => dispatch({ type: FETCHED_TABLE_STATISTICS }));\n };\n}\n\nconst initialStateRecipientsOptions = {\n page: 1,\n order_mode: SORT_DIRECTIONS.DESC,\n order_column: 'last_send_date',\n};\n\nexport function fetchStatisticsStateRecipients(campaign, options = initialStateRecipientsOptions) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/state_recipients`\n : `${BASE_URL}/state_recipients`;\n\n options = {\n ...options,\n per_page: PER_PAGE,\n };\n\n const ajax = $.get(url, options);\n\n dispatch({ type: FETCHING_TABLE_STATISTICS });\n\n return Promise.resolve(ajax)\n .then(data =>\n dispatch({\n type: RECEIVE_STATISTICS_STATE_RECIPIENTS,\n payload: data,\n })\n )\n .finally(() => dispatch({ type: FETCHED_TABLE_STATISTICS }));\n };\n}\n\nconst initialRegulationsOptions = {\n page: 1,\n order_mode: SORT_DIRECTIONS.DESC,\n order_column: 'last_send_date',\n};\n\n\nconst initialCustomRecipientsOptions = {\n page: 1,\n order_mode: SORT_DIRECTIONS.DESC,\n order_column: 'last_send_date',\n};\n\nexport function fetchStatisticsCustomRecipients(campaign, options = initialCustomRecipientsOptions) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/custom_recipients`\n : `${BASE_URL}/custom_recipients`;\n\n options = {\n ...options,\n per_page: PER_PAGE,\n };\n\n const ajax = $.get(url, options);\n\n dispatch({ type: FETCHING_TABLE_STATISTICS });\n\n return Promise.resolve(ajax)\n .then(data =>\n dispatch({\n type: RECEIVE_STATISTICS_CUSTOM_RECIPIENTS,\n payload: data,\n })\n )\n .finally(() => dispatch({ type: FETCHED_TABLE_STATISTICS }));\n };\n}\n\nexport function fetchStatisticsRegulations(campaign, options = initialRegulationsOptions) {\n return (dispatch) => {\n const url = campaign.token\n ? `${BASE_URL}/campaigns/${campaign.token}/regulations`\n : `${BASE_URL}/regulations`;\n\n options = {\n ...options,\n per_page: PER_PAGE,\n };\n\n const ajax = $.get(url, options);\n\n dispatch({ type: FETCHING_TABLE_STATISTICS });\n\n return Promise.resolve(ajax)\n .then(data =>\n dispatch({\n type: RECEIVE_STATISTICS_REGULATIONS,\n payload: data,\n })\n )\n .finally(() => dispatch({ type: FETCHED_TABLE_STATISTICS }));\n };\n}\n\nexport function fetchStatistics(campaign = {}) {\n return (dispatch) => {\n dispatch({ type: FETCH_STATISTICS, campaign });\n\n const commonRequests = [\n fetchStatisticsMessagesCount(campaign),\n fetchStatisticsAdvocatesCount(campaign),\n fetchStatisticsMessagesSent(campaign),\n fetchStatisticsEditedMessages(campaign),\n fetchStatisticsTopStates(campaign),\n ];\n\n const regulationRequests = [\n fetchStatisticsSenders(campaign),\n ];\n\n const legislatorRequests = [\n fetchStatisticsStateRecipients(campaign),\n fetchStatisticsFederalRecipients(campaign),\n fetchStatisticsCustomRecipients(campaign),\n fetchStatisticsSenders(campaign),\n ];\n\n const generalRequests = [\n fetchStatisticsStateRecipients(campaign),\n fetchStatisticsFederalRecipients(campaign),\n fetchStatisticsCustomRecipients(campaign),\n fetchStatisticsRegulations(campaign),\n fetchStatisticsSenders(campaign),\n ];\n\n const campaignRequests = {\n [CAMPAIGN_REGULATION_TYPE]: regulationRequests,\n [CAMPAIGN_LEGISLATOR_TYPE]: legislatorRequests,\n }[campaign.campaign_type];\n\n const asyncRequests = [\n ...commonRequests,\n ...(campaignRequests || generalRequests),\n ].map(dispatch);\n\n return Promise.all(asyncRequests).then(() =>\n dispatch({\n type: RECEIVE_STATISTICS_LOADING,\n })\n );\n };\n}\n","import { ADD_CHART_TO_PRINT } from '../constants';\n\nexport function addChartToPrint(chartId, chart) {\n return {\n type: ADD_CHART_TO_PRINT,\n payload: {\n chartId,\n chart,\n },\n };\n}\n","export * from './fetchCampaign';\nexport * from './fetchStatistics';\nexport * from './charts';\n","import omit from 'lodash/omit';\n\nexport function transformDataForUI(data) {\n return data.map(({ updated_at, ...restProps }) => ({\n updatedAt: updated_at,\n ...restProps,\n }));\n}\n\nexport function transformDataForBE({\n pagination,\n sortData,\n query,\n id,\n districtId,\n stateId,\n includeStats = false,\n}) {\n const { currentPage, pageSize } = pagination || {};\n const { column, direction } = sortData || {};\n const sortParams = column && { sort: { [column]: direction } };\n const requestPagination = pagination && {\n page: currentPage,\n per_page: pageSize,\n };\n\n return {\n search_form: {\n query,\n dataset_id: id,\n congressional_district_ids: [districtId],\n state_ids: [stateId],\n pagination: requestPagination,\n include_rows_stats: includeStats,\n ...sortParams,\n },\n };\n}\n\nexport function transformDataForPDF(dataSets) {\n return dataSets.map(({\n dataset,\n data,\n id,\n pagination,\n stats,\n is_rows_aggregate,\n }) => ({\n id,\n name: dataset,\n totalRows: pagination.total_count,\n data: data.map(item => omit(item, 'updated_at')),\n stats,\n isRowsAggregate: is_rows_aggregate,\n }));\n}\n\nexport function transformPagination({\n per_page,\n total_count,\n total_pages,\n current_page,\n}) {\n return {\n pageSize: per_page,\n totalCount: total_count,\n totalPages: total_pages,\n currentPage: current_page,\n };\n}\n","import {\n transformDataForUI,\n transformDataForBE,\n transformDataForPDF,\n transformPagination,\n} from './utils';\nimport constants from './constants';\nimport { defaultPagination } from './reducers';\n\nfunction handleFecthData({ dispatch, sortData, pagination, query, id }) {\n const url = '/api_web/company-subscription/institutional-data/dataset_rows';\n const method = 'GET';\n const data = transformDataForBE({ sortData, pagination, query, id });\n\n const ajax = $.ajax({\n url,\n method,\n data,\n });\n\n function onSuccess({\n dataset,\n data: responseData,\n pagination: responsePagination,\n }) {\n dispatch({\n type: constants.RECEIVE_INDIVIDUAL_ASSET_SET_DONE,\n dataset,\n payload: transformDataForUI(responseData),\n pagination: transformPagination(responsePagination),\n sortData,\n });\n }\n\n function onFailure(error) {\n dispatch({\n type: constants.RECEIVE_INDIVIDUAL_ASSET_SET_FAIL,\n });\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n}\n\nexport function fetchIndividualAssetSets({ sortData = {}, pagination = defaultPagination, id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL_ASSET_SET });\n\n return handleFecthData({ dispatch, sortData, pagination, id });\n };\n}\n\nexport function searchIndividualAssetSets({ query, id }) {\n return (dispatch, getState) => {\n dispatch({ type: constants.SEARCH_INDIVIDUAL_ASSET_SET });\n const { sortData, pagination } = getState().organization.individualAssetSet;\n\n return handleFecthData({ dispatch, sortData, pagination, query, id });\n };\n}\n\nexport function resetIndividualAsset() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_INDIVIDUAL_ASSET_SET });\n };\n}\n\nexport function fetchMultipleIndividualAssetSets({ ids, districtId, stateId, pagination }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_MULTIPLE_INDIVIDUAL_ASSET_SETS });\n\n const url = '/api_web/company-subscription/institutional-data/dataset_rows';\n const method = 'GET';\n\n function onSuccess(values) {\n const transformedData = transformDataForPDF(values);\n dispatch({\n type: constants.RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_DONE,\n });\n\n return transformedData;\n }\n\n function onFailure(error) {\n dispatch({\n type: constants.RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_FAIL,\n });\n\n throw error;\n }\n\n const promisses = ids.map((id) => {\n const data = transformDataForBE({\n id,\n districtId,\n stateId,\n pagination,\n includeStats: true,\n });\n\n return $.ajax({\n url,\n method,\n data,\n });\n });\n\n return Promise.all(promisses)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import { pluralize } from 'utils/string';\nimport { success } from 'components/core/Notification';\n\nexport default {\n subscriptionsUpdated: ({ frequency, itemsCount }) => (\n success(`Email frequency for your ${itemsCount} ${pluralize('subscription', 'subscriptions', itemsCount)} updated to '${frequency}'.`)\n ),\n subscriptionsDeleted: itemsCount => success(`Unsubscribed from ${itemsCount} ${pluralize('item', 'items', itemsCount)}`),\n};\n","import size from 'lodash/size';\n\nimport isNotFoundError from 'utils/http/isNotFoundError';\nimport * as subscriptionsApi from 'redux/dashboardV2/common/subscriptions/api';\nimport * as workspacesApi from 'redux/dashboardV2/common/workspaces/api';\n\nimport notifications from './utils/notifications';\nimport constants from './constants';\n\nexport const fetchWorkspace = token => (dispatch) => {\n dispatch({ type: constants.FETCH_WORKSPACE });\n\n const onSuccess = (workspace) => {\n dispatch({ type: constants.RECEIVE_WORKSPACE_DONE, payload: workspace });\n };\n\n const onFailure = (error) => {\n isNotFoundError(error) && dispatch({ type: constants.WORKSPACE_NOT_FOUND });\n };\n\n return workspacesApi.fetchWorkspace(token)\n .then(onSuccess)\n .catch(onFailure);\n};\n\nexport const updateWorkspace = ({ token, initialName, name }) => (dispatch) => {\n dispatch({ type: constants.UPDATE_WORKSPACE });\n\n const onSuccess = () => {\n dispatch({ type: constants.UPDATE_WORKSPACE_DONE, payload: { name } });\n };\n\n const onFailure = (error) => {\n isNotFoundError(error) && dispatch({ type: constants.NAME_ALREADY_TAKEN });\n };\n\n return workspacesApi.updateWorkspace({ token, initialName, name })\n .then(onSuccess)\n .catch(onFailure);\n};\n\nexport const updateWorkspaceSubscription = (frequency, isTracking) => (dispatch) => {\n dispatch({ type: constants.UPDATE_WORKSPACE_SUBSCRIPTION, payload: { frequency, isTracking } });\n};\n\nexport const fetchSubscriptions = token => (dispatch) => {\n dispatch({ type: constants.FETCH_SUBSCRIPTIONS });\n\n const onSuccess = (subscriptions) => {\n dispatch({ type: constants.RECEIVE_SUBSCRIPTIONS_DONE, payload: subscriptions });\n };\n\n return subscriptionsApi.fetchSubscriptionsAndKeywords(token)\n .then(onSuccess);\n};\n\nexport const deleteSubscription = (feedToken, subscription) => (dispatch) => {\n dispatch({ type: constants.DELETE_SUBSCRIPTION });\n\n const { token } = subscription;\n\n const onSuccess = () => {\n dispatch({ type: constants.DELETE_SUBSCRIPTION_DONE, payload: token });\n };\n\n return subscriptionsApi.deleteSubscription(feedToken, subscription)\n .then(onSuccess);\n};\n\nexport const updateSubscription = (feedToken, subscription) => (dispatch) => {\n const onSuccess = () => {\n dispatch({ type: constants.UPDATE_SUBSCRIPTION_DONE, payload: subscription });\n };\n\n return subscriptionsApi.updateSubscription(feedToken, subscription)\n .then(onSuccess);\n};\n\nexport const updateSubscriptions = (feedToken, bulkActionData = {}) => (\n (dispatch) => {\n dispatch({ type: constants.UPDATE_SUBSCRIPTIONS });\n\n const {\n tokens,\n workspaceTokens,\n frequencyLabel,\n } = bulkActionData;\n\n const successNotification = notifications.subscriptionsUpdated({\n itemsCount: size(tokens) + size(workspaceTokens),\n frequency: frequencyLabel,\n });\n\n const onSuccess = () => {\n const payload = { ...bulkActionData, tokens: [...tokens, ...workspaceTokens] };\n dispatch({ type: constants.UPDATE_SUBSCRIPTIONS_DONE, payload });\n successNotification();\n };\n\n return subscriptionsApi.updateSubscriptions({ ...bulkActionData, feedToken })\n .then(onSuccess);\n }\n);\n\nexport const deleteSubscriptions = (feedToken, { tokens, workspaceTokens }) => (\n (dispatch) => {\n dispatch({ type: constants.DELETE_SUBSCRIPTIONS });\n\n const itemsCount = size(tokens) + size(workspaceTokens);\n const successNotification = notifications.subscriptionsDeleted(itemsCount);\n\n const onSuccess = () => {\n const payload = [...tokens, ...workspaceTokens];\n dispatch({ type: constants.DELETE_SUBSCRIPTIONS_DONE, payload });\n successNotification();\n };\n\n return subscriptionsApi.deleteSubscriptions({ feedToken, tokens, workspaceTokens })\n .then(onSuccess);\n }\n);\n\nexport const updateCommitteeSubscription = (feedToken, subscription) => (\n (dispatch) => {\n const onSuccess = () => {\n dispatch({ type: constants.UPDATE_COMMITTEE_SUBSCRIPTION_DONE, payload: subscription });\n };\n\n return subscriptionsApi.createSubscription(feedToken, subscription)\n .then(onSuccess);\n }\n);\n\nexport const deleteCommitteeSubscription = (feedToken, subscription) => (dispatch) => {\n const onSuccess = () => {\n dispatch({ type: constants.DELETE_COMMITTEE_SUBSCRIPTION_DONE, payload: subscription });\n };\n\n return subscriptionsApi.deleteSubscription(feedToken, subscription)\n .then(onSuccess);\n};\n\nexport const fetchDefaultFrequency = () => (dispatch) => {\n dispatch({ type: constants.FETCH_DEFAULT_FREQUENCY });\n\n const onSuccess = (defaultFrequency) => {\n dispatch({ type: constants.FETCH_DEFAULT_FREQUENCY_DONE, payload: defaultFrequency });\n };\n\n return subscriptionsApi.fetchDefaultFrequency()\n .then(onSuccess);\n};\n\nexport const updateDefaultFrequency = frequency => (dispatch) => {\n dispatch({ type: constants.UPDATE_DEFAULT_FREQUENCY });\n\n const onSuccess = () => {\n dispatch({ type: constants.UPDATE_DEFAULT_FREQUENCY_DONE, payload: frequency });\n };\n\n return subscriptionsApi.updateDefaultFrequency(frequency)\n .then(onSuccess);\n};\n\nexport const resetSubscriptionsSettings = () => (dispatch) => {\n dispatch({ type: constants.RESET_SUBSCRIPTIONS_SETTINGS });\n\n const onSuccess = () => {\n dispatch({ type: constants.RESET_SUBSCRIPTIONS_SETTINGS_DONE });\n };\n\n return subscriptionsApi.resetSubscriptionsSettings()\n .then(onSuccess);\n};\n","import { SORT_DIRECTIONS } from 'utils/constants';\n\nimport {\n SAVE_CUSTOM_RECIPIENT,\n FAILED_SAVE_CUSTOM_RECIPIENT,\n DELETE_CUSTOM_RECIPIENTS,\n DELETED_CUSTOM_RECIPIENTS,\n FETCH_CUSTOM_RECIPIENTS,\n RECEIVE_CUSTOM_RECIPIENTS,\n RECEIVE_DELETED_CUSTOM_RECIPIENT,\n RECEIVE_PAGINATION,\n} from '../constants';\n\nexport function saveCustomRecipient({ campaign, recipient }) {\n return (dispatch) => {\n dispatch({ type: SAVE_CUSTOM_RECIPIENT });\n\n let url = `/api_web/grassroots/campaigns/${campaign.token}/custom_recipients`;\n let method = 'POST';\n\n recipient.name = recipient.title;\n const data = { recipient };\n\n if (recipient.id) {\n url = `${url}/${recipient.id}`;\n method = 'PUT';\n }\n\n const ajax = $.ajax({\n url,\n method,\n data,\n });\n\n return Promise.resolve(ajax)\n .catch(({ responseJSON }) => {\n dispatch({ type: FAILED_SAVE_CUSTOM_RECIPIENT });\n throw responseJSON;\n });\n };\n}\n\nexport function deleteCustomRecipient({ campaign, recipient }) {\n return (dispatch) => {\n const url = `/api_web/grassroots/campaigns/${campaign.token}/custom_recipients/${recipient.id}/disable`;\n const method = 'POST';\n\n const ajax = $.ajax({\n url,\n method,\n });\n\n return Promise.resolve(ajax)\n .then(result =>\n dispatch({ type: RECEIVE_DELETED_CUSTOM_RECIPIENT, payload: result })\n );\n };\n}\n\nexport function deleteCustomRecipients({ campaign, recipients }) {\n return (dispatch) => {\n dispatch({ type: DELETE_CUSTOM_RECIPIENTS });\n\n const asyncRequests = recipients\n .map(recipient => deleteCustomRecipient({ campaign, recipient }))\n .map(dispatch);\n\n return Promise.all(asyncRequests)\n .then(() => dispatch({ type: DELETED_CUSTOM_RECIPIENTS }));\n };\n}\n\nconst PER_PAGE = 10;\n\nconst defaultOptions = {\n page: 1,\n order_mode: SORT_DIRECTIONS.ASC,\n order_column: 'addressable_name',\n per_page: PER_PAGE,\n};\n\nconst mapOrderColumn = (options) => {\n const orderColumn = {\n twitter_screen_name: 'twitter_url',\n }[options.order_column] || options.order_column;\n\n return {\n ...options,\n order_column: orderColumn,\n };\n};\n\nexport function fetchCustomRecipients(campaignToken, options = {}) {\n return (dispatch) => {\n dispatch({ type: FETCH_CUSTOM_RECIPIENTS });\n\n const url = `/api_web/grassroots/campaigns/${campaignToken}/custom_recipients`;\n\n options = {\n ...defaultOptions,\n ...options,\n };\n\n options = mapOrderColumn(options);\n\n const ajax = $.get(url, options);\n\n return Promise.resolve(ajax)\n .then(({ data, pagination }) => {\n dispatch({ type: RECEIVE_CUSTOM_RECIPIENTS, payload: data });\n dispatch({ type: RECEIVE_PAGINATION, payload: { ...pagination, perPage: PER_PAGE } });\n });\n };\n}\n","import { DEFAULT_CUSTOM_COLORS } from 'components/grassroots-campaign-builder/constants';\n\nimport {\n RESET_STATE,\n SET_NEW_CAMPAIGN_TYPE,\n FETCH_REGULATION,\n RECEIVE_REGULATION,\n FETCH_CAMPAIGN,\n RECEIVE_CAMPAIGN,\n CAMPAIGN_NOT_FOUND,\n SAVE_CAMPAIGN,\n RECEIVE_RECIPIENT,\n RECEIVE_DELETED_RECIPIENT,\n RECEIVE_MESSAGE,\n SAVE_PTC_MESSAGE,\n RECEIVE_PTC_MESSAGE,\n SAVE_MESSAGES,\n SAVE_THANK_YOU_MESSAGE,\n RECEIVE_THANK_YOU_MESSAGE,\n SAVE_LOGO_CONFIG,\n RECEIVE_LOGO_CONFIG,\n SAVE_SETTINGS,\n FETCH_FORM_INITIAL_VALUES,\n RECEIVE_FORM_INITIAL_VALUES,\n} from '../constants';\n\nexport {\n saveCustomRecipient,\n deleteCustomRecipient,\n deleteCustomRecipients,\n fetchCustomRecipients,\n} from './customRecipients';\n\nexport function resetState(payload) {\n return { type: RESET_STATE, payload };\n}\n\nexport function setNewCampaignType(payload) {\n return { type: SET_NEW_CAMPAIGN_TYPE, payload };\n}\n\nexport function fetchRegulation(payload) {\n return (dispatch) => {\n const { regulationId } = payload;\n dispatch({ type: FETCH_REGULATION, payload });\n\n // uses api_web_portal_grassroots_regulation_path\n const url = `/api_web/portal/grassroots/regulations/${regulationId}`;\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax)\n .then(data =>\n Promise.resolve(dispatch({ type: RECEIVE_REGULATION, payload: data }))\n );\n };\n}\n\nexport function fetchCampaign(payload) {\n return (dispatch) => {\n dispatch({ type: FETCH_CAMPAIGN, payload });\n\n // uses api_web_grassroots_campaign_path\n const url = `/api_web/grassroots/campaigns/${payload.campaignToken}`;\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax)\n .then(campaign =>\n dispatch({ type: RECEIVE_CAMPAIGN, payload: campaign })\n )\n .catch(() =>\n dispatch({ type: CAMPAIGN_NOT_FOUND })\n );\n };\n}\n\nexport function saveCampaign(payload) {\n return (dispatch) => {\n dispatch({ type: SAVE_CAMPAIGN, payload });\n\n const { campaignToken, campaign } = payload;\n const data = { campaign };\n\n // uses api_web_grassroots_campaigns_path\n let url = '/api_web/grassroots/campaigns';\n let method = 'POST';\n\n if (campaignToken) {\n url = `${url}/${campaignToken}`;\n method = 'PUT';\n }\n\n const ajax = $.ajax({\n url,\n method,\n data,\n });\n\n return Promise.resolve(ajax)\n .then(result =>\n dispatch({ type: RECEIVE_CAMPAIGN, payload: result })\n );\n };\n}\n\nfunction saveRecipient({ matcher, campaignToken }) {\n return (dispatch) => {\n // uses api_web_grassroots_campaign_matchers_path\n let url = `/api_web/grassroots/campaigns/${campaignToken}/matchers`;\n let method = 'POST';\n const data = { matcher };\n\n if (matcher.id) {\n url = `${url}/${matcher.id}`;\n method = 'PUT';\n }\n\n const ajax = $.ajax({\n url,\n method,\n data,\n });\n\n return Promise.resolve(ajax)\n .then(result =>\n dispatch({ type: RECEIVE_RECIPIENT, payload: result })\n );\n };\n}\n\n\nfunction deleteRecipient({ matcher, campaignToken }) {\n return (dispatch) => {\n const url = `/api_web/grassroots/campaigns/${campaignToken}/matchers/${matcher.id}/disable`;\n const method = 'POST';\n\n const ajax = $.ajax({ url, method });\n\n return Promise.resolve(ajax)\n .then(result =>\n dispatch({ type: RECEIVE_DELETED_RECIPIENT, payload: result })\n );\n };\n}\n\nexport function saveRecipients(payload) {\n return (dispatch) => {\n const { campaignToken, matchers } = payload;\n\n const asyncRequests = matchers.map((matcher) => {\n if (matcher.disable) {\n return dispatch(\n deleteRecipient({ matcher, campaignToken })\n );\n }\n\n return dispatch(\n saveRecipient({ matcher, campaignToken })\n );\n });\n\n return Promise.all(asyncRequests);\n };\n}\n\nfunction saveMessage({ campaignToken, emailMessage }) {\n return (dispatch) => {\n // uses api_web_grassroots_campaign_matcher_messages_path\n let url = `/api_web/grassroots/campaigns/${campaignToken}/matcher_messages`;\n let method = 'POST';\n const data = { matcher_message: emailMessage };\n\n if (emailMessage.id) {\n url = `${url}/${emailMessage.id}`;\n method = 'PUT';\n }\n\n const ajax = $.ajax({\n url,\n method,\n data,\n });\n\n return Promise.resolve(ajax)\n .then(result =>\n dispatch({ type: RECEIVE_MESSAGE, payload: result })\n );\n };\n}\n\nexport function savePTCMessage(payload) {\n return (dispatch) => {\n dispatch({ type: SAVE_PTC_MESSAGE, payload });\n\n const { campaignToken, ptc_config } = payload;\n\n const url = `/api_web/grassroots/campaigns/${campaignToken}/ptc_config`;\n const method = 'PUT';\n const data = { ptc_config };\n\n const ajax = $.ajax({ url, method, data });\n\n return Promise.resolve(ajax)\n .then(result =>\n dispatch({ type: RECEIVE_PTC_MESSAGE, payload: result })\n );\n };\n}\n\nexport function saveMessages(payload) {\n return (dispatch) => {\n dispatch({ type: SAVE_MESSAGES, payload });\n\n const { campaignToken, campaign, matcher_messages } = payload;\n\n const messageRequests = matcher_messages.map(\n emailMessage => dispatch(saveMessage({ campaignToken, emailMessage }))\n );\n\n return Promise.all(messageRequests)\n .then(() => dispatch(saveCampaign({ campaignToken, campaign })));\n };\n}\n\nexport function saveThankYouMessage(payload) {\n return (dispatch) => {\n dispatch({ type: SAVE_THANK_YOU_MESSAGE, payload });\n\n const { campaignToken, thank_you_config } = payload;\n\n // uses api_web_grassroots_campaign_thank_you_config_path\n const url = `/api_web/grassroots/campaigns/${campaignToken}/thank_you_config`;\n const method = 'PUT';\n const data = { thank_you_config };\n\n const ajax = $.ajax({\n url,\n method,\n data,\n });\n\n return Promise.resolve(ajax)\n .then(result =>\n dispatch({ type: RECEIVE_THANK_YOU_MESSAGE, payload: result })\n );\n };\n}\n\nexport function saveLogoConfig(payload) {\n return (dispatch) => {\n dispatch({ type: SAVE_LOGO_CONFIG, payload });\n\n const { campaignToken, logo_config } = payload;\n\n // uses api_web_grassroots_campaign_logo_config_path\n const url = `/api_web/grassroots/campaigns/${campaignToken}/logo_config`;\n const method = 'PUT';\n const data = { logo_config };\n\n const ajax = $.ajax({\n url,\n method,\n data,\n });\n\n return Promise.resolve(ajax)\n .then(result =>\n dispatch({ type: RECEIVE_LOGO_CONFIG, payload: result })\n );\n };\n}\n\nexport function saveSettings(payload) {\n return (dispatch) => {\n dispatch({ type: SAVE_SETTINGS, payload });\n\n const { file_upload_id } = payload.logo_config;\n const asyncRequests = [\n dispatch(saveCampaign(payload)),\n file_upload_id && dispatch(saveLogoConfig(payload)),\n ];\n\n return Promise.all(asyncRequests);\n };\n}\n\nexport function fetchFormInitialValues(campaign) {\n const getColors = (companyConfig) => {\n if (campaign.primary_color) {\n return {\n primary_color: campaign.primary_color,\n secondary_color: campaign.secondary_color,\n };\n }\n\n if (companyConfig.primary_color) {\n return {\n primary_color: companyConfig.primary_color,\n secondary_color: companyConfig.secondary_color,\n };\n }\n\n return DEFAULT_CUSTOM_COLORS;\n };\n\n const getLogo = (companyConfig) => {\n if (campaign.logo_config && campaign.logo_config.file_upload_id) {\n return campaign.logo_config;\n }\n\n if (companyConfig.file_upload_id) {\n return {\n file_upload_id: companyConfig.file_upload_id,\n logo: companyConfig.logo,\n };\n }\n\n return {\n file_upload_id: null,\n logo: null,\n };\n };\n\n return async (dispatch) => {\n dispatch({ type: FETCH_FORM_INITIAL_VALUES });\n\n const ajax = $.get('/api_web/grassroots/company_config');\n\n return Promise.resolve(ajax)\n .then((companyConfig) => {\n const initialValues = {\n ...campaign,\n ...getColors(companyConfig),\n logo_config: getLogo(companyConfig),\n };\n\n dispatch({ type: RECEIVE_FORM_INITIAL_VALUES, payload: initialValues });\n });\n };\n}\n","import { isEmpty, omitBy, isNil } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID, EXPORT_EMAIL_LIMIT } from 'utils/constants/export';\nimport { submitExportReport } from 'redux/exportReport/actions';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onSaveItem,\n onRemoveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\n\nimport constants from './constants';\nimport {\n transformOptionsForBE,\n transformSearchesForUI,\n transformStaffersForUI,\n getExportInfo,\n} from './utils';\n\nexport function submitExport(payload) {\n const { items, searchData, exportOption, sort } = payload || {};\n const { sort: orderColumn, direction } = sort || {};\n\n const exportIds = items && items.map((item) => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: constants.STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[staffer_ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n 'strategy_inputs[order_column]': orderColumn,\n 'strategy_inputs[order_mode]': direction,\n ...omitBy(getExportInfo(searchForm), isEmpty),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `Congressional Staffers ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({ ...payload, data, onSuccessCustom });\n}\n\nexport function loadStaffersRecentSearches(params, stafferData) {\n const recentSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return (dispatch) => dispatch(loadRecentSearches(\n recentSearch,\n (data) => transformSearchesForUI(data, stafferData),\n ));\n}\n\nexport function loadStaffersSavedSearches(params, stafferData) {\n const savedSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n (data) => transformSearchesForUI(data, stafferData),\n );\n}\n\nexport function saveStaffersAdvancedSearch(data = {}, stafferData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: transformOptionsForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n (params) => loadStaffersRecentSearches(params, stafferData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n (params) => loadStaffersRecentSearches(params, stafferData),\n );\n}\n\nexport function removeStaffersAdvancedSearch(id, stafferData = {}) {\n return onRemoveItem(\n id,\n (params) => loadStaffersSavedSearches(params, stafferData),\n );\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, stafferData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveStaffersAdvancedSearch(searchData, stafferData, false));\n }\n\n return null;\n };\n}\n\nfunction getStaffersData(payload) {\n const { searchData = {}, appliedFilters, clearAll, sort, direction, page } = payload;\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const url = '/api_web/rolodex/staffers/lookup';\n const sortData = omitBy({ sort, direction, page }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return { isSearch, url, data, sortData };\n}\n\nexport function fetchStaffers(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAFFERS });\n\n const { searchData = {}, clearAll } = payload;\n const { isSearch, url, data, sortData } = getStaffersData(payload);\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_STAFFERS_DONE,\n payload: transformStaffersForUI(response.data),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(saveAppliedFiltersToProps);\n };\n}\n\nexport function getAllEmails(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.FETCH_STAFFERS_EMAILS });\n const { appliedFilters } = getState().rolodex.stafferLookup.appliedFilters;\n\n const { url, data } = getStaffersData({ ...payload, searchData: appliedFilters });\n const ajax = $.post(url, { ...data, per_page: EXPORT_EMAIL_LIMIT });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_STAFFERS_EMAILS_DONE,\n payload: transformStaffersForUI(response.data),\n });\n }\n\n return Promise.resolve(ajax).then(onSuccess);\n };\n}\n","const PREFIX = 'STATE_LEGISLATOR';\n\nconst constants = {\n FETCH_LEGISLATOR: `${PREFIX}/FETCH_LEGISLATOR`,\n RECEIVE_LEGISLATOR_DONE: `${PREFIX}/RECEIVE_LEGISLATOR`,\n PROFILE_NOT_FOUND: `${PREFIX}/PROFILE_NOT_FOUND`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n UPDATE_PROFILE_MY_FEED: `${PREFIX}/UPDATE_PROFILE_MY_FEED`,\n FETCH_SUBSCRIPTIONS: `${PREFIX}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${PREFIX}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_DEFAULT_SUBSCRIPTION_DONE: `${PREFIX}/RECEIVE_DEFAULT_SUBSCRIPTION_DONE`,\n RESET_LEGISLATOR_DATA: `${PREFIX}/RESET_LEGISLATOR_DATA`,\n};\n\nexport default constants;\n","import { isNil, omitBy } from 'lodash';\n\nimport { PAGE_SIZE } from 'components/core/Profile/utils/constants';\nimport { PER_PAGE } from 'redux/federal/profile/actions';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { fetchAjaxData } from 'redux/utils';\nimport { fetchProfileTags } from 'redux/tags/actions';\nimport { fetchDefaultSubscription, fetchProfileSubscriptions } from 'redux/subscriptions/actions';\nimport { fetchProfileDocument, updateProfileShare } from 'redux/events/actions';\n\nimport {\n transformProfileForUI,\n transformCommitteesForUI,\n transformCosponsorsForUI,\n transformOfficialReportsForUI,\n transformTextVersionsForUI,\n transformTimeline,\n transformRollCallVotesForUI,\n transformRollCallVotesForBE,\n transformAmendmentsForBE,\n transformAmendmentsForUI,\n transformActiveVoicesForBE,\n transformActiveVoicesForUI,\n transformLobbyingInformationForUI,\n} from './utils';\nimport constants, { API_BASE } from './constants';\n\nexport function fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n\nexport function fetchSubscriptions(payload) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchProfileSubscriptions({ payload }, constants));\n };\n}\n\nexport function onUpdateTrackings({ trackings }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: trackings,\n });\n}\n\nexport function fetchProfile(payload = {}) {\n const { id } = payload;\n const actions = {\n fetchStarted: constants.FETCH_PROFILE,\n fetchFinished: constants.RECEIVE_PROFILE_DONE,\n failure: constants.FETCH_BILL_ERROR,\n notFound: constants.BILL_NOT_FOUND,\n };\n\n const url = `${API_BASE}/${id}`;\n\n const onSuccess = () => (dispatch) => {\n dispatch(fetchTags(payload));\n dispatch(fetchProfileDocument(payload, constants));\n dispatch(fetchSubscriptions(payload));\n };\n\n return fetchAjaxData({\n transformItemForUI: transformProfileForUI,\n onSuccess,\n actions,\n url,\n });\n}\n\nexport function fetchCommittees(payload = {}) {\n const { id } = payload;\n const actions = {\n fetchStarted: constants.FETCH_COMMITTEES,\n fetchFinished: constants.RECEIVE_COMMITTEES_DONE,\n failure: constants.FETCH_COMMITTEES_ERROR,\n };\n const url = `${API_BASE}/${id}/committees`;\n\n return fetchAjaxData({\n actions,\n url,\n transformItemForUI: transformCommitteesForUI,\n });\n}\n\nexport function fetchCosponsors(payload = {}) {\n const { id } = payload;\n const actions = {\n fetchStarted: constants.FETCH_COSPONSORS,\n fetchFinished: constants.RECEIVE_COSPONSORS_DONE,\n failure: constants.FETCH_SPONSORS_ERROR,\n };\n const url = `${API_BASE}/${id}/cosponsors`;\n\n return fetchAjaxData({\n actions,\n url,\n transformItemForUI: transformCosponsorsForUI,\n });\n}\n\nexport function fetchReports(payload = {}) {\n const { id } = payload;\n const actions = {\n fetchStarted: constants.FETCH_REPORTS,\n fetchFinished: constants.RECEIVE_REPORTS_DONE,\n failure: constants.FETCH_REPORTS_ERROR,\n };\n const url = `${API_BASE}/${id}/reports`;\n\n return fetchAjaxData({\n actions,\n url,\n transformItemForUI: transformOfficialReportsForUI,\n });\n}\n\nexport function fetchBillsComparison(payload = {}) {\n const { id } = payload;\n const actions = {\n fetchStarted: constants.FETCH_BILLS_COMPARISON,\n fetchFinished: constants.RECEIVE_BILLS_COMPARISON_DONE,\n };\n const url = `${API_BASE}/${id}/text_versions`;\n\n return fetchAjaxData({\n actions,\n url,\n transformItemForUI: transformTextVersionsForUI,\n });\n}\n\nexport function fetchTimeline(payload = {}) {\n const { id } = payload;\n const actions = {\n fetchStarted: constants.FETCH_BILL_TIMELINE,\n fetchFinished: constants.RECEIVE_BILL_TIMELINE_DONE,\n failure: constants.FETCH_TIMELINE_ERROR,\n };\n const url = `${API_BASE}/${id}/actions`;\n\n return fetchAjaxData({\n actions,\n url,\n transformItemForUI: transformTimeline,\n });\n}\n\nexport function fetchRollCallVotes(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_ROLL_CALL_VOTES });\n const { sort, direction, page } = payload;\n\n const sortData = omitBy({ sort, direction, page }, isNil);\n const rollCallVotesData = transformRollCallVotesForBE(payload);\n\n const ajax = $.post('/api_web/federal/bill_votes/lookup', { ...rollCallVotesData, ...PER_PAGE });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_ROLL_CALL_VOTES,\n payload: {\n ...transformRollCallVotesForUI(response),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(sortData),\n },\n }));\n };\n}\n\nexport function fetchAmendments(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_AMENDMENTS });\n const { sort, direction, page } = payload;\n\n const sortData = omitBy({ sort, direction, page }, isNil);\n const amendmentsData = transformAmendmentsForBE(payload);\n\n const ajax = $.post('/api_web/federal/bill_amendments/lookup', { ...amendmentsData, ...PER_PAGE });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_AMENDMENTS,\n payload: {\n ...transformAmendmentsForUI(response),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(sortData),\n },\n }));\n };\n}\n\nexport function fetchActiveVoices(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_ACTIVE_VOICES });\n const activeVoicesData = transformActiveVoicesForBE(payload);\n\n const ajax = $.post(\n '/api_web/royal_cosponsors_oracle/federal_legislation/ratings',\n { ...activeVoicesData, ...PER_PAGE },\n );\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_ACTIVE_VOICES,\n payload: { ...transformActiveVoicesForUI(response) },\n }));\n };\n}\n\nexport function fetchLobbyingInformation(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_LOBBYING_INFORMATION });\n const { id } = payload;\n const ajax = $.get(`${API_BASE}/${id}/lobby_contracts`);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_LOBBYING_INFORMATION,\n payload: transformLobbyingInformationForUI(response),\n }));\n };\n}\n\nexport function updateProfileMyFeed() {\n return (dispatch) => {\n dispatch(updateProfileShare(constants));\n };\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { getValue } from 'redux/moneyball/utils/transformers';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { fetchSearch, fetchReport } from 'redux/moneyball/utils';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformCommittees,\n transformSearchesForFE,\n transformOptionsForBE,\n transformOptionsSearchForBE,\n} from './utils';\nimport constants from './constants';\n\nexport function initAppliedSearchFilters(emptyState, { searchType }) {\n return handleAppliedFilters({ ...emptyState, ...(searchType && { searchType }) });\n}\n\nexport function loadCommitteeSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadCommitteeRecentSearches() {\n return (dispatch) => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveCommitteeAdvancedSearch(item = {}) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformOptionsSearchForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadCommitteeRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeCommitteeAdvancedSearch(id) {\n return onRemoveItem(id, loadCommitteeSavedSearches);\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map((item) => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/super_committees/export`;\n const data = JSON.stringify({\n super_committee_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'name',\n 'url',\n 'committee_type',\n 'party',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'total_amount_received',\n 'total_disbursements',\n 'source_type',\n 'source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function searchCommittees(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEES });\n\n return dispatch(\n fetchSearch({\n payload,\n url: `${gon.moneyballApiV2}/api/v1/super_committees/lookup`,\n actionType: constants.RECEIVE_COMMITTEES_DONE,\n transformResponsePayload: transformCommittees,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformOptionsSearchForBE,\n saveRecentAdvancedSearch: saveCommitteeAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return (dispatch) => dispatch(resetAppliedFilters());\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { getValue } from 'redux/moneyball/utils/transformers';\nimport Notifications from 'components/Moneyball/utils/Notifications';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { fetchSearch, fetchReport } from 'redux/moneyball/utils';\nimport { getCurrentUserName } from 'components/Moneyball/utils';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformIndividuals,\n transformSearchesForFE,\n transformOptionsSearchForBE,\n transformOptionsForBE,\n} from './utils';\nimport constants from './constants';\n\nexport function initAppliedSearchFilters(emptyState, { searchType }) {\n return handleAppliedFilters({ ...emptyState, ...(searchType && { searchType }) });\n}\n\nexport function loadIndividualSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadIndividualRecentSearches() {\n return (dispatch) => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveIndividualAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformOptionsSearchForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadIndividualRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeIndividualAdvancedSearch(id) {\n return onRemoveItem(id, loadIndividualSavedSearches);\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map((item) => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/super_individuals/export`;\n const data = JSON.stringify({\n super_individual_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'name',\n 'url',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'county',\n 'district',\n 'occupation',\n 'employer',\n 'total_amount_contributed',\n 'is_restricted',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function searchIndividuals(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUALS });\n\n return dispatch(\n fetchSearch({\n payload,\n url: `${gon.moneyballApiV2}/api/v1/super_individuals/lookup`,\n actionType: constants.RECEIVE_INDIVIDUALS_DONE,\n transformResponsePayload: transformIndividuals,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformOptionsSearchForBE,\n saveRecentAdvancedSearch: saveIndividualAdvancedSearch,\n }),\n );\n };\n}\n\nexport function checkClusterbuck({ items = [] }) {\n return (dispatch) => {\n dispatch({ type: constants.CHECK_CLUSTERBUCK_INIT });\n\n const onSuccess = ({ cluster_exists }) => {\n dispatch({\n type: constants.CHECK_CLUSTERBUCK_DONE,\n allow: !cluster_exists,\n });\n };\n\n const onFailure = (error) => {\n dispatch({\n type: constants.CHECK_CLUSTERBUCK_DONE,\n allow: false,\n });\n\n Notifications.defaultSubmitDataFailed();\n throw error;\n };\n\n const ajax = $.ajax({\n type: 'POST',\n contentType: REQUEST_CONTENT_TYPE,\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/cluster_exists`,\n data: JSON.stringify({ super_individual_ids: items }),\n });\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function sendToClusterbuck({\n items = [],\n toggleClusterbuckModal,\n}) {\n return (dispatch) => {\n dispatch({ type: constants.SUBMIT_TO_CLUSTERBUCK_INIT });\n\n const onSuccess = () => {\n dispatch({ type: constants.SUBMIT_TO_CLUSTERBUCK_DONE, allow: false });\n toggleClusterbuckModal();\n };\n\n const onFailure = (error) => {\n dispatch({ type: constants.SUBMIT_TO_CLUSTERBUCK_DONE, allow: true });\n Notifications.defaultSubmitDataFailed();\n throw error;\n };\n\n const ajax = $.ajax({\n type: 'POST',\n contentType: REQUEST_CONTENT_TYPE,\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/send`,\n data: JSON.stringify({ super_individual_ids: items, reviewer_name: getCurrentUserName() }),\n });\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function reset() {\n return (dispatch) => dispatch(resetAppliedFilters());\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'redux/moneyball/utils/transformers';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { fetchSearch, fetchReport } from 'redux/moneyball/utils';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformCorporations,\n transformSearchesForFE,\n transformOptionsSearchForBE,\n transformOptionsForBE,\n} from './utils';\nimport constants from './constants';\n\nexport function initAppliedSearchFilters(emptyState, { searchType }) {\n return handleAppliedFilters({ ...emptyState, ...(searchType && { searchType }) });\n}\n\nexport function loadCorporationSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadCorporationRecentSearches() {\n return (dispatch) => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveCorporationAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformOptionsSearchForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadCorporationRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeCorporationAdvancedSearch(id) {\n return onRemoveItem(id, loadCorporationSavedSearches);\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map((item) => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/super_corporations/export`;\n const data = JSON.stringify({\n super_corporation_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'name',\n 'url',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'total_amount_contributed',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function searchCorporations(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CORPORATIONS });\n\n return dispatch(\n fetchSearch({\n payload,\n url: `${gon.moneyballApiV2}/api/v1/super_corporations/lookup`,\n actionType: constants.RECEIVE_CORPORATIONS_DONE,\n transformResponsePayload: transformCorporations,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformOptionsSearchForBE,\n saveRecentAdvancedSearch: saveCorporationAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return (dispatch) => dispatch(resetAppliedFilters());\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { fetchReport, fetchSearch, fetchSearchReceipt } from 'redux/moneyball/utils';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport { transformReceiptDisbursements } from '../../utils/transformers';\nimport constants from './constants';\nimport {\n transformDisbursements,\n transformOptionsForBE,\n transformSearchesForBE,\n transformSearchesForFE,\n} from './utils';\n\nexport function initAppliedSearchFilters(emptyState, { searchType }) {\n return handleAppliedFilters({ ...emptyState, ...(searchType && { searchType }) });\n}\n\nexport function loadDisbursementsSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadDisbursementsRecentSearches() {\n return (dispatch) => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveDisbursementsAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformSearchesForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadDisbursementsRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeDisbursementsAdvancedSearch(id) {\n return onRemoveItem(id, loadDisbursementsSavedSearches);\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map((item) => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/disbursements/export`;\n const data = JSON.stringify({\n disbursement_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'spender_name',\n 'spender_url',\n 'amount',\n 'disbursement_date',\n 'disbursement_description',\n 'conduit_committee_name',\n 'recipient_name',\n 'recipient_url',\n 'recipient_type',\n 'party',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'county',\n 'district',\n 'occupation',\n 'employer',\n 'source_type',\n 'filing_url',\n 'spender_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function searchDisbursementsReceipt({ id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DISBURSEMENTS_RECEIPT });\n\n return dispatch(\n fetchSearchReceipt({\n url: `${gon.moneyballApiV2}/api/v1/disbursements/${id}`,\n transformResponse: transformReceiptDisbursements,\n actionType: constants.RECEIVE_DISBURSEMENTS_RECEIPT_DONE,\n }),\n );\n };\n}\n\nexport function searchDisbursements(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DISBURSEMENTS });\n\n return dispatch(\n fetchSearch({\n payload,\n url: `${gon.moneyballApiV2}/api/v1/disbursements/lookup`,\n actionType: constants.RECEIVE_DISBURSEMENTS_DONE,\n transformResponsePayload: transformDisbursements,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformSearchesForBE,\n saveRecentAdvancedSearch: saveDisbursementsAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return (dispatch) => dispatch(resetAppliedFilters());\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { fetchSearch, fetchReport } from 'redux/moneyball/utils';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\nimport { getValue } from 'utils/transformers/advancedSearch';\n\nimport { constants } from './constants';\nimport {\n transformCandidates,\n transformOptionsForBE,\n transformSearchesForBE,\n transformSearchesForFE,\n} from './utils';\n\nexport function initAppliedSearchFilters(emptyState, { searchType }) {\n return handleAppliedFilters({ ...emptyState, ...(searchType && { searchType }) });\n}\n\nexport function loadCandidatesSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadCandidatesRecentSearches() {\n return (dispatch) => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveCandidatesAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformSearchesForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadCandidatesRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeCandidatesAdvancedSearch(id) {\n return onRemoveItem(id, loadCandidatesSavedSearches);\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, customData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveCandidatesAdvancedSearch(searchData, customData, false));\n }\n\n return null;\n };\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map((item) => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/super_candidates/export`;\n const data = JSON.stringify({\n super_candidate_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'name',\n 'url',\n 'office_sought',\n 'party',\n 'state_code',\n 'district',\n 'total_amount_received',\n 'source_type',\n 'source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function searchCandidates(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CANDIDATES });\n\n return dispatch(\n fetchSearch({\n payload,\n url: `${gon.moneyballApiV2}/api/v1/super_candidates/lookup`,\n actionType: constants.RECEIVE_CANDIDATES_DONE,\n transformResponsePayload: transformCandidates,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformSearchesForBE,\n saveRecentAdvancedSearch: saveCandidatesAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return (dispatch) => dispatch(resetAppliedFilters());\n}\n","import { isEmpty } from 'lodash';\n\nimport { onSaveRecentItem } from 'redux/advancedSearch/actions';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\nimport {\n fetchLookupTags,\n bulkSaveLookupTags,\n saveTags,\n} from 'redux/tags/actions';\n\nimport { handleUpdateAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { bulkShareLookupToMyFeed } from 'redux/subscriptions/actions';\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport notifications from 'components/SocialMedia/utils/notifications';\nimport { transformPaginator } from 'utils/transformers/paginator';\n\nimport { fetchPosts, fetchReplies } from './utils/api';\nimport {\n transformPost,\n transformPosts,\n transformOptionsForBE,\n} from './utils/transformers';\nimport constants from './constants';\n\nexport { setLastSearchId } from 'redux/advancedSearch/actions';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n\nexport function bulkSaveTags(payload) {\n return dispatch => dispatch(bulkSaveLookupTags(payload, constants));\n}\n\nexport function bulkShareToMyFeed(payload) {\n return dispatch => dispatch(bulkShareLookupToMyFeed({\n ...payload,\n documentType: DOCUMENT_TYPES.SOCIAL_MEDIA_POST,\n }, constants));\n}\n\nexport function onSaveTags(props) {\n return dispatch => dispatch(saveTags(props, constants));\n}\n\nexport function fetchData({ searchData, isInfinite }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_POSTS, isInfinite });\n dispatch(handleUpdateAppliedFilters(searchData));\n\n function onSuccess(response) {\n const { posts } = response || {};\n\n function onFetchRepliesSuccess(payload) {\n return dispatch({\n type: constants.RECEIVE_POSTS_DONE,\n payload,\n paginator: transformPaginator(response),\n isInfinite,\n });\n }\n\n return fetchReplies(transformPosts(posts))\n .then(onFetchRepliesSuccess);\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_POSTS_FAILURE });\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return fetchPosts(searchData)\n .then(onSuccess)\n .then(payloadData => dispatch(fetchTags(payloadData, DOCUMENT_TYPES.SOCIAL_MEDIA_POST)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .catch(onFailure);\n };\n}\n\nexport function fetchSinglePost(token) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_POSTS });\n\n const url = `/api_web/social_media/posts/${token}`;\n const documentType = DOCUMENT_TYPES.SOCIAL_MEDIA_POST;\n const ajax = $.get(url);\n\n function onSuccess(response) {\n function onFetchRepliesSuccess(payload) {\n return dispatch({\n type: constants.RECEIVE_POSTS_DONE,\n payload,\n });\n }\n\n return fetchReplies([transformPost(response)])\n .then(onFetchRepliesSuccess);\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_POSTS_FAILURE });\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(payloadData => dispatch(fetchTags(payloadData, documentType)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .catch(onFailure);\n };\n}\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const data = transformOptionsForBE(payload);\n\n if (isEmpty(data)) {\n return null;\n }\n\n const advancedSearchData = {\n advanced_search: {\n strategy_slug: 'social_media_posts',\n search_params: data,\n saved: false,\n },\n };\n\n return dispatch(onSaveRecentItem(advancedSearchData));\n };\n}\n","import { fetchDefaultSubscription, fetchProfileSubscriptions } from 'redux/subscriptions/actions';\nimport { fetchProfileDocument, updateProfileShare } from 'redux/events/actions';\nimport { fetchProfileTags } from 'redux/tags/actions';\nimport isNotFoundError from 'utils/http/isNotFoundError';\n\nimport { transformProfileForUI } from './utils';\nimport constants from './constants';\n\nexport function resetLegislatorData() {\n return dispatch => dispatch({ type: constants.RESET_LEGISLATOR_DATA });\n}\n\nexport function fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n\nexport function onUpdateTrackings({ trackings }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: trackings,\n });\n}\n\nexport function fetchSubscriptions(payload) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchProfileSubscriptions({ payload }, constants));\n };\n}\n\nexport function fetchLegislatorProfile(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_LEGISLATOR });\n const { id, isKwProfile } = payload;\n\n const legislatorsPath = isKwProfile ? `kw/${id}` : id;\n const url = `/api_web/state/legislators/${legislatorsPath}`;\n const ajax = $.get(url);\n\n const onSuccess = (response) => {\n const profile = transformProfileForUI(response);\n\n dispatch({\n type: constants.RECEIVE_LEGISLATOR_DONE,\n payload: profile,\n });\n\n return { ...payload, id: profile.recordId };\n };\n\n const onFailure = (error) => {\n isNotFoundError(error) && dispatch({ type: constants.PROFILE_NOT_FOUND });\n\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(async (profileData) => {\n await dispatch(fetchTags(profileData));\n await dispatch(fetchProfileDocument(profileData, constants));\n await dispatch(fetchSubscriptions(profileData));\n })\n .catch(onFailure);\n };\n}\n\nexport function updateProfileMyFeed() {\n return (dispatch) => {\n dispatch(updateProfileShare(constants));\n };\n}\n","import { isNil, omitBy } from 'lodash';\n\nimport { PAGE_SIZE } from 'components/core/Profile/utils/constants';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { fetchProfileTags } from 'redux/tags/actions';\nimport { fetchDefaultSubscription, fetchProfileSubscriptions } from 'redux/subscriptions/actions';\nimport { fetchProfileDocument, updateProfileShare } from 'redux/events/actions';\nimport isNotFoundError from 'utils/http/isNotFoundError';\n\nimport {\n transformKeyDetails,\n transformRollCallVotesForUI,\n transformActiveVoicesForBE,\n transformActiveVoicesForUI,\n transformSponsorsAndCosponsorsForUI,\n transformTextVersionsForUI,\n transformAmendmentsForBE,\n transformAmendmentsForUI,\n transformTimeline,\n} from './utils';\nimport constants from './constants';\n\nexport const PER_PAGE = { per_page: PAGE_SIZE };\n\nexport function fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n\nexport function fetchSubscriptions(payload) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchProfileSubscriptions({ payload }, constants));\n };\n}\n\nexport function onUpdateTrackings({ trackings }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: trackings,\n });\n}\n\nexport function fetchProfile(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_PROFILE });\n\n const { id } = payload;\n const url = `/api_web/state/bills/${id}`;\n const ajax = $.get(url);\n\n const onSuccess = response => dispatch({\n type: constants.RECEIVE_PROFILE_DONE,\n payload: transformKeyDetails(response),\n });\n\n const onFailure = (error) => {\n isNotFoundError(error)\n ? dispatch({ type: constants.PROFILE_NOT_FOUND })\n : dispatch({ type: constants.FETCH_PROFILE_ERROR });\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(() => {\n dispatch(fetchTags(payload));\n dispatch(fetchSubscriptions(payload));\n dispatch(fetchProfileDocument(payload, constants));\n })\n .catch(onFailure);\n };\n}\n\nexport function fetchTimeline(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILL_TIMELINE });\n\n const { id } = payload;\n const url = `/api_web/state/bills/${id}/actions`;\n const ajax = $.get(url);\n\n const onFailure = (error) => {\n dispatch({ type: constants.FETCH_TIMELINE_ERROR });\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_BILL_TIMELINE_DONE,\n payload: transformTimeline(response),\n })).catch(onFailure);\n };\n}\n\nexport function fetchBillsComparison(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILLS_COMPARISON });\n\n const { id } = payload;\n const url = `/api_web/state/bills/${id}/text_versions`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_BILLS_COMPARISON_DONE,\n payload: transformTextVersionsForUI(response),\n }));\n };\n}\n\nexport function fetchRollCallVotes(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_ROLL_CALL_VOTES });\n\n const { sort, direction, page } = payload;\n const sortData = omitBy({ sort, direction, page, ...PER_PAGE }, isNil);\n\n const { id: billId } = payload;\n const url = '/api_web/state/roll_calls/lookup';\n\n const data = {\n search_form: {\n bill_id: billId,\n },\n ...sortData,\n };\n\n const ajax = $.post(url, data);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_ROLL_CALL_VOTES,\n payload: {\n ...transformRollCallVotesForUI(response),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(sortData),\n },\n }));\n };\n}\n\nexport function fetchActiveVoices(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_ACTIVE_VOICES });\n\n const { page = 1, perPage = PAGE_SIZE } = payload;\n const sortData = { page, per_page: perPage };\n\n const data = {\n ...transformActiveVoicesForBE(payload),\n ...sortData,\n };\n\n const url = '/api_web/royal_cosponsors_oracle/state_legislation/ratings';\n\n const ajax = $.post(url, data);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_ACTIVE_VOICES,\n payload: {\n ...transformActiveVoicesForUI(response),\n paginator: transformPaginator(response, perPage),\n },\n }));\n };\n}\n\nexport function fetchSponsorsAndCosponsors(payload = {}) {\n return (dispatch) => {\n const { page = 1, perPage = PAGE_SIZE } = payload;\n const sortData = { page, per_page: perPage };\n\n const { id: billId } = payload;\n const url = `/api_web/state/bills/${billId}/sponsors`;\n\n const data = {\n ...sortData,\n };\n\n const onFailure = (error) => {\n dispatch({ type: constants.FETCH_SPONSORS_ERROR });\n throw error;\n };\n\n const ajax = $.get(url, data);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_SPONSORS_AND_COSPONSORS,\n payload: {\n ...transformSponsorsAndCosponsorsForUI(response),\n paginator: transformPaginator(response, perPage),\n },\n })).catch(onFailure);\n };\n}\n\nexport function updateProfileMyFeed() {\n return (dispatch) => {\n dispatch(updateProfileShare(constants));\n };\n}\n\nexport function fetchAmendments(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_AMENDMENTS });\n const { sort, direction, page } = payload;\n\n const sortData = omitBy({ sort, direction, page }, isNil);\n const amendmentsData = transformAmendmentsForBE(payload);\n\n const ajax = $.post('/api_web/state/bill_amendments/lookup', { ...amendmentsData, ...PER_PAGE });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_AMENDMENTS,\n payload: {\n ...transformAmendmentsForUI(response),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(sortData),\n },\n }));\n };\n}\n","import appliedFiltersConstants from 'redux/appliedSearchFilters/constants';\n\nimport constants from '../../constants';\n\nconst resetDocuments = () => (dispatch) => {\n dispatch({ type: appliedFiltersConstants.RESET_APPLIED_FILTERS });\n\n return dispatch({ type: constants.RESET_DOCUMENTS });\n};\n\nexport default resetDocuments;\n","import { bulkSaveLookupTags, fetchLookupTags } from 'redux/tags/actions';\nimport constants from 'redux/local/lookup/constants';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n\nexport function bulkSaveTags(payload) {\n return dispatch => dispatch(bulkSaveLookupTags(payload, constants));\n}\n","import { isEmpty, isNil, omitBy } from 'lodash';\n\nimport { PER_PAGE } from 'components/Local/Lookup/utils/constants';\nimport { API_URL } from 'redux/local/lookup/constants';\nimport { transformOptionsForBE } from 'redux/local/lookup/actions/utils';\n\nfunction getDocumentsData(payload) {\n const { searchData = {}, appliedFilters, clearAll, sort, direction, page } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const sortData = omitBy({ sort, direction, page }, isNil);\n const data = { ...searchForm, ...sortData, per_page: PER_PAGE };\n\n return {\n url: API_URL,\n data,\n sortData,\n isSearch,\n };\n}\n\nexport default getDocumentsData;\n","import { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { transformDocumentsForUI } from 'redux/local/lookup/actions/utils';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\n\nimport constants from '../../constants';\nimport { fetchTags } from '../tags';\nimport getDocumentsData from './getDocumentsData';\n\nconst fetchDocuments = (payload = {}) => (dispatch) => {\n dispatch({ type: constants.FETCH_DOCUMENTS });\n\n const { searchData = {}, clearAll, toResetSelectedItems, documentType } = payload;\n const { isSearch, url, data, sortData } = getDocumentsData(payload);\n\n const ajax = $.post(url, data);\n\n function handleSuccess(response) {\n const currentPayload = response && response.data || [];\n const paginator = transformPaginator(response);\n const { current } = paginator;\n\n return dispatch({\n type: constants.RECEIVE_DOCUMENTS_DONE,\n payload: transformDocumentsForUI(currentPayload, current),\n paginator,\n toResetSelectedItems: isSearch || toResetSelectedItems,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n if (clearAll) {\n return dispatch(resetAppliedFilters());\n }\n\n return dispatch(handleAppliedFilters(searchData));\n }\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(handleSuccess)\n .then(payloadData => dispatch(fetchTags(payloadData, documentType)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .then(saveAppliedFiltersToProps)\n .catch(onFailure);\n};\n\nexport default fetchDocuments;\n","import constants from 'redux/local/lookup/constants';\n\nexport { default as resetDocuments } from './resetDocuments';\nexport { default as fetchDocuments } from './fetchDocuments';\nexport { default as getDocumentsData } from './getDocumentsData';\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import { isEmpty, omitBy } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID } from 'utils/constants/export';\nimport { submitExportReport } from 'redux/exportReport/actions';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nimport { STRATEGY_SLUG_EXPORT } from '../constants';\nimport { getExportInfo } from './utils';\n\nexport function submitExport(payload = {}) {\n const { items, searchData, dataProps } = payload;\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: STRATEGY_SLUG_EXPORT,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': CSV_ID,\n ...omitBy(getExportInfo(searchForm, dataProps), isEmpty),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `Local Export ${moment().format(GLOBAL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({ data, onSuccessCustom });\n}\n","import isEqual from 'lodash/isEqual';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\nimport emptyState from 'components/Local/Lookup/components/AdvancedOptions/utils/emptyState';\n\nimport { STRATEGY_SLUG } from '../constants';\nimport {\n transformSearchesForUI,\n transformSearchesForBE,\n} from './utils';\n\n/** Advanced search actions */\nexport function loadLocalRecentSearches(params, localData) {\n const recentSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, localData)\n ));\n}\n\nexport function loadLocalSavedSearches(params, localData) {\n const savedSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, localData),\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, localData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: STRATEGY_SLUG,\n search_params: transformSearchesForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadLocalRecentSearches(params, localData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadLocalRecentSearches(params, localData),\n );\n}\n\nexport function removeAdvancedSearchItem(id, localData = {}) {\n return onRemoveItem(\n id,\n params => loadLocalSavedSearches(params, localData)\n );\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, localData = {}, isClickedItem = false } = payload;\n const { searchValue, options } = searchData;\n const { searchValue: emptySearch, options: emptyOptions } = emptyState;\n const isSearchEmpty = isEqual(searchValue, emptySearch) && isEqual(options, emptyOptions);\n\n if (!isClickedItem && !isSearchEmpty) {\n return dispatch(saveAdvancedSearchItem(searchData, localData, false));\n }\n\n return null;\n };\n}\n","import { bulkShareLookupToMyFeed } from 'redux/subscriptions/actions';\n\nimport constants from '../constants';\n\nexport function bulkShareToMyFeed(payload) {\n return dispatch => dispatch(bulkShareLookupToMyFeed(payload, constants));\n}\n","import { setAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { fetchDocuments } from 'redux/local/lookup/actions/data';\n\nexport function handleViewAllClick({ city, state }) {\n return (dispatch, getState) => {\n const { appliedFilters } = getState().local.lookup.appliedFilters;\n\n const value = JSON.stringify({ city, state });\n const label = `${city}, ${state.toUpperCase()}`;\n\n const filters = {\n ...appliedFilters,\n options: {\n ...appliedFilters.options,\n locales: [{ value, label }],\n },\n };\n\n dispatch(setAppliedFilters(filters));\n\n return dispatch(fetchDocuments({ appliedFilters: filters }));\n };\n}\n","export { fetchDocuments, resetDocuments, updateDataItem } from './data';\nexport * from './export';\nexport {\n loadLocalRecentSearches,\n loadLocalSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\nexport { bulkShareToMyFeed } from './subscriptions';\nexport * from './popup';\nexport * from './tags';\n","import filterConstants from 'redux/appliedSearchFilters/constants';\n\nimport constants from '../../constants';\n\nconst resetRegulations = () => (dispatch) => {\n dispatch({ type: filterConstants.RESET_APPLIED_FILTERS });\n\n return dispatch({ type: constants.RESET_REGULATIONS });\n};\n\nexport default resetRegulations;\n","import { groupBy, size, map, flatMap } from 'lodash';\n\nimport {\n fetchLookupSubscriptions,\n bulkTrackLookupItems,\n fetchDefaultSubscription,\n} from 'redux/subscriptions/actions';\nimport notifications from 'components/Dashboard/utils/notifications';\nimport { notifySharedToMyFeedMultiple } from 'components/Dashboard/common/UserNotifications';\nimport { transformSharedDocuments } from 'redux/subscriptions/utils/transformers';\nimport {\n bulkShareToMyFeed as bulkShareToMyFeedApi,\n} from 'redux/dashboardV2/common/subscriptions/api';\n\nimport constants from '../constants';\n\nexport function fetchSubscriptions(payload = {}) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchLookupSubscriptions(payload, null, constants));\n };\n}\n\nexport function bulkTrackItems(payload) {\n return dispatch => dispatch(bulkTrackLookupItems(payload, constants));\n}\n\nexport function bulkShareToMyFeed(selectedItems) {\n return (dispatch) => {\n dispatch({ type: constants.BULK_SHARE_TO_MY_FEED });\n\n const selectedGroups = groupBy(selectedItems, 'documentType');\n const documentTypes = Object.keys(selectedGroups);\n const requests = map(selectedGroups, (groupedItems, groupType) => {\n const data = {\n record_type: groupType,\n record_ids: map(groupedItems, 'id'),\n };\n\n return bulkShareToMyFeedApi(data);\n });\n\n function onSuccess(responses) {\n const sharedItems = flatMap(map(responses, (response, index) => (\n transformSharedDocuments(response, documentTypes[index]))));\n\n dispatch({\n type: constants.BULK_SHARE_TO_MY_FEED_DONE,\n payload: sharedItems,\n });\n\n notifySharedToMyFeedMultiple(size(sharedItems));\n }\n\n function onFailure(error) {\n dispatch({ type: constants.BULK_SHARE_TO_MY_FEED_FAILURE });\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return Promise.all(requests)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import { fetchLookupPositions } from 'redux/positions/actions';\n\nimport constants from '../constants';\n\nexport function fetchPositions(payloadData, documentType) {\n return dispatch => dispatch(fetchLookupPositions(payloadData, documentType, constants));\n}\n","import { fetchLookupTags, bulkSaveLookupTags } from 'redux/tags/actions';\n\nimport constants from '../constants';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n\nexport function bulkSaveTags(payload) {\n return dispatch => dispatch(bulkSaveLookupTags(payload, constants));\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\n\nimport constants from '../../constants';\nimport { transformRegulationForUI } from '../utils';\nimport { fetchSubscriptions } from '../subscriptions';\nimport { fetchPositions } from '../positions';\nimport { fetchTags } from '../tags';\nimport getRegulationsData from './getRegulationsData';\n\nconst fetchRegulations = (payload = {}) => (dispatch) => {\n dispatch({ type: constants.FETCH_REGULATIONS });\n\n const { searchData = {}, clearAll, toResetSelectedItems, documentType } = payload;\n const { isSearch, url, data, sortData } = getRegulationsData(payload);\n\n const ajax = $.post(url, data);\n\n function handleSuccess(response) {\n const currentPayload = (isEmpty(response) || isEmpty(response.data)) ? [] : response.data;\n const paginator = transformPaginator(response);\n const { current } = paginator;\n\n return dispatch({\n type: constants.RECEIVE_REGULATIONS,\n payload: transformRegulationForUI(currentPayload, current),\n paginator,\n toResetSelectedItems: isSearch || toResetSelectedItems,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n if (clearAll) {\n return dispatch(resetAppliedFilters());\n }\n\n return dispatch(handleAppliedFilters(searchData));\n }\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(handleSuccess)\n .then(payloadData => dispatch(fetchTags(payloadData)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .then(payloadData => dispatch(fetchPositions(payloadData, documentType)))\n .then(payloadData => dispatch(fetchSubscriptions(payloadData)))\n .then(saveAppliedFiltersToProps)\n .catch(onFailure);\n};\n\nexport default fetchRegulations;\n","import constants from '../../constants';\n\nexport { default as resetRegulations } from './resetRegulations';\nexport { default as fetchRegulations } from './fetchRegulations';\nexport { default as getRegulationsData } from './getRegulationsData';\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import { isEmpty, pickBy, identity } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID } from 'utils/constants/export';\nimport { submitExportReport } from 'redux/exportReport/actions';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nimport { STRATEGY_SLUG_BULK_EXPORT } from '../constants';\nimport { getExportInfo, getExportSortInfo } from './utils';\n\nexport function submitExport(payload = {}) {\n const { searchData, sort } = payload;\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: STRATEGY_SLUG_BULK_EXPORT,\n 'strategy_inputs[file_extension]': CSV_ID,\n ...pickBy(getExportInfo(searchForm), identity),\n ...pickBy(getExportSortInfo(sort), identity),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `State regulations ${moment().format(GLOBAL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({ data, onSuccessCustom });\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport { STRATEGY_SLUG } from '../constants';\n\nimport { transformOptionsForBE, transformSearchesForBE, transformSearchesForUI } from './utils';\n\n/** Advanced search actions */\nexport function loadRegulationsRecentSearches(params, regulationsData) {\n const recentSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, regulationsData)),\n );\n}\n\nexport function loadRegulationsSavedSearches(params, regulationsData) {\n const savedSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, regulationsData),\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, regulationsData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: STRATEGY_SLUG,\n search_params: transformSearchesForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadRegulationsRecentSearches(params, regulationsData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadRegulationsRecentSearches(params, regulationsData),\n );\n}\n\nexport function removeAdvancedSearchItem(id, regulationsData = {}) {\n return onRemoveItem(\n id,\n params => loadRegulationsSavedSearches(params, regulationsData)\n );\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, regulationsData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, regulationsData, false));\n }\n\n return null;\n };\n}\n","export { fetchRegulations, resetRegulations, updateDataItem } from './data';\nexport * from './export';\nexport {\n loadRegulationsRecentSearches,\n loadRegulationsSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\nexport * from './subscriptions';\nexport { fetchTags, bulkSaveTags } from './tags';\n","import constants from '../../constants';\n\nconst resetCommittees = () => dispatch => (\n dispatch({ type: constants.RESET_COMMITTEES })\n);\n\nexport default resetCommittees;\n","import { map, partial } from 'lodash';\n\nimport { responseTrackingTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getCommitteeAction } from 'redux/dashboardV2/feedPage/actions/trackCommittee';\nimport { transformFetchRecordIdsForBE } from 'redux/tags/utils';\nimport {\n fetchLookupCommitteeSubscriptions,\n updateCommitteeSubscriptions,\n bulkShareLookupToMyFeed,\n bulkTrackLookupItems,\n} from 'redux/subscriptions/actions';\nimport { getMyFeedToken } from 'components/Dashboard/utils';\n\nimport constants from '../constants';\n\nexport function fetchSubscriptions({ payload: payloadData }, defaultDocumentType) {\n return (dispatch) => {\n const data = transformFetchRecordIdsForBE([\n ...map(payloadData, ({ id }) => ({\n documentType: responseTrackingTypes.STATE_COMMITTEE_HEARING,\n id,\n })),\n ...map(payloadData, ({ id }) => ({\n documentType: responseTrackingTypes.STATE_COMMITTEE_STAFFER,\n id,\n })),\n ]);\n\n return dispatch(fetchLookupCommitteeSubscriptions({\n data,\n defaultDocumentType,\n actionTypes: constants,\n feedToken: getMyFeedToken(),\n }));\n };\n}\n\nexport function updateSubscriptions(payload) {\n return dispatch => dispatch(\n updateCommitteeSubscriptions({\n action: partial(getCommitteeAction, partial.placeholder, false),\n actionTypes: constants,\n payload,\n })\n );\n}\n\nexport function bulkTrackItems(payload) {\n return dispatch => dispatch(\n bulkTrackLookupItems(\n payload,\n constants,\n fetchSubscriptions,\n )\n );\n}\n\nexport function bulkShareToMyFeed(payload) {\n return dispatch => dispatch(bulkShareLookupToMyFeed(payload, constants));\n}\n","import { fetchLookupTags, bulkSaveLookupTags } from 'redux/tags/actions';\n\nimport constants from '../constants';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n\nexport function bulkSaveTags(payload) {\n return dispatch => dispatch(bulkSaveLookupTags(payload, constants));\n}\n","import { isEmpty, isNil, omitBy } from 'lodash';\n\nimport { transformOptionsForBE } from '../utils';\n\nimport { API_URL } from '../../constants';\n\nfunction getCommitteesData(payload) {\n const { searchData = {}, appliedFilters, clearAll, sort, direction, page } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const sortData = omitBy({ sort, direction, page }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return {\n url: API_URL,\n data,\n sortData,\n isSearch,\n };\n}\n\nexport default getCommitteesData;\n","import { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\n\nimport constants from '../../constants';\nimport { fetchSubscriptions } from '../subscriptions';\nimport { transformCommitteesForUI } from '../utils';\nimport { fetchTags } from '../tags';\nimport getCommitteesData from './getCommitteesData';\n\nconst fetchCommittees = (payload = {}) => (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEES });\n\n const { searchData = {}, clearAll, documentType } = payload;\n const { isSearch, url, data, sortData } = getCommitteesData(payload);\n\n const ajax = $.post(url, data);\n\n const handleSuccess = (response) => {\n const currentPayload = response && response.data || [];\n\n return dispatch({\n type: constants.RECEIVE_COMMITTEES,\n payload: transformCommitteesForUI(currentPayload),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch,\n sort: transformSort(sortData),\n });\n };\n\n const saveAppliedFiltersToProps = () => {\n if (clearAll) {\n return dispatch(resetAppliedFilters());\n }\n\n return dispatch(handleAppliedFilters(searchData));\n };\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(handleSuccess)\n .then(payloadData => dispatch(fetchTags(payloadData, documentType)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .then(payloadData => dispatch(fetchSubscriptions(payloadData, documentType)))\n .then(saveAppliedFiltersToProps)\n .catch(onFailure);\n};\n\nexport default fetchCommittees;\n","import constants from '../../constants';\n\nexport { default as resetCommittees } from './resetCommittees';\nexport { default as fetchCommittees } from './fetchCommittees';\nexport { default as getCommitteesData } from './getCommitteesData';\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import { isEmpty, omitBy } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID } from 'utils/constants/export';\nimport { submitExportReport } from 'redux/exportReport/actions';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\n\nimport { getExportInfo } from './utils';\nimport { STRATEGY_SLUG_FOR_EXPORT } from '../constants';\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption } = payload;\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm), isEmpty),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `State Committees ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({ ...payload, data, onSuccessCustom });\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport { STRATEGY_SLUG } from '../constants';\n\nimport { transformOptionsForBE, transformSearchesForBE, transformSearchesForUI } from './utils';\n\n/** Advanced search actions */\nexport function loadCommitteesRecentSearches(params, legislatorData) {\n const recentSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, legislatorData)),\n );\n}\n\nexport function loadCommitteesSavedSearches(params, legislatorData) {\n const savedSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, legislatorData),\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, legislatorData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: STRATEGY_SLUG,\n search_params: transformSearchesForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadCommitteesRecentSearches(params, legislatorData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadCommitteesRecentSearches(params, legislatorData),\n );\n}\n\nexport function removeAdvancedSearchItem(id, legislatorData = {}) {\n return onRemoveItem(\n id,\n params => loadCommitteesSavedSearches(params, legislatorData)\n );\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, legislatorData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, legislatorData, false));\n }\n\n return null;\n };\n}\n","export { fetchCommittees, resetCommittees, updateDataItem } from './data';\nexport { fetchTags, bulkSaveTags } from './tags';\nexport { submitExport } from './export';\nexport {\n updateSubscriptions,\n bulkShareToMyFeed,\n bulkTrackItems,\n} from './subscriptions';\nexport {\n loadCommitteesRecentSearches,\n loadCommitteesSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\n","import {\n fetchLookupSubscriptions,\n bulkTrackLookupItems,\n fetchDefaultSubscription,\n bulkShareLookupToMyFeed,\n} from 'redux/subscriptions/actions';\n\nimport constants from '../constants';\n\nexport function fetchSubscriptions(payload = {}, documentType) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchLookupSubscriptions(payload, documentType, constants));\n };\n}\n\nexport function bulkTrackItems(payload) {\n return dispatch => dispatch(bulkTrackLookupItems(payload, constants));\n}\n\nexport function bulkShareToMyFeed(payload) {\n return dispatch => dispatch(bulkShareLookupToMyFeed(payload, constants));\n}\n","import { fetchLookupTags, bulkSaveLookupTags } from 'redux/tags/actions';\n\nimport constants from '../constants';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n\nexport function bulkSaveTags(payload) {\n return dispatch => dispatch(bulkSaveLookupTags(payload, constants));\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { getLookupRequestParams } from 'utils/lookup';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\n\nimport constants from '../constants';\nimport { transformBillsForUI, transformOptionsForBE } from '../utils';\nimport { fetchSubscriptions } from './subscriptions';\nimport { fetchPositions } from './positions';\nimport { fetchTags } from './tags';\n\nexport function fetchBills(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILLS });\n const url = '/api_web/federal/bills/lookup';\n\n const { searchData = {}, clearAll, toResetSelectedItems, documentType } = payload;\n const dataPayload = { url, ...payload };\n const { isSearch, data, sortData } = getLookupRequestParams(dataPayload, transformOptionsForBE);\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n const currentPayload = (isEmpty(response) || isEmpty(response.data)) ? [] : response.data;\n\n return dispatch({\n type: constants.RECEIVE_BILLS_DONE,\n payload: transformBillsForUI(currentPayload),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch || toResetSelectedItems,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(payloadData => dispatch(fetchTags(payloadData, documentType)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .then(payloadData => dispatch(fetchPositions(payloadData, documentType)))\n .then(payloadData => dispatch(fetchSubscriptions(payloadData, documentType)))\n .then(saveAppliedFiltersToProps)\n .catch(onFailure);\n };\n}\n\nexport function resetBills() {\n return dispatch => dispatch({ type: constants.RESET_BILLS });\n}\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import { fetchLookupPositions } from 'redux/positions/actions';\n\nimport constants from '../constants';\n\nexport function fetchPositions(payloadData, documentType) {\n return dispatch => dispatch(fetchLookupPositions(payloadData, documentType, constants));\n}\n","import { getLookupRequestParams } from 'utils/lookup';\n\nimport { transformGraphForUI, transformOptionsForBE } from '../utils';\nimport constants from '../constants';\n\nexport function fetchBillsGraphs(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILLS_GRAPH });\n\n const url = '/api_web/federal/bills/aggregations';\n const dataPayload = { url, ...payload };\n const { data } = getLookupRequestParams(dataPayload, transformOptionsForBE);\n const ajax = $.post(url, data);\n\n return Promise.resolve(ajax).then(response =>\n dispatch({\n type: constants.RECEIVE_BILLS_GRAPH_DONE,\n payload: transformGraphForUI(response),\n }));\n };\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport { transformOptionsForBE, transformSearchesForBE, transformSearchesForUI } from '../utils';\nimport constants from '../constants';\n\n/** Advanced search actions */\nexport function loadBillsRecentSearches(params, billData) {\n const recentSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, billData)),\n );\n}\n\nexport function loadBillsSavedSearches(params, billData) {\n const savedSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, billData),\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, billData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: transformSearchesForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadBillsRecentSearches(params, billData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadBillsRecentSearches(params, billData),\n );\n}\n\nexport function removeAdvancedSearchItem(id, billData = {}) {\n return onRemoveItem(\n id,\n params => loadBillsSavedSearches(params, billData));\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, billData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, billData, false));\n }\n\n return null;\n };\n}\n","import { isEmpty, omitBy } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID } from 'utils/constants/export';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\nimport { submitExportReport } from 'redux/exportReport/actions';\n\nimport { getExportInfo } from '../utils';\nimport constants from '../constants';\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption, dataProps } = payload;\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: constants.STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm, dataProps), isEmpty),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `Federal Bills ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({\n ...payload,\n data,\n onSuccessCustom,\n });\n}\n","export { fetchBills, resetBills, updateDataItem } from './data';\nexport { fetchBillsGraphs } from './graphs';\nexport {\n loadBillsRecentSearches,\n loadBillsSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\nexport { submitExport } from './export';\nexport { fetchTags, bulkSaveTags } from './tags';\nexport { bulkTrackItems, bulkShareToMyFeed } from './subscriptions';\n","import {\n fetchLookupSubscriptions,\n bulkTrackLookupItems,\n fetchDefaultSubscription,\n bulkShareLookupToMyFeed,\n} from 'redux/subscriptions/actions';\n\nimport constants from '../constants';\n\nexport function fetchSubscriptions(payload = {}, documentType) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchLookupSubscriptions(payload, documentType, constants));\n };\n}\n\nexport function bulkTrackItems(payload) {\n return dispatch => dispatch(bulkTrackLookupItems(payload, constants));\n}\n\nexport function bulkShareToMyFeed(payload) {\n return dispatch => dispatch(bulkShareLookupToMyFeed(payload, constants));\n}\n","import { fetchLookupTags, bulkSaveLookupTags } from 'redux/tags/actions';\n\nimport constants from '../constants';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n\nexport function bulkSaveTags(payload) {\n return dispatch => dispatch(bulkSaveLookupTags(payload, constants));\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { getLookupRequestParams } from 'utils/lookup';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\n\nimport constants from '../constants';\nimport { transformBillsForUI, transformOptionsForBE } from '../utils';\nimport { fetchSubscriptions } from './subscriptions';\nimport { fetchPositions } from './positions';\nimport { fetchTags } from './tags';\n\nexport function fetchBills(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILLS });\n const url = '/api_web/state/bills/lookup';\n\n const { searchData = {}, clearAll, toResetSelectedItems, documentType } = payload;\n const dataPayload = { url, ...payload };\n const { isSearch, sortData, data } = getLookupRequestParams(dataPayload, transformOptionsForBE);\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n const currentPayload = (isEmpty(response) || isEmpty(response.data)) ? [] : response.data;\n const paginator = transformPaginator(response);\n const { current } = paginator;\n\n return dispatch({\n type: constants.RECEIVE_BILLS_DONE,\n payload: transformBillsForUI(currentPayload, current),\n paginator,\n toResetSelectedItems: isSearch || toResetSelectedItems,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(payloadData => dispatch(fetchTags(payloadData, documentType)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .then(payloadData => dispatch(fetchPositions(payloadData, documentType)))\n .then(payloadData => dispatch(fetchSubscriptions(payloadData, documentType)))\n .then(saveAppliedFiltersToProps)\n .catch(onFailure);\n };\n}\n\nexport function resetBills() {\n return dispatch => (\n dispatch({\n type: constants.RESET_BILLS,\n })\n );\n}\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import { fetchLookupPositions } from 'redux/positions/actions';\n\nimport constants from '../constants';\n\nexport function fetchPositions(payloadData, documentType) {\n return dispatch => dispatch(fetchLookupPositions(payloadData, documentType, constants));\n}\n","import { getLookupRequestParams } from 'utils/lookup';\n\nimport { transformGraphForUI, transformOptionsForBE } from '../utils';\nimport constants from '../constants';\n\nexport function fetchBillsGraphs(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_BILLS_GRAPH });\n\n const url = '/api_web/state/bills/aggregations';\n const dataPayload = { url, ...payload };\n const { data } = getLookupRequestParams(dataPayload, transformOptionsForBE);\n const searchForm = { search_form: { ...data.search_form, aggregation: true } };\n const ajax = $.post(url, { ...data, ...searchForm });\n\n return Promise.resolve(ajax).then(response =>\n dispatch({\n type: constants.RECEIVE_BILLS_GRAPH_DONE,\n payload: transformGraphForUI(response),\n }));\n };\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport { transformOptionsForBE, transformSearchesForBE, transformSearchesForUI } from '../utils';\nimport constants from '../constants';\n\n/** Advanced search actions */\nexport function loadBillsRecentSearches(params, billData) {\n const recentSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, billData)),\n );\n}\n\nexport function loadBillsSavedSearches(params, billData) {\n const savedSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, billData),\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, billData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: transformSearchesForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadBillsRecentSearches(params, billData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadBillsRecentSearches(params, billData),\n );\n}\n\nexport function removeAdvancedSearchItem(id, billData = {}) {\n return onRemoveItem(\n id,\n params => loadBillsSavedSearches(params, billData));\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, billData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, billData, false));\n }\n\n return null;\n };\n}\n","import { map, isEmpty, omitBy } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID } from 'utils/constants/export';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\nimport { submitExportReport } from 'redux/exportReport/actions';\n\nimport { getExportInfo } from '../utils';\nimport constants from '../constants';\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption, dataProps } = payload;\n const exportIds = map(items, 'id');\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: constants.STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm, dataProps), isEmpty),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `State bills report - ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({\n ...payload,\n data,\n onSuccessCustom,\n });\n}\n","export { fetchBills, resetBills, updateDataItem } from './data';\nexport { fetchBillsGraphs } from './graphs';\nexport {\n loadBillsRecentSearches,\n loadBillsSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\nexport { submitExport } from './export';\nexport { fetchTags, bulkSaveTags } from './tags';\nexport { bulkTrackItems, bulkShareToMyFeed } from './subscriptions';\n","import {\n fetchLookupSubscriptions,\n bulkTrackLookupItems,\n fetchDefaultSubscription,\n bulkShareLookupToMyFeed,\n} from 'redux/subscriptions/actions';\n\nimport constants from '../constants';\n\nexport function fetchSubscriptions(payload = {}, documentType) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchLookupSubscriptions(payload, documentType, constants));\n };\n}\n\nexport function bulkTrackItems(payload) {\n return dispatch => dispatch(bulkTrackLookupItems(payload, constants));\n}\n\nexport function bulkShareToMyFeed(payload) {\n return dispatch => dispatch(bulkShareLookupToMyFeed(payload, constants));\n}\n","import { fetchLookupTags, bulkSaveLookupTags } from 'redux/tags/actions';\n\nimport constants from '../constants';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n\nexport function bulkSaveTags(payload) {\n return dispatch => dispatch(bulkSaveLookupTags(payload, constants));\n}\n","import { isEmpty, omitBy, isNil } from 'lodash';\n\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\n\nimport constants from '../constants';\nimport { transformLegislatorsForUI, transformOptionsForBE } from '../utils';\nimport { fetchSubscriptions } from './subscriptions';\nimport { fetchTags } from './tags';\n\nexport function getLegislatorsData(payload) {\n const { searchData = {}, appliedFilters, clearAll, sort, direction, page } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const url = '/api_web/state/legislators/lookup';\n const sortData = omitBy({ sort, direction, page }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return { url, data, sortData };\n}\n\nexport function fetchLegislators(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_LEGISLATORS });\n\n const { searchData = {}, clearAll, documentType, trackingType } = payload;\n const { url, data, sortData } = getLegislatorsData(payload);\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_LEGISLATORS_DONE,\n payload: transformLegislatorsForUI(response.data),\n paginator: transformPaginator(response),\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(((payloadData) => {\n dispatch(fetchSubscriptions(payloadData, trackingType));\n\n return payloadData;\n }))\n .then(payloadData => dispatch(fetchTags(payloadData, documentType)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .then(saveAppliedFiltersToProps())\n .catch(onFailure);\n };\n}\n\nexport function resetLegislators() {\n return dispatch => (\n dispatch({\n type: constants.RESET_LEGISLATORS,\n })\n );\n}\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import { isEmpty, isNil, omitBy } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID, EXPORT_EMAIL_LIMIT } from 'utils/constants/export';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\n\nimport { submitExportReport } from '../../../exportReport/actions';\nimport { getExportInfo, transformLegislatorsForUI } from '../utils';\nimport constants from '../constants';\nimport { getLegislatorsData } from './data';\n\nexport function getAllEmails(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.FETCH_LEGISLATORS_EMAILS });\n const { appliedFilters } = getState().state.legislatorLookup.appliedFilters;\n\n const { url, data } = getLegislatorsData({ ...payload, searchData: appliedFilters });\n const ajax = $.post(url, { ...data, per_page: EXPORT_EMAIL_LIMIT });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_LEGISLATORS_EMAILS_DONE,\n payload: transformLegislatorsForUI(response.data),\n });\n }\n\n return Promise.resolve(ajax).then(onSuccess);\n };\n}\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption } = payload;\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: constants.STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm), isNil),\n };\n\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `State Legislators ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({ ...payload, data, onSuccessCustom });\n}\n","import { isEmpty } from 'lodash';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\n\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\nimport { transformOptionsForBE, transformSearchesForUI, transformSearchesForBE } from '../utils';\nimport constants from '../constants';\n\n/** Advanced search actions */\nexport function loadLegislatorsRecentSearches(params, legislatorData) {\n const recentSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, legislatorData))\n );\n}\n\nexport function loadLegislatorsSavedSearches(params, legislatorData) {\n const savedSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, legislatorData)\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, legislatorData, isSaved = true) {\n const { id, name } = data;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: transformSearchesForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadLegislatorsRecentSearches(params, legislatorData)\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadLegislatorsRecentSearches(params, legislatorData)\n );\n}\n\nexport function removeAdvancedSearchItem(id, legislatorData = {}) {\n return onRemoveItem(\n id,\n params => loadLegislatorsSavedSearches(params, legislatorData));\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, legislatorData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, legislatorData, false));\n }\n\n return null;\n };\n}\n","export { fetchLegislators, resetLegislators, updateDataItem } from './data';\nexport { fetchTags, bulkSaveTags } from './tags';\nexport { getAllEmails, submitExport } from './export';\nexport {\n loadLegislatorsRecentSearches,\n loadLegislatorsSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\nexport { bulkShareToMyFeed, bulkTrackItems } from './subscriptions';\n","import { fetchLookupTags, bulkSaveLookupTags } from 'redux/tags/actions';\n\nimport constants from '../constants';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n\nexport function bulkSaveTags(payload) {\n return dispatch => dispatch(bulkSaveLookupTags(payload, constants));\n}\n","import {\n bulkShareLookupToMyFeed,\n fetchLookupSubscriptions,\n bulkTrackLookupItems,\n fetchDefaultSubscription,\n} from 'redux/subscriptions/actions';\n\nimport constants from '../constants';\n\nexport function bulkShareToMyFeed(payload) {\n return dispatch => dispatch(bulkShareLookupToMyFeed(payload, constants));\n}\n\nexport function fetchSubscriptions(payload = {}, documentType) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchLookupSubscriptions(payload, documentType, constants));\n };\n}\n\nexport function bulkTrackItems(payload) {\n return dispatch => dispatch(bulkTrackLookupItems(payload, constants));\n}\n","import { isEmpty, isNil, omitBy } from 'lodash';\n\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\n\nimport { transformLegislatorsForUI, transformOptionsForBE } from '../utils';\nimport constants from '../constants';\nimport { fetchTags } from './tags';\nimport { fetchSubscriptions } from './subscriptions';\n\nexport function getLegislatorsData(payload) {\n const { searchData = {}, appliedFilters, clearAll, sort, direction, page } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const url = '/api_web/federal/legislators/lookup';\n const sortData = omitBy({ sort, direction, page }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return { isSearch, url, data, sortData };\n}\n\nexport function fetchLegislators(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_LEGISLATORS });\n\n const { searchData = {}, clearAll, documentType, trackingType } = payload;\n const { isSearch, url, data, sortData } = getLegislatorsData(payload);\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n const currentPayload = (isEmpty(response) || isEmpty(response.data)) ? [] : response.data;\n\n return dispatch({\n type: constants.RECEIVE_LEGISLATORS_DONE,\n payload: transformLegislatorsForUI(currentPayload),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n function onFailure(error) {\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then((payloadData) => {\n dispatch(fetchSubscriptions(payloadData, trackingType));\n\n return payloadData;\n })\n .then((payloadData) => {\n dispatch(fetchTags(payloadData, documentType));\n dispatch(fetchMyFeedDocuments(payloadData, constants));\n saveAppliedFiltersToProps();\n })\n .catch(onFailure);\n };\n}\n\nexport function resetLegislators() {\n return dispatch => (\n dispatch({\n type: constants.RESET_LEGISLATORS,\n })\n );\n}\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import { map, isNil, isEmpty, omitBy } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID } from 'utils/constants/export';\nimport { submitExportReport } from 'redux/exportReport/actions';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\n\nimport { getExportInfo } from '../utils';\nimport constants from '../constants';\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption } = payload;\n const exportIds = map(items, 'id');\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: constants.STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm), isNil),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `Federal Legislators ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({ ...payload, data, onSuccessCustom });\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport { transformOptionsForBE, transformSearchesForBE, transformSearchesForUI } from '../utils';\nimport constants from '../constants';\n\n/** Advanced search actions */\nexport function loadLegislatorsRecentSearches(params, legislatorData) {\n const recentSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, legislatorData)),\n );\n}\n\nexport function loadLegislatorsSavedSearches(params, legislatorData) {\n const savedSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, legislatorData),\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, legislatorData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: transformSearchesForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadLegislatorsRecentSearches(params, legislatorData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadLegislatorsRecentSearches(params, legislatorData),\n );\n}\n\nexport function removeAdvancedSearchItem(id, legislatorData = {}) {\n return onRemoveItem(\n id,\n params => loadLegislatorsSavedSearches(params, legislatorData));\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, legislatorData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, legislatorData, false));\n }\n\n return null;\n };\n}\n","export { fetchLegislators, resetLegislators, updateDataItem } from './data';\nexport { fetchTags, bulkSaveTags } from './tags';\nexport { submitExport } from './export';\nexport {\n loadLegislatorsRecentSearches,\n loadLegislatorsSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\nexport { bulkShareToMyFeed, bulkTrackItems } from './subscriptions';\n","import { isNil, omitBy, reject, overSome } from 'lodash';\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { FEDERAL_COMMITTEE_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nexport function transformProfileForUI(profileData = {}) {\n const {\n display_name,\n subcommittee,\n parent_committee,\n ...restProps\n } = profileData;\n\n return omitBy({\n ...restProps,\n documentType: DOCUMENT_TYPES.FEDERAL_COMMITTEE,\n itemType: FEDERAL_COMMITTEE_ITEM_TYPE,\n displayName: display_name,\n isSubcommittee: subcommittee,\n parentCommittee: parent_committee,\n }, isNil);\n}\n\nexport function transformCommitteeMembersForUI(members = []) {\n const transformMember = ({\n universal_moniker,\n party_short,\n party_slug,\n ...restProps\n }) => ({\n ...restProps,\n name: universal_moniker,\n partyShort: party_short,\n partySlug: party_slug,\n });\n\n const byParty = party => member => member.party_slug === party;\n const byRepublicanParty = byParty('republican');\n const byDemocraticParty = byParty('democratic');\n const byOtherParty = overSome(byRepublicanParty, byDemocraticParty);\n\n return {\n republicans: members.filter(byRepublicanParty).map(transformMember),\n democrats: members.filter(byDemocraticParty).map(transformMember),\n others: reject(members, byOtherParty).map(transformMember),\n };\n}\n\nexport function transformSubcommitteesForUI(profileData = {}) {\n return profileData;\n}\n","import isEmpty from 'lodash/isEmpty';\n\nexport function transformStaffersForUI(staffersData = {}) {\n const { data } = staffersData;\n\n if (isEmpty(data)) {\n return { allItems: [] };\n }\n\n return {\n allItems: data.map((staffer = {}) => {\n const { id, alias_name, full_name, title, responsibilities, email, phone, url } = staffer;\n return {\n id,\n name: alias_name || full_name,\n title,\n issues: responsibilities,\n email,\n phone,\n url,\n };\n }),\n };\n}\n","import { isNil, omitBy } from 'lodash';\n\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { ROW_PLACEHOLDER as PAGE_SIZE } from 'components/Federal/CommitteeProfile/utils';\n\nimport constants from '../constants';\nimport {\n transformStaffersForUI,\n} from '../utils';\n\nexport const PER_PAGE = { per_page: PAGE_SIZE };\n\nexport function fetchStaffers(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAFFERS });\n\n const { sort, direction, page, id } = payload;\n const sortData = omitBy({ sort, direction, page }, isNil);\n\n const url = `/api_web/federal/committees/${id}/staffers`;\n const ajax = $.get(url, { ...payload, ...PER_PAGE });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_STAFFERS_DONE,\n payload: {\n ...transformStaffersForUI(response),\n paginator: transformPaginator(response, PAGE_SIZE),\n sort: transformSort(sortData),\n },\n }));\n };\n}\n","import constants from '../constants';\nimport {\n transformCommitteeMembersForUI,\n transformSubcommitteesForUI,\n} from '../utils';\n\nfunction fetchMembers(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEE_MEMBERS });\n const { id } = payload;\n\n const url = `/api_web/federal/committees/${id}/members`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_COMMITTEE_MEMBERS_DONE,\n payload: transformCommitteeMembersForUI(response.data),\n }));\n };\n}\n\nfunction fetchSubcommittees(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_SUBCOMMITTEES });\n const { id } = payload;\n\n const url = `/api_web/federal/committees/${id}/subcommittees`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_SUBCOMMITTEES_DONE,\n payload: transformSubcommitteesForUI(response.data),\n }));\n };\n}\n\nexport function loadOverview(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_OVERVIEW });\n\n const asyncRequests = [\n dispatch(fetchMembers(payload)),\n dispatch(fetchSubcommittees(payload)),\n ];\n\n return Promise.all(asyncRequests)\n .then(() => dispatch({ type: constants.LOAD_OVERVIEW_DONE }));\n };\n}\n","import { partial } from 'lodash';\n\nimport { responseTrackingTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { ROW_PLACEHOLDER as PAGE_SIZE } from 'components/Federal/CommitteeProfile/utils';\nimport { getCommitteeAction } from 'redux/dashboardV2/feedPage/actions';\nimport {\n fetchProfileCommitteeSubscriptions,\n updateCommitteeSubscriptions,\n} from 'redux/subscriptions/actions';\nimport { fetchProfileDocument, updateProfileShare } from 'redux/events/actions';\nimport { transformFetchRecordIdsForBE } from 'redux/tags/utils';\nimport { fetchProfileTags } from 'redux/tags/actions';\n\nimport constants from '../constants';\nimport { transformProfileForUI } from '../utils';\n\nexport { fetchStaffers } from './staffers';\nexport { loadOverview } from './overview';\n\nexport const PER_PAGE = { per_page: PAGE_SIZE };\n\nexport function fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n\nexport function fetchSubscriptions(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_SUBSCRIPTIONS });\n\n const { id, documentType: defaultDocumentType } = payload;\n\n const data = transformFetchRecordIdsForBE([\n { documentType: responseTrackingTypes.FEDERAL_COMMITTEE_HEARING, id },\n { documentType: responseTrackingTypes.FEDERAL_COMMITTEE_STAFFER, id },\n ]);\n\n return dispatch(\n fetchProfileCommitteeSubscriptions({\n data,\n defaultDocumentType,\n actionTypes: constants,\n })\n );\n };\n}\n\nexport function updateSubscriptions(payload) {\n return dispatch => dispatch(\n updateCommitteeSubscriptions({\n isProfile: true,\n action: partial(getCommitteeAction, partial.placeholder, true),\n actionTypes: constants,\n payload,\n })\n );\n}\n\nexport function onUpdateTrackings({ trackings }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: trackings,\n });\n}\n\nexport function fetchCommittee(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEE });\n const { id } = payload;\n\n const url = `/api_web/federal/committees/${id}`;\n const ajax = $.get(url);\n\n const onSuccess = (response) => {\n dispatch({\n type: constants.RECEIVE_COMMITTEE_DONE,\n payload: transformProfileForUI(response.data),\n });\n };\n\n const onFailure = (error) => {\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(() => dispatch(fetchTags(payload)))\n .then(() => dispatch(fetchProfileDocument(payload, constants)))\n .then(() => dispatch(fetchSubscriptions(payload)))\n .catch(onFailure);\n };\n}\n\nexport function resetCommitteeData() {\n return dispatch => dispatch({ type: constants.RESET_COMMITTEE });\n}\n\nexport function updateProfileMyFeed() {\n return (dispatch) => {\n dispatch(updateProfileShare(constants));\n };\n}\n","import { isNull, omitBy, isEmpty } from 'lodash';\n\nexport function transformStaffableForUI(staffable = {}) {\n if (isEmpty(staffable)) {\n return null;\n }\n\n const {\n id,\n external_id,\n state_id,\n district_id,\n district_number,\n party_code,\n photo_url,\n role_code,\n full_name,\n first_name,\n last_name,\n middle_name,\n suffix,\n nickname,\n created_at,\n updated_at,\n } = staffable;\n\n return omitBy({\n id,\n externalId: external_id,\n stateId: state_id,\n districtId: district_id,\n districtNumber: district_number,\n partyCode: party_code,\n photoUrl: photo_url,\n roleCode: role_code,\n fullName: full_name,\n firstName: first_name,\n lastName: last_name,\n middleName: middle_name,\n suffix,\n nickname,\n createdAt: created_at,\n updatedAt: updated_at,\n }, isNull);\n}\n\nexport function transformLegislatorForUI(legislator = {}) {\n if (isEmpty(legislator)) {\n return null;\n }\n const {\n id,\n display_name,\n universal_moniker,\n come_from,\n party,\n party_short,\n party_slug,\n } = legislator;\n\n return omitBy({\n id,\n displayName: display_name,\n universalMoniker: universal_moniker,\n comeFrom: come_from,\n party,\n partyShort: party_short,\n partySlug: party_slug,\n }, isNull);\n}\n\nexport default function transformPositionForUI(position = {}) {\n const {\n id,\n staffer_id,\n staffable,\n office_type,\n employment_status,\n start_date,\n position_titles,\n legislator,\n committee,\n state,\n } = position;\n\n return omitBy({\n id,\n stafferId: staffer_id,\n staffable: transformStaffableForUI(staffable),\n positionTitles: position_titles,\n officeType: office_type,\n employmentStatus: employment_status,\n startDate: start_date,\n legislator: transformLegislatorForUI(legislator),\n committee,\n state,\n }, isNull);\n}\n","import { transformLegislatorForUI } from './position';\n\nexport default function transformHistoricalPositionForUI(position = {}) {\n const {\n staffable_id,\n staffable_type,\n position_type,\n start_date,\n end_date,\n legislator,\n ...restProps\n } = position;\n\n return {\n ...restProps,\n staffableId: staffable_id,\n staffableType: staffable_type,\n positionType: position_type,\n startDate: start_date,\n endDate: end_date,\n legislator: transformLegislatorForUI(legislator),\n };\n}\n","import { isNull, omitBy } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getOfficeStaffer } from 'redux/staffers/common/utils';\nimport { STATE_STAFFER_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nimport transformPositionForUI from './position';\nimport transformHistoricalPositionForUI from './historicalPosition';\n\nexport function transformProfileForUI(profileData = {}) {\n const {\n full_name,\n chamber_category,\n chamber_name,\n twitter_account,\n facebook_account,\n linkedin_account,\n office_type,\n gender_title,\n position,\n historical_positions,\n state_office_id,\n ...restProps\n } = profileData;\n\n return omitBy({\n ...restProps,\n fullName: full_name,\n chamberCategory: chamber_category,\n chamberName: chamber_name,\n twitterAccount: twitter_account,\n facebookAccount: facebook_account,\n linkedInAccount: linkedin_account,\n officeType: office_type,\n genderTitle: gender_title,\n position: transformPositionForUI(position),\n stateOfficeId: state_office_id,\n historicalPositions: getOfficeStaffer(historical_positions).map(transformHistoricalPositionForUI),\n itemType: STATE_STAFFER_ITEM_TYPE,\n documentType: DOCUMENT_TYPES.STATE_STAFFER,\n }, isNull);\n}\n","import { isNull, omitBy } from 'lodash';\n\nfunction transformOfficeStafferForUI(officeStaffer) {\n const {\n full_name,\n } = officeStaffer;\n\n return omitBy({\n ...officeStaffer,\n fullName: full_name,\n }, isNull);\n}\n\nexport function transformPaginationForUI(pagination) {\n const {\n current_page,\n next_page,\n prev_page,\n total_pages,\n total_count,\n } = pagination;\n\n return ({\n currentPage: current_page,\n nextPage: next_page,\n prevPage: prev_page,\n totalPages: total_pages,\n totalCount: total_count,\n });\n}\n\nexport function transformOfficeStaffersForUI(response = {}) {\n const { data, pagination } = response;\n\n return omitBy({\n officeStaffers: data.map(staffer => transformOfficeStafferForUI(staffer)),\n pagination: transformPaginationForUI(pagination),\n }, isNull);\n}\n","import { isNil, omitBy } from 'lodash';\n\nimport isNotFoundError from 'utils/http/isNotFoundError';\nimport { sortStafferByColumn as sortStaffer } from 'redux/staffers/common/actions';\nimport { fetchProfileTags } from 'redux/tags/actions';\n\nimport constants from './constants';\nimport { transformProfileForUI } from './transformers/profile';\nimport getOfficeStaffersBody from './utils/getOfficeStaffersBody';\nimport { transformOfficeStaffersForUI } from './transformers/officeStaffers';\n\nexport function fetchOfficeStaffers(payload = {}) {\n return (dispatch) => {\n const { stateOfficeId, page, perPage, sortData } = payload;\n\n dispatch({\n type: constants.FETCH_OFFICE_STAFFERS,\n payload: {\n sortData: sortData || {},\n },\n });\n\n if (isNil(stateOfficeId)) {\n return Promise.resolve(\n dispatch({\n type: constants.RECEIVE_OFFICE_STAFFERS_DONE,\n payload: {\n staffers: [],\n pagination: {},\n },\n })\n );\n }\n\n const url = '/api_web/state/staffers/lookup';\n const requestBody = getOfficeStaffersBody({ stateOfficeId, page, perPage, sortData });\n\n const ajax = $.post(url, requestBody);\n\n return Promise.resolve(ajax)\n .then(\n response => dispatch({\n type: constants.RECEIVE_OFFICE_STAFFERS_DONE,\n payload: transformOfficeStaffersForUI(response),\n })\n );\n };\n}\n\nfunction fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function fetchStaffer(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAFFER });\n const { id } = payload;\n\n const url = `/api_web/state/staffers/${id}`;\n const ajax = $.get(url);\n\n const onSuccess = response => dispatch({\n type: constants.RECEIVE_STAFFER_DONE,\n payload: transformProfileForUI(response),\n });\n\n const onError = (error) => {\n isNotFoundError(error) && dispatch({ type: constants.PROFILE_NOT_FOUND });\n\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(() => dispatch(fetchTags(payload)))\n .catch(onError);\n };\n}\n\nexport function sortOfficeStaffers({ columnName, sortDirection, perPage }) {\n return (dispatch, getState) => {\n const { stafferData } = getState().state.stafferProfile;\n const { stateOfficeId } = stafferData;\n\n const sortData = omitBy({ sort: columnName, direction: sortDirection }, isNil);\n\n return dispatch(fetchOfficeStaffers({\n stateOfficeId,\n page: 1,\n perPage,\n sortData,\n }));\n };\n}\n\nexport function sortStafferByColumn(stafferKey, columnName, sortDirection) {\n return (dispatch, getState) => {\n const { stafferData } = getState().state.stafferProfile;\n\n return dispatch(sortStaffer({\n stafferKey,\n columnName,\n sortDirection,\n stafferData,\n actionTypes: constants,\n }));\n };\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n","export default function getOfficeStaffersBody({ stateOfficeId, page, perPage, sortData }) {\n return {\n search_form: {\n state_offices: [stateOfficeId],\n },\n page,\n per_page: perPage,\n ...sortData,\n };\n}\n","import { isEmpty, omitBy } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID } from 'utils/constants/export';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\nimport { submitExportReport } from 'redux/exportReport/actions';\n\nimport { getExportInfo } from '../utils';\nimport constants from '../constants';\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption } = payload;\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: constants.STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm), isEmpty),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `Federal Committees ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({\n ...payload,\n data,\n onSuccessCustom,\n });\n}\n","import { map, partial } from 'lodash';\n\nimport { responseTrackingTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getCommitteeAction } from 'redux/dashboardV2/feedPage/actions';\nimport { transformFetchRecordIdsForBE } from 'redux/tags/utils';\nimport {\n fetchLookupCommitteeSubscriptions,\n updateCommitteeSubscriptions,\n bulkShareLookupToMyFeed,\n bulkTrackLookupItems,\n} from 'redux/subscriptions/actions';\n\nimport constants from '../constants';\n\nexport function fetchSubscriptions({ payload: payloadData }, defaultDocumentType) {\n return (dispatch) => {\n const data = transformFetchRecordIdsForBE([\n ...map(payloadData, ({ id }) => ({\n documentType: responseTrackingTypes.FEDERAL_COMMITTEE_HEARING,\n id,\n })),\n ...map(payloadData, ({ id }) => ({\n documentType: responseTrackingTypes.FEDERAL_COMMITTEE_STAFFER,\n id,\n })),\n ]);\n\n return dispatch(fetchLookupCommitteeSubscriptions({\n data,\n defaultDocumentType,\n actionTypes: constants,\n }));\n };\n}\n\nexport function updateSubscriptions(payload) {\n return dispatch => dispatch(\n updateCommitteeSubscriptions({\n action: partial(getCommitteeAction, partial.placeholder, true),\n actionTypes: constants,\n payload,\n })\n );\n}\n\nexport function bulkTrackItems(payload) {\n return dispatch => dispatch(\n bulkTrackLookupItems(\n payload,\n constants,\n fetchSubscriptions,\n )\n );\n}\n\nexport function bulkShareToMyFeed(payload) {\n return dispatch => dispatch(bulkShareLookupToMyFeed(payload, constants));\n}\n","import { fetchLookupTags, bulkSaveLookupTags } from 'redux/tags/actions';\n\nimport constants from '../constants';\n\nexport function fetchTags(payload = {}, documentType) {\n return dispatch => dispatch(fetchLookupTags(payload, documentType, constants));\n}\n\nexport function bulkSaveTags(payload) {\n return dispatch => dispatch(bulkSaveLookupTags(payload, constants));\n}\n","import { isEmpty, isNil, omitBy } from 'lodash';\n\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { fetchMyFeedDocuments } from 'redux/events/actions';\nimport { fetchDefaultSubscription } from 'redux/subscriptions/actions';\n\nimport constants from '../constants';\nimport { transformCommitteesForUI, transformOptionsForBE } from '../utils';\nimport { fetchSubscriptions } from './subscriptions';\nimport { fetchTags } from './tags';\n\nexport function getCommitteesData(payload) {\n const { searchData = {}, appliedFilters, clearAll, sort, direction, page } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const url = '/api_web/federal/committees/lookup';\n const sortData = omitBy({ sort, direction, page }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return { isSearch, url, data, sortData };\n}\n\nexport function fetchCommittees(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEES });\n\n const { searchData = {}, clearAll, documentType } = payload;\n const { isSearch, url, data, sortData } = getCommitteesData(payload);\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n const currentPayload = (isEmpty(response) || isEmpty(response.data)) ? [] : response.data;\n\n return dispatch({\n type: constants.RECEIVE_COMMITTEES_DONE,\n payload: transformCommitteesForUI(currentPayload),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(payloadData => dispatch(fetchTags(payloadData, documentType)))\n .then(payloadData => dispatch(fetchMyFeedDocuments(payloadData, constants)))\n .then(payloadData => dispatch(fetchSubscriptions(payloadData, documentType)))\n .then(() => dispatch(fetchDefaultSubscription(constants)))\n .then(saveAppliedFiltersToProps);\n };\n}\n\nexport function resetCommittees() {\n return dispatch => (\n dispatch({\n type: constants.RESET_COMMITTEES,\n })\n );\n}\n\nexport const setCommittees = committees => (\n dispatch({\n type: constants.SET_COMMITTEES,\n payload: committees,\n })\n);\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport { transformOptionsForBE, transformSearchesForBE, transformSearchesForUI } from '../utils';\nimport constants from '../constants';\n\n/** Advanced search actions */\nexport function loadCommitteesRecentSearches(params, committeeData) {\n const recentSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, committeeData)),\n );\n}\n\nexport function loadCommitteesSavedSearches(params, committeeData) {\n const savedSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, committeeData),\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, committeeData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: transformSearchesForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadCommitteesRecentSearches(params, committeeData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadCommitteesRecentSearches(params, committeeData),\n );\n}\n\nexport function removeAdvancedSearchItem(id, committeeData = {}) {\n return onRemoveItem(\n id,\n params => loadCommitteesSavedSearches(params, committeeData));\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, committeeData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, committeeData, false));\n }\n\n return null;\n };\n}\n","export { submitExport } from './export';\nexport {\n updateSubscriptions,\n bulkShareToMyFeed,\n bulkTrackItems,\n} from './subscriptions';\nexport { fetchTags, bulkSaveTags } from './tags';\nexport {\n fetchCommittees,\n resetCommittees,\n updateDataItem,\n} from './data';\nexport {\n loadCommitteesRecentSearches,\n loadCommitteesSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\n","import isEmpty from 'lodash/isEmpty';\nimport omitBy from 'lodash/omitBy';\nimport isNil from 'lodash/isNil';\n\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { getLookupRequestParams } from 'utils/lookup';\n\nimport { transformAgencyStaffersForUI, transformOptionsForBE } from '../utils';\nimport constants from '../constants';\n\nexport function fetchAgencyStaffers(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_AGENCY_STAFFERS });\n const url = '/api_web/federal/agency_staffers/lookup';\n\n const { searchData = {}, clearAll, toResetSelectedItems } = payload;\n const dataPayload = { url, ...payload };\n const { isSearch, data, sortData } = getLookupRequestParams(dataPayload, transformOptionsForBE);\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n const currentPayload = (isEmpty(response) || isEmpty(response.data)) ? [] : response.data;\n\n return dispatch({\n type: constants.RECEIVE_AGENCY_STAFFERS_DONE,\n payload: transformAgencyStaffersForUI(currentPayload),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch || toResetSelectedItems,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(saveAppliedFiltersToProps);\n };\n}\n\nexport function resetAgencyStaffers() {\n return dispatch => (\n dispatch({\n type: constants.RESET_AGENCY_STAFFERS,\n })\n );\n}\n\nexport function getAgencyStaffersData(payload) {\n const {\n searchData = {},\n appliedFilters,\n clearAll,\n sort,\n direction,\n page,\n perPage,\n } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const url = '/api_web/federal/agency_staffers/lookup';\n const sortData = omitBy({ sort, direction, page, per_page: perPage }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return { isSearch, url, data, sortData };\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport { transformOptionsForBE, transformSearchesForUI, transformOptionsForSave } from '../utils';\nimport constants from '../constants';\n\n/** Advanced search actions */\nexport function loadAgencyStaffersRecentSearches(params, agencyStafferData) {\n const recentSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, agencyStafferData)),\n );\n}\n\nexport function loadAgencyStaffersSavedSearches(params, agencyStafferData) {\n const savedSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, agencyStafferData),\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, agencyStafferData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: transformOptionsForSave(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadAgencyStaffersRecentSearches(params, agencyStafferData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadAgencyStaffersRecentSearches(params, agencyStafferData),\n );\n}\n\nexport function removeAdvancedSearchItem(id, agencyStafferData = {}) {\n return onRemoveItem(\n id,\n params => loadAgencyStaffersSavedSearches(params, agencyStafferData));\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, agencyStafferData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, agencyStafferData, false));\n }\n\n return null;\n };\n}\n","import { isEmpty, omitBy, pickBy, identity, map } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID, EXPORT_EMAIL_LIMIT } from 'utils/constants/export';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\nimport { submitExportReport } from 'redux/exportReport/actions';\n\nimport { transformAgencyStaffer } from '../utils/transformers';\nimport { getExportInfo, getExportSortInfo } from '../utils';\nimport constants from '../constants';\nimport { getAgencyStaffersData } from './data';\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption, sort } = payload;\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: constants.STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm), isEmpty),\n ...pickBy(getExportSortInfo(sort), identity),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `Federal Agency Staffers ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({\n ...payload,\n data,\n onSuccessCustom,\n });\n}\n\nexport function getAllEmails(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.FETCH_AGENCY_STAFFERS_EMAILS });\n\n const { appliedFilters } = getState().federal.agencyStaffersLookup.appliedFilters;\n\n const { url, data } = getAgencyStaffersData({ ...payload, searchData: appliedFilters });\n const ajax = $.post(url, { ...data, per_page: EXPORT_EMAIL_LIMIT });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_AGENCY_STAFFERS_EMAILS_DONE,\n payload: map(response.data, transformAgencyStaffer),\n });\n }\n\n return Promise.resolve(ajax).then(onSuccess);\n };\n}\n","export { fetchAgencyStaffers, resetAgencyStaffers } from './data';\nexport {\n loadAgencyStaffersRecentSearches,\n loadAgencyStaffersSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\nexport { submitExport, getAllEmails } from './export';\n","import { isNil, omitBy, reject, overSome } from 'lodash';\n\nimport { DOCUMENT_TYPES, responseTrackingTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { STATE_COMMITTEE_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nexport function transformProfileForUI(profileData = {}) {\n const {\n id,\n display_name,\n ...restProps\n } = profileData;\n\n return omitBy({\n ...restProps,\n recordId: id,\n documentType: DOCUMENT_TYPES.STATE_COMMITTEE,\n trackingType: responseTrackingTypes.STATE_COMMITTEE_STAFFER,\n itemType: STATE_COMMITTEE_ITEM_TYPE,\n displayName: display_name,\n url: `/state/committees/${id}`,\n id,\n }, isNil);\n}\n\nexport function transformCommitteeMembersForUI(members = []) {\n const transformMember = ({\n universal_moniker,\n party_short,\n party_slug,\n ...restProps\n }) => ({\n ...restProps,\n name: universal_moniker,\n partyShort: party_short,\n partySlug: party_slug,\n });\n\n const byParty = party => member => member.party_slug === party;\n const byRepublicanParty = byParty('republican');\n const byDemocraticParty = byParty('democratic');\n const byOtherParty = overSome(byRepublicanParty, byDemocraticParty);\n\n return {\n republicans: members.filter(byRepublicanParty).map(transformMember),\n democrats: members.filter(byDemocraticParty).map(transformMember),\n others: reject(members, byOtherParty).map(transformMember),\n };\n}\n","import constants from '../constants';\nimport {\n transformCommitteeMembersForUI,\n} from '../utils';\n\nfunction fetchMembers(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEE_MEMBERS });\n const { id } = payload;\n\n const url = `/api_web/state/committees/${id}/members`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_COMMITTEE_MEMBERS_DONE,\n payload: transformCommitteeMembersForUI(response.data),\n }));\n };\n}\n\nexport function loadOverview(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_OVERVIEW });\n\n const asyncRequests = [\n dispatch(fetchMembers(payload)),\n ];\n\n return Promise.all(asyncRequests)\n .then(() => dispatch({ type: constants.LOAD_OVERVIEW_DONE }));\n };\n}\n","import partial from 'lodash/partial';\n\nimport { responseTrackingTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { ROW_PLACEHOLDER as PAGE_SIZE } from 'components/State/CommitteeProfile/utils';\nimport { fetchProfileDocument, updateProfileShare } from 'redux/events/actions';\nimport { getCommitteeAction } from 'redux/dashboardV2/feedPage/actions/trackCommittee';\nimport {\n fetchProfileCommitteeSubscriptions,\n updateCommitteeSubscriptions,\n} from 'redux/subscriptions/actions';\nimport { transformFetchRecordIdsForBE } from 'redux/tags/utils';\nimport { fetchProfileTags } from 'redux/tags/actions';\nimport { getMyFeedToken } from 'components/Dashboard/utils';\n\nimport { transformProfileForUI } from '../utils';\nimport constants from '../constants';\n\nexport { loadOverview } from './overview';\n\nexport const PER_PAGE = { per_page: PAGE_SIZE };\n\nexport function fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n\nexport function onUpdateTrackings({ trackings }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: trackings,\n });\n}\n\nexport function fetchSubscriptions(payload = {}) {\n return (dispatch) => {\n const { id, documentType: defaultDocumentType } = payload;\n\n const data = transformFetchRecordIdsForBE([\n { documentType: responseTrackingTypes.STATE_COMMITTEE_HEARING, id },\n { documentType: responseTrackingTypes.STATE_COMMITTEE_STAFFER, id },\n ]);\n\n return dispatch(\n fetchProfileCommitteeSubscriptions({\n data,\n defaultDocumentType,\n actionTypes: constants,\n feedToken: getMyFeedToken(),\n })\n );\n };\n}\n\nexport function updateSubscriptions(payload) {\n return dispatch => dispatch(\n updateCommitteeSubscriptions({\n isProfile: true,\n action: partial(getCommitteeAction, partial.placeholder, false),\n actionTypes: constants,\n payload,\n })\n );\n}\n\nexport function fetchCommittee(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEE });\n const { id } = payload;\n\n const ajax = $.get(`/api_web/state/committees/${id}`);\n\n const onSuccess = response => dispatch({\n type: constants.RECEIVE_COMMITTEE_DONE,\n payload: transformProfileForUI(response.data),\n });\n\n const onFailure = (error) => {\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(() => dispatch(fetchTags(payload)))\n .then(() => dispatch(fetchProfileDocument(payload, constants)))\n .then(() => dispatch(fetchSubscriptions(payload)))\n .catch(onFailure);\n };\n}\n\nexport function resetCommitteeData() {\n return dispatch => dispatch({ type: constants.RESET_COMMITTEE });\n}\n\nexport function updateProfileMyFeed() {\n return (dispatch) => {\n dispatch(updateProfileShare(constants));\n };\n}\n","import { isEmpty, isNil, omitBy } from 'lodash';\n\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\n\nimport { transformStaffersForUI, transformOptionsForBE } from '../utils';\nimport constants from '../constants';\n\nexport function getStaffersData(payload) {\n const { searchData = {}, appliedFilters, clearAll, sort, direction, page } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const url = '/api_web/state/staffers/lookup';\n const sortData = omitBy({ sort, direction, page }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return { isSearch, url, data, sortData };\n}\n\nexport function fetchStaffers(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAFFERS });\n\n const { searchData = {}, clearAll } = payload;\n const { isSearch, url, data, sortData } = getStaffersData(payload);\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n const currentPayload = (isEmpty(response) || isEmpty(response.data)) ? [] : response.data;\n\n return dispatch({\n type: constants.RECEIVE_STAFFERS_DONE,\n payload: transformStaffersForUI(currentPayload),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(saveAppliedFiltersToProps);\n };\n}\n\nexport function resetStaffers() {\n return dispatch => (\n dispatch({\n type: constants.RESET_STAFFERS,\n })\n );\n}\n","import { isEmpty, isNil, omitBy } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID, EXPORT_EMAIL_LIMIT } from 'utils/constants/export';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\n\nimport { submitExportReport } from '../../../exportReport/actions';\nimport { getExportInfo, transformStaffersForUI } from '../utils';\nimport constants from '../constants';\nimport { getStaffersData } from './data';\n\nexport function getAllEmails(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.FETCH_STAFFERS_EMAILS });\n const { appliedFilters } = getState().state.stafferLookup.appliedFilters;\n\n const { url, data } = getStaffersData({ ...payload, searchData: appliedFilters });\n const ajax = $.post(url, { ...data, per_page: EXPORT_EMAIL_LIMIT });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_STAFFERS_EMAILS_DONE,\n payload: transformStaffersForUI(response.data),\n });\n }\n\n return Promise.resolve(ajax).then(onSuccess);\n };\n}\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption } = payload;\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: constants.STRATEGY_SLUG_FOR_EXPORT,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm), isNil),\n };\n\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `State Staffers ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({ ...payload, data, onSuccessCustom });\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport { transformOptionsForBE, transformSearchesForUI } from '../utils';\nimport constants from '../constants';\n\n/** Advanced search actions */\nexport function loadStaffersRecentSearch(params, stafferData) {\n const recentSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n data => transformSearchesForUI(data, stafferData)),\n );\n}\n\nexport function loadStaffersSavedSearches(params, stafferData) {\n const savedSearch = { ...params, strategy_slug: constants.STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n data => transformSearchesForUI(data, stafferData),\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, stafferData, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: transformOptionsForBE(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n params => loadStaffersRecentSearch(params, stafferData),\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n params => loadStaffersRecentSearch(params, stafferData),\n );\n}\n\nexport function removeAdvancedSearchItem(id, stafferData = {}) {\n return onRemoveItem(\n id,\n params => loadStaffersSavedSearches(params, stafferData));\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, stafferData = {}, isClickedItem = false } = payload;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, stafferData, false));\n }\n\n return null;\n };\n}\n","export { fetchStaffers, resetStaffers } from './data';\nexport { getAllEmails, submitExport } from './export';\nexport {\n loadStaffersRecentSearch,\n loadStaffersSavedSearches,\n saveAdvancedSearchItem,\n removeAdvancedSearchItem,\n saveInRecentSearch,\n} from './advancedSearch';\n","import { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { FEDERAL_AGENCY_STAFFER_ITEM_TYPE } from 'utils/constants/itemTypes';\nimport { transformExecutive } from 'utils/transformers/profile/executive';\nimport { FEDERAL_ROLE } from 'utils/transformers/profile/constants';\n\nexport const transformPersonForUI = person => ({\n ...transformExecutive(person, FEDERAL_ROLE),\n itemType: FEDERAL_AGENCY_STAFFER_ITEM_TYPE,\n documentType: DOCUMENT_TYPES.FEDERAL_AGENCY_STAFFER,\n});\n","import isNotFoundError from 'utils/http/isNotFoundError';\nimport { error as errorNotification } from 'components/core/Notification';\nimport { fetchProfileTags } from 'redux/tags/actions';\n\nimport { fetchAgencyStaffer } from './api';\nimport constants from './constants';\nimport { transformPersonForUI } from './transformers';\n\nfunction fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport const fetchProfile = payload => (dispatch) => {\n const { id } = payload || {};\n dispatch({ type: constants.FETCH_PROFILE });\n\n const onSuccess = (person) => {\n dispatch({\n type: constants.RECEIVE_PROFILE_DONE,\n payload: { person },\n });\n };\n\n const notifyError = errorNotification('Could not load executive profile. Please try again.');\n\n const onError = (error) => {\n notifyError();\n\n isNotFoundError(error) && dispatch({ type: constants.PROFILE_NOT_FOUND });\n\n throw error;\n };\n\n fetchAgencyStaffer(id)\n .then(transformPersonForUI)\n .then(onSuccess)\n .then(() => dispatch(fetchTags(payload)))\n .catch(onError);\n};\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n","import { camelizeKeys } from 'utils/object';\n\nexport const fetchAgencyStaffer = (id) => {\n const url = '/api_web/executive_profile';\n const params = {\n id,\n profile_slug: 'federal_executive',\n };\n const ajax = $.get(url, params);\n\n return Promise.resolve(ajax)\n .then(camelizeKeys)\n .then(({ data }) => data);\n};\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformOptionsForBE,\n transformSearchesForUI,\n transformOptionsForSave,\n} from '../utils/transformers';\n\nconst STRATEGY_SLUG = 'LOCAL_EXECUTIVE_LOOKUP';\n\n/** Advanced search actions */\nexport function loadLocalExecutivesRecentSearches(params) {\n const recentSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n transformSearchesForUI,\n ));\n}\n\nexport function loadLocalExecutivesSavedSearches(params) {\n const savedSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n transformSearchesForUI,\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, _, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: STRATEGY_SLUG,\n search_params: transformOptionsForSave(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n loadLocalExecutivesRecentSearches,\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n loadLocalExecutivesRecentSearches,\n );\n}\n\nexport function removeAdvancedSearchItem(id) {\n return onRemoveItem(id, loadLocalExecutivesSavedSearches);\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, isClickedItem = false } = payload;\n const isSaved = false;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, null, isSaved));\n }\n\n return null;\n };\n}\n","import { isEmpty, omitBy, pickBy, identity, map } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID, EXPORT_EMAIL_LIMIT } from 'utils/constants/export';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\nimport { submitExportReport } from 'redux/exportReport/actions';\n\nimport { transformExecutive } from '../utils/transformers';\nimport { EXPORT_STRATEGY_SLUG } from '../utils/constants';\nimport { getExportInfo, getExportSortInfo, getExecutivesData } from '../utils';\nimport constants from '../constants';\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption, sort } = payload;\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: EXPORT_STRATEGY_SLUG,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm), isEmpty),\n ...pickBy(getExportSortInfo(sort), identity),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `Local executives ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({\n ...payload,\n data,\n onSuccessCustom,\n });\n}\n\nexport function getAllEmails(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.FETCH_LOCAL_EXECUTIVES_EMAILS });\n\n const { appliedFilters } = getState().local.localExecutiveLookup.appliedFilters;\n\n const { url, data } = getExecutivesData({ ...payload, searchData: appliedFilters });\n const ajax = $.post(url, { ...data, per_page: EXPORT_EMAIL_LIMIT });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_LOCAL_EXECUTIVES_EMAILS_DONE,\n payload: map(response.data, transformExecutive),\n });\n }\n\n return Promise.resolve(ajax).then(onSuccess);\n };\n}\n","import { getLookupRequestParams } from 'utils/lookup';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\n\nimport constants from '../constants';\nimport { transformExecutivesForUI, transformOptionsForBE } from '../utils/transformers';\nimport { LOCAL_EXECUTIVES_URL } from '../utils/constants';\n\nexport * from './advancedSearch';\nexport * from './export';\n\nexport function fetchExecutives(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_LOCAL_EXECUTIVES });\n\n const { searchData = {}, clearAll, toResetSelectedItems } = payload;\n const { isSearch, data, sortData } = getLookupRequestParams(payload, transformOptionsForBE);\n\n const ajax = $.post(LOCAL_EXECUTIVES_URL, data);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_LOCAL_EXECUTIVES_DONE,\n payload: transformExecutivesForUI(response),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch || toResetSelectedItems,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(saveAppliedFiltersToProps);\n };\n}\n\nexport function resetExecutives() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_LOCAL_EXECUTIVES });\n };\n}\n","import { getValue, formatSelectValueToArrForBE } from 'redux/moneyball/utils/transformers';\n\nimport { formatSmartSearchObjectForBE } from '../builder/transformers';\n\nexport function transformDataForFront(payload = {}) {\n const { title, description, display_data, is_template, copy } = payload;\n const { transactor } = display_data || {};\n const newTitle = copy ? `[Copy] ${title}` : title;\n\n return {\n title: newTitle,\n description,\n transactor,\n data: display_data,\n isTemplate: is_template,\n };\n}\n\nexport function transformDataForBack({ payload }) {\n const { govpredictAdmin } = gon.currentUser;\n const { title, description, data, isTemplate } = payload || {};\n const isTemplateForBack = !!(isTemplate && govpredictAdmin);\n\n const dataForBack = JSON.parse(\n JSON.stringify(data, (name, val) => {\n if (val === null) {\n return undefined;\n }\n\n if (name === 'id') {\n return undefined;\n }\n\n let responseValue = val;\n\n if (name === 'name' && val === 'has_given_total') {\n responseValue = 'has_given';\n }\n\n if (name === 'options') {\n const { toType, toValue, addons } = val || {};\n const { total_gt, total_lt } = addons || {};\n let { value: toTypeValue } = toType || {};\n\n // rename has_given_total to has_given\n if (toTypeValue === 'has_given_total') toTypeValue = 'has_given';\n\n responseValue = toTypeValue !== 'any' ? {\n total_gt,\n total_lt,\n [toTypeValue]: formatSelectValueToArrForBE(toValue),\n } : {\n total_gt,\n total_lt,\n };\n }\n\n if (name === 'operator') {\n responseValue = val.value;\n }\n\n if (name === 'value') {\n responseValue = Array.isArray(val)\n ? formatSelectValueToArrForBE(val)\n : formatSmartSearchObjectForBE(val);\n }\n\n return responseValue;\n }),\n );\n\n return JSON.stringify({\n ...getValue('smart_search', {\n ...getValue('title', title),\n ...getValue('description', description),\n ...getValue('request_data', dataForBack),\n ...getValue('display_data', data),\n ...getValue('is_template', isTemplateForBack, true),\n }),\n });\n}\n","import { isEmpty, pickBy, values } from 'lodash';\n\nexport function formatSmartSearchObjectForBE(object) {\n if (isEmpty(object)) return null;\n\n const { gt, lt, lat, lon, value, radius } = object;\n const receiptAmount = pickBy({ gt, lt });\n const zipWithinRange = pickBy({\n zip_code: value,\n radius,\n lon,\n lat,\n });\n\n return Object.keys(receiptAmount).length === 1 && values(receiptAmount).toString()\n || Object.keys(receiptAmount).length > 1 && receiptAmount\n || Object.keys(zipWithinRange).length && zipWithinRange;\n}\n","import { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport Notifications from 'components/Moneyball/utils/Notifications';\nimport { trackMoneyBallSmartSearchCreate, trackMoneyBallSmartSearchUpdate } from 'utils/tracking';\n\nimport {\n UPDATE_ISTEMPLATE,\n UPDATE_TITLE,\n UPDATE_DESCRIPTION,\n UPDATE_TRANSACTOR,\n UPDATE_DATA,\n GET_LIST_START,\n GET_LIST_DONE,\n CREATE_LIST_START,\n CREATE_LIST_DONE,\n RESET,\n} from './constants';\nimport { transformDataForFront, transformDataForBack } from './utils';\n\nexport function updateIsTemplate(event) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_ISTEMPLATE,\n payload: event.target.checked,\n });\n };\n}\n\nexport function updateTitle({ payload }) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_TITLE,\n payload,\n });\n };\n}\n\nexport function updateDescription({ payload }) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_DESCRIPTION,\n payload,\n });\n };\n}\n\nexport function updateTransactor({ payload }) {\n return (dispatch, getState) => {\n const { transactor, data } = getState().moneyball.smartSearchBuilder.builder;\n\n dispatch({\n type: UPDATE_TRANSACTOR,\n payload: {\n transactor: payload,\n data: payload === transactor ? data : {\n transactor: payload,\n statement: {\n id: `statementgroup-${new Date().getTime()}`,\n type: 'statements_group',\n operator: {\n label: 'And',\n value: 'and',\n },\n statements: [],\n },\n },\n },\n });\n };\n}\n\nexport function updateData({ payload }) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_DATA,\n payload,\n });\n };\n}\n\nexport function getList({ id, copy }) {\n return (dispatch) => {\n dispatch({ type: GET_LIST_START });\n\n const ajax = $.ajax({\n url: `/api_web/moneyball_v2/smart_searches/${id}`,\n type: 'GET',\n });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: GET_LIST_DONE,\n error: false,\n payload: transformDataForFront({ ...response, copy }),\n }))\n .catch(() => {\n dispatch({\n type: GET_LIST_DONE,\n error: true,\n payload: {\n title: '',\n description: '',\n isTemplate: false,\n transactor: '',\n data: {},\n },\n });\n });\n };\n}\n\nexport function submitList({ id, payload, onSuccess }) {\n return (dispatch) => {\n dispatch({ type: CREATE_LIST_START });\n\n const { isTemplate } = payload || {};\n const { govpredictAdmin } = gon.currentUser;\n const type = (id && !isTemplate || id && (govpredictAdmin && isTemplate)) ? 'PUT' : 'POST';\n const urlSuffix = (id && !isTemplate || id && (govpredictAdmin && isTemplate)) ? `/${id}` : '';\n\n if (type === 'POST') {\n trackMoneyBallSmartSearchCreate();\n } else {\n trackMoneyBallSmartSearchUpdate();\n }\n\n const ajax = $.ajax({\n type,\n url: `/api_web/moneyball_v2/smart_searches${urlSuffix}`,\n contentType: REQUEST_CONTENT_TYPE,\n data: transformDataForBack({ payload }),\n });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: CREATE_LIST_DONE,\n payload: response,\n }))\n .then(() => {\n if (typeof onSuccess === 'function') {\n onSuccess();\n }\n })\n .catch(Notifications.defaultSubmitDataFailed);\n };\n}\n\nexport function reset() {\n return (dispatch) => {\n dispatch({\n type: RESET,\n });\n };\n}\n","import { fetchProfileTags } from 'redux/tags/actions';\nimport { fetchDefaultSubscription, fetchProfileSubscriptions } from 'redux/subscriptions/actions';\nimport { fetchProfileDocument, updateProfileShare } from 'redux/events/actions';\n\nimport { transformProfileForUI } from '../utils';\nimport constants from '../constants';\n\nexport function fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function fetchSubscriptions(payload) {\n return (dispatch) => {\n dispatch(fetchDefaultSubscription(constants));\n dispatch(fetchProfileSubscriptions({ payload }, constants));\n };\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n\nexport function onUpdateTrackings({ trackings }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_SUBSCRIPTIONS_DONE,\n payload: trackings,\n });\n}\n\nexport function fetchRegulationProfile(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_REGULATION });\n const { id } = payload;\n const url = `/api_web/state/regulations/${id}`;\n const ajax = $.get(url);\n\n const onSuccess = response => dispatch({\n type: constants.RECEIVE_REGULATION_DONE,\n payload: transformProfileForUI(response),\n });\n\n const onFailure = (error) => {\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(() => dispatch(fetchTags(payload)))\n .then(() => dispatch(fetchSubscriptions(payload)))\n .then(() => dispatch(fetchProfileDocument(payload, constants)))\n .catch(onFailure);\n };\n}\n\nexport function resetRegulationData() {\n return dispatch => dispatch({ type: constants.RESET_REGULATION_DATA });\n}\n\nexport function updateProfileMyFeed() {\n return (dispatch) => {\n dispatch(updateProfileShare(constants));\n };\n}\n","import { omitBy, isNil } from 'lodash';\n\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\n\nimport {\n transformPublicationsForUI,\n transformPublicationsForBE,\n transformTimelineForUI,\n} from '../utils';\nimport constants, { PUBLICATIONS_URL } from '../constants';\n\nexport const PUBLICATIONS_PER_PAGE = 10;\n\nfunction getPublicationsData(payload = {}, perPage) {\n const { sort, direction, page, grouped, customPerPage } = payload;\n const searchQuery = transformPublicationsForBE(payload);\n const searchForm = { search_form: searchQuery };\n\n const sortData = omitBy({ sort, direction, page, grouped }, isNil);\n const data = { ...searchForm, ...sortData, per_page: customPerPage || perPage };\n return { data, sortData };\n}\n\nfunction fetchPublicationsBase(payload = {}, actions, isTimeline = false) {\n let transformForUI = transformPublicationsForUI;\n const perPage = PUBLICATIONS_PER_PAGE;\n\n if (isTimeline) {\n transformForUI = transformTimelineForUI;\n }\n\n return (dispatch) => {\n dispatch({ type: actions.fetchStarted });\n\n const url = PUBLICATIONS_URL;\n const { data, sortData } = getPublicationsData(payload, perPage);\n\n const ajax = $.ajax({\n url,\n method: 'POST',\n data,\n });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: actions.fetchDone,\n payload: {\n ...transformForUI(response),\n paginator: transformPaginator(response, perPage),\n sort: transformSort(sortData),\n },\n }));\n };\n}\n\nexport function fetchPublications(payload = {}) {\n const actions = {\n fetchStarted: constants.FETCH_PUBLICATIONS,\n fetchDone: constants.RECEIVE_PUBLICATIONS_DONE,\n };\n\n return fetchPublicationsBase(payload, actions);\n}\n\nexport function fetchTimeline(payload = {}) {\n const actions = {\n fetchStarted: constants.FETCH_TIMELINE,\n fetchDone: constants.RECEIVE_TIMELINE_DONE,\n };\n\n return fetchPublicationsBase(payload, actions, true);\n}\n","export * from './profile';\nexport * from './publicationsTimeline';\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport {\n loadRecentSearches,\n loadSavedSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformOptionsForBE,\n transformSearchesForUI,\n transformOptionsForSave,\n} from '../utils/transformers';\n\nconst STRATEGY_SLUG = 'STATE_EXECUTIVE_LOOKUP';\n\n/** Advanced search actions */\nexport function loadExecutivesRecentSearches(params) {\n const recentSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return dispatch => dispatch(loadRecentSearches(\n recentSearch,\n transformSearchesForUI,\n ));\n}\n\nexport function loadExecutivesSavedSearches(params) {\n const savedSearch = { ...params, strategy_slug: STRATEGY_SLUG };\n\n return loadSavedSearches(\n savedSearch,\n transformSearchesForUI,\n );\n}\n\nexport function saveAdvancedSearchItem(data = {}, _, isSaved = true) {\n const advancedSearchData = {\n id: data.id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: STRATEGY_SLUG,\n search_params: transformOptionsForSave(data),\n saved: isSaved,\n },\n };\n\n if (!isSaved) {\n return onSaveRecentItem(\n advancedSearchData,\n loadExecutivesRecentSearches,\n );\n }\n\n return onSaveItem(\n advancedSearchData,\n loadExecutivesRecentSearches,\n );\n}\n\nexport function removeAdvancedSearchItem(id) {\n return onRemoveItem(id, loadExecutivesSavedSearches);\n}\n\nexport function saveInRecentSearch(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, isClickedItem = false } = payload;\n const isSaved = false;\n\n if (!isClickedItem && !isEmpty(transformOptionsForBE(searchData))) {\n return dispatch(saveAdvancedSearchItem(searchData, null, isSaved));\n }\n\n return null;\n };\n}\n","import { isEmpty, omitBy, pickBy, identity, map } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { CSV_ID, EXPORT_EMAIL_LIMIT } from 'utils/constants/export';\nimport { exportCSVBlob } from 'redux/exportReport/utils';\nimport { FULL_DATE_FORMAT } from 'utils/constants/date';\nimport { submitExportReport } from 'redux/exportReport/actions';\n\nimport { transformExecutive } from '../utils/transformers';\nimport { EXPORT_STRATEGY_SLUG } from '../utils/constants';\nimport { getExportInfo, getExportSortInfo, getExecutivesData } from '../utils';\nimport constants from '../constants';\n\nexport function submitExport(payload = {}) {\n const { items, searchData, exportOption, sort } = payload;\n const exportIds = items && items.map(item => item.id);\n const searchForm = !isEmpty(searchData) ? searchData : undefined;\n\n const data = {\n strategy_slug: EXPORT_STRATEGY_SLUG,\n 'strategy_inputs[ids]': exportIds,\n 'strategy_inputs[file_extension]': exportOption || CSV_ID,\n ...omitBy(getExportInfo(searchForm), isEmpty),\n ...pickBy(getExportSortInfo(sort), identity),\n };\n\n function onSuccessCustom(responseData) {\n return exportCSVBlob(\n responseData,\n `State executives ${moment().format(FULL_DATE_FORMAT)}.csv`,\n );\n }\n\n return submitExportReport({\n ...payload,\n data,\n onSuccessCustom,\n });\n}\n\nexport function getAllEmails(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.FETCH_EXECUTIVES_EMAILS });\n\n const { appliedFilters } = getState().state.executiveLookup.appliedFilters;\n\n const { url, data } = getExecutivesData({ ...payload, searchData: appliedFilters });\n const ajax = $.post(url, { ...data, per_page: EXPORT_EMAIL_LIMIT });\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_EXECUTIVES_EMAILS_DONE,\n payload: map(response.data, transformExecutive),\n });\n }\n\n return Promise.resolve(ajax).then(onSuccess);\n };\n}\n","import { getLookupRequestParams } from 'utils/lookup';\nimport { transformPaginator, transformSort } from 'utils/transformers/paginator';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\n\nimport constants from '../constants';\nimport { transformExecutivesForUI, transformOptionsForBE } from '../utils/transformers';\nimport { STATE_EXECUTIVES_URL } from '../utils/constants';\n\nexport * from './advancedSearch';\nexport * from './export';\n\nexport function fetchExecutives(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_EXECUTIVES });\n\n const { searchData = {}, clearAll, toResetSelectedItems } = payload;\n const { isSearch, data, sortData } = getLookupRequestParams(payload, transformOptionsForBE);\n\n const ajax = $.post(STATE_EXECUTIVES_URL, data);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_EXECUTIVES_DONE,\n payload: transformExecutivesForUI(response),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch || toResetSelectedItems,\n sort: transformSort(sortData),\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(saveAppliedFiltersToProps);\n };\n}\n\nexport function resetExecutives() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_EXECUTIVES });\n };\n}\n","export function transformDataSetForUI(dataSet) {\n const {\n total_rows,\n updated_at,\n is_rows_aggregate,\n ...restData\n } = dataSet;\n\n return {\n totalRows: String(total_rows),\n updatedAt: updated_at,\n isRowsAggregate: is_rows_aggregate,\n ...restData,\n };\n}\n\nexport function transformPaginationForUI(pagination) {\n const {\n current_page,\n next_page,\n per_page,\n prev_page,\n total_count,\n total_pages,\n } = pagination;\n\n return {\n currentPage: current_page,\n nextPage: next_page,\n pageSize: per_page,\n prevPage: prev_page,\n totalCount: total_count,\n totalPages: total_pages,\n };\n}\n","import { transformDataSetForUI, transformPaginationForUI } from './transformers';\nimport constants from './constants';\nimport { defaultPagination } from './reducers';\n\nconst { addNotification } = window.app.GlobalNotifier;\n\nexport function fetchDataSets({ sortData = {}, pagination = defaultPagination }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DATA_SETS });\n\n const url = '/api_web/company-subscription/institutional-data/data_sets';\n const method = 'GET';\n\n const { currentPage, pageSize } = pagination;\n const { column, direction } = sortData;\n const sortingParamName = `data_sets[sort][${column}]`;\n\n const data = {\n [sortingParamName]: direction,\n page: currentPage,\n per_page: pageSize,\n };\n\n const ajax = $.ajax({ url, method, data });\n\n return Promise.resolve(ajax)\n .then(({\n data: responseData,\n pagination: responsePagination,\n }) => dispatch({\n type: constants.RECEIVE_DATA_SETS_DONE,\n payload: responseData.map(transformDataSetForUI),\n pagination: transformPaginationForUI(responsePagination),\n sortData,\n }))\n .catch(() => {\n dispatch({ type: constants.RECEIVE_DATA_SETS_ERROR });\n addNotification({\n message: 'Could not load data sets. Please try again.',\n level: 'error',\n });\n });\n };\n}\n","import { map, isEmpty, isObject, filter, includes, get, size, omitBy } from 'lodash';\n\nimport { initialValues } from 'components/Dashboard/KeywordSearch/utils/constants';\nimport {\n STATE_BILLS_SLUG,\n STATE_REGULATIONS_SLUG,\n GOVERNOR_PRESS_RELEASES_SLUG,\n GOVERNOR_ORDERS_SLUG,\n LOCAL_DOCUMENTS_SLUG,\n SOCIAL_MEDIA_SLUG,\n} from 'components/Dashboard/utils/libProducts';\n\nfunction mapValue(values) {\n return map(values, item => (isObject(item) ? item.value : item));\n}\n\nfunction getStateBills(values, itemsToTrack) {\n const isStateBills = includes(itemsToTrack, STATE_BILLS_SLUG);\n const isStateRegulation = includes(itemsToTrack, STATE_REGULATIONS_SLUG);\n const isGovernorPressReleases = includes(itemsToTrack, GOVERNOR_PRESS_RELEASES_SLUG);\n const isGovernorOrders = includes(itemsToTrack, GOVERNOR_ORDERS_SLUG);\n const states = mapValue(values);\n\n return {\n ...(isStateBills && { state_bill_states: states }),\n ...(isStateRegulation && { state_regulation_document_states: states }),\n ...(isGovernorPressReleases && { doctrove_governor_press_release_states: states }),\n ...(isGovernorOrders && { doctrove_governor_order_states: states }),\n };\n}\n\nfunction getLocalDocuments(values, itemsToTrack) {\n const isLocalDocumentsIncluded = includes(itemsToTrack, LOCAL_DOCUMENTS_SLUG);\n\n if (!isLocalDocumentsIncluded) {\n return {};\n }\n\n const cities = filter(values, ['isCity', true]);\n\n return {\n town_intel_document_options: {\n states: mapValue(values),\n cities: mapValue(cities),\n },\n };\n}\n\nfunction getSocialMedia(values, itemsToTrack) {\n const isSocialMedia = includes(itemsToTrack, SOCIAL_MEDIA_SLUG);\n\n if (!isSocialMedia) {\n return {};\n }\n\n return { social_media_post_ids: mapValue(values) };\n}\n\nexport function transformKeywordForBE(payload, isUpdate) {\n const {\n keywords,\n nickname,\n itemsToTrack,\n statesToTrack,\n localDocumentOptions,\n socialMediaToTrack,\n notificationFrequency,\n workspacesToSubscribe,\n withWorkspacesOption,\n } = payload || {};\n\n const subscribableData = {\n keyword: keywords,\n item_types: itemsToTrack,\n };\n\n const commonProps = {\n title: nickname,\n frequency: notificationFrequency,\n ...(withWorkspacesOption && !isUpdate && { feed_tokens: mapValue(workspacesToSubscribe) }),\n };\n\n return omitBy({\n ...commonProps,\n subscribable_data: {\n ...subscribableData,\n ...getStateBills(statesToTrack, itemsToTrack),\n ...getLocalDocuments(localDocumentOptions, itemsToTrack),\n ...getSocialMedia(socialMediaToTrack, itemsToTrack),\n },\n }, isEmpty);\n}\n\nexport function transformKeywordForUI(payload, allStatesLength, defaultSubscription) {\n const { subscribable_data, frequency, title } = payload || {};\n const {\n keyword,\n model_slugs,\n state_bill_states,\n town_intel_document_options,\n social_media_post_ids,\n state_regulation_document_states,\n doctrove_governor_press_release_states,\n doctrove_governor_order_states,\n } = subscribable_data || {};\n\n const statesToTrack = state_bill_states\n || state_regulation_document_states\n || doctrove_governor_press_release_states\n || doctrove_governor_order_states\n || [];\n const localCities = get(town_intel_document_options, 'cities', []);\n const localStates = get(town_intel_document_options, 'states', []);\n const localCitiesLength = size(localStates);\n\n return {\n ...initialValues,\n keywords: keyword || '',\n nickname: title || '',\n itemsToTrack: model_slugs,\n statesToTrack,\n localCities,\n localDocumentOptions: [\n ...localStates,\n ...map(localCities, city => ({ ...city, isCity: true })),\n ],\n ...(localCitiesLength > 0 && { isAllLocalChecked: localCitiesLength === allStatesLength }),\n isAllSocialMediaSelected: isEmpty(social_media_post_ids),\n socialMediaToTrack: social_media_post_ids || [],\n notificationFrequency: frequency || defaultSubscription,\n };\n}\n","import { initialValues } from 'components/Dashboard/KeywordSearch/utils/constants';\nimport { BASE_FEEDS_URL } from 'redux/dashboardV2/constants';\n\nimport constants from './constants';\nimport { transformKeywordForBE, transformKeywordForUI } from './utils';\n\nexport function fetchKeyword(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_KEYWORD, payload });\n\n const { id, allStatesLength, defaultSubscription, feedToken } = payload || {};\n\n const url = `${BASE_FEEDS_URL}/${feedToken}/keywords/${id}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_KEYWORD_SUCCESS,\n payload: transformKeywordForUI(response, allStatesLength, defaultSubscription),\n }))\n .catch((error) => {\n dispatch({\n type: constants.RECEIVE_KEYWORD_FAILED,\n payload: { ...initialValues, notificationFrequency: defaultSubscription },\n });\n throw error;\n });\n };\n}\n\nexport function saveKeyword(data) {\n return (dispatch) => {\n dispatch({ type: constants.SAVE_KEYWORD });\n\n const { id, payload, handleSuccess, handleFailure, isUpdate = false, feedToken } = data || {};\n const requestData = transformKeywordForBE(payload, isUpdate);\n\n const baseUrl = `${BASE_FEEDS_URL}/${feedToken}/keywords`;\n const createData = { url: baseUrl, method: 'POST' };\n const updateData = { url: `${baseUrl}/${id}`, method: 'PUT' };\n const ajaxData = isUpdate ? updateData : createData;\n\n const ajax = $.ajax({\n ...ajaxData,\n data: JSON.stringify(requestData),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax)\n .then(() => {\n handleSuccess();\n dispatch({ type: constants.SAVE_KEYWORD_DONE });\n })\n .catch((error) => {\n handleFailure(error);\n throw error;\n });\n };\n}\n\nexport function resetKeywordForm(isLoadingKeyword = true) {\n return dispatch => (\n dispatch({\n type: constants.RESET_KEYWORD_FORM,\n isLoadingKeyword,\n })\n );\n}\n","import identity from 'lodash/identity';\nimport pickBy from 'lodash/pickBy';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getOfficeStaffer } from 'redux/staffers/common/utils';\nimport { CONGRESSIONAL_STAFFER_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nexport function transformStaffMembers(data) {\n data.staff_members = data.staff_members.map(staffer => ({\n name: {\n value: `${staffer.first_name} ${staffer.last_name}`,\n url: staffer.url,\n },\n title: staffer.title,\n email: staffer.email,\n }));\n\n return data;\n}\n\nfunction addTitleToCommitteeMembers(activePositions = []) {\n return activePositions.map((activePosition) => {\n const { committee } = activePosition;\n\n if (isEmpty(committee)) {\n return activePosition;\n }\n\n const { chairman, rankingMember } = committee;\n\n if (!isEmpty(chairman)) {\n chairman.role = 'Chairman';\n }\n\n if (!isEmpty(rankingMember)) {\n rankingMember.role = 'Ranking member';\n }\n\n return {\n ...activePosition,\n committee: {\n ...activePosition.committee,\n chairman,\n rankingMember,\n },\n };\n });\n}\n\nfunction transformSubject(subject) {\n const {\n abbreviated_title,\n party_short,\n party_slug,\n ...restSubject\n } = subject || {};\n\n return pickBy({\n ...restSubject,\n abbreviatedTitle: abbreviated_title,\n partyShort: party_short,\n partySlug: party_slug,\n }, identity);\n}\n\nfunction transformAdditionalStaff(additionalStaff) {\n return additionalStaff.map((staffer) => {\n const {\n first_name,\n last_name,\n ...restStaffer\n } = staffer;\n\n return {\n ...restStaffer,\n firstName: first_name,\n lastName: last_name,\n };\n });\n}\n\nfunction transformActivePositions(activePositions) {\n return activePositions.map((activePosition) => {\n const {\n additional_staff,\n committee,\n legislator,\n start_date,\n ...restActivePosition\n } = activePosition || {};\n\n const {\n ranking_member,\n chairman,\n ...restComittee\n } = committee || {};\n\n return {\n ...restActivePosition,\n committee: {\n ...restComittee,\n rankingMember: transformSubject(ranking_member),\n chairman: transformSubject(chairman),\n },\n legislator: transformSubject(legislator),\n additionalStaff: transformAdditionalStaff(additional_staff),\n startDate: start_date,\n };\n });\n}\n\nexport function transformStaffersData(data) {\n const {\n active_positions,\n organizational_positions,\n historical_positions,\n full_name,\n first_name,\n last_name,\n twitter_account,\n facebook_account,\n linkedin_account,\n gender_title,\n committee_staffer_type,\n ...restData\n } = data || {};\n\n return {\n ...restData,\n committeeStafferType: committee_staffer_type,\n activePositions: addTitleToCommitteeMembers(\n transformActivePositions(active_positions)\n ),\n historicalPositions: getOfficeStaffer(historical_positions),\n organizationalPositions: organizational_positions,\n fullName: full_name,\n firstName: first_name,\n lastName: last_name,\n twitterAccount: twitter_account,\n facebookAccount: facebook_account,\n linkedinAccount: linkedin_account,\n genderTitle: gender_title,\n documentType: DOCUMENT_TYPES.CONGRESSIONAL_STAFFER,\n itemType: CONGRESSIONAL_STAFFER_ITEM_TYPE,\n };\n}\n","import { isEmpty, orderBy } from 'lodash';\n\nimport isNotFoundError from 'utils/http/isNotFoundError';\nimport { sortStafferByColumn as sortStaffer } from 'redux/staffers/common/actions';\nimport { fetchProfileTags } from 'redux/tags/actions';\n\nimport constants from './constants';\nimport { transformStaffMembers, transformStaffersData } from './utils';\n\nfunction fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function fetchStafferData(payload = {}, getStafferProfileFailed) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAFFER_DATA });\n\n const { id } = payload;\n const url = `/api_web/rolodex/staffers/${id}`;\n const ajax = $.get(url);\n\n const onSuccess = response => dispatch({\n type: constants.FETCH_STAFFER_DATA_DONE,\n payload: transformStaffersData(response),\n isLegislator: !isEmpty(response.position.legislator),\n });\n\n const onError = (error) => {\n getStafferProfileFailed && getStafferProfileFailed();\n\n isNotFoundError(error) && dispatch({ type: constants.PROFILE_NOT_FOUND });\n\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(() => dispatch(fetchTags(payload)))\n .catch(onError);\n };\n}\n\nexport function fetchCommitteeOffice(id, getCommitteeFailed) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEE_OFFICE_DATA });\n\n const url = `/api_web/rolodex/committees/${id}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.FETCH_COMMITTEE_OFFICE_DATA_DONE,\n payload: transformStaffMembers(response),\n }))\n .catch((error) => {\n getCommitteeFailed && getCommitteeFailed();\n throw error;\n });\n };\n}\n\nexport function fetchLegislator(id, getLegislatorFailed) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_LEGISLATOR_DATA });\n\n const url = `/api_web/rolodex/legislators/${id}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.FETCH_LEGISLATOR_DATA_DONE,\n payload: transformStaffMembers(response),\n }))\n .catch((error) => {\n getLegislatorFailed && getLegislatorFailed();\n throw error;\n });\n };\n}\n\nexport function sortStafferByColumn(stafferKey, columnName, sortDirection) {\n return (dispatch, getState) => {\n const { stafferData } = getState().rolodex.stafferProfile;\n\n return dispatch(sortStaffer({\n stafferKey,\n columnName,\n sortDirection,\n stafferData,\n actionTypes: constants,\n }));\n };\n}\n\nexport function sortCommitteeOfficeByColumn(committeeKey, columnName, sortDirection) {\n return (dispatch, getState) => {\n dispatch({ type: constants.SORT_STAFFER_DATA });\n const { committeeOffice } = getState().rolodex.stafferProfile;\n\n const sortedCommitteeOfficeData = {\n ...committeeOffice,\n [committeeKey]: orderBy(\n committeeOffice[committeeKey],\n [columnName],\n [sortDirection]\n ),\n };\n\n return dispatch({\n type: constants.SORT_STAFFER_DATA_DONE,\n committeeOffice: sortedCommitteeOfficeData,\n });\n };\n}\n\nexport function sortLegislatorByColumn(legislatorKey, columnName, sortDirection) {\n return (dispatch, getState) => {\n dispatch({ type: constants.SORT_STAFFER_DATA });\n const { legislator } = getState().rolodex.stafferProfile;\n\n const sortedLegislatorData = {\n ...legislator,\n [legislatorKey]: orderBy(\n legislator[legislatorKey],\n [columnName],\n [sortDirection]\n ),\n };\n\n return dispatch({\n type: constants.SORT_STAFFER_DATA_DONE,\n legislator: sortedLegislatorData,\n });\n };\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n","import { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { LOCAL_EXECUTIVE_ITEM_TYPE } from 'utils/constants/itemTypes';\nimport { transformExecutive } from 'utils/transformers/profile/executive';\nimport { camelizeKeys } from 'utils/object';\nimport { LOCAL_ROLE } from 'utils/transformers/profile/constants';\n\nexport function transformLocalExecutive({ data }) {\n const executive = camelizeKeys(data);\n\n return {\n ...transformExecutive(executive, LOCAL_ROLE),\n itemType: LOCAL_EXECUTIVE_ITEM_TYPE,\n documentType: DOCUMENT_TYPES.LOCAL_EXECUTIVE,\n };\n}\n","import isNotFoundError from 'utils/http/isNotFoundError';\nimport notifications from 'components/Local/ExecutiveProfile/utils/notifications';\nimport { fetchProfileTags } from 'redux/tags/actions';\n\nimport { transformLocalExecutive } from './utils/transformers';\nimport constants, { LOCAL_EXECUTIVE_SLUG } from './constants';\n\nfunction fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function fetchExecutiveProfile(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_EXECUTIVE });\n\n const { id } = payload;\n\n const params = {\n id,\n profile_slug: LOCAL_EXECUTIVE_SLUG,\n };\n\n const url = '/api_web/executive_profile';\n const ajax = $.get(url, params);\n\n const onSuccess = (person) => {\n dispatch({\n type: constants.RECEIVE_EXECUTIVE_DONE,\n payload: person,\n });\n };\n\n const onFailure = (error) => {\n notifications.fetchProfileFailed();\n\n isNotFoundError(error) && dispatch({ type: constants.PROFILE_NOT_FOUND });\n\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(transformLocalExecutive)\n .then(onSuccess)\n .then(() => dispatch(fetchTags(payload)))\n .catch(onFailure);\n };\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n","import compact from 'lodash/compact';\n\nimport {\n getValue,\n getRecipientType,\n getCommitteeTypeValue,\n getContributionDonorInfo,\n getDisbursedRecipientInfo,\n getElectionTypeFilterValue,\n getCommitteeTypeFilterValue,\n transformContributionSearchesForFront,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n formatSelectTypeToValForFE,\n formatSelectValueForFE,\n sourceSelectValueForBE,\n formatReceivedTypesForBE,\n formatTypesForSaveBE,\n formatContributorType,\n getLabelForUI,\n formatAmounts,\n formatDates,\n getPluralLabel,\n formatZipCode,\n} from 'redux/moneyball/utils/transformers';\nimport { getDateValue, getAmountValue } from 'redux/moneyball/utils';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport { formatGlobalDate } from 'utils/date';\n\nexport function transformCommittee(committee) {\n const { sector, industry, category, organization_type, super_committee } = committee || {};\n const { committees, ...restCommittee } = super_committee || committee || {};\n const formattedCommittees = committees && {\n committees: committees.map(\n ({ address_zip_code, ...restCommittees }) => ({\n ...restCommittees,\n address_zip_code: formatZipCode(address_zip_code),\n })\n ),\n };\n\n return {\n ...restCommittee,\n ...formattedCommittees,\n sector,\n industry,\n category,\n organization_type,\n };\n}\n\nexport function transformContributions(contributions = []) {\n return contributions.map(({\n receipt,\n super_committee_donor: superCommDonor,\n super_individual_donor: superIndDonor,\n super_corporation_donor: superCorpDonor,\n super_committee_conduit,\n ...restProps\n }) => {\n const donorInfo = getContributionDonorInfo({ superCommDonor, superIndDonor, superCorpDonor });\n const { id: conduitId, name: conduitName } = super_committee_conduit || {};\n const { name, url } = donorInfo || {};\n const {\n is_pdf_available,\n filing_source_url,\n contribution_date,\n contribution_amount,\n source_type_full,\n election_type_full,\n donor_name,\n id,\n } = receipt || {};\n\n const donorNameProps = name ? { name, url } : { name: donor_name };\n\n return ({\n ...restProps,\n ...donorInfo,\n ...donorNameProps,\n id,\n contribution_date,\n source_type_full,\n election_type_full,\n conduitName,\n amount: contribution_amount,\n conduit: {\n conduitId,\n conduitUrl: `/moneyball_v2/committees/${conduitId}`,\n },\n receipts: {\n id,\n is_pdf_available,\n filing_source_url,\n },\n });\n });\n}\n\nexport function transformDisbursements(disbursements = []) {\n return disbursements.map(({ disbursement, recipient, ...restProps }) => {\n const { id, is_pdf_available, date, amount, description } = disbursement || {};\n const { state_code, ...restRecipientProps } = recipient || {};\n const recipientInfo = getDisbursedRecipientInfo(restRecipientProps);\n\n return ({\n ...restProps,\n ...recipientInfo,\n id,\n date: formatGlobalDate(date),\n amount,\n description,\n state_code,\n receipts: {\n id,\n is_pdf_available,\n },\n });\n });\n}\n\nexport function transformContributionSearchesForFE(search_params = {}) {\n const {\n query,\n contribution_date,\n contribution_amount,\n contributor_types,\n contributor,\n source_types,\n election_types,\n } = search_params;\n const { super_committees, super_individuals } = contributor || search_params;\n const { ids, types } = super_committees || search_params;\n const {\n names,\n employers,\n occupations,\n streets,\n cities,\n states,\n zip_codes,\n } = super_individuals || search_params;\n\n return transformContributionSearchesForFront({\n queryType: 'Contributions',\n contribution_amount,\n contribution_date,\n contributor_types,\n contributor,\n ids,\n types,\n names,\n employers,\n occupations,\n streets,\n cities,\n states,\n zip_codes,\n query,\n source_types,\n election_types,\n });\n}\n\nexport function transformDisbursementSearchesForFE(search_params = {}) {\n const {\n query,\n spender,\n disbursement_date,\n disbursement_amount,\n recipient,\n source_types,\n election_types,\n } = search_params;\n const { super_committees, super_vendors, super_individuals } = recipient || search_params;\n const { ids, types } = super_committees || search_params;\n const { ids: spenderIds } = spender || search_params;\n\n const {\n ids: vendorIds,\n cities: vendorCities,\n state_codes: vendorStates,\n zip_codes: vendorZip,\n } = super_vendors || search_params;\n\n const {\n names: individualNames,\n streets: individualStreets,\n cities: individualCities,\n state_codes: individualStates,\n zip_codes: individualZip,\n } = super_individuals || search_params;\n\n return {\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem('Searched type', 'Disbursements'),\n getDisplayItem('Dates', getDateValue(disbursement_date)),\n getDisplayItem('Amounts', getAmountValue(disbursement_amount)),\n getDisplayItem('Spender(s)', spenderIds),\n getDisplayItem('Recipient Type', getRecipientType(recipient, true)),\n getDisplayItem('Committee name(s)', getLabelForUI(ids)),\n getDisplayItem('Committee type(s)', getCommitteeTypeValue(types)),\n getDisplayItem('Vendor Name(s)', vendorIds),\n getDisplayItem('Vendor Cities', vendorCities),\n getDisplayItem('Vendor State(s)', vendorStates),\n getDisplayItem('Vendor Zip code(s)', vendorZip),\n getDisplayItem('Individual Name(s)', individualNames),\n getDisplayItem('Individual Street name(s)', individualStreets),\n getDisplayItem('Individual Cities', individualCities),\n getDisplayItem('Individual State(s)', individualStates),\n getDisplayItem('Individual Zip code(s)', individualZip),\n getDisplayItem(getPluralLabel('Source type', source_types), getCommitteeTypeFilterValue(source_types)),\n getDisplayItem(getPluralLabel('Election type', source_types), getElectionTypeFilterValue(election_types)),\n ]),\n data: {\n ...getValue('searchValue', query),\n ...getValue('searchType', 'disbursements'),\n options: {\n ...getValue('dates', formatDates(disbursement_date)),\n ...getValue('amounts', formatAmounts(disbursement_amount)),\n ...getValue('spender', formatSelectValueForFE(spenderIds)),\n ...getValue('recipientType', getRecipientType(recipient)),\n ...getValue('recipientCommittee', ids),\n ...getValue('recipientCommitteeTypes', types),\n ...getValue('recipientIndividuals', formatSelectValueForFE(individualNames)),\n ...getValue('recipientStreet', formatSelectValueForFE(individualStreets)),\n ...getValue('recipientCity', formatSelectValueForFE(individualCities)),\n ...getValue('recipientStates', formatSelectValueForFE(individualStates)),\n ...getValue('recipientZip', formatSelectValueForFE(individualZip)),\n ...getValue('recipientVendors', formatSelectValueForFE(vendorIds)),\n ...getValue('recipientVendorsCity', formatSelectValueForFE(vendorCities)),\n ...getValue('recipientVendorsStates', formatSelectValueForFE(vendorStates)),\n ...getValue('recipientVendorsZip', formatSelectValueForFE(vendorZip)),\n ...getValue('sourceTypes', formatSelectTypeToValForFE(source_types)),\n ...getValue('electionTypes', formatSelectTypeToValForFE(election_types)),\n },\n },\n };\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const { disbursement_date, disbursement_amount, recipient } = search_params || {};\n const isDisbursement = !!(disbursement_date || disbursement_amount || recipient);\n\n const dataTransformedBySearchType = isDisbursement\n ? transformDisbursementSearchesForFE(search_params)\n : transformContributionSearchesForFE(search_params);\n\n return {\n id,\n title: name || 'Applied filters:',\n ...dataTransformedBySearchType,\n };\n });\n}\n\nexport function transformContributionOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n dates,\n amounts,\n contributorType,\n contributorNonIndividual,\n contributorCommitteeTypes,\n contributorIndividuals,\n contributorEmployers,\n contributorOccupations,\n contributorStreet,\n contributorCity,\n contributorStates,\n contributorZip,\n sourceTypes,\n electionTypes,\n } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('contribution_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('contribution_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('contributor_types', formatContributorType(contributorType)),\n ...getValue('contributor', {\n ...getValue('super_committees', {\n ...getValue('ids', formatSelectValueToArrForBE(contributorNonIndividual)),\n ...getValue('types', contributorCommitteeTypes),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToArrForBE(contributorIndividuals)),\n ...getValue('employers', formatSelectValueToArrForBE(contributorEmployers)),\n ...getValue('occupations', formatSelectValueToArrForBE(contributorOccupations)),\n ...getValue('streets', formatSelectValueToArrForBE(contributorStreet)),\n ...getValue('cities', formatSelectValueToArrForBE(contributorCity)),\n ...getValue('states', formatSelectValueToArrForBE(contributorStates)),\n ...getValue('zip_codes', formatSelectValueToArrForBE(contributorZip)),\n }),\n }),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n ...getValue('election_types', formatSelectValueToArrForBE(electionTypes)),\n };\n}\n\nexport function transformDisbursementOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n dates,\n amounts,\n recipientCommittee,\n recipientCommitteeTypes,\n recipientIndividuals,\n recipientCity,\n recipientStates,\n recipientStreet,\n recipientVendors,\n recipientVendorsCity,\n recipientVendorsStates,\n recipientVendorsZip,\n recipientZip,\n electionTypes,\n sourceTypes,\n } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('disbursement_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('disbursement_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('recipient', {\n ...getValue('super_committees', {\n ...getValue('ids', formatSelectValueToArrForBE(recipientCommittee)),\n ...getValue('types', recipientCommitteeTypes),\n }),\n ...getValue('super_vendors', {\n ...getValue('ids', formatSelectValueToArrForBE(recipientVendors)),\n ...getValue('cities', formatSelectValueToArrForBE(recipientVendorsCity)),\n ...getValue('state_codes', formatSelectValueToArrForBE(recipientVendorsStates)),\n ...getValue('zip_codes', formatSelectValueToArrForBE(recipientVendorsZip)),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToArrForBE(recipientIndividuals)),\n ...getValue('streets', formatSelectValueToArrForBE(recipientStreet)),\n ...getValue('cities', formatSelectValueToArrForBE(recipientCity)),\n ...getValue('state_codes', formatSelectValueToArrForBE(recipientStates)),\n ...getValue('zip_codes', formatSelectValueToArrForBE(recipientZip)),\n }),\n }),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n ...getValue('election_types', formatSelectValueToArrForBE(electionTypes)),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformContributionOptionsSearchForBE(data = {}) {\n const baseOptions = transformContributionOptionsForBE(data);\n const { options } = data;\n const {\n contributorNonIndividual,\n contributorCommitteeTypes,\n contributorIndividuals,\n contributorEmployers,\n contributorOccupations,\n contributorStreet,\n contributorCity,\n contributorStates,\n contributorZip,\n sourceTypes,\n electionTypes,\n } = options || data;\n\n return {\n ...baseOptions,\n ...getValue('contributor', {\n ...getValue('super_committees', {\n ...getValue('ids', sourceSelectValueForBE(contributorNonIndividual)),\n ...getValue('types', contributorCommitteeTypes),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToObjForBE(contributorIndividuals)),\n ...getValue('employers', formatSelectValueToObjForBE(contributorEmployers)),\n ...getValue('occupations', formatSelectValueToObjForBE(contributorOccupations)),\n ...getValue('streets', formatSelectValueToObjForBE(contributorStreet)),\n ...getValue('cities', formatSelectValueToObjForBE(contributorCity)),\n ...getValue('states', formatSelectValueToObjForBE(contributorStates)),\n ...getValue('zip_codes', formatSelectValueToObjForBE(contributorZip)),\n }),\n }),\n ...getValue('source_types', formatTypesForSaveBE(sourceTypes)),\n ...getValue('election_types', formatTypesForSaveBE(electionTypes)),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformDisbursementOptionsSearchForBE(data = {}) {\n const baseOptions = transformDisbursementOptionsForBE(data);\n const { options } = data;\n const {\n recipientCommittee,\n recipientCommitteeTypes,\n recipientIndividuals,\n recipientStreet,\n recipientCity,\n recipientStates,\n recipientVendors,\n recipientVendorsCity,\n recipientVendorsStates,\n recipientVendorsZip,\n recipientZip,\n electionTypes,\n sourceTypes,\n } = options || data;\n\n return {\n ...baseOptions,\n ...getValue('recipient', {\n ...getValue('super_committees', {\n ...getValue('ids', sourceSelectValueForBE(recipientCommittee)),\n ...getValue('types', recipientCommitteeTypes),\n }),\n ...getValue('super_vendors', {\n ...getValue('ids', formatSelectValueToObjForBE(recipientVendors)),\n ...getValue('cities', formatSelectValueToObjForBE(recipientVendorsCity)),\n ...getValue('state_codes', formatSelectValueToObjForBE(recipientVendorsStates)),\n ...getValue('zip_codes', formatSelectValueToObjForBE(recipientVendorsZip)),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToObjForBE(recipientIndividuals)),\n ...getValue('streets', formatSelectValueToObjForBE(recipientStreet)),\n ...getValue('cities', formatSelectValueToObjForBE(recipientCity)),\n ...getValue('state_codes', formatSelectValueToObjForBE(recipientStates)),\n ...getValue('zip_codes', formatSelectValueToObjForBE(recipientZip)),\n }),\n }),\n ...getValue('source_types', formatTypesForSaveBE(sourceTypes)),\n ...getValue('election_types', formatTypesForSaveBE(electionTypes)),\n };\n}\n","import { isEmpty } from 'lodash';\n\nimport {\n getValue,\n transformReceiptContributions,\n transformReceiptDisbursements,\n} from 'redux/moneyball/utils/transformers';\nimport { DISBURSEMENTS, REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { currentDate } from 'utils/date';\nimport {\n slugify,\n fetchSearch,\n fetchSearchReceipt,\n fetchSearchKeyDetails,\n onSetElectionCycles,\n onSelectElectionCycle,\n fetchReport,\n} from 'redux/moneyball/utils';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformCommittee,\n transformContributions,\n transformDisbursements,\n transformSearchesForFE,\n transformContributionOptionsForBE,\n transformDisbursementOptionsForBE,\n transformContributionOptionsSearchForBE,\n transformDisbursementOptionsSearchForBE,\n} from './utils';\nimport constants from './constants';\n\nexport function initAppliedSearchFilters(emptyState, { searchType }) {\n return handleAppliedFilters({ ...emptyState, ...(searchType && { searchType }) });\n}\n\nexport function setElectionCycles(cycles) {\n return onSetElectionCycles(cycles, constants.SET_ELECTION_CYCLES);\n}\n\nexport function onSelectCycle(cycle) {\n return onSelectElectionCycle(cycle, constants.SELECT_ELECTION_CYCLE);\n}\n\nexport function loadCommitteeSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadCommitteeRecentSearches() {\n return dispatch => dispatch(loadRecentSearches(\n {\n strategy_slug: constants.STRATEGY_SLUG,\n },\n transformSearchesForFE,\n ));\n}\n\nexport function saveCommitteeAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformContributionOptionsSearchForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadCommitteeRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeCommitteeAdvancedSearch({ id }) {\n return onRemoveItem(id, loadCommitteeSavedSearches);\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map(item => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/receipts/export`;\n const data = JSON.stringify({\n receipt_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'contributor_name',\n 'contributor_url',\n 'contributor_type',\n 'party',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'county',\n 'district',\n 'occupation',\n 'employer',\n 'amount',\n 'receipt_date',\n 'election_type',\n 'conduit',\n 'recipient_name',\n 'recipient_url',\n 'source_type',\n 'filing_url',\n 'contributor_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function submitExportLookup({\n id,\n title,\n exportOption,\n appliedFilters,\n exportNotifications,\n}) {\n const exportLookupFilters = transformContributionOptionsForBE(appliedFilters);\n const url = `${gon.moneyballApiV2}/api/v1/receipts/export`;\n const data = JSON.stringify({\n lookup: {\n ...exportLookupFilters,\n super_committee_recipients: {\n ids: [id],\n },\n },\n format_type: exportOption,\n dimensions: [\n 'contributor_name',\n 'contributor_url',\n 'contributor_type',\n 'party',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'county',\n 'district',\n 'occupation',\n 'employer',\n 'amount',\n 'receipt_date',\n 'election_type',\n 'conduit',\n 'recipient_name',\n 'recipient_url',\n 'source_type',\n 'filing_url',\n 'contributor_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({\n url,\n data,\n contentType: REQUEST_CONTENT_TYPE,\n customFileName: `${slugify([title, currentDate(), 'receipts'].join('-'))}.${exportOption}`,\n })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function submitDisbursementsExport({\n items,\n exportOption,\n exportNotifications,\n toggleExportModal,\n}) {\n const exportIds = items && items.map(item => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/disbursements/export`;\n const data = JSON.stringify({\n disbursement_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'spender_name',\n 'spender_url',\n 'amount',\n 'disbursement_date',\n 'disbursement_description',\n 'conduit_committee_name',\n 'recipient_name',\n 'recipient_url',\n 'recipient_type',\n 'party',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'county',\n 'district',\n 'occupation',\n 'employer',\n 'source_type',\n 'filing_url',\n 'spender_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function submitDisbursementsExportLookup({\n id,\n title,\n exportOption,\n appliedFilters,\n exportNotifications,\n}) {\n const exportLookupFilters = transformDisbursementOptionsForBE(appliedFilters);\n const url = `${gon.moneyballApiV2}/api/v1/disbursements/export`;\n const data = JSON.stringify({\n lookup: {\n ...exportLookupFilters,\n spender: {\n ids: [id],\n },\n },\n format_type: exportOption,\n dimensions: [\n 'spender_name',\n 'spender_url',\n 'amount',\n 'disbursement_date',\n 'disbursement_description',\n 'conduit_committee_name',\n 'recipient_name',\n 'recipient_url',\n 'recipient_type',\n 'party',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'county',\n 'district',\n 'occupation',\n 'employer',\n 'source_type',\n 'filing_url',\n 'spender_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({\n url,\n data,\n contentType: REQUEST_CONTENT_TYPE,\n customFileName: `${slugify([title, currentDate(), 'disbursements'].join('-'))}.${exportOption}`,\n })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function fetchCommitteeData(id, params) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEE });\n\n return dispatch(\n fetchSearchKeyDetails({\n payload: params,\n url: `${gon.moneyballApiV2}/api/v1/super_committees/${id}`,\n actionType: constants.RECEIVE_COMMITTEE_DONE,\n transformResponse: transformCommittee,\n }),\n );\n };\n}\n\nexport function searchCommitteesReceipt({ id, appliedFilters }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEES_RECEIPT });\n\n const { searchType } = appliedFilters || {};\n let url = `${gon.moneyballApiV2}/api/v1/receipts/${id}`;\n let transformResponse = transformReceiptContributions;\n\n if (searchType === DISBURSEMENTS) {\n url = `${gon.moneyballApiV2}/api/v1/disbursements/${id}`;\n transformResponse = transformReceiptDisbursements;\n }\n\n return dispatch(\n fetchSearchReceipt({\n url,\n transformResponse,\n actionType: constants.RECEIVE_COMMITTEES_RECEIPT_DONE,\n }),\n );\n };\n}\n\nexport function searchCommitteesData(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_COMMITTEES_DATA });\n\n const {\n id,\n searchData,\n appliedFilters,\n ...restPayload\n } = payload;\n\n const { searchType } = searchData || appliedFilters || payload;\n let url = `${gon.moneyballApiV2}/api/v1/receipts/lookup`;\n let transformResponsePayloadBySearchType = transformContributions;\n let transformSearchToQueryBySearchType = transformContributionOptionsForBE;\n let transformAdvancedSearchToQueryBySearchType = transformContributionOptionsSearchForBE;\n let formattedPayload = {\n ...restPayload,\n searchData,\n appliedFilters,\n super_committee_recipients: {\n ids: [id],\n },\n };\n\n if (searchType === DISBURSEMENTS) {\n url = `${gon.moneyballApiV2}/api/v1/disbursements/lookup`;\n transformResponsePayloadBySearchType = transformDisbursements;\n transformSearchToQueryBySearchType = transformDisbursementOptionsForBE;\n transformAdvancedSearchToQueryBySearchType = transformDisbursementOptionsSearchForBE;\n formattedPayload = {\n ...restPayload,\n searchData,\n appliedFilters,\n spender: {\n ids: [id],\n },\n };\n }\n\n return dispatch(\n fetchSearch({\n url,\n payload: formattedPayload,\n actionType: constants.RECEIVE_COMMITTEES_DATA_DONE,\n transformResponsePayload: transformResponsePayloadBySearchType,\n transformSearchToQuery: transformSearchToQueryBySearchType,\n transformAdvancedSearchToQuery: transformAdvancedSearchToQueryBySearchType,\n saveRecentAdvancedSearch: saveCommitteeAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return dispatch => dispatch(resetAppliedFilters());\n}\n","import compact from 'lodash/compact';\n\nimport {\n getValue,\n getLabelForUI,\n getCommitteeTypeValue,\n sourceSelectValueForBE,\n getContributionRecipientInfo,\n formatSelectValueToArrForBE,\n formatReceivedTypesForBE,\n formatSelectTypeToValForFE,\n getCommitteeTypeFilterValue,\n getElectionTypeFilterValue,\n formatTypesForSaveBE,\n formatAmounts,\n formatZipCode,\n formatDates,\n getPluralLabel,\n} from 'redux/moneyball/utils/transformers';\nimport { getDateValue, getAmountValue } from 'redux/moneyball/utils';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\n\nexport function transformIndividual(individualItem = {}) {\n const {\n individuals,\n super_individual,\n super_individuals,\n ...restProps\n } = individualItem;\n\n const formattedSuperIndividual = super_individual && {\n super_individual: {\n ...super_individual,\n zip_code: formatZipCode(super_individual.zip_code),\n },\n };\n\n const formattedSuperIndividuals = super_individuals && {\n super_individuals: super_individuals.map(\n ({ super_individual: superIndividualItem, ...superIndividualsProps }) => ({\n ...superIndividualsProps,\n super_individual: {\n ...superIndividualItem,\n zip_code: formatZipCode(superIndividualItem.zip_code),\n },\n }),\n ),\n };\n\n const formattedIndividuals = individuals && {\n individuals: individuals.map(\n ({ individual, ...individualsProps }) => ({\n ...individualsProps,\n individual: {\n ...individual,\n zip_code: formatZipCode(individual.zip_code),\n },\n }),\n ),\n };\n\n return {\n ...restProps,\n ...formattedIndividuals,\n ...formattedSuperIndividual,\n ...formattedSuperIndividuals,\n };\n}\n\nexport function transformContributions(contributions = []) {\n return contributions.map(({\n receipt,\n super_committee_recipient,\n super_committee_conduit,\n ...restProps\n }) => {\n const recipientInfo = getContributionRecipientInfo(super_committee_recipient);\n const { id: conduitId, name: conduitName } = super_committee_conduit || {};\n const {\n is_pdf_available,\n filing_source_url,\n contribution_date,\n contribution_amount,\n source_type_full,\n election_type_full,\n id,\n } = receipt || {};\n\n return ({\n ...restProps,\n ...recipientInfo,\n id,\n contribution_date,\n source_type_full,\n election_type_full,\n conduitName,\n amount: contribution_amount,\n conduit: {\n conduitId,\n conduitUrl: `/moneyball_v2/committees/${conduitId}`,\n },\n receipts: {\n id,\n is_pdf_available,\n filing_source_url,\n },\n });\n });\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const {\n query,\n contribution_date,\n contribution_amount,\n super_committee_recipients,\n source_types,\n election_types,\n } = search_params || {};\n\n const { ids, types } = super_committee_recipients || {};\n\n return ({\n id,\n title: name || 'Applied filters:',\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem('Dates', getDateValue(contribution_date)),\n getDisplayItem('Amounts', getAmountValue(contribution_amount)),\n getDisplayItem('Recipient name(s)', getLabelForUI(ids)),\n getDisplayItem('Committee Type(s)', getCommitteeTypeValue(types)),\n getDisplayItem(getPluralLabel('Source type', source_types), getCommitteeTypeFilterValue(source_types)),\n getDisplayItem(getPluralLabel('Election type', election_types), getElectionTypeFilterValue(election_types)),\n ]),\n data: {\n ...getValue('searchValue', query),\n options: {\n ...getValue('dates', formatDates(contribution_date)),\n ...getValue('amounts', formatAmounts(contribution_amount)),\n ...getValue('sourceTypes', formatSelectTypeToValForFE(source_types)),\n ...getValue('electionTypes', formatSelectTypeToValForFE(election_types)),\n ...getValue('recipientNames', ids),\n ...getValue('committeeTypes', types),\n },\n },\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n dates,\n amounts,\n recipientNames,\n committeeTypes,\n electionTypes,\n sourceTypes,\n } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('contribution_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('contribution_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('super_committee_recipients', {\n ...getValue('ids', formatSelectValueToArrForBE(recipientNames)),\n ...getValue('types', committeeTypes),\n }),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n ...getValue('election_types', formatSelectValueToArrForBE(electionTypes)),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformOptionsSearchForBE(data = {}) {\n const { options } = data;\n const baseOptions = transformOptionsForBE(data);\n const {\n recipientNames,\n committeeTypes,\n electionTypes,\n sourceTypes,\n } = options || data;\n\n return {\n ...baseOptions,\n ...getValue('source_types', formatTypesForSaveBE(sourceTypes)),\n ...getValue('election_types', formatTypesForSaveBE(electionTypes)),\n ...getValue('super_committee_recipients', {\n ...getValue('ids', sourceSelectValueForBE(recipientNames)),\n ...getValue('types', committeeTypes),\n }),\n };\n}\n","import { isEmpty, merge } from 'lodash';\n\nimport { getValue, transformReceiptContributions } from 'redux/moneyball/utils/transformers';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { currentDate } from 'utils/date';\nimport { DOCX_ID } from 'utils/constants/export';\nimport {\n slugify,\n fetchReport,\n fetchSearch,\n fetchSearchReceipt,\n fetchSearchKeyDetails,\n onSelectElectionCycle,\n onSetElectionCycles,\n} from 'redux/moneyball/utils';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformIndividual,\n transformContributions,\n transformSearchesForFE,\n transformOptionsForBE,\n transformOptionsSearchForBE,\n} from './utils';\nimport constants from './constants';\n\nexport function setElectionCycles(cycles) {\n return onSetElectionCycles(cycles, constants.SET_ELECTION_CYCLES);\n}\n\nexport function onSelectCycle(cycle) {\n return onSelectElectionCycle(cycle, constants.SELECT_ELECTION_CYCLE);\n}\n\nexport function loadIndividualSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadIndividualRecentSearches() {\n return dispatch => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveIndividualAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformOptionsSearchForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadIndividualRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeIndividualAdvancedSearch({ id }) {\n return onRemoveItem(id, loadIndividualSavedSearches);\n}\n\nexport function submitExportOnePage({ id, combineIds, exportNotifications }) {\n const url = `${gon.moneyballApiV2}/api/v1/super_individuals/one_page_report.${DOCX_ID}`;\n const data = JSON.stringify({\n super_individual_ids: id === 'combine' ? combineIds : [id],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_ONE_PAGE_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n dispatch({\n type: constants.SUBMIT_EXPORT_ONE_PAGE_REPORT_DONE,\n });\n });\n };\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map(item => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/receipts/export`;\n const data = JSON.stringify({\n receipt_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'contributor_name',\n 'contributor_url',\n 'amount',\n 'receipt_date',\n 'election_type',\n 'conduit',\n 'recipient_name',\n 'recipient_url',\n 'recipient_type',\n 'recipient_party',\n 'source_type',\n 'filing_url',\n 'contributor_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function submitExportLookup({\n id,\n title,\n searchParams,\n exportOption,\n appliedFilters,\n exportNotifications,\n}) {\n const { ids } = searchParams;\n const exportIds = id !== 'combine' ? [id] : ids;\n const exportLookupFilters = transformOptionsForBE(appliedFilters);\n const url = `${gon.moneyballApiV2}/api/v1/receipts/export`;\n const data = JSON.stringify({\n lookup: merge(\n exportLookupFilters,\n {\n contributor: {\n super_individuals: {\n ids: exportIds,\n },\n },\n },\n ),\n format_type: exportOption,\n dimensions: [\n 'contributor_name',\n 'contributor_url',\n 'amount',\n 'receipt_date',\n 'election_type',\n 'conduit',\n 'recipient_name',\n 'recipient_url',\n 'recipient_type',\n 'recipient_party',\n 'source_type',\n 'filing_url',\n 'contributor_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({\n url,\n data,\n contentType: REQUEST_CONTENT_TYPE,\n customFileName: `${slugify([title, currentDate(), 'receipts'].join('-'))}.${exportOption}`,\n })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function fetchIndividual(id, params) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL });\n\n function getDefaultParams() {\n return {\n url: `${gon.moneyballApiV2}/api/v1/super_individuals/${id}`,\n data: params,\n type: 'GET',\n };\n }\n\n function getCombinedParams() {\n const { ids } = params;\n\n return {\n url: `${gon.moneyballApiV2}/api/v1/super_individuals/combine`,\n data: JSON.stringify({ super_individual_ids: ids }),\n type: 'POST',\n };\n }\n\n const { url, type, data } = id !== 'combine' ? getDefaultParams() : getCombinedParams();\n\n return dispatch(\n fetchSearchKeyDetails({\n url,\n type,\n payload: data,\n contentType: REQUEST_CONTENT_TYPE,\n actionType: constants.RECEIVE_INDIVIDUAL_DONE,\n transformResponse: transformIndividual,\n }),\n );\n };\n}\n\nexport function searchIndividualContributionsReceipt({ id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL_RECEIPT });\n\n return dispatch(\n fetchSearchReceipt({\n url: `${gon.moneyballApiV2}/api/v1/receipts/${id}`,\n transformResponse: transformReceiptContributions,\n actionType: constants.RECEIVE_INDIVIDUAL_RECEIPT_DONE,\n }),\n );\n };\n}\n\nexport function searchIndividualContributions(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL_CONTRIBUTIONS });\n\n const { id, ids, ...restPayload } = payload;\n const formattedPayload = {\n ...restPayload,\n contributor: {\n super_individuals: {\n ids: id === 'combine' ? ids : [id],\n },\n },\n };\n\n return dispatch(\n fetchSearch({\n payload: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/receipts/lookup`,\n actionType: constants.RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE,\n transformResponsePayload: transformContributions,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformOptionsSearchForBE,\n saveRecentAdvancedSearch: saveIndividualAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return dispatch => dispatch(resetAppliedFilters());\n}\n","import compact from 'lodash/compact';\n\nimport {\n getValue,\n getPluralLabel,\n getElectionTypeFilterValue,\n getCommitteeTypeValue,\n getCommitteeTypeFilterValue,\n getContributionRecipientInfo,\n formatSelectValueForFE,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n formatSelectTypeToValForFE,\n formatReceivedTypesForBE,\n formatTypesForSaveBE,\n formatAmounts,\n formatDates,\n formatZipCode,\n} from 'redux/moneyball/utils/transformers';\nimport { getDateValue, getAmountValue } from 'redux/moneyball/utils';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\n\nexport function transformCorporation(corporationItem = {}) {\n const { corporations, super_corporation, ...restProps } = corporationItem;\n\n const formattedSuperCorporation = super_corporation && {\n super_corporation: {\n ...super_corporation,\n zip_code: formatZipCode(super_corporation.zip_code),\n },\n };\n\n const formattedCorporations = corporations && {\n corporations: corporations.map(\n ({ corporation, ...corporationProps }) => ({\n ...corporationProps,\n corporation: {\n ...corporation,\n zip_code: formatZipCode(corporation.zip_code),\n },\n }),\n ),\n };\n\n return {\n ...restProps,\n ...formattedCorporations,\n ...formattedSuperCorporation,\n };\n}\n\nexport function transformContributions(contributions = []) {\n return contributions.map(({\n receipt,\n super_committee_recipient,\n super_committee_conduit,\n ...restProps\n }) => {\n const recipientInfo = getContributionRecipientInfo(super_committee_recipient);\n const { id: conduitId, name: conduitName } = super_committee_conduit || {};\n const {\n is_pdf_available,\n filing_source_url,\n contribution_date,\n contribution_amount,\n source_type_full,\n election_type_full,\n id,\n } = receipt || {};\n\n return ({\n ...restProps,\n ...recipientInfo,\n id,\n contribution_date,\n source_type_full,\n election_type_full,\n conduitName,\n amount: contribution_amount,\n conduit: {\n conduitId,\n conduitUrl: `/moneyball_v2/committees/${conduitId}`,\n },\n receipts: {\n id,\n is_pdf_available,\n filing_source_url,\n },\n });\n });\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const {\n query,\n contribution_date,\n contribution_amount,\n super_committee_recipients,\n source_types,\n election_types,\n } = search_params || {};\n\n const { ids, types } = super_committee_recipients || {};\n\n return ({\n id,\n title: name || 'Applied filters:',\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem('Dates', getDateValue(contribution_date)),\n getDisplayItem('Amounts', getAmountValue(contribution_amount)),\n getDisplayItem('Recipient name(s)', ids),\n getDisplayItem('Committee Type(s)', getCommitteeTypeValue(types)),\n getDisplayItem(getPluralLabel('Source type', source_types), getCommitteeTypeFilterValue(source_types)),\n getDisplayItem(getPluralLabel('Election type', election_types), getElectionTypeFilterValue(election_types)),\n ]),\n data: {\n ...getValue('searchValue', query),\n options: {\n ...getValue('dates', formatDates(contribution_date)),\n ...getValue('amounts', formatAmounts(contribution_amount)),\n ...getValue('recipientNames', formatSelectValueForFE(ids)),\n ...getValue('sourceTypes', formatSelectTypeToValForFE(source_types)),\n ...getValue('electionTypes', formatSelectTypeToValForFE(election_types)),\n ...getValue('committeeTypes', types),\n },\n },\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n dates,\n amounts,\n recipientNames,\n committeeTypes,\n electionTypes,\n sourceTypes,\n } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('contribution_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('contribution_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('super_committee_recipients', {\n ...getValue('ids', formatSelectValueToArrForBE(recipientNames)),\n ...getValue('types', committeeTypes),\n }),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n ...getValue('election_types', formatSelectValueToArrForBE(electionTypes)),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformOptionsSearchForBE(data = {}) {\n const { options } = data;\n const {\n recipientNames,\n committeeTypes,\n electionTypes,\n sourceTypes,\n } = options || data;\n const baseOptions = transformOptionsForBE(data);\n\n return {\n ...baseOptions,\n ...getValue('source_types', formatTypesForSaveBE(sourceTypes)),\n ...getValue('election_types', formatTypesForSaveBE(electionTypes)),\n ...getValue('super_committee_recipients', {\n ...getValue('ids', formatSelectValueToObjForBE(recipientNames)),\n ...getValue('types', committeeTypes),\n }),\n };\n}\n","import { isEmpty, merge } from 'lodash';\n\nimport { getValue, transformReceiptContributions } from 'redux/moneyball/utils/transformers';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { currentDate } from 'utils/date';\nimport {\n fetchReport,\n fetchSearch,\n fetchSearchReceipt,\n fetchSearchKeyDetails,\n onSelectElectionCycle,\n onSetElectionCycles, slugify,\n} from 'redux/moneyball/utils';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformCorporation,\n transformContributions,\n transformSearchesForFE,\n transformOptionsForBE,\n transformOptionsSearchForBE,\n} from './utils';\nimport constants from './constants';\n\nexport function setElectionCycles(cycles) {\n return onSetElectionCycles(cycles, constants.SET_ELECTION_CYCLES);\n}\n\nexport function onSelectCycle(cycle) {\n return onSelectElectionCycle(cycle, constants.SELECT_ELECTION_CYCLE);\n}\n\nexport function loadCorporationSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadCorporationRecentSearches() {\n return dispatch => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveCorporationAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformOptionsSearchForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadCorporationRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeCorporationAdvancedSearch({ id }) {\n return onRemoveItem(id, loadCorporationSavedSearches);\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map(item => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/receipts/export`;\n const data = JSON.stringify({\n receipt_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'contributor_name',\n 'contributor_url',\n 'amount',\n 'receipt_date',\n 'election_type',\n 'conduit',\n 'recipient_name',\n 'recipient_url',\n 'recipient_type',\n 'recipient_party',\n 'source_type',\n 'filing_url',\n 'contributor_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function submitExportLookup({\n id,\n title,\n searchParams,\n exportOption,\n appliedFilters,\n exportNotifications,\n}) {\n const { ids } = searchParams;\n const exportIds = id !== 'combine' ? [id] : ids;\n const exportLookupFilters = transformOptionsForBE(appliedFilters);\n const url = `${gon.moneyballApiV2}/api/v1/receipts/export`;\n const data = JSON.stringify({\n lookup: merge(\n exportLookupFilters,\n {\n contributor: {\n super_corporations: {\n ids: exportIds,\n },\n },\n },\n ),\n format_type: exportOption,\n dimensions: [\n 'contributor_name',\n 'contributor_url',\n 'amount',\n 'receipt_date',\n 'election_type',\n 'conduit',\n 'recipient_name',\n 'recipient_url',\n 'recipient_type',\n 'recipient_party',\n 'source_type',\n 'filing_url',\n 'contributor_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({\n url,\n data,\n contentType: REQUEST_CONTENT_TYPE,\n customFileName: `${slugify([title, currentDate(), 'receipts'].join('-'))}.${exportOption}`,\n })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function fetchCorporation(id, params) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CORPORATION });\n\n function getDefaultParams() {\n return {\n url: `${gon.moneyballApiV2}/api/v1/super_corporations/${id}`,\n data: params,\n type: 'GET',\n };\n }\n\n function getCombinedParams() {\n const { ids } = params;\n\n return {\n url: `${gon.moneyballApiV2}/api/v1/super_corporations/combine`,\n data: JSON.stringify({ super_corporation_ids: ids }),\n type: 'POST',\n };\n }\n\n const { url, type, data } = id !== 'combine' ? getDefaultParams() : getCombinedParams();\n\n return dispatch(\n fetchSearchKeyDetails({\n url,\n type,\n payload: data,\n contentType: REQUEST_CONTENT_TYPE,\n actionType: constants.RECEIVE_CORPORATION_DONE,\n transformResponse: transformCorporation,\n }),\n );\n };\n}\n\nexport function searchCorporationContributionsReceipt({ id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CORPORATION_RECEIPT });\n\n return dispatch(\n fetchSearchReceipt({\n url: `${gon.moneyballApiV2}/api/v1/receipts/${id}`,\n transformResponse: transformReceiptContributions,\n actionType: constants.RECEIVE_CORPORATION_RECEIPT_DONE,\n }),\n );\n };\n}\n\nexport function searchCorporationContributions(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CORPORATION_CONTRIBUTIONS });\n\n const { id, ids, ...restPayload } = payload;\n const formattedPayload = {\n ...restPayload,\n contributor: {\n super_corporations: {\n ids: id === 'combine' ? ids : [id],\n },\n },\n };\n\n return dispatch(\n fetchSearch({\n payload: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/receipts/lookup`,\n actionType: constants.RECEIVE_CORPORATION_CONTRIBUTIONS_DONE,\n transformResponsePayload: transformContributions,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformOptionsSearchForBE,\n saveRecentAdvancedSearch: saveCorporationAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return dispatch => dispatch(resetAppliedFilters());\n}\n","import { getValue, formatZipCode } from 'redux/moneyball/utils/transformers';\nimport { formatGlobalDate } from 'utils/date';\n\nexport function transformVendors(vendors = []) {\n return vendors.map((vendorItem) => {\n const { vendor, total_received, last_disbursement_date } = vendorItem;\n const { id, zip_code, ...restProps } = vendor || {};\n\n return ({\n ...restProps,\n id,\n url: `/moneyball_v2/vendors/${id}`,\n amount: total_received,\n date: formatGlobalDate(last_disbursement_date),\n zip_code: formatZipCode(zip_code),\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue } = data;\n\n return {\n ...getValue('query', searchValue),\n };\n}\n","import { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { fetchSearch } from 'redux/moneyball/utils';\n\nimport { transformVendors, transformOptionsForBE } from './utils';\nimport constants from './constants';\n\nexport function searchVendors(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_VENDORS });\n\n return dispatch(\n fetchSearch({\n payload,\n url: `${gon.moneyballApiV2}/api/v1/super_vendors/lookup`,\n actionType: constants.RECEIVE_VENDORS_DONE,\n transformResponsePayload: transformVendors,\n transformSearchToQuery: transformOptionsForBE,\n }),\n );\n };\n}\n\nexport function reset() {\n return (dispatch) => dispatch(resetAppliedFilters());\n}\n","import compact from 'lodash/compact';\n\nimport {\n getValue,\n getDisbursedRecipientInfo,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n formatSelectValueForFE,\n formatAmounts,\n formatZipCode,\n formatDates,\n} from 'redux/moneyball/utils/transformers';\nimport { getDateValue, getAmountValue } from 'redux/moneyball/utils';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport { formatGlobalDate } from 'utils/date';\n\nexport function transformVendor(vendorItem = {}) {\n const { vendors, super_vendor, ...restProps } = vendorItem;\n\n const formattedSuperVendor = super_vendor && {\n super_vendor: {\n ...super_vendor,\n zip_code: formatZipCode(super_vendor.zip_code),\n },\n };\n\n const formattedVendors = vendors && {\n vendors: vendors.map(\n ({ vendor, ...vendorProps }) => ({\n ...vendorProps,\n vendor: {\n ...vendor,\n zip_code: formatZipCode(vendor.zip_code),\n },\n }),\n ),\n };\n\n return {\n ...restProps,\n ...formattedVendors,\n ...formattedSuperVendor,\n };\n}\n\nexport function transformDisbursements(disbursements = []) {\n return disbursements.map((disbursementItem) => {\n const { disbursement, spender, recipient } = disbursementItem;\n const { id, is_pdf_available, date, spender_name, ...restDisbursementProps } = disbursement || {};\n const { id: spenderId, name: spenderName } = spender || {};\n const { state_code, ...restRecipientProps } = recipient || {};\n const recipientInfo = getDisbursedRecipientInfo(restRecipientProps);\n\n return ({\n ...restDisbursementProps,\n ...recipientInfo,\n state_code,\n id: spenderId,\n name: spenderName || spender_name,\n url: spenderName && `/moneyball_v2/committees/${spenderId}`,\n date: formatGlobalDate(date),\n receipts: {\n id,\n is_pdf_available,\n },\n });\n });\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const { query, spender, disbursement_date, disbursement_amount } = search_params || data;\n const { ids: spenderIds } = spender || {};\n\n return {\n id,\n title: name || 'Applied filters:',\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem('Dates', getDateValue(disbursement_date)),\n getDisplayItem('Amounts', getAmountValue(disbursement_amount)),\n getDisplayItem('Spender(s)', spenderIds),\n ]),\n data: {\n ...getValue('searchValue', query),\n options: {\n ...getValue('dates', formatDates(disbursement_date)),\n ...getValue('amounts', formatAmounts(disbursement_amount)),\n ...getValue('spender', formatSelectValueForFE(spenderIds)),\n },\n },\n };\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const { amounts, dates, spender } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('disbursement_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('disbursement_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('spender', {\n ...getValue('ids', formatSelectValueToArrForBE(spender)),\n }),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformOptionsSearchForBE(data = {}) {\n const baseOptions = transformOptionsForBE(data);\n const { options } = data;\n const { spender } = options || data;\n\n return {\n ...baseOptions,\n ...getValue('spender', {\n ...getValue('ids', formatSelectValueToObjForBE(spender)),\n }),\n };\n}\n","import { isEmpty } from 'lodash';\n\nimport { getValue, transformReceiptDisbursements } from 'redux/moneyball/utils/transformers';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport {\n fetchSearch,\n fetchSearchReceipt,\n fetchSearchKeyDetails,\n onSelectElectionCycle,\n onSetElectionCycles,\n} from 'redux/moneyball/utils';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformVendor,\n transformDisbursements,\n transformSearchesForFE,\n transformOptionsForBE,\n transformOptionsSearchForBE,\n} from './utils';\nimport constants from './constants';\n\nexport function initAppliedSearchFilters(emptyState, { searchType }) {\n return handleAppliedFilters({ ...emptyState, ...(searchType && { searchType }) });\n}\n\nexport function setElectionCycles(cycles) {\n return onSetElectionCycles(cycles, constants.SET_ELECTION_CYCLES);\n}\n\nexport function onSelectCycle(cycle) {\n return onSelectElectionCycle(cycle, constants.SELECT_ELECTION_CYCLE);\n}\n\nexport function loadVendorSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadVendorRecentSearches() {\n return (dispatch) => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveVendorAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformOptionsSearchForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadVendorRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeVendorAdvancedSearch({ id }) {\n return onRemoveItem(id, loadVendorSavedSearches);\n}\n\nexport function fetchVendorData(id, params) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_VENDOR });\n\n function getDefaultParams() {\n return {\n url: `${gon.moneyballApiV2}/api/v1/super_vendors/${id}`,\n data: params,\n type: 'GET',\n };\n }\n\n function getCombinedParams() {\n const { ids } = params;\n\n return {\n url: `${gon.moneyballApiV2}/api/v1/super_vendors/combine`,\n data: JSON.stringify({ super_vendor_ids: ids }),\n type: 'POST',\n };\n }\n\n const { url, type, data } = id !== 'combine' ? getDefaultParams() : getCombinedParams();\n\n return dispatch(\n fetchSearchKeyDetails({\n url,\n type,\n payload: data,\n contentType: REQUEST_CONTENT_TYPE,\n actionType: constants.RECEIVE_VENDOR_DONE,\n transformResponse: transformVendor,\n }),\n );\n };\n}\n\nexport function searchVendorsReceipt({ id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_VENDOR_RECEIPT });\n\n return dispatch(\n fetchSearchReceipt({\n url: `${gon.moneyballApiV2}/api/v1/disbursements/${id}`,\n transformResponse: transformReceiptDisbursements,\n actionType: constants.RECEIVE_VENDOR_RECEIPT_DONE,\n }),\n );\n };\n}\n\nexport function searchVendorDisbursements(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_VENDOR_DISBURSEMENTS });\n\n const { id, ids, ...restPayload } = payload;\n const formattedPayload = {\n ...restPayload,\n recipient: {\n super_vendors: {\n ids: id === 'combine' ? ids : [id],\n },\n },\n };\n\n return dispatch(\n fetchSearch({\n payload: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/disbursements/lookup`,\n actionType: constants.RECEIVE_VENDOR_DISBURSEMENTS_DONE,\n transformResponsePayload: transformDisbursements,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformOptionsSearchForBE,\n saveRecentAdvancedSearch: saveVendorAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return (dispatch) => dispatch(resetAppliedFilters());\n}\n","import {\n getValue,\n getContributionDonorInfo,\n getContributionRecipientInfo,\n transformContributionSearchesForFront,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n formatReceivedTypesForBE,\n formatTypesForSaveBE,\n sourceSelectValueForBE,\n formatContributorType,\n formatZipCode,\n} from 'redux/moneyball/utils/transformers';\n\nexport function transformCandidate(candidate = {}) {\n const { address_zip_code, candidates, ...restCandidate } = candidate || {};\n const formattedCandidates = candidates && {\n candidates: candidates.map(\n ({ committees, ...restCandidates }) => ({\n ...restCandidates,\n committees: committees && committees.map(\n ({ address_zip_code: committeeAddressZipCode, ...restCommittees }) => ({\n ...restCommittees,\n address_zip_code: formatZipCode(committeeAddressZipCode),\n })\n ),\n })\n ),\n };\n\n return {\n ...restCandidate,\n ...formattedCandidates,\n address_zip_code: formatZipCode(address_zip_code),\n };\n}\n\nexport function transformContributions(contributions = []) {\n return contributions.map(({\n receipt,\n super_individual_donor: superIndDonor,\n super_committee_donor: superCommDonor,\n super_corporation_donor: superCorpDonor,\n super_committee_recipient,\n super_committee_conduit,\n ...restProps\n }) => {\n const donorInfo = getContributionDonorInfo({ superCommDonor, superIndDonor, superCorpDonor });\n const recipientInfo = getContributionRecipientInfo(super_committee_recipient);\n const { id: conduitId, name: conduitName } = super_committee_conduit || {};\n const { name, url } = donorInfo || {};\n const {\n is_pdf_available,\n filing_source_url,\n contribution_date,\n contribution_amount,\n source_type_full,\n election_type_full,\n donor_name,\n id,\n } = receipt || {};\n\n const donorNameProps = name ? { name, url } : { name: donor_name };\n\n return ({\n ...restProps,\n ...donorInfo,\n ...donorNameProps,\n ...recipientInfo,\n id,\n contribution_date,\n source_type_full,\n election_type_full,\n conduitName,\n amount: contribution_amount,\n conduit: {\n conduitId,\n conduitUrl: `/moneyball_v2/committees/${conduitId}`,\n },\n receipts: {\n id,\n is_pdf_available,\n filing_source_url,\n },\n });\n });\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const {\n query,\n contribution_date,\n contribution_amount,\n contributor_types,\n contributor,\n source_types,\n election_types,\n } = search_params || {};\n\n const { super_committees, super_individuals } = contributor || {};\n const { ids, types } = super_committees || {};\n const {\n names,\n employers,\n occupations,\n streets,\n cities,\n states,\n zip_codes,\n } = super_individuals || {};\n\n return {\n id,\n title: name || 'Applied filters:',\n ...transformContributionSearchesForFront({\n contribution_amount,\n contribution_date,\n contributor_types,\n contributor,\n ids,\n types,\n names,\n employers,\n occupations,\n streets,\n cities,\n states,\n zip_codes,\n query,\n source_types,\n election_types,\n }),\n };\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n dates,\n amounts,\n contributorType,\n contributorNonIndividual,\n contributorCommitteeTypes,\n contributorIndividuals,\n contributorEmployers,\n contributorOccupations,\n contributorStreet,\n contributorCity,\n contributorStates,\n contributorZip,\n electionTypes,\n sourceTypes,\n } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('contribution_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('contribution_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('contributor_types', formatContributorType(contributorType)),\n ...getValue('contributor', {\n ...getValue('super_committees', {\n ...getValue('ids', formatSelectValueToArrForBE(contributorNonIndividual)),\n ...getValue('types', contributorCommitteeTypes),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToArrForBE(contributorIndividuals)),\n ...getValue('employers', formatSelectValueToArrForBE(contributorEmployers)),\n ...getValue('occupations', formatSelectValueToArrForBE(contributorOccupations)),\n ...getValue('streets', formatSelectValueToArrForBE(contributorStreet)),\n ...getValue('cities', formatSelectValueToArrForBE(contributorCity)),\n ...getValue('states', formatSelectValueToArrForBE(contributorStates)),\n ...getValue('zip_codes', formatSelectValueToArrForBE(contributorZip)),\n }),\n }),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n ...getValue('election_types', formatSelectValueToArrForBE(electionTypes)),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformOptionsSearchForBE(data = {}) {\n const { options } = data;\n const {\n contributorNonIndividual,\n contributorCommitteeTypes,\n contributorIndividuals,\n contributorEmployers,\n contributorOccupations,\n contributorStreet,\n contributorCity,\n contributorStates,\n contributorZip,\n electionTypes,\n sourceTypes,\n } = options || data;\n const baseOptions = transformOptionsForBE(data);\n\n return {\n ...baseOptions,\n ...getValue('contributor', {\n ...getValue('super_committees', {\n ...getValue('ids', sourceSelectValueForBE(contributorNonIndividual)),\n ...getValue('types', contributorCommitteeTypes),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToObjForBE(contributorIndividuals)),\n ...getValue('employers', formatSelectValueToObjForBE(contributorEmployers)),\n ...getValue('occupations', formatSelectValueToObjForBE(contributorOccupations)),\n ...getValue('streets', formatSelectValueToObjForBE(contributorStreet)),\n ...getValue('cities', formatSelectValueToObjForBE(contributorCity)),\n ...getValue('states', formatSelectValueToObjForBE(contributorStates)),\n ...getValue('zip_codes', formatSelectValueToObjForBE(contributorZip)),\n }),\n }),\n ...getValue('source_types', formatTypesForSaveBE(sourceTypes)),\n ...getValue('election_types', formatTypesForSaveBE(electionTypes)),\n };\n}\n","import { isEmpty } from 'lodash';\n\nimport { getValue, transformReceiptContributions } from 'redux/moneyball/utils/transformers';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { currentDate } from 'utils/date';\nimport {\n slugify,\n fetchReport,\n fetchSearch,\n fetchSearchReceipt,\n fetchSearchKeyDetails,\n onSetElectionCycles,\n onSelectElectionCycle,\n} from 'redux/moneyball/utils';\nimport {\n loadSavedSearches,\n loadRecentSearches,\n onRemoveItem,\n onSaveItem,\n onSaveRecentItem,\n} from 'redux/advancedSearch/actions';\n\nimport {\n transformCandidate,\n transformContributions,\n transformSearchesForFE,\n transformOptionsForBE,\n transformOptionsSearchForBE,\n} from './utils';\nimport constants from './constants';\n\nexport function setElectionCycles(cycles) {\n return onSetElectionCycles(cycles, constants.SET_ELECTION_CYCLES);\n}\n\nexport function onSelectCycle(cycle) {\n return onSelectElectionCycle(cycle, constants.SELECT_ELECTION_CYCLE);\n}\n\nexport function loadCandidateSavedSearches(params) {\n return loadSavedSearches(\n { ...params, strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n );\n}\n\nexport function loadCandidateRecentSearches() {\n return dispatch => dispatch(loadRecentSearches(\n { strategy_slug: constants.STRATEGY_SLUG },\n transformSearchesForFE,\n ));\n}\n\nexport function saveCandidateAdvancedSearch(item) {\n const { id = null, data = {} } = item;\n const searchParams = !isEmpty(data) ? transformOptionsSearchForBE(data) : item;\n const advancedSearchData = {\n id,\n advanced_search: {\n ...getValue('name', data.name),\n strategy_slug: constants.STRATEGY_SLUG,\n search_params: searchParams,\n saved: !!id,\n },\n };\n\n return id\n ? onSaveItem(advancedSearchData, loadCandidateRecentSearches)\n : onSaveRecentItem(advancedSearchData);\n}\n\nexport function removeCandidateAdvancedSearch({ id }) {\n return onRemoveItem(id, loadCandidateSavedSearches);\n}\n\nexport function submitExport({ items, exportOption, exportNotifications, toggleExportModal }) {\n const exportIds = items && items.map(item => item.id);\n const url = `${gon.moneyballApiV2}/api/v1/receipts/export`;\n const data = JSON.stringify({\n receipt_ids: exportIds,\n format_type: exportOption,\n dimensions: [\n 'contributor_name',\n 'contributor_url',\n 'contributor_type',\n 'party',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'county',\n 'district',\n 'occupation',\n 'employer',\n 'amount',\n 'receipt_date',\n 'election_type',\n 'conduit',\n 'recipient_name',\n 'recipient_url',\n 'source_type',\n 'filing_url',\n 'contributor_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({ url, data, contentType: REQUEST_CONTENT_TYPE })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n toggleExportModal && toggleExportModal();\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function submitExportLookup({ id, title, exportOption, appliedFilters, exportNotifications }) {\n const exportLookupFilters = transformOptionsForBE(appliedFilters);\n const url = `${gon.moneyballApiV2}/api/v1/receipts/export`;\n const data = JSON.stringify({\n lookup: {\n ...exportLookupFilters,\n super_candidate_recipients: {\n ids: [id],\n },\n },\n format_type: exportOption,\n dimensions: [\n 'contributor_name',\n 'contributor_url',\n 'contributor_type',\n 'party',\n 'street_1',\n 'street_2',\n 'city',\n 'state_code',\n 'zip_code',\n 'county',\n 'district',\n 'occupation',\n 'employer',\n 'amount',\n 'receipt_date',\n 'election_type',\n 'conduit',\n 'recipient_name',\n 'recipient_url',\n 'source_type',\n 'filing_url',\n 'contributor_source_id',\n 'recipient_source_id',\n ],\n });\n\n return (dispatch) => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_LOADING,\n });\n\n fetchReport({\n url,\n data,\n contentType: REQUEST_CONTENT_TYPE,\n customFileName: `${slugify([title, currentDate(), 'receipts'].join('-'))}.${exportOption}`,\n })\n .then(exportNotifications.getSuccess)\n .catch(exportNotifications.getFailed)\n .finally(() => {\n dispatch({\n type: constants.SUBMIT_EXPORT_REPORT_DONE,\n });\n });\n };\n}\n\nexport function fetchCandidateData(id, params) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CANDIDATE });\n\n return dispatch(\n fetchSearchKeyDetails({\n payload: params,\n url: `${gon.moneyballApiV2}/api/v1/super_candidates/${id}`,\n actionType: constants.RECEIVE_CANDIDATE_DONE,\n transformResponse: transformCandidate,\n }),\n );\n };\n}\n\nexport function searchCandidatesReceipt({ id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CANDIDATE_RECEIPT });\n\n return dispatch(\n fetchSearchReceipt({\n url: `${gon.moneyballApiV2}/api/v1/receipts/${id}`,\n transformResponse: transformReceiptContributions,\n actionType: constants.RECEIVE_CANDIDATE_RECEIPT_DONE,\n }),\n );\n };\n}\n\nexport function searchCandidatesContributions(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_CANDIDATE_CONTRIBUTIONS });\n\n const { id, ...restPayload } = payload;\n const formattedPayload = {\n ...restPayload,\n super_candidate_recipients: {\n ids: [id],\n },\n };\n\n return dispatch(\n fetchSearch({\n payload: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/receipts/lookup`,\n actionType: constants.RECEIVE_CANDIDATE_CONTRIBUTIONS_DONE,\n transformResponsePayload: transformContributions,\n transformSearchToQuery: transformOptionsForBE,\n transformAdvancedSearchToQuery: transformOptionsSearchForBE,\n saveRecentAdvancedSearch: saveCandidateAdvancedSearch,\n }),\n );\n };\n}\n\nexport function reset() {\n return dispatch => dispatch(resetAppliedFilters());\n}\n","import moment from 'moment';\nimport { isEmpty, map } from 'lodash';\n\nimport { EMPTY_VALUE } from 'utils/constants/emptyData';\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nconst searchItem = ({ status, ...props }) => {\n const { is_template, request_data, created_at, last_run_at, is_contact_enrichment_requested } = props;\n const { transactor } = request_data || {};\n const isEnrichmentEnabled = !is_template && transactor === 'individual_contributor';\n const isCommitteeRecipientsTransactor = transactor === 'committee_recipient';\n const remainingTime = isCommitteeRecipientsTransactor ? 'less than a minute' : 'about 10 mins';\n const { result, status: currentStatus } = status || {};\n const { url } = result || {};\n const hasResults = !isEmpty(result);\n const disabled = !(hasResults && url);\n const defaultProgress = 10;\n\n let progressCompleted = defaultProgress;\n\n if (hasResults) {\n const { done = 0, total = 1 } = result;\n\n progressCompleted = Math.max(Math.min(Math.ceil((done / total) * 100), 100), defaultProgress);\n }\n\n const types = {\n success: {\n title: 'Complete!',\n titleTheme: 'success',\n percent: 100,\n },\n enqueued: {\n title: 'Processing: about 15 mins left',\n titleTheme: 'pending',\n percent: progressCompleted,\n },\n progress: {\n title: `Processing: ${remainingTime} left`,\n titleTheme: 'pending',\n percent: progressCompleted,\n },\n failure: {\n title: 'Oops, something went wrong. Please edit this search and try again.',\n percent: 0,\n titleTheme: 'failure',\n },\n };\n\n // search is considered fresh if last update was made not more than 24h ago\n const pastHours = Math.ceil((moment().diff(last_run_at) / 1000) / (60 * 60));\n const hasFreshResults = pastHours <= 24;\n\n const formatDate = date => (!isEmpty(date) && moment(date).format(GLOBAL_DATE_FORMAT)) || EMPTY_VALUE;\n const progress = (currentStatus && types[currentStatus]) || types.success;\n\n return {\n ...props,\n status,\n progress,\n disabled,\n description: props.description || EMPTY_VALUE,\n hasFreshResults,\n createdDate: formatDate(created_at),\n lastRunDate: formatDate(last_run_at),\n isEnrichmentRequested: is_contact_enrichment_requested,\n withEnrichment: isEnrichmentEnabled,\n };\n};\n\nexport const updateItemSearches = (item = {}) => searchItem(item);\n\nexport const transformSearches = (items = []) => map(items, searchItem);\n","import { map, filter } from 'lodash';\n\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\n\nimport { updateItemSearches, transformSearches } from './utils';\nimport {\n API_URL,\n FETCH_SEARCHES,\n RECEIVE_SEARCHES,\n DELETE_SEARCHES_ITEM,\n RESET_SEARCHES_TIMERS,\n RECEIVE_SEARCHES_RESULT,\n REFRESH_SEARCHES_RESULTS,\n RECEIVE_SEARCHES_RESULTS,\n SET_ENRICHMENT,\n RESET,\n} from './constants';\n\nconst fetchSearchesItemResults = ({ id, dispatch }) => {\n const url = `${API_URL}/smart_searches/${id}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: RECEIVE_SEARCHES_RESULT,\n payload: updateItemSearches(response),\n }));\n};\n\nconst fetchSearchesAllResults = ({ ids, dispatch }) => {\n const url = `${API_URL}/smart_searches/jobs`;\n const ajax = $.ajax({\n url,\n type: 'POST',\n data: JSON.stringify({ job_ids: ids }),\n contentType: REQUEST_CONTENT_TYPE,\n });\n\n return Promise.resolve(ajax)\n .then(({ data }) => dispatch({\n type: RECEIVE_SEARCHES_RESULTS,\n payload: transformSearches(data),\n }));\n};\n\nconst timers = {};\n\nconst pollingSearchesData = ({ dispatch, payload }) => {\n const ids = map(filter(payload, 'disabled'), 'id');\n\n const poolTimer = (id, ms) => {\n clearTimeout(timers[id]);\n\n fetchSearchesAllResults({ ids, dispatch });\n\n timers[id] = setTimeout(() => poolTimer(id, ms), ms);\n };\n\n poolTimer('lookup', 60000);\n};\n\nexport const clearTimers = () => {\n Object.values(timers).forEach(id => clearTimeout(id));\n\n return {\n type: RESET_SEARCHES_TIMERS,\n };\n};\n\nexport const fetchSearchesData = () => (dispatch) => {\n dispatch({ type: FETCH_SEARCHES });\n\n const ajax = $.get(`${API_URL}/smart_searches`);\n\n return Promise.resolve(ajax)\n .then(({ data }) => dispatch({\n type: RECEIVE_SEARCHES,\n payload: transformSearches(data),\n }))\n .then(({ payload }) => {\n pollingSearchesData({ payload, dispatch });\n });\n};\n\nexport const deleteSearchesItem = id => (dispatch) => {\n const url = `${API_URL}/smart_searches/${id}`;\n\n const ajax = $.ajax({\n url,\n type: 'DELETE',\n });\n\n return Promise.resolve(ajax)\n .then(() => dispatch({\n type: DELETE_SEARCHES_ITEM,\n payload: { id },\n }));\n};\n\nexport const refreshSearchesItem = id => (dispatch) => {\n const url = `${API_URL}/smart_searches/${id}/refresh`;\n\n const ajax = $.ajax({\n url,\n type: 'PUT',\n });\n\n return Promise.resolve(ajax)\n .then(() => {\n dispatch({\n type: REFRESH_SEARCHES_RESULTS,\n });\n\n fetchSearchesItemResults({ id, dispatch });\n });\n};\n\nexport const enrichmentSearchesItem = id => (dispatch) => {\n const ajax = $.ajax({\n url: `${API_URL}/smart_searches/${id}/contact_enrichment`,\n type: 'POST',\n });\n\n const onSuccess = () => dispatch({\n type: SET_ENRICHMENT,\n payload: {\n value: true,\n id,\n },\n });\n\n const onFailure = () => dispatch({\n type: SET_ENRICHMENT,\n payload: {\n value: false,\n id,\n },\n });\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n};\n\nexport function reset() {\n return (dispatch) => {\n dispatch({\n type: RESET,\n });\n };\n}\n","import { uniq, flatMap } from 'lodash';\n\nimport { getValue } from 'redux/moneyball/utils/transformers';\n\nexport function transformData(response = []) {\n return response.map(({ cluster, members = [] }) => {\n const primaryMember = members.find(({ is_primary }) => is_primary) || {};\n const primaryMemberSM = uniq(\n flatMap(members, ({ stakeholder_mgmt_companies }) => stakeholder_mgmt_companies)\n );\n\n const {\n name: primaryMemberName,\n employer: primaryMemberEmployer,\n occupation: primaryMemberOccupation,\n street_1: primaryMemberStreet1,\n state_code: primaryMemberStateCode,\n zip_code: primaryMemberZipCode,\n city: primaryMemberCity,\n } = primaryMember || {};\n\n const primaryMemberStateZip = [\n primaryMemberStateCode,\n primaryMemberZipCode,\n ].filter(Boolean).join(' ');\n\n const primaryMemberAddressFinal = [\n primaryMemberStreet1,\n primaryMemberCity,\n primaryMemberStateZip,\n ].filter(Boolean).join(', ');\n\n const {\n super_individuals_count,\n total_amount: clusterAmount,\n status_at,\n ...restCluster\n } = cluster || {};\n\n return {\n ...restCluster,\n name: primaryMemberName,\n nameClusterCounter: super_individuals_count,\n employer: primaryMemberEmployer,\n occupation: primaryMemberOccupation,\n address: primaryMemberAddressFinal,\n amount: clusterAmount,\n sm: primaryMemberSM.filter(Boolean).join(', '),\n status_at: moment(status_at).format('DD/MM/YYYY'),\n items: members.map(({\n id,\n total_amount: memberAmount,\n stakeholder_mgmt_companies: memberSM = [],\n street_1: memberStreet1,\n state_code: memberStateCode,\n zip_code: memberZipCode,\n city: memberCity,\n ...restMember\n }) => {\n const memberStateZip = [memberStateCode, memberZipCode].filter(Boolean).join(' ');\n const memberAddressFinal = [\n memberStreet1,\n memberCity,\n memberStateZip,\n ].filter(Boolean).join(', ');\n\n return ({\n ...restMember,\n id,\n url: `/moneyball_v2/individuals/${id}`,\n sm: memberSM.filter(Boolean).join(', '),\n address: memberAddressFinal,\n amount: memberAmount,\n });\n }),\n };\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue } = data;\n\n return {\n ...getValue('query', searchValue),\n };\n}\n","import Notifications from 'components/Moneyball/utils/Notifications';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { fetchSearch } from 'redux/moneyball/utils';\n\nimport { transformData, transformOptionsForBE } from './utils';\nimport constants from './constants';\n\nexport function initAppliedSearchFilters(emptyState, { searchType, ...restAppliedFilters }) {\n return handleAppliedFilters({\n ...emptyState,\n ...restAppliedFilters,\n ...(searchType && { searchType }),\n });\n}\n\nexport function searchData(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DATA_REQUEST });\n\n const formattedPayload = {\n direction: 'desc',\n sort: 'weight',\n ...payload,\n };\n\n return dispatch(\n fetchSearch({\n payload: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/first_queue/lookup`,\n actionType: constants.FETCH_DATA_SUCCESS,\n transformResponsePayload: transformData,\n transformSearchToQuery: transformOptionsForBE,\n }),\n );\n };\n}\n\nexport function deleteData({ reviewer, ids, afterDeleteAction }) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_DATA_REQUEST });\n\n const formattedPayload = JSON.stringify({\n reviewer_name: reviewer,\n cluster_ids: ids,\n });\n\n const onSuccess = () => {\n dispatch({\n type: constants.DELETE_DATA_SUCCESS,\n payload: ids,\n });\n\n afterDeleteAction && afterDeleteAction();\n };\n\n const onFailure = (error) => {\n dispatch({\n type: constants.DELETE_DATA_SUCCESS,\n payload: [],\n });\n\n Notifications.defaultSubmitDataFailed();\n throw error;\n };\n\n const ajax = $.ajax({\n data: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/first_queue/dont_cluster`,\n contentType: REQUEST_CONTENT_TYPE,\n type: 'POST',\n });\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import {\n getValue,\n getContributionRecipientInfo,\n formatSelectValueToArrForBE,\n formatReceivedTypesForBE,\n formatZipCode,\n} from 'redux/moneyball/utils/transformers';\n\nexport function transformIndividual(individualItem = {}) {\n const {\n individuals,\n super_individual,\n super_individuals,\n ...restProps\n } = individualItem;\n\n const formattedSuperIndividual = super_individual && {\n super_individual: {\n ...super_individual,\n zip_code: formatZipCode(super_individual.zip_code),\n },\n };\n\n const formattedSuperIndividuals = super_individuals && {\n super_individuals: super_individuals.map(\n ({ super_individual: superIndividualItem, ...superIndividualsProps }) => ({\n ...superIndividualsProps,\n super_individual: {\n ...superIndividualItem,\n zip_code: formatZipCode(superIndividualItem.zip_code),\n },\n }),\n ),\n };\n\n const formattedIndividuals = individuals && {\n individuals: individuals.map(\n ({ individual, ...individualsProps }) => ({\n ...individualsProps,\n individual: {\n ...individual,\n zip_code: formatZipCode(individual.zip_code),\n },\n }),\n ),\n };\n\n return {\n ...restProps,\n ...formattedIndividuals,\n ...formattedSuperIndividual,\n ...formattedSuperIndividuals,\n };\n}\n\nexport function transformContributions(contributions = []) {\n return contributions.map(({\n receipt,\n super_committee_recipient,\n super_committee_conduit,\n ...restProps\n }) => {\n const recipientInfo = getContributionRecipientInfo(super_committee_recipient);\n const { id: conduitId, name: conduitName } = super_committee_conduit || {};\n const {\n is_pdf_available,\n filing_source_url,\n contribution_date,\n contribution_amount,\n source_type_full,\n election_type_full,\n id,\n } = receipt || {};\n\n return ({\n ...restProps,\n ...recipientInfo,\n id,\n contribution_date,\n source_type_full,\n election_type_full,\n conduitName,\n amount: contribution_amount,\n conduit: {\n conduitId,\n conduitUrl: `/moneyball_v2/committees/${conduitId}`,\n },\n receipts: {\n id,\n is_pdf_available,\n filing_source_url,\n },\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n dates,\n amounts,\n recipientNames,\n committeeTypes,\n electionTypes,\n sourceTypes,\n } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('contribution_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('contribution_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('super_committee_recipients', {\n ...getValue('ids', formatSelectValueToArrForBE(recipientNames)),\n ...getValue('types', committeeTypes),\n }),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n ...getValue('election_types', formatSelectValueToArrForBE(electionTypes)),\n };\n}\n","import { transformReceiptContributions } from 'redux/moneyball/utils/transformers';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport Notifications from 'components/Moneyball/utils/Notifications';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport {\n fetchSearch,\n fetchSearchReceipt,\n fetchSearchKeyDetails,\n onSelectElectionCycle,\n onSetElectionCycles,\n} from 'redux/moneyball/utils';\n\nimport { transformIndividual, transformContributions, transformOptionsForBE } from './utils';\nimport constants from './constants';\n\nexport function setElectionCycles(cycles) {\n return onSetElectionCycles(cycles, constants.SET_ELECTION_CYCLES);\n}\n\nexport function onSelectCycle(cycle) {\n return onSelectElectionCycle(cycle, constants.SELECT_ELECTION_CYCLE);\n}\n\nexport function fetchIndividual(id, params) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL });\n\n function getDefaultParams() {\n return {\n url: `${gon.moneyballApiV2}/api/v1/super_individuals/${id}`,\n data: params,\n type: 'GET',\n };\n }\n\n function getCombinedParams() {\n const { cluster, ids } = params;\n\n return {\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/first_queue/clusters/${cluster}/preview`,\n data: JSON.stringify({ super_individual_ids: ids }),\n type: 'POST',\n };\n }\n\n const { url, type, data } = id !== 'combine' ? getDefaultParams() : getCombinedParams();\n\n return dispatch(\n fetchSearchKeyDetails({\n url,\n type,\n payload: data,\n contentType: REQUEST_CONTENT_TYPE,\n actionType: constants.RECEIVE_INDIVIDUAL_DONE,\n transformResponse: transformIndividual,\n }),\n );\n };\n}\n\nexport function searchIndividualContributionsReceipt({ id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL_RECEIPT });\n\n return dispatch(\n fetchSearchReceipt({\n url: `${gon.moneyballApiV2}/api/v1/receipts/${id}`,\n transformResponse: transformReceiptContributions,\n actionType: constants.RECEIVE_INDIVIDUAL_RECEIPT_DONE,\n }),\n );\n };\n}\n\nexport function searchIndividualContributions(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL_CONTRIBUTIONS });\n\n const { id, ids, ...restPayload } = payload;\n const formattedPayload = {\n ...restPayload,\n contributor: {\n super_individuals: {\n ids: id === 'combine' ? ids : [id],\n },\n },\n };\n\n return dispatch(\n fetchSearch({\n payload: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/receipts/lookup`,\n actionType: constants.RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE,\n transformResponsePayload: transformContributions,\n transformSearchToQuery: transformOptionsForBE,\n }),\n );\n };\n}\n\nexport function mergeData({ reviewer, cluster, ids, afterMergeAction }) {\n return (dispatch) => {\n dispatch({ type: constants.MERGE_DATA_REQUEST });\n\n const formattedPayload = JSON.stringify({\n reviewer_name: reviewer,\n super_individual_ids: ids,\n });\n\n const onSuccess = () => {\n dispatch({\n type: constants.MERGE_DATA_SUCCESS,\n });\n\n afterMergeAction && afterMergeAction();\n };\n\n const onFailure = (error) => {\n dispatch({\n type: constants.MERGE_DATA_SUCCESS,\n });\n\n Notifications.defaultSubmitDataFailed();\n throw error;\n };\n\n const ajax = $.ajax({\n data: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/first_queue/clusters/${cluster}/merge`,\n contentType: REQUEST_CONTENT_TYPE,\n type: 'POST',\n });\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function reset() {\n return dispatch => dispatch(resetAppliedFilters());\n}\n","import { uniq, flatMap } from 'lodash';\n\nimport { getValue } from 'redux/moneyball/utils/transformers';\n\nexport function transformData(response = []) {\n return response.map(({ cluster, members = [] }) => {\n const primaryMember = members.find(({ is_primary }) => is_primary) || {};\n const primaryMemberSM = uniq(\n flatMap(members, ({ stakeholder_mgmt_companies }) => stakeholder_mgmt_companies)\n );\n\n const {\n name: primaryMemberName,\n employer: primaryMemberEmployer,\n occupation: primaryMemberOccupation,\n street_1: primaryMemberStreet1,\n state_code: primaryMemberStateCode,\n zip_code: primaryMemberZipCode,\n city: primaryMemberCity,\n } = primaryMember || {};\n\n const primaryMemberStateZip = [\n primaryMemberStateCode,\n primaryMemberZipCode,\n ].filter(Boolean).join(' ');\n\n const primaryMemberAddressFinal = [\n primaryMemberStreet1,\n primaryMemberCity,\n primaryMemberStateZip,\n ].filter(Boolean).join(', ');\n\n const {\n super_individuals_count,\n total_amount: clusterAmount,\n status_at,\n ...restCluster\n } = cluster || {};\n\n return {\n ...restCluster,\n name: primaryMemberName,\n nameClusterCounter: super_individuals_count,\n employer: primaryMemberEmployer,\n occupation: primaryMemberOccupation,\n address: primaryMemberAddressFinal,\n amount: clusterAmount,\n sm: primaryMemberSM.filter(Boolean).join(', '),\n status_at: moment(status_at).format('DD/MM/YYYY'),\n items: members.map(({\n id,\n total_amount: memberAmount,\n stakeholder_mgmt_companies: memberSM = [],\n street_1: memberStreet1,\n state_code: memberStateCode,\n zip_code: memberZipCode,\n city: memberCity,\n ...restMember\n }) => {\n const memberStateZip = [memberStateCode, memberZipCode].filter(Boolean).join(' ');\n const memberAddressFinal = [\n memberStreet1,\n memberCity,\n memberStateZip,\n ].filter(Boolean).join(', ');\n\n return ({\n ...restMember,\n id,\n url: `/moneyball_v2/individuals/${id}`,\n sm: memberSM.filter(Boolean).join(', '),\n address: memberAddressFinal,\n amount: memberAmount,\n });\n }),\n };\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue } = data;\n\n return {\n ...getValue('query', searchValue),\n };\n}\n","import Notifications from 'components/Moneyball/utils/Notifications';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { fetchSearch } from 'redux/moneyball/utils';\n\nimport { transformData, transformOptionsForBE } from './utils';\nimport constants from './constants';\n\nexport function initAppliedSearchFilters(emptyState, { searchType }) {\n return handleAppliedFilters({ ...emptyState, ...(searchType && { searchType }) });\n}\n\nexport function searchData(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DATA_REQUEST });\n\n const formattedPayload = {\n direction: 'desc',\n sort: 'weight',\n ...payload,\n };\n\n return dispatch(\n fetchSearch({\n payload: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/second_queue/lookup`,\n actionType: constants.FETCH_DATA_SUCCESS,\n transformResponsePayload: transformData,\n transformSearchToQuery: transformOptionsForBE,\n }),\n );\n };\n}\n\nexport function deleteData({ reviewer, ids, afterDeleteAction }) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_DATA_REQUEST });\n\n const formattedPayload = JSON.stringify({\n reviewer_name: reviewer,\n cluster_ids: ids,\n });\n\n const onSuccess = () => {\n dispatch({\n type: constants.DELETE_DATA_SUCCESS,\n payload: ids,\n });\n\n afterDeleteAction && afterDeleteAction();\n };\n\n const onFailure = (error) => {\n dispatch({\n type: constants.DELETE_DATA_SUCCESS,\n payload: [],\n });\n\n Notifications.defaultSubmitDataFailed();\n throw error;\n };\n\n const ajax = $.ajax({\n data: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/second_queue/dont_cluster`,\n contentType: REQUEST_CONTENT_TYPE,\n type: 'POST',\n });\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function reset() {\n return dispatch => dispatch(resetAppliedFilters());\n}\n","import {\n getValue,\n getContributionRecipientInfo,\n formatSelectValueToArrForBE,\n formatReceivedTypesForBE,\n formatZipCode,\n} from 'redux/moneyball/utils/transformers';\n\nexport function transformIndividual(individualItem = {}) {\n const {\n individuals,\n super_individual,\n super_individuals,\n ...restProps\n } = individualItem;\n\n const formattedSuperIndividual = super_individual && {\n super_individual: {\n ...super_individual,\n zip_code: formatZipCode(super_individual.zip_code),\n },\n };\n\n const formattedSuperIndividuals = super_individuals && {\n super_individuals: super_individuals.map(\n ({ super_individual: superIndividualItem, ...superIndividualsProps }) => ({\n ...superIndividualsProps,\n super_individual: {\n ...superIndividualItem,\n zip_code: formatZipCode(superIndividualItem.zip_code),\n },\n }),\n ),\n };\n\n const formattedIndividuals = individuals && {\n individuals: individuals.map(\n ({ individual, ...individualsProps }) => ({\n ...individualsProps,\n individual: {\n ...individual,\n zip_code: formatZipCode(individual.zip_code),\n },\n }),\n ),\n };\n\n return {\n ...restProps,\n ...formattedIndividuals,\n ...formattedSuperIndividual,\n ...formattedSuperIndividuals,\n };\n}\n\nexport function transformContributions(contributions = []) {\n return contributions.map(({\n receipt,\n super_committee_recipient,\n super_committee_conduit,\n ...restProps\n }) => {\n const recipientInfo = getContributionRecipientInfo(super_committee_recipient);\n const { id: conduitId, name: conduitName } = super_committee_conduit || {};\n const {\n is_pdf_available,\n filing_source_url,\n contribution_date,\n contribution_amount,\n source_type_full,\n election_type_full,\n id,\n } = receipt || {};\n\n return ({\n ...restProps,\n ...recipientInfo,\n id,\n contribution_date,\n source_type_full,\n election_type_full,\n conduitName,\n amount: contribution_amount,\n conduit: {\n conduitId,\n conduitUrl: `/moneyball_v2/committees/${conduitId}`,\n },\n receipts: {\n id,\n is_pdf_available,\n filing_source_url,\n },\n });\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n dates,\n amounts,\n recipientNames,\n committeeTypes,\n electionTypes,\n sourceTypes,\n } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('contribution_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('contribution_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('super_committee_recipients', {\n ...getValue('ids', formatSelectValueToArrForBE(recipientNames)),\n ...getValue('types', committeeTypes),\n }),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n ...getValue('election_types', formatSelectValueToArrForBE(electionTypes)),\n };\n}\n","import { transformReceiptContributions } from 'redux/moneyball/utils/transformers';\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport Notifications from 'components/Moneyball/utils/Notifications';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport {\n fetchSearch,\n fetchSearchReceipt,\n fetchSearchKeyDetails,\n onSelectElectionCycle,\n onSetElectionCycles,\n} from 'redux/moneyball/utils';\n\nimport { transformIndividual, transformContributions, transformOptionsForBE } from './utils';\nimport constants from './constants';\n\nexport function setElectionCycles(cycles) {\n return onSetElectionCycles(cycles, constants.SET_ELECTION_CYCLES);\n}\n\nexport function onSelectCycle(cycle) {\n return onSelectElectionCycle(cycle, constants.SELECT_ELECTION_CYCLE);\n}\n\nexport function fetchIndividual(id, params) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL });\n\n function getDefaultParams() {\n return {\n url: `${gon.moneyballApiV2}/api/v1/super_individuals/${id}`,\n data: params,\n type: 'GET',\n };\n }\n\n function getCombinedParams() {\n const { cluster, ids } = params;\n\n return {\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/second_queue/clusters/${cluster}/preview`,\n data: JSON.stringify({ super_individual_ids: ids }),\n type: 'POST',\n };\n }\n\n const { url, type, data } = id !== 'combine' ? getDefaultParams() : getCombinedParams();\n\n return dispatch(\n fetchSearchKeyDetails({\n url,\n type,\n payload: data,\n contentType: REQUEST_CONTENT_TYPE,\n actionType: constants.RECEIVE_INDIVIDUAL_DONE,\n transformResponse: transformIndividual,\n }),\n );\n };\n}\n\nexport function searchIndividualContributionsReceipt({ id }) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL_RECEIPT });\n\n return dispatch(\n fetchSearchReceipt({\n url: `${gon.moneyballApiV2}/api/v1/receipts/${id}`,\n transformResponse: transformReceiptContributions,\n actionType: constants.RECEIVE_INDIVIDUAL_RECEIPT_DONE,\n }),\n );\n };\n}\n\nexport function searchIndividualContributions(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_INDIVIDUAL_CONTRIBUTIONS });\n\n const { id, ids, ...restPayload } = payload;\n const formattedPayload = {\n ...restPayload,\n contributor: {\n super_individuals: {\n ids: id === 'combine' ? ids : [id],\n },\n },\n };\n\n return dispatch(\n fetchSearch({\n payload: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/receipts/lookup`,\n actionType: constants.RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE,\n transformResponsePayload: transformContributions,\n transformSearchToQuery: transformOptionsForBE,\n }),\n );\n };\n}\n\nexport function mergeData({ reviewer, cluster, ids, afterMergeAction }) {\n return (dispatch) => {\n dispatch({ type: constants.MERGE_DATA_REQUEST });\n\n const formattedPayload = JSON.stringify({\n reviewer_name: reviewer,\n super_individual_ids: ids,\n });\n\n const onSuccess = () => {\n dispatch({\n type: constants.MERGE_DATA_SUCCESS,\n });\n\n afterMergeAction && afterMergeAction();\n };\n\n const onFailure = (error) => {\n dispatch({\n type: constants.MERGE_DATA_SUCCESS,\n });\n\n Notifications.defaultSubmitDataFailed();\n throw error;\n };\n\n const ajax = $.ajax({\n data: formattedPayload,\n url: `${gon.moneyballApiV2}/api/v1/clusterbuck/second_queue/clusters/${cluster}/merge`,\n contentType: REQUEST_CONTENT_TYPE,\n type: 'POST',\n });\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function reset() {\n return dispatch => dispatch(resetAppliedFilters());\n}\n","import { isNull, omitBy } from 'lodash';\n\nimport { transformItemsToBE as transformEmails } from 'components/Stakeholder/MergeTool/components/MergeForm/components/MergeEmails/utils';\nimport { transformItemsToBE as transformAddresses } from 'components/Stakeholder/MergeTool/components/MergeForm/components/MergeAddresses/utils';\nimport { transformItemsToBE as transformPhones } from 'components/Stakeholder/MergeTool/components/MergeForm/components/MergePhones/utils';\nimport { transformItemsToBE as transformTags } from 'components/Stakeholder/MergeTool/components/MergeForm/components/MergeTags/utils';\nimport { transformItemsToBE as transformLists } from 'components/Stakeholder/MergeTool/components/MergeForm/components/MergeLists/utils';\n\nexport function transformToBE(payload = {}) {\n const { stakeholder, mergeRecords } = payload;\n const {\n firstName,\n lastName,\n middleName,\n facebookProfile,\n twitterName,\n partyCode,\n customFields,\n emails,\n addresses,\n phones,\n lists,\n tags,\n ...restStakeholderProps\n } = stakeholder || {};\n\n return {\n stakeholder: {\n ...restStakeholderProps,\n tags: transformTags(tags),\n lists: transformLists(lists),\n addresses: transformAddresses(addresses),\n emails: transformEmails(emails),\n phones: transformPhones(phones),\n first_name: firstName,\n last_name: lastName,\n middle_name: middleName,\n facebook_profile: facebookProfile,\n twitter_username: twitterName,\n party_code: partyCode,\n custom_fields: omitBy(customFields, isNull),\n },\n merge_records: mergeRecords,\n };\n}\n","import { transformToBE } from './utils';\nimport constants from './constants';\n\nexport function mergeStakeholders({ payload, handleFailure, handleSuccess } = {}) {\n return (dispatch) => {\n dispatch({ type: constants.MERGE_STAKEHOLDERS });\n\n const url = '/api_web/stakeholder-management/merge_stakeholders';\n const data = { merge: transformToBE(payload) };\n\n const ajax = $.post(url, data);\n\n function onSuccess() {\n dispatch({\n type: constants.MERGE_STAKEHOLDERS_DONE,\n payload,\n });\n\n const { id } = payload.stakeholder || {};\n handleSuccess(id);\n }\n\n function onFailure(error) {\n dispatch({ type: constants.MERGE_STAKEHOLDERS_FAIL });\n handleFailure(error);\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import { isEmpty, capitalize, union } from 'lodash';\n\nimport { transformRelevantLinks } from 'redux/state/regulations/profile/utils';\nimport { formatGlobalDate } from 'utils/date';\n\nfunction mapDocuments(documents) {\n if (isEmpty(documents)) {\n return [];\n }\n\n return documents.map(({ id, document_type }) => ({\n id,\n actionType: document_type,\n }));\n}\n\nexport function transformRegulationForUI(data = {}) {\n if (isEmpty(data)) {\n return {};\n }\n\n const { summary, documents, related_documents, relevant_links } = data || {};\n const { id, title, state, agency_titles, publication_date } = summary || {};\n const { name: stateName } = state || {};\n\n return {\n id,\n title,\n state: stateName,\n agency: capitalize(agency_titles),\n publicationDate: formatGlobalDate(publication_date),\n quickReferences: transformRelevantLinks(relevant_links),\n documents: mapDocuments(union(documents, related_documents)),\n };\n}\n\nexport function transformDocumentForUI(data = {}) {\n return data || {};\n}\n","import { omitBy, isEmpty } from 'lodash';\n\nimport { fetchTags, fetchIsShared } from 'components/core/DocumentContainer/api';\nimport { currentDate } from 'utils/date';\nimport { submitExportReport } from 'redux/exportReport/actions';\nimport { queryStringify } from 'utils/query-string';\nimport { downloadBlob, getBlob } from 'utils/fileExport';\n\nimport constants, { ADDED_TO_API_URL } from './constants';\nimport { transformDocumentForUI, transformRegulationForUI } from './utils';\n\nexport function fetchDocument(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DOCUMENT });\n\n const { id } = payload;\n const url = `/api_web/state/regulation_documents/${id}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_DOCUMENT_DONE,\n payload: transformDocumentForUI(response),\n }))\n .catch((error) => {\n window.Sentry && window.Sentry.captureMessage(error);\n\n return dispatch({\n type: constants.RECEIVE_DOCUMENT_DONE,\n payload: transformDocumentForUI({}),\n });\n });\n };\n}\n\nfunction getFirstDocumentFromResponse(dispatch) {\n return (response) => {\n const { payload } = response || {};\n const { documents } = payload || {};\n\n if (isEmpty(documents)) {\n return dispatch({ type: constants.RECEIVE_DOCUMENT_DONE, payload: {} });\n }\n\n return dispatch(fetchDocument({ id: documents[0].id }));\n };\n}\n\nexport const onTagsSaved = ({ tags }) => (dispatch) => {\n dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n};\n\nexport const fetchRegulationTags = (apiUrl, documentId) => dispatch => (\n fetchTags(apiUrl, documentId)\n .then(tags => dispatch(onTagsSaved({ tags })))\n);\n\nexport const onRegulationShared = sharings => (dispatch) => {\n dispatch({\n type: constants.RECEIVE_IS_SHARED_DONE,\n payload: sharings,\n });\n};\n\nexport const fetchIsRegulationShared = (apiUrl, documentId) => dispatch => (\n fetchIsShared(apiUrl, documentId)\n .then(response => dispatch(onRegulationShared(response)))\n);\n\nexport function fetchRegulationDetails(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_REGULATION_DETAILS });\n\n const { document_id: documentId, regulation_id, slug } = payload || {};\n const params = queryStringify(omitBy({\n regulation_id,\n slug,\n }, isEmpty));\n\n const url = `/api_web/state/regulation_documents/${documentId}/general_info?${params}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_REGULATION_DETAILS_DONE,\n payload: transformRegulationForUI(response),\n }))\n .then(getFirstDocumentFromResponse(dispatch))\n .then(() => Promise.all([\n dispatch(fetchRegulationTags(ADDED_TO_API_URL, documentId)),\n dispatch(fetchIsRegulationShared(ADDED_TO_API_URL, documentId)),\n ]))\n .catch((error) => {\n window.Sentry && window.Sentry.captureMessage(error);\n\n return dispatch({\n type: constants.RECEIVE_REGULATION_DETAILS_DONE,\n payload: transformRegulationForUI({}),\n });\n });\n };\n}\n\nexport function onExportDocument(payload = {}) {\n function onSuccessCustom(responseData) {\n return downloadBlob(\n getBlob(responseData),\n `State regulation document ${currentDate()}.pdf`,\n );\n }\n\n const ajaxProps = {\n dataType: 'native',\n xhrFields: {\n responseType: 'blob',\n },\n };\n\n return submitExportReport({ ...payload, onSuccessCustom }, ajaxProps);\n}\n","import { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { STATE_EXECUTIVE_ITEM_TYPE } from 'utils/constants/itemTypes';\nimport { transformExecutive } from 'utils/transformers/profile/executive';\nimport { camelizeKeys } from 'utils/object';\nimport { STATE_ROLE } from 'utils/transformers/profile/constants';\n\nexport function transformStateExecutive({ data }) {\n const executive = camelizeKeys(data);\n\n return {\n ...transformExecutive(executive, STATE_ROLE),\n itemType: STATE_EXECUTIVE_ITEM_TYPE,\n documentType: DOCUMENT_TYPES.STATE_EXECUTIVE,\n };\n}\n","import isNotFoundError from 'utils/http/isNotFoundError';\nimport notifications from 'components/State/ExecutiveProfile/utils/notifications';\nimport { fetchProfileTags } from 'redux/tags/actions';\n\nimport { transformStateExecutive } from './utils/transformers';\nimport constants from './constants';\n\nfunction fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function fetchExecutiveProfile(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_EXECUTIVE });\n const { id } = payload;\n\n const url = '/api_web/executive_profile';\n const params = {\n id,\n profile_slug: 'state_executive',\n };\n const ajax = $.get(url, params);\n\n function onSuccess(person) {\n dispatch({\n type: constants.RECEIVE_EXECUTIVE_DONE,\n payload: person,\n });\n }\n\n function onFailure(error) {\n notifications.defaultFetchDataFailed();\n\n isNotFoundError(error) && dispatch({ type: constants.PROFILE_NOT_FOUND });\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(transformStateExecutive)\n .then(onSuccess)\n .then(() => dispatch(fetchTags(payload)))\n .catch(onFailure);\n };\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n","import { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { STATE_AGENCY_STAFFER_ITEM_TYPE } from 'utils/constants/itemTypes';\nimport { transformExecutive } from 'utils/transformers/profile/executive';\n\nexport function transformStaffer(staffer) {\n return {\n ...transformExecutive(staffer),\n documentType: DOCUMENT_TYPES.STATE_AGENCY_STAFFER,\n itemType: STATE_AGENCY_STAFFER_ITEM_TYPE,\n };\n}\n","import isNotFoundError from 'utils/http/isNotFoundError';\nimport { camelizeKeys } from 'utils/object';\nimport Notifications from 'components/State/AgencyStafferProfile/utils/Notifications';\nimport { fetchProfileTags } from 'redux/tags/actions';\n\nimport { transformStaffer } from './utils/transformers';\nimport constants from './constants';\n\nfunction fetchTags(payload = {}) {\n return dispatch => dispatch(fetchProfileTags(payload, constants));\n}\n\nexport function fetchStaffer(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAFFER });\n const { id } = payload;\n\n const url = '/api_web/executive_profile';\n const ajax = $.get(\n url,\n {\n id,\n profile_slug: 'state_staffer_executive',\n }\n );\n\n const onSuccess = (staffer) => {\n dispatch({\n type: constants.RECEIVE_STAFFER_DONE,\n payload: staffer,\n });\n };\n\n const onFailure = (error) => {\n Notifications.defaultFetchDataFailed();\n\n isNotFoundError(error) && dispatch({ type: constants.PROFILE_NOT_FOUND });\n\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(({ data }) => camelizeKeys(data))\n .then(transformStaffer)\n .then(onSuccess)\n .then(() => dispatch(fetchTags(payload)))\n .catch(onFailure);\n };\n}\n\nexport function onUpdateTags({ tags }) {\n return dispatch => dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: tags,\n });\n}\n","/**\n * Create redux actions\n *\n * @export\n * @param {string} type - action type\n * @param {string} callback - callback action\n * @returns {function} redux action\n */\nexport function createAction(type, callback) {\n return (payload = {}) => {\n callback && callback();\n return {\n type,\n payload,\n };\n };\n}\n\n/**\n * Parse ajax calls to Promise\n *\n * @export\n * @param {request} ajaxRequest - jQuery ajax Request\n * @returns {Promise}\n */\nexport function ajaxRequestToPromise(ajaxRequest) {\n return new Promise((resolve, reject) => ajaxRequest\n .done(resolve)\n .fail(reject));\n}\n\n/**\n * Helper function to handle side effects' success\n *\n * @param {function} dispatch - Redux dispatch function\n * @param {function} successAction - success redux action\n * @param {function} [reloadAction] - reload redux action\n * @returns {function} success handler\n */\nexport function handleSuccess(dispatch, successAction, reloadAction) {\n return (result) => {\n successAction && dispatch(successAction(result));\n reloadAction && dispatch(reloadAction(result));\n };\n}\n\n/**\n * Helper function to handle side effects' failures\n *\n * @param {function} dispatch - Redux dispatch function\n * @param {function} failureAction - failure redux action\n * @param {string} [errorKey] - Error key to the throned\n * @returns {function} failure handler\n */\nexport function handleFailure(dispatch, failureAction, errorKey) {\n return (error) => {\n failureAction && dispatch(failureAction());\n throw !errorKey\n ? error\n : error[errorKey];\n };\n}\n\n/**\n * Simple ajax fetcher\n *\n * @param {object} actions - Start and finish fetching functions\n * @param {function} transformItemForUI - Function that transforms response object\n * @param {function} onSuccess - Custom on success\n * @param {function} onFailure\n * @param {string} method - Request method type\n * @param {object} ajaxData - Parameters passed to ajax\n * @returns {function} - Dispatch function\n */\nexport function fetchAjaxData({\n actions,\n transformItemForUI,\n onSuccess,\n onFailure,\n method = 'GET',\n ...ajaxData\n}) {\n return (dispatch) => {\n dispatch({ type: actions.fetchStarted });\n const ajax = $.ajax({ ...ajaxData, method });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: actions.fetchFinished,\n payload: transformItemForUI(response),\n }))\n .then(payload => onSuccess && dispatch(onSuccess(payload)))\n .catch((error) => {\n if (actions.notFound && error.status === 404) {\n dispatch({ type: actions.notFound });\n throw error;\n }\n\n if (actions.failure) {\n dispatch({ type: actions.failure });\n throw error;\n }\n onFailure && dispatch(onFailure(error));\n });\n };\n}\n","import PropTypes from 'prop-types';\n\nexport const workspaceShape = PropTypes.shape({\n name: PropTypes.string.isRequired,\n token: PropTypes.string.isRequired,\n});\n","const PREFIX = 'WORKSPACES';\n\nconst constants = {\n ADD_WORKSPACE: `${PREFIX}/ADD_WORKSPACE`,\n FETCH_WORKSPACES: `${PREFIX}/FETCH_WORKSPACES`,\n RECEIVE_WORKSPACES_DONE: `${PREFIX}/RECEIVE_WORKSPACES_DONE`,\n UPDATE_WORKSPACE_SUBSCRIPTION: `${PREFIX}/UPDATE_WORKSPACE_SUBSCRIPTION`,\n DELETE_WORKSPACE: `${PREFIX}/DELETE_WORKSPACE`,\n DELETE_WORKSPACE_FAILURE: `${PREFIX}/DELETE_WORKSPACE_FAILURE`,\n DELETE_WORKSPACES_DONE: `${PREFIX}/DELETE_WORKSPACES_DONE`,\n FETCH_WORKSPACE: `${PREFIX}/FETCH_WORKSPACE`,\n RECEIVE_WORKSPACE_DONE: `${PREFIX}/RECEIVE_WORKSPACE_DONE`,\n WORKSPACE_NOT_FOUND: `${PREFIX}/WORKSPACE_NOT_FOUND`,\n RESET_WORKSPACE: `${PREFIX}/RESET_WORKSPACE`,\n};\n\nexport default constants;\n","import { getSubscriptionData } from 'redux/dashboardV2/common/subscriptions/utils';\nimport {\n notifyWorkspaceCreateSuccess,\n notifyWorkspaceCreateFailure,\n notifyWorkspaceUpdateSuccess,\n notifyWorkspaceUpdateFailure,\n notifyWorkspaceDeleteSuccess,\n notifyWorkspaceDeleteFailure,\n} from 'components/Dashboard/common/UserNotifications';\nimport { BASE_FEEDS_MANAGER_URL } from 'redux/dashboardV2/constants';\nimport { postJson, putJson } from 'utils/api';\nimport { camelizeKeys } from 'utils/object';\n\nimport {\n transformWorkspacesForUI,\n transformWorkspaceForUI,\n buildSearchFormForBE,\n} from './transformers';\n\nexport function fetchWorkspaces(payload = {}) {\n const url = `${BASE_FEEDS_MANAGER_URL}/lookup`;\n const searchForm = buildSearchFormForBE(payload);\n const ajax = postJson(url, searchForm);\n\n const onSuccess = response => transformWorkspacesForUI(camelizeKeys(response));\n\n return Promise.resolve(ajax)\n .then(onSuccess);\n}\n\nexport const fetchWorkspace = (token) => {\n const url = `${BASE_FEEDS_MANAGER_URL}/${token}`;\n const ajax = $.get(url);\n\n const onSuccess = response => transformWorkspaceForUI(camelizeKeys(response));\n\n return Promise.resolve(ajax)\n .then(onSuccess);\n};\n\nexport function createWorkspace({ name, frequency } = {}) {\n const data = { name, frequency };\n const ajax = $.post(BASE_FEEDS_MANAGER_URL, data);\n\n const onSuccess = (response) => {\n const { token } = response || {};\n notifyWorkspaceCreateSuccess({ token, itemTitle: name });\n\n return transformWorkspaceForUI(camelizeKeys(response));\n };\n\n const onFailure = (error) => {\n notifyWorkspaceCreateFailure();\n\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n}\n\nexport const updateWorkspace = ({ token, initialName, name }) => {\n const url = `${BASE_FEEDS_MANAGER_URL}/${token}`;\n const ajax = putJson(url, { name });\n\n const onSuccess = () => notifyWorkspaceUpdateSuccess({ token, itemTitle: name });\n\n const onFailure = (error) => {\n notifyWorkspaceUpdateFailure({ itemTitle: initialName });\n\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n};\n\nexport function deleteWorkspace({ token, name }) {\n const url = `${BASE_FEEDS_MANAGER_URL}/${token}/disable`;\n const ajax = $.post(url);\n\n const onSuccess = () => notifyWorkspaceDeleteSuccess({ itemTitle: name });\n\n const onFailure = (error) => {\n notifyWorkspaceDeleteFailure({ itemTitle: name });\n\n throw error;\n };\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n}\n\nexport function createSubscription(subscription = {}) {\n const { modelId } = subscription;\n\n const url = `${BASE_FEEDS_MANAGER_URL}/${modelId}/subscribe`;\n const data = getSubscriptionData(subscription);\n const ajax = postJson(url, data);\n\n return Promise.resolve(ajax);\n}\n\nexport function updateSubscription(subscription = {}) {\n const { modelId } = subscription;\n\n const url = `${BASE_FEEDS_MANAGER_URL}/${modelId}`;\n const data = getSubscriptionData(subscription);\n const ajax = putJson(url, data);\n\n return Promise.resolve(ajax);\n}\n\nexport function deleteSubscription(subscription) {\n const { modelId } = subscription;\n const url = `${BASE_FEEDS_MANAGER_URL}/${modelId}/unsubscribe`;\n const ajax = $.post(url);\n\n return Promise.resolve(ajax);\n}\n\nexport function deleteSubscriptions(subscriptions) {\n const reqs = map(subscriptions, deleteSubscription);\n\n return Promise.all(reqs);\n}\n","const PREFIX = 'MONEYBALL_SMARTSEARCH_BUILDER';\n\nexport const UPDATE_ISTEMPLATE = `${PREFIX}/UPDATE_ISTEMPLATE`;\nexport const UPDATE_TITLE = `${PREFIX}/UPDATE_TITLE`;\nexport const UPDATE_DESCRIPTION = `${PREFIX}/UPDATE_DESCRIPTION`;\nexport const UPDATE_TRANSACTOR = `${PREFIX}/UPDATE_TRANSACTOR`;\nexport const UPDATE_DATA = `${PREFIX}/UPDATE_DATA`;\nexport const GET_LIST_START = `${PREFIX}/GET_LIST_START`;\nexport const GET_LIST_DONE = `${PREFIX}/GET_LIST_DONE`;\nexport const CREATE_LIST_START = `${PREFIX}/CREATE_LIST_START`;\nexport const CREATE_LIST_DONE = `${PREFIX}/CREATE_LIST_DONE`;\nexport const RESET = `${PREFIX}/RESET`;\n","const PREFIX = 'MONEYBALL_INDIVIDUAL_LOOKUP';\n\nconst constants = {\n STRATEGY_SLUG: 'moneyball_individual_lookup',\n FETCH_INDIVIDUALS: `${PREFIX}/FETCH_INDIVIDUALS`,\n RECEIVE_INDIVIDUALS_DONE: `${PREFIX}/RECEIVE_INDIVIDUALS_DONE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n CHECK_CLUSTERBUCK_INIT: `${PREFIX}/CHECK_CLUSTERBUCK_INIT`,\n CHECK_CLUSTERBUCK_DONE: `${PREFIX}/CHECK_CLUSTERBUCK_DONE`,\n SUBMIT_TO_CLUSTERBUCK_INIT: `${PREFIX}/SUBMIT_TO_CLUSTERBUCK_INIT`,\n SUBMIT_TO_CLUSTERBUCK_DONE: `${PREFIX}/SUBMIT_TO_CLUSTERBUCK_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'MONEYBALL_CLUSTERBUCK_FIRSTQUEUE_PROFILE';\n\nconst constants = {\n FETCH_INDIVIDUAL: `${PREFIX}/FETCH_INDIVIDUAL`,\n RECEIVE_INDIVIDUAL_DONE: `${PREFIX}/RECEIVE_INDIVIDUAL_DONE`,\n FETCH_INDIVIDUAL_CONTRIBUTIONS: `${PREFIX}/FETCH_INDIVIDUAL_CONTRIBUTIONS`,\n RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE: `${PREFIX}/RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE`,\n FETCH_INDIVIDUAL_RECEIPT: `${PREFIX}/FETCH_INDIVIDUAL_RECEIPT`,\n RECEIVE_INDIVIDUAL_RECEIPT_DONE: `${PREFIX}/RECEIVE_INDIVIDUAL_RECEIPT_DONE`,\n SET_ELECTION_CYCLES: `${PREFIX}/SET_ELECTION_CYCLES`,\n SELECT_ELECTION_CYCLE: `${PREFIX}/SELECT_ELECTION_CYCLE`,\n MERGE_DATA_REQUEST: `${PREFIX}/MERGE_DATA_REQUEST`,\n MERGE_DATA_SUCCESS: `${PREFIX}/MERGE_DATA_SUCCESS`,\n};\n\nexport default constants;\n","const PREFIX = 'MONEYBALL_CLUSTERBUCK_SECONDQUEUE_PROFILE';\n\nconst constants = {\n FETCH_INDIVIDUAL: `${PREFIX}/FETCH_INDIVIDUAL`,\n RECEIVE_INDIVIDUAL_DONE: `${PREFIX}/RECEIVE_INDIVIDUAL_DONE`,\n FETCH_INDIVIDUAL_CONTRIBUTIONS: `${PREFIX}/FETCH_INDIVIDUAL_CONTRIBUTIONS`,\n RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE: `${PREFIX}/RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE`,\n FETCH_INDIVIDUAL_RECEIPT: `${PREFIX}/FETCH_INDIVIDUAL_RECEIPT`,\n RECEIVE_INDIVIDUAL_RECEIPT_DONE: `${PREFIX}/RECEIVE_INDIVIDUAL_RECEIPT_DONE`,\n SET_ELECTION_CYCLES: `${PREFIX}/SET_ELECTION_CYCLES`,\n SELECT_ELECTION_CYCLE: `${PREFIX}/SELECT_ELECTION_CYCLE`,\n MERGE_DATA_REQUEST: `${PREFIX}/MERGE_DATA_REQUEST`,\n MERGE_DATA_SUCCESS: `${PREFIX}/MERGE_DATA_SUCCESS`,\n};\n\nexport default constants;\n","import { BASE_URL } from 'redux/dashboardV2/constants';\n\nconst prefix = 'NOTIFICATIONS';\n\nconst constants = {\n FETCH_NOTIFICATIONS_DONE: `${prefix}/FETCH_NOTIFICATIONS_DONE`,\n CLEAR_NOTIFICATIONS: `${prefix}/CLEAR_NOTIFICATIONS`,\n CLEAR_NOTIFICATIONS_FAILURE: `${prefix}/CLEAR_NOTIFICATIONS_FAILURE`,\n CLEAR_NOTIFICATIONS_DONE: `${prefix}/CLEAR_NOTIFICATIONS_DONE`,\n RESET_NOTIFICATIONS: `${prefix}/RESET_NOTIFICATIONS`,\n TOGGLE_PANEL: `${prefix}/TOGGLE_PANEL`,\n RESET_PANEL: `${prefix}/RESET_PANEL`,\n};\n\nexport const BASE_NOTIFICATIONS_URL = `${BASE_URL}/my_feed/notifications`;\nexport const FETCH_INTERVAL = 120000;\nexport const REQUEST_TIME_LIMIT = 20000;\nexport const NOTIFICATIONS_COUNT_KEY = 'notificationsCount';\n\nexport { BASE_URL };\nexport default constants;\n","const PREFIX = 'DOCUMENT_VIEW';\n\nconst constants = {\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n RECEIVE_IS_SHARED_DONE: `${PREFIX}/RECEIVE_IS_SHARED_DONE`,\n FETCH_DETAILS: `${PREFIX}/FETCH_DETAILS`,\n RECEIVE_DETAILS_DONE: `${PREFIX}/RECEIVE_DETAILS_DONE`,\n RECEIVE_SUMMARY_DONE: `${PREFIX}/RECEIVE_SUMMARY_DONE`,\n RECEIVE_DETAILS_ERROR: `${PREFIX}/RECEIVE_DETAILS_ERROR`,\n EXPORT_DOCUMENT: `${PREFIX}/EXPORT_DOCUMENT`,\n EXPORT_DOCUMENT_DONE: `${PREFIX}/EXPORT_DOCUMENT_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'STAKEHOLDER_MANAGEMENT';\n\nconst constants = {\n DELETE_STAKEHOLDERS: `${PREFIX}/DELETE_STAKEHOLDERS`,\n DELETE_STAKEHOLDERS_DONE: `${PREFIX}/DELETE_STAKEHOLDERS_DONE`,\n DELETE_STAKEHOLDER: `${PREFIX}/DELETE_STAKEHOLDER`,\n DELETE_STAKEHOLDER_DONE: `${PREFIX}/DELETE_STAKEHOLDER_DONE`,\n CREATE_STAKEHOLDER: `${PREFIX}/CREATE_STAKEHOLDER`,\n CREATE_STAKEHOLDER_FAIL: `${PREFIX}/CREATE_STAKEHOLDER_FAIL`,\n CREATE_STAKEHOLDER_DONE: `${PREFIX}/CREATE_STAKEHOLDER_DONE`,\n UPDATE_STAKEHOLDER: `${PREFIX}/UPDATE_STAKEHOLDER`,\n UPDATE_STAKEHOLDER_FAIL: `${PREFIX}/UPDATE_STAKEHOLDER_FAIL`,\n UPDATE_STAKEHOLDER_DONE: `${PREFIX}/UPDATE_STAKEHOLDER_DONE`,\n};\n\nexport default constants;\n","const keyword = 'DASHBOARD_HEARING_CALENDAR';\n\nconst constants = {\n FETCH_EVENTS: `${keyword}/FETCH_EVENTS`,\n FETCH_EVENTS_SUCCESS: `${keyword}/FETCH_EVENTS_SUCCESS`,\n FETCH_EVENTS_FAILURE: `${keyword}/FETCH_EVENTS_FAILURE`,\n CHECK_EVENTS: `${keyword}/CHECK_EVENTS`,\n FETCH_CALENDAR_DATA: `${keyword}/FETCH_CALENDAR_DATA`,\n FETCH_CALENDAR_DATA_SUCCESS: `${keyword}/FETCH_CALENDAR_DATA_SUCCESS`,\n SELECT_CALENDAR_DATE: `${keyword}/SELECT_CALENDAR_DATE`,\n FILTER_EVENTS: `${keyword}/FILTER_EVENTS`,\n SET_MONTHS_AHEAD: `${keyword}/SET_MONTHS_AHEAD`,\n};\n\nexport default constants;\n","const PREFIX = 'MONEYBALL_VENDOR_PROFILE';\n\nconst constants = {\n STRATEGY_SLUG: 'moneyball_vendor_profile',\n FETCH_VENDOR: `${PREFIX}/FETCH_VENDOR`,\n RECEIVE_VENDOR_DONE: `${PREFIX}/RECEIVE_VENDOR_DONE`,\n FETCH_VENDOR_DISBURSEMENTS: `${PREFIX}/FETCH_VENDOR_DISBURSEMENTS`,\n RECEIVE_VENDOR_DISBURSEMENTS_DONE: `${PREFIX}/RECEIVE_VENDOR_DISBURSEMENTS_DONE`,\n FETCH_VENDOR_RECEIPT: `${PREFIX}/FETCH_VENDOR_RECEIPT`,\n RECEIVE_VENDOR_RECEIPT_DONE: `${PREFIX}/RECEIVE_VENDOR_RECEIPT_DONE`,\n SET_ELECTION_CYCLES: `${PREFIX}/SET_ELECTION_CYCLES`,\n SELECT_ELECTION_CYCLE: `${PREFIX}/SELECT_ELECTION_CYCLE`,\n};\n\nexport default constants;\n","import { isEmpty, groupBy, find, join, includes, forEach, map } from 'lodash';\nimport moment from 'moment';\n\nimport isNotFoundError from 'utils/http/isNotFoundError';\nimport Notifications from 'components/News/utils/Notifications';\nimport { DEFAULT_SORT } from 'components/core/Sort/utils/constants';\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nimport { PER_PAGE } from '../constants';\n\nexport function formatPercentage(value = 0) {\n return `${(value * 100).toFixed(1)}%`;\n}\n\nexport function trimWhitespace(text = '') {\n const whitespaceRegex = /[\\s\\r?\\n\\t]+/gm;\n\n return text ? text.replace(whitespaceRegex, ' ') : '';\n}\n\nfunction formatShortTime(date) {\n const validDate = date || undefined;\n const values = moment(validDate).fromNow(true).split(' ');\n const [time, unit] = values;\n const numericTime = time.replace(/(?:(a|an)+)/g, '1');\n\n return `${numericTime}${unit[0]}`;\n}\n\nfunction getFeedData(payload) {\n const clusterGroups = groupBy(payload, ({ clusterIds }) => (\n !isEmpty(clusterIds) ? clusterIds : 'withoutCluster'\n ));\n\n let feedData = [];\n let addedClusters = [];\n\n forEach(payload, (story) => {\n const { clusterIds, id } = story;\n const [clusterId] = clusterIds || [];\n const isEmptyClusterIds = isEmpty(clusterIds);\n const isClusterIdAdded = includes(addedClusters, clusterId);\n\n if (!isEmptyClusterIds && !isClusterIdAdded) {\n const clusterKeyName = find(\n Object.keys(clusterGroups), clusterKey => includes(clusterKey, clusterId)\n );\n const clusterData = clusterGroups[clusterKeyName] || {};\n\n addedClusters = [...addedClusters, clusterId];\n feedData = [...feedData, { id, clusterId, data: clusterData }];\n }\n\n if (isEmptyClusterIds) {\n feedData = [...feedData, story];\n }\n });\n\n return feedData;\n}\n\nfunction getNewsSummary({ sentences = [], summary = {} }) {\n // TODO: Remove summary usage after changes to news serializer in favor on sentences\n const { sentences: defaultSentences } = summary || {};\n const summarySentences = defaultSentences || sentences;\n const summaryText = join(summarySentences, ' ');\n\n return trimWhitespace(summaryText);\n}\n\nexport function transformStory(data) {\n const {\n id,\n title,\n source: {\n logo_url,\n ...restSourceProps\n },\n sentiment = {},\n published_at,\n author,\n clusters,\n entities,\n image_url,\n url,\n external_token: externalToken,\n } = data;\n\n const { polarity, score } = sentiment || {};\n\n return {\n id: externalToken || id,\n title,\n author,\n mentions: entities,\n clusterIds: clusters,\n href: url,\n imageUrl: image_url,\n publishedAt: {\n raw: published_at,\n full: moment(published_at).fromNow(),\n short: formatShortTime(published_at),\n },\n summary: getNewsSummary(data),\n sentiment: {\n percentage: formatPercentage(score),\n type: polarity,\n },\n source: {\n ...restSourceProps,\n logoUrl: logo_url,\n },\n documentType: DOCUMENT_TYPES.NEWS_STORY,\n };\n}\n\nexport function transformNewsFeedForUI(data = [], shouldGroupClusters = true) {\n const transformedData = data.map(transformStory).filter(({ title }) => !isEmpty(title));\n\n return shouldGroupClusters\n ? getFeedData(transformedData)\n : transformedData;\n}\n\nexport function transformPaginator(pagination = {}, cursor = '', dataCount = 0) {\n const { current_page, next_page, total_count, total_pages } = pagination;\n const isLastPage = (cursor === next_page) || (dataCount < PER_PAGE);\n\n return {\n perPage: PER_PAGE,\n nextPage: next_page,\n isLastPage,\n current: current_page,\n total: total_pages,\n totalCount: total_count,\n };\n}\n\nexport function transformNewsParams(payload = {}) {\n const {\n id,\n mention,\n cluster,\n cursor,\n sortData,\n perPage = PER_PAGE,\n } = payload;\n const { sort: sortValue } = sortData || {};\n\n return {\n cursor,\n per_page: perPage,\n sort_by: sortValue || DEFAULT_SORT.value,\n config_id: id,\n entities_title_text: mention,\n clusters: [cluster],\n };\n}\n\nexport function transformNewsLookupParams(payload = {}) {\n const {\n page,\n perPage = PER_PAGE,\n keywordSearch,\n } = payload;\n\n return {\n page,\n per_page: perPage,\n search_form: {\n lookup_keyword: keywordSearch,\n },\n sort: 'published_at',\n direction: 'desc',\n };\n}\n\nfunction removeIgnoredKeyword(str) {\n const splittedStr = str.split(' ');\n\n return splittedStr\n .filter(word => word[0] !== '-')\n .join(' ');\n}\n\nexport function extractKeywords(keywords) {\n const separatorRegexp = /[|+]+|w\\/[0-9]*/;\n\n const formattedKeywords = keywords.replace(/[\"*()]/g, '');\n const keywordsArray = formattedKeywords.split(separatorRegexp);\n\n return keywordsArray\n .filter(str => !/~/.test(str))\n .map(str => removeIgnoredKeyword(str))\n .map(str => str.trim());\n}\n\nexport function getFeedKeywords(feed) {\n const { search_params } = feed;\n const { include_keywords: includeKeywords } = search_params;\n\n if (includeKeywords) {\n return extractKeywords(includeKeywords);\n }\n\n return [];\n}\n\nexport function handleFailureNotification(error) {\n isNotFoundError(error)\n ? Notifications.feedNotFound()\n : Notifications.defaultFetchDataFailed();\n}\n\nexport function transformTag({ name, id }) {\n return {\n label: name,\n value: id,\n };\n}\n\nexport function transformTags(response) {\n const { data } = response || {};\n\n return map(data, (item) => {\n const { record_id: recordId, tags } = item;\n\n return {\n recordId,\n tags: map(tags, transformTag),\n };\n });\n}\n","export function transformLegislator(legislator = {}) {\n const {\n id,\n name,\n universal_moniker,\n party_short,\n party_slug,\n photo_path,\n position,\n ...restProps\n } = legislator;\n\n return {\n ...restProps,\n id,\n name: name || universal_moniker,\n partyShort: party_short,\n partySlug: party_slug,\n avatarUrl: photo_path,\n url: `/federal/legislators/${id}`,\n position,\n };\n}\n","import { isEmpty, isString } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { GLOBAL_DATE_FORMAT, MONTH_SHORT_DAY_YEAR_FORMAT } from 'utils/constants/date';\nimport { FEDERAL_BILL_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nimport { transformLegislator } from './legislator';\nimport { transformHearings } from './hearings';\n\nexport function transformProfileForUI(payload) {\n const { data } = payload || {};\n const {\n id,\n chamber,\n introduced_at,\n display_title,\n display_bill_id,\n status_full,\n short_title,\n official_title,\n status_step,\n text_url,\n last_action,\n sponsor,\n committee_hearings,\n companion_bill,\n text_summary,\n congress,\n } = data || {};\n const { text, date } = last_action || {};\n const { url, display_id: companionBillId } = companion_bill ? companion_bill.related_bill : {};\n const companionBillUrl = !isEmpty(url) ? url : null;\n const lastAction = {\n date: date && moment(date).format(MONTH_SHORT_DAY_YEAR_FORMAT),\n description: text,\n };\n\n return {\n id,\n lastAction,\n documentType: DOCUMENT_TYPES.FEDERAL_BILL,\n itemType: FEDERAL_BILL_ITEM_TYPE,\n recordId: id,\n withTrack: true,\n keyDetails: {\n chamber,\n textSummary: text_summary,\n billName: display_title,\n shortTitle: short_title,\n billUrl: id && `/federal/bills/${id}`,\n officialTitle: official_title,\n displayBillId: display_bill_id,\n billStatusFull: status_full,\n billStatusStep: status_step,\n hearings: transformHearings(committee_hearings),\n billText: { href: text_url, value: 'View', isExternal: true },\n introducedAt: introduced_at && moment(introduced_at).format(MONTH_SHORT_DAY_YEAR_FORMAT),\n sponsor: transformLegislator({ ...sponsor, isSponsor: true }),\n companionBill: { href: companionBillUrl, value: companionBillId },\n lastAction,\n congress,\n },\n };\n}\n\nexport function transformCommitteesForUI(payload) {\n const { data } = payload || {};\n const committees = data || [];\n\n return {\n committeesAssignments: committees.map(committee => ({\n value: committee.name,\n href: `/federal/committees/${committee.id}`,\n })),\n };\n}\n\nexport function transformCosponsorsForUI(payload) {\n const { data } = payload || {};\n const {\n total_republican_cosponsors,\n total_democratic_cosponsors,\n total_independent_cosponsors,\n original_cosponsors,\n additional_cosponsors,\n } = data || {};\n\n return {\n cosponsors: {\n republican: {\n numCosponsors: total_republican_cosponsors,\n partyShort: 'R',\n partySlug: 'republican',\n },\n democratic: {\n numCosponsors: total_democratic_cosponsors,\n partyShort: 'D',\n partySlug: 'democratic',\n },\n independent: {\n numCosponsors: total_independent_cosponsors,\n partyShort: 'I',\n partySlug: 'independent',\n },\n originalCosponsors: original_cosponsors && original_cosponsors.map(\n item => transformLegislator({ ...item, isOriginalCosponsor: true })\n ),\n otherCosponsors: additional_cosponsors && additional_cosponsors.map(\n item => transformLegislator({ ...item, isCosponsor: true })\n ),\n },\n };\n}\n\nfunction transformReportList(reports, isExternal = true) {\n if (isEmpty(reports)) {\n return [];\n }\n\n if (isString(reports)) {\n return [{ href: reports, isExternal }];\n }\n\n return reports.map(({ title, url }) => ({ href: url, value: title, isExternal }));\n}\n\nfunction transformCRSReports(reports) {\n if (isEmpty(reports)) {\n return [];\n }\n\n return transformReportList(reports)\n .map(item => ({ ...item, value: 'View' }));\n}\n\nexport function transformOfficialReportsForUI(payload) {\n const { data } = payload || {};\n const { sap_reports, crs_reports, committee_reports, cbo_reports } = data || {};\n\n return {\n officialReports: {\n sapReports: transformReportList(sap_reports),\n crsReports: transformCRSReports(crs_reports),\n committeeReports: transformReportList(committee_reports),\n cboCostEstimate: transformReportList(cbo_reports),\n },\n };\n}\n\nexport function transformTimeline(payload) {\n const { data } = payload || {};\n\n if (isEmpty(data)) {\n return [];\n }\n\n function getItemTitle(item, index) {\n const { type_name = '' } = item;\n\n if (index === 0) {\n return 'Last Action';\n }\n\n return type_name;\n }\n\n return data.map((item, index) => ({\n ...item,\n title: getItemTitle(item, index),\n date: item && item.date && moment(item.date).format(GLOBAL_DATE_FORMAT),\n }));\n}\n","import map from 'lodash/map';\n\nexport function transformHearings(hearings) {\n return map(hearings, ({ display_title, url }) => ({\n value: display_title,\n href: url,\n isExternal: true,\n }));\n}\n","import { transformBillsAndVotesForUI } from 'redux/votingRecord/utils';\n\nexport function transformRollCallVotesForUI(rollCallVotesData = {}) {\n return transformBillsAndVotesForUI(rollCallVotesData);\n}\n\nexport function transformRollCallVotesForBE(payload) {\n const { id, ...restProps } = payload || {};\n\n return {\n ...restProps,\n search_form: {\n bill_id: id,\n },\n };\n}\n","import moment from 'moment/moment';\nimport { isEmpty, map } from 'lodash';\n\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nexport function transformAmendmentsForUI(amendments = {}) {\n const { data = [] } = amendments;\n\n return {\n allItems: map(data, ({ proposed, sponsor, ...restProps }) => {\n const { party_short, party_slug, ...sponsorProps } = sponsor || {};\n\n return {\n ...restProps,\n proposed: proposed && moment(proposed).format(GLOBAL_DATE_FORMAT),\n sponsor: {\n ...sponsorProps,\n partyShort: party_short,\n partySlug: party_slug,\n },\n };\n }),\n };\n}\n\nexport function transformAmendmentsForBE(payload) {\n const { id, ...restProps } = payload || {};\n\n return {\n ...restProps,\n search_form: {\n bill_id: id,\n },\n };\n}\n","import isEmpty from 'lodash/isEmpty';\n\nimport { BILL_SLUG } from '../constants';\nimport { transformLegislator } from './legislator';\n\nexport function transformActiveVoicesForBE(payload = {}) {\n const { id } = payload;\n\n return {\n attributes: {\n bill_id: id,\n },\n model_slugs: [BILL_SLUG],\n };\n}\n\nfunction transformBill(bill = {}) {\n const { id, title } = bill;\n\n return {\n href: `/federal/bills/${id}`,\n value: title,\n };\n}\n\nexport function transformActiveVoicesForUI(response = {}) {\n const { ratings } = response;\n\n if (isEmpty(ratings)) {\n return { allItems: [] };\n }\n\n return {\n allItems: ratings.map((rating) => {\n const { legislator, records = [] } = rating;\n\n return {\n legislator: transformLegislator(legislator),\n bills: records.map(transformBill),\n };\n }),\n };\n}\n","import isEmpty from 'lodash/isEmpty';\n\nexport function transformLobbyingInformationForUI(rollCallVotesData = {}) {\n const { data = [] } = rollCallVotesData;\n\n if (isEmpty(data)) {\n return { allItems: [] };\n }\n\n return {\n allItems: data.map((item) => {\n const { contract_url, client, registrant } = item || {};\n\n return {\n client,\n firm: registrant,\n contract: {\n url: contract_url,\n name: 'View',\n },\n };\n }),\n };\n}\n","const addCurrentSuffix = versions => (\n versions.map(({ label, ...rest }, index) => ({\n ...rest,\n label: index === versions.length - 1 ? `${label} (Current)` : label,\n }))\n);\n\nconst transformVersions = versions => (\n versions.map(({ id, version_name }) => ({\n value: id,\n label: version_name,\n }))\n);\n\nexport function transformTextVersionsForUI(payload) {\n const { bill_versions = [], companion_versions = [] } = (payload && payload.data) || {};\n\n return {\n textVersions: [\n {\n label: 'Companion bills',\n options: transformVersions(companion_versions),\n },\n {\n label: 'Versions of this bill',\n options: addCurrentSuffix(transformVersions(bill_versions)),\n },\n ],\n };\n}\n","export * from './profile';\nexport * from './rollCallVotes';\nexport * from './amendments';\nexport * from './activeVoices';\nexport * from './lobbyingInformation';\nexport * from './billsComparison';\nexport * from './legislator';\n","import stafferConstants from 'redux/staffers/common/constants';\n\nconst keyword = 'STAFFERS_PROFILE';\n\nconst constants = {\n ...stafferConstants(keyword),\n FETCH_STAFFER: `${keyword}/FETCH_STAFFER`,\n RECEIVE_STAFFER_DONE: `${keyword}/RECEIVE_STAFFER_DONE`,\n PROFILE_NOT_FOUND: `${keyword}/PROFILE_NOT_FOUND`,\n FETCH_OFFICE_STAFFERS: `${keyword}/FETCH_OFFICE_STAFFERS`,\n RECEIVE_OFFICE_STAFFERS_DONE: `${keyword}/RECEIVE_OFFICE_STAFFERS_DONE`,\n FETCH_TAGS: `${keyword}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${keyword}/RECEIVE_TAGS_DONE`,\n};\n\nexport default constants;\n","import constants from './constants';\n\nexport const defaultState = {\n appliedFilters: {},\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.SET_APPLIED_FILTERS:\n return {\n ...state,\n appliedFilters: action.payload,\n };\n case constants.UPDATE_APPLIED_FILTERS:\n return {\n ...state,\n appliedFilters: {\n ...state.appliedFilters,\n ...action.payload,\n },\n };\n case constants.RESET_APPLIED_FILTERS:\n return {\n ...state,\n appliedFilters: {},\n };\n default:\n return state;\n }\n}\n","import constants from './constants';\n\nexport const defaultState = {\n savedSearches: [],\n recentSearches: [],\n savedPaginator: {},\n lastSearchId: undefined,\n ui: {\n isSavedSearchesLoading: false,\n isRecentSearchesLoading: false,\n isSavingSearches: false,\n isRemovingItem: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_SAVED_SEARCHES_DATA:\n return {\n ...state,\n savedSearches: [],\n savedPaginator: {},\n ui: { ...state.ui, isSavedSearchesLoading: true },\n };\n case constants.RECEIVE_SAVED_SEARCHES_DATA_DONE:\n return {\n ...state,\n savedSearches: action.payload || [],\n savedPaginator: action.paginator,\n ui: { ...state.ui, isSavedSearchesLoading: false },\n };\n case constants.FETCH_RECENT_SEARCHES_DATA:\n return {\n ...state,\n recentSearches: [],\n ui: { ...state.ui, isRecentSearchesLoading: true },\n };\n case constants.RECEIVE_RECENT_SEARCHES_DATA_DONE:\n return {\n ...state,\n recentSearches: action.payload || [],\n ui: { ...state.ui, isRecentSearchesLoading: false },\n };\n case constants.SAVE_SEARCH_ITEM:\n return {\n ...state,\n ui: { ...state.ui, isSavingSearches: true },\n };\n case constants.SAVE_SEARCH_ITEM_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSavingSearches: false },\n };\n case constants.SAVE_RECENT_SEARCH_ITEM:\n return {\n ...state,\n ui: { ...state.ui, isSavingSearches: true },\n };\n case constants.SAVE_RECENT_SEARCH_ITEM_DONE:\n return {\n ...state,\n lastSearchId: action.payload.id,\n ui: { ...state.ui, isSavingSearches: false },\n };\n case constants.REMOVE_SEARCH_ITEM:\n return {\n ...state,\n ui: { ...state.ui, isRemovingItem: true },\n };\n case constants.REMOVE_SEARCH_ITEM_DONE:\n return {\n ...state,\n ui: { ...state.ui, isRemovingItem: false },\n };\n case constants.SET_LAST_SEARCH_ID:\n return {\n ...state,\n lastSearchId: action.payload,\n };\n default:\n return state;\n }\n}\n","import { NONE_ID } from 'components/core/FrequencyOptions/constants';\n\nimport constants from './constants';\n\nconst defaultState = {\n defaultSubscription: NONE_ID,\n ui: {\n isLoadingDefaultSubscription: true,\n isUpdatingDefaultSubscription: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_DEFAULT_SUBSCRIPTION:\n return {\n ...state,\n ui: { ...state.ui, isLoadingDefaultSubscription: true },\n };\n case constants.LOAD_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n ui: { ...state.ui, isLoadingDefaultSubscription: false },\n };\n case constants.LOAD_DEFAULT_SUBSCRIPTION_FAILED:\n return {\n ...state,\n ui: { ...state.ui, isLoadingDefaultSubscription: false },\n };\n case constants.UPDATE_DEFAULT_SUBSCRIPTION:\n return {\n ...state,\n ui: { ...state.ui, isUpdatingDefaultSubscription: true },\n };\n case constants.UPDATE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n ui: { ...state.ui, isUpdatingDefaultSubscription: false },\n };\n case constants.UPDATE_DEFAULT_SUBSCRIPTION_FAILED:\n return {\n ...state,\n ui: { ...state.ui, isUpdatingDefaultSubscription: false },\n };\n default:\n return state;\n }\n}\n","import { isArray, filter, find, map, includes, toString, isNil } from 'lodash';\n\nfunction isSameRecord(recordId, subscriptionRecordId) {\n return toString(recordId) === toString(subscriptionRecordId);\n}\n\nfunction findFederalCommitteeSubscription({ itemSubscription, recordId, trackRecordType }) {\n const {\n recordId: subscriptionRecordId,\n trackRecordType: subscriptionType,\n } = itemSubscription || {};\n\n return isSameRecord(recordId, subscriptionRecordId) && includes(trackRecordType, subscriptionType);\n}\n\nfunction belongsToItem({ itemSubscription, recordId, trackRecordType, searchId }) {\n const {\n recordId: subscriptionRecordId,\n trackRecordType: subscriptionType,\n searchId: subscriptionSearchId,\n } = itemSubscription || {};\n const isSameSearch = !isNil(searchId) && toString(searchId) === toString(subscriptionSearchId);\n\n return (isSameRecord(recordId, subscriptionRecordId) || isSameSearch)\n && trackRecordType === subscriptionType;\n}\n\nfunction getSubscriptions({ recordId, trackRecordType, subscriptions, searchId }) {\n if (isArray(trackRecordType)) {\n const listSubscriptions = filter(subscriptions, itemSubscription => findFederalCommitteeSubscription({\n itemSubscription,\n recordId,\n trackRecordType,\n }));\n\n return { listSubscriptions };\n }\n\n return find(subscriptions, itemSubscription => belongsToItem({\n itemSubscription,\n recordId,\n trackRecordType,\n searchId,\n })) || {};\n}\n\nfunction mergeTrackWithSubscriptions(data, subscriptions) {\n return map(data, (item) => {\n const { recordId, trackRecordType, searchId } = item || {};\n const formattedSubscriptions = getSubscriptions({\n recordId,\n trackRecordType,\n subscriptions,\n searchId,\n });\n\n return { ...item, ...formattedSubscriptions, isLoadingTracking: false };\n });\n}\n\nexport function loadSubscriptions(state, action) {\n const { data } = state || {};\n\n return {\n ...state,\n data: mergeTrackWithSubscriptions(data, action.payload),\n };\n}\n","import { find, map, toString } from 'lodash';\n\nfunction findPosition({ positionItem, recordId, positionRecordType }) {\n const { recordType, recordId: positionRecordId } = positionItem || {};\n\n return toString(recordId) === toString(positionRecordId)\n && positionRecordType === recordType;\n}\n\nfunction mergeDataWithPosition(data, positions) {\n return map(data, (item) => {\n const { recordId, positionRecordType } = item || {};\n\n const position = find(positions, positionItem => (\n findPosition({ positionItem, recordId, positionRecordType })\n )) || {};\n\n return { ...item, ...position, isLoadingPosition: false };\n });\n}\n\nexport function loadPositions(state, action) {\n const { data } = state || {};\n const { positions } = action.payload || {};\n\n return {\n ...state,\n data: map(data, (item) => {\n const { position, recordId } = item;\n\n return {\n ...item,\n position: positions[recordId] || position,\n };\n }),\n };\n}\n\nexport function loadAllPositionsDone(state, action) {\n const { data } = state || {};\n\n return {\n ...state,\n data: mergeDataWithPosition(data, action.payload),\n };\n}\n","import { find, map, toString } from 'lodash';\n\nexport function loadTags(state) {\n const { data } = state || {};\n\n return {\n ...state,\n data: map(data, item => ({\n ...item,\n isLoadingTags: true,\n })),\n };\n}\n\nfunction findTags({ tagItem, recordId, documentType }) {\n const { recordId: tagRecordId, recordType } = tagItem || {};\n\n return toString(recordId) === toString(tagRecordId)\n && recordType === documentType;\n}\n\nfunction mergeDataWithTags(data, tags) {\n return map(data, (item) => {\n const { recordId, documentType } = item || {};\n const foundTag = find(tags, tagItem => findTags({ tagItem, recordId, documentType })) || {};\n\n return { ...item, ...foundTag, isLoadingTags: false };\n });\n}\n\nexport function updateTags(state, action) {\n const { data } = state || {};\n\n return {\n ...state,\n data: mergeDataWithTags(data, action.payload),\n };\n}\n","import { map, toString, includes, unionBy, isNil, size, compact } from 'lodash';\n\nexport * from './subscriptionReducer';\nexport * from './linkPreviewReducer';\nexport * from './positionReducer';\nexport * from './tagsReducer';\n\n/** UNDO EVENTS */\nexport function loadUndoEvent(state) {\n return {\n ...state,\n isLoadingUndo: true,\n };\n}\n\nexport function undoEvent(state, action) {\n const { data } = state || {};\n const { id: actionId } = action || {};\n\n function setUndoFalse(id) {\n return id === actionId ? { isUndo: false } : {};\n }\n\n return {\n ...state,\n isLoadingUndo: false,\n data: map(data, ({ id, ...restProps }) => ({ ...restProps, ...setUndoFalse(id), id })),\n };\n}\n\nexport function setIsOldData(data) {\n return map(data, item => ({ ...item, isNewData: false }));\n}\n\nexport function removeEvent(state, payload) {\n const { data } = state || {};\n const { id: actionId } = payload || {};\n\n return {\n ...state,\n data: map(data, ({ id, ...restProps }) => {\n if (id === actionId) {\n return { ...restProps, id, isUndo: true };\n }\n\n return { ...restProps, id };\n }),\n };\n}\n\nexport function updateDataItem(state, action) {\n const { ui, data } = state || {};\n const { recordId, modelId } = action.payload || {};\n\n if (modelId) {\n return {\n ...state,\n data: map(data, item => ({\n ...item,\n ...(modelId === item.modelId && action.payload),\n })),\n };\n }\n\n return {\n ...state,\n ui: {\n ...ui,\n isLoadingSingleTag: false,\n },\n data: map(data, item => ({\n ...item,\n ...(item.recordId === recordId && action.payload),\n })),\n };\n}\n\nexport function updateTagItemLoading(state) {\n const { ui } = state || {};\n\n return {\n ...state,\n ui: {\n ...ui,\n isLoadingSingleTag: true,\n },\n };\n}\n\nexport function loadEvent(state, payload) {\n const { data } = state || {};\n const { id: eventId } = payload || {};\n\n return {\n ...state,\n data: map(data, (item) => {\n const { id } = item || {};\n const updatedItem = id === eventId ? payload : {};\n\n return ({ ...item, ...updatedItem });\n }),\n };\n}\n\nexport function loadingBulkRemoveEvents(state) {\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingBulkRemove: true,\n },\n };\n}\n\nexport function bulkRemoveItems(state, action) {\n const { data } = state || {};\n const { tokens } = action || {};\n\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingBulkRemove: false,\n },\n data: map(data, ({ id, ...restProps }) => {\n if (includes(tokens, toString(id))) {\n return { ...restProps, id, isUndo: true };\n }\n\n return { ...restProps, id };\n }),\n };\n}\n\nexport function loadingBulkUpdateItems(state, action) {\n const {\n isLoadingSaving,\n isLoadingPriority,\n isLoadingTags,\n isLoadingRead,\n isLoadingUnread,\n } = action || {};\n\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingBulkSaving: isLoadingSaving || false,\n isLoadingBulkPriority: isLoadingPriority || false,\n isLoadingBulkRead: isLoadingRead || false,\n isLoadingBulkUnread: isLoadingUnread || false,\n isLoadingBulkTags: isLoadingTags || false,\n },\n };\n}\n\nexport function bulkUpdateItems(state, action) {\n const { data } = state || {};\n const { tokens, priority, isSaved, isRead } = action || {};\n\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingBulkSaving: false,\n isLoadingBulkPriority: false,\n isLoadingBulkRead: false,\n isLoadingBulkUnread: false,\n isLoadingBulkTags: false,\n },\n data: map(data, (item) => {\n const { id } = item || {};\n\n if (includes(tokens, toString(id))) {\n return {\n ...item,\n ...(!isNil(isRead) && { isRead }),\n ...(isSaved && { isSaved }),\n ...(priority && { priority }),\n };\n }\n\n return item;\n }),\n };\n}\n\nexport function updateEvent(state, payload) {\n const { data, ...restStateProps } = state || {};\n const { id, frequency } = payload || {};\n\n return {\n ...restStateProps,\n data: map(data, (item) => {\n const { id: itemId, subscription = {} } = item;\n const updatedSubscription = isNil(frequency) ? subscription : { ...subscription, frequency };\n const updatedItem = itemId === id\n ? { ...payload, subscription: updatedSubscription }\n : {};\n\n return ({ ...item, ...updatedItem });\n }),\n };\n}\n\nexport function updateEventKeyword(state, { isLoadingSubscription, modelId, frequency }) {\n const { data, ...restStateProps } = state || {};\n\n return {\n ...restStateProps,\n data: map(data, (item) => {\n const { subscription = {} } = item;\n const { token } = subscription;\n const itemPayload = {\n isLoadingSubscription,\n subscription: {\n ...subscription,\n frequency,\n },\n frequency,\n };\n\n return ({ ...item, ...token === modelId && itemPayload });\n }),\n };\n}\n\nfunction getTrackCommitteeIds({ stafferData, hearingData }) {\n const { modelId: stafferId } = stafferData || {};\n const { modelId: hearingId } = hearingData || {};\n\n return compact([toString(stafferId), toString(hearingId)]);\n}\n\nexport function updateTrackCommitteeInit(state, payload) {\n const { data } = state || {};\n const ids = getTrackCommitteeIds(payload);\n\n return {\n ...state,\n data: map(data, (item) => {\n const { recordId } = item || {};\n const updatedItem = ids.includes(recordId) ? { isLoadingSubscription: true } : {};\n\n return ({ ...item, ...updatedItem });\n }),\n };\n}\n\nexport function updateTrackCommittee(state, payload) {\n const { data, ...restStateProps } = state || {};\n const { updateSubscriptions } = payload || {};\n const ids = getTrackCommitteeIds(payload);\n\n return {\n ...restStateProps,\n data: map(data, (item) => {\n const { recordId, listSubscriptions } = item || {};\n const list = unionBy(updateSubscriptions, listSubscriptions, 'type');\n\n const updatedItem = includes(ids, toString(recordId)) ? {\n isLoadingSubscription: false,\n isTracking: size(list) > 0,\n listSubscriptions: list,\n } : {};\n\n return ({ ...item, ...updatedItem });\n }),\n };\n}\n","import { combineReducers } from 'redux';\nimport { isEmpty, size, map } from 'lodash';\n\nimport { EXPORT_LIMIT } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport defaultSubscription from '../common/defaultSubscription/reducers';\n\nimport {\n undoEvent,\n loadUndoEvent,\n removeEvent,\n setIsOldData,\n loadPositions,\n loadTags,\n updateTags,\n updateDataItem,\n loadSubscriptions,\n updateTagItemLoading,\n loadAllPositionsDone,\n loadEvent,\n loadingBulkRemoveEvents,\n bulkRemoveItems,\n loadingBulkUpdateItems,\n bulkUpdateItems,\n updateEvent,\n updateEventKeyword,\n updateTrackCommitteeInit,\n updateTrackCommittee,\n updateLinksPreview,\n loadLinksPreview,\n} from './utils/reducersUtils';\nimport constants from './constants';\n\nconst defaultState = {\n type: '',\n error: false,\n seen: {},\n lastVisit: {},\n keywords: [],\n createdAt: '',\n data: [],\n paginator: {},\n sort: {},\n ui: {\n isLoadingKeywords: true,\n isInitialSeenUpdated: false,\n isInfiniteDisabled: true,\n isLoading: true,\n isInitialLoad: true,\n isLoadingNextPage: false,\n },\n};\n\nfunction myFeed(state = defaultState, action) {\n switch (action.type) {\n case constants.SET_SEEN:\n return {\n ...state,\n ui: {\n ...state.ui,\n isInitialSeenUpdated: true,\n },\n };\n case constants.SET_LAST_VISIT:\n return {\n ...state,\n lastVisit: action.payload,\n };\n case constants.SET_CREATED_TO:\n return {\n ...state,\n createdAt: action.payload,\n };\n case constants.LOAD_KEYWORDS_INIT:\n return {\n ...state,\n keywords: [],\n ui: {\n ...state.ui,\n isLoadingKeywords: true,\n },\n };\n case constants.LOAD_KEYWORDS_DONE:\n return {\n ...state,\n keywords: action.payload,\n ui: {\n ...state.ui,\n isLoadingKeywords: false,\n },\n };\n case constants.LOAD_DATA_INIT:\n return {\n ...state,\n type: action.payload,\n data: action.isInfinite ? state.data : [],\n ui: {\n ...state.ui,\n isLoading: !action.isInfinite,\n isLoadingNextPage: action.isInfinite,\n },\n };\n case constants.LOAD_DATA_DONE:\n return {\n ...state,\n error: action.error,\n data: action.isInfinite ? [...setIsOldData(state.data), ...action.payload] : action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isInfiniteDisabled: size(action.payload) < EXPORT_LIMIT,\n isInitialLoad: false,\n isLoadingNextPage: false,\n },\n };\n case constants.UPDATE_EVENT_INIT:\n return loadEvent(state, action.payload);\n case constants.LOADING_DATA_FINISH:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoading: false,\n isInitialLoad: false,\n },\n };\n case constants.UPDATE_EVENT:\n return updateEvent(state, action.payload);\n case constants.UPDATE_EVENT_KEYWORD:\n return updateEventKeyword(state, action.payload);\n case constants.REMOVE_EVENT:\n return removeEvent(state, action.payload);\n case constants.LOAD_UNDO_EVENT:\n return loadUndoEvent(state);\n case constants.UNDO_EVENT:\n return undoEvent(state, action);\n case constants.LOAD_POSITIONS_INIT:\n return {\n ...state,\n data: state.data.map(item => ({\n ...item,\n ...((item.withPosition && item.isNewData) && {\n isLoadingPosition: true,\n }),\n })),\n };\n case constants.LOAD_POSITIONS_DONE:\n return loadPositions(state, action);\n case constants.LOAD_POSITIONS_FINISHED:\n return loadAllPositionsDone(state, action);\n case constants.LOAD_TAGS:\n return loadTags(state, action);\n case constants.LOAD_TAGS_DONE:\n return updateTags(state, action);\n case constants.LOAD_RECENT_ITEM_SUBSCRIPTION:\n return {\n ...state,\n data: map(state.data, (item) => {\n const { frequency, recordId, sendWeekAheadEmail } = action.payload;\n\n if (recordId === item.recordId) {\n return { ...item, sendWeekAheadEmail, frequency, isTracking: !isEmpty(frequency) };\n }\n\n return item;\n }),\n };\n case constants.LOAD_ITEMS_SUBSCRIPTIONS_INIT:\n return {\n ...state,\n data: state.data.map(item => ({\n ...item,\n ...((item.withTrack && item.isNewData) && {\n isLoadingTracking: true,\n }),\n })),\n };\n case constants.LOAD_ITEMS_SUBSCRIPTIONS_FINISHED:\n return loadSubscriptions(state, action);\n case constants.UPDATE_DATA_ITEM:\n return updateDataItem(state, action);\n case constants.UPDATE_TAG_ITEM:\n return updateTagItemLoading(state, action);\n case constants.UPDATE_TAG_ITEM_DONE:\n return updateDataItem(state, action);\n case constants.BULK_REMOVE_EVENTS:\n return loadingBulkRemoveEvents(state);\n case constants.BULK_REMOVE_EVENTS_DONE:\n return bulkRemoveItems(state, action);\n case constants.BULK_UPDATE_EVENTS:\n return loadingBulkUpdateItems(state, action);\n case constants.BULK_UPDATE_EVENTS_DONE:\n return bulkUpdateItems(state, action);\n case constants.UPDATE_TRACK_COMMITTEE_INIT:\n return updateTrackCommitteeInit(state, action.payload);\n case constants.UPDATE_TRACK_COMMITTEE:\n return updateTrackCommittee(state, action.payload);\n case constants.SET_CARDS_LINK_PREVIEW_INIT:\n return loadLinksPreview(state, action.payload);\n case constants.SET_CARDS_LINK_PREVIEW_DONE:\n return updateLinksPreview(state, action.payload);\n case constants.RESET:\n return defaultState;\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n defaultSubscription,\n myFeed,\n});\n","import { has, map } from 'lodash';\n\nexport function loadLinksPreview(state, payload) {\n const { data } = state || {};\n\n return {\n ...state,\n data: map(data, item => ({\n ...item,\n ...(has(payload, item.id) && {\n isLoadingLinkPreview: true,\n }),\n })),\n };\n}\n\nexport function updateLinksPreview(state, payload) {\n const { data } = state || {};\n\n return {\n ...state,\n data: map(data, item => ({\n ...item,\n ...(has(payload, item.id) && {\n isLoadingLinkPreview: false,\n linkPreview: payload[item.id],\n }),\n })),\n };\n}\n","import { combineReducers } from 'redux';\n\nimport { initialValues } from 'components/Dashboard/KeywordSearch/utils/constants';\n\nimport defaultSubscription from '../common/defaultSubscription/reducers';\nimport constants from './constants';\n\nexport const defaultState = {\n searchKeyword: initialValues,\n ui: {\n isLoadingKeyword: true,\n isLoadingSaving: false,\n isFetchError: false,\n },\n};\n\nfunction keywordSearch(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_KEYWORD:\n return {\n ...state,\n ui: { ...state.ui, isLoadingKeyword: true },\n };\n case constants.RECEIVE_KEYWORD_SUCCESS:\n return {\n ...state,\n ui: { ...state.ui, isFetchError: false, isLoadingKeyword: false },\n searchKeyword: action.payload,\n };\n case constants.RECEIVE_KEYWORD_FAILED:\n return {\n ...state,\n ui: { ...state.ui, isFetchError: true, isLoadingKeyword: false },\n searchKeyword: action.payload,\n };\n case constants.SAVE_KEYWORD:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSaving: true },\n };\n case constants.SAVE_KEYWORD_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSaving: false },\n };\n case constants.RESET_KEYWORD_FORM:\n return {\n ...defaultState,\n ui: { ...defaultState.ui, isLoadingKeyword: action.isLoadingKeyword },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n keywordSearch,\n defaultSubscription,\n});\n","import constants from './constants';\n\nexport const defaultState = {\n ui: {\n isSaveTrackItems: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.SAVE_TRACK_ITEMS:\n return {\n ...state,\n ui: { ...state.ui, isSaveTrackItems: true },\n };\n case constants.SAVE_TRACK_ITEMS_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSaveTrackItems: false },\n };\n default:\n return state;\n }\n}\n","import { map, reject } from 'lodash';\n\nimport { camelizeKeys } from 'utils/object';\n\nconst updateSubscriptionUsers = (users, isTracking) => {\n const { userId, firstName, lastName, email, profileImgUrl } = camelizeKeys(gon.currentUser);\n const fullName = `${firstName} ${lastName}`;\n const currentUser = {\n id: userId,\n name: fullName,\n email,\n ...(profileImgUrl && { photoUrl: profileImgUrl }),\n };\n\n const usersWithoutCurrentUser = reject(users, { id: userId });\n const usersWithCurrentUser = [...usersWithoutCurrentUser, currentUser];\n\n return isTracking ? usersWithCurrentUser : usersWithoutCurrentUser;\n};\n\nexport const updateWorkspaceSubscription = (workspace, newFrequency, isTracking) => {\n const { subscription } = workspace;\n const { users } = subscription || {};\n\n return ({\n ...workspace,\n subscription: {\n ...subscription,\n frequency: newFrequency,\n users: updateSubscriptionUsers(users, isTracking),\n },\n });\n};\n\nexport const getFeedWithNewFrequency = (feed, payload) => (\n map(feed, workspace => (\n workspace.token === payload.token\n ? updateWorkspaceSubscription(workspace, payload.frequency, payload.isTracking)\n : workspace\n ))\n);\n\nexport const getFeedWithoutDeletedItem = (feed, token) => reject(feed, { token });\n","import { combineReducers } from 'redux';\nimport { concat } from 'lodash';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport {\n getFeedWithNewFrequency,\n getFeedWithoutDeletedItem,\n updateWorkspaceSubscription,\n} from './utils';\nimport constants from './constants';\n\nconst DEFAULT_STATE = {\n feed: [],\n workspace: {},\n ui: {\n isLoading: true,\n isInfiniteDisabled: false,\n isLoadingWorkspace: true,\n isInitialLoad: true,\n isDeletingWorkspace: false,\n isNotFound: false,\n },\n};\n\nfunction workspaces(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.ADD_WORKSPACE:\n return {\n ...state,\n feed: concat(action.payload, state.feed),\n };\n case constants.FETCH_WORKSPACES:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoading: true,\n isInitialLoad: !action.payload.isInfinite,\n },\n };\n case constants.RECEIVE_WORKSPACES_DONE:\n return {\n ...state,\n feed: action.payload.isInfinite ? concat(state.feed, action.payload.feed) : action.payload.feed,\n ui: {\n ...state.ui,\n isLoading: false,\n isInitialLoad: false,\n isInfiniteDisabled: action.payload.pagination.currentPage === action.payload.pagination.totalPages,\n },\n };\n case constants.UPDATE_WORKSPACE_SUBSCRIPTION:\n return {\n ...state,\n feed: getFeedWithNewFrequency(state.feed, action.payload),\n workspace: updateWorkspaceSubscription(state.workspace, action.payload.frequency, action.payload.isTracking),\n };\n case constants.DELETE_WORKSPACE:\n return {\n ...state,\n ui: { ...state.ui, isDeletingWorkspace: true },\n };\n case constants.DELETE_WORKSPACES_DONE:\n return {\n ...state,\n feed: getFeedWithoutDeletedItem(state.feed, action.payload),\n ui: { ...state.ui, isDeletingWorkspace: false },\n };\n case constants.DELETE_WORKSPACE_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isDeletingWorkspace: false },\n };\n case constants.FETCH_WORKSPACE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingWorkspace: true },\n };\n case constants.RECEIVE_WORKSPACE_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingWorkspace: false },\n workspace: action.payload,\n };\n case constants.WORKSPACE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, isNotFound: true },\n };\n case constants.RESET_WORKSPACE:\n return DEFAULT_STATE;\n default:\n return state;\n }\n}\n\nexport default combineReducers({ workspaces, appliedSearchFilters, advancedSearch });\n","import { includes, isEmpty, map, unionBy } from 'lodash';\n\nexport const updateWorkspace = (workspace, { name, frequency }) => ({\n ...workspace,\n ...(name && { name }),\n subscription: {\n ...workspace.subscription,\n ...(frequency && { frequency }),\n },\n});\n\nconst updateSubscription = (subscription, frequency, sendWeekAheadEmail) => {\n const { listSubscriptions } = subscription;\n\n const updateItem = item => ({ ...item, frequency, sendWeekAheadEmail, isDisabled: false });\n\n if (isEmpty(listSubscriptions)) {\n return updateItem(subscription);\n }\n\n const newListSubscriptions = map(listSubscriptions, updateItem);\n return { ...subscription, listSubscriptions: newListSubscriptions };\n};\n\nexport const updateSubscriptions = (subscriptions, { tokens, frequency, sendWeekAheadEmail }) => (\n map(subscriptions, subscription => (\n includes(tokens, subscription.token)\n ? updateSubscription(subscription, frequency, sendWeekAheadEmail)\n : subscription\n ))\n);\n\nexport const updateCommitteeSubscription = (subscriptions, updatedSubscription = {}) => {\n const updateListSubscriptions = subscription => ({\n ...subscription,\n listSubscriptions: unionBy([updatedSubscription], subscription.listSubscriptions, 'type'),\n });\n\n return map(subscriptions, subscription => (\n subscription.modelId === updatedSubscription.modelId\n ? updateListSubscriptions(subscription)\n : subscription\n ));\n};\n\nexport const updateAllSubscriptions = (subscriptions, frequency) => (\n map(subscriptions, subscription => updateSubscription(subscription, frequency, subscription.sendWeekAheadEmail))\n);\n","import { reject, map, includes } from 'lodash';\n\nimport { updateWorkspaceSubscription } from 'redux/dashboardV2/workspaces/utils';\n\nimport constants from './constants';\nimport {\n updateAllSubscriptions,\n updateCommitteeSubscription,\n updateSubscriptions,\n updateWorkspace,\n} from './utils';\n\nconst DEFAULT_STATE = {\n workspace: {},\n subscriptions: [],\n defaultFrequency: null,\n ui: {\n isLoading: true,\n isLoadingSubscriptions: true,\n isNotFound: false,\n isDeletingSubscriptions: false,\n isUpdatingSubscriptions: false,\n isLoadingDefaultFrequency: true,\n isUpdatingDefaultFrequency: false,\n },\n};\n\nfunction workspaceSettings(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_WORKSPACE:\n return {\n ...state,\n ui: { ...state.ui, isLoading: true },\n };\n case constants.RECEIVE_WORKSPACE_DONE:\n return {\n ...state,\n workspace: action.payload,\n ui: { ...state.ui, isLoading: false },\n };\n case constants.WORKSPACE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, isNotFound: true },\n };\n case constants.UPDATE_WORKSPACE:\n return {\n ...state,\n ui: { ...state.ui, isUpdating: true, isNameAlreadyTaken: false },\n };\n case constants.UPDATE_WORKSPACE_DONE:\n return {\n ...state,\n workspace: updateWorkspace(state.workspace, action.payload),\n ui: { ...state.ui, isUpdating: false },\n };\n case constants.NAME_ALREADY_TAKEN:\n return {\n ...state,\n ui: { ...state.ui, isUpdating: false, isNameAlreadyTaken: true },\n };\n case constants.UPDATE_WORKSPACE_SUBSCRIPTION:\n return {\n ...state,\n workspace: updateWorkspaceSubscription(state.workspace, action.payload.frequency, action.payload.isTracking),\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n subscriptions: action.payload,\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.DELETE_SUBSCRIPTION:\n case constants.DELETE_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isDeletingSubscriptions: true },\n };\n case constants.DELETE_SUBSCRIPTION_DONE:\n return {\n ...state,\n subscriptions: reject(state.subscriptions, { token: action.payload }),\n ui: { ...state.ui, isDeletingSubscriptions: false },\n };\n case constants.DELETE_COMMITTEE_SUBSCRIPTION_DONE:\n return {\n ...state,\n subscriptions: updateCommitteeSubscription(state.subscriptions, action.payload),\n ui: { ...state.ui, isDeletingSubscriptions: false },\n };\n case constants.UPDATE_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isUpdatingSubscriptions: true },\n };\n case constants.UPDATE_SUBSCRIPTION_DONE:\n return {\n ...state,\n subscriptions: map(state.subscriptions, subscription => (\n subscription.token === action.payload.token ? action.payload : subscription\n )),\n ui: { ...state.ui, isUpdatingSubscriptions: false },\n };\n case constants.UPDATE_COMMITTEE_SUBSCRIPTION_DONE:\n return {\n ...state,\n subscriptions: updateCommitteeSubscription(state.subscriptions, action.payload),\n ui: { ...state.ui, isUpdatingSubscriptions: false },\n };\n case constants.UPDATE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n subscriptions: updateSubscriptions(state.subscriptions, action.payload),\n ui: { ...state.ui, isUpdatingSubscriptions: false },\n };\n case constants.DELETE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n subscriptions: reject(state.subscriptions, ({ token }) => includes(action.payload, token)),\n ui: { ...state.ui, isDeletingSubscriptions: false },\n };\n case constants.FETCH_DEFAULT_FREQUENCY:\n return {\n ...state,\n ui: { ...state.ui, isLoadingDefaultFrequency: true },\n };\n case constants.FETCH_DEFAULT_FREQUENCY_DONE:\n return {\n ...state,\n defaultFrequency: action.payload,\n ui: { ...state.ui, isLoadingDefaultFrequency: false },\n };\n case constants.UPDATE_DEFAULT_FREQUENCY:\n return {\n ...state,\n ui: { ...state.ui, isUpdatingDefaultFrequency: true },\n };\n case constants.UPDATE_DEFAULT_FREQUENCY_DONE:\n return {\n ...state,\n defaultFrequency: action.payload,\n ui: { ...state.ui, isUpdatingDefaultFrequency: false },\n };\n case constants.RESET_SUBSCRIPTIONS_SETTINGS:\n return {\n ...state,\n ui: { ...state.ui, isUpdatingSubscriptions: true },\n };\n case constants.RESET_SUBSCRIPTIONS_SETTINGS_DONE:\n return {\n ...state,\n subscriptions: updateAllSubscriptions(state.subscriptions, state.defaultFrequency),\n ui: { ...state.ui, isUpdatingSubscriptions: false },\n };\n default:\n return state;\n }\n}\n\nexport default workspaceSettings;\n","import { combineReducers } from 'redux';\n\nimport myFeed from './feedPage/reducers';\nimport keywordSearch from './keywordSearch/reducers';\nimport trackItems from './trackItems/reducers';\nimport workspaces from './workspaces/reducers';\nimport workspaceSettings from './workspaceSettings/reducers';\n\nexport default combineReducers({\n myFeed,\n keywordSearch,\n trackItems,\n workspaces,\n workspaceSettings,\n});\n","import constants from './constants';\n\nexport const defaultState = {\n showAlert: false,\n ui: {\n isLoadingAlert: false,\n isDismissingAlert: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_ALERT:\n return {\n ...state,\n ui: { ...state.ui, isLoadingAlert: true },\n };\n case constants.FETCH_ALERT_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingAlert: false },\n showAlert: action.payload,\n };\n case constants.FETCH_ALERT_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingAlert: false },\n };\n case constants.DISMISS_ALERT:\n return {\n ...state,\n ui: { ...state.ui, isDismissingAlert: true },\n };\n case constants.DISMISS_ALERT_DONE:\n return {\n ...state,\n showAlert: defaultState.showAlert,\n ui: { ...state.ui, isDismissingAlert: false },\n };\n case constants.DISMISS_ALERT_FAILURE:\n return {\n ...defaultState,\n ui: { ...defaultState.ui, isDismissingAlert: false },\n };\n case constants.RESET_ALERT:\n return defaultState;\n default:\n return state;\n }\n}\n","import constants from './constants';\n\nconst DEFAULT_STATE = {\n summary: {\n title: '',\n sharings: [],\n },\n ui: {\n isLoading: true,\n isExporting: false,\n },\n};\n\nfunction document(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.RECEIVE_SUMMARY_DONE:\n return {\n ...state,\n summary: {\n ...action.payload,\n sharings: state.summary.sharings,\n tags: state.summary.tags,\n },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n summary: {\n ...state.summary,\n tags: action.payload,\n },\n };\n case constants.RECEIVE_IS_SHARED_DONE:\n return {\n ...state,\n summary: {\n ...state.summary,\n sharings: action.payload,\n },\n };\n case constants.FETCH_DETAILS:\n return {\n ...state,\n ui: { ...state.ui, isLoading: true },\n };\n case constants.RECEIVE_DETAILS_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoading: false },\n };\n case constants.RECEIVE_DETAILS_ERROR:\n return {\n ...state,\n ui: { ...state.ui, isLoading: false },\n };\n case constants.EXPORT_DOCUMENT:\n return {\n ...state,\n ui: { ...state.ui, isExporting: true },\n };\n case constants.EXPORT_DOCUMENT_DONE:\n return {\n ...state,\n ui: { ...state.ui, isExporting: false },\n };\n default:\n return state;\n }\n}\n\nexport default document;\n","const defaultState = {\n campaign: {\n campaign_type: null,\n matchers: [],\n matcher_messages: [],\n ptc_config: {},\n thank_you_config: {},\n social_media_message_enabled: false,\n exclude_washington_dc_delegates: true,\n exclude_us_territories: true,\n use_federal_legislator_contact_form: true,\n logo_config: {},\n messages_customization_option: 'none',\n },\n custom_recipients: [],\n regulation: {},\n pagination: {},\n ui: {\n loading: false,\n loadingForm: true,\n campaignNotFound: false,\n updatingCustomRecipients: false,\n },\n};\n\nexport default defaultState;\n","import {\n SET_NEW_CAMPAIGN_TYPE,\n FETCH_CAMPAIGN,\n RECEIVE_CAMPAIGN,\n CAMPAIGN_NOT_FOUND,\n FETCH_REGULATION,\n RECEIVE_REGULATION,\n STOP_LOADING,\n RECEIVE_RECIPIENT,\n RECEIVE_DELETED_RECIPIENT,\n RECEIVE_MESSAGE,\n RECEIVE_PTC_MESSAGE,\n RECEIVE_THANK_YOU_MESSAGE,\n RECEIVE_LOGO_CONFIG,\n RESET_STATE,\n FETCH_FORM_INITIAL_VALUES,\n RECEIVE_FORM_INITIAL_VALUES,\n SAVE_CUSTOM_RECIPIENT,\n FAILED_SAVE_CUSTOM_RECIPIENT,\n DELETE_CUSTOM_RECIPIENTS,\n DELETED_CUSTOM_RECIPIENTS,\n RECEIVE_DELETED_CUSTOM_RECIPIENT,\n FETCH_CUSTOM_RECIPIENTS,\n RECEIVE_CUSTOM_RECIPIENTS,\n RECEIVE_PAGINATION,\n} from './constants';\n\nimport defaultState from './defaultState';\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case SET_NEW_CAMPAIGN_TYPE:\n return {\n ...state,\n campaign: {\n ...state.campaign,\n campaign_type: action.payload.campaignType,\n },\n };\n case FETCH_CAMPAIGN:\n return {\n ...state,\n campaign: {\n ...defaultState.campaign,\n token: action.payload.campaignToken,\n },\n ui: { ...state.ui, loading: true },\n };\n case RECEIVE_CAMPAIGN:\n return {\n ...state,\n campaign: action.payload,\n ui: { ...state.ui, loading: false },\n };\n case CAMPAIGN_NOT_FOUND:\n return {\n ...state,\n ui: {\n ...state.ui,\n campaignNotFound: true,\n loading: false,\n },\n };\n case FETCH_REGULATION:\n return {\n ...state,\n regulation: {\n ...defaultState.regulation,\n id: action.regulationId,\n },\n ui: { ...state.ui, loading: true },\n };\n case RECEIVE_REGULATION:\n return {\n ...state,\n regulation: action.payload,\n ui: { ...state.ui, loading: false },\n };\n case STOP_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n case RECEIVE_RECIPIENT: {\n let updated = false;\n\n let updatedMatchers = state.campaign.matchers.map(\n (matcher) => {\n if (matcher.id !== action.payload.id) {\n return matcher;\n }\n\n updated = true;\n return action.payload;\n }\n );\n\n if (!updated) {\n updatedMatchers = [...updatedMatchers, action.payload];\n }\n\n return {\n ...state,\n campaign: {\n ...state.campaign,\n matchers: updatedMatchers,\n },\n };\n }\n case RECEIVE_DELETED_RECIPIENT:\n return {\n ...state,\n campaign: {\n ...state.campaign,\n matchers: state.campaign.matchers.filter(\n matcher => matcher.id !== action.payload.id\n ),\n },\n };\n\n case FETCH_CUSTOM_RECIPIENTS:\n return {\n ...state,\n ui: {\n ...state.ui,\n updatingCustomRecipients: true,\n },\n };\n\n case RECEIVE_CUSTOM_RECIPIENTS:\n return {\n ...state,\n ui: {\n ...state.ui,\n updatingCustomRecipients: false,\n },\n custom_recipients: action.payload,\n };\n\n case SAVE_CUSTOM_RECIPIENT:\n return {\n ...state,\n ui: {\n ...state.ui,\n updatingCustomRecipients: true,\n },\n };\n\n case FAILED_SAVE_CUSTOM_RECIPIENT:\n return {\n ...state,\n ui: {\n ...state.ui,\n updatingCustomRecipients: false,\n },\n };\n\n case DELETE_CUSTOM_RECIPIENTS:\n return {\n ...state,\n ui: {\n ...state.ui,\n updatingCustomRecipients: true,\n },\n };\n\n case DELETED_CUSTOM_RECIPIENTS:\n return {\n ...state,\n ui: {\n ...state.ui,\n updatingCustomRecipients: false,\n },\n };\n\n case RECEIVE_DELETED_CUSTOM_RECIPIENT:\n return {\n ...state,\n custom_recipients: state.custom_recipients.filter(\n recipient => recipient.id !== action.payload.id\n ),\n ui: {\n ...state.ui,\n updatingCustomRecipients: false,\n },\n };\n\n case RECEIVE_MESSAGE: {\n let updated = false;\n\n let updatedMessages = state.campaign.matcher_messages.map(\n (message) => {\n if (message.id !== action.payload.id) {\n return message;\n }\n\n updated = true;\n return action.payload;\n }\n );\n\n if (!updated) {\n updatedMessages = [...updatedMessages, action.payload];\n }\n\n return {\n ...state,\n campaign: {\n ...state.campaign,\n matcher_messages: updatedMessages,\n },\n };\n }\n case RECEIVE_PTC_MESSAGE:\n return {\n ...state,\n campaign: {\n ...state.campaign,\n ptc_config: action.payload,\n },\n };\n case RECEIVE_THANK_YOU_MESSAGE:\n return {\n ...state,\n campaign: {\n ...state.campaign,\n thank_you_config: action.payload,\n },\n };\n case RECEIVE_LOGO_CONFIG:\n return {\n ...state,\n campaign: {\n ...state.campaign,\n logo_config: action.payload,\n },\n };\n case FETCH_FORM_INITIAL_VALUES:\n return {\n ...state,\n ui: {\n ...state.ui,\n loadingForm: true,\n },\n };\n case RECEIVE_FORM_INITIAL_VALUES:\n return {\n ...state,\n initialValues: action.payload,\n ui: {\n ...state.ui,\n loadingForm: false,\n },\n };\n case RECEIVE_PAGINATION:\n return {\n ...state,\n pagination: action.payload,\n };\n case RESET_STATE:\n return defaultState;\n default:\n return state;\n }\n}\n","import moment from 'moment';\nimport { CALENDAR_DATE_FORMAT } from 'utils/constants/date';\n\nconst defaultState = {\n statistics: {\n advocates_count: null,\n messages_count: null,\n messages_sent: null,\n top_states: null,\n edited_messages: null,\n messages_by_parties: {\n republican: 15,\n democratic: 25,\n other: 8,\n },\n messages_by_chambers: {\n congress: 25,\n senate: 15,\n },\n senders: {},\n federal_recipients: {},\n state_recipients: {},\n custom_recipients: {},\n regulations: {},\n },\n dateRange: {\n startsOn: moment().subtract(1, 'months').format(CALENDAR_DATE_FORMAT),\n endsOn: moment().format(CALENDAR_DATE_FORMAT),\n },\n charts: {},\n ui: {\n loadingCampaign: true,\n loadingStatistics: true,\n loadingTableStatistics: true,\n },\n};\n\nexport default defaultState;\n","import {\n FETCH_CAMPAIGN,\n RECEIVE_CAMPAIGN,\n CAMPAIGN_NOT_FOUND,\n FETCH_STATISTICS,\n RECEIVE_STATISTICS_LOADING,\n RECEIVE_STATISTICS_ADVOCATES_COUNT,\n RECEIVE_STATISTICS_MESSAGES_COUNT,\n RECEIVE_STATISTICS_MESSAGES_SENT,\n RECEIVE_STATISTICS_TOP_STATES,\n RECEIVE_STATISTICS_EDITED_MESSAGES,\n RECEIVE_STATISTICS_STATE_RECIPIENTS,\n RECEIVE_STATISTICS_CUSTOM_RECIPIENTS,\n RECEIVE_STATISTICS_FEDERAL_RECIPIENTS,\n RECEIVE_STATISTICS_SENDERS,\n RECEIVE_STATISTICS_REGULATIONS,\n FETCHING_TABLE_STATISTICS,\n FETCHED_TABLE_STATISTICS,\n ADD_CHART_TO_PRINT,\n SET_DATE_RANGE,\n PER_PAGE,\n} from '../constants';\n\nimport defaultState from './defaultState';\n\nconst receiveStatistics = (state, { name, payload }) => {\n const data = payload;\n if (data && data.pagination) {\n data.pagination.per_page = PER_PAGE;\n }\n\n return ({\n ...state,\n statistics: {\n ...state.statistics,\n [name]: data,\n },\n });\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case FETCHING_TABLE_STATISTICS:\n return {\n ...state,\n ui: {\n ...state.ui,\n loadingTableStatistics: true,\n },\n };\n\n case FETCHED_TABLE_STATISTICS:\n return {\n ...state,\n ui: {\n ...state.ui,\n loadingTableStatistics: false,\n },\n };\n\n case FETCH_STATISTICS:\n return {\n ...state,\n ui: {\n ...state.ui,\n loadingStatistics: true,\n },\n };\n\n case RECEIVE_STATISTICS_MESSAGES_COUNT:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'messages_count',\n });\n\n case RECEIVE_STATISTICS_ADVOCATES_COUNT:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'advocates_count',\n });\n\n case RECEIVE_STATISTICS_MESSAGES_SENT:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'messages_sent',\n });\n\n case RECEIVE_STATISTICS_TOP_STATES:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'top_states',\n });\n\n case RECEIVE_STATISTICS_EDITED_MESSAGES:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'edited_messages',\n });\n\n case RECEIVE_STATISTICS_FEDERAL_RECIPIENTS:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'federal_recipients',\n });\n\n case RECEIVE_STATISTICS_STATE_RECIPIENTS:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'state_recipients',\n });\n\n case RECEIVE_STATISTICS_CUSTOM_RECIPIENTS:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'custom_recipients',\n });\n\n case RECEIVE_STATISTICS_SENDERS:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'senders',\n });\n\n case RECEIVE_STATISTICS_REGULATIONS:\n return receiveStatistics(state, {\n payload: action.payload,\n name: 'regulations',\n });\n\n case RECEIVE_STATISTICS_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n loadingStatistics: false,\n },\n };\n\n case ADD_CHART_TO_PRINT:\n return {\n ...state,\n charts: {\n ...state.charts,\n [action.payload.chartId]: action.payload.chart,\n },\n };\n\n case SET_DATE_RANGE:\n return {\n ...state,\n dateRange: action.payload,\n };\n\n case FETCH_CAMPAIGN:\n return {\n ...state,\n ui: {\n ...state.ui,\n loadingCampaign: true,\n },\n };\n\n case RECEIVE_CAMPAIGN:\n return {\n ...state,\n campaign: action.payload,\n ui: {\n ...state.ui,\n loadingCampaign: false,\n },\n };\n\n case CAMPAIGN_NOT_FOUND:\n return {\n ...state,\n ui: {\n ...state.ui,\n loadingCampaign: false,\n },\n };\n\n default:\n return state;\n }\n}\n","const defaultState = {\n campaign: {\n logo: {},\n thank_you_config: {},\n matchers: [],\n company: {},\n },\n formSubmission: {\n custom_messages: {},\n custom_comment: '',\n },\n customColors: {},\n legislators: [],\n customRecipients: [],\n recipients: [],\n regulation: {},\n previewMode: false,\n ui: {\n loading: true,\n landingPage: true,\n previewPage: false,\n thankYouPage: false,\n messageEditorsOpened: 0,\n },\n};\n\nexport default defaultState;\n","import { RECIPIENT_TYPE } from 'components/GrassrootsPortal/constants';\nimport { TWITTER_LINK } from 'utils/constants/socialMedia';\n\nfunction findLegislatorMatcherMessage(legislator) {\n const { matcher, chamber_slug } = legislator;\n\n return matcher.matcher_messages.find(message => message.chamber_slug === chamber_slug);\n}\n\nexport function legislatorToRecipient(legislator) {\n return {\n ...legislator,\n matcherMessage: findLegislatorMatcherMessage(legislator),\n };\n}\n\nfunction findCustomRecipientMatcherMessage(customRecipient) {\n return customRecipient.matcher.matcher_messages[0];\n}\n\nfunction twitterLink(twitterScreenName) {\n if (!twitterScreenName) {\n return twitterScreenName;\n }\n\n return `${TWITTER_LINK}/${twitterScreenName}`;\n}\n\nfunction facebookAccount(facebookUrl) {\n if (!facebookUrl) {\n return facebookUrl;\n }\n\n return facebookUrl.split('/').slice(-1)[0];\n}\n\nfunction socialInfo(customRecipient) {\n const { twitter_screen_name, facebook_url } = customRecipient;\n\n return {\n twitter_screen_name,\n twitter_link: twitterLink(twitter_screen_name),\n facebook_account: facebookAccount(facebook_url),\n facebook_link: facebook_url,\n };\n}\n\nexport function customRecipientToRecipient(customRecipient) {\n return {\n ...customRecipient,\n full_name: customRecipient.title_name,\n addressable_moniker: customRecipient.title_name,\n recipient_type: RECIPIENT_TYPE.CUSTOM_RECIPIENT,\n chamber_slug: null,\n matcherMessage: findCustomRecipientMatcherMessage(customRecipient),\n ...socialInfo(customRecipient),\n };\n}\n","import {\n FETCH_REGULATION,\n FETCH_LEGISLATORS,\n FETCH_CAMPAIGN,\n RECEIVE_CAMPAIGN,\n STOP_LOADING,\n TEMPORARY_SAVE_FORM_SUBMISSION,\n EDIT_FORM_SUBMISSION,\n RECEIVE_LEGISLATORS,\n RECEIVE_REGULATION,\n SAVE_CUSTOM_REGULATION_COMMENT,\n SAVE_CUSTOM_MESSAGE,\n SAVE_FORM_SUBMISSION,\n SAVE_MESSAGES,\n SET_PREVIEW_MODE,\n OPEN_MESSAGE_EDITOR,\n CLOSE_MESSAGE_EDITOR,\n RECEIVE_FORM_SUBMISSION,\n FETCH_CUSTOM_COLORS,\n RECEIVE_CUSTOM_COLORS,\n FETCH_CUSTOM_RECIPIENTS,\n RECEIVE_CUSTOM_RECIPIENTS,\n CREATE_RECIPIENTS,\n} from './constants';\n\nimport defaultState from './defaultState';\nimport {\n legislatorToRecipient,\n customRecipientToRecipient,\n} from './recipientBuilder';\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case FETCH_REGULATION:\n case FETCH_LEGISLATORS:\n case FETCH_CAMPAIGN:\n case FETCH_CUSTOM_RECIPIENTS:\n case FETCH_CUSTOM_COLORS:\n case SAVE_MESSAGES:\n case SAVE_FORM_SUBMISSION:\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: true,\n },\n };\n case STOP_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n case TEMPORARY_SAVE_FORM_SUBMISSION:\n return {\n ...state,\n formSubmission: action.payload,\n };\n case EDIT_FORM_SUBMISSION:\n return {\n ...state,\n formSubmission: {\n ...state.formSubmission,\n ...action.payload,\n },\n };\n case RECEIVE_CAMPAIGN:\n return {\n ...state,\n campaign: action.payload,\n };\n case RECEIVE_LEGISLATORS:\n return {\n ...state,\n legislators: action.payload,\n };\n case RECEIVE_REGULATION:\n return {\n ...state,\n regulation: action.payload,\n };\n case RECEIVE_CUSTOM_RECIPIENTS:\n return {\n ...state,\n customRecipients: action.payload,\n };\n case CREATE_RECIPIENTS:\n return {\n ...state,\n recipients: [\n ...state.legislators.map(legislatorToRecipient),\n ...state.customRecipients.map(customRecipientToRecipient),\n ],\n };\n case SAVE_CUSTOM_REGULATION_COMMENT:\n case SAVE_CUSTOM_MESSAGE:\n return {\n ...state,\n formSubmission: {\n ...state.formSubmission,\n ...action.payload.formSubmission,\n },\n };\n case SET_PREVIEW_MODE:\n return {\n ...state,\n previewMode: true,\n };\n case OPEN_MESSAGE_EDITOR:\n return {\n ...state,\n ui: {\n ...state.ui,\n messageEditorsOpened: state.ui.messageEditorsOpened + 1,\n },\n };\n case CLOSE_MESSAGE_EDITOR:\n return {\n ...state,\n ui: {\n ...state.ui,\n messageEditorsOpened: state.ui.messageEditorsOpened - 1,\n },\n };\n\n case RECEIVE_FORM_SUBMISSION:\n return {\n ...state,\n formSubmission: {\n ...state.formSubmission,\n ...action.payload,\n },\n };\n case RECEIVE_CUSTOM_COLORS:\n return {\n ...state,\n customColors: {\n backgroundColor: action.payload.primary_color,\n color: action.payload.secondary_color,\n },\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n default:\n return state;\n }\n}\n","import { mapValues, isObjectLike, isArray, uniq } from 'lodash';\n\nfunction overrideProps(state, propsValues) {\n return {\n ...state,\n ...propsValues,\n };\n}\n\nfunction appendValuesToArrayProps(state, propsValues, { removeDuplicates = false } = {}) {\n return {\n ...state,\n ...mapValues(propsValues, (value, key) => {\n const newValue = [\n ...state[key],\n ...value,\n ];\n return removeDuplicates ? uniq(newValue) : newValue;\n }),\n };\n}\n\nfunction updateObjectProps(state, propsValues) {\n return {\n ...state,\n ...mapValues(propsValues, (value, key) => (\n isObjectLike(value) && !isArray(value)\n ? updateObjectProps(state[key], value)\n : value\n )),\n };\n}\n\nexport function stateHandler(state) {\n return {\n overrideProps: propsValues => overrideProps(state, propsValues),\n appendValuesToArrayProps: (propsValues, options) => appendValuesToArrayProps(state, propsValues, options),\n updateObjectProps: (propsValues, options) => updateObjectProps(state, propsValues, options),\n };\n}\n","import { combineReducers } from 'redux';\nimport { map, difference } from 'lodash';\n\nimport { updateDataItemArrayPayload, loadingUpdateItem, updateDataItem } from 'utils/reducer';\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport { getEnabledCards } from 'components/Grm2/utils';\n\nimport constants from './constants';\nimport initialState from './initialState';\nimport { stateHandler } from './utils/reducers';\n\nconst grmLookupKeyName = 'cards';\n\nfunction grm(state = initialState, action) {\n const {\n overrideProps,\n appendValuesToArrayProps,\n updateObjectProps,\n } = stateHandler(state);\n\n switch (action.type) {\n case constants.SET_CARDS:\n return overrideProps({ cards: action.payload });\n\n case constants.RESET_CARD_STATUS:\n return overrideProps({\n hasNewCard: false,\n hasEditedCard: false,\n });\n\n case constants.SET_HAS_NEW_CARD:\n return overrideProps({ hasNewCard: action.payload });\n\n case constants.SET_HAS_EDITED_CARD:\n return overrideProps({ hasEditedCard: action.payload });\n\n case constants.SET_CARDS_LINK_PREVIEW:\n return overrideProps({ cardsLinkPreview: action.payload });\n\n case constants.SET_PAGINATION:\n return overrideProps({ pagination: action.payload });\n\n case constants.SET_SORT:\n return overrideProps({ sort: action.payload });\n\n case constants.SET_FILTERS:\n return overrideProps({ filters: action.payload });\n\n case constants.SET_CUSTOM_FIELDS:\n return overrideProps({ customFields: action.payload });\n\n case constants.START_LOADING:\n return updateObjectProps({ ui: { isLoading: true } });\n\n case constants.STOP_LOADING:\n return updateObjectProps({ ui: { isLoading: false } });\n\n case constants.START_LOADING_CUSTOM_FIELDS:\n return updateObjectProps({ ui: { isLoadingCustomFields: true } });\n\n case constants.STOP_LOADING_CUSTOM_FIELDS:\n return updateObjectProps({ ui: { isLoadingCustomFields: false } });\n\n case constants.START_LOADING_LINKS_PREVIEW:\n return updateObjectProps({ ui: { isLoadingLinksPreview: true } });\n\n case constants.STOP_LOADING_LINKS_PREVIEW:\n return updateObjectProps({ ui: { isLoadingLinksPreview: false } });\n\n case constants.SET_SELECTED:\n return overrideProps({ selectedCardIds: action.payload });\n\n case constants.SELECT_CARDS:\n return appendValuesToArrayProps(\n { selectedCardIds: map(getEnabledCards(state.cards), 'id') },\n { removeDuplicates: true }\n );\n\n case constants.UNSELECT_CARDS:\n return overrideProps({\n selectedCardIds: difference(state.selectedCardIds, action.payload),\n });\n\n case constants.RESET_SELECTED_CARDS: {\n return overrideProps({ selectedCardIds: [] });\n }\n\n case constants.SET_TIMELINE_DEFAULT_FILTERS: {\n return overrideProps({ timelineDefaultFilters: action.payload });\n }\n\n case constants.SHOW_DASHBOARD: {\n return updateObjectProps({\n analytics: {\n ui: {\n showDashboard: true,\n },\n },\n });\n }\n\n case constants.HIDE_DASHBOARD: {\n return updateObjectProps({\n analytics: {\n ui: {\n showDashboard: false,\n },\n },\n });\n }\n\n case constants.SET_IS_TASKS_CONTEXT: {\n return overrideProps({ isTasksContext: true });\n }\n\n case constants.SET_NAMESPACE: {\n return overrideProps({ namespace: action.payload });\n }\n\n case constants.SET_ADVANCED_SEARCH:\n return overrideProps({ withAdvancedSearch: true });\n\n case constants.RESET_DATA:\n return initialState;\n\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return updateObjectProps({ ui: { isLoadingMyFeedDocuments: true } });\n\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, grmLookupKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return updateObjectProps({ ui: { isLoadingMyFeedDocuments: false } });\n\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, grmLookupKeyName),\n };\n\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n grm,\n advancedSearch,\n});\n","import constants from './constants';\n\nconst defaultState = {\n watchlist: {\n state_leg_issue_areas: [],\n },\n selectedBill: {\n state: {},\n actions: [],\n sponsors: [],\n cosponsors: [],\n committees: [],\n },\n profile: {\n id: 0,\n lastAction: {},\n keyDetails: {},\n },\n cosponsors: {},\n officialReports: {},\n committeesAssignments: [],\n timeline: [],\n sponsorsAndCosponsors: {\n allItems: [],\n paginator: {},\n republican: {\n numCosponsors: 0,\n partyShort: 'R',\n partySlug: 'republican',\n },\n democratic: {\n numCosponsors: 0,\n partyShort: 'D',\n partySlug: 'democratic',\n },\n },\n ui: {\n isLoadingWatchlist: true,\n committeesStatus: 'loading',\n profileStatus: 'loading',\n timelineStatus: 'loading',\n cosponsorsStatus: 'loading',\n sponsorsStatus: 'loading',\n reportsStatus: 'loading',\n },\n};\n\nexport default function stateLegWatchlist(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_WATCHLIST:\n return {\n ...state,\n watchlist: defaultState.watchlist,\n ui: { ...state.ui, isLoadingWatchlist: true },\n };\n case constants.RECEIVE_WATCHLIST:\n return {\n ...state,\n watchlist: action.payload,\n ui: { ...state.ui, isLoadingWatchlist: false },\n };\n case constants.SELECT_BILL:\n return {\n ...state,\n selectedBill: {\n ...state.selectedBill,\n ...action.payload.bill,\n },\n };\n case constants.DESELECT_BILL:\n return {\n ...state,\n selectedBill: defaultState.selectedBill,\n };\n case constants.FETCH_BILL:\n return {\n ...state,\n ui: { ...state.ui, profileStatus: 'loading' },\n };\n case constants.RECEIVE_BILL:\n return {\n ...state,\n profile: action.payload,\n ui: { ...state.ui, profileStatus: 'idle' },\n };\n case constants.FETCH_SPONSORS_AND_COSPONSORS:\n return {\n ...state,\n sponsorsAndCosponsors: {\n ...defaultState.sponsorsAndCosponsors,\n },\n ui: { ...state.ui, cosponsorsStatus: 'loading' },\n };\n case constants.RECEIVE_SPONSORS_AND_COSPONSORS:\n return {\n ...state,\n sponsorsAndCosponsors: action.payload,\n ui: { ...state.ui, cosponsorsStatus: 'idle' },\n };\n case constants.FETCH_BILL_TIMELINE:\n return {\n ...state,\n ui: { ...state.ui, timelineStatus: 'loading' },\n };\n case constants.RECEIVE_BILL_TIMELINE:\n return {\n ...state,\n timeline: action.payload,\n ui: { ...state.ui, timelineStatus: 'idle' },\n };\n case constants.FETCH_BILL_COMMITTEES:\n return {\n ...state,\n ui: { ...state.ui, committeesStatus: 'loading' },\n };\n case constants.RECEIVE_BILL_COMMITTEES:\n return {\n ...state,\n ...action.payload,\n ui: { ...state.ui, committeesStatus: 'idle' },\n };\n case constants.FETCH_BILL_REPORTS:\n return {\n ...state,\n ui: { ...state.ui, reportsStatus: 'loading' },\n };\n case constants.RECEIVE_BILL_REPORTS:\n return {\n ...state,\n ...action.payload,\n ui: { ...state.ui, reportsStatus: 'idle' },\n };\n case constants.FETCH_BILL_COSPONSORS:\n return {\n ...state,\n ui: { ...state.ui, cosponsorsStatus: 'loading' },\n };\n case constants.RECEIVE_BILL_COSPONSORS:\n return {\n ...state,\n ...action.payload,\n ui: { ...state.ui, cosponsorsStatus: 'idle' },\n };\n case constants.BILL_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, profileStatus: 'error' },\n };\n case constants.FETCH_SPONSORS_ERROR:\n return {\n ...state,\n ui: { ...state.ui, cosponsorsStatus: 'error' },\n };\n case constants.FETCH_TIMELINE_ERROR:\n return {\n ...state,\n ui: { ...state.ui, timelineStatus: 'error' },\n };\n case constants.FETCH_REPORTS_ERROR:\n return {\n ...state,\n ui: { ...state.ui, reportsStatus: 'error' },\n };\n case constants.FETCH_COMMITTEES_ERROR:\n return {\n ...state,\n ui: { ...state.ui, committeesStatus: 'error' },\n };\n default:\n return state;\n }\n}\n","import constants from './constants';\n\nconst defaultState = {\n apiEvents: [],\n events: [],\n calendarData: [],\n checkedEvents: [],\n selectedCommittees: [],\n ui: {\n isLoadingEvents: false,\n isLoadingCalendar: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_EVENTS:\n return {\n ...state,\n apiEvents: [],\n events: [],\n ui: { ...state.ui, isLoadingEvents: true },\n };\n case constants.FETCH_EVENTS_SUCCESS:\n return {\n ...state,\n events: action.payload,\n apiEvents: action.apiEvents,\n ui: { ...state.ui, isLoadingEvents: false },\n };\n case constants.FETCH_EVENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingEvents: false },\n };\n case constants.CHECK_EVENTS:\n return {\n ...state,\n checkedEvents: action.checkedEvents,\n };\n case constants.FETCH_CALENDAR_DATA:\n return {\n ...state,\n calendarData: [],\n ui: { ...state.ui, isLoadingCalendar: true },\n };\n case constants.FETCH_CALENDAR_DATA_SUCCESS:\n return {\n ...state,\n calendarData: action.payload,\n ui: { ...state.ui, isLoadingCalendar: false },\n };\n case constants.SELECT_CALENDAR_DATE:\n return {\n ...state,\n selectedDate: action.selectedDate,\n checkedEvents: [],\n };\n case constants.FILTER_EVENTS:\n return {\n ...state,\n selectedCommittees: action.selectedCommittees,\n events: action.payload,\n };\n case constants.SET_MONTHS_AHEAD:\n return {\n ...state,\n monthsAheadToFetch: action.payload,\n };\n default:\n return state;\n }\n}\n","import constants from './constants';\n\nexport const defaultState = {\n ui: {\n isLoadingExports: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: { ...state.ui, isLoadingExports: true },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingExports: false },\n };\n default:\n return state;\n }\n}\n","import map from 'lodash/map';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { updateDataItemArrayPayload } from 'utils/reducer';\n\nimport constants from '../constants';\n\nexport function loadingUpdateItem(state, action) {\n const { isLoadingTags } = action || {};\n\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingTags: isLoadingTags || false,\n },\n };\n}\n\nexport function getFederalSubscription(state, action) {\n const { payload } = action || {};\n const currentPayload = map(payload, item => ({\n ...item,\n documentType: DOCUMENT_TYPES.FEDERAL_LEGISLATOR,\n }));\n const actionUpdated = { ...action, payload: currentPayload };\n\n return {\n ...updateDataItemArrayPayload(state, actionUpdated, constants.LEGISLATOR_LOOKUP_NAME),\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n}\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport { updateDataItemArrayPayload, updateDataItem } from 'utils/reducer';\n\nimport { loadingUpdateItem, getFederalSubscription } from './utils/reducersUtils';\nimport constants from './constants';\n\nexport const defaultState = {\n legislators: [],\n defaultSubscription: NONE_ID,\n paginator: {},\n sort: {},\n emails: '',\n ui: {\n isLoadingData: true,\n isLoadingTags: true,\n isLoadingSubscriptions: true,\n isSavingSubscriptions: true,\n isLoadingAllEmails: false,\n toResetSelectedItems: true,\n isInitialLoading: true,\n isLoadingMyFeedDocuments: true,\n isSharingItems: false,\n },\n};\n\nfunction legislatorLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_LEGISLATORS:\n return {\n ...state,\n sort: defaultState.sort,\n emails: defaultState.email,\n ui: { ...state.ui, isLoadingData: true, toResetSelectedItems: false },\n };\n case constants.RECEIVE_LEGISLATORS_DONE:\n return {\n ...state,\n legislators: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n isInitialLoading: false,\n },\n };\n case constants.FETCH_LEGISLATORS_EMAILS:\n return {\n ...state,\n emails: defaultState.emails,\n ui: { ...state.ui, isLoadingAllEmails: true },\n };\n case constants.RECEIVE_LEGISLATORS_EMAILS_DONE:\n return {\n ...state,\n emails: action.payload,\n ui: { ...state.ui, isLoadingAllEmails: false },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, constants.LEGISLATOR_LOOKUP_NAME),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.BULK_UPDATE_DATA:\n return loadingUpdateItem(state, action);\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, constants.LEGISLATOR_LOOKUP_NAME),\n };\n case constants.BULK_SHARE_TO_MY_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: true },\n };\n case constants.BULK_SHARE_TO_MY_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, constants.LEGISLATOR_LOOKUP_NAME),\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.BULK_TRACK_DATA:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: true },\n };\n case constants.BULK_TRACK_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: false },\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return getFederalSubscription(state, action);\n case constants.RESET_LEGISLATORS:\n return defaultState;\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, constants.LEGISLATOR_LOOKUP_NAME),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n legislatorLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n});\n","export function loadingUpdateItem(state, action) {\n const { isLoadingSubscriptions, isLoadingTags } = action || {};\n\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingSubscriptions: isLoadingSubscriptions || false,\n isLoadingTags: isLoadingTags || false,\n },\n };\n}\n","import { combineReducers } from 'redux';\n\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport { updateDataItemArrayPayload, updateDataItem } from 'utils/reducer';\n\nimport { loadingUpdateItem } from './utils/reducersUtils';\nimport constants from './constants';\n\nexport const defaultState = {\n defaultSubscription: NONE_ID,\n committees: [],\n paginator: {},\n sort: {},\n ui: {\n isLoadingData: true,\n isLoadingTags: true,\n isLoadingSubscriptions: false,\n isSavingSubscriptions: true,\n toResetSelectedItems: true,\n isInitialLoading: true,\n isLoadingMyFeedDocuments: true,\n isSharingItems: false,\n },\n};\n\nconst committeeLookupKeyName = 'committees';\n\nfunction committeeLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_COMMITTEES:\n return {\n ...state,\n sort: defaultState.sort,\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.SET_COMMITTEES:\n return {\n ...state,\n committees: action.payload,\n };\n case constants.RECEIVE_COMMITTEES_DONE:\n return {\n ...state,\n committees: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n isInitialLoading: false,\n },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, committeeLookupKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.BULK_TRACK_DATA:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: true },\n };\n case constants.BULK_TRACK_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: false },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, committeeLookupKeyName),\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.BULK_UPDATE_DATA:\n return loadingUpdateItem(state, action);\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, committeeLookupKeyName),\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.BULK_SHARE_TO_MY_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: true },\n };\n case constants.BULK_SHARE_TO_MY_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, committeeLookupKeyName),\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.RESET_COMMITTEES:\n return defaultState;\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, committeeLookupKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedFilters: appliedSearchFilters,\n committeeLookup,\n advancedSearch,\n exportReport,\n});\n","import { NONE_ID } from 'components/core/FrequencyOptions/constants';\n\nimport constants from './constants';\n\nexport const DEFAULT_STATE = {\n profile: {\n legislator: {},\n keyDetails: {},\n },\n defaultSubscription: NONE_ID,\n trackings: [],\n tags: [],\n staffers: {\n allItems: [],\n },\n news: {\n allItems: [],\n },\n largestEmployers: {\n allItems: [],\n },\n legislatorBills: {\n allItems: [],\n },\n districtInfo: {\n id: '',\n name: '',\n cookPVI: {},\n education: [],\n mapLocation: {},\n householdIncome: {},\n genders: [],\n racialDemographics: [],\n industries: [],\n },\n ui: {\n isLoadingProfile: true,\n isLoadingStaffers: true,\n isLoadingNews: true,\n isLoadingDistrictInfo: true,\n isLoadingLargestEmployers: true,\n isLoadingLegislatorBills: true,\n isLoadingSubscription: true,\n isLoadingTags: true,\n isLoadingMyFeedDocuments: true,\n },\n sharings: [],\n};\n\nexport default function profileReducers(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_PROFILE:\n return {\n ...state,\n profile: DEFAULT_STATE.profile,\n ui: { ...state.ui, isLoadingProfile: true },\n };\n case constants.RECEIVE_PROFILE_DONE:\n return {\n ...state,\n profile: action.payload,\n ui: { ...state.ui, isLoadingProfile: false },\n };\n case constants.FETCH_STAFFERS:\n return {\n ...state,\n staffers: {\n ...DEFAULT_STATE.staffers,\n paginator: state.staffers.paginator,\n },\n ui: { ...state.ui, isLoadingStaffers: true },\n };\n case constants.RECEIVE_STAFFERS_DONE:\n return {\n ...state,\n staffers: action.payload,\n ui: { ...state.ui, isLoadingStaffers: false },\n };\n case constants.FETCH_NEWS:\n return {\n ...state,\n news: DEFAULT_STATE.staffers,\n ui: { ...state.ui, isLoadingNews: true },\n };\n case constants.RECEIVE_NEWS_DONE:\n return {\n ...state,\n news: action.payload,\n ui: { ...state.ui, isLoadingNews: false },\n };\n case constants.FETCH_DISTRICT_INFO:\n return {\n ...state,\n districtInfo: DEFAULT_STATE.districtInfo,\n ui: { ...state.ui, isLoadingDistrictInfo: true },\n };\n case constants.RECEIVE_DISTRICT_INFO:\n return {\n ...state,\n districtInfo: action.payload,\n ui: { ...state.ui, isLoadingDistrictInfo: false },\n };\n case constants.RESET_DISTRICT_INFO:\n return {\n ...state,\n ui: { ...state.ui, isLoadingDistrictInfo: DEFAULT_STATE.ui.isLoadingDistrictInfo },\n districtInfo: DEFAULT_STATE.districtInfo,\n };\n case constants.FETCH_LARGEST_EMPLOYEE:\n return {\n ...state,\n largestEmployers: DEFAULT_STATE.largestEmployers,\n ui: { ...state.ui, isLoadingLargestEmployers: true },\n };\n case constants.RECEIVE_LARGEST_EMPLOYEE_DONE:\n return {\n ...state,\n largestEmployers: action.payload,\n ui: { ...state.ui, isLoadingLargestEmployers: false },\n };\n case constants.RESET_PROFILE:\n return {\n ...state,\n ...DEFAULT_STATE,\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscription: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n trackings: action.payload,\n ui: { ...state.ui, isLoadingSubscription: false },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...state,\n sharings: action.payload,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.UPDATE_PROFILE_MY_FEED:\n return {\n ...state,\n sharings: action.payload,\n };\n default:\n return state;\n }\n}\n","import { NONE_ID } from 'components/core/FrequencyOptions/constants';\n\nimport constants from './constants';\n\nexport const DEFAULT_STATE = {\n committee: {},\n defaultSubscription: NONE_ID,\n tags: [],\n details: {\n members: {\n republicans: [],\n democrats: [],\n others: [],\n },\n subcommittees: [],\n },\n staffers: {\n allItems: [],\n },\n ui: {\n isLoadingCommittee: true,\n isLoadingOverview: true,\n isLoadingCommitteeMembers: true,\n isLoadingSubcommittees: true,\n isLoadingStaffers: true,\n isLoadingTags: true,\n isLoadingSubscriptions: true,\n isLoadingMyFeedDocuments: true,\n },\n sharings: [],\n trackings: [],\n};\n\nexport default function committeeProfileReducers(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.LOAD_OVERVIEW:\n return {\n ...state,\n ui: { ...state.ui, isLoadingOverview: true },\n };\n case constants.LOAD_OVERVIEW_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingOverview: false },\n };\n case constants.FETCH_COMMITTEE:\n return {\n ...state,\n committee: DEFAULT_STATE.committee,\n ui: { ...state.ui, isLoadingCommittee: true },\n };\n case constants.RECEIVE_COMMITTEE_DONE:\n return {\n ...state,\n committee: action.payload,\n ui: { ...state.ui, isLoadingCommittee: false },\n };\n case constants.FETCH_COMMITTEE_MEMBERS:\n return {\n ...state,\n details: {\n ...state.details,\n members: DEFAULT_STATE.details.members,\n },\n ui: { ...state.ui, isLoadingCommitteeMembers: true },\n };\n case constants.RECEIVE_COMMITTEE_MEMBERS_DONE:\n return {\n ...state,\n details: {\n ...state.details,\n members: action.payload,\n },\n ui: { ...state.ui, isLoadingCommitteeMembers: false },\n };\n case constants.FETCH_SUBCOMMITTEES:\n return {\n ...state,\n details: {\n ...state.details,\n subcommittees: DEFAULT_STATE.details.subcommittees,\n },\n ui: { ...state.ui, isLoadingSubcommittees: true },\n };\n case constants.RECEIVE_SUBCOMMITTEES_DONE:\n return {\n ...state,\n details: {\n ...state.details,\n subcommittees: action.payload,\n },\n ui: { ...state.ui, isLoadingSubcommittees: false },\n };\n case constants.FETCH_STAFFERS:\n return {\n ...state,\n staffers: {\n ...DEFAULT_STATE.staffers,\n paginator: state.staffers.paginator,\n },\n ui: { ...state.ui, isLoadingStaffers: true },\n };\n case constants.RECEIVE_STAFFERS_DONE:\n return {\n ...state,\n staffers: action.payload,\n ui: { ...state.ui, isLoadingStaffers: false },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n trackings: action.payload,\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...state,\n sharings: action.payload,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.UPDATE_PROFILE_MY_FEED:\n return {\n ...state,\n sharings: action.payload,\n };\n case constants.RESET_COMMITTEE:\n return {\n ...state,\n ...DEFAULT_STATE,\n };\n default:\n return state;\n }\n}\n","import { NONE_ID } from 'components/core/FrequencyOptions/constants';\n\nimport constants from './constants';\n\nexport const DEFAULT_STATE = {\n profile: {\n lastAction: {},\n keyDetails: {},\n officialReports: {},\n committeesAssignments: [],\n cosponsors: {},\n },\n defaultSubscription: NONE_ID,\n tags: [],\n textVersions: [],\n timeline: [],\n rollCallVotes: {\n allItems: [],\n },\n amendments: {\n allItems: [],\n paginator: {},\n },\n activeVoices: {\n allItems: [],\n },\n lobbyingInformation: {\n allItems: [],\n },\n ui: {\n isLoadingRollCallVotes: true,\n isLoadingAmendments: true,\n isLoadingActiveVoices: true,\n isLoadingLobbyingInformation: true,\n isLoadingTags: true,\n isLoadingBillsComparison: true,\n isLoadingSubscription: true,\n isLoadingMyFeedDocuments: true,\n timelineStatus: 'loading',\n cosponsorsStatus: 'loading',\n committeesStatus: 'loading',\n reportsStatus: 'loading',\n profileStatus: 'loading',\n },\n sharings: [],\n trackings: [],\n};\n\nexport default function billReducers(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_PROFILE:\n return {\n ...state,\n ui: { ...state.ui, profileStatus: 'loading' },\n };\n case constants.BILL_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, profileStatus: 'notFound' },\n };\n case constants.FETCH_BILL_ERROR:\n return {\n ...state,\n ui: { ...state.ui, profileStatus: 'error' },\n };\n case constants.RECEIVE_PROFILE_DONE:\n return {\n ...state,\n profile: {\n ...state.profile,\n ...action.payload,\n },\n ui: { ...state.ui, profileStatus: 'idle' },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscription: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n trackings: action.payload,\n ui: { ...state.ui, isLoadingSubscription: false },\n };\n case constants.FETCH_COMMITTEES:\n return {\n ...state,\n ui: { ...state.ui, committeesStatus: 'loading' },\n };\n case constants.RECEIVE_COMMITTEES_DONE:\n return {\n ...state,\n profile: {\n ...state.profile,\n ...action.payload,\n },\n ui: { ...state.ui, committeesStatus: 'idle' },\n };\n case constants.FETCH_COSPONSORS:\n return {\n ...state,\n ui: { ...state.ui, cosponsorsStatus: 'loading' },\n };\n case constants.RECEIVE_COSPONSORS_DONE:\n return {\n ...state,\n profile: {\n ...state.profile,\n ...action.payload,\n },\n ui: { ...state.ui, cosponsorsStatus: 'idle' },\n };\n case constants.FETCH_REPORTS:\n return {\n ...state,\n ui: { ...state.ui, reportsStatus: 'loading' },\n };\n case constants.RECEIVE_REPORTS_DONE:\n return {\n ...state,\n profile: {\n ...state.profile,\n ...action.payload,\n },\n ui: { ...state.ui, reportsStatus: 'idle' },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.FETCH_BILLS_COMPARISON:\n return {\n ...state,\n ui: { ...state.ui, isLoadingBillsComparison: true },\n };\n case constants.RECEIVE_BILLS_COMPARISON_DONE:\n return {\n ...state,\n ...action.payload,\n ui: { ...state.ui, isLoadingBillsComparison: false },\n };\n case constants.FETCH_BILL_TIMELINE:\n return {\n ...state,\n ui: { ...state.ui, timelineStatus: 'loading' },\n };\n case constants.RECEIVE_BILL_TIMELINE_DONE:\n return {\n ...state,\n timeline: action.payload,\n ui: { ...state.ui, timelineStatus: 'idle' },\n };\n case constants.FETCH_ROLL_CALL_VOTES:\n return {\n ...state,\n rollCallVotes: {\n ...DEFAULT_STATE.rollCallVotes,\n paginator: state.rollCallVotes.paginator,\n },\n ui: { ...state.ui, isLoadingRollCallVotes: true },\n };\n case constants.RECEIVE_ROLL_CALL_VOTES:\n return {\n ...state,\n rollCallVotes: action.payload,\n ui: { ...state.ui, isLoadingRollCallVotes: false },\n };\n case constants.FETCH_AMENDMENTS:\n return {\n ...state,\n amendments: {\n ...DEFAULT_STATE.amendments,\n paginator: state.amendments.paginator,\n },\n ui: { ...state.ui, isLoadingAmendments: true },\n };\n case constants.RECEIVE_AMENDMENTS:\n return {\n ...state,\n amendments: action.payload,\n ui: { ...state.ui, isLoadingAmendments: false },\n };\n case constants.FETCH_ACTIVE_VOICES:\n return {\n ...state,\n activeVoices: {\n ...DEFAULT_STATE.activeVoices,\n },\n ui: { ...state.ui, isLoadingActiveVoices: true },\n };\n case constants.RECEIVE_ACTIVE_VOICES:\n return {\n ...state,\n activeVoices: action.payload,\n ui: { ...state.ui, isLoadingActiveVoices: false },\n };\n case constants.FETCH_LOBBYING_INFORMATION:\n return {\n ...state,\n lobbyingInformation: DEFAULT_STATE.lobbyingInformation,\n ui: { ...state.ui, isLoadingLobbyingInformation: true },\n };\n case constants.RECEIVE_LOBBYING_INFORMATION:\n return {\n ...state,\n lobbyingInformation: action.payload,\n ui: { ...state.ui, isLoadingLobbyingInformation: false },\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...state,\n sharings: action.payload,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.UPDATE_PROFILE_MY_FEED:\n return {\n ...state,\n sharings: action.payload,\n };\n\n case constants.FETCH_SPONSORS_ERROR:\n return {\n ...state,\n ui: { ...state.ui, cosponsorsStatus: 'error' },\n };\n case constants.FETCH_TIMELINE_ERROR:\n return {\n ...state,\n ui: { ...state.ui, timelineStatus: 'error' },\n };\n case constants.FETCH_COMMITTEES_ERROR:\n return {\n ...state,\n ui: { ...state.ui, committeesStatus: 'error' },\n };\n case constants.FETCH_REPORTS_ERROR:\n return {\n ...state,\n ui: { ...state.ui, reportsStatus: 'error' },\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\n\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport { updateDataItemArrayPayload, updateDataItem, loadingUpdateItem } from 'utils/reducer';\n\nimport constants from './constants';\n\nexport const defaultState = {\n defaultSubscription: NONE_ID,\n bills: [],\n paginator: {},\n sort: {},\n graphs: {},\n ui: {\n isLoadingData: true,\n isLoadingTags: true,\n isLoadingPositions: true,\n isLoadingSubscriptions: true,\n isSavingSubscriptions: true,\n toResetSelectedItems: true,\n isInitialLoading: true,\n isLoadingGraphData: true,\n isLoadingMyFeedDocuments: true,\n isSharingItems: false,\n },\n};\n\nconst billLookupKeyName = 'bills';\n\nfunction getLoadingActions(isLoading) {\n return {\n isLoadingTags: isLoading,\n isLoadingPositions: isLoading,\n isLoadingSubscriptions: isLoading,\n };\n}\n\nfunction billLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_BILLS:\n return {\n ...state,\n sort: defaultState.sort,\n ui: { ...state.ui, ...getLoadingActions(true), isLoadingData: true, toResetSelectedItems: false },\n };\n case constants.RECEIVE_BILLS_DONE:\n return {\n ...state,\n bills: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n isInitialLoading: false,\n },\n };\n case constants.FETCH_BILLS_GRAPH:\n return {\n ...state,\n ui: { ...state.ui, isLoadingGraphData: true },\n };\n case constants.RECEIVE_BILLS_GRAPH_DONE:\n return {\n ...state,\n graphs: action.payload,\n ui: { ...state.ui, isLoadingGraphData: false },\n };\n case constants.SET_BILLS:\n return {\n ...state,\n bills: action.payload,\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billLookupKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.BULK_TRACK_DATA:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: true },\n };\n case constants.BULK_TRACK_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: false },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billLookupKeyName),\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.BULK_UPDATE_DATA:\n return loadingUpdateItem(state, action);\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, billLookupKeyName),\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.BULK_SHARE_TO_MY_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: true },\n };\n case constants.BULK_SHARE_TO_MY_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billLookupKeyName),\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.LOAD_POSITIONS:\n return updateDataItemArrayPayload(\n loadingUpdateItem(state, { ...state.ui, isLoadingPositions: action.isLoadingPositions }),\n action,\n billLookupKeyName,\n );\n case constants.RESET_BILLS:\n return defaultState;\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billLookupKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n billLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n});\n","import { combineReducers } from 'redux';\n\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport exportReport from 'redux/exportReport/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n agencyStaffers: [],\n paginator: {},\n sort: {},\n emails: [],\n ui: {\n isLoadingData: true,\n toResetSelectedItems: true,\n isLoadingAllEmails: false,\n },\n};\n\nfunction agencyStaffersLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_AGENCY_STAFFERS:\n return {\n ...state,\n sort: defaultState.sort,\n ui: { ...state.ui, isLoadingData: true, toResetSelectedItems: false },\n };\n case constants.RECEIVE_AGENCY_STAFFERS_DONE:\n return {\n ...state,\n agencyStaffers: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.RESET_AGENCY_STAFFERS:\n return defaultState;\n case constants.FETCH_AGENCY_STAFFERS_EMAILS:\n return {\n ...state,\n emails: defaultState.emails,\n ui: { ...state.ui, isLoadingAllEmails: true },\n };\n case constants.RECEIVE_AGENCY_STAFFERS_EMAILS_DONE:\n return {\n ...state,\n emails: action.payload,\n ui: { ...state.ui, isLoadingAllEmails: false },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n agencyStaffersLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n});\n","import constants from './constants';\n\nexport const DEFAULT_STATE = {\n staffer: {},\n tags: [],\n ui: {\n isLoading: true,\n isLoadingTags: true,\n isProfileNotFound: false,\n },\n};\n\nexport default function reducer(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_PROFILE:\n return {\n ...state,\n ui: { ...state.ui, isLoading: true },\n };\n case constants.RECEIVE_PROFILE_DONE:\n return {\n ...state,\n staffer: action.payload.person,\n ui: { ...state.ui, isLoading: false },\n };\n case constants.PROFILE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, isProfileNotFound: true },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\n\nimport hearingCalendar from './hearingCalendars/reducers';\nimport legislatorLookup from './legislatorLookup/reducers';\nimport committeeLookup from './committeeLookup/reducers';\nimport profile from './profile/reducers';\nimport committeeProfile from './committeeProfile/reducers';\nimport billProfile from './billProfile/reducers';\nimport billLookup from './billLookup/reducers';\nimport agencyStaffersLookup from './agencyStaffersLookup/reducers';\nimport agencyStafferProfile from './agencyStafferProfile/reducers';\n\nexport default combineReducers({\n hearingCalendar,\n legislatorLookup,\n committeeLookup,\n committeeProfile,\n profile,\n billProfile,\n billLookup,\n agencyStaffersLookup,\n agencyStafferProfile,\n});\n","import constants from './constants';\n\nexport const DEFAULT_STATE = {\n person: {},\n tags: [],\n ui: {\n isLoading: true,\n isLoadingTags: true,\n isProfileNotFound: false,\n },\n};\n\nexport default function agencyStafferProfile(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_STAFFER:\n return {\n ...state,\n ui: { ...state.ui, isLoading: true },\n };\n case constants.RECEIVE_STAFFER_DONE:\n return {\n ...state,\n person: action.payload,\n ui: { ...state.ui, isLoading: false },\n };\n case constants.PROFILE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, isProfileNotFound: true },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n default:\n return state;\n }\n}\n","import map from 'lodash/map';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { updateDataItemArrayPayload } from 'utils/reducer';\n\nimport constants from '../constants';\n\nexport function loadingUpdateItem(state, action) {\n const { isLoadingTags } = action || {};\n\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingTags: isLoadingTags || false,\n },\n };\n}\n\nexport function getStateSubscription(state, action) {\n const { payload } = action || {};\n const currentPayload = map(payload, item => ({\n ...item,\n documentType: DOCUMENT_TYPES.STATE_LEGISLATOR,\n }));\n const actionUpdated = { ...action, payload: currentPayload };\n\n return {\n ...updateDataItemArrayPayload(state, actionUpdated, constants.LEGISLATOR_LOOKUP_NAME),\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n}\n","import { combineReducers } from 'redux';\n\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport { updateDataItemArrayPayload, updateDataItem } from 'utils/reducer';\n\nimport { loadingUpdateItem, getStateSubscription } from './utils/reducersUtils';\nimport constants from './constants';\n\nexport const defaultState = {\n defaultSubscription: '',\n legislators: [],\n paginator: {},\n sort: {},\n emails: '',\n ui: {\n isLoadingData: true,\n isLoadingTags: true,\n isLoadingAllEmails: false,\n isLoadingSubscriptions: true,\n isSavingSubscriptions: true,\n isInitialLoading: true,\n isLoadingMyFeedDocuments: true,\n isSharingItems: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction legislatorLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_LEGISLATORS:\n return {\n ...state,\n sort: defaultState.sort,\n emails: defaultState.email,\n ui: { ...state.ui, isLoadingData: true, toResetSelectedItems: false },\n };\n case constants.RECEIVE_LEGISLATORS_DONE:\n return {\n ...state,\n legislators: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n isInitialLoading: false,\n },\n };\n case constants.FETCH_LEGISLATORS_EMAILS:\n return {\n ...state,\n emails: defaultState.emails,\n ui: { ...state.ui, isLoadingAllEmails: true },\n };\n case constants.RECEIVE_LEGISLATORS_EMAILS_DONE:\n return {\n ...state,\n emails: action.payload,\n ui: { ...state.ui, isLoadingAllEmails: false },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, constants.LEGISLATOR_LOOKUP_NAME),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.BULK_UPDATE_DATA:\n return loadingUpdateItem(state, action);\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, constants.LEGISLATOR_LOOKUP_NAME),\n };\n case constants.BULK_SHARE_TO_MY_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: true },\n };\n case constants.BULK_SHARE_TO_MY_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, constants.LEGISLATOR_LOOKUP_NAME),\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, constants.LEGISLATOR_LOOKUP_NAME),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.BULK_TRACK_DATA:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: true },\n };\n case constants.BULK_TRACK_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: false },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return getStateSubscription(state, action);\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.RESET_LEGISLATORS:\n return defaultState;\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n legislatorLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n});\n","import constants from './constants';\n\nexport const DEFAULT_STATE = {\n supportedStates: [],\n ui: {\n isLoadingSupportedStates: true,\n },\n};\n\nexport default function (state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_SUPPORTED_STATES:\n return {\n ...state,\n supportedStates: DEFAULT_STATE.supportedStates,\n ui: {\n ...state.ui,\n isLoadingSupportedStates: true,\n },\n };\n case constants.RECEIVE_SUPPORTED_STATES_DONE:\n return {\n ...state,\n supportedStates: action.payload,\n ui: {\n ...state.ui,\n isLoadingSupportedStates: false,\n },\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\n\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport supportedStates from 'redux/state/supportedStates/reducers';\n\nimport constants from './constants';\n\nconst DEFAULT_STATE = {\n defaultSubscription: NONE_ID,\n keyDetails: {},\n profile: {},\n tags: [],\n committeeAssignments: [],\n ui: {\n isLoadingProfile: true,\n isLoadingTags: true,\n isLoadingSubscription: true,\n isLoadingMyFeedDocuments: true,\n isProfileNotFound: false,\n },\n sharings: [],\n trackings: [],\n};\n\nfunction legislatorProfile(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_LEGISLATOR:\n return {\n ...state,\n ui: { ...state.ui, isLoadingProfile: true },\n };\n case constants.RECEIVE_LEGISLATOR_DONE:\n return {\n ...state,\n ...action.payload,\n ui: { ...state.ui, isLoadingProfile: false },\n };\n case constants.PROFILE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, isProfileNotFound: true },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...state,\n sharings: action.payload,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.UPDATE_PROFILE_MY_FEED:\n return {\n ...state,\n sharings: action.payload,\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscription: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n trackings: action.payload,\n ui: { ...state.ui, isLoadingSubscription: false },\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.RESET_LEGISLATOR_DATA:\n return DEFAULT_STATE;\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n legislatorProfile,\n supportedStates,\n});\n","export function loadingUpdateItem(state, action) {\n const { isLoadingTags } = action || {};\n\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingTags: isLoadingTags || false,\n },\n };\n}\n\nexport function fetchCommittees({ state }) {\n return {\n ...state,\n sort: {},\n ui: { ...state.ui, isLoadingData: true, toResetSelectedItems: false },\n };\n}\n\nexport function receiveCommittees({ state, action }) {\n return {\n ...state,\n committees: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n isInitialLoading: false,\n isLoadingSubscriptions: false,\n isSavingSubscriptions: true,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n}\n","import { NONE_ID } from 'components/core/FrequencyOptions/constants';\n\nconst defaultState = {\n defaultSubscription: NONE_ID,\n committees: [],\n paginator: {},\n sort: {},\n ui: {\n isLoadingData: true,\n isLoadingTags: true,\n isInitialLoading: true,\n isLoadingMyFeedDocuments: true,\n isLoadingSubscriptions: false,\n isSavingSubscriptions: true,\n toResetSelectedItems: true,\n isSharingItems: false,\n },\n};\n\nexport default defaultState;\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport { updateDataItemArrayPayload, updateDataItem } from 'utils/reducer';\n\nimport constants from '../constants';\nimport { loadingUpdateItem, fetchCommittees, receiveCommittees } from './utils/reducersUtils';\nimport defaultState from './defaultState';\n\nconst committeeLookupKeyName = 'committees';\n\nfunction committeesLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_COMMITTEES:\n return fetchCommittees({ state, action });\n case constants.RECEIVE_COMMITTEES:\n return receiveCommittees({ state, action });\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, constants.COMMITTEE_LOOKUP_NAME),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.BULK_UPDATE_DATA:\n return loadingUpdateItem(state, action);\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, constants.COMMITTEE_LOOKUP_NAME),\n };\n case constants.BULK_SHARE_TO_MY_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: true },\n };\n case constants.BULK_SHARE_TO_MY_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, constants.COMMITTEE_LOOKUP_NAME),\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.BULK_TRACK_DATA:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: true },\n };\n case constants.BULK_TRACK_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: false },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, committeeLookupKeyName),\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, constants.COMMITTEE_LOOKUP_NAME),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RESET_COMMITTEES:\n return defaultState;\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n committeesLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n});\n","import { combineReducers } from 'redux';\n\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport supportedStates from 'redux/state/supportedStates/reducers';\n\nimport constants from './constants';\n\nexport const DEFAULT_STATE = {\n defaultSubscription: NONE_ID,\n committee: {},\n tags: [],\n details: {\n members: {\n republicans: [],\n democrats: [],\n others: [],\n },\n },\n ui: {\n isLoadingTags: true,\n isLoadingSubscriptions: true,\n isLoadingMyFeedDocuments: true,\n isLoadingCommitteeMembers: true,\n isLoadingCommittee: true,\n isLoadingOverview: true,\n },\n sharings: [],\n trackings: [],\n};\n\nfunction committeeProfile(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.LOAD_OVERVIEW:\n return {\n ...state,\n ui: { ...state.ui, isLoadingOverview: true },\n };\n case constants.LOAD_OVERVIEW_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingOverview: false },\n };\n case constants.FETCH_COMMITTEE:\n return {\n ...state,\n committee: DEFAULT_STATE.committee,\n ui: { ...state.ui, isLoadingCommittee: true },\n };\n case constants.RECEIVE_COMMITTEE_DONE:\n return {\n ...state,\n committee: action.payload,\n ui: { ...state.ui, isLoadingCommittee: false },\n };\n case constants.FETCH_COMMITTEE_MEMBERS:\n return {\n ...state,\n details: {\n ...state.details,\n members: DEFAULT_STATE.details.members,\n },\n ui: { ...state.ui, isLoadingCommitteeMembers: true },\n };\n case constants.RECEIVE_COMMITTEE_MEMBERS_DONE:\n return {\n ...state,\n details: {\n ...state.details,\n members: action.payload,\n },\n ui: { ...state.ui, isLoadingCommitteeMembers: false },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...state,\n sharings: action.payload,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.UPDATE_PROFILE_MY_FEED:\n return {\n ...state,\n sharings: action.payload,\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n trackings: action.payload,\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.RESET_COMMITTEE:\n return {\n ...state,\n ...DEFAULT_STATE,\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n committeeProfile,\n supportedStates,\n});\n","import { combineReducers } from 'redux';\n\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport supportedStates from 'redux/state/supportedStates/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n staffers: [],\n paginator: {},\n sort: {},\n emails: '',\n ui: {\n isLoadingData: true,\n isLoadingAllEmails: false,\n toResetSelectedItems: true,\n isInitialLoading: true,\n },\n};\n\nfunction stafferLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_STAFFERS:\n return {\n ...state,\n sort: defaultState.sort,\n emails: defaultState.email,\n ui: { ...state.ui, isLoadingData: true, toResetSelectedItems: false },\n };\n case constants.RECEIVE_STAFFERS_DONE:\n return {\n ...state,\n staffers: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n isInitialLoading: false,\n },\n };\n case constants.FETCH_STAFFERS_EMAILS:\n return {\n ...state,\n emails: defaultState.emails,\n ui: { ...state.ui, isLoadingAllEmails: true },\n };\n case constants.RECEIVE_STAFFERS_EMAILS_DONE:\n return {\n ...state,\n emails: action.payload,\n ui: { ...state.ui, isLoadingAllEmails: false },\n };\n case constants.RESET_STAFFERS:\n return defaultState;\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n stafferLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n supportedStates,\n});\n","import constants from './constants';\n\nexport const DEFAULT_STATE = {\n stafferData: {},\n officeStaffers: [],\n officeStaffersPagination: {},\n officeStaffersSortData: {},\n tags: [],\n ui: {\n isLoadingStaffer: true,\n isLoadingOfficeStaffers: true,\n isLoadingTags: true,\n isProfileNotFound: false,\n },\n};\n\nexport default function stafferProfile(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_STAFFER:\n return {\n ...state,\n ui: { ...state.ui, isLoadingStaffer: true },\n };\n case constants.RECEIVE_STAFFER_DONE:\n return {\n ...state,\n stafferData: action.payload,\n ui: { ...state.ui, isLoadingStaffer: false },\n };\n case constants.PROFILE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, isProfileNotFound: true },\n };\n case constants.FETCH_OFFICE_STAFFERS:\n return {\n ...state,\n officeStaffersSortData: action.payload.sortData,\n ui: { ...state.ui, isLoadingOfficeStaffers: true },\n };\n case constants.RECEIVE_OFFICE_STAFFERS_DONE:\n return {\n ...state,\n officeStaffers: action.payload.officeStaffers,\n officeStaffersPagination: action.payload.pagination,\n ui: { ...state.ui, isLoadingOfficeStaffers: false },\n };\n case constants.SORT_STAFFER_DATA:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingStaffer: true,\n isLoadingOfficeStaffers: true,\n },\n };\n case constants.SORT_STAFFER_DATA_DONE:\n return {\n ...state,\n stafferData: action.stafferData,\n ui: {\n ...state.ui,\n isLoadingStaffer: false,\n isLoadingOfficeStaffers: false,\n },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n default:\n return state;\n }\n}\n","import { NONE_ID } from 'components/core/FrequencyOptions/constants';\n\nimport constants from './constants';\n\nexport const DEFAULT_STATE = {\n profile: {\n lastAction: {},\n keyDetails: {},\n },\n defaultSubscription: NONE_ID,\n tags: [],\n textVersions: [],\n timeline: [],\n rollCallVotes: {\n allItems: [],\n paginator: {},\n },\n amendments: {\n allItems: [],\n paginator: {},\n },\n activeVoices: {\n allItems: [],\n paginator: {},\n },\n sponsorsAndCosponsors: {\n allItems: [],\n paginator: {},\n republican: {\n numCosponsors: 0,\n partyShort: 'R',\n partySlug: 'republican',\n },\n democratic: {\n numCosponsors: 0,\n partyShort: 'D',\n partySlug: 'democratic',\n },\n },\n ui: {\n isLoadingPosition: true,\n isLoadingAmendments: true,\n isLoadingRollCallVotes: true,\n isLoadingActiveVoices: true,\n isLoadingBillsComparison: true,\n isLoadingTags: true,\n isLoadingSubscription: true,\n isLoadingMyFeedDocuments: true,\n timelineStatus: 'loading',\n cosponsorsStatus: 'loading',\n profileStatus: 'loding',\n },\n sharings: [],\n trackings: [],\n};\n\nexport default function billProfileReducers(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_PROFILE:\n return {\n ...state,\n profile: DEFAULT_STATE.profile,\n ui: { ...state.ui, profileStatus: 'loading' },\n };\n case constants.RECEIVE_PROFILE_DONE:\n return {\n ...state,\n profile: action.payload,\n ui: { ...state.ui, profileStatus: 'idle' },\n };\n case constants.PROFILE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, profileStatus: 'notFound' },\n };\n case constants.FETCH_BILL_TIMELINE:\n return {\n ...state,\n ui: { ...state.ui, timelineStatus: 'loading' },\n };\n case constants.RECEIVE_BILL_TIMELINE_DONE:\n return {\n ...state,\n timeline: action.payload,\n ui: { ...state.ui, timelineStatus: 'idle' },\n };\n case constants.FETCH_ROLL_CALL_VOTES:\n return {\n ...state,\n rollCallVotes: {\n ...DEFAULT_STATE.rollCallVotes,\n paginator: state.rollCallVotes.paginator,\n },\n ui: { ...state.ui, isLoadingRollCallVotes: true },\n };\n case constants.RECEIVE_ROLL_CALL_VOTES:\n return {\n ...state,\n rollCallVotes: action.payload,\n ui: { ...state.ui, isLoadingRollCallVotes: false },\n };\n case constants.FETCH_AMENDMENTS:\n return {\n ...state,\n amendments: {\n ...DEFAULT_STATE.amendments,\n paginator: state.amendments.paginator,\n },\n ui: { ...state.ui, isLoadingAmendments: true },\n };\n case constants.RECEIVE_AMENDMENTS:\n return {\n ...state,\n amendments: action.payload,\n ui: { ...state.ui, isLoadingAmendments: false },\n };\n case constants.FETCH_BILLS_COMPARISON:\n return {\n ...state,\n ui: { ...state.ui, isLoadingBillsComparison: true },\n };\n case constants.RECEIVE_BILLS_COMPARISON_DONE:\n return {\n ...state,\n ...action.payload,\n ui: { ...state.ui, isLoadingBillsComparison: false },\n };\n case constants.FETCH_ACTIVE_VOICES:\n return {\n ...state,\n activeVoices: {\n ...DEFAULT_STATE.activeVoices,\n },\n ui: { ...state.ui, isLoadingActiveVoices: true },\n };\n case constants.RECEIVE_ACTIVE_VOICES:\n return {\n ...state,\n activeVoices: action.payload,\n ui: { ...state.ui, isLoadingActiveVoices: false },\n };\n case constants.FETCH_SPONSORS_AND_COSPONSORS:\n return {\n ...state,\n sponsorsAndCosponsors: {\n ...DEFAULT_STATE.sponsorsAndCosponsors,\n },\n ui: { ...state.ui, cosponsorsStatus: 'loading' },\n };\n case constants.RECEIVE_SPONSORS_AND_COSPONSORS:\n return {\n ...state,\n sponsorsAndCosponsors: action.payload,\n ui: { ...state.ui, cosponsorsStatus: 'idle' },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscription: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n trackings: action.payload,\n ui: { ...state.ui, isLoadingSubscription: false },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...state,\n sharings: action.payload,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.UPDATE_PROFILE_MY_FEED:\n return {\n ...state,\n sharings: action.payload,\n };\n case constants.FETCH_PROFILE_ERROR:\n return {\n ...state,\n ui: { ...state.ui, profileStatus: 'error' },\n };\n case constants.FETCH_SPONSORS_ERROR:\n return {\n ...state,\n ui: { ...state.ui, cosponsorsStatus: 'error' },\n };\n case constants.FETCH_TIMELINE_ERROR:\n return {\n ...state,\n ui: { ...state.ui, timelineStatus: 'error' },\n };\n default:\n return state;\n }\n}\n","export function loadingUpdateItem(state, action) {\n const { isLoadingSubscriptions, isLoadingPositions, isLoadingTags } = action || {};\n\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingSubscriptions: isLoadingSubscriptions || false,\n isLoadingPositions: isLoadingPositions || false,\n isLoadingTags: isLoadingTags || false,\n },\n };\n}\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport { updateDataItemArrayPayload, updateDataItem } from 'utils/reducer';\n\nimport { loadingUpdateItem } from './utils/reducersUtils';\nimport constants from './constants';\n\nexport const defaultState = {\n defaultSubscription: '',\n bills: [],\n paginator: {},\n sort: {},\n graphs: {},\n ui: {\n isLoadingData: true,\n isLoadingTags: true,\n isLoadingPositions: true,\n isLoadingSubscriptions: true,\n isSavingSubscriptions: true,\n isInitialLoading: true,\n isLoadingGraphData: true,\n isLoadingMyFeedDocuments: true,\n isSharingItems: false,\n toResetSelectedItems: true,\n },\n};\n\nconst billLookupKeyName = 'bills';\n\nfunction getLoadingActions(isLoading) {\n return {\n isLoadingTags: isLoading,\n isLoadingPositions: isLoading,\n isLoadingSubscriptions: isLoading,\n };\n}\n\nfunction billLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_BILLS:\n return {\n ...state,\n sort: defaultState.sort,\n ui: {\n ...state.ui,\n ...getLoadingActions(true),\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_BILLS_DONE:\n return {\n ...state,\n bills: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n isInitialLoading: false,\n },\n };\n case constants.FETCH_BILLS_GRAPH:\n return {\n ...state,\n ui: { ...state.ui, isLoadingGraphData: true },\n };\n case constants.RECEIVE_BILLS_GRAPH_DONE:\n return {\n ...state,\n graphs: action.payload,\n ui: { ...state.ui, isLoadingGraphData: false },\n };\n case constants.SET_BILLS:\n return {\n ...state,\n bills: action.payload,\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billLookupKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.BULK_TRACK_DATA:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: true },\n };\n case constants.BULK_TRACK_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: false },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billLookupKeyName),\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.BULK_UPDATE_DATA:\n return loadingUpdateItem(state, action);\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, billLookupKeyName),\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.BULK_SHARE_TO_MY_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: true },\n };\n case constants.BULK_SHARE_TO_MY_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billLookupKeyName),\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.LOAD_POSITIONS:\n return updateDataItemArrayPayload(\n loadingUpdateItem(state, { ...state.ui, isLoadingPositions: action.isLoadingPositions }),\n action,\n billLookupKeyName,\n );\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billLookupKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RESET_BILLS:\n return defaultState;\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedFilters: appliedSearchFilters,\n advancedSearch,\n exportReport,\n billLookup,\n});\n","export function loadingUpdateItem(state, action) {\n const { isLoadingSubscriptions, isLoadingPositions, isLoadingTags } = action || {};\n\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingSubscriptions: isLoadingSubscriptions || false,\n isLoadingPositions: isLoadingPositions || false,\n isLoadingTags: isLoadingTags || false,\n },\n };\n}\n","const defaultState = {\n defaultSubscription: '',\n regulations: [],\n paginator: {},\n sort: {},\n ui: {\n isInitialLoading: true,\n isLoadingData: true,\n isLoadingTags: true,\n isLoadingPositions: true,\n isLoadingSubscriptions: true,\n isSavingSubscriptions: true,\n isLoadingMyFeedDocuments: true,\n isSharingItems: false,\n toResetSelectedItems: true,\n },\n};\n\nexport default defaultState;\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport { updateDataItemArrayPayload, updateDataItem } from 'utils/reducer';\n\nimport constants from '../constants';\nimport { loadingUpdateItem } from './utils/reducersUtils';\nimport defaultState from './defaultState';\n\nfunction getLoadingActions(isLoading) {\n return {\n isLoadingTags: isLoading,\n isLoadingPositions: isLoading,\n isLoadingSubscriptions: isLoading,\n };\n}\n\nconst fetchRegulations = ({ state }) => ({\n ...state,\n sort: {},\n ui: { ...state.ui, ...getLoadingActions(true), isLoadingData: true, toResetSelectedItems: false },\n});\n\nconst receiveRegulations = ({ state, action }) => ({\n ...state,\n regulations: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n isInitialLoading: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n});\n\nconst regulationLookupKeyName = 'regulations';\n\nfunction regulationsLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_REGULATIONS:\n return fetchRegulations({ state, action });\n case constants.RECEIVE_REGULATIONS:\n return receiveRegulations({ state, action });\n case constants.RESET_REGULATIONS:\n return defaultState;\n case constants.SET_REGULATIONS:\n return {\n ...state,\n regulations: action.payload,\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, regulationLookupKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.BULK_TRACK_DATA:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: true },\n };\n case constants.BULK_TRACK_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSavingSubscriptions: false },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, regulationLookupKeyName),\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.BULK_UPDATE_DATA:\n return loadingUpdateItem(state, action);\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, regulationLookupKeyName),\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, regulationLookupKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: true },\n };\n case constants.BULK_SHARE_TO_MY_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, regulationLookupKeyName),\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.LOAD_POSITIONS:\n return updateDataItemArrayPayload(\n loadingUpdateItem(state, { ...state.ui, isLoadingPositions: action.isLoadingPositions }),\n action,\n regulationLookupKeyName,\n );\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n regulationsLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n});\n","import { NONE_ID } from 'components/core/FrequencyOptions/constants';\n\nimport constants from './constants';\n\nconst DEFAULT_STATE = {\n keyDetails: {},\n profile: {},\n defaultSubscription: NONE_ID,\n tags: [],\n timeline: {\n allItems: [],\n paginator: {},\n },\n publications: {\n allItems: [],\n paginator: {},\n },\n relevantLinks: [],\n ui: {\n isLoadingPublications: true,\n isLoadingTimeline: true,\n isInitialLoadingTimeline: true,\n isLoadingProfile: true,\n isLoadingTags: true,\n isLoadingSubscription: true,\n isLoadingMyFeedDocuments: true,\n },\n sharings: [],\n trackings: [],\n};\n\nexport default function regulationsProfileReducers(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_REGULATION:\n return {\n ...state,\n ui: { ...state.ui, isLoadingProfile: true },\n };\n case constants.RECEIVE_REGULATION_DONE:\n return {\n ...state,\n ...action.payload,\n ui: { ...state.ui, isLoadingProfile: false },\n };\n case constants.FETCH_TIMELINE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTimeline: true },\n };\n case constants.RECEIVE_TIMELINE_DONE:\n return {\n ...state,\n timeline: {\n ...action.payload,\n allItems: action.payload.allItems,\n },\n ui: { ...state.ui, isInitialLoadingTimeline: false, isLoadingTimeline: false },\n };\n case constants.FETCH_PUBLICATIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingPublications: true },\n };\n case constants.RECEIVE_PUBLICATIONS_DONE:\n return {\n ...state,\n publications: {\n ...action.payload,\n },\n ui: { ...state.ui, isLoadingPublications: false },\n };\n case constants.UPSERT_SUMMARY_DONE:\n return {\n ...state,\n profile: {\n ...state.profile,\n summary: action.payload,\n },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscription: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n trackings: action.payload,\n ui: { ...state.ui, isLoadingSubscription: false },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.RESET_REGULATION_DATA:\n return DEFAULT_STATE;\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...state,\n sharings: action.payload,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.UPDATE_PROFILE_MY_FEED:\n return {\n ...state,\n sharings: action.payload,\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\n\nimport exportReport from 'redux/exportReport/reducers';\n\nimport constants from './constants';\n\nconst DEFAULT_STATE = {\n documentView: {},\n regulation: {\n tags: [],\n sharings: [],\n },\n ui: {\n isLoadingRegulation: true,\n isLoadingDocument: true,\n },\n};\n\nfunction document(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_REGULATION_DETAILS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingRegulation: true },\n };\n case constants.RECEIVE_REGULATION_DETAILS_DONE:\n return {\n ...state,\n regulation: {\n ...action.payload,\n sharings: state.regulation.sharings,\n tags: state.regulation.tags,\n },\n ui: { ...state.ui, isLoadingRegulation: false },\n };\n case constants.FETCH_DOCUMENT:\n return {\n ...state,\n ui: { ...state.ui, isLoadingDocument: true },\n };\n case constants.RECEIVE_DOCUMENT_DONE:\n return {\n ...state,\n documentView: action.payload,\n ui: { ...state.ui, isLoadingDocument: false },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n regulation: {\n ...state.regulation,\n tags: action.payload,\n },\n };\n case constants.RECEIVE_IS_SHARED_DONE:\n return {\n ...state,\n regulation: {\n ...state.regulation,\n sharings: action.payload,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n document,\n exportReport,\n});\n","import { combineReducers } from 'redux';\n\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport exportReport from 'redux/exportReport/reducers';\n\nimport constants from './constants';\n\nconst DEFAULT_STATE = {\n ui: {\n isLoadingData: true,\n toResetSelectedItems: true,\n isLoadingAllEmails: false,\n },\n executives: [],\n sort: {},\n paginator: {},\n emails: [],\n};\n\nfunction executiveLookup(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_EXECUTIVES:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_EXECUTIVES_DONE:\n return {\n ...state,\n executives: action.payload,\n sort: action.sort,\n paginator: action.paginator,\n ui: {\n ...state.ui,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.RESET_EXECUTIVES:\n return DEFAULT_STATE;\n case constants.FETCH_EXECUTIVES_EMAILS:\n return {\n ...state,\n emails: DEFAULT_STATE.emails,\n ui: { ...state.ui, isLoadingAllEmails: true },\n };\n case constants.RECEIVE_EXECUTIVES_EMAILS_DONE:\n return {\n ...state,\n emails: action.payload,\n ui: { ...state.ui, isLoadingAllEmails: false },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n executiveLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n});\n","import constants from './constants';\n\nconst DEFAULT_STATE = {\n person: {},\n tags: [],\n ui: {\n isLoadingProfile: true,\n isLoadingTags: true,\n isProfileNotFound: false,\n },\n};\n\nfunction executiveProfile(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_EXECUTIVE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingProfile: true },\n };\n case constants.RECEIVE_EXECUTIVE_DONE:\n return {\n ...state,\n person: action.payload,\n ui: { ...state.ui, isLoadingProfile: false },\n };\n case constants.PROFILE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, isProfileNotFound: true },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n default:\n return state;\n }\n}\n\nexport default executiveProfile;\n","import constants from './constants';\n\nconst defaultState = {\n apiEvents: [],\n events: [],\n calendarData: [],\n checkedEvents: [],\n selectedCommittees: [],\n ui: {\n isLoadingEvents: false,\n isLoadingCalendar: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_EVENTS:\n return {\n ...state,\n apiEvents: [],\n events: [],\n ui: { ...state.ui, isLoadingEvents: true },\n };\n case constants.FETCH_EVENTS_SUCCESS:\n return {\n ...state,\n events: action.payload,\n apiEvents: action.apiEvents,\n ui: { ...state.ui, isLoadingEvents: false },\n };\n case constants.FETCH_EVENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingEvents: false },\n };\n case constants.CHECK_EVENTS:\n return {\n ...state,\n checkedEvents: action.checkedEvents,\n };\n case constants.SELECT_CALENDAR_DATE:\n return {\n ...state,\n selectedDate: action.selectedDate,\n checkedEvents: [],\n };\n case constants.FILTER_EVENTS:\n return {\n ...state,\n selectedCommittees: action.selectedCommittees,\n selectedStates: action.selectedStates,\n events: action.payload,\n };\n case constants.SET_MONTHS_AHEAD:\n return {\n ...state,\n monthsAheadToFetch: action.payload,\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\n\nimport agencyStafferProfile from './agencyStafferProfile/reducers';\nimport legislatorLookup from './legislatorLookup/reducers';\nimport legislatorProfile from './legislatorProfile/reducers';\nimport committeesLookup from './committeesLookup/reducers';\nimport committeeProfile from './committeeProfile/reducers';\nimport stafferLookup from './stafferLookup/reducers';\nimport stafferProfile from './stafferProfile/reducers';\nimport billProfile from './billProfile/reducers';\nimport billLookup from './billLookup/reducers';\nimport regulationsLookup from './regulations/lookup/reducers';\nimport regulationsProfile from './regulations/profile/reducers';\nimport regulationsDocument from './regulations/document/reducers';\nimport executiveLookup from './executiveLookup/reducers';\nimport executiveProfile from './executiveProfile/reducers';\nimport hearingCalendar from './hearingCalendars/reducers';\n\nexport default combineReducers({\n agencyStafferProfile,\n committeesLookup,\n legislatorLookup,\n legislatorProfile,\n committeeProfile,\n stafferLookup,\n stafferProfile,\n billProfile,\n billLookup,\n regulations: combineReducers({\n lookup: regulationsLookup,\n profile: regulationsProfile,\n document: regulationsDocument,\n }),\n executiveLookup,\n executiveProfile,\n hearingCalendar,\n});\n","export const fetchDocuments = ({ state }) => ({\n ...state,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n});\n\nexport const receiveDocuments = ({ state, action }) => ({\n ...state,\n documents: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n isInitialLoading: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n});\n","import { combineReducers } from 'redux';\n\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport { updateDataItem, updateDataItemArrayPayload } from 'utils/reducer';\nimport { loadingUpdateItem } from 'redux/federal/committeeLookup/utils/reducersUtils';\nimport { fetchDocuments, receiveDocuments } from 'redux/local/lookup/actions/utils/reducerUtils';\n\nimport constants from './constants';\n\nconst defaultState = {\n documents: [],\n paginator: {},\n sort: {},\n ui: {\n isLoadingData: true,\n isLoadingTags: true,\n isInitialLoading: true,\n toResetSelectedItems: true,\n isLoadingMyFeedDocuments: true,\n isSharingItems: false,\n },\n};\n\nconst localLookupKeyName = 'documents';\n\nfunction localLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_DOCUMENTS:\n return fetchDocuments({ state, action });\n case constants.RECEIVE_DOCUMENTS_DONE:\n return receiveDocuments({ state, action });\n case constants.RESET_DOCUMENTS:\n return defaultState;\n case constants.SET_DOCUMENTS:\n return {\n ...state,\n documents: action.payload,\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, localLookupKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.BULK_UPDATE_DATA:\n return loadingUpdateItem(state, action);\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, localLookupKeyName),\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, localLookupKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: true },\n };\n case constants.BULK_SHARE_TO_MY_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSharingItems: false },\n };\n case constants.BULK_SHARE_TO_MY_FEED_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, localLookupKeyName),\n ui: { ...state.ui, isSharingItems: false },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n localLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n});\n","import constants from './constants';\n\nconst DEFAULT_STATE = {\n person: {},\n tags: [],\n ui: {\n isLoadingProfile: true,\n isLoadingTags: true,\n isProfileNotFound: false,\n },\n};\n\nfunction executiveProfile(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_EXECUTIVE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingProfile: true },\n };\n case constants.RECEIVE_EXECUTIVE_DONE:\n return {\n ...state,\n person: action.payload,\n ui: { ...state.ui, isLoadingProfile: false },\n };\n case constants.PROFILE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, isProfileNotFound: true },\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n default:\n return state;\n }\n}\n\nexport default executiveProfile;\n","import { combineReducers } from 'redux';\n\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport exportReport from 'redux/exportReport/reducers';\n\nimport constants from './constants';\n\nconst DEFAULT_STATE = {\n ui: {\n isLoadingData: true,\n toResetSelectedItems: true,\n isLoadingAllEmails: false,\n },\n executives: [],\n sort: {},\n paginator: {},\n emails: [],\n};\n\nfunction localExecutiveLookup(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_LOCAL_EXECUTIVES:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_LOCAL_EXECUTIVES_DONE:\n return {\n ...state,\n executives: action.payload,\n sort: action.sort,\n paginator: action.paginator,\n ui: {\n ...state.ui,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.RESET_LOCAL_EXECUTIVES:\n return DEFAULT_STATE;\n case constants.FETCH_LOCAL_EXECUTIVES_EMAILS:\n return {\n ...state,\n emails: DEFAULT_STATE.emails,\n ui: { ...state.ui, isLoadingAllEmails: true },\n };\n case constants.RECEIVE_LOCAL_EXECUTIVES_EMAILS_DONE:\n return {\n ...state,\n emails: action.payload,\n ui: { ...state.ui, isLoadingAllEmails: false },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n localExecutiveLookup,\n advancedSearch,\n exportReport,\n appliedFilters: appliedSearchFilters,\n});\n","import { combineReducers } from 'redux';\n\nimport lookup from './lookup/reducers';\nimport executiveProfile from './executiveProfile/reducers';\nimport localExecutiveLookup from './localExecutiveLookup/reducers';\n\nexport default combineReducers({\n lookup,\n executiveProfile,\n localExecutiveLookup,\n});\n","import { map, omit, find } from 'lodash';\n\nimport { combineReducers } from 'redux';\n\nimport {\n FETCH_SEARCHES,\n RECEIVE_SEARCHES,\n FETCH_SEARCHES_RESULTS,\n DELETE_SEARCHES_ITEM,\n RECEIVE_SEARCHES_RESULT,\n RECEIVE_SEARCHES_RESULTS,\n REFRESH_SEARCHES_RESULTS,\n SET_ENRICHMENT,\n RESET,\n} from './constants';\n\nexport const defaultState = {\n results: {},\n searches: [],\n ui: {\n isSearchesLoading: true,\n isResultsInProgress: false,\n },\n};\n\nfunction lookup(state = defaultState, action) {\n switch (action.type) {\n case FETCH_SEARCHES:\n return {\n ...state,\n ui: {\n ...state.ui,\n isSearchesLoading: true,\n },\n };\n case RECEIVE_SEARCHES:\n return {\n ...state,\n searches: action.payload,\n ui: {\n ...state.ui,\n isSearchesLoading: false,\n },\n };\n case FETCH_SEARCHES_RESULTS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isResultsInProgress: true,\n },\n };\n case DELETE_SEARCHES_ITEM:\n return {\n ...state,\n searches: state.searches.filter(({ id }) => action.payload.id !== id),\n };\n case REFRESH_SEARCHES_RESULTS:\n return {\n ...state,\n };\n case RECEIVE_SEARCHES_RESULT:\n return {\n ...state,\n searches: [\n ...state.searches.map(({ ...props }) => {\n if (action.payload && action.payload.id && (action.payload.id === props.id)) {\n return {\n ...props,\n ...omit(action.payload, ['createdDate', 'lastRunDate']),\n };\n }\n\n return props;\n }),\n ],\n ui: {\n ...state.ui,\n isResultsInProgress: false,\n },\n };\n case RECEIVE_SEARCHES_RESULTS:\n return {\n ...state,\n searches: map(state.searches, ({ id, ...restItem }) => {\n const item = find(action.payload, ({ id: receivedId }) => id === receivedId) || {};\n const transformedItem = omit(item, ['createdDate', 'lastRunDate']);\n\n return { ...restItem, ...transformedItem, id };\n }),\n ui: {\n ...state.ui,\n isResultsInProgress: false,\n },\n };\n case SET_ENRICHMENT:\n return {\n ...state,\n searches: [\n ...state.searches.map(({ ...props }) => {\n const { payload } = action;\n if (payload && payload.id && (payload.id === props.id)) {\n return {\n ...props,\n isEnrichmentRequested: payload.value,\n };\n }\n\n return props;\n }),\n ],\n };\n case RESET:\n return defaultState;\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n lookup,\n});\n","import { combineReducers } from 'redux';\n\nimport {\n UPDATE_TITLE,\n UPDATE_DESCRIPTION,\n UPDATE_TRANSACTOR,\n UPDATE_DATA,\n CREATE_LIST_START,\n CREATE_LIST_DONE,\n GET_LIST_START,\n GET_LIST_DONE,\n UPDATE_ISTEMPLATE,\n RESET,\n} from './constants';\n\nexport const defaultState = {\n error: false,\n title: '',\n description: '',\n isTemplate: false,\n transactor: '',\n data: {},\n ui: {\n isLoading: false,\n },\n};\n\nfunction builder(state = defaultState, action) {\n switch (action.type) {\n case UPDATE_ISTEMPLATE:\n return {\n ...state,\n isTemplate: action.payload,\n };\n case UPDATE_TITLE:\n return {\n ...state,\n title: action.payload,\n };\n case UPDATE_DESCRIPTION:\n return {\n ...state,\n description: action.payload,\n };\n case UPDATE_TRANSACTOR:\n return {\n ...state,\n transactor: action.payload.transactor,\n data: action.payload.data,\n };\n case UPDATE_DATA:\n return {\n ...state,\n data: action.payload,\n };\n case CREATE_LIST_START:\n return {\n ...state,\n ui: {\n isLoading: true,\n },\n };\n case CREATE_LIST_DONE:\n return {\n ...state,\n ui: {\n isLoading: false,\n },\n };\n case GET_LIST_START:\n return {\n ...state,\n error: false,\n ui: {\n isLoading: true,\n },\n };\n case GET_LIST_DONE:\n return {\n ...state,\n ...action.payload,\n error: action.error,\n ui: {\n isLoading: false,\n },\n };\n case RESET:\n return defaultState;\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n builder,\n});\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n committees: [],\n committeesError: false,\n paginator: {},\n sort: {},\n ui: {\n isLoadingData: true,\n isInitialLoading: true,\n isLoadingReport: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_COMMITTEES:\n return {\n ...state,\n committeesError: false,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_COMMITTEES_DONE:\n return {\n ...state,\n committees: action.payload,\n committeesError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isInitialLoading: false,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n default:\n return state;\n }\n}\n\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n lookUp,\n});\n","import { combineReducers } from 'redux';\nimport isEmpty from 'lodash/isEmpty';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n error: false,\n committee: {},\n committeesData: [],\n committeesDataError: false,\n committeesReceipt: {},\n committeesReceiptError: false,\n electionCyclesData: [],\n electionCycle: null,\n paginator: {},\n sort: {},\n ui: {\n isInitialLoading: true,\n isCommitteeLoading: true,\n isCommitteesDataLoading: true,\n isCommitteesReceiptLoading: true,\n isLoadingReport: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction profile(state = defaultState, action) {\n const initialLoadingStatus = !!(\n state.ui.isInitialLoading &&\n state.committeesData.length &&\n !isEmpty(state.committee)\n );\n\n switch (action.type) {\n case constants.FETCH_COMMITTEE:\n return {\n ...state,\n error: false,\n committee: {},\n ui: {\n ...state.ui,\n isCommitteeLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_COMMITTEE_DONE:\n return {\n ...state,\n error: action.error,\n committee: action.payload,\n ui: {\n ...state.ui,\n isCommitteeLoading: false,\n toResetSelectedItems: true,\n isInitialLoading: initialLoadingStatus,\n },\n };\n case constants.FETCH_COMMITTEES_DATA:\n return {\n ...state,\n committeesDataError: false,\n sort: {},\n ui: {\n ...state.ui,\n isCommitteesDataLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_COMMITTEES_DATA_DONE:\n return {\n ...state,\n committeesDataError: action.error,\n committeesData: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isCommitteesDataLoading: false,\n isInitialLoading: initialLoadingStatus,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_COMMITTEES_RECEIPT:\n return {\n ...state,\n committeesReceiptError: false,\n ui: {\n ...state.ui,\n isCommitteesReceiptLoading: true,\n },\n };\n case constants.RECEIVE_COMMITTEES_RECEIPT_DONE:\n return {\n ...state,\n committeesReceipt: action.payload,\n committeesReceiptError: action.error,\n ui: {\n ...state.ui,\n isCommitteesReceiptLoading: false,\n },\n };\n case constants.SET_ELECTION_CYCLES:\n return {\n ...state,\n electionCyclesData: action.payload,\n };\n case constants.SELECT_ELECTION_CYCLE:\n return {\n ...state,\n electionCycle: action.payload,\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n profile,\n});\n","import { combineReducers } from 'redux';\nimport isEmpty from 'lodash/isEmpty';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n error: false,\n candidate: {},\n candidateReceipt: {},\n candidateReceiptError: false,\n candidateContributions: [],\n candidateContributionsError: false,\n electionCyclesData: [],\n electionCycle: null,\n paginator: {},\n sort: {},\n ui: {\n isInitialLoading: true,\n isCandidateLoading: true,\n isContributionsLoading: true,\n isCandidateReceiptsLoading: true,\n isLoadingReport: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction profile(state = defaultState, action) {\n const initialLoadingStatus = !!(\n state.ui.isInitialLoading &&\n state.candidateContributions.length &&\n !isEmpty(state.candidate)\n );\n\n switch (action.type) {\n case constants.FETCH_CANDIDATE:\n return {\n ...state,\n error: false,\n candidate: {},\n ui: {\n ...state.ui,\n isCandidateLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_CANDIDATE_DONE:\n return {\n ...state,\n error: action.error,\n candidate: action.payload,\n ui: {\n ...state.ui,\n isCandidateLoading: false,\n toResetSelectedItems: true,\n isInitialLoading: initialLoadingStatus,\n },\n };\n case constants.FETCH_CANDIDATE_CONTRIBUTIONS:\n return {\n ...state,\n candidateContributionsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isContributionsLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_CANDIDATE_CONTRIBUTIONS_DONE:\n return {\n ...state,\n candidateContributionsError: action.error,\n candidateContributions: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isContributionsLoading: false,\n isInitialLoading: initialLoadingStatus,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_CANDIDATE_RECEIPT:\n return {\n ...state,\n candidateReceiptError: false,\n ui: {\n ...state.ui,\n isCandidateReceiptsLoading: true,\n },\n };\n case constants.RECEIVE_CANDIDATE_RECEIPT_DONE:\n return {\n ...state,\n candidateReceipt: action.payload,\n candidateReceiptError: action.error,\n ui: {\n ...state.ui,\n isCandidateReceiptsLoading: false,\n },\n };\n case constants.SET_ELECTION_CYCLES:\n return {\n ...state,\n electionCyclesData: action.payload,\n };\n case constants.SELECT_ELECTION_CYCLE:\n return {\n ...state,\n electionCycle: action.payload,\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n profile,\n});\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport { constants } from './constants';\n\nexport const defaultState = {\n candidates: [],\n candidatesError: false,\n paginator: {},\n sort: {},\n ui: {\n isLoadingData: true,\n isInitialLoading: true,\n isLoadingReport: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_CANDIDATES:\n return {\n ...state,\n candidatesError: false,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_CANDIDATES_DONE:\n return {\n ...state,\n candidates: action.payload,\n candidatesError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n isInitialLoading: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n lookUp,\n});\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n individuals: [],\n individualsError: false,\n paginator: {},\n sort: {},\n ui: {\n isLoadingData: true,\n isInitialLoading: true,\n isLoadingReport: false,\n isLoadingToClusterbuck: false,\n isClusterbuckAllowed: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_INDIVIDUALS:\n return {\n ...state,\n individualsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_INDIVIDUALS_DONE:\n return {\n ...state,\n individuals: action.payload,\n individualsError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isInitialLoading: false,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n case constants.CHECK_CLUSTERBUCK_INIT:\n return {\n ...state,\n ui: {\n ...state.ui,\n isClusterbuckAllowed: false,\n },\n };\n case constants.CHECK_CLUSTERBUCK_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isClusterbuckAllowed: action.allow,\n },\n };\n case constants.SUBMIT_TO_CLUSTERBUCK_INIT:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingToClusterbuck: true,\n },\n };\n case constants.SUBMIT_TO_CLUSTERBUCK_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingToClusterbuck: false,\n isClusterbuckAllowed: action.allow,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n lookUp,\n});\n","import { combineReducers } from 'redux';\nimport isEmpty from 'lodash/isEmpty';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n error: false,\n individual: {},\n contributions: [],\n contributionsError: false,\n contributionsReceipt: {},\n contributionsReceiptError: false,\n electionCyclesData: [],\n electionCycle: null,\n paginator: {},\n sort: {},\n ui: {\n isInitialLoading: true,\n isIndividualLoading: true,\n isContributionsLoading: true,\n isContributionsReceiptLoading: true,\n isOnePageReportLoading: false,\n isLoadingReport: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction profile(state = defaultState, action) {\n const initialLoadingStatus = !!(\n state.ui.isInitialLoading &&\n state.contributions.length &&\n !isEmpty(state.individual)\n );\n\n switch (action.type) {\n case constants.FETCH_INDIVIDUAL:\n return {\n ...state,\n error: false,\n individual: {},\n ui: {\n ...state.ui,\n isIndividualLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_DONE:\n return {\n ...state,\n error: action.error,\n individual: action.payload,\n ui: {\n ...state.ui,\n isIndividualLoading: false,\n toResetSelectedItems: true,\n isInitialLoading: initialLoadingStatus,\n },\n };\n case constants.FETCH_INDIVIDUAL_CONTRIBUTIONS:\n return {\n ...state,\n contributionsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isContributionsLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE:\n return {\n ...state,\n contributions: action.payload,\n contributionsError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isContributionsLoading: false,\n isInitialLoading: initialLoadingStatus,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_INDIVIDUAL_RECEIPT:\n return {\n ...state,\n contributionsReceiptError: false,\n ui: {\n ...state.ui,\n isContributionsReceiptLoading: true,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_RECEIPT_DONE:\n return {\n ...state,\n contributionsReceipt: action.payload,\n contributionsReceiptError: action.error,\n ui: {\n ...state.ui,\n isContributionsReceiptLoading: false,\n },\n };\n case constants.SET_ELECTION_CYCLES:\n return {\n ...state,\n electionCyclesData: action.payload,\n };\n case constants.SELECT_ELECTION_CYCLE:\n return {\n ...state,\n electionCycle: action.payload,\n };\n case constants.SUBMIT_EXPORT_ONE_PAGE_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isOnePageReportLoading: true,\n },\n };\n case constants.SUBMIT_EXPORT_ONE_PAGE_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isOnePageReportLoading: false,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n profile,\n});\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n corporations: [],\n corporationError: false,\n paginator: {},\n sort: {},\n ui: {\n isInitialLoading: true,\n isLoadingData: true,\n isLoadingReport: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_CORPORATIONS:\n return {\n ...state,\n corporationError: false,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_CORPORATIONS_DONE:\n return {\n ...state,\n corporations: action.payload,\n corporationError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n isInitialLoading: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n default:\n return state;\n }\n}\n\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n lookUp,\n});\n","import { combineReducers } from 'redux';\nimport isEmpty from 'lodash/isEmpty';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n error: false,\n corporation: {},\n contributions: [],\n contributionsError: false,\n contributionsReceipt: {},\n contributionsReceiptError: false,\n electionCyclesData: [],\n electionCycle: null,\n paginator: {},\n sort: {},\n ui: {\n isInitialLoading: true,\n isCorporationLoading: true,\n isContributionsLoading: true,\n isContributionsReceiptLoading: true,\n isLoadingReport: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction profile(state = defaultState, action) {\n const initialLoadingStatus = !!(\n state.ui.isInitialLoading &&\n state.contributions.length &&\n !isEmpty(state.corporation)\n );\n\n switch (action.type) {\n case constants.FETCH_CORPORATION:\n return {\n ...state,\n error: false,\n corporation: {},\n ui: {\n ...state.ui,\n isCorporationLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_CORPORATION_DONE:\n return {\n ...state,\n error: action.error,\n corporation: action.payload,\n ui: {\n ...state.ui,\n isCorporationLoading: false,\n toResetSelectedItems: true,\n isInitialLoading: initialLoadingStatus,\n },\n };\n case constants.FETCH_CORPORATION_CONTRIBUTIONS:\n return {\n ...state,\n contributionsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isContributionsLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_CORPORATION_CONTRIBUTIONS_DONE:\n return {\n ...state,\n contributions: action.payload,\n contributionsError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isContributionsLoading: false,\n isInitialLoading: initialLoadingStatus,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_CORPORATION_RECEIPT:\n return {\n ...state,\n contributionsReceiptError: false,\n ui: {\n ...state.ui,\n isContributionsReceiptLoading: true,\n },\n };\n case constants.RECEIVE_CORPORATION_RECEIPT_DONE:\n return {\n ...state,\n contributionsReceipt: action.payload,\n contributionsReceiptError: action.error,\n ui: {\n ...state.ui,\n isContributionsReceiptLoading: false,\n },\n };\n case constants.SET_ELECTION_CYCLES:\n return {\n ...state,\n electionCyclesData: action.payload,\n };\n case constants.SELECT_ELECTION_CYCLE:\n return {\n ...state,\n electionCycle: action.payload,\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n profile,\n});\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n receipt: {},\n receiptError: false,\n disbursements: [],\n disbursementsError: false,\n paginator: {},\n sort: {},\n ui: {\n isLoadingData: true,\n isInitialLoading: true,\n isReceiptLoading: true,\n isLoadingReport: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_DISBURSEMENTS:\n return {\n ...state,\n disbursementsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_DISBURSEMENTS_DONE:\n return {\n ...state,\n disbursements: action.payload,\n disbursementsError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n isInitialLoading: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_DISBURSEMENTS_RECEIPT:\n return {\n ...state,\n receiptError: false,\n ui: {\n ...state.ui,\n isReceiptLoading: true,\n },\n };\n case constants.RECEIVE_DISBURSEMENTS_RECEIPT_DONE:\n return {\n ...state,\n receipt: action.payload,\n receiptError: action.error,\n ui: {\n ...state.ui,\n isReceiptLoading: false,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n default:\n return state;\n }\n}\n\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n lookUp,\n});\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n receipt: {},\n receiptError: false,\n receipts: [],\n receiptsError: false,\n paginator: {},\n sort: {},\n ui: {\n isInitialLoading: true,\n isLoadingData: true,\n isLoadingReport: false,\n isReceiptLoading: true,\n toResetSelectedItems: true,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_RECEIPTS:\n return {\n ...state,\n receiptsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_RECEIPTS_DONE:\n return {\n ...state,\n receipts: action.payload,\n receiptsError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isInitialLoading: false,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_RECEIPT:\n return {\n ...state,\n receiptError: false,\n ui: {\n ...state.ui,\n isReceiptLoading: true,\n },\n };\n case constants.RECEIVE_RECEIPT_DONE:\n return {\n ...state,\n receipt: action.payload,\n receiptError: action.error,\n ui: {\n ...state.ui,\n isReceiptLoading: false,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_LOADING:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: true,\n },\n };\n case constants.SUBMIT_EXPORT_REPORT_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingReport: false,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n lookUp,\n});\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n vendors: [],\n vendorsError: false,\n paginator: {},\n sort: {},\n ui: {\n isLoadingData: true,\n isInitialLoading: true,\n toResetSelectedItems: true,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_VENDORS:\n return {\n ...state,\n vendorsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_VENDORS_DONE:\n return {\n ...state,\n vendors: action.payload,\n vendorsError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n isInitialLoading: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n default:\n return state;\n }\n}\n\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n lookUp,\n});\n","import { combineReducers } from 'redux';\nimport isEmpty from 'lodash/isEmpty';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n error: false,\n vendor: {},\n vendorReceipt: {},\n vendorReceiptError: false,\n vendorDisbursements: [],\n vendorDisbursementsError: false,\n electionCyclesData: [],\n electionCycle: null,\n paginator: {},\n sort: {},\n ui: {\n isInitialLoading: true,\n isVendorLoading: true,\n isVendorDisbursementsLoading: true,\n isVendorReceiptLoading: true,\n toResetSelectedItems: true,\n },\n};\n\nfunction profile(state = defaultState, action) {\n const initialLoadingStatus = !!(\n state.ui.isInitialLoading &&\n state.vendorDisbursements.length &&\n !isEmpty(state.vendor)\n );\n\n switch (action.type) {\n case constants.FETCH_VENDOR:\n return {\n ...state,\n error: false,\n vendor: {},\n ui: {\n ...state.ui,\n isVendorLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_VENDOR_DONE:\n return {\n ...state,\n error: action.error,\n vendor: action.payload,\n ui: {\n ...state.ui,\n isVendorLoading: false,\n toResetSelectedItems: true,\n isInitialLoading: initialLoadingStatus,\n },\n };\n case constants.FETCH_VENDOR_DISBURSEMENTS:\n return {\n ...state,\n vendorDisbursementsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isVendorDisbursementsLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_VENDOR_DISBURSEMENTS_DONE:\n return {\n ...state,\n vendorDisbursementsError: action.error,\n vendorDisbursements: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isVendorDisbursementsLoading: false,\n isInitialLoading: initialLoadingStatus,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_VENDOR_RECEIPT:\n return {\n ...state,\n vendorReceiptError: false,\n ui: {\n ...state.ui,\n isVendorReceiptLoading: true,\n },\n };\n case constants.RECEIVE_VENDOR_RECEIPT_DONE:\n return {\n ...state,\n vendorReceipt: action.payload,\n vendorReceiptError: action.error,\n ui: {\n ...state.ui,\n isVendorReceiptLoading: false,\n },\n };\n case constants.SET_ELECTION_CYCLES:\n return {\n ...state,\n electionCyclesData: action.payload,\n };\n case constants.SELECT_ELECTION_CYCLE:\n return {\n ...state,\n electionCycle: action.payload,\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n profile,\n});\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n data: [],\n dataError: false,\n paginator: {},\n sort: {},\n ui: {\n isDeleting: false,\n isLoadingData: true,\n isInitialLoading: true,\n toResetSelectedItems: true,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_DATA_REQUEST:\n return {\n ...state,\n dataError: false,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.FETCH_DATA_SUCCESS:\n return {\n ...state,\n data: action.payload,\n dataError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isInitialLoading: false,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.DELETE_DATA_REQUEST:\n return {\n ...state,\n ui: {\n ...state.ui,\n isDeleting: true,\n toResetSelectedItems: false,\n },\n };\n case constants.DELETE_DATA_SUCCESS:\n return {\n ...state,\n data: state.data.filter(({ id }) => action && action.payload && !action.payload.includes(id)),\n dataError: action.error,\n ui: {\n ...state.ui,\n isDeleting: false,\n toResetSelectedItems: true,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n lookUp,\n});\n","import { combineReducers } from 'redux';\nimport isEmpty from 'lodash/isEmpty';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n individual: {},\n contributions: [],\n contributionsError: false,\n contributionsReceipt: {},\n contributionsReceiptError: false,\n electionCyclesData: [],\n electionCycle: null,\n paginator: {},\n sort: {},\n ui: {\n isMerging: false,\n isInitialLoading: true,\n isIndividualLoading: true,\n isContributionsLoading: true,\n isContributionsReceiptLoading: true,\n toResetSelectedItems: true,\n },\n};\n\nfunction profile(state = defaultState, action) {\n const initialLoadingStatus = !!(\n state.ui.isInitialLoading &&\n state.contributions.length &&\n !isEmpty(state.individual)\n );\n\n switch (action.type) {\n case constants.FETCH_INDIVIDUAL:\n return {\n ...state,\n individual: {},\n ui: {\n ...state.ui,\n isIndividualLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_DONE:\n return {\n ...state,\n individual: action.payload,\n ui: {\n ...state.ui,\n isIndividualLoading: false,\n toResetSelectedItems: true,\n isInitialLoading: initialLoadingStatus,\n },\n };\n case constants.FETCH_INDIVIDUAL_CONTRIBUTIONS:\n return {\n ...state,\n contributionsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isContributionsLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE:\n return {\n ...state,\n contributions: action.payload,\n contributionsError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isContributionsLoading: false,\n isInitialLoading: initialLoadingStatus,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_INDIVIDUAL_RECEIPT:\n return {\n ...state,\n contributionsReceiptError: false,\n ui: {\n ...state.ui,\n isContributionsReceiptLoading: true,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_RECEIPT_DONE:\n return {\n ...state,\n contributionsReceipt: action.payload,\n contributionsReceiptError: action.error,\n ui: {\n ...state.ui,\n isContributionsReceiptLoading: false,\n },\n };\n case constants.SET_ELECTION_CYCLES:\n return {\n ...state,\n electionCyclesData: action.payload,\n };\n case constants.SELECT_ELECTION_CYCLE:\n return {\n ...state,\n electionCycle: action.payload,\n };\n case constants.MERGE_DATA_REQUEST:\n return {\n ...state,\n ui: {\n ...state.ui,\n isMerging: true,\n },\n };\n case constants.MERGE_DATA_SUCCESS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isMerging: false,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n profile,\n});\n","import { combineReducers } from 'redux';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n data: [],\n dataError: false,\n paginator: {},\n sort: {},\n ui: {\n isDeleting: false,\n isLoadingData: true,\n isInitialLoading: true,\n toResetSelectedItems: true,\n },\n};\n\nfunction lookUp(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_DATA_REQUEST:\n return {\n ...state,\n dataError: false,\n sort: {},\n ui: {\n ...state.ui,\n isLoadingData: true,\n toResetSelectedItems: false,\n },\n };\n case constants.FETCH_DATA_SUCCESS:\n return {\n ...state,\n data: action.payload,\n dataError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isInitialLoading: false,\n isLoadingData: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.DELETE_DATA_REQUEST:\n return {\n ...state,\n ui: {\n ...state.ui,\n isDeleting: true,\n toResetSelectedItems: false,\n },\n };\n case constants.DELETE_DATA_SUCCESS:\n return {\n ...state,\n data: state.data.filter(({ id }) => action && action.payload && !action.payload.includes(id)),\n dataError: action.error,\n ui: {\n ...state.ui,\n isDeleting: false,\n toResetSelectedItems: true,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n advancedSearch,\n lookUp,\n});\n","import { combineReducers } from 'redux';\nimport isEmpty from 'lodash/isEmpty';\n\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n individual: {},\n contributions: [],\n contributionsError: false,\n contributionsReceipt: {},\n contributionsReceiptError: false,\n electionCyclesData: [],\n electionCycle: null,\n paginator: {},\n sort: {},\n ui: {\n isMerging: false,\n isInitialLoading: true,\n isIndividualLoading: true,\n isContributionsLoading: true,\n isContributionsReceiptLoading: true,\n toResetSelectedItems: true,\n },\n};\n\nfunction profile(state = defaultState, action) {\n const initialLoadingStatus = !!(\n state.ui.isInitialLoading &&\n state.contributions.length &&\n !isEmpty(state.individual)\n );\n\n switch (action.type) {\n case constants.FETCH_INDIVIDUAL:\n return {\n ...state,\n individual: {},\n ui: {\n ...state.ui,\n isIndividualLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_DONE:\n return {\n ...state,\n individual: action.payload,\n ui: {\n ...state.ui,\n isIndividualLoading: false,\n toResetSelectedItems: true,\n isInitialLoading: initialLoadingStatus,\n },\n };\n case constants.FETCH_INDIVIDUAL_CONTRIBUTIONS:\n return {\n ...state,\n contributionsError: false,\n sort: {},\n ui: {\n ...state.ui,\n isContributionsLoading: true,\n toResetSelectedItems: false,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_CONTRIBUTIONS_DONE:\n return {\n ...state,\n contributions: action.payload,\n contributionsError: action.error,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isContributionsLoading: false,\n isInitialLoading: initialLoadingStatus,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_INDIVIDUAL_RECEIPT:\n return {\n ...state,\n contributionsReceiptError: false,\n ui: {\n ...state.ui,\n isContributionsReceiptLoading: true,\n },\n };\n case constants.RECEIVE_INDIVIDUAL_RECEIPT_DONE:\n return {\n ...state,\n contributionsReceipt: action.payload,\n contributionsReceiptError: action.error,\n ui: {\n ...state.ui,\n isContributionsReceiptLoading: false,\n },\n };\n case constants.SET_ELECTION_CYCLES:\n return {\n ...state,\n electionCyclesData: action.payload,\n };\n case constants.SELECT_ELECTION_CYCLE:\n return {\n ...state,\n electionCycle: action.payload,\n };\n case constants.MERGE_DATA_REQUEST:\n return {\n ...state,\n ui: {\n ...state.ui,\n isMerging: true,\n },\n };\n case constants.MERGE_DATA_SUCCESS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isMerging: false,\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n appliedSearchFilters,\n profile,\n});\n","import { combineReducers } from 'redux';\n\nimport smartSearchLookup from './smartSearch/lookup/reducers';\nimport smartSearchBuilder from './smartSearch/builder/reducers';\nimport committeeLookup from './committeePages/lookup/reducers';\nimport committeeProfile from './committeePages/profile/reducers';\nimport candidateProfile from './candidatePages/profile/reducers';\nimport candidateLookup from './candidatePages/lookup/reducers';\nimport individualLookup from './individualPages/lookup/reducers';\nimport individualProfile from './individualPages/profile/reducers';\nimport corporationLookup from './corporationPages/lookup/reducers';\nimport corporationProfile from './corporationPages/profile/reducers';\nimport disbursementLookup from './disbursementPages/lookup/reducers';\nimport receiptLookup from './receiptPages/lookup/reducers';\nimport vendorLookup from './vendorPages/lookup/reducers';\nimport vendorProfile from './vendorPages/profile/reducers';\nimport pacRankingLookup from './pacRankingPages/lookup/reducers';\nimport clusterBuckFirstQueueLookup from './clusterbuckPages/firstQueue/lookup/reducers';\nimport clusterBuckFirstQueueProfile from './clusterbuckPages/firstQueue/profile/reducers';\nimport clusterBuckSecondQueueLookup from './clusterbuckPages/secondQueue/lookup/reducers';\nimport clusterBuckSecondQueueProfile from './clusterbuckPages/secondQueue/profile/reducers';\n\nexport default combineReducers({\n smartSearchLookup,\n smartSearchBuilder,\n committeeLookup,\n committeeProfile,\n individualLookup,\n individualProfile,\n corporationLookup,\n corporationProfile,\n vendorLookup,\n vendorProfile,\n candidateProfile,\n candidateLookup,\n disbursementLookup,\n receiptLookup,\n pacRankingLookup,\n clusterBuckFirstQueueLookup,\n clusterBuckFirstQueueProfile,\n clusterBuckSecondQueueLookup,\n clusterBuckSecondQueueProfile,\n});\n","import constants from './constants';\n\nconst DEFAULT_STATE = {\n generalFeeds: [],\n personalFeeds: [],\n ui: {\n isDeletingFeed: false,\n isLoadingPersonalFeeds: true,\n isLoadingGeneralFeeds: true,\n isSubscribing: false,\n },\n};\n\nexport default function (state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_GENERAL_FEEDS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingGeneralFeeds: true },\n };\n case constants.FETCH_PERSONAL_FEEDS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingPersonalFeeds: true },\n };\n case constants.RECEIVE_GENERAL_FEEDS_DONE:\n return {\n ...state,\n generalFeeds: action.payload,\n ui: { ...state.ui, isLoadingGeneralFeeds: false },\n };\n case constants.RECEIVE_GENERAL_FEEDS_FAILURE:\n return {\n ...state,\n generalFeeds: DEFAULT_STATE.generalFeeds,\n ui: { ...state.ui, isLoadingGeneralFeeds: false },\n };\n case constants.RECEIVE_PERSONAL_FEEDS_DONE:\n return {\n ...state,\n personalFeeds: action.payload,\n ui: { ...state.ui, isLoadingPersonalFeeds: false },\n };\n case constants.RECEIVE_PERSONAL_FEEDS_FAILURE:\n return {\n ...state,\n personalFeeds: DEFAULT_STATE.personalFeeds,\n ui: { ...state.ui, isLoadingPersonalFeeds: false },\n };\n case constants.DELETE_FEED:\n return {\n ...state,\n ui: { ...state.ui, isDeletingFeed: true },\n };\n case constants.DELETE_FEED_DONE:\n return {\n ...state,\n personalFeeds: state.personalFeeds.filter(({ id }) => id !== action.payload.id),\n ui: { ...state.ui, isDeletingFeed: false },\n };\n case constants.DELETE_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isDeletingFeed: false },\n };\n case constants.CREATE_FEED_DONE:\n return {\n ...state,\n personalFeeds: [\n action.payload,\n ...state.personalFeeds,\n ],\n };\n case constants.UPDATE_FEED_DONE:\n return {\n ...state,\n personalFeeds: state.personalFeeds.map(\n item => (item.id === action.payload.id\n ? { ...item, ...action.payload }\n : item)\n ),\n };\n case constants.SUBSCRIBE_TO_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSubscribing: true },\n };\n case constants.SUBSCRIBE_TO_FEED_DONE:\n return {\n ...state,\n ui: { ...state.ui, isSubscribing: false },\n personalFeeds: state.personalFeeds.map(\n feed => (feed.id === action.payload.id\n ? { ...feed, ...action.payload }\n : feed\n )\n ),\n };\n case constants.SUBSCRIBE_TO_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSubscribing: false },\n };\n case constants.CREATE_FEED_FAILURE:\n case constants.UPDATE_FEED_FAILURE:\n default:\n return state;\n }\n}\n","import constants from './constants';\n\nconst DEFAULT_STATE = {\n clusterInfo: {},\n ui: {\n isLoadingClusterInfo: true,\n },\n};\n\nexport default function (state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_CLUSTER_INFO:\n return {\n ...state,\n ui: { ...state.ui, isLoadingClusterInfo: true },\n };\n case constants.RECEIVE_CLUSTER_INFO_DONE:\n return {\n ...state,\n clusterInfo: action.payload,\n ui: { ...state.ui, isLoadingClusterInfo: false },\n };\n case constants.RECEIVE_CLUSTER_INFO_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingClusterInfo: false },\n };\n default:\n return state;\n }\n}\n","import constants from './constants';\n\nconst DEFAULT_STATE = {\n timeSeries: [],\n ui: {\n isLoadingTimeSeries: false,\n },\n};\n\nexport default function (state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_TIME_SERIES:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTimeSeries: true },\n };\n case constants.RECEIVE_TIME_SERIES_DONE:\n return {\n ...state,\n timeSeries: action.payload,\n ui: { ...state.ui, isLoadingTimeSeries: false },\n };\n case constants.RECEIVE_TIME_SERIES_FAILURE:\n case constants.RESET_TIME_SERIES:\n return {\n ...state,\n timeSeries: DEFAULT_STATE.timeSeries,\n ui: { ...state.ui, isLoadingTimeSeries: false },\n };\n default:\n return state;\n }\n}\n","import { updateDataItemArrayPayload, updateDataItem } from 'utils/reducer';\n\nimport constants from './constants';\n\nconst DEFAULT_STATE = {\n selectedFeedKeywords: [],\n feed: [],\n pagination: {},\n sort: {},\n selectedCards: [],\n ui: {\n isLoadingFeed: false,\n isInitialLoading: true,\n isLoadingTags: false,\n isLoadingMyFeedDocuments: false,\n isSharingToMyFeed: false,\n },\n};\n\nconst feedLookupKeyName = 'feed';\n\nexport default function (state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_NEWS_FEED:\n return {\n ...state,\n ui: { ...state.ui, isLoadingFeed: true },\n };\n case constants.RECEIVE_NEWS_FEED_DONE:\n return {\n ...state,\n feed: action.shouldReset ? action.payload : [...state.feed, ...action.payload],\n pagination: action.pagination,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingFeed: false,\n isInitialLoading: false,\n },\n };\n case constants.RECEIVE_NEWS_FEED_FAILURE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingFeed: false,\n isInitialLoading: false,\n },\n };\n case constants.RESET_NEWS_FEED:\n return {\n ...state,\n feed: DEFAULT_STATE.feed,\n ui: { ...state.ui, isInitialLoading: false },\n };\n case constants.FETCH_FEED_KEYWORDS:\n case constants.RECEIVE_FEED_KEYWORDS_FAILURE:\n case constants.RESET_FEED_KEYWORDS:\n return {\n ...state,\n selectedFeedKeywords: [],\n };\n case constants.RECEIVE_FEED_KEYWORDS_DONE:\n return {\n ...state,\n selectedFeedKeywords: action.payload,\n };\n case constants.SELECT_CARDS:\n return {\n ...state,\n selectedCards: action.selectedCards,\n };\n case constants.LOAD_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, feedLookupKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.RECEIVE_TAGS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.BULK_SAVE_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.BULK_SAVE_TAGS_DONE:\n case constants.BULK_SAVE_TAGS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.UPDATE_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.UPDATE_TAGS_DONE:\n return {\n ...updateDataItem(state, action, feedLookupKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.UPDATE_TAGS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.UPDATE_DATA_ITEM:\n return {\n ...updateDataItem(state, action, feedLookupKeyName),\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, feedLookupKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.SHARE_TO_MY_FEED:\n return {\n ...state,\n ui: { ...state.ui, isSharingToMyFeed: true },\n };\n case constants.SHARE_TO_MY_FEED_DONE:\n return {\n ...updateDataItem(state, action, feedLookupKeyName),\n ui: { ...state.ui, isSharingToMyFeed: false },\n };\n case constants.SHARE_TO_MY_FEED_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isSharingToMyFeed: false },\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\n\nimport storyFeed from './news/reducers';\nimport cluster from './cluster/reducers';\nimport analytics from './common/analytics/reducers';\nimport newsFeed from './common/reducers';\n\nexport default combineReducers({\n newsFeed,\n storyFeed,\n cluster,\n analytics,\n});\n","import constants from './constants';\n\nconst defaultState = {\n stafferData: {},\n committeeOffice: {},\n legislator: {},\n isLegislator: null,\n tags: [],\n ui: {\n isLoadingStaffer: false,\n isLoadingCommittee: false,\n isLoadingLegislator: false,\n isLoadingTags: true,\n isProfileNotFound: false,\n },\n};\n\nexport default function stafferProfile(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_STAFFER_DATA:\n return {\n ...state,\n stafferData: {},\n ui: { ...state.ui, isLoadingStaffer: true },\n };\n case constants.FETCH_STAFFER_DATA_DONE:\n return {\n ...state,\n stafferData: action.payload,\n isLegislator: action.isLegislator,\n ui: { ...state.ui, isLoadingStaffer: false },\n };\n case constants.PROFILE_NOT_FOUND:\n return {\n ...state,\n ui: { ...state.ui, isProfileNotFound: true },\n };\n case constants.FETCH_LEGISLATOR_DATA:\n return {\n ...state,\n legislator: {},\n ui: { ...state.ui, isLoadingLegislator: true },\n };\n case constants.FETCH_LEGISLATOR_DATA_DONE:\n return {\n ...state,\n legislator: action.payload,\n ui: { ...state.ui, isLoadingLegislator: false },\n };\n case constants.FETCH_COMMITTEE_OFFICE_DATA:\n return {\n ...state,\n committeeOffice: {},\n ui: { ...state.ui, isLoadingCommittee: true },\n };\n case constants.FETCH_COMMITTEE_OFFICE_DATA_DONE:\n return {\n ...state,\n committeeOffice: action.payload,\n ui: { ...state.ui, isLoadingCommittee: false },\n };\n case constants.SORT_STAFFER_DATA:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingStaffer: true,\n isLoadingCommittee: true,\n isLoadingLegislator: true,\n },\n };\n case constants.SORT_STAFFER_DATA_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingStaffer: false,\n isLoadingCommittee: false,\n isLoadingLegislator: false,\n },\n ...(action.stafferData && { stafferData: action.stafferData }),\n ...(action.committeeOffice && { committeeOffice: action.committeeOffice }),\n ...(action.legislator && { legislator: action.legislator }),\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...state,\n tags: action.payload,\n ui: { ...state.ui, isLoadingTags: false },\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\n\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport exportReport from 'redux/exportReport/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n staffers: [],\n paginator: {},\n sort: {},\n emails: '',\n ui: {\n isInitialLoading: true,\n isLoadingStaffers: true,\n isLoadingAllEmails: false,\n toResetSelectedItems: true,\n },\n};\n\nfunction stafferLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_STAFFERS:\n return {\n ...state,\n sort: defaultState.sort,\n emails: defaultState.email,\n ui: { ...state.ui, isLoadingStaffers: true, toResetSelectedItems: false },\n };\n case constants.RECEIVE_STAFFERS_DONE:\n return {\n ...state,\n staffers: action.payload,\n paginator: action.paginator,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingStaffers: false,\n isInitialLoading: false,\n toResetSelectedItems: action.toResetSelectedItems,\n },\n };\n case constants.FETCH_STAFFERS_EMAILS:\n return {\n ...state,\n emails: defaultState.emails,\n ui: { ...state.ui, isLoadingAllEmails: true },\n };\n case constants.RECEIVE_STAFFERS_EMAILS_DONE:\n return {\n ...state,\n emails: action.payload,\n ui: { ...state.ui, isLoadingAllEmails: false },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n stafferLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n});\n","import { combineReducers } from 'redux';\n\nimport stafferProfile from './stafferProfile/reducers';\nimport stafferLookup from './stafferLookup/reducers';\n\nexport default combineReducers({\n stafferProfile,\n stafferLookup,\n});\n","import { PRODUCT_SLUGS } from 'components/core/CustomFields/utils/constants';\n\nimport constants from './constants';\n\nconst defaultState = {\n ui: {\n isLoadingCustomFields: false,\n isLoadingCustomFieldByToken: false,\n isSavingCustomField: false,\n isUpdatingCustomField: false,\n resetTable: false,\n isEnabled: true,\n isUpdatingPositions: false,\n availableIn: PRODUCT_SLUGS.GRM,\n },\n allCustomFields: [],\n customField: {},\n};\n\nexport default function customFields(state = defaultState, { type, payload }) {\n switch (type) {\n case constants.FETCH_CUSTOM_FIELDS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingCustomFields: true,\n },\n };\n case constants.FETCH_CUSTOM_FIELDS_DONE:\n return {\n ...state,\n paginator: payload.paginator,\n allCustomFields: payload.data,\n ui: {\n ...state.ui,\n isEnabled: payload.isEnabled,\n availableIn: payload.availableIn,\n isLoadingCustomFields: false,\n },\n };\n case constants.CREATE_CUSTOM_FIELDS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isSavingCustomField: true,\n resetTable: true,\n },\n };\n case constants.CREATE_CUSTOM_FIELDS_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isSavingCustomField: false,\n resetTable: false,\n },\n };\n case constants.UPDATE_CUSTOM_FIELDS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isUpdatingCustomField: true,\n resetTable: true,\n },\n };\n case constants.UPDATE_CUSTOM_FIELDS_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isUpdatingCustomField: false,\n resetTable: false,\n },\n };\n case constants.GET_CUSTOM_FIELD_BY_TOKEN:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingCustomFieldByToken: true,\n },\n };\n case constants.GET_CUSTOM_FIELD_BY_TOKEN_DONE:\n return {\n ...state,\n customField: payload,\n ui: {\n ...state.ui,\n isLoadingCustomFieldByToken: false,\n },\n };\n case constants.RESET_LOADING_CUSTOM_FIELDS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isSavingCustomField: false,\n isUpdatingCustomField: false,\n },\n };\n case constants.UPDATE_POSITION_SYNC_DONE:\n return {\n ...state,\n allCustomFields: payload,\n };\n case constants.UPDATE_POSITION:\n return {\n ...state,\n ui: {\n ...state.ui,\n isUpdatingPositions: true,\n },\n };\n case constants.UPDATE_POSITION_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n isUpdatingPositions: false,\n },\n };\n case constants.UPDATE_POSITION_FAILURE:\n return {\n ...state,\n allCustomFields: payload,\n ui: {\n ...state.ui,\n isUpdatingPositions: false,\n },\n };\n default:\n return state;\n }\n}\n","import { createFileId } from 'components/core/FileUpload/utils';\nimport {\n FILES_ADDED,\n DELETE_FILE,\n EMPTY_STATE,\n} from './constants';\n\nconst defaultState = {\n filesUploaded: [],\n};\n\nfunction parseFileObjectToList(files, filesUploaded) {\n const uploadedFileIds = filesUploaded.map(createFileId);\n const newFilesOnly = file => !uploadedFileIds.includes(createFileId(file));\n\n return files.filter(newFilesOnly);\n}\n\nfunction replaceFilesWithoutIds(payload, filesUploaded) {\n const similarFile = uploadedFile => payloadFile =>\n payloadFile.size === uploadedFile.size && payloadFile.name === uploadedFile.name;\n\n return filesUploaded.map((uploadedFile) => {\n if (uploadedFile.file_upload_id) {\n return uploadedFile;\n }\n\n const payloadFile = payload.find(similarFile(uploadedFile));\n return payloadFile || uploadedFile;\n });\n}\n\nexport default function (state = defaultState, { type, payload }) {\n switch (type) {\n case FILES_ADDED:\n return {\n ...state,\n filesUploaded: [\n ...replaceFilesWithoutIds(payload, state.filesUploaded),\n ...parseFileObjectToList(payload, state.filesUploaded),\n ],\n };\n case EMPTY_STATE:\n return {\n ...state,\n filesUploaded: [],\n };\n case DELETE_FILE:\n return {\n ...state,\n filesUploaded: state.filesUploaded.filter((_, index) =>\n index !== payload\n ),\n };\n default:\n return state;\n }\n}\n","import constants from './constants';\n\nexport const defaultState = {\n ui: {\n isDeleting: false,\n isSubmitting: false,\n },\n};\n\nfunction stakeholder(state = defaultState, action) {\n switch (action.type) {\n case constants.DELETE_STAKEHOLDERS:\n return {\n ...state,\n ui: { ...state.ui, isDeleting: true },\n };\n case constants.DELETE_STAKEHOLDERS_DONE:\n return {\n ...state,\n ui: { ...state.ui, isDeleting: false },\n };\n case constants.DELETE_STAKEHOLDER:\n return {\n ...state,\n ui: { ...state.ui, isDeleting: true },\n };\n case constants.DELETE_STAKEHOLDER_DONE:\n return {\n ...state,\n ui: { ...state.ui, isDeleting: false },\n };\n case constants.CREATE_STAKEHOLDER:\n return {\n ...state,\n ui: { ...state.ui, isSubmitting: true },\n };\n case constants.CREATE_STAKEHOLDER_DONE:\n case constants.CREATE_STAKEHOLDER_FAIL:\n return {\n ...state,\n ui: { ...state.ui, isSubmitting: false },\n };\n case constants.UPDATE_STAKEHOLDER:\n return {\n ...state,\n ui: { ...state.ui, isSubmitting: true },\n };\n case constants.UPDATE_STAKEHOLDER_DONE:\n case constants.UPDATE_STAKEHOLDER_FAIL:\n return {\n ...state,\n ui: { ...state.ui, isSubmitting: false },\n };\n default:\n return state;\n }\n}\n\nexport default stakeholder;\n","import { combineReducers } from 'redux';\n\nimport advancedSearch from 'redux/advancedSearch/reducers';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport exportReport from 'redux/exportReport/reducers';\nimport customFields from 'redux/customFields/reducers';\nimport stakeholder from 'redux/stakeholder/common/reducers';\nimport tableColumns from 'components/Stakeholder/Lookup/utils/tableColumns';\n\nimport constants from './constants';\n\nexport const defaultState = {\n stakeholders: [],\n stakeholdersMap: {},\n stakeholderLists: [],\n districtStakeholdersMetadata: {\n totalCount: 0,\n pages: 0,\n },\n tableColumns,\n paginator: {},\n sort: {},\n emails: '',\n ui: {\n isInitialLoading: true,\n isLoadingData: true,\n isLoadingMapData: true,\n isLoadingLists: true,\n isLoadingAllEmails: false,\n isApplyingLists: false,\n isApplyingTags: false,\n toResetSelectedItems: true,\n isResetFilters: false,\n isLoadingDistrictStakeholdersMetadata: false,\n },\n};\n\nfunction stakeholderLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_STAKEHOLDERS:\n return {\n ...state,\n sort: defaultState.sort,\n ui: { ...state.ui, isLoadingData: true, toResetSelectedItems: false, isResetFilters: false },\n };\n case constants.FETCH_STAKEHOLDERS_MAP:\n return {\n ...state,\n stakeholdersMap: defaultState.stakeholdersMap,\n ui: { ...state.ui, isLoadingMapData: true, toResetSelectedItems: false, isResetFilters: false },\n };\n case constants.RECEIVE_STAKEHOLDERS_FAIL:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingData: false,\n isInitialLoading: false,\n },\n };\n case constants.RECEIVE_STAKEHOLDERS_DONE:\n return {\n ...state,\n stakeholders: action.payload,\n paginator: action.paginator,\n tableColumns: action.tableColumns,\n sort: action.sort,\n ui: {\n ...state.ui,\n isLoadingData: false,\n isInitialLoading: false,\n toResetSelectedItems: action.toResetSelectedItems,\n isResetFilters: action.isResetFilters,\n },\n };\n case constants.RECEIVE_STAKEHOLDERS_MAP_FAIL:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingMapData: false,\n isInitialLoading: false,\n toResetSelectedItems: false,\n isResetFilters: false,\n },\n };\n case constants.RECEIVE_STAKEHOLDERS_MAP_DONE:\n return {\n ...state,\n stakeholdersMap: action.payload,\n ui: {\n ...state.ui,\n isLoadingMapData: false,\n isInitialLoading: false,\n toResetSelectedItems: false,\n isResetFilters: false,\n },\n };\n case constants.FETCH_STAKEHOLDER_LISTS:\n return {\n ...state,\n stakeholderLists: [],\n ui: { ...state.ui, isLoadingLists: true },\n };\n case constants.RECEIVE_STAKEHOLDER_LISTS_DONE:\n return {\n ...state,\n stakeholderLists: action.payload,\n ui: { ...state.ui, isLoadingLists: false },\n };\n case constants.FETCH_STAKEHOLDER_EMAILS:\n return {\n ...state,\n emails: defaultState.emails,\n ui: { ...state.ui, isLoadingAllEmails: true },\n };\n case constants.SUBMIT_APPLIED_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isApplyingTags: true },\n };\n case constants.SUBMIT_STAKEHOLDER_LISTS:\n return {\n ...state,\n ui: { ...state.ui, isApplyingLists: true },\n };\n case constants.SUBMIT_APPLIED_TAGS_DONE:\n return {\n ...state,\n stakeholders: action.payload,\n ui: { ...state.ui, isApplyingTags: false },\n };\n case constants.SUBMIT_APPLIED_TAGS_FAIL:\n return {\n ...state,\n ui: { ...state.ui, isApplyingTags: false },\n };\n case constants.SUBMIT_STAKEHOLDER_LISTS_DONE:\n return {\n ...state,\n stakeholders: action.payload,\n ui: { ...state.ui, isApplyingLists: false },\n };\n case constants.SUBMIT_STAKEHOLDER_LISTS_FAIL:\n return {\n ...state,\n ui: { ...state.ui, isApplyingLists: false },\n };\n case constants.RECEIVE_STAKEHOLDER_EMAILS_DONE:\n return {\n ...state,\n emails: action.payload,\n ui: { ...state.ui, isLoadingAllEmails: false },\n };\n\n case constants.RECEIVE_DISTRICT_STAKEHOLDERS_METADATA:\n return {\n ...state,\n districtStakeholdersMetadata: action.payload,\n ui: {\n ...state.ui,\n isLoadingDistrictStakeholdersMetadata: false,\n },\n };\n\n case constants.FETCH_DISTRICT_STAKEHOLDERS_METADATA:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingDistrictStakeholdersMetadata: true,\n },\n };\n\n case constants.DISTRICT_STAKEHOLDERS_METADATA_FAIL:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingDistrictStakeholdersMetadata: false,\n },\n };\n\n case constants.RESET_STATE:\n return defaultState;\n\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n stakeholder,\n stakeholderLookup,\n advancedSearch,\n appliedFilters: appliedSearchFilters,\n exportReport,\n customFields,\n});\n","import constants from './constants';\n\nconst defaultState = {\n allLegislators: {},\n legislators: [],\n geoCodeResults: {},\n geoId: null,\n ui: {\n isLoadingLegislators: false,\n },\n};\n\nfunction legislatorLookup(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_ALL_LEGISLATORS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingLegislators: true },\n };\n case constants.FETCH_LEGISLATORS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingLegislators: true, searchTouched: true },\n };\n case constants.RECEIVE_ALL_LEGISLATORS_DONE:\n return {\n ...state,\n allLegislators: action.payload,\n ui: { ...state.ui, isLoadingLegislators: false },\n };\n case constants.RECEIVE_LEGISLATORS_DONE:\n return {\n ...state,\n legislators: action.payload.legislators,\n geoId: action.payload.geoId,\n ui: { ...state.ui, isLoadingLegislators: false },\n };\n case constants.RECEIVE_LEGISLATORS_FAIL:\n return {\n ...state,\n legislators: [],\n geoId: null,\n ui: { ...state.ui, isLoadingLegislators: false },\n };\n case constants.FETCH_DISTRICT:\n return {\n ...state,\n ui: { ...state.ui, isLoadingLegislators: true },\n };\n case constants.RECEIVE_DISTRICT_FAIL:\n return {\n ...state,\n legislators: [],\n geoId: null,\n ui: { ...state.ui, isLoadingLegislators: false },\n };\n default:\n return state;\n }\n}\n\nexport default legislatorLookup;\n","import { combineReducers } from 'redux';\nimport stakeholder from 'redux/stakeholder/common/reducers';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport customFields from 'redux/customFields/reducers';\nimport legislatorLookup from 'redux/legislator/lookup/reducers';\n\nimport constants from './constants';\n\nconst defaultState = {\n stakeholderProfile: {},\n stakeholderContributions: {},\n lastSyncAt: null,\n smartLists: [],\n lists: [],\n tags: [],\n customFieldsAnswers: {},\n ui: {\n isLoadingSmartLists: true,\n isLoadingLists: true,\n isLoadingTags: true,\n isDeletingStakeholderTag: false,\n isDeletingStakeholderList: false,\n errorLoadingStakeholder: false,\n isLoadingStakeholderProfile: true,\n isLoadingContributions: false,\n },\n};\n\nfunction stakeholderProfile(state = defaultState, { type, payload }) {\n switch (type) {\n case constants.FETCH_STAKEHOLDER_PROFILE:\n return {\n ...state,\n stakeholderProfile: {},\n ui: { ...state.ui, isLoadingStakeholderProfile: true },\n };\n case constants.RECEIVE_STAKEHOLDER_PROFILE_DONE:\n return {\n ...state,\n stakeholderProfile: {\n ...state.stakeholderProfile,\n ...payload.profile,\n },\n smartLists: payload.profile.smartLists || defaultState.smartLists,\n lists: payload.profile.lists,\n tags: payload.profile.tags,\n customFieldsAnswers: payload.customFieldsAnswers,\n ui: {\n ...state.ui,\n isLoadingStakeholderProfile: false,\n isLoadingTags: false,\n isLoadingSmartLists: false,\n isLoadingLists: false,\n errorLoadingStakeholder: false,\n },\n };\n case constants.UPDATE_STAKEHOLDER_PROFILE_DESCRIPTION:\n return {\n ...state,\n stakeholderProfile: {\n ...state.stakeholderProfile,\n description: payload.description,\n },\n };\n case constants.RECEIVE_STAKEHOLDER_PROFILE_FAIL:\n return {\n ...state,\n stakeholderProfile: {},\n ui: {\n ...state.ui,\n isLoadingStakeholderProfile: false,\n isLoadingTags: false,\n isLoadingLists: false,\n errorLoadingStakeholder: true,\n },\n };\n case constants.DELETE_STAKEHOLDER_TAG:\n return {\n ...state,\n ui: { ...state.ui, isDeletingStakeholderTag: true },\n };\n case constants.DELETE_STAKEHOLDER_TAG_DONE:\n return {\n ...state,\n ui: { ...state.ui, isDeletingStakeholderTag: false },\n };\n case constants.DELETE_STAKEHOLDER_LIST:\n return {\n ...state,\n ui: { ...state.ui, isDeletingStakeholderList: true },\n };\n case constants.DELETE_STAKEHOLDER_LIST_DONE:\n return {\n ...state,\n ui: { ...state.ui, isDeletingStakeholderList: false },\n };\n case constants.SORT_STAKEHOLDER_SMART_LIST_DATA:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSmartLists: true },\n };\n case constants.SORT_STAKEHOLDER_SMART_LIST_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSmartLists: false },\n ...(payload && { smartLists: payload }),\n };\n case constants.SORT_STAKEHOLDER_LIST_DATA:\n return {\n ...state,\n ui: { ...state.ui, isLoadingLists: true },\n };\n case constants.SORT_STAKEHOLDER_LIST_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingLists: false },\n ...(payload && { lists: payload }),\n };\n case constants.SORT_STAKEHOLDER_TAG_DATA:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.SORT_STAKEHOLDER_TAG_DATA_DONE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: false },\n ...(payload && { tags: payload }),\n };\n case constants.FETCH_STAKEHOLDER_CONTRIBUTIONS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingContributions: true,\n },\n };\n case constants.FETCH_STAKEHOLDER_CONTRIBUTIONS_DONE:\n return {\n ...state,\n stakeholderContributions: {\n contributions: payload.items,\n paginator: payload.paginator,\n sort: payload.sort,\n },\n ui: {\n ...state.ui,\n isLoadingContributions: false,\n },\n };\n case constants.FETCH_STAKEHOLDER_CONTRIBUTIONS_FAIL:\n return {\n ...state,\n stakeholderContributions: {\n contributions: payload.items,\n paginator: payload.paginator,\n sort: payload.sort,\n },\n ui: {\n ...state.ui,\n stakeholderContributions: {},\n isLoadingContributions: false,\n },\n };\n case constants.FETCH_CONTRIBUTIONS_LAST_SYNC:\n return {\n ...state,\n };\n case constants.FETCH_CONTRIBUTIONS_LAST_SYNC_DONE:\n return {\n ...state,\n lastSyncAt: payload.lastSyncAt,\n };\n case constants.FETCH_CONTRIBUTIONS_LAST_SYNC_FAIL:\n return {\n ...state,\n lastSyncAt: payload.lastSyncAt,\n };\n case constants.RESET_DATA:\n return defaultState;\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n stakeholder,\n stakeholderProfile,\n appliedFilters: appliedSearchFilters,\n customFields,\n legislatorLookup,\n});\n","import { combineReducers } from 'redux';\n\nimport customFields from 'redux/customFields/reducers';\n\nimport constants from './constants';\n\nexport const defaultState = {\n stakeholders: [],\n ui: {\n isMergingStakeholders: false,\n },\n};\n\nfunction stakeholderMerge(state = defaultState, action) {\n switch (action.type) {\n case constants.MERGE_STAKEHOLDERS:\n return {\n ...state,\n stakeholders: defaultState.stakeholders,\n ui: { ...state.ui, isMergingStakeholders: true },\n };\n case constants.MERGE_STAKEHOLDERS_DONE:\n return {\n ...state,\n stakeholders: action.payload,\n ui: { ...state.ui, isMergingStakeholders: false },\n };\n case constants.MERGE_STAKEHOLDERS_FAIL:\n return {\n ...state,\n stakeholdersMap: action.payload,\n ui: { ...state.ui, isMergingStakeholders: false },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n stakeholderMerge,\n customFields,\n});\n","import {\n UPDATE_TITLE,\n UPDATE_DESCRIPTION,\n UPDATE_TRANSACTOR,\n UPDATE_DATA,\n GET_LIST_START,\n GET_LIST_DONE,\n UPDATE_IS_TEMPLATE,\n RESET,\n CREATE_LIST_START,\n CREATE_LIST_DONE,\n CREATE_LIST_FAIL,\n} from '../constants';\n\nexport const defaultState = {\n title: '',\n description: '',\n isTemplate: false,\n transactor: '',\n data: {},\n ui: {\n isLoading: false,\n },\n};\n\nfunction builder(state = defaultState, action) {\n switch (action.type) {\n case UPDATE_IS_TEMPLATE:\n return {\n ...state,\n isTemplate: action.payload,\n };\n case UPDATE_TITLE:\n return {\n ...state,\n title: action.payload,\n };\n case UPDATE_DESCRIPTION:\n return {\n ...state,\n description: action.payload,\n };\n case UPDATE_TRANSACTOR:\n return {\n ...state,\n transactor: action.payload.transactor,\n data: action.payload.data,\n };\n case UPDATE_DATA:\n return {\n ...state,\n data: action.payload,\n };\n case GET_LIST_START:\n return {\n ...state,\n ui: {\n isLoading: true,\n },\n };\n case GET_LIST_DONE:\n return {\n ...state,\n title: action.payload.title,\n description: action.payload.description,\n isTemplate: action.payload.isTemplate,\n transactor: action.payload.transactor,\n data: action.payload.data,\n ui: {\n isLoading: false,\n },\n };\n case CREATE_LIST_START:\n return {\n ...state,\n ui: {\n isLoading: true,\n },\n };\n case CREATE_LIST_DONE:\n case CREATE_LIST_FAIL:\n return {\n ...state,\n ui: {\n isLoading: false,\n },\n };\n case RESET:\n return defaultState;\n default:\n return state;\n }\n}\n\nexport default builder;\n","import {\n SORT_BY_TYPES,\n FETCH_SMART_LISTS,\n RECEIVE_SMART_LISTS_DONE,\n DELETE_SMART_LIST,\n DELETE_SMART_LIST_DONE,\n} from '../constants';\n\nexport const defaultState = {\n smartLists: [],\n sortBy: SORT_BY_TYPES.NEWEST_TO_OLDEST,\n ui: {\n isLoadingSmartLists: true,\n isDeletingSmartList: false,\n },\n};\n\nfunction lookup(state = defaultState, { type, payload, sortBy }) {\n switch (type) {\n case FETCH_SMART_LISTS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingSmartLists: true,\n },\n };\n case RECEIVE_SMART_LISTS_DONE:\n return {\n ...state,\n smartLists: payload,\n sortBy: sortBy || defaultState.sortBy,\n ui: {\n ...state.ui,\n isLoadingSmartLists: false,\n },\n };\n case DELETE_SMART_LIST:\n return {\n ...state,\n ui: {\n ...state.ui,\n isDeletingSmartList: true,\n },\n };\n case DELETE_SMART_LIST_DONE:\n return {\n ...state,\n smartLists: state.smartLists.filter(({ id }) => id !== payload.id),\n ui: {\n ...state.ui,\n isDeletingSmartList: false,\n },\n };\n\n default:\n return state;\n }\n}\n\nexport default lookup;\n","import { combineReducers } from 'redux';\n\nimport builder from './builder';\nimport lookup from './lookup';\n\nexport default combineReducers({\n builder,\n lookup,\n});\n","import { combineReducers } from 'redux';\n\nimport customFields from 'redux/customFields/reducers';\n\nimport stakeholder from '../common/reducers';\n\nexport default combineReducers({ stakeholder, customFields });\n","import { combineReducers } from 'redux';\n\nimport stakeholderLookup from './Lookup/reducers';\nimport stakeholderProfile from './Profile/reducers';\nimport stakeholderMerge from './MergeTool/reducers';\nimport stakeholderSmartLists from './SmartLists/reducers';\nimport standalone from './standalone/reducers';\n\nexport default combineReducers({\n stakeholderLookup,\n stakeholderProfile,\n stakeholderMerge,\n stakeholderSmartLists,\n standalone,\n});\n","import constants from './constants';\n\nconst defaultState = {\n content: '',\n serviceTermId: '',\n termType: '',\n ui: {\n loading: false,\n acceptTermsLoading: false,\n },\n};\n\nexport default function (state = defaultState, { type, payload }) {\n switch (type) {\n case constants.LOAD_SERVICE_TERMS_STARTED:\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: true,\n },\n };\n case constants.LOAD_SERVICE_TERMS_FAIL:\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n case constants.LOAD_SERVICE_TERMS_DONE:\n return {\n ...state,\n content: payload.data.content,\n serviceTermId: payload.data.service_term_id,\n termType: payload.data.term_type,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n case constants.ACCEPT_SERVICE_TERMS_STARTED:\n return {\n ...state,\n ui: {\n ...state.ui,\n acceptTermsLoading: true,\n },\n };\n case constants.ACCEPT_SERVICE_TERMS_FAIL:\n case constants.ACCEPT_SERVICE_TERMS_DONE:\n return {\n ...state,\n ui: {\n ...state.ui,\n acceptTermsLoading: false,\n },\n };\n default:\n return state;\n }\n}\n","const defaultState = {\n errors: {},\n ui: {\n success: false,\n loading: false,\n },\n};\n\nexport default defaultState;\n","export default function ({ state }) {\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: true,\n },\n };\n}\n","export default function ({ state }) {\n return {\n ...state,\n ui: {\n ...state.ui,\n success: true,\n loading: false,\n },\n };\n}\n","export default function ({ action, state }) {\n const errors = {};\n const { responseJSON } = action.payload;\n\n Object.keys(responseJSON).forEach((name) => {\n const [errorMessage] = responseJSON[name];\n errors[name] = errorMessage;\n });\n\n return {\n ...state,\n errors,\n ui: {\n ...state.ui,\n loading: false,\n },\n };\n}\n","import {\n SUBMIT_LOBBY_ALERTS,\n SUBMIT_LOBBY_ALERTS_DONE,\n SUBMIT_LOBBY_ALERTS_ERROR,\n} from '../constants';\n\nimport defaultState from './defaultState';\nimport submitLobbyAlerts from './submitLobbyAlerts';\nimport submitLobbyAlertsDone from './submitLobbyAlertsDone';\nimport submitLobbyAlertsError from './submitLobbyAlertsError';\n\nexport default function (state = defaultState, action) {\n const actions = {\n [SUBMIT_LOBBY_ALERTS]: submitLobbyAlerts,\n [SUBMIT_LOBBY_ALERTS_DONE]: submitLobbyAlertsDone,\n [SUBMIT_LOBBY_ALERTS_ERROR]: submitLobbyAlertsError,\n };\n\n // eslint-disable-next-line no-prototype-builtins\n if (actions.hasOwnProperty(action.type)) {\n const {\n [action.type]: submitFunc,\n } = actions;\n\n return submitFunc({ action, state });\n }\n\n return state;\n}\n","import { DEFAULT_PER_PAGE } from '../constants';\n\nconst defaultState = {\n donors: [],\n pagination: {\n page: 1,\n count: 0,\n per_page: DEFAULT_PER_PAGE,\n total_pages: 0,\n },\n ui: {\n loading: false,\n noResultsFound: false,\n },\n searchData: {},\n};\n\nexport default defaultState;\n","export default function ({ action, state }) {\n return {\n ...state,\n donors: [],\n searchData: action.payload,\n ui: {\n ...state.ui,\n loading: true,\n noResultsFound: false,\n },\n };\n}\n","import { formatMoney } from 'utils/formatters';\n\nimport { DEFAULT_PER_PAGE } from '../constants';\n\nfunction transform(items) {\n return items.map(({ super_individual_donor: donor, receipt, super_committee_recipient: recipient }) => ({\n name: `${donor.first_name} ${donor.last_name}`,\n employer: donor.employer,\n occupation: donor.occupation,\n date: receipt.contribution_date,\n amount: `$${formatMoney(receipt.contribution_amount)}`,\n recipient: recipient.name,\n }));\n}\n\nexport default function ({ action, state }) {\n const { items, pagination } = action.payload;\n const { page_number, total_count } = pagination;\n\n return {\n ...state,\n donors: transform(items),\n pagination: {\n current: page_number,\n totalCount: total_count,\n perPage: DEFAULT_PER_PAGE,\n total: Math.ceil(total_count / DEFAULT_PER_PAGE),\n },\n ui: {\n ...state.ui,\n loading: false,\n noResultsFound: total_count === 0,\n },\n };\n}\n","export default function ({ state }) {\n return {\n ...state,\n ui: {\n ...state.ui,\n loading: false,\n noResultsFound: true,\n },\n };\n}\n","import {\n FETCH_DONORS,\n RECEIVE_DONORS,\n DONORS_NOT_FOUND,\n} from '../constants';\n\nimport defaultState from './defaultState';\nimport fetchDonors from './fetchDonors';\nimport receiveDonors from './receiveDonors';\nimport notFoundDonors from './notFoundDonors';\n\nexport default function (state = defaultState, action) {\n const actions = {\n [FETCH_DONORS]: fetchDonors,\n [RECEIVE_DONORS]: receiveDonors,\n [DONORS_NOT_FOUND]: notFoundDonors,\n };\n\n // eslint-disable-next-line no-prototype-builtins\n if (actions.hasOwnProperty(action.type)) {\n const {\n [action.type]: submitFunc,\n } = actions;\n\n return submitFunc({ action, state });\n }\n\n return state;\n}\n","import { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport { loadingUpdateItem, updateDataItem, updateDataItemArrayPayload } from 'utils/reducer';\n\nimport constants from './constants';\n\nconst DEFAULT_STATE = {\n defaultSubscription: NONE_ID,\n paginator: {},\n records: [],\n ui: {\n isLoading: true,\n isLoadingTags: true,\n isLoadingSubscriptions: true,\n isLoadingMyFeedDocuments: true,\n },\n};\n\nconst recordsKeyName = 'records';\n\nexport default function (state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_PUBLIC_RECORDS:\n return {\n ...state,\n paginator: state.paginator,\n ui: { ...state.ui, isLoading: true },\n };\n case constants.RECEIVE_PUBLIC_RECORDS_DONE:\n return {\n ...state,\n ...action.payload,\n ui: { ...state.ui, isLoading: false },\n };\n case constants.SET_PUBLIC_RECORDS:\n return {\n ...state,\n ...action.payload,\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, recordsKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, recordsKeyName),\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, recordsKeyName),\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, recordsKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n default:\n return state;\n }\n}\n","import { loadingUpdateItem, updateDataItem, updateDataItemArrayPayload } from 'utils/reducer';\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\n\nimport constants from './constants';\n\nexport const DEFAULT_STATE = {\n defaultSubscription: NONE_ID,\n allItems: [],\n paginator: {},\n sort: {},\n ui: {\n isLoading: true,\n isLoadingTags: true,\n isLoadingSubscriptions: true,\n isLoadingMyFeedDocuments: true,\n },\n};\n\nconst billsKeyName = 'allItems';\n\nexport default function (state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_BILLS:\n return {\n ...state,\n paginator: state.paginator,\n ui: { ...state.ui, isLoading: true },\n };\n case constants.RECEIVE_BILLS_DONE:\n return {\n ...state,\n ...action.payload,\n ui: { ...state.ui, isLoading: false },\n };\n case constants.SET_BILLS:\n return {\n ...state,\n ...action.payload,\n };\n case constants.FETCH_TAGS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billsKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingSubscriptions: true },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billsKeyName),\n ui: { ...state.ui, isLoadingSubscriptions: false },\n };\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, billsKeyName),\n };\n case constants.RECEIVE_DEFAULT_SUBSCRIPTION_DONE:\n return {\n ...state,\n defaultSubscription: action.payload,\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, billsKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n default:\n return state;\n }\n}\n","import constants from './constants';\n\nconst DEFAULT_STATE = {\n allItems: [],\n paginator: {},\n sort: {},\n ui: {\n isLoading: true,\n },\n};\n\nexport default function (state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_BILLS:\n return {\n ...state,\n paginator: state.paginator,\n ui: { isLoading: true },\n };\n case constants.RECEIVE_BILLS_DONE:\n return {\n ...state,\n ...action.payload,\n ui: { isLoading: false },\n };\n default:\n return state;\n }\n}\n","import constants from './constants';\n\nexport const DEFAULT_STATE = {\n staffers: [],\n paginator: {},\n sort: {},\n ui: {\n isLoading: true,\n },\n};\n\nexport default function (state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_STAFFERS:\n return {\n ...state,\n paginator: state.paginator,\n ui: { isLoading: true },\n };\n case constants.RECEIVE_STAFFERS_DONE:\n return {\n ...state,\n ...action.payload,\n ui: { isLoading: false },\n };\n default:\n return state;\n }\n}\n","import constants from './constants';\nimport { receiveSavedItem } from './transformers';\n\nexport const DEFAULT_STATE = {\n companyInfo: {},\n ui: {\n isLoading: false,\n isSavingContact: false,\n isResetingToken: false,\n isDeletingContact: false,\n isSavingCompany: false,\n },\n};\n\nexport default function manageOrganization(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_COMPANY_INFO:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoading: true,\n },\n };\n\n case constants.UPDATE_COMPANY_INFO:\n return {\n ...state,\n ui: {\n ...state.ui,\n isSavingCompany: true,\n },\n };\n\n case constants.UPDATE_COMPANY_INFO_DONE:\n return {\n ...state,\n companyInfo: action.payload,\n ui: {\n ...state.ui,\n isSavingCompany: false,\n },\n };\n\n case constants.RECEIVE_COMPANY_INFO_DONE:\n return {\n ...state,\n companyInfo: action.payload,\n ui: {\n ...state.ui,\n isLoading: false,\n },\n };\n\n case constants.UPDATE_COMPANY_INFO_ERROR:\n return {\n ...state,\n ui: {\n ...state.ui,\n isSavingCompany: false,\n },\n };\n\n case constants.SAVE_CONTACT:\n return {\n ...state,\n ui: {\n ...state.ui,\n isSavingContact: true,\n },\n };\n\n case constants.CONTACT_SAVED:\n return {\n ...state,\n companyInfo: receiveSavedItem({\n companyInfo: state.companyInfo,\n savedItem: action.payload,\n itemType: 'contacts',\n }),\n ui: {\n ...state.ui,\n isSavingContact: false,\n },\n };\n\n case constants.SAVE_CONTACT_FAILED:\n return {\n ...state,\n ui: {\n ...state.ui,\n isSavingContact: false,\n },\n };\n\n case constants.RESET_API_TOKEN:\n return {\n ...state,\n ui: {\n ...state.ui,\n isResetingToken: true,\n },\n };\n\n case constants.RESET_API_TOKEN_DONE:\n return {\n ...state,\n companyInfo: action.payload,\n ui: {\n ...state.ui,\n isResetingToken: false,\n },\n };\n\n case constants.DELETE_CONTACT:\n return {\n ...state,\n ui: {\n ...state.ui,\n isDeletingContact: true,\n },\n };\n\n case constants.DELETE_CONTACT_ERROR:\n return {\n ...state,\n ui: {\n ...state.ui,\n isDeletingContact: false,\n },\n };\n\n case constants.DELETE_CONTACT_DONE:\n return {\n ...state,\n companyInfo: {\n ...state.companyInfo,\n contacts: state.companyInfo.contacts.filter(\n ({ id }) => id !== action.contactId\n ),\n },\n ui: {\n ...state.ui,\n isDeletingContact: false,\n },\n };\n\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\n\nimport manageOrganization from './manageOrganization/reducers';\nimport individualAssetSet from './individualAssetSet/reducers';\nimport institutionalData from './institutionalData/reducers';\n\nexport default combineReducers({\n manageOrganization,\n institutionalData,\n individualAssetSet,\n});\n","import { combineReducers } from 'redux';\n\nimport { updateDataItemArrayPayload, updateDataItem, loadingUpdateItem } from 'utils/reducer';\nimport appliedSearchFilters from 'redux/appliedSearchFilters/reducers';\nimport advancedSearch from 'redux/advancedSearch/reducers';\n\nimport constants from './constants';\n\nconst defaultState = {\n data: [],\n paginator: {},\n ui: {\n isLoadingPosts: true,\n isLoadingTags: false,\n isLoadingMyFeedDocuments: false,\n },\n};\n\nconst feedLookupKeyName = 'data';\n\nfunction feed(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_POSTS:\n return {\n ...state,\n data: action.isInfinite ? state.data : [],\n ui: { ...state.ui, isLoadingPosts: true },\n };\n case constants.RECEIVE_POSTS_DONE:\n return {\n ...state,\n data: action.isInfinite ? [...state.data, ...action.payload] : action.payload,\n paginator: action.paginator,\n ui: { ...state.ui, isLoadingPosts: false },\n };\n case constants.RECEIVE_POSTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingPosts: false },\n };\n case constants.FETCH_TAGS:\n case constants.UPDATE_TAG_ITEM:\n return {\n ...state,\n ui: { ...state.ui, isLoadingTags: true },\n };\n case constants.RECEIVE_TAGS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, feedLookupKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.UPDATE_TAG_ITEM_DONE:\n return {\n ...updateDataItem(state, action, feedLookupKeyName),\n ui: { ...state.ui, isLoadingTags: false },\n };\n case constants.FETCH_MY_FEED_DOCUMENTS:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: true },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_DONE:\n return {\n ...updateDataItemArrayPayload(state, action, feedLookupKeyName),\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isLoadingMyFeedDocuments: false },\n };\n case constants.UPDATE_DATA_ITEM:\n return {\n ...loadingUpdateItem(state, action),\n ...updateDataItem(state, action, feedLookupKeyName),\n };\n case constants.BULK_SHARE_TO_MY_FEED_DONE:\n return updateDataItemArrayPayload(state, action, feedLookupKeyName);\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n feed,\n appliedSearchFilters,\n advancedSearch,\n});\n","import { combineReducers } from 'redux';\n\nimport feed from './feed/reducers';\n\nexport default combineReducers({\n feed,\n});\n","import { combineReducers } from 'redux';\n\nimport constants from './constants';\n\nexport const DEFAULT_STATE = {\n results: [],\n summaries: {},\n ui: {\n isLoading: false,\n isLoadingSummary: {},\n },\n pagination: {},\n};\n\nfunction lookup(state = DEFAULT_STATE, action) {\n switch (action.type) {\n case constants.FETCH_RESULTS:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoading: !action.isInfiniteLoad,\n isLoadingSummary: action.isInfiniteLoad ? state.ui.isLoadingSummary : {},\n },\n };\n case constants.RECEIVE_RESULTS_DONE:\n return {\n ...state,\n results: action.isInfiniteLoad ? [...state.results, ...action.payload.results] : action.payload.results,\n pagination: action.payload.pagination,\n ui: {\n ...state.ui,\n isLoading: false,\n },\n };\n case constants.RECEIVE_RESULTS_ERROR:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoading: false,\n },\n };\n case constants.FETCH_SUMMARY:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingSummary: {\n ...state.ui.isLoadingSummary,\n [action.recordType]: {\n ...state.ui.isLoadingSummary[action.recordType],\n [action.recordId]: true,\n },\n },\n },\n };\n case constants.RECEIVE_SUMMARY_DONE:\n return {\n ...state,\n summaries: {\n ...state.summaries,\n [action.recordType]: {\n ...state.summaries[action.recordType],\n [action.recordId]: action.payload,\n },\n },\n ui: {\n ...state.ui,\n isLoadingSummary: {\n ...state.ui.isLoadingSummary,\n [action.recordType]: {\n ...state.ui.isLoadingSummary[action.recordType],\n [action.recordId]: false,\n },\n },\n },\n };\n case constants.RECEIVE_SUMMARY_ERROR:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoadingSummary: {\n ...state.ui.isLoadingSummary,\n [action.recordType]: {\n ...state.ui.isLoadingSummary[action.recordType],\n [action.recordId]: false,\n },\n },\n },\n };\n default:\n return state;\n }\n}\n\nexport default combineReducers({\n lookup,\n});\n","import constants from './constants';\n\nexport const defaultState = {\n totalNotifications: 0,\n notifications: [],\n ui: {\n isClearingNotifications: false,\n },\n isNotificationsPanelOpen: false,\n};\n\nexport default function notifications(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_NOTIFICATIONS_DONE:\n return {\n ...state,\n ...action.payload,\n };\n case constants.CLEAR_NOTIFICATIONS:\n return {\n ...state,\n ui: { ...state.ui, isClearingNotifications: true },\n };\n case constants.CLEAR_NOTIFICATIONS_FAILURE:\n return {\n ...state,\n ui: { ...state.ui, isClearingNotifications: false },\n };\n case constants.RESET_NOTIFICATIONS:\n return defaultState;\n case constants.CLEAR_NOTIFICATIONS_DONE:\n return {\n ...defaultState,\n isNotificationsPanelOpen: state.isNotificationsPanelOpen,\n };\n case constants.TOGGLE_PANEL:\n return { ...state, isNotificationsPanelOpen: !state.isNotificationsPanelOpen };\n case constants.RESET_PANEL:\n return { ...state, isNotificationsPanelOpen: false };\n default:\n return state;\n }\n}\n","import { mergeSubscriptions } from './utils';\nimport constants from './utils/constants';\n\nexport const defaultState = {\n subscriptions: {},\n fetchedRecords: {},\n ui: {\n isLoading: false,\n },\n};\n\nfunction tracking(state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_SUBSCRIPTIONS:\n return {\n ...state,\n fetchedRecords: action.payload,\n ui: {\n ...state.ui,\n isLoading: true,\n },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_DONE:\n return {\n ...state,\n subscriptions: mergeSubscriptions(state.subscriptions, action.payload),\n ui: {\n ...state.ui,\n isLoading: false,\n },\n };\n case constants.RECEIVE_SUBSCRIPTIONS_ERROR:\n return {\n ...state,\n ui: {\n ...state.ui,\n isLoading: false,\n },\n };\n case constants.UPDATE_SUBSCRIPTION:\n return {\n ...state,\n subscriptions: {\n ...state.subscriptions,\n [action.recordType]: {\n ...state.subscriptions[action.recordType],\n [action.recordId]: {\n ...state.subscriptions[action.recordType][action.recordId],\n ...action.newSubscriptionData,\n },\n },\n },\n };\n default:\n return state;\n }\n}\n\nexport default tracking;\n","import thunk from 'redux-thunk';\nimport { reducer as form } from 'redux-form';\nimport { createStore, applyMiddleware, combineReducers, compose } from 'redux';\nimport onePageReport from './one-page-report';\nimport dashboardV2 from './dashboardV2';\nimport dashboardDiscoveryKeywordManager from './dashboard-discovery-keyword-manager';\nimport dashboardTrackingCenter from './dashboard-tracking-center';\nimport districtMaps from './district-maps';\nimport dismissibleAlert from './dismissibleAlert/reducers';\nimport documentView from './documentView/reducers';\nimport HillDayCalendarEventBuilder from './hill-day-calendar-event-builder';\nimport HillDayCalendarEventCalendar from './hill-day-calendar-event-calendar';\nimport actionCenterManager from './action-center-manager';\nimport grassrootsCampaigns from './grassroots-campaigns';\nimport grassrootsCampaignBuilder from './grassrootsCampaignBuilder/reducer';\nimport grassrootsSettings from './grassroots-settings';\nimport grassrootsReports from './grassrootsReports/reducer';\nimport grassrootsPortal from './grassrootsPortal/reducer';\nimport grm2 from './grm2/reducers';\nimport legislatorDistances from './legislator-distances';\nimport legislatorLookup from './legislator-lookup';\nimport royalFileUploader from './royal-file-uploader';\nimport selectAll from './select-all';\nimport stateLegWatchlist from './stateLegWatchlist/reducers';\nimport royalCosponsorsOracle from './royal-cosponsors-oracle';\nimport federal from './federal';\nimport state from './state';\nimport local from './local';\nimport moneyball from './moneyball';\nimport news from './news';\nimport rolodex from './rolodex';\nimport customFields from './customFields/reducers';\nimport fileUpload from './fileUpload/reducer';\nimport stakeholder from './stakeholder';\nimport serviceTerms from './service-terms/reducer';\nimport lobbyAlertsPortal from './lobbyAlertsPortal/reducer';\nimport donorLookupPortal from './donorLookupPortal/reducer';\nimport publicRecords from './publicRecords/reducers';\nimport bills from './bills/reducers';\nimport votingRecord from './votingRecord/reducers';\nimport committeesLookup from './state/committeesLookup/reducers';\nimport staffers from './staffers/reducers';\nimport organization from './organization';\nimport socialMedia from './socialMedia';\nimport globalSearch from './globalSearch/reducers';\nimport notifications from './notifications/reducers';\nimport tracking from './tracking/reducers';\n\n// Combine reducers\nconst reducers = combineReducers({\n dashboardV2,\n dashboardDiscoveryKeywordManager,\n dashboardTrackingCenter,\n districtMaps,\n dismissibleAlert,\n documentView,\n HillDayCalendarEventBuilder,\n HillDayCalendarEventCalendar,\n form,\n actionCenterManager,\n grassrootsCampaigns,\n grassrootsCampaignBuilder,\n grassrootsSettings,\n grassrootsReports,\n grassrootsPortal,\n grm2,\n legislatorDistances,\n legislatorLookup,\n onePageReport,\n royalFileUploader,\n royalCosponsorsOracle,\n selectAll,\n stateLegWatchlist,\n federal,\n state,\n local,\n moneyball,\n news,\n rolodex,\n customFields,\n fileUpload,\n stakeholder,\n serviceTerms,\n lobbyAlertsPortal,\n donorLookupPortal,\n committeesLookup,\n publicRecords,\n bills,\n votingRecord,\n staffers,\n organization,\n notifications,\n socialMedia,\n globalSearch,\n tracking,\n});\n\n// Define redux middlewares\nconst middlewares = [thunk];\nconst storeParams = [];\n\n// Log if we are in development mode\nif (gon.env === 'development') {\n /** Uncomment this when debug is needed */\n // middlewares.push(logger({ timestamp: false }));\n\n if (window.__REDUX_DEVTOOLS_EXTENSION__) {\n storeParams.push(window.__REDUX_DEVTOOLS_EXTENSION__());\n }\n}\n\nstoreParams.unshift(applyMiddleware(...middlewares));\n\n// Make store with middlewares\nconst makeStore = compose(\n ...storeParams,\n)(createStore);\n\nconst store = makeStore(reducers, {});\n\nexport const prepopulatedStore = prepopulatedState => makeStore(reducers, prepopulatedState);\n\nexport default store;\n","export const ADDED_TO_API_URL = 'state_regulation_document';\n\nexport const DOCUMENT_API_URL = '/api_web/state/regulations/profile';\nexport const REGULATION_DETAILS_API_URL = '/api_web/state/regulations/profile';\n\nconst PREFIX = 'STATE_REGULATION';\nexport const FULL_TEXT = 'full';\nexport const NOTICE_TEXT = 'notice';\n\nconst constants = {\n FETCH_DOCUMENT: `${PREFIX}/FETCH_DOCUMENT`,\n RECEIVE_DOCUMENT_DONE: `${PREFIX}/RECEIVE_DOCUMENT_DONE`,\n FETCH_REGULATION_DETAILS: `${PREFIX}/FETCH_REGULATION_DETAILS`,\n RECEIVE_REGULATION_DETAILS_DONE: `${PREFIX}/RECEIVE_REGULATION_DETAILS_DONE`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n RECEIVE_IS_SHARED_DONE: `${PREFIX}/RECEIVE_IS_SHARED_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'MONEYBALL_RECEIPT_LOOKUP';\n\nconst constants = {\n STRATEGY_SLUG: 'moneyball_receipt_lookup',\n FETCH_RECEIPTS: `${PREFIX}/FETCH_RECEIPTS`,\n RECEIVE_RECEIPTS_DONE: `${PREFIX}/RECEIVE_RECEIPTS_DONE`,\n FETCH_RECEIPT: `${PREFIX}/FETCH_RECEIPT`,\n RECEIVE_RECEIPT_DONE: `${PREFIX}/RECEIVE_RECEIPT_DONE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'MONEYBALL_PAC_RANKING';\n\nconst constants = {\n DATA_REQUEST: `${PREFIX}/DATA_REQUEST`,\n DATA_SUCCESS: `${PREFIX}/DATA_SUCCESS`,\n DATA_LOOKUP_REQUEST: `${PREFIX}/DATA_LOOKUP_REQUEST`,\n DATA_LOOKUP_SUCCESS: `${PREFIX}/DATA_LOOKUP_SUCCESS`,\n FILTERS_REQUEST: `${PREFIX}/FILTERS_REQUEST`,\n FILTERS_SUCCESS: `${PREFIX}/FILTERS_SUCCESS`,\n UPDATE_FILTERS: `${PREFIX}/UPDATE_FILTERS`,\n};\n\nexport default constants;\n","import moment from 'moment/moment';\n\nimport { TASK_FULL_DATE_FORMAT } from 'utils/constants/date';\nimport { formatTime, formatDateBy, formatDate } from 'utils/date';\n\nimport { transformTaskStatusForBE } from '../toBE';\n\nconst TASK_STATUS_TO_FE = {\n open: 'open',\n in_progress: 'inProgress',\n closed: 'closed',\n};\n\nexport const transformTaskStatusForFeed = (status) => {\n const transformedStatus = TASK_STATUS_TO_FE[status];\n\n !transformedStatus && window.Sentry.captureMessage(`Unknown status ${status} received from BE.`);\n\n return transformedStatus || TASK_STATUS_TO_FE.open;\n};\n\nexport const transformTaskForFeed = ({ assignee = {}, assigner = {}, ...task } = {}) => ({\n id: task.id,\n assignee: {\n id: assignee.id,\n fullName: assignee.full_name,\n photoUrl: assignee.profile_img_url,\n },\n assigner: {\n id: assigner.id,\n fullName: assigner.full_name,\n photoUrl: assigner.profile_img_url,\n },\n dueDateTime: task.due_datetime && formatDateBy(task.due_datetime, TASK_FULL_DATE_FORMAT),\n priority: task.priority,\n status: transformTaskStatusForFeed(task.status),\n});\n\nexport const transformTaskForEvent = ({ assignee = {}, assigner = {}, ...task } = {}) => ({\n id: task.id,\n assignee: {\n id: assignee.id,\n full_name: assignee.fullName,\n profile_img_url: assignee.photoUrl,\n },\n assigner: {\n id: assigner.id,\n full_name: assigner.fullName,\n profile_img_url: assigner.photoUrl,\n },\n due_datetime: task.dueDateTime && moment(task.dueDateTime, TASK_FULL_DATE_FORMAT).format(),\n priority: task.priority,\n status: transformTaskStatusForBE(task.status),\n});\n\nexport const transformTaskForForm = (task = { assignee: {} }) => ({\n assignee: {\n value: task.assignee.id,\n label: task.assignee.full_name,\n },\n status: transformTaskStatusForFeed(task.status),\n dueDate: task.due_datetime ? formatDate(moment(task.due_datetime)) : '',\n time: task.due_datetime ? formatTime(moment(task.due_datetime)) : '',\n priority: task.priority,\n});\n","import initialState from '../../initialState';\n\nexport const transformPaginationForFeed = (pagination = initialState.pagination) => ({\n currentPage: pagination.current_page,\n perPage: pagination.per_page,\n totalPages: pagination.total_pages,\n totalCount: pagination.total_count,\n});\n","import { isEmpty, reduce, every, filter, map, forEach } from 'lodash';\n\nexport const customFieldIsEmpty = answer => isEmpty(answer) || every(answer, isEmpty);\n\nexport const transformCustomFieldAnswersForFeed = (answers = {}, customFields = {}) => map(\n filter(\n customFields,\n ({ token }) => !customFieldIsEmpty(answers[token])\n ),\n ({ name, token }) => ({ token, label: name, value: answers[token] })\n);\n\nexport const transformCustomFieldAnswersForEvent = (answers = {}) => (\n reduce(answers, (result, { token, value }) => ({\n ...result,\n [token]: value,\n }), {})\n);\n\nexport const transformCustomFieldsForFeed = (customFields = {}) => map(\n customFields,\n ({ field_type, editable, created_at, ...restProps }) => ({\n ...restProps,\n fieldType: field_type,\n createdAt: created_at,\n isEditable: editable,\n action: {\n enabled: restProps.enabled,\n token: restProps.token,\n editable,\n },\n })\n);\n\nexport const transformCustomFieldAnswersForForm = (answers = {}, customFields = []) => {\n const enabledAnswers = {};\n forEach(customFields, ({ token }) => { enabledAnswers[token] = answers[token]; });\n return enabledAnswers;\n};\n","import moment from 'moment/moment';\nimport { isEmpty, map } from 'lodash';\n\nimport { GLOBAL_DATE_FORMAT, DAY_YEAR_DATE_FORMAT } from 'utils/constants/date';\nimport { formatDateBy, getDate, format } from 'utils/date';\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nimport {\n transformCardLinksForFeed,\n transformCardLinksForForm,\n transformCardLinksForEvent,\n} from './cardLinks';\nimport {\n transformCustomFieldAnswersForFeed,\n transformCustomFieldAnswersForForm,\n transformCustomFieldAnswersForEvent,\n} from './customFields';\nimport {\n transformTaskForFeed,\n transformTaskForEvent,\n transformTaskForForm,\n} from './tasks';\n\nexport const transformCardForFeed = (card = { user: {} }, customFields = {}) => ({\n id: card.id,\n title: card.title,\n creationDate: formatDateBy(card.created_at, DAY_YEAR_DATE_FORMAT),\n fullCreationDate: getDate(card.created_at),\n eventDate: card.date && formatDateBy(card.date, GLOBAL_DATE_FORMAT),\n interactionType: card.interaction_type,\n description: card.description,\n tags: map(card.tags, ({ id: value, name: label }) => ({ value, label })),\n user: {\n id: card.user.id,\n name: card.user.full_name,\n photo: card.user.profile_img_url,\n email: card.user.email,\n },\n createdBy: card.user.full_name,\n links: transformCardLinksForFeed(card.card_links),\n customFieldsAnswers: transformCustomFieldAnswersForFeed(card.custom_fields_answers, customFields),\n cardType: card.card_type,\n commentsCount: card.comments_and_replies_count || 0,\n uploads: card.uploads,\n disabled: !!card.disabled,\n task: card.task ? transformTaskForFeed(card.task) : {},\n documentType: DOCUMENT_TYPES.GRM_V2_CARD,\n});\n\n// back-end returns all custom_fields_answers, for both enabled and disabled fields\n// since customFields only include enabled fields,\n// we use it to filter only enabled CF answers, before passing them to form\nexport const transformCardForForm = (card = {}, customFields = {}) => {\n const taskFields = !isEmpty(card.task) ? transformTaskForForm(card.task) : {};\n\n return ({\n id: card.id,\n title: card.title,\n description: card.description,\n eventDate: card.date,\n tags: map(card.tags, ({ id: value, name: label }) => ({ value, label })),\n customFieldsAnswers: transformCustomFieldAnswersForForm(card.custom_fields_answers, customFields),\n uploads: card.uploads,\n interactionType: card.interaction_type,\n card_type: card.card_type,\n ...transformCardLinksForForm(card.card_links),\n ...taskFields,\n });\n};\n\nexport const transformCardForEvent = (card = { user: {} }) => ({\n card: {\n id: card.id,\n title: card.title,\n description: card.description,\n created_at: format(card.fullCreationDate),\n date: card.eventDate && format(moment(card.eventDate, GLOBAL_DATE_FORMAT)),\n tags: map(card.tags, ({ label, value }) => ({ id: value, name: label })),\n card_links: transformCardLinksForEvent(card.links),\n custom_fields_answers: transformCustomFieldAnswersForEvent(card.customFieldsAnswers),\n uploads: card.uploads,\n user: {\n id: card.user.id,\n email: card.user.email,\n full_name: card.user.name,\n profile_img_url: card.user.photo,\n },\n comments_and_replies_count: card.commentsCount,\n interaction_type: card.interactionType,\n card_type: card.cardType,\n disabled: !!card.disabled,\n task: !isEmpty(card.task) ? transformTaskForEvent(card.task) : null,\n },\n});\n\nexport const transformCardsForEvent = cards => map(\n cards,\n card => transformCardForEvent(card).card\n);\n","import { isEmpty, map, find, omitBy } from 'lodash';\n\nimport { INTERACTION_TYPES } from 'components/Grm2/constants';\n\nimport { transformTaskStatusForFeed } from './tasks';\n\nexport const transformFiltersFromAdvancedSearch = filters => omitBy({\n keywordLookup: filters.lookup_keyword,\n people: filters.people,\n bills: filters.bills,\n committees: filters.committees,\n regulations: filters.regulations,\n creator: filters.creator,\n assignee: filters.assignee,\n statusTypes: filters.statuses && map(filters.statuses, transformTaskStatusForFeed),\n priorityTypes: filters.priorities,\n dueDate: filters.due_date && {\n startDate: filters.due_date.from || null,\n endDate: filters.due_date.to || null,\n },\n activityTypes: filters.card_types,\n interactionTypes: map(filters.interaction_types, value => find(INTERACTION_TYPES, ['value', value])),\n tags: filters.tags,\n creationDate: filters.creation_date && {\n startDate: filters.creation_date.from || null,\n endDate: filters.creation_date.to || null,\n },\n eventDate: filters.event_date && {\n startDate: filters.event_date.from || null,\n endDate: filters.event_date.to || null,\n },\n attachments: filters.with_attachments === 'true',\n}, value => (!value && isEmpty(value)));\n","export {\n transformTaskStatusForFeed,\n transformTaskForFeed,\n transformTaskForEvent,\n transformTaskForForm,\n} from './tasks';\n\nexport { transformPaginationForFeed } from './pagination';\n\nexport {\n transformCardLinksForFeed,\n transformCardLinksForEvent,\n transformCardLinksForForm,\n} from './cardLinks';\n\nexport {\n customFieldIsEmpty,\n transformCustomFieldAnswersForFeed,\n transformCustomFieldAnswersForEvent,\n transformCustomFieldsForFeed,\n transformCustomFieldAnswersForForm,\n} from './customFields';\n\nexport {\n transformCardForFeed,\n transformCardForForm,\n transformCardForEvent,\n transformCardsForEvent,\n} from './cards';\n\nexport { transformFiltersFromAdvancedSearch } from './filters';\n","const PREFIX = 'FEDERAL_BILL_LOOKUP';\n\nconst constants = {\n STRATEGY_SLUG: 'rolodex_federal_agency_contact',\n STRATEGY_SLUG_FOR_EXPORT: 'rolodex_federal_agency_contacts',\n STRATEGY_SLUG_SINGLE_EXPORT: 'rolodex_federal_agency_contact',\n FETCH_AGENCY_STAFFERS: `${PREFIX}/FETCH_AGENCY_STAFFERS`,\n RECEIVE_AGENCY_STAFFERS_DONE: `${PREFIX}/RECEIVE_AGENCY_STAFFERS_DONE`,\n RESET_AGENCY_STAFFERS: `${PREFIX}/RESET_AGENCY_STAFFERS`,\n FETCH_AGENCY_STAFFERS_EMAILS: `${PREFIX}/FETCH_AGENCY_STAFFERS_EMAILS`,\n RECEIVE_AGENCY_STAFFERS_EMAILS_DONE: `${PREFIX}/RECEIVE_AGENCY_STAFFERS_EMAILS_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'STATE_STAFFERS';\n\nconst constants = {\n STRATEGY_SLUG: 'state_legislation_staffers',\n STRATEGY_SLUG_FOR_EXPORT: 'state_legislation_staffers',\n FETCH_STAFFERS: `${PREFIX}/FETCH_STAFFERS`,\n RECEIVE_STAFFERS_DONE: `${PREFIX}/RECEIVE_STAFFERS_DONE`,\n FETCH_STAFFERS_EMAILS: `${PREFIX}/FETCH_STAFFERS_EMAILS`,\n RECEIVE_STAFFERS_EMAILS_DONE: `${PREFIX}/RECEIVE_STAFFERS_EMAILS_DONE`,\n RESET_STAFFERS: `${PREFIX}/RESET_STAFFERS`,\n};\n\nexport default constants;\n","const keyword = 'DASHBOARD_HEARING_CALENDAR';\n\nconst constants = {\n FETCH_EVENTS: `${keyword}/FETCH_EVENTS`,\n FETCH_EVENTS_SUCCESS: `${keyword}/FETCH_EVENTS_SUCCESS`,\n FETCH_EVENTS_FAILURE: `${keyword}/FETCH_EVENTS_FAILURE`,\n CHECK_EVENTS: `${keyword}/CHECK_EVENTS`,\n SELECT_CALENDAR_DATE: `${keyword}/SELECT_CALENDAR_DATE`,\n FILTER_EVENTS: `${keyword}/FILTER_EVENTS`,\n SET_MONTHS_AHEAD: `${keyword}/SET_MONTHS_AHEAD`,\n};\n\nexport default constants;\n","const prefix = 'INDIVIDUAL_ASSET_SET';\n\nexport default {\n FETCH_INDIVIDUAL_ASSET_SET: `${prefix}/FETCH_INDIVIDUAL_ASSET_SET`,\n FETCH_MULTIPLE_INDIVIDUAL_ASSET_SETS: `${prefix}/FETCH_MULTIPLE_INDIVIDUAL_ASSET_SETS`,\n RECEIVE_INDIVIDUAL_ASSET_SET_DONE: `${prefix}/RECEIVE_INDIVIDUAL_ASSET_SET_DONE`,\n RECEIVE_INDIVIDUAL_ASSET_SET_FAIL: `${prefix}/RECEIVE_INDIVIDUAL_ASSET_SET_FAIL`,\n RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_DONE: `${prefix}/RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_DONE`,\n RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_FAIL: `${prefix}/RECEIVE_MULTIPLE_INDIVIDUAL_ASSET_SETS_FAIL`,\n SEARCH_INDIVIDUAL_ASSET_SET: `${prefix}/SEARCH_INDIVIDUAL_ASSET_SET`,\n RESET_INDIVIDUAL_ASSET_SET: `${prefix}/RESET_INDIVIDUAL_ASSET_SET`,\n};\n","import includes from 'lodash/includes';\n\nimport constants, { DEFAULT_PER_PAGE, STRATEGY_SLUGS_WITHOUT_LAST_SEARCH_ID } from './constants';\nimport { transformSavedSearchPaginator } from './utils';\n\nconst defaultTransformer = data => data;\nconst genericUrl = '/api_web/advanced_search/searches';\n\nexport function loadSavedSearches(\n params,\n transformer = defaultTransformer,\n url = genericUrl\n) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_SAVED_SEARCHES_DATA });\n\n const data = {\n ...params,\n per_page: DEFAULT_PER_PAGE,\n saved: true,\n };\n\n const ajax = $.get(url, data);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_SAVED_SEARCHES_DATA_DONE,\n payload: transformer(response.data),\n paginator: transformSavedSearchPaginator(response.pagination),\n }));\n };\n}\n\nexport function loadRecentSearches(\n params,\n transformer = defaultTransformer,\n url = genericUrl\n) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_RECENT_SEARCHES_DATA });\n\n const data = {\n ...params,\n page: 1,\n per_page: DEFAULT_PER_PAGE,\n saved: false,\n };\n\n const ajax = $.get(url, data);\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.RECEIVE_RECENT_SEARCHES_DATA_DONE,\n payload: transformer(response.data),\n }));\n };\n}\n\nexport function onSaveRecentItem(data, onSuccess, url = genericUrl) {\n return (dispatch) => {\n const { advanced_search } = data;\n const { strategy_slug } = advanced_search;\n const skipSaveLastSearchId = includes(STRATEGY_SLUGS_WITHOUT_LAST_SEARCH_ID, strategy_slug);\n\n !skipSaveLastSearchId && dispatch({ type: constants.SAVE_RECENT_SEARCH_ITEM });\n\n const updateLastSearchId = (response) => {\n if (skipSaveLastSearchId) return;\n\n dispatch({\n type: constants.SAVE_RECENT_SEARCH_ITEM_DONE,\n payload: response,\n });\n };\n\n const ajax = $.ajax({\n url,\n type: 'POST',\n contentType: 'application/json',\n data: JSON.stringify(data),\n });\n\n return Promise.resolve(ajax)\n .then(updateLastSearchId)\n .then(() => {\n if (typeof onSuccess === 'function') {\n dispatch(onSuccess());\n }\n });\n };\n}\n\nexport function onSaveItem(data = {}, onSuccess, url = genericUrl) {\n return (dispatch) => {\n dispatch({ type: constants.SAVE_SEARCH_ITEM });\n\n const { id } = data;\n const finalUrl = `${url}/${id}`;\n const ajax = $.ajax({\n url: finalUrl,\n data,\n type: 'PUT',\n });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.SAVE_SEARCH_ITEM_DONE,\n payload: response,\n }))\n .then(() => {\n if (typeof onSuccess === 'function') {\n dispatch(onSuccess());\n }\n });\n };\n}\n\nexport function onRemoveItem(id, onSuccess, url = genericUrl) {\n return (dispatch) => {\n dispatch({ type: constants.REMOVE_SEARCH_ITEM });\n\n const finalUrl = `${url}/${id}`;\n const ajax = $.ajax({\n url: finalUrl,\n type: 'DELETE',\n });\n\n return Promise.resolve(ajax)\n .then(response => dispatch({\n type: constants.REMOVE_SEARCH_ITEM_DONE,\n payload: response,\n }))\n .then(() => {\n if (typeof onSuccess === 'function') {\n dispatch(onSuccess());\n }\n });\n };\n}\n\nexport function setLastSearchId(lastSearchId = undefined) {\n return (dispatch) => {\n dispatch({\n type: constants.SET_LAST_SEARCH_ID,\n payload: lastSearchId,\n });\n };\n}\n","import isEmpty from 'lodash/isEmpty';\nimport { transformSort, transformPaginator } from 'redux/moneyball/utils';\nimport { getValue } from 'utils/transformers/advancedSearch';\nimport { isMoneyballContributionsEnabled } from 'components/core/Moneyball/utils';\nimport { hasRequiredInfo } from 'components/Stakeholder/Profile/components/Contributions/utils';\n\nexport function transformStakeholderToBE({\n firstName,\n lastName,\n middleName,\n facebookProfile,\n twitterName,\n partyCode,\n customFields,\n districts,\n ...restProps\n}) {\n const {\n congressional,\n stateUpper,\n stateLower,\n } = districts || {};\n\n return {\n ...restProps,\n ...getValue('first_name', firstName),\n ...getValue('last_name', lastName),\n ...getValue('facebook_profile', facebookProfile),\n ...getValue('middle_name', middleName),\n ...getValue('party_code', partyCode),\n ...getValue('twitter_username', twitterName),\n ...getValue('custom_fields', customFields),\n ...(!isEmpty(districts) && {\n districts: {\n congressional,\n state_upper: stateUpper,\n state_lower: stateLower,\n },\n }),\n };\n}\n\nexport function transformMoneyballSort(props) {\n return transformSort(props);\n}\n\nexport function transformMoneyballPaginator(data) {\n return transformPaginator(data);\n}\n\nexport function transformMatchingIndividuals(individuals) {\n return individuals.map(({ confidence, super_individual }) => ({\n id: super_individual.id,\n confidence,\n }));\n}\n\nexport function isMoneyballPermitted(stakeholderProfile) {\n const { isMoneyballEnabled } = gon || { isMoneyballEnabled: false };\n\n return (isMoneyballEnabled && isMoneyballContributionsEnabled && hasRequiredInfo(stakeholderProfile));\n}\n\nexport const transformMoneyballAddress = ({ street: street_1, city, state, zip }) => ({\n state_code: state || '',\n zip_code: zip || '',\n street_1,\n city,\n});\n\nexport function getTransformedAddresses(addresses) {\n if (isEmpty(addresses)) {\n return [];\n }\n\n return addresses.map(transformMoneyballAddress);\n}\n","import { isEmpty, map, reduce, groupBy, flatMap } from 'lodash';\n\nimport { getMyFeed } from 'components/Dashboard/utils';\n\nexport function transformSubscription(payload = {}) {\n const {\n id,\n token,\n frequency,\n is_saved,\n priority,\n title,\n subscribable_type,\n subscribable_data: subscribableData,\n is_disabled,\n } = payload;\n const { send_week_ahead_email } = subscribableData || {};\n\n return ({\n id,\n token,\n frequency,\n isSaved: is_saved,\n priority,\n title,\n subscribableType: subscribable_type,\n subscribableData,\n isDisabled: is_disabled,\n sendWeekAheadEmail: send_week_ahead_email,\n isTracking: !isEmpty(frequency),\n });\n}\n\nexport const transformTracking = ({ feed, subscription }) => ({\n feed,\n subscription: transformSubscription(subscription),\n});\n\nexport function transformSubscriptions(data = [], documentType) {\n const subscriptionsByRecord = groupBy(data, 'record_id');\n\n return reduce(subscriptionsByRecord, (acc, recordTrackings, key) => {\n acc.push({\n recordId: key,\n documentType,\n trackings: map(\n recordTrackings,\n transformTracking,\n ),\n });\n\n return acc;\n }, []);\n}\n\nexport function reduceSubscriptions(data) {\n return reduce(data, (accumulator, item) => {\n const { record_type, subscriptions } = item;\n const subscription = transformSubscriptions(subscriptions, record_type);\n\n accumulator.push(...subscription);\n\n return accumulator;\n }, []);\n}\n\nexport function transformCommitteeTrackings(data) {\n const trackingsByFeed = groupBy(data, 'feed.token');\n\n return reduce(trackingsByFeed, (acc, trackings) => {\n const [tracking] = trackings;\n\n acc.push({\n feed: tracking.feed,\n subscriptions: map(trackings, 'subscription'),\n });\n\n return acc;\n }, []);\n}\n\nexport function transformCommitteeSubscriptions(data = [], documentType) {\n const allSubscriptions = reduceSubscriptions(data);\n\n return map(groupBy(allSubscriptions, 'recordId'), (value, recordId) => {\n const trackings = flatMap(value, 'trackings');\n\n return {\n recordId,\n documentType,\n trackings: transformCommitteeTrackings(trackings),\n };\n });\n}\n\nexport function transformCommitteeProfileSubscriptions(data = []) {\n const allSubscriptions = reduceSubscriptions(data);\n const trackings = flatMap(allSubscriptions, 'trackings');\n\n return transformCommitteeTrackings(trackings);\n}\n\nexport function transformSharedDocuments(data = [], documentType) {\n return map(data, ({ subscribable_data }) => {\n const { model_id: recordId } = subscribable_data || {};\n\n return {\n recordId,\n documentType,\n sharings: [getMyFeed()], // TODO: adjust once we have share to workspaces\n };\n });\n}\n","const PREFIX = 'MONEYBALL_DISBURSEMENT_LOOKUP';\n\nconst constants = {\n STRATEGY_SLUG: 'moneyball_disbursement_lookup',\n FETCH_DISBURSEMENTS: `${PREFIX}/FETCH_DISBURSEMENTS`,\n RECEIVE_DISBURSEMENTS_DONE: `${PREFIX}/RECEIVE_DISBURSEMENTS_DONE`,\n FETCH_DISBURSEMENTS_RECEIPT: `${PREFIX}/FETCH_DISBURSEMENTS_RECEIPT`,\n RECEIVE_DISBURSEMENTS_RECEIPT_DONE: `${PREFIX}/RECEIVE_DISBURSEMENTS_RECEIPT_DONE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n\nexport default constants;\n","const constants = {\n UPLOAD_FILES: 'ROYAL_FILE_UPLOADER/UPLOAD_FILES',\n COMPLETE_UPLOADS: 'ROYAL_FILE_UPLOADER/COMPLETE_UPLOADS',\n RECEIVE_ERRORS: 'ROYAL_FILE_UPLOADER/RECEIVE_ERRORS',\n FETCH_FILES: 'ROYAL_FILE_UPLOADER/FETCH_FILES',\n RECEIVE_FILES: 'ROYAL_FILE_UPLOADER/RECEIVE_FILES',\n DELETE_FILES: 'ROYAL_FILE_UPLOADER/DELETE_FILES',\n DELETE_FILE: 'ROYAL_FILE_UPLOADER/DELETE_FILE',\n};\n\nexport function uploadFiles(payload) {\n return (dispatch) => {\n dispatch({ type: constants.UPLOAD_FILES, payload });\n\n const url = '/api_web/file_uploads';\n const method = 'POST';\n\n const asyncRequests = payload.files.map(async (file) => {\n const data = new FormData();\n data.append('file', file);\n data.append('strategy_slug', payload.strategySlug);\n data.append('required_inputs', JSON.stringify(payload.requiredInputs));\n\n const ajax = await $.ajax({\n data,\n method,\n url,\n cache: false,\n contentType: false,\n processData: false,\n });\n\n return { ...ajax, name: file.name };\n });\n\n return Promise.all(asyncRequests).then(files =>\n dispatch({ type: constants.COMPLETE_UPLOADS, payload: files })\n ).catch(errors =>\n dispatch({ type: constants.RECEIVE_ERRORS, payload: errors.responseJSON })\n );\n };\n}\n\nexport function fetchFiles(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_FILES, payload });\n\n const method = 'GET';\n const cleanFileIds = payload.fileUploadIds.filter(fileUploadId => !!fileUploadId);\n\n const asyncRequests = cleanFileIds.map((fileUploadId) => {\n const url = `/api_web/file_uploads/${fileUploadId}`;\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax);\n });\n\n return Promise.all(asyncRequests).then(files =>\n dispatch({ type: constants.RECEIVE_FILES, payload: files })\n ).catch(errors =>\n dispatch({ type: constants.RECEIVE_ERRORS, payload: errors.responseJSON })\n );\n };\n}\n\nexport function deleteFiles(payload) {\n return { type: constants.DELETE_FILES, payload };\n}\n\nexport function deleteFile(payload) {\n return { type: constants.DELETE_FILE, payload };\n}\n\n\nexport const defaultState = {\n files: [],\n fileErrors: [],\n ui: {\n uploadingFiles: false,\n loadingFiles: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.UPLOAD_FILES:\n return {\n ...state,\n ui: { ...state.ui, uploadingFiles: true },\n files: [],\n fileErrors: [],\n };\n case constants.COMPLETE_UPLOADS:\n return {\n ...state,\n ui: { ...state.ui, uploadingFiles: false },\n files: action.payload,\n fileErrors: [],\n };\n case constants.RECEIVE_ERRORS:\n return {\n ...state,\n ui: { ...state.ui, uploadingFiles: false },\n files: [],\n fileErrors: action.payload.file,\n };\n case constants.FETCH_FILES:\n return {\n ...state,\n ui: { ...state.ui, loadingFiles: true },\n files: [],\n fileErrors: [],\n };\n case constants.RECEIVE_FILES:\n return {\n ...state,\n ui: { ...state.ui, loadingFiles: false },\n files: action.payload,\n };\n case constants.DELETE_FILES:\n return {\n ...state,\n ui: { ...state.ui, uploadingFiles: false },\n files: [],\n };\n case constants.DELETE_FILE:\n return {\n ...state,\n files: state.files.filter(file => file.id !== action.payload),\n };\n default:\n return state;\n }\n}\n","export function transformTrackedItemForBE(payload) {\n const {\n frequency,\n isSaved,\n priority,\n modelId,\n token,\n sendWeekAheadEmail,\n withWeekAheadEmail,\n } = payload || {};\n\n return {\n frequency,\n priority,\n is_saved: isSaved,\n token: modelId || token,\n ...(withWeekAheadEmail && { send_week_ahead_email: sendWeekAheadEmail }),\n };\n}\n","import { BASE_FEEDS_URL } from 'redux/dashboardV2/constants';\nimport { postJson } from 'utils/api';\nimport { getSubscriptionUrlWithId } from 'redux/dashboardV2/common/subscriptions/utils/url';\nimport { transformTrackItemsForBE } from 'redux/dashboardV2/trackItems/utils';\nimport { getMyFeedToken } from 'components/Dashboard/utils';\n\nimport { transformTrackedItemForBE } from './transformers';\n\nexport const fetchTrackedItem = (feedToken, subscription = {}) => {\n const url = getSubscriptionUrlWithId(feedToken, subscription);\n const ajax = $.get(url);\n\n return Promise.resolve(ajax);\n};\n\nexport const fetchTrackedItems = (feedToken, searchForm) => {\n const url = `${BASE_FEEDS_URL}/${feedToken}/trackings/lookup`;\n const requestData = { search_form: searchForm };\n\n const ajax = $.post(url, requestData);\n\n return Promise.resolve(ajax);\n};\n\nexport const fetchTrackingsBulk = (data, feedToken) => {\n const url = `${BASE_FEEDS_URL}/subscriptions/trackings/lookup`;\n const requestData = { search_form: data, feed_token: feedToken };\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n};\n\nexport const createCommitteeTracking = ({ feedToken, hearingData, stafferData, isFederal }) => {\n const { modelId: tokenHearing } = hearingData || {};\n const { modelId: tokenStaffer } = stafferData || {};\n const id = tokenHearing || tokenStaffer;\n\n const hearingOutput = transformTrackedItemForBE(hearingData);\n const stafferOutput = transformTrackedItemForBE(stafferData);\n const committeeHearingData = hearingData && hearingOutput;\n const committeeStafferData = stafferData && stafferOutput;\n\n const trackingType = isFederal ? 'federal_committees' : 'state_committees';\n const url = `${BASE_FEEDS_URL}/${feedToken}/subscriptions/trackings/${trackingType}`;\n const requestData = {\n token: id,\n ...(isFederal && {\n federal_committee_hearing: committeeHearingData,\n federal_committee_staffer: committeeStafferData,\n }),\n ...(!isFederal && {\n state_committee_hearing: committeeHearingData,\n state_committee_staffer: committeeStafferData,\n }),\n };\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n};\n\nexport const bulkTrackItems = (data, customFeedToken) => {\n const feedToken = customFeedToken || getMyFeedToken();\n\n const url = `${BASE_FEEDS_URL}/${feedToken}/subscriptions/trackings/bulk`;\n const requestData = transformTrackItemsForBE(data, feedToken);\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n};\n","const PREFIX = 'DISMISSIBLE_ALERT';\n\nconst constants = {\n FETCH_ALERT: `${PREFIX}/FETCH_ALERT`,\n FETCH_ALERT_DONE: `${PREFIX}/FETCH_ALERT_DONE`,\n FETCH_ALERT_FAILURE: `${PREFIX}/FETCH_ALERT_FAILURE`,\n DISMISS_ALERT: `${PREFIX}/DISMISS_ALERT`,\n DISMISS_ALERT_DONE: `${PREFIX}/DISMISS_ALERT_DONE`,\n DISMISS_ALERT_FAILURE: `${PREFIX}/DISMISS_ALERT_FAILURE`,\n RESET_ALERT: `${PREFIX}/RESET_ALERT`,\n};\n\nexport default constants;\n","import { snakeCase, startCase, camelCase, isEmpty, compact } from 'lodash';\nimport { getLabelFromItem, transformSelectValues } from 'utils/transformers/advancedSearch';\nimport { LOCATION_TYPES } from 'utils/constants/locationTypes';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\n\nfunction transformKeysToCase(object, transformedObject, caseTransformer = startCase, transformer = data => data) {\n object && Object.keys(object).forEach(key => (\n Object.assign(transformedObject, {\n [caseTransformer(key)]: transformer(object[key]) || [],\n })\n ));\n}\n\nexport function transformKeysToSnakeCase(object, transformedObject) {\n transformKeysToCase(object, transformedObject, snakeCase, transformSelectValues);\n}\n\nexport function transformKeysToCamelCase(object = {}, transformedObject) {\n transformKeysToCase(object, transformedObject, camelCase);\n}\n\nexport function transformObjectToArray(object, keyName) {\n const array = Object.keys(object).map((key) => {\n if (isEmpty(object[key])) {\n return null;\n }\n\n return {\n id: object[key],\n [keyName]: key,\n };\n });\n\n return compact(array);\n}\n\nexport function transformObjectToCamelCase(object) {\n if (isEmpty(object)) {\n return [];\n }\n\n return Object.keys(object).map(\n key => ({\n ...getDisplayItem(startCase(key),\n getLabelFromItem(object[key] || [])),\n })\n );\n}\n\nexport function transformToCamelCase(array) {\n if (isEmpty(array)) {\n return [];\n }\n\n return array.map(item => camelCase(item));\n}\n\nexport function transformSelectLocationValues(items = []) {\n return items.map(({ label, value, filters }) => ({ label, value, ...filters }));\n}\n\nexport function getLocationRadius(radius, items, type) {\n const withRadius = type === LOCATION_TYPES.cities || type === LOCATION_TYPES.zipCodes;\n\n if (isEmpty(items) || !withRadius) {\n return null;\n }\n\n return radius;\n}\n\nexport function getLocationType(params = {}) {\n const { locations = [] } = params;\n const filter = locations.find(filters => Boolean(filters));\n\n if (isEmpty(filter)) {\n return LOCATION_TYPES.none;\n }\n\n if (filter.city) {\n return LOCATION_TYPES.cities;\n }\n\n if (filter.zip) {\n return LOCATION_TYPES.zipCodes;\n }\n\n if (filter.state_code) {\n return LOCATION_TYPES.states;\n }\n\n return LOCATION_TYPES.countries;\n}\n\nexport function formatLocationFilters(filter) {\n const { label, value } = filter;\n\n return {\n label,\n value,\n filters: filter,\n };\n}\n\nexport function getLocations(params = {}) {\n const { locations = [] } = params;\n\n return locations.map(formatLocationFilters);\n}\n\nexport function getLocationLabel(data = []) {\n return data\n .map(({ city, state_code, zip, country }) => compact([city, state_code, zip, country]).join(', '))\n .join('; ');\n}\n\nexport function getLocationLabelsForRecentSearches(params = {}) {\n const { primaryAddressOnly, locationRadius, locations } = params;\n\n const primaryAddressFlag = primaryAddressOnly ? ' (Primary)' : '';\n const locationRadiusFlag = Number(locationRadius) > 0 ? ` (Radius: ${locationRadius} mi)` : '';\n const formattedAddress = getLocationLabel(locations);\n\n if (isEmpty(formattedAddress)) {\n return null;\n }\n\n return `[${formattedAddress};]${primaryAddressFlag}${locationRadiusFlag}`;\n}\n\nexport function getLabelFromBoolean(booleanValue) {\n if (booleanValue === true) {\n return 'Yes';\n }\n\n if (booleanValue === false) {\n return 'No';\n }\n\n return undefined;\n}\n","import { compact, isEmpty, snakeCase } from 'lodash';\n\nimport { valueOrNull } from 'utils/forms/valueOrEmpty';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\n\nimport {\n getValue,\n transformSelectValues,\n getLabelFromItem,\n getDateLabel,\n} from 'utils/transformers/advancedSearch';\nimport {\n getLocationLabelsForRecentSearches,\n getLocationRadius,\n getLocations,\n getLocationType,\n transformSelectLocationValues,\n getLabelFromBoolean,\n} from './index';\n\n/** Stakeholders data object structure\n* {\n * id,\n * first_name,\n * last_name,\n * middle_name,\n * email,\n * address,\n * organization,\n * party_code,\n * phone,\n * tags,\n * lists,\n * custom_fields,\n * facebook_profile,\n * twitter_username,\n* }\n*/\n\nconst STAKEHOLDER_BASE_URL = gon.isAdvocatesEnabled\n ? '/advocates/'\n : '/stakeholder_management/stakeholder/';\n\nexport function transformStakeholdersForUI(stakeholders = []) {\n return stakeholders.map(({\n id,\n ...restProps\n }) => ({\n ...restProps,\n id,\n url: `${STAKEHOLDER_BASE_URL}${id}`,\n }));\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n organization,\n smartLists,\n lists,\n tags,\n creationDate,\n title,\n districts,\n districtType,\n locations,\n locationType,\n isPrimaryLocation,\n locationRadius,\n emailOptedInOnly,\n smsOptedInOnly,\n } = options || {};\n\n const primaryAddressOnly = !isEmpty(locations) && isPrimaryLocation;\n\n return {\n ...getValue('term', searchValue),\n ...getValue('smart_lists_ids', transformSelectValues(smartLists)),\n ...getValue('lists', transformSelectValues(lists)),\n ...getValue('tags', transformSelectValues(tags)),\n ...getValue('organization', transformSelectValues(organization)),\n ...getValue('title', transformSelectValues(title)),\n ...getValue(snakeCase(districtType), transformSelectValues(districts)),\n ...getValue('starts_at', creationDate && creationDate.start),\n ...getValue('ends_at', creationDate && creationDate.end),\n ...getValue('locations', transformSelectLocationValues(locations)),\n ...getValue('primary_address_only', primaryAddressOnly),\n ...getValue('zip_codes_radius', getLocationRadius(locationRadius, locations, locationType)),\n ...getValue('email_opted_in_only', emailOptedInOnly),\n ...getValue('sms_opted_in_only', smsOptedInOnly),\n };\n}\n\nfunction transformOptionsForUI(data = {}) {\n const { id, search_params: searchParams } = data;\n const {\n term,\n organization,\n title,\n smart_lists_ids,\n lists,\n tags,\n starts_at,\n ends_at,\n congressional_districts,\n state_upper_districts,\n state_lower_districts,\n zip_codes_radius,\n primary_address_only,\n email_opted_in_only,\n sms_opted_in_only,\n } = searchParams || {};\n\n const districts = {\n congressionalDistricts: congressional_districts,\n stateUpperDistricts: state_upper_districts,\n stateLowerDistricts: state_lower_districts,\n };\n\n const districtValues = [].concat(\n ...Object\n .values(districts)\n .filter(district => !isEmpty(district))\n );\n\n const districtType = Object.keys(districts)\n .filter(district => !isEmpty(districts[district]))[0] || 'none';\n\n const creationDate = { start: valueOrNull(starts_at), end: valueOrNull(ends_at) };\n\n return {\n id,\n options: {\n ...getValue('searchValue', term),\n ...getValue('smartLists', smart_lists_ids),\n ...getValue('lists', lists),\n ...getValue('tags', tags),\n ...getValue('organization', organization),\n ...getValue('title', title),\n ...getValue('districts', districtValues),\n ...getValue('districtType', districtType),\n ...getValue('creationDate', creationDate),\n ...getValue('locationRadius', zip_codes_radius),\n ...getValue('isPrimaryLocation', primary_address_only),\n ...getValue('locationType', getLocationType(searchParams)),\n ...getValue('locations', getLocations(searchParams)),\n ...getValue('emailOptedInOnly', email_opted_in_only),\n ...getValue('smsOptedInOnly', sms_opted_in_only),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}) {\n const { name, search_params: searchParams } = data;\n const {\n term,\n smart_lists_ids,\n lists,\n tags,\n organization,\n starts_at,\n ends_at,\n congressional_districts,\n state_upper_districts,\n state_lower_districts,\n title,\n locations,\n zip_codes_radius,\n primary_address_only,\n email_opted_in_only,\n sms_opted_in_only,\n } = searchParams || {};\n\n const locationParams = {\n locations,\n primaryAddressOnly: primary_address_only,\n locationRadius: zip_codes_radius,\n };\n\n const filters = [\n getDisplayItem('Searched', term),\n getDisplayItem('Smart List', getLabelFromItem(smart_lists_ids)),\n getDisplayItem('List', getLabelFromItem(lists)),\n getDisplayItem('Tag', getLabelFromItem(tags)),\n getDisplayItem('Organization', getLabelFromItem(organization)),\n getDisplayItem('Title', getLabelFromItem(title)),\n getDisplayItem('Congressional Districts', getLabelFromItem(congressional_districts)),\n getDisplayItem('State Upper Districts', getLabelFromItem(state_upper_districts)),\n getDisplayItem('State Lower Districts', getLabelFromItem(state_lower_districts)),\n getDisplayItem('Date created', getDateLabel(starts_at, ends_at)),\n getDisplayItem('Location', getLocationLabelsForRecentSearches(locationParams)),\n getDisplayItem('Limit to email-eligible stakeholders', getLabelFromBoolean(email_opted_in_only)),\n getDisplayItem('Limit to text-eligible stakeholders', getLabelFromBoolean(sms_opted_in_only)),\n ];\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformSearchesForUI(data) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item),\n ...transformOptionsForUI(item),\n }));\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue = '' } = data;\n const {\n organization,\n smartLists,\n lists,\n tags,\n creationDate,\n districts,\n districtType,\n title,\n locations,\n isPrimaryLocation,\n locationRadius,\n } = data.options || {};\n\n return {\n 'strategy_inputs[term]': searchValue,\n 'strategy_inputs[organization]': transformSelectValues(organization),\n 'strategy_inputs[title]': transformSelectValues(title),\n 'strategy_inputs[smart_lists_ids]': transformSelectValues(smartLists),\n 'strategy_inputs[lists]': transformSelectValues(lists),\n 'strategy_inputs[tags]': transformSelectValues(tags),\n [`strategy_inputs[${snakeCase(districtType)}]`]: transformSelectValues(districts),\n 'strategy_inputs[starts_at]': creationDate && creationDate.start,\n 'strategy_inputs[ends_at]': creationDate && creationDate.end,\n 'strategy_inputs[locations]': transformSelectLocationValues(locations),\n 'strategy_inputs[zip_codes_radius]': locationRadius,\n 'strategy_inputs[primary_address_only]': isPrimaryLocation,\n };\n}\n","export const SPONSOR_NODE = 'SPONSOR_NODE';\nexport const HEARING_NODE = 'HEARING_NODE';\nexport const LINK_NODE = 'LINK_NODE';\nexport const NEWS_STORY_NODE = 'NEWS_STORY_NODE';\nexport const TWEET_NODE = 'TWEET_NODE';\n","export const SAVE_EVENT = 'FLY_IN_CALENDAR_EVENT_BUILDER/SAVE_EVENT';\nexport const FETCH_EVENT = 'FLY_IN_CALENDAR_EVENT_BUILDER/FETCH_EVENT';\nexport const RECEIVE_EVENT = 'FLY_IN_CALENDAR_EVENT_BUILDER/RECEIVE_EVENT';\nexport const DELETE_EVENT_ITEM = 'FLY_IN_CALENDAR/DELETE_EVENT_ITEM';\n\nexport const constants = {\n SAVE_EVENT,\n FETCH_EVENT,\n RECEIVE_EVENT,\n DELETE_EVENT_ITEM,\n FETCH_LEGISLATOR_OFFICE_ADDRESS: 'FLY_IN_CALENDAR_EVENT_BUILDER/FETCH_LEGISLATOR_OFFICE_ADDRESS',\n RECEIVE_LEGISLATOR_OFFICE_ADDRESS: 'FLY_IN_CALENDAR_EVENT_BUILDER/RECEIVE_LEGISLATOR_OFFICE_ADDRESS',\n};\n\nconst baseAPIUrl = '/api_web/hill_day/hill_days';\n\nfunction receiveEvent(payload) {\n return { type: constants.RECEIVE_EVENT, payload };\n}\n\nfunction saveEventDispatch(payload) {\n return { type: constants.SAVE_EVENT, payload };\n}\n\nexport function saveEvent(payload) {\n return (dispatch) => {\n const { flyInToken, eventToken, event } = payload;\n\n // uses api_web_hill_day_hill_day_events_path\n // uses api_web_hill_day_hill_day_event_path\n let url = `${baseAPIUrl}/${flyInToken}/events`;\n let method = 'POST';\n\n if (eventToken) {\n url = `${url}/${eventToken}`;\n method = 'PUT';\n }\n\n const ajax = $.ajax({\n method,\n url,\n data: { event },\n });\n\n return Promise.resolve(ajax).then(result =>\n dispatch(saveEventDispatch(result))\n );\n };\n}\n\nexport function clearEvent(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_EVENT, payload });\n };\n}\n\nexport function createEvent(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_EVENT, payload });\n\n const { flyInToken } = payload;\n\n const url = `${baseAPIUrl}/${flyInToken}/events/new`;\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax).then(result =>\n dispatch(receiveEvent(result))\n );\n };\n}\n\nexport function fetchLegislatorOfficeAddress(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_LEGISLATOR_OFFICE_ADDRESS, payload });\n\n const { legislatorId } = payload;\n\n // uses api_web_legislator_office_address_path\n const url = `/api_web/legislators/${legislatorId}/office_address`;\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax).then(result =>\n dispatch({\n type: constants.RECEIVE_LEGISLATOR_OFFICE_ADDRESS,\n payload: result,\n })\n );\n };\n}\n\nexport function clearEventLocation() {\n const payload = {\n location_name: '',\n city: '',\n address_1: '',\n address_2: '',\n state_token: 'DC',\n zipcode: '',\n url: '',\n };\n\n return (dispatch) => {\n dispatch({\n type: constants.RECEIVE_LEGISLATOR_OFFICE_ADDRESS,\n payload,\n });\n };\n}\n\nexport function deleteEvent(payload) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_EVENT_ITEM, payload });\n\n const { flyInToken, eventToken, sendNotifications } = payload;\n // uses api_web_hill_day_hill_day_event_path\n const url = `${baseAPIUrl}/${flyInToken}/events/${eventToken}`;\n const method = 'DELETE';\n const data = {\n event: {\n send_notifications: sendNotifications,\n },\n };\n\n const ajax = $.ajax({\n method,\n url,\n data,\n });\n\n return Promise.resolve(ajax);\n };\n}\n\nexport const defaultState = {\n event: {\n state: {},\n people: [],\n legislators: [],\n attendees: [],\n staffers: [],\n },\n ui: {\n loading: false,\n },\n};\n\nconst stateFetchEvent = state => ({\n ...state,\n event: defaultState.event,\n ui: { ...state.ui, loading: true },\n});\n\nconst stateReceiveEvent = (state, action) => ({\n ...state,\n event: action.payload,\n ui: { ...state.ui, loading: false },\n});\n\nconst stateReceiveCustomData = (state, action) => ({\n ...state,\n event: {\n ...state.event,\n ...action.payload,\n },\n});\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_EVENT:\n return stateFetchEvent(defaultState);\n case constants.RECEIVE_EVENT:\n return stateReceiveEvent(state, action);\n case constants.RECEIVE_LEGISLATOR_OFFICE_ADDRESS:\n return stateReceiveCustomData(state, action);\n default:\n return state;\n }\n}\n","const PREFIX = 'DONOR_LOOKUP';\n\nexport const API_URL = '/api_web/portal/moneyball/federal_contributions/lookup';\n\nexport const FETCH_DONORS = `${PREFIX}/FETCH_DONORS`;\nexport const RECEIVE_DONORS = `${PREFIX}/RECEIVE_DONORS`;\nexport const DONORS_NOT_FOUND = `${PREFIX}/DONORS_NOT_FOUND`;\n\nexport const DEFAULT_PER_PAGE = 5;\n","const keyword = 'GLOBAL_SEARCH';\n\nconst constants = {\n FETCH_RESULTS: `${keyword}/FETCH_RESULTS`,\n RECEIVE_RESULTS_DONE: `${keyword}/RECEIVE_RESULTS_DONE`,\n RECEIVE_RESULTS_ERROR: `${keyword}/RECEIVE_RESULTS_ERROR`,\n FETCH_SUMMARY: `${keyword}/FETCH_SUMMARY`,\n RECEIVE_SUMMARY_DONE: `${keyword}/RECEIVE_SUMMARY_DONE`,\n RECEIVE_SUMMARY_ERROR: `${keyword}/RECEIVE_SUMMARY_ERROR`,\n};\n\nexport default constants;\n","import { formatTokens } from 'redux/dashboardV2/common/subscriptions/utils';\nimport { buildBulkUpdatePayloadForBE } from 'redux/dashboardV2/common/subscriptions/transformers';\nimport { BASE_FEEDS_URL } from 'redux/dashboardV2/constants';\nimport { postJson, putJson } from 'utils/api';\n\nexport function fetchSeen(token) {\n const ajax = $.ajax({\n type: 'GET',\n url: `${BASE_FEEDS_URL}/${token}/last_visit/feed`,\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function updateSeen(feedToken, latestEventToken) {\n const ajax = $.ajax({\n type: 'POST',\n url: `${BASE_FEEDS_URL}/${feedToken}/last_visit/feed`,\n data: { latest_event_token: latestEventToken },\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function fetchKeywords(withRemoved, token) {\n const ajax = $.ajax({\n type: 'POST',\n data: {\n show_all: withRemoved,\n },\n url: `${BASE_FEEDS_URL}/${token}/keywords/lookup`,\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function fetchData({ url, data, method = 'POST' }) {\n const ajax = $.ajax({\n type: method,\n url,\n data,\n });\n\n return Promise.resolve(ajax);\n}\n\nexport function updateEvent({ feedToken, id, data }) {\n const url = `${BASE_FEEDS_URL}/${feedToken}/events/${id}`;\n\n const ajax = putJson(url, data);\n\n return Promise.resolve(ajax);\n}\n\nexport function removeEvent(feedToken, id) {\n const ajax = $.post(`${BASE_FEEDS_URL}/${feedToken}/events/${id}/disable`);\n\n return Promise.resolve(ajax);\n}\n\nexport function undoEvent(feedToken, id) {\n const ajax = $.post(`${BASE_FEEDS_URL}/${feedToken}/events/${id}/enable`);\n\n return Promise.resolve(ajax);\n}\n\nexport function undoSubscription(feedToken, id) {\n const ajax = $.post(`${BASE_FEEDS_URL}/${feedToken}/subscriptions/${id}/enable`);\n\n return Promise.resolve(ajax);\n}\n\nexport function bulkRemoveEvents(feedToken, tokens) {\n const url = `${BASE_FEEDS_URL}/${feedToken}/events/bulk_disable`;\n const requestData = { tokens: formatTokens(tokens) };\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n}\n\nexport function bulkUpdateEvents({\n feedToken,\n tokens,\n frequency,\n sendWeekAheadEmail,\n priority,\n isSaved,\n isRead,\n}) {\n const url = `${BASE_FEEDS_URL}/${feedToken}/events/bulk_update`;\n const requestData = buildBulkUpdatePayloadForBE({\n tokens,\n frequency,\n sendWeekAheadEmail,\n priority,\n isSaved,\n isRead,\n });\n\n const ajax = postJson(url, requestData);\n\n return Promise.resolve(ajax);\n}\n","const constants = {\n ADD_DOCUMENT: 'REPORT/ADD_DOCUMENT',\n DELETE_DOCUMENT: 'REPORT/DELETE_DOCUMENT',\n TOGGLE_ALL_SELECTED: 'REPORT/TOGGLE_ALL_SELECTED',\n};\n\nexport function addDocument(payload) {\n return {\n type: constants.ADD_DOCUMENT,\n payload,\n };\n}\n\nexport function deleteDocument(payload = {}) {\n return {\n type: constants.DELETE_DOCUMENT,\n payload,\n };\n}\n\nexport function toggleAllSelected() {\n return { type: constants.TOGGLE_ALL_SELECTED };\n}\n\nconst defaultState = {\n documents: [],\n allSelected: false,\n};\n\nfunction documents(stateDocuments = [], action) {\n switch (action.type) {\n case constants.ADD_DOCUMENT:\n return [\n ...stateDocuments,\n action.payload.document,\n ];\n case constants.DELETE_DOCUMENT:\n return stateDocuments.filter(\n document => document.id !== action.payload.id\n );\n default:\n return stateDocuments;\n }\n}\n\nexport default function Report(state = defaultState, action) {\n switch (action.type) {\n case constants.ADD_DOCUMENT:\n return {\n ...state,\n documents: documents(state.documents, action),\n };\n case constants.DELETE_DOCUMENT:\n return {\n ...state,\n documents: documents(state.documents, action),\n };\n case constants.TOGGLE_ALL_SELECTED:\n return {\n ...state,\n allSelected: !state.allSelected,\n };\n default:\n return state;\n }\n}\n","import { map, keys, groupBy } from 'lodash';\n\nconst SAST_LABELS = {\n same_as: 'Same as',\n crossfiled: 'Cross-filed with',\n enabling_for: 'Enabling for ',\n enabled_by: 'Enabled by',\n carry_over: 'Carried over from',\n};\n\nfunction getLabel(sastType) {\n return SAST_LABELS[sastType] || sastType;\n}\n\nfunction transformSastBillName(name) {\n if (name.slice(-1) === '.') {\n return name.slice(0, -1);\n }\n return name;\n}\n\nfunction transfromSastBill(bill) {\n return {\n value: transformSastBillName(bill.sast_bill_name),\n href: `/state/bills/${bill.sast_bill_id}`,\n };\n}\n\nexport function transformSasts(bills) {\n const billsBySastType = groupBy(bills, 'sast_type');\n\n return map(keys(billsBySastType), sastType => ({\n id: sastType,\n label: getLabel(sastType),\n bills: map(billsBySastType[sastType], transfromSastBill),\n }));\n}\n","import { isEmpty } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport {\n MONTH_SHORT_DAY_YEAR_FORMAT,\n MONTH_DAY_YEAR_DATE_FORMAT,\n} from 'utils/constants/date';\nimport { BILL_STATUS } from 'utils/constants/billStatus';\nimport { STATE_BILL_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nimport { transformSponsorsAndCosponsorsForUI } from './sponsorsAndCosponsors';\nimport { transformHearings } from './hearings';\nimport { transformSasts } from './sast';\n\nfunction transformCommittee(committee) {\n if (!isEmpty(committee)) {\n return { href: `/state/committees/${committee.id}`, value: committee.name };\n }\n return { href: null, value: 'Not in committee' };\n}\n\nexport function transformSession(session) {\n if (!session) return null;\n\n const {\n name,\n helper_text: helperText,\n display_notes: notes,\n starts_on: startsOn,\n ends_on: endsOn,\n is_projected: isProjected,\n } = session;\n\n const projectedDate = isProjected && startsOn && endsOn\n ? `(Projected: ${moment(startsOn).format(MONTH_DAY_YEAR_DATE_FORMAT)} to ${moment(endsOn).format(MONTH_DAY_YEAR_DATE_FORMAT)})`\n : null;\n\n const numberOfdays = moment(endsOn).diff(moment(), 'days') + 1;\n const daysLeftInSession = numberOfdays > 0 ? `${numberOfdays} ${numberOfdays === 1 ? 'day' : 'days'} left` : null;\n\n const daysLeft = isProjected\n ? daysLeftInSession\n : 'Session adjourned';\n\n return {\n name,\n helperText,\n projectedDate,\n notes,\n daysLeft,\n };\n}\n\nexport function transformKeyDetails(payload) {\n const {\n id,\n url,\n last_action = {},\n last_text_version = {},\n committee_hearings,\n session,\n status,\n description,\n display_id,\n bill_number,\n state,\n title,\n committee,\n introduced_on,\n sasts,\n } = payload;\n\n const { date: lastActionDate, action: lastAction } = last_action || {};\n const { alpha2, name: stateName } = state || {};\n\n const getBillText = () => {\n if (isEmpty(last_text_version)) {\n return {};\n }\n\n return {\n href: last_text_version.url,\n value: 'View',\n isExternal: true,\n };\n };\n\n const getStateBill = () => ({\n href: url,\n value: 'State bill website',\n isExternal: true,\n });\n\n const getFormattedDate = currentDate => (\n currentDate && moment(currentDate).format(MONTH_SHORT_DAY_YEAR_FORMAT)\n );\n\n return {\n id,\n documentType: DOCUMENT_TYPES.STATE_BILL,\n itemType: STATE_BILL_ITEM_TYPE,\n recordId: id,\n withTrack: true,\n keyDetails: {\n billName: title,\n displayBillId: display_id,\n billNumber: bill_number,\n billUrl: id && `/state/bills/${id}`,\n hearings: transformHearings(committee_hearings),\n state: { alpha2, name: stateName },\n billStatus: BILL_STATUS[status] || status,\n billText: getBillText(),\n committee: transformCommittee(committee),\n stateBill: getStateBill(),\n lastAction: {\n date: getFormattedDate(lastActionDate),\n action: lastAction,\n },\n session: transformSession(session),\n description,\n introducedOn: getFormattedDate(introduced_on),\n sasts: transformSasts(sasts),\n },\n };\n}\n\nexport function transformProfileForUI(responses) {\n const [\n keyDetails,\n sponsorsAndCosponsors,\n ] = responses;\n\n return {\n ...transformKeyDetails(keyDetails),\n ...transformSponsorsAndCosponsorsForUI(sponsorsAndCosponsors),\n };\n}\n","import map from 'lodash/map';\n\nexport function transformHearings(hearings) {\n return map(hearings, ({ display_title, url }) => ({\n value: display_title,\n href: url,\n isExternal: true,\n }));\n}\n","import { transformBillsAndVotesForUI } from 'redux/votingRecord/utils';\n\nexport function transformRollCallVotesForUI(rollCallVotesData = {}) {\n return transformBillsAndVotesForUI(rollCallVotesData);\n}\n","import { map, isEmpty } from 'lodash';\n\nimport { BILL_SLUG } from '../constants';\nimport { transformLegislator } from './transformLegislator';\n\nexport function transformActiveVoicesForBE(payload = {}) {\n const { id } = payload;\n\n return {\n attributes: {\n bill_id: id,\n },\n model_slugs: [BILL_SLUG],\n };\n}\n\nfunction transformBill(bill = {}) {\n const { id, title } = bill;\n\n return {\n href: `/state/bills/${id}`,\n value: title,\n };\n}\n\nexport function transformActiveVoicesForUI(response = {}) {\n const { ratings } = response;\n\n if (isEmpty(ratings)) {\n return { allItems: [] };\n }\n\n return {\n allItems: map(ratings, (rating) => {\n const { legislator, records = [] } = rating;\n\n return {\n legislator: transformLegislator(legislator),\n bills: map(records, transformBill),\n };\n }),\n };\n}\n","import map from 'lodash/map';\n\nconst addCurrentSuffix = versions => (\n map(versions, ({ label, ...rest }, index) => ({\n ...rest,\n label: index === versions.length - 1 ? `${label} (Current)` : label,\n }))\n);\n\nconst transformVersions = versions => (\n map(versions, ({ id, version_name }) => ({\n value: id,\n label: version_name,\n }))\n);\n\nexport function transformTextVersionsForUI(payload) {\n const { bill_versions = [], companion_versions = [] } = (payload && payload.data) || {};\n\n return {\n textVersions: [\n {\n label: 'Companion bills',\n options: transformVersions(companion_versions),\n },\n {\n label: 'Versions of this bill',\n options: addCurrentSuffix(transformVersions(bill_versions)),\n },\n ],\n };\n}\n","import { isEmpty, map } from 'lodash';\nimport moment from 'moment/moment';\n\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nexport function transformTimeline(payload) {\n const { data } = payload || {};\n\n if (isEmpty(data)) {\n return [];\n }\n\n return map(data, ({ id, action, date }) => ({\n id,\n text: action,\n date: date && moment(date).format(GLOBAL_DATE_FORMAT),\n }));\n}\n","import moment from 'moment/moment';\nimport map from 'lodash/map';\n\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nexport function transformAmendmentsForUI(amendments = {}) {\n const { data = [] } = amendments;\n\n return {\n allItems: map(data, ({ introduced, ...restProps }) => ({\n ...restProps,\n proposed: introduced && moment(introduced).format(GLOBAL_DATE_FORMAT),\n })),\n };\n}\n\nexport function transformAmendmentsForBE(payload) {\n const { id, ...restProps } = payload || {};\n\n return {\n ...restProps,\n search_form: {\n bill_id: id,\n },\n };\n}\n","export * from './profile';\nexport * from './rollCallVotes';\nexport * from './activeVoices';\nexport * from './sponsorsAndCosponsors';\nexport * from './billsComparison';\nexport * from './transformLegislator';\nexport * from './transformTimeline';\nexport * from './amendments';\n","const PREFIX = 'ROLODEX_STAFFER';\n\nconst constants = {\n STRATEGY_SLUG: 'rolodex_staffer',\n STRATEGY_SLUG_FOR_EXPORT: 'rolodex_staffers',\n FETCH_STAFFERS: `${PREFIX}/FETCH_STAFFERS`,\n RECEIVE_STAFFERS_DONE: `${PREFIX}/RECEIVE_STAFFERS_DONE`,\n FETCH_STAFFERS_EMAILS: `${PREFIX}/FETCH_STAFFERS_EMAILS`,\n RECEIVE_STAFFERS_EMAILS_DONE: `${PREFIX}/RECEIVE_STAFFERS_EMAILS_DONE`,\n};\n\nexport default constants;\n","// TODO: Add Feed constants later\nconst prefix = 'DASHBOARD_V2_FEED';\n\nconst constants = {\n FETCH_DEFAULT_SUBSCRIPTION: `${prefix}/FETCH_DEFAULT_SUBSCRIPTION`,\n LOAD_DEFAULT_SUBSCRIPTION_DONE: `${prefix}/LOAD_DEFAULT_SUBSCRIPTION_DONE`,\n LOAD_DEFAULT_SUBSCRIPTION_FAILED: `${prefix}/LOAD_DEFAULT_SUBSCRIPTION_FAILED`,\n UPDATE_DEFAULT_SUBSCRIPTION: `${prefix}/UPDATE_DEFAULT_SUBSCRIPTION`,\n UPDATE_DEFAULT_SUBSCRIPTION_DONE: `${prefix}/UPDATE_DEFAULT_SUBSCRIPTION_DONE`,\n UPDATE_DEFAULT_SUBSCRIPTION_FAILED: `${prefix}/UPDATE_DEFAULT_SUBSCRIPTION_FAILED`,\n};\n\nexport default constants;\n","const PREFIX = 'DASHBOARD_V2_KEYWORD_SEARCH';\n\nconst constants = {\n FETCH_KEYWORD: `${PREFIX}/FETCH_KEYWORD`,\n RECEIVE_KEYWORD_SUCCESS: `${PREFIX}/RECEIVE_KEYWORD_SUCCESS`,\n RECEIVE_KEYWORD_FAILED: `${PREFIX}/RECEIVE_KEYWORD_FAILED`,\n SAVE_KEYWORD: `${PREFIX}/SAVE_KEYWORD`,\n SAVE_KEYWORD_DONE: `${PREFIX}/SAVE_KEYWORD_DONE`,\n RESET_KEYWORD_FORM: `${PREFIX}/RESET_KEYWORD_FORM`,\n};\n\nexport default constants;\n","const PREFIX = 'SERVICE_TERMS';\n\nexport default {\n LOAD_SERVICE_TERMS_STARTED: `${PREFIX}/LOAD_SERVICE_TERMS_STARTED`,\n LOAD_SERVICE_TERMS_FAIL: `${PREFIX}/LOAD_SERVICE_TERMS_FAIL`,\n LOAD_SERVICE_TERMS_DONE: `${PREFIX}/LOAD_SERVICE_TERMS_DONE`,\n ACCEPT_SERVICE_TERMS_STARTED: `${PREFIX}/ACCEPT_SERVICE_TERMS_STARTED`,\n ACCEPT_SERVICE_TERMS_FAIL: `${PREFIX}/ACCEPT_SERVICE_TERMS_FAIL`,\n ACCEPT_SERVICE_TERMS_DONE: `${PREFIX}/ACCEPT_SERVICE_TERMS_DONE`,\n};\n","import moment from 'moment';\nimport { isEmpty, omitBy, capitalize } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getSlicedLegislators, getSlicedSponsors } from 'redux/bills/utils';\nimport { GLOBAL_DATE_FORMAT, DAY_YEAR_DATE_FORMAT } from 'utils/constants/date';\nimport { getUrlWithBase } from 'utils/url';\nimport { STATE_BILL_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nfunction getSponsorUrl(sponsor) {\n return { url: sponsor.url };\n}\n\nexport function transformBill(bill = {}, index, page) {\n const {\n id,\n display_id,\n introduced_on,\n last_action = { action: '', date: '' },\n snippet = '',\n sponsors = [],\n state,\n status_type,\n title,\n url,\n committee,\n committee_sponsors = [],\n cosponsors,\n has_vote,\n text_version_url,\n description,\n tags,\n summary,\n } = omitBy(bill, isEmpty);\n\n const allSponsors = getSlicedSponsors(committee_sponsors, sponsors, getSponsorUrl);\n const allSponsorsSize = committee_sponsors.length + sponsors.length;\n\n return {\n index,\n page,\n id,\n committee,\n snippet,\n state: state && state.alpha2,\n billId: display_id,\n billTitle: title,\n billDescription: description,\n billUrl: url,\n lastAction: last_action && last_action.action,\n lastActionDate: last_action && last_action.date && moment(last_action.date).format(GLOBAL_DATE_FORMAT),\n status: status_type,\n dateIntroduced: moment(introduced_on).format(GLOBAL_DATE_FORMAT),\n hasVote: capitalize(has_vote),\n govPredictLink: getUrlWithBase(url),\n billTextLink: text_version_url,\n sponsors: allSponsors,\n allSponsorsSize,\n cosponsors: getSlicedLegislators(cosponsors, getSponsorUrl),\n allCosponsorsSize: !isEmpty(cosponsors) ? cosponsors.length : 0,\n tags,\n billSummary: summary && summary.body,\n billSummaryLastUpdated: summary && moment(summary.updated_at).format(DAY_YEAR_DATE_FORMAT),\n documentType: DOCUMENT_TYPES.STATE_BILL,\n itemType: STATE_BILL_ITEM_TYPE,\n recordId: id,\n withTrack: true,\n };\n}\n","import { map, compact, isEmpty, filter } from 'lodash';\n\nimport {\n getItemValue,\n getLabelFromItem,\n getMapDisplayItem,\n getMapSelectValue, getRangeLabel,\n getValue,\n transformSelectValues,\n transformArraySelectValues,\n} from 'utils/transformers/advancedSearch';\nimport {\n GUAM,\n VIRGIN_ISLANDS,\n AMERICAN_SAMOA,\n PUERTO_RICO,\n NORTHERN_MARIANA_ISLANDS,\n} from 'utils/constants/states';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport { valueOrNull } from 'utils/forms/valueOrEmpty';\n\nimport { transformBill } from './transformers';\n\nfunction transformOptionsForUI(data = {}, dataProps = {}) {\n const { id, search_params } = data;\n const {\n main_search_keywords,\n states,\n primary_sponsor_ids,\n cosponsor_ids,\n committee_ids,\n status_types,\n chamber,\n different_text,\n type,\n introduced_from,\n last_action_from,\n last_action_to,\n tag_ids,\n user_positions,\n show_only_tracked_items,\n } = search_params || {};\n const { legislationTypes, chambers } = dataProps;\n const since = introduced_from ? { value: introduced_from, label: introduced_from } : null;\n const lastActionDate = {\n start: valueOrNull(last_action_from),\n end: valueOrNull(last_action_to),\n };\n\n return {\n id,\n options: {\n ...getValue('searchValue', main_search_keywords),\n ...getValue('states', states),\n ...getValue('billStatuses', status_types),\n ...getValue('since', since),\n ...getValue('sponsors', primary_sponsor_ids),\n ...getValue('cosponsors', cosponsor_ids),\n ...getValue('committees', committee_ids),\n ...getValue('legislationType', getMapSelectValue(legislationTypes, type)),\n ...getValue('chamber', getMapSelectValue(chambers, chamber)),\n ...getValue('textExcludes', different_text),\n ...getValue('lastActionDate', lastActionDate),\n ...getValue('tags', tag_ids),\n ...getValue('position', user_positions),\n ...getValue('showOnlyTrackedItems', Boolean(show_only_tracked_items)),\n },\n };\n}\n\nexport function responseStatesTransformers({ response }) {\n const { data: stateData } = response || {};\n const statesToExclude = [\n GUAM,\n VIRGIN_ISLANDS,\n AMERICAN_SAMOA,\n PUERTO_RICO,\n NORTHERN_MARIANA_ISLANDS,\n ];\n\n return filter(stateData, ({ value }) => !statesToExclude.includes(value));\n}\n\nfunction getDisplayDataForRecentSearches(data = {}, dataProps = {}) {\n const { name, search_params } = data;\n\n const { legislationTypes, chambers } = dataProps;\n\n const {\n main_search_keywords,\n states,\n primary_sponsor_ids,\n cosponsor_ids,\n committee_ids,\n status_types,\n chamber,\n different_text,\n type,\n introduced_from,\n last_action_from,\n last_action_to,\n tag_ids,\n user_positions,\n show_only_tracked_items,\n } = search_params;\n\n const filters = [\n getDisplayItem('Searched', main_search_keywords),\n getDisplayItem('States', getLabelFromItem(responseStatesTransformers({ response: { data: states } }))),\n getDisplayItem('Text Excludes', different_text),\n getDisplayItem('Sponsor', getLabelFromItem(primary_sponsor_ids)),\n getDisplayItem('Cosponsor', getLabelFromItem(cosponsor_ids)),\n getDisplayItem('Committee', getLabelFromItem(committee_ids)),\n getDisplayItem('Since', introduced_from),\n getDisplayItem('Bill Status', getLabelFromItem(status_types)),\n getDisplayItem('Bill Legislation Type', getMapDisplayItem(legislationTypes, type)),\n getDisplayItem('Bill Chamber', getMapDisplayItem(chambers, chamber)),\n getDisplayItem('Last Action Range', getRangeLabel(last_action_from, last_action_to)),\n getDisplayItem('Tags', getLabelFromItem(tag_ids)),\n getDisplayItem('Position', getLabelFromItem(user_positions)),\n getDisplayItem('Show only state bills I subscribe to', show_only_tracked_items && 'Yes'),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n states,\n sponsors,\n cosponsors,\n committees,\n since,\n billStatuses,\n textExcludes,\n chamber,\n legislationType,\n lastActionDate,\n tags,\n position,\n showOnlyTrackedItems,\n } = options || {};\n\n return {\n ...getValue('main_search_keywords', searchValue),\n ...getValue('states', transformSelectValues(states)),\n ...getValue('primary_sponsor_ids', transformSelectValues(sponsors && sponsors.filter(sponsor => sponsor.type === 'state_legislator'))),\n ...getValue('committee_sponsor_ids', transformSelectValues(sponsors && sponsors.filter(sponsor => sponsor.type === 'state_committee'))),\n ...getValue('cosponsor_ids', transformSelectValues(cosponsors)),\n ...getValue('committee_ids', transformArraySelectValues(committees)),\n ...getValue('different_text', textExcludes),\n ...getValue('introduced_from', getItemValue(since)),\n ...getValue('status_types', transformSelectValues(billStatuses)),\n ...getValue('chamber', getItemValue(chamber)),\n ...getValue('type', getItemValue(legislationType)),\n ...getValue('last_action_from', lastActionDate && lastActionDate.start),\n ...getValue('last_action_to', lastActionDate && lastActionDate.end),\n ...getValue('tag_ids', transformSelectValues(tags)),\n ...getValue('user_positions', transformSelectValues(position)),\n ...getValue('show_only_tracked_items', Boolean(showOnlyTrackedItems)),\n };\n}\n\nexport function transformSearchesForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n states,\n sponsors,\n cosponsors,\n committees,\n since,\n billStatuses,\n textExcludes,\n chamber,\n legislationType,\n lastActionDate,\n tags,\n position,\n showOnlyTrackedItems,\n } = options || {};\n\n return {\n ...getValue('main_search_keywords', searchValue),\n ...getValue('states', transformSelectValues(states)),\n ...getValue('primary_sponsor_ids', transformSelectValues(sponsors && sponsors.filter(sponsor => sponsor.type === 'state_legislator'))),\n ...getValue('committee_sponsor_ids', transformSelectValues(sponsors && sponsors.filter(sponsor => sponsor.type === 'state_committee'))),\n ...getValue('cosponsor_ids', transformSelectValues(cosponsors)),\n ...getValue('committee_ids', transformArraySelectValues(committees)),\n ...getValue('different_text', textExcludes),\n ...getValue('introduced_from', getItemValue(since)),\n ...getValue('status_types', transformSelectValues(billStatuses)),\n ...getValue('chamber', getItemValue(chamber)),\n ...getValue('type', getItemValue(legislationType)),\n ...getValue('last_action_from', lastActionDate && lastActionDate.start),\n ...getValue('last_action_to', lastActionDate && lastActionDate.end),\n ...getValue('tag_ids', tags),\n ...getValue('user_positions', position),\n ...getValue('show_only_tracked_items', Boolean(showOnlyTrackedItems)),\n };\n}\n\nexport function transformBillsForUI(bills = [], page = '1') {\n return map(bills, (bill, index) => transformBill(bill, index, page));\n}\n\nexport function transformSearchesForUI(data = [], dataProps = {}) {\n return map(data, item => ({\n ...getDisplayDataForRecentSearches(item, dataProps),\n ...transformOptionsForUI(item, dataProps),\n }));\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue } = data || {};\n const {\n states,\n sponsors,\n cosponsors,\n committees,\n since,\n billStatuses,\n textExcludes,\n chamber,\n legislationType,\n lastActionDate,\n tags,\n showOnlyTrackedItems,\n } = data.options || {};\n\n return {\n 'strategy_inputs[main_search_keywords]': searchValue || undefined,\n 'strategy_inputs[states]': transformSelectValues(states),\n 'strategy_inputs[primary_sponsor_ids]': transformSelectValues(sponsors),\n 'strategy_inputs[cosponsor_ids]': transformSelectValues(cosponsors),\n 'strategy_inputs[committee_ids]': transformSelectValues(committees),\n 'strategy_inputs[different_text]': textExcludes,\n 'strategy_inputs[introduced_from]': getItemValue(since),\n 'strategy_inputs[status_types]': transformSelectValues(billStatuses),\n 'strategy_inputs[chamber]': getItemValue(chamber),\n 'strategy_inputs[type]': getItemValue(legislationType),\n 'strategy_inputs[tag_ids]': transformSelectValues(tags),\n 'strategy_inputs[last_action_from]': lastActionDate && lastActionDate.start,\n 'strategy_inputs[last_action_to]': lastActionDate && lastActionDate.end,\n 'strategy_inputs[show_only_tracked_items]': Boolean(showOnlyTrackedItems),\n };\n}\n\nfunction transformBillData(data) {\n if (isEmpty(data)) {\n return [];\n }\n\n return data;\n}\n\nexport function transformGraphForUI(graphData = {}) {\n const { data } = graphData || {};\n const { introduced_over_time, top_cosponsors, top_sponsors, top_states } = data || {};\n\n return {\n introducedOverTime: transformBillData(introduced_over_time),\n topCosponsors: transformBillData(top_cosponsors),\n topSponsors: transformBillData(top_sponsors),\n topStates: transformBillData(top_states),\n };\n}\n","import moment from 'moment';\nimport { isEmpty, omitBy, isNil, capitalize, size } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getSlicedLegislators } from 'redux/bills/utils';\nimport { DAY_YEAR_DATE_FORMAT, GLOBAL_DATE_FORMAT } from 'utils/constants/date';\nimport { FEDERAL_BILL_ITEM_TYPE } from 'utils/constants/itemTypes';\nimport { getUrlWithBase } from 'utils/url';\n\nfunction getSponsorUrl({ legislator_id, id }) {\n const legislatorId = legislator_id || id;\n\n return { url: `/federal/legislators/${legislatorId}` };\n}\n\nexport function transformBill(bill = {}, index, page) {\n const {\n id,\n congress,\n cosponsors = [],\n description,\n display_bill_id,\n display_title,\n has_vote,\n introduced_at,\n last_action = { text: '', date: '' },\n sponsor = {},\n status_full,\n text_version_link,\n overview = '',\n tags,\n summary,\n } = omitBy(bill, isNil);\n\n const billUrl = !isEmpty(id) && `/federal/bills/${id}`;\n\n return {\n index,\n page,\n id,\n billId: display_bill_id,\n billTitle: display_title,\n billDescription: description,\n billUrl,\n introducedAt: moment(introduced_at).format(GLOBAL_DATE_FORMAT),\n lastAction: last_action && last_action.text,\n lastActionDate: last_action && last_action.date && moment(last_action.date).format(GLOBAL_DATE_FORMAT),\n sponsors: [{\n id: sponsor.id,\n name: sponsor.name,\n partyShort: sponsor.party_short,\n partySlug: sponsor.party_slug,\n url: sponsor.url,\n }],\n status: status_full,\n allCosponsorsSize: size(cosponsors),\n cosponsors: getSlicedLegislators(cosponsors, getSponsorUrl),\n govPredictLink: getUrlWithBase(billUrl),\n tags,\n congress,\n hasVote: capitalize(has_vote),\n billTextLink: text_version_link,\n snippet: overview,\n billSummary: summary && summary.body,\n billSummaryLastUpdated: summary && moment(summary.updated_at).format(DAY_YEAR_DATE_FORMAT),\n documentType: DOCUMENT_TYPES.FEDERAL_BILL,\n itemType: FEDERAL_BILL_ITEM_TYPE,\n recordId: id,\n withTrack: true,\n };\n}\n","import { isEmpty, compact } from 'lodash';\n\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport {\n getLabelFromItem,\n getValue,\n getItemValue,\n transformSelectValues,\n getMapSelectValue,\n formatSelectValue,\n getMapDisplayItem,\n} from 'utils/transformers/advancedSearch';\nimport { transformBill } from './transformers';\n\nfunction getSinceCongressValue({ congressOptions, sinceCongress }) {\n const value = getItemValue(sinceCongress);\n\n if (isEmpty(congressOptions)) {\n return value;\n }\n\n const [firstCongress] = Object.keys(congressOptions);\n\n return value || firstCongress;\n}\n\nfunction transformOptionsForUI(data = {}, dataProps = {}) {\n const { id, search_params } = data;\n const {\n main_search_keywords,\n bill_numbers,\n sponsors,\n cosponsors,\n committees,\n congress,\n status_types,\n bill_types,\n subjects,\n different_text,\n show_only_appropriations,\n show_only_tracked_items,\n tag_ids,\n user_positions,\n } = search_params || {};\n const { billTypes: billTypesOptions, congressOptions } = dataProps;\n\n return {\n id,\n options: {\n ...getValue('searchValue', main_search_keywords),\n ...getValue('billNumbers', formatSelectValue(bill_numbers)),\n ...getValue('sponsors', sponsors),\n ...getValue('cosponsors', cosponsors),\n ...getValue('committees', committees),\n ...getValue('textExcludes', different_text),\n ...getValue('sinceCongress', getMapSelectValue(congressOptions, congress)),\n ...getValue('billStatuses', status_types),\n ...getValue('billTypes', getMapSelectValue(billTypesOptions, bill_types)),\n ...getValue('subjects', formatSelectValue(subjects)),\n ...getValue('showOnlyAppropriations', Boolean(show_only_appropriations)),\n ...getValue('showOnlyTrackedItems', Boolean(show_only_tracked_items)),\n ...getValue('tags', tag_ids),\n ...getValue('position', user_positions),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}, dataProps = {}) {\n const { name, search_params } = data;\n const { billTypes: billTypesOptions, congressOptions, billStatusOptions } = dataProps;\n const {\n main_search_keywords,\n bill_numbers,\n sponsors,\n cosponsors,\n committees,\n congress,\n status_types,\n bill_types,\n subjects,\n different_text,\n show_only_appropriations,\n show_only_tracked_items,\n tag_ids,\n user_positions,\n } = search_params || {};\n\n const filters = [\n getDisplayItem('Searched', main_search_keywords),\n getDisplayItem('Bill Numbers', bill_numbers),\n getDisplayItem('Text Excludes', different_text),\n getDisplayItem('Sponsor', getLabelFromItem(sponsors)),\n getDisplayItem('Cosponsor', getLabelFromItem(cosponsors)),\n getDisplayItem('Committee', getLabelFromItem(committees)),\n getDisplayItem('Since Congress', getMapDisplayItem(congressOptions, congress)),\n getDisplayItem('Bill Statuses', getLabelFromItem(status_types, billStatusOptions)),\n getDisplayItem('Bill Type', getMapDisplayItem(billTypesOptions, bill_types)),\n getDisplayItem('Subject', subjects),\n getDisplayItem('Show Only Appropriations', show_only_appropriations && 'Yes'),\n getDisplayItem('Show only federal bills I subscribe to', show_only_tracked_items && 'Yes'),\n getDisplayItem('Tags', getLabelFromItem(tag_ids)),\n getDisplayItem('Position', getLabelFromItem(user_positions)),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}, dataProps = {}) {\n const { congressOptions } = dataProps || {};\n const { searchValue, options } = data;\n const {\n billNumbers,\n sponsors,\n cosponsors,\n committees,\n sinceCongress,\n billStatuses,\n billTypes,\n subjects,\n textExcludes,\n showOnlyAppropriations,\n showOnlyTrackedItems,\n tags,\n position,\n } = options || {};\n\n return {\n ...getValue('show_only_appropriations', Boolean(showOnlyAppropriations)),\n ...getValue('show_only_tracked_items', Boolean(showOnlyTrackedItems)),\n ...getValue('main_search_keywords', searchValue),\n ...getValue('bill_numbers', transformSelectValues(billNumbers)),\n ...getValue('sponsor_ids', transformSelectValues(sponsors)),\n ...getValue('cosponsors_id', transformSelectValues(cosponsors)),\n ...getValue('committees_ids', transformSelectValues(committees)),\n ...getValue('different_text', textExcludes),\n ...getValue('congress', getSinceCongressValue({ congressOptions, sinceCongress })),\n ...getValue('status_types', transformSelectValues(billStatuses)),\n ...getValue('bill_types', getItemValue(billTypes)),\n ...getValue('subjects', transformSelectValues(subjects)),\n ...getValue('tag_ids', transformSelectValues(tags)),\n ...getValue('user_positions', transformSelectValues(position)),\n };\n}\n\nexport function transformSearchesForBE(data = {}, dataProps = {}) {\n const { congressOptions } = dataProps || {};\n const { searchValue, options } = data;\n const {\n billNumbers,\n sponsors,\n cosponsors,\n committees,\n sinceCongress,\n billStatuses,\n billTypes,\n subjects,\n textExcludes,\n showOnlyAppropriations,\n showOnlyTrackedItems,\n tags,\n position,\n } = options || {};\n\n return {\n ...getValue('show_only_appropriations', Boolean(showOnlyAppropriations)),\n ...getValue('show_only_tracked_items', Boolean(showOnlyTrackedItems)),\n ...getValue('main_search_keywords', searchValue),\n ...getValue('bill_numbers', transformSelectValues(billNumbers)),\n ...getValue('sponsor_ids', transformSelectValues(sponsors)),\n ...getValue('cosponsors_id', transformSelectValues(cosponsors)),\n ...getValue('committees_ids', transformSelectValues(committees)),\n ...getValue('different_text', textExcludes),\n ...getValue('congress', getSinceCongressValue({ congressOptions, sinceCongress })),\n ...getValue('status_types', transformSelectValues(billStatuses)),\n ...getValue('bill_types', getItemValue(billTypes)),\n ...getValue('subjects', transformSelectValues(subjects)),\n ...getValue('tag_ids', tags),\n ...getValue('user_positions', position),\n };\n}\n\nexport function transformSearchesForUI(data, dataProps = {}) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item, dataProps),\n ...transformOptionsForUI(item, dataProps),\n }));\n}\n\nexport function transformBillsForUI(bills = [], page = '1') {\n return bills.map((bill, index) => transformBill(bill, index, page));\n}\n\nfunction transformBillLegislators(legislators) {\n if (isEmpty(legislators)) {\n return [];\n }\n\n return legislators;\n}\n\nexport function transformGraphForUI(graphData = {}) {\n const { data } = graphData || {};\n const { introduced_over_time, top_cosponsors, top_sponsors } = data || {};\n\n return {\n introducedOverTime: !isEmpty(introduced_over_time) ? introduced_over_time : [],\n topCosponsors: transformBillLegislators(top_cosponsors),\n topSponsors: transformBillLegislators(top_sponsors),\n };\n}\n\nexport function getExportInfo(data = {}, dataProps = {}) {\n const { searchValue } = data || {};\n const {\n billNumbers,\n sponsors,\n cosponsors,\n committees,\n sinceCongress,\n billStatuses,\n billTypes,\n subjects,\n showOnlyAppropriations,\n tags,\n showOnlyTrackedItems,\n } = data.options || {};\n const { congressOptions } = dataProps || {};\n\n return {\n 'strategy_inputs[main_search_keywords]': searchValue || undefined,\n 'strategy_inputs[bill_numbers]': transformSelectValues(billNumbers),\n 'strategy_inputs[sponsor_ids]': transformSelectValues(sponsors),\n 'strategy_inputs[cosponsors_id]': transformSelectValues(cosponsors),\n 'strategy_inputs[committees_ids]': transformSelectValues(committees),\n 'strategy_inputs[congress]': getSinceCongressValue({ congressOptions, sinceCongress }),\n 'strategy_inputs[status_types]': transformSelectValues(billStatuses),\n 'strategy_inputs[bill_types]': getItemValue(billTypes),\n 'strategy_inputs[subjects]': transformSelectValues(subjects),\n 'strategy_inputs[tag_ids]': transformSelectValues(tags),\n 'strategy_inputs[show_only_appropriations]': Boolean(showOnlyAppropriations),\n 'strategy_inputs[show_only_tracked_items]': Boolean(showOnlyTrackedItems),\n };\n}\n","import delay from 'lodash/delay';\n\nimport constants from './constants';\nimport { fetchStakeholders } from '../Lookup/actions/data';\nimport { fetchStakeholderProfile } from '../Profile/actions/data';\n\n// Temporary fix to elastic search delete and create issue\nconst afterChangeDelay = 2500;\nconst delayReponse = callback => response => delay(() => callback(response), afterChangeDelay);\n\nexport function deleteStakeholder(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_STAKEHOLDER });\n\n const { id, deleteNotifications, redirectToDirectory } = payload;\n\n const url = `/api_web/stakeholder-management/stakeholders/${id}`;\n\n function onSuccess(response) {\n dispatch({\n type: constants.DELETE_STAKEHOLDER_DONE,\n payload: response.data,\n });\n\n redirectToDirectory();\n deleteNotifications.getSuccess();\n }\n\n const ajax = $.ajax({ url, type: 'DELETE' });\n\n return Promise.resolve(ajax)\n .then(delayReponse(onSuccess))\n .catch((error) => {\n deleteNotifications.getFailed();\n throw error;\n });\n };\n}\n\nexport function deleteStakeholders(payload = {}) {\n return (dispatch, getState) => {\n dispatch({ type: constants.DELETE_STAKEHOLDERS });\n\n const {\n ids,\n toggleOpen,\n onClear,\n deleteNotifications,\n paginator = {},\n } = payload;\n const { pageSize } = paginator;\n\n const requests = ids.map((id) => {\n const url = `/api_web/stakeholder-management/stakeholders/${id}`;\n const ajax = $.ajax({ url, type: 'DELETE' });\n\n return Promise.resolve(ajax);\n });\n\n function onSuccess(response) {\n dispatch({\n type: constants.DELETE_STAKEHOLDERS_DONE,\n payload: response.data,\n });\n\n const lookupAppliedFilters = getState().stakeholder.stakeholderLookup.appliedFilters || {};\n const { appliedFilters } = lookupAppliedFilters;\n\n deleteNotifications.getSuccess();\n toggleOpen();\n onClear();\n dispatch(fetchStakeholders({\n perPage: pageSize,\n searchData: appliedFilters,\n }));\n }\n\n return Promise.all(requests)\n .then(delayReponse(onSuccess))\n .catch((error) => {\n deleteNotifications.getFailed();\n throw error;\n });\n };\n}\n\nfunction submitStakeholder(payload = {}) {\n return (dispatch, getState) => {\n const {\n id,\n ajax,\n handleFailure,\n handleSuccess,\n actionTypes,\n isProfilePageUpdate,\n avoidDispatchFetch,\n } = payload;\n\n dispatch({ type: actionTypes.SUBMIT });\n\n const lookupAppliedFilters = getState().stakeholder.stakeholderLookup.appliedFilters || {};\n const { appliedFilters } = lookupAppliedFilters;\n\n function onSuccess() {\n dispatch({ type: actionTypes.SUBMIT_DONE });\n handleSuccess();\n\n if (avoidDispatchFetch) {\n return;\n }\n\n if (isProfilePageUpdate) {\n dispatch(fetchStakeholderProfile({ stakeholderId: id }));\n } else {\n dispatch(fetchStakeholders({ searchData: appliedFilters }));\n }\n }\n\n function onFailure(error) {\n dispatch({ type: actionTypes.SUBMIT_FAIL });\n handleFailure(error.responseJSON);\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(delayReponse(onSuccess))\n .catch(onFailure);\n };\n}\n\nexport function updateStakeholder(payload = {}) {\n return (dispatch) => {\n const {\n stakeholderData,\n handleFailure,\n handleSuccess,\n ...restProps\n } = payload;\n\n const actionTypes = {\n SUBMIT: constants.UPDATE_STAKEHOLDER,\n SUBMIT_DONE: constants.UPDATE_STAKEHOLDER_DONE,\n SUBMIT_FAIL: constants.UPDATE_STAKEHOLDER_FAIL,\n };\n\n const url = `/api_web/stakeholder-management/stakeholders/${stakeholderData.id}`;\n const data = { stakeholder: stakeholderData };\n\n const ajax = $.ajax({\n url,\n method: 'PUT',\n contentType: 'application/json',\n data: JSON.stringify(data),\n });\n\n dispatch(submitStakeholder({\n ajax,\n handleFailure,\n handleSuccess,\n actionTypes,\n id: stakeholderData.id,\n ...restProps,\n }));\n };\n}\n\nexport function createStakeholder(payload = {}) {\n return (dispatch) => {\n const {\n stakeholderData,\n handleFailure,\n handleSuccess,\n ...restProps\n } = payload;\n\n const actionTypes = {\n SUBMIT: constants.CREATE_STAKEHOLDER,\n SUBMIT_DONE: constants.CREATE_STAKEHOLDER_DONE,\n SUBMIT_FAIL: constants.CREATE_STAKEHOLDER_FAIL,\n };\n const url = '/api_web/stakeholder-management/stakeholders';\n const data = { stakeholder: stakeholderData };\n const ajax = $.ajax({\n url,\n method: 'POST',\n contentType: 'application/json',\n data: JSON.stringify(data),\n });\n\n dispatch(submitStakeholder({\n ajax,\n handleFailure,\n handleSuccess,\n actionTypes,\n ...restProps,\n }));\n };\n}\n","import sortDirections from 'utils/constants/sortDirections';\nimport { ACTIVITY_PAGE_NAMESPACE } from 'components/Grm2/events/constants';\n\nconst initialState = {\n filters: {\n keywordLookup: '',\n people: [],\n creator: [],\n assignee: [],\n bills: [],\n regulations: [],\n committees: [],\n documents: [],\n activityTypes: [],\n priorityTypes: [],\n statusTypes: [],\n interactionTypes: [],\n tags: [],\n eventDate: {\n startDate: null,\n endDate: null,\n },\n dueDate: {\n startDate: null,\n endDate: null,\n },\n creationDate: {\n startDate: null,\n endDate: null,\n },\n attachments: false,\n },\n hasNewCard: false,\n hasEditedCard: false,\n timelineDefaultFilters: [],\n selectedCardIds: [],\n cards: [],\n cardsLinkPreview: {},\n customFields: [],\n pagination: {\n currentPage: undefined,\n totalPages: 1,\n totalCount: 0,\n perPage: 10,\n },\n sort: {\n direction: sortDirections.DESC,\n sort: 'created_at',\n },\n ui: {\n isLoading: true,\n isLoadingCustomFields: true,\n isLoadingMyFeedDocuments: true,\n isLoadingLinksPreview: true,\n },\n analytics: {\n ui: {\n showDashboard: false,\n },\n },\n isTasksContext: false,\n namespace: ACTIVITY_PAGE_NAMESPACE,\n withAdvancedSearch: false,\n};\n\nexport default initialState;\n","const PREFIX = 'STATE_EXECUTIVE_LOOKUP';\n\nconst CONSTANTS = {\n FETCH_EXECUTIVES: `${PREFIX}/FETCH_EXECUTIVES`,\n RECEIVE_EXECUTIVES_DONE: `${PREFIX}/RECEIVE_EXECUTIVES_DONE`,\n RESET_EXECUTIVES: `${PREFIX}/RESET_EXECUTIVES`,\n FETCH_EXECUTIVES_EMAILS: `${PREFIX}/FETCH_EXECUTIVES_EMAILS`,\n RECEIVE_EXECUTIVES_EMAILS_DONE: `${PREFIX}/RECEIVE_EXECUTIVES_EMAILS_DONE`,\n};\n\nexport default CONSTANTS;\n","const PREFIX = 'LOCAL_EXECUTIVE_LOOKUP';\n\nconst CONSTANTS = {\n FETCH_LOCAL_EXECUTIVES: `${PREFIX}/FETCH_LOCAL_EXECUTIVES`,\n RECEIVE_LOCAL_EXECUTIVES_DONE: `${PREFIX}/RECEIVE_LOCAL_EXECUTIVES_DONE`,\n RESET_LOCAL_EXECUTIVES: `${PREFIX}/RESET_LOCAL_EXECUTIVES`,\n FETCH_LOCAL_EXECUTIVES_EMAILS: `${PREFIX}/FETCH_LOCAL_EXECUTIVES_EMAILS`,\n RECEIVE_LOCAL_EXECUTIVES_EMAILS_DONE: `${PREFIX}/RECEIVE_LOCAL_EXECUTIVES_EMAILS_DONE`,\n};\n\nexport default CONSTANTS;\n","const PREFIX = 'LOCAL_EXECUTIVE';\n\nexport const LOCAL_EXECUTIVE_SLUG = 'local_executive';\n\nconst constants = {\n FETCH_EXECUTIVE: `${PREFIX}/FETCH_EXECUTIVE`,\n RECEIVE_EXECUTIVE_DONE: `${PREFIX}/RECEIVE_EXECUTIVE_DONE`,\n PROFILE_NOT_FOUND: `${PREFIX}/PROFILE_NOT_FOUND`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'MONEYBALL_COMMITTEE_LOOKUP';\n\nconst constants = {\n STRATEGY_SLUG: 'moneyball_committee_lookup',\n FETCH_COMMITTEES: `${PREFIX}/FETCH_COMMITTEES`,\n RECEIVE_COMMITTEES_DONE: `${PREFIX}/RECEIVE_COMMITTEES_DONE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'MONEYBALL_CANDIDATE_LOOKUP';\n\nexport const constants = {\n STRATEGY_SLUG: 'moneyball_candidates_lookup',\n FETCH_CANDIDATES: `${PREFIX}/FETCH_CANDIDATES`,\n RECEIVE_CANDIDATES_DONE: `${PREFIX}/RECEIVE_CANDIDATES_DONE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n","const PREFIX = 'MONEYBALL';\n\nconst constants = {\n STRATEGY_SLUG: 'moneyball_corporation_lookup',\n FETCH_CORPORATIONS: `${PREFIX}/FETCH_CORPORATIONS`,\n RECEIVE_CORPORATIONS_DONE: `${PREFIX}/RECEIVE_CORPORATIONS_DONE`,\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'STAKEHOLDER_MANAGEMENT';\n\nconst constants = {\n FETCH_ALL_LEGISLATORS: `${PREFIX}/FETCH_ALL_LEGISLATORS`,\n RECEIVE_ALL_LEGISLATORS_DONE: `${PREFIX}/RECEIVE_ALL_LEGISLATORS_DONE`,\n RECEIVE_LEGISLATORS_DONE: `${PREFIX}/RECEIVE_LEGISLATORS_DONE`,\n FETCH_LEGISLATORS: `${PREFIX}/FETCH_LEGISLATORS`,\n RECEIVE_LEGISLATORS_FAIL: `${PREFIX}/RECEIVE_LEGISLATORS_FAIL`,\n FETCH_DISTRICT: `${PREFIX}/FETCH_DISTRICT`,\n RECEIVE_DISTRICT_FAIL: `${PREFIX}/RECEIVE_DISTRICT_FAIL`,\n};\n\nexport default constants;\n","import { compact, isEmpty, isNil, toString, capitalize } from 'lodash';\n\nimport emptyState from 'components/State/Regulations/Lookup/components/AdvancedOptions/utils/emptyState';\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { REGULATION_DOCUMENT } from 'components/State/Regulations/Lookup/utils/constants';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport {\n getLabelFromItem,\n getValue,\n transformSelectValues,\n} from 'utils/transformers/advancedSearch';\nimport { formatGlobalDate } from 'utils/date';\nimport { STATE_REGULATION_ITEM_TYPE } from 'utils/constants/itemTypes';\nimport { valueOrNull } from 'utils/forms/valueOrEmpty';\n\nfunction formatResponseDate(fromDate, toDate) {\n return {\n start: valueOrNull(fromDate),\n end: valueOrNull(toDate),\n };\n}\n\nfunction getDaysLabel(numberOfDays) {\n if (numberOfDays < 2) {\n return `${numberOfDays} day`;\n }\n\n return `${numberOfDays} days`;\n}\n\nfunction transformOptionsForUI(data = {}) {\n const { id, search_params } = data;\n const {\n lookup_keyword,\n states,\n agencies,\n show_only_open_comments,\n comment_period_days,\n last_action_date_from,\n last_action_date_to,\n enabled_agency_notices,\n enabled_state_notices,\n tag_ids,\n user_positions,\n } = search_params || {};\n\n return {\n id,\n options: {\n ...getValue('searchValue', lookup_keyword),\n ...getValue('states', states),\n ...getValue('agencies', agencies),\n ...getValue('isOpenCommentPeriod', show_only_open_comments),\n ...getValue('commentPeriodDays', comment_period_days),\n ...getValue('lastActionDate', formatResponseDate(last_action_date_from, last_action_date_to)),\n ...{ isAgencyNotice: Boolean(enabled_agency_notices) },\n ...{ isStateNotice: Boolean(enabled_state_notices) },\n ...getValue('tags', tag_ids),\n ...getValue('position', user_positions),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}) {\n const { name, search_params } = data;\n const {\n lookup_keyword,\n states,\n agencies,\n show_only_open_comments,\n comment_period_days,\n last_action_date_from,\n last_action_date_to,\n enabled_agency_notices,\n enabled_state_notices,\n tag_ids,\n user_positions,\n } = search_params || {};\n\n function getOpenCommentsText() {\n if (!show_only_open_comments) {\n return null;\n }\n\n if (isNil(comment_period_days)) {\n return 'open only';\n }\n\n return `open (closing in ${getDaysLabel(comment_period_days)}) only`;\n }\n\n function getYesNoLabel(checkValue) {\n return checkValue ? 'Yes' : 'No';\n }\n\n const filters = [\n getDisplayItem('Searched', lookup_keyword),\n getDisplayItem('States', getLabelFromItem(states)),\n getDisplayItem('Agencies', getLabelFromItem(agencies)),\n getDisplayItem('Comment period', getOpenCommentsText(agencies)),\n getDisplayItem('Last action from', last_action_date_from),\n getDisplayItem('Last action to', last_action_date_to),\n getDisplayItem('Include Agency notices', getYesNoLabel(enabled_agency_notices)),\n getDisplayItem('Include State notices', getYesNoLabel(enabled_state_notices)),\n getDisplayItem('Tags', getLabelFromItem(tag_ids)),\n getDisplayItem('Position', getLabelFromItem(user_positions)),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options, ids } = data || {};\n const {\n states,\n agencies,\n isOpenCommentPeriod,\n commentPeriodDays,\n lastActionDate,\n isStateNotice,\n isAgencyNotice,\n tags,\n position,\n } = options || {};\n\n /** Add default state when no filters are applied */\n const enabledAgencyNotice = isEmpty(data) ? emptyState.options.isAgencyNotice : isAgencyNotice;\n const enabledStateNotice = isEmpty(data) ? emptyState.options.isStateNotice : isStateNotice;\n\n return {\n ...getValue('lookup_keyword', searchValue),\n ...getValue('ids', ids),\n ...getValue('states', transformSelectValues(states)),\n ...getValue('agencies', transformSelectValues(agencies)),\n ...getValue('show_only_open_comments', isOpenCommentPeriod),\n ...getValue('comment_period_days', commentPeriodDays > 0 && toString(commentPeriodDays)),\n ...getValue('last_action_date_from', lastActionDate && formatGlobalDate(lastActionDate.start)),\n ...getValue('last_action_date_to', lastActionDate && formatGlobalDate(lastActionDate.end)),\n ...getValue('tag_ids', transformSelectValues(tags)),\n ...getValue('user_positions', transformSelectValues(position)),\n enabled_agency_notices: enabledAgencyNotice,\n enabled_state_notices: enabledStateNotice,\n };\n}\n\nexport function transformSearchesForBE(data = {}) {\n const { searchValue, options, ids } = data || {};\n const {\n states,\n agencies,\n isOpenCommentPeriod,\n commentPeriodDays,\n lastActionDate,\n isStateNotice,\n isAgencyNotice,\n tags,\n position,\n } = options || {};\n\n /** Add default state when no filters are applied */\n const enabledAgencyNotice = isEmpty(data) ? emptyState.options.isAgencyNotice : isAgencyNotice;\n const enabledStateNotice = isEmpty(data) ? emptyState.options.isStateNotice : isStateNotice;\n\n return {\n ...getValue('lookup_keyword', searchValue),\n ...getValue('ids', ids),\n ...getValue('states', transformSelectValues(states)),\n ...getValue('agencies', transformSelectValues(agencies)),\n ...getValue('show_only_open_comments', isOpenCommentPeriod),\n ...getValue('comment_period_days', commentPeriodDays > 0 && toString(commentPeriodDays)),\n ...getValue('last_action_date_from', lastActionDate && formatGlobalDate(lastActionDate.start)),\n ...getValue('last_action_date_to', lastActionDate && formatGlobalDate(lastActionDate.end)),\n ...getValue('tag_ids', tags),\n ...getValue('user_positions', position),\n enabled_agency_notices: enabledAgencyNotice,\n enabled_state_notices: enabledStateNotice,\n };\n}\n\nexport function transformSearchesForUI(data, regulationProps) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item, regulationProps),\n ...transformOptionsForUI(item),\n }));\n}\n\nfunction getRegisterLabel(registerField = {}) {\n if (isEmpty(registerField)) {\n return {};\n }\n\n const {\n published_date: date,\n label,\n register_issue_number: introducedIssue,\n register_volume_number: introducedVolume,\n url,\n } = registerField;\n\n if (isEmpty(date)) {\n return { url };\n }\n\n if ((isEmpty(introducedIssue) && isEmpty(introducedVolume)) || isEmpty(label)) {\n return { date, url };\n }\n\n return { date, label, url };\n}\n\nexport function transformRegulationForUI(regulations = [], page = 1) {\n return regulations.map(({\n id,\n title,\n url,\n last_action,\n last_action_date,\n overview,\n comments_open,\n comments_closed,\n agencies,\n state,\n summary,\n code_citation,\n register_online_url,\n relevant_links,\n record_type,\n }, index) => {\n const { body: summaryText } = summary || {};\n const { administrative_code_url: administrativeCodeUrl } = relevant_links || {};\n const isRegulationDocument = record_type === REGULATION_DOCUMENT;\n const documentType = isRegulationDocument\n ? DOCUMENT_TYPES.STATE_REGULATION_DOCUMENT\n : DOCUMENT_TYPES.STATE_REGULATION;\n\n return {\n id,\n index,\n page,\n title,\n url,\n recordId: id,\n recordType: record_type,\n textSnippet: overview,\n lastActionDate: last_action_date,\n agencies: !isEmpty(agencies) && agencies.map(agency => capitalize(agency.title)),\n state: !isEmpty(state) && state.alpha2,\n lastAction: getRegisterLabel(last_action),\n stateRegisterUrl: register_online_url,\n commentsOpenDate: comments_open,\n commentsClosedDate: comments_closed,\n summary: summaryText,\n codeCitation: {\n value: code_citation,\n href: administrativeCodeUrl,\n },\n documentType,\n itemType: STATE_REGULATION_ITEM_TYPE,\n withTrack: !isRegulationDocument,\n };\n });\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue } = data;\n const {\n states,\n agencies,\n isOpenCommentPeriod,\n commentPeriodDays,\n lastActionDate,\n isAgencyNotice,\n isStateNotice,\n tags,\n } = data.options || {};\n\n return {\n 'strategy_inputs[lookup_keyword]': searchValue,\n 'strategy_inputs[states]': transformSelectValues(states),\n 'strategy_inputs[agencies]': transformSelectValues(agencies),\n 'strategy_inputs[show_only_open_comments]': isOpenCommentPeriod,\n 'strategy_inputs[tag_ids]': transformSelectValues(tags),\n 'strategy_inputs[comment_period_days]': commentPeriodDays > 0 && toString(commentPeriodDays),\n 'strategy_inputs[last_action_date_from]': lastActionDate && lastActionDate.start,\n 'strategy_inputs[last_action_date_to]': lastActionDate && lastActionDate.end,\n 'strategy_inputs[enabled_agency_notices]': isAgencyNotice,\n 'strategy_inputs[enabled_state_notices]': isStateNotice,\n };\n}\n\nexport function getExportSortInfo(data = {}) {\n const { direction, sort } = data;\n\n return {\n 'strategy_inputs[order_column]': sort,\n 'strategy_inputs[order_mode]': direction,\n };\n}\n","import { isEmpty, compact, capitalize } from 'lodash';\n\nimport dataParties from 'components/Moneyball/utils/dataParties';\nimport dataCommitteeTypes from 'components/Moneyball/utils/dataCommitteeTypes';\nimport dataSourceTypes from 'components/Moneyball/utils/dataSourceTypes';\nimport dataElectionTypes from 'components/Moneyball/utils/dataElectionTypes';\nimport { getAmountValue, getDateValue } from 'redux/moneyball/utils/index';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport {\n RECEIVED,\n DISBURSED,\n INDIVIDUAL,\n COMMITTEE,\n VENDOR,\n BOTH,\n ALL,\n} from 'components/Moneyball/utils/constants';\n\n// TODO: replace with utils file when commits from stakeholder directory will be merged\n\nfunction getTypeValue(items, collection) {\n if (isEmpty(items)) return [];\n\n return items.map((item) => {\n const { label } = (collection && collection.find(i => i.value === item)) || {};\n\n return label;\n }).filter(Boolean);\n}\n\nfunction objectValuesToArr(items) {\n if (isEmpty(items)) return null;\n return items.map(({ value }) => value).filter(Boolean) || [];\n}\n\nexport function getUrl(type, id) {\n return `/moneyball_v2/${type}s/${id}`;\n}\n\nexport function formatZipCode(zipCode) {\n return zipCode && zipCode.substr(0, 5);\n}\n\nexport function getValue(key, value, allowEmpty = false) {\n if (!allowEmpty && isEmpty(value)) return null;\n return { [key]: value };\n}\n\nexport function getAmountsValueByType(amount_donated, amount_received) {\n const amountsType = amount_donated ? DISBURSED : RECEIVED;\n\n return {\n amountLabel: `${capitalize(amountsType)} Amounts`,\n amountValue: amount_donated\n ? getAmountValue(amount_donated)\n : getAmountValue(amount_received),\n };\n}\n\nexport function formatDates(date = {}) {\n const { start, end } = date;\n const startDate = start || null;\n const endDate = end || null;\n\n return { startDate, endDate };\n}\n\nexport function formatAmounts(amount = {}) {\n const { start, end } = amount;\n const fromValue = start || '';\n const toValue = end || '';\n\n return { fromValue, toValue };\n}\n\nexport function formatAmountsValueByType(amount_donated, amount_received) {\n const amountsType = amount_donated ? DISBURSED : RECEIVED;\n let fromValue;\n let toValue;\n\n if (amountsType === DISBURSED) {\n const { start, end } = amount_donated || {};\n fromValue = start || '';\n toValue = end || '';\n }\n\n if (amountsType === RECEIVED) {\n const { start, end } = amount_received || {};\n fromValue = start || '';\n toValue = end || '';\n }\n\n return { fromValue, toValue, type: amountsType };\n}\n\nexport function formatSelectValueForFE(items) {\n if (isEmpty(items)) return [];\n return items.map(item => ({ label: item.value, value: item.id }));\n}\n\nexport function formatSelectValueToArrForBE(items) {\n return objectValuesToArr(items);\n}\n\nexport function formatSelectTypeToValForFE(items) {\n if (isEmpty(items)) return null;\n\n return items.map(({ type, checked }) => ({\n value: type,\n ...(checked && {\n checked: [\n ...checked,\n ],\n }),\n })).filter(item => !isEmpty(item.value));\n}\n\nexport function formatReceivedTypesForBE(items) {\n if (isEmpty(items)) return null;\n\n const formatData = ({ value, checked }) => {\n const names = {\n state: 'state_code',\n };\n\n if (!isEmpty(checked)) {\n return checked.reduce((collection, current) => ([\n ...collection,\n {\n type: value,\n [names[value]]: current.value,\n },\n ]), []);\n }\n\n return [{ type: value }];\n };\n\n return items.reduce((collection, item) => [...collection, ...formatData(item)], []);\n}\n\nexport function formatSelectValueToObjForBE(items) {\n if (isEmpty(items)) return null;\n return items.map(item => ({ id: item.value, value: item.label }));\n}\n\nexport function formatReceivedAmountsForBE(type, value) {\n return type === RECEIVED ? value : null;\n}\n\nexport function formatDisbursedAmountsForBE(type, value) {\n return type === DISBURSED ? value : null;\n}\n\nexport function formatContributorType(type) {\n return type && type !== BOTH && [type];\n}\n\nexport function sourceSelectValueForBE(items) {\n if (isEmpty(items)) return [];\n return items.map(item => item);\n}\n\nexport function formatTypesForSaveBE(items) {\n if (isEmpty(items)) return [];\n\n return items.map(({ value, checked }) => ({\n type: value,\n ...(checked && { checked }),\n }));\n}\n\nexport function getCommitteeTypeValue(items) {\n return getTypeValue(items, dataCommitteeTypes);\n}\n\nexport function getPartiesTypeValue(items) {\n return getTypeValue(items, dataParties);\n}\n\nexport function getPluralLabel(label, items) {\n const { length } = items || [];\n\n if (length > 1) {\n return `${label}(s)`;\n }\n\n return label;\n}\n\nexport function getCommitteeTypeFilterValue(items) {\n if (isEmpty(items)) return [];\n\n return items.map(({ type, checked }) => {\n const { label } = dataSourceTypes.find(i => i.value === type) || {};\n\n if (!isEmpty(checked)) {\n const checkedValues = objectValuesToArr(checked).join(', ');\n\n if (checkedValues.length > 2) {\n return `${label}s (${checkedValues})`;\n }\n\n return `${label} (${checkedValues})`;\n }\n\n return label;\n }).filter(Boolean);\n}\n\nexport function getElectionTypeFilterValue(items) {\n if (isEmpty(items)) return [];\n\n return items.map(({ type }) => {\n const { label } = dataElectionTypes.find(i => i.value === type) || {};\n return label;\n }).filter(Boolean);\n}\n\nexport function getContributorType(contributor = [], toCapitalize = false) {\n const contributorType = !isEmpty(contributor) ? contributor[0] : BOTH;\n\n return toCapitalize ? capitalize(contributorType) : contributorType;\n}\n\nexport function getRecipientType(recipient = {}, toCapitalize = false) {\n const { super_committees, super_vendors, super_individuals } = recipient;\n let result;\n\n if (!isEmpty(super_committees) && !isEmpty(super_individuals)) result = ALL;\n if (!result && !isEmpty(super_individuals)) result = INDIVIDUAL;\n if (!result && !isEmpty(super_committees)) result = COMMITTEE;\n if (!result && !isEmpty(super_vendors)) result = VENDOR;\n\n return toCapitalize ? capitalize(result) : result;\n}\n\nexport function getContributionDonorInfo({ superCommDonor, superIndDonor, superCorpDonor }) {\n if (!isEmpty(superCommDonor)) {\n const { id, name } = superCommDonor;\n\n return {\n id,\n name,\n url: getUrl('committee', id),\n };\n }\n\n if (!isEmpty(superIndDonor)) {\n const { id, last_name, first_name } = superIndDonor;\n const name = [last_name, first_name].filter(Boolean).join(', ');\n\n return {\n id,\n name,\n url: getUrl('individual', id),\n };\n }\n\n if (!isEmpty(superCorpDonor)) {\n const { id, name } = superCorpDonor;\n\n return {\n id,\n name,\n url: getUrl('corporation', id),\n };\n }\n\n return {};\n}\n\nexport function getContributionRecipientInfo(super_committee_recipient) {\n if (!isEmpty(super_committee_recipient)) {\n const { id, name, party_full } = super_committee_recipient;\n\n return {\n id,\n recipient: name,\n recipientUrl: getUrl('committee', id),\n recipientParty: party_full,\n };\n }\n\n return {};\n}\n\nexport function getDisbursedRecipientInfo(recipient = {}) {\n const { super_committee, super_individual, super_vendor } = recipient;\n const { id: superCommitteeId, name: superCommitteeName } = super_committee || {};\n const { id: superIndividualId, name: superIndividualName } = super_individual || {};\n const { id: superVendorId, name: superVendorName } = super_vendor || {};\n\n let disbursedToId;\n let disbursedToName;\n let disbursedToUrl;\n\n if (super_committee) {\n disbursedToId = superCommitteeId;\n disbursedToName = superCommitteeName;\n disbursedToUrl = `/moneyball_v2/committees/${superCommitteeId}`;\n }\n\n if (super_individual) {\n disbursedToId = superIndividualId;\n disbursedToName = superIndividualName;\n disbursedToUrl = `/moneyball_v2/individuals/${superIndividualId}`;\n }\n\n if (super_vendor) {\n disbursedToId = superVendorId;\n disbursedToName = superVendorName;\n disbursedToUrl = `/moneyball_v2/vendors/${superVendorId}`;\n }\n\n return {\n id: disbursedToId,\n recipient: disbursedToName,\n recipientUrl: disbursedToUrl,\n };\n}\n\nexport function getLabelForUI(items) {\n if (isEmpty(items)) return null;\n return items.map(({ label }) => label);\n}\n\nexport function transformReceiptContributions({\n committee_donor,\n individual_donor,\n corporation_donor,\n committee_recipient,\n receipt,\n}) {\n const { name: donorName } = individual_donor || committee_donor || corporation_donor || {};\n\n const {\n name: recipientName,\n address_city,\n address_state_code,\n address_zip_code,\n treasurer_name,\n type_full,\n } = committee_recipient || {};\n\n const {\n contribution_amount,\n contribution_date,\n source_type_full,\n election_type_full,\n election_cycle,\n is_pdf_available,\n } = receipt || {};\n\n return {\n spender: donorName,\n recipient: recipientName,\n recipientAddress: [\n address_city,\n [address_state_code, formatZipCode(address_zip_code)].filter(Boolean).join(' '),\n ].filter(Boolean).join(', '),\n recipientTreasurer: treasurer_name,\n recipientCommitteeType: type_full,\n amount: contribution_amount,\n date: contribution_date,\n sourceType: source_type_full,\n electionType: election_type_full,\n electionCycle: election_cycle,\n hasPdf: is_pdf_available,\n };\n}\n\nexport function transformReceiptDisbursements({\n spender_name,\n recipient_name,\n disbursement_amount,\n disbursement_date,\n disbursement_description,\n election_cycle,\n is_pdf_available,\n}) {\n return {\n spender: spender_name,\n recipient: recipient_name,\n amount: disbursement_amount,\n date: disbursement_date,\n description: disbursement_description,\n electionCycle: election_cycle,\n hasPdf: is_pdf_available,\n };\n}\n\nexport function transformContributionSearchesForFront({\n query,\n queryType,\n contribution_date,\n contribution_amount,\n contributor_types,\n ids,\n types,\n names,\n employers,\n occupations,\n streets,\n cities,\n states,\n zip_codes,\n source_types,\n election_types,\n}) {\n return {\n filters: compact([\n getDisplayItem('Searched', query),\n getDisplayItem('Searched type', queryType),\n getDisplayItem('Dates', getDateValue(contribution_date)),\n getDisplayItem('Amounts', getAmountValue(contribution_amount)),\n getDisplayItem('Contributor Type', getContributorType(contributor_types, true)),\n getDisplayItem('Non-individual name(s)', getLabelForUI(ids)),\n getDisplayItem('Committee type(s)', getCommitteeTypeValue(types)),\n getDisplayItem('Individual Name(s)', names),\n getDisplayItem('Employer(s)', employers),\n getDisplayItem('Occupation(s)', occupations),\n getDisplayItem('Street name(s)', streets),\n getDisplayItem('Cities', cities),\n getDisplayItem('State(s)', states),\n getDisplayItem('Zip code(s)', zip_codes),\n getDisplayItem(getPluralLabel('Source type', source_types), getCommitteeTypeFilterValue(source_types)),\n getDisplayItem(getPluralLabel('Election type', election_types), getElectionTypeFilterValue(election_types)),\n ]),\n options: {\n ...getValue('searchValue', query),\n ...getValue('searchType', queryType && queryType.toLowerCase()),\n options: {\n ...getValue('dates', formatDates(contribution_date)),\n ...getValue('amounts', formatAmounts(contribution_amount)),\n ...getValue('contributorType', getContributorType(contributor_types)),\n ...getValue('contributorNonIndividual', ids),\n ...getValue('contributorCommitteeTypes', types),\n ...getValue('contributorIndividuals', formatSelectValueForFE(names)),\n ...getValue('contributorEmployers', formatSelectValueForFE(employers)),\n ...getValue('contributorOccupations', formatSelectValueForFE(occupations)),\n ...getValue('contributorStreet', formatSelectValueForFE(streets)),\n ...getValue('contributorCity', formatSelectValueForFE(cities)),\n ...getValue('contributorStates', formatSelectValueForFE(states)),\n ...getValue('contributorZip', formatSelectValueForFE(zip_codes)),\n ...getValue('sourceTypes', formatSelectTypeToValForFE(source_types)),\n ...getValue('electionTypes', formatSelectTypeToValForFE(election_types)),\n },\n },\n };\n}\n","import { compact, isEmpty } from 'lodash';\n\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport {\n getValue,\n transformSelectValues,\n formatSelectValue,\n getLabelFromItem,\n} from 'utils/transformers/advancedSearch';\nimport { transformAgencyStaffer } from './transformers';\n\nfunction transformOptionsForUI(data = {}) {\n const { id } = data;\n const {\n keyword,\n ids,\n titles,\n department_names,\n parent_organization_names,\n organization_names,\n } = data.search_params || {};\n\n return {\n id,\n options: {\n ...getValue('searchValue', keyword),\n ...getValue('specificContact', (ids)),\n ...getValue('title', formatSelectValue(titles)),\n ...getValue('departmentName', formatSelectValue(department_names)),\n ...getValue('parentOrganizationName', formatSelectValue(parent_organization_names)),\n ...getValue('organizationName', formatSelectValue(organization_names)),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}) {\n const { name } = data;\n const {\n keyword,\n ids,\n titles,\n department_names,\n parent_organization_names,\n organization_names,\n } = data.search_params;\n\n const filters = [\n getDisplayItem('Searched', keyword),\n getDisplayItem('Specific Contact', getLabelFromItem(ids)),\n getDisplayItem('Title', titles),\n getDisplayItem('Department Name', department_names),\n getDisplayItem('Parent Organization Name', parent_organization_names),\n getDisplayItem('Organization Name', organization_names),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue } = data;\n const {\n specificContact,\n title,\n departmentName,\n parentOrganizationName,\n organizationName,\n } = data.options || {};\n\n return {\n ...getValue('keyword', searchValue),\n ...getValue('ids', transformSelectValues(specificContact)),\n ...getValue('titles', transformSelectValues(title)),\n ...getValue('department_names', transformSelectValues(departmentName)),\n ...getValue('parent_organization_names', transformSelectValues(parentOrganizationName)),\n ...getValue('organization_names', transformSelectValues(organizationName)),\n };\n}\n\nexport function transformOptionsForSave(data = {}) {\n const { searchValue } = data;\n const {\n specificContact,\n title,\n departmentName,\n parentOrganizationName,\n organizationName,\n } = data.options || {};\n\n return {\n ...getValue('keyword', searchValue),\n ...getValue('ids', specificContact),\n ...getValue('titles', transformSelectValues(title)),\n ...getValue('department_names', transformSelectValues(departmentName)),\n ...getValue('parent_organization_names', transformSelectValues(parentOrganizationName)),\n ...getValue('organization_names', transformSelectValues(organizationName)),\n };\n}\n\nexport function transformSearchesForUI(data) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item),\n ...transformOptionsForUI(item),\n }));\n}\n\nexport function transformAgencyStaffersForUI(agencyStaffers = [], page = '1') {\n return agencyStaffers.map((agencyStaffer, index) => transformAgencyStaffer(agencyStaffer, index, page));\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue } = data || {};\n const {\n specificContact,\n title,\n departmentName,\n parentOrganizationName,\n organizationName,\n } = data.options || {};\n\n return {\n 'strategy_inputs[keyword]': searchValue || undefined,\n ...(!isEmpty(specificContact) && { 'strategy_inputs[ids]': transformSelectValues(specificContact) }),\n 'strategy_inputs[titles]': transformSelectValues(title),\n 'strategy_inputs[department_names]': transformSelectValues(departmentName),\n 'strategy_inputs[parent_organization_names]': transformSelectValues(parentOrganizationName),\n 'strategy_inputs[organization_names]': transformSelectValues(organizationName),\n };\n}\n\nexport function getExportSortInfo(data = {}) {\n const { direction, sort } = data;\n\n return {\n 'strategy_inputs[order_column]': sort,\n 'strategy_inputs[order_mode]': direction,\n };\n}\n","import { uniq, map, flatMap, get, find, compact, toLower, sortBy } from 'lodash';\n\nimport { PHONE_TYPE } from 'components/core/Profile/utils/constants';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport {\n getValue,\n transformSelectValues,\n formatSelectValue,\n getLabelFromItem,\n} from 'utils/transformers/advancedSearch';\nimport { PARTY_OPTIONS } from 'utils/constants/parties';\nimport { joinCompact, getParenthesisItem } from 'utils/string';\n\nimport { SOCIAL_MEDIA_LIST } from './constants';\n\nconst getUrlOfType = (urls, type) => get(find(urls, url => (url.type === type)), 'url');\n\nconst getSocialMediaUrl = (urls, socialMedia) => {\n const url = getUrlOfType(urls, socialMedia.type);\n\n if (!url) return null;\n\n return { url, name: socialMedia.name };\n};\n\nexport const getSocialMedia = urls => (\n compact(SOCIAL_MEDIA_LIST.map(socialMedia => getSocialMediaUrl(urls, socialMedia)))\n);\n\nexport const getOrganizations = positions => (\n uniq(flatMap(positions, ({ organizations }) => map(sortBy(organizations, 'level'), 'name')))\n);\n\nexport const getState = (positions) => {\n const stateCodePath = 'address.state.code';\n const positionWithState = find(positions, position => get(position, stateCodePath));\n\n return get(positionWithState, stateCodePath);\n};\n\nexport const getBranch = executivePositions => executivePositions.map(position => get(position, 'additional_info.branch'));\n\nexport const getPhone = (positions) => {\n let phone;\n\n const formatPhone = () => (\n phone && joinCompact([getParenthesisItem(phone.area_code), phone.phone_number], ' ')\n );\n\n find(positions, ({ phones }) => {\n phone = find(phones, positionPhone => (\n toLower(positionPhone.type) === PHONE_TYPE\n ));\n\n return phone;\n });\n\n return formatPhone();\n};\n\nexport const getAddressFromExecutivePositions = executivePositions => executivePositions\n .map(({ address }) => `${address.street}, ${address.city}, ${address.state.name}, ${address.zip_code}`);\n\nexport function transformSelectLocationValues(items = []) {\n return items.map(({ label, value, filters }) => ({ label, value, ...filters }));\n}\n\nexport function transformExecutive(executive) {\n const {\n id,\n full_name: fullName,\n executive_positions: executivePositions,\n positions,\n urls,\n party,\n } = executive;\n\n return {\n id,\n name: fullName,\n url: `/local/executives/${id}`,\n title: uniq(map(positions, 'title')),\n branch: getBranch(executivePositions),\n phone: getPhone(positions),\n email: getUrlOfType(urls, 'Email'),\n socialMedia: getSocialMedia(urls),\n address: getAddressFromExecutivePositions(executivePositions),\n party,\n };\n}\n\nexport function transformExecutivesForUI(response) {\n return map(response.data, transformExecutive);\n}\n\nexport function transformOptionsForBE(data) {\n const { searchValue, options } = data;\n const {\n executives,\n organizations,\n parties,\n states,\n titles,\n branches,\n counties,\n cities,\n zipCodes,\n electionDates,\n } = options;\n\n return {\n ...getValue('keyword', searchValue),\n ...getValue('person_ids', transformSelectValues(executives)),\n ...getValue('states', transformSelectValues(states)),\n ...getValue('counties', transformSelectValues(counties)),\n ...getValue('cities', transformSelectValues(cities)),\n ...getValue('zip_codes', transformSelectValues(zipCodes)),\n ...getValue('organizations', transformSelectValues(organizations)),\n ...getValue('titles', transformSelectValues(titles)),\n ...getValue('parties', parties),\n ...getValue('branches', transformSelectValues(branches)),\n ...getValue('election_dates', transformSelectValues(electionDates)),\n };\n}\n\nfunction getDisplayDataForRecentSearches(data) {\n const {\n keyword,\n executives,\n organizations,\n parties,\n titles,\n counties,\n states,\n cities,\n zip_codes: zipCodes,\n branches,\n election_dates: electionDates,\n } = data.search_params;\n\n const filters = [\n getDisplayItem('Searched', keyword),\n getDisplayItem('Executive name', getLabelFromItem(executives)),\n getDisplayItem('Organization', organizations),\n getDisplayItem('Title', titles),\n getDisplayItem('Party', map(parties, party => PARTY_OPTIONS[party])),\n getDisplayItem('County', getLabelFromItem(counties)),\n getDisplayItem('State', getLabelFromItem(states)),\n getDisplayItem('City', getLabelFromItem(cities)),\n getDisplayItem('Branch', getLabelFromItem(branches)),\n getDisplayItem('Zip Code', zipCodes),\n getDisplayItem('Elected on (year)', electionDates),\n ];\n\n return {\n title: data.name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nfunction transformOptionsForUI(data = {}) {\n const {\n keyword,\n executives,\n parties,\n titles,\n branches,\n election_dates: electionDates,\n states,\n counties,\n cities,\n zipCodes,\n } = data.search_params;\n\n return {\n id: data.id,\n options: {\n ...getValue('searchValue', keyword),\n ...getValue('executives', executives),\n ...getValue('titles', formatSelectValue(titles)),\n ...getValue('parties', parties),\n ...getValue('branches', branches),\n ...getValue('electionDates', electionDates),\n ...getValue('states', states),\n ...getValue('counties', counties),\n ...getValue('cities', cities),\n ...getValue('zipCodes', zipCodes),\n },\n };\n}\n\nexport const transformSearchesForUI = data => data.map(item => ({\n ...getDisplayDataForRecentSearches(item),\n ...transformOptionsForUI(item),\n}));\n\nexport function transformOptionsForSave(data) {\n const { searchValue, options } = data;\n const {\n executives,\n titles,\n cities,\n zipCodes,\n counties,\n states,\n branches,\n parties,\n electionDates,\n } = options;\n\n return {\n ...getValue('keyword', searchValue),\n ...getValue('executives', executives),\n ...getValue('parties', parties),\n ...getValue('titles', transformSelectValues(titles)),\n ...getValue('cities', cities),\n ...getValue('states', states),\n ...getValue('branches', branches),\n ...getValue('zip_codes', transformSelectValues(zipCodes)),\n ...getValue('counties', counties),\n ...getValue('election_dates', transformSelectValues(electionDates)),\n };\n}\n","import { uniq, map, flatMap, get, find, compact, toLower, sortBy } from 'lodash';\n\nimport { PHONE_TYPE } from 'components/core/Profile/utils/constants';\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport {\n getValue,\n transformSelectValues,\n formatSelectValue,\n getLabelFromItem,\n} from 'utils/transformers/advancedSearch';\nimport { PARTY_OPTIONS } from 'utils/constants/parties';\nimport { joinCompact, getParenthesisItem } from 'utils/string';\n\nimport { SOCIAL_MEDIA_LIST } from './constants';\n\nconst getUrlOfType = (urls, type) => get(find(urls, url => (url.type === type)), 'url');\n\nconst getSocialMediaUrl = (urls, socialMedia) => {\n const url = getUrlOfType(urls, socialMedia.type);\n\n if (!url) return null;\n\n return { url, name: socialMedia.name };\n};\n\nexport const getSocialMedia = urls => (\n compact(SOCIAL_MEDIA_LIST.map(socialMedia => getSocialMediaUrl(urls, socialMedia)))\n);\n\nexport const getOrganizations = positions => (\n uniq(flatMap(positions, ({ organizations }) => map(sortBy(organizations, 'level'), 'name')))\n);\n\nexport const getState = (positions) => {\n const stateCodePath = 'address.state.code';\n const positionWithState = find(positions, position => get(position, stateCodePath));\n\n return get(positionWithState, stateCodePath);\n};\n\nexport const getPhone = (positions) => {\n let phone;\n\n const formatPhone = () => (\n phone && joinCompact([getParenthesisItem(phone.area_code), phone.phone_number], ' ')\n );\n\n find(positions, ({ phones }) => {\n phone = find(phones, positionPhone => (\n toLower(positionPhone.type) === PHONE_TYPE\n ));\n\n return phone;\n });\n\n return formatPhone();\n};\n\nexport function transformExecutive(executive) {\n const {\n id,\n full_name,\n positions,\n urls,\n party,\n } = executive;\n\n return {\n id,\n name: full_name,\n url: `/state/executives/${id}`,\n title: uniq(map(positions, 'title')),\n state: getState(positions),\n phone: getPhone(positions),\n email: getUrlOfType(urls, 'Email'),\n socialMedia: getSocialMedia(urls),\n organizations: getOrganizations(positions),\n party,\n };\n}\n\nexport function transformExecutivesForUI(response) {\n return map(response.data, transformExecutive);\n}\n\nexport function transformOptionsForBE(data) {\n const { searchValue, options } = data;\n const {\n executives,\n organizations,\n parties,\n states,\n titles,\n } = options;\n\n return {\n ...getValue('keyword', searchValue),\n ...getValue('person_ids', transformSelectValues(executives)),\n ...getValue('states', transformSelectValues(states)),\n ...getValue('organizations', transformSelectValues(organizations)),\n ...getValue('titles', transformSelectValues(titles)),\n ...getValue('parties', parties),\n };\n}\n\nfunction getDisplayDataForRecentSearches(data) {\n const {\n keyword,\n executives,\n organizations,\n parties,\n states,\n titles,\n } = data.search_params;\n\n const filters = [\n getDisplayItem('Searched', keyword),\n getDisplayItem('Executive name', getLabelFromItem(executives)),\n getDisplayItem('State', getLabelFromItem(states)),\n getDisplayItem('Organization', organizations),\n getDisplayItem('Title', titles),\n getDisplayItem('Party', map(parties, party => PARTY_OPTIONS[party])),\n ];\n\n return {\n title: data.name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nfunction transformOptionsForUI(data = {}) {\n const {\n keyword,\n executives,\n organizations,\n parties,\n states,\n titles,\n } = data.search_params;\n\n return {\n id: data.id,\n options: {\n ...getValue('searchValue', keyword),\n ...getValue('executives', executives),\n ...getValue('organizations', formatSelectValue(organizations)),\n ...getValue('titles', formatSelectValue(titles)),\n ...getValue('parties', parties),\n ...getValue('states', states),\n },\n };\n}\n\nexport function transformSearchesForUI(data) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item),\n ...transformOptionsForUI(item),\n }));\n}\n\nexport function transformOptionsForSave(data) {\n const { searchValue, options } = data;\n const {\n executives,\n organizations,\n parties,\n states,\n titles,\n } = options;\n\n return {\n ...getValue('keyword', searchValue),\n ...getValue('executives', executives),\n ...getValue('organizations', transformSelectValues(organizations)),\n ...getValue('parties', parties),\n ...getValue('states', states),\n ...getValue('titles', transformSelectValues(titles)),\n };\n}\n","const PREFIX = 'APPLIED_FILTERS';\n\nconst constants = {\n SET_APPLIED_FILTERS: `${PREFIX}/SET_APPLIED_FILTERS`,\n UPDATE_APPLIED_FILTERS: `${PREFIX}/UPDATE_APPLIED_FILTERS`,\n RESET_APPLIED_FILTERS: `${PREFIX}/RESET_APPLIED_FILTERS`,\n};\n\nexport default constants;\n","export const LEGISLATOR_TYPE = 'legislator';\nexport const COMMITTEE_TYPE = 'committee';\nexport const OTHER_TYPE = 'other';\n\nconst getActionTypes = keyword => ({\n SORT_STAFFER_DATA: `${keyword}/SORT_STAFFER_DATA`,\n SORT_STAFFER_DATA_DONE: `${keyword}/SORT_STAFFER_DATA_DONE`,\n});\n\nexport default getActionTypes;\n","const prefix = 'TRACKING';\n\nconst actionTypes = {\n FETCH_SUBSCRIPTIONS: `${prefix}/FETCH_SUBSCRIPTIONS`,\n RECEIVE_SUBSCRIPTIONS_DONE: `${prefix}/RECEIVE_SUBSCRIPTIONS_DONE`,\n RECEIVE_SUBSCRIPTIONS_ERROR: `${prefix}/RECEIVE_SUBSCRIPTIONS_ERROR`,\n UPDATE_SUBSCRIPTION: `${prefix}/UPDATE_SUBSCRIPTION`,\n};\n\nexport const TRACKABLE_SLUGS = [\n 'federal_bill',\n 'state_bill',\n 'federal_register_regulation',\n 'state_regulation',\n];\n\nexport default actionTypes;\n","import moment from 'moment';\nimport { filter, isEmpty, lowerCase, map, omit, pick, uniqBy } from 'lodash';\n\nimport { handleUpdateAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { downloadBlob } from 'utils/fileExport';\n\nimport { REQUEST_CONTENT_TYPE } from 'components/Moneyball/utils/constants';\nimport Notifications from 'components/Moneyball/utils/Notifications';\nimport { currencyFormat } from 'components/Moneyball/utils';\nimport { GLOBAL_DATE_FORMAT } from 'utils/constants/date';\n\nexport function getAmountValue(amount = {}) {\n const { start, end } = amount;\n\n if (isEmpty(start) && isEmpty(end)) return null;\n if (!start) return `<${currencyFormat(end)}`;\n if (!end) return `>${currencyFormat(start)}`;\n\n return `${currencyFormat(start)}-${currencyFormat(end)}`;\n}\n\nexport function getDateValue(date = {}) {\n const { start, end } = date;\n\n if (isEmpty(start) && isEmpty(end)) return null;\n\n const formattedStartDate = moment(start).format(GLOBAL_DATE_FORMAT);\n const formattedEndDate = moment(end).format(GLOBAL_DATE_FORMAT);\n\n if (!start) return `to ${formattedEndDate}`;\n if (!end) return `from ${formattedStartDate}`;\n\n return `${formattedStartDate}-${formattedEndDate}`;\n}\n\nexport function transformSort(props) {\n const {\n sort,\n direction,\n sort_column,\n sort_direction,\n } = props || {};\n\n const sortParam = sort || sort_column;\n const directionParam = direction || sort_direction;\n\n if (isEmpty(sortParam) || isEmpty(directionParam)) {\n return { toReset: true };\n }\n\n return {\n sort: sortParam,\n direction: directionParam,\n toReset: false,\n };\n}\n\nexport function transformPaginator({ pagination }) {\n const { is_estimated, page_number, total_count, page_size, total_pages } = pagination || {};\n\n return {\n isEstimated: is_estimated,\n perPage: page_size,\n current: page_number,\n totalItems: total_count,\n total: total_pages,\n };\n}\n\nexport function isSearchPayload({ searchData, clearAll }) {\n return Boolean(!isEmpty(searchData) || clearAll);\n}\n\nexport function fetchSearch({\n url,\n payload,\n actionType,\n transformSearchToQuery,\n transformAdvancedSearchToQuery,\n transformResponsePayload,\n saveRecentAdvancedSearch,\n}) {\n return (dispatch) => {\n const {\n searchData = {},\n appliedFilters,\n clearAll,\n sort,\n sort_column,\n sort_direction,\n direction,\n page,\n perPage,\n ...restParams\n } = payload;\n const isSearch = isSearchPayload(payload);\n const searchForm = isSearch ? searchData : appliedFilters;\n const lookupForm = {\n page_size: 100,\n ...pick(appliedFilters, ['sort_direction', 'sort_column', 'page_size', 'page']),\n ...((sort_direction || direction) && { sort_direction: sort_direction || direction }),\n ...((sort_column || sort) && { sort_column: sort_column || sort }),\n ...(perPage && { page_size: perPage }),\n ...(page && { page }),\n };\n\n /**\n * @TODO: Remove this omit and replace by object destructuring that picks up\n * only attributes needed by this function. The following pattern causes the\n * search to break if we send new parameters to search function in PageLookup.\n */\n const data = JSON.stringify({\n ...omit(restParams, [\n 'cluster',\n 'searchParams',\n 'receiptId',\n 'searchType',\n 'dataProps',\n 'isClickedItem',\n 'isAdvancedSearchOpen',\n 'isSearchClick',\n 'isSortColumn',\n ]),\n ...transformSearchToQuery(searchForm),\n ...lookupForm,\n });\n\n const ajax = $.ajax({\n url,\n data,\n type: 'POST',\n contentType: REQUEST_CONTENT_TYPE,\n });\n\n function onSuccess(response) {\n return dispatch({\n error: false,\n type: actionType,\n toResetSelectedItems: isSearch,\n payload: transformResponsePayload(response.items),\n paginator: transformPaginator(response),\n sort: transformSort(payload),\n });\n }\n\n function onFailure(error) {\n dispatch({\n error: true,\n type: actionType,\n toResetSelectedItems: isSearch,\n payload: [],\n paginator: {},\n sort: {\n toReset: isSearch,\n },\n });\n\n Notifications.defaultFetchDataFailed();\n throw error;\n }\n\n function saveAppliedFiltersToProps() {\n !clearAll\n ? dispatch(handleUpdateAppliedFilters({ ...searchForm, ...lookupForm }))\n : dispatch(resetAppliedFilters());\n }\n\n function saveAdvancedSearchQueries() {\n if (transformAdvancedSearchToQuery && saveRecentAdvancedSearch) {\n const advancedSearchData = transformAdvancedSearchToQuery(searchData);\n if (!isEmpty(advancedSearchData)) dispatch(saveRecentAdvancedSearch(advancedSearchData));\n }\n }\n\n function onFinally() {\n saveAppliedFiltersToProps();\n saveAdvancedSearchQueries();\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure)\n .finally(onFinally);\n };\n}\n\nexport function fetchSearchKeyDetails({\n url,\n payload,\n actionType,\n contentType,\n transformResponse,\n type = 'GET',\n}) {\n return (dispatch) => {\n const ajax = $.ajax({ url, type, contentType, data: payload });\n\n function onSuccess(response) {\n return dispatch({\n type: actionType,\n error: false,\n payload: transformResponse(response),\n });\n }\n\n function onFailure(error) {\n dispatch({\n type: actionType,\n error: true,\n payload: {},\n });\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchSearchReceipt({\n url,\n actionType,\n transformResponse,\n}) {\n return (dispatch) => {\n const ajax = $.get(url);\n\n function onSuccess(response) {\n return dispatch({\n error: false,\n type: actionType,\n payload: transformResponse(response),\n });\n }\n\n function onFailure(error) {\n dispatch({\n error: true,\n type: actionType,\n payload: {},\n });\n\n Notifications.defaultFetchDataFailed();\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function onSetElectionCycles(cycles, type) {\n return dispatch => (\n dispatch({\n payload: cycles,\n type,\n })\n );\n}\n\nexport function onSelectElectionCycle(selectedCycle, type) {\n return dispatch => (\n dispatch({\n payload: selectedCycle,\n type,\n })\n );\n}\n\nexport function exportBlob(fileName, data) {\n const blob = new Blob([data], { type: 'octet/stream' });\n\n downloadBlob(blob, fileName);\n}\n\nexport function fetchReport({ url, data, contentType, method = 'POST', customFileName }) {\n function parseFileName(contentDisposition) {\n return contentDisposition && contentDisposition.split('filename=')[1];\n }\n\n function handleOnSuccess({ fileName, blob }) {\n exportBlob(customFileName || fileName, blob);\n }\n\n const request = new Promise((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n xhr.open(method, url, true);\n xhr.setRequestHeader('Content-type', contentType);\n xhr.responseType = 'blob';\n xhr.onload = () => {\n const contentDisposition = xhr.getResponseHeader('Content-Disposition');\n const fileName = parseFileName(contentDisposition);\n\n if (xhr.status >= 200 && xhr.status < 300) {\n resolve({ fileName, blob: xhr.response });\n } else {\n reject(xhr.statusText);\n }\n };\n xhr.onerror = () => reject(xhr.statusText);\n xhr.send(data);\n });\n\n return Promise.resolve(request).then(handleOnSuccess);\n}\n\nexport function getUniqueValues(prop, originalValue, values) {\n const mappedData = map(values, prop);\n const filteredData = filter(mappedData, Boolean);\n const changedValues = filter(filteredData, item => lowerCase(item) !== lowerCase(originalValue));\n const uniqueValues = uniqBy(changedValues, lowerCase);\n\n if (isEmpty(originalValue)) {\n const [firstValue, ...restValues] = uniqueValues;\n\n return {\n value: firstValue,\n info: restValues,\n };\n }\n\n return {\n value: originalValue,\n info: uniqueValues,\n };\n}\n\nexport function slugify(data) {\n return data && data.toLowerCase()\n .replace(/[.,]/g, '') // remove dots and comma\n .replace(/\\s+/g, '-') // collapse whitespace and replace by -\n .replace(/-+/g, '-'); // collapse dashes and replace by -\n}\n","const keyword = 'AGENCY_STAFFER_PROFILE';\nconst constants = {\n FETCH_PROFILE: `${keyword}/FETCH_PROFILE`,\n RECEIVE_PROFILE_DONE: `${keyword}/RECEIVE_PROFILE_DONE`,\n PROFILE_NOT_FOUND: `${keyword}/PROFILE_NOT_FOUND`,\n FETCH_TAGS: `${keyword}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${keyword}/RECEIVE_TAGS_DONE`,\n};\n\nexport default constants;\n","const keyword = 'STATE_AGENCY_STAFFER';\n\nconst constants = {\n FETCH_STAFFER: `${keyword}/FETCH_STAFFER`,\n RECEIVE_STAFFER_DONE: `${keyword}/RECEIVE_STAFFER_DONE`,\n PROFILE_NOT_FOUND: `${keyword}/PROFILE_NOT_FOUND`,\n FETCH_TAGS: `${keyword}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${keyword}/RECEIVE_TAGS_DONE`,\n};\n\nexport default constants;\n","const PREFIX = 'STATE_EXECUTIVE';\n\nconst constants = {\n FETCH_EXECUTIVE: `${PREFIX}/FETCH_EXECUTIVE`,\n RECEIVE_EXECUTIVE_DONE: `${PREFIX}/RECEIVE_EXECUTIVE_DONE`,\n PROFILE_NOT_FOUND: `${PREFIX}/PROFILE_NOT_FOUND`,\n FETCH_TAGS: `${PREFIX}/FETCH_TAGS`,\n RECEIVE_TAGS_DONE: `${PREFIX}/RECEIVE_TAGS_DONE`,\n};\n\nexport default constants;\n","const keyword = 'STAFFERS';\n\nconst constants = {\n FETCH_STAFFERS: `${keyword}/FETCH_STAFFERS`,\n RECEIVE_STAFFERS_DONE: `${keyword}/RECEIVE_STAFFERS_DONE`,\n};\n\nexport const FEDERAL_LEGISLATOR_SLUG = 'federal_legislator';\nexport const STATE_LEGISLATOR_SLUG = 'state_legislator';\nexport const FEDERAL_COMMITTEE_SLUG = 'federal_committee';\nexport const STATE_EXECUTIVE_SLUG = 'state_executive';\n\nexport default constants;\n","import { isEmpty, isNil, omitBy } from 'lodash';\n\nimport {\n transformPaginator,\n transformSort,\n transformTableColumns,\n} from 'utils/transformers/paginator';\nimport { resetAppliedFilters } from 'redux/appliedSearchFilters/actions';\nimport { handleAppliedFilters } from 'redux/appliedSearchFilters/utils';\nimport getDistrictFilters from 'components/Stakeholder/common/utils/getDistrictFilters';\n\nimport { transformOptionsForBE, transformStakeholdersForUI } from '../utils/transformers';\nimport constants from '../constants';\n\nexport function getStakeholdersData(payload) {\n const {\n searchData = {},\n appliedFilters,\n clearAll,\n sort = 'id',\n direction = 'desc',\n page,\n perPage,\n } = payload;\n\n const isSearch = !(isEmpty(searchData) && !clearAll);\n const searchQuery = transformOptionsForBE(isSearch ? searchData : appliedFilters);\n const searchForm = !isEmpty(searchQuery) && { search_form: searchQuery };\n\n const url = '/api_web/stakeholder-management/stakeholders/lookup';\n const sortData = omitBy({ sort, direction, page, per_page: perPage }, isNil);\n const data = { ...searchForm, ...sortData };\n\n return { isSearch, url, data, sortData };\n}\n\nexport function fetchStakeholdersMapData(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAKEHOLDERS_MAP });\n\n const { searchData = {}, clearAll } = payload;\n const url = '/api_web/stakeholder-management/stakeholders/map';\n const { data } = getStakeholdersData(payload);\n\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_STAKEHOLDERS_MAP_DONE,\n payload: response,\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n function onFail(error) {\n dispatch({ type: constants.RECEIVE_STAKEHOLDERS_MAP_FAIL });\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(saveAppliedFiltersToProps)\n .catch(onFail);\n };\n}\n\nfunction fetchStakeholdersTableData(payload = {}) {\n return (dispatch) => {\n const { searchData = {}, clearAll } = payload;\n dispatch({ type: constants.FETCH_STAKEHOLDERS });\n\n const { isSearch, url, data, sortData } = getStakeholdersData(payload);\n\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_STAKEHOLDERS_DONE,\n payload: transformStakeholdersForUI(response.data),\n paginator: transformPaginator(response),\n toResetSelectedItems: isSearch,\n tableColumns: transformTableColumns(response.table_columns),\n sort: transformSort(sortData),\n isResetFilters: clearAll,\n });\n }\n\n function saveAppliedFiltersToProps() {\n return clearAll\n ? dispatch(resetAppliedFilters())\n : dispatch(handleAppliedFilters(searchData));\n }\n\n function onFail(error) {\n dispatch({ type: constants.RECEIVE_STAKEHOLDERS_FAIL });\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(saveAppliedFiltersToProps)\n .catch(onFail);\n };\n}\n\nexport function fetchStakeholders(payload = {}) {\n return (dispatch) => {\n const { isTablePageView = true } = payload;\n\n if (!isTablePageView) {\n return dispatch(fetchStakeholdersMapData(payload));\n }\n\n return dispatch(fetchStakeholdersTableData(payload));\n };\n}\n\nexport function fetchDistrictStakeholdersMetadata({\n isFederalSenator,\n state,\n stateName,\n districtName,\n districtId,\n chamberCategory,\n}) {\n return (dispatch) => {\n dispatch({\n type: constants.FETCH_DISTRICT_STAKEHOLDERS_METADATA,\n });\n\n const searchFilters = getDistrictFilters({\n isFederalSenator,\n state,\n stateName,\n districtName,\n districtId,\n chamberCategory,\n });\n\n const { url, data } = getStakeholdersData({ searchData: searchFilters, perPage: 1 });\n\n const request = $.post(url, data);\n\n const onFail = (error) => {\n dispatch({ type: constants.DISTRICT_STAKEHOLDERS_METADATA_FAIL });\n\n throw error;\n };\n\n const onSuccess = (response) => {\n const { totalCount, total: pages } = transformPaginator(response);\n\n dispatch({\n type: constants.RECEIVE_DISTRICT_STAKEHOLDERS_METADATA,\n payload: {\n totalCount,\n pages,\n state,\n districtId,\n },\n });\n };\n\n return Promise.resolve(request)\n .then(onSuccess)\n .catch(onFail);\n };\n}\n\nexport function resetState() {\n return dispatch => dispatch({\n type: constants.RESET_STATE,\n });\n}\n","import { map, omitBy, isNil, includes, filter } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getValue } from 'utils/transformers/advancedSearch';\n\nimport { PER_PAGE } from '../constants';\nimport { POST_TYPES, MEDIA_TWEET } from './constants';\n\nfunction transformUserEntity(entity) {\n if (!entity) {\n return null;\n }\n\n const {\n id,\n party_slug,\n party_short,\n chamber_slug,\n state_alpha2,\n full_name,\n universal_moniker,\n profile_photo,\n } = entity;\n\n return {\n ...getValue('id', id),\n ...getValue('partySlug', party_slug),\n ...getValue('partyShort', party_short),\n ...getValue('chamberSlug', chamber_slug),\n ...getValue('stateAlpha2', state_alpha2),\n ...getValue('fullName', full_name),\n ...getValue('universalMoniker', universal_moniker),\n ...getValue('profilePhoto', profile_photo),\n };\n}\n\nfunction transformPostUser(user) {\n const {\n account_id,\n account_screen_name,\n profile_photo,\n entity_type,\n entity_id,\n entity,\n id,\n name,\n lists,\n } = user || {};\n\n return {\n ...getValue('id', id),\n ...getValue('name', name),\n ...getValue('lists', lists),\n ...getValue('accountId', account_id),\n ...getValue('accountScreenName', account_screen_name),\n ...getValue('profilePhoto', profile_photo),\n ...getValue('entityType', entity_type),\n ...getValue('entityId', entity_id),\n entity: transformUserEntity(entity),\n };\n}\n\nexport function transformRequestData({ searchValue, options, page, ids }) {\n const {\n date: { startDate, endDate } = {},\n state,\n name,\n list,\n // party,\n // chamber,\n caucus,\n committee,\n tags,\n type,\n } = options || {};\n\n return {\n per_page: PER_PAGE,\n ...getValue('page', page),\n ...getValue('search_form', {\n ...getValue('keyword', searchValue),\n ...getValue('posted_after', startDate),\n ...getValue('posted_before', endDate),\n ...getValue('state_alpha2s', map(state, 'value')),\n ...getValue('user_names', map(name, 'value')),\n ...getValue('list_ids', map(list, 'value')),\n // ...getValue('party_slugs', party),\n // ...getValue('chamber_slugs', chamber),\n ...getValue('caucus_ids', map(caucus, 'value')),\n ...getValue('committee_ids', map(committee, 'value')),\n ...getValue('external_ids', ids),\n ...getValue('tag_ids', map(tags, 'value')),\n ...getValue('post_types', filter(type, postType => postType !== MEDIA_TWEET)),\n ...(includes(type, MEDIA_TWEET) && { include_media: true }),\n }),\n };\n}\n\nfunction transformMedia(media = []) {\n return map(media, ({ type, photo_url, preview_url, video_url }) => ({\n type,\n ...getValue('photoUrl', photo_url),\n ...getValue('previewUrl', preview_url),\n ...getValue('videoUrl', video_url),\n }));\n}\n\nfunction transformUserInfo({ screen_name, name, profile_image_url }) {\n return {\n ...getValue('name', name),\n ...getValue('screenName', screen_name),\n ...getValue('profileImageUrl', profile_image_url),\n };\n}\n\nfunction transformCommonProps({ media, body, id, user_info }) {\n return {\n body,\n id: Number(id),\n media: transformMedia(media),\n userInfo: transformUserInfo(user_info),\n };\n}\n\nfunction transformReplyTweet({ reply_to: replyTo }) {\n const { user_screen_name, tweet_id } = replyTo || {};\n\n return {\n replyTo: {\n userScreenName: user_screen_name,\n tweetId: tweet_id,\n },\n };\n}\n\nfunction transformQuotedTweet(quotedTweet = {}) {\n const { tweet_id: tweetId, tweet_url: tweetUrl } = quotedTweet;\n\n return { tweetId, tweetUrl };\n}\n\nfunction transformQuoteTweet({ quote_tweet: quoteTweet, quoted_tweet: quotedTweet }) {\n return {\n ...(!isNil(quoteTweet) && { quoteTweet: transformCommonProps(quoteTweet) }),\n ...(!isNil(quotedTweet) && { quotedTweet: transformQuotedTweet(quotedTweet) }),\n };\n}\n\nfunction transformRetweet({\n retweet = {},\n ...restProps\n}) {\n const { quote_tweet } = retweet;\n\n return {\n retweet: transformCommonProps(retweet),\n ...transformQuoteTweet({ ...restProps, quote_tweet }),\n };\n}\n\nexport function transformPost({\n external_token,\n posted_at,\n social_network,\n external_link,\n url,\n user,\n id,\n body,\n token,\n media,\n post_type,\n ...restProps\n}) {\n const type = post_type || POST_TYPES.TWEET;\n const { [type]: postTransformer } = {\n [POST_TYPES.REPLY_TWEET]: transformReplyTweet,\n [POST_TYPES.QUOTE_TWEET]: transformQuoteTweet,\n [POST_TYPES.RETWEET]: transformRetweet,\n [POST_TYPES.QUOTE_RETWEET]: transformRetweet,\n };\n\n return {\n type,\n id: Number(id),\n recordId: id,\n user: transformPostUser(user),\n documentType: DOCUMENT_TYPES.SOCIAL_MEDIA_POST,\n tags: [],\n ...getValue('externalToken', external_token),\n ...getValue('postedAt', posted_at),\n ...getValue('socialNetwork', social_network),\n ...getValue('externalLink', external_link || url),\n ...getValue('body', body),\n ...getValue('token', token),\n ...getValue('media', transformMedia(media)),\n ...(postTransformer && postTransformer(restProps)),\n };\n}\n\nexport function transformPosts(posts) {\n return map(posts, transformPost);\n}\n\nexport function transformOptionsForBE({ options }) {\n const {\n date: { startDate, endDate } = {},\n state,\n name,\n list,\n // party,\n // chamber,\n caucus,\n committee,\n tags,\n type,\n } = options || {};\n\n return omitBy({\n ...getValue('date_from', startDate),\n ...getValue('date_to', endDate),\n ...getValue('states', state),\n ...getValue('names', name),\n ...getValue('lists', list),\n // ...getValue('parties', party),\n // ...getValue('chambers', chamber),\n ...getValue('caucuses', caucus),\n ...getValue('committees', committee),\n ...getValue('tags', tags),\n ...getValue('post_types', type),\n }, isNil);\n}\n\nexport function transformOptionsForUI({ searchData }) {\n const { search_params: searchParams } = searchData || {};\n const {\n date_from,\n date_to,\n states,\n names,\n lists,\n // parties,\n // chambers,\n caucuses,\n committees,\n tags,\n post_types,\n } = searchParams || {};\n\n return omitBy({\n ...getValue('date', {\n ...getValue('startDate', date_from),\n ...getValue('endDate', date_to),\n }),\n ...getValue('state', states),\n ...getValue('name', names),\n ...getValue('list', lists),\n // ...getValue('party', parties),\n // ...getValue('chamber', chambers),\n ...getValue('caucus', caucuses),\n ...getValue('committee', committees),\n ...getValue('tags', tags),\n ...getValue('type', post_types),\n }, isNil);\n}\n","import { compact, isEmpty } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport getMappedValues from 'components/core/TagInput/getMappedValues';\nimport { getDisplayItem, mapBackendValues } from 'redux/advancedSearch/utils';\nimport { STATE_COMMITTEE_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nimport {\n getLabelFromItem,\n getValue,\n transformSelectValues,\n getUniqueLabelFromItem,\n transformArraySelectValues,\n} from 'utils/transformers/advancedSearch';\n\nfunction transformOptionsForUI(data = {}) {\n const { id, search_params } = data;\n const {\n lookup_keyword,\n legislators,\n committees,\n chambers,\n states,\n show_historical,\n tag_ids,\n } = search_params || {};\n\n return {\n id,\n options: {\n ...getValue('searchValue', lookup_keyword),\n ...getValue('legislator', legislators),\n ...getValue('committee', getMappedValues(committees)),\n ...getValue('chamber', chambers),\n ...getValue('state', states),\n ...getValue('historicalCommittees', Boolean(show_historical)),\n ...getValue('tags', tag_ids),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}, legislatorsProps = {}) {\n const { name, search_params } = data;\n const {\n lookup_keyword,\n legislators,\n committees,\n chambers,\n states,\n show_historical,\n tag_ids,\n } = search_params || {};\n\n const filters = [\n getDisplayItem('Searched', lookup_keyword),\n getDisplayItem('Legislator', getLabelFromItem(legislators)),\n getDisplayItem('Committee', getUniqueLabelFromItem(committees)),\n getDisplayItem('Chamber', mapBackendValues(chambers, legislatorsProps.chambers)),\n getDisplayItem('State', getLabelFromItem(states)),\n getDisplayItem('Include historical committees', show_historical && 'Yes'),\n getDisplayItem('Tags', getLabelFromItem(tag_ids)),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n legislator,\n committee,\n chamber,\n state,\n historicalCommittees,\n tags,\n } = options || {};\n\n return {\n ...getValue('chambers', chamber),\n ...getValue('ids', transformArraySelectValues(committee)),\n ...getValue('show_historical', historicalCommittees),\n ...getValue('lookup_keyword', searchValue),\n ...getValue('legislator_ids', transformSelectValues(legislator)),\n ...getValue('state_alpha2_ids', transformSelectValues(state)),\n ...getValue('tag_ids', transformSelectValues(tags)),\n };\n}\n\nexport function transformSearchesForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n legislator,\n committee,\n chamber,\n state,\n historicalCommittees,\n tags,\n } = options || {};\n\n return {\n ...getValue('chambers', chamber),\n ...getValue('ids', transformArraySelectValues(committee)),\n ...getValue('show_historical', historicalCommittees),\n ...getValue('lookup_keyword', searchValue),\n ...getValue('legislator_ids', transformSelectValues(legislator)),\n ...getValue('state_alpha2_ids', transformSelectValues(state)),\n ...getValue('tag_ids', tags),\n };\n}\n\nexport function transformLegislatorData(props) {\n if (isEmpty(props)) {\n return props;\n }\n\n const { id, party_slug, party_short, universal_moniker } = props || {};\n\n return {\n id,\n name: universal_moniker,\n partySlug: party_slug,\n partyShort: party_short,\n };\n}\n\nexport function transformSearchesForUI(data, legislatorsProps) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item, legislatorsProps),\n ...transformOptionsForUI(item),\n }));\n}\n\nexport function transformCommitteesForUI(committees = []) {\n return committees.map(({\n id,\n name,\n state,\n chairman,\n chamber_slug,\n chamber_name,\n terms,\n }) => ({\n id,\n name,\n state,\n terms,\n chamber: chamber_name || chamber_slug,\n chairman: transformLegislatorData(chairman),\n recordId: id,\n documentType: DOCUMENT_TYPES.STATE_COMMITTEE,\n itemType: STATE_COMMITTEE_ITEM_TYPE,\n category: STATE_COMMITTEE_ITEM_TYPE,\n isCommittee: true,\n withWeekAheadEmail: true,\n withTrack: true,\n }));\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue } = data;\n const {\n legislator,\n committee,\n chamber,\n state,\n tags,\n } = data.options || {};\n\n return {\n 'strategy_inputs[chambers]': chamber,\n ...(!isEmpty(committee) && { 'strategy_inputs[ids]': transformArraySelectValues(committee) }),\n 'strategy_inputs[lookup_keyword]': searchValue,\n 'strategy_inputs[legislator_ids]': transformSelectValues(legislator),\n 'strategy_inputs[tag_ids]': transformSelectValues(tags),\n 'strategy_inputs[state_alpha2_ids]': transformSelectValues(state),\n };\n}\n","import { isEmpty, sortedUniqBy, compact, startCase, get, map } from 'lodash';\n\nimport { DOCUMENT_TYPES, responseTrackingTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport getMappedValues from 'components/core/TagInput/getMappedValues';\nimport { getDisplayItem, mapBackendValues } from 'redux/advancedSearch/utils';\nimport {\n getLabelFromItem,\n getValue,\n getUniqueLabelFromItem,\n transformSelectValues,\n transformArraySelectValues,\n} from 'utils/transformers/advancedSearch';\nimport { STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nfunction transformOptionsForUI(data = {}) {\n const { id, search_params } = data;\n const {\n lookup_keyword,\n legislators,\n parties,\n committees,\n chambers,\n state_alpha2s,\n include_historical,\n only_first_term,\n tag_ids,\n } = search_params || {};\n\n return {\n id,\n options: {\n ...getValue('searchValue', lookup_keyword),\n ...getValue('legislator', legislators),\n ...getValue('historicalLegislator', Boolean(include_historical)),\n ...getValue('firstTermLegislator', Boolean(only_first_term,)),\n ...getValue('committee', getMappedValues(committees)),\n ...getValue('party', parties),\n ...getValue('chamber', chambers),\n ...getValue('stateDelegation', state_alpha2s),\n ...getValue('tags', tag_ids),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}, legislatorsProps = {}) {\n const { name, search_params } = data;\n const {\n lookup_keyword,\n legislators,\n parties,\n committees,\n chambers,\n state_alpha2s,\n include_historical,\n only_first_term,\n tag_ids,\n } = search_params;\n\n const filters = [\n getDisplayItem('Searched', lookup_keyword),\n getDisplayItem('Legislator', getLabelFromItem(legislators)),\n getDisplayItem('Committee', getUniqueLabelFromItem(committees)),\n getDisplayItem('Party', mapBackendValues(parties, legislatorsProps.parties)),\n getDisplayItem('Chamber', mapBackendValues(chambers, legislatorsProps.chambers)),\n getDisplayItem('State delegation', getLabelFromItem(state_alpha2s)),\n getDisplayItem('Include historical legislators', include_historical && 'Yes'),\n getDisplayItem('Show first-term legislators', only_first_term && 'Yes'),\n getDisplayItem('Tags', getLabelFromItem(tag_ids)),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n legislator,\n historicalLegislator,\n firstTermLegislator,\n committee,\n party,\n chamber,\n stateDelegation,\n tags,\n } = options || {};\n\n return {\n ...getValue('lookup_keyword', searchValue),\n ...getValue('ids', transformSelectValues(legislator)),\n ...getValue('committee_ids', transformArraySelectValues(committee)),\n ...getValue('include_historical', historicalLegislator),\n ...getValue('only_first_term', firstTermLegislator),\n ...getValue('parties', party),\n ...getValue('chambers', chamber),\n ...getValue('state_alpha2s', transformSelectValues(stateDelegation)),\n ...getValue('tag_ids', transformSelectValues(tags)),\n };\n}\n\nexport function transformSearchesForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n legislator,\n historicalLegislator,\n firstTermLegislator,\n committee,\n party,\n chamber,\n stateDelegation,\n tags,\n } = options || {};\n\n return {\n ...getValue('lookup_keyword', searchValue),\n ...getValue('ids', transformSelectValues(legislator)),\n ...getValue('committee_ids', transformArraySelectValues(committee)),\n ...getValue('include_historical', historicalLegislator),\n ...getValue('only_first_term', firstTermLegislator),\n ...getValue('parties', party),\n ...getValue('chambers', chamber),\n ...getValue('state_alpha2s', transformSelectValues(stateDelegation)),\n ...getValue('tag_ids', tags),\n };\n}\n\nexport function transformSearchesForUI(data, legislatorsProps) {\n return map(data, item => ({\n ...getDisplayDataForRecentSearches(item, legislatorsProps),\n ...transformOptionsForUI(item),\n }));\n}\n\nfunction getTitle(data) {\n return data ? `(${startCase(data)})` : '';\n}\n\nfunction getCommittees(committeesData = []) {\n const sortedCommittees = sortedUniqBy(\n committeesData,\n committee => get(committee, 'committee.name')\n );\n\n return map(sortedCommittees, (committee = {}) => {\n if (isEmpty(committee) || isEmpty(committee.name)) {\n return null;\n }\n\n const { name = '', title } = committee;\n\n return `${name} ${getTitle(title)}`;\n });\n}\n\nexport function transformLegislatorsForUI(legislators) {\n return map(legislators, ({\n id,\n name,\n chamber,\n district,\n party,\n party_short,\n party_slug,\n state,\n committee_memberships,\n email,\n }) => ({\n id,\n name,\n chamber,\n party,\n state: state.alpha2,\n district,\n partyShort: party_short,\n partySlug: party_slug,\n committee: getCommittees(committee_memberships),\n email,\n recordId: id,\n documentType: DOCUMENT_TYPES.STATE_LEGISLATOR,\n trackingType: responseTrackingTypes.STATE_LEGISLATOR_STAFFER,\n itemType: STATE_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n withTrack: true,\n }));\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue } = data;\n const {\n legislator,\n committee,\n party,\n chamber,\n stateDelegation,\n historicalLegislator,\n firstTermLegislator,\n tags,\n } = data.options || {};\n\n return {\n 'strategy_inputs[lookup_keyword]': searchValue || undefined,\n ...(!isEmpty(legislator) && { 'strategy_inputs[ids]': transformSelectValues(legislator) }),\n 'strategy_inputs[parties]': party,\n 'strategy_inputs[chambers]': chamber,\n 'strategy_inputs[state_alpha2s]': transformSelectValues(stateDelegation),\n 'strategy_inputs[committee_ids]': transformArraySelectValues(committee),\n 'strategy_inputs[tag_ids]': transformSelectValues(tags),\n ...(historicalLegislator && { 'strategy_inputs[include_historical]': historicalLegislator }),\n ...(firstTermLegislator && { 'strategy_inputs[only_first_term]': firstTermLegislator }),\n };\n}\n","import { compact } from 'lodash';\n\nimport { getDisplayItem, mapBackendValues } from 'redux/advancedSearch/utils';\nimport {\n getLabelFromItem,\n formatSelectValue,\n getValue,\n transformSelectValues,\n transformArraySelectValues,\n} from 'utils/transformers/advancedSearch';\n\nfunction transformOptionsForUI(data = {}) {\n const { id } = data;\n const {\n keyword,\n state_offices,\n states,\n titles,\n include_historical,\n office_location_types,\n committee_ids,\n parties,\n chambers,\n } = data.search_params || {};\n\n return {\n id,\n options: {\n ...getValue('searchValue', keyword),\n ...getValue('worksFor', state_offices),\n ...getValue('states', states),\n ...getValue('titles', formatSelectValue(titles)),\n ...getValue('includeHistorical', Boolean(include_historical)),\n ...getValue('officeLocations', formatSelectValue(office_location_types)),\n ...getValue('committees', committee_ids),\n ...getValue('party', parties),\n ...getValue('chambers', chambers),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}, stafferData = {}) {\n const { name } = data;\n const {\n keyword,\n state_offices,\n states,\n titles,\n office_location_types,\n committee_ids,\n include_historical,\n parties,\n chambers,\n } = data.search_params;\n\n const filters = [\n getDisplayItem('Searched', keyword),\n getDisplayItem('Serves', getLabelFromItem(state_offices)),\n getDisplayItem('States', getLabelFromItem(states)),\n getDisplayItem('Titles', titles),\n getDisplayItem('Office Location', office_location_types),\n getDisplayItem('Legislator committee membership', getLabelFromItem(committee_ids)),\n getDisplayItem('Historical staffers', include_historical && 'Yes'),\n getDisplayItem('Party', mapBackendValues(parties, stafferData.parties)),\n getDisplayItem('Chamber', mapBackendValues(chambers, stafferData.chambers)),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue } = data;\n const {\n worksFor,\n states,\n titles,\n officeLocations,\n includeHistorical,\n committees,\n party,\n chamber,\n } = data.options || {};\n\n return {\n ...getValue('keyword', searchValue),\n ...getValue('state_offices', transformSelectValues(worksFor)),\n ...getValue('states', transformSelectValues(states)),\n ...getValue('titles', transformSelectValues(titles)),\n ...getValue('include_historical', includeHistorical),\n ...getValue('office_location_types', transformSelectValues(officeLocations)),\n ...getValue('committee_ids', transformArraySelectValues(committees)),\n ...getValue('parties', party),\n ...getValue('chambers', chamber),\n };\n}\n\nexport function transformSearchesForUI(data, stafferData) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item, stafferData),\n ...transformOptionsForUI(item),\n }));\n}\n\nexport function transformStaffersForUI(staffers = []) {\n return staffers.map(({\n id,\n alias_name,\n full_name,\n party,\n boss_name,\n boss_party,\n boss_party_short,\n boss_party_slug,\n boss_url,\n works_for_label,\n title,\n email,\n chamber_category,\n chamber_name,\n office_type,\n office_name,\n party_short,\n party_slug,\n staffable_type,\n staffable_id,\n state_name,\n }) => ({\n id,\n name: full_name || alias_name,\n party,\n partyShort: party_short,\n partySlug: party_slug,\n bossName: boss_name,\n bossParty: boss_party,\n bossPartyShort: boss_party_short,\n bossPartySlug: boss_party_slug,\n bossUrl: boss_url,\n worksForLabel: works_for_label,\n url: `/state/staffers/${id}`,\n title,\n email,\n location: office_type,\n officeName: office_name,\n chamberCategory: chamber_category,\n chamberName: chamber_name,\n staffableType: staffable_type,\n staffableId: staffable_id,\n stateName: state_name,\n }));\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue } = data;\n const {\n worksFor,\n states,\n titles,\n officeLocations,\n party,\n chamber,\n committees,\n } = data.options || {};\n\n return {\n 'strategy_inputs[keyword]': searchValue,\n 'strategy_inputs[state_offices]': transformSelectValues(worksFor),\n 'strategy_inputs[states]': transformSelectValues(states),\n 'strategy_inputs[titles]': transformSelectValues(titles),\n 'strategy_inputs[office_location_types]': transformSelectValues(officeLocations),\n 'strategy_inputs[committee_ids]': transformSelectValues(committees),\n 'strategy_inputs[parties]': party,\n 'strategy_inputs[chambers]': chamber,\n };\n}\n","const PREFIX = 'MONEYBALL_CLUSTERBUCK_FIRSTQUEUE_LOOKUP';\n\nconst constants = {\n FETCH_DATA_REQUEST: `${PREFIX}/FETCH_DATA_REQUEST`,\n FETCH_DATA_SUCCESS: `${PREFIX}/FETCH_DATA_SUCCESS`,\n DELETE_DATA_REQUEST: `${PREFIX}/DELETE_DATA_REQUEST`,\n DELETE_DATA_SUCCESS: `${PREFIX}/DELETE_DATA_SUCCESS`,\n};\n\nexport default constants;\n","const PREFIX = 'MONEYBALL_CLUSTERBUCK_SECONDQUEUE_LOOKUP';\n\nconst constants = {\n FETCH_DATA_REQUEST: `${PREFIX}/FETCH_DATA_REQUEST`,\n FETCH_DATA_SUCCESS: `${PREFIX}/FETCH_DATA_SUCCESS`,\n DELETE_DATA_REQUEST: `${PREFIX}/DELETE_DATA_REQUEST`,\n DELETE_DATA_SUCCESS: `${PREFIX}/DELETE_DATA_SUCCESS`,\n};\n\nexport default constants;\n","import { isEmpty, compact } from 'lodash';\n\nimport {\n COSPONSOR_BILLS,\n SPONSOR_BILLS,\n} from 'components/core/Profile/components/Cards/Bills/utils/billTypes';\n\nimport {\n FEDERAL_LEGISLATOR_SLUG,\n STATE_LEGISLATOR_SLUG,\n FEDERAL_COMMITTEE_SLUG,\n STATE_COMMITTEE_SLUG,\n FEDERAL_BILL_SIMILAR_BILLS_SLUG,\n STATE_BILL_SIMILAR_BILLS_SLUG,\n} from '../constants';\nimport { FEDERAL_BILL_SLUG, STATE_BILL_SLUG } from '../../publicRecords/constants';\n\nconst DEFAULT_LIMIT = 10;\n\nexport function getRelationshipStatus({ id, billRelationship }) {\n if (billRelationship === SPONSOR_BILLS.value) {\n return { sponsor_ids: [id] };\n }\n\n if (billRelationship === COSPONSOR_BILLS.value) {\n return { cosponsors_id: [id] };\n }\n\n return { legislator_ids: [id] };\n}\n\nexport function getCommittees(committees, getCustomProps) {\n return committees.map((committee = {}) => {\n if (isEmpty(committee) || isEmpty(committee.name)) return null;\n\n return {\n id: committee.id,\n name: committee.name,\n ...(getCustomProps && getCustomProps(committee)),\n };\n });\n}\n\nexport function getLegislators(legislators, getCustomProps) {\n return legislators.map((legislator = {}) => {\n if (isEmpty(legislator) || (isEmpty(legislator.name) && isEmpty(legislator.universal_moniker))) return null;\n\n return {\n id: legislator.id || legislator.legislator_id,\n name: legislator.name || legislator.universal_moniker,\n partyShort: legislator.party_short,\n partySlug: legislator.party_slug,\n ...(getCustomProps && getCustomProps(legislator)),\n };\n });\n}\n\nexport function getSlicedLegislators(legislators, getCustomProps, limit = DEFAULT_LIMIT) {\n if (isEmpty(legislators)) {\n return [];\n }\n\n const slicedLegislators = getLegislators(legislators.slice(0, limit), getCustomProps);\n\n return compact(slicedLegislators);\n}\n\nexport function getSlicedCommittees(committees, getCustomProps, limit = DEFAULT_LIMIT) {\n if (isEmpty(committees)) {\n return [];\n }\n\n const slicedCommittees = getCommittees(committees.slice(0, limit), getCustomProps);\n\n return compact(slicedCommittees);\n}\n\nexport function getSlicedSponsors(committees, legislators, getCustomProps) {\n if (isEmpty(committees) && isEmpty(legislators)) {\n return [];\n }\n\n const slicedCommittees = getSlicedCommittees(committees, getCustomProps);\n const sliceLimit = DEFAULT_LIMIT - slicedCommittees.length;\n const slicedLegislators = sliceLimit > 0 ? getSlicedLegislators(legislators, getCustomProps, sliceLimit) : [];\n\n return [...slicedCommittees, ...slicedLegislators];\n}\n\nexport function getBillsCongressValue({ allCongressOptions = [], congress = '' }) {\n if (isEmpty(congress) && isEmpty(allCongressOptions)) {\n return '';\n }\n\n if (isEmpty(congress)) {\n return allCongressOptions.map(congressOption => congressOption && congressOption.value);\n }\n\n return [congress];\n}\n\nexport function getBillsUrl(slug, id) {\n const billsUrls = {\n [FEDERAL_LEGISLATOR_SLUG]: { url: '/api_web/federal/bills/lookup' },\n [STATE_LEGISLATOR_SLUG]: { url: '/api_web/state/bills/lookup' },\n [STATE_COMMITTEE_SLUG]: {\n url: `/api_web/state/committees/${id}/bills`,\n method: 'GET',\n },\n [FEDERAL_COMMITTEE_SLUG]: {\n url: '/api_web/federal/bills/lookup',\n },\n [FEDERAL_BILL_SIMILAR_BILLS_SLUG]: { url: '/api_web/federal/similar_bills/lookup' },\n [STATE_BILL_SIMILAR_BILLS_SLUG]: { url: '/api_web/state/similar_bills/lookup' },\n };\n\n if (!billsUrls[slug]) {\n throw Error('The bill slug must be valid');\n }\n\n return billsUrls[slug];\n}\n\nexport function getSubscriptionBillsUrl(slug) {\n const subscriptionsUrls = {\n [FEDERAL_LEGISLATOR_SLUG]: { url: '/api_web/federal/bills/subscriptions' },\n [STATE_LEGISLATOR_SLUG]: { url: '/api_web/state/bills/subscriptions' },\n [FEDERAL_BILL_SIMILAR_BILLS_SLUG]: { url: '/api_web/federal/bills/subscriptions' },\n [STATE_BILL_SIMILAR_BILLS_SLUG]: { url: '/api_web/state/bills/subscriptions' },\n [FEDERAL_BILL_SLUG]: { url: '/api_web/federal/bills/subscriptions' },\n [STATE_BILL_SLUG]: { url: '/api_web/state/bills/subscriptions' },\n [STATE_COMMITTEE_SLUG]: { url: '/api_web/state/bills/subscriptions' },\n [FEDERAL_COMMITTEE_SLUG]: { url: '/api_web/federal/bills/subscriptions' },\n };\n\n if (!subscriptionsUrls[slug]) {\n return '';\n }\n\n return subscriptionsUrls[slug];\n}\n","import { slice, head, last, map } from 'lodash';\n\nexport function transformCustomField({\n field_type,\n editable,\n description,\n question,\n options,\n product_slugs,\n ...restProps\n}) {\n return {\n ...restProps,\n fieldType: {\n value: field_type,\n },\n fieldDescription: description,\n isEditable: editable,\n question,\n options: options.map(value => ({\n value,\n })),\n productSlugs: map(product_slugs, slug => ({ label: slug, value: slug })),\n };\n}\n\nexport function transformAllCustomFields(response = { data: [], isEnabled: true, paginator: {} }) {\n const { data, isEnabled, paginator } = response;\n\n return {\n data: data.map(({\n field_type,\n editable,\n created_at,\n product_slugs,\n ...restProps\n }) => ({\n ...restProps,\n fieldType: field_type,\n createdAt: created_at,\n isEditable: editable,\n actions: {\n enabled: restProps.enabled,\n token: restProps.token,\n editable,\n },\n productSlugs: {\n value: product_slugs,\n token: restProps.token,\n },\n })),\n isEnabled,\n paginator,\n };\n}\n\nconst getDelimiters = ({ destination, source, isLiftingUp }) => {\n if (isLiftingUp) {\n return [destination.index, source.index];\n }\n\n return [source.index, destination.index];\n};\n\nconst reorderSlice = (changedSlice, isLiftingUp) => {\n if (isLiftingUp) {\n return [last(changedSlice), ...slice(changedSlice, 0, -1)];\n }\n\n return [...slice(changedSlice, 1), head(changedSlice)];\n};\n\nexport function reorderCustomFields({ customFields, destination, source }) {\n const isLiftingUp = destination.index < source.index;\n const [start, end] = getDelimiters({ destination, source, isLiftingUp });\n\n const headingSlice = slice(customFields, 0, start);\n const changedSlice = slice(customFields, start, end + 1);\n const trailingSlice = slice(customFields, end + 1);\n\n const updatedSlice = reorderSlice(changedSlice, isLiftingUp);\n\n return [...headingSlice, ...updatedSlice, ...trailingSlice];\n}\n\nexport function transformPositionsForBE({ isEnabled, availableIn, updatedCustomFields }) {\n return {\n custom_fields: {\n enabled: isEnabled,\n product_slug: availableIn,\n tokens: map(updatedCustomFields, 'token'),\n },\n };\n}\n","import { delay, head } from 'lodash';\n\nimport { transformPaginator } from 'utils/transformers/paginator';\nimport Notifications from 'components/core/CustomFields/utils/notifications';\n\nimport constants from './constants';\nimport {\n transformAllCustomFields,\n transformCustomField,\n reorderCustomFields,\n transformPositionsForBE,\n} from './utils';\n\n// Temporary fix to elastic search delete and create issue\nconst afterChangeDelay = 1000;\nconst delayResponse = callback => response => delay(() => callback(response), afterChangeDelay);\n\nconst getSearchForm = (enabled, productSlug) => ({\n search_form: {\n enabled,\n product_slugs: [productSlug],\n },\n});\n\nexport function fetchCustomFields(params = {\n search_form: {\n enabled: true,\n },\n}) {\n return (dispatch) => {\n dispatch({\n type: constants.FETCH_CUSTOM_FIELDS,\n isLoadingCustomFields: true,\n });\n\n const { enabled, product_slugs } = params.search_form;\n const ajax = $.get('/api_web/custom_fields/fields', params);\n\n return Promise.resolve(ajax).then(response => dispatch({\n type: constants.FETCH_CUSTOM_FIELDS_DONE,\n payload: {\n ...transformAllCustomFields({\n ...response,\n isEnabled: enabled,\n paginator: transformPaginator(response),\n }),\n availableIn: head(product_slugs),\n },\n isLoadingCustomFields: false,\n }));\n };\n}\n\nexport function getCustomFieldByToken(token) {\n return (dispatch) => {\n dispatch({\n type: constants.GET_CUSTOM_FIELD_BY_TOKEN,\n isLoadingCustomFieldByToken: true,\n });\n\n const url = `/api_web/custom_fields/fields/${token}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax).then(response => dispatch({\n type: constants.GET_CUSTOM_FIELD_BY_TOKEN_DONE,\n payload: transformCustomField(response),\n isLoadingCustomFieldByToken: false,\n }));\n };\n}\n\nexport function createCustomField(payload = {}, onResetForm) {\n return (dispatch) => {\n dispatch({\n type: constants.CREATE_CUSTOM_FIELDS,\n isSavingCustomField: true,\n });\n\n const ajax = $.ajax({\n type: 'POST',\n data: JSON.stringify(payload),\n contentType: 'application/json',\n url: '/api_web/custom_fields/fields',\n });\n\n function onSuccess() {\n dispatch({\n type: constants.CREATE_CUSTOM_FIELDS_DONE,\n isSavingCustomField: false,\n });\n\n if (onResetForm) onResetForm();\n\n const productSlug = head(payload.custom_field.product_slugs);\n\n return dispatch(fetchCustomFields(getSearchForm(true, productSlug)));\n }\n\n return Promise.resolve(ajax)\n .then(delayResponse(onSuccess));\n };\n}\n\nexport function updateCustomField(token, payload = {}, toggleModal, isEnabled) {\n return (dispatch) => {\n dispatch({\n type: constants.UPDATE_CUSTOM_FIELDS,\n isUpdatingCustomField: true,\n });\n\n const url = `/api_web/custom_fields/fields/${token}`;\n const data = JSON.stringify({ custom_field: payload });\n\n const ajax = $.ajax({\n url,\n type: 'PUT',\n data,\n contentType: 'application/json',\n });\n\n function onSuccess() {\n if (toggleModal) toggleModal();\n\n dispatch({\n type: constants.UPDATE_CUSTOM_FIELDS_DONE,\n isUpdatingCustomField: false,\n });\n\n return dispatch(fetchCustomFields(getSearchForm(isEnabled, head(payload.product_slugs))));\n }\n\n function onFailure(error) {\n dispatch({\n type: constants.UPDATE_CUSTOM_FIELDS_DONE,\n isUpdatingCustomField: false,\n });\n\n return Promise.reject(error);\n }\n\n return Promise.resolve(ajax)\n .then(delayResponse(onSuccess))\n .catch(onFailure);\n };\n}\n\nexport function toggleCustomFieldStatus(payload = {}, onClearItems) {\n return (dispatch) => {\n dispatch({\n type: constants.UPDATE_CUSTOM_FIELDS,\n isUpdatingCustomField: true,\n });\n\n const url = '/api_web/custom_fields/fields/bulk_enable';\n\n const ajax = $.post(url, payload);\n\n function onSuccess() {\n if (onClearItems) onClearItems();\n\n dispatch({\n type: constants.UPDATE_CUSTOM_FIELDS_DONE,\n isUpdatingCustomField: false,\n });\n\n const isEnabled = payload.custom_fields.enabled;\n\n return dispatch(fetchCustomFields(getSearchForm(isEnabled, payload.availableIn)));\n }\n\n return Promise.resolve(ajax)\n .then(delayResponse(onSuccess));\n };\n}\n\nexport function resetLoadingFields() {\n return dispatch => dispatch({ type: constants.RESET_LOADING_CUSTOM_FIELDS });\n}\n\nexport function updatePosition({ destination, source, isEnabled, availableIn }) {\n return (dispatch, getState) => {\n dispatch({ type: constants.UPDATE_POSITION });\n\n const { allCustomFields } = getState().customFields;\n const updatedCustomFields = reorderCustomFields({\n customFields: allCustomFields,\n destination,\n source,\n });\n\n dispatch({\n type: constants.UPDATE_POSITION_SYNC_DONE,\n payload: updatedCustomFields,\n });\n\n const url = '/api_web/custom_fields/fields/sort';\n const data = transformPositionsForBE({ isEnabled, availableIn, updatedCustomFields });\n const ajax = $.post(url, data);\n\n const onSuccess = () => dispatch({ type: constants.UPDATE_POSITION_DONE });\n\n const onFailure = (err) => {\n dispatch({\n type: constants.UPDATE_POSITION_FAILURE,\n payload: allCustomFields,\n });\n Notifications.customFieldFailed();\n\n throw err;\n };\n\n Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","const PREFIX = 'GRM2';\n\nconst constants = {\n SET_NAMESPACE: 'SET_NAMESPACE',\n SET_CARDS: 'SET_CARDS',\n SET_CARDS_LINK_PREVIEW: 'SET_CARDS_LINK_PREVIEW',\n SET_PAGE: 'SET_PAGE',\n SET_PAGINATION: 'SET_PAGINATION',\n SET_SORT: 'SET_SORT',\n SET_FILTERS: 'SET_FILTERS',\n SET_SELECTED: 'SET_SELECTED',\n SET_CUSTOM_FIELDS: 'SET_CUSTOM_FIELDS',\n START_LOADING: 'START_LOADING',\n STOP_LOADING: 'STOP_LOADING',\n START_LOADING_CUSTOM_FIELDS: 'START_LOADING_CUSTOM_FIELDS',\n STOP_LOADING_CUSTOM_FIELDS: 'STOP_LOADING_CUSTOM_FIELDS',\n START_LOADING_LINKS_PREVIEW: 'START_LOADING_LINKS_PREVIEW',\n STOP_LOADING_LINKS_PREVIEW: 'STOP_LOADING_LINKS_PREVIEW',\n SELECT_CARDS: 'SELECT_CARDS',\n UNSELECT_CARDS: 'UNSELECT_CARDS',\n RESET_SELECTED_CARDS: 'RESET_SELECTED_CARDS',\n EXPORT_STRATEGY_SLUG: 'grm_v2_cards',\n SET_TIMELINE_DEFAULT_FILTERS: 'SET_TIMELINE_DEFAULT_FILTERS',\n SHOW_DASHBOARD: 'SHOW_DASHBOARD',\n HIDE_DASHBOARD: 'HIDE_DASHBOARD',\n RESET_CARD_STATUS: 'RESET_CARD_STATUS',\n SET_HAS_NEW_CARD: 'SET_HAS_NEW_CARD',\n SET_HAS_EDITED_CARD: 'SET_HAS_EDITED_CARD',\n SET_ADVANCED_SEARCH: 'SET_ADVANCED_SEARCH',\n SET_IS_TASKS_CONTEXT: 'SET_IS_TASKS_CONTEXT',\n RESET_DATA: 'RESET_DATA',\n FETCH_MY_FEED_DOCUMENTS: `${PREFIX}/FETCH_MY_FEED_DOCUMENTS`,\n RECEIVE_MY_FEED_DOCUMENTS_DONE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_DONE`,\n RECEIVE_MY_FEED_DOCUMENTS_FAILURE: `${PREFIX}/RECEIVE_MY_FEED_DOCUMENTS_FAILURE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n};\n\nexport const TASK_STATUSES = ['open', 'inProgress', 'closed'];\n\nexport const DOCUMENT_TYPE = 'grm_v2_card';\n\nexport const ADVANCED_SEARCH_SLUG = 'activity';\n\nexport const MY_FEED_CARD_LIMIT = 100;\n\nexport default constants;\n","import { compact, map } from 'lodash';\n\nimport {\n getDisplayItem,\n getDisplayRangeItem,\n} from 'redux/advancedSearch/utils';\nimport {\n transformSelectValues,\n getLabelFromItem,\n getValue,\n} from 'utils/transformers/advancedSearch';\nimport { formatDate, formatGlobalDate } from 'utils/date';\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport valueOrEmpty, { valueOrNull } from 'utils/forms/valueOrEmpty';\n\nfunction transformOptionsForUI(data = {}) {\n const { id, search_params } = data;\n const {\n keyword,\n cities,\n states,\n city_population_gteq,\n city_population_lteq,\n date_gteq,\n date_lteq,\n document_types,\n locale_types,\n tag_ids,\n } = search_params || {};\n\n return {\n id,\n options: {\n ...getValue('searchValue', keyword),\n ...getValue('states', states),\n ...getValue('locales', cities),\n ...getValue('date', { start: valueOrNull(date_gteq), end: valueOrNull(date_lteq) }),\n ...getValue('population', { start: valueOrEmpty(city_population_gteq), end: valueOrEmpty(city_population_lteq) }),\n ...getValue('documentFormats', document_types),\n ...getValue('localeTypes', locale_types),\n ...getValue('tags', tag_ids),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}) {\n const { name, search_params } = data;\n const {\n keyword,\n cities,\n states,\n city_population_gteq,\n city_population_lteq,\n date_gteq,\n date_lteq,\n document_types,\n locale_types,\n tag_ids,\n } = search_params || {};\n\n const filters = [\n getDisplayItem('Searched', keyword),\n getDisplayItem('Locales', getLabelFromItem(cities)),\n getDisplayItem('States', getLabelFromItem(states)),\n getDisplayRangeItem('Population', city_population_gteq, city_population_lteq),\n getDisplayRangeItem('Date', formatGlobalDate(date_gteq), formatGlobalDate(date_lteq)),\n getDisplayItem('Document formats', document_types),\n getDisplayItem('Locale type', locale_types),\n getDisplayItem('Tags', getLabelFromItem(tag_ids)),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n locales,\n states,\n population,\n date,\n documentFormats,\n localeTypes,\n tags,\n } = options || {};\n\n const { start: populationGTE, end: populationLTE } = population || {};\n const { start: dateGTE, end: dateLTE } = date || {};\n\n return {\n ...getValue('keyword', searchValue),\n ...getValue('cities', transformSelectValues(locales)),\n ...getValue('states', transformSelectValues(states)),\n ...getValue('city_population_gteq', populationGTE),\n ...getValue('city_population_lteq', populationLTE),\n ...getValue('date_gteq', formatDate(dateGTE)),\n ...getValue('date_lteq', formatDate(dateLTE)),\n ...getValue('document_types', documentFormats),\n ...getValue('locale_types', localeTypes),\n ...getValue('tag_ids', transformSelectValues(tags)),\n };\n}\n\nexport function transformSearchesForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n locales,\n states,\n population,\n date,\n documentFormats,\n localeTypes,\n tags,\n } = options || {};\n\n const { start: populationGTE, end: populationLTE } = population || {};\n const { start: dateGTE, end: dateLTE } = date || {};\n\n return {\n ...getValue('keyword', searchValue),\n ...getValue('cities', transformSelectValues(locales)),\n ...getValue('states', transformSelectValues(states)),\n ...getValue('city_population_gteq', populationGTE),\n ...getValue('city_population_lteq', populationLTE),\n ...getValue('date_gteq', formatDate(dateGTE)),\n ...getValue('date_lteq', formatDate(dateLTE)),\n ...getValue('document_types', documentFormats),\n ...getValue('locale_types', localeTypes),\n ...getValue('tag_ids', tags),\n };\n}\n\nexport function transformSearchesForUI(data, localProps) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item, localProps),\n ...transformOptionsForUI(item),\n }));\n}\n\nexport function transformDocumentsForUI(documents) {\n return map(documents, ({\n id,\n date,\n state,\n city,\n meeting_date,\n publication_date,\n publication_date_estimated,\n ...restProps\n }) => ({\n ...restProps,\n id,\n recordId: id,\n itemType: 'Local document',\n documentType: DOCUMENT_TYPES.TOWN_INTEL_DOCUMENT,\n publicationDate: formatGlobalDate(publication_date),\n meetingDate: formatGlobalDate(meeting_date),\n isEstimatedDate: publication_date_estimated,\n state: state.alpha2 || state.name,\n locale: city,\n }));\n}\n\nexport function getExportInfo(data = {}) {\n const {\n locales,\n states,\n population,\n date,\n documentFormats,\n localeTypes,\n tags,\n } = data.options || {};\n\n const { start: populationGTE, end: populationLTE } = population || {};\n const { start: dateGTE, end: dateLTE } = date || {};\n\n return {\n 'strategy_inputs[keyword]': data.searchValue,\n 'strategy_inputs[cities]': transformSelectValues(locales),\n 'strategy_inputs[states]': transformSelectValues(states),\n 'strategy_inputs[city_population_gteq]': populationGTE,\n 'strategy_inputs[city_population_lteq]': populationLTE,\n 'strategy_inputs[date_gteq]': formatDate(dateGTE),\n 'strategy_inputs[date_lteq]': formatDate(dateLTE),\n 'strategy_inputs[document_types]': documentFormats,\n 'strategy_inputs[tag_ids]': transformSelectValues(tags),\n 'strategy_inputs[locale_types]': localeTypes,\n };\n}\n","import {\n uniq,\n reduce,\n map,\n includes,\n filter,\n forEach,\n values,\n} from 'lodash';\n\nimport { pluralize } from 'utils/string';\nimport { DOCUMENTS } from 'components/core/Select/components/RichOption/constants.js';\n\nimport { RECORD_TYPES } from '../../recordTypes';\n\nexport const transformCardLinksForFeed = (links = {}) => {\n const recordTypes = uniq(map(links, 'record_type'));\n\n const transformedLinks = reduce(\n recordTypes,\n (acc, slug) => ({\n ...acc,\n [slug]: [],\n }),\n {}\n );\n\n forEach(links, (link = {}) => {\n const slug = link.record_type;\n\n transformedLinks[slug].push({\n label: link.record_title,\n token: link.record_token,\n value: RECORD_TYPES[slug].path(link),\n externalUrl: link.record_external_url,\n id: link.record_id,\n });\n });\n\n return map(recordTypes, (slug => ({\n label: pluralize(RECORD_TYPES[slug].label, RECORD_TYPES[slug].pluralLabel, transformedLinks[slug].length),\n type: slug,\n value: transformedLinks[slug],\n })));\n};\n\nexport const transformCardLinksForEvent = (links = []) => reduce(links, (result, link) => [\n ...result,\n ...reduce(link.value, (cardLinks, value) => [\n ...cardLinks,\n {\n record_type: link.type,\n record_title: value.label,\n record_token: value.token,\n record_id: value.id,\n record_external_url: value.externalUrl,\n },\n ], []),\n], []);\n\nexport const recordTypesByField = {\n people: ['federal_staffer', 'federal_legislator', 'state_legislator', 'colleague', 'stakeholder'],\n documents: values(DOCUMENTS),\n bills: ['federal_bill', 'state_bill'],\n regulations: ['state_regulation', 'federal_regulation'],\n committees: ['federal_committee', 'state_committee'],\n hillDayActivity: ['hill_day', 'hill_day_meeting', 'grassroots_form_submission'],\n};\n\nconst filterLinks = (cardLinks, field) => map(\n filter(cardLinks, ({ record_type: recordType }) => includes(recordTypesByField[field], recordType)),\n ({ record_id, record_type }) => ({ record_id, record_type })\n);\n\nexport const transformCardLinksForForm = (cardLinks = []) => ({\n people: filterLinks(cardLinks, 'people'),\n bills: filterLinks(cardLinks, 'bills'),\n regulations: filterLinks(cardLinks, 'regulations'),\n committees: filterLinks(cardLinks, 'committees'),\n documents: filterLinks(cardLinks, 'documents'),\n hillDayActivity: filterLinks(cardLinks, 'hillDayActivity'),\n});\n","import flatten from 'lodash/flatten';\n\nimport {\n deleteEventItem,\n requestDateFormat,\n convertDateTimeZone,\n} from 'components/hill-day-calendar/components/event-calendar/components/schedule/components/helpers';\n\nimport {\n SAVE_EVENT,\n FETCH_EVENT,\n RECEIVE_EVENT,\n DELETE_EVENT_ITEM,\n} from './hill-day-calendar-event-builder';\n\nconst constants = {\n FETCH_FLY_IN: 'FLY_IN_CALENDAR/FETCH_FLY_IN',\n CLEAR_EVENTS: 'FLY_IN_CALENDAR/CLEAR_EVENTS',\n CLEAR_EVENT_ITEM: 'FLY_IN_CALENDAR/CLEAR_EVENT_ITEM',\n FETCH_EVENTS: 'FLY_IN_CALENDAR/FETCH_EVENTS',\n FETCH_EVENT_ITEM: 'FLY_IN_CALENDAR/FETCH_EVENT_ITEM',\n RECEIVE_EVENTS: 'FLY_IN_CALENDAR/RECEIVE_EVENTS',\n RECEIVE_FLY_IN: 'FLY_IN_CALENDAR/RECEIVE_FLY_IN',\n RECEIVE_EVENT_ITEM: 'FLY_IN_CALENDAR/RECEIVE_EVENT_ITEM',\n};\n\nconst baseAPIUrl = '/api_web/hill_day/hill_days';\n\nexport function clearEvent(payload) {\n return (dispatch) => {\n dispatch({ type: constants.CLEAR_EVENT_ITEM, payload });\n };\n}\n\nexport function fetchEvent(payload) {\n return (dispatch) => {\n dispatch({ type: FETCH_EVENT, payload });\n dispatch({ type: constants.FETCH_EVENT_ITEM, payload });\n\n const { flyInToken, eventToken } = payload;\n\n const url = `${baseAPIUrl}/${flyInToken}/events/${eventToken}`;\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax).then((result) => {\n dispatch({ type: RECEIVE_EVENT, payload: result });\n dispatch({ type: constants.RECEIVE_EVENT_ITEM, payload: result });\n });\n };\n}\n\nexport function fetchEvents(payload) {\n return (dispatch) => {\n const { flyInToken, searchForm, page = 1 } = payload;\n\n if (page === 1) {\n dispatch({ type: constants.CLEAR_EVENTS, payload });\n }\n\n dispatch({ type: constants.FETCH_EVENTS });\n\n // uses api_web_hill_day_hill_day_events_path\n const url = `${baseAPIUrl}/${flyInToken}/events`;\n const method = 'GET';\n const data = {\n page,\n search_form: searchForm,\n };\n\n const ajax = $.ajax({\n method,\n url,\n data,\n });\n\n return Promise.resolve(ajax).then(\n result => dispatch({ type: constants.RECEIVE_EVENTS, payload: result })\n );\n };\n}\n\nexport function fetchFlyIn(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_FLY_IN, payload });\n\n // uses api_web_hill_day_hill_day_path\n const url = `${baseAPIUrl}/${payload.flyInToken}`;\n const method = 'GET';\n\n const ajax = $.ajax({\n method,\n url,\n });\n\n return Promise.resolve(ajax).then(\n result => dispatch({ type: constants.RECEIVE_FLY_IN, payload: result })\n );\n };\n}\n\nexport const defaultState = {\n events: [],\n flyIn: {},\n ui: {\n loading: true,\n initialLoading: true,\n loadingEventItem: true,\n isLoadingEvents: true,\n },\n eventItem: {\n state: {},\n people: [],\n legislators: [],\n attendees: [],\n staffers: [],\n },\n pagination: {},\n};\n\nconst stateClearEvents = state => ({\n ...state,\n events: [],\n ui: { ...state.ui, loading: true },\n});\n\nconst stateClearEventItem = state => ({\n ...state,\n eventItem: defaultState.eventItem,\n ui: { ...state.ui, loadingEventItem: false },\n});\n\nconst stateFetchEvents = state => ({\n ...state,\n ui: { ...state.ui, isLoadingEvents: true },\n});\n\nconst stateReceiveEvents = (state, action) => ({\n ...state,\n events: [\n ...state.events,\n ...action.payload.data,\n ],\n pagination: action.payload.pagination,\n ui: {\n ...state.ui,\n loading: false,\n initialLoading: false,\n isLoadingEvents: false,\n },\n});\n\nconst stateFetchFlyIn = state => ({\n ...state,\n flyIn: {},\n ui: { ...state.ui, loading: true },\n});\n\nconst stateFetchEventItem = state => ({\n ...state,\n eventItem: state.eventItem,\n ui: { ...state.ui, loadingEventItem: true },\n});\n\nconst stateReceiveFlyIn = (state, action) => ({\n ...state,\n flyIn: action.payload,\n ui: { ...state.ui, loading: false },\n});\n\nconst stateReceiveEventItem = (state, action) => ({\n ...state,\n eventItem: action.payload,\n ui: { ...state.ui, loadingEventItem: false },\n});\n\nconst stateDeleteEvent = (state, eventToken) => ({\n ...state,\n events: deleteEventItem(state.events, eventToken),\n});\n\nconst stateSaveEventItem = (state, action) => {\n let { events } = state;\n const event = action.payload;\n const eventTokens = flatten(events.map(e => e.events.map(ev => ev.token))).sort();\n\n // ======================================= //\n // Edit meeting\n if (eventTokens.includes(event.token)) {\n events = deleteEventItem(events, event.token);\n }\n\n const date = convertDateTimeZone(event.starts_at, requestDateFormat);\n const groupIndex = events.findIndex(g => g.date === date);\n\n // ======================================= //\n // Add a new meeting to an existing date\n if (groupIndex >= 0) {\n events[groupIndex] = {\n ...events[groupIndex],\n events: [\n ...events[groupIndex].events,\n event,\n ],\n };\n\n const group = events[groupIndex];\n\n return {\n ...state,\n events: events.map(g => (g.date === date ? group : g)),\n };\n }\n\n // ======================================= //\n // Add a new meeting to a new date\n const newGroup = {\n date,\n events: [{\n ...defaultState.eventItem,\n ...event,\n }],\n };\n\n return {\n ...state,\n events: [\n ...events,\n newGroup,\n ],\n };\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.CLEAR_EVENTS:\n return stateClearEvents(state);\n case constants.CLEAR_EVENT_ITEM:\n return stateClearEventItem(state);\n case constants.FETCH_EVENTS:\n return stateFetchEvents(state);\n case constants.RECEIVE_EVENTS:\n return stateReceiveEvents(state, action);\n case constants.FETCH_FLY_IN:\n return stateFetchFlyIn(state);\n case constants.RECEIVE_FLY_IN:\n return stateReceiveFlyIn(state, action);\n case constants.FETCH_EVENT_ITEM:\n return stateFetchEventItem(state);\n case constants.RECEIVE_EVENT_ITEM:\n return stateReceiveEventItem(state, action);\n case SAVE_EVENT:\n return stateSaveEventItem(state, action);\n case DELETE_EVENT_ITEM:\n return stateDeleteEvent(state, action.payload.eventToken);\n default:\n return state;\n }\n}\n","const constants = {\n FETCH_RATINGS: 'ROYAL_COSPONSORS_ORACLE/FETCH_RATINGS',\n RECEIVE_RATINGS: 'ROYAL_COSPONSORS_ORACLE/RECEIVE_RATINGS',\n};\n\nexport function receiveRatings(payload) {\n return {\n type: constants.RECEIVE_RATINGS,\n payload,\n };\n}\n\nexport function fetchRatings(legislationLevel, payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_RATINGS, legislationLevel, payload });\n\n const { model_slugs, ...attributes } = payload;\n\n let url;\n\n switch (legislationLevel) {\n case 'federal':\n // uses: api_web_royal_cosponsors_oracle_federal_legislation_ratings_path\n url = '/api_web/royal_cosponsors_oracle/federal_legislation/ratings';\n break;\n case 'state':\n // uses: api_web_royal_cosponsors_oracle_state_legislation_ratings_path\n url = '/api_web/royal_cosponsors_oracle/state_legislation/ratings';\n break;\n default:\n throw TypeError(`Legislation level: ${legislationLevel} not found`);\n }\n\n const method = 'POST';\n\n const data = {\n attributes,\n model_slugs,\n };\n\n const ajax = $.ajax({\n url,\n data,\n method,\n });\n\n return Promise.resolve(ajax)\n .then(result => dispatch(receiveRatings(result)));\n };\n}\n\nconst defaultState = {\n ratings: [],\n ui: {\n loading: false,\n },\n searchForm: {},\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_RATINGS:\n return {\n ...state,\n ui: { ...state.ui, loading: true },\n searchForm: action.payload,\n };\n case constants.RECEIVE_RATINGS:\n return {\n ...state,\n ratings: action.payload.ratings,\n ui: { ...state.ui, loading: false },\n };\n default:\n return state;\n }\n}\n","import { map, compact, isEmpty, sortBy } from 'lodash';\n\nimport { DOCUMENT_TYPES, responseTrackingTypes } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getDisplayItem, mapBackendValues } from 'redux/advancedSearch/utils';\nimport {\n getLabelFromItem,\n getValue,\n transformSelectValues,\n} from 'utils/transformers/advancedSearch';\nimport { FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nfunction transformOptionsForUI(data = {}) {\n const { id, search_params } = data;\n const {\n full_text,\n legislators,\n include_historical,\n only_first_term,\n only_elected,\n show_only_tracked_items,\n caucuses,\n parties,\n committees,\n chambers,\n state_alpha2s,\n tag_ids,\n } = search_params || {};\n\n return {\n id,\n options: {\n ...getValue('searchValue', full_text),\n ...getValue('legislator', legislators),\n ...getValue('historicalLegislator', Boolean(include_historical)),\n ...getValue('firstTermLegislator', Boolean(only_first_term)),\n ...getValue('electedLegislator', Boolean(only_elected)),\n ...getValue('trackedItems', Boolean(show_only_tracked_items)),\n ...getValue('committee', committees),\n ...getValue('caucus', caucuses),\n ...getValue('party', parties),\n ...getValue('chamber', chambers),\n ...getValue('stateDelegation', state_alpha2s),\n ...getValue('tags', tag_ids),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}, legislatorsProps = {}) {\n const { name, search_params } = data;\n const {\n full_text,\n include_historical,\n only_first_term,\n only_elected,\n show_only_tracked_items,\n legislators,\n caucuses,\n parties,\n committees,\n chambers,\n state_alpha2s,\n tag_ids,\n } = search_params || {};\n\n const filters = [\n getDisplayItem('Searched', full_text),\n getDisplayItem('Legislator', getLabelFromItem(legislators)),\n getDisplayItem('Include historical legislators', include_historical && 'Yes'),\n getDisplayItem('Show first-term legislators', only_first_term && 'Yes'),\n getDisplayItem('Show legislators-elect', only_elected && 'Yes'),\n getDisplayItem('Show only federal legislators I subscribe to', show_only_tracked_items && 'Yes'),\n getDisplayItem('Committee', getLabelFromItem(committees)),\n getDisplayItem('Caucus', getLabelFromItem(caucuses)),\n getDisplayItem('Party', mapBackendValues(parties, legislatorsProps.parties)),\n getDisplayItem('Chamber', mapBackendValues(chambers, legislatorsProps.chambers)),\n getDisplayItem('State', getLabelFromItem(state_alpha2s)),\n getDisplayItem('Tags', getLabelFromItem(tag_ids)),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n legislator,\n historicalLegislator,\n firstTermLegislator,\n electedLegislator,\n trackedItems,\n committee,\n caucus,\n party,\n chamber,\n stateDelegation,\n tags,\n } = options || {};\n\n return {\n ...getValue('full_text', searchValue),\n ...getValue('ids', transformSelectValues(legislator)),\n ...getValue('include_historical', historicalLegislator),\n ...getValue('only_first_term', firstTermLegislator),\n ...getValue('only_elected', electedLegislator),\n ...getValue('show_only_tracked_items', trackedItems),\n ...getValue('committee_ids', transformSelectValues(committee)),\n ...getValue('caucus_ids', transformSelectValues(caucus)),\n ...getValue('parties', party),\n ...getValue('chambers', chamber),\n ...getValue('state_alpha2s', transformSelectValues(stateDelegation)),\n ...getValue('tag_ids', transformSelectValues(tags)),\n };\n}\n\nexport function transformSearchesForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n legislator,\n historicalLegislator,\n firstTermLegislator,\n electedLegislator,\n trackedItems,\n committee,\n caucus,\n party,\n chamber,\n stateDelegation,\n tags,\n } = options || {};\n\n return {\n ...getValue('full_text', searchValue),\n ...getValue('ids', transformSelectValues(legislator)),\n ...getValue('include_historical', historicalLegislator),\n ...getValue('only_first_term', firstTermLegislator),\n ...getValue('only_elected', electedLegislator),\n ...getValue('show_only_tracked_items', trackedItems),\n ...getValue('committee_ids', transformSelectValues(committee)),\n ...getValue('caucus_ids', transformSelectValues(caucus)),\n ...getValue('parties', party),\n ...getValue('chambers', chamber),\n ...getValue('state_alpha2s', transformSelectValues(stateDelegation)),\n ...getValue('tag_ids', tags),\n };\n}\n\nexport function transformSearchesForUI(data, legislatorsProps) {\n return map(data, item => ({\n ...getDisplayDataForRecentSearches(item, legislatorsProps),\n ...transformOptionsForUI(item),\n }));\n}\n\n/** Subcommittee transformer utils */\nfunction getTitle(data) {\n return data ? `(${data})` : '';\n}\n\nfunction getSubcommittee(subcommittee = {}) {\n const { name, title } = subcommittee;\n\n return name ? `${name} ${getTitle(title)}` : '';\n}\n\nfunction getCommittee(committeesData = []) {\n const sortedCommittees = sortBy(committeesData, 'name');\n\n return map(sortedCommittees, (committee = {}) => {\n const { name = '', title, subcommittees = [] } = committee;\n\n if (isEmpty(name)) {\n return null;\n }\n\n const sortedSubcommittees = sortBy(subcommittees, subcommittee => subcommittee.name);\n\n return {\n name: `${name} ${getTitle(title)}`,\n items: compact(map(sortedSubcommittees, getSubcommittee)),\n };\n });\n}\n\nexport function transformLegislatorsForUI(legislators = []) {\n return map(legislators, ({\n id,\n full_name,\n chamber,\n district,\n party,\n party_short,\n party_slug,\n state,\n universal_moniker,\n committee_memberships,\n email,\n }) => ({\n id,\n name: universal_moniker || full_name,\n chamber,\n party,\n state,\n district,\n partyShort: party_short,\n partySlug: party_slug,\n committee: getCommittee(committee_memberships),\n email,\n recordId: id,\n documentType: DOCUMENT_TYPES.FEDERAL_LEGISLATOR,\n trackingType: responseTrackingTypes.FEDERAL_LEGISLATOR_STAFFER,\n itemType: FEDERAL_LEGISLATIVE_STAFFERS_ITEM_TYPE,\n withTrack: true,\n }));\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue } = data;\n const {\n legislator,\n committee,\n caucus,\n party,\n chamber,\n stateDelegation,\n historicalLegislator,\n firstTermLegislator,\n electedLegislator,\n tags,\n trackedItems,\n } = data.options || {};\n\n return {\n 'strategy_inputs[full_text]': searchValue || undefined,\n ...(!isEmpty(legislator) && { 'strategy_inputs[ids]': transformSelectValues(legislator) }),\n 'strategy_inputs[caucus_ids]': transformSelectValues(caucus),\n 'strategy_inputs[parties]': party,\n 'strategy_inputs[chambers]': chamber,\n 'strategy_inputs[state_alpha2s]': transformSelectValues(stateDelegation),\n 'strategy_inputs[committee_ids]': transformSelectValues(committee),\n 'strategy_inputs[tag_ids]': transformSelectValues(tags),\n 'strategy_inputs[show_only_tracked_items]': Boolean(trackedItems),\n ...(historicalLegislator && { 'strategy_inputs[include_historical]': historicalLegislator }),\n ...(firstTermLegislator && { 'strategy_inputs[only_first_term]': firstTermLegislator }),\n ...(electedLegislator && { 'strategy_inputs[only_elected]': electedLegislator }),\n };\n}\n","import { isEmpty, compact } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getDisplayItem, mapBackendValues } from 'redux/advancedSearch/utils';\nimport { FEDERAL_COMMITTEE_ITEM_TYPE } from 'utils/constants/itemTypes';\nimport {\n getLabelFromItem,\n getValue,\n transformSelectValues,\n} from 'utils/transformers/advancedSearch';\n\nfunction transformOptionsForUI(data = {}) {\n const { id, search_params } = data;\n const {\n lookup_keyword,\n legislators,\n committees,\n chambers,\n show_historical,\n show_only_tracked_items,\n tag_ids,\n } = search_params || {};\n\n return {\n id,\n options: {\n ...getValue('searchValue', lookup_keyword),\n ...getValue('legislator', legislators),\n ...getValue('committee', committees),\n ...getValue('chamber', chambers),\n ...getValue('historicalCommittees', Boolean(show_historical)),\n ...getValue('showOnlyTrackedItems', Boolean(show_only_tracked_items)),\n ...getValue('tags', tag_ids),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}, legislatorsProps = {}) {\n const { name, search_params } = data;\n const {\n legislators,\n committees,\n chambers,\n lookup_keyword,\n show_historical,\n show_only_tracked_items,\n tag_ids,\n } = search_params;\n\n const filters = [\n getDisplayItem('Searched', lookup_keyword),\n getDisplayItem('Legislator', getLabelFromItem(legislators)),\n getDisplayItem('Committee', getLabelFromItem(committees)),\n getDisplayItem('Chamber', mapBackendValues(chambers, legislatorsProps.chambers)),\n getDisplayItem('Include historical committees', show_historical && 'Yes'),\n getDisplayItem('Show only federal committees I subscribe to', show_only_tracked_items && 'Yes'),\n getDisplayItem('Tags', getLabelFromItem(tag_ids)),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n legislator,\n committee,\n chamber,\n historicalCommittees,\n showOnlyTrackedItems,\n tags,\n } = options || {};\n\n return {\n ...getValue('lookup_keyword', searchValue),\n ...getValue('ids', transformSelectValues(committee)),\n ...getValue('legislator_ids', transformSelectValues(legislator)),\n ...getValue('chambers', chamber),\n ...getValue('show_historical', historicalCommittees),\n ...getValue('show_only_tracked_items', showOnlyTrackedItems),\n ...getValue('tag_ids', transformSelectValues(tags)),\n };\n}\n\nexport function transformSearchesForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n legislator,\n committee,\n chamber,\n historicalCommittees,\n showOnlyTrackedItems,\n tags,\n } = options || {};\n\n return {\n ...getValue('lookup_keyword', searchValue),\n ...getValue('ids', transformSelectValues(committee)),\n ...getValue('legislator_ids', transformSelectValues(legislator)),\n ...getValue('chambers', chamber),\n ...getValue('show_historical', historicalCommittees),\n ...getValue('show_only_tracked_items', showOnlyTrackedItems),\n ...getValue('tag_ids', tags),\n };\n}\n\nexport function transformSearchesForUI(data, legislatorsProps) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item, legislatorsProps),\n ...transformOptionsForUI(item),\n }));\n}\n\nexport function transformCommitteesForUI(committees = []) {\n return committees.map(({\n chairman,\n chamber,\n id,\n name,\n ranking_member,\n subcommittees,\n }) => ({\n chairman,\n chamber,\n id,\n name,\n rankingMember: ranking_member,\n subcommittees,\n recordId: id,\n documentType: DOCUMENT_TYPES.FEDERAL_COMMITTEE,\n itemType: FEDERAL_COMMITTEE_ITEM_TYPE,\n isCommittee: true,\n withWeekAheadEmail: true,\n withTrack: true,\n }));\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue } = data;\n const {\n legislator,\n committee,\n chamber,\n tags,\n showOnlyTrackedItems,\n } = data.options || {};\n\n return {\n 'strategy_inputs[lookup_keyword]': searchValue || undefined,\n ...(!isEmpty(committee) && { 'strategy_inputs[ids]': transformSelectValues(committee) }),\n 'strategy_inputs[legislator_ids]': transformSelectValues(legislator),\n 'strategy_inputs[chambers]': chamber,\n 'strategy_inputs[tag_ids]': transformSelectValues(tags),\n 'strategy_inputs[show_only_tracked_items]': Boolean(showOnlyTrackedItems),\n };\n}\n","import map from 'lodash/map';\n\nimport notifications from 'components/Dashboard/utils/notifications';\nimport { notifySharedToMyFeed } from 'components/Dashboard/common/UserNotifications';\nimport { BASE_URL } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getMyFeed } from 'components/Dashboard/utils';\nimport { NEWS_STORY_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nimport constants from '../constants';\n\nconst myFeed = getMyFeed();\n\nexport function fetchMyFeedDocuments(ids) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_MY_FEED_DOCUMENTS });\n\n const url = '/api_web/news/events/check';\n const ajax = $.post(url, { document_ids: ids });\n\n function onSuccess(response) {\n dispatch({\n type: constants.RECEIVE_MY_FEED_DOCUMENTS_DONE,\n payload: map(response, recordId => (\n { recordId, sharings: [myFeed] }\n )),\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_MY_FEED_DOCUMENTS_FAILURE });\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function shareToMyFeed(id) {\n return (dispatch) => {\n dispatch({ type: constants.SHARE_TO_MY_FEED });\n\n const url = '/api_web/news/shared_documents';\n const data = { record_ids: [id] };\n\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n const [subscription] = response || [];\n const { last_event_token: token } = subscription || {};\n const href = token ? `${BASE_URL}/feed/recent/${token}` : '';\n\n dispatch({\n type: constants.SHARE_TO_MY_FEED_DONE,\n payload: { recordId: id, sharings: [myFeed] },\n });\n\n notifySharedToMyFeed({ itemType: NEWS_STORY_ITEM_TYPE, href });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.SHARE_TO_MY_FEED_FAILURE });\n\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import { size, map } from 'lodash';\n\nimport {\n notifyAddTags,\n notifyAddTagsMultiple,\n} from 'components/Dashboard/common/UserNotifications';\nimport notifications from 'components/Dashboard/utils/notifications';\nimport {\n getFilteredTags,\n transformTagsForBE,\n saveTagsAndUpdateRecords,\n} from 'redux/tags/utils';\nimport { NEWS_STORY_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nimport constants, { BASE_TAG_URL } from '../constants';\nimport { transformTags, transformTag } from '../utils';\n\nexport function fetchTags(ids) {\n return (dispatch) => {\n dispatch({ type: constants.LOAD_TAGS });\n\n const url = `${BASE_TAG_URL}/lookup`;\n const data = { record_ids: ids };\n const ajax = $.post(url, data);\n\n function onSuccess(response) {\n dispatch({\n type: constants.RECEIVE_TAGS_DONE,\n payload: transformTags(response),\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_TAGS_FAILURE });\n\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function bulkSaveTags({ tags, ids }) {\n return (dispatch) => {\n dispatch({ type: constants.BULK_SAVE_TAGS });\n\n const { newTags, existingTags } = getFilteredTags(tags);\n const url = `${BASE_TAG_URL}/bulk_create`;\n\n function saveTagsForRecord(responseNewTags) {\n const data = {\n story_ids: ids,\n tag_ids: transformTagsForBE(existingTags, responseNewTags),\n };\n\n const ajax = $.post(url, data);\n\n function onSuccess() {\n dispatch({ type: constants.BULK_SAVE_TAGS_DONE });\n\n const itemsLength = size(ids);\n\n itemsLength === 1\n ? notifyAddTags({ itemType: NEWS_STORY_ITEM_TYPE })\n : notifyAddTagsMultiple(itemsLength);\n }\n\n function onFailure(error) {\n dispatch({ type: constants.BULK_SAVE_TAGS_FAILURE });\n\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(() => dispatch(fetchTags(ids)))\n .then(onSuccess)\n .catch(onFailure);\n }\n\n return saveTagsAndUpdateRecords({ newTags, saveTagsForRecord });\n };\n}\n\nexport function updateTags({ tags, id }) {\n return (dispatch) => {\n dispatch({ type: constants.UPDATE_TAGS });\n\n const { newTags, existingTags } = getFilteredTags(tags);\n const url = `${BASE_TAG_URL}/update/${id}`;\n\n function saveTagsForRecord(responseNewTags) {\n const data = { tag_ids: transformTagsForBE(existingTags, responseNewTags) };\n const ajax = $.ajax({\n method: 'PUT',\n data,\n url,\n });\n\n function onSuccess(response) {\n const { data: responseTags } = response || {};\n\n dispatch({\n type: constants.UPDATE_TAGS_DONE,\n payload: { recordId: id, tags: map(responseTags, transformTag) },\n });\n\n notifyAddTags({ itemType: NEWS_STORY_ITEM_TYPE });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.BULK_SAVE_TAGS_FAILURE });\n\n notifications.generalFailedNotification();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n }\n\n return saveTagsAndUpdateRecords({ newTags, saveTagsForRecord });\n };\n}\n","import { unionWith, isEqual, omitBy, isNil, map, size } from 'lodash';\n\nimport { GET_REQUEST } from 'utils/constants';\nimport { transformSort } from 'utils/transformers/paginator';\n\nimport constants from '../constants';\nimport {\n transformNewsFeedForUI,\n transformNewsParams,\n transformPaginator,\n getFeedKeywords,\n handleFailureNotification,\n} from '../utils';\nimport { fetchMyFeedDocuments } from './events';\nimport { fetchTags } from './tags';\n\nexport { shareToMyFeed } from './events';\nexport * from './tags';\n\nexport function fetchNews(payload = {}, customTransformers = {}) {\n return (dispatch) => {\n const {\n sortData,\n cursor,\n resetFeed = false,\n shouldGroupCluster,\n url = '/api_web/news/stories',\n method = GET_REQUEST,\n } = payload;\n const {\n transformForUI = transformNewsFeedForUI,\n transformParams = transformNewsParams,\n } = customTransformers;\n\n resetFeed && dispatch({ type: constants.RESET_NEWS_FEED });\n dispatch({ type: constants.FETCH_NEWS_FEED });\n\n const data = transformParams(payload);\n\n const ajax = $.ajax({ url, method, data });\n\n function onSuccess(response) {\n const sort = omitBy(sortData, isNil);\n const { data: responseData = [], pagination } = response;\n\n return dispatch({\n type: constants.RECEIVE_NEWS_FEED_DONE,\n payload: transformForUI(responseData, shouldGroupCluster),\n pagination: transformPaginator(pagination, cursor, size(responseData)),\n sort: transformSort(sort),\n shouldReset: resetFeed,\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_NEWS_FEED_FAILURE });\n\n handleFailureNotification(error);\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .then(({ payload: payloadData }) => {\n const storyIds = map(payloadData, 'id');\n\n dispatch(fetchTags(storyIds));\n dispatch(fetchMyFeedDocuments(storyIds));\n })\n .catch(onFailure);\n };\n}\n\nexport function resetStoryFeed() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_NEWS_FEED });\n };\n}\n\nexport function fetchFeedKeywords(id) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_FEED_KEYWORDS });\n\n const url = `/api_web/news/searches/${id}`;\n const ajax = $.get(url);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_FEED_KEYWORDS_DONE,\n payload: getFeedKeywords(response),\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_FEED_KEYWORDS_FAILURE });\n\n handleFailureNotification(error);\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function resetFeedKeywords() {\n return (dispatch) => {\n dispatch({ type: constants.RESET_FEED_KEYWORDS });\n };\n}\n\nexport function onSelectAllCards(isChecked, cards) {\n return (dispatch) => {\n const selectedCards = isChecked ? [] : cards;\n\n dispatch({ type: constants.SELECT_CARDS, selectedCards });\n };\n}\n\nexport function resetSelectedCards() {\n return dispatch => dispatch({ type: constants.SELECT_CARDS, selectedCards: [] });\n}\n\nexport function onSelectCard(selectedCard, isChecked) {\n return (dispatch, getState) => {\n const { selectedCards } = getState().news.newsFeed;\n let filteredCards = [];\n\n if (isChecked) {\n filteredCards = selectedCards.filter(({ id }) => id !== selectedCard.id);\n } else {\n filteredCards = unionWith(selectedCards, [selectedCard], isEqual);\n }\n\n dispatch({\n type: constants.SELECT_CARDS,\n selectedCards: filteredCards,\n });\n };\n}\n\nexport function updateDataItem(payload) {\n return dispatch => dispatch({\n type: constants.UPDATE_DATA_ITEM,\n payload,\n });\n}\n","import { forEach, values, includes } from 'lodash';\n\nimport { EXECUTIVE_PERSON_TYPES, EXECUTIVE_PERSON } from 'redux/grm2/utils/constants';\n\nconst isExecutivePerson = type => includes(values(EXECUTIVE_PERSON_TYPES), type);\n\nexport const getCardLinkType = type => (isExecutivePerson(type) ? EXECUTIVE_PERSON : type);\n\nexport const transformCardLinks = (card) => {\n const fields = ['people', 'bills', 'committees', 'documents', 'hillDayActivity', 'regulations'];\n const cardLinks = [];\n\n forEach(fields, (field) => {\n const fieldValues = card[field] || [];\n\n forEach(fieldValues, ({ value, type }) => {\n cardLinks.push({\n record_id: value,\n record_type: getCardLinkType(type),\n });\n });\n });\n\n return cardLinks;\n};\n\nexport const toCardLinks = ({ type, value }) => ({\n type: getCardLinkType(type),\n id: value,\n});\n","import {\n getValue,\n getContributionDonorInfo,\n getContributionRecipientInfo,\n transformContributionSearchesForFront,\n formatSelectValueToArrForBE,\n formatSelectValueToObjForBE,\n sourceSelectValueForBE,\n formatReceivedTypesForBE,\n formatTypesForSaveBE,\n formatContributorType,\n} from 'redux/moneyball/utils/transformers';\n\nexport function transformReceiptsForFE(receipts = []) {\n return receipts.map(({\n receipt,\n super_committee_donor: superCommDonor,\n super_individual_donor: superIndDonor,\n super_corporation_donor: superCorpDonor,\n super_committee_recipient,\n super_committee_conduit,\n ...restProps\n }) => {\n const donorInfo = getContributionDonorInfo({ superCommDonor, superIndDonor, superCorpDonor });\n const recipientInfo = getContributionRecipientInfo(super_committee_recipient);\n const { id: conduitId, name: conduitName } = super_committee_conduit || {};\n const { name, url } = donorInfo || {};\n const {\n is_pdf_available,\n filing_source_url,\n contribution_date,\n contribution_amount,\n source_type_full,\n election_type_full,\n donor_name,\n id,\n } = receipt || {};\n\n const donorNameProps = name ? { name, url } : { name: donor_name };\n\n return ({\n ...restProps,\n ...donorInfo,\n ...donorNameProps,\n ...recipientInfo,\n id,\n contribution_date,\n source_type_full,\n election_type_full,\n conduitName,\n amount: contribution_amount,\n conduit: {\n conduitId,\n conduitUrl: `/moneyball_v2/committees/${conduitId}`,\n },\n // required to stakeholder management\n donor: {\n ...donorInfo,\n ...donorNameProps,\n },\n receipts: {\n id,\n is_pdf_available,\n filing_source_url,\n },\n });\n });\n}\n\nexport function transformSearchesForFE(data = []) {\n return data.map((item) => {\n const { id, name, search_params } = item || {};\n const {\n query,\n contribution_date,\n contribution_amount,\n contributor_types,\n contributor,\n source_types,\n election_types,\n } = search_params || {};\n\n const { super_committees, super_individuals } = contributor || {};\n const { ids, types } = super_committees || {};\n const {\n names,\n employers,\n occupations,\n streets,\n cities,\n states,\n zip_codes,\n } = super_individuals || {};\n\n return {\n id,\n title: name || 'Applied filters:',\n ...transformContributionSearchesForFront({\n contribution_amount,\n contribution_date,\n contributor_types,\n contributor,\n ids,\n types,\n names,\n employers,\n occupations,\n streets,\n cities,\n states,\n zip_codes,\n query,\n source_types,\n election_types,\n }),\n };\n });\n}\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue, options } = data;\n const {\n dates,\n amounts,\n contributorType,\n contributorNonIndividual,\n contributorCommitteeTypes,\n contributorIndividuals,\n contributorEmployers,\n contributorOccupations,\n contributorStreet,\n contributorCity,\n contributorStates,\n contributorZip,\n sourceTypes,\n electionTypes,\n } = options || data;\n const { startDate, endDate } = dates || data;\n const { fromValue, toValue } = amounts || data;\n\n return {\n ...getValue('query', searchValue),\n ...getValue('contribution_date', {\n ...getValue('start', startDate),\n ...getValue('end', endDate),\n }),\n ...getValue('contribution_amount', {\n ...getValue('start', fromValue),\n ...getValue('end', toValue),\n }),\n ...getValue('contributor_types', formatContributorType(contributorType)),\n ...getValue('contributor', {\n ...getValue('super_committees', {\n ...getValue('ids', formatSelectValueToArrForBE(contributorNonIndividual)),\n ...getValue('types', contributorCommitteeTypes),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToArrForBE(contributorIndividuals)),\n ...getValue('employers', formatSelectValueToArrForBE(contributorEmployers)),\n ...getValue('occupations', formatSelectValueToArrForBE(contributorOccupations)),\n ...getValue('streets', formatSelectValueToArrForBE(contributorStreet)),\n ...getValue('cities', formatSelectValueToArrForBE(contributorCity)),\n ...getValue('states', formatSelectValueToArrForBE(contributorStates)),\n ...getValue('zip_codes', formatSelectValueToArrForBE(contributorZip)),\n }),\n }),\n ...getValue('election_types', formatSelectValueToArrForBE(electionTypes)),\n ...getValue('source_types', formatReceivedTypesForBE(sourceTypes)),\n };\n}\n\n/**\n * Required for recent/saved searches\n * @param data\n * @returns {{}}\n */\nexport function transformOptionsSearchForBE(data = {}) {\n const { options } = data;\n const {\n contributorNonIndividual,\n contributorCommitteeTypes,\n contributorIndividuals,\n contributorEmployers,\n contributorOccupations,\n contributorStreet,\n contributorCity,\n contributorStates,\n contributorZip,\n electionTypes,\n sourceTypes,\n } = options || data;\n const baseOptions = transformOptionsForBE(data);\n\n return {\n ...baseOptions,\n ...getValue('contributor', {\n ...getValue('super_committees', {\n ...getValue('ids', sourceSelectValueForBE(contributorNonIndividual)),\n ...getValue('types', contributorCommitteeTypes),\n }),\n ...getValue('super_individuals', {\n ...getValue('names', formatSelectValueToObjForBE(contributorIndividuals)),\n ...getValue('employers', formatSelectValueToObjForBE(contributorEmployers)),\n ...getValue('occupations', formatSelectValueToObjForBE(contributorOccupations)),\n ...getValue('streets', formatSelectValueToObjForBE(contributorStreet)),\n ...getValue('cities', formatSelectValueToObjForBE(contributorCity)),\n ...getValue('states', formatSelectValueToObjForBE(contributorStates)),\n ...getValue('zip_codes', formatSelectValueToObjForBE(contributorZip)),\n }),\n }),\n ...getValue('source_types', formatTypesForSaveBE(sourceTypes)),\n ...getValue('election_types', formatTypesForSaveBE(electionTypes)),\n };\n}\n","const PREFIX = 'NEWS_COMMON_ANALYTICS';\n\nconst constants = {\n FETCH_TIME_SERIES: `${PREFIX}/FETCH_TIME_SERIES`,\n RECEIVE_TIME_SERIES_DONE: `${PREFIX}/RECEIVE_TIME_SERIES_DONE`,\n RECEIVE_TIME_SERIES_FAILURE: `${PREFIX}/RECEIVE_TIME_SERIES_FAILURE`,\n RESET_TIME_SERIES: `${PREFIX}/RESET_TIME_SERIES`,\n};\n\nexport default constants;\n","import { transformStakeholderToUI } from '../../common/utils';\nimport constants from '../constants';\nimport { isMoneyballPermitted } from '../utils';\nimport { fetchStakeholderContributions } from './contributions';\n\nexport function fetchStakeholderProfile(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_STAKEHOLDER_PROFILE });\n\n const { stakeholderId } = payload;\n\n const url = `/api_web/stakeholder-management/stakeholders/${stakeholderId}`;\n\n const ajax = $.get(url);\n\n function onSuccess(response) {\n const stakeholderData = response;\n const stakeholder = transformStakeholderToUI(stakeholderData);\n\n const payloadData = {\n profile: {\n ...stakeholder,\n },\n customFieldsAnswers: stakeholder.customFields,\n };\n\n isMoneyballPermitted(stakeholder) && dispatch(fetchStakeholderContributions(stakeholder));\n\n return dispatch({\n type: constants.RECEIVE_STAKEHOLDER_PROFILE_DONE,\n payload: payloadData,\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_STAKEHOLDER_PROFILE_FAIL });\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function updateStakeholderDescription(payload = {}) {\n return (dispatch) => {\n dispatch({\n type: constants.UPDATE_STAKEHOLDER_PROFILE_DESCRIPTION,\n payload,\n });\n };\n}\n","const keyword = 'VOTING_RECORD';\n\nconst constants = {\n FETCH_BILLS: `${keyword}/FETCH_BILLS`,\n RECEIVE_BILLS_DONE: `${keyword}/RECEIVE_BILLS_DONE`,\n};\n\nexport const FEDERAL_LEGISLATOR_SLUG = 'federal_legislator';\nexport const STATE_LEGISLATOR_SLUG = 'state_legislator';\n\nexport default constants;\n","// TODO: Refactor and move to redux/legislator/lookup when legislators' lookup will be refactored.\nimport { fetchMapBox } from 'components/map/helpers';\nimport mapConstants from 'components/map/constants';\n\nconst STATE_LEGISLATION_LOWER_LOOKUP_URL = '/api_web/portal/state_legislators/lookup_kw/house';\nconst STATE_LEGISLATION_UPPER_LOOKUP_URL = '/api_web/portal/state_legislators/lookup_kw/senate';\nconst CONGRESSIONAL_DISTRICTS_LOOKUP_URL = '/api_web/portal/legislators/lookup_kw';\n\nconst constants = {\n FETCH_LEGISLATORS: 'LEGISLATOR_LOOKUP/FETCH_LEGISLATORS',\n RECEIVE_LEGISLATORS: 'LEGISLATOR_LOOKUP/RECEIVE_LEGISLATORS',\n RECEIVE_LEGISLATORS_NOT_FOUND: 'LEGISLATOR_LOOKUP/RECEIVE_LEGISLATORS_NOT_FOUND',\n FETCH_DISTRICT_ID: 'LEGISLATOR_LOOKUP/FETCH_DISTRICT_ID',\n RESET_LEGISLATORS: 'LEGISLATOR_LOOKUP/RESET_LEGISLATORS',\n RECEIVE_GEOCODE_RESULT: 'LEGISLATOR_LOOKUP/RECEIVE_GEOCODE_RESULT',\n ERROR_GEOCODING_ADDRESS: 'LEGISLATOR_LOOKUP/ERROR_GEOCODING_ADDRESS',\n GEOCODE_ADDRESS: 'LEGISLATOR_LOOKUP/GEOCODE_ADDRESS',\n};\n\nexport function receiveLegislators(payload) {\n return { type: constants.RECEIVE_LEGISLATORS, payload };\n}\n\nexport function receiveLegislatorsNotFound(payload) {\n return { type: constants.RECEIVE_LEGISLATORS_NOT_FOUND, payload };\n}\n\nexport const getFetchLegislatorsUrl = (kwId, filterType) => {\n if (filterType === mapConstants.STATE_LEGISLATION_LOWER) {\n return `${STATE_LEGISLATION_LOWER_LOOKUP_URL}/${kwId}`;\n }\n\n if (filterType === mapConstants.STATE_LEGISLATION_UPPER) {\n return `${STATE_LEGISLATION_UPPER_LOOKUP_URL}/${kwId}`;\n }\n\n return `${CONGRESSIONAL_DISTRICTS_LOOKUP_URL}/${kwId}`;\n};\n\nexport function resetLegislators() {\n return { type: constants.RESET_LEGISLATORS };\n}\n\nexport function fetchLegislators(payload) {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_LEGISLATORS, payload });\n\n const { features, filterType } = payload;\n const targetFeature = features.find(f => f.properties.type === filterType);\n\n if (!targetFeature) {\n return dispatch(receiveLegislators({ legislators: [] }));\n }\n\n const { properties } = targetFeature;\n const { kwDistrictId } = properties || {};\n\n if (!kwDistrictId) {\n return dispatch(receiveLegislators({ legislators: [], kwDistrictId }));\n }\n\n return $.ajax({ url: getFetchLegislatorsUrl(kwDistrictId, filterType), method: 'GET' })\n .then(result => dispatch(receiveLegislators({ ...result, kwDistrictId })))\n .fail(() => dispatch(receiveLegislatorsNotFound({})));\n };\n}\n\nexport function fetchDistrictId(payload) {\n const { filterType } = payload;\n return (dispatch) => {\n dispatch({ type: constants.FETCH_DISTRICT_ID, payload });\n fetchMapBox(payload.coordinates.join())\n .then(result => dispatch(fetchLegislators({ ...result, filterType })));\n };\n}\n\nexport function geocodeAddress() {\n return { type: constants.GEOCODE_ADDRESS };\n}\n\nexport function errorGeocodingAddress() {\n return { type: constants.ERROR_GEOCODING_ADDRESS };\n}\n\nexport function receiveGeocodeResult({ address, result }) {\n return { type: constants.RECEIVE_GEOCODE_RESULT, payload: { address, result } };\n}\n\nexport function geocodeLegislatorAddress(address, dispatch, getState) {\n const { legislatorLookup } = getState();\n const { geoCodeResults } = legislatorLookup;\n\n dispatch(geocodeAddress());\n\n if (geoCodeResults[address]) {\n dispatch(receiveGeocodeResult({ address, result: geoCodeResults[address] }));\n return Promise.resolve(geoCodeResults[address]);\n }\n\n const request = $.ajax({\n url: `https://api.mapbox.com/geocoding/v5/mapbox.places/${address}.json`,\n data: {\n access_token: gon.mapboxAccessToken,\n },\n type: 'GET',\n });\n\n return Promise.resolve(request)\n .then(({ features }) => {\n if (!features.length) {\n throw new Error('Can\\'t geocode address');\n }\n\n const { center: result } = features[0];\n dispatch(receiveGeocodeResult({ address, result }));\n\n return result;\n })\n .catch((error) => {\n dispatch(errorGeocodingAddress());\n throw error;\n });\n}\n\nexport function getLegislatorsByAddress(payload = {}) {\n const { address, type } = payload;\n\n return (dispatch, getState) => geocodeLegislatorAddress(address, dispatch, getState)\n .then((coordinates) => {\n dispatch(fetchDistrictId({ coordinates, filterType: type }));\n })\n .catch((error) => {\n throw error;\n });\n}\n\nconst defaultState = {\n legislators: [],\n geoCodeResults: {},\n kwDistrictId: null,\n ui: {\n loadingLegislators: false,\n geocodingAddress: false,\n },\n};\n\nexport default function (state = defaultState, action) {\n switch (action.type) {\n case constants.FETCH_LEGISLATORS:\n return {\n ...state,\n ui: { ...state.ui, loadingLegislators: true, searchTouched: true },\n };\n case constants.RECEIVE_LEGISLATORS:\n return {\n ...state,\n legislators: action.payload.legislators,\n kwDistrictId: action.payload.kwDistrictId,\n ui: { ...state.ui, loadingLegislators: false },\n };\n case constants.RECEIVE_LEGISLATORS_NOT_FOUND:\n return {\n ...state,\n legislators: [],\n kwDistrictId: null,\n ui: { ...state.ui, loadingLegislators: false },\n };\n case constants.FETCH_DISTRICT_ID:\n return {\n ...state,\n ui: { ...state.ui, loadingLegislators: true },\n };\n case constants.RESET_LEGISLATORS:\n return {\n ...state,\n legislators: [],\n kwDistrictId: null,\n };\n // Geocode address\n case constants.GEOCODE_ADDRESS:\n return {\n ...state,\n ui: {\n ...state.ui,\n geocodingAddress: true,\n },\n };\n case constants.ERROR_GEOCODING_ADDRESS:\n return {\n ...state,\n ui: {\n ...state.ui,\n geocodingAddress: false,\n },\n };\n case constants.RECEIVE_GEOCODE_RESULT:\n return {\n ...state,\n geoCodeResults: {\n ...state.geoCodeResults,\n [action.payload.address]: action.payload.result,\n },\n ui: {\n ...state.ui,\n geocodingAddress: false,\n },\n };\n default:\n return state;\n }\n}\n","const PREFIX = 'EXPORT_REPORT';\n\nexport const LIMIT_SELECTED_ITEMS = 500;\n\nconst constants = {\n SUBMIT_EXPORT_REPORT_LOADING: `${PREFIX}/SUBMIT_EXPORT_REPORT_LOADING`,\n SUBMIT_EXPORT_REPORT_DONE: `${PREFIX}/SUBMIT_EXPORT_REPORT_DONE`,\n};\n\nexport default constants;\n","const BASE_POSITION_URL = '/api_web/user_positions';\n\nfunction fetchAllPositions(payload) {\n const url = `${BASE_POSITION_URL}/lookup`;\n const ajax = $.ajax({\n url,\n method: 'POST',\n data: JSON.stringify(payload),\n contentType: 'application/json',\n });\n\n return Promise.resolve(ajax).then(response => response);\n}\n\nfunction fetchPosition({ recordId, recordType }) {\n const url = `${BASE_POSITION_URL}/${recordType}/${recordId}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(({ position_type }) => position_type);\n}\n\nfunction fetchPositionsByType({ recordIds, recordType }) {\n const url = `${BASE_POSITION_URL}/${recordType}`;\n const data = { record_ids: recordIds };\n const ajax = $.ajax({\n method: 'GET',\n url,\n data,\n });\n\n return Promise.resolve(ajax);\n}\n\nfunction deletePosition({ recordId, recordType }) {\n const url = `${BASE_POSITION_URL}/${recordType}/${recordId}`;\n const ajax = $.ajax({ method: 'DELETE', url });\n\n return Promise.resolve(ajax);\n}\n\nfunction updatePosition({ recordId, recordType, position }) {\n const url = `${BASE_POSITION_URL}/apply`;\n const data = {\n record_id: recordId,\n record_type: recordType,\n position_type: position,\n };\n\n const ajax = $.post(url, data);\n\n return Promise.resolve(ajax);\n}\n\nexport default {\n fetchPosition,\n fetchAllPositions,\n fetchPositionsByType,\n deletePosition,\n updatePosition,\n};\n","import { error, success } from 'components/core/Notification';\n\nexport default {\n defaultFetchDataFailed: error('An error occurred during the data loading. Please try again.'),\n defaultSubmitDataFailed: error('Something went wrong. Please try again.'),\n exportEventFailed: error('Data export failed. Please try again.'),\n exportEventSuccess: success('Data has been exported successfully.'),\n};\n","const PREFIX = 'DASHBOARD_MYFEED';\n\nconst constants = {\n SET_SEEN: `${PREFIX}/SET_SEEN`,\n SET_LAST_VISIT: `${PREFIX}/SET_LAST_VISIT`,\n SET_CREATED_TO: `${PREFIX}/SET_CREATED_TO`,\n UPDATE_EVENT_INIT: `${PREFIX}/UPDATE_EVENT_INIT`,\n UPDATE_EVENT_KEYWORD: `${PREFIX}/UPDATE_EVENT_KEYWORD`,\n UPDATE_EVENT: `${PREFIX}/UPDATE_EVENT`,\n REMOVE_EVENT: `${PREFIX}/REMOVE_EVENT`,\n LOAD_UNDO_EVENT: `${PREFIX}/LOAD_UNDO_EVENT`,\n UNDO_EVENT: `${PREFIX}/UNDO_EVENT`,\n LOAD_DATA_INIT: `${PREFIX}/LOAD_DATA_INIT`,\n LOAD_DATA_DONE: `${PREFIX}/LOAD_DATA_DONE`,\n LOADING_DATA_FINISH: `${PREFIX}/LOADING_DATA_FINISH`,\n LOAD_KEYWORDS_INIT: `${PREFIX}/LOAD_KEYWORDS_INIT`,\n LOAD_KEYWORDS_DONE: `${PREFIX}/LOAD_KEYWORDS_DONE`,\n LOAD_POSITIONS_INIT: `${PREFIX}/LOAD_POSITIONS_INIT`,\n LOAD_POSITIONS_DONE: `${PREFIX}/LOAD_POSITIONS_DONE`,\n UPDATE_POSITION_TRACK: `${PREFIX}/UPDATE_POSITION_TRACK`,\n LOAD_RECENT_ITEM_SUBSCRIPTION: `${PREFIX}/LOAD_RECENT_ITEM_SUBSCRIPTION`,\n LOAD_ITEMS_SUBSCRIPTIONS_INIT: `${PREFIX}/LOAD_ITEMS_SUBSCRIPTIONS_INIT`,\n LOAD_ITEMS_SUBSCRIPTIONS_FINISHED: `${PREFIX}/LOAD_ITEMS_SUBSCRIPTIONS_FINISHED`,\n LOAD_POSITIONS_FINISHED: `${PREFIX}/LOAD_POSITIONS_FINISHED`,\n LOAD_TAGS: `${PREFIX}/LOAD_TAGS`,\n LOAD_TAGS_DONE: `${PREFIX}/LOAD_TAGS_DONE`,\n UPDATE_DATA_ITEM: `${PREFIX}/UPDATE_DATA_ITEM`,\n SAVE_TAGS_ITEM: `${PREFIX}/SAVE_TAGS_ITEM`,\n UPDATE_TAG_ITEM: `${PREFIX}/UPDATE_TAG_ITEM`,\n UPDATE_TAG_ITEM_DONE: `${PREFIX}/UPDATE_TAG_ITEM_DONE`,\n BULK_REMOVE_EVENTS: `${PREFIX}/BULK_REMOVE_EVENTS`,\n BULK_REMOVE_EVENTS_DONE: `${PREFIX}/BULK_REMOVE_EVENTS_DONE`,\n BULK_UPDATE_EVENTS: `${PREFIX}/BULK_UPDATE_EVENTS`,\n BULK_UPDATE_EVENTS_DONE: `${PREFIX}/BULK_UPDATE_EVENTS_DONE`,\n UPDATE_TRACK_COMMITTEE_INIT: `${PREFIX}/UPDATE_TRACK_COMMITTEE_INIT`,\n UPDATE_TRACK_COMMITTEE: `${PREFIX}/UPDATE_TRACK_COMMITTEE`,\n SET_CARDS_LINK_PREVIEW_INIT: `${PREFIX}/SET_CARDS_LINK_PREVIEW_INIT`,\n SET_CARDS_LINK_PREVIEW_DONE: `${PREFIX}/SET_CARDS_LINK_PREVIEW_DONE`,\n RESET: `${PREFIX}/RESET`,\n};\n\nexport default constants;\n","import isEmpty from 'lodash/isEmpty';\n\nimport { COMMITTEE_TYPE, LEGISLATOR_TYPE } from 'utils/constants';\n\nexport function transformOfficeForBE(offices, isExport = false) {\n if (isEmpty(offices)) {\n return null;\n }\n\n const legislator_ids = [];\n const committee_ids = [];\n\n offices.forEach(({ type, value }) => {\n type === LEGISLATOR_TYPE && legislator_ids.push(value);\n type === COMMITTEE_TYPE && committee_ids.push(value);\n });\n\n if (isExport) {\n return {\n 'strategy_inputs[office][legislator_ids]': legislator_ids,\n 'strategy_inputs[office][committee_ids]': committee_ids,\n };\n }\n\n return {\n legislator_ids,\n committee_ids,\n };\n}\n","import { compact, isEmpty } from 'lodash';\n\nimport { getDisplayItem } from 'redux/advancedSearch/utils';\nimport {\n formatSelectValue, getLabelFromItem,\n getValue,\n transformSelectValues,\n mapBackendValues,\n} from 'utils/transformers/advancedSearch';\n\nimport { transformOfficeForBE } from './transformers';\n\nexport function transformOptionsForBE(data = {}) {\n const { searchValue } = data;\n const {\n office,\n legislativeIssueArea,\n title,\n role,\n educations,\n officeLocationType,\n caucus,\n legislativeStaffersCommittee,\n party,\n chamber,\n stateDelegation,\n officeMembershipType,\n historicalStaffer,\n } = data.options || {};\n\n return {\n ...getValue('lookup_keyword', searchValue),\n ...getValue('office', transformOfficeForBE(office)),\n ...getValue('priorities', transformSelectValues(legislativeIssueArea)),\n ...getValue('titles', transformSelectValues(title)),\n ...getValue('roles', transformSelectValues(role)),\n ...getValue('educations', transformSelectValues(educations)),\n ...getValue('office_types', officeLocationType),\n ...getValue('include_historical', historicalStaffer),\n ...getValue('office_membership_types', officeMembershipType),\n ...getValue('legislator_caucus_ids', transformSelectValues(caucus)),\n ...getValue('legislator_committee_ids', transformSelectValues(legislativeStaffersCommittee)),\n ...getValue('parties', party),\n ...getValue('chambers', chamber),\n ...getValue('state_ids', transformSelectValues(stateDelegation)),\n };\n}\n\nexport function getExportInfo(data = {}) {\n const { searchValue } = data;\n const {\n office,\n legislativeIssueArea,\n title,\n role,\n officeLocationType,\n caucus,\n legislativeStaffersCommittee,\n party,\n chamber,\n stateDelegation,\n educations,\n officeMembershipType,\n historicalStaffer,\n } = data.options || {};\n\n return {\n 'strategy_inputs[lookup_keyword]': searchValue,\n 'strategy_inputs[priorities]': transformSelectValues(legislativeIssueArea),\n 'strategy_inputs[titles]': transformSelectValues(title),\n 'strategy_inputs[roles]': transformSelectValues(role),\n 'strategy_inputs[educations]': transformSelectValues(educations),\n 'strategy_inputs[office_types]': officeLocationType,\n 'strategy_inputs[office_membership_types]': officeMembershipType,\n 'strategy_inputs[legislator_caucus_ids]': transformSelectValues(caucus),\n 'strategy_inputs[legislator_committee_ids]': transformSelectValues(legislativeStaffersCommittee),\n 'strategy_inputs[parties]': party,\n 'strategy_inputs[chambers]': chamber,\n 'strategy_inputs[state_ids]': transformSelectValues(stateDelegation),\n ...(historicalStaffer && { 'strategy_inputs[include_historical]': historicalStaffer }),\n ...transformOfficeForBE(office, true),\n };\n}\n\nfunction transformOptionsForUI(data = {}) {\n const { id } = data;\n const {\n lookup_keyword,\n priorities,\n titles,\n roles,\n office,\n office_types,\n office_membership_types,\n caucuses,\n legislator_committees,\n parties,\n chambers,\n states,\n educations,\n include_historical,\n } = data.search_params || {};\n\n return {\n id,\n options: {\n ...getValue('searchValue', lookup_keyword),\n ...getValue('office', office),\n ...getValue('historicalStaffer', include_historical),\n ...getValue('legislativeIssueArea', formatSelectValue(priorities)),\n ...getValue('title', formatSelectValue(titles)),\n ...getValue('role', formatSelectValue(roles)),\n ...getValue('educations', formatSelectValue(educations)),\n ...getValue('officeLocationType', office_types),\n ...getValue('officeMembershipType', office_membership_types),\n ...getValue('caucus', caucuses),\n ...getValue('legislativeStaffersCommittee', legislator_committees),\n ...getValue('party', parties),\n ...getValue('chamber', chambers),\n ...getValue('stateDelegation', states),\n },\n };\n}\n\nfunction getDisplayDataForRecentSearches(data = {}, stafferData = {}) {\n const { name } = data;\n const {\n lookup_keyword,\n priorities,\n titles,\n roles,\n office_membership_types,\n office_types,\n caucuses,\n legislator_committees,\n parties,\n office,\n chambers,\n states,\n educations,\n include_historical,\n } = data.search_params;\n\n const filters = [\n getDisplayItem('Searched', lookup_keyword),\n getDisplayItem('Serves', getLabelFromItem(office)),\n getDisplayItem('Legislative issue area', priorities),\n getDisplayItem('Title', titles),\n getDisplayItem('Role', roles),\n getDisplayItem('Include historical staffers', include_historical && 'Yes'),\n getDisplayItem('Educations', educations),\n getDisplayItem('Office location', mapBackendValues(office_types, stafferData.offices)),\n getDisplayItem('Office type', mapBackendValues(office_membership_types, stafferData.officeMembershipTypes)),\n getDisplayItem('Caucus', getLabelFromItem(caucuses)),\n getDisplayItem('Legislative staffers on committee', getLabelFromItem(legislator_committees)),\n getDisplayItem('Party', mapBackendValues(parties, stafferData.parties)),\n getDisplayItem('Chamber', mapBackendValues(chambers, stafferData.chambers)),\n getDisplayItem('Legislator state', getLabelFromItem(states)),\n ];\n\n return {\n title: name || 'Applied filters:',\n filters: compact(filters),\n };\n}\n\nfunction getEducations(educations) {\n if (isEmpty(educations)) {\n return [];\n }\n\n return educations.map((education) => {\n const { school, end_date: endDate } = education || {};\n\n if (isEmpty(endDate)) {\n return school;\n }\n\n return `${school}, ${endDate}`;\n });\n}\n\nexport function transformStaffersForUI(staffers = []) {\n return staffers.map(({\n id,\n alias_name,\n full_name,\n party,\n boss_name,\n boss_party,\n title,\n phone,\n email,\n chamber,\n location,\n role,\n office_type,\n office_membership_type,\n responsibilities,\n party_short,\n party_slug,\n boss_party_short,\n boss_party_slug,\n educations,\n ...restProps\n }) => ({\n ...restProps,\n id,\n name: alias_name || full_name,\n party,\n partyShort: party_short,\n partySlug: party_slug,\n bossPartyShort: boss_party_short,\n bossPartySlug: boss_party_slug,\n url: `/federal/congressional_staffers/${id}`,\n office: { name: boss_name, party: boss_party },\n title,\n role,\n phone,\n email,\n chamber,\n location,\n educations: getEducations(educations),\n officeLocationType: office_type,\n officeMembershipType: office_membership_type,\n legislativeIssueArea: responsibilities,\n }));\n}\n\nexport function transformSearchesForUI(data, stafferData) {\n return data.map(item => ({\n ...getDisplayDataForRecentSearches(item, stafferData),\n ...transformOptionsForUI(item),\n }));\n}\n","const PREFIX = 'LOBBY_ALERTS';\n\nexport const API_URL = '/api_web/portal/lobby_alerts';\n\nexport const SUBMIT_LOBBY_ALERTS = `${PREFIX}/SUBMIT_LOBBY_ALERTS`;\nexport const SUBMIT_LOBBY_ALERTS_DONE = `${PREFIX}/SUBMIT_LOBBY_ALERTS_DONE`;\nexport const SUBMIT_LOBBY_ALERTS_ERROR = `${PREFIX}/SUBMIT_LOBBY_ALERTS_ERROR`;\n","import { map, head, reject, upperFirst, omitBy, isEmpty, isNil } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nimport { formatTokens, getItemType, getSectionType, getSectionUrl, getType } from './utils';\n\nexport function transformSingleSubscriptionForUI(subscription, documentType, itemData) {\n const {\n token,\n frequency,\n is_disabled,\n is_saved,\n priority,\n required_inputs,\n subscribable_data,\n subscribable_type,\n title,\n } = subscription || {};\n const {\n keyword,\n model_id,\n send_week_ahead_email,\n model_type,\n model_slugs,\n } = required_inputs || subscribable_data || {};\n const { title: itemTitle, name } = itemData || {};\n const subscriptionTitle = title || itemTitle || name;\n\n return {\n token,\n frequency,\n priority,\n title: upperFirst(subscriptionTitle),\n keyword,\n modelId: model_id,\n modelType: model_type,\n modelSlugs: model_slugs,\n isSaved: Boolean(is_saved),\n type: getType(subscribable_type, model_type),\n sendWeekAheadEmail: Boolean(send_week_ahead_email),\n sectionType: getSectionType(subscribable_type, documentType),\n itemType: getItemType(subscribable_type, model_type),\n url: getSectionUrl(model_id, subscribable_type, model_type),\n isDisabled: is_disabled,\n };\n}\n\nexport function rejectDisabled(subscriptions) {\n return reject(subscriptions, 'is_disabled');\n}\n\nexport function transformSubscriptionForUI(item) {\n const { id, document_type: documentType, subscriptions, item_data } = item || {};\n const subscription = head(subscriptions);\n const tokens = map(subscriptions, 'token');\n const isCommittee = [\n DOCUMENT_TYPES.FEDERAL_COMMITTEE,\n DOCUMENT_TYPES.STATE_COMMITTEE,\n ].includes(documentType);\n\n return {\n itemId: id,\n documentType,\n isCommittee,\n ...transformSingleSubscriptionForUI(subscription, documentType, item_data),\n token: JSON.stringify(tokens),\n ...(isCommittee && {\n listSubscriptions: map(\n rejectDisabled(subscriptions),\n subscriptionItem => transformSingleSubscriptionForUI(subscriptionItem, documentType)\n ),\n }),\n };\n}\n\nexport function transformNestedSubscriptionsForUI({ data: subscriptions } = {}) {\n return map(rejectDisabled(subscriptions), transformSubscriptionForUI);\n}\n\nexport function transformSubscriptionsForUI({ data: subscriptions } = {}) {\n return map(rejectDisabled(subscriptions), transformSingleSubscriptionForUI);\n}\n\nexport function transformSubscriptionForBE(subscription) {\n const {\n isSaved,\n priority,\n frequency,\n sendWeekAheadEmail,\n withWeekAheadEmail,\n keyword,\n modelSlugs,\n } = subscription || {};\n\n return omitBy({\n frequency,\n ...(isEmpty(keyword) && {\n priority,\n is_saved: isSaved,\n ...(withWeekAheadEmail && { send_week_ahead_email: sendWeekAheadEmail }),\n }),\n ...(!isEmpty(keyword) && {\n subscribable_data: { keyword, item_types: modelSlugs },\n }),\n }, isNil);\n}\n\nexport function buildBulkUpdatePayloadForBE({\n tokens,\n frequency,\n sendWeekAheadEmail,\n priority,\n isSaved,\n isRead,\n}) {\n return omitBy({\n frequency,\n tokens: formatTokens(tokens),\n send_week_ahead_email: sendWeekAheadEmail,\n priority,\n is_saved: isSaved,\n is_read: isRead,\n }, isNil);\n}\n","export const POST_TYPES = {\n TWEET: 'tweet',\n REPLY_TWEET: 'reply-tweet',\n QUOTE_TWEET: 'quote-tweet',\n RETWEET: 'retweet',\n QUOTE_RETWEET: 'quote-retweet',\n};\n\nexport const MEDIA_TWEET = 'media';\n","import {\n FACEBOOK,\n TWITTER,\n LINKEDIN,\n INSTAGRAM,\n YOUTUBE,\n} from 'utils/socialMedia/names';\n\nexport const LOCAL_EXECUTIVES_URL = '/api_web/local/executives/lookup';\n\nexport const EXPORT_STRATEGY_SLUG = 'local_executives';\n\nexport const SOCIAL_MEDIA_LIST = [\n {\n type: 'Facebook',\n name: FACEBOOK,\n },\n {\n type: 'Twitter',\n name: TWITTER,\n },\n {\n type: 'LinkedIn',\n name: LINKEDIN,\n },\n {\n type: 'Instagram',\n name: INSTAGRAM,\n },\n {\n type: 'YouTube',\n name: YOUTUBE,\n },\n];\n","import {\n FACEBOOK,\n TWITTER,\n LINKEDIN,\n INSTAGRAM,\n YOUTUBE,\n} from 'utils/socialMedia/names';\n\nexport const STATE_EXECUTIVES_URL = '/api_web/state/executives/lookup';\n\nexport const EXPORT_STRATEGY_SLUG = 'state_executives';\n\nexport const SOCIAL_MEDIA_LIST = [\n {\n type: 'Facebook',\n name: FACEBOOK,\n },\n {\n type: 'Twitter',\n name: TWITTER,\n },\n {\n type: 'LinkedIn',\n name: LINKEDIN,\n },\n {\n type: 'Instagram',\n name: INSTAGRAM,\n },\n {\n type: 'YouTube',\n name: YOUTUBE,\n },\n];\n","import { omitBy, isEmpty } from 'lodash';\n\nimport { emptyState } from 'components/News/common/NewFeedModal/utils';\n\nconst transformRichSelectValue = ({ value, type, label }) => (\n { name: label, label, id: value, type }\n);\n\nconst transformSelectValue = ({ value, label }) => ({ id: value, name: label });\n\nconst transformRichSelectValueToUI = ({ name, label, type, id }) => (\n { label: label || name, value: id, type }\n);\n\nconst transformSelectValueToUI = ({ id, name }) => ({ value: id, label: name });\n\nfunction transformExcludeToBE(excludeFields = {}) {\n const {\n keyword,\n keywordType,\n newsOutlets,\n policyArea,\n } = excludeFields;\n\n return {\n exclude_keywords: keyword,\n exclude_keywords_type: keyword ? keywordType : '',\n exclude_sources: newsOutlets.map(transformSelectValue),\n exclude_categories: policyArea.map(transformSelectValue),\n };\n}\n\nfunction transformIncludeToBE(includeFields = {}) {\n const {\n keyword,\n keywordType,\n newsOutlets,\n policyArea,\n people,\n bills,\n authors,\n committees,\n countriesOrigin,\n statesOrigin,\n } = includeFields;\n\n return {\n include_keywords: keyword,\n include_keywords_type: keyword ? keywordType : '',\n bills: bills.map(transformRichSelectValue),\n committees: committees.map(transformRichSelectValue),\n persons: people.map(transformRichSelectValue),\n authors: authors.map(transformSelectValue),\n include_sources: newsOutlets.map(transformSelectValue),\n include_categories: policyArea.map(transformSelectValue),\n source_location_countries: countriesOrigin.map(transformSelectValue),\n source_location_states: statesOrigin.map(transformSelectValue),\n };\n}\n\nexport function transformFeedToBE(feedData = {}) {\n const { include, exclude, title } = feedData;\n\n return {\n news_search: {\n name: title,\n search_params: omitBy({\n ...transformExcludeToBE(exclude),\n ...transformIncludeToBE(include),\n }, isEmpty),\n },\n };\n}\n\nfunction transformIncludeToUI(searchParams = {}) {\n const {\n include_keywords,\n include_keywords_type,\n bills = [],\n authors = [],\n committees = [],\n persons = [],\n include_sources = [],\n include_categories = [],\n source_location_countries = [],\n source_location_states = [],\n } = searchParams;\n\n return {\n keyword: include_keywords,\n keywordType: include_keywords_type,\n bills: bills.map(transformRichSelectValueToUI),\n committees: committees.map(transformRichSelectValueToUI),\n people: persons.map(transformRichSelectValueToUI),\n authors: authors.map(transformSelectValueToUI),\n newsOutlets: include_sources.map(transformSelectValueToUI),\n policyArea: include_categories.map(transformSelectValueToUI),\n countriesOrigin: source_location_countries.map(transformSelectValueToUI),\n statesOrigin: source_location_states.map(transformSelectValueToUI),\n };\n}\n\nfunction transformExcludeToUI(searchParams = {}) {\n const {\n exclude_keywords,\n exclude_keywords_type,\n exclude_sources = [],\n exclude_categories = [],\n } = searchParams;\n\n return {\n keyword: exclude_keywords,\n keywordType: exclude_keywords_type,\n newsOutlets: exclude_sources.map(transformSelectValueToUI),\n policyArea: exclude_categories.map(transformSelectValueToUI),\n };\n}\n\nexport function transformFeedForUI(data = {}) {\n const { name, search_params } = data;\n\n const includeParams = transformIncludeToUI(search_params);\n const { countriesOrigin } = includeParams;\n\n return {\n title: name,\n include: {\n ...emptyState.include,\n ...omitBy(includeParams, isEmpty),\n countriesOrigin,\n },\n exclude: {\n ...emptyState.exclude,\n ...omitBy(transformExcludeToUI(search_params), isEmpty),\n },\n };\n}\n","import Notifications from 'components/News/utils/Notifications';\nimport { NO_PRIORITY } from 'components/core/PriorityTooltip/constants';\nimport { getMyFeedToken } from 'components/Dashboard/utils';\nimport {\n trackNewsFeedCreated,\n trackNewsFeedUpdated,\n trackNewsFeedRemoved,\n trackNewsSubscribed,\n} from 'utils/tracking/news';\nimport * as subscriptionApi from 'redux/dashboardV2/common/subscriptions/api';\n\nimport {\n transformFeedToBE,\n transformFeedForUI,\n} from './utils/transformers';\nimport constants from './constants';\n\nexport function fetchGeneralFeeds() {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_GENERAL_FEEDS });\n\n const url = '/api_web/news/searches/general';\n const ajax = $.get(url);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_GENERAL_FEEDS_DONE,\n payload: response.data,\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_GENERAL_FEEDS_FAILURE });\n\n Notifications.defaultFetchDataFailed();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchPersonalFeeds() {\n return (dispatch) => {\n dispatch({ type: constants.FETCH_PERSONAL_FEEDS });\n\n const url = '/api_web/news/searches/personal';\n const ajax = $.get(url);\n\n function onSuccess(response) {\n return dispatch({\n type: constants.RECEIVE_PERSONAL_FEEDS_DONE,\n payload: response.data,\n });\n }\n\n function onFailure(error) {\n dispatch({ type: constants.RECEIVE_GENERAL_FEEDS_FAILURE });\n\n Notifications.defaultFetchDataFailed();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function deleteFeed(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.DELETE_FEED });\n\n const { id, onClose } = payload;\n\n const url = `/api_web/news/searches/${id}`;\n const ajax = $.ajax({\n url,\n type: 'DELETE',\n });\n\n function onSuccess() {\n dispatch({\n type: constants.DELETE_FEED_DONE,\n payload: { id },\n });\n\n onClose();\n trackNewsFeedRemoved();\n Notifications.deleteFeedSuccess();\n }\n\n function onFailure(error) {\n dispatch({ type: constants.DELETE_FEED_FAILURE });\n onClose();\n\n Notifications.deleteFeedFailed();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function createFeed(payload = {}) {\n return (dispatch) => {\n const {\n title,\n onSuccess: handleSuccess,\n onFailure: handleFailure,\n } = payload;\n const url = '/api_web/news/searches';\n const params = transformFeedToBE(payload);\n const ajax = $.ajax({\n url,\n data: JSON.stringify(params),\n method: 'POST',\n contentType: 'application/json',\n });\n\n function onSuccess(response) {\n const { id } = response;\n const feedProps = { id, name: title };\n\n id && dispatch({\n type: constants.CREATE_FEED_DONE,\n payload: feedProps,\n });\n\n trackNewsFeedCreated();\n Notifications.createFeedSuccess();\n id && handleSuccess && handleSuccess(feedProps);\n }\n\n function onFailure(error) {\n dispatch({ type: constants.CREATE_FEED_FAILURE });\n Notifications.createFeedFailed();\n handleFailure && handleFailure();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function updateFeed(payload = {}) {\n return (dispatch) => {\n const {\n id,\n title,\n onSuccess: handleSuccess,\n onFailure: handleFailure,\n } = payload;\n const url = `/api_web/news/searches/${id}`;\n const params = transformFeedToBE(payload);\n const ajax = $.ajax({\n url,\n method: 'PUT',\n data: JSON.stringify(params),\n contentType: 'application/json',\n });\n\n function onSuccess() {\n const feedProps = { id, name: title };\n\n dispatch({\n type: constants.UPDATE_FEED_DONE,\n payload: feedProps,\n });\n\n trackNewsFeedUpdated();\n Notifications.updateFeedSuccess();\n handleSuccess && handleSuccess(feedProps);\n }\n\n function onFailure(error) {\n dispatch({ type: constants.UPDATE_FEED_FAILURE });\n Notifications.updateFeedFailed();\n handleFailure && handleFailure();\n\n throw error;\n }\n\n return Promise.resolve(ajax)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n\nexport function fetchFeedById({ id }) {\n const url = `/api_web/news/searches/${id}`;\n const ajax = $.get(url);\n\n return Promise.resolve(ajax)\n .then(transformFeedForUI);\n}\n\nexport function subscribeToFeed(payload = {}) {\n return (dispatch) => {\n dispatch({ type: constants.SUBSCRIBE_TO_FEED });\n\n const { id, name, hasSubscription, ...restOptions } = payload;\n const data = { ...restOptions, modelId: id, isSaved: false, priority: NO_PRIORITY };\n\n const subscriptionFn = hasSubscription\n ? subscriptionApi.updateSubscription\n : subscriptionApi.createSubscription;\n\n function onSuccess(response) {\n const { frequency, token: responseToken } = response;\n\n dispatch({\n type: constants.SUBSCRIBE_TO_FEED_DONE,\n payload: { id, subscription: { frequency, token: responseToken } },\n });\n\n trackNewsSubscribed(id, name, frequency);\n }\n\n function onFailure(error) {\n dispatch({ type: constants.SUBSCRIBE_TO_FEED_FAILURE });\n\n Notifications.subscriptionFailed();\n\n throw error;\n }\n\n return subscriptionFn(getMyFeedToken(), data)\n .then(onSuccess)\n .catch(onFailure);\n };\n}\n","import moment from 'moment';\nimport { isEmpty, capitalize } from 'lodash';\n\nimport { DOCUMENT_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { GLOBAL_DATE_FORMAT, MONTH_SHORT_DAY_YEAR_FORMAT } from 'utils/constants/date';\nimport { customError } from 'utils/customError';\nimport { STATE_REGULATION_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nfunction formatDayYearDate(date, format = MONTH_SHORT_DAY_YEAR_FORMAT) {\n if (isEmpty(date)) {\n return '';\n }\n\n return moment(date).format(format);\n}\n\nfunction getAgenciesList(agencies) {\n if (isEmpty(agencies)) {\n return '';\n }\n\n return agencies.map(agency => capitalize(agency.title)).join(' - ');\n}\n\nexport function transformRelevantLinks(relevantLinks) {\n if (isEmpty(relevantLinks)) {\n return [];\n }\n\n const {\n register_online_url: registerOnlineUrl,\n administrative_code_url: administrativeCodeUrl,\n manual_url: manualUrl,\n } = relevantLinks;\n\n return [\n { value: 'Online Register', href: registerOnlineUrl, isExternal: true },\n { value: 'Administrative code', href: administrativeCodeUrl, isExternal: true },\n { value: 'Administrative monthly', href: manualUrl, isExternal: true },\n ];\n}\n\nfunction getPeriodDate(commentsOpen, commentsClose, id) {\n if (isEmpty(commentsOpen) && isEmpty(commentsClose)) {\n return null;\n }\n\n // What we display when open exist and close null\n if (isEmpty(commentsClose)) {\n return null;\n }\n\n const currentDate = moment().format(GLOBAL_DATE_FORMAT);\n const daysRemaining = moment(commentsClose).diff(currentDate, 'days');\n const daysLabel = daysRemaining === 1 ? 'day' : 'days';\n\n const isCloseInFuture = daysRemaining > 0;\n const formatCloseDate = formatDayYearDate(commentsClose);\n\n if (isEmpty(commentsOpen)) {\n return {\n value: isCloseInFuture\n ? `Closes ${formatCloseDate} (Closes in ${daysRemaining} ${daysLabel})`\n : `Closed ${formatCloseDate}`,\n };\n }\n\n /** Comments Open in future */\n if (moment(commentsOpen).diff(commentsClose) > 0) {\n customError(`[State regulations ${id}] Comments open date is passed comments close date`);\n return null;\n }\n\n /** Is the same day */\n if (moment(commentsOpen).diff(commentsClose) === 0) {\n return { value: formatDayYearDate(commentsOpen) };\n }\n\n const betweenDates = `${formatDayYearDate(commentsOpen)} - ${formatDayYearDate(commentsClose)}`;\n const isOpenInPast = moment(currentDate).diff(commentsOpen) >= 0;\n\n if (isCloseInFuture && isOpenInPast) {\n return { value: betweenDates, closes: `(Closes in ${daysRemaining} ${daysLabel})` };\n }\n\n return { value: betweenDates };\n}\n\nfunction getRegisterLabel(proposedIssue, proposedVolume, date, label) {\n if (isEmpty(date)) {\n return null;\n }\n\n const formattedDate = formatDayYearDate(date);\n\n if ((isEmpty(proposedIssue) && isEmpty(proposedVolume)) || isEmpty(label)) {\n return { value: formattedDate };\n }\n\n return { date: formattedDate, value: label, isValueLabel: true };\n}\n\nexport function transformProfileForUI(data = {}) {\n const {\n id,\n title,\n state,\n agencies,\n proposed_regulation,\n comments_open,\n comments_closed,\n last_action,\n code_citation,\n relevant_links,\n text_snippet,\n } = data;\n const { alpha2, name: stateFull } = state || {};\n const {\n published_date: lastActionDate,\n label: lastActionLabel,\n url: lastActionUrl,\n register_issue_number: lastIssue,\n register_volume_number: lastVolume,\n } = last_action || {};\n\n const {\n label: proposedValue,\n url: proposedUrl,\n published_date: proposedDate,\n register_issue_number: proposedIssue,\n register_volume_number: proposedVolume,\n } = proposed_regulation || {};\n const {\n administrative_code_url: administrativeCodeUrl,\n } = relevant_links || {};\n\n return {\n profile: {\n id,\n displayTitle: title,\n state: alpha2,\n stateFull,\n name: title,\n recordId: id,\n documentType: DOCUMENT_TYPES.STATE_REGULATION,\n itemType: STATE_REGULATION_ITEM_TYPE,\n },\n keyDetails: {\n agencies: getAgenciesList(agencies),\n stateFull,\n codeCitation: {\n value: code_citation,\n href: administrativeCodeUrl,\n isExternal: true,\n },\n latestRegulationText: {\n ...getRegisterLabel(proposedIssue, proposedVolume, proposedDate, proposedValue),\n href: proposedUrl,\n isExternal: true,\n },\n latestPublication: {\n ...getRegisterLabel(lastIssue, lastVolume, lastActionDate, lastActionLabel),\n href: lastActionUrl,\n isExternal: true,\n },\n commentsOpen: comments_open,\n commentsClosed: comments_closed,\n commentsPeriod: getPeriodDate(comments_open, comments_closed, id),\n officialSources: transformRelevantLinks(relevant_links),\n textSnippet: text_snippet,\n },\n };\n}\n","export * from './profile';\nexport * from './publicationsTimeline';\n","import moment from 'moment';\n\nimport { MONTH_DAY_YEAR_DATE_FORMAT } from 'utils/constants/date';\n\nexport function transformCompanyInfoForBE(companyInfo) {\n const {\n name,\n file,\n biography,\n companyScorecardsPublic,\n forceLogoDelete,\n quickLinks = [],\n } = companyInfo;\n\n const data = new FormData();\n data.append('company[name]', name);\n data.append('company[biography]', biography);\n data.append('company[company_scorecards_public]', companyScorecardsPublic);\n\n quickLinks.forEach(({ label, url }) => {\n data.append('company[quick_links][][label]', label);\n data.append('company[quick_links][][url]', url);\n });\n\n file && data.append('company[file]', file);\n forceLogoDelete && data.append('force_logo_delete', forceLogoDelete);\n\n return data;\n}\n\nexport function transformCompanyInfoForUI(companyInfo) {\n const {\n plan_type,\n total_users,\n api_token,\n api_docs_url,\n plan_expires,\n biography,\n company_scorecards_public,\n logo,\n datasets_count,\n quick_links,\n ...restCompanyInfo\n } = companyInfo;\n const { file_url } = logo || {};\n\n return {\n planType: plan_type,\n totalUsers: total_users,\n apiToken: api_token,\n apiDocsUrl: api_docs_url,\n planExpires: moment(plan_expires).format(MONTH_DAY_YEAR_DATE_FORMAT),\n companyScorecardsPublic: company_scorecards_public,\n logo: file_url,\n biography,\n datasetsCount: datasets_count,\n quickLinks: quick_links,\n ...restCompanyInfo,\n };\n}\n\nexport function receiveSavedItem({ companyInfo, savedItem, itemType }) {\n const items = companyInfo[itemType] || [];\n const { id: savedItemId } = savedItem;\n const itemsDiff = items.filter(({ id }) => id !== savedItemId);\n\n if (itemsDiff.length !== items.length) {\n return {\n ...companyInfo,\n [itemType]: [savedItem].concat(itemsDiff),\n };\n }\n\n return {\n ...companyInfo,\n [itemType]: [savedItem].concat(items),\n };\n}\n","import { isEmpty, omitBy } from 'lodash';\n\nimport { FEDERAL_LEGISLATOR_SLUG, STATE_LEGISLATOR_SLUG } from './constants';\n\nexport function getVotingRecordUrl(slug) {\n const votingRecordUrls = {\n [FEDERAL_LEGISLATOR_SLUG]: '/api_web/federal/bill_votes/lookup',\n [STATE_LEGISLATOR_SLUG]: '/api_web/state/bill_votes/lookup',\n };\n\n if (!votingRecordUrls[slug]) {\n throw Error('The voting record slug must be valid');\n }\n\n return votingRecordUrls[slug];\n}\n\nexport function transformBillsAndVotesForBE(payload) {\n const { id, keywordSearch, congress, ...restProps } = payload;\n\n return {\n ...restProps,\n search_form: omitBy({\n congress,\n legislator_id: id,\n full_text: keywordSearch,\n }, isEmpty),\n };\n}\n\nexport function transformBillsAndVotesForUI(votingData = {}) {\n const { data } = votingData;\n\n if (isEmpty(data)) {\n return { allItems: [] };\n }\n\n return {\n allItems: data.map((item = {}) => {\n const {\n id,\n bill_id,\n vote_date,\n bill_display_id,\n bill_display_title,\n bill_url,\n bill_introduced_at,\n vote_display_number,\n vote_result,\n vote_url,\n vote_question,\n legislator_votes = [],\n } = item;\n return {\n id,\n date: bill_introduced_at,\n billId: bill_id,\n billName: bill_display_id,\n billTitle: bill_display_title,\n billUrl: bill_url,\n voteType: legislator_votes && legislator_votes.map(legislator => legislator.vote).join(', '),\n voteDate: vote_date,\n voteNumber: vote_display_number,\n result: vote_result,\n voteQuestion: vote_question,\n voteNumberUrl: vote_url,\n };\n }),\n };\n}\n","export const EXECUTIVE_PERSON_TYPES = {\n LOCAL_EXECUTIVE: 'local_executive',\n FEDERAL_EXECUTIVE: 'federal_executive',\n STATE_EXECUTIVE: 'state_executive',\n STATE_AGENCY_STAFFER: 'state_agency_staffer',\n};\n\nexport const EXECUTIVE_PERSON = 'executive_person';\n","const PREFIX = 'NEWS_CLUSTER_FEED';\n\nexport default {\n FETCH_CLUSTER_INFO: `${PREFIX}/FETCH_CLUSTER_INFO`,\n RECEIVE_CLUSTER_INFO_DONE: `${PREFIX}/RECEIVE_CLUSTER_INFO_DONE`,\n RECEIVE_CLUSTER_INFO_FAILURE: `${PREFIX}/RECEIVE_CLUSTER_INFO_FAILURE`,\n};\n","const prefix = 'CORE/FILE_UPLOAD';\n\nexport const FILES_ADDED = `${prefix}/FILES_ADDED`;\nexport const DELETE_FILE = `${prefix}/DELETE_FILE`;\nexport const EMPTY_STATE = `${prefix}/EMPTY_STATE`;\n","const prefix = 'STAKEHOLDER_MERGE';\n\nexport default {\n MERGE_STAKEHOLDERS: `${prefix}/MERGE_STAKEHOLDERS`,\n MERGE_STAKEHOLDERS_FAIL: `${prefix}/MERGE_STAKEHOLDERS_FAIL`,\n MERGE_STAKEHOLDERS_DONE: `${prefix}/MERGE_STAKEHOLDERS_DONE`,\n};\n","const PREFIX = 'INSTITUTIONAL_DATA';\n\nconst constants = {\n FETCH_DATA_SETS: `${PREFIX}/FETCH_DATA_SETS`,\n RECEIVE_DATA_SETS_DONE: `${PREFIX}/RECEIVE_DATA_SETS_DONE`,\n RECEIVE_DATA_SETS_ERROR: `${PREFIX}/RECEIVE_DATA_SETS_ERROR`,\n};\n\nexport default constants;\n"],"sourceRoot":""}