|
Lines 489-503
Link Here
|
| 489 |
[%# FIXME Previously we displayed the column if at least one item of the biblio had an enumchron/serial_issue_number. Now it's only if one item of the ones displayed on the current page, how is that bad? How can it be fixed in an elegant way? Should we display the column only if biblio.serial? %] |
489 |
[%# FIXME Previously we displayed the column if at least one item of the biblio had an enumchron/serial_issue_number. Now it's only if one item of the ones displayed on the current page, how is that bad? How can it be fixed in an elegant way? Should we display the column only if biblio.serial? %] |
| 490 |
let serial = row.serial_item ? row.serial_item.serial : null; |
490 |
let serial = row.serial_item ? row.serial_item.serial : null; |
| 491 |
if ( row.serial_issue_number && serial && serial.serialseq ) { |
491 |
if ( row.serial_issue_number && serial && serial.serialseq ) { |
| 492 |
nodes += '<span class="enum">%s</span>'.format(escape_str(row.serial_issue_number)); |
492 |
nodes += '<span class="enum">%s</span>'.format( localizeNumberingPatternSeason(escape_str(row.serial_issue_number))); |
| 493 |
if ( serial.serialseq && row.serial_issue_number != serial.serialseq ) { |
493 |
if ( serial.serialseq && row.serial_issue_number != serial.serialseq ) { |
| 494 |
nodes += ' <span class="sep"> -- </span>' |
494 |
nodes += ' <span class="sep"> -- </span>' |
| 495 |
nodes += ' <span class="serialseq">%s</span>'.format(escape_str(serial.serialseq)); |
495 |
nodes += ' <span class="serialseq">%s</span>'.format(localizeNumberingPatternSeason(escape_str(serial.serialseq))); |
| 496 |
} |
496 |
} |
| 497 |
} else if ( row.serial_issue_number ) { |
497 |
} else if ( row.serial_issue_number ) { |
| 498 |
nodes += ' <span class="enum">%s</span>'.format(escape_str(row.serial_issue_number)); |
498 |
nodes += ' <span class="enum">%s</span>'.format(localizeNumberingPatternSeason(escape_str(row.serial_issue_number))); |
| 499 |
} else if ( serial && serial.serialseq ) { |
499 |
} else if ( serial && serial.serialseq ) { |
| 500 |
nodes += '<span class="serialseq">%s</span>'.format(escape_str(serial.serialseq)); |
500 |
nodes += '<span class="serialseq">%s</span>'.format(localizeNumberingPatternSeason(escape_str(serial.serialseq))); |
| 501 |
} |
501 |
} |
| 502 |
[% IF Koha.Preference('DisplayPublishedDate') %] |
502 |
[% IF Koha.Preference('DisplayPublishedDate') %] |
| 503 |
if ( serial && serial.publisheddate ) { |
503 |
if ( serial && serial.publisheddate ) { |
|
Lines 933-937
Link Here
|
| 933 |
node.textContent = link_text; |
933 |
node.textContent = link_text; |
| 934 |
return node; |
934 |
return node; |
| 935 |
} |
935 |
} |
|
|
936 |
function localizeNumberingPatternSeason(season) { |
| 937 |
if (!season) return ""; |
| 938 |
|
| 939 |
const patterns = [ |
| 940 |
{ regex: /(.*)Spring(.*)/, label: _("Spring") }, |
| 941 |
{ regex: /(.*)Summer(.*)/, label: _("Summer") }, |
| 942 |
{ regex: /(.*)Fall(.*)/, label: _("Fall") }, |
| 943 |
{ regex: /(.*)Winter(.*)/, label: _("Winter") }, |
| 944 |
{ regex: /(.*)Spr(.*)/, label: _("Spr") }, |
| 945 |
{ regex: /(.*)Sum(.*)/, label: _("Sum") }, |
| 946 |
{ regex: /(.*)Fal(.*)/, label: _("Fal") }, |
| 947 |
{ regex: /(.*)Win(.*)/, label: _("Win") } |
| 948 |
]; |
| 949 |
|
| 950 |
for (const p of patterns) { |
| 951 |
const matches = season.match(p.regex); |
| 952 |
if (matches) { |
| 953 |
return matches[1] + p.label + matches[2]; |
| 954 |
} |
| 955 |
} |
| 956 |
|
| 957 |
return season; |
| 958 |
} |
| 936 |
</script> |
959 |
</script> |
| 937 |
[% END %] |
960 |
[% END %] |