projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git]
/
httemplate
/
search
/
elements
/
checkbox-foot.html
diff --git
a/httemplate/search/elements/checkbox-foot.html
b/httemplate/search/elements/checkbox-foot.html
index
be1caab
..
f33a874
100644
(file)
--- 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',
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
},
{ 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
),
&>
),
&>
@@
-26,7
+27,8
@@
array is a hashref of either:
of "submit" becomes the "value" property of the button (and thus its label).
If "confirm" is specified, the button will have an onclick handler that
displays the value of "confirm" in a popup message box and asks the user to
of "submit" becomes the "value" property of the button (and thus its label).
If "confirm" is specified, the button will have an onclick handler that
displays the value of "confirm" in a popup message box and asks the user to
-confirm the choice.
+confirm the choice. The hashref may also have a "name" property, which
+sets the name of the submit button.
- "onclick" and "label". Creates a non-submit button that executes the
Javascript code in "onclick". "label" is used as the text of the button.
- "onclick" and "label". Creates a non-submit button that executes the
Javascript code in "onclick". "label" is used as the text of the button.
@@
-48,7
+50,7
@@
false.
<BR>
% foreach my $action (@$actions) {
% if ( $action->{onclick} ) {
<BR>
% foreach my $action (@$actions) {
% if ( $action->{onclick} ) {
-<INPUT TYPE="button" <% $action->{name} %> onclick="<% $
opt
{onclick} %>"\
+<INPUT TYPE="button" <% $action->{name} %> onclick="<% $
action->
{onclick} %>"\
VALUE="<% $action->{label} |h%>">
% } elsif ( $action->{submit} ) {
<INPUT TYPE="submit" <% $action->{name} %> <% $action->{confirm} %>\
VALUE="<% $action->{label} |h%>">
% } elsif ( $action->{submit} ) {
<INPUT TYPE="submit" <% $action->{name} %> <% $action->{confirm} %>\
@@
-66,6
+68,14
@@
for (var i = 0; i < inputs.length; i++) {
}
}
%# avoid the need for "$areboxes" late-evaluation hackery
}
}
%# 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';
}
if ( checkboxes.length == 0 ) {
document.getElementById('checkbox_footer').style.display = 'none';
}
@@
-74,6
+84,15
@@
function setAll(setTo) {
checkboxes[i].checked = 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;
+}
</SCRIPT>
<%init>
my %opt = @_;
</SCRIPT>
<%init>
my %opt = @_;