✒️SAP BTPFIORI / El diseño con el layout flexible column Por Roberto Santucho

Selector Alummnos / Empresas

SAP BTPFIORI El diseño con el layout flexible column

SAP BTPFIORI El diseño con el layout flexible column

1. LOS CONTROLES DE DISENO

  • Permiten organizar los controles de la UI en la vista
  • HAY 2 NOMBRES PRINCIPALES QUE CONTIENEN CONTROLES DE DISENO
    • sap.ui.layout
    • sap.ui.commons > OBSOLETO
  • sap.m.FlexBox crea un contenedor para un diseno de caja flexible.
  • beneficio: es responsibe, en tablet muestra mas de una columna mientras que en smartphone muestra solo una
  • podemos disenar cualquier de estos layout
    • OneColumn
    • TwoColumnsBeginExpanded
    • TwoColumnsMidExpanded
    • MidColumnFullScreen
    • ThreeColumnsMidExpanded
    • ThreeColumnsEndExpanded
    • ThreeColumnsMidExpandedEndHidden
    • ThreeColumnsBeginExpandedEndHidden
    • EndColumnFullScreen

3. EL DISENO DE UNA VISTA USANDO EL CONTROL FLEXIBLE COLUMN

<f:FlexibleColumnLayout id="fcl" ... layout="OneColumn">

<f:beginColumnPages>

<mvc:XMLView id="masterProductosView" viewName="ns.controles.view.MasterProductos"></mvc:XMLView>

</f:beginColumnPages>

<f:midColumnPages>

<mvc:XMLView id="detailProductosView" viewName="ns.controles.view.ProductoDetails"></mvc:XMLView>

</f:midColumnPages>

<f:endColumnPages>

<Page id="_IDGenPage333"> </Page>

</f:endColumnPages>

</f:FlexibleColumnLayout >

4. LA LOGICA PARA MOSTRAR LA VISTA DE DETALLES

Al hacer click en la primer columna, debe mostrarse la segunda columna

  • En la vista MasterProductos: definir dentro de la lista de productos QUE EL TIPO ES NAVEGACION, y el metodo que se ejecuta al hacer click sobre la columna, en este caso showProducto

<items>

<ColumnListItem id. .. type="Navigation" press=""showProducto">

<cells>

<Label id/.. >

</cells>

</ColumnListItem>

</items>

4.1 EL EventBus

Para comunicacion entre controles, contiene 2 metodos:

  • otro para SUSCRIBIRSE
  • uno para PUBLICARLO

Actualmente hay 2 APIs que devuelven su propia instancia de EventBus

  • de forma global: sap.ui.getCore().getEventBus();
  • por el componente: this.getOwnerComponent().getEventBus(); << RECOMENDADO

CON EL EVENTBUS PODEMOS DISPARAR A TRAVES DE PUBLISH() Y ESCUCHAR A TRAVES DE SUBSCRIBE() NUESTROS PROPIOS EVENTOS PERSONALIZADOS LIBREMENTE.

1) EL EN CONTROLADOR DE LA VISTA MAIN VAMOS A REALIZAR LA SUSCRIPCION AL EVENTO PARA MOSTRAR LOS DETALES DEL PRODUCTO CON EL METODO SUBSCRIBE DE LA INSTANCIA DEL EVENTBUS

FIRMA DE LA FUNCION SUBSCRIBE: bus.subscribe("canal", "evento", "metodo a ejecutar", this)

2) En el controlador de la vista se hace la PUBLICACION del evento CUANDO EL USUARIO HACE CLICK EN UNA FILA DE LA TABLA, y se ejecuta el "metodo a ejecutar".

TENEMOS QUE tener EL MISMO CANAL Y NOMBRE DE EVENTO QUE EN LA SUBSCRIPCION, tambien le pasamos el path, que en ese momento es el objeto del item seleccionado.

IMPORTANTE, CANCELAR LA SUSCRIPCION EN LA FUNCION onExit SI ESTAMOS USANDO FL, porque al quedar abierta, generara errores al salir y volver a entrar a la app.

