Replaced HIIT/EADH logos
[scpubgit/stemmaweb.git] / root / src / index.tt
index 90d0437..1a6b1ff 100644 (file)
 [% WRAPPER header.tt
        pagetitle = "Stemmaweb - Text tradition tools"
        applicationjs = c.uri_for( 'js/componentload.js' )
+       applicationstyle = c.uri_for( 'css/dashboard.css' )
 %]
     <script type="text/javascript">
-$(document).ready(function() {
-    // call out to load the directory div
-    $('#directory').load( "[% c.uri_for( 'directory' ) %]" );
-});
+// Set global variables that must be passed by the server
+var basepath = "[% c.uri_for( '/' ) %]";
+var textOnLoad = "[% withtradition %]";
     </script>
 
 [% END %]
+   <div id="main_page" class="clearfix">
+   <div class="mainnav">
+       <span>[% IF c.user_exists %]Hello! [% c.user.get_object.email %]! &nbsp; <a class="navlink" href="[% c.uri_for( '/logout' ) %]">Sign out</a> | [% ELSE %]<a class="navlink" onclick="window.open('[% c.uri_for( '/login' ) %]', 'loginwindow', 'height=385,width=445')">Sign in/Register</a> | [% END %]<a class="navlink" href="[% c.uri_for( '/about' ) %]">About Stemmaweb</a> </span>
+   </div>
+    <div id="topbanner">
+      <h1 class="title">Stemmaweb - a collection of tools for analysis of collated texts</h1>
+      <p id="compatibility_check"><span class="error">This browser does not support 
+      the functions necessary for Stemmaweb to work properly. We recommend use of 
+      <a href="http://mozilla.org/firefox">Mozilla Firefox</a> or 
+      <a href="http://www.google.com/chrome">Google Chrome</a>.</span></p>
+    </div>
+    <div id="directory_container">
+      <h2>Text directory</h2>
+      <div id="directory"></div>
+[% IF c.user_exists -%]
+         <div class="button" id="new_trad_button" onClick="$('#upload-collation-dialog').dialog('open')">
+           <span>Add a new text tradition</span>
+         </div>
+[% END %]
+    </div>
+    <div id="textinfo_waitbox">
+       <h3>Loading tradition information, please wait...</h3>
+       <img src="[% c.uri_for( 'images', 'ajax-loader.gif' ) %]" alt="Loading tradition info..." />
+    </div>
+    <div id="textinfo_container" class="clearfix">
+      <div id="textinfo_load_status"></div>
+      <h2>Text <span class="texttitle"></span></h2>
+      <form id="open_textinfo_edit" action="" method="GET" name="edit_textinfo">
+        <div class="button" id="edit_textinfo_button"
+               onClick="$('#textinfo-edit-dialog').dialog('open')">
+         <span>Modify information about this tradition</span>
+        </div>
+      </form>
+      <ul>
+         <li>is owned by <span id="owner_id"></span></li>
+         <li>is <span id="not_public"></span>public</li>
+         <li>has <span id="marked_language"></span> as its primary language</li>
+             <li>has <span id="witness_num"></span> witnesses: <span id="witness_list"></span></li>
+      </ul>
+      
+      <div id="textinfo_container_buttons">
+          <form id="stemma_pager" action="" method="GET" name="stemma_pager">
+            <div id="stemma_pager_buttons">
+              <div class="pager_left_button" id="stemma_pager_left_button"></div>
+              <div class="pager_right_button" id="stemma_pager_right_button"></div>
+            </div>
+          </form>
+          <form id="open_stemma_add" action="" method="GET" name="add_new_stemma">
+            <div class="button" id="stemma_add_button" 
+               onClick="$('#stemmaseq').val('n'); $('#stemma-edit-dialog').dialog('open');">
+                 <span>Add a new stemma</span>
+            </div>
+          </form>
+          <form id="open_stemma_edit" action="" method="GET" name="edit_current_stemma">
+            <div class="button" id="stemma_edit_button" 
+               onClick="$('#stemmaseq').val(selectedStemmaID); $('#stemma-edit-dialog').dialog('open');">
+                 <span>Edit this stemma</span>
+            </div>
+          </form>
+          <form id="open_stemweb_ui" action="" method="GET" name="run_stemweb">
+            <div class="button" id="run_stemweb_button"
+               onClick="$('#stemweb-ui-dialog').dialog('open');">
+              <span>Run a Stemweb algorithm</span>
+            </div>
+          </form>
+          <form id="query_stemweb_ui" action="" method="GET" name="query_stemweb">
+            <div class="button" id="query_stemweb_button"
+               onClick="query_stemweb_progress();">
+              <span>Check progress of Stemweb algorithm</span>
+            </div>
+          </form>
+          <form id="run_stexaminer" action="" method="GET" name="run_stexaminer">
+            <div class="button" id="stexaminer_button" onClick="$('#run_stexaminer').submit()">
+                 <span>Examine variants against this stemma</span>
+            </div>
+          </form>
+          <form id="run_relater" action="" method="GET" name="run_relater">
+            <div class="button" id="relater_button" onClick="$('#run_relater').submit()">
+              <span id='relatebutton_label'>View collation and relationships</span>
+            </div>
+          </form>
+          <form id="dl_tradition" action="" method="GET" name="run_downloader">
+            <div class="button" id="download_button"
+               onClick="$('#download-dialog').dialog('open');">
+              <span id='dlbutton_label'>Download tradition</span>
+            </div>
+          </form>
+      </div>
+      <div id="stemma_load_status"></div>
+      <div id="stemma_graph"></div>
+      <div id="stemma_graph_title"><span id="stemma_identifier"></span></div>
+    </div>
 
