KEPLIN Docs

De widgets

De volledige catalogus van de 32 widgets — wat elk doet, en in detail de Tabel, de formulieren, de Grafiek, de KPI, het Kanban, de Kalender en de Gantt.

Alles wat u op een scherm ziet is een widget. Het palet Widgets, links van het canvas, brengt 32 widgets van huis uit mee — van deze pagina vertrekt u met de wetenschap waar elk voor dient, en met de belangrijkste in detail uitgelegd. Heeft de app door u geprogrammeerde widgets, dan verschijnen die op hetzelfde palet, in de sectie Aangepast.

Het widgetpalet, links van de designer — sleep elk item naar het canvas.
Het widgetpalet, links van de designer — sleep elk item naar het canvas.

De catalogus, per categorie

Formuliervelden

Alle koppelen zij aan een veld van een record-datastore (sectie Gegevenskoppeling) en doen zij mee aan de validatie — zie de formulieren.

Widget Waar het voor dient
Tekstvak Tekst van één regel. Heeft een Masker, de modus Wachtwoord (tekst verbergen) en een placeholder.
Tekstgebied Lange tekst over meerdere regels — notities, beschrijvingen.
Getal Numerieke waarden.
Ja/Nee Een booleaanse schakelaar.
Keuzelijst Keuze uit opties: Vaste lijst, Enum uit het model of Datastore; met Doorzoekbaar, Multiselectie en de modus Boom (hiërarchisch).
Datum Datum, Datum en tijd of alleen Tijd (het veld Type bepaalt het).
Kleur De keuze van een kleur.
Bestand Uploaden door slepen en/of met een knop, met voorbeeld, groottelimiet en de keuze van de opslag.

Acties en navigatie

Widget Waar het voor dient
Knop De klassieke actie. Tonen: Icoon + Tekst, Alleen icoon of Alleen tekst; de Actie bij klikken navigeert, opent een modaal venster of draait code.
Knop met menu Een knop die meer opties opent. Uiterlijk: Gesplitst (het midden voert uit, de pijl opent het menu), Menu of Hamburger. Elke optie kan zich verbergen of uitschakelen op voorwaarden.
Link Klikbare tekst — Bestemming: Scherm van de app (met parameters) of Externe URL (met In een nieuw tabblad openen).
Kruimelpad Het pad "u bent hier", met klikbare niveaus en een laatste niveau dat vast is of aan een veld gekoppeld.
Exporteren Een knop die de gegevens van een datastore als spreadsheet (.xlsx) downloadt — gekozen velden, optionele Koprij en Bestandsnaam met {date}.

Structuur

Widget Waar het voor dient
Paneel Een container met kader en titel — ordent widgets die voortaan samen bewegen.
Tabbladen Een container met tabbladen; elke onderliggende widget hoort bij één tabblad. Stijl van de tabbladen: Kader, Pillen of Onderstreept.
Vaste balk Een balk over de volle breedte, vastgezet Bovenaan of Onderaan het scherm — voor actiebalken die altijd zichtbaar zijn.
Lijn Een scheidingslijn, Horizontaal of Verticaal — de kleur en de streep komen uit het Uiterlijk.

Inhoud en media

Widget Waar het voor dient
Label Eenvoudige tekst — titels, bijschriften, losse waarden. Aanvaardt Waarden in de zin ({n} in de tekst).
Markdown Rijke tekst geschreven in Markdown — vast of uit een veld.
Afbeelding Een afbeelding via een Vaste URL, een Asset van de app of een Veld (dynamisch); Schaling: Bevatten, Vullen of Uitrekken.
Externe pagina Sluit een pagina van buiten in (een kaart, een video, BI van derden) of door u geschreven HTML. Draait geïsoleerd: ziet de sessie noch de gegevens van de app.

Gegevens

Widget Waar het voor dient
Tabel Het raster met records — getypeerde kolommen, sorteren, selecteren en actieknoppen. Detail hieronder.
Lijst Records in een verticale lijst, met velden in rollen (Titel, Ondertitel, Hoofdtekst, Bijschrift) en een optionele afbeelding.
Kaarten Hetzelfde sjabloon als de Lijst, maar in een raster van kaarten met N Kolommen.
Grafiek Getekende reeksen — staven, lijnen, taarten en meer. Detail hieronder.
KPI Een strook numerieke indicatoren met trends, doel en sparkline. Detail hieronder.

