Lines 1317-1327
Link Here
|
1317 |
} |
1317 |
} |
1318 |
|
1318 |
|
1319 |
[% IF StaffDetailItemSelection %] |
1319 |
[% IF StaffDetailItemSelection %] |
1320 |
function itemSelectionBuildDeleteLink(div) { |
1320 |
|
1321 |
var itemnumbers = new Array(); |
1321 |
let items_selection = {}; |
1322 |
$("input[name='itemnumber'][type='checkbox']:checked", div).each(function() { |
1322 |
function itemSelectionBuildDeleteLink(tab_id) { |
1323 |
itemnumbers.push($(this).val()); |
1323 |
var itemnumbers = items_selection[tab_id]; |
1324 |
}); |
|
|
1325 |
if (itemnumbers.length > 0) { |
1324 |
if (itemnumbers.length > 0) { |
1326 |
var url = '/cgi-bin/koha/tools/batchMod.pl?op=show&del=1'; |
1325 |
var url = '/cgi-bin/koha/tools/batchMod.pl?op=show&del=1'; |
1327 |
url += '&itemnumber=' + itemnumbers.join('&itemnumber='); |
1326 |
url += '&itemnumber=' + itemnumbers.join('&itemnumber='); |
Lines 1334-1344
Link Here
|
1334 |
return true |
1333 |
return true |
1335 |
} |
1334 |
} |
1336 |
|
1335 |
|
1337 |
function itemSelectionBuildModifyLink(div) { |
1336 |
function itemSelectionBuildModifyLink(tab_id) { |
1338 |
var itemnumbers = new Array(); |
1337 |
var itemnumbers = items_selection[tab_id]; |
1339 |
$("input[name='itemnumber'][type='checkbox']:checked", div).each(function() { |
|
|
1340 |
itemnumbers.push($(this).val()); |
1341 |
}); |
1342 |
if (itemnumbers.length > 0) { |
1338 |
if (itemnumbers.length > 0) { |
1343 |
var url = '/cgi-bin/koha/tools/batchMod.pl?op=show'; |
1339 |
var url = '/cgi-bin/koha/tools/batchMod.pl?op=show'; |
1344 |
url += '&itemnumber=' + itemnumbers.join('&itemnumber='); |
1340 |
url += '&itemnumber=' + itemnumbers.join('&itemnumber='); |
Lines 1351-1360
Link Here
|
1351 |
return true; |
1347 |
return true; |
1352 |
} |
1348 |
} |
1353 |
|
1349 |
|
1354 |
function itemSelectionBuildActionLinks(tab) { |
1350 |
function itemSelectionBuildActionLinks(tab_id) { |
1355 |
var div = $("#" + tab); |
1351 |
var delete_link_ok = itemSelectionBuildDeleteLink(tab_id); |
1356 |
var delete_link_ok = itemSelectionBuildDeleteLink(div); |
1352 |
var modify_link_ok = itemSelectionBuildModifyLink(tab_id); |
1357 |
var modify_link_ok = itemSelectionBuildModifyLink(div); |
1353 |
var div = $("#" + tab_id); |
1358 |
if (modify_link_ok || delete_link_ok) { |
1354 |
if (modify_link_ok || delete_link_ok) { |
1359 |
$('.itemselection_actions', div).show(); |
1355 |
$('.itemselection_actions', div).show(); |
1360 |
} else { |
1356 |
} else { |
Lines 1363-1372
Link Here
|
1363 |
} |
1359 |
} |
1364 |
|
1360 |
|
1365 |
$(document).ready(function() { |
1361 |
$(document).ready(function() { |
1366 |
$('table.items_table').each(function() { |
|
|
1367 |
var div = $(this).parent().attr("id"); |
1368 |
itemSelectionBuildActionLinks(div); |
1369 |
}); |
1370 |
|
1362 |
|
1371 |
$(".SelectAll").on("click",function(e){ |
1363 |
$(".SelectAll").on("click",function(e){ |
1372 |
e.preventDefault(); |
1364 |
e.preventDefault(); |
Lines 2204-2209
Link Here
|
2204 |
[% IF hidden_count %] |
2196 |
[% IF hidden_count %] |
2205 |
default_filters.lost_status = "0"; |
2197 |
default_filters.lost_status = "0"; |
2206 |
[% END %] |
2198 |
[% END %] |
|
|
2199 |
if ( !items_selection.hasOwnProperty(tab_id) ){ |
2200 |
items_selection[tab_id] = []; |
2201 |
} |
2207 |
var items_table = $("#" + tab_id + '_table').kohaTable({ |
2202 |
var items_table = $("#" + tab_id + '_table').kohaTable({ |
2208 |
ajax: { url: item_table_url }, |
2203 |
ajax: { url: item_table_url }, |
2209 |
order: [[ 0, "asc" ]], |
2204 |
order: [[ 0, "asc" ]], |
Lines 2218-2224
Link Here
|
2218 |
orderable: false, |
2213 |
orderable: false, |
2219 |
render: function (data, type, row, meta) { |
2214 |
render: function (data, type, row, meta) { |
2220 |
if ( can_edit_items_from[row.holding_library_id] ){ |
2215 |
if ( can_edit_items_from[row.holding_library_id] ){ |
2221 |
return '<input type="checkbox" value="%s" name="itemnumber" />'.format(row.item_id); |
2216 |
if ( items_selection[tab_id].includes(row.item_id) ) { |
|
|
2217 |
return '<input type="checkbox" value="%s" name="itemnumber" checked />'.format(row.item_id); |
2218 |
} else { |
2219 |
return '<input type="checkbox" value="%s" name="itemnumber" />'.format(row.item_id); |
2220 |
} |
2222 |
} else { |
2221 |
} else { |
2223 |
return '' |
2222 |
return '' |
2224 |
} |
2223 |
} |
Lines 2676-2686
Link Here
|
2676 |
}); |
2675 |
}); |
2677 |
itemSelectionBuildActionLinks(tab_id); |
2676 |
itemSelectionBuildActionLinks(tab_id); |
2678 |
}, |
2677 |
}, |
|
|
2678 |
[% IF StaffDetailItemSelection %] |
2679 |
drawCallback: function(settings){ |
2679 |
drawCallback: function(settings){ |
2680 |
$(this).find("td:first input[name='itemnumber'][type='checkbox']").on("change", function(){ |
2680 |
var api = new $.fn.dataTable.Api(settings) |
2681 |
itemSelectionBuildActionLinks(tab_id); |
2681 |
$.each( |
2682 |
}); |
2682 |
$(this).find("tbody tr td:first-child"), |
|
|
2683 |
function (index, e) { |
2684 |
let tr = $(this).parent() |
2685 |
let row = api.row(tr).data() |
2686 |
if (!row) return // Happen if the table is empty |
2687 |
$(this).find("input[name='itemnumber'][type='checkbox']").on("change", function(){ |
2688 |
let itemnumber = parseInt($(this).val()); |
2689 |
if( $(this).prop("checked") ){ |
2690 |
items_selection[tab_id].push(itemnumber); |
2691 |
} else { |
2692 |
items_selection[tab_id] = items_selection[tab_id].filter( id => id != itemnumber ); |
2693 |
} |
2694 |
itemSelectionBuildActionLinks(tab_id); |
2695 |
}); |
2696 |
} |
2697 |
); |
2683 |
}, |
2698 |
}, |
|
|
2699 |
[% END %] |
2684 |
...dt_options, |
2700 |
...dt_options, |
2685 |
}, |
2701 |
}, |
2686 |
items_table_settings[tab_id], |
2702 |
items_table_settings[tab_id], |
2687 |
- |
|
|