KEPLIN Docs

Il canvas

L'editor visuale di schermate — griglia, spostare e ridimensionare, guide intelligenti, allineare, livelli, ancore, undo e l'inspector.

Le schermate di un'app si disegnano in un editor visuale: trascini widget da una palette su un canvas, li posizioni al pixel con l'aiuto di una griglia e di guide intelligenti, e rifinisci ogni dettaglio in un inspector a destra. Questa pagina spiega quell'ambiente di lavoro — tutto ciò che viene dopo (widget, dati, eventi) accade dentro di esso.

Gli esempi vengono dall'app Gestione Clienti: un CRM con schermate di account, opportunità e dashboard.

Aprire e creare schermate

Le schermate vivono nella barra laterale dell'app, nella scheda UI, dentro la sezione Schermate. Cliccare su una schermata la apre in una scheda dello spazio di lavoro — puoi avere più schermate aperte affiancate, e ogni scheda si ricorda che cosa stavi facendo.

Per creare una schermata:

  1. Apri l'app e scegli la scheda UI nella barra laterale.
  2. Nella sezione Schermate, clicca sul pulsante Nuova schermata.
  3. Dalle un nome — per esempio, Scheda Cliente — e conferma con Crea.
  4. La schermata si apre subito nello spazio di lavoro, pronta da disegnare.

La stessa sezione ha cartelle (Nuova cartella) per organizzare l'albero, le schermate di Sistema (login, recupero password e registrazione — con rotta e parametri fissi) e i Layout — template riutilizzabili che restano per il capitolo Layout e design per dispositivo.

Il designer di una schermata: palette di widget a sinistra, canvas al centro e inspector a destra.
Il designer di una schermata: palette di widget a sinistra, canvas al centro e inspector a destra.

Le tre zone del designer

Zona Che cos'è
Widget (sinistra) Il catalogo dei widget. Trascinane uno qualsiasi sul canvas — il suggerimento sull'elemento stesso te lo dice: Trascina sul canvas.
Canvas (centro) La pagina della schermata, disegnata alla scala reale del dispositivo attivo, già con il tema dell'app applicato. Quello che vedi è ciò che l'app mostra.
Inspector (destra) Le proprietà di ciò che è selezionato — o della schermata stessa, quando non c'è selezione. Ha due schede: Proprietà e Struttura.

Sopra il canvas c'è la barra degli strumenti: i tre dispositivi (Web (1280px), Tablet (768px), Mobile (390px)), undo/redo, livelli, duplica, elimina, allinea/distribuisci, Anteprima e lo zoom (Ingrandisci, Riduci, e la percentuale cliccabile per Ripristina 100%).

Nota

Ogni dispositivo ha un design proprio e indipendente — non c'è ereditarietà fra loro. Il perché e il come sono in Layout e design per dispositivo.

La griglia

Il canvas poggia su una griglia che tiene le schermate in ordine senza legarti le mani:

  • In orizzontale, la pagina si divide in 48 colonne. La posizione e la larghezza di un widget si contano in colonne — è ciò che fa sì che una schermata disegnata per il web resti proporzionata in un modale più stretto.
  • In verticale, l'aggancio è a passi di 8 pixel; la posizione e l' altezza si salvano al pixel.

Trascinando, il widget si aggancia alla colonna e al passo verticale più vicini. Se hai bisogno di lasciarlo esattamente dov'è il mouse, tieni premuto il tasto Alt durante il trascinamento — l'aggancio si disattiva finché resta premuto.

Gli stessi valori si possono scrivere a mano: con un widget selezionato, la categoria Layout dell'inspector mostra Col, Largh (in colonne), Y e Alt (in pixel).

Selezionare, spostare, ridimensionare

  • Clic seleziona un widget; Shift+clic aggiunge o toglie dalla selezione; trascinare a partire da una zona vuota disegna un riquadro di selezione che prende tutto ciò che tocca.
  • Trascina un widget per spostarlo; tira le maniglie degli angoli e dei lati per ridimensionarlo.
  • Le frecce della tastiera spostano la selezione: ←/→ una colonna, ↑/↓ un pixel — e Shift+↑/↓ otto pixel alla volta.
  • Lasciare un widget dentro un Pannello, delle Schede o una Barra fissa lo rende figlio di quel contenitore: comincia a muoversi con lui e la posizione diventa relativa al contenitore.

Guide intelligenti

Mentre trascini o ridimensioni, il canvas confronta il widget in movimento con i vicini e suggerisce agganci — le guide si disegnano sul momento:

Guida Quando appare
Allineamento Un lato o il centro del widget resta allineato con il lato/centro di un vicino — il widget si incolla a quella linea.
Spaziatura uguale Stai lasciando il widget alla stessa distanza a cui due vicini stanno già fra loro — la fila resta con intervalli giusti.
Dimensione uguale Ridimensionando, la larghezza o l'altezza diventa uguale a quella di un vicino — si incolla a quella dimensione.

L'allineamento vince sulla spaziatura, e la spaziatura vince sulla griglia: quando stai visibilmente cercando di accostare a un lato, è questo che succede.

