You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.5 KiB

4 years ago
  1. {{/*
  2. Copyright (C) 2019 Josh Habdas <jhabdas@protonmail.com>
  3. This file is part of After Dark.
  4. After Dark is free software: you can redistribute it and/or modify
  5. it under the terms of the GNU Affero General Public License as published by
  6. the Free Software Foundation, either version 3 of the License, or
  7. (at your option) any later version.
  8. After Dark is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public License
  13. along with this program. If not, see <https://www.gnu.org/licenses/>.
  14. */ -}}
  15. {{ $permitted_attrs := .permitted_attrs }}
  16. {{ $boolean_attrs := .boolean_attrs }}
  17. {{ $validations := .validations }}
  18. {{ range $name, $value := .attrs }}
  19. {{ if and (ne $value nil) (in $permitted_attrs $name) }}
  20. {{ if ne "class" $name }}
  21. {{ if in $boolean_attrs $name }}
  22. {{ if eq $value "true" }}{{ $name }}{{ end }}
  23. {{ else if index $validations $name }}
  24. {{ if in (index $validations $name) $value }}
  25. {{ $name }}="{{ $value }}"
  26. {{ end }}
  27. {{ else }}
  28. {{ if eq $name "id" }}
  29. {{ $name }}="{{- $value | urlize -}}"
  30. {{ else }}
  31. {{ $name }}="{{ $value }}"
  32. {{ end }}
  33. {{ end }}
  34. {{ end }}
  35. {{ end }}
  36. {{ end }}
  37. class="form-control{{ with .attrs.class }} {{ . }}{{ end }}"