Borden en planning

Widget Waar het voor dient
Kanban Kaarten die tussen statuskolommen gesleept kunnen worden. Detail hieronder.
Kalender Gebeurtenissen in de weergaven Dag/Week/Maand/Jaar. Detail hieronder.
Gantt Balken van begin→einde met voortgang, groepen en afhankelijkheden. Detail hieronder.

Documenten en processen

Widget Waar het voor dient
Rapport Toont een rapport van de app (PDF) binnen het scherm, met parameters gekoppeld aan wat er op het scherm staat en een Actiebalk om te vernieuwen en te downloaden.
Status van het proces De historiek en de huidige stap van de workflows van een record, met beslisknoppen wanneer de openstaande taak van de kijker is.
Mijn taken De inbox met workflowtaken van de aangemelde gebruiker — opent het scherm van de taak en beslist van daaruit.

De Tabel

De Tabel is de meest gebruikte widget van het platform: hij koppelt aan een lijst-datastore en toont de records in een raster, met paginering, sortering en selectie.

Kolommen

Zodra u de datastore koppelt, ontstaan de kolommen één per veld. Daarna verfijnt u: gebruik in Kolommen de knop + kolom om toe te voegen, en klik op een kolom in het canvas om haar te bewerken — de inspector schakelt naar haar over.

Elke kolom heeft een Kop, Breedte, Sorteerbaar via de kop, Verborgen — en een Type:

