Rám, který obrazovky sdílejí — horní lišta, menu sekce a účtu, hlavička s čísly — a bloky, ze kterých se skládají konfigurační obrazovky i seznamy.
Obrazovka se skládá odshora dolů a každá vrstva umí jednu věc. Když se drží pořadí, vypadají dvě obrazovky z různých aplikací jako jeden produkt — a to je jediný důvod, proč kit existuje.
IngotAppFrame — šířka obrazovky a okraje vedle ní, lišta přilepená k oknu. Jejímu contentClassName patří INGOT_FRAME_ROW, aby řádek lišty seděl na obsah pod ní.IngotPageLayout — svislý rytmus bloků a tvar obsahu: full pro seznamy, wide pro detail, aside pro obrazovku s vlastním rejstříkem.IngotToolbar nad daty, IngotSection kolem každého celku.IngotColumns pro formulář a IngotDescriptionList pro fakta. Vlastní grid se v obrazovce nepíše — právě tam se aplikace rozcházejí.IngotSkeleton místo prázdna, dokud data nejsou, a IngotActionBar jako poslední blok, aby Uložit bylo v dosahu i po devátém poli.Referenční konzument skládá přesně takhle dvě obrazovky — seznam zakázek a detail — a hlídá to guard: ručně psaná tabulka, tlačítko nebo seznam v nich shodí build. Bez toho je „složeno jen z kitu“ tvrzení, ne kontrola.
Rám je jeden řádek nahoře: značka, sekce aplikace a účet. Obsah pod ním jde na plnou šířku. Boční menu administrace nemá — její obrazovky jsou široké tabulky a sloupec ukousnutý vlevo je sloupec, který v tabulce chybí.
Rám měří výšku v jednotce dvh, ne vh. Na iOS Safari je vh výška okna se zataženými lištami prohlížeče — s vysunutou spodní lištou tedy obrazovka končí pod dolní hranou a dialog si s sebou vezme i patičku s hlavní akcí. dvh sleduje lišty, jak přijíždějí a odjíždějí.
Bezpečné zóny drží kit sám: horní lišta odsazuje shora, akční lišta zdola a panel na straně, ze které vyjíždí. Zapnout je ale musí konzument — bez viewport-fit=cover vrací env() nulu a odsazení nikde nevznikne:
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">Pod lištou jde vždy totéž pořadí: drobečky, hlavička stránky, a teprve pak obsah. Čísla, podle kterých se obrazovka čte na první pohled, stojí hned pod hlavičkou.
12 čeká na potvrzení výroby, 2 jsou po termínu.
Ve výrobě
18
z toho 4 dnes
Čeká
12
nejstarší 3 dny
Po termínu
2
OBJ-2411, OBJ-2390
Vpravo v hlavičce stojí akce, NEBO čísla — ne obojí. Obrazovka, na které se nic nezakládá, tam má místo tlačítek shluk dvou tří čísel; je to tatáž komponenta jako pruh, jen hustší.
Plán na příští týden podle dnešních potvrzených objednávek.
Konfigurační obrazovky se skládají z opakujících se bloků. Nastavení se nedělá jedním dlouhým formulářem — kroky se dokončují v různé dny a různými lidmi, takže každý krok nese svůj stav natrvalo.
Krok 01
Země a měny3 / 3 aktivní
Česko, Slovensko a Polsko. Ceny se přepočítávají kurzem ČNB.
Krok 02
Základ ceníku
Pojmenovaná skupina záznamů je vlastní karta: hlavička říká, čí je a kolik toho drží, tabulka ukazuje obsah a patička do ní přidává další položku. Karta nemá vlastní odsazení, aby tabulka lícovala s jejím rámem.
material.ocel3 vlastnosti
Vlastnosti, na které se ptá poptávkový formulář u ocelových dílů.
| Vlastnost | Klíč | Jednotka |
|---|---|---|
| aktivníTloušťka | tloustka | mm |
| aktivníPovrchová úprava | povrch | — |
| skrytáAtest 3.1 | atest | — |
--surface-2, takže se čte jako nástroj karty, ne jako další řádek tabulky.Obrazovka se seznamem záznamů skládá bloky v pevném pořadí. Pořadí není volba — čtenář, který ho zná z jedné obrazovky, ho najde na všech.
IngotToolbar — hledání a filtry nad seznamem.IngotTable — záznamy; výběr řádků otevírá hromadné akce.IngotRowActions — akce jednoho řádku, vždy na jeho konci.IngotEmptyState — když záznamy nejsou, řekne proč a co udělat.IngotPagination — stránkování pod seznamem.Editace záznamu jde do bočního panelu, aby zůstal vidět kontext. Potvrzení nevratného kroku patří do potvrzovacího dialogu s dopadem a výsledek ohlásí toast se zpětnou akcí. Modální okno je jen pro krok, který nesmí být přerušen.