vue-devui 1.6.24 → 1.6.26

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.
@@ -6813,6 +6813,36 @@ function findParentTrNode(node) {
6813
6813
  }
6814
6814
  return findParentTrNode(node.parentElement);
6815
6815
  }
6816
+ function getFullNumberList(min, max) {
6817
+ return Array.from({ length: max - min + 1 }, (_, i) => i + min);
6818
+ }
6819
+ function getLineNumbers(trNodes, outputFormat, side) {
6820
+ var _a, _b;
6821
+ const leftNumbers = [];
6822
+ const rightNumbers = [];
6823
+ for (let i = 0; i < trNodes.length; i++) {
6824
+ const itemTrNode = trNodes[i];
6825
+ if (outputFormat === "line-by-line") {
6826
+ const lineNumberTdNode = Array.from(itemTrNode.children)[0];
6827
+ const leftLineNumber = parseInt((_a = lineNumberTdNode.children[0]) == null ? void 0 : _a.innerText);
6828
+ const rightLineNumber = parseInt((_b = lineNumberTdNode.children[1]) == null ? void 0 : _b.innerText);
6829
+ leftLineNumber && leftNumbers.push(leftLineNumber);
6830
+ rightLineNumber && rightNumbers.push(leftLineNumber);
6831
+ } else {
6832
+ const tdNodes = Array.from(itemTrNode.children);
6833
+ const lineNumberTdNode = tdNodes[side === "left" ? 0 : 2];
6834
+ if (lineNumberTdNode && notEmptyNode(lineNumberTdNode)) {
6835
+ const lineNumber = parseInt(lineNumberTdNode.innerText);
6836
+ if (lineNumber) {
6837
+ side === "left" ? leftNumbers.push(lineNumber) : rightNumbers.push(lineNumber);
6838
+ }
6839
+ }
6840
+ }
6841
+ }
6842
+ const lefts = leftNumbers.length ? getFullNumberList(leftNumbers[0], leftNumbers[leftNumbers.length - 1]) : leftNumbers;
6843
+ const rights = rightNumbers.length ? getFullNumberList(rightNumbers[0], rightNumbers[rightNumbers.length - 1]) : rightNumbers;
6844
+ return { lefts, rights };
6845
+ }
6816
6846
  function useCodeReviewExpand(reviewContentRef, props) {
6817
6847
  const { outputFormat, expandThreshold, expandLoader } = toRefs(props);
6818
6848
  const processSideBySide = () => {
@@ -7040,7 +7070,7 @@ function useCodeReviewFold(props, ctx) {
7040
7070
  });
7041
7071
  return { isFold, toggleFold };
7042
7072
  }
