@infinite-table/infinite-react 0.4.0 β†’ 0.4.1

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/README.md CHANGED
@@ -40,7 +40,7 @@ Infinite Table is a React DataGrid component for displaying virtualized tabular
40
40
  * [🏒 pivoting](https://infinite-table.com/docs/latest/learn/grouping-and-pivoting/pivoting) - both server-side and client-side
41
41
  * [πŸ§ͺ aggregations](https://infinite-table.com/docs/latest/learn/grouping-and-pivoting/grouping-rows#aggregations)
42
42
  * [πŸŒͺ️ live pagination](https://infinite-table.com/docs/latest/learn/working-with-data/live-pagination)
43
- * [🌴lazy loading](https://infinite-table.com/docs/latest/learn/working-with-data/lazy-loading)
43
+ * [🌴 lazy loading](https://infinite-table.com/docs/latest/learn/working-with-data/lazy-loading)
44
44
  * [🧭 keyboard navigation for cells and rows](https://infinite-table.com/docs/latest/learn/keyboard-navigation/navigating-cells)
45
45
  * [↔️ fixed and flexible columns](https://infinite-table.com/docs/latest/learn/columns/fixed-and-flexible-size)
46
46
  * [🧩 column grouping](https://infinite-table.com/docs/latest/learn/column-groups)
package/index.d.ts CHANGED
@@ -1690,6 +1690,7 @@ declare type InfiniteTableComputedColumnGroup = InfiniteTableColumnGroup & {
1690
1690
  declare type InfiniteTableGroupColumnGetterOptions<T> = {
1691
1691
  groupIndexForColumn?: number;
1692
1692
  groupByForColumn?: DataSourceGroupBy<T>;
1693
+ selectionMode: DataSourcePropSelectionMode;
1693
1694
  groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1694
1695
  groupCount: number;
1695
1696
  groupBy: DataSourceGroupBy<T>[];
package/index.esm.js CHANGED
@@ -8653,7 +8653,7 @@ function mapPropsToState(params) {
8653
8653
  selectionMode = "single-row";
8654
8654
  }
8655
8655
  }
8656
- selectionMode = selectionMode != null ? selectionMode : "multi-row";
8656
+ selectionMode = selectionMode != null ? selectionMode : false;
8657
8657
  }
8658
8658
  }
8659
8659
  let rowSelectionState = null;
@@ -9342,20 +9342,6 @@ function getImperativeApi(getComputed, getState, getDataSourceState, componentAc
9342
9342
  rowSelectionState.deselectRow(id);
9343
9343
  }
9344
9344
  });
9345
- }
9346
- const primaryKey = `${groupKeys}`;
9347
- const index = getDataSourceState().indexer.getIndexOf(primaryKey);
9348
- if (index != null) {
9349
- const rowInfo = getDataSourceState().dataArray[index];
9350
- rowInfo.deepRowInfoArray.forEach((rowInfo2) => {
9351
- if (!rowInfo2.isGroupRow) {
9352
- if (selected) {
9353
- rowSelectionState.selectRow(rowInfo2.id);
9354
- } else {
9355
- rowSelectionState.deselectRow(rowInfo2.id);
9356
- }
9357
- }
9358
- });
9359
9345
  dataSourceActions.rowSelection = rowSelectionState;
9360
9346
  return true;
9361
9347
  }
@@ -10280,8 +10266,11 @@ function getGroupColumnRenderGroupIcon({
10280
10266
  };
10281
10267
  }
10282
10268
  function getColumnForGroupBy(options, toggleGroupRow, groupColumnFromProps) {
10283
- var _a;
10284
10269
  const { groupByForColumn, groupIndexForColumn, groupRenderStrategy } = options;
10270
+ let userDefinedGroupColumn = typeof groupColumnFromProps === "function" ? groupColumnFromProps(options, toggleGroupRow) : __spreadValues({}, groupColumnFromProps);
10271
+ if (groupByForColumn.column) {
10272
+ userDefinedGroupColumn = __spreadValues(__spreadValues({}, userDefinedGroupColumn), groupByForColumn.column);
10273
+ }
10285
10274
  let generatedGroupColumn = __spreadProps(__spreadValues({
10286
10275
  header: `Group by ${groupByForColumn.field}`,
10287
10276
  groupByField: groupByForColumn.field,
@@ -10291,9 +10280,9 @@ function getColumnForGroupBy(options, toggleGroupRow, groupColumnFromProps) {
10291
10280
  groupIndexForColumn,
10292
10281
  groupRenderStrategy
10293
10282
  })
10294
- }, groupByForColumn.column), {
10283
+ }, userDefinedGroupColumn), {
10295
10284
  renderGroupIcon: getGroupColumnRenderGroupIcon({
10296
- initialRenderGroupIcon: (_a = groupByForColumn.column) == null ? void 0 : _a.renderGroupIcon,
10285
+ initialRenderGroupIcon: userDefinedGroupColumn == null ? void 0 : userDefinedGroupColumn.renderGroupIcon,
10297
10286
  groupIndexForColumn,
10298
10287
  toggleGroupRow,
10299
10288
  groupRenderStrategy
@@ -10314,7 +10303,7 @@ function getSingleGroupColumn(options, toggleGroupRow, groupColumnFromProps) {
10314
10303
  header: `Group`,
10315
10304
  groupByField: options.groupBy.map((g) => g.field),
10316
10305
  sortable: false,
10317
- renderSelectionCheckBox: true,
10306
+ renderSelectionCheckBox: options.selectionMode === "multi-row",
10318
10307
  style: styleForGroupColumn,
10319
10308
  render: getGroupColumnRender({
10320
10309
  groupIndexForColumn: 0,
@@ -10511,7 +10500,7 @@ function useColumnsWhenInlineGroupRenderStrategy(groupByMap) {
10511
10500
  }
10512
10501
  function useColumnsWhenGrouping() {
10513
10502
  const {
10514
- componentState: { groupBy, pivotBy }
10503
+ componentState: { groupBy, pivotBy, selectionMode }
10515
10504
  } = useDataSourceContextValue();
10516
10505
  const {
10517
10506
  componentActions,
@@ -10538,7 +10527,8 @@ function useColumnsWhenGrouping() {
10538
10527
  groupBy,
10539
10528
  pivotBy,
10540
10529
  pivotColumns,
10541
- toggleGroupRow
10530
+ toggleGroupRow,
10531
+ selectionMode
10542
10532
  });
10543
10533
  componentActions.columnsWhenGrouping = columnsWhenGrouping;
10544
10534
  };
@@ -10552,6 +10542,7 @@ function useColumnsWhenGrouping() {
10552
10542
  columns,
10553
10543
  groupBy,
10554
10544
  pivotBy,
10545
+ selectionMode,
10555
10546
  groupColumn,
10556
10547
  groupRenderStrategy,
10557
10548
  pivotColumns,
@@ -10695,6 +10686,7 @@ function getColumnsWhenGrouping(params) {
10695
10686
  pivotColumns,
10696
10687
  groupBy,
10697
10688
  pivotBy,
10689
+ selectionMode,
10698
10690
  groupColumn,
10699
10691
  pivotTotalColumnPosition,
10700
10692
  pivotGrandTotalColumnPosition,
@@ -10715,7 +10707,8 @@ function getColumnsWhenGrouping(params) {
10715
10707
  pivotBy,
10716
10708
  groupIndexForColumn,
10717
10709
  groupCount: arr.length,
10718
- groupRenderStrategy
10710
+ groupRenderStrategy,
10711
+ selectionMode
10719
10712
  }, toggleGroupRow, groupColumn);
10720
10713
  computedColumns.set(generatedGroupColumn.id || `group-by-${groupByForColumn.field}`, generatedGroupColumn);
10721
10714
  });
@@ -10724,7 +10717,8 @@ function getColumnsWhenGrouping(params) {
10724
10717
  groupCount: groupBy.length,
10725
10718
  groupBy,
10726
10719
  pivotBy,
10727
- groupRenderStrategy
10720
+ groupRenderStrategy,
10721
+ selectionMode
10728
10722
  }, toggleGroupRow, groupColumn);
10729
10723
  computedColumns.set(singleGroupColumn.id || "group-by", singleGroupColumn);
10730
10724
  }
@@ -11572,7 +11566,7 @@ var useLicense = (licenseKey = "") => {
11572
11566
  const valid = useMemo11(() => {
11573
11567
  let valid2 = isValidLicense(licenseKey, {
11574
11568
  publishedAt: 1624970570587,
11575
- version: "0.4.0"
11569
+ version: "0.4.1"
11576
11570
  });
11577
11571
  if (!licenseKey && !valid2 && isInsidePlayground) {
11578
11572
  return true;
package/index.js CHANGED
@@ -8568,7 +8568,7 @@ function mapPropsToState(params) {
8568
8568
  selectionMode = "single-row";
8569
8569
  }
8570
8570
  }
8571
- selectionMode = selectionMode != null ? selectionMode : "multi-row";
8571
+ selectionMode = selectionMode != null ? selectionMode : false;
8572
8572
  }
8573
8573
  }
8574
8574
  let rowSelectionState = null;
@@ -9257,20 +9257,6 @@ function getImperativeApi(getComputed, getState, getDataSourceState, componentAc
9257
9257
  rowSelectionState.deselectRow(id);
9258
9258
  }
9259
9259
  });
9260
- }
9261
- const primaryKey = `${groupKeys}`;
9262
- const index = getDataSourceState().indexer.getIndexOf(primaryKey);
9263
- if (index != null) {
9264
- const rowInfo = getDataSourceState().dataArray[index];
9265
- rowInfo.deepRowInfoArray.forEach((rowInfo2) => {
9266
- if (!rowInfo2.isGroupRow) {
9267
- if (selected) {
9268
- rowSelectionState.selectRow(rowInfo2.id);
9269
- } else {
9270
- rowSelectionState.deselectRow(rowInfo2.id);
9271
- }
9272
- }
9273
- });
9274
9260
  dataSourceActions.rowSelection = rowSelectionState;
9275
9261
  return true;
9276
9262
  }
@@ -10182,8 +10168,11 @@ function getGroupColumnRenderGroupIcon({
10182
10168
  };
10183
10169
  }
10184
10170
  function getColumnForGroupBy(options, toggleGroupRow, groupColumnFromProps) {
10185
- var _a;
10186
10171
  const { groupByForColumn, groupIndexForColumn, groupRenderStrategy } = options;
10172
+ let userDefinedGroupColumn = typeof groupColumnFromProps === "function" ? groupColumnFromProps(options, toggleGroupRow) : __spreadValues({}, groupColumnFromProps);
10173
+ if (groupByForColumn.column) {
10174
+ userDefinedGroupColumn = __spreadValues(__spreadValues({}, userDefinedGroupColumn), groupByForColumn.column);
10175
+ }
10187
10176
  let generatedGroupColumn = __spreadProps(__spreadValues({
10188
10177
  header: `Group by ${groupByForColumn.field}`,
10189
10178
  groupByField: groupByForColumn.field,
@@ -10193,9 +10182,9 @@ function getColumnForGroupBy(options, toggleGroupRow, groupColumnFromProps) {
10193
10182
  groupIndexForColumn,
10194
10183
  groupRenderStrategy
10195
10184
  })
10196
- }, groupByForColumn.column), {
10185
+ }, userDefinedGroupColumn), {
10197
10186
  renderGroupIcon: getGroupColumnRenderGroupIcon({
10198
- initialRenderGroupIcon: (_a = groupByForColumn.column) == null ? void 0 : _a.renderGroupIcon,
10187
+ initialRenderGroupIcon: userDefinedGroupColumn == null ? void 0 : userDefinedGroupColumn.renderGroupIcon,
10199
10188
  groupIndexForColumn,
10200
10189
  toggleGroupRow,
10201
10190
  groupRenderStrategy
@@ -10216,7 +10205,7 @@ function getSingleGroupColumn(options, toggleGroupRow, groupColumnFromProps) {
10216
10205
  header: `Group`,
10217
10206
  groupByField: options.groupBy.map((g) => g.field),
10218
10207
  sortable: false,
10219
- renderSelectionCheckBox: true,
10208
+ renderSelectionCheckBox: options.selectionMode === "multi-row",
10220
10209
  style: styleForGroupColumn,
10221
10210
  render: getGroupColumnRender({
10222
10211
  groupIndexForColumn: 0,
@@ -10413,7 +10402,7 @@ function useColumnsWhenInlineGroupRenderStrategy(groupByMap) {
10413
10402
  }
10414
10403
  function useColumnsWhenGrouping() {
10415
10404
  const {
10416
- componentState: { groupBy, pivotBy }
10405
+ componentState: { groupBy, pivotBy, selectionMode }
10417
10406
  } = useDataSourceContextValue();
10418
10407
  const {
10419
10408
  componentActions,
@@ -10440,7 +10429,8 @@ function useColumnsWhenGrouping() {
10440
10429
  groupBy,
10441
10430
  pivotBy,
10442
10431
  pivotColumns,
10443
- toggleGroupRow
10432
+ toggleGroupRow,
10433
+ selectionMode
10444
10434
  });
10445
10435
  componentActions.columnsWhenGrouping = columnsWhenGrouping;
10446
10436
  };
@@ -10454,6 +10444,7 @@ function useColumnsWhenGrouping() {
10454
10444
  columns,
10455
10445
  groupBy,
10456
10446
  pivotBy,
10447
+ selectionMode,
10457
10448
  groupColumn,
10458
10449
  groupRenderStrategy,
10459
10450
  pivotColumns,
@@ -10597,6 +10588,7 @@ function getColumnsWhenGrouping(params) {
10597
10588
  pivotColumns,
10598
10589
  groupBy,
10599
10590
  pivotBy,
10591
+ selectionMode,
10600
10592
  groupColumn,
10601
10593
  pivotTotalColumnPosition,
10602
10594
  pivotGrandTotalColumnPosition,
@@ -10617,7 +10609,8 @@ function getColumnsWhenGrouping(params) {
10617
10609
  pivotBy,
10618
10610
  groupIndexForColumn,
10619
10611
  groupCount: arr.length,
10620
- groupRenderStrategy
10612
+ groupRenderStrategy,
10613
+ selectionMode
10621
10614
  }, toggleGroupRow, groupColumn);
10622
10615
  computedColumns.set(generatedGroupColumn.id || `group-by-${groupByForColumn.field}`, generatedGroupColumn);
10623
10616
  });
@@ -10626,7 +10619,8 @@ function getColumnsWhenGrouping(params) {
10626
10619
  groupCount: groupBy.length,
10627
10620
  groupBy,
10628
10621
  pivotBy,
10629
- groupRenderStrategy
10622
+ groupRenderStrategy,
10623
+ selectionMode
10630
10624
  }, toggleGroupRow, groupColumn);
10631
10625
  computedColumns.set(singleGroupColumn.id || "group-by", singleGroupColumn);
10632
10626
  }
@@ -11474,7 +11468,7 @@ var useLicense = (licenseKey = "") => {
11474
11468
  const valid = (0, import_react44.useMemo)(() => {
11475
11469
  let valid2 = isValidLicense(licenseKey, {
11476
11470
  publishedAt: 1624970570587,
11477
- version: "0.4.0"
11471
+ version: "0.4.1"
11478
11472
  });
11479
11473
  if (!licenseKey && !valid2 && isInsidePlayground) {
11480
11474
  return true;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@infinite-table/infinite-react",
3
3
  "description": "Infinite Table for React",
4
- "version": "0.4.0",
4
+ "version": "0.4.1",
5
5
  "main": "index.js",
6
6
  "module": "index.esm.js",
7
7
  "typings": "index.d.ts",
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "license": "Commercial & Open Source",
16
16
  "//": "will be updated at build time",
17
- "publishedAt": 1659518029086
17
+ "publishedAt": 1659542677371
18
18
  }