A todos nos ha pasado. Usted construye una hermosa interfaz que muestra una selección de entidades para los usuarios. Pueden soltar entidades para refinar sus elecciones, pero entonces… aparecen esos espacios vacíos donde solían estar las entidades soltadas.
¿Reconstruir la selección de entidades después de soltarlas? Se acabó. 4D 20 R6 introduce una práctica funcionalidad que elimina este problema con sólo una línea de código.
Siga leyendo para descubrir cómo esta funcionalidad puede mantener su interfaz limpia y a sus usuarios contentos.
la función de limpieza del objeto de selección de entidades
Veamos cómo funciona esta función.
Se muestra una selección de entidades, y el usuario puede eliminar algunas entidades.
El siguiente cuadro de lista muestra la selección de entidades Form.persons. El usuario selecciona algunas de ellas (Form.selected ) y pulsa sobre el botón Borrar. Si ejecutamos sólo este código
Form.selected.drop()
Form.persons:=Form.persons
Obtenemos esto:
Con una sola línea de código, gracias a la nueva función clean() :
Form.persons:=Form.persons.clean()
Los espacios vacíos desaparecen por arte de magia, dejando tu interfaz limpia y fácil de usar:
El parámetro clean en la API REST $entityset
Si su aplicación depende de las API REST, también puede utilizar el parámetro clean con la API REST $entityset.
Si tiene un conjunto de entidades que contiene entidades eliminadas (como muestra el objeto azul que contiene la propiedad __STAMP) como este
{
"__DATACLASS": "Personas",
"__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
}
Puede obtener un nuevo conjunto de entidades sin las entidades eliminadas ejecutando la siguiente solicitud (949062617AF6408CB198B3CB41FB72FB es el ID del conjunto de entidades):
/$entityset/949062617AF6408CB198B3CB41FB72FB?$clean=true&$method=entityset
¿El resultado? Un conjunto de entidades sin las entradas eliminadas:
{
"__ENTITYSET": "/rest/Persons/$entityset/8F658F3BA1884DE6BEC1FCFF4A7938F0", xml-ph-0000@deepl.internal
"__DATACLASS": "Persons",
"__entityModel": "Personas",
"__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
}
Con esta nueva función, gestionar selecciones de entidades nunca ha sido tan fácil. ¡Mantenga sus interfaces ordenadas y a sus usuarios contentos!