@kdcloudjs/kdesign 1.7.64 → 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.63
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);
@@ -4531,7 +4540,6 @@ var InternalBaseData = function InternalBaseData(props, ref) {
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
@@ -4584,14 +4603,25 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4584
4603
  Object(react__WEBPACK_IMPORTED_MODULE_17__["useEffect"])(function () {
4585
4604
  setValueBySeleted();
4586
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
+ };
4587
4617
  var changeInputText = function changeInputText(e) {
4588
4618
  var _inputRef$current3;
4589
4619
  setOptionShow(true);
4590
4620
  var textValue = e.target.value;
4591
4621
  var val = textValue;
4592
4622
  var inputDom = (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.input;
4623
+ var selectionStart = inputDom.selectionStart || 0; // selectionStart: 光标前面有几个字符
4593
4624
  if (isMultiple && inputDom && textValue && textValue.length > inputValue.length) {
4594
- var selectionStart = inputDom.selectionStart || 0; // selectionStart: 光标前面有几个字符
4595
4625
  searchInfo.current.selectionStart = selectionStart;
4596
4626
  var isInHead = selectionStart === 1 && textValue[1] !== delimiter && textValue.length !== 1; // 在首部添加
4597
4627
  var isInMid = selectionStart !== textValue.length && textValue[selectionStart - 2] === delimiter && textValue[selectionStart] !== delimiter;
@@ -4600,6 +4630,10 @@ var InternalBaseData = function InternalBaseData(props, ref) {
4600
4630
  setCursorPosition(inputDom, selectionStart);
4601
4631
  }
4602
4632
  }
4633
+ // 单个删除时 当删除的字符为分隔符delimiter 记录位置
4634
+ if (findDeletedChar(searchInfo.current.previousEditValue || '', textValue) === delimiter) {
4635
+ searchInfo.current.deleteEndIndx = selectionStart;
4636
+ }
4603
4637
  setInputValue(val);
4604
4638
  handleChange(val);
4605
4639
  };