@titaui/pc 1.11.52-beta.6 → 1.11.52-beta.7

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.
@@ -9,6 +9,8 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _cloneDeep = _interopRequireDefault(require("clone-deep"));
13
+
12
14
  var _uuid = _interopRequireDefault(require("uuid"));
13
15
 
14
16
  var _bsGlobal = require("../../../utils/bs-global");
@@ -60,8 +62,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
60
62
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
61
63
 
62
64
  function KrDatas(props) {
63
- var krs = props.krs,
64
- isCustomWeight = props.isCustomWeight,
65
+ var isCustomWeight = props.isCustomWeight,
65
66
  wrapperRef = props.wrapperRef,
66
67
  setKrDatas = props.setKrDatas,
67
68
  krDatas = props.krDatas,
@@ -88,6 +89,7 @@ function KrDatas(props) {
88
89
 
89
90
  var timerRef = (0, _react.useRef)();
90
91
  var krNameIsEmpty = (0, _react.useRef)(!inputKrInfo || !inputKrInfo.mileStoneName);
92
+ var krDatasRef = (0, _react.useRef)(krDatas);
91
93
  var setting = (0, _bsGlobal.getBSGlobal)('OkrAdvancedSetting').KRSetting;
92
94
 
93
95
  var _getUserInfo = (0, _bsGlobal.getUserInfo)(),
@@ -99,49 +101,13 @@ function KrDatas(props) {
99
101
  var total = 0;
100
102
 
101
103
  if (isCustomWeight) {
102
- krs.forEach(function (kr) {
104
+ krDatas.forEach(function (kr) {
103
105
  return total += Number(kr.krWeight);
104
106
  }); // total = RoundWeight(total); // 不知道为啥,这样如果自定义了总的超过100了还是会展示total100
105
107
 
106
108
  total = total.toFixed(1);
107
109
  } else {
108
110
  total = 100;
109
- } // 添加KR
110
-
111
-
112
- function addKr() {
113
- setKrIsValidate(false);
114
- setTimeout(function () {
115
- if (!wrapperRef.current || krDatas.length < 6) return;
116
- wrapperRef.current.scrollTop = wrapperRef.current.scrollHeight;
117
- }, 0);
118
-
119
- if (!isCustomWeight) {
120
- setKrDatas([].concat(_toConsumableArray(krDatas.map(function (kr) {
121
- return _objectSpread(_objectSpread({}, kr), {}, {
122
- krWeight: (0, _roundWeight.RoundWeight)(100 / (krDatas.length + 1))
123
- });
124
- })), [{
125
- uuid: _uuid["default"].v1(),
126
- principalId: Id,
127
- principalName: Name,
128
- userAvatar: UserAvatar,
129
- krWeight: (0, _roundWeight.RoundWeight)(100 / (krDatas.length + 1)),
130
- mileStoneName: '',
131
- confidenceIndex: 5
132
- }]));
133
- return;
134
- }
135
-
136
- setKrDatas([].concat(_toConsumableArray(krDatas), [{
137
- uuid: _uuid["default"].v1(),
138
- principalId: Id,
139
- principalName: Name,
140
- userAvatar: UserAvatar,
141
- krWeight: 0,
142
- mileStoneName: '',
143
- confidenceIndex: 5
144
- }]));
145
111
  }
146
112
 
147
113
  var getKrAnalysisInfo = function getKrAnalysisInfo() {
@@ -190,50 +156,78 @@ function KrDatas(props) {
190
156
  })["finally"](function () {
191
157
  setIsInputContent(false);
192
158
  });
193
- }; // 修改KR
159
+ }; // 添加KR
194
160
 
195
161
 
196
- var changeKr = function changeKr(kr) {
197
- var index = krDatas.findIndex(function (k) {
198
- return k.uuid === kr.uuid;
199
- });
162
+ function addKr() {
163
+ var krDatasClone = (0, _cloneDeep["default"])(krDatasRef.current);
164
+ var krsCount = krDatasClone.length;
165
+ setKrIsValidate(false);
166
+ setTimeout(function () {
167
+ if (!wrapperRef.current || krsCount < 6) return;
168
+ wrapperRef.current.scrollTop = wrapperRef.current.scrollHeight;
169
+ }, 0);
170
+
171
+ if (!isCustomWeight) {
172
+ var krWeight = (0, _roundWeight.RoundWeight)(100 / (krsCount + 1));
200
173
 
201
- if (krDatas[index].krWeight !== kr.krWeight) {
174
+ var _newKrs = [].concat(_toConsumableArray(krDatasClone.map(function (kr) {
175
+ return _objectSpread(_objectSpread({}, kr), {}, {
176
+ krWeight: krWeight
177
+ });
178
+ })), [{
179
+ uuid: _uuid["default"].v1(),
180
+ principalId: Id,
181
+ principalName: Name,
182
+ userAvatar: UserAvatar,
183
+ krWeight: krWeight,
184
+ mileStoneName: '',
185
+ mileStoneNamePureTextExcludeAt: '',
186
+ mileStoneNameRichText: undefined,
187
+ aiteUsers: [],
188
+ confidenceIndex: 5
189
+ }]);
190
+
191
+ setKrDatas(_newKrs);
192
+ krDatasRef.current = _newKrs;
193
+ return;
194
+ }
195
+
196
+ var newKrs = [].concat(_toConsumableArray(krDatasClone), [{
197
+ uuid: _uuid["default"].v1(),
198
+ principalId: Id,
199
+ principalName: Name,
200
+ userAvatar: UserAvatar,
201
+ krWeight: 0,
202
+ mileStoneName: '',
203
+ mileStoneNamePureTextExcludeAt: '',
204
+ mileStoneNameRichText: undefined,
205
+ aiteUsers: [],
206
+ confidenceIndex: 5
207
+ }]);
208
+ setKrDatas(newKrs);
209
+ krDatasRef.current = newKrs;
210
+ } // 修改KR
211
+
212
+
213
+ var _changeKr = (0, _react.useCallback)(function (kr, index) {
214
+ if (krDatasRef.current[index].krWeight !== kr.krWeight) {
202
215
  setIsCustomWeight(true);
203
216
  }
204
217
 
205
- var newKrs = _toConsumableArray(krDatas);
218
+ var newKrs = _toConsumableArray(krDatasRef.current);
206
219
 
207
220
  newKrs[index] = kr;
208
221
  setKrDatas(newKrs);
222
+ krDatasRef.current = newKrs;
209
223
  setInputKrInfo(kr);
210
- };
211
-
212
- (0, _react.useEffect)(function () {
213
- // 防抖
214
- krNameIsEmpty.current = !inputKrInfo || !inputKrInfo.mileStoneName;
215
-
216
- if (!inputKrInfo || !inputKrInfo.mileStoneName) {
217
- setIsInputContent(false);
218
- setKrsCheckResult({
219
- finalResult: _okrCreateSuggest.EOkrCreateSuggestResultType.normal,
220
- friendlyResult: []
221
- });
222
- } else if (timerRef.current) {
223
- clearTimeout(timerRef.current);
224
- timerRef.current = setTimeout(getKrAnalysisInfo, 1000);
225
- } else {
226
- timerRef.current = setTimeout(getKrAnalysisInfo, 1000);
227
- }
224
+ }, [krDatasRef.current]); // 删除KR
228
225
 
229
- return function () {
230
- clearTimeout(timerRef.current);
231
- };
232
- }, [inputKrInfo, setIsInputContent]); // 删除KR
233
226
 
234
227
  var deleteKr = function deleteKr(id) {
228
+ var krDatasClone = (0, _cloneDeep["default"])(krDatasRef.current);
235
229
  setKrIsValidate(false);
236
- var newKrDatas = krDatas.filter(function (k) {
230
+ var newKrDatas = krDatasClone.filter(function (k) {
237
231
  return k.uuid !== id;
238
232
  });
239
233
 
@@ -246,6 +240,7 @@ function KrDatas(props) {
246
240
  }
247
241
 
248
242
  setKrDatas(newKrDatas);
243
+ krDatasRef.current = newKrDatas;
249
244
 
250
245
  var tempKrCheckResult = _toConsumableArray(krsCheckFriendlyResult);
251
246
 
@@ -266,16 +261,39 @@ function KrDatas(props) {
266
261
 
267
262
  var onKrInputStateChange = (0, _react.useCallback)(function (isFocus, krInfo) {
268
263
  setInputKrInfo(krInfo);
264
+ handleKrInputStateChange === null || handleKrInputStateChange === void 0 ? void 0 : handleKrInputStateChange(isFocus);
265
+ }, []);
266
+ (0, _react.useEffect)(function () {
267
+ // 防抖
268
+ krNameIsEmpty.current = !inputKrInfo || !inputKrInfo.mileStoneName;
269
269
 
270
- if (handleKrInputStateChange) {
271
- handleKrInputStateChange(isFocus);
270
+ if (!inputKrInfo || !inputKrInfo.mileStoneName) {
271
+ setIsInputContent(false);
272
+ setKrsCheckResult({
273
+ finalResult: _okrCreateSuggest.EOkrCreateSuggestResultType.normal,
274
+ friendlyResult: []
275
+ });
276
+ } else if (timerRef.current) {
277
+ clearTimeout(timerRef.current);
278
+ timerRef.current = setTimeout(getKrAnalysisInfo, 1000);
279
+ } else {
280
+ timerRef.current = setTimeout(getKrAnalysisInfo, 1000);
272
281
  }
282
+
283
+ return function () {
284
+ clearTimeout(timerRef.current);
285
+ };
286
+ }, [inputKrInfo, setIsInputContent]);
287
+ (0, _react.useEffect)(function () {
288
+ krDatasRef.current = krDatas;
273
289
  }, []);
274
- return /*#__PURE__*/_react["default"].createElement("div", null, krs.map(function (kr, index) {
290
+ return /*#__PURE__*/_react["default"].createElement("div", null, krDatasRef.current.map(function (kr, index) {
275
291
  return /*#__PURE__*/_react["default"].createElement(_krItem["default"], {
276
292
  key: kr === null || kr === void 0 ? void 0 : kr.uuid,
277
293
  krData: kr,
278
- changeKr: changeKr,
294
+ changeKr: function changeKr(newKr) {
295
+ return _changeKr(newKr, index);
296
+ },
279
297
  deleteKr: deleteKr,
280
298
  container: container,
281
299
  index: index + 1,
@@ -292,7 +310,7 @@ function KrDatas(props) {
292
310
  className: "add-kr-btn__icon",
293
311
  src: _krAdd["default"],
294
312
  alt: ""
295
- }), (0, _getLocale.getLocale)('OKR_MyO_Pop_Butt_AddKR')), krs.length > 0 && openKrWeight && /*#__PURE__*/_react["default"].createElement("span", {
313
+ }), (0, _getLocale.getLocale)('OKR_MyO_Pop_Butt_AddKR')), krDatasRef.current.length > 0 && openKrWeight && /*#__PURE__*/_react["default"].createElement("span", {
296
314
  className: "krs-info__total-weight"
297
315
  }, (0, _getLocale.getLocale)('OKR_MyO_Pop_Text_Total'), total, "%")));
298
316
  }
@@ -9,6 +9,8 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
12
14
  var _richEditor = require("@titaui/rich-editor");
13
15
 
14
16
  var _bsGlobal = require("../../../utils/bs-global");
@@ -35,54 +37,37 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
35
37
 
36
38
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
39
 
38
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
39
-
40
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
41
-
42
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
43
-
44
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
45
-
46
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
47
-
48
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
49
-
50
- function KrItem(_ref) {
51
- var krData = _ref.krData,
52
- changeKr = _ref.changeKr,
53
- deleteKr = _ref.deleteKr,
54
- container = _ref.container,
55
- index = _ref.index,
56
- onKrInputStateChange = _ref.onKrInputStateChange,
57
- onAddKr = _ref.onAddKr,
58
- setIsInputContent = _ref.setIsInputContent,
59
- domRef = _ref.domRef,
60
- krIsValidate = _ref.krIsValidate;
40
+ function KrItem(props) {
41
+ var krData = props.krData,
42
+ changeKr = props.changeKr,
43
+ deleteKr = props.deleteKr,
44
+ container = props.container,
45
+ index = props.index,
46
+ onKrInputStateChange = props.onKrInputStateChange,
47
+ onAddKr = props.onAddKr,
48
+ setIsInputContent = props.setIsInputContent,
49
+ domRef = props.domRef,
50
+ krIsValidate = props.krIsValidate;
61
51
  var setting = (0, _bsGlobal.getBSGlobal)('OkrAdvancedSetting').KRSetting;
62
52
  var openKrWeight = setting.KrWeight;
63
-
64
- var _useState = (0, _react.useState)(false),
65
- _useState2 = _slicedToArray(_useState, 2),
66
- showDelIcon = _useState2[0],
67
- setShowDelIcon = _useState2[1];
68
-
69
53
  var mentionInputRef = (0, _react.useRef)();
70
54
  var oldKrNameRef = (0, _react.useRef)('');
55
+ var krDataRef = (0, _react.useRef)(krData);
71
56
 
72
57
  var onUserSelectorSubmitHandler = function onUserSelectorSubmitHandler(users) {
73
- changeKr(_objectSpread(_objectSpread({}, krData), {}, {
58
+ changeKr(_objectSpread(_objectSpread({}, krDataRef.current), {}, {
74
59
  principalId: users[0].Id,
75
60
  principalName: users[0].Name,
76
61
  userAvatar: users[0].UserAvatar
77
62
  }));
78
63
  };
79
64
 
80
- var onKrNameInputChangeHandler = function onKrNameInputChangeHandler(_ref2) {
81
- var mentionUsers = _ref2.mentionUsers,
82
- pureText = _ref2.pureText,
83
- pureTextExcludeAt = _ref2.pureTextExcludeAt,
84
- richText = _ref2.richText;
85
- changeKr(_objectSpread(_objectSpread({}, krData), {}, {
65
+ var onKrNameInputChangeHandler = (0, _react.useCallback)(function (data) {
66
+ var mentionUsers = data.mentionUsers,
67
+ pureText = data.pureText,
68
+ pureTextExcludeAt = data.pureTextExcludeAt,
69
+ richText = data.richText;
70
+ changeKr(_objectSpread(_objectSpread({}, krDataRef.current), {}, {
86
71
  mileStoneName: pureText,
87
72
  mileStoneNameRichText: richText,
88
73
  mileStoneNamePureTextExcludeAt: pureTextExcludeAt,
@@ -90,10 +75,10 @@ function KrItem(_ref) {
90
75
  return user.mentionId;
91
76
  })
92
77
  }));
93
- };
78
+ }, []);
94
79
 
95
80
  var onDeleteKrClickHandler = function onDeleteKrClickHandler() {
96
- deleteKr(krData.uuid);
81
+ return deleteKr(krData.uuid);
97
82
  };
98
83
 
99
84
  var formatUser = (0, _react.useMemo)(function () {
@@ -104,12 +89,6 @@ function KrItem(_ref) {
104
89
  Id: krData.principalId
105
90
  };
106
91
  }, [krData.userAvatar.Medium, krData.principalName, krData.principalName, krData.principalId]);
107
- var handleMouseEnter = (0, _react.useCallback)(function () {
108
- setShowDelIcon(true);
109
- }, []);
110
- var handleMouseLeave = (0, _react.useCallback)(function () {
111
- setShowDelIcon(false);
112
- }, []);
113
92
  var handleInputFocus = (0, _react.useCallback)(function () {
114
93
  onKrInputStateChange && onKrInputStateChange(true, krData);
115
94
  }, [krData]);
@@ -135,26 +114,34 @@ function KrItem(_ref) {
135
114
  oldKrNameRef.current = e.target.value;
136
115
  }
137
116
  }, []);
117
+ (0, _react.useEffect)(function () {
118
+ krDataRef.current = krData;
119
+ }, [krData]);
120
+ var _krDataRef$current = krDataRef.current,
121
+ mileStoneNamePureTextExcludeAt = _krDataRef$current.mileStoneNamePureTextExcludeAt,
122
+ mileStoneNameRichText = _krDataRef$current.mileStoneNameRichText;
123
+ var krNameLen = (mileStoneNamePureTextExcludeAt === null || mileStoneNamePureTextExcludeAt === void 0 ? void 0 : mileStoneNamePureTextExcludeAt.length) || 0;
138
124
  return /*#__PURE__*/_react["default"].createElement("div", {
139
- className: "create-kr-item-wrapper",
140
- onMouseEnter: handleMouseEnter,
141
- onMouseLeave: handleMouseLeave
125
+ className: "create-kr-item-wrapper"
142
126
  }, /*#__PURE__*/_react["default"].createElement("a", {
143
- className: "kr-item__delete-icon tu-icon-del ".concat(showDelIcon ? 'kr-item__delete-icon--show' : ''),
127
+ className: "kr-item__delete-icon tu-icon-del",
144
128
  onClick: onDeleteKrClickHandler
145
129
  }), /*#__PURE__*/_react["default"].createElement("div", {
146
- className: "kr-item__right-block ".concat(krIsValidate ? krData.mileStoneName && krData.mileStoneName.length <= 500 ? '' : 'kr-item__right-block--error' : '')
130
+ className: (0, _classnames["default"])('kr-item__right-block', {
131
+ 'kr-item__right-block--error': krNameLen > 500
132
+ })
147
133
  }, /*#__PURE__*/_react["default"].createElement("span", {
148
134
  className: "kr-item__order"
149
135
  }, "KR", index), /*#__PURE__*/_react["default"].createElement("div", {
150
136
  className: "kr-item__input-wrapper"
151
137
  }, /*#__PURE__*/_react["default"].createElement(_inputWithErrPopup["default"], {
152
- strLength: krData.mileStoneName ? krData.mileStoneName.length : 0,
138
+ strLength: krNameLen,
153
139
  maxLength: 500,
154
140
  position: "top"
155
141
  }, /*#__PURE__*/_react["default"].createElement(_richEditor.TitaInlineRichEditor, {
156
- initialState: krData.mileStoneName,
157
- onChange: onKrNameInputChangeHandler,
142
+ initialState: mileStoneNameRichText,
143
+ key: krData === null || krData === void 0 ? void 0 : krData.uuid,
144
+ onDocChange: onKrNameInputChangeHandler,
158
145
  onFocus: handleInputFocus,
159
146
  onBlur: handleInputBlur,
160
147
  onKeyDown: handleOnKeyDown,
@@ -13,7 +13,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
13
13
 
14
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
15
 
16
- var Wrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 449px;\n padding: 0 32px;\n overflow: auto;\n"])));
16
+ var Wrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 449px;\n overflow: auto;\n \n .create-modal__wrapper-inner {\n padding: 0 32px;\n }\n"])));
17
17
 
18
18
  exports.Wrapper = Wrapper;
19
19
 
@@ -48,17 +48,17 @@ var KrItemWrapper = _styledComponents["default"].div(_templateObject9 || (_templ
48
48
  exports.KrItemWrapper = KrItemWrapper;
49
49
 
50
50
  var KrEditWrapper = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n height: 36px;\n background: #ffffff;\n border: 1px solid ", ";\n border-radius: 4px;\n ", "\n display: flex;\n align-items: center;\n flex: 1;\n padding: 0 10px;\n transition: border 0.2s ease 0.2s, box-shadow 0.2s ease 0.2s;\n > span {\n font-size: 13px;\n font-weight: 400;\n text-align: left;\n color: #6f7886;\n margin-left: 18px;\n }\n :hover {\n border: 1px solid #2879ff;\n }\n"])), function (p) {
51
- return p.active ? "#2879ff" : "#f0f2f5";
51
+ return p.active ? '#2879ff' : '#f0f2f5';
52
52
  }, function (p) {
53
- return p.active ? "box-shadow: 0px 0px 6px 0px rgba(40, 121, 255, 0.3) inset;" : "";
53
+ return p.active ? 'box-shadow: 0px 0px 6px 0px rgba(40, 121, 255, 0.3) inset;' : '';
54
54
  });
55
55
 
56
56
  exports.KrEditWrapper = KrEditWrapper;
57
57
 
58
58
  var InputWrapper = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n height: 36px;\n background: #ffffff;\n border: 1px solid ", ";\n border-radius: 4px;\n ", "\n display: flex;\n align-items: center;\n flex: 1;\n padding: 0 10px;\n transition: border 0.2s ease 0.2s, box-shadow 0.2s ease 0.2s;\n :hover {\n border: 1px solid #2879ff;\n }\n > input {\n flex: 1;\n border: none;\n padding: 0;\n margin: 0;\n }\n"])), function (p) {
59
- return p.active ? "#2879ff" : "#f0f2f5";
59
+ return p.active ? '#2879ff' : '#f0f2f5';
60
60
  }, function (p) {
61
- return p.active ? "box-shadow: 0px 0px 6px 0px rgba(40, 121, 255, 0.3) inset;" : "";
61
+ return p.active ? 'box-shadow: 0px 0px 6px 0px rgba(40, 121, 255, 0.3) inset;' : '';
62
62
  });
63
63
 
64
64
  exports.InputWrapper = InputWrapper;
@@ -191,7 +191,7 @@ function EditNameCmp(props) {
191
191
  editable: editable,
192
192
  initialState: okrNameData.richText,
193
193
  manualWrap: true,
194
- onChange: onChangeHandler,
194
+ onDocChange: onChangeHandler,
195
195
  onFocus: onFocusHandler,
196
196
  ref: mentionInputRef
197
197
  })), /*#__PURE__*/_react["default"].createElement("span", {
@@ -153,3 +153,7 @@
153
153
  .tita-okrdt-tree__kr-node-title .tita-rich-editor--disabled .ProseMirror p:hover {
154
154
  color: #2879ff;
155
155
  }
156
+
157
+ .tita-okrdt-tree .rc-tree-treenode {
158
+ overflow: visible !important;
159
+ }
@@ -29,6 +29,8 @@ var _toast = _interopRequireDefault(require("../../../../../toast"));
29
29
 
30
30
  var _dialogConfirm = _interopRequireWildcard(require("../../../../../dialog-confirm"));
31
31
 
32
+ var _errorTip = _interopRequireDefault(require("../../../../../tooltip/error-tip"));
33
+
32
34
  var _requestApis = require("../../../../request-apis");
33
35
 
34
36
  var _auth = require("../../../../../../utils/auth");
@@ -51,6 +53,8 @@ var _helper = require("../../../../helper");
51
53
 
52
54
  var _getLocale = require("../../../../../../utils/getLocale");
53
55
 
56
+ var _i18nFrontTranslate = require("../../../../../../utils/i18n-front-translate");
57
+
54
58
  require("./index.css");
55
59
 
56
60
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -109,63 +113,68 @@ function _default(props) {
109
113
  confidence = _useState2[0],
110
114
  setConfidence = _useState2[1];
111
115
 
112
- var _useState3 = (0, _react.useState)(data.user || {}),
116
+ var _useState3 = (0, _react.useState)(''),
113
117
  _useState4 = _slicedToArray(_useState3, 2),
114
- user = _useState4[0],
115
- setUser = _useState4[1];
118
+ errorTip = _useState4[0],
119
+ setErrorTip = _useState4[1];
116
120
 
117
- var _useState5 = (0, _react.useState)(false),
121
+ var _useState5 = (0, _react.useState)(data.user || {}),
118
122
  _useState6 = _slicedToArray(_useState5, 2),
119
- editWightVisible = _useState6[0],
120
- setEditWightVisible = _useState6[1];
123
+ user = _useState6[0],
124
+ setUser = _useState6[1];
121
125
 
122
126
  var _useState7 = (0, _react.useState)(false),
123
127
  _useState8 = _slicedToArray(_useState7, 2),
124
- editing = _useState8[0],
125
- setEditing = _useState8[1];
128
+ editWightVisible = _useState8[0],
129
+ setEditWightVisible = _useState8[1];
126
130
 
127
- var _useState9 = (0, _react.useState)(data.evaluateValue),
131
+ var _useState9 = (0, _react.useState)(false),
128
132
  _useState10 = _slicedToArray(_useState9, 2),
129
- evaluateValue = _useState10[0],
130
- setEvaluateValue = _useState10[1];
133
+ editing = _useState10[0],
134
+ setEditing = _useState10[1];
131
135
 
132
- var _useState11 = (0, _react.useState)(false),
136
+ var _useState11 = (0, _react.useState)(data.evaluateValue),
133
137
  _useState12 = _slicedToArray(_useState11, 2),
134
- krModalVsible = _useState12[0],
135
- setKrModalVsible = _useState12[1];
138
+ evaluateValue = _useState12[0],
139
+ setEvaluateValue = _useState12[1];
136
140
 
137
141
  var _useState13 = (0, _react.useState)(false),
138
142
  _useState14 = _slicedToArray(_useState13, 2),
139
- deleteModalVisible = _useState14[0],
140
- setDeleteModalVisible = _useState14[1];
143
+ krModalVsible = _useState14[0],
144
+ setKrModalVsible = _useState14[1];
145
+
146
+ var _useState15 = (0, _react.useState)(false),
147
+ _useState16 = _slicedToArray(_useState15, 2),
148
+ deleteModalVisible = _useState16[0],
149
+ setDeleteModalVisible = _useState16[1];
141
150
 
142
- var _useState15 = (0, _react.useState)({
151
+ var _useState17 = (0, _react.useState)({
143
152
  pureText: title,
144
153
  pureTextExcludeAt: title,
145
154
  richText: data.mileStoneNameRichText ? JSON.parse(data.mileStoneNameRichText) : (0, _richEditor.TitaRichEditorInitTextState)(title),
146
155
  mentionUsers: []
147
156
  }),
148
- _useState16 = _slicedToArray(_useState15, 2),
149
- krNameData = _useState16[0],
150
- setKrNameData = _useState16[1];
157
+ _useState18 = _slicedToArray(_useState17, 2),
158
+ krNameData = _useState18[0],
159
+ setKrNameData = _useState18[1];
151
160
 
152
- var _useState17 = (0, _react.useState)((0, _bsGlobal.getBSGlobal)('OkrAdvancedSetting').KRSetting.ShowKrConfidence),
153
- _useState18 = _slicedToArray(_useState17, 1),
154
- showHeart = _useState18[0]; // 高级功能: 关键成果信心指数
161
+ var _useState19 = (0, _react.useState)((0, _bsGlobal.getBSGlobal)('OkrAdvancedSetting').KRSetting.ShowKrConfidence),
162
+ _useState20 = _slicedToArray(_useState19, 1),
163
+ showHeart = _useState20[0]; // 高级功能: 关键成果信心指数
155
164
 
156
165
 
157
- var _useState19 = (0, _react.useState)((0, _bsGlobal.getBSGlobal)('OkrAdvancedSetting').KRSetting.KrWeight),
158
- _useState20 = _slicedToArray(_useState19, 1),
159
- showKrWeight = _useState20[0]; // 高级功能: 关见成果权重
166
+ var _useState21 = (0, _react.useState)((0, _bsGlobal.getBSGlobal)('OkrAdvancedSetting').KRSetting.KrWeight),
167
+ _useState22 = _slicedToArray(_useState21, 1),
168
+ showKrWeight = _useState22[0]; // 高级功能: 关见成果权重
160
169
 
161
170
 
162
- var _useState21 = (0, _react.useState)(data.isEvaluate),
163
- _useState22 = _slicedToArray(_useState21, 2),
164
- isEvaluate = _useState22[0],
165
- setIsEvaluate = _useState22[1]; // 权限 & 非结束目标
171
+ var _useState23 = (0, _react.useState)(data.isEvaluate),
172
+ _useState24 = _slicedToArray(_useState23, 2),
173
+ isEvaluate = _useState24[0],
174
+ setIsEvaluate = _useState24[1]; // 权限 & 非结束目标
166
175
 
167
176
 
168
- var _useState23 = (0, _react.useState)(function () {
177
+ var _useState25 = (0, _react.useState)(function () {
169
178
  var hasAuth = new _auth.KRAuth({
170
179
  user: data.user,
171
180
  createUserId: data.createUserId
@@ -173,8 +182,8 @@ function _default(props) {
173
182
  var livetime = okrInfo.status != 2;
174
183
  return hasAuth && livetime;
175
184
  }),
176
- _useState24 = _slicedToArray(_useState23, 1),
177
- krCanEdit = _useState24[0];
185
+ _useState26 = _slicedToArray(_useState25, 1),
186
+ krCanEdit = _useState26[0];
178
187
 
179
188
  var mentionInputRef = (0, _react.useRef)();
180
189
  (0, _react.useEffect)(function () {
@@ -293,10 +302,39 @@ function _default(props) {
293
302
  onKrNameChangeHandler();
294
303
  };
295
304
 
305
+ var validateKrName = function validateKrName(data) {
306
+ var _pureTextExcludeAt$tr;
307
+
308
+ var pureTextExcludeAt = data.pureTextExcludeAt;
309
+ var krNameLen = pureTextExcludeAt === null || pureTextExcludeAt === void 0 ? void 0 : (_pureTextExcludeAt$tr = pureTextExcludeAt.trim()) === null || _pureTextExcludeAt$tr === void 0 ? void 0 : _pureTextExcludeAt$tr.length;
310
+
311
+ if (krNameLen === 0) {
312
+ setErrorTip('KR 名称不能为空');
313
+ return false;
314
+ }
315
+
316
+ if (krNameLen > 5000) {
317
+ setErrorTip((0, _i18nFrontTranslate.inputWordTrans)(krNameLen, 5000));
318
+ return false;
319
+ }
320
+
321
+ setErrorTip('');
322
+ return true;
323
+ };
324
+
325
+ var onEditorChange = function onEditorChange(data) {
326
+ setKrNameData(function () {
327
+ return data;
328
+ });
329
+ validateKrName(data);
330
+ };
331
+
296
332
  var onKrNameChangeHandler = function onKrNameChangeHandler() {
297
333
  var mentionUsers = krNameData.mentionUsers,
298
334
  pureText = krNameData.pureText,
299
335
  richText = krNameData.richText;
336
+ var hasError = !validateKrName(krNameData);
337
+ if (hasError) return;
300
338
  (0, _requestApis.updateKrName)({
301
339
  mileStoneName: pureText,
302
340
  mileStoneNameRichText: richText,
@@ -305,7 +343,7 @@ function _default(props) {
305
343
  }),
306
344
  workId: data.workId,
307
345
  workMileStoneId: data.mileStoneId
308
- }).then(function () {
346
+ }).then(function (res) {
309
347
  setEditing(false);
310
348
 
311
349
  _toast["default"].Success((0, _getLocale.getLocale)('Mod_Successfuloperat'));
@@ -355,13 +393,21 @@ function _default(props) {
355
393
  className: (0, _classnames["default"])("".concat(_precls["default"], "__kr-node-h1"))
356
394
  }, /*#__PURE__*/_react["default"].createElement("span", {
357
395
  className: (0, _classnames["default"])("".concat(_precls["default"], "__kr-node-prefix"))
358
- }, "KR", index + 1), /*#__PURE__*/_react["default"].createElement("span", {
396
+ }, "KR", index + 1), /*#__PURE__*/_react["default"].createElement(_errorTip["default"], {
397
+ overlay: /*#__PURE__*/_react["default"].createElement("span", {
398
+ style: {
399
+ color: '#f05e5e'
400
+ }
401
+ }, errorTip),
402
+ visible: editing && errorTip.length > 0,
403
+ placement: "top"
404
+ }, /*#__PURE__*/_react["default"].createElement("span", {
359
405
  className: (0, _classnames["default"])("".concat(_precls["default"], "__kr-node-title")),
360
406
  onClick: onTitleTextClickHandler
361
407
  }, /*#__PURE__*/_react["default"].createElement(_richEditor.TitaInlineRichEditor, {
362
408
  editable: editing,
363
409
  initialState: krNameData.richText,
364
- onChange: setKrNameData,
410
+ onDocChange: onEditorChange,
365
411
  onBlur: onKrNameChangeHandler,
366
412
  onKeyDown: onInputKeyDownHandler,
367
413
  placeholder: "KR\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",
@@ -371,7 +417,7 @@ function _default(props) {
371
417
  }, /*#__PURE__*/_react["default"].createElement("span", {
372
418
  className: "tu-icon-bianji2",
373
419
  onClick: triggerEdit
374
- })))), /*#__PURE__*/_react["default"].createElement("div", {
420
+ }))))), /*#__PURE__*/_react["default"].createElement("div", {
375
421
  className: (0, _classnames["default"])("".concat(_precls["default"], "__kr-node-h2"))
376
422
  }, /*#__PURE__*/_react["default"].createElement(OkrRowColumn, {
377
423
  width: 68