Allineare e distribuire

Con due o più widget selezionati, la barra degli strumenti attiva i pulsanti di allineamento: Allinea a sinistra, Centra orizzontalmente, Allinea a destra, Allinea in alto, Centra verticalmente e Allinea in basso. Con tre o più, si aggiungono Distribuisci orizzontalmente e Distribuisci verticalmente, che pareggiano gli intervalli tenendo il primo e l'ultimo al loro posto.

Con più widget selezionati l'inspector riassume: N widget selezionati — usa la barra per allineare/distribuire.

Livelli

I widget possono sovrapporsi — un'Etichetta sopra un'Immagine, per esempio. L'ordine si controlla dalla barra degli strumenti: Porta in primo piano, Avanti di un livello, Indietro di un livello e Porta in fondo.

Ancore — legare ai margini

Per impostazione predefinita, un widget resta dove l'hai posato. Le ancore legano i lati del widget ai margini della pagina (o del contenitore in cui si trova): seleziona un widget e clicca sui perni che appaiono a metà di ogni lato — Ancora in alto, Ancora a sinistra, Ancora a destra, Ancora in basso.

  • Ancorare sinistra + destra fa allungare il widget con la larghezza della pagina — la classica intestazione a tutta larghezza.
  • Ancorare in basso incolla il widget in fondo alla pagina — una barra di pulsanti che resta in basso, qualunque sia l'altezza della pagina.

L'altezza della pagina

La pagina di una schermata ha altezza fissa per dispositivo — non cresce mai da sola con il contenuto. Il bordo inferiore del canvas è una maniglia: trascinala per regolare (Altezza della pagina — trascina per regolare). Sotto il contenuto, lo sfondo della schermata prosegue fino in fondo (lo sfondo continua fino alla fine della schermata). Se il contenuto supera l'altezza, l'utente scorre — salvo che tu non lo disattivi (vedi le proprietà della schermata).

Annullare, ripetere e le scorciatoie

Ogni gesto — lasciare, spostare, ridimensionare, cambiare una proprietà, eliminare — è un passo di cronologia. Annulla (Ctrl+Z) e Ripeti (Ctrl+Shift+Z) sono nella barra; movimenti di tastiera consecutivi si fondono in un solo passo, perché l' undo non debba tornare indietro tasto per tasto.

Scorciatoia Azione
Ctrl+Z / Ctrl+Shift+Z (o Ctrl+Y) Annulla / Ripeti
Ctrl+C / Ctrl+X / Ctrl+V Copia / Taglia / Incolla (la copia entra spostata di una colonna)
Ctrl+D Duplica la selezione
Ctrl+A Selezionare tutti i widget del dispositivo attivo
Delete o Backspace Elimina la selezione
Escape Azzerare la selezione
Frecce / Shift+↑↓ Spostare la selezione (colonna per colonna; 1 px; 8 px)
Ctrl+rotellina del mouse Zoom

Su Mac, usa dove si legge Ctrl.

Nota

Eliminare un contenitore elimina ciò che sta dentro; eliminare una Tabella elimina anche i pulsanti di azione collegati a lei. Un solo Annulla ripristina tutto.

Salvataggio automatico e anteprima

Non c'è un pulsante di salvataggio: le modifiche si salvano da sole. L'angolo in alto a destra dice a che punto sono — Salvataggio…, Salvato, oppure Salvataggio non riuscito — riprova se qualcosa è andato storto (basta rimettere mano per riprovare).

Il pulsante Anteprima salva ciò che è in sospeso e apre la schermata nell'app reale, in una nuova scheda del browser — passi dal login come qualsiasi utente e vedi la schermata funzionare con dati veri.

L'inspector

L'inspector ha due schede:

  • Proprietà — tutto ciò che è modificabile in ciò che è selezionato.
  • Struttura — l'albero dei widget del dispositivo attivo.

Proprietà di un widget

Con un widget selezionato, la parte alta dell'inspector mostra il tipo e l'id del widget (in carattere monospaziato) — è questo id che usi nel codice degli eventi. Le proprietà si organizzano in categorie; ogni widget mostra solo quelle che lo riguardano:

Categoria Che cosa contiene
Layout Col, Largh, Y, Alt, e gli interruttori Visibile e Attivo (un widget inattivo resta grigio e senza interazione).
Accesso Richiede l'azione — un'azione dichiarata in Impostazioni ▸ Autorizzazioni; chi non ce l'ha non usa il widget. In Senza l'azione scegli Nascondi o Mostra disattivato.
Contenuto Testi, etichette, icone — e i Valori della frase (vedi più sotto).
Dati Il collegamento ai dati del widget (vedi Datastore e dati).
Comportamento Opzioni di funzionamento — viste, trascinamenti, azioni al clic.
Validazione Nei campi di modulo: Obbligatorio, regole standard e script (vedi I widget).
Interazione Azioni di clic di widget come il Pulsante.
Aspetto Stile visivo (vedi più sotto).
Eventi Gli eventi del widget (vedi Eventi e SDK).

