From 5c7620cdde7064418a1b2e7f854edba084d0cb75 Mon Sep 17 00:00:00 2001 From: wangyujie Date: Tue, 17 Oct 2023 14:12:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=A1=86=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=B7=B3=E8=BD=AC=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangyujie --- ide/src/trace/SpApplication.ts | 5 +++ ide/src/trace/component/SpSystemTrace.ts | 24 +++++----- .../trace/component/trace/search/Search.ts | 44 +++++++++++++++++++ 3 files changed, 63 insertions(+), 10 deletions(-) diff --git a/ide/src/trace/SpApplication.ts b/ide/src/trace/SpApplication.ts index 0e8b68996..9c603195d 100644 --- a/ide/src/trace/SpApplication.ts +++ b/ide/src/trace/SpApplication.ts @@ -648,6 +648,11 @@ export class SpApplication extends BaseElement { litSearch.addEventListener('next-data', (ev: any) => { litSearch.index = spSystemTrace!.showStruct(false, litSearch.index, litSearch.list); litSearch.blur(); + }); + // 翻页事件 + litSearch.addEventListener('retarget-data', (ev: any) => { + litSearch.index = spSystemTrace!.showStruct(true, ev.detail.value, litSearch.list, ev.detail.value); + litSearch.blur(); }); litSearch.valueChangeHandler = (value: string) => { if (value.length > 0) { diff --git a/ide/src/trace/component/SpSystemTrace.ts b/ide/src/trace/component/SpSystemTrace.ts index 7338b3bf5..3519604eb 100644 --- a/ide/src/trace/component/SpSystemTrace.ts +++ b/ide/src/trace/component/SpSystemTrace.ts @@ -3914,21 +3914,25 @@ export class SpSystemTrace extends BaseElement { return searchResults; } - showStruct(previous: boolean, currentIndex: number, structs: Array) { + showStruct(previous: boolean, currentIndex: number, structs: Array, retargetIndex?: number) { if (structs.length == 0) { return 0; } let findIndex = -1; if (previous) { - for (let i = structs.length - 1; i >= 0; i--) { - let it = structs[i]; - if ( - i < currentIndex && - it.startTime! >= TraceRow.range!.startNS && - it.startTime! + it.dur! <= TraceRow.range!.endNS - ) { - findIndex = i; - break; + if (retargetIndex) { + findIndex = retargetIndex - 1 + } else { + for (let i = structs.length - 1; i >= 0; i--) { + let it = structs[i]; + if ( + i < currentIndex && + it.startTime! >= TraceRow.range!.startNS && + it.startTime! + it.dur! <= TraceRow.range!.endNS + ) { + findIndex = i; + break; + } } } } else { diff --git a/ide/src/trace/component/trace/search/Search.ts b/ide/src/trace/component/trace/search/Search.ts index 68803fdd1..5dc62ac08 100644 --- a/ide/src/trace/component/trace/search/Search.ts +++ b/ide/src/trace/component/trace/search/Search.ts @@ -32,6 +32,8 @@ export class LitSearch extends BaseElement { private lastSearch = ''; private searchList: Array = []; private searchELList: Array = []; + //定义翻页index + private retarget_index: number = 0; get list(): Array { return this._list; @@ -222,6 +224,11 @@ export class LitSearch extends BaseElement { this.totalEL = this.shadowRoot!.querySelector('#total'); this.indexEL = this.shadowRoot!.querySelector('#index'); this.searchHistoryListEL = this.shadowRoot!.querySelector('.search-history-list'); + + let _retarge_index = this.shadowRoot!.querySelector("input[name='retarge_index']") + let _root = this.shadowRoot!.querySelector(".root") + let _prompt = this.shadowRoot!.querySelector("#prompt") + this.search!.addEventListener('focus', () => { this.searchFocusListener(); }); @@ -251,6 +258,35 @@ export class LitSearch extends BaseElement { }, }) ); + }); + + // 添加翻页监听事件 + this.shadowRoot?.querySelector("input[name='retarge_index']")?.addEventListener('keyup', (e: any) => { + if (e.keyCode == 13) { + this.retarget_index = Number(_retarge_index!.value) + if (this.retarget_index <= this._list.length && this.retarget_index != 0) { + this.dispatchEvent( + new CustomEvent('retarget-data', { + detail: { + value: this.retarget_index, + }, + }) + ); + } else if (this.retarget_index == 0) { + return + } else { + _prompt!.style.display = 'block'; + _root!.style.display = 'none'; + _prompt!.innerHTML = `一共是${this._list.length}页,请重新输入!!!` + setTimeout(() => { + _prompt!.style.display = 'none'; + _root!.style.display = 'flex'; + _retarge_index!.value = "" + }, 2000) + } + + } + e.stopPropagation(); }); } @@ -305,6 +341,9 @@ export class LitSearch extends BaseElement { } :host([show-search-info]) .search-info{ display: inline-flex; + higth:100%!important; + justify-content: center; + align-items: center; } :host(:not([show-search-info])) .search-info{ display: none; @@ -366,6 +405,9 @@ export class LitSearch extends BaseElement { padding-right: 20px; padding-left: 45px; } + input[name="retarge_index"]{ + width:100px!important; + } +
    -- Gitee From 910e2c57c79b281d2224a63cb727d519a24859a9 Mon Sep 17 00:00:00 2001 From: wangyujie Date: Wed, 18 Oct 2023 10:53:02 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=A1=86=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E9=A1=B5=E4=B8=AD=E6=96=87=E6=8F=90=E7=A4=BA=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E8=8B=B1=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangyujie --- ide/src/trace/component/trace/search/Search.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ide/src/trace/component/trace/search/Search.ts b/ide/src/trace/component/trace/search/Search.ts index 5dc62ac08..9f7fd2453 100644 --- a/ide/src/trace/component/trace/search/Search.ts +++ b/ide/src/trace/component/trace/search/Search.ts @@ -277,7 +277,7 @@ export class LitSearch extends BaseElement { } else { _prompt!.style.display = 'block'; _root!.style.display = 'none'; - _prompt!.innerHTML = `一共是${this._list.length}页,请重新输入!!!` + _prompt!.innerHTML = `${this._list.length} pages in total, please re-enter` setTimeout(() => { _prompt!.style.display = 'none'; _root!.style.display = 'flex'; -- Gitee