# Como Configurar Groups no Fiori Launchpad (Sandbox)

Este guia explica como configurar o ficheiro `fioriSandboxConfig.json` para adicionar/configurar Groups (tabuladores) no Launchpad.

---

## 1. Criar um Group

Os Groups são uma coleção de tiles que pertencem à mesma área funcional, propósito ou contexto de trabalho.

São configrados dentro do array "groups".
```json
"groups": [ ... ]
```
### Exemplo
```json
{
  "id": "gestao_group",
  "title": "Gestão",
  "isPreset": true,
  "isVisible": true,
  "isGroupLocked": false,
  "tiles": [
    { ...tile... } 
  ]
},... //Reptir a mesma estrutura para criar mais Groups no Launchpad
```
## 2. Adicionar um Tile a um Group
O mesmo tile pode aparecer em vários grupos.

Para inserir um tile num Group é necessário adicionar a seguinte estrutura dento do array "tiles" que faz parte de cada Group.

```json
  {
    "id": "app-management",
    "title": "Gestão de pedreiras",
    "size": "1x1",
    "tileType": "sap.ushell.ui.tile.StaticTile",
    "properties": {
      "title": "Gestão de pedreiras",
      "icon": "sap-icon://home",
      "targetURL": "#Management-display"
    }
  },... // Podem ser adicionados vários Tiles a um Group
```

# Como Configurar o Logotipo no Fiori Launchpad

Para alterar o logotipo do launchpad (imagem no canto superior esquerdo), que é o logotipo padrão da SAP, é necessário sobrescrever o estilo CSS do elemento do cabeçalho

## 1. Estrutura de Ficheiros

Primeiro, é necessário criar dois ficheiros em duas novas pastas:

* **Logotipo:** A imagem customizada deve ser colocada na pasta de recursos de imagens:
    * `launchpads/management/img/futureview_consultoria_informtica_logo.png`
* **Ficheiro de Estilo:** O ficheiro `launchpad.css` deve ser criado na pasta de estilos:
    * `launchpads/management/css/launchpad.css`

## 2. Conteúdo de `launchpad.css`

O código CSS abaixo garante que o logotipo seja exibido corretamente no elemento `a#shell-header-logo`, escondendo a imagem SVG padrão da SAP.

```css
a.sapUshellShellIco[id="shell-header-logo"] {
    /* 1. Esconde o texto/imagem padrão da SAP */
    text-indent: -9999px !important; 
    
    /* 2. Força o carregamento da nova imagem */
    background-image: url('../img/futureview_consultoria_informtica_logo.png') !important;
    
    /* 3. Ajuste de Redimensionamento: 'contain' garante que a imagem caiba completamente, 
       respeitando a proporção e evitando cortes. */
    background-size: contain !important; 
    background-repeat: no-repeat !important;
    background-position: left center !important;
    /* Define a largura. A altura é ajustada automaticamente. */
    width: 6rem !important; 
}
/* Garante que o elemento IMG original (que tem o SRC fixo) não seja exibido */
a.sapUshellShellIco[id="shell-header-logo"] img {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}
```

## 3. Conteúdo de `index.html`

O ficheiro index.html deve carregar o ficheiro launchpad.css adicionando a tag <link> com referência à folha de estilos na secção <head>. Isto garante que os estilos sejam aplicados antes da inicialização do Fiori Launchpad:

```html
<head>
    <link rel="stylesheet" href="css/launchpad.css">
    <meta charset="UTF-8">
    ...
```

# Configuração de Ícone, Tipo e Tamanho de Tiles no Fiori Launchpad

Esta secção complementa a configuração de Groups e Tiles, explicando como alterar o ícone do tile, o tipo de tile e o respetivo tamanho dentro do ficheiro `fioriSandboxConfig.json`.

## Alterar o Ícone do Tile

O ícone é definido em `properties.icon` e utiliza ícones da biblioteca SAP (`sap-icon://`).

**Exemplo:**
```json
"properties": {
  "title": "Gestão de pedreiras",
  "info": "Para fazer cenas nas pedreiras",
  "icon": "sap-icon://activities",
  "targetURL": "#quarries-display"
}
```
## Alterar o Tipo do Tile

O comportamento do tile depende da propriedade tileType.

```json
"tileType": "sap.ushell.ui.tile.DynamicTile",
"properties": {
  "serviceUrl": "/odata/v1/Quarries/ActiveQuarriesCount",
  "valueUnit": "ativas",
  "numberUnit": "pedreiras"
}
```
O parametro "serviceUrl" aponta para o serviço OData que devolve o valor apresentado no Tile.
O parametro "valueUnit" é um texto curto apresentado ao lado do número principal.
O parametro "numberUnit" é um pequeno texto colocado por baixo do número, como legenda.

Exemplo baseado no JSON apresentado acima: 
"
12 ativas
pedreiras
"

## Alterar o Tamanho do Tile

O tamanho é definido em "size".

```json
"size": "1x2"
```