7043
- function useCodeReviewLineSelection(reviewContentRef, props, mouseMoveCb, mouseupCb) {
7073
+ function useCodeReviewLineSelection(reviewContentRef, props, afterMouseup) {
7044
7074
  const ns2 = useNamespace("code-review");
7045
7075
  let dragging = false;
7046
7076
  let startTrNode;
@@ -7048,6 +7078,7 @@ function useCodeReviewLineSelection(reviewContentRef, props, mouseMoveCb, mouseu
7048
7078
  let isClickedLeft;
7049
7079
  let shouldClear;
7050
7080
  let isMouseMoved;
7081
+ let checkedTrNodes = [];
7051
7082
  const onMousedown = (e) => {
7052
7083
  if (e.button === 0) {
7053
7084
  const composedPath = e.composedPath();
@@ -7112,7 +7143,6 @@ function useCodeReviewLineSelection(reviewContentRef, props, mouseMoveCb, mouseu
7112
7143
  if (endIndex === -1) {
7113
7144
  return;
7114
7145
  }
7115
- mouseMoveCb();
7116
7146
  if (startIndex > endIndex) {
7117
7147
  [startIndex, endIndex] = [endIndex, startIndex];
7118
7148
  }
@@ -7124,9 +7154,11 @@ function useCodeReviewLineSelection(reviewContentRef, props, mouseMoveCb, mouseu
7124
7154
  } else {
7125
7155
  position = "right";
7126
7156
  }
7157
+ checkedTrNodes = [];
7127
7158
  for (let i = 0; i < trNodes.length; i++) {
7128
7159
  if (i >= startIndex && i <= endIndex) {
7129
7160
  toggleCommentCheckedClass(trNodes[i], true, position);
7161
+ checkedTrNodes.push(trNodes[i]);
7130
7162
  } else {
7131
7163
  toggleCommentCheckedClass(trNodes[i], false, position);
7132
7164
  }
@@ -7135,7 +7167,7 @@ function useCodeReviewLineSelection(reviewContentRef, props, mouseMoveCb, mouseu
7135
7167
  function onMouseup() {
7136
7168
  dragging = false;
7137
7169
  if (isMouseMoved) {
7138
- mouseupCb();
7170
+ afterMouseup(getLineNumbers(checkedTrNodes, props.outputFormat, isClickedLeft ? "left" : "right"));
7139
7171
  }
7140
7172
  document.removeEventListener("mouseup", onMouseup);
7141
7173
  document.removeEventListener("mousemove", onMousemove);
@@ -7174,7 +7206,7 @@ function useCodeReviewLineSelection(reviewContentRef, props, mouseMoveCb, mouseu
7174
7206
  function useCodeReviewComment(reviewContentRef, props, ctx) {
7175
7207
  const { outputFormat, allowComment, allowChecked } = toRefs(props);
7176
7208
  const ns2 = useNamespace("code-review");
7177
- const { onMousedown } = useCodeReviewLineSelection(reviewContentRef, props, updateLineNumbers, afterCheckLines);
7209
+ const { onMousedown } = useCodeReviewLineSelection(reviewContentRef, props, afterMouseup);
7178
7210
  const commentLeft = ref(-100);
7179
7211
  const commentTop = ref(-100);
7180
7212
  let currentLeftLineNumber = -1;
@@ -7277,24 +7309,6 @@ function useCodeReviewComment(reviewContentRef, props, ctx) {
7277
7309
  resetLeftTop();
7278
7310
  }
7279
7311
  };
7280
- const getLineNumbers = (currentNumber, currentNumbers) => {
7281
- if (currentNumber === -1) {
7282
- return currentNumbers;
7283
- }
7284
- if (currentNumbers.length === 0) {
7285
- return [currentNumber];
7286
- }
7287
- const numbers = [...currentNumbers];
7288
- let max = Math.max(...numbers);
7289
- let min = Math.min(...numbers);
7290
- if (currentNumber < min) {
7291
- min = currentNumber;
7292
- }
7293
- if (currentNumber > max) {
7294
- max = currentNumber;
7295
- }
7296
- return Array.from({ length: max - min + 1 }, (_, i) => i + min);
7297
- };
7298
7312
  const getCommonClassAndJudge = () => {
7299
7313
  const checkedLine = [currentLeftLineNumbers, currentRightLineNumbers];
7300
7314
  return {
@@ -7361,9 +7375,9 @@ function useCodeReviewComment(reviewContentRef, props, ctx) {
7361
7375
  }
7362
7376
  getDoubleCheckedLineCode(shouldRenderClass);
7363
7377
  }
7364
- function updateLineNumbers() {
7365
- currentLeftLineNumbers = currentLeftLineNumber === -1 ? currentLeftLineNumbers : getLineNumbers(currentLeftLineNumber, currentLeftLineNumbers);
7366
- currentRightLineNumbers = currentRightLineNumber === -1 ? currentRightLineNumbers : getLineNumbers(currentRightLineNumber, currentRightLineNumbers);
7378
+ function updateLineNumbers({ lefts, rights }) {
7379
+ currentLeftLineNumbers = lefts;
7380
+ currentRightLineNumbers = rights;
7367
7381
  getCheckedLineCode(false);
7368
7382
  afterCheckLinesEmitData = {
7369
7383
  left: currentLeftLineNumber,
@@ -7376,6 +7390,8 @@ function useCodeReviewComment(reviewContentRef, props, ctx) {
7376
7390
  };
7377
7391
  }
7378
7392
  const updateCheckedLineClass = () => {
7393
+ const lineClassName = props.outputFormat === "line-by-line" ? ".d2h-code-linenumber" : ".d2h-code-side-linenumber";
7394
+ allTrNodes = reviewContentRef.value.querySelectorAll(lineClassName);
7379
7395
  getCheckedLineCode(true);
7380
7396
  };
7381
7397
  const resetCommentClass = () => {
@@ -7412,6 +7428,10 @@ function useCodeReviewComment(reviewContentRef, props, ctx) {
7412
7428
  function afterCheckLines() {
7413
7429
  ctx.emit("afterCheckLines", afterCheckLinesEmitData);
7414
7430
  }
7431
+ function afterMouseup(lineNumbers) {
7432
+ updateLineNumbers(lineNumbers);
7433
+ afterCheckLines();
7434
+ }
7415
7435
  const onCommentIconClick = (e) => {
7416
7436
  if (e) {
7417
7437
  const composedPath = e.composedPath();