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.
- package/code-review/index.es.js +45 -25
- package/code-review/index.umd.js +20 -20
- package/package.json +1 -1
- package/types/code-review/src/composables/use-code-review-line-selection.d.ts +4 -1
- package/types/code-review/src/utils.d.ts +4 -0
- package/vue-devui.es.js +46 -26
- package/vue-devui.umd.js +65 -65
package/code-review/index.es.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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,
|
|
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 =
|
|
7366
|
-
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();
|