diff options
Diffstat (limited to 'app/assets/javascripts/cycle_analytics/store/getters.js')
-rw-r--r-- | app/assets/javascripts/cycle_analytics/store/getters.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/app/assets/javascripts/cycle_analytics/store/getters.js b/app/assets/javascripts/cycle_analytics/store/getters.js index 9faccabcaad..77c285f5ce0 100644 --- a/app/assets/javascripts/cycle_analytics/store/getters.js +++ b/app/assets/javascripts/cycle_analytics/store/getters.js @@ -1,5 +1,6 @@ import dateFormat from 'dateformat'; import { dateFormats } from '~/analytics/shared/constants'; +import { filterToQueryObject } from '~/vue_shared/components/filtered_search_bar/filtered_search_utils'; import { transformStagesForPathNavigation, filterStagesByHiddenStatus } from '../utils'; export const pathNavigationData = ({ stages, medians, stageCounts, selectedStage }) => { @@ -20,6 +21,21 @@ export const requestParams = (state) => { return { requestPath: fullPath, valueStreamId, stageId }; }; +const filterBarParams = ({ filters }) => { + const { + authors: { selected: selectedAuthor }, + milestones: { selected: selectedMilestone }, + assignees: { selectedList: selectedAssigneeList }, + labels: { selectedList: selectedLabelList }, + } = filters; + return filterToQueryObject({ + milestone_title: selectedMilestone, + author_username: selectedAuthor, + label_name: selectedLabelList, + assignee_username: selectedAssigneeList, + }); +}; + const dateRangeParams = ({ createdAfter, createdBefore }) => ({ created_after: createdAfter ? dateFormat(createdAfter, dateFormats.isoDate) : null, created_before: createdBefore ? dateFormat(createdBefore, dateFormats.isoDate) : null, @@ -33,6 +49,7 @@ export const legacyFilterParams = ({ daysInPast }) => { export const filterParams = (state) => { return { + ...filterBarParams(state), ...dateRangeParams(state), }; }; |