-
Notifications
You must be signed in to change notification settings - Fork 0
/
table_order_th_templ.go
124 lines (116 loc) · 3.11 KB
/
table_order_th_templ.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// Code generated by templ@v0.2.334 DO NOT EDIT.
package components
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
import "github.com/ItsNotGoodName/smtpbridge/web/icons"
import "github.com/ItsNotGoodName/smtpbridge/web/routes"
import "github.com/ItsNotGoodName/smtpbridge/web/helpers"
import "net/url"
type TableOrderTHProps struct {
Query url.Values
Ascending bool
Order string
Field string
}
func tableOrderTHAscending(enable, ascending bool) string {
if !enable || ascending {
return ""
}
return "1"
}
func TableOrderTH(props TableOrderTHProps) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, w io.Writer) (err error) {
templBuffer, templIsBuffer := w.(*bytes.Buffer)
if !templIsBuffer {
templBuffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templBuffer)
}
ctx = templ.InitializeContext(ctx)
var_1 := templ.GetChildren(ctx)
if var_1 == nil {
var_1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, err = templBuffer.WriteString("<a class=\"flex w-full items-center gap-2\" href=\"")
if err != nil {
return err
}
var var_2 templ.SafeURL = routes.EnvelopeList().URLQuery(helpers.Query(props.Query, "order", props.Field, "ascending", tableOrderTHAscending(props.Order == props.Field, props.Ascending)))
_, err = templBuffer.WriteString(templ.EscapeString(string(var_2)))
if err != nil {
return err
}
_, err = templBuffer.WriteString("\">")
if err != nil {
return err
}
err = var_1.Render(ctx, templBuffer)
if err != nil {
return err
}
if props.Ascending {
var var_3 = []any{templ.KV("opacity-0", props.Order != props.Field)}
err = templ.RenderCSSItems(ctx, templBuffer, var_3...)
if err != nil {
return err
}
_, err = templBuffer.WriteString("<div class=\"")
if err != nil {
return err
}
_, err = templBuffer.WriteString(templ.EscapeString(templ.CSSClasses(var_3).String()))
if err != nil {
return err
}
_, err = templBuffer.WriteString("\">")
if err != nil {
return err
}
err = icons.ArrowUpS("h-4 w-4").Render(ctx, templBuffer)
if err != nil {
return err
}
_, err = templBuffer.WriteString("</div>")
if err != nil {
return err
}
} else {
var var_4 = []any{templ.KV("opacity-0", props.Order != props.Field)}
err = templ.RenderCSSItems(ctx, templBuffer, var_4...)
if err != nil {
return err
}
_, err = templBuffer.WriteString("<div class=\"")
if err != nil {
return err
}
_, err = templBuffer.WriteString(templ.EscapeString(templ.CSSClasses(var_4).String()))
if err != nil {
return err
}
_, err = templBuffer.WriteString("\">")
if err != nil {
return err
}
err = icons.ArrowDownS("h-4 w-4").Render(ctx, templBuffer)
if err != nil {
return err
}
_, err = templBuffer.WriteString("</div>")
if err != nil {
return err
}
}
_, err = templBuffer.WriteString("</a>")
if err != nil {
return err
}
if !templIsBuffer {
_, err = templBuffer.WriteTo(w)
}
return err
})
}