onTextChanged

target: Propiedad donde se produce el evento.
keyPressed: Tecla pulsada o todo el texto nuevo introducido de golpe (ej. por copiar y pegar)
oldText: Texto antes del cambio
newText: Texto ya cambiado

onTextChanged.js
function eventoOnTextChanged(evento) {
	ui.showToast("onTextChanged! target: " + evento.target + "\nObjItem: " + evento.objItem + "\nTecla pulsada: " + evento.keyPressed + "\noldText: " + evento.oldText + "\nnewText: " + evento.newText);
}
onTextLengthChanged length: Tamaño total del texto
onFocusChanged isFocused: Si tiene focus o no el target
onEditorAction (Para simplemente pulsar tecla intro o siguiente en el teclado)


Se ha implementado un nuevo método setInputType() en los type=“T” que permite aplicar una máscara definido por atributo input-type en este tipo de prop, el cual se usa para mofificar el teclado que muestra y la mejor manera de hacerlo es junto al evento onTextChanged.

Ejemplo:

<prop name="MAP_INPUT_TYPE" type="T"   visible="1" title="Type T"    labelwidth="10" width="100%" height="7%" tmargin="1" input-type="numeric" ontextchanged="onTextChanged(e);"/>
 
function onTextChanged(evento) {
    let control = ui.getView(evento.objItem)[evento.target];
    let nLength = evento.newLength;
    if (nLength > 3 && nLength < 6) {
        control.setInputType("text");
    } else if (nLength > 6 && nLength < 9) {
        control.setInputType("phone");
    } else if (nLength > 9) {
        control.setInputType("email");
    }
}