-    <div id="topbanner"><h1>Stemmaweb - a collection of tools for analysis of collated texts</h1></div>
-    <div id="directory"></div>
-    <div id="stemma_graph"></div>
-    <div id="variant_graph"></div>
+    <!-- Interim 'loading' message for directory box -->
+    <div id="loading_message">
+       <h3>Loading texts, please wait...</h3>
+       <img src="[% c.uri_for( 'images', 'ajax-loader.gif' ) %]" alt="Loading tradition list..."/>
+    </div>
+  </div> <!-- main_page -->
+  
+    <!-- Textinfo editor dialog -->
+    <div id="textinfo-edit-dialog" title="Edit information about this tradition">
+      <div id="textinfo_edit_container">
+       <form id="edit_textinfo">
+               <label for="edit_name">Tradition name: </label>
+               <input id="edit_name" type="text" size="30" name="name"/><br/>
+               <label for="edit_language">Language: </label>
+               <input id="edit_language" type="text" size="12" name="language"/>
+               <label for="edit_public">Publicly viewable: </label>
+               <input id="edit_public" type="checkbox" name="public"/><br/>
+[% IF c.user_exists -%]
+[% IF c.user.get_object.is_admin -%]
+               <label for="edit_owner">Tradition owner: </label>
+               <input id="edit_owner" type="text" size="30" name="owner"/><br/>
+[% END -%]
+[% END -%]
+               </form>
+               <div id="edit_textinfo_status"></div>
+         </div>
+    </div>
+    
+    <!-- Stemma dot editor dialog, simple textarea for now -->
+    <div id="stemma-edit-dialog">
+      <div id="stemma_edit_container">
+       <form id="edit_stemma">
+               <label for="dot_field">Dot definition for this stemma: </label><br/>
+               <textarea id="dot_field" rows="30" cols="40"></textarea>
+               <input id="stemmaseq" type="hidden" name="stemmaseq" val="n"/>
+                       <div id="edit_instructions">
+                               <p>All definitions begin with the line
+                                       <pre>digraph "Stemma Name" {</pre>
+                               and end with the line 
+                                       <pre>}</pre>
+                               Please do not change these lines except to edit the stemma name.</p>
+                               <p>First list each witness in your stemma, whether extant or lost /
+                               reconstructed / hypothetical, and assign them a class of either "extant"
+                               or "hypothetical". For example:</p><pre>  
+       α [ class=hypothetical ]
+       C [ class=extant ]
+                               </pre>
+                               <p>Next, list the direct links between witnesses, one per line. For example, if 
+                               witness C descends directly from witness α, note it as follows:</p><pre>
+       α -> C
+                               </pre>
+                               <p>A witness may be the exemplar for any number of other witnesses, whether 
+                               extant or not; likewise, a witness may inherit from any number of other 
+                               witnesses. Use as may "A -> B" pairings as necessary to describe the links.</p>
+                       </div>
+       </form>
+       <div id="edit_stemma_status"></div>
+      </div>
+    </div>
 
