Skip to content

Commit

Permalink
refs #4536 improved striping for action data tables: when subtables a…
Browse files Browse the repository at this point in the history
…re opened or closed, reset the odd/even labels. otherwise, two subsequent odd or even rows are possible.
  • Loading branch information
timo-bes committed Feb 7, 2014
1 parent f35e9d2 commit 88aaf3f
Showing 1 changed file with 30 additions and 11 deletions.
41 changes: 30 additions & 11 deletions plugins/Actions/javascripts/actionsDataTable.js
Expand Up @@ -133,15 +133,23 @@
$(this).prop('parent', function () {
return self.parentAttributeParent + ' ' + self.parentId;
});

// Add some styles on the cells even/odd
// label (first column of a data row) or not
$("td:first-child:odd", this).addClass('label labeleven');
$("td:first-child:even", this).addClass('label labelodd');
$("tr:odd td", domElem).slice(1).addClass('column columnodd');
$("tr:even td", domElem).slice(1).addClass('column columneven');
});

self.addOddAndEvenClasses(domElem);
},

addOddAndEvenClasses: function(domElem) {
// Add some styles on the cells even/odd
// label (first column of a data row) or not
$("tr:not(.hidden):odd td:first-child", domElem)
.removeClass('labeleven').addClass('label labelodd');
$("tr:not(.hidden):even td:first-child", domElem)
.removeClass('labelodd').addClass('label labeleven');
$("tr:not(.hidden):odd td", domElem).slice(1)
.removeClass('columneven').addClass('column columnodd');
$("tr:not(.hidden):even td", domElem).slice(1)
.removeClass('columnodd').addClass('column columneven');
},

handleRowActions: function (domElem, rows) {
this.doHandleRowActions(rows);
Expand Down Expand Up @@ -204,15 +212,17 @@
// else we toggle all these rows
else {
var plusDetected = $('td img.plusMinus', domElem).attr('src').indexOf('plus') >= 0;

var stripingNeeded = false;

$(domElem).siblings().each(function () {
var parents = $(this).prop('parent').split(' ');
if (parents) {
if (parents.indexOf(idSubTable) >= 0
|| parents.indexOf('subDataTable_' + idSubTable) >= 0) {
if (plusDetected) {
$(this).css('display', '');

$(this).css('display', '').removeClass('hidden');
stripingNeeded = !stripingNeeded;

//unroll everything and display '-' sign
//if the row is already opened
var NextStyle = $(this).next().attr('class');
Expand All @@ -225,12 +235,21 @@
setImageMinus(this);
}
else {
$(this).css('display', 'none');
$(this).css('display', 'none').addClass('hidden');
stripingNeeded = !stripingNeeded;
}
self.repositionRowActions($(domElem));
}
}
});

var table = $(domElem);
if (!table.hasClass('dataTable')) {
table = table.closest('.dataTable');
}
if (stripingNeeded) {
self.addOddAndEvenClasses(table);
}
}

// toggle the +/- image
Expand Down

0 comments on commit 88aaf3f

Please sign in to comment.