dash-b · Funktioner · Ved klik
Et dashboard, der gør noget.
De fleste dashboards er skrivebeskyttede af konstruktion: de viser dig et tal og overlader til dig at gå et andet sted hen for at handle på det. En dash-b-flise kan bære en knap, og et tryk skriver en række, opdaterer en eller åbner en formular bygget fra din egen tabel.
To fliser
En knap eller en formular
Handling
Én knap med en label, du vælger. Den kører en enkelt navngiven operation mod en af dine egne tabeller — markér dagens indtægter som banket ind, tilføj et vagtplanlæg, luk en sag. Intet at taste, ét tryk.
Dataformular
Det samme, når operationen kræver detaljer. Felterne hentes fra tabellens eget skema og ikke fra noget, designet erklærer, så en kolonne, du omdøber, ændrer formularen, og en kolonne, du sletter, holder op med at blive spurgt om.
Hvad en handling er
Tre nøgler, og ingen fjerde
En handling navngiver en operation, navngiver, hvad den virker på, og sender parametre. Det er hele ordforrådet:
- Kommandoen er et indeks i et register, som kun dash-b's egen kode kan tilføje til. Et design kan ikke opfinde en.
- Bindingen er et navn, der opløses, når knappen trykkes, mod dokumenterne, din konto rummer. Et design, nogen sender dig, som navngiver en tabel, du ikke har, stopper og siger det.
- Parametrene er en literal eller én navngiven værdi læst fra formularen, flisen eller trykket. Ét niveau dybt, og intet andet.
En URL, en header, et token eller en rolle skrevet ind i en handling er en død nøgle.
Intet i dash-b læser dem. En test afsender en handling, der bærer alle fire, og tjekker, at ingen af dem nåede frem til handleren.
Ordforrådet er bevidst svagt. Hver operator, der tilføjes til et parametersprog, er et skridt mod en regelmotor, der lever i en fil, fremmede sender til hinanden, og en designfil er ikke et sted at køre andres logik.
De regler, en skrivning følger
Tre af disse er omvendinger af, hvordan resten af dash-b opfører sig
En ukendt kommando er en højlydt fejl
Alle andre steder ignoreres en ukendt nøgle i stilhed, fordi et design skal overleve at møde en nyere version af sig selv. Ikke her: en skrivning, der lydløst ikke gør noget, ligner til forveksling en, der virkede.
Kun et rigtigt tryk tæller
Om en person faktisk trykkede på knappen afgøres af runtime, aldrig af designet. Et design, der hævder, at en gestus er sket, afvises.
Alt, der ændrer data, bekræftes
Operationer er skrivebeskyttede, lokale eller ændrende. En ændrende spørger først — og kan ikke fravælge at spørge — og får en nøgle, der gør, at et dobbelttryk lander én gang.
Hvor det ikke vises
Ikke på en eksporteret HTML-side
Eksportér du et design som en selvstændig side, er knapperne ikke med i den. En eksport kører ingen af dash-b's kode, så en formular dér ville indsamle nogens indtastning og intet sted at sende den hen — hvilket er værre end slet ikke at tilbyde den. Flisen er en designer- og kontofunktion, og eksporten siger det ved at udelade den.
Det samme gælder et offentliggjort link. Hvad en læser kan se, og hvad de ikke kan, afgøres af, hvis data flisen er bundet til — hvordan deling fungerer gennemgår begge tilfælde.
Det skal bruge en tabel at skrive til.
Det kan være en tabel på din konto eller din egen database nået via en connector, du hoster — i hvilket tilfælde ingen databaseadgangskode nogensinde når os.