[LON-CAPA-cvs] cvs: rat / lonratmenu.pm
bisitz
bisitz@source.lon-capa.org
Fri, 04 Dec 2009 15:13:05 -0000
bisitz Fri Dec 4 15:13:05 2009 EDT
Modified files:
/rat lonratmenu.pm
Log:
Functions in Advanced RAT page header:
- Replaced hardcoded tables, deprecated tags and special, outdated colors by standard function boxes
- Introduce function categories
- Include functions in CSTR head_subbox
- Allow links to float when screen width is to small
- Localizaton: Added &mt() calls to function names
- Reordered data flow: First collect all data, then print it
- Added some code comments
(CSTR header work in progress, see bug #6142 and bug #6144)
Index: rat/lonratmenu.pm
diff -u rat/lonratmenu.pm:1.14 rat/lonratmenu.pm:1.15
--- rat/lonratmenu.pm:1.14 Tue Jun 9 15:01:28 2009
+++ rat/lonratmenu.pm Fri Dec 4 15:13:04 2009
@@ -2,7 +2,7 @@
# Build menu bar for Advanced RAT. Uses javascript code originally in
# static file: rat/client/code.html, now in rat/client/ratcode.js
#
-# $Id: lonratmenu.pm,v 1.14 2009/06/09 15:01:28 bisitz Exp $
+# $Id: lonratmenu.pm,v 1.15 2009/12/04 15:13:04 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -32,65 +32,122 @@
use Apache::Constants qw(:common);
use Apache::File;
use Apache::loncommon;
+use Apache::lonhtmlcommon;
+use Apache::lonlocal;
use Apache::lonnet;
sub handler {
my $r = shift;
my $include = $Apache::lonnet::perlvar{'lonIncludes'};
my $jsh=Apache::File->new($include."/ratcode.js");
- $r->send_http_header('text/html');
my $js = join('',<$jsh>);
my %loaditem = ('onunload' => "leave();",);
- my $brcrum = [{'href' => &Apache::loncommon::authorspace(),
- 'text' => 'Construction Space'},
- {'href' => '',
- 'text' => 'RAT'},
- {'href' => '',
- 'text' => 'Advanced Editor'}];
-
- $r->print(&Apache::loncommon::start_page('Advanced Editor',$js,
- {'add_entries' => \%loaditem,
- 'bread_crumbs' => $brcrum,})
- .&Apache::loncommon::head_subbox(
- &Apache::loncommon::CSTR_pageheader())
- );
+
my $readfile=$r->uri;
$readfile=~s/\/loadonly\/adveditmenu$//;
- $r->print(&print_html($readfile));
- $r->print(&Apache::loncommon::end_page());
- return OK;
-}
-sub print_html {
- my $readfile=shift;
- my $help=&Apache::loncommon::help_open_menu('Sequence_Advanced_Editor_Creation','Sequence_Advanced_Editor_Creation',6,'RAT');
-
- my $pagetext = <<"END";
-<table border="0"><tr><td bgcolor="#AAAAAA">
-<table border="0"><tr>
-<td bgcolor="#ffffcc">$help</td>
-<td bgcolor="#ffffcc"><a href="javascript:togglemode();"><font size="-2">Toggle display</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:if (zscale>1) { zscale--; draw();}"><font size="-2">Zoom out</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:if (zscale<3) { zscale++; draw();}"><font size="-2">Zoom in</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:condense();draw();"><font size="-2">Condense</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:graphopt();draw();"><font size="-2">Straighten</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:revert();"><font size="-2">Revert</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:undo();"><font size="-2">Undo</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:redo();"><font size="-2">Redo</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:groupopen('$readfile');"><font size="-2">Recover deleted</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:groupsearch();"><font size="-2">Search</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:groupimport();"><font size="-2">Import</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:bookmarkopen();"><font size="-2">Import Bookmarks</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:groupcopy();"><font size="-2">Copy</font></a></td>
-<td bgcolor="#ffffcc"><a href="javascript:graphdef='no';save();storechange();"><font size="-2">Save map</font></a></td>
-<td bgcolor="#ccffcc"><a href="javascript:storechange();"><font size="-2">Save map and layout</font></a></td>
-</tr></table>
-</td></tr></table>
-<script type="text/javascript">
-main();
-</script>
-END
- return $pagetext;
+ # Breadcrumbs
+ my $brcrum = [{'href' => &Apache::loncommon::authorspace(),
+ 'text' => 'Construction Space'},
+ {'href' => '',
+ 'text' => 'RAT'},
+ {'href' => '',
+ 'text' => 'Advanced Editor'}];
+
+ my $help=&Apache::loncommon::help_open_menu(
+ 'Sequence_Advanced_Editor_Creation',
+ 'Sequence_Advanced_Editor_Creation',6,'RAT');
+
+
+ # Compile available Advanced RAT functions
+ my $functions = '<div class="LC_columnSection">';
+
+ $functions .= $help; # FIXME: Move help to bread_crumbs_component
+
+ $functions .=
+ &Apache::lonhtmlcommon::start_funclist(&mt('Display Actions'))
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:togglemode();">'
+ .&mt('Toggle display').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:if (zscale>1) { zscale--; draw();}">'
+ .&mt('Zoom out').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:if (zscale<3) { zscale++; draw();}">'
+ .&mt('Zoom in').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:condense();draw();">'
+ .&mt('Condense').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:graphopt();draw();">'
+ .&mt('Straighten').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:revert();">'
+ .&mt('Revert').'</a>')
+ .&Apache::lonhtmlcommon::end_funclist();
+
+ $functions .=
+ &Apache::lonhtmlcommon::start_funclist(&mt('Version Actions'))
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:undo();">'
+ .&mt('Undo').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:redo();">'
+ .&mt('Redo').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:groupopen(\''.$readfile.'\');">'
+ .&mt('Recover deleted').'</a>')
+ .&Apache::lonhtmlcommon::end_funclist();
+
+ $functions .=
+ &Apache::lonhtmlcommon::start_funclist(&mt('Import'))
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:groupsearch();">'
+ .&mt('Search').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:groupimport();">'
+ .&mt('Import').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:bookmarkopen();">'
+ .&mt('Import Bookmarks').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:groupcopy();">'
+ .&mt('Copy').'</a>')
+ .&Apache::lonhtmlcommon::end_funclist();
+
+ $functions .=
+ &Apache::lonhtmlcommon::start_funclist(&mt('Save'))
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:graphdef=\'no\';save();storechange();">'
+ .&mt('Save map').'</a>')
+ .&Apache::lonhtmlcommon::add_item_funclist(
+ '<a href="javascript:storechange();">'
+ .&mt('Save map and layout').'</a>')
+ .&Apache::lonhtmlcommon::end_funclist();
+
+ $functions .= '</div>'; # End: LC_columnSection
+
+ $functions .= &Apache::lonhtmlcommon::scripttag('main();');
+
+
+ # Print Advanced RAT page header
+ $r->send_http_header('text/html');
+
+ $r->print(
+ &Apache::loncommon::start_page(
+ 'Advanced Editor',
+ $js,
+ {'add_entries' => \%loaditem,
+ 'bread_crumbs' => $brcrum,})
+
+ .&Apache::loncommon::head_subbox(
+ &Apache::loncommon::CSTR_pageheader()
+ .$functions)
+
+ .&Apache::loncommon::end_page()
+ );
+
+ return OK;
}
1;