vxe-table 3.4.10 → 3.4.12-beta.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/lib/index.umd.js CHANGED
@@ -8683,7 +8683,17 @@ var iconPrefix = 'vxe-icon--';
8683
8683
  button: {// size: null,
8684
8684
  // transfer: false
8685
8685
  },
8686
- radio: {// size: null
8686
+ radio: {
8687
+ // size: null,
8688
+ strict: true
8689
+ },
8690
+ radioButton: {
8691
+ // size: null,
8692
+ strict: true
8693
+ },
8694
+ radioGroup: {
8695
+ // size: null,
8696
+ strict: true
8687
8697
  },
8688
8698
  checkbox: {// size: null
8689
8699
  },
@@ -13635,7 +13645,7 @@ var Methods = {
13635
13645
  row: childRow,
13636
13646
  rowid: rowid,
13637
13647
  seq: -1,
13638
- index: -1,
13648
+ index: index,
13639
13649
  _index: -1,
13640
13650
  $index: -1,
13641
13651
  items: items,
@@ -13653,6 +13663,8 @@ var Methods = {
13653
13663
  row[mapChildren] = rows;
13654
13664
  }
13655
13665
 
13666
+ _this10.updateAfterDataIndex();
13667
+
13656
13668
  return rows;
13657
13669
  });
13658
13670
  },
@@ -14533,7 +14545,7 @@ var Methods = {
14533
14545
  fullDataRowIdData[rowid] = rest;
14534
14546
  }
14535
14547
  }, {
14536
- children: treeOpts.mapChildren
14548
+ children: treeOpts.transform ? treeOpts.mapChildren : treeOpts.children
14537
14549
  });
