export function getGridView()

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;
}