UNPKG

ldx-widgets

Version:

widgets

107 lines (92 loc) 2.79 kB
(function() { var Address, React, a, createClass, div, ref; React = require('react'); createClass = require('create-react-class'); ref = React.DOM, div = ref.div, a = ref.a; /*& @props.address1 - [String] - Optional First part of the address @props.address2 - [String] - Optional Second part of the address @props.address3 - [String] - Optional Third part of the address @props.city - [String] - Optional City or town @props.state - [String] - Optional State or province @props.zip - [String] - Optional ZIP/postal code @props.mapLink - [String] - Optional External link to map is generated This opens a new tab & */ Address = 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);