UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 3.39 kB
module.exports=function(t){function e(r){if(n[r])return n[r].exports;var s=n[r]={exports:{},id:r,loaded:!1};return t[r].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}({0:function(t,e,n){n(1586),t.exports=n(1586)},3:function(t,e){t.exports=function(){throw Error("define cannot be used indirect")}},20:function(t,e){t.exports=require("../kendo.core")},1586:function(t,e,n){var r,s,o;!function(i,define){s=[n(20)],r=i,o="function"==typeof r?r.apply(e,s):r,!(void 0!==o&&(t.exports=o))}(function(){return function(t,e){var n=kendo.Class,r=t.extend,s=t.isArray,o=n.extend({init:function(t){var e=this;e.options=r({},e.options,t),e.processDom()},options:{highlightClass:"k-search-highlight",charClass:"k-text-char"},processDom:function(){var t,e=this;for(e.targets=s(e.options.target)?e.options.target:[e.options.target],e.textNodes=[],e.charIndex=0,e.text="",e.targets.forEach(function(t){e.traverseToTextNode(t)}),t=0;t<e.textNodes.length;t++)e.processTextNode(e.textNodes[t])},traverseToTextNode:function(t){var e,n=this;if(3===t.nodeType)n.textNodes.push(t);else for(e=0;e<t.childNodes.length;e++)n.traverseToTextNode(t.childNodes[e])},processTextNode:function(e){var n,r=this,s=e.textContent;r.text=r.text+s,s.length>0&&(n=t(e).wrap("<span>").parent(),n.empty(),r.splitChars(n.get(0),s),n.children().unwrap())},splitChars:function(t,e){var n,r=this,s="";for(n=0;n<e.length;n++)s=s+"<span class='"+r.options.charClass+"' "+kendo.attr("char-index")+"="+r.charIndex+">"+e[n]+"</span>",r.charIndex++;t.innerHTML=s},search:function(t,e){var n,r=this,s=RegExp(t,e?"g":"gi");if(r.matches=[],r.resetMark(),r.resetHighlight(),r.resetMatchIndex(),""!==t){for(n=s.exec(r.text);n;)r.matches.push({startOffset:n.index,endOffset:n.index+n[0].length}),n=s.exec(r.text);r.highlightAll(),r.mark()}},highlightAll:function(){var t=this;t.matches.forEach(function(e,n){var r=e.startOffset,s=e.endOffset;t.highlight(r,s,n+1)})},highlight:function(e,n,r){var s,o=this;for(s=e;s<n;s++)t(o.targets).find("."+o.options.charClass+"["+kendo.attr("char-index")+"="+s+"]").addClass(o.options.highlightClass).attr(kendo.attr("match-index"),r)},resetHighlight:function(){var e=this;t(e.targets).find("."+e.options.highlightClass).removeClass(e.options.highlightClass)},resetMatchIndex:function(){var e=this;t(e.targets).find("."+e.options.charClass+"["+kendo.attr("match-index")+"]").removeAttr(kendo.attr("match-index"))},mark:function(){var e=this;e.currentIndex||0===e.currentIndex?e.currentIndex>e.matches.length?e.currentIndex=e.matches.length:e.resetMark():e.currentIndex=0,t(e.targets).find("."+e.options.charClass+"["+kendo.attr("match-index")+"="+e.currentIndex+"]").wrapInner("<mark>")},resetMark:function(){var e=this;t(e.targets).find("mark").contents().unwrap()},nextMatch:function(){var t=this;t.currentIndex++,t.currentIndex>t.matches.length&&(t.currentIndex=1),t.mark()},previousMatch:function(){var t=this;t.currentIndex--,t.currentIndex<1&&(t.currentIndex=t.matches.length),t.mark()},getMarkedIndex:function(){return this.matches.length?this.currentIndex:0},getFirstMarked:function(){return t(this.targets).find("mark").eq(0)},destroy:function(){var e=this;e.resetMark(),t(e.targets).children("span:not(."+e.options.charClass+")").each(function(e,n){t(n).text(t(n).text())})}});r(kendo.pdfviewer,{SearchDOM:o})}(window.kendo.jQuery),window.kendo},n(3))}});