Overview

In memory crud

Questa modalità salva i record della route corrente in IndexedDB (Dexie), permette operazioni CRUD in memoria e poi sincronizza verso il DB reale.

Screenshot reference (manuali utente)

  • manual__in_memory_crud__01.png: attivazione modalità in-memory CRUD dalla toolbar list grid.
  • manual__in_memory_crud__02.png: azioni di chiusura modalità (Sync e Disable without sync).

Attivazione da metadata

Nel md_props_bag della tabella aggiungi:

Snippet 1JSON
{
  "client_side_crud": {
    "enabled": true,
    "batchSize": 200,
    "maxPages": 20,
    "includeLookupRoutes": true
  }

Note operative:

  • la feature viene rilevata da tableMetadata.extraProps.client_side_crud;
  • il suggest md_props_bag ora espone una sezione dedicata client_side_crud nel tree checkabile;
  • batchSize e maxPages controllano il caricamento iniziale paginato;
  • includeLookupRoutes include anche le route lookup correlate nella cache locale.

Comportamento runtime

Quando abiliti la modalità:

  • il framework carica i record della route (e opzionalmente delle lookup route) in WuicClientSideCrudDB;
  • le operazioni insert/update/delete lavorano in locale e marcano i record come dirty;
  • la griglia continua a usare filtri/sort/paging, ma i dati arrivano dal database locale.

Sync e chiusura modalità

In List Grid sono disponibili i pulsanti:

  • Enable (abilita in-memory CRUD),
  • Sync (sincronizza su backend e disabilita),
  • Disable without sync (scarta modifiche locali e disabilita).

In sync, il framework applica le operazioni in ordine:

1. insert

2. update

3. delete

Al termine pulisce la cache locale della route e ricarica i dati dal backend.

Metodi principali

  • enableClientSideCrud()
  • disableClientSideCrud()
  • disableClientSideCrudWithoutSync()

Questi metodi sono esposti dal datasource e usati direttamente dalla toolbar della list grid.

Screenshot

smart-app / in-memory-crud-main
smart-app / in-memory-crud-main
smart-app / in-memory-crud-sync-disable
smart-app / in-memory-crud-sync-disable