{{- $id := printf "nav-%d" .Ordinal -}} {{ with .Get "id" }} {{ $id = . }} {{ end }} {{- $class := .Get "class" | default "" -}} {{ $type := .Get "type" | default "" -}} {{ $supportedNavTypes := slice "tabs" "pills" "underline" -}} {{ if $type }} {{ if not (in $supportedNavTypes $type) -}} {{ errorf "Invalid value for param 'type': %s" $type -}} {{ end -}} {{ end -}} {{ $supportedFlags := slice "true" "false" -}} {{ $verticalParam := "false" -}} {{ $vertical := false -}} {{ with .Get "vertical" }}{{ $verticalParam = . }}{{ end -}} {{ if in $supportedFlags $verticalParam -}} {{ if eq $verticalParam "true" }}{{ $vertical = true }}{{ else }}{{ $vertical = false }}{{ end -}} {{ else -}} {{ errorf "Invalid value for param 'vertical': %s" $verticalParam -}} {{- end -}} {{ $fadeParam := "false" -}} {{ with .Get "fade" }}{{ $fadeParam = . }}{{ end -}} {{ if not (in $supportedFlags $fadeParam) -}} {{ errorf "Invalid value for param 'fade': %s" $fadeParam -}} {{- end -}} {{- if and (eq $type "tabs") $vertical -}} {{- errorf "Tabs do not support vertical layout" -}} {{- end -}} {{ $inner := .Scratch.Get "inner" }} {{ $input := trim .Inner " \r\n" }} {{ if $input }} {{ $input = replace $input "\n" "\n " }} {{ warnf "Unexpected inner content: %s\r\n %s" .Position $input }} {{ end }} {{- $items := findRE "data-header=\"(.+?)\"" $inner -}} {{- $showVal := findRE "data-show-id=\"(.+?)\"" $inner -}} {{- $showID := -1 -}} {{- if gt (len $showVal) 0 -}} {{- $showID = int (partial "utilities/GetVal.html" (index $showVal 0)) -}} {{- end -}} {{ $disabled := slice -}} {{- $disabledVal := findRE "data-disabled-id=\"(.+?)\"" $inner -}} {{- range $item := $disabledVal -}} {{- $disabled = $disabled | append (int (partial "utilities/GetVal.html" $item)) -}} {{- end -}} {{- $hasContent := gt (len (findRE "data-has-content=\"true\"" $inner)) 0 -}} {{ if $vertical }}
{{ end }} {{- if $hasContent -}}
{{- $inner | safeHTML -}}
{{- end -}} {{ if $vertical }}
{{ end }}