1 <!-- js-patron-format-address.inc -->
4 [% USE AuthorisedValues %]
8 const roadtypes = [% To.json(AuthorisedValues.Get('ROADTYPE')) | $raw %];
9 let roadtypes_map = roadtypes.reduce((map, r) => {
10 map[r.street_type] = r;
14 function member_display_address_style_us(data, line_break) {
16 if ( data.address || data.address2 ) {
18 let roadtype_desc = '';
19 if ( data.street_type ) {
20 roadtype_desc = roadtypes_map[data.street_type] ? roadtypes_map[data.street_type].street_type : data.street_type;
22 address += '<li class="patronaddress1">' + escape_str(data.street_number) + ' ' + escape_str(data.address) + ' ' + escape_str(roadtype_desc) + '</li>';
25 if ( data.address2 ) {
26 address += '<li class="patronaddress2">' + escape_str(data.address2) + '</li>'
28 if ( data.city || data.postal_code || data.state || data.country ) {
29 address += '<li class="patroncity">' + escape_str(data.city);
34 address += escape_str(data.city);
36 if ( data.postal_code ) {
37 address += " " + escape_str(data.postal_code);
40 if ( data.postal_code || data.state || data.city ) {
43 address += escape_str(data.country)
51 function member_display_address_style_de(data, line_break) {
53 if ( data.address || data.address2 ) {
55 let roadtype_desc = '';
56 if ( data.street_type ) {
57 roadtype_desc = roadtypes_map[data.street_type] ? roadtypes_map[data.street_type].street_type : data.street_type;
59 address += '<li class="patronaddress1">' + escape_str(data.address) + ' ' + escape_str(roadtype_desc) + escape_str(data.street_number) + '</li>';
62 if ( data.address2 ) {
63 address += '<li class="patronaddress2">' + escape_str(data.address2) + '</li>'
65 if ( data.city || data.postal_code || data.state || data.country ) {
66 address += '<li class="patroncity">';
67 address += escape_str(data.postal_code) + ' ' + escape_str(data.city);
68 address += data.state ? line_break + escape_str(data.state) : '';
69 address += data.country ? line_break + escape_str(data.country) : '';
76 function member_display_address_style_fr(data, line_break) {
78 if ( data.address || data.address2 ) {
80 let roadtype_desc = '';
81 if ( data.street_type ) {
82 roadtype_desc = roadtypes_map[data.street_type] ? roadtypes_map[data.street_type].street_type : data.street_type;
84 address += '<li class="patronaddress1">' + escape_str(data.street_number) + ' ' + escape_str(roadtype_desc) + escape_str(data.address) + '</li>';
87 if ( data.address2 ) {
88 address += '<li class="patronaddress2">' + escape_str(data.address2) + '</li>'
90 if ( data.city || data.postal_code || data.state || data.country ) {
91 address += '<li class="patroncity">';
92 address += escape_str(data.postal_code) + ' ' + escape_str(data.city);
93 address += data.state ? line_break + escape_str(data.state) : '';
94 address += data.country ? line_break + escape_str(data.country) : '';
101 window.$format_address = function(data, options) {
102 let line_break = options && options.no_line_break ? ' ' : '<br/>';
103 [%~ IF Koha.Preference( 'AddressFormat' ) ~%]
104 return member_display_address_style_[% Koha.Preference( 'AddressFormat' ) | html %](data, line_break);
106 return member_display_address_style_us(data, line_break);
112 <!-- / js-patron-format-address.inc -->