+       <!-- Stemweb UI dialog box -->
+    <div id="stemweb-ui-dialog" title="Generate a Stemweb tree">
+      <div id="stemweb_ui_container">
+               <div id="sponsor_container">
+                       <img id="hiit_logo" src="[% c.uri_for( '/images/hiit_logo.jpg' ) %]"></img>
+                       <img id="eadh_logo" src="[% c.uri_for( '/images/eadh-150.png' ) %]"></img>
+                       <p>Stemweb is a webservice provided by the Helsinki Institute for Information Technology HIIT. The integration into Stemmaweb was generously supported by a small project grant from the European Association for Digital Humanities.
+                       </p>
+               </div>
+               <hr/>
+               <form id="call_stemweb">
+               <input id="stemweb_tradition" type="hidden" name="tradition"/>
+               <h5>Choose an algorithm</h5>
+               <label for="algorithm">Run algorithm: </label>
+               <select id="stemweb_algorithm" name="algorithm"></select>
+               <span id="stemweb_algorithm_help">What is this?</span><br/>
+                       <div id="stemweb_algorithm_desc_text"></div>
+                       <br/>
+                       <h5>Set the options</h5>
+               <!-- Algorithm-specific options, if any, will be added within this div -->
+               <div id="stemweb_runtime_options"></div>
+               <br/>
+               <!-- Options applicable to all algorithms belong within this div -->
+               <div id="stemweb_local_options">
+                       <label for="merge_reltypes">Disregard variation of type:</label>
+                       <select multiple name="merge_reltypes" id="stemweb_merge_reltypes"></select>
+               </div>
+       </form>
+       <div id="stemweb_run_status"></div>
+      </div>
+    </div>
+    
+    <!-- Data download dialog box -->
+    <div id="download-dialog" title="Download tradition data">
+      <div id="download_container">
+       <form id="download_form">
+               <input id="download_tradition" type="hidden" name="tradition"/><br/>
+               <label for="download_format">Choose a format for download: </label>
+               <select id="download_format" name="format">
+                       <option value="GraphML">Native XML format</option>
+                       <option value="CSV">Comma-separated values (collation only)</option>
+                       <option value="TSV">Tab-separated values (collation only)</option>
+                       <option value="SVG">SVG graph display (collation and relationships)</option>                            
+                       <!-- option value="tei_ps" -->
+                       <!-- option value="tei_dea" -->
+               </select>
+       </form>
+       <div id="download_status"></div>
+      </div>
+    </div>    
+    
+    <!-- File upload dialog box -->
+    <div id="upload-collation-dialog" title="Upload a collation">
+      <div id="upload_container">
+               <input id="new_file" name="file" type="file" onchange="file_selected(this)">
+               <label for="new_file" id="new_file_label">Collation file: </label>
+        <div id="new_file_name_container" onclick="$('#new_file').click();">&nbsp;(Use 'pick file' to select a tradition file to upload.)</div>
+        <form id="new_tradition">
+            <label for="new_name">Name of this text / tradition: </label>
+            <input id="new_name" type="text" name="name" size="40"/><br/>
+            <label for="new_lang">Primary language of the text: </label>
+            <input id="new_lang" type="text" name="language" size="20"/><br/>
+            <label for="new_public">Allow public display: </label>
+            <input id="new_public" name="public" type="checkbox"/><br/>
+        </form>
+        <div id="upload_status"></div>
+       <div>
+         <h4>Supported file types / extensions:</h4>
+         <ul>
+           <li>*.txt - spreadsheet collation, tab-separated values</li>
+           <li>*.csv - spreadsheet collation, comma-separated values</li>
+           <li>*.xls - spreadsheet collation, Excel 97-2004 format</li>
+           <li>*.xlsx - spreadsheet collation, Excel 2007 XML format</li>
+           <li>*.xml - TEI XML parallel segmentation format</li>
+           <li>*.xml - TEI XML export from Classical Text Editor</li>
+           <li>*.xml - GraphML export from the CollateX tool</li>
+         </ul>
+         <p>All spreadsheet collations should be arranged with the witness sigla in the first row, and the words aligned by row each in its correct witness column.</p>
+       </div>
+      </div>
+    </div>
+    
+    <div id="root_tree_dialog">
+        Use this node to root the stemma? <img id="root_tree_dialog_button_ok" src="[% c.uri_for( 'images', 'tick_circle_frame_24.png' ) %]"/>
+    </div>
+    
 [% PROCESS footer.tt %]
\ No newline at end of file