53 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| $(document).ready(function() {
 | |
| 	// Show element counter for tables
 | |
| 	$('[data-toggle="tooltip"]').tooltip();
 | |
| 	var rowCountDomainAlias = $('#domainaliastable >tbody >#data').length;
 | |
| 	var rowCountDomain = $('#domaintable >tbody >#data').length;
 | |
| 	var rowCountMailbox = $('#mailboxtable >tbody >#data').length;
 | |
| 	var rowCountAlias = $('#aliastable >tbody >#data').length;
 | |
| 	$("#numRowsDomainAlias").text(rowCountDomainAlias);
 | |
| 	$("#numRowsDomain").text(rowCountDomain);
 | |
| 	$("#numRowsMailbox").text(rowCountMailbox);
 | |
| 	$("#numRowsAlias").text(rowCountAlias);
 | |
| 	
 | |
| 	// Filter table function
 | |
| 	$.fn.extend({
 | |
| 		filterTable: function(){
 | |
| 			return this.each(function(){
 | |
| 				$(this).on('keyup', function(e){
 | |
| 					var $this = $(this),
 | |
|                         search = $this.val().toLowerCase(),
 | |
|                         target = $this.attr('data-filters'),
 | |
|                         $target = $(target),
 | |
|                         $rows = $target.find('tbody #data');
 | |
| 					$target.find('tbody .filterTable_no_results').remove();
 | |
| 					if(search == '') {
 | |
| 						$target.find('tbody #no-data').show();
 | |
| 						$rows.show();
 | |
| 					} else {
 | |
| 						$target.find('tbody #no-data').hide();
 | |
| 						$rows.each(function(){
 | |
| 							var $this = $(this);
 | |
| 							$this.text().toLowerCase().indexOf(search) === -1 ? $this.hide() : $this.show();
 | |
| 						})
 | |
| 						if($target.find('tbody #data:visible').size() === 0) {
 | |
| 							var col_count = $target.find('#data').first().find('td').size();
 | |
| 							var no_results = $('<tr class="filterTable_no_results"><td colspan="100%">-</td></tr>')
 | |
| 							$target.find('tbody').prepend(no_results);
 | |
| 						}
 | |
| 					}
 | |
| 				});
 | |
| 			});
 | |
| 		}
 | |
| 	});
 | |
| 	$('[data-action="filter"]').filterTable();
 | |
| 	$('.container').on('click', '.panel-heading span.filter', function(e){
 | |
| 		var $this = $(this),
 | |
| 		$panel = $this.parents('.panel');
 | |
| 		$panel.find('.panel-body').slideToggle("fast");
 | |
| 		if($this.css('display') != 'none') {
 | |
| 			$panel.find('.panel-body input').focus();
 | |
| 		}
 | |
| 	});
 | |
| });
 |