UNPKG

ldx-widgets

Version:

widgets

91 lines (83 loc) 2.47 kB
(function() { var Address, React, a, div, ref; React = require('react'); ref = React.DOM, div = ref.div, a = ref.a; /* Address Props @props.address1 - string - optional @props.address2 - string - optional @props.address3 - string - optional @props.city - string - optional @props.state - string - optional @props.zip - string - optional @props.mapLink - string - optional */ Address = React.createClass({ displayName: 'Address', render: function() { var address, address1, address2, address3, city, cityStateZipString, country, mapAddress, mapLink, ref1, state, zip; ref1 = this.props, address1 = ref1.address1, address2 = ref1.address2, address3 = ref1.address3, city = ref1.city, state = ref1.state, zip = ref1.zip, country = ref1.country, mapLink = ref1.mapLink; cityStateZipString = ''; address = []; mapAddress = ''; if (city != null) { cityStateZipString += city; } if (state != null) { if (city != null) { cityStateZipString += ', '; } cityStateZipString += (state.toUpperCase()) + " "; } else { cityStateZipString += ' '; } if (zip != null) { if (zip.length === 9) { zip = zip.substr(0, 5) + "-" + zip.substr(5, 4); } cityStateZipString += zip; } if (address1 != null) { address.push(div({ key: 1 }, address1 + " ")); mapAddress += address1 + " "; } if (address2 != null) { address.push(div({ key: 2 }, address2 + " ")); mapAddress += address2 + " "; } if (address3 != null) { address.push(div({ key: 3 }, address3 + " ")); mapAddress += address3 + " "; } if (cityStateZipString.length) { address.push(div({ key: "cityStateZip", className: "capitalize" }, cityStateZipString)); mapAddress += cityStateZipString + " "; } if (country != null) { address.push(div({ key: country }, "" + country)); mapAddress += country; } if (mapLink) { return a({ className: 'address block', target: '_blank', href: "https://www.google.com/maps/place/" + mapAddress }, address); } else { return div({}, address); } } }); module.exports = Address; }).call(this);