neft
Version:
Universal Platform
44 lines (30 loc) • 1.06 kB
text/coffeescript
'use strict'
module.exports = (impl) ->
{Item} = impl.Types
{round} = Math
# TODO: browsers makes borders always visible even
# if the size is less than border width
DATA =
innerElem: null
innerElemStyle: null
div = do ->
div = document.createElement 'div'
div.setAttribute 'class', 'rect'
div
DATA: DATA
createData: impl.utils.createDataCloner 'Item', DATA
create: (data) ->
Item.create.call @, data
innerElem = data.innerElem = div.cloneNode(false)
impl.utils.prependElement data.elem, innerElem
data.innerElemStyle = innerElem.style
setRectangleColor: (val) ->
.innerElemStyle.backgroundColor = val
setRectangleRadius: (val) ->
val = round val
.innerElemStyle.borderRadius = "#{val}px"
setRectangleBorderColor: (val) ->
.innerElemStyle.borderColor = val
setRectangleBorderWidth: (val) ->
val = round val
.innerElemStyle.borderWidth = "#{val}px"