github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/views/vsearch/Result.html (about) 1 <!-- Content managed by Project Forge, see [projectforge.md] for details. --> 2 {% import ( 3 "strings" 4 5 "github.com/kyleu/dbaudit/app" 6 "github.com/kyleu/dbaudit/app/controller/cutil" 7 "github.com/kyleu/dbaudit/app/lib/search" 8 "github.com/kyleu/dbaudit/app/lib/search/result" 9 "github.com/kyleu/dbaudit/views/components" 10 ) %} 11 12 {% func Result(res *result.Result, params *search.Params, as *app.State, ps *cutil.PageState) %} 13 <div class="card"> 14 <div class="right"> 15 {%- if res.Data == nil -%} 16 <em>{%s res.Type %}</em> 17 {%- elseif res.ID != "" -%} 18 <a href="#modal-{%s res.Type %}-{%s res.ID %}"><button type="button">{%s res.Type %}</button></a> 19 {%= components.JSONModal(res.Type + "-" + res.ID, res.Type, res.Data, 3) %} 20 {%- endif -%} 21 </div> 22 <h3>{% if res.Icon != "" %}<a href="{%s res.URL %}">{%= components.Icon(res.Icon, 18, "", ps) %}</a>{% space %}{% endif %}<a href="{%s res.URL %}">{% if res.Title == "" %}{%s res.URL %}{% else %}{%s res.Title %}{% endif %}</a></h3> 23 <p>{%= Match(params, res.Matches) %}</p> 24 {%- if res.HTML != "" -%} 25 <div>{%s= res.HTML %}</div> 26 {%- endif -%} 27 </div> 28 {% endfunc %} 29 30 {% func Match(params *search.Params, matches result.Matches) %} 31 <ul> 32 {%- if len(matches) == 0 -%} 33 <li><em>{%s params.Q %}</em></li> 34 {%- endif -%} 35 {%- for _, m := range matches -%} 36 <li> 37 <em>{%s m.Key %}</em>: 38 {%- code split := m.ValueSplit(params.Q) -%} 39 {%- for _, x := range split -%}{% if strings.EqualFold(x, params.Q) %}<strong>{%s x %}</strong>{% else %}{%s x %}{% endif %}{%- endfor -%} 40 </li> 41 {%- endfor -%} 42 </ul> 43 {% endfunc %}