phaser3-rex-plugins
Version:
89 lines (72 loc) • 2.54 kB
JavaScript
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);
}
}