dash-b · Funktioner · Vid klick
En dashboard som gör något.
De flesta dashboards är skrivskyddade till sin natur: de visar dig en siffra och lämnar dig att gå någon annanstans för att agera på den. En dash-b-panel kan bära en knapp, och att trycka på den skriver en rad, uppdaterar en, eller öppnar ett formulär byggt från din egen tabell.
Två rutor
En knapp, eller ett formulär
Åtgärd
En knapp med en etikett du väljer själv. Den kör en enda namngiven operation mot en av dina egna tabeller – markera dagens kassa som insatt, lägg till ett pass, stäng ett ärende. Inget att skriva, ett tryck.
Dataformulär
Samma sak när operationen behöver detaljer. Fälten hämtas från tabellens eget schema i stället för från något designen deklarerar, så ändrar du namn på en kolumn ändras formuläret och tar du bort en kolumn slutar den efterfrågas.
Vad en åtgärd är
Tre nycklar, och ingen fjärde
En åtgärd namnger en operation, namnger vad den verkar på och skickar med parametrar. Det är hela vokabulären:
- Kommandot är en indexpost i ett register som bara dash-b:s egen kod kan lägga till i. En design kan inte hitta på ett.
- Bindningen är ett namn som slås upp när knappen trycks, mot dokumenten som ditt konto innehåller. En design någon skickar dig som namnger en tabell du inte har stannar och säger till.
- Parametrarna är en literal, eller ett namngivet värde läst från formuläret, panelen eller trycket. En nivå djupt, och inget annat.
En URL, en header, en token eller en roll in skriven i en åtgärd är en död tangent.
Inget i dash-b läser dem. Ett test skickar en åtgärd som bär på alla fyra och kontrollerar att ingen av dem nådde hanteraren.
Vokabulären är medvetet svag. Varje operator som läggs till i ett parameterspråk är ett steg mot en regelmotor som lever i en fil som främlingar skickar till varandra, och en designfil är ingen plats att köra någons annans logik på.
De regler en skrivning följer
Tre av dessa är inverteringar av hur resten av dash-b beter sig
Ett okänt kommando är ett högljutt fel
Överallt annars ignoreras en okänd nyckel tyst, eftersom en design ska överleva att möta en nyare version av sig själv. Inte här: en skrivning som tyst inte gör något ser exakt ut som en som fungerade.
Endast en riktig press räknas
Huruvida en person faktiskt tryckte på knappen avgörs av körtiden, aldrig av designen. En design som påstår att en gest har skett avvisas.
Allt som ändrar data bekräftar
Operationer är skrivskyddade, lokala eller förändrande. En förändrande frågar först – och kan inte välja bort att fråga – och får en nyckel som gör att ett dubbelt tryck landar en gång.
Var den inte visas
Inte på en exporterad HTML-sida
Exporterar du en design som fristående sida följer knapparna inte med. En export kör ingen av dash-b:s kod, så ett formulär där skulle samla upp någons inmatning utan någonstans att skicka den – vilket är värre än att inte erbjuda den alls. Panelen är en designer- och kontofunktion, och exporten säger det genom att utelämna den.
Detsamma gäller en publicerad länk. Vad en läsare kan se, och vad de inte kan, avgörs av vems data panelen är bunden till – hur delning fungerar går igenom båda fallen.
Den behöver en tabell att skriva till.
Det kan vara en tabell på ditt konto, eller din egen databas nådd via en anslutning du själv hostar – i vilket fall någonsin inget databaslösenord når fram till oss.