neft
Version:
JavaScript. Everywhere.
96 lines (75 loc) • 2.49 kB
text/coffeescript
'use strict'
module.exports = (impl) ->
{bridge} = impl
{outActions, pushAction, pushItem, pushBoolean, pushInteger, pushFloat, pushString} = bridge
colorUtils = require '../../../utils/color'
bridge.listen bridge.inActions.TEXT_INPUT_TEXT, (reader) ->
textInput = bridge.getItemFromReader reader
text = reader.getString()
oldValue = textInput.text
textInput._text = text
textInput.onTextChange.emit oldValue
return
DATA = {}
DATA: DATA
createData: impl.utils.createDataCloner 'Item', DATA
create: (data) ->
if data.id is 0
pushAction outActions.CREATE_TEXT_INPUT
data.id = bridge.getId this
impl.Types.Item.create.call @, data
setTextInputText: (val) ->
pushAction outActions.SET_TEXT_INPUT_TEXT
pushItem @
pushString val
return
setTextInputColor: (val) ->
pushAction outActions.SET_TEXT_INPUT_COLOR
pushItem @
pushInteger colorUtils.toRGBAHex(val, 'black')
return
setTextInputLineHeight: (val) ->
pushAction outActions.SET_TEXT_INPUT_LINE_HEIGHT
pushItem @
pushFloat val
return
setTextInputMultiLine: (val) ->
pushAction outActions.SET_TEXT_INPUT_MULTI_LINE
pushItem @
pushBoolean val
return
setTextInputEchoMode: (val) ->
pushAction outActions.SET_TEXT_INPUT_ECHO_MODE
pushItem @
pushString val
return
setTextInputFontFamily: (val) ->
pushAction outActions.SET_TEXT_INPUT_FONT_FAMILY
pushItem @
pushString val
return
setTextInputFontPixelSize: (val) ->
pushAction outActions.SET_TEXT_FONT_INPUT_PIXEL_SIZE
pushItem @
pushFloat val
return
setTextInputFontWordSpacing: (val) ->
pushAction outActions.SET_TEXT_FONT_INPUT_WORD_SPACING
pushItem @
pushFloat val
return
setTextInputFontLetterSpacing: (val) ->
pushAction outActions.SET_TEXT_FONT_INPUT_LETTER_SPACING
pushItem @
pushFloat val
return
setTextInputAlignmentHorizontal: (val) ->
pushAction outActions.SET_TEXT_INPUT_ALIGNMENT_HORIZONTAL
pushItem @
pushString val
return
setTextInputAlignmentVertical: (val) ->
pushAction outActions.SET_TEXT_INPUT_ALIGNMENT_VERTICAL
pushItem @
pushString val
return