UNPKG

ldx-widgets

Version:

widgets

98 lines (79 loc) 2.13 kB
React = require 'react' createClass = require 'create-react-class' {div, a} = require 'react-dom-factories' ###& @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: -> {address1, address2, address3, city, state, zip, country, mapLink} = @props cityStateZipString = '' address = [] mapAddress = '' # Put city, state and zip on one line if city? cityStateZipString += city if state? if city? then cityStateZipString += ', ' cityStateZipString += "#{state.toUpperCase()} " else cityStateZipString += ' ' if zip? if zip.length == 9 zip = zip.substr(0,5) + "-" + zip.substr(5,4) cityStateZipString += zip if address1? address.push(div { key: 1 }, "#{address1} " ) mapAddress += "#{address1} " if address2? address.push(div { key: 2 }, "#{address2} " ) mapAddress += "#{address2} " if address3? address.push(div { key: 3 }, "#{address3} " ) mapAddress += "#{address3} " if cityStateZipString.length address.push(div { key: "cityStateZip" className: "capitalize" }, cityStateZipString ) mapAddress += "#{cityStateZipString} " if country? 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