vxe-pc-ui 3.15.1 → 3.15.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.
Files changed (44) hide show
  1. package/es/date-panel/src/util.js +12 -0
  2. package/es/date-picker/src/date-picker.js +81 -10
  3. package/es/date-range-picker/src/date-range-picker.js +20 -8
  4. package/es/number-input/src/number-input.js +2 -3
  5. package/es/splitter/src/splitter.js +6 -1
  6. package/es/ui/index.js +1 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/date-panel/src/util.js +13 -0
  9. package/lib/date-panel/src/util.min.js +1 -1
  10. package/lib/date-picker/src/date-picker.js +79 -9
  11. package/lib/date-picker/src/date-picker.min.js +1 -1
  12. package/lib/date-range-picker/src/date-range-picker.js +18 -8
  13. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  14. package/lib/index.umd.js +119 -23
  15. package/lib/index.umd.min.js +1 -1
  16. package/lib/number-input/src/number-input.js +2 -3
  17. package/lib/splitter/src/splitter.js +6 -1
  18. package/lib/splitter/src/splitter.min.js +1 -1
  19. package/lib/ui/index.js +1 -1
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +1 -1
  24. package/packages/date-panel/src/util.ts +13 -0
  25. package/packages/date-picker/src/date-picker.ts +82 -10
  26. package/packages/date-range-picker/src/date-range-picker.ts +18 -8
  27. package/packages/number-input/src/number-input.ts +2 -6
  28. package/packages/splitter/src/splitter.ts +6 -1
  29. package/types/components/date-picker.d.ts +18 -0
  30. package/types/components/date-range-picker.d.ts +4 -0
  31. package/types/components/splitter.d.ts +1 -0
  32. package/types/components/table.d.ts +33 -4
  33. /package/es/icon/{iconfont.1781675403709.ttf → iconfont.1781753586592.ttf} +0 -0
  34. /package/es/icon/{iconfont.1781675403709.woff → iconfont.1781753586592.woff} +0 -0
  35. /package/es/icon/{iconfont.1781675403709.woff2 → iconfont.1781753586592.woff2} +0 -0
  36. /package/es/{iconfont.1781675403709.ttf → iconfont.1781753586592.ttf} +0 -0
  37. /package/es/{iconfont.1781675403709.woff → iconfont.1781753586592.woff} +0 -0
  38. /package/es/{iconfont.1781675403709.woff2 → iconfont.1781753586592.woff2} +0 -0
  39. /package/lib/icon/style/{iconfont.1781675403709.ttf → iconfont.1781753586592.ttf} +0 -0
  40. /package/lib/icon/style/{iconfont.1781675403709.woff → iconfont.1781753586592.woff} +0 -0
  41. /package/lib/icon/style/{iconfont.1781675403709.woff2 → iconfont.1781753586592.woff2} +0 -0
  42. /package/lib/{iconfont.1781675403709.ttf → iconfont.1781753586592.ttf} +0 -0
  43. /package/lib/{iconfont.1781675403709.woff → iconfont.1781753586592.woff} +0 -0
  44. /package/lib/{iconfont.1781675403709.woff2 → iconfont.1781753586592.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -13214,7 +13214,7 @@ function checkDynamic() {
13214
13214
  }
13215
13215
  ;// ./packages/ui/src/log.ts
13216
13216
 
13217
- var log_version = "ui v".concat("3.15.1");
13217
+ var log_version = "ui v".concat("3.15.2");
13218
13218
  var warnLog = log.create('warn', log_version);
13219
13219
  var errLog = log.create('error', log_version);
13220
13220
  ;// ./packages/ui/index.ts
@@ -13222,7 +13222,7 @@ var errLog = log.create('error', log_version);
13222
13222
 
13223
13223
 
13224
13224
 
13225
- var ui_version = "3.15.1";
13225
+ var ui_version = "3.15.2";
13226
13226
  VxeUI.uiVersion = ui_version;
13227
13227
  VxeUI.dynamicApp = dynamicApp;
13228
13228
  function config(options) {
@@ -18381,6 +18381,18 @@ function handleValueFormat(type, valueFormat) {
18381
18381
  }
18382
18382
  return 'yyyy-MM-dd';
18383
18383
  }
18384
+ function handleInputFormat(type, inputFormat) {
18385
+ if (inputFormat) {
18386
+ return inputFormat;
18387
+ }
18388
+ if (type === 'time') {
18389
+ return 'HH:mm:ss';
18390
+ }
18391
+ if (type === 'datetime') {
18392
+ return 'yyyy-MM-dd HH:mm:ss';
18393
+ }
18394
+ return 'yyyy-MM-dd';
18395
+ }
18384
18396
  function toStringTimeDate(str) {
18385
18397
  var rest = new Date(2e3, 0, 1);
18386
18398
  if (str) {
@@ -28409,7 +28421,6 @@ var handleNumberString = function handleNumberString(val) {
28409
28421
  return getConfig().numberInput.size || getConfig().size;
28410
28422
  }
28411
28423
  },
28412
- // number、integer、float
28413
28424
  min: {
28414
28425
  type: [String, Number],
28415
28426
  default: null
@@ -28438,14 +28449,14 @@ var handleNumberString = function handleNumberString(val) {
28438
28449
  }
28439
28450
  },
28440
28451
  controlConfig: Object,
28441
- // float
28452
+ // number、float、amount
28442
28453
  roundingMode: {
28443
28454
  type: String,
28444
28455
  default: function _default() {
28445
28456
  return getConfig().numberInput.roundingMode;
28446
28457
  }
28447
28458
  },
28448
- // float
28459
+ // float、amount
28449
28460
  digits: {
28450
28461
  type: [String, Number],
28451
28462
  default: null
@@ -34184,6 +34195,7 @@ var DatePanel = VxeDatePanel;
34184
34195
  labelFormat: String,
34185
34196
  valueFormat: String,
34186
34197
  timeFormat: String,
34198
+ inputFormat: String,
34187
34199
  editable: {
34188
34200
  type: Boolean,
34189
34201
  default: true
@@ -34225,6 +34237,7 @@ var DatePanel = VxeDatePanel;
34225
34237
  return getConfig().datePicker.autoClose;
34226
34238
  }
34227
34239
  },
34240
+ controlConfig: Object,
34228
34241
  prefixIcon: String,
34229
34242
  suffixIcon: String,
34230
34243
  placement: String,
@@ -34276,7 +34289,8 @@ var DatePanel = VxeDatePanel;
34276
34289
  inputLabel: ''
34277
34290
  };
34278
34291
  var internalData = {
34279
- hpTimeout: undefined
34292
+ // hpTimeout: undefined,
34293
+ parseInputKayMaps: {}
34280
34294
  };
34281
34295
  return {
34282
34296
  xID: xID,
@@ -34420,6 +34434,13 @@ var DatePanel = VxeDatePanel;
34420
34434
  valueFormat = props.valueFormat;
34421
34435
  return handleValueFormat(type, valueFormat);
34422
34436
  },
34437
+ computeDateInputFormat: function computeDateInputFormat() {
34438
+ var $xeDatePicker = this;
34439
+ var props = $xeDatePicker;
34440
+ var type = props.type,
34441
+ inputFormat = props.inputFormat;
34442
+ return handleInputFormat(type, inputFormat);
34443
+ },
34423
34444
  computeFirstDayOfWeek: function computeFirstDayOfWeek() {
34424
34445
  var $xeDatePicker = this;
34425
34446
  var props = $xeDatePicker;
@@ -34445,6 +34466,11 @@ var DatePanel = VxeDatePanel;
34445
34466
  });
