Popup-themes
Popup-themes leggen de visuele intentie en importdefaults van dynamische popups centraal vast. Per popup wordt in het popup-register alleen een ThemeKey en Variant gekozen; kleur, icoon, buttonstijl, inputtype en standaard sluitgedrag worden niet per popup los beheerd.
Source-of-truth regel
Voor niet-custom popups geldt:
PopupDetails-importrecord = PopupRegisterRow + PopupThemeDefaults + VariantDefaults
De popup-registerregel is de enige bron voor popup-specifieke inhoud zoals titel, tekst, knoptekst, knopactie, inputkey en inputlabel. Dit document levert alleen herbruikbare defaults.
Popup theme-register
| ThemeKey | PopupType | Severity | Icoon | CloseButtonEnabled default | LeftButtonTheme default | RightButtonTheme default | Gebruik |
|---|---|---|---|---|---|---|---|
| InfoDefault | Info | Informatief | Info | Ja | Secondary | Primary | Neutrale uitleg, bevestiging of verwijzing. |
| WarningConfirm | Warning | Waarschuwing | Warning | Ja | Secondary | Primary | Acties met aandachtspunt maar zonder destructieve lading. |
| ErrorDefault | Error | Fout | Error | Ja | Secondary | Danger | Blokkerende of technische foutmelding. |
| DestructiveConfirm | Warning | Risicovol | Warning | Ja | Secondary | Danger | Ontkoppelen, sluiten, verwijderen of andere risicovolle bevestigingen. |
| CriticalBlocker | Critical | Kritiek | Alert | Ja | Secondary | Danger | Kritieke blokkade waarbij doorgaan niet veilig of toegestaan is. |
| CustomDefault | Custom | Afwijkend | Afhankelijk van renderer | Afhankelijk van renderer | Afhankelijk van renderer | Afhankelijk van renderer | Complexe popup met coded renderer. |
Variant-defaults
| Variant | LeftButton.Enabled default | LeftButton.Text default | LeftButton.Action default | RightButton.Enabled default | RightButton.Text default | RightButton.Action default | Input.Enabled | Input.Type default | Input.Required default | Input.MaxLength default | CustomRendererKey verplicht | Regel |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| InfoOnly | Nee | Ja | Ok | ClosePopup | Nee | Nee | Informatieve of blokkerende melding met één sluitactie. | |||||
| Confirm | Ja | Annuleren | ClosePopup | Ja | Nee | Nee | Bevestiging met secundaire veilige actie en primaire vervolgactie. | |||||
| InputText | Ja | Annuleren | ClosePopup | Ja | Ja | Text | Ja | 255 | Nee | Eén tekstveld met bevestigingsactie. | ||
| InputEmail | Ja | Annuleren | ClosePopup | Ja | Ja | Ja | 254 | Nee | Eén e-mailadresveld met e-mailvalidatie. | |||
| InputTextarea | Ja | Annuleren | ClosePopup | Ja | Ja | Textarea | Ja | 1000 | Nee | Eén tekstvlak met bevestigingsactie. | ||
| Custom | Afhankelijk van renderer | Afhankelijk van renderer | Afhankelijk van renderer | Ja | Complexe popup; rendering en gedrag liggen in code. |
Button theme-register
| ButtonTheme | Functionele betekenis | Visuele intentie | Gebruik |
|---|---|---|---|
| Primary | Primaire vervolgstap | Nadrukkelijke actie | Bevestigen, doorgaan, opslaan. |
| Secondary | Secundaire of veilige actie | Neutraal | Annuleren, terug, sluiten. |
| Danger | Destructieve of risicovolle actie | Rood / waarschuwend | Ontkoppelen, verwijderen, definitief sluiten, foutmelding bevestigen. |
| Success | Positieve bevestiging | Groen / bevestigend | Uitnodiging versturen of akkoord geven wanneer dat functioneel positief is. |
| Neutral | Lage-prioriteit actie | Terughoudend | Alleen lezen, oké, informatief sluiten. |
Importregels
| Onderwerp | Regel |
|---|---|
| Samenstelling | PopupDetails importdata wordt samengesteld uit de popup-registerregel, het gekozen ThemeKey en de gekozen Variant. |
| Volgorde van waarden | Popup-registerregel heeft voorrang op variant-defaults; variant-defaults hebben voorrang op theme-defaults wanneer zij hetzelfde technische veld raken. |
| PopupType | Wordt standaard bepaald door ThemeKey. Wanneer een andere PopupType nodig is, wordt een nieuw thema aangemaakt in plaats van een losse popupoverride. |
| CloseButtonEnabled | Komt standaard uit ThemeKey. Afwijking mag alleen via expliciete importoverride wanneer functioneel noodzakelijk. |
| ButtonTheme | Komt standaard uit ThemeKey. Afwijking mag alleen via expliciete importoverride. |
| ButtonText en ButtonAction | Komen uit het popup-register of, wanneer leeg, uit de variant-defaults. |
| InputType, Required en MaxLength | Komen uit de variant-defaults. InputKey en InputLabel komen uit het popup-register. |
| CustomRendererKey | Is alleen toegestaan en verplicht bij Variant=Custom. |
| Eén source of truth | Een niet-custom popup mag niet óók als volledige detailtabel worden uitgewerkt. |
Mapping naar PopupDetails
| PopupDetails veld | Bron |
|---|---|
PopupDetails.Key | PopupRegister.PopupKey |
PopupDetails.Type | PopupTheme.PopupType |
PopupDetails.Title | PopupRegister.Titel |
PopupDetails.Text | PopupRegister.Tekst |
PopupDetails.CloseButtonEnabled | PopupTheme.CloseButtonEnabled default, tenzij expliciet overschreven |
PopupDetails.LeftButton.Enabled | Variant.LeftButton.Enabled default, eventueel aangevuld door aanwezigheid van linker knoptekst of actie |
PopupDetails.LeftButton.Text | PopupRegister.LeftButtonText of Variant.LeftButton.Text default |
PopupDetails.LeftButton.ActionCallMethod | PopupRegister.LeftButtonAction of Variant.LeftButton.Action default |
PopupDetails.LeftButton.ButtonTheme | PopupTheme.LeftButtonTheme default, tenzij expliciet overschreven |
PopupDetails.RightButton.Enabled | Variant.RightButton.Enabled default, eventueel aangevuld door aanwezigheid van rechter knoptekst of actie |
PopupDetails.RightButton.Text | PopupRegister.RightButtonText of Variant.RightButton.Text default |
PopupDetails.RightButton.ActionCallMethod | PopupRegister.RightButtonAction of Variant.RightButton.Action default |
PopupDetails.RightButton.ButtonTheme | PopupTheme.RightButtonTheme default, tenzij expliciet overschreven |
| Inputvelden | Documentatie-/seedvelden op basis van Variant en registerregel; meer dan één inputveld is Custom. |
Invulregels
| Onderwerp | Regel |
|---|---|
| Geen losse kleuren | Gebruik ButtonTheme en ThemeKey; leg geen individuele hex-kleuren per popup vast. |
| Geen inhoud in thema | Titel, tekst, knoptekst en usecaseverwijzing horen niet in popup-themes.md. |
| PopupType | Moet aansluiten op de enumwaarden die de applicatie ondersteunt. |
| Variant | Moet aansluiten op één van de vastgelegde variant-defaults. |
| Custom popups | Custom popups kunnen een theme hebben, maar rendering en layout liggen in code. |
| Importeerbaarheid | Elke combinatie van niet-custom registerregel + variant + thema moet zonder extra detailtabel tot een importrecord kunnen worden omgezet. |