UNPKG

ldx-widgets

Version:

widgets

126 lines (109 loc) 3.16 kB
(function() { var AddressUK, PropTypes, React, a, createClass, div, ref; React = require('react'); createClass = require('create-react-class'); PropTypes = require('prop-types'); ref = require('react-dom-factories'), 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.country - [String] - Optional country @props.mapLink - [Boolean] - Optional Build a link to google maps and display address as a clickable link. Link opens a new tab/window & */ AddressUK = createClass({ displayName: 'AddressUK', propsTypes: { address1: PropTypes.string, address2: PropTypes.string, address3: PropTypes.string, city: PropTypes.string, state: PropTypes.string, zip: PropTypes.string, country: PropTypes.string, mapLink: PropTypes.string }, getDefaultProps: function() { return { showCountry: true, mapLink: false }; }, render: function() { var address, address1, address2, address3, city, 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; address = []; mapAddress = ''; if (address1 != null) { address.push(div({ key: 'address1' }, address1)); mapAddress += address1 + " "; } if (address2 != null) { address.push(div({ key: 'address2' }, address2)); mapAddress += address2 + " "; } if (address3 != null) { address.push(div({ key: 'address3' }, address3)); mapAddress += address3 + " "; } if (city != null) { address.push(div({ key: 'city' }, city)); mapAddress += "" + city; } if (state != null) { address.push(div({ key: 'state' }, state)); if (city != null) { mapAddress += ","; } mapAddress += " " + state; } if (zip != null) { address.push(div({ key: 'zip' }, zip)); mapAddress += " " + zip; } 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({ className: 'address-display' }, address); } } }); module.exports = AddressUK; }).call(this);