2 pagetitle = "Stemmaweb - Relationship mapper"
3 applicationjs = c.uri_for("/js/relationship.js")
4 applicationstyle = c.uri_for('/css/relationship.css')
6 <script type="text/javascript">
7 // Load the text ID and the base path
8 var basepath = "[% c.uri_for( '/relation/' ) %]";
9 var textid = "[% textid %]";
10 var can_morphologize = "[% can_morphologize %]";
11 var editable = "[% permission %]" === "full";
12 var text_direction = "[% direction %]";
13 // URLs for images referenced in Javascript
14 var merge_button_yes = "[% c.uri_for( '/images/tick_circle_frame.png' ) %]";
15 var merge_button_no = "[% c.uri_for( '/images/no_entry.png' ) %]";
16 // Constants used in Javascript that we get from the server
18 var relationship_types = [];
19 var relationship_scopes = [];
20 var ternary_values = [];
22 var relationship_types = [% relationship_types %];
23 var relationship_scopes = [% relationship_scopes %];
24 var ternary_values = [% ternary_values %];
27 $(document).ready(function () {
28 loadSVG('[% svg_string %]');
34 <span>[% IF c.user_exists %]Hello [% c.user.get_object.email %]! <a class="navlink" href="[% c.uri_for( '/logout' ) %]">Sign out</a> | [% END %]<a href="help/[% text_lang %]" title="Relationship mapper help" class="helptag navlink">Help / About</a> | <a href="[% c.uri_for( '/' ) %]?withtradition=[% textid %]" class="navlink">Return to index</a> </span>
37 <h1>Relationship mapper</h1>
38 <h2>[% text_title %]</h2>
39 <div id="segmentation">
40 [% FOREACH segment IN textsegments -%]
41 [% IF segment.start != startseg -%]
42 <a href="[% c.uri_for( "/relation/$textid" ) %]?start=[% segment.start %]">
43 <span class="segment_guide">[% segment.display %]</span>
46 <span class="segment_guide selected">[% segment.display %]</span>
52 <div id="enlargement_container" class="fillPage">
53 <div id="loading_overlay">
54 <div id="loading_message"><span>Loading, please wait...</span></div>
56 <div id="dialog_overlay"></div>
57 <div id="enlargement" style="">
58 <div id="svgenlargement" class="fillPage"></div>
62 <div id="update_workspace_button"></div>
64 <div id="dialog-form" title="Create relation between two nodes...">
65 <form id="collapse_node_form" action="#">
67 <input type="hidden" name="source_id" id="source_node_id"/>
68 <input type="hidden" name="source_text" id="source_node_text"/>
69 <input type="hidden" name="target_id" id="target_node_id"/>
70 <input type="hidden" name="target_text" id="target_node_text"/>
71 <label for="rel_type">Relation type </label>
72 <select name="type" id="rel_type" class=".ui-widget select">
75 <label for="scope">Scope of relation </label>
76 <select name="scope" id="scope" class=".ui-widget select">
79 <label for="is_significant">Is this variance stemmatically significant?</label>
80 <select name="is_significant" id="is_significant" class=".ui-widget select"/>
83 <input type="checkbox" name="b_derivable_from_a" id="b_derivable_from_a"/>
84 <label for="b_derivable_from_a"><span class="rel_rdg_a"></span> would be corrected to <span class="rel_rdg_b"></span> </label>
86 <input type="checkbox" name="a_derivable_from_b" id="a_derivable_from_b"/>
87 <label for="a_derivable_from_b"><span class="rel_rdg_b"></span> would be corrected to <span class="rel_rdg_a"></span> </label>
89 <input type="checkbox" name="non_independent" id="non_independent"/>
90 <label for="non_independent">Variants unlikely to arise coincidentally </label>
92 <label for="note">Annotation or note </label>
93 <textarea rows="3" style="width:100%;" name="annotation" id="note" class=".ui-widget input"></textarea>
95 <div id="status"></div>
98 <div id="dialog_overlay"></div>
100 <div id="delete-form" title="Relation info...">
101 <form id="delete_relation_form" action="#">
102 <input type="hidden" name="source_id" id="delete_source_node_id"/>
103 <input type="hidden" name="target_id" id="delete_target_node_id"/>
105 <div id="delete-form-text">Type: <span id="delete_relation_type"></span><br/>
106 Scope: <span id="delete_relation_scope"></span><br/>
107 <span id="delete_relation_attributes"></span>
108 <span id="delete_relation_note"></span></div>
111 <div id="multipleselect-form" title="Multiple nodes selected...">
112 <div id="multipleselect-form-status"></div>
114 <div class="error" id="duplicate-merge-error">
117 Detach or merge?<br/>
119 <form autocomplete="off">
121 <input id="action-detach" checked name='option' type='radio' /> Detach
125 <input id="action-merge" name='option' type='radio' /> Merge
129 <div id="multipleselect-form-text">Select witness(es) to detach:</div>
130 <form id="detach_collated_form" action="#">
134 <div id="reading-form" title="Reading info...">
135 <form id="reading_data_form" action="#">
136 <input type="hidden" name="reading_id" id="reading_id"/>
138 <input type="checkbox" name="reading_is_nonsense" id="reading_is_nonsense"/>
139 <label for="reading_is_nonsense">This is a nonsense word</label>
141 <input type="checkbox" name="reading_grammar_invalid" id="reading_grammar_invalid"/>
142 <label for="reading_grammar_invalid">This word's grammar cannot be right</label>
145 <!-- Morphological options go here -->
146 <div id="normalization" class="morph">
147 <label for="reading_normal_form">Normalized form: </label>
148 <input type="text" name="reading_normal_form" id="reading_normal_form"></input>
149 <button id="reading_relemmatize" onclick="relemmatize(); return false;">Re-lemmatize</button>
151 <div id="relemmatize_pending">
152 <img src="[% c.uri_for('/images/ajax-loader.gif') %]"/>
155 <div id="morph_outer" class="morph">
156 <label>Lemma / part of speech:</label><br/>
157 <div id="morphology"></div>
160 <div id="reading_status"></div>
171 [% PROCESS footer.tt %]