5. EL CONTROL PARA AGREGAR PESTANAS

sap.m.IconTabBar

<mvc:View ..

>

<m:page id .. title ... >

<m: items>

<m:IconTabFilter id=".." text="{i18n>InformacionGeneral}" >

//contenido primer pestana

</m:IconTabFilter>

<m:IconTabFilter id=".." text="{i18n>Medidas}" >

//contenido segunda pestana

</m:IconTabFilter>

<m: items>

</m:Page>

</mvc:View>

6. LA VISUALIZACION DE UN CONTROL DE FORMA DINAMICA

por ejemplo para ocultar una de las pestanas, agregamos un boton "ocultar pestana":

  • Definimos un modelo que se va a encargar de hacer visible o no el control dependiendo del valor que tenga seteado que esta asociado a la propiedad visible del control. COMO OBTENER EL MODELO DE LA VISTA POR CODIGO:
    • var oJSONModelConfig = new sap.ui.model.json,JSONModel ({

visibleTabMedidas: true,

visibleTabInfGeneral: true,

visiblebtnShowTabMedidas: false,

visiblebtnHideTabMedidas: true,

});

this.getView().setModel(oJSONModelConfig, "jsonModelConfig");

  • para setear la propiedad visible de un control PODEMOS HACERLO A TRAVES DEL BINDING DEL MODELO A DICHA PROPIEDAD. EJEMPLO DE COMO MOSTRAR U OCULTAR UN BOTON "Ocultar pestana Medidas" dependiendo si la pestana esta visible o no.

<m:Button id="btnShowTabMedidas"

text="{i18n>shoTabMedidas}"

visible="{jsonModelConfig>/visiblebtnShowTabMedidas}"

press="onShowTabMedidas"/>

<m:Button id="btnHideTabMedidas"

text="{i18n>shoTabMedidas}"

visible="{jsonModelConfig>/visiblebtnHideTabMedidas}"

press="onHideTabMedidas"/>

  • ya dentro de la pestana, le decimos donde esta el atributo visible para poder ocularla

<m:IconTabFilter

id=",,"

text=

visible="{jsonModelConfig>,visi}"

.....

  • Por ultimo, el codigo del metodo: PODMEOS OBTENER LOS DATOS DEL MODELO CON getModel() PARA PODER MODIFICAR EL VALOR DE LAS PROPIEDADES visible con el metodo setProperty() :

onShowTabMedidas: function () {

var oJSONModelConfig = this.getView().getModel("jsonModelConfig");

oJSONModelConfig.setProperty("/visibleTabMedidas", true);

oJSONModelConfig.setProperty("/visiblebtnShowTabMedidas", false);

oJSONModelConfig.setProperty("/visiblebtnHideTabMedidas", true);

},

onShowTabMedidas: function () {

var oJSONModelConfig = this.getView().getModel("jsonModelConfig");

oJSONModelConfig.setProperty("/visibleTabMedidas", false);

oJSONModelConfig.setProperty("/visiblebtnShowTabMedidas", true);

oJSONModelConfig.setProperty("/visiblebtnHideTabMedidas", false);

},

7. EL FORMATEO DE LOS CAMPOS

  • formateadores: funciones de JavaScript del lado del cliente
  • PARA PODER REALIZAR EL FORMATEO SE PUEDE CREAR UN ARCHIV0 CON LA FUNCION PARA REALIZAR EL FORMATEO DE LA FECHA Y EN EL BINDING SE ASIGNA LA FUNCION FORMATEADORA A LA PROPIEDAD formatter :

<expandedHeading>

<m:Title id="xx"

text = "{path : 'products_json>DateofSale', formatter:'.Formatter.DateFormat'}"

wrapping=....

/>

</expandedHeading>

DURANTE EL TIEMPO DE EJECUCION, SAPUI5 PASARA EL VALOR DEL MODELO PARA QUE FUNCIONE COMO ARGUMENTO. LA FUNCION AHORA PUEDE ACCEDER Y FORMATEAR EL VALOR DADO.

En el ProductoDetails.controller.js

