vxe-table 3.20.0-beta.26 → 3.20.0-beta.27

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.
@@ -8240,7 +8240,7 @@ const tableMethods = {
8240
8240
  const { selectRadioRow: oldValue } = reactData;
8241
8241
  const { row } = params;
8242
8242
  const radioOpts = $xeTable.computeRadioOpts;
8243
- const { trigger, checkMethod } = radioOpts;
8243
+ const { trigger, strict, checkMethod } = radioOpts;
8244
8244
  if (trigger === 'manual') {
8245
8245
  return;
8246
8246
  }
@@ -8251,7 +8251,7 @@ const tableMethods = {
8251
8251
  if (isChange) {
8252
8252
  handleCheckedRadioRow($xeTable, newValue);
8253
8253
  }
8254
- else if (!radioOpts.strict) {
8254
+ else if (!strict) {
8255
8255
  isChange = oldValue === newValue;
8256
8256
  if (isChange) {
8257
8257
  newValue = null;
@@ -8271,13 +8271,25 @@ const tableMethods = {
8271
8271
  const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
8272
8272
  const beforeRowMethod = currentColumnOpts.beforeSelectMethod || columnOpts.currentMethod;
8273
8273
  const { column: newValue } = params;
8274
- const { trigger } = currentColumnOpts;
8274
+ const { trigger, strict } = currentColumnOpts;
8275
8275
  if (trigger === 'manual') {
8276
8276
  return;
8277
8277
  }
8278
- const isChange = oldValue !== newValue;
8279
- if (!beforeRowMethod || beforeRowMethod({ column: newValue, $table: $xeTable })) {
8280
- $xeTable.setCurrentColumn(newValue);
8278
+ let isChange = oldValue !== newValue;
8279
+ const selected = !isChange;
8280
+ if (!beforeRowMethod || beforeRowMethod({ column: newValue, selected, $table: $xeTable })) {
8281
+ if (strict) {
8282
+ $xeTable.setCurrentColumn(newValue);
8283
+ }
8284
+ else {
8285
+ isChange = true;
8286
+ if (selected) {
8287
+ $xeTable.clearCurrentColumn();
8288
+ }
8289
+ else {
8290
+ $xeTable.setCurrentColumn(newValue);
8291
+ }
8292
+ }
8281
8293
  if (isChange) {
8282
8294
  $xeTable.dispatchEvent('current-column-change', Object.assign({ oldValue, newValue }, params), evnt);
8283
8295
  }
@@ -8294,13 +8306,25 @@ const tableMethods = {
8294
8306
  const currentRowOpts = $xeTable.computeCurrentRowOpts;
8295
8307
  const beforeRowMethod = currentRowOpts.beforeSelectMethod || rowOpts.currentMethod;
8296
8308
  const { row: newValue } = params;
8297
- const { trigger } = currentRowOpts;
8309
+ const { trigger, strict } = currentRowOpts;
8298
8310
  if (trigger === 'manual') {
8299
8311
  return;
8300
8312
  }
8301
- const isChange = oldValue !== newValue;
8302
- if (!beforeRowMethod || beforeRowMethod({ row: newValue, $table: $xeTable })) {
8303
- $xeTable.setCurrentRow(newValue);
8313
+ let isChange = oldValue !== newValue;
8314
+ const selected = !isChange;
8315
+ if (!beforeRowMethod || beforeRowMethod({ row: newValue, selected, $table: $xeTable })) {
8316
+ if (strict) {
8317
+ $xeTable.setCurrentRow(newValue);
8318
+ }
8319
+ else {
8320
+ isChange = true;
8321
+ if (selected) {
8322
+ $xeTable.clearCurrentRow();
8323
+ }
8324
+ else {
8325
+ $xeTable.setCurrentRow(newValue);
8326
+ }
8327
+ }
8304
8328
  if (isChange) {
8305
8329
  $xeTable.dispatchEvent('current-row-change', Object.assign({ oldValue, newValue }, params), evnt);
8306
8330
  // 已废弃
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "3.20.0-beta.26";
3
+ export const version = "3.20.0-beta.27";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
@@ -40,6 +40,12 @@ VxeUI.setConfig({
40
40
  isSyncAutoWidth: true,
41
41
  minHeight: 18
42
42
  },
43
+ currentRowConfig: {
44
+ strict: true
45
+ },
46
+ currentColumnConfig: {
47
+ strict: true
48
+ },
43
49
  radioConfig: {
44
50
  // trigger: 'default'
45
51
  strict: true
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"3.20.0-beta.26"}`;
3
+ const version = `table v${"3.20.0-beta.27"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
package/lib/index.umd.js CHANGED
@@ -2005,7 +2005,7 @@ function getClass(property, params) {
2005
2005
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
2006
2006
 
2007
2007
 
2008
- const version = "3.20.0-beta.26";
2008
+ const version = "3.20.0-beta.27";
2009
2009
  core_.VxeUI.version = version;
2010
2010
  core_.VxeUI.tableVersion = version;
2011
2011
  core_.VxeUI.setConfig({
@@ -2045,6 +2045,12 @@ core_.VxeUI.setConfig({
2045
2045
  isSyncAutoWidth: true,
2046
2046
  minHeight: 18
2047
2047
  },
2048
+ currentRowConfig: {
2049
+ strict: true
2050
+ },
2051
+ currentColumnConfig: {
2052
+ strict: true
2053
+ },
2048
2054
  radioConfig: {
2049
2055
  // trigger: 'default'
2050
2056
  strict: true
@@ -2739,7 +2745,7 @@ function scrollTopTo(diffNum, cb) {
2739
2745
  const {
2740
2746
  log: log_log
2741
2747
  } = core_.VxeUI;
2742
- const log_version = `table v${"3.20.0-beta.26"}`;
2748
+ const log_version = `table v${"3.20.0-beta.27"}`;
2743
2749
  const warnLog = log_log.create('warn', log_version);
2744
2750
  const errLog = log_log.create('error', log_version);
2745
2751
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -6819,7 +6825,7 @@ if(!isSelected&&!halfSelect&&showReserveStatus){halfSelect=!external_root_XEUtil
6819
6825
  */clearCheckboxRow(){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{tableFullData}=internalData;const treeOpts=$xeTable.computeTreeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const checkboxOpts=$xeTable.computeCheckboxOpts;const{checkField,reserve}=checkboxOpts;// indeterminateField 仅支持读取
6820
6826
  const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;if(checkField){const handleClearChecked=item=>{if(treeConfig&&indeterminateField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,indeterminateField,false);}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,checkField,false);};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData,handleClearChecked,{children:childrenField});}else{tableFullData.forEach(handleClearChecked);}}if(reserve){tableFullData.forEach(row=>this.handleCheckboxReserveRow(row,false));}reactData.isAllSelected=false;reactData.isIndeterminate=false;internalData.selectCheckboxMaps={};internalData.treeIndeterminateRowMaps={};reactData.updateCheckboxFlag++;return this.$nextTick();},/**
6821
6827
  * 单选,行选中事件
6822
- */triggerRadioRowEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow:oldValue}=reactData;const{row}=params;const radioOpts=$xeTable.computeRadioOpts;const{trigger,checkMethod}=radioOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(!checkMethod||checkMethod({$table:$xeTable,row})){let newValue=row;let isChange=oldValue!==newValue;if(isChange){handleCheckedRadioRow($xeTable,newValue);}else if(!radioOpts.strict){isChange=oldValue===newValue;if(isChange){newValue=null;$xeTable.clearRadioRow();}}if(isChange){$xeTable.dispatchEvent('radio-change',{oldValue,newValue,...params},evnt);}}},triggerCurrentColumnEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{currentColumn:oldValue}=reactData;const columnOpts=$xeTable.computeColumnOpts;const currentColumnOpts=$xeTable.computeCurrentColumnOpts;const beforeRowMethod=currentColumnOpts.beforeSelectMethod||columnOpts.currentMethod;const{column:newValue}=params;const{trigger}=currentColumnOpts;if(trigger==='manual'){return;}const isChange=oldValue!==newValue;if(!beforeRowMethod||beforeRowMethod({column:newValue,$table:$xeTable})){$xeTable.setCurrentColumn(newValue);if(isChange){$xeTable.dispatchEvent('current-column-change',{oldValue,newValue,...params},evnt);}}else{$xeTable.dispatchEvent('current-column-disabled',params,evnt);}},triggerCurrentRowEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{currentRow:oldValue}=reactData;const rowOpts=$xeTable.computeRowOpts;const currentRowOpts=$xeTable.computeCurrentRowOpts;const beforeRowMethod=currentRowOpts.beforeSelectMethod||rowOpts.currentMethod;const{row:newValue}=params;const{trigger}=currentRowOpts;if(trigger==='manual'){return;}const isChange=oldValue!==newValue;if(!beforeRowMethod||beforeRowMethod({row:newValue,$table:$xeTable})){$xeTable.setCurrentRow(newValue);if(isChange){$xeTable.dispatchEvent('current-row-change',{oldValue,newValue,...params},evnt);// 已废弃
6828
+ */triggerRadioRowEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow:oldValue}=reactData;const{row}=params;const radioOpts=$xeTable.computeRadioOpts;const{trigger,strict,checkMethod}=radioOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(!checkMethod||checkMethod({$table:$xeTable,row})){let newValue=row;let isChange=oldValue!==newValue;if(isChange){handleCheckedRadioRow($xeTable,newValue);}else if(!strict){isChange=oldValue===newValue;if(isChange){newValue=null;$xeTable.clearRadioRow();}}if(isChange){$xeTable.dispatchEvent('radio-change',{oldValue,newValue,...params},evnt);}}},triggerCurrentColumnEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{currentColumn:oldValue}=reactData;const columnOpts=$xeTable.computeColumnOpts;const currentColumnOpts=$xeTable.computeCurrentColumnOpts;const beforeRowMethod=currentColumnOpts.beforeSelectMethod||columnOpts.currentMethod;const{column:newValue}=params;const{trigger,strict}=currentColumnOpts;if(trigger==='manual'){return;}let isChange=oldValue!==newValue;const selected=!isChange;if(!beforeRowMethod||beforeRowMethod({column:newValue,selected,$table:$xeTable})){if(strict){$xeTable.setCurrentColumn(newValue);}else{isChange=true;if(selected){$xeTable.clearCurrentColumn();}else{$xeTable.setCurrentColumn(newValue);}}if(isChange){$xeTable.dispatchEvent('current-column-change',{oldValue,newValue,...params},evnt);}}else{$xeTable.dispatchEvent('current-column-disabled',params,evnt);}},triggerCurrentRowEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{currentRow:oldValue}=reactData;const rowOpts=$xeTable.computeRowOpts;const currentRowOpts=$xeTable.computeCurrentRowOpts;const beforeRowMethod=currentRowOpts.beforeSelectMethod||rowOpts.currentMethod;const{row:newValue}=params;const{trigger,strict}=currentRowOpts;if(trigger==='manual'){return;}let isChange=oldValue!==newValue;const selected=!isChange;if(!beforeRowMethod||beforeRowMethod({row:newValue,selected,$table:$xeTable})){if(strict){$xeTable.setCurrentRow(newValue);}else{isChange=true;if(selected){$xeTable.clearCurrentRow();}else{$xeTable.setCurrentRow(newValue);}}if(isChange){$xeTable.dispatchEvent('current-row-change',{oldValue,newValue,...params},evnt);// 已废弃
6823
6829
  $xeTable.dispatchEvent('current-change',{oldValue,newValue,...params},evnt);}}else{$xeTable.dispatchEvent('current-row-disabled',params,evnt);}},/**
6824
6830
  * 用于当前行,设置某一行为高亮状态
6825
6831
  * @param {Row} row 行对象