Skip to content

Commit 63a0db9

Browse files
committed
fix: 优化选中行
1 parent 177c724 commit 63a0db9

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

packages/devui-vue/devui/code-review/src/composables/use-code-review-comment.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@ export function useCodeReviewComment(reviewContentRef: Ref<HTMLElement>, props:
119119
// 多行选中
120120
if (checkedLineDetails && allowChecked.value) {
121121
const { lefts, rights } = checkedLineDetails;
122-
const maxCurrentLeftLineNumber = lefts[lefts.length - 1];
123-
const maxCurrentRightLineNumber = rights[rights.length - 1];
124-
if (maxCurrentLeftLineNumber === currentLeftLineNumber || maxCurrentRightLineNumber === currentRightLineNumber) {
122+
const maxCheckedLeftLineNumber = lefts[lefts.length - 1];
123+
const maxCheckedRightLineNumber = rights[rights.length - 1];
124+
if (maxCheckedLeftLineNumber === currentLeftLineNumber || maxCheckedRightLineNumber === currentRightLineNumber) {
125125
obj.details = checkedLineDetails;
126126
} else {
127127
clearCommentClass();

packages/devui-vue/devui/code-review/src/composables/use-code-review-line-selection.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
parseCodeToSingle,
99
getLineNumberMap,
1010
getLineNumberTdMap,
11-
getDoubleCheckNumberAndCode,
11+
getDoubleCheckedNumberAndCodes,
1212
getSingleCheckedNumberAndCode,
1313
addCommentCheckedForDouble,
1414
addCommentCheckedForSingle,
@@ -50,7 +50,7 @@ export function useCodeReviewLineSelection(
5050
}
5151
const parentTrNode = findParentTrNode(e.target as HTMLElement);
5252
// 判断点击的是否是展开图标
53-
if (parentTrNode && parentTrNode?.classList.contains('expand-line')) {
53+
if (parentTrNode && parentTrNode?.classList?.contains('expand-line')) {
5454
return;
5555
}
5656
startTrNode = parentTrNode as HTMLElement;
@@ -62,7 +62,7 @@ export function useCodeReviewLineSelection(
6262
const { left, right } = getLineNumberTdMap(trNodes);
6363
leftNumberTdMap = left;
6464
rightNumberTdMap = right;
65-
startPosition = composedPath.some((item) => item.classList.contains('d-code-left')) ? 'left' : 'right';
65+
startPosition = composedPath.some((item) => item.classList?.contains('d-code-left')) ? 'left' : 'right';
6666
}
6767

6868
dragging = true;
@@ -91,10 +91,10 @@ export function useCodeReviewLineSelection(
9191
const endTrNode = findParentTrNode(e.target as HTMLElement);
9292
let endPosition: 'left' | 'right';
9393
if (props.outputFormat === 'side-by-side') {
94-
if (composedPath.some((item) => item.classList.contains('d-code-left'))) {
94+
if (composedPath.some((item) => item.classList?.contains('d-code-left'))) {
9595
endPosition = 'left';
9696
}
97-
if (composedPath.some((item) => item.classList.contains('d-code-right'))) {
97+
if (composedPath.some((item) => item.classList?.contains('d-code-right'))) {
9898
endPosition = 'right';
9999
}
100100
}
@@ -164,7 +164,7 @@ export function useCodeReviewLineSelection(
164164
if (isMouseMoved) {
165165
let details: ICheckedLineDetails;
166166
if (props.outputFormat === 'side-by-side') {
167-
details = getDoubleCheckNumberAndCode(checkedTdNodes);
167+
details = getDoubleCheckedNumberAndCodes(checkedTdNodes);
168168
} else {
169169
details = getSingleCheckedNumberAndCode(checkedTdNodes);
170170
}
@@ -183,7 +183,7 @@ export function useCodeReviewLineSelection(
183183
const getCheckedLineDetails = () => {
184184
if (checkedTdNodes.length) {
185185
return props.outputFormat === 'side-by-side'
186-
? getDoubleCheckNumberAndCode(checkedTdNodes)
186+
? getDoubleCheckedNumberAndCodes(checkedTdNodes)
187187
: getSingleCheckedNumberAndCode(checkedTdNodes);
188188
}
189189
};
@@ -197,7 +197,7 @@ export function useCodeReviewLineSelection(
197197
/* 点击展开行后,更新左右行号映射关系 */
198198
const updateLineNumberMap = (expandLineNumberInfo: IExpandLineNumberInfo, newCode: string, direction: 'down' | 'up') => {
199199
const container = document.createElement('div');
200-
parseCodeToSingle(container, newCode, props.option);
200+
parseCodeToSingle(container, newCode, props.options);
201201
const { prevL, prevR, nextL, nextR } = expandLineNumberInfo;
202202
const arr = getLineNumberMap(Array.from(container.querySelectorAll('tr')));
203203
if (direction === 'down') {

packages/devui-vue/devui/code-review/src/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -597,7 +597,7 @@ export function getLineNumberMap(trNodes: HTMLElement[]) {
597597
}
598598

599599
/* 获取双栏模式下,选中行的左右行号和代码 */
600-
export function getDoubleCheckNumberAndCode(checkedTdNodes: HTMLElement[]) {
600+
export function getDoubleCheckedNumberAndCodes(checkedTdNodes: HTMLElement[]) {
601601
const lefts: number[] = [];
602602
const rights: number[] = [];
603603
const leftCode: string[] = [];
@@ -608,7 +608,7 @@ export function getDoubleCheckNumberAndCode(checkedTdNodes: HTMLElement[]) {
608608
for (let i = 0; i < checkedTdNodes.length; i++) {
609609
const itemTdNode = checkedTdNodes[i];
610610
if (itemTdNode.classList.contains('d-code-left')) {
611-
if (itemTdNode.classList.contains('d2h-code-size-linenumber')) {
611+
if (itemTdNode.classList.contains('d2h-code-side-linenumber')) {
612612
leftNumberNodes.push(itemTdNode);
613613
} else {
614614
leftCode.push(itemTdNode.innerText);

0 commit comments

Comments
 (0)