Added the ability to move multiple firewall rules via a "movre to here" icon (anchor)
This commit is contained in:
Stephen Beaver 2016-03-14 15:21:51 -04:00
parent e731dae0bd
commit 9ec9978267
2 changed files with 32 additions and 2 deletions

View File

@ -789,6 +789,7 @@ foreach ($a_filter as $filteri => $filterent):
</td>
<td class="action-icons">
<!-- <?=(isset($filterent['disabled']) ? 'enable' : 'disable')?> -->
<a class="fa fa-anchor icon-pointer" id="Xmove_<?=$filteri?>" title="<?=gettext("Move checked rules above this one")?>"></a>
<a href="firewall_rules_edit.php?id=<?=$filteri;?>" class="fa fa-pencil" title="<?=gettext('Edit')?>"></a>
<a href="firewall_rules_edit.php?dup=<?=$filteri;?>" class="fa fa-clone" title="<?=gettext('Copy')?>"></a>
<?php if (isset($filterent['disabled'])) {
@ -900,6 +901,30 @@ configsection = "filter";
events.push(function() {
// "Move to here" (anchor) action
$('[id^=Xmove_]').click(function (event) {
event.stopImmediatePropagation();
var anchor_row = $(this).parents("tr:first");
$('#ruletable > tbody > tr').each(function() {
ruleid = this.id.slice(2);
if (ruleid && !isNaN(ruleid)) {
if ($('#frc' + ruleid).prop('checked')) {
$(this).insertBefore(anchor_row);
fr_toggle(ruleid, "fr");
}
}
});
$('#order-store').removeAttr('disabled');
reindex_rules($(anchor_row).parent('tbody'));
dirty = true;
});
// Make rules sortable. Hiding the table before applying sortable, then showing it again is
// a work-around for very slow sorting on FireFox
$('table tbody.user-entries').hide();
@ -934,7 +959,6 @@ events.push(function() {
return undefined;
}
});
});
//]]>
</script>

View File

@ -579,9 +579,15 @@ $('.container .panel-heading a[data-toggle="collapse"]').each(function (idx, el)
section.find('tr').each(function() {
if(this.id) {
$(this).attr("id", "fr" + row);
$(this).attr("onclick", "fr_toggle(" + row + ")")
$(this).find('input:checkbox:first').each(function() {
$(this).attr("id", "frc" + row);
$(this).attr("onclick", "fr_toggle(" + row + ")");
});
row++;
}
})
});
}
function handle_colors() {