34446
34467
  return dateObj.label;
34447
34468
  }).join(', ');
34469
+ },
34470
+ computeControlOpts: function computeControlOpts() {
34471
+ var $xeDatePicker = this;
34472
+ var props = $xeDatePicker;
34473
+ return Object.assign({}, getConfig().datePicker.controlConfig, props.controlConfig);
34448
34474
  }
34449
34475
  }),
34450
34476
  methods: {
@@ -34567,6 +34593,8 @@ var DatePanel = VxeDatePanel;
34567
34593
  reactData.isActivated = true;
34568
34594
  if (!trigger || trigger === 'default') {
34569
34595
  $xeDatePicker.datePickerOpenEvent(evnt);
34596
+ } else if (trigger === 'icon') {
34597
+ $xeDatePicker.hidePanel();
34570
34598
  }
34571
34599
  $xeDatePicker.triggerEvent(evnt);
34572
34600
  },
@@ -34615,6 +34643,35 @@ var DatePanel = VxeDatePanel;
34615
34643
  }, evnt);
34616
34644
  }
34617
34645
  },
34646
+ handleArrowInputDate: function handleArrowInputDate(evnt, isUpArrow) {
34647
+ var $xeDatePicker = this;
34648
+ var props = $xeDatePicker;
34649
+ var reactData = $xeDatePicker.reactData;
34650
+ var internalData = $xeDatePicker.internalData;
34651
+ var multiple = props.multiple;
34652
+ if (multiple) {
34653
+ return;
34654
+ }
34655
+ var inputValue = reactData.inputValue;
34656
+ if (!inputValue) {
34657
+ return;
34658
+ }
34659
+ var targetElem = $xeDatePicker.$refs.refInputTarget;
34660
+ if (!targetElem) {
34661
+ return;
34662
+ }
34663
+ var parseInputKayMaps = internalData.parseInputKayMaps;
34664
+ var inputFormat = $xeDatePicker.computeDateInputFormat;
34665
+ var selectionStart = targetElem.selectionStart || 0;
34666
+ var selectKey = inputFormat[selectionStart];
34667
+ if (!parseInputKayMaps[selectKey]) {
34668
+ selectKey = inputFormat[selectionStart - 1];
34669
+ }
34670
+ var inputPaesrFn = parseInputKayMaps[selectKey];
34671
+ if (inputPaesrFn) {
34672
+ inputPaesrFn(evnt, targetElem, isUpArrow);
34673
+ }
34674
+ },
34618
34675
  blurEvent: function blurEvent(evnt) {
34619
34676
  var $xeDatePicker = this;
34620
34677
  var reactData = $xeDatePicker.reactData;
@@ -34644,6 +34701,14 @@ var DatePanel = VxeDatePanel;
34644
34701
  },
