gioser

tawasuyu/brahman

Rust 296TOML 105JSON 14Markdown 73751 Definiciones

⎇ df089f0585e52435c1525abdf3a2c728cb5bc77a crates/core/brahman-cards/templates/ui_module_basic.ncl 35 líneas · 1.2 KB Historia crudo

feat(brahman-cards): templates Nickel canónicos para cada body kind df089f058 · Sergio ·

1# `ui_module_basic.ncl` — template canónico para Cards de tipo
2# UiModule (descriptores de módulos para metainterfaz yahweh).
3#
4# Use case típico: declarar un módulo nuevo sobrescribiendo `id`,
5# `label`, y aportando los `entities`/`menu`/`views` propios:
6#
7#     let base = import "ui_module_basic.ncl" in
8#     base & {
9#       id = "customers",
10#       label = "Clientes",
11#       entities = [
12#         { name = "Customer", label = "Cliente", fields = [...] },
13#       ],
14#       menu = [{ label = "Listar", view = "list" }],
15#       views = { list = { kind = "list", ... } },
16#     }
17#
18# El brazo lo dispatcha al `UiModuleJsonReader` por la presencia
19# simultánea de `entities` Y `views` Y `menu`.
20
21{
22  # Identidad: override siempre.
23  id | String | default = "TEMPLATE_ID",
24  label | String | default = "TEMPLATE_LABEL",
25
26  # Subtítulo opcional (tooltip en el sidebar). null por default.
27  description | default = null,
28
29  # Las 3 listas/maps son el **payload** real del módulo. El
30  # template las deja vacías para que el usuario las defina sin
31  # heredar nada útil-pero-equivocado de un default.
32  entities | default = [],
33  menu | default = [],
34  views | default = {},
35}