Sha256: 7d9f25cd1ef8f5783a1f88b46542b7fa0b0f63ae8e573edc47405276ec8a1810

Contents?: true

Size: 1.88 KB

Versions: 2

Compression:

Stored size: 1.88 KB

Contents

##########  handlebars helpers ##############
String.prototype.capitalize = ->
  this.charAt(0).toUpperCase() + this.substring(1).toLowerCase()

String.prototype.titleize = ->
	res = []
	parts = this.split(" ")
	$.each(parts, (index, part)->
		res.push(part.capitalize())
	)
	res.join(" ")

Handlebars.registerHelper("rounded", (number)->
  if (number != undefined)
     parseFloat(number).toFixed(2)
)

Handlebars.registerHelper("titleize", (string)->
  if (string != undefined)
     string.titleize()
)

Handlebars.registerHelper("address_without_comma", (lab)->
  if (this.address != undefined)
    this.address.replace(/(\s*,\s*$)/g, "").titleize()
)

##########  Lab model ##############
class window.Lab
  marker: null
  map_tooltip_template: Handlebars.compile("{{titleize name}}\n{{address_without_comma address}}\n{{titleize city}},{{state}} ")

  constructor: (@data)->

  clearMarker: ->
    if this.marker
      this.marker.setMap(null)
      this.marker = null

  setMarker: (map, markerBounds)->
    this.point = new google.maps.LatLng(@data.lat, @data.lng)
    this.marker = this.makeMarker(map)
    if markerBounds
      markerBounds.extend(this.point)

  makeMarker: (map)->
    new google.maps.Marker({
      position: this.point
      map: map
      title: this.map_tooltip_template(@data)
      icon: this.makeIcon()
    })

  makeIcon: ->
    new google.maps.MarkerImage("/assets/medivo/lab.png")

##########  LabList model ##############
class window.LabList
  show_number: 3

  constructor: (lab_info, show_number)->
    @labs = []
    @show_number = show_number if show_number
    console.log(@show_number)
    this.setLabs(lab_info)

  getLabs: -> @labs.slice(0, @show_number)

  setLabs: (lab_info)->
    this.clearMarkers()
    labs = @labs = []
    $.each( lab_info, (index, lab_data)->
      labs.push(new Lab(lab_data))
    )

  clearMarkers: ->
    $.each( @labs, (index, lab)-> lab.clearMarker() )

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
medivo-0.0.4 app/assets/javascripts/medivo/models.coffee
medivo-0.0.3 app/assets/javascripts/medivo/models.coffee