{{indexmenu_n>1}} ===== Nodo GROUP ===== \\ Los Group son las %%pestañas%% que nos aparecerán cuando creamos un nuevo objeto o editamos un objeto existente de la colección, a cada grupo se le asigna un ID, que es utilizado para definir en los campos a que pestaña pertenece dicho campo. Si no se indica grupo para una propiedad, la capa de datos siempre hará pertenecer las propiedades al primer grupo definido en la colección. |< 80% 33% 33% 33% >| | {{:wiki:2.-desarrollo-app:2.3.-codigo:a.-estructura-xml:3.-nodo-group:screenshot_20190621-104616.png?240&nolink}} | {{:wiki:2.-desarrollo-app:2.3.-codigo:a.-estructura-xml:3.-nodo-group:screenshot_20190621-104651.png?240&nolink}} | {{:wiki:2.-desarrollo-app:2.3.-codigo:a.-estructura-xml:3.-nodo-group:screenshot_20200226-102338.png?230&nolink}} | ====Ejemplo de definición de groups==== \\ \\ El nodo GROUP a nivel visual son las pestañas de la edición de un objeto. \\ \\ ====Atributos del nodo GROUP==== |< 90% 18% 82% >| ^ ATRIBUTO ^ DESCRIPCION ^ | **name** | Caption o literal que se verá en la pestaña. | | **id** | Valor %%numérico%% que va a identificar %%de forma única%% a ese grupo/pestaña. | | **disableedit** | %%Si se cumple la condición%%, deshabilita la edición de todas las propiedades/campos de la pestaña. IMPORTANTE, no dejar espacios entre el campo y el valor de la condición, por ejemplo: "ESTADO=1" | | **disablevisible** | Similar al anterior, pero en este caso, %%Si se cumple la condición%%, la pestaña ni siquiera se muestra. Al igual que ocurre con el disableedit, NO dejar espacios entre el campo y el valor de la condición. | | **imgbk="fondo.png"** | Imagen a mostrar de fondo en la pestaña. Cuando convive el atributo imgbk con bgcolor, prevalece el valor de imgbk. | | **bgcolor="#FFFFFF"** | Color de fondo de la pestaña en RGB. | | **tab-width="50%"** | Permite definir el ancho de una pestaña. Por defecto toma el valor "33%". | | **fixed="true|false"** | Pestaña fija que se muestra siempre, aunque navegues por el resto de pestañas. | | **height="10%"** | Solo se utiliza en grupos fixed=”true”.Indica el alto de la ventana a mostrar. | | **width="100%"** | Solo se utiliza en grupos fixed=”true”.Indica el ancho de la ventana a mostrar. | | **orientation="top|bottom"** | Solo se utiliza en grupos fixed=”true”.Indica donde se va a mostrar el grupo bloqueado. | | **animation-in** | Animación que se produce cuando se entra en el grupo. | | **animation-out** | Animación que se produce cuando se sale del grupo. | Todas las propiedades donde se ponga group="Valor" pertenecerán a ese grupo.\\ \\ **Ejemplo:** \\ Para deshabilitar todas las propiedades de una pestaña, a nivel de GROUP, podemos poner una regla que se cumpla siempre.\\ Por ejemplo: **** ====Atributos a nivel de COLL==== |< 90% 22% 78% >| ^ ATRIBUTO ^ DESCRIPCIÓN ^ | **notab=”true|false”** | Por defecto es “false”. Si se pone a “true”, oculta todas las pestañas de la edición. Ésto no quiere decir que no podamos ir "de una pestaña a otra" con botones o haciendo "swipe" con el dedo, simplemente es que el usuario no las ve en pantalla y no puede pulsarlas directamente. | | **group-swipe="true|false"** | Por defecto a true, nos permite pasar de una pestaña a otra pasando con el dedo como si de una hoja de papel se tratara. Si lo ponemos a false, y se combina con notab="true", el usuario ya no podrá cambiar de una pestaña a otra, de forma que el programador tendrá que hacer botones que muestren una pestaña u otra. | | **tab-orientation=”top|bottom”** | Indica donde se van a mostrar las pestañas en pantalla. Arriba o abajo. Por defecto arriba. | | **group-theme="material"** | Es un nuevo tema en los tabs de los grupos. Se activa con el atributo a nivel de colección de **group-theme="material"**. \\ Puede ser de dos tipos **fijo ** o **escroleable**:\\ - **Fijo** significa que pondrá todos los tabs en lo ancho de la pantalla para que no se tenga que hacer scroll con el atributo. Mediante el atributo tab-mode="fixed".\\ - **Escroleable** significa que dibujará los tabs según lo que ocupe su título, uno al lado del otro y si no caben en pantalla se habilitará el scroll. Mediante el atributo tab-mode="scrollable". | Si tenemos varios **GROUP** se mostrarán en pantalla por orden de aparición en el código, **NO** por su ID. ==== GRUPO FIJO ==== Se ha definido una forma de dejar un grupo fijo (pestaña), fija en todas las pantallas de una colección, de forma que lo que cambia cuando cambiamos a otra "pantalla" sea únicamente el contenido que no es "fijo".\\ \\ Por el momento solamente es posible poner grupos fijos en la parte de arriba y de abajo. Útil cuando queremos dejar una cabecera de navegación ó un pie de opciones en pantalla.\\ \\ La definición del grupo fijo se realiza con los atributos a nivel de GROUP: **fixed="true"** y **orientation="top|bottom"**.\\ \\ Una vez definido el grupo fijo con un tamaño, el espacio restante pasará a tomarse como el 100% de la pantalla, es decir, NO se debe contar con lo que ocupa el grupo fijo.\\ \\ ==== GRUPO DESPLEGABLE. DRAWER. ==== Un drawer, es un grupo de controles que es invisible hasta que se saca arrastrando con el dedo desde uno de los bordes laterales de la pantalla.\\ \\ El grupo drawer se puede desplegar mientras se esté en cualquier grupo de la colección.\\ \\ Cuando el drawer está desplegado, a lo que hay detrás se le aplica una capa semitransparente que oscurece el fondo. Al hacer click sobre la capa semitransparente se oculta el drawer.\\ \\ |< 80% 33% 33% 33% >| | {{:wiki:2.-desarrollo-app:2.3.-codigo:a.-estructura-xml:3.-nodo-group:gamesimag.png?260&nolink}} | {{:wiki:2.-desarrollo-app:2.3.-codigo:a.-estructura-xml:3.-nodo-group:screenshot_20200226-110230.png?260&nolink}} | \\ \\ Para que un grupo se comporte como DRAWER se tiene que definir el atributo **drawer-orientation**="left o right" en la declaración del grupo, este atributo indica que el grupo es un drawer y desde donde se despliega. \\ === Atributos XML === \\ ^ ATRIBUTOS ^ DESCRIPCIÓN ^ | drawer-orientation | Valores: **left** o **right**. Indica que el grupo es un drawer y desde donde se despliega. | | width | Ancho en píxeles o porcentaje del grupo desplegable. | | height| Alto en píxeles o porcentaje del grupo desplegable. | \\ **Declaración** \\ \\ === Métodos Drawer === \\ ^ MÉTODO ^ DESCRIPCIÓN ^ | ui.showGroup( "param1" ,“param2”, param3 ,“param4”,param5 ) | param1: (cadena), Grupo que queremos mostrar. \\ param2: (cadena), animación de entrada. \\ param3: (entero), duración de entrada. \\ param4: (cadena), animación de salida. \\ param5: (entero), duración de salida. | | ui.hideGroup(idGrupo) | Como parámetro hay que indicarle el grupo que queremos ocultar. | | ui.toggleGroup(grupo) | Como parámetro hay que indicarle el grupo que queremos mostrar/ocultar. Actúa como un interruptor, si el grupo está visible lo oculta y si está oculto, lo despliega. | | ui.lockGroup(idGrupo,close) | Como parámetros hay que indicarle el grupo que queremos bloquear y en qué estado lo queremos bloquear, visible u oculto. Este segundo parámetro es close(booleano) de forma que **true** lo bloqueará cerrado u oculto y **false** lo bloqueará desplegado ó visible. | | ui.unlockGroup(idGrupo) | Como parámetro hay que indicarle el grupo que queremos desbloquear. | \\ function irGrupo(grupo){ ui.showGroup(grupo,'##RIGHTN##',1000,'##RIGHTN_OUT##',200); } function ocultarGrupo(grupo){ ui.hideGroup(grupo); } function MostrarGrupo(grupo){ ui.toggleGroup(grupo); } \\ **Ejemplo de uso:**