Skip to content

Commit a9e3ff2

Browse files
committed
更新ボタンを押下し、行数が更新された際に追加分の行のプリフェッチ条件を満たしている場合、追加取得を行う。
1 parent e4c5f96 commit a9e3ff2

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

RemoteLogViewer.WinUI/Assets/Web/src/components/TextFileViewer.vue

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,14 +203,16 @@
203203
204204
// 上方向の事前読み込み処理
205205
if (visibleLines.value[0] < minLineNumber.value + prefetchThreshold &&
206-
!loadingRequests.value.find(x => x.end === minLineNumber.value - 1)) {
206+
!loadingRequests.value.find(x => x.end === minLineNumber.value - 1) &&
207+
minLineNumber.value > 0) {
207208
log(() => `request by intersect ${visibleLines.value[0]}`);
208209
requestLogs(minLineNumber.value - prefetchLines, minLineNumber.value - 1);
209210
}
210211
211212
// 下方向の事前読み込み処理
212213
if (visibleLines.value[visibleLines.value.length - 1] > maxLineNumber.value - prefetchThreshold &&
213-
!loadingRequests.value.find(x => x.start === maxLineNumber.value + 1)) {
214+
!loadingRequests.value.find(x => x.start === maxLineNumber.value + 1) &&
215+
totalLines.value > maxLineNumber.value) {
214216
log(() => `request by intersect ${visibleLines.value[visibleLines.value.length - 1]}`);
215217
requestLogs(maxLineNumber.value + 1, maxLineNumber.value + prefetchLines);
216218
}
@@ -319,7 +321,15 @@
319321
}, { deep: true });
320322
321323
watch(totalLines, () => {
322-
updateScrollAreaHeight();
324+
if (visibleLines.value[visibleLines.value.length - 1] > maxLineNumber.value - prefetchThreshold &&
325+
!loadingRequests.value.find(x => x.start === maxLineNumber.value + 1) &&
326+
totalLines.value > maxLineNumber.value) {
327+
// 次行取得閾値を超えている場合、追加行取得を行う
328+
requestLogs(maxLineNumber.value + 1, maxLineNumber.value + prefetchLines);
329+
}else{
330+
// 最終行が表示されていない場合、スクロールエリアの高さの更新のみ行う
331+
updateScrollAreaHeight();
332+
}
323333
});
324334
325335
watch(() => props.wrapLines, () => {

0 commit comments

Comments
 (0)