• Tier 1 customization comes alive in the SPA: custom fields
    declared in YAML metadata now render automatically in create
    forms without any compile-time knowledge of the field.
    
    New component: DynamicExtFields
      - Fetches custom field declarations from the existing
        /api/v1/_meta/metadata/custom-fields/{entityName} endpoint
      - Renders one input per declared field, type-matched:
        string → text, integer → number (step=1), decimal/money/
        quantity → number (step=0.01), boolean → checkbox,
        date → date picker, dateTime → datetime-local,
        enum → select dropdown, uuid → text
      - Labels resolve from labelTranslations using the active
        locale (i18n integration)
      - Required fields show a red asterisk
      - Values are collected in the ext map and sent with the
        create request
    
    Wired into: CreateItemPage (entityName="Item"),
    CreatePartnerPage (entityName="Partner"). Both now show a
    "Custom fields" section below the static fields when the
    entity has custom field declarations in metadata.
    
    No new backend code — the existing /api/v1/_meta/metadata/
    custom-fields endpoint already returns exactly the shape
    the component needs. This is P3.1: the runtime form renderer
    for Tier 1 customization.
    zichun authored
     
    Browse Code »