Skip to content
Snippets Groups Projects
Commit eeac58f4 authored by Ere Maijala's avatar Ere Maijala Committed by Demian Katz
Browse files

Add container parameter to item/save status load functions.

parent 2538822a
No related merge requests found
/*global VuFind */
function checkItemStatuses() {
var id = $.map($('.ajaxItem'), function(i) {
return $(i).find('.hiddenId')[0].value;
function checkItemStatuses(container) {
if (typeof(container) == 'undefined') {
container = $('body');
}
var elements = {};
var data = $.map(container.find('.ajaxItem'), function(record) {
if ($(record).find('.hiddenId').length == 0) {
return null;
}
var datum = $(record).find('.hiddenId').val();
if (typeof elements[datum] === 'undefined') {
elements[datum] = $();
}
elements[datum] = elements[datum].add($(record));
return datum;
});
if (!id.length) {
if (!data.length) {
return;
}
......@@ -13,11 +26,15 @@ function checkItemStatuses() {
dataType: 'json',
method: 'POST',
url: VuFind.path + '/AJAX/JSON?method=getItemStatuses',
data: {id:id}
data: {'id':data}
})
.done(function(response) {
$.each(response.data, function(i, result) {
var item = $($('.ajaxItem')[result.record_number]);
var item = elements[result.id];
if (!item) {
console.log('Unexpected selector from getItemStatuses: ' + sel);
return;
}
item.find('.status').empty().append(result.availability_message);
if (typeof(result.full_status) != 'undefined'
......@@ -89,4 +106,4 @@ function checkItemStatuses() {
$(document).ready(function() {
checkItemStatuses();
});
\ No newline at end of file
});
/*global VuFind */
function checkSaveStatuses() {
var elements = {}
var data = $.map($('.result,.record'), function(record) {
if($(record).find('.hiddenId').length == 0 || $(record).find('.hiddenSource').length == 0) {
return false;
function checkSaveStatuses(container) {
if (typeof(container) == 'undefined') {
container = $('body');
}
var elements = {};
var data = $.map(container.find('.result,.record'), function(record) {
if ($(record).find('.hiddenId').length == 0 || $(record).find('.hiddenSource').length == 0) {
return null;
}
var datum = {'id':$(record).find('.hiddenId').val(), 'source':$(record).find('.hiddenSource')[0].value};
elements[datum.source+"|"+datum.id] = $(record).find('.savedLists');
var key = datum.source+'|'+datum.id;
if (typeof elements[key] === 'undefined') {
elements[key] = $();
}
elements[key] = elements[key].add($(record).find('.savedLists'));
return datum;
});
if (data.length) {
......@@ -21,7 +29,7 @@ function checkSaveStatuses() {
dataType: 'json',
method: 'POST',
url: VuFind.path + '/AJAX/JSON?method=getSaveStatuses',
data: {id:ids, 'source':srcs}
data: {'id':ids, 'source':srcs}
})
.done(function(response) {
for (var sel in response.data) {
......@@ -32,7 +40,7 @@ function checkSaveStatuses() {
var html = list.find('strong')[0].outerHTML+'<ul>';
for (var i=0; i<response.data[sel].length; i++) {
html += '<li><a href="' + response.data[sel][i].list_url + '">'
+ htmlEncode(response.data[sel][i].list_title) + '</a></li>';
+ htmlEncode(response.data[sel][i].list_title) + '</a></li>';
}
html += '</ul>';
list.html(html).removeClass('hidden');
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment