       return if not isEditable
       # first copy state value to model if we were editing
       if @state["editing-#{property}"]
-        newValue = parseInt ReactDOM.findDOMNode(this.refs.focusable)?.value
+        newValue = parseInt ReactDOM.findDOMNode(@refs.focusable)?.value
         if newValue? then @updateRange property, newValue
       @setState "editing-#{property}": not @state["editing-#{property}"], ->
-        this.refs.focusable?.focus()
+        @refs.focusable?.focus()
 
     keyDown = (evt) ->
       if evt.key is 'Enter'

    document.addEventListener 'mouseup',   @handleEnd

  handleEnd: ->
    document.removeEventListener 'mousemove', this.handleDrag
    document.removeEventListener 'mouseup',   this.handleEnd

  handleDrag: (e) ->
    @handleNoop(e)

    window.removeEventListener 'resize', @handleUpdate

  handleUpdate: ->
    { orientation } = @props
    dimension = constants.orientation[orientation].dimension
    dimension = dimension.charAt(0).toUpperCase() + dimension.substr(1)
    sliderPos = @slider["offset#{dimension}"]
    handlePos = @handle?["offset#{dimension}"] or 0

    @setState
      limit: sliderPos - handlePos
