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 %}