anchor.diff:                                      UL className: 'other_proposal_list', style: {backgroundColor: 'rgba(0,0,0,.2)', borderRadius: '4px', padding: '8px 0' },
                                         for other_proposal in cluster.proposals
                                           LI style: {listStyle: 'none'}, key: "li/#{other_proposal.long_id}",
  -                                          A href: "/#{other_proposal.long_id}", onClick: clickInternalLink, style: {display: 'block', textAlign: 'left', padding: '2px 10px'},
  +                                          A href: proposal_url(other_proposal), onClick: clickInternalLink, style: {display: 'block', textAlign: 'left', padding: '2px 10px'},
                                               other_proposal.name
   
   
  
positive.code:             FBShare()
              Tweet
                text: tweet
                url: "https://livingvotersguide.org/#{@proposal.long_id}"
  
  
  
  StickyProposalHeading = ReactiveComponent
    displayName: 'StickyProposalHeading'
  
    componentDidMount : -> @initOrUpdateHeader()
  
    componentDidUpdate : -> @initOrUpdateHeader()
  
    initOrUpdateHeader : -> 
      $el = $(@getDOMNode())
  
      $header = $el.find('.proposal_heading.stickable')
  
      if $header.length > 0 && !@is_waiting()
        if @local.sticky_initialized
          $header.StickyElement('update')
        else 
          $header.StickyElement
            placeholder: $el.find('.proposal_heading.placeholder')[0]
            container: $el.parents('.proposal')
            stick_on_zoomed_screens: false
  
          @local.sticky_initialized = true
          save @local
  
    componentWillUnmount : -> 
      $el = $(@getDOMNode())
      $el.find('.proposal_heading.stickable').StickyElement('destroy')
  
    mouseLeaveOtherCluster : (cluster) -> 
      if @local.show_cluster == cluster
        @local.show_cluster = null
        save(@local)
  
    render : ->
      color = @data('color')
      customer = @data('/customer')
  
negative.code:                 DIV className: 'next_proposal',
                    "Next: "
                      A
                        onClick: do (url = proposal_url(next_proposal)) =>
                          => window.app_router.navigate(url, {trigger: true})
                        next_proposal.name
  
  
    componentDidMount : -> @initOrUpdateHeader()
    componentDidUpdate : -> @initOrUpdateHeader()
    initOrUpdateHeader : -> 
      $el = $(@getDOMNode())
  
      $header = $el.find('.proposal_heading.stickable')
  
      if $header.length > 0 && !@is_waiting()
        if @local.sticky_initialized
          $header.StickyElement('update')
        else 
          $header.StickyElement
            placeholder: $el.find('.proposal_heading.placeholder')[0]
            container: $el.parents('.proposal')
            stick_on_zoomed_screens: false
  
          @local.sticky_initialized = true
          save @local
    componentWillUnmount : -> 
      $el = $(@getDOMNode())
      $el.find('.proposal_heading.stickable').StickyElement('destroy')
    mouseLeaveOtherCluster : (cluster) -> 
      if @local.show_cluster == cluster
        @local.show_cluster = null
        save(@local)
  
  
  
  