github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/views/components/edit/Any.html (about)

     1  <!-- Content managed by Project Forge, see [projectforge.md] for details. -->
     2  {% import (
     3    "fmt"
     4  
     5    "github.com/kyleu/dbaudit/app/lib/types"
     6  ) %}
     7  
     8  {% func Any(key string, id string, x any, t *types.Wrapped) %}{% stripspace %}
     9    {% switch t.Key() %}
    10    {% case types.KeyAny %}
    11      {%= Default(key, id, x, t) %}
    12    {% case types.KeyBit %}
    13      {%= Default(key, id, x, t) %}
    14    {% case types.KeyBool %}
    15      {%= Bool(key, id, x, false) %}
    16    {% case types.KeyByte %}
    17      {%= Default(key, id, x, t) %}
    18    {% case types.KeyChar %}
    19      {%= Default(key, id, x, t) %}
    20    {% case types.KeyDate %}
    21      {%= Default(key, id, x, t) %}
    22    {% case types.KeyEnum %}
    23      <span title="enum:{%s t.T.(*types.Enum).Ref %}">{%v x %}</span>
    24    {% case types.KeyEnumValue %}
    25      {%= Default(key, id, x, t) %}
    26    {% case types.KeyError %}
    27      {%= Default(key, id, x, t) %}
    28    {% case types.KeyFloat %}
    29      {%= Default(key, id, x, t) %}
    30    {% case types.KeyInt %}
    31      {%= Int(key, id, x) %}
    32    {% case types.KeyJSON %}
    33      {%= Default(key, id, x, t) %}
    34    {% case types.KeyList %}
    35      {%= Default(key, id, x, t) %}
    36    {% case types.KeyMap %}
    37      {%= Default(key, id, x, t) %}
    38    {% case types.KeyMethod %}
    39      {%= Default(key, id, x, t) %}
    40    {% case types.KeyNil %}
    41      {%= Default(key, id, x, t) %}
    42    {% case types.KeyOption %}
    43      {%= Option(key, id, x, t.T.(*types.Option)) %}
    44    {% case types.KeyRange %}
    45      {%= Default(key, id, x, t) %}
    46    {% case types.KeyReference %}
    47      {%= Default(key, id, x, t) %}
    48    {% case types.KeySet %}
    49      {%= Default(key, id, x, t) %}
    50    {% case types.KeyString %}
    51      {%= String(key, id, fmt.Sprint(x)) %}
    52    {% case types.KeyTime %}
    53      {%= Default(key, id, x, t) %}
    54    {% case types.KeyTimestamp %}
    55      {%= Default(key, id, x, t) %}
    56    {% case types.KeyTimestampZoned %}
    57      {%= Default(key, id, x, t) %}
    58    {% case types.KeyUnknown %}
    59      {%= Default(key, id, x, t) %}
    60    {% case types.KeyUUID %}
    61      {%= Default(key, id, x, t) %}
    62    {% case types.KeyValueMap %}
    63      {%= Default(key, id, x, t) %}
    64    {% case types.KeyXML %}
    65      {%= Default(key, id, x, t) %}
    66    {% default %}
    67      {%= Default(key, id, x, t) %}
    68    {% endswitch %}
    69  {% endstripspace %}{% endfunc %}
    70  
    71  {% func Default(key string, id string, x any, t types.Type) %}{% stripspace %}
    72    {% code
    73      msg := fmt.Sprintf("unhandled type: %s (%T)", t.String(), x)
    74      if x == nil {
    75        x = "∅"
    76      }
    77    %}
    78    <input title="{%s msg %}" value="{%v x %}" name="{%s key %}" id="{%s id %}" />
    79  {% endstripspace %}{% endfunc %}