Eventos / Reglas de negocio


Elemento Descripción
1.-action Nodo donde se expondrán las acciones a realizar en los eventos definidos en nuestra aplicación.
2.-create Nodo en el cual se van a describir las reglas de creación de las colecciones.
3.-insert Nodo en el cual se van a establecer las reglas y acciones de grabación en una colección.
4.-before-edit Evento ejecutado al ir a editar un objeto, aún no se ha empezado a pintar la pantalla.
4.5.-after-edit Evento ejecutado al ir a editar un objeto, una vez que ya está pintado el UI.
5.-onchange Nodo en el cual se describen los campos cuyos cambios se quieren monitorear y las acciones que se desea que se ejecuten cuando ocurran los cambios.
6.-delete Nodo en el cual se van a describir las reglas y acciones de eliminación de las colecciones.
7.-maintenance Nodo para definir mantenimientos en una aplicación.
8.-selecteditem Nodo que tiene lugar cuando se selecciona una fila de contents.
9.-onlogon Regla de negocio que tiene lugar cuando entramos en la aplicación.
10.-onlogoff Regla de negocio que tiene lugar cuando vamos a salir de la aplicación.
11.-onback Evento que atiende al botón de volver atrás que ejecuta este nodo.
12.-replica-ok Nodo que sirve para capturar el evento de réplica de alguna tabla de la base de datos.
13.-auto-selecteditem Tiene lugar cuando van pasando automáticamente los “slides” o presentaciones en un contents
14.-reglas-de-negocio Explicación de los distintos “eventos” disponibles en XOne para definir las reglas de negocio.
15.-binding Binding
16-sys-message Nodo especial de la colección “Empresas”, para recibir eventos de XOneLive.
17-notificaciones-push Nodo especial de la colección empresas que se lanza cuando se pulsa en una notificación PUSH.
18-onlong-press onlong-press.
19-oneditoraction On editor action.
20.-onmessage onMessage.
21.-onrecovery onRecovery.
22.-after-recovery-login after-recovery-login.
23.-permissions permisos de la aplicación
24.-ondate-selected onDateSelected
25.-onpage-selected onPageSelected
26.-oncelldraw onCellDraw
27.-onfocus onFocus
28.-onlostfocus onLostFocus
29.-load Nodo que salta por cada registro que se carga en un contents
30.-onTextChanged onTextChanged
31.-onConsolemessage onConsoleMessage
32.-onfocuschanged onfocusChanged
33.-onclick onclick
34.-ondatashare ondatashare
35-clipboard Manejo del clipboard o portapapeles en Apps XOne


Los eventos pueden ocurrir por una acción ejecutada por el usuario en la interface visual o por un script creado por el programador.


Acciones disponibles para su ejecución dentro de los distintos Eventos.

Elemento Descripción
Acciones de los eventos Acciones que se pueden realizar en los distintos eventos definidos más abajo


Eventos disponibles en la Plataforma XOne para la realización de las distintas reglas de negocio.

Elemento Descripción
create Evento que se ejecuta cuando se crea un objeto. Esta creación podrá ser realizada mediante las acciones propias de los framework, o por un script creado por el programador
insert Evento que realiza sus acciones cuando el usuario guarda un objeto, ya sea una inserción nueva o una actualización del objeto
before-edit Evento ejecutado al ir a editar un objeto, aún no se ha empezado a pintar la pantalla.
after-edit Evento ejecutado al ir a editar un objeto, una vez que ya está pintado el UI.
onchange Ejecución del evento al modificar el valor de un campo
delete Evento que se ejecuta cuando se va a borrar un objeto



Elemento Descripción
onback Solo Android, nodo para controlar el comportamiento del botón detrás del sistema
permissions Solo Android, nodo para controlar los permisos de la aplicación sobre el dispositivo




Elemento Descripción
maintenance Mantenimientos que se ejecutan cada cierto tiempo (Tareas Programadas), siempre en segundo plano.
onlogon Cuando se entra en la aplicación.
onlogoff Regla de negocio tiene lugar cuando vamos a salir de la aplicación.
replica-ok Nodo para capturar el evento de la réplica de alguna tabla concreta.
sys-message Nodo especial de la colección “Empresas”, para recibir eventos de XOneLive.
onpushnotificationclick Nodo especial de la colección empresas que se lanza cuando se pulsa en una notificación PUSH.
onmessage Procesamiento de los intents.
onrecovery Chequea si anteriormente se validó el usuario una vez logeados.
after-recovery-login After Recovery Login



Elemento Descripción
selecteditem Cuando seleccionamos un elemento de un contents (subgrid/detalles), el comportamiento predeterminado es lanzar el objeto seleccionado en edición, si queremos ejecutar unas acciones personalizadas cuando se seleccione un elemento del contents, podemos utilizar este evento. Unicamente disposible en colecciones que son mostradas en forma de contents.
auto-selecteditem Nodo exclusivo para el contents con viewmode=“slideview”, de forma que conforme van pasando automáticamente “las presentaciones” o slides, se va ejecutando el nodo <auto-selecteditem>, sin necesidad de que sea el usuario el que vaya pasando con el dedo.
29.-load Nodo que salta por cada registro que se carga en un contents



Los eventos se nombran todo en minúscula cuando se definen como atributos y es indiferente cuando se usa el bind()

Propiedades comunes a todos los objetos de eventos:

target Propiedad objetivo.
objItem XOneDataObject que lanzó el evento.
data Objeto javascript extra definido por el usuario al hacer bind().




onClick x: Posición en el eje X en la pantalla (pixeles)
y: Posición en el eje Y en la pantalla (pixeles)
onLongPress x: Posición en el eje X en la pantalla (pixeles)
y: Posición en el eje Y en la pantalla (pixeles)


onLongPressItem position: Índice en el content visual
onSelectedItem position: Índice en el content visual



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)



onTouch x: Posición en el eje X en la pantalla (pixeles)
y: Posición en el eje Y en la pantalla (pixeles)
translateX: ???
translateY: ???
scale: ???


onConsoleMessage (para errores del webview y evitar que se los trague)
messageLevel: Error, warning o info
message: El mensaje de error
lineNumber: Línea de script afectada, si la hay
sourceId: El archivo de script afectado, si lo hay
<prop type=”WEB” onconsolemessage="handleError(e);" .... >
 
<!-- En las funciones de javascript crear ésta: -->
function handleError(e) {
    if (e.messageLevel == "ERROR") {
        ui.msgBox("Nivel: " + e.messageLevel + "\nMensaje: " + e.message + "\nLínea: " + e.lineNumber + "\nID fuente: " + e.sourceId, "Error WebView", 0);
    }
}


onScroll dx: ???
dy: ???
scrollX: Posición scroll X respecto al frame
scrollY: Posición scroll Y respecto al frame
width: Ancho del frame actual
height: Alto del frame actual


onPushRegistered pushToken: Token push que identifica al dispositivo