34645
34702
  keydownEvent: function keydownEvent(evnt) {
34646
34703
  var $xeDatePicker = this;
34704
+ var props = $xeDatePicker;
34705
+ var controlConfig = props.controlConfig;
34706
+ var controlOpts = $xeDatePicker.computeControlOpts;
34707
+ var isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
34708
+ var isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
34709
+ if ((isUpArrow || isDwArrow) && controlOpts.isArrow && (controlConfig || controlOpts.enabled)) {
34710
+ $xeDatePicker.handleArrowInputDate(evnt, isUpArrow);
34711
+ }
34647
34712
  $xeDatePicker.triggerEvent(evnt);
34648
34713
  },
34649
34714
  keyupEvent: function keyupEvent(evnt) {
@@ -34789,6 +34854,9 @@ var DatePanel = VxeDatePanel;
34789
34854
  var panelIndex = reactData.panelIndex;
34790
34855
  var targetElem = $xeDatePicker.$refs.refInputTarget;
34791
34856
  var panelElem = $xeDatePicker.$refs.refInputPanel;
34857
+ if (!panelElem) {
34858
+ return $xeDatePicker.$nextTick();
34859
+ }
34792
34860
  var btnTransfer = $xeDatePicker.computeBtnTransfer;
34793
34861
  var popupOpts = $xeDatePicker.computePopupOpts;
34794
34862
  var handleStyle = function handleStyle() {
@@ -34815,13 +34883,9 @@ var DatePanel = VxeDatePanel;
34815
34883
  var btnTransfer = $xeDatePicker.computeBtnTransfer;
34816
34884
  var panelElem = $xeDatePicker.$refs.refInputPanel;
34817
34885
  if (!isDisabled && !visiblePanel) {
34818
- if (!reactData.initialized) {
34886
+ if (!reactData.initialized && btnTransfer && panelElem) {
34819
34887
  reactData.initialized = true;
34820
- if (btnTransfer) {
34821
- if (panelElem) {
34822
- document.body.appendChild(panelElem);
34823
- }
34824
- }
34888
+ document.body.appendChild(panelElem);
34825
34889
  }
34826
34890
  if (internalData.hpTimeout) {
34827
34891
  clearTimeout(internalData.hpTimeout);
@@ -34848,10 +34912,16 @@ var DatePanel = VxeDatePanel;
34848
34912
  },
34849
34913
  clickIconEvent: function clickIconEvent(evnt) {
34850
34914
  var $xeDatePicker = this;
34915
+ var reactData = $xeDatePicker.reactData;
34916
+ var visiblePanel = reactData.visiblePanel;
34851
34917
  var popupOpts = $xeDatePicker.computePopupOpts;
34852
34918
  var trigger = popupOpts.trigger;
34853
34919
  if (!trigger || trigger === 'default' || trigger === 'icon') {
34854
- $xeDatePicker.datePickerOpenEvent(evnt);
34920
+ if (visiblePanel) {
34921
+ $xeDatePicker.hidePanel();
34922
+ } else {
34923
+ $xeDatePicker.datePickerOpenEvent(evnt);
34924
+ }
34855
34925
  }
34856
34926
  },
34857
34927
  clickEvent: function clickEvent(evnt) {
@@ -34983,6 +35053,10 @@ var DatePanel = VxeDatePanel;
34983
35053
  var props = $xeDatePicker;
34984
35054
  var slots = $xeDatePicker.$scopedSlots;
34985
35055
  var reactData = $xeDatePicker.reactData;
35056
+ var popupOpts = $xeDatePicker.computePopupOpts;
35057
+ if (popupOpts.enabled === false) {
35058
+ return renderEmptyElement($xeDatePicker);
35059
+ }
34986
35060
  var type = props.type,
34987
35061
  multiple = props.multiple,
34988
35062
  showClearButton = props.showClearButton,
@@ -35000,7 +35074,6 @@ var DatePanel = VxeDatePanel;
35000
35074
  var isDateTimeType = $xeDatePicker.computeIsDateTimeType;
35001
35075
  var shortcutList = $xeDatePicker.computeShortcutList;
35002
35076
  var timeOpts = $xeDatePicker.computeTimeOpts;
35003
- var popupOpts = $xeDatePicker.computePopupOpts;
35004
35077
  var position = shortcutOpts.position;
35005
35078
  var headerSlot = slots.header;
35006
35079
  var footerSlot = slots.footer;
@@ -35228,6 +35301,14 @@ var DatePanel = VxeDatePanel;
35228
35301
  },
35229
35302
  created: function created() {
35230
35303
  var $xeDatePicker = this;
35304
+ var internalData = $xeDatePicker.internalData;
35305
+ var parseInputKayMaps = internalData.parseInputKayMaps;
35306
+ var inputKeys = ['y', 'M', 'd', 'H', 'm', 'n'];
35307
+ inputKeys.forEach(function (key) {
35308
+ parseInputKayMaps[key] = function (evnt) {
35309
+ evnt.preventDefault();
35310
+ };
35311
+ });
35231
35312
  $xeDatePicker.updateModelValue();
35232
35313
  globalEvents.on($xeDatePicker, 'mousewheel', $xeDatePicker.handleGlobalMousewheelEvent);
35233
35314
  globalEvents.on($xeDatePicker, 'mousedown', $xeDatePicker.handleGlobalMousedownEvent);
@@ -35857,6 +35938,8 @@ var DatePicker = VxeDatePicker;
35857
35938
  reactData.isActivated = true;
35858
35939
  if (!trigger || trigger === 'default') {
35859
35940
  $xeDateRangePicker.dateRangePickerOpenEvent(evnt);
35941
+ } else if (trigger === 'icon') {
35942
+ $xeDateRangePicker.hidePanel();
35860
35943
  }
35861
35944
  $xeDateRangePicker.triggerEvent(evnt);
35862
35945
  },
@@ -36243,6 +36326,9 @@ var DatePicker = VxeDatePicker;
36243
36326
  var panelIndex = reactData.panelIndex;
36244
36327
  var targetElem = $xeDateRangePicker.$refs.refInputTarget;
36245
36328
  var panelElem = $xeDateRangePicker.$refs.refInputPanel;
36329
+ if (!panelElem) {
36330
+ return $xeDateRangePicker.$nextTick();
36331
+ }
36246
36332
  var btnTransfer = $xeDateRangePicker.computeBtnTransfer;
36247
36333
  var popupOpts = $xeDateRangePicker.computePopupOpts;
36248
36334
  var handleStyle = function handleStyle() {
@@ -36269,13 +36355,9 @@ var DatePicker = VxeDatePicker;
36269
36355
  var btnTransfer = $xeDateRangePicker.computeBtnTransfer;
36270
36356
  var panelElem = $xeDateRangePicker.$refs.refInputPanel;
36271
36357
  if (!isDisabled && !visiblePanel) {
36272
- if (!reactData.initialized) {
36358
+ if (!reactData.initialized && btnTransfer && panelElem) {
36273
36359
  reactData.initialized = true;
36274
- if (btnTransfer) {
36275
- if (panelElem) {
36276
- document.body.appendChild(panelElem);
36277
- }
36278
- }
36360
+ document.body.appendChild(panelElem);
36279
36361
  }
36280
36362
  if (internalData.hpTimeout) {
36281
36363
  clearTimeout(internalData.hpTimeout);
@@ -36303,10 +36385,16 @@ var DatePicker = VxeDatePicker;
36303
36385
  },
36304
36386
  clickIconEvent: function clickIconEvent(evnt) {
36305
36387
  var $xeDateRangePicker = this;
36388
+ var reactData = $xeDateRangePicker.reactData;
36389
+ var visiblePanel = reactData.visiblePanel;
36306
36390
  var popupOpts = $xeDateRangePicker.computePopupOpts;
36307
36391
  var trigger = popupOpts.trigger;
36308
36392
  if (!trigger || trigger === 'default' || trigger === 'icon') {
36309
- $xeDateRangePicker.dateRangePickerOpenEvent(evnt);
36393
+ if (visiblePanel) {
36394
+ $xeDateRangePicker.hidePanel();
36395
+ } else {
36396
+ $xeDateRangePicker.dateRangePickerOpenEvent(evnt);
36397
+ }
36310
36398
  }
36311
36399
  },
36312
36400
  clickEvent: function clickEvent(evnt) {
@@ -36449,6 +36537,10 @@ var DatePicker = VxeDatePicker;
36449
36537
  var props = $xeDateRangePicker;
36450
36538
  var slots = $xeDateRangePicker.$scopedSlots;
36451
36539
  var reactData = $xeDateRangePicker.reactData;
36540
+ var popupOpts = $xeDateRangePicker.computePopupOpts;
36541
+ if (popupOpts.enabled === false) {
36542
+ return renderEmptyElement($xeDateRangePicker);
36543
+ }
36452
36544
  var type = props.type,
36453
36545
  separator = props.separator,
36454
36546
  autoClose = props.autoClose,
@@ -36471,7 +36563,6 @@ var DatePicker = VxeDatePicker;
36471
36563
  var defaultDates = $xeDateRangePicker.computeDefaultDates;
36472
36564
  var defaultTimes = $xeDateRangePicker.computeDefaultTimes;
36473
36565
  var timeOpts = $xeDateRangePicker.computeTimeOpts;
36474
- var popupOpts = $xeDateRangePicker.computePopupOpts;
36475
36566
  var startLabel = panelLabelObj.startLabel,
36476
36567
  endLabel = panelLabelObj.endLabel;
36477
36568
  var position = shortcutOpts.position;
@@ -52544,7 +52635,8 @@ var Select = VxeSelect;
52544
52635
  staticItems: [],
52545
52636
  itemList: [],
52546
52637
  barWidth: 0,
52547
- barHeight: 0
52638
+ barHeight: 0,
52639
+ resizeFlag: 0
52548
52640
  };
52549
52641
  var internalData = {
52550
52642
  wrapperWidth: 0,
@@ -53075,6 +53167,7 @@ var Select = VxeSelect;
53075
53167
  document.onmousemove = function (evnt) {
53076
53168
  evnt.preventDefault();
53077
53169
  handleDrag(evnt);
53170
+ reactData.resizeFlag++;
53078
53171
  };
53079
53172
  document.onmouseup = function (evnt) {
53080
53173
  document.onmousemove = null;
@@ -53091,6 +53184,7 @@ var Select = VxeSelect;
53091
53184
  offsetWidth: targetOffsetWidth
53092
53185
  }, evnt);
53093
53186
  $xeSplitter.recalculate();
53187
+ reactData.resizeFlag++;
53094
53188
  };
53095
53189
  if (rsSplitterLineEl) {
53096
53190
  rsSplitterLineEl.style.display = 'block';
@@ -53106,6 +53200,7 @@ var Select = VxeSelect;
53106
53200
  handleItemActionEvent: function handleItemActionEvent(evnt, prevItem, nextItem, isNext) {
53107
53201
  var $xeSplitter = this;
53108
53202
  var props = $xeSplitter;
53203
+ var reactData = $xeSplitter.reactData;
53109
53204
  var vertical = props.vertical;
53110
53205
  var expanded = false;
53111
53206
  var item = prevItem;
@@ -53149,6 +53244,7 @@ var Select = VxeSelect;
53149
53244
  }, evnt);
53150
53245
  }
53151
53246
  $xeSplitter.recalculate();
53247
+ reactData.resizeFlag++;
53152
53248
  },
53153
53249
  handlePrevActionDblclickEvent: function handlePrevActionDblclickEvent(evnt) {
53154
53250
  var $xeSplitter = this;