<ips:template parameters="$name, $value='', $required, $maxlength=NULL, $disabled=FALSE, $class='', $placeholder='', $nullLang=NULL, $autoComplete=NULL" /> {{$valueAsArray = is_array( $value ) ? $value : explode( ',', $value );}} {{$valueToDisplay = is_array( $value ) ? implode( "\n", $value ) : $value;}} {{if ( !isset( $autoComplete['commaTrigger'] ) || $autoComplete['commaTrigger'] !== FALSE )}} {{// If the stored value has commas in it, we need to explode then implode to get the newlines}} {{if mb_stripos( $valueToDisplay, ',') !== FALSE}} {{$valueToDisplay = implode("\n", explode(",", $valueToDisplay));}} {{endif}} {{endif}} {{if ( isset( $autoComplete['freeChoice'] ) && !$autoComplete['freeChoice'] ) || ( isset( $autoComplete['prefix'] ) and $autoComplete['prefix'] ) }} <div {{if isset( $autoComplete['freeChoice'] ) && !$autoComplete['freeChoice']}}class="ipsJS_show"{{endif}} {{if isset( $autoComplete['prefix'] ) and $autoComplete['prefix']}}data-controller='core.global.core.prefixedAutocomplete'{{endif}}> {{endif}} <textarea name="{$name}" id='elInput_{expression="preg_replace('/[^a-zA-Z0-9\-_]/', '_', $name)"}' class="{$class}" {{if $maxlength !== NULL}}maxlength="{$maxlength}"{{endif}} {{if $required === TRUE}}aria-required='true'{{endif}} {{if $disabled}}disabled aria-disabled='true'{{endif}} {{if $placeholder}}placeholder="{$placeholder}"{{endif}} data-ipsAutocomplete {{if isset( $autoComplete['freeChoice'] ) && !$autoComplete['freeChoice']}}data-ipsAutocomplete-freeChoice='false'{{endif}} {{if isset( $autoComplete['forceLower'] ) && $autoComplete['forceLower']}}data-ipsAutocomplete-forceLower{{endif}} {{if isset( $autoComplete['maxItems'] )}}data-ipsAutocomplete-maxItems='{$autoComplete['maxItems']}'{{endif}} {{if !empty($autoComplete['unique'])}} data-ipsAutocomplete-unique {{endif}} {{if isset($autoComplete['source']) AND is_array( $autoComplete['source'] )}} list='{$name}_datalist' {{elseif !empty($autoComplete['source'])}} data-ipsAutocomplete-dataSource="{url="{$autoComplete['source']}"}" data-ipsAutocomplete-queryParam='input' {{endif}} {{if !empty($autoComplete['resultItemTemplate'])}} data-ipsAutocomplete-resultItemTemplate="{$autoComplete['resultItemTemplate']}" {{endif}} {{if isset( $autoComplete['minLength'] )}}data-ipsAutocomplete-minLength='{$autoComplete['minLength']}'{{endif}} {{if isset( $autoComplete['maxLength'] )}}data-ipsAutocomplete-maxLength='{$autoComplete['maxLength']}'{{endif}} {{if isset( $autoComplete['minAjaxLength'] )}}data-ipsAutocomplete-minAjaxLength='{$autoComplete['minAjaxLength']}'{{endif}} {{if isset( $autoComplete['disallowedCharacters'] )}}data-ipsAutocomplete-disallowedCharacters='{expression="json_encode( $autoComplete['disallowedCharacters'] )"}'{{endif}} {{if isset( $autoComplete['commaTrigger'] ) && $autoComplete['commaTrigger'] === FALSE}}data-ipsAutocomplete-commaTrigger='false'{{endif}} >{$valueToDisplay}</textarea> {{if isset( $autoComplete['prefix'] ) and $autoComplete['prefix']}} <div data-role='prefixRow' class='ipsHide' id='{{if ! empty($htmlId)}}{$htmlId}{{else}}{$name}{{endif}}_prefixWrap'> <input type='checkbox' name='{$name}_freechoice_prefix' {{if isset($valueAsArray['prefix'])}}checked{{endif}} class='ipsJS_hide'> <button type='button' id='{{if ! empty($htmlId)}}{$htmlId}{{else}}{$name}{{endif}}_prefix' data-role="prefixButton" data-ipsMenu data-ipsMenu-selectable="radio" data-ipsMenu-appendTo="{{if ! empty($htmlId)}}#{$htmlId}{{else}}#{$name}{{endif}}_prefixWrap" class='ipsButton ipsButton_light ipsButton_verySmall'><span>{{if isset($valueAsArray['prefix'])}}{$valueAsArray['prefix']}{{else}}{lang="select_prefix"}{{endif}}</span> <i class='fa fa-caret-down'></i></button> <input type='hidden' data-role='prefixValue' name='{$name}_prefix' value='{{if isset($valueAsArray['prefix'])}}{$valueAsArray['prefix']}{{endif}}'> <ul id='{{if ! empty($htmlId)}}{$htmlId}{{else}}{$name}{{endif}}_prefix_menu' data-role="prefixMenu" class='ipsMenu ipsMenu_selectable ipsMenu_auto ipsHide'> <li data-ipsMenuValue='-' class='ipsMenu_item ipsMenu_itemChecked'> <a href='#'>{lang="no_prefix"}</a> </li> <li class='ipsMenu_sep'> <hr> </li> </ul> </div> <noscript> <input type="hidden" name="{$name}_first_as_prefix" value="0"> {{$valueKeys = is_array( $value ) ? array_keys( $value ) : array_keys( explode( ',', $value ) );}} <input type="checkbox" name="{$name}_first_as_prefix" value="1" id="{$name}_first_as_prefix" {{if array_shift( $valueKeys ) === 'prefix'}}checked{{endif}}> <label for="{$name}_first_as_prefix">{lang="use_first_tag_as_prefix"}</label> </noscript> {{endif}} {{if ( isset( $autoComplete['freeChoice'] ) && !$autoComplete['freeChoice'] ) || ( isset( $autoComplete['prefix'] ) and $autoComplete['prefix'] ) }} </div> {{endif}} {{if isset( $autoComplete['desc'] )}} <span class='ipsFieldRow_desc'> {$autoComplete['desc']|raw} </span> {{endif}} {{if $nullLang}} {lang="or"} <span class='ipsCustomInput'> <input type="checkbox" role='checkbox' data-control="unlimited" name="{$name}_null" id="{expression="preg_replace('/[^a-zA-Z0-9\-_]/', '_', $name)"}_null" value="1" {{if $value === NULL}}checked aria-checked='true'{{endif}} {{if $disabled}}disabled{{endif}} aria-controls='{$name}' aria-labelledby='{$name}_null_label'> <span></span> </span> <label for='{expression="preg_replace('/[^a-zA-Z0-9\-_]/', '_', $name)"}_null' id='{expression="preg_replace('/[^a-zA-Z0-9\-_]/', '_', $name)"}_null_label' class='ipsField_unlimited'>{lang="$nullLang"}</label> {{endif}} {{if isset($autoComplete['source']) AND is_array( $autoComplete['source'] )}} <datalist id="{$name}_datalist"> {{foreach $autoComplete['source'] as $v}} <option value="$v">{$v}</option> {{endforeach}} </datalist> {{endif}} {{if isset( $autoComplete['freeChoice'] ) && !$autoComplete['freeChoice']}} <noscript> <select name="{$name}_noscript[]" multiple> {{foreach $autoComplete['source'] as $v}} <option value="$v" {{if in_array( $v, $valueAsArray )}}selected{{endif}}>{$v}</option> {{endforeach}} </select> {{if isset( $autoComplete['prefix'] ) and $autoComplete['prefix']}} <br><br> {lang="prefix_noscript"} <select name="{$name}_noscript_prefix"> <option value=""></option> {{foreach $autoComplete['source'] as $v}} <option value="$v" {{if isset( $valueAsArray['prefix'] ) and $valueAsArray['prefix'] === $v}}selected{{endif}}>{$v}</option> {{endforeach}} </select> {{endif}} </noscript> {{endif}}