knt-shared 1.7.10 → 1.7.11

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/dist/index.esm.js CHANGED
@@ -6502,18 +6502,28 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6502
6502
  emit("change", data, extra, currentData, paginationRef.value);
6503
6503
  };
6504
6504
  const handlePageChange = (page) => {
6505
+ var _a;
6505
6506
  if (paginationRef.value) {
6506
6507
  paginationRef.value.current = page;
6507
6508
  }
6509
+ if ((_a = getMergedProps.value.rowSelection) == null ? void 0 : _a.onlyCurrent) {
6510
+ selectedRowKeys.value = [];
6511
+ selectedRows.value = [];
6512
+ }
6508
6513
  if (getMergedProps.value.api) {
6509
6514
  fetchData();
6510
6515
  }
6511
6516
  };
6512
6517
  const handlePageSizeChange = (pageSize) => {
6518
+ var _a;
6513
6519
  if (paginationRef.value) {
6514
6520
  paginationRef.value.pageSize = pageSize;
6515
6521
  paginationRef.value.current = 1;
6516
6522
  }
6523
+ if ((_a = getMergedProps.value.rowSelection) == null ? void 0 : _a.onlyCurrent) {
6524
+ selectedRowKeys.value = [];
6525
+ selectedRows.value = [];
6526
+ }
6517
6527
  if (getMergedProps.value.api) {
6518
6528
  fetchData();
6519
6529
  }
@@ -6583,21 +6593,113 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6583
6593
  isFullscreen.value = !isFullscreen.value;
6584
6594
  };
6585
6595
  const handleSelect = (rowKeys, rowKey, record) => {
6586
- selectedRowKeys.value = rowKeys;
6587
- selectedRows.value = dataSource.value.filter(
6588
- (item) => rowKeys.includes(getRowKey(item))
6589
- );
6590
- emit("select", rowKeys, rowKey, record);
6596
+ var _a;
6597
+ const onlyCurrent = ((_a = getMergedProps.value.rowSelection) == null ? void 0 : _a.onlyCurrent) ?? false;
6598
+ if (onlyCurrent) {
6599
+ selectedRowKeys.value = rowKeys;
6600
+ selectedRows.value = dataSource.value.filter(
6601
+ (item) => rowKeys.includes(getRowKey(item))
6602
+ );
6603
+ } else {
6604
+ const currentPageKeySet = new Set(
6605
+ dataSource.value.map((item) => getRowKey(item))
6606
+ );
6607
+ const otherPagesKeys = selectedRowKeys.value.filter(
6608
+ (k) => !currentPageKeySet.has(k)
6609
+ );
6610
+ const otherPagesRows = selectedRows.value.filter(
6611
+ (item) => !currentPageKeySet.has(getRowKey(item))
6612
+ );
6613
+ selectedRowKeys.value = [...otherPagesKeys, ...rowKeys];
6614
+ selectedRows.value = [
6615
+ ...otherPagesRows,
6616
+ ...dataSource.value.filter(
6617
+ (item) => rowKeys.includes(getRowKey(item))
6618
+ )
6619
+ ];
6620
+ }
6621
+ emit("select", selectedRowKeys.value, rowKey, record);
6591
6622
  };
