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

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

The newest version!
{"version":3,"file":"ColumnSizing.js","sources":["../../../src/features/ColumnSizing.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport { RowData, Column, Header, OnChangeFn, Table, Updater } from '../types'\nimport { makeStateUpdater } from '../utils'\nimport { ColumnPinningPosition } from './Pinning'\n\n//\n\nexport interface ColumnSizingTableState {\n  columnSizing: ColumnSizingState\n  columnSizingInfo: ColumnSizingInfoState\n}\n\nexport type ColumnSizingState = Record\n\nexport interface ColumnSizingInfoState {\n  startOffset: null | number\n  startSize: null | number\n  deltaOffset: null | number\n  deltaPercentage: null | number\n  isResizingColumn: false | string\n  columnSizingStart: [string, number][]\n}\n\nexport type ColumnResizeMode = 'onChange' | 'onEnd'\n\nexport interface ColumnSizingOptions {\n  enableColumnResizing?: boolean\n  columnResizeMode?: ColumnResizeMode\n  onColumnSizingChange?: OnChangeFn\n  onColumnSizingInfoChange?: OnChangeFn\n}\n\nexport interface ColumnSizingDefaultOptions {\n  columnResizeMode: ColumnResizeMode\n  onColumnSizingChange: OnChangeFn\n  onColumnSizingInfoChange: OnChangeFn\n}\n\nexport interface ColumnSizingInstance {\n  setColumnSizing: (updater: Updater) => void\n  setColumnSizingInfo: (updater: Updater) => void\n  resetColumnSizing: (defaultState?: boolean) => void\n  resetHeaderSizeInfo: (defaultState?: boolean) => void\n  getTotalSize: () => number\n  getLeftTotalSize: () => number\n  getCenterTotalSize: () => number\n  getRightTotalSize: () => number\n}\n\nexport interface ColumnSizingColumnDef {\n  enableResizing?: boolean\n  size?: number\n  minSize?: number\n  maxSize?: number\n}\n\nexport interface ColumnSizingColumn {\n  getSize: () => number\n  getStart: (position?: ColumnPinningPosition) => number\n  getCanResize: () => boolean\n  getIsResizing: () => boolean\n  resetSize: () => void\n}\n\nexport interface ColumnSizingHeader {\n  getSize: () => number\n  getStart: (position?: ColumnPinningPosition) => number\n  getResizeHandler: () => (event: unknown) => void\n}\n\n//\n\nexport const defaultColumnSizing = {\n  size: 150,\n  minSize: 20,\n  maxSize: Number.MAX_SAFE_INTEGER,\n}\n\nconst getDefaultColumnSizingInfoState = (): ColumnSizingInfoState => ({\n  startOffset: null,\n  startSize: null,\n  deltaOffset: null,\n  deltaPercentage: null,\n  isResizingColumn: false,\n  columnSizingStart: [],\n})\n\nexport const ColumnSizing: TableFeature = {\n  getDefaultColumnDef: (): ColumnSizingColumnDef => {\n    return defaultColumnSizing\n  },\n  getInitialState: (state): ColumnSizingTableState => {\n    return {\n      columnSizing: {},\n      columnSizingInfo: getDefaultColumnSizingInfoState(),\n      ...state,\n    }\n  },\n\n  getDefaultOptions: (\n    table: Table\n  ): ColumnSizingDefaultOptions => {\n    return {\n      columnResizeMode: 'onEnd',\n      onColumnSizingChange: makeStateUpdater('columnSizing', table),\n      onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', table),\n    }\n  },\n\n  createColumn: (\n    column: Column,\n    table: Table\n  ): ColumnSizingColumn => {\n    return {\n      getSize: () => {\n        const columnSize = table.getState().columnSizing[column.id]\n\n        return Math.min(\n          Math.max(\n            column.columnDef.minSize ?? defaultColumnSizing.minSize,\n            columnSize ?? column.columnDef.size ?? defaultColumnSizing.size\n          ),\n          column.columnDef.maxSize ?? defaultColumnSizing.maxSize\n        )\n      },\n      getStart: position => {\n        const columns = !position\n          ? table.getVisibleLeafColumns()\n          : position === 'left'\n          ? table.getLeftVisibleLeafColumns()\n          : table.getRightVisibleLeafColumns()\n\n        const index = columns.findIndex(d => d.id === column.id)\n\n        if (index > 0) {\n          const prevSiblingColumn = columns[index - 1]!\n\n          return (\n            prevSiblingColumn.getStart(position) + prevSiblingColumn.getSize()\n          )\n        }\n\n        return 0\n      },\n      resetSize: () => {\n        table.setColumnSizing(({ [column.id]: _, ...rest }) => {\n          return rest\n        })\n      },\n      getCanResize: () => {\n        return (\n          (column.columnDef.enableResizing ?? true) &&\n          (table.options.enableColumnResizing ?? true)\n        )\n      },\n      getIsResizing: () => {\n        return table.getState().columnSizingInfo.isResizingColumn === column.id\n      },\n    }\n  },\n\n  createHeader: (\n    header: Header,\n    table: Table\n  ): ColumnSizingHeader => {\n    return {\n      getSize: () => {\n        let sum = 0\n\n        const recurse = (header: Header) => {\n          if (header.subHeaders.length) {\n            header.subHeaders.forEach(recurse)\n          } else {\n            sum += header.column.getSize() ?? 0\n          }\n        }\n\n        recurse(header)\n\n        return sum\n      },\n      getStart: () => {\n        if (header.index > 0) {\n          const prevSiblingHeader =\n            header.headerGroup.headers[header.index - 1]!\n          return prevSiblingHeader.getStart() + prevSiblingHeader.getSize()\n        }\n\n        return 0\n      },\n      getResizeHandler: () => {\n        const column = table.getColumn(header.column.id)\n        const canResize = column?.getCanResize()\n\n        return (e: unknown) => {\n          if (!column || !canResize) {\n            return\n          }\n\n          ;(e as any).persist?.()\n\n          if (isTouchStartEvent(e)) {\n            // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n            if (e.touches && e.touches.length > 1) {\n              return\n            }\n          }\n\n          const startSize = header.getSize()\n\n          const columnSizingStart: [string, number][] = header\n            ? header\n                .getLeafHeaders()\n                .map(d => [d.column.id, d.column.getSize()])\n            : [[column.id, column.getSize()]]\n\n          const clientX = isTouchStartEvent(e)\n            ? Math.round(e.touches[0]!.clientX)\n            : (e as MouseEvent).clientX\n\n          const newColumnSizing: ColumnSizingState = {}\n\n          const updateOffset = (\n            eventType: 'move' | 'end',\n            clientXPos?: number\n          ) => {\n            if (typeof clientXPos !== 'number') {\n              return\n            }\n\n            table.setColumnSizingInfo(old => {\n              const deltaOffset = clientXPos - (old?.startOffset ?? 0)\n              const deltaPercentage = Math.max(\n                deltaOffset / (old?.startSize ?? 0),\n                -0.999999\n              )\n\n              old.columnSizingStart.forEach(([columnId, headerSize]) => {\n                newColumnSizing[columnId] =\n                  Math.round(\n                    Math.max(headerSize + headerSize * deltaPercentage, 0) * 100\n                  ) / 100\n              })\n\n              return {\n                ...old,\n                deltaOffset,\n                deltaPercentage,\n              }\n            })\n\n            if (\n              table.options.columnResizeMode === 'onChange' ||\n              eventType === 'end'\n            ) {\n              table.setColumnSizing(old => ({\n                ...old,\n                ...newColumnSizing,\n              }))\n            }\n          }\n\n          const onMove = (clientXPos?: number) =>\n            updateOffset('move', clientXPos)\n\n          const onEnd = (clientXPos?: number) => {\n            updateOffset('end', clientXPos)\n\n            table.setColumnSizingInfo(old => ({\n              ...old,\n              isResizingColumn: false,\n              startOffset: null,\n              startSize: null,\n              deltaOffset: null,\n              deltaPercentage: null,\n              columnSizingStart: [],\n            }))\n          }\n\n          const mouseEvents = {\n            moveHandler: (e: MouseEvent) => onMove(e.clientX),\n            upHandler: (e: MouseEvent) => {\n              document.removeEventListener('mousemove', mouseEvents.moveHandler)\n              document.removeEventListener('mouseup', mouseEvents.upHandler)\n              onEnd(e.clientX)\n            },\n          }\n\n          const touchEvents = {\n            moveHandler: (e: TouchEvent) => {\n              if (e.cancelable) {\n                e.preventDefault()\n                e.stopPropagation()\n              }\n              onMove(e.touches[0]!.clientX)\n              return false\n            },\n            upHandler: (e: TouchEvent) => {\n              document.removeEventListener('touchmove', touchEvents.moveHandler)\n              document.removeEventListener('touchend', touchEvents.upHandler)\n              if (e.cancelable) {\n                e.preventDefault()\n                e.stopPropagation()\n              }\n              onEnd(e.touches[0]?.clientX)\n            },\n          }\n\n          const passiveIfSupported = passiveEventSupported()\n            ? { passive: false }\n            : false\n\n          if (isTouchStartEvent(e)) {\n            document.addEventListener(\n              'touchmove',\n              touchEvents.moveHandler,\n              passiveIfSupported\n            )\n            document.addEventListener(\n              'touchend',\n              touchEvents.upHandler,\n              passiveIfSupported\n            )\n          } else {\n            document.addEventListener(\n              'mousemove',\n              mouseEvents.moveHandler,\n              passiveIfSupported\n            )\n            document.addEventListener(\n              'mouseup',\n              mouseEvents.upHandler,\n              passiveIfSupported\n            )\n          }\n\n          table.setColumnSizingInfo(old => ({\n            ...old,\n            startOffset: clientX,\n            startSize,\n            deltaOffset: 0,\n            deltaPercentage: 0,\n            columnSizingStart,\n            isResizingColumn: column.id,\n          }))\n        }\n      },\n    }\n  },\n\n  createTable: (\n    table: Table\n  ): ColumnSizingInstance => {\n    return {\n      setColumnSizing: updater => table.options.onColumnSizingChange?.(updater),\n      setColumnSizingInfo: updater =>\n        table.options.onColumnSizingInfoChange?.(updater),\n      resetColumnSizing: defaultState => {\n        table.setColumnSizing(\n          defaultState ? {} : table.initialState.columnSizing ?? {}\n        )\n      },\n      resetHeaderSizeInfo: defaultState => {\n        table.setColumnSizingInfo(\n          defaultState\n            ? getDefaultColumnSizingInfoState()\n            : table.initialState.columnSizingInfo ??\n                getDefaultColumnSizingInfoState()\n        )\n      },\n      getTotalSize: () =>\n        table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n          return sum + header.getSize()\n        }, 0) ?? 0,\n      getLeftTotalSize: () =>\n        table.getLeftHeaderGroups()[0]?.headers.reduce((sum, header) => {\n          return sum + header.getSize()\n        }, 0) ?? 0,\n      getCenterTotalSize: () =>\n        table.getCenterHeaderGroups()[0]?.headers.reduce((sum, header) => {\n          return sum + header.getSize()\n        }, 0) ?? 0,\n      getRightTotalSize: () =>\n        table.getRightHeaderGroups()[0]?.headers.reduce((sum, header) => {\n          return sum + header.getSize()\n        }, 0) ?? 0,\n    }\n  },\n}\n\nlet passiveSupported: boolean | null = null\nexport function passiveEventSupported() {\n  if (typeof passiveSupported === 'boolean') return passiveSupported\n\n  let supported = false\n  try {\n    const options = {\n      get passive() {\n        supported = true\n        return false\n      },\n    }\n\n    const noop = () => {}\n\n    window.addEventListener('test', noop, options)\n    window.removeEventListener('test', noop)\n  } catch (err) {\n    supported = false\n  }\n  passiveSupported = supported\n  return passiveSupported\n}\n\nfunction isTouchStartEvent(e: unknown): e is TouchEvent {\n  return (e as TouchEvent).type === 'touchstart'\n}\n"],"names":["defaultColumnSizing","size","minSize","maxSize","Number","MAX_SAFE_INTEGER","getDefaultColumnSizingInfoState","startOffset","startSize","deltaOffset","deltaPercentage","isResizingColumn","columnSizingStart","ColumnSizing","getDefaultColumnDef","getInitialState","state","columnSizing","columnSizingInfo","getDefaultOptions","table","columnResizeMode","onColumnSizingChange","makeStateUpdater","onColumnSizingInfoChange","createColumn","column","getSize","_column$columnDef$min","_ref","_column$columnDef$max","columnSize","getState","id","Math","min","max","columnDef","getStart","position","columns","getVisibleLeafColumns","getLeftVisibleLeafColumns","getRightVisibleLeafColumns","index","findIndex","d","prevSiblingColumn","resetSize","setColumnSizing","_ref2","_","rest","getCanResize","_column$columnDef$ena","_table$options$enable","enableResizing","options","enableColumnResizing","getIsResizing","createHeader","header","sum","recurse","subHeaders","length","forEach","_header$column$getSiz","prevSiblingHeader","headerGroup","headers","getResizeHandler","getColumn","canResize","e","persist","isTouchStartEvent","touches","getLeafHeaders","map","clientX","round","newColumnSizing","updateOffset","eventType","clientXPos","setColumnSizingInfo","old","_old$startOffset","_old$startSize","_ref3","columnId","headerSize","onMove","onEnd","mouseEvents","moveHandler","upHandler","document","removeEventListener","touchEvents","cancelable","preventDefault","stopPropagation","_e$touches$","passiveIfSupported","passiveEventSupported","passive","addEventListener","createTable","updater","resetColumnSizing","defaultState","_table$initialState$c","initialState","resetHeaderSizeInfo","_table$initialState$c2","getTotalSize","_table$getHeaderGroup","_table$getHeaderGroup2","getHeaderGroups","reduce","getLeftTotalSize","_table$getLeftHeaderG","_table$getLeftHeaderG2","getLeftHeaderGroups","getCenterTotalSize","_table$getCenterHeade","_table$getCenterHeade2","getCenterHeaderGroups","getRightTotalSize","_table$getRightHeader","_table$getRightHeader2","getRightHeaderGroups","passiveSupported","supported","noop","window","err","type"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy