directual-web-components-v2 3.11.323 → 3.11.324

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/index.css CHANGED
@@ -8410,6 +8410,7 @@ div._x81-m._xmAnF h2 {
8410
8410
  ._3g99w ._2QfjE ._rwMv- ._1RsJD {
8411
8411
  font-size: var(--text-small-size);
8412
8412
  opacity: 0.5;
8413
+ margin-right: 10px;
8413
8414
  transition: 0.5s;
8414
8415
  cursor: pointer;
8415
8416
  }
package/dist/index.js CHANGED
@@ -1829,7 +1829,9 @@ const dict = {
1829
1829
  assignedToMe: "Assigned to me",
1830
1830
  assignedTo: "Assigned to",
1831
1831
  taskResolved: "Task is resolved",
1832
- resolveTask: "Resolve task"
1832
+ resolveTask: "Resolve task",
1833
+ edit: "Edit",
1834
+ save: "Save"
1833
1835
  },
1834
1836
  sortField: 'Sort field',
1835
1837
  error: 'Error',
@@ -2322,7 +2324,9 @@ const dict = {
2322
2324
  assignedToMe: "Назначено на меня",
2323
2325
  assignedTo: "Назначено на",
2324
2326
  taskResolved: "Задача закрыта",
2325
- resolveTask: "Закрыть задачу"
2327
+ resolveTask: "Закрыть задачу",
2328
+ edit: "Редактировать",
2329
+ save: "Сохранить"
2326
2330
  },
2327
2331
  success: 'Успех',
2328
2332
  "auth": {
@@ -26328,6 +26332,7 @@ function Comments(props) {
26328
26332
  }
26329
26333
  const allowAttachment = _$1__default.includes(data.writeFields, _$1__default.get(data, "params._fileField"));
26330
26334
  const allowSend = _$1__default.includes(data.writeFields, _$1__default.get(data, "params._textField"));
26335
+ const allowEdit = _$1__default.get(data, "params.general.allowEdit");
26331
26336
  return /*#__PURE__*/React__default.createElement("div", {
26332
26337
  className: styles$N.comments + " FPS_COMMENTS"
26333
26338
  }, /*#__PURE__*/React__default.createElement(CommentsHeader, _extends({
@@ -26348,6 +26353,7 @@ function Comments(props) {
26348
26353
  sendComment: sendComment,
26349
26354
  lang: lang,
26350
26355
  allowSend: allowSend,
26356
+ allowEdit: allowEdit,
26351
26357
  loading: loading,
26352
26358
  allowAttachment: allowAttachment,
26353
26359
  comments: comments,
@@ -26364,9 +26370,16 @@ function Comment(props) {
26364
26370
  comments,
26365
26371
  parent,
26366
26372
  allowSend,
26373
+ allowEdit,
26367
26374
  sendComment
26368
26375
  } = props;
26369
26376
  const [addReply, setAddReply] = React.useState(false);
26377
+ const [isEditing, setIsEditing] = React.useState(false);
26378
+ const [editText, setEditText] = React.useState("");
26379
+ React.useEffect(() => {
26380
+ const commentText = _$1__default.get(comment, _$1__default.get(data, "params._textField"));
26381
+ setEditText(commentText || "");
26382
+ }, [_$1__default.get(comment, _$1__default.get(data, "params._textField"))]);
26370
26383
  const formatDate = (value, formatOptions) => {
26371
26384
  if (!value) {
26372
26385
  return null;
@@ -26400,6 +26413,7 @@ function Comment(props) {
26400
26413
  }
26401
26414
  const isTask = !!_$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_assignee"));
26402
26415
  const isAssignedToMe = (_$1__default.get(auth, "user") == _$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_assignee")) || _$1__default.get(auth, "user") == _$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_assignee") + ".id")) && _$1__default.get(auth, "isAuth");
26416
+ const isAuthor = (_$1__default.get(auth, "user") == _$1__default.get(comment, _$1__default.get(data, "params._userField")) || _$1__default.get(auth, "user") == _$1__default.get(comment, _$1__default.get(data, "params._userField") + ".id")) && _$1__default.get(auth, "isAuth");
26403
26417
  const assigneName = isTask ? _$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_assignee") + ".firstName") ? _$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_assignee") + ".firstName") + ' ' + _$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_assignee") + ".lastName") : _$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_assignee") + ".id") || _$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_assignee")) : '';
26404
26418
  const isResoled = isTask && _$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_bool"));
26405
26419
  const resolvedDate = _$1__default.get(comment, _$1__default.get(data, "params.assignmentOn_dateClosed"));
@@ -26416,6 +26430,22 @@ function Comment(props) {
26416
26430
  _$1__default.get(data, "params.assignmentOn_dateClosed") && _$1__default.set(payload, _$1__default.get(data, "params.assignmentOn_dateClosed"), moment__default().toISOString());
26417
26431
  sendComment(payload, () => setLocalLoading(false), true);
26418
26432
  };
26433
+ const saveEdit = () => {
26434
+ if (!comment.id) return;
26435
+ setLocalLoading(true);
26436
+ let payload = {
26437
+ id: comment.id
26438
+ };
26439
+ _$1__default.set(payload, _$1__default.get(data, "params._textField"), editText);
26440
+ sendComment(payload, () => {
26441
+ setLocalLoading(false);
26442
+ setIsEditing(false);
26443
+ }, true);
26444
+ };
26445
+ const cancelEdit = () => {
26446
+ setEditText(commentText);
26447
+ setIsEditing(false);
26448
+ };
26419
26449
  return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("div", {
26420
26450
  className: styles$N.commentWrapper + " FPS_COMMENT_WRAPPER"
26421
26451
  }, isTask && /*#__PURE__*/React__default.createElement("div", {
@@ -26447,7 +26477,31 @@ function Comment(props) {
26447
26477
  }
26448
26478
  }, dict[lang].comments.anon), /*#__PURE__*/React__default.createElement("div", {
26449
26479
  className: styles$N.commentBodyHeaderDate
26450
- }, formatDate(commentDate, formatCommentDate))), /*#__PURE__*/React__default.createElement("div", {
26480
+ }, formatDate(commentDate, formatCommentDate))), isEditing ? /*#__PURE__*/React__default.createElement("div", {
26481
+ className: styles$N.commentBodyText
26482
+ }, /*#__PURE__*/React__default.createElement(Input, {
26483
+ type: "textarea",
26484
+ defaultValue: editText,
26485
+ onChange: setEditText,
26486
+ rows: "auto"
26487
+ }), /*#__PURE__*/React__default.createElement("div", {
26488
+ style: {
26489
+ marginTop: '8px',
26490
+ display: 'flex',
26491
+ gap: '8px'
26492
+ }
26493
+ }, /*#__PURE__*/React__default.createElement(Button, {
26494
+ loading: localLoading,
26495
+ onClick: saveEdit,
26496
+ small: true,
26497
+ height: 32,
26498
+ accent: true,
26499
+ disabled: !editText
26500
+ }, dict[lang].comments.save), /*#__PURE__*/React__default.createElement(Button, {
26501
+ onClick: cancelEdit,
26502
+ small: true,
26503
+ height: 32
26504
+ }, dict[lang].comments.cancel))) : /*#__PURE__*/React__default.createElement("div", {
26451
26505
  className: styles$N.commentBodyText
26452
26506
  }, commentText), commentAttachment && commentAttachment.length > 0 && commentAttachment.map(file => {
26453
26507
  const fileName = file.split("/")[file.split("/").length - 1];
@@ -26458,12 +26512,15 @@ function Comment(props) {
26458
26512
  href: file,
26459
26513
  className: "icon icon-clip small " + styles$N.commentFileLink
26460
26514
  }, fileName));
26461
- }), _$1__default.includes(data.writeFields, _$1__default.get(data, "params._replyField")) && allowSend && /*#__PURE__*/React__default.createElement("div", {
26515
+ }), !isEditing && (_$1__default.includes(data.writeFields, _$1__default.get(data, "params._replyField")) && allowSend || allowEdit && isAuthor) && /*#__PURE__*/React__default.createElement("div", {
26462
26516
  className: styles$N.commentBodyFooter
26463
- }, /*#__PURE__*/React__default.createElement("div", {
26517
+ }, _$1__default.includes(data.writeFields, _$1__default.get(data, "params._replyField")) && allowSend && /*#__PURE__*/React__default.createElement("div", {
26464
26518
  onClick: e => setAddReply(true),
26465
26519
  className: "icon icon-bubble small " + styles$N.commentReplyButton
26466
- }, dict[lang].comments.reply)))), addReply && /*#__PURE__*/React__default.createElement("div", {
26520
+ }, dict[lang].comments.reply), allowEdit && isAuthor && /*#__PURE__*/React__default.createElement("div", {
26521
+ onClick: e => setIsEditing(true),
26522
+ className: "icon icon-edit small " + styles$N.commentReplyButton
26523
+ }, dict[lang].comments.edit)))), addReply && /*#__PURE__*/React__default.createElement("div", {
26467
26524
  className: styles$N.childComments
26468
26525
  }, /*#__PURE__*/React__default.createElement(AddComment, _extends({}, props, {
26469
26526
  parentID: commentID,