ldx-widgets
Version:
widgets
84 lines (71 loc) • 1.84 kB
text/coffeescript
React = require 'react'
{div, a} = React.DOM
###
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: ->
{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