Mercurial > hg > ismi-richfaces
comparison src/main/webapp/imageServer/resources/js/jurzua/shared.js @ 7:764f47286679
(none)
author | jurzua |
---|---|
date | Wed, 29 Oct 2014 14:28:34 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
6:ded3bccf2cf9 | 7:764f47286679 |
---|---|
1 | |
2 $(document).ready(function () { | |
3 | |
4 alert('asdfsafdasffsd'); | |
5 | |
6 | |
7 function getURLParams() | |
8 { | |
9 var urlParams = {}, | |
10 match, | |
11 pl = /\+/g, // Regex for replacing addition symbol with a space | |
12 search = /([^&=]+)=?([^&]*)/g, | |
13 decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, | |
14 query = window.location.search.substring(1); | |
15 while (match = search.exec(query)) | |
16 { | |
17 urlParams[decode(match[1])] = decode(match[2]); | |
18 } | |
19 | |
20 return urlParams; | |
21 } | |
22 | |
23 | |
24 $('#page-jump').on('keypress', function(ev) | |
25 { | |
26 if (ev.which == '13') | |
27 { | |
28 var dv = $('#diva-wrapper').data('diva'); | |
29 var value = $(this).val(); | |
30 var success = dv.gotoPageByNumber(value); | |
31 | |
32 if (!success) | |
33 { | |
34 if (!$('#page-jump-group').hasClass('error')) | |
35 { | |
36 $('#page-jump-group').addClass('error'); | |
37 $('#page-jump-controls').append('<span id="jump-error-help" class="help-inline">The page you specified is not valid.</span>'); | |
38 } | |
39 } | |
40 else | |
41 { | |
42 if ($('#page-jump-group').hasClass('error')) | |
43 { | |
44 $('#page-jump-group').removeClass('error'); | |
45 $('#jump-error-help').remove(); | |
46 } | |
47 } | |
48 | |
49 } | |
50 }); | |
51 | |
52 $('.go-to-witness-link').on('click', function(ev) { | |
53 var dv = $('#diva-wrapper').data('diva'); | |
54 var start_page = $(this).data('start'); | |
55 dv.gotoPageByNumber(start_page); | |
56 | |
57 ev.preventDefault(); | |
58 }); | |
59 | |
60 $("#witness-edit").on('click', '.set-start-image-btn', function(ev) | |
61 { | |
62 var dv = $('#diva-wrapper').data('diva'); | |
63 var witness = $(this).data('witness'); | |
64 var page = dv.getCurrentPageNumber(); | |
65 | |
66 var startSetCallback = function(data, caller) | |
67 { | |
68 var parent = caller.parent(); | |
69 var el = $("<span>" + data.start_page + "(<a href='#' class='remove-start-image' data-witness='" + data.ismi_id + "'>X</a>)</span>"); | |
70 caller.remove(); | |
71 parent.append(el); | |
72 } | |
73 | |
74 modifyWitness(witness, 'start_page', page, startSetCallback, $(this)); | |
75 }); | |
76 | |
77 $("#witness-edit").on('click', '.set-end-image-btn', function(ev) | |
78 { | |
79 var dv = $('#diva-wrapper').data('diva'); | |
80 var witness = $(this).data('witness'); | |
81 var page = dv.getCurrentPageNumber(); | |
82 | |
83 var endSetCallback = function(data, caller) | |
84 { | |
85 var parent = caller.parent(); | |
86 var el = $("<span>" + data.end_page + "(<a href='#' class='remove-end-image' data-witness='" + data.ismi_id + "'>X</a>)</span>"); | |
87 caller.remove(); | |
88 parent.append(el); | |
89 } | |
90 | |
91 modifyWitness(witness, 'end_page', page, endSetCallback, $(this)); | |
92 }); | |
93 | |
94 $("#witness-edit").on('click', '.remove-start-image', function(ev) | |
95 { | |
96 var witness = $(this).data('witness'); | |
97 var startRemoveCallback = function(data, caller) | |
98 { | |
99 var parentTd = caller.parent().parent(); | |
100 var parent = caller.parent(); | |
101 var el = $("<button class='btn set-start-image-btn' data-witness='" + data.ismi_id + "'>Set Start Image</button>"); | |
102 parent.remove(); | |
103 parentTd.append(el); | |
104 } | |
105 | |
106 modifyWitness(witness, 'start_page', null, startRemoveCallback, $(this)); | |
107 }); | |
108 | |
109 $("#witness-edit").on('click', '.remove-end-image', function(ev) | |
110 { | |
111 var witness = $(this).data('witness'); | |
112 | |
113 var endRemoveCallback = function(data, caller) | |
114 { | |
115 var parentTd = caller.parent().parent(); | |
116 var parent = caller.parent(); | |
117 var el = $("<button class='btn set-end-image-btn' data-witness='" + data.ismi_id + "'>Set End Image</button>"); | |
118 parent.remove(); | |
119 parentTd.append(el); | |
120 } | |
121 | |
122 modifyWitness(witness, 'end_page', null, endRemoveCallback, $(this)); | |
123 }); | |
124 | |
125 $("#test-highlight").on('click', function(ev) | |
126 { | |
127 var dv = $("#diva-wrapper").data('diva'); | |
128 dv.highlightOnPage('foo', 'bar', 'baz'); | |
129 }); | |
130 | |
131 function modifyWitness(witness_id, key, value, successCallback, caller) { | |
132 var csrf = $("[name=csrfmiddlewaretoken]").val(); | |
133 var witnessURL = "/witness/" + witness_id; | |
134 var data = {}; | |
135 data[key] = value; | |
136 | |
137 $.ajax(witnessURL, { | |
138 type: 'PATCH', | |
139 headers: { | |
140 'X-CSRFToken': csrf | |
141 }, | |
142 data: JSON.stringify(data), | |
143 contentType: "application/json", | |
144 success: function(data, status, xhr) | |
145 { | |
146 // we'll need to operate on the button, so pass it back... | |
147 successCallback(data, caller); | |
148 } | |
149 }); | |
150 } | |
151 | |
152 function handlePageSwitch(idx, fn, divid) | |
153 { | |
154 // page number is what we're after, which is always | |
155 // page index + 1. | |
156 $('#current-page-idx').text(idx + 1); | |
157 $('#current-page-fn').text(fn); | |
158 } | |
159 | |
160 function handleDocumentLoaded(idx, fn) | |
161 { | |
162 var witnesses = {}; | |
163 | |
164 // we could do this with an ajax request, but we have | |
165 // the variables already here, we just need to get them | |
166 // from Django and not JS. | |
167 /* | |
168 {% for witness in content.witnesses %} | |
169 {% if witness.start_page %} | |
170 witnesses[{{ witness.ismi_id }}] = {{ witness.start_page }}; | |
171 {% endif %} | |
172 {% endfor %}*/ | |
173 | |
174 var urlParams = getURLParams(); | |
175 if (urlParams.hasOwnProperty('witness')) | |
176 { | |
177 urlWitness = parseInt(urlParams['witness'], 10); | |
178 | |
179 // this won't be populated if the witness doesn't have a | |
180 // start page set. | |
181 if (witnesses.hasOwnProperty(urlWitness)) | |
182 { | |
183 this.gotoPageByNumber(witnesses[urlWitness]); | |
184 } | |
185 } | |
186 } | |
187 | |
188 $("#diva-wrapper").diva( | |
189 { | |
190 enableAutoHeight: true, | |
191 enableAutoTitle: false, | |
192 enableGotoPage: false, | |
193 fixedHeightGrid: false, | |
194 contained: true, | |
195 iipServerURL: "https://images.rasi.mcgill.ca/fcgi-bin/iipsrv.fcgi", | |
196 imageDir: "/data7/srv/images/Majlis_shura_21", | |
197 | |
198 onSetCurrentPage: handlePageSwitch, | |
199 onDocumentLoaded: handleDocumentLoaded | |
200 }); | |
201 }); |