ORDA – Diga adeus aos espaços vazios nas suas selecções de entidades

Todos já passamos por isso. Construímos uma bela interface que apresenta uma seleção de entidades aos usuários. Eles podem soltar entidades para refinar as suas escolhas, mas depois… aparecem aqueles espaços vazios onde as entidades soltas costumavam estar.

Reconstruir a seleção de entidades depois de as soltar? Não mais! 4D 20 R6 introduz uma caraterística útil que elimina esse ponto de dor com apenas uma linha de código.

Continue a ler para descobrir como esta caraterística pode manter a sua interface limpa e os seus usuários felizes.

 

 

HDI_CleanEntitySelection

 

a função clean no objeto de seleção de entidade

 

Vamos ver como funciona esta funcionalidade.

É apresentada uma seleção de entidades e o utilizador pode eliminar algumas entidades.

A caixa de listagem abaixo apresenta a seleção de entidades Form.persons. O utilizador seleciona algumas delas (Form.selected ) e clica no botão Drop. Se executarmos apenas este código:

 

Form.selected.drop()

Form.persons:=Form.persons

 

Obtemos isto:

 

 

Com apenas uma linha de código, graças à nova função clean() :

 

Form.persons:=Form.persons.clean()

Os espaços vazios desaparecem por magia, deixando a sua interface limpa e fácil de utilizar:

blank

 

O parâmetro clean na API REST $entityset

Se a sua aplicação depende de APIs REST, também pode utilizar o parâmetro clean com a API REST $entityset.

Se você tiver um conjunto de entidades contendo entidades excluídas (conforme apresentado pelo objeto azul contendo a propriedade __STAMP) como este:

 

{

"__DATACLASS": "Persons",

"__entityModel": "Persons",

"__GlobalStamp": 0,

"__COUNT": 3,

"__FIRST": 0,

"__ENTITIES": [

{


"__STAMP":
0


}
,

{

"__KEY": "2",

"__TIMESTAMP": "2024-05-23T09:26:19.658Z",

"__STAMP": 1,

"ID": 2,

"firstname": "Broddy",

"lastname": "Cristofanini"

},

{

"__KEY": "3",

"__TIMESTAMP": "2024-05-23T09:26:19.658Z",

"__STAMP": 1,

"ID": 3,

"firstname": "Candie",

"lastname": "Figin"

}

],

"__SENT": 3

}

Você pode obter um novo conjunto de entidades sem as entidades excluídas, executando a solicitação abaixo (949062617AF6408CB198B3CB41FB72FB é o ID do conjunto de entidades):

/$entityset/949062617AF6408CB198B3CB41FB72FB?$clean=true&$method=entityset

O resultado? Um conjunto de entidades sem as entradas eliminadas:

 

{

"__ENTITYSET": "/rest/Persons/$entityset/8F658F3BA1884DE6BEC1FCFF4A7938F0", xml-ph-0000@deepl.internal
"__DATACLASS": "Persons",

"__entityModel": "Persons",

"__GlobalStamp": 0,

"__COUNT": 2,

"__FIRST": 0,

"__ENTITIES": [

{

"__KEY": "2",

"__TIMESTAMP": "2024-05-23T09:47:50.933Z",

"__STAMP": 1,

"ID": 2,

"firstname": "Broddy",

"lastname": "Cristofanini"

},

{

"__KEY": "3",

"__TIMESTAMP": "2024-05-23T09:47:50.933Z",

"__STAMP": 1,

"ID": 3,

"firstname": "Candie",

"lastname": "Figin"

}

],

"__SENT": 2

}

 

Com esta nova funcionalidade, gerir seleções de entidades nunca foi tão fácil. Mantenha as suas interfaces organizadas e os seus utilizadores satisfeitos!

Avatar
• Proprietário do produto - Marie-Sophie Landrieu -Yvert entrou ao time 4D Product como Proprietária do Produto em 2017. Como tal, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Marie-sophie se formou na Escola de Engenharia de ESIGELEC e começou sua carreira como engenheira da IBM em 1995. Participou em vários projetos (de manutenção e criação) e trabalhou como desenvolvedora de Cobol. Depois trabalhou como designer de UML e desenvolvedora de Java. Suas principais funções foram analisar e redigir requisitos funcionais, coordenar os times de negócio e de desenvolvimento.