in src/FeatureTimeline/redux/selectors/FeatureTimelineGridViewSelector.ts [13:89]
export function getGridView(
uiStatus: UIStatus,
backlogIteration: TeamSettingsIteration,
teamIterations: TeamSettingsIteration[],
workItemDisplayDetails: IWorkItemDisplayDetails[],
workItemOverrideIteration: IWorkItemOverrideIteration,
settingState: ISettingsState,
iterationDisplayOptions: IIterationDisplayOptions = null,
isSubGrid: boolean = false
): IGridView {
if (uiStatus !== UIStatus.Default) {
return {
emptyHeaderRow: [],
iterationHeader: [],
iterationShadow: [],
workItems: [],
isSubGrid,
shadowForWorkItemId: 0,
hideParents: false,
iterationDisplayOptions: null,
teamIterations: [],
backlogIteration: null,
currentIterationIndex: -1,
separators: []
}
}
const displayIterations = getDisplayIterations(
backlogIteration,
teamIterations,
workItemDisplayDetails,
isSubGrid,
iterationDisplayOptions);
const hideParents = isSubGrid || (workItemDisplayDetails.length === 1 && workItemDisplayDetails[0].id === 0);
const { gridWorkItems, separators } =
getGridWorkItems(
isSubGrid,
backlogIteration,
teamIterations,
displayIterations,
iterationDisplayOptions,
workItemDisplayDetails,
/* startRow */ 3,
/* startCol */ 1,
hideParents,
settingState);
let shadowForWorkItemId = 0;
if (workItemOverrideIteration && workItemOverrideIteration.workItemId) {
shadowForWorkItemId = workItemOverrideIteration.workItemId;
}
const {
emptyHeaderRow,
iterationHeader,
iterationShadow
} = getIterationDisplayDetails(gridWorkItems, displayIterations, hideParents);
const currentIterationIndex = getCurrentIterationIndex(teamIterations);
const view: IGridView = {
workItems: gridWorkItems,
isSubGrid,
shadowForWorkItemId,
hideParents,
iterationDisplayOptions,
teamIterations,
backlogIteration,
emptyHeaderRow,
iterationHeader,
iterationShadow,
currentIterationIndex,
separators
}
return view;
}