Skip to content

Commit c2f227f

Browse files
xingyan95GreatZPP
andauthored
fix(CodeReview): 修复没有文件类型时渲染失败的问题 (DevCloudFE#1733)
Co-authored-by: GreatZP <greatzp@greatzp.cn>
1 parent 4a6f9b4 commit c2f227f

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,12 @@ export function useCodeReviewExpand(reviewContentRef: Ref<HTMLElement>, props: C
4949
loadMoreLine.children[0].removeChild(loadMoreLine.children[0].children[0]);
5050
}
5151
(loadMoreLine.children[1] as HTMLElement).innerText = '';
52+
trNodes[0].parentElement?.appendChild(loadMoreLine);
5253
const res = updateLineNumberInDatasetForDoubleColumn(loadMoreLine, expandThreshold.value, 'bottom');
5354
if (!res) {
55+
loadMoreLine.remove();
5456
return;
5557
}
56-
trNodes[0].parentElement?.appendChild(loadMoreLine);
5758
attachExpandUpDownButton(loadMoreLine.children[0] as HTMLElement, 'down');
5859
};
5960

@@ -68,7 +69,7 @@ export function useCodeReviewExpand(reviewContentRef: Ref<HTMLElement>, props: C
6869
const prefix = '--- updated_at\tJan 1, 2019, 0:0:0 AM\n+++ updated_at\tJan 1, 2019, 0:0:0 AM\n';
6970
const container = document.createElement('div');
7071
// 解析code
71-
parseDiffCode(container, prefix + code, outputFormat.value);
72+
parseDiffCode(container, prefix + code, outputFormat.value, true);
7273

7374
const trNodes = Array.from(container.querySelectorAll('tr'));
7475
const expandLine = trNodes.find((element) => (element.children[1] as HTMLElement)?.innerText.trim().match(ExpandLineReg));
@@ -148,11 +149,12 @@ export function useCodeReviewExpand(reviewContentRef: Ref<HTMLElement>, props: C
148149
loadMoreLine.children[0].removeChild(loadMoreLine.children[0].children[0]);
149150
}
150151
(loadMoreLine.children[1] as HTMLElement).innerText = '';
152+
trNodes[0].parentElement?.appendChild(loadMoreLine);
151153
const res = updateLineNumberInDataset(loadMoreLine, expandThreshold.value, 'bottom');
152154
if (!res) {
155+
loadMoreLine.remove();
153156
return;
154157
}
155-
trNodes[0].parentElement?.appendChild(loadMoreLine);
156158
attachExpandUpDownButton(loadMoreLine.children[0] as HTMLElement, 'down');
157159
};
158160

@@ -167,7 +169,7 @@ export function useCodeReviewExpand(reviewContentRef: Ref<HTMLElement>, props: C
167169
const prefix = '--- updated_at\tJan 1, 2019, 0:0:0 AM\n+++ updated_at\tJan 1, 2019, 0:0:0 AM\n';
168170
const container = document.createElement('div');
169171
// 解析code
170-
parseDiffCode(container, prefix + code, outputFormat.value);
172+
parseDiffCode(container, prefix + code, outputFormat.value, true);
171173

172174
const trNodes = Array.from(container.querySelectorAll('tr'));
173175
const expandLine = trNodes.find((element) => (element.children[1] as HTMLElement)?.innerText.trim().match(ExpandLineReg));

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ export function updateExpandLineCount(expandDom: HTMLElement, newExpandDom: HTML
146146
}
147147

148148
// 解析diff
149-
export function parseDiffCode(container: HTMLElement, code: string, outputFormat: OutputFormat) {
149+
export function parseDiffCode(container: HTMLElement, code: string, outputFormat: OutputFormat, isAddCode = false) {
150150
const diff2HtmlUi = new Diff2HtmlUI(container, code, {
151151
drawFileList: false,
152152
matching: 'lines',
@@ -156,7 +156,7 @@ export function parseDiffCode(container: HTMLElement, code: string, outputFormat
156156
});
157157
if (outputFormat === 'side-by-side') {
158158
let diffHtmlStr = diff2HtmlUi.diffHtml;
159-
if (diffHtmlStr.match(EmptyDataLangReg)) {
159+
if (diffHtmlStr.match(EmptyDataLangReg) && isAddCode) {
160160
diffHtmlStr = diffHtmlStr.replace(EmptyDataLangReg, '');
161161
}
162162
const trList = diffHtmlStr.match(TableTrReg) as RegExpMatchArray;

0 commit comments

Comments
 (0)