Input required, table (class, href, badge)

This commit is contained in:
Diana 2024-10-15 16:09:17 -05:00
parent f398ebb02d
commit 458ad520ca
6 changed files with 31 additions and 11 deletions

View file

@ -1,17 +1,20 @@
package components
type ContentTable struct {
ID string
AllTH []ContentTableTH
AllTD [][]ContentTableTD
ID string
TableClass string // table-primary, table-secondary,.. table-striped table-bordered
HeadClass string // table-dark table-light
AllTH []ContentTableTH
AllTD [][]ContentTableTD
}
type ContentTableTH struct {
ID string
Value string
ID string
ValueType string // -> default string, href, badge
Value string
}
type ContentTableTD struct {
ID string
Value string
Value interface{} // string or component struct according ValueType
}

View file

@ -1,12 +1,25 @@
{{define "content_table"}}
<table class="table table-hover" {{ if .ID }}id="{{.ID}}"{{end}}>
<thead>
<table class="table table-hover {{.TableClass}}" {{ if .ID }}id="{{.ID}}"{{end}}>
<thead class="{{.HeadClass}}">
<tr>
{{range $index, $col := .AllTH}}<th {{ if .ID }}id="{{.ID}}"{{end}} scope="col">{{ $col.Value }}</th>{{end}}
</tr>
</thead>
<tbody>
{{range .AllTD}}<tr scope="row">{{range .}}<td {{ if .ID }}id="{{.ID}}"{{end}}>{{ .Value }}</td>{{end}}</tr>{{end}}
{{range .AllTD}}<tr scope="row">
{{range $index, $item := .}}<td {{ if $item.ID }}id="{{$item.ID}}"{{end}}>
{{ with $x := index $.AllTH $index }}
{{ if eq $x.ValueType "href"}}
{{template "content_href" $item.Value}}
{{ else if eq $x.ValueType "badge"}}
{{template "content_badge" $item.Value}}
{{ else }}
{{ $item.Value }}
{{end}}
{{end}}
</td>
{{end}}</tr>
{{end}}
</tbody>
</table>
{{end}}

View file

@ -9,4 +9,5 @@ type FormInput struct {
Hint string
Error string
IsDisabled bool
IsRequired bool
}

View file

@ -5,6 +5,9 @@
{{if eq .IsDisabled true}}
disabled
{{end}}
{{if eq .IsRequired true}}
required
{{end}}
{{if ne .Value ""}}
value="{{.Value}}"
{{end}}

View file

@ -1,7 +1,7 @@
package components
type PageNav struct {
NavClass string // nav-pills
NavClass string // nav-pills, nav-underline
NavItems []PageNavItem
IsVertical bool
IsTab bool

View file

@ -8,7 +8,7 @@
class="nav-link dropdown-toggle {{if eq .IsActive true}}active{{end}} {{if eq .IsDisabled true}}disabled{{end}}">{{$item.Text}}</a>
<ul class="dropdown-menu">
{{ range $item.ChildItems}}
{{template "form_dropdown_item" .}}
{{template "content_dropdown_item" .}}
{{end}}
</ul>
</li>