@kdcloudjs/kdesign 1.7.63 → 1.7.65

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/kdesign.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @kdcloudjs/kdesign v1.7.62
3
+ * @kdcloudjs/kdesign v1.7.64
4
4
  *
5
5
  * Copyright 2020-present, Kingdee, Inc.
6
6
  * All rights reserved.
@@ -4344,16 +4344,16 @@ __webpack_require__.r(__webpack_exports__);
4344
4344
  /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__);
4345
4345
  /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
4346
4346
  /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);
4347
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
4348
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__);
4349
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js");
4350
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__);
4351
- /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js");
4352
- /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_6__);
4353
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
4354
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_7__);
4355
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
4356
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8__);
4347
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
4348
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4__);
4349
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
4350
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_5__);
4351
+ /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js");
4352
+ /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_6__);
4353
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
4354
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_7__);
4355
+ /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js");
4356
+ /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_8__);
4357
4357
  /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
4358
4358
  /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_9__);
4359
4359
  /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js");
@@ -4492,8 +4492,11 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4492
4492
 
4493
4493
  // 记录每个选项的开始与结束下标
4494
4494
  var setValIndxPosition = Object(react__WEBPACK_IMPORTED_MODULE_17__["useCallback"])(function () {
4495
+ var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
4495
4496
  var arr = [];
4496
- inputValue.split(delimiter).reduce(function (pre, next) {
4497
+ (str || inputValue).split(delimiter).filter(function (item) {
4498
+ return !!item;
4499
+ }).reduce(function (pre, next) {
4497
4500
  arr.push({
4498
4501
  start: pre,
4499
4502
  end: pre + next.length
@@ -4502,6 +4505,12 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4502
4505
  }, 0);
4503
4506
  return arr;
4504
4507
  }, [delimiter, inputValue]);
4508
+ var initInputValue = (searchInfo.current.editOptions || []).filter(function (item) {
4509
+ return !!item;
4510
+ }).reduce(function (pre, next, index, arr) {
4511
+ return "".concat(pre).concat(next[optionLabelProp]).concat(index !== arr.length - 1 ? delimiter : '');
4512
+ }, '');
4513
+ var initIndexPos = setValIndxPosition(initInputValue);
4505
4514
  Object(react__WEBPACK_IMPORTED_MODULE_17__["useEffect"])(function () {
4506
4515
  var list = setValIndxPosition();
4507
4516
  setIndxPosList(list);
@@ -4520,18 +4529,17 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4520
4529
  searchInfo.current.editOptions = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(seletedItems);
4521
4530
  }, [value, isMultiple]);
4522
4531
  Object(react__WEBPACK_IMPORTED_MODULE_17__["useEffect"])(function () {
4523
- var _inputRef$current;
4532
+ var _inputRef$current, _inputRef$current$inp;
4524
4533
  if (!searchInfo.current.previousEditValue) return;
4525
4534
  var posList = setValIndxPosition();
4526
4535
  var preValueArr = getStrToArr(searchInfo.current.previousEditValue, delimiter);
4527
4536
  var valueArr = getStrToArr(inputValue, delimiter);
4528
- var selectionStart = ((_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.selectionStart) || 0;
4537
+ var selectionStart = ((_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : (_inputRef$current$inp = _inputRef$current.input) === null || _inputRef$current$inp === void 0 ? void 0 : _inputRef$current$inp.selectionStart) || 0;
4529
4538
  var index = findSelectionIndex(selectionStart, posList);
4530
4539
  searchInfo.current.searchIndex = index;
4531
4540
  // 新增一个
4532
4541
  var list = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(searchInfo.current.editOptions || []);
4533
4542
  if (valueArr.length - preValueArr.length === 1) {
4534
- searchInfo.current.deleteEndIndx = index;
4535
4543
  list.splice(index, 0, null);
4536
4544
  }
4537
4545
  if (valueArr.length < preValueArr.length) {
@@ -4548,6 +4556,17 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4548
4556
  end = _findDeleteInterval.end;
4549
4557
  list === null || list === void 0 ? void 0 : list.splice(start, end - start + 1);
4550
4558
  }
4559
+ // 判断每次单个按del键时删除了分隔符后下一次触发
4560
+ if (searchInfo.current.deleteEndIndx > 0 && selectionStart !== searchInfo.current.deleteEndIndx) {
4561
+ var _findDeleteInterval2 = findDeleteInterval(selectionStart, searchInfo.current.deleteEndIndx, initIndexPos),
4562
+ _start = _findDeleteInterval2.start,
4563
+ _end = _findDeleteInterval2.end;
4564
+ // 单个删除时找到合理的下标触发
4565
+ if (_start !== null && _end !== null && _start <= _end) {
4566
+ list === null || list === void 0 ? void 0 : list.splice(_start, _end - _start + 1);
4567
+ searchInfo.current.deleteEndIndx = 0;
4568
+ }
4569
+ }
4551
4570
  searchInfo.current.editOptions = list;
4552
4571
  searchInfo.current.previousEditValue = inputValue;
4553
4572
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -4562,8 +4581,10 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4562
4581
 
4563
4582
  // 当选中项文字超出输入框时,显示共多少项
4564
4583
  Object(react__WEBPACK_IMPORTED_MODULE_17__["useLayoutEffect"])(function () {
4565
- if (!inputRef.current) return;
4566
- if (inputRef.current.scrollWidth - inputRef.current.offsetWidth > 0) {
4584
+ var _inputRef$current2;
4585
+ var inputDom = (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.input;
4586
+ if (!inputDom) return;
4587
+ if (inputDom.scrollWidth - inputDom.offsetWidth > 0) {
4567
4588
  setShowTotal(true);
4568
4589
  } else {
4569
4590
  setShowTotal(false);
@@ -4582,20 +4603,37 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4582
4603
  Object(react__WEBPACK_IMPORTED_MODULE_17__["useEffect"])(function () {
4583
4604
  setValueBySeleted();
4584
4605
  }, [setValueBySeleted]);
4606
+ var findDeletedChar = function findDeletedChar(prev, current) {
4607
+ if (prev.length > current.length) {
4608
+ for (var i = 0; i < prev.length; i++) {
4609
+ if (prev[i] !== current[i]) {
4610
+ return prev[i];
4611
+ }
4612
+ }
4613
+ return prev[prev.length - 1];
4614
+ }
4615
+ return null;
4616
+ };
4585
4617
  var changeInputText = function changeInputText(e) {
4618
+ var _inputRef$current3;
4586
4619
  setOptionShow(true);
4587
4620
  var textValue = e.target.value;
4588
4621
  var val = textValue;
4589
- if (isMultiple && inputRef.current && textValue && textValue.length > inputValue.length) {
4590
- var selectionStart = inputRef.current.selectionStart || 0; // selectionStart: 光标前面有几个字符
4622
+ var inputDom = (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.input;
4623
+ var selectionStart = inputDom.selectionStart || 0; // selectionStart: 光标前面有几个字符
4624
+ if (isMultiple && inputDom && textValue && textValue.length > inputValue.length) {
4591
4625
  searchInfo.current.selectionStart = selectionStart;
4592
4626
  var isInHead = selectionStart === 1 && textValue[1] !== delimiter && textValue.length !== 1; // 在首部添加
4593
4627
  var isInMid = selectionStart !== textValue.length && textValue[selectionStart - 2] === delimiter && textValue[selectionStart] !== delimiter;
4594
4628
  if (isInHead || isInMid) {
4595
- inputRef.current.value = val = textValue.substring(0, selectionStart) + delimiter + textValue.substring(selectionStart, textValue.length);
4596
- setCursorPosition(inputRef.current, selectionStart);
4629
+ inputDom.value = val = textValue.substring(0, selectionStart) + delimiter + textValue.substring(selectionStart, textValue.length);
4630
+ setCursorPosition(inputDom, selectionStart);
4597
4631
  }
4598
4632
  }
4633
+ // 单个删除时 当删除的字符为分隔符delimiter 记录位置
4634
+ if (findDeletedChar(searchInfo.current.previousEditValue || '', textValue) === delimiter) {
4635
+ searchInfo.current.deleteEndIndx = selectionStart;
4636
+ }
4599
4637
  setInputValue(val);
4600
4638
  handleChange(val);
4601
4639
  };
@@ -4609,11 +4647,12 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4609
4647
  return queryStr;
4610
4648
  }
4611
4649
  if (inputRef.current && queryStr) {
4650
+ var _inputRef$current4, _inputRef$current4$in;
4612
4651
  if (queryStr.indexOf(delimiter) < 0) {
4613
4652
  // 只有一条记录
4614
4653
  return queryStr;
4615
4654
  }
4616
- var selectionStart = inputRef.current.selectionStart || 0;
4655
+ var selectionStart = ((_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : (_inputRef$current4$in = _inputRef$current4.input) === null || _inputRef$current4$in === void 0 ? void 0 : _inputRef$current4$in.selectionStart) || 0;
4617
4656
  var startIndex = queryStr.slice(0, selectionStart).lastIndexOf(delimiter) + 1; // 光标前面最近分隔符index
4618
4657
  var endIndex = queryStr.slice(selectionStart).indexOf(delimiter);
4619
4658
  endIndex = endIndex === -1 ? queryStr.length : selectionStart + endIndex; // 光标后面最近分隔符index
@@ -4651,12 +4690,14 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4651
4690
  setSeletedOptions(list);
4652
4691
  };
4653
4692
  var showInputTotal = function showInputTotal() {
4693
+ var _inputRef$current5;
4654
4694
  if (disabled) return;
4655
- if (inputRef.current) {
4656
- var scrollToWidth = inputRef.current.scrollWidth - inputRef.current.offsetWidth;
4657
- inputRef.current.scrollLeft = scrollToWidth;
4695
+ var inputDom = (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.input;
4696
+ if (inputDom) {
4697
+ var scrollToWidth = inputDom.scrollWidth - inputDom.offsetWidth;
4698
+ inputDom.scrollLeft = scrollToWidth;
4658
4699
  setTimeout(function () {
4659
- setCursorPosition(inputRef.current, inputValue.length + 1);
4700
+ setCursorPosition(inputDom, inputValue.length + 1);
4660
4701
  }, 0);
4661
4702
  }
4662
4703
  };
@@ -4687,11 +4728,12 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4687
4728
 
4688
4729
  // 双击选中当前项
4689
4730
  var handleDoubleClick = function handleDoubleClick() {
4690
- var _inputRef$current2, _inputRef$current3;
4691
- var _findDbClickSelectedP = findDbClickSelectedPos(((_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.selectionStart) || 0, ((_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.selectionEnd) || 0),
4731
+ var _inputRef$current6;
4732
+ var inputDom = (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : _inputRef$current6.input;
4733
+ var _findDbClickSelectedP = findDbClickSelectedPos((inputDom === null || inputDom === void 0 ? void 0 : inputDom.selectionStart) || 0, (inputDom === null || inputDom === void 0 ? void 0 : inputDom.selectionEnd) || 0),
4692
4734
  start = _findDbClickSelectedP.start,
4693
4735
  end = _findDbClickSelectedP.end;
4694
- handleSeletedText(inputRef.current, start, end);
4736
+ handleSeletedText(inputDom, start, end);
4695
4737
  };
4696
4738
  var findDbClickSelectedPos = function findDbClickSelectedPos(selectionStart, selectionEnd) {
4697
4739
  for (var index = 0; index < indxPosList.length; index++) {