View | Details | Raw Unified | Return to bug 18433
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt (-9 / +36 lines)
Lines 315-328 Link Here
315
                    $('#item-search-block').show();
315
                    $('#item-search-block').show();
316
                });
316
                });
317
317
318
            function getCheckedItemnumbers () {
319
                var itemnumbers;
320
                try {
321
                    itemnumbers = JSON.parse(sessionStorage.getItem('itemsearch_itemnumbers') || '[]');
322
                } catch (e) {
323
                    itemnumbers = [];
324
                }
325
326
                return new Set(itemnumbers);
327
            }
328
318
            function exportItems(format) {
329
            function exportItems(format) {
319
              var itemnumbers = [];
330
              var itemnumbers = getCheckedItemnumbers();
320
              $('#results').find('input[name="itemnumber"]:checked').each(function() {
331
              if (itemnumbers.size > 0) {
321
                itemnumbers.push($(this).val());
322
              });
323
              if (itemnumbers.length) {
324
                var href = '/cgi-bin/koha/catalogue/item-export.pl?format=' + format;
332
                var href = '/cgi-bin/koha/catalogue/item-export.pl?format=' + format;
325
                href += '&itemnumber=' + itemnumbers.join('&itemnumber=');
333
                href += '&itemnumber=' + Array.from(itemnumbers).join('&itemnumber=');
326
                location = href;
334
                location = href;
327
              } else {
335
              } else {
328
                $('#format-' + format).prop('checked', true);
336
                $('#format-' + format).prop('checked', true);
Lines 374-379 Link Here
374
              .append(_("Clear selection"))
382
              .append(_("Clear selection"))
375
              .on('click', function(e) {
383
              .on('click', function(e) {
376
                  e.preventDefault();
384
                  e.preventDefault();
385
                  sessionStorage.setItem('itemsearch_itemnumbers', '[]');
377
                  $('#results input[type="checkbox"]').prop('checked', false).change();
386
                  $('#results input[type="checkbox"]').prop('checked', false).change();
378
              });
387
              });
379
            var exportLinks = $('<p>')
388
            var exportLinks = $('<p>')
Lines 491-501 Link Here
491
                    null
500
                    null
492
                ]
501
                ]
493
            });
502
            });
503
            $('#results').on('draw.dt', function (e, settings) {
504
                var itemnumbers = getCheckedItemnumbers();
505
                $(this).find('input[type="checkbox"][name="itemnumber"]').each(function () {
506
                    var itemnumber = this.value;
507
                    if (itemnumbers.has(itemnumber)) {
508
                        this.checked = true;
509
                    }
510
                });
511
            });
512
513
            sessionStorage.setItem('itemsearch_itemnumbers', '[]');
494
514
495
            $('#results').on('change', 'input[type="checkbox"]', function() {
515
            $('#results').on('change', 'input[type="checkbox"]', function() {
496
              var countSelected = $(this).parents('table').find('input:checked').length;
516
              var itemnumber = this.value;
517
              var itemnumbers = getCheckedItemnumbers();
518
              if (this.checked) {
519
                  itemnumbers.add(itemnumber);
520
              } else {
521
                  itemnumbers.delete(itemnumber);
522
              }
523
              sessionStorage.setItem('itemsearch_itemnumbers', JSON.stringify(Array.from(itemnumbers)));
524
497
              var caret = ' <span class="caret">';
525
              var caret = ' <span class="caret">';
498
              if (countSelected > 0) {
526
              if (itemnumbers.size > 0) {
499
                $('#export-button').html(_("Export selected results to") + caret);
527
                $('#export-button').html(_("Export selected results to") + caret);
500
              } else {
528
              } else {
501
                $('#export-button').html(_("Export all results to") + caret);
529
                $('#export-button').html(_("Export all results to") + caret);
502
- 

Return to bug 18433