Home / Function/ getInitialGridColumns() — supabase Function Reference

getInitialGridColumns() — supabase Function Reference

Architecture documentation for the getInitialGridColumns() function in column.ts from the supabase codebase.

Entity Profile

Relationship Graph

Source Code

apps/studio/components/grid/utils/column.ts lines 5–44

export function getInitialGridColumns(
  gridColumns: CalculatedColumn<any, any>[],
  savedState?: SavedState
) {
  let result = gridColumns

  if (savedState?.gridColumns) {
    result = []

    // filter utility columns select, add-column
    const stateColumnsFiltered = savedState.gridColumns.filter((x) => x?.name !== '')

    for (let i = 0; i < stateColumnsFiltered.length; i++) {
      const state = stateColumnsFiltered[i]
      const found = gridColumns.find((y) => y.key === state.key)
      // merge with savedState item props: width
      if (found) result.push({ ...found, width: state.width, frozen: state.frozen })
    }

    // check for newly created columns
    const newGridColumns = gridColumns.filter((x) => {
      // no existed in stateColumnsFiltered and not utility column
      const found = stateColumnsFiltered.find((state) => state.key === x.key)
      return !found && x.name !== ''
    })
    result = result.concat(newGridColumns)

    // process utility columns
    const selectColumn = gridColumns.find((x) => x.key === SELECT_COLUMN_KEY)
    if (selectColumn) {
      result = [selectColumn, ...result]
    }
    const addColumn = gridColumns.find((x) => x.key === ADD_COLUMN_KEY)
    if (addColumn) {
      result.push(addColumn)
    }
  }

  return result
}

Subdomains

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free