--- loncom/interface/lonhtmlcommon.pm 2021/12/31 20:56:46 1.358.2.19.2.1
+++ loncom/interface/lonhtmlcommon.pm 2024/12/29 01:51:03 1.358.2.24
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.358.2.19.2.1 2021/12/31 20:56:46 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.358.2.24 2024/12/29 01:51:03 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -848,14 +848,13 @@ parameter setting wizard.
##############################################
sub pjump_javascript_definition {
my $Str = <
-
-
+
+
+
@@ -1681,7 +1680,7 @@ sub show_return_link {
$env{'request.uri'}=~m{^/priv/}) { return 1; }
return if ($env{'request.noversionuri'} eq '/adm/supplemental');
- if (($env{'request.noversionuri'} =~ m{^/adm/(viewclasslist|navmaps)($|\?)})
+ if (($env{'request.noversionuri'} =~ m{^/adm/viewclasslist($|\?)})
|| ($env{'request.noversionuri'} =~ m{^/adm/.*/aboutme($|\?)})) {
return if ($env{'form.register'});
@@ -1694,7 +1693,7 @@ sub show_return_link {
(($env{'request.noversionuri'}=~/^\/adm\//) &&
($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) &&
($env{'request.noversionuri'}!~
- m{^/adm/.*/(smppg|bulletinboard|ext\.tool)($|\?)})
+ m{^/adm/.*/(smppg|bulletinboard)($|\?)})
));
}
@@ -1754,6 +1753,54 @@ clientTime = (new Date()).getTime();
END
}
+##
+# Client-side javascript to convert any dashes in text pasted
+# into textbox(es) for numericalresponse item(s) to a standard
+# minus, i.e., - . Calls to dash_to_minus_js() in end_problem()
+# and in loncommon::endbodytag() for a .page (arg: dashjs => 1)
+#
+# Will apply to any input tag with class: LC_numresponse_text.
+# Currently set in start_textline for numericalresponse items.
+#
+
+sub dash_to_minus_js {
+ return <<'ENDJS';
+
+
+
+ENDJS
+}
+
############################################################
############################################################
@@ -1772,7 +1819,8 @@ Inputs: $component (the text on the righ
$component_help (the help item filename (without .tex extension).
$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)
+ $crumbs_style optional style attribute for div containing breadcrumbs
+ unless called from docs_breadcrumbs
$no_mt (optional flag, 1 if &mt() is _not_ to be applied to $component
when including the text on the right.
$CourseBreadcrumbs (optional flag, 1 if &breadcrumbs called from &docs_breadcrumbs,
@@ -1808,11 +1856,9 @@ returns: nothing
my %tools = ();
sub breadcrumbs {
- my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt,
+ my ($component,$component_help,$menulink,$helplink,$crumbs_style,$no_mt,
$CourseBreadcrumbs,$topic_help,$topic_help_text) = @_;
#
- $css_class ||= 'LC_breadcrumbs';
-
# Make the faq and bug data cascade
my $faq = '';
my $bug = '';
@@ -1825,16 +1871,6 @@ returns: nothing
# The first one should be the course or a menu link
if (!defined($menulink)) { $menulink=1; }
if ($menulink) {
- if ($env{'request.course.id'}) {
- my ($menucoll,$deeplinkmenu,$menuref) = &Apache::loncommon::menucoll_in_effect();
- if (($menucoll) && (ref($menuref) eq 'HASH')) {
- if ($menuref->{'main'} eq 'n') {
- undef($menulink);
- }
- }
- }
- }
- if ($menulink) {
my $description = 'Menu';
my $no_mt_descr = 0;
if ((exists($env{'request.course.id'})) &&
@@ -1958,8 +1994,13 @@ returns: nothing
}
if (($links ne '') || ($nav_and_tools)) {
&render_tools(\$links);
- $links = &htmltag('div', $links,
- { id => "LC_breadcrumbs" }) unless ($CourseBreadcrumbs) ;
+ unless ($CourseBreadcrumbs) {
+ my $args = { id => 'LC_breadcrumbs' };
+ if ($crumbs_style ne '') {
+ $args->{'style'} = $crumbs_style;
+ }
+ $links = &htmltag('div', $links, $args);
+ }
}
my $adv_tools = 0;
if (ref($tools{'advtools'}) eq 'ARRAY') {
@@ -3396,7 +3437,10 @@ THIRD
sub javascript_jumpto_resource {
my $confirm_switch = &mt("Editing requires switching to the resource's home server.")."\n".
&mt('Switch server?');
+ my $confirm_new_tab = &mt("Editing requires using the resource's home server.")."\n".
+ &mt('Open a new browser tab?');
&js_escape(\$confirm_switch);
+ &js_escape(\$confirm_new_tab);
return (<&');
- if ($symb) {
- $cfile .= '&symb='.&HTML::Entities::encode($symb,'"<>&');
+ if ($shownsymb) {
+ $cfile .= '&symb='.&HTML::Entities::encode($shownsymb,'"<>&');
+ if ($resedit) {
+ $cfile .= '&edit=1';
+ }
} elsif ($folderpath) {
$cfile .= '&folderpath='.&HTML::Entities::encode($folderpath,'"<>&');
}
@@ -3449,7 +3513,7 @@ sub jump_to_editres {
if ($forcereg) {
$cfile .= '®ister=1';
}
- $jscall = "need_switchserver('".&Apache::loncommon::escape_single($cfile)."');";
+ $jscall = "need_switchserver('".&Apache::loncommon::escape_single($cfile)."','$target');";
}
} else {
unless ($cfile =~ m{^/priv/}) {