You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Plugins/features/alphabetSearch/dataTables.alphabetSearch.m...

18 lines
2.9 KiB
JavaScript

/*!
6 years ago
Copyright 2014 SpryMedia Ltd.
License MIT - http://datatables.net/license/mit
For more detailed information please see:
http://datatables.net/blog/2014-09-22
AlphabetSearch for DataTables v1.0.0
2014 SpryMedia Ltd - datatables.net/license
*/
6 years ago
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,d,b){a instanceof String&&(a=String(a));for(var c=a.length,e=0;e<c;e++){var g=a[e];if(d.call(b,g,e,a))return{i:e,v:g}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,d,b){a!=Array.prototype&&a!=Object.prototype&&(a[d]=b.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.polyfill=function(a,d,b,c){if(d){b=$jscomp.global;a=a.split(".");for(c=0;c<a.length-1;c++){var e=a[c];e in b||(b[e]={});b=b[e]}a=a[a.length-1];c=b[a];d=d(c);d!=c&&null!=d&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:d})}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6","es3");
(function(){function a(a,b){b.empty();b.append("Search: ");var c=a.column(0).data();a={};for(var d=0,g=c.length;d<g;d++){var f=c[d].toString().replace(/<.*?>/g,"").charAt(0).toUpperCase();a[f]?a[f]++:a[f]=1}$('<span class="clear active"/>').data("letter","").data("match-count",c.length).html("None").appendTo(b);for(c=0;26>c;c++)f=String.fromCharCode(65+c),$("<span/>").data("letter",f).data("match-count",a[f]||0).addClass(a[f]?"":"empty").html(f).appendTo(b);$('<div class="alphabetInfo"></div>').appendTo(b)}
$.fn.dataTable.Api.register("alphabetSearch()",function(a){this.iterator("table",function(b){b.alphabetSearch=a});return this});$.fn.dataTable.Api.register("alphabetSearch.recalc()",function(d){this.iterator("table",function(b){a(new $.fn.dataTable.Api(b),$("div.alphabet",this.table().container()))});return this});$.fn.dataTable.ext.search.push(function(a,b){return a.alphabetSearch&&b[0].charAt(0)!==a.alphabetSearch?!1:!0});$.fn.dataTable.AlphabetSearch=function(d){var b=new $.fn.dataTable.Api(d),
c=$('<div class="alphabet"/>');a(b,c);c.on("click","span",function(){c.find(".active").removeClass("active");$(this).addClass("active");b.alphabetSearch($(this).data("letter")).draw()});c.on("mouseenter","span",function(){c.find("div.alphabetInfo").css({opacity:1,left:$(this).position().left,width:$(this).width()}).html($(this).data("match-count"))}).on("mouseleave","span",function(){c.find("div.alphabetInfo").css("opacity",0)});this.node=function(){return c}};$.fn.DataTable.AlphabetSearch=$.fn.dataTable.AlphabetSearch;
$.fn.dataTable.ext.feature.push({fnInit:function(a){return(new $.fn.dataTable.AlphabetSearch(a)).node()},cFeature:"A"})})();