ldx-widgets
Version:
widgets
91 lines (83 loc) • 2.47 kB
JavaScript
(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);