Type Wat het doet
Tekst De waarde zoals zij is, met een optioneel Masker (# = teken).
Getal Maakt de waarde op: Getal (regionaal) (met Decimalen, Scheidingsteken voor duizendtallen, Compact — 1,2 mln in plaats van 1.234.567 —, Prefix en Suffix) of Masker (# = cijfer).
Link De cel wordt klikbaar. Bestemming: Scherm van de app (met parameters uit Veld van de rij, URL-parameter of Vaste waarde) of Script — uw eigen code die bij de klik draait.
Afbeelding Toont de afbeelding waarvan het adres/de inhoud in het veld staat.
Bestand Een downloadlink naar het bestand waarnaar het veld verwijst.

Acties van de tabel

In de categorie Gedrag maakt de actiesectie de CRUD-knoppen: Vernieuwen, Nieuw toevoegen, Record bewerken, Record verwijderen en Meerdere verwijderen. Elke ingeschakelde actie maakt een losse knop op het canvas, gekoppeld aan de tabel — u plaatst en stijlt die knop als elke andere.

  • Nieuw toevoegen en Record bewerken openen een scherm of een modaal venster naar keuze (meestal het formulier van het record), met de parameters ingevuld vanuit de rij.
  • Record bewerken en Record verwijderen worden pas actief met een rij geselecteerd; Meerdere verwijderen werkt op de Meervoudige selectie (de schakelaar die de kolom met selectievakjes toevoegt).
  • De acties die schrijven vereisen dat de datastore een primaire sleutel heeft — de inspector waarschuwt: De datastore heeft een primaire sleutel nodig.

Een kolom van de tabel geselecteerd in het canvas, met het type en de notatie in de inspector.
Een kolom van de tabel geselecteerd in het canvas, met het type en de notatie in de inspector.

Nota

De tabel verwijderen verwijdert ook de actieknoppen die eraan gekoppeld zijn — een knop "record bewerken" zonder tabel slaat nergens op. Ongedaan maken zet alles terug.

Formulieren (invoervelden + record + validatie)

Er is geen widget "formulier": een formulier is de som van drie stukken, en juist die vrijheid laat u de kaart tekenen zoals u wilt.

  1. Maak een record-datastore op het scherm (zie Datastores en gegevens) — bijvoorbeeld conta, geladen op de sleutel die uit de parameter id van de route komt.
  2. Sleep de formuliervelden erin (Tekstvak, Keuzelijst, Datum…) en koppel bij elk de Gegevenskoppeling aan het juiste veld van de datastore.
  3. Zet er een Knop "Opslaan" neer waarvan de gebeurtenis de datastore opslaat — de vooraf bepaalde actie Datastore opslaan van de gebeurtenis-editor schrijft de code voor u (zie Gebeurtenissen en de SDK).

De validatie leeft in elk veld, in de categorie Validatie:

  • Verplicht — het veld moet ingevuld zijn.
  • De standaardregels: Min. tekens, Max. tekens, Is e-mail, Is een telefoonnummer, Is een getal, Min. waarde, Max. waarde, Patroon (regex) en Gelijk aan veld (bevestiging van een wachtwoord, bijvoorbeeld).
  • Validatie met een script — voor uw eigen logica: de code ontvangt value (de huidige waarde van het veld) en geeft true terug als die geldig is, of de foutmelding. Een btw-nummer, een IBAN, een bedrijfsregel.

Bij het opslaan draait de validatie helemaal: eerst de verplichte velden, dan de regels, dan het script. Het record gaat alleen door als alles slaagt.

De Grafiek

De Grafiek koppelt aan een datastore en tekent reeksen. Bij Type grafiek kiest u: Staven, Lijn, Vlak, Taart / Donut, Spreiding, Radar, Gauge (meter), Trechter of Heatmap.

Het wezenlijke is de toewijzing, in de categorie Gegevens:

  • Categorieveld (X-as / segmenten) — wat de staven/segmenten scheidt.
  • Waardevelden — een of meer numerieke velden; elk is een reeks.
  • Reeksveld (groepering) — als alternatief voor de meerdere waarden: het pivoteert op het eerste waardeveld en maakt één reeks per afzonderlijke waarde (zonder waarden telt het records).

En daarna de afwerking:

Optie Wat die doet
Gestapeld, Horizontaal, Vloeiende lijnen, Waarden bij de punten Varianten van de tekening, afhankelijk van het type.
Legenda, Positie van de legenda, Tooltip Het chroom van de grafiek. De legenda sleept u ook rechtstreeks in de grafiek om haar te plaatsen.
Notatie van de waarden Dezelfde notatie als bij de kolommen Getal van de tabel, toegepast op assen, labels en tooltip.
Schaal van de waarden Lineair of Logaritmisch — de logaritmische is er voor wanneer de reeksen ordes van grootte verschillen.
Een tweede as gebruiken Een as rechts met een eigen schaal — om een totaal in euro's en een aantal in dezelfde grafiek te zetten.
Reeksen Type per reeks (combinaties van staven met lijnen) en welke reeksen naar de 2e as gaan.
Geavanceerde opties Een code-editor met alle eigenschappen van de grafiek-engine, met autocomplete — toegepast bovenop de configuratie, voor de gevallen die de velden niet dekken.

De KPI

De KPI is een strook indicatoren — vier getallen naast elkaar maakt u met één widget met vier indicatoren, niet met vier widgets: uitlijning en tussenruimte zijn dan verzekerd.

Elke indicator (bij IndicatorenIndicator toevoegen) heeft:

  • Een Label en een icoon, met de Positie van het bijschrift (Boven de waarde / Onder de waarde).
  • Waarde (veld) + Aggregatie (Som, Gemiddelde, Aantal, Maximum, Minimum, Eerste, Laatste) over de gegevensset — of een Handmatige waarde wanneer er geen gegevens gekoppeld zijn.
  • Trends (Trend toevoegen) — vergelijkingen onder het getal, met een Referentieveld, de notatie Percentage of Absolute waarde, en Minder is beter (draait de kleuren om): bij een oplopende schuld moet de pijl rood zijn.
  • DoelGeen doel, Handmatige waarde of Veld uit de datasource, met een optionele Voortgangsbalk.
  • Sparkline tonen — het minilijntje van de historiek, met het Reeksveld.
  • Periode (uit het veld) — over welke afsluiting het getal gaat (een ISO-datum wordt getoond als MM/JJJJ).

De gegevensset wordt door de hele widget gedeeld, maar elke indicator kan een Eigen gegevensset hebben.

Het scherm Dashboard van de app Klantenbeheer in het canvas: KPI's en grafieken gekoppeld aan gegevens.
Het scherm Dashboard van de app Klantenbeheer in het canvas: KPI's en grafieken gekoppeld aan gegevens.

Dica

Gaat u één getal tonen? Dat is een KPI. De Grafiek is er voor reeksen — een grafiek gebruiken voor één enkel getal is het recept voor een armoedig scherm.

Het Kanban

Het Kanban toont de records als kaarten in kolommen — de pijplijn met kansen van Klantenbeheer is een kanban per status.

  1. Koppel de datastore en kies het Statusveld (kolom) — het veld dat zegt in welke kolom elke kaart staat.
  2. Bepaal de Bron van de kolommen: Statisch (u voegt elke kolom toe met Label, Waarde en kleur) of Enum (de kolommen komen uit de waarden van een enum van het model).
  3. Stel het Sjabloon van de kaart samen — de velden en rollen, zoals in de Lijst.

Met Kaarten mogen worden gesleept ingeschakeld slaat het verplaatsen van een kaart meteen de nieuwe status in het record op. Het Volgordeveld (een numeriek veld) maakt de ordening binnen de kolom blijvend. Kolom voor zonder categorie vangt de records op waarvan de status bij geen enkele kolom past; Aantal kaarten toont het totaal in de kop.

De acties: Klik op een kaart (bewerken) en Kaart aanmaken (knop in de kolom) — elk daarvan kan naar een scherm navigeren, een modaal venster openen (met de parameters van de rij en de kolom) of een gebeurtenis uitsturen naar uw eigen code.

Het scherm Pipeline met het Kanban van kansen per status.
Het scherm Pipeline met het Kanban van kansen per status.

Atenção

Slepen vereist een primaire sleutel in de datasource — zonder haar heeft het Kanban geen manier om de wisseling van kolom op te slaan, en staat het slepen uit.

De Kalender

De Kalender toont records met een datum als gebeurtenissen, in de weergaven Dag, Week, Maand en Jaar.

  • Velden: Datumveld (begin), Eindveld (optioneel) (gebeurtenissen over meerdere dagen), Titelveld.
  • Kleur van de gebeurtenissen: Eén kleur of Per veld — met een kaart waarde → kleur (een type-enum, bijvoorbeeld).
  • Weergave: Beginweergave, Beschikbare weergaven, 1e dag van de week (Maandag/Zondag), Max. gebeurtenissen per dag in de maandweergave, de uren Begin/Einde in de dag-/weekweergaven, Navigatiebalk en Knoppen om van weergave te wisselen.
  • Acties: Klik op een gebeurtenis (bewerken) en Dag-/periodeselectie (aanmaken) — begin en einde gaan als parameters mee naar het doelscherm, klaar om het aanmaakformulier vooraf in te vullen.

De kalender laadt alleen de records van de zichtbare periode — van maand wisselen haalt de nieuwe maand op, niet de hele tabel.

De Kalender op het widgetpalet, klaar om naar een scherm te slepen.
De Kalender op het widgetpalet, klaar om naar een scherm te slepen.

De Gantt

De Gantt tekent balken van begin→einde op een tijdlijn — planning van projecten, campagnes, onboarding van klanten.

  • Velden: Beginveld, Eindveld, Labelveld, Voortgangsveld (0–100) en Groepsveld (groepeert rijen).
  • Veld met afhankelijkheden — de id's (primaire sleutel) van de voorgangers, als JSON-lijst of gescheiden door komma's; de Gantt tekent de pijlen.
  • Beginzoom (Dag, Week, Maand), Lijn van vandaag en Weekenden arceren.
  • Acties: Klik op een balk (bewerken) en Klik op lege ruimte (aanmaken) — de aangeklikte datum gaat als parameter mee.

De Gantt is om te lezen: de balken slepen niet — de datums wijzigt u in het formulier van het record.

Waarom niet…?

  • Waarom verschijnt de sectie Validatie niet bij mijn widget? Alleen formuliervelden valideren — een Knop of een Label hebben geen waarde om te valideren.
  • Waarom verschijnt de widget op het palet maar grijs in het canvas? Hij is uitgeschakeld (schakelaar Actief in de categorie Lay-out) of een regel/gebeurtenis heeft hem uitgeschakeld.
  • Waarom zie ik geen gegevens in het canvas? Het canvas toont voorbeelden — de echte gegevens verschijnen in het voorbeeld en in de gepubliceerde app. Controleer de koppeling in het hoofdstuk Datastores en gegevens.