@infinite-table/infinite-react 4.3.5 → 4.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +30 -4
- package/index.dev.js +81 -15
- package/index.dev.mjs +81 -15
- package/index.js +81 -15
- package/index.mjs +81 -15
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -632,7 +632,13 @@ declare type InfiniteTableColumn<DATA_TYPE> = {
|
|
|
632
632
|
field?: KeyOfNoSymbol<DATA_TYPE>;
|
|
633
633
|
valueGetter?: InfiniteTableColumnValueGetter<DATA_TYPE>;
|
|
634
634
|
defaultSortable?: InfiniteTableColumnSortable<DATA_TYPE>;
|
|
635
|
-
|
|
635
|
+
/**
|
|
636
|
+
* Whether the column is draggable by default.
|
|
637
|
+
*
|
|
638
|
+
* This prop overrides the top-level columnDefaultDraggable prop, but is
|
|
639
|
+
* overridden by the top-level draggableColumns prop.
|
|
640
|
+
*/
|
|
641
|
+
defaultDraggable?: boolean;
|
|
636
642
|
resizable?: boolean;
|
|
637
643
|
shouldAcceptEdit?: (params: InfiniteTablePropOnEditAcceptedParams<DATA_TYPE>) => boolean | Error | Promise<boolean | Error>;
|
|
638
644
|
contentFocusable?: InfiniteTableColumnContentFocusable<DATA_TYPE>;
|
|
@@ -1400,6 +1406,7 @@ interface InfiniteTableMappedState<T> {
|
|
|
1400
1406
|
onCellClick: InfiniteTableProps<T>['onCellClick'];
|
|
1401
1407
|
rowDetailCache: RowDetailCache<RowDetailCacheKey, RowDetailCacheEntry>;
|
|
1402
1408
|
headerOptions: NonUndefined<InfiniteTableProps<T>['headerOptions']>;
|
|
1409
|
+
draggableColumnsRestrictTo: NonUndefined<InfiniteTableProps<T>['draggableColumnsRestrictTo']>;
|
|
1403
1410
|
onScrollbarsChange: InfiniteTableProps<T>['onScrollbarsChange'];
|
|
1404
1411
|
getContextMenuItems: InfiniteTableProps<T>['getContextMenuItems'];
|
|
1405
1412
|
getCellContextMenuItems: InfiniteTableProps<T>['getCellContextMenuItems'];
|
|
@@ -1459,7 +1466,8 @@ interface InfiniteTableMappedState<T> {
|
|
|
1459
1466
|
columnDefaultWidth: NonUndefined<InfiniteTableProps<T>['columnDefaultWidth']>;
|
|
1460
1467
|
columnDefaultFlex: InfiniteTableProps<T>['columnDefaultFlex'];
|
|
1461
1468
|
columnCssEllipsis: NonUndefined<InfiniteTableProps<T>['columnCssEllipsis']>;
|
|
1462
|
-
draggableColumns:
|
|
1469
|
+
draggableColumns: InfiniteTableProps<T>['draggableColumns'];
|
|
1470
|
+
columnDefaultDraggable: InfiniteTableProps<T>['columnDefaultDraggable'];
|
|
1463
1471
|
sortable: InfiniteTableProps<T>['sortable'];
|
|
1464
1472
|
hideEmptyGroupColumns: NonUndefined<InfiniteTableProps<T>['hideEmptyGroupColumns']>;
|
|
1465
1473
|
hideColumnWhenGrouped: NonUndefined<InfiniteTableProps<T>['hideColumnWhenGrouped']>;
|
|
@@ -1474,6 +1482,7 @@ interface InfiniteTableMappedState<T> {
|
|
|
1474
1482
|
columnHeaderHeight: number;
|
|
1475
1483
|
licenseKey: NonUndefined<InfiniteTableProps<T>['licenseKey']>;
|
|
1476
1484
|
columnVisibility: InfiniteTablePropColumnVisibility;
|
|
1485
|
+
columnGroupVisibility: NonUndefined<InfiniteTableProps<T>['columnGroupVisibility']>;
|
|
1477
1486
|
columnSizing: InfiniteTablePropColumnSizing;
|
|
1478
1487
|
columnTypes: InfiniteTablePropColumnTypes<T>;
|
|
1479
1488
|
columnGroups: InfiniteTablePropColumnGroups;
|
|
@@ -4749,6 +4758,7 @@ declare type LoadMaskProps = {
|
|
|
4749
4758
|
declare type InfiniteTablePropColumnOrderNormalized = string[];
|
|
4750
4759
|
declare type InfiniteTablePropColumnOrder = InfiniteTablePropColumnOrderNormalized | true;
|
|
4751
4760
|
declare type InfiniteTablePropColumnVisibility = Record<string, false>;
|
|
4761
|
+
declare type InfiniteTablePropColumnGroupVisibility = Record<string, boolean>;
|
|
4752
4762
|
declare type InfiniteTableColumnPinnedValues = false | 'start' | 'end';
|
|
4753
4763
|
declare type InfiniteTablePropColumnPinning = Record<string, true | 'start' | 'end'>;
|
|
4754
4764
|
declare type InfiniteTableRowStylingFnParams<T> = {
|
|
@@ -4780,7 +4790,7 @@ declare type InfiniteTableColumnType<T> = {
|
|
|
4780
4790
|
defaultHiddenWhenGroupedBy?: InfiniteTableColumn<T>['defaultHiddenWhenGroupedBy'];
|
|
4781
4791
|
header?: InfiniteTableColumn<T>['header'];
|
|
4782
4792
|
comparer?: InfiniteTableColumn<T>['comparer'];
|
|
4783
|
-
draggable?: InfiniteTableColumn<T>['
|
|
4793
|
+
draggable?: InfiniteTableColumn<T>['defaultDraggable'];
|
|
4784
4794
|
resizable?: InfiniteTableColumn<T>['resizable'];
|
|
4785
4795
|
align?: InfiniteTableColumn<T>['align'];
|
|
4786
4796
|
headerAlign?: InfiniteTableColumn<T>['headerAlign'];
|
|
@@ -4939,6 +4949,7 @@ interface InfiniteTableApi<T> {
|
|
|
4939
4949
|
getSortingForColumn: (columnId: string) => SortDir | null;
|
|
4940
4950
|
getColumnApi: (columnId: string) => InfiniteTableColumnApi<T> | null;
|
|
4941
4951
|
setVisibilityForColumn: (columnId: string, visible: boolean) => void;
|
|
4952
|
+
setVisibilityForColumnGroup: (columnGroupId: string, visible: boolean) => void;
|
|
4942
4953
|
getVisibleColumnsCount: () => number;
|
|
4943
4954
|
scrollRowIntoView: (rowIndex: number, config?: {
|
|
4944
4955
|
scrollAdjustPosition?: ScrollAdjustPosition;
|
|
@@ -5091,6 +5102,8 @@ interface InfiniteTableProps<T> {
|
|
|
5091
5102
|
groupRenderStrategy?: InfiniteTablePropGroupRenderStrategy;
|
|
5092
5103
|
hideEmptyGroupColumns?: boolean;
|
|
5093
5104
|
columnVisibility?: InfiniteTablePropColumnVisibility;
|
|
5105
|
+
columnGroupVisibility?: InfiniteTablePropColumnGroupVisibility;
|
|
5106
|
+
defaultColumnGroupVisibility?: InfiniteTablePropColumnGroupVisibility;
|
|
5094
5107
|
defaultColumnVisibility?: InfiniteTablePropColumnVisibility;
|
|
5095
5108
|
pinnedStartMaxWidth?: number;
|
|
5096
5109
|
pinnedEndMaxWidth?: number;
|
|
@@ -5116,6 +5129,7 @@ interface InfiniteTableProps<T> {
|
|
|
5116
5129
|
collapsedColumnGroups?: InfiniteTablePropCollapsedColumnGroups;
|
|
5117
5130
|
onScrollbarsChange?: (scrollbars: Scrollbars) => void;
|
|
5118
5131
|
onColumnVisibilityChange?: (columnVisibility: InfiniteTablePropColumnVisibility) => void;
|
|
5132
|
+
onColumnGroupVisibilityChange?: (columnGroupVisibility: InfiniteTablePropColumnGroupVisibility) => void;
|
|
5119
5133
|
columnTypes?: InfiniteTablePropColumnTypes<T>;
|
|
5120
5134
|
showSeparatePivotColumnForSingleAggregation?: boolean;
|
|
5121
5135
|
isRowDetailExpanded?: (rowInfo: InfiniteTableRowInfo<T>) => boolean;
|
|
@@ -5168,7 +5182,19 @@ interface InfiniteTableProps<T> {
|
|
|
5168
5182
|
onActiveCellIndexChange?: (activeCellIndex: [number, number]) => void;
|
|
5169
5183
|
activeCellIndex?: [number, number] | null;
|
|
5170
5184
|
defaultActiveCellIndex?: [number, number] | null;
|
|
5185
|
+
/**
|
|
5186
|
+
* Whether the columns are draggable by default.
|
|
5187
|
+
*
|
|
5188
|
+
* This is the prop that has the lowest priority - it's overridden by column.defaultDraggable and ultimately by draggableColumns
|
|
5189
|
+
*/
|
|
5190
|
+
columnDefaultDraggable?: boolean;
|
|
5191
|
+
/**
|
|
5192
|
+
* Whether the columns are draggable by default.
|
|
5193
|
+
*
|
|
5194
|
+
* This is the prop that has the highest priority - overrides columnDefaultDraggable and column.defaultDraggable
|
|
5195
|
+
*/
|
|
5171
5196
|
draggableColumns?: boolean;
|
|
5197
|
+
draggableColumnsRestrictTo?: false | 'group';
|
|
5172
5198
|
header?: boolean;
|
|
5173
5199
|
headerOptions?: InfiniteTablePropHeaderOptions;
|
|
5174
5200
|
focusedClassName?: string;
|
|
@@ -5402,4 +5428,4 @@ declare const components: {
|
|
|
5402
5428
|
NumberFilterEditor: typeof NumberFilterEditor;
|
|
5403
5429
|
};
|
|
5404
5430
|
|
|
5405
|
-
export { AdvancedAlignable, CellSelectionState, CellSelectionStateObject, ColumnTypeWithInherit, DataClient, DataSource, DataSourceAction, DataSourceActionType, DataSourceAggregationReducer, DataSourceApi, DataSourceCRUDParam, DataSourceComponentActions, DataSourceContextValue, DataSourceData, DataSourceDataParams, DataSourceDataParamsChanges, DataSourceDerivedState, DataSourceFilterFunctionParam, DataSourceFilterOperator, DataSourceFilterOperatorFunction, DataSourceFilterOperatorFunctionParam, DataSourceFilterType, DataSourceFilterValueItem, DataSourceFilterValueItemValueGetter, DataSourceGroupBy, DataSourceGroupRowsList, DataSourceInsertParam, DataSourceLivePaginationCursorFn, DataSourceLivePaginationCursorParams, DataSourceLivePaginationCursorValue, DataSourceMappedState, DataSourceMappings, DataSourceMasterDetailContextValue, DataSourcePivotBy, DataSourcePropAggregationReducers, DataSourcePropCellSelection, DataSourcePropCellSelection_MultiCell, DataSourcePropCellSelection_SingleCell, DataSourcePropFilterFunction, DataSourcePropFilterTypes, DataSourcePropFilterValue, DataSourcePropGroupBy, DataSourcePropGroupRowsStateObject, DataSourcePropIsRowSelected, DataSourcePropLivePaginationCursor, DataSourcePropMultiRowSelectionChangeParamType, DataSourcePropOnCellSelectionChange, DataSourcePropOnCellSelectionChange_MultiCell, DataSourcePropOnCellSelectionChange_SingleCell, DataSourcePropOnRowSelectionChange, DataSourcePropOnRowSelectionChange_MultiRow, DataSourcePropOnRowSelectionChange_SingleRow, DataSourcePropPivotBy, DataSourcePropRowInfoReducers, DataSourcePropRowSelection, DataSourcePropRowSelection_MultiRow, DataSourcePropRowSelection_SingleRow, DataSourcePropSelectionMode, DataSourcePropShouldReloadData, DataSourcePropShouldReloadDataObject, DataSourcePropSortFn, DataSourcePropSortInfo, DataSourcePropSortTypes, DataSourceProps, DataSourcePropsWithChildren, DataSourceRawReducer, DataSourceRemoteData, DataSourceRowInfoReducer, DataSourceSetupState, DataSourceSingleSortInfo, DataSourceSortInfo, DataSourceState, DebugLogger, DeepMap, ElementContainerGetter, FixedSizeSet, GroupRowsState, InfiniteColumnEditorContextType, InfiniteTable, InfiniteTableAction, InfiniteTableActionType, InfiniteTableApi, InfiniteTableClassName, InfiniteTableColumn, InfiniteTableColumnAggregator, InfiniteTableColumnApi, InfiniteTableColumnCellContextType, InfiniteTableColumnComparer, InfiniteTableColumnGroup, InfiniteTableColumnRenderFunctionForGroupRows, InfiniteTableColumnRenderFunctionForNormalRows, InfiniteTableColumnRenderValueParam, InfiniteTableColumnRowspanParam, InfiniteTableColumnSizingOptions, InfiniteTableColumnValueFormatterParams, InfiniteTableColumnValueGetterParams, InfiniteTableComponent, InfiniteTableComputedColumn, InfiniteTableComputedValues, InfiniteTableContextValue, InfiniteTableGroupColumnBase, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions, InfiniteTablePivotColumn, InfiniteTablePropAutoSizeColumnsKey, InfiniteTablePropColumnGroups, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnSizing, InfiniteTablePropColumnTypes, InfiniteTablePropColumnVisibility, InfiniteTablePropColumns, InfiniteTablePropComponents, InfiniteTablePropGetCellContextMenuItems, InfiniteTablePropGetColumnMenuItems, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropHeaderOptions, InfiniteTablePropKeyboardNavigation, InfiniteTablePropKeyboardShorcut, InfiniteTablePropMultiSortBehavior, InfiniteTablePropRowClassName, InfiniteTablePropRowStyle, InfiniteTableProps, InfiniteTableRowClassNameFn, InfiniteTableRowInfo, InfiniteTableRowStyleFn, InfiniteTableState, InfiniteTable_HasGrouping_RowInfoGroup, InfiniteTable_HasGrouping_RowInfoNormal, LazyGroupDataDeepMap, LazyGroupDataItem, LazyRowInfoGroup, Menu, MenuChildrenFnParam, MenuColumn, MenuColumnRenderParam, MenuDecoration, MenuIconProps, MenuItemActionContext, MenuItemDefinition, MenuItemObject, MenuProps, MenuRenderable, MenuRuntimeItem, MenuRuntimeItemSelectable, MenuSeparator, OverlayShowParams, RowDetailCache, RowDetailState, RowDetailStateObject, RowSelectionState, ScrollStopInfo, Scrollbars, ShowOverlayFn, TableRenderRange, WeakFixedSizeSet, components, debounce, debug, defaultFilterTypes, eventMatchesKeyboardShortcut, defaultFilterTypes as filterTypes, flatten, buildManagedComponent as getComponentStateRoot, group, interceptMap, keyboardShortcuts, multisort, queryKeyToCacheKey, useManagedComponentState as useComponentState, useDataSourceInternal, useDataSourceState, useEffectWithChanges, useEffectWithObject, useGridScroll, useInfiniteColumnCell, useInfiniteColumnEditor, useInfiniteColumnFilterEditor, useInfiniteHeaderCell, useManagedDataSource, useMasterRowInfo, useOverlay, useOverlayPortal, useRowInfoReducers, useVisibleColumnSizes };
|
|
5431
|
+
export { AdvancedAlignable, CellSelectionState, CellSelectionStateObject, ColumnTypeWithInherit, DataClient, DataSource, DataSourceAction, DataSourceActionType, DataSourceAggregationReducer, DataSourceApi, DataSourceCRUDParam, DataSourceComponentActions, DataSourceContextValue, DataSourceData, DataSourceDataParams, DataSourceDataParamsChanges, DataSourceDerivedState, DataSourceFilterFunctionParam, DataSourceFilterOperator, DataSourceFilterOperatorFunction, DataSourceFilterOperatorFunctionParam, DataSourceFilterType, DataSourceFilterValueItem, DataSourceFilterValueItemValueGetter, DataSourceGroupBy, DataSourceGroupRowsList, DataSourceInsertParam, DataSourceLivePaginationCursorFn, DataSourceLivePaginationCursorParams, DataSourceLivePaginationCursorValue, DataSourceMappedState, DataSourceMappings, DataSourceMasterDetailContextValue, DataSourcePivotBy, DataSourcePropAggregationReducers, DataSourcePropCellSelection, DataSourcePropCellSelection_MultiCell, DataSourcePropCellSelection_SingleCell, DataSourcePropFilterFunction, DataSourcePropFilterTypes, DataSourcePropFilterValue, DataSourcePropGroupBy, DataSourcePropGroupRowsStateObject, DataSourcePropIsRowSelected, DataSourcePropLivePaginationCursor, DataSourcePropMultiRowSelectionChangeParamType, DataSourcePropOnCellSelectionChange, DataSourcePropOnCellSelectionChange_MultiCell, DataSourcePropOnCellSelectionChange_SingleCell, DataSourcePropOnRowSelectionChange, DataSourcePropOnRowSelectionChange_MultiRow, DataSourcePropOnRowSelectionChange_SingleRow, DataSourcePropPivotBy, DataSourcePropRowInfoReducers, DataSourcePropRowSelection, DataSourcePropRowSelection_MultiRow, DataSourcePropRowSelection_SingleRow, DataSourcePropSelectionMode, DataSourcePropShouldReloadData, DataSourcePropShouldReloadDataObject, DataSourcePropSortFn, DataSourcePropSortInfo, DataSourcePropSortTypes, DataSourceProps, DataSourcePropsWithChildren, DataSourceRawReducer, DataSourceRemoteData, DataSourceRowInfoReducer, DataSourceSetupState, DataSourceSingleSortInfo, DataSourceSortInfo, DataSourceState, DebugLogger, DeepMap, ElementContainerGetter, FixedSizeSet, GroupRowsState, InfiniteColumnEditorContextType, InfiniteTable, InfiniteTableAction, InfiniteTableActionType, InfiniteTableApi, InfiniteTableClassName, InfiniteTableColumn, InfiniteTableColumnAggregator, InfiniteTableColumnApi, InfiniteTableColumnCellContextType, InfiniteTableColumnComparer, InfiniteTableColumnGroup, InfiniteTableColumnRenderFunctionForGroupRows, InfiniteTableColumnRenderFunctionForNormalRows, InfiniteTableColumnRenderValueParam, InfiniteTableColumnRowspanParam, InfiniteTableColumnSizingOptions, InfiniteTableColumnValueFormatterParams, InfiniteTableColumnValueGetterParams, InfiniteTableComponent, InfiniteTableComputedColumn, InfiniteTableComputedValues, InfiniteTableContextValue, InfiniteTableGroupColumnBase, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions, InfiniteTablePivotColumn, InfiniteTablePropAutoSizeColumnsKey, InfiniteTablePropColumnGroupVisibility, InfiniteTablePropColumnGroups, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnSizing, InfiniteTablePropColumnTypes, InfiniteTablePropColumnVisibility, InfiniteTablePropColumns, InfiniteTablePropComponents, InfiniteTablePropGetCellContextMenuItems, InfiniteTablePropGetColumnMenuItems, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropHeaderOptions, InfiniteTablePropKeyboardNavigation, InfiniteTablePropKeyboardShorcut, InfiniteTablePropMultiSortBehavior, InfiniteTablePropRowClassName, InfiniteTablePropRowStyle, InfiniteTableProps, InfiniteTableRowClassNameFn, InfiniteTableRowInfo, InfiniteTableRowStyleFn, InfiniteTableState, InfiniteTable_HasGrouping_RowInfoGroup, InfiniteTable_HasGrouping_RowInfoNormal, LazyGroupDataDeepMap, LazyGroupDataItem, LazyRowInfoGroup, Menu, MenuChildrenFnParam, MenuColumn, MenuColumnRenderParam, MenuDecoration, MenuIconProps, MenuItemActionContext, MenuItemDefinition, MenuItemObject, MenuProps, MenuRenderable, MenuRuntimeItem, MenuRuntimeItemSelectable, MenuSeparator, OverlayShowParams, RowDetailCache, RowDetailState, RowDetailStateObject, RowSelectionState, ScrollStopInfo, Scrollbars, ShowOverlayFn, TableRenderRange, WeakFixedSizeSet, components, debounce, debug, defaultFilterTypes, eventMatchesKeyboardShortcut, defaultFilterTypes as filterTypes, flatten, buildManagedComponent as getComponentStateRoot, group, interceptMap, keyboardShortcuts, multisort, queryKeyToCacheKey, useManagedComponentState as useComponentState, useDataSourceInternal, useDataSourceState, useEffectWithChanges, useEffectWithObject, useGridScroll, useInfiniteColumnCell, useInfiniteColumnEditor, useInfiniteColumnFilterEditor, useInfiniteHeaderCell, useManagedDataSource, useMasterRowInfo, useOverlay, useOverlayPortal, useRowInfoReducers, useVisibleColumnSizes };
|
package/index.dev.js
CHANGED
|
@@ -5686,6 +5686,7 @@ var getComputedColumns = ({
|
|
|
5686
5686
|
viewportReservedWidth,
|
|
5687
5687
|
resizableColumns,
|
|
5688
5688
|
draggableColumns,
|
|
5689
|
+
columnDefaultDraggable,
|
|
5689
5690
|
columnOrder,
|
|
5690
5691
|
columnPinning,
|
|
5691
5692
|
editable,
|
|
@@ -5969,7 +5970,7 @@ var getComputedColumns = ({
|
|
|
5969
5970
|
computedSortedDesc,
|
|
5970
5971
|
computedVisibleIndex,
|
|
5971
5972
|
computedPinned,
|
|
5972
|
-
computedDraggable: (_z = (_y = c.
|
|
5973
|
+
computedDraggable: (_z = (_y = draggableColumns != null ? draggableColumns : c.defaultDraggable) != null ? _y : columnDefaultDraggable) != null ? _z : DEFAULT_DRAGGABLE,
|
|
5973
5974
|
computedFirstInCategory,
|
|
5974
5975
|
computedLastInCategory,
|
|
5975
5976
|
computedFirst: theComputedVisibleIndex === 0,
|
|
@@ -6950,6 +6951,7 @@ function reorderColumnsOnDrag(params) {
|
|
|
6950
6951
|
infiniteDOMNode,
|
|
6951
6952
|
brain,
|
|
6952
6953
|
dragColumnHeaderTargetRect,
|
|
6954
|
+
draggableColumnsRestrictTo,
|
|
6953
6955
|
tableRect,
|
|
6954
6956
|
setProxyPosition,
|
|
6955
6957
|
api: imperativeApi
|
|
@@ -6978,8 +6980,9 @@ function reorderColumnsOnDrag(params) {
|
|
|
6978
6980
|
const scrollLeft2 = brain.getScrollPosition().scrollLeft;
|
|
6979
6981
|
return col.computedOffset >= scrollLeft2 + getCurrentPinnedWidth("start") && col.computedOffset + col.computedWidth < scrollLeft2 + tableRect.width - getCurrentPinnedWidth("end");
|
|
6980
6982
|
}
|
|
6981
|
-
const getBreakPoints = (columns) => {
|
|
6982
|
-
const
|
|
6983
|
+
const getBreakPoints = (columns, options) => {
|
|
6984
|
+
const { restrictToParentGroup, dragColumn: dragColumn2 } = options;
|
|
6985
|
+
let breakpoints = [];
|
|
6983
6986
|
columns.forEach((c) => {
|
|
6984
6987
|
const b = {
|
|
6985
6988
|
columnId: c.id,
|
|
@@ -6993,6 +6996,26 @@ function reorderColumnsOnDrag(params) {
|
|
|
6993
6996
|
breakpoints.push(b);
|
|
6994
6997
|
}
|
|
6995
6998
|
});
|
|
6999
|
+
if (restrictToParentGroup) {
|
|
7000
|
+
let checkAllowedColumnsInDirection2 = function(colIndex, dir2, disallowedTargets2) {
|
|
7001
|
+
const col = columns[colIndex];
|
|
7002
|
+
if (!col) {
|
|
7003
|
+
return;
|
|
7004
|
+
}
|
|
7005
|
+
if (col.columnGroup !== dragColumn2.columnGroup) {
|
|
7006
|
+
disallowedTargets2.add(col.id);
|
|
7007
|
+
}
|
|
7008
|
+
checkAllowedColumnsInDirection2(colIndex + dir2, dir2, disallowedTargets2);
|
|
7009
|
+
};
|
|
7010
|
+
var checkAllowedColumnsInDirection = checkAllowedColumnsInDirection2;
|
|
7011
|
+
const dragColIndex = dragColumn2.computedVisibleIndex;
|
|
7012
|
+
const disallowedTargets = /* @__PURE__ */ new Set();
|
|
7013
|
+
checkAllowedColumnsInDirection2(dragColIndex - 1, -1, disallowedTargets);
|
|
7014
|
+
checkAllowedColumnsInDirection2(dragColIndex + 1, 1, disallowedTargets);
|
|
7015
|
+
breakpoints = breakpoints.filter((b) => {
|
|
7016
|
+
return !disallowedTargets.has(b.columnId);
|
|
7017
|
+
});
|
|
7018
|
+
}
|
|
6996
7019
|
return breakpoints;
|
|
6997
7020
|
};
|
|
6998
7021
|
const initialPinnedStartCount = computedPinnedStartColumns.length;
|
|
@@ -7171,7 +7194,10 @@ function reorderColumnsOnDrag(params) {
|
|
|
7171
7194
|
imperativeApi.scrollLeft = value;
|
|
7172
7195
|
}
|
|
7173
7196
|
});
|
|
7174
|
-
const breakpoints = getBreakPoints(computedVisibleColumns
|
|
7197
|
+
const breakpoints = getBreakPoints(computedVisibleColumns, {
|
|
7198
|
+
dragColumn,
|
|
7199
|
+
restrictToParentGroup: draggableColumnsRestrictTo === "group"
|
|
7200
|
+
});
|
|
7175
7201
|
let currentPos = dir === -1 ? dragColumn.computedOffset + diffX : dragColumn.computedOffset + dragColumn.computedWidth + diffX;
|
|
7176
7202
|
let idx = (0, import_binary_search2.default)(
|
|
7177
7203
|
breakpoints,
|
|
@@ -7330,7 +7356,7 @@ var useColumnPointerEvents = ({
|
|
|
7330
7356
|
if (((_a2 = e.target) == null ? void 0 : _a2.tagName) === "INPUT") {
|
|
7331
7357
|
return;
|
|
7332
7358
|
}
|
|
7333
|
-
const { brain } = getState();
|
|
7359
|
+
const { brain, draggableColumnsRestrictTo } = getState();
|
|
7334
7360
|
const {
|
|
7335
7361
|
computedVisibleColumns,
|
|
7336
7362
|
computedVisibleColumnsMap,
|
|
@@ -7352,6 +7378,7 @@ var useColumnPointerEvents = ({
|
|
|
7352
7378
|
let didDragAtLeastOnce = false;
|
|
7353
7379
|
const dragger = reorderColumnsOnDrag({
|
|
7354
7380
|
brain,
|
|
7381
|
+
draggableColumnsRestrictTo,
|
|
7355
7382
|
columnOffsetAtIndexCSSVar: columnOffsetAtIndex4,
|
|
7356
7383
|
columnWidthAtIndexCSSVar: columnWidthAtIndex3,
|
|
7357
7384
|
computedPinnedEndColumns,
|
|
@@ -9960,6 +9987,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
9960
9987
|
} = props;
|
|
9961
9988
|
const {
|
|
9962
9989
|
computed,
|
|
9990
|
+
getState,
|
|
9963
9991
|
state: { headerBrain, headerOptions, showColumnFilters }
|
|
9964
9992
|
} = useInfiniteTable();
|
|
9965
9993
|
const { computedColumnsMap } = computed;
|
|
@@ -10012,7 +10040,8 @@ function InfiniteTableHeaderFn(props) {
|
|
|
10012
10040
|
computedWidth: colGroupItem.computedWidth,
|
|
10013
10041
|
groupOffset: colGroupItem.groupOffset
|
|
10014
10042
|
});
|
|
10015
|
-
|
|
10043
|
+
const visible = getState().columnGroupVisibility[colGroupItem.id] !== false;
|
|
10044
|
+
return visible ? /* @__PURE__ */ React46.createElement(
|
|
10016
10045
|
InfiniteTableHeaderGroup,
|
|
10017
10046
|
{
|
|
10018
10047
|
bodyBrain,
|
|
@@ -10023,7 +10052,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
10023
10052
|
height,
|
|
10024
10053
|
columnGroup: computedColumnGroup
|
|
10025
10054
|
}
|
|
10026
|
-
);
|
|
10055
|
+
) : null;
|
|
10027
10056
|
}
|
|
10028
10057
|
return /* @__PURE__ */ React46.createElement(
|
|
10029
10058
|
InfiniteTableHeaderCell,
|
|
@@ -15890,6 +15919,15 @@ var InfiniteTableApiImpl = class {
|
|
|
15890
15919
|
this.setColumnOrder = (columnOrder) => {
|
|
15891
15920
|
this.actions.columnOrder = columnOrder;
|
|
15892
15921
|
};
|
|
15922
|
+
this.setVisibilityForColumnGroup = (columnGroupId, visible) => {
|
|
15923
|
+
const columnGroupVisibility = __spreadValues({}, this.getState().columnGroupVisibility);
|
|
15924
|
+
if (visible) {
|
|
15925
|
+
delete columnGroupVisibility[columnGroupId];
|
|
15926
|
+
} else {
|
|
15927
|
+
columnGroupVisibility[columnGroupId] = false;
|
|
15928
|
+
}
|
|
15929
|
+
this.actions.columnGroupVisibility = columnGroupVisibility;
|
|
15930
|
+
};
|
|
15893
15931
|
this.collapseAllGroupRows = () => {
|
|
15894
15932
|
const state = this.getDataSourceState();
|
|
15895
15933
|
const newState = new GroupRowsState(state.groupRowsState);
|
|
@@ -17333,12 +17371,18 @@ var ScrollListener = class {
|
|
|
17333
17371
|
};
|
|
17334
17372
|
|
|
17335
17373
|
// src/components/InfiniteTable/state/computeColumnGroupsDepths.ts
|
|
17336
|
-
function computeColumnGroupsDepths(columnGroups) {
|
|
17374
|
+
function computeColumnGroupsDepths(columnGroups, columnGroupVisibility) {
|
|
17337
17375
|
const map2 = /* @__PURE__ */ new Map();
|
|
17376
|
+
function isVisible(colGroupId) {
|
|
17377
|
+
return columnGroupVisibility[colGroupId] !== false;
|
|
17378
|
+
}
|
|
17338
17379
|
Object.keys(columnGroups).forEach((colGroupId) => {
|
|
17339
17380
|
const colGroup = columnGroups[colGroupId];
|
|
17340
17381
|
let parentGroupId = colGroup.columnGroup;
|
|
17341
17382
|
let depth = 0;
|
|
17383
|
+
if (!isVisible(colGroupId)) {
|
|
17384
|
+
depth = -1;
|
|
17385
|
+
}
|
|
17342
17386
|
while (parentGroupId) {
|
|
17343
17387
|
const parent = columnGroups[parentGroupId];
|
|
17344
17388
|
if (!parent) {
|
|
@@ -17347,7 +17391,9 @@ function computeColumnGroupsDepths(columnGroups) {
|
|
|
17347
17391
|
}
|
|
17348
17392
|
break;
|
|
17349
17393
|
}
|
|
17350
|
-
|
|
17394
|
+
if (isVisible(parentGroupId)) {
|
|
17395
|
+
depth++;
|
|
17396
|
+
}
|
|
17351
17397
|
parentGroupId = parent.columnGroup;
|
|
17352
17398
|
}
|
|
17353
17399
|
map2.set(colGroupId, depth);
|
|
@@ -17364,6 +17410,7 @@ function getRowDetailRendererFromComponent(RowDetail) {
|
|
|
17364
17410
|
}
|
|
17365
17411
|
|
|
17366
17412
|
// src/components/InfiniteTable/state/getInitialState.ts
|
|
17413
|
+
var EMPTY_OBJECT = {};
|
|
17367
17414
|
function createRenderer2(brain) {
|
|
17368
17415
|
const renderer = new ReactHeadlessTableRenderer(brain);
|
|
17369
17416
|
const onRenderUpdater = buildSubscriptionCallback();
|
|
@@ -17511,6 +17558,7 @@ var forwardProps4 = (_setupState) => {
|
|
|
17511
17558
|
onScrollbarsChange: 1,
|
|
17512
17559
|
autoSizeColumnsKey: 1,
|
|
17513
17560
|
columnDefaultFlex: 1,
|
|
17561
|
+
draggableColumnsRestrictTo: (draggableColumnsRestrictTo) => draggableColumnsRestrictTo != null ? draggableColumnsRestrictTo : false,
|
|
17514
17562
|
columnMenuRealignDelay: (columnMenuRealignDelay) => columnMenuRealignDelay != null ? columnMenuRealignDelay : 50,
|
|
17515
17563
|
scrollStopDelay: (scrollStopDelay) => scrollStopDelay != null ? scrollStopDelay : 250,
|
|
17516
17564
|
viewportReservedWidth: (viewportReservedWidth) => viewportReservedWidth != null ? viewportReservedWidth : 0,
|
|
@@ -17525,7 +17573,8 @@ var forwardProps4 = (_setupState) => {
|
|
|
17525
17573
|
columnMaxWidth: (columnMaxWidth) => columnMaxWidth != null ? columnMaxWidth : 5e3,
|
|
17526
17574
|
columnDefaultWidth: (columnDefaultWidth) => columnDefaultWidth != null ? columnDefaultWidth : 200,
|
|
17527
17575
|
columnCssEllipsis: (columnCssEllipsis) => columnCssEllipsis != null ? columnCssEllipsis : true,
|
|
17528
|
-
draggableColumns:
|
|
17576
|
+
draggableColumns: 1,
|
|
17577
|
+
columnDefaultDraggable: 1,
|
|
17529
17578
|
headerOptions: (headerOptions) => __spreadValues({
|
|
17530
17579
|
alwaysReserveSpaceForSortIcon: true
|
|
17531
17580
|
}, headerOptions),
|
|
@@ -17549,7 +17598,8 @@ var forwardProps4 = (_setupState) => {
|
|
|
17549
17598
|
rowDetailHeight: (rowDetailHeight) => typeof rowDetailHeight === "number" || typeof rowDetailHeight === "function" ? rowDetailHeight : 300,
|
|
17550
17599
|
columnHeaderHeight: (columnHeaderHeight) => typeof columnHeaderHeight === "number" ? columnHeaderHeight : 30,
|
|
17551
17600
|
columns: 1,
|
|
17552
|
-
columnVisibility: (columnVisibility) => columnVisibility != null ? columnVisibility :
|
|
17601
|
+
columnVisibility: (columnVisibility) => columnVisibility != null ? columnVisibility : EMPTY_OBJECT,
|
|
17602
|
+
columnGroupVisibility: (columnGroupVisibility) => columnGroupVisibility != null ? columnGroupVisibility : EMPTY_OBJECT,
|
|
17553
17603
|
// TODO check if columnPinning works when the value for a pinned col is `true` instead of `"start"`
|
|
17554
17604
|
columnSizing: (columnSizing) => columnSizing || {},
|
|
17555
17605
|
columnTypes: (columnTypes) => columnTypes || {},
|
|
@@ -17630,7 +17680,10 @@ var mapPropsToState = (params) => {
|
|
|
17630
17680
|
var _a, _b, _c, _d, _e;
|
|
17631
17681
|
const { props, state, oldState, parentState } = params;
|
|
17632
17682
|
const computedColumnGroups = state.pivotColumnGroups || state.columnGroups;
|
|
17633
|
-
const columnGroupsDepthsMap = state.columnGroups && state.columnGroups != (oldState == null ? void 0 : oldState.columnGroups) || state.pivotColumnGroups && state.pivotColumnGroups != (oldState == null ? void 0 : oldState.pivotColumnGroups) ? computeColumnGroupsDepths(
|
|
17683
|
+
const columnGroupsDepthsMap = state.columnGroups && state.columnGroups != (oldState == null ? void 0 : oldState.columnGroups) || state.columnGroups && state.columnGroupVisibility != (oldState == null ? void 0 : oldState.columnGroupVisibility) || state.pivotColumnGroups && state.pivotColumnGroups != (oldState == null ? void 0 : oldState.pivotColumnGroups) ? computeColumnGroupsDepths(
|
|
17684
|
+
computedColumnGroups,
|
|
17685
|
+
state.columnGroupVisibility
|
|
17686
|
+
) : state.columnGroupsDepthsMap;
|
|
17634
17687
|
const groupBy = parentState == null ? void 0 : parentState.groupBy;
|
|
17635
17688
|
const groupRenderStrategy = getGroupRenderStrategy({
|
|
17636
17689
|
groupRenderStrategy: props.groupRenderStrategy,
|
|
@@ -17685,7 +17738,11 @@ var mapPropsToState = (params) => {
|
|
|
17685
17738
|
keyboardNavigation: (_c = props.keyboardNavigation) != null ? _c : state.activeCellIndex != null ? "cell" : state.activeRowIndex != null ? "row" : "cell",
|
|
17686
17739
|
columnHeaderCssEllipsis: (_e = (_d = props.columnHeaderCssEllipsis) != null ? _d : props.columnCssEllipsis) != null ? _e : true,
|
|
17687
17740
|
columnGroupsDepthsMap,
|
|
17688
|
-
columnGroupsMaxDepth: columnGroupsDepthsMap != state.columnGroupsDepthsMap ?
|
|
17741
|
+
columnGroupsMaxDepth: columnGroupsDepthsMap != state.columnGroupsDepthsMap ? (
|
|
17742
|
+
// was 0, but after implementing columnGroupVisibility
|
|
17743
|
+
// it can be -1, to denote that no column group is visible
|
|
17744
|
+
Math.max(...columnGroupsDepthsMap.values(), -1)
|
|
17745
|
+
) : state.columnGroupsMaxDepth,
|
|
17689
17746
|
computedColumnGroups,
|
|
17690
17747
|
rowHeightCSSVar: typeof props.rowHeight === "string" ? props.rowHeight : "",
|
|
17691
17748
|
rowDetailHeightCSSVar: typeof props.rowDetailHeight === "string" ? props.rowDetailHeight : "",
|
|
@@ -18238,6 +18295,7 @@ var useComputedColumns = ({
|
|
|
18238
18295
|
columnCssEllipsis,
|
|
18239
18296
|
columnHeaderCssEllipsis,
|
|
18240
18297
|
draggableColumns,
|
|
18298
|
+
columnDefaultDraggable,
|
|
18241
18299
|
sortInfo,
|
|
18242
18300
|
multiSort,
|
|
18243
18301
|
filterValue,
|
|
@@ -18299,6 +18357,7 @@ var useComputedColumns = ({
|
|
|
18299
18357
|
pinnedEndMaxWidth,
|
|
18300
18358
|
pinnedStartMaxWidth,
|
|
18301
18359
|
draggableColumns,
|
|
18360
|
+
columnDefaultDraggable,
|
|
18302
18361
|
columnOrder,
|
|
18303
18362
|
columnPinning,
|
|
18304
18363
|
columnDefaultEditable,
|
|
@@ -18326,6 +18385,8 @@ var useComputedColumns = ({
|
|
|
18326
18385
|
columnOrder,
|
|
18327
18386
|
columnVisibility,
|
|
18328
18387
|
columnVisibilityAssumeVisible,
|
|
18388
|
+
columnDefaultDraggable,
|
|
18389
|
+
draggableColumns,
|
|
18329
18390
|
resizableColumns,
|
|
18330
18391
|
pinnedEndMaxWidth,
|
|
18331
18392
|
pinnedStartMaxWidth,
|
|
@@ -18583,6 +18644,7 @@ function useComputed() {
|
|
|
18583
18644
|
columnDefaultWidth: componentState.columnDefaultWidth,
|
|
18584
18645
|
columnDefaultFlex: componentState.columnDefaultFlex,
|
|
18585
18646
|
columnDefaultSortable: componentState.columnDefaultSortable,
|
|
18647
|
+
columnDefaultDraggable: componentState.columnDefaultDraggable,
|
|
18586
18648
|
pinnedStartMaxWidth: componentState.pinnedStartMaxWidth,
|
|
18587
18649
|
pinnedEndMaxWidth: componentState.pinnedEndMaxWidth,
|
|
18588
18650
|
bodySize,
|
|
@@ -18611,7 +18673,11 @@ function useComputed() {
|
|
|
18611
18673
|
const computedPinnedEndOverflow = computedPinnedEndWidth ? computedPinnedEndColumnsWidth > computedPinnedEndWidth : false;
|
|
18612
18674
|
const [multiRowSelector] = (0, import_react49.useState)(() => {
|
|
18613
18675
|
const multiRowSelector2 = new MultiRowSelector({
|
|
18614
|
-
getIdForIndex: (index) =>
|
|
18676
|
+
getIdForIndex: (index) => {
|
|
18677
|
+
var _a2;
|
|
18678
|
+
const dataItem = getDataSourceState().dataArray[index];
|
|
18679
|
+
return (_a2 = dataItem == null ? void 0 : dataItem.id) != null ? _a2 : -1;
|
|
18680
|
+
}
|
|
18615
18681
|
});
|
|
18616
18682
|
return multiRowSelector2;
|
|
18617
18683
|
});
|
|
@@ -18843,7 +18909,7 @@ var useLicense = (licenseKey = "") => {
|
|
|
18843
18909
|
}
|
|
18844
18910
|
let valid2 = isValidLicense(licenseKey, {
|
|
18845
18911
|
publishedAt: 1624970570587,
|
|
18846
|
-
version: "4.3.
|
|
18912
|
+
version: "4.3.7"
|
|
18847
18913
|
});
|
|
18848
18914
|
if (!licenseKey && !valid2 && isInsidePlayground) {
|
|
18849
18915
|
return true;
|
package/index.dev.mjs
CHANGED
|
@@ -5649,6 +5649,7 @@ var getComputedColumns = ({
|
|
|
5649
5649
|
viewportReservedWidth,
|
|
5650
5650
|
resizableColumns,
|
|
5651
5651
|
draggableColumns,
|
|
5652
|
+
columnDefaultDraggable,
|
|
5652
5653
|
columnOrder,
|
|
5653
5654
|
columnPinning,
|
|
5654
5655
|
editable,
|
|
@@ -5932,7 +5933,7 @@ var getComputedColumns = ({
|
|
|
5932
5933
|
computedSortedDesc,
|
|
5933
5934
|
computedVisibleIndex,
|
|
5934
5935
|
computedPinned,
|
|
5935
|
-
computedDraggable: (_z = (_y = c.
|
|
5936
|
+
computedDraggable: (_z = (_y = draggableColumns != null ? draggableColumns : c.defaultDraggable) != null ? _y : columnDefaultDraggable) != null ? _z : DEFAULT_DRAGGABLE,
|
|
5936
5937
|
computedFirstInCategory,
|
|
5937
5938
|
computedLastInCategory,
|
|
5938
5939
|
computedFirst: theComputedVisibleIndex === 0,
|
|
@@ -6913,6 +6914,7 @@ function reorderColumnsOnDrag(params) {
|
|
|
6913
6914
|
infiniteDOMNode,
|
|
6914
6915
|
brain,
|
|
6915
6916
|
dragColumnHeaderTargetRect,
|
|
6917
|
+
draggableColumnsRestrictTo,
|
|
6916
6918
|
tableRect,
|
|
6917
6919
|
setProxyPosition,
|
|
6918
6920
|
api: imperativeApi
|
|
@@ -6941,8 +6943,9 @@ function reorderColumnsOnDrag(params) {
|
|
|
6941
6943
|
const scrollLeft2 = brain.getScrollPosition().scrollLeft;
|
|
6942
6944
|
return col.computedOffset >= scrollLeft2 + getCurrentPinnedWidth("start") && col.computedOffset + col.computedWidth < scrollLeft2 + tableRect.width - getCurrentPinnedWidth("end");
|
|
6943
6945
|
}
|
|
6944
|
-
const getBreakPoints = (columns) => {
|
|
6945
|
-
const
|
|
6946
|
+
const getBreakPoints = (columns, options) => {
|
|
6947
|
+
const { restrictToParentGroup, dragColumn: dragColumn2 } = options;
|
|
6948
|
+
let breakpoints = [];
|
|
6946
6949
|
columns.forEach((c) => {
|
|
6947
6950
|
const b = {
|
|
6948
6951
|
columnId: c.id,
|
|
@@ -6956,6 +6959,26 @@ function reorderColumnsOnDrag(params) {
|
|
|
6956
6959
|
breakpoints.push(b);
|
|
6957
6960
|
}
|
|
6958
6961
|
});
|
|
6962
|
+
if (restrictToParentGroup) {
|
|
6963
|
+
let checkAllowedColumnsInDirection2 = function(colIndex, dir2, disallowedTargets2) {
|
|
6964
|
+
const col = columns[colIndex];
|
|
6965
|
+
if (!col) {
|
|
6966
|
+
return;
|
|
6967
|
+
}
|
|
6968
|
+
if (col.columnGroup !== dragColumn2.columnGroup) {
|
|
6969
|
+
disallowedTargets2.add(col.id);
|
|
6970
|
+
}
|
|
6971
|
+
checkAllowedColumnsInDirection2(colIndex + dir2, dir2, disallowedTargets2);
|
|
6972
|
+
};
|
|
6973
|
+
var checkAllowedColumnsInDirection = checkAllowedColumnsInDirection2;
|
|
6974
|
+
const dragColIndex = dragColumn2.computedVisibleIndex;
|
|
6975
|
+
const disallowedTargets = /* @__PURE__ */ new Set();
|
|
6976
|
+
checkAllowedColumnsInDirection2(dragColIndex - 1, -1, disallowedTargets);
|
|
6977
|
+
checkAllowedColumnsInDirection2(dragColIndex + 1, 1, disallowedTargets);
|
|
6978
|
+
breakpoints = breakpoints.filter((b) => {
|
|
6979
|
+
return !disallowedTargets.has(b.columnId);
|
|
6980
|
+
});
|
|
6981
|
+
}
|
|
6959
6982
|
return breakpoints;
|
|
6960
6983
|
};
|
|
6961
6984
|
const initialPinnedStartCount = computedPinnedStartColumns.length;
|
|
@@ -7134,7 +7157,10 @@ function reorderColumnsOnDrag(params) {
|
|
|
7134
7157
|
imperativeApi.scrollLeft = value;
|
|
7135
7158
|
}
|
|
7136
7159
|
});
|
|
7137
|
-
const breakpoints = getBreakPoints(computedVisibleColumns
|
|
7160
|
+
const breakpoints = getBreakPoints(computedVisibleColumns, {
|
|
7161
|
+
dragColumn,
|
|
7162
|
+
restrictToParentGroup: draggableColumnsRestrictTo === "group"
|
|
7163
|
+
});
|
|
7138
7164
|
let currentPos = dir === -1 ? dragColumn.computedOffset + diffX : dragColumn.computedOffset + dragColumn.computedWidth + diffX;
|
|
7139
7165
|
let idx = (0, import_binary_search2.default)(
|
|
7140
7166
|
breakpoints,
|
|
@@ -7293,7 +7319,7 @@ var useColumnPointerEvents = ({
|
|
|
7293
7319
|
if (((_a2 = e.target) == null ? void 0 : _a2.tagName) === "INPUT") {
|
|
7294
7320
|
return;
|
|
7295
7321
|
}
|
|
7296
|
-
const { brain } = getState();
|
|
7322
|
+
const { brain, draggableColumnsRestrictTo } = getState();
|
|
7297
7323
|
const {
|
|
7298
7324
|
computedVisibleColumns,
|
|
7299
7325
|
computedVisibleColumnsMap,
|
|
@@ -7315,6 +7341,7 @@ var useColumnPointerEvents = ({
|
|
|
7315
7341
|
let didDragAtLeastOnce = false;
|
|
7316
7342
|
const dragger = reorderColumnsOnDrag({
|
|
7317
7343
|
brain,
|
|
7344
|
+
draggableColumnsRestrictTo,
|
|
7318
7345
|
columnOffsetAtIndexCSSVar: columnOffsetAtIndex4,
|
|
7319
7346
|
columnWidthAtIndexCSSVar: columnWidthAtIndex3,
|
|
7320
7347
|
computedPinnedEndColumns,
|
|
@@ -9923,6 +9950,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
9923
9950
|
} = props;
|
|
9924
9951
|
const {
|
|
9925
9952
|
computed,
|
|
9953
|
+
getState,
|
|
9926
9954
|
state: { headerBrain, headerOptions, showColumnFilters }
|
|
9927
9955
|
} = useInfiniteTable();
|
|
9928
9956
|
const { computedColumnsMap } = computed;
|
|
@@ -9975,7 +10003,8 @@ function InfiniteTableHeaderFn(props) {
|
|
|
9975
10003
|
computedWidth: colGroupItem.computedWidth,
|
|
9976
10004
|
groupOffset: colGroupItem.groupOffset
|
|
9977
10005
|
});
|
|
9978
|
-
|
|
10006
|
+
const visible = getState().columnGroupVisibility[colGroupItem.id] !== false;
|
|
10007
|
+
return visible ? /* @__PURE__ */ React46.createElement(
|
|
9979
10008
|
InfiniteTableHeaderGroup,
|
|
9980
10009
|
{
|
|
9981
10010
|
bodyBrain,
|
|
@@ -9986,7 +10015,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
9986
10015
|
height,
|
|
9987
10016
|
columnGroup: computedColumnGroup
|
|
9988
10017
|
}
|
|
9989
|
-
);
|
|
10018
|
+
) : null;
|
|
9990
10019
|
}
|
|
9991
10020
|
return /* @__PURE__ */ React46.createElement(
|
|
9992
10021
|
InfiniteTableHeaderCell,
|
|
@@ -15858,6 +15887,15 @@ var InfiniteTableApiImpl = class {
|
|
|
15858
15887
|
this.setColumnOrder = (columnOrder) => {
|
|
15859
15888
|
this.actions.columnOrder = columnOrder;
|
|
15860
15889
|
};
|
|
15890
|
+
this.setVisibilityForColumnGroup = (columnGroupId, visible) => {
|
|
15891
|
+
const columnGroupVisibility = __spreadValues({}, this.getState().columnGroupVisibility);
|
|
15892
|
+
if (visible) {
|
|
15893
|
+
delete columnGroupVisibility[columnGroupId];
|
|
15894
|
+
} else {
|
|
15895
|
+
columnGroupVisibility[columnGroupId] = false;
|
|
15896
|
+
}
|
|
15897
|
+
this.actions.columnGroupVisibility = columnGroupVisibility;
|
|
15898
|
+
};
|
|
15861
15899
|
this.collapseAllGroupRows = () => {
|
|
15862
15900
|
const state = this.getDataSourceState();
|
|
15863
15901
|
const newState = new GroupRowsState(state.groupRowsState);
|
|
@@ -17305,12 +17343,18 @@ var ScrollListener = class {
|
|
|
17305
17343
|
};
|
|
17306
17344
|
|
|
17307
17345
|
// src/components/InfiniteTable/state/computeColumnGroupsDepths.ts
|
|
17308
|
-
function computeColumnGroupsDepths(columnGroups) {
|
|
17346
|
+
function computeColumnGroupsDepths(columnGroups, columnGroupVisibility) {
|
|
17309
17347
|
const map2 = /* @__PURE__ */ new Map();
|
|
17348
|
+
function isVisible(colGroupId) {
|
|
17349
|
+
return columnGroupVisibility[colGroupId] !== false;
|
|
17350
|
+
}
|
|
17310
17351
|
Object.keys(columnGroups).forEach((colGroupId) => {
|
|
17311
17352
|
const colGroup = columnGroups[colGroupId];
|
|
17312
17353
|
let parentGroupId = colGroup.columnGroup;
|
|
17313
17354
|
let depth = 0;
|
|
17355
|
+
if (!isVisible(colGroupId)) {
|
|
17356
|
+
depth = -1;
|
|
17357
|
+
}
|
|
17314
17358
|
while (parentGroupId) {
|
|
17315
17359
|
const parent = columnGroups[parentGroupId];
|
|
17316
17360
|
if (!parent) {
|
|
@@ -17319,7 +17363,9 @@ function computeColumnGroupsDepths(columnGroups) {
|
|
|
17319
17363
|
}
|
|
17320
17364
|
break;
|
|
17321
17365
|
}
|
|
17322
|
-
|
|
17366
|
+
if (isVisible(parentGroupId)) {
|
|
17367
|
+
depth++;
|
|
17368
|
+
}
|
|
17323
17369
|
parentGroupId = parent.columnGroup;
|
|
17324
17370
|
}
|
|
17325
17371
|
map2.set(colGroupId, depth);
|
|
@@ -17336,6 +17382,7 @@ function getRowDetailRendererFromComponent(RowDetail) {
|
|
|
17336
17382
|
}
|
|
17337
17383
|
|
|
17338
17384
|
// src/components/InfiniteTable/state/getInitialState.ts
|
|
17385
|
+
var EMPTY_OBJECT = {};
|
|
17339
17386
|
function createRenderer2(brain) {
|
|
17340
17387
|
const renderer = new ReactHeadlessTableRenderer(brain);
|
|
17341
17388
|
const onRenderUpdater = buildSubscriptionCallback();
|
|
@@ -17483,6 +17530,7 @@ var forwardProps4 = (_setupState) => {
|
|
|
17483
17530
|
onScrollbarsChange: 1,
|
|
17484
17531
|
autoSizeColumnsKey: 1,
|
|
17485
17532
|
columnDefaultFlex: 1,
|
|
17533
|
+
draggableColumnsRestrictTo: (draggableColumnsRestrictTo) => draggableColumnsRestrictTo != null ? draggableColumnsRestrictTo : false,
|
|
17486
17534
|
columnMenuRealignDelay: (columnMenuRealignDelay) => columnMenuRealignDelay != null ? columnMenuRealignDelay : 50,
|
|
17487
17535
|
scrollStopDelay: (scrollStopDelay) => scrollStopDelay != null ? scrollStopDelay : 250,
|
|
17488
17536
|
viewportReservedWidth: (viewportReservedWidth) => viewportReservedWidth != null ? viewportReservedWidth : 0,
|
|
@@ -17497,7 +17545,8 @@ var forwardProps4 = (_setupState) => {
|
|
|
17497
17545
|
columnMaxWidth: (columnMaxWidth) => columnMaxWidth != null ? columnMaxWidth : 5e3,
|
|
17498
17546
|
columnDefaultWidth: (columnDefaultWidth) => columnDefaultWidth != null ? columnDefaultWidth : 200,
|
|
17499
17547
|
columnCssEllipsis: (columnCssEllipsis) => columnCssEllipsis != null ? columnCssEllipsis : true,
|
|
17500
|
-
draggableColumns:
|
|
17548
|
+
draggableColumns: 1,
|
|
17549
|
+
columnDefaultDraggable: 1,
|
|
17501
17550
|
headerOptions: (headerOptions) => __spreadValues({
|
|
17502
17551
|
alwaysReserveSpaceForSortIcon: true
|
|
17503
17552
|
}, headerOptions),
|
|
@@ -17521,7 +17570,8 @@ var forwardProps4 = (_setupState) => {
|
|
|
17521
17570
|
rowDetailHeight: (rowDetailHeight) => typeof rowDetailHeight === "number" || typeof rowDetailHeight === "function" ? rowDetailHeight : 300,
|
|
17522
17571
|
columnHeaderHeight: (columnHeaderHeight) => typeof columnHeaderHeight === "number" ? columnHeaderHeight : 30,
|
|
17523
17572
|
columns: 1,
|
|
17524
|
-
columnVisibility: (columnVisibility) => columnVisibility != null ? columnVisibility :
|
|
17573
|
+
columnVisibility: (columnVisibility) => columnVisibility != null ? columnVisibility : EMPTY_OBJECT,
|
|
17574
|
+
columnGroupVisibility: (columnGroupVisibility) => columnGroupVisibility != null ? columnGroupVisibility : EMPTY_OBJECT,
|
|
17525
17575
|
// TODO check if columnPinning works when the value for a pinned col is `true` instead of `"start"`
|
|
17526
17576
|
columnSizing: (columnSizing) => columnSizing || {},
|
|
17527
17577
|
columnTypes: (columnTypes) => columnTypes || {},
|
|
@@ -17602,7 +17652,10 @@ var mapPropsToState = (params) => {
|
|
|
17602
17652
|
var _a, _b, _c, _d, _e;
|
|
17603
17653
|
const { props, state, oldState, parentState } = params;
|
|
17604
17654
|
const computedColumnGroups = state.pivotColumnGroups || state.columnGroups;
|
|
17605
|
-
const columnGroupsDepthsMap = state.columnGroups && state.columnGroups != (oldState == null ? void 0 : oldState.columnGroups) || state.pivotColumnGroups && state.pivotColumnGroups != (oldState == null ? void 0 : oldState.pivotColumnGroups) ? computeColumnGroupsDepths(
|
|
17655
|
+
const columnGroupsDepthsMap = state.columnGroups && state.columnGroups != (oldState == null ? void 0 : oldState.columnGroups) || state.columnGroups && state.columnGroupVisibility != (oldState == null ? void 0 : oldState.columnGroupVisibility) || state.pivotColumnGroups && state.pivotColumnGroups != (oldState == null ? void 0 : oldState.pivotColumnGroups) ? computeColumnGroupsDepths(
|
|
17656
|
+
computedColumnGroups,
|
|
17657
|
+
state.columnGroupVisibility
|
|
17658
|
+
) : state.columnGroupsDepthsMap;
|
|
17606
17659
|
const groupBy = parentState == null ? void 0 : parentState.groupBy;
|
|
17607
17660
|
const groupRenderStrategy = getGroupRenderStrategy({
|
|
17608
17661
|
groupRenderStrategy: props.groupRenderStrategy,
|
|
@@ -17657,7 +17710,11 @@ var mapPropsToState = (params) => {
|
|
|
17657
17710
|
keyboardNavigation: (_c = props.keyboardNavigation) != null ? _c : state.activeCellIndex != null ? "cell" : state.activeRowIndex != null ? "row" : "cell",
|
|
17658
17711
|
columnHeaderCssEllipsis: (_e = (_d = props.columnHeaderCssEllipsis) != null ? _d : props.columnCssEllipsis) != null ? _e : true,
|
|
17659
17712
|
columnGroupsDepthsMap,
|
|
17660
|
-
columnGroupsMaxDepth: columnGroupsDepthsMap != state.columnGroupsDepthsMap ?
|
|
17713
|
+
columnGroupsMaxDepth: columnGroupsDepthsMap != state.columnGroupsDepthsMap ? (
|
|
17714
|
+
// was 0, but after implementing columnGroupVisibility
|
|
17715
|
+
// it can be -1, to denote that no column group is visible
|
|
17716
|
+
Math.max(...columnGroupsDepthsMap.values(), -1)
|
|
17717
|
+
) : state.columnGroupsMaxDepth,
|
|
17661
17718
|
computedColumnGroups,
|
|
17662
17719
|
rowHeightCSSVar: typeof props.rowHeight === "string" ? props.rowHeight : "",
|
|
17663
17720
|
rowDetailHeightCSSVar: typeof props.rowDetailHeight === "string" ? props.rowDetailHeight : "",
|
|
@@ -18210,6 +18267,7 @@ var useComputedColumns = ({
|
|
|
18210
18267
|
columnCssEllipsis,
|
|
18211
18268
|
columnHeaderCssEllipsis,
|
|
18212
18269
|
draggableColumns,
|
|
18270
|
+
columnDefaultDraggable,
|
|
18213
18271
|
sortInfo,
|
|
18214
18272
|
multiSort,
|
|
18215
18273
|
filterValue,
|
|
@@ -18271,6 +18329,7 @@ var useComputedColumns = ({
|
|
|
18271
18329
|
pinnedEndMaxWidth,
|
|
18272
18330
|
pinnedStartMaxWidth,
|
|
18273
18331
|
draggableColumns,
|
|
18332
|
+
columnDefaultDraggable,
|
|
18274
18333
|
columnOrder,
|
|
18275
18334
|
columnPinning,
|
|
18276
18335
|
columnDefaultEditable,
|
|
@@ -18298,6 +18357,8 @@ var useComputedColumns = ({
|
|
|
18298
18357
|
columnOrder,
|
|
18299
18358
|
columnVisibility,
|
|
18300
18359
|
columnVisibilityAssumeVisible,
|
|
18360
|
+
columnDefaultDraggable,
|
|
18361
|
+
draggableColumns,
|
|
18301
18362
|
resizableColumns,
|
|
18302
18363
|
pinnedEndMaxWidth,
|
|
18303
18364
|
pinnedStartMaxWidth,
|
|
@@ -18555,6 +18616,7 @@ function useComputed() {
|
|
|
18555
18616
|
columnDefaultWidth: componentState.columnDefaultWidth,
|
|
18556
18617
|
columnDefaultFlex: componentState.columnDefaultFlex,
|
|
18557
18618
|
columnDefaultSortable: componentState.columnDefaultSortable,
|
|
18619
|
+
columnDefaultDraggable: componentState.columnDefaultDraggable,
|
|
18558
18620
|
pinnedStartMaxWidth: componentState.pinnedStartMaxWidth,
|
|
18559
18621
|
pinnedEndMaxWidth: componentState.pinnedEndMaxWidth,
|
|
18560
18622
|
bodySize,
|
|
@@ -18583,7 +18645,11 @@ function useComputed() {
|
|
|
18583
18645
|
const computedPinnedEndOverflow = computedPinnedEndWidth ? computedPinnedEndColumnsWidth > computedPinnedEndWidth : false;
|
|
18584
18646
|
const [multiRowSelector] = useState17(() => {
|
|
18585
18647
|
const multiRowSelector2 = new MultiRowSelector({
|
|
18586
|
-
getIdForIndex: (index) =>
|
|
18648
|
+
getIdForIndex: (index) => {
|
|
18649
|
+
var _a2;
|
|
18650
|
+
const dataItem = getDataSourceState().dataArray[index];
|
|
18651
|
+
return (_a2 = dataItem == null ? void 0 : dataItem.id) != null ? _a2 : -1;
|
|
18652
|
+
}
|
|
18587
18653
|
});
|
|
18588
18654
|
return multiRowSelector2;
|
|
18589
18655
|
});
|
|
@@ -18815,7 +18881,7 @@ var useLicense = (licenseKey = "") => {
|
|
|
18815
18881
|
}
|
|
18816
18882
|
let valid2 = isValidLicense(licenseKey, {
|
|
18817
18883
|
publishedAt: 1624970570587,
|
|
18818
|
-
version: "4.3.
|
|
18884
|
+
version: "4.3.7"
|
|
18819
18885
|
});
|
|
18820
18886
|
if (!licenseKey && !valid2 && isInsidePlayground) {
|
|
18821
18887
|
return true;
|
package/index.js
CHANGED
|
@@ -5686,6 +5686,7 @@ var getComputedColumns = ({
|
|
|
5686
5686
|
viewportReservedWidth,
|
|
5687
5687
|
resizableColumns,
|
|
5688
5688
|
draggableColumns,
|
|
5689
|
+
columnDefaultDraggable,
|
|
5689
5690
|
columnOrder,
|
|
5690
5691
|
columnPinning,
|
|
5691
5692
|
editable,
|
|
@@ -5969,7 +5970,7 @@ var getComputedColumns = ({
|
|
|
5969
5970
|
computedSortedDesc,
|
|
5970
5971
|
computedVisibleIndex,
|
|
5971
5972
|
computedPinned,
|
|
5972
|
-
computedDraggable: (_z = (_y = c.
|
|
5973
|
+
computedDraggable: (_z = (_y = draggableColumns != null ? draggableColumns : c.defaultDraggable) != null ? _y : columnDefaultDraggable) != null ? _z : DEFAULT_DRAGGABLE,
|
|
5973
5974
|
computedFirstInCategory,
|
|
5974
5975
|
computedLastInCategory,
|
|
5975
5976
|
computedFirst: theComputedVisibleIndex === 0,
|
|
@@ -6950,6 +6951,7 @@ function reorderColumnsOnDrag(params) {
|
|
|
6950
6951
|
infiniteDOMNode,
|
|
6951
6952
|
brain,
|
|
6952
6953
|
dragColumnHeaderTargetRect,
|
|
6954
|
+
draggableColumnsRestrictTo,
|
|
6953
6955
|
tableRect,
|
|
6954
6956
|
setProxyPosition,
|
|
6955
6957
|
api: imperativeApi
|
|
@@ -6978,8 +6980,9 @@ function reorderColumnsOnDrag(params) {
|
|
|
6978
6980
|
const scrollLeft2 = brain.getScrollPosition().scrollLeft;
|
|
6979
6981
|
return col.computedOffset >= scrollLeft2 + getCurrentPinnedWidth("start") && col.computedOffset + col.computedWidth < scrollLeft2 + tableRect.width - getCurrentPinnedWidth("end");
|
|
6980
6982
|
}
|
|
6981
|
-
const getBreakPoints = (columns) => {
|
|
6982
|
-
const
|
|
6983
|
+
const getBreakPoints = (columns, options) => {
|
|
6984
|
+
const { restrictToParentGroup, dragColumn: dragColumn2 } = options;
|
|
6985
|
+
let breakpoints = [];
|
|
6983
6986
|
columns.forEach((c) => {
|
|
6984
6987
|
const b = {
|
|
6985
6988
|
columnId: c.id,
|
|
@@ -6993,6 +6996,26 @@ function reorderColumnsOnDrag(params) {
|
|
|
6993
6996
|
breakpoints.push(b);
|
|
6994
6997
|
}
|
|
6995
6998
|
});
|
|
6999
|
+
if (restrictToParentGroup) {
|
|
7000
|
+
let checkAllowedColumnsInDirection2 = function(colIndex, dir2, disallowedTargets2) {
|
|
7001
|
+
const col = columns[colIndex];
|
|
7002
|
+
if (!col) {
|
|
7003
|
+
return;
|
|
7004
|
+
}
|
|
7005
|
+
if (col.columnGroup !== dragColumn2.columnGroup) {
|
|
7006
|
+
disallowedTargets2.add(col.id);
|
|
7007
|
+
}
|
|
7008
|
+
checkAllowedColumnsInDirection2(colIndex + dir2, dir2, disallowedTargets2);
|
|
7009
|
+
};
|
|
7010
|
+
var checkAllowedColumnsInDirection = checkAllowedColumnsInDirection2;
|
|
7011
|
+
const dragColIndex = dragColumn2.computedVisibleIndex;
|
|
7012
|
+
const disallowedTargets = /* @__PURE__ */ new Set();
|
|
7013
|
+
checkAllowedColumnsInDirection2(dragColIndex - 1, -1, disallowedTargets);
|
|
7014
|
+
checkAllowedColumnsInDirection2(dragColIndex + 1, 1, disallowedTargets);
|
|
7015
|
+
breakpoints = breakpoints.filter((b) => {
|
|
7016
|
+
return !disallowedTargets.has(b.columnId);
|
|
7017
|
+
});
|
|
7018
|
+
}
|
|
6996
7019
|
return breakpoints;
|
|
6997
7020
|
};
|
|
6998
7021
|
const initialPinnedStartCount = computedPinnedStartColumns.length;
|
|
@@ -7171,7 +7194,10 @@ function reorderColumnsOnDrag(params) {
|
|
|
7171
7194
|
imperativeApi.scrollLeft = value;
|
|
7172
7195
|
}
|
|
7173
7196
|
});
|
|
7174
|
-
const breakpoints = getBreakPoints(computedVisibleColumns
|
|
7197
|
+
const breakpoints = getBreakPoints(computedVisibleColumns, {
|
|
7198
|
+
dragColumn,
|
|
7199
|
+
restrictToParentGroup: draggableColumnsRestrictTo === "group"
|
|
7200
|
+
});
|
|
7175
7201
|
let currentPos = dir === -1 ? dragColumn.computedOffset + diffX : dragColumn.computedOffset + dragColumn.computedWidth + diffX;
|
|
7176
7202
|
let idx = (0, import_binary_search2.default)(
|
|
7177
7203
|
breakpoints,
|
|
@@ -7330,7 +7356,7 @@ var useColumnPointerEvents = ({
|
|
|
7330
7356
|
if (((_a2 = e.target) == null ? void 0 : _a2.tagName) === "INPUT") {
|
|
7331
7357
|
return;
|
|
7332
7358
|
}
|
|
7333
|
-
const { brain } = getState();
|
|
7359
|
+
const { brain, draggableColumnsRestrictTo } = getState();
|
|
7334
7360
|
const {
|
|
7335
7361
|
computedVisibleColumns,
|
|
7336
7362
|
computedVisibleColumnsMap,
|
|
@@ -7352,6 +7378,7 @@ var useColumnPointerEvents = ({
|
|
|
7352
7378
|
let didDragAtLeastOnce = false;
|
|
7353
7379
|
const dragger = reorderColumnsOnDrag({
|
|
7354
7380
|
brain,
|
|
7381
|
+
draggableColumnsRestrictTo,
|
|
7355
7382
|
columnOffsetAtIndexCSSVar: columnOffsetAtIndex4,
|
|
7356
7383
|
columnWidthAtIndexCSSVar: columnWidthAtIndex3,
|
|
7357
7384
|
computedPinnedEndColumns,
|
|
@@ -9960,6 +9987,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
9960
9987
|
} = props;
|
|
9961
9988
|
const {
|
|
9962
9989
|
computed,
|
|
9990
|
+
getState,
|
|
9963
9991
|
state: { headerBrain, headerOptions, showColumnFilters }
|
|
9964
9992
|
} = useInfiniteTable();
|
|
9965
9993
|
const { computedColumnsMap } = computed;
|
|
@@ -10012,7 +10040,8 @@ function InfiniteTableHeaderFn(props) {
|
|
|
10012
10040
|
computedWidth: colGroupItem.computedWidth,
|
|
10013
10041
|
groupOffset: colGroupItem.groupOffset
|
|
10014
10042
|
});
|
|
10015
|
-
|
|
10043
|
+
const visible = getState().columnGroupVisibility[colGroupItem.id] !== false;
|
|
10044
|
+
return visible ? /* @__PURE__ */ React46.createElement(
|
|
10016
10045
|
InfiniteTableHeaderGroup,
|
|
10017
10046
|
{
|
|
10018
10047
|
bodyBrain,
|
|
@@ -10023,7 +10052,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
10023
10052
|
height,
|
|
10024
10053
|
columnGroup: computedColumnGroup
|
|
10025
10054
|
}
|
|
10026
|
-
);
|
|
10055
|
+
) : null;
|
|
10027
10056
|
}
|
|
10028
10057
|
return /* @__PURE__ */ React46.createElement(
|
|
10029
10058
|
InfiniteTableHeaderCell,
|
|
@@ -15890,6 +15919,15 @@ var InfiniteTableApiImpl = class {
|
|
|
15890
15919
|
this.setColumnOrder = (columnOrder) => {
|
|
15891
15920
|
this.actions.columnOrder = columnOrder;
|
|
15892
15921
|
};
|
|
15922
|
+
this.setVisibilityForColumnGroup = (columnGroupId, visible) => {
|
|
15923
|
+
const columnGroupVisibility = __spreadValues({}, this.getState().columnGroupVisibility);
|
|
15924
|
+
if (visible) {
|
|
15925
|
+
delete columnGroupVisibility[columnGroupId];
|
|
15926
|
+
} else {
|
|
15927
|
+
columnGroupVisibility[columnGroupId] = false;
|
|
15928
|
+
}
|
|
15929
|
+
this.actions.columnGroupVisibility = columnGroupVisibility;
|
|
15930
|
+
};
|
|
15893
15931
|
this.collapseAllGroupRows = () => {
|
|
15894
15932
|
const state = this.getDataSourceState();
|
|
15895
15933
|
const newState = new GroupRowsState(state.groupRowsState);
|
|
@@ -17333,12 +17371,18 @@ var ScrollListener = class {
|
|
|
17333
17371
|
};
|
|
17334
17372
|
|
|
17335
17373
|
// src/components/InfiniteTable/state/computeColumnGroupsDepths.ts
|
|
17336
|
-
function computeColumnGroupsDepths(columnGroups) {
|
|
17374
|
+
function computeColumnGroupsDepths(columnGroups, columnGroupVisibility) {
|
|
17337
17375
|
const map2 = /* @__PURE__ */ new Map();
|
|
17376
|
+
function isVisible(colGroupId) {
|
|
17377
|
+
return columnGroupVisibility[colGroupId] !== false;
|
|
17378
|
+
}
|
|
17338
17379
|
Object.keys(columnGroups).forEach((colGroupId) => {
|
|
17339
17380
|
const colGroup = columnGroups[colGroupId];
|
|
17340
17381
|
let parentGroupId = colGroup.columnGroup;
|
|
17341
17382
|
let depth = 0;
|
|
17383
|
+
if (!isVisible(colGroupId)) {
|
|
17384
|
+
depth = -1;
|
|
17385
|
+
}
|
|
17342
17386
|
while (parentGroupId) {
|
|
17343
17387
|
const parent = columnGroups[parentGroupId];
|
|
17344
17388
|
if (!parent) {
|
|
@@ -17347,7 +17391,9 @@ function computeColumnGroupsDepths(columnGroups) {
|
|
|
17347
17391
|
}
|
|
17348
17392
|
break;
|
|
17349
17393
|
}
|
|
17350
|
-
|
|
17394
|
+
if (isVisible(parentGroupId)) {
|
|
17395
|
+
depth++;
|
|
17396
|
+
}
|
|
17351
17397
|
parentGroupId = parent.columnGroup;
|
|
17352
17398
|
}
|
|
17353
17399
|
map2.set(colGroupId, depth);
|
|
@@ -17364,6 +17410,7 @@ function getRowDetailRendererFromComponent(RowDetail) {
|
|
|
17364
17410
|
}
|
|
17365
17411
|
|
|
17366
17412
|
// src/components/InfiniteTable/state/getInitialState.ts
|
|
17413
|
+
var EMPTY_OBJECT = {};
|
|
17367
17414
|
function createRenderer2(brain) {
|
|
17368
17415
|
const renderer = new ReactHeadlessTableRenderer(brain);
|
|
17369
17416
|
const onRenderUpdater = buildSubscriptionCallback();
|
|
@@ -17511,6 +17558,7 @@ var forwardProps4 = (_setupState) => {
|
|
|
17511
17558
|
onScrollbarsChange: 1,
|
|
17512
17559
|
autoSizeColumnsKey: 1,
|
|
17513
17560
|
columnDefaultFlex: 1,
|
|
17561
|
+
draggableColumnsRestrictTo: (draggableColumnsRestrictTo) => draggableColumnsRestrictTo != null ? draggableColumnsRestrictTo : false,
|
|
17514
17562
|
columnMenuRealignDelay: (columnMenuRealignDelay) => columnMenuRealignDelay != null ? columnMenuRealignDelay : 50,
|
|
17515
17563
|
scrollStopDelay: (scrollStopDelay) => scrollStopDelay != null ? scrollStopDelay : 250,
|
|
17516
17564
|
viewportReservedWidth: (viewportReservedWidth) => viewportReservedWidth != null ? viewportReservedWidth : 0,
|
|
@@ -17525,7 +17573,8 @@ var forwardProps4 = (_setupState) => {
|
|
|
17525
17573
|
columnMaxWidth: (columnMaxWidth) => columnMaxWidth != null ? columnMaxWidth : 5e3,
|
|
17526
17574
|
columnDefaultWidth: (columnDefaultWidth) => columnDefaultWidth != null ? columnDefaultWidth : 200,
|
|
17527
17575
|
columnCssEllipsis: (columnCssEllipsis) => columnCssEllipsis != null ? columnCssEllipsis : true,
|
|
17528
|
-
draggableColumns:
|
|
17576
|
+
draggableColumns: 1,
|
|
17577
|
+
columnDefaultDraggable: 1,
|
|
17529
17578
|
headerOptions: (headerOptions) => __spreadValues({
|
|
17530
17579
|
alwaysReserveSpaceForSortIcon: true
|
|
17531
17580
|
}, headerOptions),
|
|
@@ -17549,7 +17598,8 @@ var forwardProps4 = (_setupState) => {
|
|
|
17549
17598
|
rowDetailHeight: (rowDetailHeight) => typeof rowDetailHeight === "number" || typeof rowDetailHeight === "function" ? rowDetailHeight : 300,
|
|
17550
17599
|
columnHeaderHeight: (columnHeaderHeight) => typeof columnHeaderHeight === "number" ? columnHeaderHeight : 30,
|
|
17551
17600
|
columns: 1,
|
|
17552
|
-
columnVisibility: (columnVisibility) => columnVisibility != null ? columnVisibility :
|
|
17601
|
+
columnVisibility: (columnVisibility) => columnVisibility != null ? columnVisibility : EMPTY_OBJECT,
|
|
17602
|
+
columnGroupVisibility: (columnGroupVisibility) => columnGroupVisibility != null ? columnGroupVisibility : EMPTY_OBJECT,
|
|
17553
17603
|
// TODO check if columnPinning works when the value for a pinned col is `true` instead of `"start"`
|
|
17554
17604
|
columnSizing: (columnSizing) => columnSizing || {},
|
|
17555
17605
|
columnTypes: (columnTypes) => columnTypes || {},
|
|
@@ -17630,7 +17680,10 @@ var mapPropsToState = (params) => {
|
|
|
17630
17680
|
var _a, _b, _c, _d, _e;
|
|
17631
17681
|
const { props, state, oldState, parentState } = params;
|
|
17632
17682
|
const computedColumnGroups = state.pivotColumnGroups || state.columnGroups;
|
|
17633
|
-
const columnGroupsDepthsMap = state.columnGroups && state.columnGroups != (oldState == null ? void 0 : oldState.columnGroups) || state.pivotColumnGroups && state.pivotColumnGroups != (oldState == null ? void 0 : oldState.pivotColumnGroups) ? computeColumnGroupsDepths(
|
|
17683
|
+
const columnGroupsDepthsMap = state.columnGroups && state.columnGroups != (oldState == null ? void 0 : oldState.columnGroups) || state.columnGroups && state.columnGroupVisibility != (oldState == null ? void 0 : oldState.columnGroupVisibility) || state.pivotColumnGroups && state.pivotColumnGroups != (oldState == null ? void 0 : oldState.pivotColumnGroups) ? computeColumnGroupsDepths(
|
|
17684
|
+
computedColumnGroups,
|
|
17685
|
+
state.columnGroupVisibility
|
|
17686
|
+
) : state.columnGroupsDepthsMap;
|
|
17634
17687
|
const groupBy = parentState == null ? void 0 : parentState.groupBy;
|
|
17635
17688
|
const groupRenderStrategy = getGroupRenderStrategy({
|
|
17636
17689
|
groupRenderStrategy: props.groupRenderStrategy,
|
|
@@ -17685,7 +17738,11 @@ var mapPropsToState = (params) => {
|
|
|
17685
17738
|
keyboardNavigation: (_c = props.keyboardNavigation) != null ? _c : state.activeCellIndex != null ? "cell" : state.activeRowIndex != null ? "row" : "cell",
|
|
17686
17739
|
columnHeaderCssEllipsis: (_e = (_d = props.columnHeaderCssEllipsis) != null ? _d : props.columnCssEllipsis) != null ? _e : true,
|
|
17687
17740
|
columnGroupsDepthsMap,
|
|
17688
|
-
columnGroupsMaxDepth: columnGroupsDepthsMap != state.columnGroupsDepthsMap ?
|
|
17741
|
+
columnGroupsMaxDepth: columnGroupsDepthsMap != state.columnGroupsDepthsMap ? (
|
|
17742
|
+
// was 0, but after implementing columnGroupVisibility
|
|
17743
|
+
// it can be -1, to denote that no column group is visible
|
|
17744
|
+
Math.max(...columnGroupsDepthsMap.values(), -1)
|
|
17745
|
+
) : state.columnGroupsMaxDepth,
|
|
17689
17746
|
computedColumnGroups,
|
|
17690
17747
|
rowHeightCSSVar: typeof props.rowHeight === "string" ? props.rowHeight : "",
|
|
17691
17748
|
rowDetailHeightCSSVar: typeof props.rowDetailHeight === "string" ? props.rowDetailHeight : "",
|
|
@@ -18238,6 +18295,7 @@ var useComputedColumns = ({
|
|
|
18238
18295
|
columnCssEllipsis,
|
|
18239
18296
|
columnHeaderCssEllipsis,
|
|
18240
18297
|
draggableColumns,
|
|
18298
|
+
columnDefaultDraggable,
|
|
18241
18299
|
sortInfo,
|
|
18242
18300
|
multiSort,
|
|
18243
18301
|
filterValue,
|
|
@@ -18299,6 +18357,7 @@ var useComputedColumns = ({
|
|
|
18299
18357
|
pinnedEndMaxWidth,
|
|
18300
18358
|
pinnedStartMaxWidth,
|
|
18301
18359
|
draggableColumns,
|
|
18360
|
+
columnDefaultDraggable,
|
|
18302
18361
|
columnOrder,
|
|
18303
18362
|
columnPinning,
|
|
18304
18363
|
columnDefaultEditable,
|
|
@@ -18326,6 +18385,8 @@ var useComputedColumns = ({
|
|
|
18326
18385
|
columnOrder,
|
|
18327
18386
|
columnVisibility,
|
|
18328
18387
|
columnVisibilityAssumeVisible,
|
|
18388
|
+
columnDefaultDraggable,
|
|
18389
|
+
draggableColumns,
|
|
18329
18390
|
resizableColumns,
|
|
18330
18391
|
pinnedEndMaxWidth,
|
|
18331
18392
|
pinnedStartMaxWidth,
|
|
@@ -18583,6 +18644,7 @@ function useComputed() {
|
|
|
18583
18644
|
columnDefaultWidth: componentState.columnDefaultWidth,
|
|
18584
18645
|
columnDefaultFlex: componentState.columnDefaultFlex,
|
|
18585
18646
|
columnDefaultSortable: componentState.columnDefaultSortable,
|
|
18647
|
+
columnDefaultDraggable: componentState.columnDefaultDraggable,
|
|
18586
18648
|
pinnedStartMaxWidth: componentState.pinnedStartMaxWidth,
|
|
18587
18649
|
pinnedEndMaxWidth: componentState.pinnedEndMaxWidth,
|
|
18588
18650
|
bodySize,
|
|
@@ -18611,7 +18673,11 @@ function useComputed() {
|
|
|
18611
18673
|
const computedPinnedEndOverflow = computedPinnedEndWidth ? computedPinnedEndColumnsWidth > computedPinnedEndWidth : false;
|
|
18612
18674
|
const [multiRowSelector] = (0, import_react49.useState)(() => {
|
|
18613
18675
|
const multiRowSelector2 = new MultiRowSelector({
|
|
18614
|
-
getIdForIndex: (index) =>
|
|
18676
|
+
getIdForIndex: (index) => {
|
|
18677
|
+
var _a2;
|
|
18678
|
+
const dataItem = getDataSourceState().dataArray[index];
|
|
18679
|
+
return (_a2 = dataItem == null ? void 0 : dataItem.id) != null ? _a2 : -1;
|
|
18680
|
+
}
|
|
18615
18681
|
});
|
|
18616
18682
|
return multiRowSelector2;
|
|
18617
18683
|
});
|
|
@@ -18843,7 +18909,7 @@ var useLicense = (licenseKey = "") => {
|
|
|
18843
18909
|
}
|
|
18844
18910
|
let valid2 = isValidLicense(licenseKey, {
|
|
18845
18911
|
publishedAt: 1624970570587,
|
|
18846
|
-
version: "4.3.
|
|
18912
|
+
version: "4.3.7"
|
|
18847
18913
|
});
|
|
18848
18914
|
if (!licenseKey && !valid2 && isInsidePlayground) {
|
|
18849
18915
|
return true;
|
package/index.mjs
CHANGED
|
@@ -5649,6 +5649,7 @@ var getComputedColumns = ({
|
|
|
5649
5649
|
viewportReservedWidth,
|
|
5650
5650
|
resizableColumns,
|
|
5651
5651
|
draggableColumns,
|
|
5652
|
+
columnDefaultDraggable,
|
|
5652
5653
|
columnOrder,
|
|
5653
5654
|
columnPinning,
|
|
5654
5655
|
editable,
|
|
@@ -5932,7 +5933,7 @@ var getComputedColumns = ({
|
|
|
5932
5933
|
computedSortedDesc,
|
|
5933
5934
|
computedVisibleIndex,
|
|
5934
5935
|
computedPinned,
|
|
5935
|
-
computedDraggable: (_z = (_y = c.
|
|
5936
|
+
computedDraggable: (_z = (_y = draggableColumns != null ? draggableColumns : c.defaultDraggable) != null ? _y : columnDefaultDraggable) != null ? _z : DEFAULT_DRAGGABLE,
|
|
5936
5937
|
computedFirstInCategory,
|
|
5937
5938
|
computedLastInCategory,
|
|
5938
5939
|
computedFirst: theComputedVisibleIndex === 0,
|
|
@@ -6913,6 +6914,7 @@ function reorderColumnsOnDrag(params) {
|
|
|
6913
6914
|
infiniteDOMNode,
|
|
6914
6915
|
brain,
|
|
6915
6916
|
dragColumnHeaderTargetRect,
|
|
6917
|
+
draggableColumnsRestrictTo,
|
|
6916
6918
|
tableRect,
|
|
6917
6919
|
setProxyPosition,
|
|
6918
6920
|
api: imperativeApi
|
|
@@ -6941,8 +6943,9 @@ function reorderColumnsOnDrag(params) {
|
|
|
6941
6943
|
const scrollLeft2 = brain.getScrollPosition().scrollLeft;
|
|
6942
6944
|
return col.computedOffset >= scrollLeft2 + getCurrentPinnedWidth("start") && col.computedOffset + col.computedWidth < scrollLeft2 + tableRect.width - getCurrentPinnedWidth("end");
|
|
6943
6945
|
}
|
|
6944
|
-
const getBreakPoints = (columns) => {
|
|
6945
|
-
const
|
|
6946
|
+
const getBreakPoints = (columns, options) => {
|
|
6947
|
+
const { restrictToParentGroup, dragColumn: dragColumn2 } = options;
|
|
6948
|
+
let breakpoints = [];
|
|
6946
6949
|
columns.forEach((c) => {
|
|
6947
6950
|
const b = {
|
|
6948
6951
|
columnId: c.id,
|
|
@@ -6956,6 +6959,26 @@ function reorderColumnsOnDrag(params) {
|
|
|
6956
6959
|
breakpoints.push(b);
|
|
6957
6960
|
}
|
|
6958
6961
|
});
|
|
6962
|
+
if (restrictToParentGroup) {
|
|
6963
|
+
let checkAllowedColumnsInDirection2 = function(colIndex, dir2, disallowedTargets2) {
|
|
6964
|
+
const col = columns[colIndex];
|
|
6965
|
+
if (!col) {
|
|
6966
|
+
return;
|
|
6967
|
+
}
|
|
6968
|
+
if (col.columnGroup !== dragColumn2.columnGroup) {
|
|
6969
|
+
disallowedTargets2.add(col.id);
|
|
6970
|
+
}
|
|
6971
|
+
checkAllowedColumnsInDirection2(colIndex + dir2, dir2, disallowedTargets2);
|
|
6972
|
+
};
|
|
6973
|
+
var checkAllowedColumnsInDirection = checkAllowedColumnsInDirection2;
|
|
6974
|
+
const dragColIndex = dragColumn2.computedVisibleIndex;
|
|
6975
|
+
const disallowedTargets = /* @__PURE__ */ new Set();
|
|
6976
|
+
checkAllowedColumnsInDirection2(dragColIndex - 1, -1, disallowedTargets);
|
|
6977
|
+
checkAllowedColumnsInDirection2(dragColIndex + 1, 1, disallowedTargets);
|
|
6978
|
+
breakpoints = breakpoints.filter((b) => {
|
|
6979
|
+
return !disallowedTargets.has(b.columnId);
|
|
6980
|
+
});
|
|
6981
|
+
}
|
|
6959
6982
|
return breakpoints;
|
|
6960
6983
|
};
|
|
6961
6984
|
const initialPinnedStartCount = computedPinnedStartColumns.length;
|
|
@@ -7134,7 +7157,10 @@ function reorderColumnsOnDrag(params) {
|
|
|
7134
7157
|
imperativeApi.scrollLeft = value;
|
|
7135
7158
|
}
|
|
7136
7159
|
});
|
|
7137
|
-
const breakpoints = getBreakPoints(computedVisibleColumns
|
|
7160
|
+
const breakpoints = getBreakPoints(computedVisibleColumns, {
|
|
7161
|
+
dragColumn,
|
|
7162
|
+
restrictToParentGroup: draggableColumnsRestrictTo === "group"
|
|
7163
|
+
});
|
|
7138
7164
|
let currentPos = dir === -1 ? dragColumn.computedOffset + diffX : dragColumn.computedOffset + dragColumn.computedWidth + diffX;
|
|
7139
7165
|
let idx = (0, import_binary_search2.default)(
|
|
7140
7166
|
breakpoints,
|
|
@@ -7293,7 +7319,7 @@ var useColumnPointerEvents = ({
|
|
|
7293
7319
|
if (((_a2 = e.target) == null ? void 0 : _a2.tagName) === "INPUT") {
|
|
7294
7320
|
return;
|
|
7295
7321
|
}
|
|
7296
|
-
const { brain } = getState();
|
|
7322
|
+
const { brain, draggableColumnsRestrictTo } = getState();
|
|
7297
7323
|
const {
|
|
7298
7324
|
computedVisibleColumns,
|
|
7299
7325
|
computedVisibleColumnsMap,
|
|
@@ -7315,6 +7341,7 @@ var useColumnPointerEvents = ({
|
|
|
7315
7341
|
let didDragAtLeastOnce = false;
|
|
7316
7342
|
const dragger = reorderColumnsOnDrag({
|
|
7317
7343
|
brain,
|
|
7344
|
+
draggableColumnsRestrictTo,
|
|
7318
7345
|
columnOffsetAtIndexCSSVar: columnOffsetAtIndex4,
|
|
7319
7346
|
columnWidthAtIndexCSSVar: columnWidthAtIndex3,
|
|
7320
7347
|
computedPinnedEndColumns,
|
|
@@ -9923,6 +9950,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
9923
9950
|
} = props;
|
|
9924
9951
|
const {
|
|
9925
9952
|
computed,
|
|
9953
|
+
getState,
|
|
9926
9954
|
state: { headerBrain, headerOptions, showColumnFilters }
|
|
9927
9955
|
} = useInfiniteTable();
|
|
9928
9956
|
const { computedColumnsMap } = computed;
|
|
@@ -9975,7 +10003,8 @@ function InfiniteTableHeaderFn(props) {
|
|
|
9975
10003
|
computedWidth: colGroupItem.computedWidth,
|
|
9976
10004
|
groupOffset: colGroupItem.groupOffset
|
|
9977
10005
|
});
|
|
9978
|
-
|
|
10006
|
+
const visible = getState().columnGroupVisibility[colGroupItem.id] !== false;
|
|
10007
|
+
return visible ? /* @__PURE__ */ React46.createElement(
|
|
9979
10008
|
InfiniteTableHeaderGroup,
|
|
9980
10009
|
{
|
|
9981
10010
|
bodyBrain,
|
|
@@ -9986,7 +10015,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
9986
10015
|
height,
|
|
9987
10016
|
columnGroup: computedColumnGroup
|
|
9988
10017
|
}
|
|
9989
|
-
);
|
|
10018
|
+
) : null;
|
|
9990
10019
|
}
|
|
9991
10020
|
return /* @__PURE__ */ React46.createElement(
|
|
9992
10021
|
InfiniteTableHeaderCell,
|
|
@@ -15858,6 +15887,15 @@ var InfiniteTableApiImpl = class {
|
|
|
15858
15887
|
this.setColumnOrder = (columnOrder) => {
|
|
15859
15888
|
this.actions.columnOrder = columnOrder;
|
|
15860
15889
|
};
|
|
15890
|
+
this.setVisibilityForColumnGroup = (columnGroupId, visible) => {
|
|
15891
|
+
const columnGroupVisibility = __spreadValues({}, this.getState().columnGroupVisibility);
|
|
15892
|
+
if (visible) {
|
|
15893
|
+
delete columnGroupVisibility[columnGroupId];
|
|
15894
|
+
} else {
|
|
15895
|
+
columnGroupVisibility[columnGroupId] = false;
|
|
15896
|
+
}
|
|
15897
|
+
this.actions.columnGroupVisibility = columnGroupVisibility;
|
|
15898
|
+
};
|
|
15861
15899
|
this.collapseAllGroupRows = () => {
|
|
15862
15900
|
const state = this.getDataSourceState();
|
|
15863
15901
|
const newState = new GroupRowsState(state.groupRowsState);
|
|
@@ -17305,12 +17343,18 @@ var ScrollListener = class {
|
|
|
17305
17343
|
};
|
|
17306
17344
|
|
|
17307
17345
|
// src/components/InfiniteTable/state/computeColumnGroupsDepths.ts
|
|
17308
|
-
function computeColumnGroupsDepths(columnGroups) {
|
|
17346
|
+
function computeColumnGroupsDepths(columnGroups, columnGroupVisibility) {
|
|
17309
17347
|
const map2 = /* @__PURE__ */ new Map();
|
|
17348
|
+
function isVisible(colGroupId) {
|
|
17349
|
+
return columnGroupVisibility[colGroupId] !== false;
|
|
17350
|
+
}
|
|
17310
17351
|
Object.keys(columnGroups).forEach((colGroupId) => {
|
|
17311
17352
|
const colGroup = columnGroups[colGroupId];
|
|
17312
17353
|
let parentGroupId = colGroup.columnGroup;
|
|
17313
17354
|
let depth = 0;
|
|
17355
|
+
if (!isVisible(colGroupId)) {
|
|
17356
|
+
depth = -1;
|
|
17357
|
+
}
|
|
17314
17358
|
while (parentGroupId) {
|
|
17315
17359
|
const parent = columnGroups[parentGroupId];
|
|
17316
17360
|
if (!parent) {
|
|
@@ -17319,7 +17363,9 @@ function computeColumnGroupsDepths(columnGroups) {
|
|
|
17319
17363
|
}
|
|
17320
17364
|
break;
|
|
17321
17365
|
}
|
|
17322
|
-
|
|
17366
|
+
if (isVisible(parentGroupId)) {
|
|
17367
|
+
depth++;
|
|
17368
|
+
}
|
|
17323
17369
|
parentGroupId = parent.columnGroup;
|
|
17324
17370
|
}
|
|
17325
17371
|
map2.set(colGroupId, depth);
|
|
@@ -17336,6 +17382,7 @@ function getRowDetailRendererFromComponent(RowDetail) {
|
|
|
17336
17382
|
}
|
|
17337
17383
|
|
|
17338
17384
|
// src/components/InfiniteTable/state/getInitialState.ts
|
|
17385
|
+
var EMPTY_OBJECT = {};
|
|
17339
17386
|
function createRenderer2(brain) {
|
|
17340
17387
|
const renderer = new ReactHeadlessTableRenderer(brain);
|
|
17341
17388
|
const onRenderUpdater = buildSubscriptionCallback();
|
|
@@ -17483,6 +17530,7 @@ var forwardProps4 = (_setupState) => {
|
|
|
17483
17530
|
onScrollbarsChange: 1,
|
|
17484
17531
|
autoSizeColumnsKey: 1,
|
|
17485
17532
|
columnDefaultFlex: 1,
|
|
17533
|
+
draggableColumnsRestrictTo: (draggableColumnsRestrictTo) => draggableColumnsRestrictTo != null ? draggableColumnsRestrictTo : false,
|
|
17486
17534
|
columnMenuRealignDelay: (columnMenuRealignDelay) => columnMenuRealignDelay != null ? columnMenuRealignDelay : 50,
|
|
17487
17535
|
scrollStopDelay: (scrollStopDelay) => scrollStopDelay != null ? scrollStopDelay : 250,
|
|
17488
17536
|
viewportReservedWidth: (viewportReservedWidth) => viewportReservedWidth != null ? viewportReservedWidth : 0,
|
|
@@ -17497,7 +17545,8 @@ var forwardProps4 = (_setupState) => {
|
|
|
17497
17545
|
columnMaxWidth: (columnMaxWidth) => columnMaxWidth != null ? columnMaxWidth : 5e3,
|
|
17498
17546
|
columnDefaultWidth: (columnDefaultWidth) => columnDefaultWidth != null ? columnDefaultWidth : 200,
|
|
17499
17547
|
columnCssEllipsis: (columnCssEllipsis) => columnCssEllipsis != null ? columnCssEllipsis : true,
|
|
17500
|
-
draggableColumns:
|
|
17548
|
+
draggableColumns: 1,
|
|
17549
|
+
columnDefaultDraggable: 1,
|
|
17501
17550
|
headerOptions: (headerOptions) => __spreadValues({
|
|
17502
17551
|
alwaysReserveSpaceForSortIcon: true
|
|
17503
17552
|
}, headerOptions),
|
|
@@ -17521,7 +17570,8 @@ var forwardProps4 = (_setupState) => {
|
|
|
17521
17570
|
rowDetailHeight: (rowDetailHeight) => typeof rowDetailHeight === "number" || typeof rowDetailHeight === "function" ? rowDetailHeight : 300,
|
|
17522
17571
|
columnHeaderHeight: (columnHeaderHeight) => typeof columnHeaderHeight === "number" ? columnHeaderHeight : 30,
|
|
17523
17572
|
columns: 1,
|
|
17524
|
-
columnVisibility: (columnVisibility) => columnVisibility != null ? columnVisibility :
|
|
17573
|
+
columnVisibility: (columnVisibility) => columnVisibility != null ? columnVisibility : EMPTY_OBJECT,
|
|
17574
|
+
columnGroupVisibility: (columnGroupVisibility) => columnGroupVisibility != null ? columnGroupVisibility : EMPTY_OBJECT,
|
|
17525
17575
|
// TODO check if columnPinning works when the value for a pinned col is `true` instead of `"start"`
|
|
17526
17576
|
columnSizing: (columnSizing) => columnSizing || {},
|
|
17527
17577
|
columnTypes: (columnTypes) => columnTypes || {},
|
|
@@ -17602,7 +17652,10 @@ var mapPropsToState = (params) => {
|
|
|
17602
17652
|
var _a, _b, _c, _d, _e;
|
|
17603
17653
|
const { props, state, oldState, parentState } = params;
|
|
17604
17654
|
const computedColumnGroups = state.pivotColumnGroups || state.columnGroups;
|
|
17605
|
-
const columnGroupsDepthsMap = state.columnGroups && state.columnGroups != (oldState == null ? void 0 : oldState.columnGroups) || state.pivotColumnGroups && state.pivotColumnGroups != (oldState == null ? void 0 : oldState.pivotColumnGroups) ? computeColumnGroupsDepths(
|
|
17655
|
+
const columnGroupsDepthsMap = state.columnGroups && state.columnGroups != (oldState == null ? void 0 : oldState.columnGroups) || state.columnGroups && state.columnGroupVisibility != (oldState == null ? void 0 : oldState.columnGroupVisibility) || state.pivotColumnGroups && state.pivotColumnGroups != (oldState == null ? void 0 : oldState.pivotColumnGroups) ? computeColumnGroupsDepths(
|
|
17656
|
+
computedColumnGroups,
|
|
17657
|
+
state.columnGroupVisibility
|
|
17658
|
+
) : state.columnGroupsDepthsMap;
|
|
17606
17659
|
const groupBy = parentState == null ? void 0 : parentState.groupBy;
|
|
17607
17660
|
const groupRenderStrategy = getGroupRenderStrategy({
|
|
17608
17661
|
groupRenderStrategy: props.groupRenderStrategy,
|
|
@@ -17657,7 +17710,11 @@ var mapPropsToState = (params) => {
|
|
|
17657
17710
|
keyboardNavigation: (_c = props.keyboardNavigation) != null ? _c : state.activeCellIndex != null ? "cell" : state.activeRowIndex != null ? "row" : "cell",
|
|
17658
17711
|
columnHeaderCssEllipsis: (_e = (_d = props.columnHeaderCssEllipsis) != null ? _d : props.columnCssEllipsis) != null ? _e : true,
|
|
17659
17712
|
columnGroupsDepthsMap,
|
|
17660
|
-
columnGroupsMaxDepth: columnGroupsDepthsMap != state.columnGroupsDepthsMap ?
|
|
17713
|
+
columnGroupsMaxDepth: columnGroupsDepthsMap != state.columnGroupsDepthsMap ? (
|
|
17714
|
+
// was 0, but after implementing columnGroupVisibility
|
|
17715
|
+
// it can be -1, to denote that no column group is visible
|
|
17716
|
+
Math.max(...columnGroupsDepthsMap.values(), -1)
|
|
17717
|
+
) : state.columnGroupsMaxDepth,
|
|
17661
17718
|
computedColumnGroups,
|
|
17662
17719
|
rowHeightCSSVar: typeof props.rowHeight === "string" ? props.rowHeight : "",
|
|
17663
17720
|
rowDetailHeightCSSVar: typeof props.rowDetailHeight === "string" ? props.rowDetailHeight : "",
|
|
@@ -18210,6 +18267,7 @@ var useComputedColumns = ({
|
|
|
18210
18267
|
columnCssEllipsis,
|
|
18211
18268
|
columnHeaderCssEllipsis,
|
|
18212
18269
|
draggableColumns,
|
|
18270
|
+
columnDefaultDraggable,
|
|
18213
18271
|
sortInfo,
|
|
18214
18272
|
multiSort,
|
|
18215
18273
|
filterValue,
|
|
@@ -18271,6 +18329,7 @@ var useComputedColumns = ({
|
|
|
18271
18329
|
pinnedEndMaxWidth,
|
|
18272
18330
|
pinnedStartMaxWidth,
|
|
18273
18331
|
draggableColumns,
|
|
18332
|
+
columnDefaultDraggable,
|
|
18274
18333
|
columnOrder,
|
|
18275
18334
|
columnPinning,
|
|
18276
18335
|
columnDefaultEditable,
|
|
@@ -18298,6 +18357,8 @@ var useComputedColumns = ({
|
|
|
18298
18357
|
columnOrder,
|
|
18299
18358
|
columnVisibility,
|
|
18300
18359
|
columnVisibilityAssumeVisible,
|
|
18360
|
+
columnDefaultDraggable,
|
|
18361
|
+
draggableColumns,
|
|
18301
18362
|
resizableColumns,
|
|
18302
18363
|
pinnedEndMaxWidth,
|
|
18303
18364
|
pinnedStartMaxWidth,
|
|
@@ -18555,6 +18616,7 @@ function useComputed() {
|
|
|
18555
18616
|
columnDefaultWidth: componentState.columnDefaultWidth,
|
|
18556
18617
|
columnDefaultFlex: componentState.columnDefaultFlex,
|
|
18557
18618
|
columnDefaultSortable: componentState.columnDefaultSortable,
|
|
18619
|
+
columnDefaultDraggable: componentState.columnDefaultDraggable,
|
|
18558
18620
|
pinnedStartMaxWidth: componentState.pinnedStartMaxWidth,
|
|
18559
18621
|
pinnedEndMaxWidth: componentState.pinnedEndMaxWidth,
|
|
18560
18622
|
bodySize,
|
|
@@ -18583,7 +18645,11 @@ function useComputed() {
|
|
|
18583
18645
|
const computedPinnedEndOverflow = computedPinnedEndWidth ? computedPinnedEndColumnsWidth > computedPinnedEndWidth : false;
|
|
18584
18646
|
const [multiRowSelector] = useState17(() => {
|
|
18585
18647
|
const multiRowSelector2 = new MultiRowSelector({
|
|
18586
|
-
getIdForIndex: (index) =>
|
|
18648
|
+
getIdForIndex: (index) => {
|
|
18649
|
+
var _a2;
|
|
18650
|
+
const dataItem = getDataSourceState().dataArray[index];
|
|
18651
|
+
return (_a2 = dataItem == null ? void 0 : dataItem.id) != null ? _a2 : -1;
|
|
18652
|
+
}
|
|
18587
18653
|
});
|
|
18588
18654
|
return multiRowSelector2;
|
|
18589
18655
|
});
|
|
@@ -18815,7 +18881,7 @@ var useLicense = (licenseKey = "") => {
|
|
|
18815
18881
|
}
|
|
18816
18882
|
let valid2 = isValidLicense(licenseKey, {
|
|
18817
18883
|
publishedAt: 1624970570587,
|
|
18818
|
-
version: "4.3.
|
|
18884
|
+
version: "4.3.7"
|
|
18819
18885
|
});
|
|
18820
18886
|
if (!licenseKey && !valid2 && isInsidePlayground) {
|
|
18821
18887
|
return true;
|
package/package.json
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"bugs": {
|
|
26
26
|
"url": "https://github.com/infinite-table/infinite-react/issues"
|
|
27
27
|
},
|
|
28
|
-
"version": "4.3.
|
|
28
|
+
"version": "4.3.7",
|
|
29
29
|
"main": "index.js",
|
|
30
30
|
"module": "index.mjs",
|
|
31
31
|
"typings": "index.d.ts",
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
},
|
|
35
35
|
"license": "Commercial & Open Source",
|
|
36
36
|
"//": "will be updated at build time",
|
|
37
|
-
"publishedAt":
|
|
37
|
+
"publishedAt": 1723637108931
|
|
38
38
|
}
|