Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d83eed4f3 | |||
| 892ab64064 | |||
| dbe2f72344 | |||
| 8b9728c3d2 |
3 changed files with 62 additions and 0 deletions
20
response.go
20
response.go
|
|
@ -9,10 +9,13 @@ import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Response represents an HTTP response to be sent to the client, including headers, body, status code, and metadata.
|
// Response represents an HTTP response to be sent to the client, including headers, body, status code, and metadata.
|
||||||
type Response struct {
|
type Response struct {
|
||||||
|
FlashMessage string
|
||||||
|
MsgType string
|
||||||
headers []header
|
headers []header
|
||||||
body []byte
|
body []byte
|
||||||
statusCode int
|
statusCode int
|
||||||
|
|
@ -144,6 +147,23 @@ func (rs *Response) Redirect(url string) *Response {
|
||||||
}, map[string]interface{}{
|
}, map[string]interface{}{
|
||||||
"url": "url",
|
"url": "url",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if rs.FlashMessage != "" || rs.MsgType != "" {
|
||||||
|
if !strings.Contains(url, "?") {
|
||||||
|
url += "?"
|
||||||
|
} else {
|
||||||
|
url += "&"
|
||||||
|
}
|
||||||
|
if rs.FlashMessage != "" {
|
||||||
|
url += "flash_message=" + rs.FlashMessage
|
||||||
|
}
|
||||||
|
if rs.MsgType != "" {
|
||||||
|
if rs.FlashMessage != "" {
|
||||||
|
url += "&"
|
||||||
|
}
|
||||||
|
url += "msg_type=" + rs.MsgType
|
||||||
|
}
|
||||||
|
}
|
||||||
if v.Failed() {
|
if v.Failed() {
|
||||||
if url[0:1] != "/" {
|
if url[0:1] != "/" {
|
||||||
rs.redirectTo = "/" + url
|
rs.redirectTo = "/" + url
|
||||||
|
|
|
||||||
14
template/components/form_color_opacity.go
Normal file
14
template/components/form_color_opacity.go
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
package components
|
||||||
|
|
||||||
|
type FormColorOpacity struct {
|
||||||
|
ColorID string
|
||||||
|
OpacityID string
|
||||||
|
Label string
|
||||||
|
ColorHexValue string
|
||||||
|
OpacityValue string
|
||||||
|
Hint string
|
||||||
|
Error string
|
||||||
|
IsDisabled bool
|
||||||
|
IsRequired bool
|
||||||
|
HasOpacity bool
|
||||||
|
}
|
||||||
28
template/components/form_color_opacity.html
Normal file
28
template/components/form_color_opacity.html
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{{ define "form_color_opacity"}}
|
||||||
|
<div class="input-container">
|
||||||
|
<script src="/public/jscolor.js"></script>
|
||||||
|
<label class="form-label" for="{{.ColorID}}">{{.Label}}</label><br>
|
||||||
|
<input id="{{ .ColorID }}" data-jscolor="{alphaElement:'#{{ .OpacityID }}'}" value="{{ .ColorHexValue }}" name="{{ .ColorID }}"
|
||||||
|
{{if eq .IsDisabled true}}
|
||||||
|
disabled
|
||||||
|
{{end}}
|
||||||
|
{{if eq .IsRequired true}}
|
||||||
|
required
|
||||||
|
{{end}}
|
||||||
|
>
|
||||||
|
{{if eq .HasOpacity true}}
|
||||||
|
opacity: <input id="{{ .OpacityID }}" value="{{ .OpacityValue }}" name="{{ .OpacityID }}" size="5"
|
||||||
|
{{if eq .IsDisabled true}}
|
||||||
|
disabled
|
||||||
|
{{end}}
|
||||||
|
{{if eq .IsRequired true}}
|
||||||
|
required
|
||||||
|
{{end}}
|
||||||
|
>
|
||||||
|
{{if ne .Hint ""}}<small id="{{.ID}}Help" class="form-text text-muted">{{.Hint}}</small>{{end}}
|
||||||
|
{{if ne .Error ""}}<div class="error">{{.Error}}</div>{{end}}
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{end}}
|
||||||
|
<input type="text" id="name" name="name" placeholder class="form-control" required autocomplete="off" value="Plaza estrella" aria-describedby="nameHelp">
|
||||||
Loading…
Add table
Add a link
Reference in a new issue