Commit | Line | Data |
98a45925 |
1 | function loadTradition( textid, textname, editable ) { |
2 | selectedTextID = textid; |
3 | // First insert the placeholder image and register an error handler |
04469f3e |
4 | $('#textinfo_load_status').empty(); |
5f0eda3f |
5 | $('#stemma_graph').empty(); |
98a45925 |
6 | $('#textinfo_waitbox').show(); |
75354c3a |
7 | $('#textinfo_container').hide().ajaxError( |
8 | function(event, jqXHR, ajaxSettings, thrownError) { |
9 | if( ajaxSettings.url.indexOf( 'textinfo' ) > -1 && ajaxSettings.type == 'GET' ) { |
10 | $('#textinfo_waitbox').hide(); |
11 | $('#textinfo_container').show(); |
12 | display_error( jqXHR, $("#textinfo_load_status") ); |
98a45925 |
13 | } |
75354c3a |
14 | }); |
15 | |
16 | // Hide the functionality that is irrelevant |
17 | if( editable ) { |
ce1c5863 |
18 | $('#open_stemma_add').show(); |
19 | $('#open_stemma_edit').show(); |
20 | $('#open_textinfo_edit').show(); |
75354c3a |
21 | } else { |
ce1c5863 |
22 | $('#open_stemma_add').hide(); |
23 | $('#open_stemma_edit').hide(); |
24 | $('#open_textinfo_edit').hide(); |
75354c3a |
25 | } |
26 | |
62723740 |
27 | // Then get and load the actual content. |
98a45925 |
28 | // TODO: scale #stemma_graph both horizontally and vertically |
f6a8db89 |
29 | // TODO: load svgs from SVG.Jquery (to make scaling react in Safari) |
98a45925 |
30 | $.getJSON( basepath + "/textinfo/" + textid, function (textdata) { |
31 | // Add the scalar data |
75354c3a |
32 | selectedTextInfo = textdata; |
33 | load_textinfo(); |
34 | // Add the stemma(ta) and set up the stexaminer button |
98a45925 |
35 | stemmata = textdata.stemmata; |
36 | if( stemmata.length ) { |
37 | selectedStemmaID = 0; |
38 | load_stemma( selectedStemmaID, basepath ); |
39 | } |
40 | // Set up the relationship mapper button |
41 | $('#run_relater').attr( 'action', basepath + "/relation/" + textid ); |
42 | }); |
43 | } |
44 | |
75354c3a |
45 | function load_textinfo() { |
46 | $('#textinfo_waitbox').hide(); |
47 | $('#textinfo_load_status').empty(); |
48 | $('#textinfo_container').show(); |
49 | $('.texttitle').empty().append( selectedTextInfo.name ); |
50 | // Witnesses |
51 | $('#witness_num').empty().append( selectedTextInfo.witnesses.size ); |
52 | $('#witness_list').empty().append( selectedTextInfo.witnesses.join( ', ' ) ); |
53 | // Who the owner is |
54 | $('#owner_id').empty().append('no one'); |
55 | if( selectedTextInfo.owner ) { |
56 | $('#owner_id').empty().append( selectedTextInfo.owner ); |
57 | } |
58 | // Whether or not it is public |
59 | $('#not_public').empty(); |
60 | if( selectedTextInfo['public'] == false ) { |
61 | $('#not_public').append('NOT '); |
62 | } |
63 | // What language setting it has, if any |
64 | $('#marked_language').empty().append('no language set'); |
65 | if( selectedTextInfo.language && selectedTextInfo.language != 'Default' ) { |
66 | $('#marked_language').empty().append( selectedTextInfo.language ); |
67 | } |
68 | } |
69 | |
70 | function load_stemma( idx ) { |
98a45925 |
71 | if( idx > -1 ) { |
72 | selectedStemmaID = idx; |
73 | $('#stemma_graph').empty(); |
74 | $('#stemma_graph').append( stemmata[idx] ); |
75 | // Stexaminer submit action |
76 | var stexpath = basepath + "/stexaminer/" + selectedTextID + "/" + idx; |
77 | $('#run_stexaminer').attr( 'action', stexpath ); |
40803b80 |
78 | setTimeout( 'start_element_height = $("#stemma_graph .node")[0].getBBox().height;', 500 ); |
98a45925 |
79 | } |
5ba6c2b4 |
80 | } |
75354c3a |
81 | |
82 | function display_error( jqXHR, el ) { |
ce1c5863 |
83 | var errmsg; |
84 | if( jqXHR.responseText == "" ) { |
85 | errmsg = "perhaps the server went down?" |
75354c3a |
86 | } else { |
ce1c5863 |
87 | var errobj; |
88 | try { |
89 | errobj = jQuery.parseJSON( jqXHR.responseText ); |
90 | errmsg = errobj.error; |
91 | } catch ( parse_err ) { |
92 | errmsg = "something went wrong on the server." |
93 | } |
75354c3a |
94 | } |
ce1c5863 |
95 | var msghtml = $('<span>').attr('class', 'error').text( "An error occurred: " + errmsg ); |
75354c3a |
96 | $(el).empty().append( msghtml ).show(); |
97 | } |