kdf
Version:
53 lines (32 loc) • 1.26 kB
text/coffeescript
KDView = require './../../core/view'
KDScrollThumb = require './scrollthumb.coffee'
module.exports = class KDScrollTrack extends KDView
constructor:(options = {}, data)->
options.type or= 'vertical'
options.cssClass = KD.utils.curry "kdscrolltrack #{options.type} out", options.cssClass
super options, data
{ } =
=
= new KDScrollThumb
cssClass : 'kdscrollthumb'
type :
track : this
click: (event) ->
return unless 'kdscrolltrack' in event.target.classList
thumbSize = .getSize yes
if is 'vertical'
scrollHeight = .getScrollHeight()
offset = event.originalEvent.layerY or event.offsetY
.scrollTo
top : (offset - thumbSize / 2) / * scrollHeight
else
scrollWidth = .getScrollWidth()
offset = event.originalEvent.layerX or event.offsetX
.scrollTo
left : (offset - thumbSize / 2) / * scrollWidth
show:->
.emit 'ScrollTrackShown',
'invisible'
hide:->
.emit 'ScrollTrackHidden',
'invisible'