--- loncom/interface/lonhtmlcommon.pm 2013/06/04 23:12:08 1.346
+++ loncom/interface/lonhtmlcommon.pm 2015/05/28 12:20:16 1.365
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.346 2013/06/04 23:12:08 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.365 2015/05/28 12:20:16 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -64,9 +64,15 @@ use HTML::Entities();
use LONCAPA qw(:DEFAULT :match);
sub java_not_enabled {
- return "\n".''.
- &mt('The required Java applet could not be started. Please make sure to have Java installed and active in your browser.').
- "\n";
+ if (($env{'browser.mobile'}) && ($env{'browser.mobile'} =~ /^ipad|ipod|iphone$/i)) {
+ return "\n".''.
+ &mt('The required Java applet could not be started, because Java is not supported by your mobile device.').
+ "\n";
+ } else {
+ return "\n".''.
+ &mt('The required Java applet could not be started. Please make sure to have Java installed and active in your browser.').
+ "\n";
+ }
}
sub coursepreflink {
@@ -170,7 +176,7 @@ sub dragmath_js {
function mathedit(textarea, doc) {
targetEntry = textarea;
targetDoc = doc;
- newwin = window.open("/adm/dragmath/applet/$popup.html","","width=565,height=500,resizable");
+ newwin = window.open("/adm/dragmath/$popup.html","","width=565,height=500,resizable");
}
// ]]>
@@ -445,10 +451,12 @@ sub radio {
&date_setter returns html and javascript for a compact date-setting form.
To retrieve values from it, use &get_date_from_form.
-Inputs
-
=over 4
+=item Inputs
+
+=over
+
=item $dname
The name to prepend to the form elements.
@@ -476,21 +484,52 @@ the date/time fields are left empty.
=item $state
Specifies the initial state of the form elements. Either 'disabled' or empty.
-Defaults to empty, which indiciates the form elements are not disabled.
+Defaults to empty, which indicates the form elements are not disabled.
+
+=item $no_hh_mm_ss
+
+If true, text boxes for hours, minutes and seconds are omitted.
+
+=item $defhour
+
+Default value for hours (a default of 0 is used otherwise).
+
+=item $defmin
+
+Default value for minutes (a default of 0 is used otherwise).
+
+=item defsec
+
+Default value for seconds (a default of 0 is used otherwise).
+
+=item $nolink
+
+If true, a "Select calendar" link (to pop-up a calendar) is not displayed
+to the right of the items.
+
+=item $no_mm_ss
+
+If true, text boxes for minutes and seconds are omitted.
+
+=item $no_ss
+
+If true, text boxes for seconds are omitted.
=back
-Bugs
+=item Bugs
The method used to restrict user input will fail in the year 2400.
+=back
+
=cut
##############################################
##############################################
sub date_setter {
my ($formname,$dname,$currentvalue,$special,$includeempty,$state,
- $no_hh_mm_ss,$defhour,$defmin,$defsec,$nolink) = @_;
+ $no_hh_mm_ss,$defhour,$defmin,$defsec,$nolink,$no_mm_ss,$no_ss) = @_;
my $now = time;
my $tzname;
@@ -643,17 +682,26 @@ ENDJS
$result .= &mt('[_1] [_2] [_3] ',
$monthselector,$dayselector,$yearselector).
$tzone;
- if (!$nolink) {
- $result .= &mt('[_1]Select Date[_2]',$cal_link,'');
- }
+ } elsif ($no_mm_ss) {
+ $result .= &mt('[_1] [_2] [_3] [_4]',
+ $monthselector,$dayselector,$yearselector,
+ $hourselector).
+ $tzone;
+
+ } elsif ($no_ss) {
+ $result .= &mt('[_1] [_2] [_3] [_4] [_5]m',
+ $monthselector,$dayselector,$yearselector,
+ $hourselector,$minuteselector).
+ $tzone;
+
} else {
$result .= &mt('[_1] [_2] [_3] [_4] [_5]m [_6]s ',
$monthselector,$dayselector,$yearselector,
$hourselector,$minuteselector,$secondselector).
$tzone;
- if (!$nolink) {
- $result .= &mt('[_1]Select Date[_2]',$cal_link,'');
- }
+ }
+ if (!$nolink) {
+ $result .= &mt('[_1]Select Date[_2]',$cal_link,'');
}
$result .= "\n\n";
return $result;
@@ -697,7 +745,9 @@ sub build_url {
get_date_from_form retrieves the date specified in an &date_setter form.
-Inputs:
+=over
+
+=item Inputs:
=over 4
@@ -711,6 +761,8 @@ The unix time to use as the default in c
=back
+=back
+
Returns: Unix time represented in the form.
=cut
@@ -882,7 +934,9 @@ sub javascript_docopen {
Returns html for a selection box which allows the user to choose the
enrollment status of students. The selection box name is 'Status'.
-Inputs:
+=over
+
+=item Inputs:
$status: the currently selected status. If undefined the value of
$env{'form.Status'} is taken. If that is undefined, a value of 'Active'
@@ -896,6 +950,8 @@ $size: the size (number of lines) of the
$onchange: javascript to use when the value is changed. Enclosed in
double quotes, ""s, not single quotes.
+=back
+
Returns: a perl string as described.
=cut
@@ -943,7 +999,7 @@ sub StatusOptions {
=pod
-=item Progess Window Handling Routines
+=item Progress Window Handling Routines
These routines handle the creation, update, increment, and closure of
progress windows. The progress window reports to the user the number
@@ -957,9 +1013,11 @@ of items completed and an estimate of th
Writes javascript to the client to open a progress window and returns a
data structure used for bookkeeping.
-Inputs
+=over
-=over 4
+=item Inputs
+
+=over
=item $r Apache request
@@ -967,15 +1025,18 @@ Inputs
=back
-Returns a hash containing the progress state data structure.
+=back
+Returns a hash containing the progress state data structure.
=item &Update_PrgWin()
Updates the text in the progress indicator. Does not increment the count.
See &Increment_PrgWin.
-Inputs:
+=over
+
+=item Inputs:
=over 4
@@ -987,25 +1048,38 @@ Inputs:
=back
+=back
+
Returns: none
-=item Increment_PrgWin()
+=item &Increment_PrgWin()
Increment the count of items completed for the progress window by $step or 1 if no step is provided.
-Inputs:
+=over
+
+=item Inputs:
=over 4
-=item $r Apache request
+=item $r
-=item $prog_state Pointer to the data structure returned by Create_PrgWin
+Apache request
-=item $extraInfo A description of the items being iterated over. Typically
-'student'.
+=item $prog_state
-=item $step (optional) counter step. Will be set to default 1 if ommited. step must be greater than 0 or empty.
+Pointer to the data structure returned by Create_PrgWin
+
+=item $extraInfo
+
+A description of the items being iterated over. Typically 'student'.
+
+=item $step
+
+(optional) counter step. Will be set to default 1 if ommited. step must be greater than 0 or empty.
+
+=back
=back
@@ -1016,7 +1090,9 @@ Returns: none
Closes the progress window.
-Inputs:
+=over
+
+=item Inputs:
=over 4
@@ -1026,6 +1102,8 @@ Inputs:
=back
+=back
+
Returns: none
=back
@@ -1221,11 +1299,12 @@ ENDEDITOR
-
+
+
ENDJQUERY
return $s;
@@ -1259,7 +1338,8 @@ sub htmlareaselectactive {
my ($args) = @_;
unless (&htmlareabrowser()) { return ''; }
my $output='';
return $output;
@@ -1614,13 +1792,55 @@ A link to help for the component will be
All inputs can be undef without problems.
-Inputs: $component (the text on the right side of the breadcrumbs trail),
- $component_help
- $menulink (boolean, controls whether to include a link to /adm/menu)
- $helplink (if 'nohelp' don't include the orange help link)
- $css_class (optional name for the class to apply to the table for CSS)
- $no_mt (optional flag, 1 if &mt() is _not_ to be applied to $component
- when including the text on the right.
+=over
+
+=item Inputs:
+
+=over
+
+=item $component
+
+the text on the right side of the breadcrumbs trail
+
+=item $component_help
+
+the help item filename (without .tex extension).
+
+=item $menulink
+
+boolean, controls whether to include a link to /adm/menu
+
+=item $helplink
+
+if 'nohelp' don't include the orange help link
+
+=item $css_class
+
+optional name for the class to apply to the table for CSS
+
+=item $no_mt
+
+optional flag, 1 if &mt() is _not_ to be applied to $component when including the text on the right
+
+=item $CourseBreadcrumbs
+
+optional flag, 1 if &breadcrumbs called from &docs_breadcrumbs, because breadcrumbs are being
+used to display hierarchy for current folder shown in the Course Editor.
+
+=item $topic_help
+
+optional help item to be displayed on right side of the breadcrumbs row, using
+loncommon::help_open_topic() to generate the link.
+
+=item $topic_help_text
+
+text to include in the link in the optional help item ($topic_help) on the right
+side of the breadcrumbs row.
+
+=back
+
+=back
+
Returns a string containing breadcrumbs for the current page.
=item &clear_breadcrumbs()
@@ -1648,7 +1868,7 @@ returns: nothing
sub breadcrumbs {
my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt,
- $CourseBreadcrumbs) = @_;
+ $CourseBreadcrumbs,$topic_help,$topic_help_text) = @_;
#
$css_class ||= 'LC_breadcrumbs';
@@ -1697,11 +1917,15 @@ returns: nothing
my $links;
if ((&show_return_link) && (!$CourseBreadcrumbs) && (ref($last) eq 'HASH')) {
my $alttext = &mt('Go Back');
+ my $hashref = { href => '/adm/flip?postdata=return:',
+ title => &mt('Back to most recent content resource'),
+ class => 'LC_menubuttons_link',
+ };
+ if ($env{'request.noversionuri'} eq '/adm/searchcat') {
+ $hashref->{'target'} = '_top';
+ }
$links=&htmltag( 'a','',
- { href => '/adm/flip?postdata=return:',
- title => &mt('Back to most recent content resource'),
- class => 'LC_menubuttons_link',
- });
+ $hashref);
$links=&htmltag('li',$links);
}
$links.= join "",
@@ -1751,6 +1975,10 @@ returns: nothing
$component_help,
$faq,$bug);
}
+ if ($topic_help && $topic_help_text) {
+ $icons .= ' '.&Apache::loncommon::help_open_topic($topic_help,&mt($topic_help_text),'',
+ undef,600);
+ }
#
@@ -1763,7 +1991,7 @@ returns: nothing
}
- if ($component) {
+ if (($component) || ($topic_help && $topic_help_text)) {
$links = &htmltag('span',
( $no_mt ? $component : mt($component) ).
( $icons ? $icons : '' ),
@@ -1818,7 +2046,9 @@ Adds $html to $category of the breadcrum
$html is usually a link to a page that invokes a function on the currently
displayed data (e.g. print when viewing a problem)
-Currently there are 3 possible values for $category:
+=over
+
+=item Currently there are 3 possible values for $category:
=over
@@ -1832,7 +2062,9 @@ remaining items in right of breadcrumbs
advanced tools shown in a separate box below breadcrumbs line
=back
-
+
+=back
+
returns: nothing
=cut
@@ -1871,8 +2103,17 @@ returns: nothing
Creates html for breadcrumb tools (categories navigation and tools) and inserts
\$breadcrumbs at the correct position.
-input: \$breadcrumbs - a reference to the string containing prepared
-breadcrumbs.
+=over
+
+=item input:
+
+=over
+
+=item \$breadcrumbs - a reference to the string containing prepared breadcrumbs.
+
+=back
+
+=back
returns: nothing
@@ -1898,8 +2139,17 @@ returns: nothing
Creates html for advanced tools (category advtools) and inserts \$breadcrumbs
at the correct position.
-input: \$breadcrumbs - a reference to the string containing prepared
-breadcrumbs (after render_tools call).
+=over
+
+=item input:
+
+=over
+
+=item \$breadcrumbs - a reference to the string containing prepared breadcrumbs (after render_tools call).
+
+=back
+
+=back
returns: nothing
@@ -2231,7 +2481,7 @@ sub course_selection {
$output .= '
';
$output .= '
'.$$codetitles[0].' '."\n". ' |