|
|
|
|
@ -35,18 +35,44 @@
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function handleTabCheckedCheckboxCount($tab) {
|
|
|
|
|
var newCount = 0;
|
|
|
|
|
$tab.find('input[type="checkbox"]').not('[name="SelectAllInThisTab"]').each(function () {
|
|
|
|
|
if ($(this).is(':checked') === true) {
|
|
|
|
|
newCount++;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var $tabTitle = $('#' + $tab.attr('id') + '-tab');
|
|
|
|
|
var title = $tabTitle.html()
|
|
|
|
|
.replace('<b>','').replace('</b>','')
|
|
|
|
|
.replace('<small>','').replace('</small>','');
|
|
|
|
|
|
|
|
|
|
var titleSplitted = title.split(' ');
|
|
|
|
|
if (titleSplitted[titleSplitted.length-1].startsWith('(')){
|
|
|
|
|
titleSplitted.pop();
|
|
|
|
|
}
|
|
|
|
|
var titleWithoutCount = titleSplitted.join(' ');
|
|
|
|
|
var newTitle = titleWithoutCount + ' (' + (newCount) + ')';
|
|
|
|
|
if (newCount > 0){
|
|
|
|
|
newTitle = '<b>' + newTitle + '</b>'
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
newTitle = '<small>' + newTitle + '</small>'
|
|
|
|
|
}
|
|
|
|
|
$tabTitle.html(newTitle)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function handleUncheck($tab) {
|
|
|
|
|
var $checkBox = $tab.find('input[name="SelectAllInThisTab"]');
|
|
|
|
|
|
|
|
|
|
if ($checkBox.is(':checked')) {
|
|
|
|
|
if ($tab.find('input[type="checkbox"]').not('[name="SelectAllInThisTab"]').length > 1) {
|
|
|
|
|
$($checkBox).prop('indeterminate', true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
} else {
|
|
|
|
|
$checkBox.prop('checked', false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if ($checkBox.is(':indeterminate')) {
|
|
|
|
|
} else if ($checkBox.is(':indeterminate')) {
|
|
|
|
|
var allUnchecked = true;
|
|
|
|
|
|
|
|
|
|
$tab.find('input[type="checkbox"]').not('[name="SelectAllInThisTab"]').each(function () {
|
|
|
|
|
@ -76,12 +102,12 @@
|
|
|
|
|
if (allChecked) {
|
|
|
|
|
$($checkBox).prop('indeterminate', false);
|
|
|
|
|
$checkBox.prop('checked', true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
} else {
|
|
|
|
|
$($checkBox).prop('indeterminate', true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function initSelectAllInThisTab() {
|
|
|
|
|
var tabs = $('.tab-pane');
|
|
|
|
|
for (var i = 0; i < tabs.length; i++) {
|
|
|
|
|
@ -101,11 +127,9 @@
|
|
|
|
|
|
|
|
|
|
if (allChecked) {
|
|
|
|
|
$($checkBox).prop('checked', true);
|
|
|
|
|
}
|
|
|
|
|
else if (allUnChecked) {
|
|
|
|
|
} else if (allUnChecked) {
|
|
|
|
|
$($checkBox).prop('checked', false);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
} else {
|
|
|
|
|
$($checkBox).prop('indeterminate', true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -139,11 +163,9 @@
|
|
|
|
|
|
|
|
|
|
if (allChecked) {
|
|
|
|
|
$($checkBox).prop('checked', true);
|
|
|
|
|
}
|
|
|
|
|
else if (allUnChecked) {
|
|
|
|
|
} else if (allUnChecked) {
|
|
|
|
|
$($checkBox).prop('checked', false);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
} else {
|
|
|
|
|
$($checkBox).prop('indeterminate', true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -151,6 +173,7 @@
|
|
|
|
|
this.initDom = function ($el) {
|
|
|
|
|
$el.find('.tab-pane').each(function () {
|
|
|
|
|
var $tab = $(this);
|
|
|
|
|
handleTabCheckedCheckboxCount($tab);
|
|
|
|
|
$tab.find('input[type="checkbox"]').not('[name="SelectAllInThisTab"]').each(function () {
|
|
|
|
|
var $checkBox = $(this);
|
|
|
|
|
$checkBox.change(function () {
|
|
|
|
|
@ -162,6 +185,7 @@
|
|
|
|
|
handleUncheck($tab);
|
|
|
|
|
}
|
|
|
|
|
setSelectAllInAllTabs();
|
|
|
|
|
handleTabCheckedCheckboxCount($tab);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
@ -176,6 +200,7 @@
|
|
|
|
|
}
|
|
|
|
|
$($checkBox).prop('indeterminate', false);
|
|
|
|
|
setSelectAllInAllTabs();
|
|
|
|
|
handleTabCheckedCheckboxCount($tab)
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('input[name="SelectAllInAllTabs"]').change(function () {
|
|
|
|
|
@ -186,6 +211,10 @@
|
|
|
|
|
$('.tab-pane input[type="checkbox"]').not(':disabled').prop('checked', false);
|
|
|
|
|
}
|
|
|
|
|
$($checkBox).prop('indeterminate', false);
|
|
|
|
|
|
|
|
|
|
$el.find('.tab-pane').each(function () {
|
|
|
|
|
handleTabCheckedCheckboxCount($(this))
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$(function () {
|
|
|
|
|
@ -201,4 +230,4 @@
|
|
|
|
|
setSelectAllInAllTabs();
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
})(jQuery);
|
|
|
|
|
})(jQuery);
|
|
|
|
|
|