Ci siamo passati tutti. Si costruisce una bella interfaccia che mostra agli utenti una selezione di entità. Gli utenti possono rilasciare le entità per affinare le loro scelte, ma poi… appaiono quegli spazi vuoti dove prima c’erano le entità rilasciate.
Ricostruire la selezione di entità dopo le cadute? Non più! 4D 20 R6 introduce una pratica funzione che elimina questo problema con una sola riga di codice.
Continuate a leggere per scoprire come questa funzione può mantenere l’interfaccia pulita e gli utenti felici.
la funzione di pulizia dell’oggetto selezione entità
Vediamo come funziona questa funzione.
Viene visualizzata una selezione di entità e l’utente può cancellarne alcune.
La casella di riepilogo sottostante mostra la selezione di entità Form.persons. L’utente ne seleziona alcune (Form.selected ) e fa clic sul pulsante Elimina. Se si esegue solo questo codice:
Form.selected.drop()
Form.persons:=Form.persons
Otteniamo questo:
Con una sola riga di codice, grazie alla nuova funzione clean() :
Form.persons:=Form.persons.clean()
Gli spazi vuoti scompaiono magicamente, lasciando l’interfaccia pulita e di facile utilizzo:
Il parametro pulito nell’API REST $entityset
Se la vostra applicazione si basa su API REST, potete usare il parametro clean anche con l’API REST $entityset.
Se si dispone di un insieme di entità contenente entità cancellate (come evidenziato dall’oggetto blu contenente la proprietà __STAMP) come questo:
{
"__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
}
È possibile ottenere un nuovo set di entità senza le entità cancellate eseguendo la richiesta seguente (949062617AF6408CB198B3CB41FB72FB è l’ID del set di entità):
/$entityset/949062617AF6408CB198B3CB41FB72FB?$clean=true&$method=entityset
Il risultato? Un insieme di entità senza le voci cancellate:
{
"__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
}
Con questa nuova funzione, la gestione delle selezioni delle entità non è mai stata così semplice. Mantenete le vostre interfacce ordinate e i vostri utenti felici!