@infinite-table/infinite-react 3.1.0 → 3.1.2
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 +24 -9
- package/index.dev.js +188 -103
- package/index.dev.mjs +188 -103
- package/index.js +2 -2
- package/index.mjs +2 -2
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -301,6 +301,7 @@ declare type InfiniteTableColumnRenderParamBase<DATA_TYPE, COL_TYPE = InfiniteTa
|
|
|
301
301
|
toggleGroupRow: InfiniteTableToggleGroupRowFn;
|
|
302
302
|
toggleCurrentGroupRowSelection: () => void;
|
|
303
303
|
toggleCurrentRowSelection: () => void;
|
|
304
|
+
rowHasSelectedCells: boolean;
|
|
304
305
|
cellSelected: boolean;
|
|
305
306
|
selectCurrentRow: () => void;
|
|
306
307
|
selectRow: InfiniteTableSelectRowFn;
|
|
@@ -345,16 +346,17 @@ declare type InfiniteTableColumnVerticalAlignValues = 'start' | 'center' | 'end'
|
|
|
345
346
|
declare type InfiniteTableColumnHeader<T> = Renderable | InfiniteTableColumnHeaderRenderFunction<T>;
|
|
346
347
|
declare type InfiniteTableDataTypeNames = 'string' | 'number' | 'date' | string;
|
|
347
348
|
declare type InfiniteTableColumnTypeNames = 'string' | 'number' | 'date' | string;
|
|
348
|
-
declare type
|
|
349
|
+
declare type InfiniteTableColumnStylingFnParams<T> = {
|
|
349
350
|
value: Renderable;
|
|
350
351
|
column: InfiniteTableComputedColumn<T>;
|
|
351
352
|
inEdit: boolean;
|
|
353
|
+
rowHasSelectedCells: boolean;
|
|
352
354
|
editError: InfiniteTableColumnRenderParamBase<T>['editError'];
|
|
353
355
|
} & InfiniteTableRowInfoDataDiscriminator<T>;
|
|
354
|
-
declare type InfiniteTableColumnStyleFn<T> = (params:
|
|
356
|
+
declare type InfiniteTableColumnStyleFn<T> = (params: InfiniteTableColumnStylingFnParams<T>) => undefined | React__default.CSSProperties;
|
|
355
357
|
declare type InfiniteTableColumnHeaderClassNameFn<T> = (params: InfiniteTableColumnHeaderParam<T>) => undefined | string;
|
|
356
358
|
declare type InfiniteTableColumnHeaderStyleFn<T> = (params: InfiniteTableColumnHeaderParam<T>) => undefined | React__default.CSSProperties;
|
|
357
|
-
declare type InfiniteTableColumnClassNameFn<T> = (params:
|
|
359
|
+
declare type InfiniteTableColumnClassNameFn<T> = (params: InfiniteTableColumnStylingFnParams<T>) => undefined | string;
|
|
358
360
|
declare type InfiniteTableColumnStyle<T> = CSSProperties | InfiniteTableColumnStyleFn<T>;
|
|
359
361
|
declare type InfiniteTableColumnAlign<T> = InfiniteTableColumnAlignValues | InfiniteTableColumnAlignFn<T>;
|
|
360
362
|
declare type InfiniteTableColumnVerticalAlign<T> = InfiniteTableColumnVerticalAlignValues | InfiniteTableColumnVerticalAlignFn<T>;
|
|
@@ -362,7 +364,7 @@ declare type InfiniteTableColumnAlignFn<T> = (params: InfiniteTableColumnAlignFn
|
|
|
362
364
|
declare type InfiniteTableColumnAlignFnParams<T> = XOR<{
|
|
363
365
|
isHeader: true;
|
|
364
366
|
column: InfiniteTableComputedColumn<T>;
|
|
365
|
-
},
|
|
367
|
+
}, InfiniteTableColumnStylingFnParams<T> & {
|
|
366
368
|
isHeader: false;
|
|
367
369
|
}>;
|
|
368
370
|
declare type InfiniteTableColumnVerticalAlignFn<T> = (params: InfiniteTableColumnAlignFnParams<T>) => InfiniteTableColumnVerticalAlignValues;
|
|
@@ -819,7 +821,16 @@ declare class CellSelectionState {
|
|
|
819
821
|
private setCellInDeselection;
|
|
820
822
|
private setCellInSelection;
|
|
821
823
|
update(stateObject: CellSelectionStateObject): void;
|
|
824
|
+
/**
|
|
825
|
+
* Returns whether there is at least one selected cell in the row
|
|
826
|
+
*
|
|
827
|
+
* @param rowId the row id
|
|
828
|
+
* @param columnIds the columns currently available in the grid
|
|
829
|
+
* @returns boolean
|
|
830
|
+
*/
|
|
831
|
+
isCellSelectionInRow(rowId: any, columnIds: string[]): boolean;
|
|
822
832
|
isCellSelected(rowId: any, colId: string): boolean;
|
|
833
|
+
private isCellSelected_Internal;
|
|
823
834
|
getState(): CellSelectionStateObject;
|
|
824
835
|
}
|
|
825
836
|
|
|
@@ -2027,6 +2038,7 @@ declare type InfiniteTable_RowInfoBase<_T> = {
|
|
|
2027
2038
|
indexInAll: number;
|
|
2028
2039
|
rowSelected: boolean | null;
|
|
2029
2040
|
isCellSelected: (columnId: string) => boolean;
|
|
2041
|
+
hasSelectedCells: (columnIds: string[]) => boolean;
|
|
2030
2042
|
};
|
|
2031
2043
|
declare type InfiniteTable_HasGrouping_RowInfoNormal<T> = {
|
|
2032
2044
|
dataSourceHasGrouping: true;
|
|
@@ -2407,7 +2419,7 @@ declare type MenuProps = {
|
|
|
2407
2419
|
onHideIntent?: (state: MenuState) => void;
|
|
2408
2420
|
bubbleActionsFromSubmenus?: boolean;
|
|
2409
2421
|
addSubmenuColumnIfNeeded?: boolean;
|
|
2410
|
-
onAction?: (
|
|
2422
|
+
onAction?: (param: MenuItemActionContext) => void;
|
|
2411
2423
|
parentMenuId?: string;
|
|
2412
2424
|
parentMenuItemKey?: string;
|
|
2413
2425
|
autoFocus?: boolean;
|
|
@@ -2461,11 +2473,14 @@ declare type InfiniteTablePropColumnOrder = InfiniteTablePropColumnOrderNormaliz
|
|
|
2461
2473
|
declare type InfiniteTablePropColumnVisibility = Record<string, false>;
|
|
2462
2474
|
declare type InfiniteTableColumnPinnedValues = false | 'start' | 'end';
|
|
2463
2475
|
declare type InfiniteTablePropColumnPinning = Record<string, true | 'start' | 'end'>;
|
|
2464
|
-
declare type
|
|
2476
|
+
declare type InfiniteTableRowStylingFnParams<T> = {
|
|
2465
2477
|
rowIndex: number;
|
|
2478
|
+
rowHasSelectedCells: boolean;
|
|
2479
|
+
visibleColumnIds: string[];
|
|
2480
|
+
allColumnIds: string[];
|
|
2466
2481
|
} & InfiniteTableRowInfoDataDiscriminator<T>;
|
|
2467
|
-
declare type InfiniteTableRowStyleFn<T> = (params:
|
|
2468
|
-
declare type InfiniteTableRowClassNameFn<T> = (params:
|
|
2482
|
+
declare type InfiniteTableRowStyleFn<T> = (params: InfiniteTableRowStylingFnParams<T>) => undefined | React$1.CSSProperties;
|
|
2483
|
+
declare type InfiniteTableRowClassNameFn<T> = (params: InfiniteTableRowStylingFnParams<T>) => string | undefined;
|
|
2469
2484
|
declare type InfiniteTableCellClassNameFn<T> = InfiniteTableColumn<T>['className'];
|
|
2470
2485
|
declare type InfiniteTablePropRowStyle<T> = React$1.CSSProperties | InfiniteTableRowStyleFn<T>;
|
|
2471
2486
|
declare type InfiniteTablePropCellStyle<T> = InfiniteTableColumn<T>['style'];
|
|
@@ -2883,7 +2898,7 @@ interface InfiniteTableProps<T> {
|
|
|
2883
2898
|
api: InfiniteTableApi<T>;
|
|
2884
2899
|
dataSourceApi: DataSourceApi<T>;
|
|
2885
2900
|
}) => void;
|
|
2886
|
-
rowProps?: React$1.HTMLProps<HTMLDivElement> | ((rowArgs:
|
|
2901
|
+
rowProps?: React$1.HTMLProps<HTMLDivElement> | ((rowArgs: InfiniteTableRowStylingFnParams<T>) => React$1.HTMLProps<HTMLDivElement>);
|
|
2887
2902
|
licenseKey?: string;
|
|
2888
2903
|
scrollTopKey?: string | number;
|
|
2889
2904
|
autoSizeColumnsKey?: InfiniteTablePropAutoSizeColumnsKey;
|
package/index.dev.js
CHANGED
|
@@ -7520,7 +7520,7 @@ function getColumnValueToEdit(options) {
|
|
|
7520
7520
|
}
|
|
7521
7521
|
function getColumnRenderingParams(options) {
|
|
7522
7522
|
var _a, _b;
|
|
7523
|
-
const { column, context, rowInfo } = options;
|
|
7523
|
+
const { column, context, rowInfo, visibleColumnsIds } = options;
|
|
7524
7524
|
const groupByColumnReference = getGroupByColumnReference({
|
|
7525
7525
|
rowInfo,
|
|
7526
7526
|
column,
|
|
@@ -7540,10 +7540,16 @@ function getColumnRenderingParams(options) {
|
|
|
7540
7540
|
});
|
|
7541
7541
|
const stylingParam = __spreadProps(__spreadValues({
|
|
7542
7542
|
column: options.column,
|
|
7543
|
-
inEdit
|
|
7543
|
+
inEdit,
|
|
7544
|
+
rowHasSelectedCells: false
|
|
7544
7545
|
}, formattedValueContext), {
|
|
7545
7546
|
editError: editingCell && editingCell.primaryKey === rowInfo.id && editingCell.columnId === column.id && !editingCell.active && editingCell.accepted instanceof Error ? editingCell.accepted : void 0
|
|
7546
7547
|
});
|
|
7548
|
+
Object.defineProperty(stylingParam, "rowHasSelectedCells", {
|
|
7549
|
+
get() {
|
|
7550
|
+
return rowInfo.hasSelectedCells(visibleColumnsIds);
|
|
7551
|
+
}
|
|
7552
|
+
});
|
|
7547
7553
|
const align2 = typeof column.align === "function" ? column.align(__spreadValues({ isHeader: false }, stylingParam)) : (_a = column.align) != null ? _a : "start";
|
|
7548
7554
|
const verticalAlign = typeof column.verticalAlign === "function" ? column.verticalAlign(__spreadValues({ isHeader: false }, stylingParam)) : (_b = column.verticalAlign) != null ? _b : "center";
|
|
7549
7555
|
return {
|
|
@@ -7573,6 +7579,7 @@ function getColumnRenderParam(options) {
|
|
|
7573
7579
|
rowInfo,
|
|
7574
7580
|
align: align2,
|
|
7575
7581
|
verticalAlign,
|
|
7582
|
+
visibleColumnsIds,
|
|
7576
7583
|
columnsMap,
|
|
7577
7584
|
fieldsToColumn,
|
|
7578
7585
|
formattedValueContext
|
|
@@ -7597,7 +7604,8 @@ function getColumnRenderParam(options) {
|
|
|
7597
7604
|
fieldsToColumn,
|
|
7598
7605
|
align: align2,
|
|
7599
7606
|
verticalAlign,
|
|
7600
|
-
cellSelected
|
|
7607
|
+
cellSelected,
|
|
7608
|
+
rowHasSelectedCells: false
|
|
7601
7609
|
}, formattedValueContext), {
|
|
7602
7610
|
editError: editingCell && editingCell.primaryKey === rowInfo.id && editingCell.columnId === column.id && !editingCell.active && editingCell.accepted instanceof Error ? editingCell.accepted : void 0,
|
|
7603
7611
|
groupByColumn,
|
|
@@ -7662,6 +7670,11 @@ function getColumnRenderParam(options) {
|
|
|
7662
7670
|
rootGroupBy: dataSourceState.groupBy,
|
|
7663
7671
|
pivotBy: dataSourceState.pivotBy
|
|
7664
7672
|
});
|
|
7673
|
+
Object.defineProperty(renderParam, "rowHasSelectedCells", {
|
|
7674
|
+
get() {
|
|
7675
|
+
return rowInfo.hasSelectedCells(visibleColumnsIds);
|
|
7676
|
+
}
|
|
7677
|
+
});
|
|
7665
7678
|
return renderParam;
|
|
7666
7679
|
}
|
|
7667
7680
|
function getRawValueForCell(column, rowInfo) {
|
|
@@ -7937,10 +7950,12 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
7937
7950
|
api: imperativeApi,
|
|
7938
7951
|
dataSourceApi
|
|
7939
7952
|
};
|
|
7953
|
+
const visibleColumnsIds = computed.computedVisibleColumns.map((x) => x.id);
|
|
7940
7954
|
const colRenderingParams = getColumnRenderingParams({
|
|
7941
7955
|
column,
|
|
7942
7956
|
rowInfo,
|
|
7943
7957
|
columnsMap,
|
|
7958
|
+
visibleColumnsIds,
|
|
7944
7959
|
fieldsToColumn,
|
|
7945
7960
|
context: renderingContext
|
|
7946
7961
|
});
|
|
@@ -8007,105 +8022,119 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
8007
8022
|
);
|
|
8008
8023
|
const EditorComponent = (_b = (_a = column.components) == null ? void 0 : _a.Editor) != null ? _b : InfiniteTableColumnEditor;
|
|
8009
8024
|
const editor = inEdit ? /* @__PURE__ */ React36.createElement(CellEditorContextComponent, { contextValue: renderParam }, /* @__PURE__ */ React36.createElement(EditorComponent, null)) : null;
|
|
8010
|
-
const renderChildren = (0, import_react25.useCallback)(
|
|
8011
|
-
|
|
8012
|
-
|
|
8013
|
-
|
|
8014
|
-
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8018
|
-
|
|
8019
|
-
|
|
8020
|
-
{
|
|
8021
|
-
render: renderFunctions.renderGroupIcon,
|
|
8022
|
-
renderParam: __spreadProps(__spreadValues({}, renderParam), {
|
|
8023
|
-
renderBag: __spreadValues({}, renderParam.renderBag)
|
|
8024
|
-
})
|
|
8025
|
-
}
|
|
8026
|
-
);
|
|
8027
|
-
}
|
|
8028
|
-
if (renderFunctions.renderSelectionCheckBox && selectionMode == "multi-row") {
|
|
8029
|
-
renderParam.renderBag.selectionCheckBox = /* @__PURE__ */ React36.createElement(
|
|
8030
|
-
RenderCellHookComponent,
|
|
8031
|
-
{
|
|
8032
|
-
render: defaultRenderSelectionCheckBox,
|
|
8033
|
-
renderParam
|
|
8034
|
-
}
|
|
8035
|
-
);
|
|
8036
|
-
if (renderFunctions.renderSelectionCheckBox !== true) {
|
|
8037
|
-
renderParam.renderBag.selectionCheckBox = /* @__PURE__ */ React36.createElement(
|
|
8025
|
+
const renderChildren = (0, import_react25.useCallback)(
|
|
8026
|
+
once(() => {
|
|
8027
|
+
if (hidden) {
|
|
8028
|
+
return null;
|
|
8029
|
+
}
|
|
8030
|
+
if (inEdit) {
|
|
8031
|
+
return null;
|
|
8032
|
+
}
|
|
8033
|
+
if (renderFunctions.renderGroupIcon) {
|
|
8034
|
+
renderParam.renderBag.groupIcon = /* @__PURE__ */ React36.createElement(
|
|
8038
8035
|
RenderCellHookComponent,
|
|
8039
8036
|
{
|
|
8040
|
-
render: renderFunctions.
|
|
8037
|
+
render: renderFunctions.renderGroupIcon,
|
|
8041
8038
|
renderParam: __spreadProps(__spreadValues({}, renderParam), {
|
|
8042
8039
|
renderBag: __spreadValues({}, renderParam.renderBag)
|
|
8043
8040
|
})
|
|
8044
8041
|
}
|
|
8045
8042
|
);
|
|
8046
8043
|
}
|
|
8047
|
-
|
|
8048
|
-
|
|
8049
|
-
|
|
8050
|
-
|
|
8051
|
-
|
|
8052
|
-
|
|
8053
|
-
|
|
8054
|
-
|
|
8055
|
-
|
|
8056
|
-
|
|
8057
|
-
|
|
8058
|
-
|
|
8059
|
-
|
|
8060
|
-
|
|
8061
|
-
|
|
8062
|
-
|
|
8063
|
-
|
|
8064
|
-
|
|
8065
|
-
renderBag: __spreadValues({}, renderParam.renderBag)
|
|
8066
|
-
})
|
|
8067
|
-
}
|
|
8068
|
-
);
|
|
8069
|
-
}
|
|
8070
|
-
if (!rowInfo.isGroupRow && renderFunctions.renderLeafValue) {
|
|
8071
|
-
renderParam.renderBag.value = /* @__PURE__ */ React36.createElement(
|
|
8072
|
-
RenderCellHookComponent,
|
|
8073
|
-
{
|
|
8074
|
-
render: renderFunctions.renderLeafValue,
|
|
8075
|
-
renderParam: __spreadProps(__spreadValues({}, renderParam), {
|
|
8076
|
-
renderBag: __spreadValues({}, renderParam.renderBag)
|
|
8077
|
-
})
|
|
8078
|
-
}
|
|
8079
|
-
);
|
|
8080
|
-
}
|
|
8081
|
-
renderParamRef.current = renderParam;
|
|
8082
|
-
let valueToRender = renderParam.renderBag.value;
|
|
8083
|
-
if (valueToRender instanceof Date) {
|
|
8084
|
-
valueToRender = valueToRender.toLocaleDateString();
|
|
8085
|
-
}
|
|
8086
|
-
const all = /* @__PURE__ */ React36.createElement(React36.Fragment, null, align2 !== "end" ? renderParam.renderBag.groupIcon : null, align2 !== "end" ? renderParam.renderBag.selectionCheckBox : null, valueToRender, align2 === "end" ? renderParam.renderBag.selectionCheckBox : null, align2 === "end" ? renderParam.renderBag.groupIcon : null);
|
|
8087
|
-
if (column.render) {
|
|
8088
|
-
return /* @__PURE__ */ React36.createElement(
|
|
8089
|
-
RenderCellHookComponent,
|
|
8090
|
-
{
|
|
8091
|
-
render: column.render,
|
|
8092
|
-
renderParam: __spreadProps(__spreadValues({}, renderParam), {
|
|
8093
|
-
renderBag: __spreadProps(__spreadValues({}, renderParam.renderBag), { all })
|
|
8094
|
-
})
|
|
8044
|
+
if (renderFunctions.renderSelectionCheckBox && selectionMode == "multi-row") {
|
|
8045
|
+
renderParam.renderBag.selectionCheckBox = /* @__PURE__ */ React36.createElement(
|
|
8046
|
+
RenderCellHookComponent,
|
|
8047
|
+
{
|
|
8048
|
+
render: defaultRenderSelectionCheckBox,
|
|
8049
|
+
renderParam
|
|
8050
|
+
}
|
|
8051
|
+
);
|
|
8052
|
+
if (renderFunctions.renderSelectionCheckBox !== true) {
|
|
8053
|
+
renderParam.renderBag.selectionCheckBox = /* @__PURE__ */ React36.createElement(
|
|
8054
|
+
RenderCellHookComponent,
|
|
8055
|
+
{
|
|
8056
|
+
render: renderFunctions.renderSelectionCheckBox,
|
|
8057
|
+
renderParam: __spreadProps(__spreadValues({}, renderParam), {
|
|
8058
|
+
renderBag: __spreadValues({}, renderParam.renderBag)
|
|
8059
|
+
})
|
|
8060
|
+
}
|
|
8061
|
+
);
|
|
8095
8062
|
}
|
|
8096
|
-
|
|
8097
|
-
|
|
8098
|
-
|
|
8099
|
-
|
|
8100
|
-
|
|
8101
|
-
|
|
8102
|
-
|
|
8103
|
-
|
|
8104
|
-
|
|
8105
|
-
|
|
8106
|
-
|
|
8063
|
+
}
|
|
8064
|
+
if (renderFunctions.renderValue) {
|
|
8065
|
+
renderParam.renderBag.value = /* @__PURE__ */ React36.createElement(
|
|
8066
|
+
RenderCellHookComponent,
|
|
8067
|
+
{
|
|
8068
|
+
render: renderFunctions.renderValue,
|
|
8069
|
+
renderParam: __spreadProps(__spreadValues({}, renderParam), {
|
|
8070
|
+
renderBag: __spreadValues({}, renderParam.renderBag)
|
|
8071
|
+
})
|
|
8072
|
+
}
|
|
8073
|
+
);
|
|
8074
|
+
}
|
|
8075
|
+
if (rowInfo.isGroupRow && renderFunctions.renderGroupValue) {
|
|
8076
|
+
renderParam.renderBag.value = /* @__PURE__ */ React36.createElement(
|
|
8077
|
+
RenderCellHookComponent,
|
|
8078
|
+
{
|
|
8079
|
+
render: renderFunctions.renderGroupValue,
|
|
8080
|
+
renderParam: __spreadProps(__spreadValues({}, renderParam), {
|
|
8081
|
+
renderBag: __spreadValues({}, renderParam.renderBag)
|
|
8082
|
+
})
|
|
8083
|
+
}
|
|
8084
|
+
);
|
|
8085
|
+
}
|
|
8086
|
+
if (!rowInfo.isGroupRow && renderFunctions.renderLeafValue) {
|
|
8087
|
+
renderParam.renderBag.value = /* @__PURE__ */ React36.createElement(
|
|
8088
|
+
RenderCellHookComponent,
|
|
8089
|
+
{
|
|
8090
|
+
render: renderFunctions.renderLeafValue,
|
|
8091
|
+
renderParam: __spreadProps(__spreadValues({}, renderParam), {
|
|
8092
|
+
renderBag: __spreadValues({}, renderParam.renderBag)
|
|
8093
|
+
})
|
|
8094
|
+
}
|
|
8095
|
+
);
|
|
8096
|
+
}
|
|
8097
|
+
renderParamRef.current = renderParam;
|
|
8098
|
+
let valueToRender = renderParam.renderBag.value;
|
|
8099
|
+
if (valueToRender instanceof Date) {
|
|
8100
|
+
valueToRender = valueToRender.toLocaleDateString();
|
|
8101
|
+
}
|
|
8102
|
+
const all = /* @__PURE__ */ React36.createElement(React36.Fragment, null, align2 !== "end" ? renderParam.renderBag.groupIcon : null, align2 !== "end" ? renderParam.renderBag.selectionCheckBox : null, valueToRender, align2 === "end" ? renderParam.renderBag.selectionCheckBox : null, align2 === "end" ? renderParam.renderBag.groupIcon : null);
|
|
8103
|
+
if (column.render) {
|
|
8104
|
+
return /* @__PURE__ */ React36.createElement(
|
|
8105
|
+
RenderCellHookComponent,
|
|
8106
|
+
{
|
|
8107
|
+
render: column.render,
|
|
8108
|
+
renderParam: __spreadProps(__spreadValues({}, renderParam), {
|
|
8109
|
+
renderBag: __spreadProps(__spreadValues({}, renderParam.renderBag), { all })
|
|
8110
|
+
})
|
|
8111
|
+
}
|
|
8112
|
+
);
|
|
8113
|
+
}
|
|
8114
|
+
return all;
|
|
8115
|
+
}),
|
|
8116
|
+
[
|
|
8117
|
+
column,
|
|
8118
|
+
hidden,
|
|
8119
|
+
inEdit,
|
|
8120
|
+
...objectValuesExcept(renderParam, {
|
|
8121
|
+
renderBag: true
|
|
8122
|
+
})
|
|
8123
|
+
]
|
|
8124
|
+
);
|
|
8125
|
+
const visibleColumnIds = computed.computedVisibleColumns.map((x) => x.id);
|
|
8126
|
+
const allColumnIds = computed.computedColumnOrder;
|
|
8107
8127
|
const rowPropsAndStyleArgs = __spreadProps(__spreadValues({}, formattedValueContext), {
|
|
8108
|
-
|
|
8128
|
+
visibleColumnIds,
|
|
8129
|
+
allColumnIds,
|
|
8130
|
+
rowIndex,
|
|
8131
|
+
// we put it as false by default
|
|
8132
|
+
rowHasSelectedCells: false
|
|
8133
|
+
});
|
|
8134
|
+
Object.defineProperty(rowPropsAndStyleArgs, "rowHasSelectedCells", {
|
|
8135
|
+
get() {
|
|
8136
|
+
return rowInfo.hasSelectedCells(visibleColumnIds);
|
|
8137
|
+
}
|
|
8109
8138
|
});
|
|
8110
8139
|
const rowComputedClassName = typeof rowClassName === "function" ? rowClassName(rowPropsAndStyleArgs) : rowClassName;
|
|
8111
8140
|
let colClassName = void 0;
|
|
@@ -10311,6 +10340,7 @@ function getEnhancedGroupData(options, deepMapValue) {
|
|
|
10311
10340
|
collapsed: false,
|
|
10312
10341
|
dataSourceHasGrouping: true,
|
|
10313
10342
|
isCellSelected: returnFalse,
|
|
10343
|
+
hasSelectedCells: returnFalse,
|
|
10314
10344
|
selfLoaded,
|
|
10315
10345
|
error: options.error,
|
|
10316
10346
|
parents,
|
|
@@ -10447,6 +10477,7 @@ function enhancedFlatten(param) {
|
|
|
10447
10477
|
id: itemId,
|
|
10448
10478
|
data: item,
|
|
10449
10479
|
isCellSelected: returnFalse,
|
|
10480
|
+
hasSelectedCells: returnFalse,
|
|
10450
10481
|
dataSourceHasGrouping: true,
|
|
10451
10482
|
isGroupRow: false,
|
|
10452
10483
|
selfLoaded: !!item,
|
|
@@ -11741,6 +11772,7 @@ function getRowSelectionApi(param) {
|
|
|
11741
11772
|
}
|
|
11742
11773
|
|
|
11743
11774
|
// src/components/DataSource/CellSelectionState.ts
|
|
11775
|
+
var debug4 = dbg("CellSelectionState");
|
|
11744
11776
|
var WILDCARD = "*";
|
|
11745
11777
|
var CellSelectionState = class {
|
|
11746
11778
|
constructor(clone) {
|
|
@@ -11783,7 +11815,7 @@ var CellSelectionState = class {
|
|
|
11783
11815
|
setCellSelected(rowId, colId, selected) {
|
|
11784
11816
|
const wildcardRow = rowId === this.wildcard;
|
|
11785
11817
|
const wildcardColumn = colId === this.wildcard;
|
|
11786
|
-
const isSelected = this.
|
|
11818
|
+
const isSelected = this.isCellSelected_Internal(rowId, colId);
|
|
11787
11819
|
if (isSelected === selected) {
|
|
11788
11820
|
return;
|
|
11789
11821
|
}
|
|
@@ -11961,7 +11993,54 @@ var CellSelectionState = class {
|
|
|
11961
11993
|
}
|
|
11962
11994
|
this.defaultSelection = stateObject.defaultSelection;
|
|
11963
11995
|
}
|
|
11996
|
+
/**
|
|
11997
|
+
* Returns whether there is at least one selected cell in the row
|
|
11998
|
+
*
|
|
11999
|
+
* @param rowId the row id
|
|
12000
|
+
* @param columnIds the columns currently available in the grid
|
|
12001
|
+
* @returns boolean
|
|
12002
|
+
*/
|
|
12003
|
+
isCellSelectionInRow(rowId, columnIds) {
|
|
12004
|
+
if (this.defaultSelection) {
|
|
12005
|
+
const cols2 = this.deselectedRowsToColumns.get(rowId);
|
|
12006
|
+
if (cols2) {
|
|
12007
|
+
if (cols2.has(this.wildcard)) {
|
|
12008
|
+
const explicitlySelectedCols = this.selectedRowsToColumns.get(rowId);
|
|
12009
|
+
return explicitlySelectedCols && explicitlySelectedCols.size > 0 ? columnIds.some((colId) => explicitlySelectedCols.has(colId)) : false;
|
|
12010
|
+
}
|
|
12011
|
+
return columnIds.some((colId) => !cols2.has(colId));
|
|
12012
|
+
}
|
|
12013
|
+
return true;
|
|
12014
|
+
}
|
|
12015
|
+
const cols = this.selectedRowsToColumns.get(rowId);
|
|
12016
|
+
if (cols) {
|
|
12017
|
+
if (cols.has(this.wildcard)) {
|
|
12018
|
+
const explicitlyDeselectedCols = this.deselectedRowsToColumns.get(rowId);
|
|
12019
|
+
if (explicitlyDeselectedCols && explicitlyDeselectedCols.size > 0) {
|
|
12020
|
+
const allDeselected = columnIds.every(
|
|
12021
|
+
(colId) => explicitlyDeselectedCols.has(colId)
|
|
12022
|
+
);
|
|
12023
|
+
return !allDeselected;
|
|
12024
|
+
}
|
|
12025
|
+
return true;
|
|
12026
|
+
}
|
|
12027
|
+
return columnIds ? columnIds.some((colId) => cols.has(colId)) : false;
|
|
12028
|
+
}
|
|
12029
|
+
return false;
|
|
12030
|
+
}
|
|
11964
12031
|
isCellSelected(rowId, colId) {
|
|
12032
|
+
if (rowId === this.wildcard || colId === this.wildcard) {
|
|
12033
|
+
console.error(
|
|
12034
|
+
`CellSelectionState.isCellSelected should not be called with wildcard`
|
|
12035
|
+
);
|
|
12036
|
+
debug4(
|
|
12037
|
+
`CellSelectionState.isCellSelected should not be called with wildcard`
|
|
12038
|
+
);
|
|
12039
|
+
return false;
|
|
12040
|
+
}
|
|
12041
|
+
return this.isCellSelected_Internal(rowId, colId);
|
|
12042
|
+
}
|
|
12043
|
+
isCellSelected_Internal(rowId, colId) {
|
|
11965
12044
|
var _a, _b;
|
|
11966
12045
|
const cacheKey = [rowId, colId];
|
|
11967
12046
|
const { cache } = this;
|
|
@@ -12609,7 +12688,8 @@ function toRowInfo(data, id, index, isRowSelected, cellSelectionState) {
|
|
|
12609
12688
|
isGroupRow: false,
|
|
12610
12689
|
selfLoaded: true,
|
|
12611
12690
|
rowSelected: false,
|
|
12612
|
-
isCellSelected: returnFalse2
|
|
12691
|
+
isCellSelected: returnFalse2,
|
|
12692
|
+
hasSelectedCells: returnFalse2
|
|
12613
12693
|
};
|
|
12614
12694
|
if (isRowSelected) {
|
|
12615
12695
|
rowInfo.rowSelected = isRowSelected(rowInfo);
|
|
@@ -12618,6 +12698,9 @@ function toRowInfo(data, id, index, isRowSelected, cellSelectionState) {
|
|
|
12618
12698
|
rowInfo.isCellSelected = (colId) => {
|
|
12619
12699
|
return cellSelectionState.isCellSelected(rowInfo.id, colId);
|
|
12620
12700
|
};
|
|
12701
|
+
rowInfo.hasSelectedCells = (columnIds) => {
|
|
12702
|
+
return cellSelectionState.isCellSelectionInRow(rowInfo.id, columnIds);
|
|
12703
|
+
};
|
|
12621
12704
|
}
|
|
12622
12705
|
return rowInfo;
|
|
12623
12706
|
}
|
|
@@ -12748,6 +12831,7 @@ function concludeReducer(params) {
|
|
|
12748
12831
|
const shouldGroup = groupBy.length > 0 || !!pivotBy;
|
|
12749
12832
|
const selectionDepsChanged = haveDepsChanged(previousState, state, [
|
|
12750
12833
|
"rowSelection",
|
|
12834
|
+
"cellSelection",
|
|
12751
12835
|
"isRowSelected",
|
|
12752
12836
|
"originalLazyGroupDataChangeDetect"
|
|
12753
12837
|
]);
|
|
@@ -15879,13 +15963,13 @@ function useColumnRowspan(computedVisibleColumns) {
|
|
|
15879
15963
|
|
|
15880
15964
|
// src/components/InfiniteTable/hooks/useColumnSizeFn.ts
|
|
15881
15965
|
var import_react42 = require("react");
|
|
15882
|
-
var
|
|
15966
|
+
var debug5 = dbg("useColumnSizeFn");
|
|
15883
15967
|
function useColumnSizeFn(columns) {
|
|
15884
15968
|
const columnSize = (0, import_react42.useCallback)(
|
|
15885
15969
|
(index) => {
|
|
15886
15970
|
const column = columns[index];
|
|
15887
15971
|
if (false) {
|
|
15888
|
-
|
|
15972
|
+
debug5("cannot find column at index", index, columns);
|
|
15889
15973
|
}
|
|
15890
15974
|
return column ? column.computedWidth : 0;
|
|
15891
15975
|
},
|
|
@@ -17260,7 +17344,7 @@ var useLicense = (licenseKey = "") => {
|
|
|
17260
17344
|
const valid = (0, import_react50.useMemo)(() => {
|
|
17261
17345
|
let valid2 = isValidLicense(licenseKey, {
|
|
17262
17346
|
publishedAt: 1624970570587,
|
|
17263
|
-
version: "3.1.
|
|
17347
|
+
version: "3.1.2"
|
|
17264
17348
|
});
|
|
17265
17349
|
if (!licenseKey && !valid2 && isInsidePlayground) {
|
|
17266
17350
|
return true;
|
|
@@ -19327,15 +19411,16 @@ function MenuComponent(props) {
|
|
|
19327
19411
|
if (item.originalMenuItem.onClick) {
|
|
19328
19412
|
item.originalMenuItem.onClick(event);
|
|
19329
19413
|
}
|
|
19414
|
+
const onActionParam = {
|
|
19415
|
+
key: item.key,
|
|
19416
|
+
item: item.originalMenuItem,
|
|
19417
|
+
hideMenu: hideAll
|
|
19418
|
+
};
|
|
19330
19419
|
if (item.originalMenuItem.onAction) {
|
|
19331
|
-
item.originalMenuItem.onAction(
|
|
19332
|
-
key: item.key,
|
|
19333
|
-
item: item.originalMenuItem,
|
|
19334
|
-
hideMenu: hideAll
|
|
19335
|
-
});
|
|
19420
|
+
item.originalMenuItem.onAction(onActionParam);
|
|
19336
19421
|
}
|
|
19337
19422
|
if (onAction) {
|
|
19338
|
-
onAction(
|
|
19423
|
+
onAction(onActionParam);
|
|
19339
19424
|
}
|
|
19340
19425
|
if (item.originalMenuItem.hideMenuOnAction) {
|
|
19341
19426
|
hideAll();
|