{{indexmenu_n>1}} ====== NORMA DE USO DE LOS EVENTOS: ====== \\ |Cuando se utilice como atributo todo el nombre en minúsculas y sin guiones.| |Cuando se utiliza en Script, en función Binding, lowerCamelCase.| ===== Eventos ===== Los eventos se aplican a los siguientes objetos “runtime” XOne:\\ |**DataApplication** (appData)| |**DataCollection**| |**DataObject** | |**View** | ===== Binding ===== ==== Vía mapping.xml ==== function onBeforeEdit (e) { …. } function onClickOk (e) { …. } function onGroupSelected (e) { } También se puede ejecutar un nodo desde el mapping o colección. \\ ==== Via Script ==== \\ Usando la función **bind (arg1, arg2, arg3) **. \\ \\ ===Eventos de Datos=== appData.bind( eventName, eventHandler ); coll.bind( eventName, eventHandler ); obj.bind( propName, eventName, eventHandler ); ===Eventos ui=== ui.getView(obj).bind (controlName, eventName,eventHandler) function onClickOk (e) { // some stuff ... } function onBeforeEdit (e) { // some stuff ... } function prepareBinding () { var myColl = appData.getCollection(“MyColl”); var myObject = myColl.createObject(); /* ********************************** */ // Asociar eventos a nivel de COLL /* ********************************** */ myColl.bind ( “onbeforeedit”, onBeforeEdit); myColl.bind ( “ongroupselected”, onGroupSelected); /* ********************************** */ // Asociar eventos a Propiedades /* ********************************** */ var uiView = ui.getView(myObject); // uiview sería NULL si el objeto no se está mostrando uiView.bind (“BUTONOK”, “onclick”, onClickOk); uiView.bind (“BUTONOK”, “onclick”, function (e) { // some stuff ... }); // Si las propiedades a las que queremos referenciar no están en una ventana visible, tendríamos que utilizar: myColl.bind ( “onbeforeedit”, function (e) { currentView.bind (“BUTONOK”, “onclick”, onClickOk); currentView.bind (“BUTONOK”, “onclick”, function (e) { // some stuff ... }); }); appData.pushValue(myObject); } ===== Lista de Eventos Disponibles ===== ====Application (appData) System events==== |< 80% 10% 10% - >| ^ **Evento ** ^ **Código XML ** ^ **Descripción** ^ | | | En desarrollo| ====DataObject==== |< 80% 10% 10% - >| ^ **Evento ** ^ **Código XML ** ^ **Descripción** ^ | | | En desarrollo | ====DataCollection, DataObject, Eventos UI==== |< 80% 20% - >| ^ **Evento ** ^ **Descripción** ^ | | En desarrollo | ====DataObject (props) Eventos UI==== |< 80% 10% 10% - >| ^ **Evento ** ^ **Propiedad** ^ **Descripción** ^ | onclick | type="B" | Invocado cuando se pulsa un botón. | | onTextChanged | type="T" | Invocado mientras se va pulsando caracteres en el teclado.\\ Parámetros: target, objItem, newText, oldText, keyPressed | | onFocusChanged| type="T" | Invocado cuando pierde o gana foco el campo, en el parámetro isFocused. Parámetros: target, objItem, isFocused | ===Ejemplo de código de onclick=== A la hora de definir un evento, lo haremos como atributo en el XML del prop o con el método bind, **NO** utilizaremos los 2 al mismo tiempo. * Si el evento se declara como atributo en el xml, se escribe en minúsculas (onclick) * Si el evento se declara con el método bind, se escribe en lowerCamelCase (onClick) Como atributo en el XML: En el método bind: var v=ui.getView(self); //Así obtenemos una referencia a la ventana actual de la aplicación v.bind ("MAP_BTN1","onClick","collTest1",jstestClick); En algún fichero .js externo, tendremos la función javascript a la que se llama desde el atributo onclick o desde el método bind: function jstestClick(e,data) { var c; ui.msgBox ("Abre el objeto "+data,"Titulo",0); c=appData.getCollection(data); var obj=c.createObject(); c.addItem(obj); appData.pushValue(obj); } ====DataObject (props) Eventos de Datos==== |< 80% 10% 10% - >| ^ **Evento ** ^ **Propiedad** ^ **Descripción** ^ | | | En desarrollo | ====DataObject (frame) Eventos UI==== |< 80% 8% 8% 40% - >| ^ Evento ^ Nodo ^ Parámetros de Evento ^ Descripción ^ | onScroll|frame |**target**: Distancia que falta por hacer scroll horizontal.\\ **dx**: Distancia que falta por hacer scroll horizontal.\\ **dy**: Distancia que falta por hacer scroll vertical. \\ **width**: ancho del área que se hace scroll. \\ **height**: alto del área que se hace scroll. \\ **scrollX**: distancia que se ha desplazado en horizontal. \\ **scrollY**: distancia que se ha desplazado en vertical. \\ | Permite controlar los desplazamientos verticales y horizontales en los frame que tienen scroll=”true”.| **Ejemplo de código del evento onScroll en un frame:**