Alcuni widget hanno elementi interni modificabili — una colonna della Tabella, un campo dell'Elenco, una scheda delle Schede. Clicca sull'elemento direttamente nel canvas per modificarlo; l'inspector passa a quell'elemento e il pulsante torna al widget ti riporta indietro.

Aspetto

La categoria Aspetto è uguale in (quasi) tutti i widget: Sfondo, Bordo con Tratto del bordo (Continuo, Tratteggiato, Punteggiato), raggio, padding, Ombra (Nessuna ombra, Leggera, Media, Forte, Extra), e le opzioni di Testo — colore, Dimensione, Peso, Allinea testo. I colori accettano i token del tema dell'app o valori hex — usa i token ogni volta che è possibile, perché il widget segua il tema.

I widget con intestazione propria (pannelli, tabelle, grafici…) aggiungono qui Mostra titolo e Mostra descrizione, con i rispettivi testi.

Regole di formattazione

Sempre nell'Aspetto, le Regole di formattazione cambiano lo stile in base ai dati: colorare di rosso le righe in ritardo, nascondere un pulsante a seconda della sessione, mettere un KPI in verde sopra l'obiettivo.

  1. Clicca su Nuova regola.
  2. Scegli l'ambito — Il widget, Ogni riga o Una cella (riga/cella esistono solo nei widget che disegnano righe, come la Tabella).
  3. In Quando, aggiungi le condizioni (campo, operatore, valore — il valore può venire da un parametro, dalla sessione, dallo stato…). Senza condizioni, la regola si applica sempre.
  4. In Allora, scegli che cosa cambia: Sfondo, Colore del testo, Grassetto, Corsivo, Sottolineato, Allineamento, Formato o Nascondi.

L'ordine conta — l'ultima regola che corrisponde è quella che vale. L'interruttore Attiva disattiva una regola senza eliminarla, per fare prove. E il codice degli eventi ha sempre l'ultima parola sulle regole.

Valori della frase

Qualsiasi testo di un widget può avere dei buchi: scrivi {n} nel testo (per esempio, "{n} account attivi") e la sezione Valori della frase appare nella categoria Contenuto, per dire da dove viene ogni valore — da un datastore, da un parametro, dalla sessione, dallo stato o da un altro widget. È il modo di mettere numeri vivi dentro frasi traducibili senza scrivere codice.

La scheda Struttura

La scheda Struttura elenca tutti i widget del dispositivo attivo, ad albero (contenitori con i figli dentro). Serve a selezionare ciò che è coperto, vedere ciò che è nascosto (Nascosto da un contenitore padre) e commutare la visibilità iniziale di ogni widget con l'occhio — Nascondi su questo dispositivo / Mostra su questo dispositivo.

La scheda Struttura dell'inspector, con l'albero dei widget della schermata.
La scheda Struttura dell'inspector, con l'albero dei widget della schermata.

La schermata e le sue proprietà

Clicca su una zona vuota del canvas (o premi Escape) e l'inspector passa a mostrare la schermata stessa:

Sezione Che cosa definisce
Schermata Il nome e il Percorso — il cammino della schermata nell'indirizzo dell'app (minuscole, numeri e trattini).
Parametri del percorso I parametri che la schermata riceve nell'indirizzo (es.: l'id dell'account in /ficha-de-conta/:id). Ognuno può essere Obbligatorio; l'ordine si regola con Sposta su/Sposta giù.
Comportamento Scorrimento della schermataAutomatico o Nessuno scorrimento.
Accesso Schermata pubblica (senza sessione) — la schermata si apre senza login; i dati arrivano solo da API pubbliche.
Aspetto Lo sfondo della pagina: Colore, Immagine (assets) e Adattamento (Copri, Contieni, Estendi, Centra, Ripeti).
Presentazione Se la schermata è una pagina normale, un Modale (al centro) o un Pannello laterale (a destra) — dettagliato in Eventi e SDK.
Template della schermata Il Layout associato — vedi Layout e design per dispositivo.
Dati I datastore della schermata — vedi Datastore e dati.
Eventi Gli eventi della schermata (onLoad, onParamsChange, onUnload) — vedi Eventi e SDK.

Senza selezione, l'inspector mostra le proprietà della schermata: percorso, parametri, accesso e presentazione.
Senza selezione, l'inspector mostra le proprietà della schermata: percorso, parametri, accesso e presentazione.

Atenção

Cambiare il Percorso cambia l'indirizzo della schermata — menu e link che puntavano al percorso vecchio non ci arrivano più. Verifica la navigazione dopo aver messo mano.

Perché no…?

  • Perché non riesco a spostare un widget? Se appare con un lucchetto, viene da un layout — la posizione si modifica nel layout stesso, non nella schermata. Vedi Layout e design per dispositivo.
  • Perché il widget non si aggancia dove voglio? Le guide e la griglia stanno vincendo sul tuo gesto — tieni premuto Alt per disattivare l'aggancio mentre trascini.
  • Perché il widget è sparito dal canvas? Guarda la Struttura: può essere nascosto (occhio), dentro una scheda che non è attiva, o dietro un altro widget (usa i livelli).