All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.build.lib.features.RowSelection.js.map Maven / Gradle / Ivy

The newest version!
{"version":3,"file":"RowSelection.js","sources":["../../../src/features/RowSelection.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport { OnChangeFn, Table, Row, RowModel, Updater, RowData } from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type RowSelectionState = Record\n\nexport interface RowSelectionTableState {\n  rowSelection: RowSelectionState\n}\n\nexport interface RowSelectionOptions {\n  enableRowSelection?: boolean | ((row: Row) => boolean)\n  enableMultiRowSelection?: boolean | ((row: Row) => boolean)\n  enableSubRowSelection?: boolean | ((row: Row) => boolean)\n  onRowSelectionChange?: OnChangeFn\n  // enableGroupingRowSelection?:\n  //   | boolean\n  //   | ((\n  //       row: Row\n  //     ) => boolean)\n  // isAdditiveSelectEvent?: (e: unknown) => boolean\n  // isInclusiveSelectEvent?: (e: unknown) => boolean\n  // selectRowsFn?: (\n  //   table: Table,\n  //   rowModel: RowModel\n  // ) => RowModel\n}\n\nexport interface RowSelectionRow {\n  getIsSelected: () => boolean\n  getIsSomeSelected: () => boolean\n  getIsAllSubRowsSelected: () => boolean\n  getCanSelect: () => boolean\n  getCanMultiSelect: () => boolean\n  getCanSelectSubRows: () => boolean\n  toggleSelected: (value?: boolean) => void\n  getToggleSelectedHandler: () => (event: unknown) => void\n}\n\nexport interface RowSelectionInstance {\n  getToggleAllRowsSelectedHandler: () => (event: unknown) => void\n  getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void\n  setRowSelection: (updater: Updater) => void\n  resetRowSelection: (defaultState?: boolean) => void\n  getIsAllRowsSelected: () => boolean\n  getIsAllPageRowsSelected: () => boolean\n  getIsSomeRowsSelected: () => boolean\n  getIsSomePageRowsSelected: () => boolean\n  toggleAllRowsSelected: (value?: boolean) => void\n  toggleAllPageRowsSelected: (value?: boolean) => void\n  getPreSelectedRowModel: () => RowModel\n  getSelectedRowModel: () => RowModel\n  getFilteredSelectedRowModel: () => RowModel\n  getGroupedSelectedRowModel: () => RowModel\n}\n\n//\n\nexport const RowSelection: TableFeature = {\n  getInitialState: (state): RowSelectionTableState => {\n    return {\n      rowSelection: {},\n      ...state,\n    }\n  },\n\n  getDefaultOptions: (\n    table: Table\n  ): RowSelectionOptions => {\n    return {\n      onRowSelectionChange: makeStateUpdater('rowSelection', table),\n      enableRowSelection: true,\n      enableMultiRowSelection: true,\n      enableSubRowSelection: true,\n      // enableGroupingRowSelection: false,\n      // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,\n      // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,\n    }\n  },\n\n  createTable: (\n    table: Table\n  ): RowSelectionInstance => {\n    return {\n      setRowSelection: updater => table.options.onRowSelectionChange?.(updater),\n      resetRowSelection: defaultState =>\n        table.setRowSelection(\n          defaultState ? {} : table.initialState.rowSelection ?? {}\n        ),\n      toggleAllRowsSelected: value => {\n        table.setRowSelection(old => {\n          value =\n            typeof value !== 'undefined' ? value : !table.getIsAllRowsSelected()\n\n          const rowSelection = { ...old }\n\n          const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows\n\n          // We don't use `mutateRowIsSelected` here for performance reasons.\n          // All of the rows are flat already, so it wouldn't be worth it\n          if (value) {\n            preGroupedFlatRows.forEach(row => {\n              if (!row.getCanSelect()) {\n                return\n              }\n              rowSelection[row.id] = true\n            })\n          } else {\n            preGroupedFlatRows.forEach(row => {\n              delete rowSelection[row.id]\n            })\n          }\n\n          return rowSelection\n        })\n      },\n      toggleAllPageRowsSelected: value =>\n        table.setRowSelection(old => {\n          const resolvedValue =\n            typeof value !== 'undefined'\n              ? value\n              : !table.getIsAllPageRowsSelected()\n\n          const rowSelection: RowSelectionState = { ...old }\n\n          table.getRowModel().rows.forEach(row => {\n            mutateRowIsSelected(rowSelection, row.id, resolvedValue, table)\n          })\n\n          return rowSelection\n        }),\n\n      // addRowSelectionRange: rowId => {\n      //   const {\n      //     rows,\n      //     rowsById,\n      //     options: { selectGroupingRows, selectSubRows },\n      //   } = table\n\n      //   const findSelectedRow = (rows: Row[]) => {\n      //     let found\n      //     rows.find(d => {\n      //       if (d.getIsSelected()) {\n      //         found = d\n      //         return true\n      //       }\n      //       const subFound = findSelectedRow(d.subRows || [])\n      //       if (subFound) {\n      //         found = subFound\n      //         return true\n      //       }\n      //       return false\n      //     })\n      //     return found\n      //   }\n\n      //   const firstRow = findSelectedRow(rows) || rows[0]\n      //   const lastRow = rowsById[rowId]\n\n      //   let include = false\n      //   const selectedRowIds = {}\n\n      //   const addRow = (row: Row) => {\n      //     mutateRowIsSelected(selectedRowIds, row.id, true, {\n      //       rowsById,\n      //       selectGroupingRows: selectGroupingRows!,\n      //       selectSubRows: selectSubRows!,\n      //     })\n      //   }\n\n      //   table.rows.forEach(row => {\n      //     const isFirstRow = row.id === firstRow.id\n      //     const isLastRow = row.id === lastRow.id\n\n      //     if (isFirstRow || isLastRow) {\n      //       if (!include) {\n      //         include = true\n      //       } else if (include) {\n      //         addRow(row)\n      //         include = false\n      //       }\n      //     }\n\n      //     if (include) {\n      //       addRow(row)\n      //     }\n      //   })\n\n      //   table.setRowSelection(selectedRowIds)\n      // },\n      getPreSelectedRowModel: () => table.getCoreRowModel(),\n      getSelectedRowModel: memo(\n        () => [table.getState().rowSelection, table.getCoreRowModel()],\n        (rowSelection, rowModel) => {\n          if (!Object.keys(rowSelection).length) {\n            return {\n              rows: [],\n              flatRows: [],\n              rowsById: {},\n            }\n          }\n\n          return selectRowsFn(table, rowModel)\n        },\n        {\n          key: process.env.NODE_ENV === 'development' && 'getSelectedRowModel',\n          debug: () => table.options.debugAll ?? table.options.debugTable,\n        }\n      ),\n\n      getFilteredSelectedRowModel: memo(\n        () => [table.getState().rowSelection, table.getFilteredRowModel()],\n        (rowSelection, rowModel) => {\n          if (!Object.keys(rowSelection).length) {\n            return {\n              rows: [],\n              flatRows: [],\n              rowsById: {},\n            }\n          }\n\n          return selectRowsFn(table, rowModel)\n        },\n        {\n          key:\n            process.env.NODE_ENV === 'production' &&\n            'getFilteredSelectedRowModel',\n          debug: () => table.options.debugAll ?? table.options.debugTable,\n        }\n      ),\n\n      getGroupedSelectedRowModel: memo(\n        () => [table.getState().rowSelection, table.getSortedRowModel()],\n        (rowSelection, rowModel) => {\n          if (!Object.keys(rowSelection).length) {\n            return {\n              rows: [],\n              flatRows: [],\n              rowsById: {},\n            }\n          }\n\n          return selectRowsFn(table, rowModel)\n        },\n        {\n          key:\n            process.env.NODE_ENV === 'production' &&\n            'getGroupedSelectedRowModel',\n          debug: () => table.options.debugAll ?? table.options.debugTable,\n        }\n      ),\n\n      ///\n\n      // getGroupingRowCanSelect: rowId => {\n      //   const row = table.getRow(rowId)\n\n      //   if (!row) {\n      //     throw new Error()\n      //   }\n\n      //   if (typeof table.options.enableGroupingRowSelection === 'function') {\n      //     return table.options.enableGroupingRowSelection(row)\n      //   }\n\n      //   return table.options.enableGroupingRowSelection ?? false\n      // },\n\n      getIsAllRowsSelected: () => {\n        const preGroupedFlatRows = table.getFilteredRowModel().flatRows\n        const { rowSelection } = table.getState()\n\n        let isAllRowsSelected = Boolean(\n          preGroupedFlatRows.length && Object.keys(rowSelection).length\n        )\n\n        if (isAllRowsSelected) {\n          if (\n            preGroupedFlatRows.some(\n              row => row.getCanSelect() && !rowSelection[row.id]\n            )\n          ) {\n            isAllRowsSelected = false\n          }\n        }\n\n        return isAllRowsSelected\n      },\n\n      getIsAllPageRowsSelected: () => {\n        const paginationFlatRows = table\n          .getPaginationRowModel()\n          .flatRows.filter(row => row.getCanSelect())\n        const { rowSelection } = table.getState()\n\n        let isAllPageRowsSelected = !!paginationFlatRows.length\n\n        if (\n          isAllPageRowsSelected &&\n          paginationFlatRows.some(row => !rowSelection[row.id])\n        ) {\n          isAllPageRowsSelected = false\n        }\n\n        return isAllPageRowsSelected\n      },\n\n      getIsSomeRowsSelected: () => {\n        const totalSelected = Object.keys(\n          table.getState().rowSelection ?? {}\n        ).length\n        return (\n          totalSelected > 0 &&\n          totalSelected < table.getFilteredRowModel().flatRows.length\n        )\n      },\n\n      getIsSomePageRowsSelected: () => {\n        const paginationFlatRows = table.getPaginationRowModel().flatRows\n        return table.getIsAllPageRowsSelected()\n          ? false\n          : paginationFlatRows\n              .filter(row => row.getCanSelect())\n              .some(d => d.getIsSelected() || d.getIsSomeSelected())\n      },\n\n      getToggleAllRowsSelectedHandler: () => {\n        return (e: unknown) => {\n          table.toggleAllRowsSelected(\n            ((e as MouseEvent).target as HTMLInputElement).checked\n          )\n        }\n      },\n\n      getToggleAllPageRowsSelectedHandler: () => {\n        return (e: unknown) => {\n          table.toggleAllPageRowsSelected(\n            ((e as MouseEvent).target as HTMLInputElement).checked\n          )\n        }\n      },\n    }\n  },\n\n  createRow: (\n    row: Row,\n    table: Table\n  ): RowSelectionRow => {\n    return {\n      toggleSelected: value => {\n        const isSelected = row.getIsSelected()\n\n        table.setRowSelection(old => {\n          value = typeof value !== 'undefined' ? value : !isSelected\n\n          if (isSelected === value) {\n            return old\n          }\n\n          const selectedRowIds = { ...old }\n\n          mutateRowIsSelected(selectedRowIds, row.id, value, table)\n\n          return selectedRowIds\n        })\n      },\n      getIsSelected: () => {\n        const { rowSelection } = table.getState()\n        return isRowSelected(row, rowSelection)\n      },\n\n      getIsSomeSelected: () => {\n        const { rowSelection } = table.getState()\n        return isSubRowSelected(row, rowSelection, table) === 'some'\n      },\n\n      getIsAllSubRowsSelected: () => {\n        const { rowSelection } = table.getState()\n        return isSubRowSelected(row, rowSelection, table) === 'all'\n      },\n\n      getCanSelect: () => {\n        if (typeof table.options.enableRowSelection === 'function') {\n          return table.options.enableRowSelection(row)\n        }\n\n        return table.options.enableRowSelection ?? true\n      },\n\n      getCanSelectSubRows: () => {\n        if (typeof table.options.enableSubRowSelection === 'function') {\n          return table.options.enableSubRowSelection(row)\n        }\n\n        return table.options.enableSubRowSelection ?? true\n      },\n\n      getCanMultiSelect: () => {\n        if (typeof table.options.enableMultiRowSelection === 'function') {\n          return table.options.enableMultiRowSelection(row)\n        }\n\n        return table.options.enableMultiRowSelection ?? true\n      },\n      getToggleSelectedHandler: () => {\n        const canSelect = row.getCanSelect()\n\n        return (e: unknown) => {\n          if (!canSelect) return\n          row.toggleSelected(\n            ((e as MouseEvent).target as HTMLInputElement)?.checked\n          )\n        }\n      },\n    }\n  },\n}\n\nconst mutateRowIsSelected = (\n  selectedRowIds: Record,\n  id: string,\n  value: boolean,\n  table: Table\n) => {\n  const row = table.getRow(id)\n\n  // const isGrouped = row.getIsGrouped()\n\n  // if ( // TODO: enforce grouping row selection rules\n  //   !isGrouped ||\n  //   (isGrouped && table.options.enableGroupingRowSelection)\n  // ) {\n  if (value) {\n    if (!row.getCanMultiSelect()) {\n      Object.keys(selectedRowIds).forEach(key => delete selectedRowIds[key])\n    }\n    if (row.getCanSelect()) {\n      selectedRowIds[id] = true\n    }\n  } else {\n    delete selectedRowIds[id]\n  }\n  // }\n\n  if (row.subRows?.length && row.getCanSelectSubRows()) {\n    row.subRows.forEach(row =>\n      mutateRowIsSelected(selectedRowIds, row.id, value, table)\n    )\n  }\n}\n\nexport function selectRowsFn(\n  table: Table,\n  rowModel: RowModel\n): RowModel {\n  const rowSelection = table.getState().rowSelection\n\n  const newSelectedFlatRows: Row[] = []\n  const newSelectedRowsById: Record> = {}\n\n  // Filters top level and nested rows\n  const recurseRows = (rows: Row[], depth = 0): Row[] => {\n    return rows\n      .map(row => {\n        const isSelected = isRowSelected(row, rowSelection)\n\n        if (isSelected) {\n          newSelectedFlatRows.push(row)\n          newSelectedRowsById[row.id] = row\n        }\n\n        if (row.subRows?.length) {\n          row = {\n            ...row,\n            subRows: recurseRows(row.subRows, depth + 1),\n          }\n        }\n\n        if (isSelected) {\n          return row\n        }\n      })\n      .filter(Boolean) as Row[]\n  }\n\n  return {\n    rows: recurseRows(rowModel.rows),\n    flatRows: newSelectedFlatRows,\n    rowsById: newSelectedRowsById,\n  }\n}\n\nexport function isRowSelected(\n  row: Row,\n  selection: Record\n): boolean {\n  return selection[row.id] ?? false\n}\n\nexport function isSubRowSelected(\n  row: Row,\n  selection: Record,\n  table: Table\n): boolean | 'some' | 'all' {\n  if (row.subRows && row.subRows.length) {\n    let allChildrenSelected = true\n    let someSelected = false\n\n    row.subRows.forEach(subRow => {\n      // Bail out early if we know both of these\n      if (someSelected && !allChildrenSelected) {\n        return\n      }\n\n      if (isRowSelected(subRow, selection)) {\n        someSelected = true\n      } else {\n        allChildrenSelected = false\n      }\n    })\n\n    return allChildrenSelected ? 'all' : someSelected ? 'some' : false\n  }\n\n  return false\n}\n"],"names":["RowSelection","getInitialState","state","rowSelection","getDefaultOptions","table","onRowSelectionChange","makeStateUpdater","enableRowSelection","enableMultiRowSelection","enableSubRowSelection","createTable","setRowSelection","updater","options","resetRowSelection","defaultState","_table$initialState$r","initialState","toggleAllRowsSelected","value","old","getIsAllRowsSelected","preGroupedFlatRows","getPreGroupedRowModel","flatRows","forEach","row","getCanSelect","id","toggleAllPageRowsSelected","resolvedValue","getIsAllPageRowsSelected","getRowModel","rows","mutateRowIsSelected","getPreSelectedRowModel","getCoreRowModel","getSelectedRowModel","memo","getState","rowModel","Object","keys","length","rowsById","selectRowsFn","key","process","env","NODE_ENV","debug","_table$options$debugA","debugAll","debugTable","getFilteredSelectedRowModel","getFilteredRowModel","_table$options$debugA2","getGroupedSelectedRowModel","getSortedRowModel","_table$options$debugA3","isAllRowsSelected","Boolean","some","paginationFlatRows","getPaginationRowModel","filter","isAllPageRowsSelected","getIsSomeRowsSelected","_table$getState$rowSe","totalSelected","getIsSomePageRowsSelected","d","getIsSelected","getIsSomeSelected","getToggleAllRowsSelectedHandler","e","target","checked","getToggleAllPageRowsSelectedHandler","createRow","toggleSelected","isSelected","selectedRowIds","isRowSelected","isSubRowSelected","getIsAllSubRowsSelected","_table$options$enable","getCanSelectSubRows","_table$options$enable2","getCanMultiSelect","_table$options$enable3","getToggleSelectedHandler","canSelect","_target","_row$subRows","getRow","subRows","newSelectedFlatRows","newSelectedRowsById","recurseRows","depth","map","_row$subRows2","push","selection","_selection$row$id","allChildrenSelected","someSelected","subRow"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy