UNPKG

phaser3-rex-plugins

Version:
89 lines (72 loc) 2.54 kB
import CreateInputTextArea from './utils/CreateInputTextArea.js'; var SetInputTextReadOnly = function (gameObject, readOnly, force) { if (readOnly === undefined) { readOnly = true; } if (force === undefined) { force = false; } var inputText = gameObject.childrenMap.inputText; if (force) { gameObject.inputTextReadOnly = readOnly; inputText.setReadOnly(readOnly); } else { if (!gameObject.inputTextReadOnly) { inputText.setReadOnly(readOnly); } } } export default { name: 'TextAreaInput', accept(config) { if (config.hasOwnProperty('view')) { return (config.view === 'textarea') } return false; }, // Callback after `constructor()` build(gameObject, config, inputRowStyle, styles) { var scene = gameObject.scene; this.type = 'rexTweaker.TextAreaInput'; var inputTextAreaConfig = inputRowStyle.inputTextArea; if (inputTextAreaConfig === undefined) { inputTextAreaConfig = {}; } if (!inputTextAreaConfig.hasOwnProperty('text')) { inputTextAreaConfig.text = inputRowStyle.inputText; } if (!inputTextAreaConfig.hasOwnProperty('slider')) { inputTextAreaConfig.slider = inputRowStyle.slider; } var inputText = CreateInputTextArea(scene, inputTextAreaConfig); gameObject.add( inputText, { proportion: 1, expand: true, key: 'inputText' } ) inputText.on('close', function () { gameObject.setValue(inputText.value); }); }, // Callback inside `setup()` setup(gameObject, config, setDefaults) { if (setDefaults || config.hasOwnProperty('inputTextReadOnly')) { SetInputTextReadOnly(gameObject, !!config.inputTextReadOnly); } }, // Callback inside `setValue()` displayValue(gameObject, value) { var inputText = gameObject.childrenMap.inputText; inputText.setText(gameObject.getFotmatText(value)); }, // Callback inside `setBindingTarget()` onBindTarget(gameObject) { var inputText = gameObject.childrenMap.inputText; inputText.scrollToTop(); }, setReadOnly(gameObject, readOnly) { if (readOnly === undefined) { readOnly = true; } SetInputTextReadOnly(gameObject, readOnly); } }