diff --git a/src/modules/main/logViewer/logViewer.css b/src/modules/main/logViewer/logViewer.css index 8cf777d..7e94af7 100644 --- a/src/modules/main/logViewer/logViewer.css +++ b/src/modules/main/logViewer/logViewer.css @@ -8,6 +8,14 @@ a { overflow: visible; z-index: 10; } + +.search-res { + background-color: rgb(250, 255, 189); +} + +.search-res-focus { + background-color: yellow; +} :host { --dxp-s-form-element-text-font-size: 0.75rem; --dxp-s-button-font-size: 0.8125rem; diff --git a/src/modules/main/logViewer/logViewer.html b/src/modules/main/logViewer/logViewer.html index 6b0cca1..ec66434 100644 --- a/src/modules/main/logViewer/logViewer.html +++ b/src/modules/main/logViewer/logViewer.html @@ -49,28 +49,11 @@

-
- -
+
line-height: 1; " > -
+
-
@@ -139,7 +124,7 @@

>Add Chart -

+
-->
@@ -733,6 +719,8 @@

> 0; } - // subscribeToMessageChannel() { - // console.log("Subscribe called"); - // if (!this.logChannelSub) { - // this.logChannelSub = subscribe( - // this.messageContext, - // STATE, - // (message) => { - // this.setFileData(message); - // }, - // { scope: APPLICATION_SCOPE } - // ); - // this.logChannelSub = true; - // } - // } - - // setFileData(message) { - // if (message !== null && message !== undefined) { - // // console.log("[LogPreviewer.js] setFileData called", message); - // if (message.fileData !== undefined && message.fileData !== null) { - // this.fileData = message.fileData; - // this.pageNumber = 1; - // this.noOfPages = Math.ceil( - // this.fileData.length / this.linesPerPage - // ); - // this.calculations(); - // } - // if ( - // message.fileMetadata !== undefined && - // message.fileMetadata !== null - // ) { - // this.fileMetadata = message.fileMetadata; - // } - // if ( - // message.eventsPicklistValues !== undefined && - // message.eventsPicklistValues !== null - // ) { - // if (Array.isArray(message.eventsPicklistValues)) { - // this.filterPickListMaster = - // message.eventsPicklistValues.map((str) => ({ - // value: str, - // label: str - // })); - // } - // } - // } - // } onLinesPerPageChange(event) { // console.log("Page Change: ", event.target.value); let input = parseInt(event.target.value, 10); @@ -508,15 +495,65 @@ export default class logViewer extends LightningElement { handleSearch() { this.isSearching = !this.isSearching; - // const payload = this.fileData; - // publish('searchChannel', payload); + if (this.isSearching === false) { + this.processNoSearchRes(); + } + } + + processSearchRes(event) { + const lineNumbers = event.detail; + this.LineNumMap = new Map(); + //console.log(lineNumbers); + if (Array.isArray(lineNumbers)) { + lineNumbers.forEach((l) => { + if (this.linesPerPage !== 0) { + const pNum = Math.ceil(l / this.linesPerPage); + if (this.LineNumMap.has(pNum)) { + this.LineNumMap.get(pNum).push(l); + } else { + this.LineNumMap.set(pNum, [l]); + } + } + }); + } + // console.log('Map: ', this.LineNumMap); } - goToNxtMatch(event) { - console.log(event.detail); + goToMatch(event) { + const lineNumber = event.detail; + // console.log('lineNumber: ', lineNumber); + this.goToPage(lineNumber); + } + + goToPage(lineNumber) { + //calculate the pagenumber + if (this.linesPerPage <= 0 || lineNumber <= 0) return; + this.LineNumFocus = lineNumber; + this.pageNumber = Math.ceil(lineNumber / this.linesPerPage); + this.calculations(); + } + + processNoSearchRes() { + this.LineNumFocus = null; + if (this.LineNumMap.size > 0) { + if (this.LineNumMap.has(this.pageNumber)) { + const highEle = this.LineNumMap.get(this.pageNumber); + highEle.forEach((ele) => { + const element = this.template.querySelector( + `[data-logid="${ele}"]` + ); + if (element) { + element.style.backgroundColor = 'rgba(0, 0, 0, 0)'; + } + }); + } + } + this.LineNumMap = new Map(); } - goToPrevMatch(event) { - console.log(event.detail); + goToLine(event) { + // console.log('linenumber', event.detail); + const lNum = event.detail; + this.goToPage(lNum); } } diff --git a/src/modules/ui/input/input.html b/src/modules/ui/input/input.html index a4ecf33..dec1478 100644 --- a/src/modules/ui/input/input.html +++ b/src/modules/ui/input/input.html @@ -1,15 +1,28 @@