14538
14550
  } else {
14539
14551
  afterFullData.forEach(function (row, index) {
@@ -14563,6 +14575,30 @@ var Methods = {
14563
14575
  }
14564
14576
  },
14565
14577
 
14578
+ /**
14579
+ * 只对 tree-config 有效,获取行的父级
14580
+ */
14581
+ getParentRow: function getParentRow(rowOrRowid) {
14582
+ var treeConfig = this.treeConfig,
14583
+ fullDataRowIdData = this.fullDataRowIdData;
14584
+
14585
+ if (rowOrRowid && treeConfig) {
14586
+ var rowid;
14587
+
14588
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(rowOrRowid)) {
14589
+ rowid = rowOrRowid;
14590
+ } else {
14591
+ rowid = methods_getRowid(this, rowOrRowid);
14592
+ }
14593
+
14594
+ if (rowid) {
14595
+ return fullDataRowIdData[rowid] ? fullDataRowIdData[rowid].parent : null;
14596
+ }
14597
+ }
14598
+
14599
+ return null;
14600
+ },
14601
+
14566
14602
  /**
14567
14603
  * 根据行的唯一主键获取行
14568
14604
  * @param {String/Number} rowid 行主键
@@ -24553,13 +24589,16 @@ function renderExtraSuffixIcon(h, _vm) {
24553
24589
 
24554
24590
  return '';
24555
24591
  },
24592
+ firstDayOfWeek: function firstDayOfWeek() {
24593
+ var startDay = this.startDay,
24594
+ startWeek = this.startWeek;
24595
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNumber(startDay) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(startDay) ? startDay : startWeek);
24596
+ },
24556
24597
  weekDatas: function weekDatas() {
24557
24598
  var weeks = [];
24558
24599
 
24559
24600
  if (this.isDatePickerType) {
24560
- var startDay = this.startDay,
24561
- startWeek = this.startWeek;
24562
- var sWeek = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNumber(startDay) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(startDay) ? startDay : startWeek);
24601
+ var sWeek = this.firstDayOfWeek;
24563
24602
  weeks.push(sWeek);
24564
24603
 
24565
24604
  for (var index = 0; index < 6; index++) {
@@ -24725,7 +24764,9 @@ function renderExtraSuffixIcon(h, _vm) {
24725
24764
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.chunk(this.dayList, 7);
24726
24765
  },
24727
24766
  weekDates: function weekDates() {
24728
- return this.dayDatas.map(function (list) {
24767
+ var dayDatas = this.dayDatas,
24768
+ firstDayOfWeek = this.firstDayOfWeek;
24769
+ return dayDatas.map(function (list) {
24729
24770
  var firstItem = list[0];
24730
24771
  var item = {
24731
24772
  date: firstItem.date,
@@ -24734,7 +24775,7 @@ function renderExtraSuffixIcon(h, _vm) {
24734
24775
  isCurrent: false,
24735
24776
  isNow: false,
24736
24777
  isNext: false,
24737
- label: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getYearWeek(firstItem.date)
24778
+ label: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getYearWeek(firstItem.date, firstDayOfWeek)
24738
24779
  };
24739
24780
  return [item].concat(list);
24740
24781
  });
@@ -24829,8 +24870,10 @@ function renderExtraSuffixIcon(h, _vm) {
24829
24870
  this.initValue();
24830
24871
  },
24831
24872
  dateLabelFormat: function dateLabelFormat() {
24832
- this.dateParseValue(this.datePanelValue);
24833
- this.inputValue = this.datePanelLabel;
24873
+ if (this.isDatePickerType) {
24874
+ this.dateParseValue(this.datePanelValue);
24875
+ this.inputValue = this.datePanelLabel;
24876
+ }
24834
24877
  }
24835
24878
  },
24836
24879
  created: function created() {
@@ -25166,7 +25209,8 @@ function renderExtraSuffixIcon(h, _vm) {
25166
25209
  datetimePanelValue = this.datetimePanelValue,
25167
25210
  dateLabelFormat = this.dateLabelFormat,
25168
25211
  min = this.min,
25169
- max = this.max;
25212
+ max = this.max,
25213
+ firstDayOfWeek = this.firstDayOfWeek;
25170
25214
 
25171
25215
  if (!inpReadonly) {
25172
25216
  if (isNumType) {
@@ -25228,7 +25272,9 @@ function renderExtraSuffixIcon(h, _vm) {
25228
25272
  isChange = true;
25229
25273
  }
25230
25274
 
25231
- this.inputValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(inpDateVal, dateLabelFormat);
25275
+ this.inputValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(inpDateVal, dateLabelFormat, {
25276
+ firstDay: firstDayOfWeek
25277
+ });
25232
25278
 
25233
25279
  if (isChange) {
25234
25280
  this.dateChange(inpDateVal);
@@ -25621,7 +25667,8 @@ function renderExtraSuffixIcon(h, _vm) {
25621
25667
  dateParseValue: function dateParseValue(date) {
25622
25668
  var type = this.type,
25623
25669
  dateLabelFormat = this.dateLabelFormat,
25624
- valueFormat = this.valueFormat;
25670
+ valueFormat = this.valueFormat,
25671
+ firstDayOfWeek = this.firstDayOfWeek;
25625
25672
  var dValue = null;
25626
25673
  var dLabel = '';
25627
25674
 
@@ -25634,7 +25681,25 @@ function renderExtraSuffixIcon(h, _vm) {
25634
25681
  }
25635
25682
 
25636
25683
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isValidDate(dValue)) {
25637
- dLabel = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(dValue, dateLabelFormat);
25684
+ dLabel = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(dValue, dateLabelFormat, {
25685
+ firstDay: firstDayOfWeek
25686
+ }); // 由于年份和第几周是冲突的行为,所以需要特殊处理,判断是否跨年
25687
+
25688
+ if (dateLabelFormat && type === 'week') {
25689
+ var firstWeekDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(dValue, 0, firstDayOfWeek, firstDayOfWeek);
25690
+
25691
+ if (firstWeekDate.getFullYear() < dValue.getFullYear()) {
25692
+ var yyIndex = dateLabelFormat.indexOf('yyyy');
25693
+
25694
+ if (yyIndex > -1) {
25695
+ var yyNum = Number(dLabel.substring(yyIndex, yyIndex + 4));
25696
+
25697
+ if (yyNum && !isNaN(yyNum)) {
25698
+ dLabel = dLabel.replace("".concat(yyNum), "".concat(yyNum - 1));
25699
+ }
25700
+ }
25701
+ }
25702
+ }
25638
25703
  } else {
25639
25704
  dValue = null;
25640
25705
  }
@@ -25645,7 +25710,8 @@ function renderExtraSuffixIcon(h, _vm) {
25645
25710
  dateOffsetEvent: function dateOffsetEvent(evnt) {
25646
25711
  var isActivated = this.isActivated,
25647
25712
  datePanelValue = this.datePanelValue,
25648
- datePanelType = this.datePanelType;
25713
+ datePanelType = this.datePanelType,
25714
+ firstDayOfWeek = this.firstDayOfWeek;
25649
25715
 
25650
25716
  if (isActivated) {
25651
25717
  evnt.preventDefault();
@@ -25703,11 +25769,11 @@ function renderExtraSuffixIcon(h, _vm) {
25703
25769
  if (isLeftArrow) {
25704
25770
  offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(offsetDay, -1);
25705
25771
  } else if (isUpArrow) {
25706
- offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(offsetDay, -1);
25772
+ offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(offsetDay, -1, firstDayOfWeek);
25707
25773
  } else if (isRightArrow) {
25708
25774
  offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(offsetDay, 1);
25709
25775
  } else if (isDwArrow) {
25710
- offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(offsetDay, 1);
25776
+ offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(offsetDay, 1, firstDayOfWeek);
25711
25777
  }
25712
25778
 
25713
25779
  this.dateMoveDay(offsetDay);
@@ -25731,18 +25797,21 @@ function renderExtraSuffixIcon(h, _vm) {
25731
25797
  dateChange: function dateChange(date) {
25732
25798
  var value = this.value,
25733
25799
  datetimePanelValue = this.datetimePanelValue,
25734
- dateValueFormat = this.dateValueFormat;
25800
+ dateValueFormat = this.dateValueFormat,
25801
+ firstDayOfWeek = this.firstDayOfWeek;
25735
25802
 
25736
25803
  if (this.type === 'week') {
25737
25804
  var sWeek = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(this.selectDay);
25738
- date = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(date, 0, sWeek);
25805
+ date = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(date, 0, sWeek, firstDayOfWeek);
25739
25806
  } else if (this.hasTime) {
25740
25807
  date.setHours(datetimePanelValue.getHours());
25741
25808
  date.setMinutes(datetimePanelValue.getMinutes());
25742
25809
  date.setSeconds(datetimePanelValue.getSeconds());
25743
25810
  }
25744
25811
 
25745
- var inpVal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(date, dateValueFormat);
25812
+ var inpVal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(date, dateValueFormat, {
25813
+ firstDay: firstDayOfWeek
25814
+ });
25746
25815
  this.dateCheckMonth(date);
25747
25816
 
25748
25817
  if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isEqual(value, inpVal)) {
@@ -27624,6 +27693,12 @@ Object.keys(option_props).forEach(function (name) {
27624
27693
  content: [String, Number],
27625
27694
  disabled: Boolean,
27626
27695
  name: String,
27696
+ strict: {
27697
+ type: Boolean,
27698
+ default: function _default() {
27699
+ return conf.radio.strict;
27700
+ }
27701
+ },
27627
27702
  size: {
27628
27703
  type: String,
27629
27704
  default: function _default() {
@@ -27640,11 +27715,14 @@ Object.keys(option_props).forEach(function (name) {
27640
27715
  isDisabled: function isDisabled() {
27641
27716
  var $xeradiogroup = this.$xeradiogroup;
27642
27717
  return this.disabled || $xeradiogroup && $xeradiogroup.disabled;
27718
+ },
27719
+ isStrict: function isStrict() {
27720
+ var $xeradiogroup = this.$xeradiogroup;
27721
+ return $xeradiogroup ? $xeradiogroup.strict : this.strict;
27643
27722
  }
27644
27723
  },
27645
27724
  render: function render(h) {
27646
- var _ref,
27647
- _this = this;
27725
+ var _ref;
27648
27726
 
27649
27727
  var $scopedSlots = this.$scopedSlots,
27650
27728
  $xeradiogroup = this.$xeradiogroup,
@@ -27675,22 +27753,8 @@ Object.keys(option_props).forEach(function (name) {
27675
27753
  checked: $xeradiogroup ? $xeradiogroup.value === label : value === label
27676
27754
  },
27677
27755
  on: {
27678
- change: function change(evnt) {
27679
- if (!isDisabled) {
27680
- var params = {
27681
- label: label,
27682
- $event: evnt
27683
- };
27684
-
27685
- if ($xeradiogroup) {
27686
- $xeradiogroup.handleChecked(params);
27687
- } else {
27688
- _this.$emit('input', label);
27689
-
27690
- _this.$emit('change', params);
27691
- }
27692
- }
27693
- }
27756
+ change: this.changeEvent,
27757
+ click: this.clickEvent
27694
27758
  }
27695
27759
  }), h('span', {
27696
27760
  class: 'vxe-radio--icon'
@@ -27699,22 +27763,35 @@ Object.keys(option_props).forEach(function (name) {
27699
27763
  }, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : [UtilTools.getFuncText(content)])]);
27700
27764
  },
27701
27765
  methods: {
27766
+ handleValue: function handleValue(label, evnt) {
27767
+ var $xeradiogroup = this.$xeradiogroup;
27768
+ var params = {
27769
+ label: label,
27770
+ $event: evnt
27771
+ };
27772
+
27773
+ if ($xeradiogroup) {
27774
+ $xeradiogroup.handleChecked(params);
27775
+ } else {
27776
+ this.$emit('input', label);
27777
+ this.$emit('change', params);
27778
+ }
27779
+ },
27702
27780
  changeEvent: function changeEvent(evnt) {
27703
- var $xeradiogroup = this.$xeradiogroup,
27704
- isDisabled = this.isDisabled,
27705
- label = this.label;
27781
+ var isDisabled = this.isDisabled;
27706
27782
 
27707
27783
  if (!isDisabled) {
27708
- var params = {
27709
- label: label,
27710
- $event: evnt
27711
- };
27784
+ this.handleValue(this.label, evnt);
27785
+ }
27786
+ },
27787
+ clickEvent: function clickEvent(evnt) {
27788
+ var $xeradiogroup = this.$xeradiogroup,
27789
+ isDisabled = this.isDisabled,
27790
+ isStrict = this.isStrict;
27712
27791
 
27713
- if ($xeradiogroup) {
27714
- $xeradiogroup.handleChecked(params);
27715
- } else {
27716
- this.$emit('input', label);
27717
- this.$emit('change', params);
27792
+ if (!isDisabled && !isStrict) {
27793
+ if (this.label === ($xeradiogroup ? $xeradiogroup.value : this.value)) {
27794
+ this.handleValue(null, evnt);
27718
27795
  }
27719
27796
  }
27720
27797
  }
@@ -34400,10 +34477,16 @@ var Radio = Object.assign(src_radio, {
34400
34477
  props: {
34401
34478
  value: [String, Number, Boolean],
34402
34479
  disabled: Boolean,
34480
+ strict: {
34481
+ type: Boolean,
34482
+ default: function _default() {
34483
+ return conf.radioGroup.strict;
34484
+ }
34485
+ },
34403
34486
  size: {
34404
34487
  type: String,
34405
34488
  default: function _default() {
34406
- return conf.radio.size || conf.size;
34489
+ return conf.radioGroup.size || conf.size;
34407
34490
  }
34408
34491
  }
34409
34492
  },
@@ -34459,10 +34542,16 @@ var RadioGroup = Object.assign(radio_src_group, {
34459
34542
  title: [String, Number],
34460
34543
  content: [String, Number],
34461
34544
  disabled: Boolean,
34545
+ strict: {
34546
+ type: Boolean,
34547
+ default: function _default() {
34548
+ return conf.radioButton.strict;
34549
+ }
34550
+ },
34462
34551
  size: {
34463
34552
  type: String,
34464
34553
  default: function _default() {
34465
- return conf.radio.size || conf.size;
34554
+ return conf.radioButton.size || conf.size;
34466
34555
  }
34467
34556
  }
34468
34557
  },
@@ -34478,6 +34567,10 @@ var RadioGroup = Object.assign(radio_src_group, {
34478
34567
  isDisabled: function isDisabled() {
34479
34568
  var $xeradiogroup = this.$xeradiogroup;
34480
34569
  return this.disabled || $xeradiogroup && $xeradiogroup.disabled;
34570
+ },
34571
+ isStrict: function isStrict() {
34572
+ var $xeradiogroup = this.$xeradiogroup;
34573
+ return $xeradiogroup ? $xeradiogroup.strict : this.strict;
34481
34574
  }
34482
34575
  },
34483
34576
  render: function render(h) {
@@ -34511,29 +34604,43 @@ var RadioGroup = Object.assign(radio_src_group, {
34511
34604
  checked: $xeradiogroup ? $xeradiogroup.value === label : value === label
34512
34605
  },
34513
34606
  on: {
34514
- change: this.changeEvent
34607
+ change: this.changeEvent,
34608
+ click: this.clickEvent
34515
34609
  }
34516
34610
  }), h('span', {
34517
34611
  class: 'vxe-radio--label'
34518
34612
  }, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : [UtilTools.getFuncText(content)])]);
34519
34613
  },
34520
34614
  methods: {
34615
+ handleValue: function handleValue(label, evnt) {
34616
+ var $xeradiogroup = this.$xeradiogroup;
34617
+ var params = {
34618
+ label: label,
34619
+ $event: evnt
34620
+ };
34621
+
34622
+ if ($xeradiogroup) {
34623
+ $xeradiogroup.handleChecked(params);
34624
+ } else {
34625
+ this.$emit('input', label);
34626
+ this.$emit('change', params);
34627
+ }
34628
+ },
34521
34629
  changeEvent: function changeEvent(evnt) {
34522
- var $xeradiogroup = this.$xeradiogroup,
34523
- isDisabled = this.isDisabled,
34524
- label = this.label;
34630
+ var isDisabled = this.isDisabled;
34525
34631
 
34526
34632
  if (!isDisabled) {
34527
- var params = {
34528
- label: label,
34529
- $event: evnt
34530
- };
34633
+ this.handleValue(this.label, evnt);
34634
+ }
34635
+ },
34636
+ clickEvent: function clickEvent(evnt) {
34637
+ var $xeradiogroup = this.$xeradiogroup,
34638
+ isDisabled = this.isDisabled,
34639
+ isStrict = this.isStrict;
34531
34640
 
34532
- if ($xeradiogroup) {
34533
- $xeradiogroup.handleChecked(params);
34534
- } else {
34535
- this.$emit('input', label);
34536
- this.$emit('change', params);
34641
+ if (!isDisabled && !isStrict) {
34642
+ if (this.label === ($xeradiogroup ? $xeradiogroup.value : this.value)) {
34643
+ this.handleValue(null, evnt);
34537
34644
  }
34538
34645
  }
34539
34646
  }