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.authorised_value] = r.lib;
14 function member_display_address_style_us(data, line_break, include_li) {
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] : data.street_type;
22 address += include_li ? '<li class="patronaddress1">' : '';
23 address += escape_str(data.street_number) + ' ' + escape_str(data.address) + ' ' + escape_str(roadtype_desc);
24 address += include_li ? '</li>' : '';
27 if ( data.address2 ) {
28 address += include_li ? '<li class="patronaddress2">' : ' ';
29 address += escape_str(data.address2);
30 address += include_li ? '</li>' : '';
32 if ( data.city || data.postal_code || data.state || data.country ) {
33 address += include_li ? '<li class="patroncity">' : ' ';
34 address += escape_str(data.city);
39 address += escape_str(data.state);
41 if ( data.postal_code ) {
42 address += " " + escape_str(data.postal_code);
45 if ( data.postal_code || data.state || data.city ) {
48 address += escape_str(data.country)
50 address += include_li ? '</li>' : '';
56 function member_display_address_style_de(data, line_break, include_li) {
58 if ( data.address || data.address2 ) {
60 let roadtype_desc = '';
61 if ( data.street_type ) {
62 roadtype_desc = roadtypes_map[data.street_type] ? roadtypes_map[data.street_type] : data.street_type;
64 address += include_li ? '<li class="patronaddress1">' : ' ';
65 address += escape_str(data.address) + ' ' + escape_str(roadtype_desc) + ' ' + escape_str(data.street_number);
66 address += include_li ? '</li>' : '';
69 if ( data.address2 ) {
70 address += include_li ? '<li class="patronaddress2">' : ' ';
71 address += escape_str(data.address2);
72 address += include_li ? '</li>' : '';
74 if ( data.city || data.postal_code || data.state || data.country ) {
75 address += include_li ? '<li class="patroncity">' : ' ';
76 address += escape_str(data.postal_code) + ' ' + escape_str(data.city);
77 address += data.state ? line_break + escape_str(data.state) : '';
78 address += data.country ? line_break + escape_str(data.country) : '';
79 address += include_li ? '</li>' : '';
85 function member_display_address_style_fr(data, line_break, include_li) {
87 if ( data.address || data.address2 ) {
89 let roadtype_desc = '';
90 if ( data.street_type ) {
91 roadtype_desc = roadtypes_map[data.street_type] ? roadtypes_map[data.street_type] : data.street_type;
93 address += include_li ? '<li class="patronaddress1">' : '';
94 address += escape_str(data.street_number) + ' ' + escape_str(roadtype_desc) + ' ' + escape_str(data.address);
95 address += include_li ? '</li>' : '';
98 if ( data.address2 ) {
99 address += include_li ? '<li class="patronaddress2">' : ' ';
100 address += escape_str(data.address2);
101 address += include_li ? '</li>' : '';
103 if ( data.city || data.postal_code || data.state || data.country ) {
104 address += include_li ? '<li class="patroncity">' : ' ';
105 address += escape_str(data.postal_code) + ' ' + escape_str(data.city);
106 address += data.state ? line_break + escape_str(data.state) : '';
107 address += data.country ? line_break + escape_str(data.country) : '';
108 address += include_li ? '</li>' : '';
114 window.$format_address = function(data, options) {
115 let line_break = options && options.no_line_break ? ' ' : '<br/>';
116 let include_li = options && options.include_li;
117 [%~ IF Koha.Preference( 'AddressFormat' ) ~%]
118 return member_display_address_style_[% Koha.Preference( 'AddressFormat' ) | html %](data, line_break, include_li);
120 return member_display_address_style_us(data, line_break, include_li);
126 <!-- / js-patron-format-address.inc -->