[LON-CAPA-cvs] cvs: loncom /html/adm/help/tex Authoring_Output_Tags.tex /xml scripttag.pm

www www at source.lon-capa.org
Fri Dec 23 13:34:11 EST 2011


www		Fri Dec 23 18:34:11 2011 EDT

  Modified files:              
    /loncom/html/adm/help/tex	Authoring_Output_Tags.tex 
    /loncom/xml	scripttag.pm 
  Log:
  Bug #5824: Link in a truly new window
  
  
Index: loncom/html/adm/help/tex/Authoring_Output_Tags.tex
diff -u loncom/html/adm/help/tex/Authoring_Output_Tags.tex:1.14 loncom/html/adm/help/tex/Authoring_Output_Tags.tex:1.15
--- loncom/html/adm/help/tex/Authoring_Output_Tags.tex:1.14	Mon Dec 19 18:00:19 2011
+++ loncom/html/adm/help/tex/Authoring_Output_Tags.tex	Fri Dec 23 18:34:06 2011
@@ -118,6 +118,15 @@
 
 When printing, the included text will get turned into a real footnote.
 
+\item \textbf{windowlink}\index{windowlink}: This creates a link to a resource that comes up in a pop-up window. The link will be the intervening information
+between the start and the end tag. By default the window will be 500 pixels wide and 200 pixels tall.
+
+\begin{itemize}
+\item \textbf{width} controls the starting width of the popup window
+\item \textbf{height} controls the starting height of the popup window
+\item \textbf{href} the address
+\end{itemize}
+
 \item \textbf{togglebox}\index{togglebox}: This creates a toggling box that can be clicked open and close.
 
 \begin{itemize}
Index: loncom/xml/scripttag.pm
diff -u loncom/xml/scripttag.pm:1.162 loncom/xml/scripttag.pm:1.163
--- loncom/xml/scripttag.pm:1.162	Mon Dec 19 18:18:32 2011
+++ loncom/xml/scripttag.pm	Fri Dec 23 18:34:11 2011
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # <script> definiton
 #
-# $Id: scripttag.pm,v 1.162 2011/12/19 18:18:32 www Exp $
+# $Id: scripttag.pm,v 1.163 2011/12/23 18:34:11 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -41,7 +41,7 @@
 BEGIN {
   &Apache::lonxml::register('Apache::scripttag',
 			    ('script','scriptlib','parserlib','import',
-			     'window','togglebox','display','storetc','physnet',
+			     'window','windowlink','togglebox','display','storetc','physnet',
 			     'standalone','comment','num','parse','algebra',
 			     'LONCAPA_INTERNAL_TURN_STYLE_ON',
 			     'LONCAPA_INTERNAL_TURN_STYLE_OFF'));
@@ -314,8 +314,6 @@
     if (!$width) { $width='500'; }
     my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);
     if (!$height) { $height='200'; }
-
-    my ($start_page,$end_page);
     $result=&Apache::loncommon::modal_adhoc_window
            ("LONCAPA_newwindow_$Apache::lonxml::curdepth",$width,$height,$output,$linktext);
   } elsif ($target eq 'tex') {
@@ -327,6 +325,45 @@
 }
 
 
+sub start_windowlink {
+    my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+    my $result = '';
+    if ($target eq 'web' || $target eq 'webgrade') {
+        &Apache::lonxml::startredirection;
+    } elsif ($target eq 'edit') {
+        $result.=&Apache::edit::tag_start($target,$token);
+        $result.=&Apache::edit::text_arg('Link:','href',$token,70);
+        $result.=&Apache::edit::text_arg('Height:','height',$token,5);
+        $result.=&Apache::edit::text_arg('Width:','width',$token,5);
+        $result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
+    } elsif ($target eq 'modified') {
+        my $constructtag=&Apache::edit::get_new_args($token,$parstack,
+                                                     $safeeval,'href',
+                                                     'width','height');
+        if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); }
+    }
+    return $result;
+}
+
+sub end_windowlink {
+  my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+  my $result;
+  if ($target eq 'web' || $target eq 'webgrade') {
+    my $output=&Apache::lonxml::endredirection;
+    my $href= &Apache::lonxml::get_param('href',$parstack,$safeeval);
+    if (!$href) { $href='/adm/rat/empty.html'; }
+    my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval);
+    if (!$width) { $width='500'; }
+    my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);
+    if (!$height) { $height='200'; }
+    $result=&Apache::loncommon::modal_link($href,$output,$width,$height);
+  } else {
+      $result = '';
+  }
+  return $result;
+}
+
+
 sub start_togglebox {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result = '';




More information about the LON-CAPA-cvs mailing list