nirvash/templates/build.html

42 lines
No EOL
1.4 KiB
HTML

{{ $buildOpts := ((.Context).Value "adapter").BuildOptions }}
{{ $csrfToken := (.Context).Value "csrfToken" }}
{{ template "header" . }}
<h2>Build</h2>
<form class="build" method="POST" action="/build-run">
<input hidden type="text" name="csrfToken" value="{{$csrfToken}}"/>
{{ if $buildOpts }}
<details><summary>Build Options</summary>
{{ range $opt := $buildOpts }}
{{ if eq ($opt).Type "bool" }}
<label>{{($opt).Name}} <input type="checkbox" name="{{($opt).Name}}:{{($opt).Type}}"/></label><br/>
{{ end }}
{{ end }}
{{ range $opt := $buildOpts }}
{{ if eq ($opt).Type "int" }}
<label>{{($opt).Name}} <input type="number" step="1" name="{{($opt).Name}}:{{($opt).Type}}"/></label><br/>
{{ end }}
{{ end }}
{{ range $opt := $buildOpts }}
{{ if eq ($opt).Type "float" }}
<label>{{($opt).Name}} <input type="number" step="0.00000001" name="{{($opt).Name}}:{{($opt).Type}}"/></label><br/>
{{ end }}
{{ end }}
{{ range $opt := $buildOpts }}
{{ if eq ($opt).Type "string" }}
<label>{{($opt).Name}} <input type="text" name="{{($opt).Name}}:{{($opt).Type}}"/></label><br/>
{{ end }}
{{ end }}
{{ range $opt := $buildOpts }}
{{ if eq ($opt).Type "multilinestring" }}
<label>{{($opt).Name}} <textarea name="{{($opt).Name}}:{{($opt).Type}}"></textarea></label><br/>
{{ end }}
{{ end }}
</details>
{{ end }}
<input type="submit" value="Build"/>
</form>
{{ template "footer" . }}