knt-shared 1.7.10 → 1.7.12

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
  }
@@ -6582,22 +6592,97 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6582
6592
  const handleFullscreen = () => {
6583
6593
  isFullscreen.value = !isFullscreen.value;
6584
6594
  };
6595
+ const dedupeRowsByKey = (rows) => {
6596
+ const seen = /* @__PURE__ */ new Set();
6597
+ return rows.filter((item) => {
6598
+ const key = getRowKey(item);
6599
+ if (seen.has(key)) return false;
6600
+ seen.add(key);
6601
+ return true;
6602
+ });
6603
+ };
6585
6604
  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);
6605
+ var _a;
6606
+ const onlyCurrent = ((_a = getMergedProps.value.rowSelection) == null ? void 0 : _a.onlyCurrent) ?? false;
6607
+ if (onlyCurrent) {
6608
+ selectedRowKeys.value = rowKeys;
6609
+ selectedRows.value = dataSource.value.filter(
6610
+ (item) => rowKeys.includes(getRowKey(item))
6611
+ );
6612
+ } else {
6613
+ const currentPageKeySet = new Set(
6614
+ dataSource.value.map((item) => getRowKey(item))
6615
+ );
6616
+ const otherPagesKeys = selectedRowKeys.value.filter(
6617
+ (k) => !currentPageKeySet.has(k)
6618
+ );
6619
+ const otherPagesRows = selectedRows.value.filter(
6620
+ (item) => !currentPageKeySet.has(getRowKey(item))
6621
+ );
6622
+ selectedRowKeys.value = [.../* @__PURE__ */ new Set([...otherPagesKeys, ...rowKeys])];
6623
+ selectedRows.value = dedupeRowsByKey([
6624
+ ...otherPagesRows,
6625
+ ...dataSource.value.filter(
6626
+ (item) => rowKeys.includes(getRowKey(item))
6627
+ )
6628
+ ]);
6629
+ }
6630
+ emit("select", selectedRowKeys.value, rowKey, record);
6591
6631
  };
6592
6632
  const handleSelectAll = (checked) => {
6593
- if (checked) {
6594
- selectedRowKeys.value = dataSource.value.map(
6595
- (item) => getRowKey(item)
6596
- );
6597
- selectedRows.value = [...dataSource.value];
6633
+ const rowSelection = getMergedProps.value.rowSelection;
6634
+ const onlyCurrent = (rowSelection == null ? void 0 : rowSelection.onlyCurrent) ?? false;
6635
+ const isRowDisabled = (item) => {
6636
+ return item.disabled;
6637
+ };
6638
+ const currentPageDisabledKeySet = new Set(
6639
+ dataSource.value.filter((item) => isRowDisabled(item)).map((item) => getRowKey(item))
6640
+ );
6641
+ const frozenKeys = selectedRowKeys.value.filter(
6642
+ (k) => currentPageDisabledKeySet.has(k)
6643
+ );
6644
+ const frozenRows = selectedRows.value.filter(
6645
+ (item) => currentPageDisabledKeySet.has(getRowKey(item))
6646
+ );
6647
+ const selectableRows = dataSource.value.filter(
6648
+ (item) => !isRowDisabled(item)
6649
+ );
6650
+ const selectableKeys = selectableRows.map(
6651
+ (item) => getRowKey(item)
6652
+ );
6653
+ if (onlyCurrent) {
6654
+ if (checked) {
6655
+ selectedRowKeys.value = [.../* @__PURE__ */ new Set([...frozenKeys, ...selectableKeys])];
6656
+ selectedRows.value = dedupeRowsByKey([...frozenRows, ...selectableRows]);
6657
+ } else {
6658
+ selectedRowKeys.value = [...new Set(frozenKeys)];
6659
+ selectedRows.value = dedupeRowsByKey(frozenRows);
6660
+ }
6598
6661
  } else {
6599
- selectedRowKeys.value = [];
6600
- selectedRows.value = [];
6662
+ const currentPageKeySet = new Set(
6663
+ dataSource.value.map((item) => getRowKey(item))
6664
+ );
6665
+ const otherPagesKeys = selectedRowKeys.value.filter(
6666
+ (k) => !currentPageKeySet.has(k)
6667
+ );
6668
+ const otherPagesRows = selectedRows.value.filter(
6669
+ (item) => !currentPageKeySet.has(getRowKey(item))
6670
+ );
6671
+ if (checked) {
6672
+ selectedRowKeys.value = [
6673
+ .../* @__PURE__ */ new Set([...otherPagesKeys, ...frozenKeys, ...selectableKeys])
6674
+ ];
6675
+ selectedRows.value = dedupeRowsByKey([
6676
+ ...otherPagesRows,
6677
+ ...frozenRows,
6678
+ ...selectableRows
6679
+ ]);
6680
+ } else {
6681
+ selectedRowKeys.value = [
6682
+ .../* @__PURE__ */ new Set([...otherPagesKeys, ...frozenKeys])
6683
+ ];
6684
+ selectedRows.value = dedupeRowsByKey([...otherPagesRows, ...frozenRows]);
6685
+ }
6601
6686
  }
6602
6687
  emit("selectAll", checked);
6603
6688
  };
@@ -6759,6 +6844,10 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6759
6844
  (item) => keys.includes(getRowKey(item))
6760
6845
  );
