neft
Version:
JavaScript. Everywhere.
102 lines (76 loc) • 2.9 kB
text/coffeescript
# Scrollable
'use strict'
utils = require 'src/utils'
signal = require 'src/signal'
assert = require 'src/assert'
{emitSignal} = signal.Emitter
# **Class** Scrollable : *Item*
module.exports = (Renderer, Impl, itemUtils) -> class Scrollable extends Renderer.Item
= 'Scrollable'
= 'Renderer.Scrollable'
## *Scrollable* Scrollable.New([*Component* component, *Object* options])
= (component, opts) ->
item = new Scrollable
itemUtils.Object.initialize item, component, opts
item.clip = true
item
constructor: ->
super()
= null
= 0
= 0
= false
= null
## *Item* Scrollable::contentItem = `null`
## *Signal* Scrollable::onContentItemChange(*Item* oldValue)
itemUtils.defineProperty
constructor: @
name: 'contentItem'
defaultValue: null
implementation: Impl.setScrollableContentItem
setter: (_super) -> (val) ->
if val?
assert.instanceOf val, Renderer.Item
val.parent = null
val._parent = this
emitSignal val, 'onParentChange', null
_super.call @, val
## *Float* Scrollable::contentX = `0`
## *Signal* Scrollable::onContentXChange(*Float* oldValue)
itemUtils.defineProperty
constructor: @
name: 'contentX'
defaultValue: 0
implementation: Impl.setScrollableContentX
developmentSetter: (val) ->
assert.isFloat val
## *Float* Scrollable::contentY = `0`
## *Signal* Scrollable::onContentYChange(*Float* oldValue)
itemUtils.defineProperty
constructor: @
name: 'contentY'
defaultValue: 0
implementation: Impl.setScrollableContentY
developmentSetter: (val) ->
assert.isFloat val
## Hidden *Boolean* Scrollable::snap = `false`
## Hidden *Signal* Scrollable::onSnapChange(*Boolean* oldValue)
itemUtils.defineProperty
constructor: @
name: 'snap'
defaultValue: false
implementation: Impl.setScrollableSnap
developmentSetter: (val) ->
assert.isBoolean val
## Hidden *Item* Scrollable::snapItem
## Hidden *Signal* Scrollable::onSnapItemChange(*Item* oldValue)
itemUtils.defineProperty
constructor: @
name: 'snapItem'
defaultValue: null
implementation: Impl.setScrollableSnapItem
developmentSetter: (val=null) ->
if val?
assert.instanceOf val, Renderer.Item
# Glossary
- [Scrollable](#class-scrollable)