6592
6623
  const handleSelectAll = (checked) => {
6593
- if (checked) {
6594
- selectedRowKeys.value = dataSource.value.map(
6595
- (item) => getRowKey(item)
6596
- );
6597
- selectedRows.value = [...dataSource.value];
6624
+ const rowSelection = getMergedProps.value.rowSelection;
6625
+ const onlyCurrent = (rowSelection == null ? void 0 : rowSelection.onlyCurrent) ?? false;
6626
+ const isRowDisabled = (item) => {
6627
+ return item.disabled;
6628
+ };
6629
+ const currentPageDisabledKeySet = new Set(
6630
+ dataSource.value.filter((item) => isRowDisabled(item)).map((item) => getRowKey(item))
6631
+ );
6632
+ const frozenKeys = selectedRowKeys.value.filter(
6633
+ (k) => currentPageDisabledKeySet.has(k)
6634
+ );
6635
+ const frozenRows = selectedRows.value.filter(
6636
+ (item) => currentPageDisabledKeySet.has(getRowKey(item))
6637
+ );
6638
+ const selectableRows = dataSource.value.filter(
6639
+ (item) => !isRowDisabled(item)
6640
+ );
6641
+ const selectableKeys = selectableRows.map(
6642
+ (item) => getRowKey(item)
6643
+ );
6644
+ if (onlyCurrent) {
6645
+ if (checked) {
6646
+ selectedRowKeys.value = [.../* @__PURE__ */ new Set([...frozenKeys, ...selectableKeys])];
6647
+ selectedRows.value = [
6648
+ ...frozenRows,
6649
+ ...selectableRows.filter(
6650
+ (item) => !frozenRows.some(
6651
+ (r) => getRowKey(r) === getRowKey(item)
6652
+ )
6653
+ )
6654
+ ];
6655
+ } else {
6656
+ selectedRowKeys.value = [...frozenKeys];
6657
+ selectedRows.value = [...frozenRows];
6658
+ }
6598
6659
  } else {
6599
- selectedRowKeys.value = [];
6600
- selectedRows.value = [];
6660
+ const currentPageKeySet = new Set(
6661
+ dataSource.value.map((item) => getRowKey(item))
6662
+ );
6663
+ const otherPagesKeys = selectedRowKeys.value.filter(
6664
+ (k) => !currentPageKeySet.has(k)
6665
+ );
6666
+ const otherPagesRows = selectedRows.value.filter(
6667
+ (item) => !currentPageKeySet.has(getRowKey(item))
6668
+ );
6669
+ if (checked) {
6670
+ const mergedKeySet = /* @__PURE__ */ new Set([
6671
+ ...otherPagesKeys,
6672
+ ...frozenKeys,
6673
+ ...selectableKeys
6674
+ ]);
6675
+ selectedRowKeys.value = [...mergedKeySet];
6676
+ selectedRows.value = [
6677
+ ...otherPagesRows,
6678
+ ...frozenRows.filter(
6679
+ (item) => !otherPagesRows.some(
6680
+ (r) => getRowKey(r) === getRowKey(item)
6681
+ )
6682
+ ),
6683
+ ...selectableRows.filter(
6684
+ (item) => !otherPagesRows.some(
6685
+ (r) => getRowKey(r) === getRowKey(item)
6686
+ ) && !frozenRows.some(
6687
+ (r) => getRowKey(r) === getRowKey(item)
6688
+ )
6689
+ )
6690
+ ];
6691
+ } else {
6692
+ const mergedKeySet = /* @__PURE__ */ new Set([...otherPagesKeys, ...frozenKeys]);
6693
+ selectedRowKeys.value = [...mergedKeySet];
6694
+ selectedRows.value = [
6695
+ ...otherPagesRows,
6696
+ ...frozenRows.filter(
6697
+ (item) => !otherPagesRows.some(
6698
+ (r) => getRowKey(r) === getRowKey(item)
6699
+ )
6700
+ )
6701
+ ];
6702
+ }
6601
6703
  }
6602
6704
  emit("selectAll", checked);
6603
6705
  };
@@ -6759,6 +6861,10 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6759
6861
  (item) => keys.includes(getRowKey(item))
6760
6862
  );
6761
6863
  };
6864
+ const setSelectedRows = (rows) => {
6865
+ selectedRows.value = rows;
6866
+ selectedRowKeys.value = rows.map((item) => getRowKey(item));
6867
+ };
6762
6868
  const deleteSelectRowByKey = (key) => {
6763
6869
  dataSource.value = dataSource.value.filter(
6764
6870
  (item) => getRowKey(item) !== key
@@ -6814,6 +6920,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6814
6920
  getSelectRowKeys,
6815
6921
  clearSelectedRowKeys,
6816
6922
  setSelectedRowKeys,
6923
+ setSelectedRows,
6817
6924
  deleteSelectRowByKey,
6818
6925
  getPaginationInfo,
6819
6926
  setPagination,
@@ -6857,6 +6964,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6857
6964
  getSelectRowKeys,
6858
6965
  clearSelectedRowKeys,
6859
6966
  setSelectedRowKeys,
6967
+ setSelectedRows,
6860
6968
  deleteSelectRowByKey,
6861
6969
  getPaginationInfo,
6862
6970
  setPagination,
@@ -7334,7 +7442,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
7334
7442
  };
7335
7443
  }
7336
7444
  });
7337
- const BasicTable = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-0b094e75"]]);
7445
+ const BasicTable = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-bff5416b"]]);
7338
7446
  function useTable(options = {}) {
7339
7447
  const tableRef = ref(null);
7340
7448
  const formRef = ref(null);
@@ -7433,6 +7541,13 @@ function useTable(options = {}) {
7433
7541
  table.setSelectedRowKeys(keys);
7434
7542
  }
7435
7543
  };
7544
+ const setSelectedRows = (rows) => {
7545
+ const table = getTable();
7546
+ if (!table) return;
7547
+ if (table.setSelectedRows) {
7548
+ table.setSelectedRows(rows);
7549
+ }
7550
+ };
7436
7551
  const deleteSelectRowByKey = (key) => {
7437
7552
  const table = getTable();
7438
7553
  if (!table) return;
@@ -7644,6 +7759,7 @@ function useTable(options = {}) {
7644
7759
  getSelectRowKeys,
7645
7760
  clearSelectedRowKeys,
7646
7761
  setSelectedRowKeys,
7762
+ setSelectedRows,
7647
7763
  deleteSelectRowByKey,
7648
7764
  getPaginationInfo,
7649
7765
  setPagination,