mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Fix stage filter (#5023)
* Fix stage filter * Update js * Update js * Lint Co-authored-by: Frederik Hudák <frederik.hudak@sap.com>
This commit is contained in:
parent
4a5cf13eca
commit
bdafff8581
|
@ -639,10 +639,12 @@ StageHelper.prototype.applyFilterValue = function(sFilterValue) {
|
|||
StageHelper.prototype.applyFilterToRow = function (row, filter) {
|
||||
// Collect data cells
|
||||
var targets = this.filterTargets.map(function(attr) {
|
||||
// Get the innermost tag with the text we want to filter
|
||||
// <td>text</td>: elem = td-tag
|
||||
// <td><span><i></i><a>text</a></span></td>: elem = a-tag
|
||||
var elem = row.cells[this.colIndex[attr]];
|
||||
if (elem.firstChild && elem.firstChild.tagName === "SPAN") elem = elem.firstChild;
|
||||
if (elem.firstChild && elem.firstChild.tagName === "I") elem = elem.nextChild;
|
||||
if (elem.firstChild && elem.firstChild.tagName === "A") elem = elem.firstChild;
|
||||
var elemA = elem.getElementsByTagName("A")[0];
|
||||
if (elemA) elem = elemA;
|
||||
return {
|
||||
elem: elem,
|
||||
plainText: elem.innerText.replace(/ /g, "\u00a0"), // without tags, with encoded spaces
|
||||
|
@ -655,8 +657,10 @@ StageHelper.prototype.applyFilterToRow = function (row, filter) {
|
|||
// Apply filter to cells, mark filtered text
|
||||
for (var i = targets.length - 1; i >= 0; i--) {
|
||||
var target = targets[i];
|
||||
// Ignore case of filter
|
||||
var regFilter = new RegExp("("+filter+")", "gi");
|
||||
target.newHtml = (filter)
|
||||
? target.plainText.replace(filter, "<mark>"+filter+"</mark>")
|
||||
? target.plainText.replace(regFilter, "<mark>$1</mark>")
|
||||
: target.plainText;
|
||||
target.isChanged = target.newHtml !== target.curHtml;
|
||||
isVisible = isVisible || !filter || target.newHtml !== target.plainText;
|
||||
|
|
Loading…
Reference in New Issue
Block a user