IF CGI.https; url = url.replace('^http:', 'https:'); END; %]
<script type='text/javascript' id='EIT' src='[% url %]'></script>
[%- END %]
-[%- IF want_dojo; -%]
+[%- IF want_dojo AND ctx.page != 'advanced'; -%]
<script type="text/javascript">
var djConfig = {
locale: "[% ctx.locale | lower | replace('_', '-') %]",
# Seems like it /should/ work anywhere, though, and obviate the
# next three script tags: %]
<!-- <script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/DojoSRF.js?[% ctx.eg_cache_hash %]"></script> -->
-
+[%- END %]
+[%- IF want_dojo -%]
<script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf.js?[% ctx.eg_cache_hash %]"></script>
<script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/opensrf_xhr.js?[% ctx.eg_cache_hash %]"></script>
<script type="text/javascript" src="[% ctx.media_prefix %]/js/dojo/opensrf/JSON_v1.js?[% ctx.eg_cache_hash %]"></script>
[% INCLUDE "opac/parts/acjs.tt2" IF ctx.page == 'record' %]
[% INCLUDE "opac/parts/ac_google_books.tt2" IF ctx.page == 'record' AND ctx.google_books_preview %]
[% IF ctx.page == 'advanced' %]
+<script type="text/javascript" src="[% ctx.media_prefix %]/js/url-search-params.js?[% ctx.eg_cache_hash %]"></script>
<script type="text/javascript"
src="[% ctx.media_prefix %]/js/ui/default/opac/copyloc.js"></script>
[% END %]
-dojo.require("DojoSRF");
-dojo.require("openils.CGI");
+;(function () {
+ var org_sel = document.getElementById('adv_org_selector');
+ var loc_chunk = document.getElementById('adv_chunk_copy_location');
+ var loc_sel = document.getElementById('adv_copy_location_selector');
// called on initial page load and when the advance search org unit
// selector is changed.
function apply_adv_copy_locations() {
// patron selected org
- var sel = dojo.byId('adv_org_selector');
- var selected_id = sel.options[sel.selectedIndex].getAttribute('value');
+ var selected_id = org_sel.options[org_sel.selectedIndex].getAttribute('value');
var org_unit = aou_hash[selected_id];
if (org_unit.can_have_vols != 't') {
- dojo.addClass('adv_chunk_copy_location', 'hidden');
+ loc_chunk.classList.add('hidden');
return;
}
if (list && list.length) {
render_adv_copy_locations(list);
} else {
- dojo.addClass('adv_chunk_copy_location', 'hidden');
+ loc_chunk.classList.add('hidden');
}
} else {
- dojo.addClass('adv_chunk_copy_location', 'hidden');
+ loc_chunk.classList.add('hidden');
}
}
}).send();
}
function render_adv_copy_locations(locations) {
- var sel = dojo.byId('adv_copy_location_selector');
- var cgi = new openils.CGI();
-
// collect any location values from the URL to re-populate the list
- var url_selected = cgi.param('fi:locations');
- if (url_selected) {
- if (!dojo.isArray(url_selected))
- url_selected = [url_selected];
- }
+ var params = new URLSearchParams(location.search.slice(1));
+ var url_selected = params.getAll('fi:locations');
- dojo.removeClass('adv_chunk_copy_location', 'hidden');
+ loc_chunk.classList.remove('hidden');
// sort by name
locations = locations.sort(
);
// remove the previous list of locations
- dojo.empty(sel);
+ var range = document.createRange();
+ range.selectNodeContents(loc_sel);
+ range.deleteContents();
// append the new list of locations
- dojo.forEach(locations, function(loc) {
+ locations.forEach(function(loc) {
var attrs = {value : loc.id, innerHTML : loc.name};
if (url_selected && url_selected.indexOf(''+loc.id) > -1) {
attrs.selected = true;
}
- sel.appendChild(dojo.create('option', attrs));
+ var option = document.createElement('option');
+ Object.keys(attrs).forEach(function(att) {
+ option[att] = attrs[att];
+ });
+ loc_sel.appendChild(option);
});
}
// load the locations on page load
-dojo.addOnLoad(function() {
+window.addEventListener('load', function(event) {
apply_adv_copy_locations();
- dojo.connect(dojo.byId('adv_org_selector'),
- 'onchange', apply_adv_copy_locations);
+ org_sel.addEventListener('change', apply_adv_copy_locations);
});
-
+})()