6761
6846
  };
6847
+ const setSelectedRows = (rows) => {
6848
+ selectedRows.value = rows;
6849
+ selectedRowKeys.value = rows.map((item) => getRowKey(item));
6850
+ };
6762
6851
  const deleteSelectRowByKey = (key) => {
6763
6852
  dataSource.value = dataSource.value.filter(
6764
6853
  (item) => getRowKey(item) !== key
@@ -6814,6 +6903,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6814
6903
  getSelectRowKeys,
6815
6904
  clearSelectedRowKeys,
6816
6905
  setSelectedRowKeys,
6906
+ setSelectedRows,
6817
6907
  deleteSelectRowByKey,
6818
6908
  getPaginationInfo,
6819
6909
  setPagination,
@@ -6857,6 +6947,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6857
6947
  getSelectRowKeys,
6858
6948
  clearSelectedRowKeys,
6859
6949
  setSelectedRowKeys,
6950
+ setSelectedRows,
6860
6951
  deleteSelectRowByKey,
6861
6952
  getPaginationInfo,
6862
6953
  setPagination,
@@ -7334,7 +7425,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
7334
7425
  };
7335
7426
  }
7336
7427
  });
7337
- const BasicTable = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-0b094e75"]]);
7428
+ const BasicTable = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-4e9be0fe"]]);
7338
7429
  function useTable(options = {}) {
7339
7430
  const tableRef = ref(null);
7340
7431
  const formRef = ref(null);
@@ -7433,6 +7524,13 @@ function useTable(options = {}) {
7433
7524
  table.setSelectedRowKeys(keys);
7434
7525
  }
7435
7526
  };
7527
+ const setSelectedRows = (rows) => {
7528
+ const table = getTable();
7529
+ if (!table) return;
7530
+ if (table.setSelectedRows) {
7531
+ table.setSelectedRows(rows);
7532
+ }
7533
+ };
7436
7534
  const deleteSelectRowByKey = (key) => {
7437
7535
  const table = getTable();
7438
7536
  if (!table) return;
@@ -7644,6 +7742,7 @@ function useTable(options = {}) {
7644
7742
  getSelectRowKeys,
7645
7743
  clearSelectedRowKeys,
7646
7744
  setSelectedRowKeys,
7745
+ setSelectedRows,
7647
7746
  deleteSelectRowByKey,
7648
7747
  getPaginationInfo,
7649
7748
  setPagination,