version 1.1470, 2025/03/17 00:25:51
|
version 1.1473, 2025/03/20 15:46:05
|
Line 2800 sub create_text_file {
|
Line 2800 sub create_text_file {
|
# ------------------------------------------ |
# ------------------------------------------ |
|
|
sub domain_select { |
sub domain_select { |
my ($name,$value,$multiple,$incdoms,$excdoms)=@_; |
my ($name,$value,$multiple,$incdoms,$excdoms,$id)=@_; |
my @possdoms; |
my @possdoms; |
if (ref($incdoms) eq 'ARRAY') { |
if (ref($incdoms) eq 'ARRAY') { |
@possdoms = @{$incdoms}; |
@possdoms = @{$incdoms}; |
Line 2821 sub domain_select {
|
Line 2821 sub domain_select {
|
if ($multiple) { |
if ($multiple) { |
$domains{''}=&mt('Any domain'); |
$domains{''}=&mt('Any domain'); |
$domains{'select_form_order'} = [sort {lc($a) cmp lc($b) } (keys(%domains))]; |
$domains{'select_form_order'} = [sort {lc($a) cmp lc($b) } (keys(%domains))]; |
return &multiple_select_form($name,$value,4,\%domains); |
return &multiple_select_form($name,$value,4,\%domains,undef,$id); |
} else { |
} else { |
$domains{'select_form_order'} = [sort {lc($a) cmp lc($b) } (keys(%domains))]; |
$domains{'select_form_order'} = [sort {lc($a) cmp lc($b) } (keys(%domains))]; |
return &select_form($name,$value,\%domains); |
return &select_form($name,$value,\%domains,'','',$id); |
} |
} |
} |
} |
|
|
Line 2836 sub domain_select {
|
Line 2836 sub domain_select {
|
|
|
=over 4 |
=over 4 |
|
|
=item * &multiple_select_form($name,$value,$size,$hash,$order) |
=item * &multiple_select_form($name,$value,$size,$hash,$order,$id) |
|
|
Returns a string containing a <select> element int multiple mode |
Returns a string containing a <select> element int multiple mode |
|
|
Line 2848 Args:
|
Line 2848 Args:
|
$hash - the elements should be 'option' => 'shown text' |
$hash - the elements should be 'option' => 'shown text' |
(shown text should already have been &mt()) |
(shown text should already have been &mt()) |
$order - (optional) array ref of the order to show the elements in |
$order - (optional) array ref of the order to show the elements in |
|
$id = (optional) id for <select> element |
|
|
=cut |
=cut |
|
|
#------------------------------------------- |
#------------------------------------------- |
sub multiple_select_form { |
sub multiple_select_form { |
my ($name,$value,$size,$hash,$order)=@_; |
my ($name,$value,$size,$hash,$order,$id)=@_; |
my %selected = map { $_ => 1 } ref($value)?@{$value}:($value); |
my %selected = map { $_ => 1 } ref($value)?@{$value}:($value); |
my $output=''; |
my $output=''; |
if (! defined($size)) { |
if (! defined($size)) { |
Line 2862 sub multiple_select_form {
|
Line 2863 sub multiple_select_form {
|
$size = scalar(keys(%$hash)); |
$size = scalar(keys(%$hash)); |
} |
} |
} |
} |
$output.="\n".'<select name="'.$name.'" size="'.$size.'" multiple="multiple">'; |
if ($id ne '') { |
|
$id = ' id="'.$id.'"'; |
|
} |
|
$output.="\n".'<select name="'.$name.'" size="'.$size.'" multiple="multiple"'.$id.'>'; |
my @order; |
my @order; |
if (ref($order) eq 'ARRAY') { |
if (ref($order) eq 'ARRAY') { |
@order = @{$order}; |
@order = @{$order}; |
Line 2886 sub multiple_select_form {
|
Line 2890 sub multiple_select_form {
|
|
|
=pod |
=pod |
|
|
=item * &select_form($defdom,$name,$hashref,$onchange,$readonly) |
=item * &select_form($defdom,$name,$hashref,$onchange,$readonly,$id,$aria_labelledby) |
|
|
Returns a string containing a <select name='$name' size='1'> form to |
Returns a string containing a <select name='$name' size='1'> form to |
allow a user to select options from a ref to a hash containing: |
allow a user to select options from a ref to a hash containing: |
Line 2894 option_name => displayed text. An option
|
Line 2898 option_name => displayed text. An option
|
a javascript onchange item, e.g., onchange="this.form.submit();". |
a javascript onchange item, e.g., onchange="this.form.submit();". |
An optional arg -- $readonly -- if true will cause the select form |
An optional arg -- $readonly -- if true will cause the select form |
to be disabled, e.g., for the case where an instructor has a section- |
to be disabled, e.g., for the case where an instructor has a section- |
specific role, and is viewing/modifying parameters. |
specific role, and is viewing/modifying parameters. An optional arg |
|
-- $id -- will be used as the id attribute of the select element. An |
|
optional arg -- $aria_labelledby -- will be included as the aria-labelledby |
|
attribute of the select element. |
|
|
See lonrights.pm for an example invocation and use. |
See lonrights.pm for an example invocation and use. |
|
|
Line 2902 See lonrights.pm for an example invocati
|
Line 2909 See lonrights.pm for an example invocati
|
|
|
#------------------------------------------- |
#------------------------------------------- |
sub select_form { |
sub select_form { |
my ($def,$name,$hashref,$onchange,$readonly) = @_; |
my ($def,$name,$hashref,$onchange,$readonly,$id,$aria_labelledby) = @_; |
return unless (ref($hashref) eq 'HASH'); |
return unless (ref($hashref) eq 'HASH'); |
if ($onchange) { |
if ($onchange) { |
$onchange = ' onchange="'.$onchange.'"'; |
$onchange = ' onchange="'.$onchange.'"'; |
Line 2911 sub select_form {
|
Line 2918 sub select_form {
|
if ($readonly) { |
if ($readonly) { |
$disabled = ' disabled="disabled"'; |
$disabled = ' disabled="disabled"'; |
} |
} |
my $selectform = "<select name=\"$name\" size=\"1\"$onchange$disabled>\n"; |
if ($id ne '') { |
|
$id = ' id="'.$id.'"'; |
|
} |
|
if ($aria_labelledby ne '') { |
|
$aria_labelledby = ' aria-labelledby="'.$aria_labelledby.'"'; |
|
} |
|
my $selectform = "<select name=\"$name\" size=\"1\"$onchange$disabled$id$aria_labelledby>\n"; |
my @keys; |
my @keys; |
if (exists($hashref->{'select_form_order'})) { |
if (exists($hashref->{'select_form_order'})) { |
@keys=@{$hashref->{'select_form_order'}}; |
@keys=@{$hashref->{'select_form_order'}}; |
Line 2962 sub display_filter {
|
Line 2975 sub display_filter {
|
my $onchange = "javascript:toggleHistoryOptions(this,'containingphrase','$context', |
my $onchange = "javascript:toggleHistoryOptions(this,'containingphrase','$context', |
'$secondid','$thirdid')"; |
'$secondid','$thirdid')"; |
return '<span class="LC_nobreak"><label>'.&mt('Records: [_1]', |
return '<span class="LC_nobreak"><label>'.&mt('Records: [_1]', |
&Apache::lonmeta::selectbox('show',$env{'form.show'},'',undef, |
&Apache::lonmeta::selectbox('show',$env{'form.show'},'','',undef, |
(&mt('all'),10,20,50,100,1000,10000))). |
(&mt('all'),10,20,50,100,1000,10000))). |
'</label></span> <span class="LC_nobreak">'. |
'</label></span> <span class="LC_nobreak">'. |
&mt('Filter: [_1]', |
&mt('Filter: [_1]', |
Line 3064 sub gradeleveldescription {
|
Line 3077 sub gradeleveldescription {
|
} |
} |
|
|
sub select_level_form { |
sub select_level_form { |
my ($deflevel,$name)=@_; |
my ($deflevel,$name,$id)=@_; |
|
if ($id ne '') { |
|
$id = ' id="'.$id.'"'; |
|
} |
unless ($deflevel) { $deflevel=0; } |
unless ($deflevel) { $deflevel=0; } |
my $selectform = "<select name=\"$name\" size=\"1\">\n"; |
my $selectform = "<select name=\"$name\" size=\"1\"$id>\n"; |
for (my $i=0; $i<=18; $i++) { |
for (my $i=0; $i<=18; $i++) { |
$selectform.="<option value=\"$i\" ". |
$selectform.="<option value=\"$i\" ". |
($i==$deflevel ? 'selected="selected" ' : ''). |
($i==$deflevel ? 'selected="selected" ' : ''). |
Line 4861 sub filemimetype {
|
Line 4877 sub filemimetype {
|
|
|
|
|
sub filecategoryselect { |
sub filecategoryselect { |
my ($name,$value)=@_; |
my ($name,$value,$id)=@_; |
return &select_form($value,$name, |
return &select_form($value,$name, |
{'' => &mt('Any category'), map { $_,$_ } sort(keys(%category_extensions))}); |
{'' => &mt('Any category'), map { $_,$_ } sort(keys(%category_extensions))}, |
|
'','',$id); |
} |
} |
|
|
=pod |
=pod |
Line 7349 form, .inline {
|
Line 7366 form, .inline {
|
font-size: 1.0em; |
font-size: 1.0em; |
} |
} |
|
|
|
h1.LC_search_results { |
|
font-size: 1.0em; |
|
font-weight: normal; |
|
} |
|
|
.LC_menus_content.shown{ |
.LC_menus_content.shown{ |
display: block; |
display: block; |
} |
} |
Line 8151 table.LC_pick_box td.LC_oddrow_value {
|
Line 8173 table.LC_pick_box td.LC_oddrow_value {
|
background-color: $data_table_light; |
background-color: $data_table_light; |
} |
} |
|
|
|
td.LC_log_filter, |
|
th.LC_log_filter { |
|
vertical-align: top; |
|
text-align: left; |
|
padding: 0 4px; |
|
} |
|
|
span.LC_helpform_receipt_cat { |
span.LC_helpform_receipt_cat { |
font-weight: bold; |
font-weight: bold; |
} |
} |
Line 8698 fieldset#LC_selectuser {
|
Line 8727 fieldset#LC_selectuser {
|
border: 0; |
border: 0; |
} |
} |
|
|
|
fieldset.LC_delete_slot { |
|
display:inline; |
|
margin: 0 4px 4px; |
|
padding: 4px; |
|
} |
|
|
|
fieldset.LC_delete_slot > legend { |
|
font-weight: normal; |
|
} |
|
|
|
p.LC_medium_line { |
|
line-height: 0.85em; |
|
} |
|
|
article.geogebraweb div { |
article.geogebraweb div { |
margin: 0; |
margin: 0; |
} |
} |
Line 15656 sub upfile_select_html {
|
Line 15699 sub upfile_select_html {
|
tab => &mt('Tabulator separated'), |
tab => &mt('Tabulator separated'), |
# xml => &mt('HTML/XML'), |
# xml => &mt('HTML/XML'), |
); |
); |
my $Str = '<input type="file" name="upfile" size="50" />'. |
my $Str = '<input type="file" name="upfile" id="upfile" size="50" />'. |
'<br />'.&mt('Type').': <select name="upfiletype">'; |
'<br /><label>'.&mt('Type').': <select name="upfiletype">'; |
foreach my $type (sort(keys(%Types))) { |
foreach my $type (sort(keys(%Types))) { |
$Str .= '<option value="'.$type.'" >'.$Types{$type}."</option>\n"; |
$Str .= '<option value="'.$type.'" >'.$Types{$type}."</option>\n"; |
} |
} |
$Str .= "</select>\n"; |
$Str .= "</select></label>\n"; |
return $Str; |
return $Str; |
} |
} |
|
|
Line 15745 sub csv_print_select_table {
|
Line 15788 sub csv_print_select_table {
|
&end_data_table_header_row()."\n"); |
&end_data_table_header_row()."\n"); |
foreach my $array_ref (@$d) { |
foreach my $array_ref (@$d) { |
my ($value,$display,$defaultcol)=@{ $array_ref }; |
my ($value,$display,$defaultcol)=@{ $array_ref }; |
$r->print(&start_data_table_row().'<td>'.$display.'</td>'); |
$r->print(&start_data_table_row().'<td><label for="f'.$i.'">'.$display.'</label></td>'); |
|
|
$r->print('<td><select name="f'.$i.'"'. |
$r->print('<td><select name="f'.$i.'" id="f'.$i.'"'. |
' onchange="javascript:flip(this.form,'.$i.');">'); |
' onchange="javascript:flip(this.form,'.$i.');">'); |
$r->print('<option value="none"></option>'); |
$r->print('<option value="none"></option>'); |
foreach my $sample (sort({$a <=> $b} keys(%{ $samples->[0] }))) { |
foreach my $sample (sort({$a <=> $b} keys(%{ $samples->[0] }))) { |
Line 15792 sub csv_samples_select_table {
|
Line 15835 sub csv_samples_select_table {
|
&end_data_table_header_row()); |
&end_data_table_header_row()); |
|
|
foreach my $key (sort(keys(%{ $samples->[0] }))) { |
foreach my $key (sort(keys(%{ $samples->[0] }))) { |
|
my $num = $i+1; |
|
my $labeltext = &HTML::Entities::encode(&mt('Field for data in column [_1]',$num)); |
$r->print(&start_data_table_row().'<td><select name="f'.$i.'"'. |
$r->print(&start_data_table_row().'<td><select name="f'.$i.'"'. |
' onchange="javascript:flip(this.form,'.$i.');">'); |
' onchange="javascript:flip(this.form,'.$i.');" aria-label="'.$labeltext.'">'); |
foreach my $option (@$d) { |
foreach my $option (@$d) { |
my ($value,$display,$defaultcol)=@{ $option }; |
my ($value,$display,$defaultcol)=@{ $option }; |
$r->print('<option value="'.$value.'"'. |
$r->print('<option value="'.$value.'"'. |