X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Felements%2Fcheckbox-foot.html;h=f33a87467b4800de24f20867ae4d67e68c48442f;hb=8807939a466d20893efc5655e61ac38f891d6d05;hp=cc4bac69bec03eb2cd41ef2362126ac47f619ac9;hpb=326d5fb8855e84a0932fca99e54049d71d973cc4;p=freeside.git
diff --git a/httemplate/search/elements/checkbox-foot.html b/httemplate/search/elements/checkbox-foot.html
index cc4bac69b..f33a87467 100644
--- a/httemplate/search/elements/checkbox-foot.html
+++ b/httemplate/search/elements/checkbox-foot.html
@@ -4,13 +4,14 @@
html_foot => include('elements/checkbox-foot.html',
actions => [
{ label => 'Edit selected packages',
- action => 'popup_package_edit()',
+ onclick => 'popup_package_edit()',
},
{ submit => 'Delete selected packages',
confirm => 'Really delete these packages?'
},
],
filter => '.name = "pkgpart"', # see below
+ minboxes => 2, #will remove checkboxes if there aren't at least this many
),
&>
@@ -49,7 +50,7 @@ false.
% foreach my $action (@$actions) {
% if ( $action->{onclick} ) {
-{name} %> onclick="<% $opt{onclick} %>"\
+{name} %> onclick="<% $action->{onclick} %>"\
VALUE="<% $action->{label} |h%>">
% } elsif ( $action->{submit} ) {
{name} %> <% $action->{confirm} %>\
@@ -67,6 +68,14 @@ for (var i = 0; i < inputs.length; i++) {
}
}
%# avoid the need for "$areboxes" late-evaluation hackery
+% if ($opt{'minboxes'}) {
+if ( checkboxes.length < <% $opt{'minboxes'} %> ) {
+ for (i = 0; i < checkboxes.length; i++) {
+ checkboxes[i].parentNode.removeChild(checkboxes[i]);
+ }
+ checkboxes = [];
+}
+% }
if ( checkboxes.length == 0 ) {
document.getElementById('checkbox_footer').style.display = 'none';
}
@@ -75,6 +84,15 @@ function setAll(setTo) {
checkboxes[i].checked = setTo;
}
}
+function toCGIString() {
+ var out = '';
+ for (var i = 0; i < checkboxes.length; i++) {
+ if (checkboxes[i].checked) {
+ out += '&' + checkboxes[i].name + '=' + checkboxes[i].value;
+ }
+ }
+ return out;
+}
<%init>
my %opt = @_;