All files / app/selectors index.ts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95                                              8x                     8x   1x         8x   2x         8x   1x         8x                                               1x                              
import { createSelector } from 'reselect';
 
import {
  getSelectedPath,
  getHighlightedCommitIds,
  getIsFetching,
  getCommitsContainerSort,
  getAuthorsContainerSort,
  getFilesContainerSort,
  getStartDate,
  getEndDate,
  getRerenderRequestedAt,
  getEarliestCommitDate,
  getLatestCommitDate,
  getTotalCommits,
} from './stateVars';
 
import { getTimeplotAuthorsAndCommits } from './authors';
import { getFilteredCommits, getCommitsForTimeplot } from './commits';
 
// The methods exported from this module are intended to provide props for redux
// containers mapStateToProps method and can be passed directly to that method
 
export const getGitTemporalContainerState = createSelector(
  getSelectedPath,
  getFilteredCommits,
  getIsFetching,
  (selectedPath, commits, isFetching) => ({
    selectedPath,
    commits,
    isFetching,
  })
);
 
export const getCommitsActionMenuState = createSelector(
  getCommitsContainerSort,
  commitsContainerSort => ({
    commitsContainerSort,
  })
);
 
export const getAuthorsActionMenuState = createSelector(
  getAuthorsContainerSort,
  authorsContainerSort => ({
    authorsContainerSort,
  })
);
 
export const getFilesActionMenuState = createSelector(
  getFilesContainerSort,
  filesContainerSort => ({
    filesContainerSort,
  })
);
 
export const getTimeplotContainerState = createSelector(
  getSelectedPath,
  getHighlightedCommitIds,
  getCommitsForTimeplot, // not filtered by start and end dates
  getTimeplotAuthorsAndCommits,
  getIsFetching,
  getStartDate,
  getEndDate,
  getRerenderRequestedAt,
  getEarliestCommitDate,
  getLatestCommitDate,
  getTotalCommits,
  (
    selectedPath,
    highlightedCommitIds,
    commits,
    authorsAndCommits,
    isFetching,
    startDate,
    endDate,
    rerenderRequestedAt,
    earliestCommitDate,
    latestCommitDate,
    totalCommits
  ) => ({
    selectedPath,
    highlightedCommitIds,
    commits,
    isFetching,
    startDate,
    endDate,
    rerenderRequestedAt,
    earliestCommitDate,
    latestCommitDate,
    totalCommits,
 
    authors: authorsAndCommits.length,
  })
);