sap.ui.define([

"sap/ui/core/mvc/Controller",

"ns/controles/utils/Formatter"

], function (Controller , Formatter) {

return Controler.externd("ns.controles.controller.ProductoDetails", {

Formatter:Formatter,


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Roberto Hernan Santucho, en su ámbito de estudios para la Carrera Consultor SAP BTP Fiori.

Roberto Hernan Santucho

Profesión: Ingeniero en Sistemas - Mexico - Legajo: VA51C

✒️Autor de: 43 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Roberto Santucho

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El diseño con el layout flexible column" de la mano de nuestros alumnos.

SAP Senior

Controles de diseño Con CSS se pueden cambiar lo estilos Los diseños sap.m están en el espacio de nombre sap.ui.layout Layout Flexible Column - tener una página y dividirla en 3 columnas Escenario maestro - detalles Escenario detalles - detalles SAP Fiori 3.0 - base para la construcción de apps Beneficios Es responsiva Adecuado para desktop como para dispositivos mobiles Layout que se pueden diseñar OneColumn TwoColumnsBeginExpanded TwoColumnsMidExpanded MidColumnFi¿ullScreen ThreeColumnsMidExpanded ThreeColumnsEndExpanded ThreeColumnsMidExpandedEndHidden ThreeColumnsBeginExpandedEndHidden EndColumnFullScreen Crear una vista con un control...

Acceder a esta publicación

Creado y Compartido por: Roman Leandro Garrido Lagos / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

El diseño con el Layout Flexible Column 1. Introducción El Flexible Column Layout (FCL) es uno de los diseños más importantes dentro de SAPUI5 y SAP Fiori. Fue introducido para mejorar la usabilidad y adaptabilidad de las aplicaciones que requieren mostrar diferentes niveles de información en una misma pantalla, permitiendo que el usuario visualice varias áreas o “columnas” simultáneamente. El objetivo principal del FCL es ofrecer una navegación fluida entre objetos relacionados sin necesidad de abrir y cerrar vistas, optimizando así la experiencia de usuario especialmente en dispositivos de escritorio y tabletas. 2. Concepto y funcionamiento El Flexible Column Layout...

Acceder a esta publicación

Creado y Compartido por: Jose Rodrigo Baz Suarez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

El diseño con el layout flexible column: es un control que muestra varios floorplans (son plantillas de diseño estándar que definen la estructura visual y funcional de una aplicación Fiori.) en una sola pagina. sap.ui.layout: Aqui estan los diseños de sap.m sap.ui.commons (esta obsoleto) sap.m.FlexBox crea el conteneder para el diseño. No es compatibe con Internet explorer 9 Para definir los estilos usamos el archivo CSS Para mostrar la vista de detalles hay que definir dentro de la lista el tipo de navegacion y el metodo a ejecutar. EventBus: es un mecanismo que permite la comunicación entre diferentes partes de una aplicación, especialmente entre controles, vistas...

Acceder a esta publicación

Creado y Compartido por: Claudia Bibiana Monsalve Lopez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

1. LOS CONTROLES DE DISENO Permiten organizar los controles de la UI en la vista HAY 2 NOMBRES PRINCIPALES QUE CONTIENEN CONTROLES DE DISENO sap.ui.layout sap.ui.commons > OBSOLETO sap.m.FlexBox crea un contenedor para un diseno de caja flexible. beneficio: es responsibe, en tablet muestra mas de una columna mientras que en smartphone muestra solo una podemos disenar cualquier de estos layout OneColumn TwoColumnsBeginExpanded TwoColumnsMidExpanded MidColumnFullScreen ThreeColumnsMidExpanded ThreeColumnsEndExpanded ThreeColumnsMidExpandedEndHidden ThreeColumnsBeginExpandedEndHidden EndColumnFullScreen ...

Acceder a esta publicación

Creado y Compartido por: Roberto Hernan Santucho

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


El diseño flexible column layout fue diseñado para representar un escenario maestro detalle, dos columnas o un escenario maestro detalle detalle, en una Tablet solo de muestran dos columnas a la vez, las opciones son para mostrar la primera y la segunda columna o sola la tercera columna. En un teléfono inteligente solo se muestra solo una columna a la vez Podrian haber muchas razones por el cual deseamos la comunicación entre controladores, para lo cual en SAP GUI 5 podemos usar el EventBus, el EventBus tiene dos funciones para establecer una comunicación entre los controladores una función para suscribir el evento y otra para publicarlo.

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


1. Design Controls in SAPUI5 SAPUI5 offers a variety of design controls to effectively organize and structure user interface elements. These controls are primarily found in namespaces sap.ui.layout and sap.ui.commons, with sap.ui.layout recommended due to the obsolescence of sap.ui.commons. <mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:l="sap.ui.layout"> <FlexBox justifyContent="SpaceAround"> <Text text="Element 1" /> <Text text="Element 2" /> <Text text="Element 3" /> </FlexBox> </mvc:View> 2. Flexible Column Layout Flexible Column Layout is essential for designing responsive and adaptive interfaces...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Los controles de diseño SAPUI5 ofrece numerosos controles de diseño para organizar la interfaz de usuario (UI). Los controles de diseño se encuentran en los espacios de nombres "sap.ui.layout" y "sap.ui.commons". Se recomienda utilizar el espacio de nombres "sap.ui.layout", ya que "sap.ui.commons" está obsoleto. El control "sap.m.FlexBox" se utiliza como contenedor para un diseño de caja flexible, pero no es compatible con Internet Explorer 9. Para definir estilos en la UI, se puede utilizar archivos CSS (Cascading Style Sheet). CSS permite cambiar los estilos y definir la apariencia de los controles. Antes de agregar un diseño a la vista XML, es necesario...

Acceder a esta publicación

Creado y Compartido por: Nilson Parra Martinez / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Actualmente, hay dos API que devuelven su propia instancia de EventBus: De forma global: sap.ui.getCore().getEventBus(); Por el componente: this.getOwnerComponent().getEventBus(); Para cada tipo, podemos definir los siguientes parámetros en el constructor: Las opciones de formato: las opciones de formato definen cómo se formatea y se muestra un valor en la interfaz de usuario. Las restricciones (opcional): las restricciones definen cómo un valor de entrada ingresado en la interfaz de usuario debe verse, el valor se validará con las restricciones.

Acceder a esta publicación

Creado y Compartido por: Henry Nelson Loja Duchimaza / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

floorplan plano del suelo sap.ui.layout sap.ui.commons sap.m.FlexBox CSS cascading style sheet oneColumn TwoColumnsBeginExpanded TwoColumnsMidExpanded MidColumnFullScreen TherrColumnsMidExpanded TherrColumnsEndExpanded ThreeColumnsMidExpandedEndHiden ThreeColumnBeginExpandedEndHiden EndColumnFullScreen EventBus su uso intensivo deriva en un código difícil de leer. Es difícil mantener una visión de todos los editores y suscriptores de eventos. publish() Subscribe() cancelar la suscripción del eventbus cuando se usa en fiori launchpad onExit iconTabFilter getModel SetProperty función formatValue función parseValue función validateValue

Acceder a esta publicación

Creado y Compartido por: Enrique Gomez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Los Controles SAPUI5 Entre los controles disponibles via SAPUI5 existen dos espacios de nombres principales que contienen controles diseño sap.ui.layout y sap.ui.commons. Hay que usar sap.ui.layout. sap.ui.commnos está obseleto. Se usan archivo CSS que son las siglas de Cascading Style Sheet para definir estilos. los estilos y cambian la visualizacion de los controles en la UI. Antes de que podamos agregar un diseño a la vista XML, la vista debe tener un referencia a cualquier espacio de nombre XML que pretendamos utilizar. Los diseños de sap.m están en el espacio de nombres, sap.ui.layout. El control sap.m.FlexBox permite generar u contenedor de diseño de caja flexible. Este control se encuentra...

Acceder a esta publicación

Creado y Compartido por: Cristian Cash

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!