Flexible Column Layout
O flexible column layout é um layout de página do SAP Fiori que mostra até três níveis de informações relacionadas lado a lado, normalmente uma lista, um objeto e um subobjeto, em colunas cuja largura se adapta à tela. O flexible column layout é implementado pelo controle SAPUI5 sap.f.FlexibleColumnLayout e pode ser ativado em apps SAP Fiori elements.
Resumo
- Tipo
- Layout de página (padrão lista-detalhe-detalhe)
- Camada
- Aplicações de UI
- Controle
- sap.f.FlexibleColumnLayout, com sap.f.routing.Router
- Colunas
- Begin, Mid e End; até três no desktop, duas no tablet, uma no celular
- No SAP Fiori elements
- Configuração opcional para apps de list report e object page (OData V2 e V4)
- Aplica-se a
- SAP S/4HANA (todas as opções de implantação), SAP BTP
Camada: Aplicações de UIOnde se encaixa ▾
Camada: Aplicações de UI
Abrir o mapa de arquitetura →Quando usar o flexible column layout?
O flexible column layout é adequado quando os usuários percorrem uma hierarquia e precisam manter o nível acima à vista: uma lista de requisições de compra, uma requisição e, depois, um de seus itens. Os usuários escolhem na lista à esquerda e leem o detalhe ao lado.
Critérios de decisão:
- Os usuários alternam com frequência entre itens da mesma lista, em telas largas: o flexible column layout economiza navegação.
- Os usuários passam muito tempo em um único objeto complexo com tabelas largas: páginas em tela cheia dão espaço ao objeto.
- A maioria dos usuários trabalha no celular: ali cabe apenas uma coluna, então o benefício é pequeno.
Exemplo: um comprador da Alder Manufacturing mantém a lista de requisições abertas na primeira coluna, confere a requisição da Cedar Office Supply na segunda e abre um item na terceira, tudo sem perder a lista. O flexible column layout é a escolha certa quando o contexto entre os níveis importa mais do que a largura de qualquer página isolada.
Como funciona o flexible column layout?
O layout tem três colunas, chamadas Begin, Mid e End, que contêm a lista, o detalhe e o subdetalhe. Um valor de layout decide quais colunas ficam visíveis e qual a largura de cada uma. O fluxo recomendado pela SAP, que a classe auxiliar semântica (semantic helper) codifica, funciona assim:
- O app começa com uma coluna, geralmente a lista.
- Escolher um item abre seu detalhe na coluna Mid, com os botões Full Screen e Close.
- Escolher um item no detalhe abre o terceiro nível na coluna End.
- Um quarto nível, ou mais profundo, substitui a coluna End em tela cheia.
Os usuários podem arrastar os separadores de coluna para redimensionar colunas ou alternar layouts, e o controle memoriza as larguras escolhidas. O controle também se adapta sozinho ao dispositivo: três colunas no desktop, no máximo duas no tablet, onde a primeira coluna é acessada arrastando, e uma no celular. O flexible column layout é, portanto, um contêiner responsivo para níveis de navegação, e não um floorplan com conteúdo próprio.
Como ativar o flexible column layout no SAP Fiori elements?
O SAP Fiori tools oferece uma chave de ativação no page map; as configurações subjacentes diferem conforme a versão do OData:
| Aspecto | OData V4 | OData V2 |
|---|---|---|
| Onde | Root view sap.fe.core.rootView.Fcl e classe de router sap.f.routing.Router no manifest.json | Objeto flexibleColumnLayout nas configurações de sap.ui.generic.app |
| Layouts padrão | defaultTwoColumnLayoutType, defaultThreeColumnLayoutType | As mesmas duas propriedades |
| Coluna por página | Cada route target indica beginColumnPages, midColumnPages ou endColumnPages | Segue a hierarquia de páginas; um layout padrão no nível da página pode alterá-la |
O list report fica na primeira coluna e as object pages preenchem as seguintes. No OData V2, uma página pode sobrescrever o padrão com seu próprio layout, por exemplo movendo a object page principal para a primeira coluna e seus itens para o lado. A configuração pertence ao app, por isso se comporta da mesma forma no SAP S/4HANA e no SAP BTP. O SAP Fiori elements salva as larguras das colunas por app e por tipo de dispositivo. Há dois limites: a analytical list page suporta apenas o layout de duas colunas com a primeira coluna expandida, e a overview page não usa o flexible column layout. Ativar o flexible column layout muda a navegação, não as anotações.
Quais são os erros comuns com o flexible column layout?
- Tabelas largas em colunas estreitas. Uma tabela projetada para largura total fica ilegível na coluna Mid; reduza as colunas ou use layouts de pop-in.
- Prometer três colunas em todos os dispositivos. Tablets mostram duas e celulares uma, então os designs precisam funcionar em qualquer largura.
- Posição inesperada das ações. Em apps sem draft com criação, atualização e exclusão, apenas a última coluna mostra Edit e Delete.
- Objetos sem relação lado a lado. O layout expressa uma hierarquia pai-filho; dois apps sem relação não pertencem a ele.
Quando um app SAP Fiori elements ignora a configuração e continua abrindo em tela cheia, verifique nesta ordem: a root view e a classe de router (OData V4), a dependência da biblioteca sap.f, a controlAggregation de cada target e qualquer layout padrão no nível da página. A maioria dos problemas de flexible column layout são problemas de configuração de roteamento, e não bugs de renderização.
Flexible column layout vs. list report e object page em tela cheia vs. split screen: qual é a diferença?
| Flexible column layout | List report e object page em tela cheia | Split screen (sap.m.SplitContainer) | |
|---|---|---|---|
| Níveis visíveis ao mesmo tempo | Até três | Uma página por vez | Dois: master e detail |
| Largura das colunas | Variável, redimensionável pelo usuário | Não se aplica | Áreas master e detail |
| Uso típico | Navegar entre itens mantendo a lista à vista | Trabalho concentrado em um objeto complexo | Apps master-detail de dois níveis |
| No SAP Fiori elements | Configuração de layout opcional | Navegação padrão | Construído como SAPUI5 freestyle, por exemplo a partir do template master-detail |
O flexible column layout estende a ideia master-detail de dois painéis para três colunas redimensionáveis, enquanto a navegação em tela cheia dá a tela inteira a cada página.
Perguntas frequentes
O que significa FCL no SAP Fiori?
FCL é a sigla de flexible column layout, o layout do SAP Fiori que mostra uma lista, um detalhe e um subdetalhe lado a lado em até três colunas. Ele é implementado pelo controle SAPUI5 sap.f.FlexibleColumnLayout e está disponível como opção no SAP Fiori elements.
Quantas colunas o flexible column layout pode mostrar?
Até três: Begin, Mid e End. O flexible column layout se adapta sozinho ao dispositivo, mostrando três colunas no desktop, no máximo duas no tablet e apenas uma no celular. Níveis mais profundos abrem na coluna End em tela cheia.
Dá para usar o flexible column layout com uma analytical list page ou uma overview page?
Em parte. Uma analytical list page suporta o flexible column layout apenas com o layout de duas colunas em que a primeira coluna fica expandida. Para a overview page, a SAP afirma que o flexible column layout não é relevante, então as overview pages mantêm seu próprio layout de cards.
Apps SAPUI5 freestyle podem usar o flexible column layout?
Sim. Apps freestyle colocam o controle sap.f.FlexibleColumnLayout na root view, usam o sap.f.routing.Router para a navegação e consultam a classe FlexibleColumnLayoutSemanticHelper para saber qual layout e quais botões mostrar após cada ação do usuário.
Fontes
- SAPUI5 SDK: Enabling the Flexible Column Layout (SAP Fiori elements for OData V4)
- SAPUI5 SDK: Enabling the Flexible Column Layout (SAP Fiori elements for OData V2)
- SAPUI5 SDK: Flexible Column Layout (control documentation)
- SAPUI5 SDK: Flexible Column Layout Semantic Helper
- SAPUI5 API Reference: sap.f.FlexibleColumnLayout
- Aplica-se a
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Última revisão