diff --git a/src-es6/modules/paging.js b/src-es6/modules/paging.js index 23347053..17ba5d1c 100644 --- a/src-es6/modules/paging.js +++ b/src-es6/modules/paging.js @@ -153,7 +153,7 @@ export class Paging{ this.tf = tf; } - buildUI{ + buildUI(){ var slcPages; var tf = this.tf; diff --git a/src/modules/highlightKeywords.js b/src/modules/highlightKeywords.js index 9fe92813..7d6191a6 100644 --- a/src/modules/highlightKeywords.js +++ b/src/modules/highlightKeywords.js @@ -1,15 +1,16 @@ define(["exports", "../dom", "../string"], function (exports, _dom, _string) { "use strict"; - var _classProps = function (child, staticProps, instanceProps) { - if (staticProps) Object.defineProperties(child, staticProps); - if (instanceProps) Object.defineProperties(child.prototype, instanceProps); - }; - var Dom = _dom.Dom; var Str = _string.Str; var HighlightKeyword = (function () { - var HighlightKeyword = function HighlightKeyword(tf) { + var HighlightKeyword = + + /** + * HighlightKeyword, highlight matched keyword + * @param {Object} tf TableFilter instance + */ + function HighlightKeyword(tf) { var f = tf.fObj; //defines css class for highlighting this.highlightCssClass = f.highlight_css_class || "keyword"; @@ -18,83 +19,74 @@ define(["exports", "../dom", "../string"], function (exports, _dom, _string) { this.tf = tf; }; - _classProps(HighlightKeyword, null, { - highlight: { - writable: true, - value: function (node, word, cssClass) { - // Iterate into this nodes childNodes - if (node.hasChildNodes) { - var children = node.childNodes; - for (var i = 0; i < children.length; i++) { - this.highlight(children[i], word, cssClass); - } - } - - if (node.nodeType === 3) { - var tempNodeVal = Str.lower(node.nodeValue); - var tempWordVal = Str.lower(word); - if (tempNodeVal.indexOf(tempWordVal) != -1) { - var pn = node.parentNode; - if (pn && pn.className != cssClass) { - // word not highlighted yet - var nv = node.nodeValue, ni = tempNodeVal.indexOf(tempWordVal), - // Create a load of replacement nodes - before = Dom.text(nv.substr(0, ni)), docWordVal = nv.substr(ni, word.length), after = Dom.text(nv.substr(ni + word.length)), hiwordtext = Dom.text(docWordVal), hiword = Dom.create("span"); - hiword.className = cssClass; - hiword.appendChild(hiwordtext); - pn.insertBefore(before, node); - pn.insertBefore(hiword, node); - pn.insertBefore(after, node); - pn.removeChild(node); - this.highlightedNodes.push(hiword.firstChild); - } - } - } - } - }, - unhighlight: { - writable: true, - value: function (word, cssClass) { - var arrRemove = []; - var highlightedNodes = this.highlightedNodes; - for (var i = 0; i < highlightedNodes.length; i++) { - var n = highlightedNodes[i]; - if (!n) { - continue; - } - var tempNodeVal = Str.lower(n.nodeValue), tempWordVal = Str.lower(word); - if (tempNodeVal.indexOf(tempWordVal) !== -1) { - var pn = n.parentNode; - if (pn && pn.className === cssClass) { - var prevSib = pn.previousSibling, nextSib = pn.nextSibling; - if (!prevSib || !nextSib) { - continue; - } - nextSib.nodeValue = prevSib.nodeValue + n.nodeValue + nextSib.nodeValue; - prevSib.nodeValue = ""; - n.nodeValue = ""; - arrRemove.push(i); - } - } - } - for (var k = 0; k < arrRemove.length; k++) { - highlightedNodes.splice(arrRemove[k], 1); - } - } - }, - unhighlightAll: { - writable: true, - value: function () { - if (!this.tf.highlightKeywords || !this.tf.searchArgs) { - return; - } - for (var y = 0; y < this.tf.searchArgs.length; y++) { - this.unhighlight(this.tf.searchArgs[y], this.highlightCssClass); - } - this.highlightedNodes = []; + HighlightKeyword.prototype.highlight = function (node, word, cssClass) { + // Iterate into this nodes childNodes + if (node.hasChildNodes) { + var children = node.childNodes; + for (var i = 0; i < children.length; i++) { + this.highlight(children[i], word, cssClass); } } - }); + + if (node.nodeType === 3) { + var tempNodeVal = Str.lower(node.nodeValue); + var tempWordVal = Str.lower(word); + if (tempNodeVal.indexOf(tempWordVal) != -1) { + var pn = node.parentNode; + if (pn && pn.className != cssClass) { + // word not highlighted yet + var nv = node.nodeValue, ni = tempNodeVal.indexOf(tempWordVal), + // Create a load of replacement nodes + before = Dom.text(nv.substr(0, ni)), docWordVal = nv.substr(ni, word.length), after = Dom.text(nv.substr(ni + word.length)), hiwordtext = Dom.text(docWordVal), hiword = Dom.create("span"); + hiword.className = cssClass; + hiword.appendChild(hiwordtext); + pn.insertBefore(before, node); + pn.insertBefore(hiword, node); + pn.insertBefore(after, node); + pn.removeChild(node); + this.highlightedNodes.push(hiword.firstChild); + } + } + } + }; + + HighlightKeyword.prototype.unhighlight = function (word, cssClass) { + var arrRemove = []; + var highlightedNodes = this.highlightedNodes; + for (var i = 0; i < highlightedNodes.length; i++) { + var n = highlightedNodes[i]; + if (!n) { + continue; + } + var tempNodeVal = Str.lower(n.nodeValue), tempWordVal = Str.lower(word); + if (tempNodeVal.indexOf(tempWordVal) !== -1) { + var pn = n.parentNode; + if (pn && pn.className === cssClass) { + var prevSib = pn.previousSibling, nextSib = pn.nextSibling; + if (!prevSib || !nextSib) { + continue; + } + nextSib.nodeValue = prevSib.nodeValue + n.nodeValue + nextSib.nodeValue; + prevSib.nodeValue = ""; + n.nodeValue = ""; + arrRemove.push(i); + } + } + } + for (var k = 0; k < arrRemove.length; k++) { + highlightedNodes.splice(arrRemove[k], 1); + } + }; + + HighlightKeyword.prototype.unhighlightAll = function () { + if (!this.tf.highlightKeywords || !this.tf.searchArgs) { + return; + } + for (var y = 0; y < this.tf.searchArgs.length; y++) { + this.unhighlight(this.tf.searchArgs[y], this.highlightCssClass); + } + this.highlightedNodes = []; + }; return HighlightKeyword; })(); diff --git a/src/modules/highlightKeywords.js.map b/src/modules/highlightKeywords.js.map index a48e9268..0f246134 100644 --- a/src/modules/highlightKeywords.js.map +++ b/src/modules/highlightKeywords.js.map @@ -1 +1 @@ -{"version":3,"sources":["src-es6/modules/highlightKeywords.js"],"names":[],"mappings":"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","file":"src-es6/modules/highlightKeywords.js","sourcesContent":["import {Dom} from '../dom';\r\nimport {Str} from '../string';\r\n\r\nexport class HighlightKeyword{\r\n\r\n /**\r\n * HighlightKeyword, highlight matched keyword\r\n * @param {Object} tf TableFilter instance\r\n */\r\n constructor(tf) {\r\n var f = tf.fObj;\r\n //defines css class for highlighting\r\n this.highlightCssClass = f.highlight_css_class || 'keyword';\r\n this.highlightedNodes = [];\r\n\r\n this.tf = tf;\r\n }\r\n\r\n /**\r\n * highlight occurences of searched term in passed node\r\n * @param {Node} node\r\n * @param {String} word Searched term\r\n * @param {String} cssClass Css class name\r\n */\r\n highlight(node, word, cssClass){\r\n // Iterate into this nodes childNodes\r\n if(node.hasChildNodes){\r\n var children = node.childNodes;\r\n for(var i=0; i