Updating elements taking care of notices.
Now have:
text
checkbox
multicheckboxes
multiselect
select
image
name="{$ui.field}"{if $ui.value} checked{/if}>
<label for="{$ui.field}">{$ui.label}</label>
- {if $ui.dataError}<span class="form-error is-visible">{$ui.dataErrror}</span>{/if}
+ {if isset($ui.dataError)}<span class="form-error is-visible">{$ui.dataError}</span>{/if}
{if isset($ui.helpText)}<p class="help-text" id="{$ui.field}_HelpText">{$ui.helpText}</p>{/if}
{if isset($ui.errorText)}<span id="{$ui.field}_ErrorText" class="form-error">{$ui.errorText}</span>{/if}
</div>
{*
- Foundation 6 Text Area Input Field
+ Foundation 6 Editor
All parameters are required.
Do not list parameters if they're false. (We're not checking for false)
If supplying field data (formData) from the data abstract, supply a
"required" will be supplied by the abstract rather than in a parameter in
this array.
- {$fieldData = [
- 'data' => array Data from data abstract if using that,
+ {$ui = [
+ 'value' => string Value of the element
'field' => string Name of field that holds the data if not using data abstract,
'label' => string Label text for this field,
- 'placeholder' => string Placeholder string,
+ 'height' => integer Height in px,
+ 'media' => boolean Enable Media Button,
+ 'quicktags' => boolean Enable Quicktags,
'required' => boolean True if required,
- 'maxWidth' => string Size of input field using standard style notation ('900px', '15rem', ...),
'helpText' => string Help text for this input,
- 'errortext' => string Error text that appears when the field doesn't validate
+ 'errortext' => string Error text that appears when the field doesn't validate,
+ 'dataError' => string Error from data Abstract Class
]}
*}
-{if (!isset($fieldData.data) && !isset($fieldData.field)) || !isset($fieldData.label)}
- <div class="grid-x grid-margin-x">
- <div class="cell small-12">
- <span class="glm-required">Field Error: Required field information not supplied!</span>
- </div>
+<div class="grid-x grid-margin-x">
+ <div class="cell small-12">
+ <label for="{$ui.field}" class="{if $ui.required} glm-required{/if}">{$ui.label}</label>
+ {if isset($ui.value) && $ui.value}
+ {$textAreaContent = $ui.value|escape:quotes}
+ {else}
+ {$textAreaContent = ''}
+ {/if}
+ {$textAreaName = $ui.field}
+ {if isset($ui.height)} {$height = $ui.height} {else} {$height = 100} {/if}
+ {if isset($ui.media)} {$media_buttons = $ui.media} {else} {$media_buttons = false} {/if}
+ {if isset($ui.quicktags)} {$quicktags = $ui.quicktags} {else} {$quicktags = false} {/if}
+ {wp_editor(
+ $textAreaContent,
+ $textAreaName,
+ json_decode('{
+ "textarea_name": $textAreaContent,
+ "media_buttons": false,
+ "quicktags": false,
+ "editor_height": $height
+ }', true)
+ )}
+ <br>
+ {if $ui.dataError}<span class="form-error is-visible">{$ui.dataError}</span>{/if}
+ {if isset($ui.helpText)}<p class="help-text" id="{$ui.field}_HelpText">{$ui.helpText}</p>{/if}
+ {if isset($ui.errorText)}<span id="{$ui.field}_ErrorText" class="form-error">{$ui.errorText}</span>{/if}
</div>
-{else}
- {if isset(${$fieldData.data})} {* If using data abstract *}
- <div class="grid-x grid-margin-x">
- <div class="cell small-12 medium-3">
- <label for="{$fieldData.field}" class="{if $fieldData['data'].fieldRequired.$field} glm-required{/if}">{$fieldLabel}</label>
- </div>
- <div class="cell small-12 medium-9">
- <input type="text" id="{$field}" name="{$field}" value="{$data.fieldData.$field|escape}" {if $data.fieldRequired.$field}required{/if} placeholder="{$placeholder}" />
- {if $data.fieldFail.$field}<span class="form-error is-visible">{$data.fieldFail.$field}</span>{/if}
- </div>
- </div>
- {else} {* Using simple field *}
- <div class="small-12 columns">
- <label class="{if $fieldData.required} glm-required{/if}">{$fieldData.label}:
- <div
- {if isset($fieldData.helpText)}aria-describedby="{$fieldData.field}_HelpText"{/if}
- {if isset($fieldData.maxWidth)}style="width: {$fieldData.maxWidth} !important;"{/if}
- >
- {$editorOptions = '
- {
- "media_buttons": false,
- "quicktags": false'
- }
- {if isset($fieldData.height)}{$editorOptions = $editorOptions|cat:',
- "editor_height": '|cat:$fieldData.height}{/if}
- {if isset($fieldData.rows)}{$editorOptions = $editorOptions|cat:',
- "textarea_rows": '|cat:$fieldData.rows}{/if}
- {$editorOptions = $editorOptions|cat:'
- }'}
- {wp_editor(
- ${$fieldData.field},
- $fieldData.field,
- json_decode($editorOptions, true)
- )}
-
- {if isset($fieldData.helpText)}<p class="help-text" id="{$fieldData.field}_HelpText">{$fieldData.helpText}</p>{/if}
- {if isset($fieldData.errorText)}<span id="{$fieldData.field}_ErrorText" class="form-error">{$fieldData.errorText}</span>{/if}
- </div>
- </label>
- </div>
- {/if}
-{/if}
+</div>
+++ /dev/null
-{* Foundation 6 Image *}
-{* setup $data *}
-{* setup $field *}
-{* setup $fieldLabel *}
-<div class="grid-x grid-margin-x">
- <div class="cell small-12 medium-3">
- <label for="{$field}" class="text-right middle{if $data.fieldRequired.$field} glm-required{/if}">{$fieldLabel}:</label>
- </div>
- <div class="cell small-12 medium-9">
- <div {if $data.fieldFail.$field}class="glm-form-bad-input" data-tabid="glm-member-info-images"{/if}>
- {if $data.fieldData.$field}
- <div class="glm-row">
- <div class="glm-small-12 glm-medium-6">
- <div class="glm-galleryImage" data-id="{$field}">
- <img src="{$glmPluginMediaUrl}/images/small/{$data.fieldData.$field}">
- </div>
- </div>
- <div class="glm-small-11 glm-medium-6 glm-right">
- <br>
- <input type="checkbox" name="{$field}_delete"> Delete {$fieldLabel}<br>
- <span>{$data.fieldData.$field}</span>
- <br>
- </div>
- </div>
- {/if}
- <div class="glm-center"><b>New {$fieldLabel}</b> <input type="file" name="{$field}_new"></div>
- <div id="glm-galleryImageLarger_image" class="glm-imageDialog"><img src="{$glmPluginMediaUrl}/images/large/{$data.fieldData.$field}"></div>
- {if $data.fieldFail.$field}<p>{$data.fieldFail.$field}</p>{/if}
- </div>
- </div>
-</div>
--- /dev/null
+{*
+ Foundation 6 Image Field
+ All parameters are required.
+ Do not list parameters if they're false. (We're not checking for false)
+ If supplying field data (formData) from the data abstract, supply a
+ name of that in the "field" parameter. Also then certain parameters like
+ "required" will be supplied by the abstract rather than in a parameter in
+ this array.
+
+ {$ui = [
+ 'value' => string Value of the element
+ 'field' => string Name of field that holds the data if not using data abstract,
+ 'label' => string Label text for this field,
+ 'required' => boolean True if required,
+ 'helpText' => string Help text for this input,
+ 'errortext' => string Error text that appears when the field doesn't validate,
+ 'dataError' => string Error from data Abstract Class
+ ]}
+*}
+<div class="grid-x grid-margin-x">
+ <div class="cell small-12">
+ <label for="{$ui.field}" class="{if $ui.required} glm-required{/if}">{$ui.label}:</label>
+ <div class="grid-x grid-margin-x">
+ {if $ui.value}
+ <div class="cell small-12 medium-6">
+ <div class="glm-galleryImage" data-id="{$ui.field}">
+ <img src="{$glmPluginMediaUrl}/images/small/{$ui.value}">
+ </div>
+ </div>
+ <div class="cell small-12 medium-6">
+ <br>
+ <input type="checkbox" name="{$ui.field}_delete"> Delete {$ui.label}<br>
+ <span>{$ui.value}</span>
+ <br>
+ </div>
+ {/if}
+ <div class="cell small-12">
+ <b>New {$ui.label}</b>
+ <label for="{$ui.field}_button" class="button">Browse</label>
+ <input type="file" class="show-for-sr" id="{$ui.field}_button" name="{$ui.field}_new">
+ </div>
+ <div id="glm-galleryImageLarger_image" class="glm-imageDialog"><img src="{$glmPluginMediaUrl}/images/large/{$ui.field}"></div>
+ </div>
+ <div class="cell small-12">
+ {if $ui.dataError}<span class="form-error is-visible">{$ui.dataError}</span>{/if}
+ {if isset($ui.helpText)}<p class="help-text" id="{$ui.field}_HelpText">{$ui.helpText}</p>{/if}
+ {if isset($ui.errorText)}<span id="{$ui.field}_ErrorText" class="form-error">{$ui.errorText}</span>{/if}
+ </div>
+ </div>
+</div>
{$ui = [
'field' => string Name of field that holds the data if not using data abstract,
'label' => string Label text for this field,
+ 'value' => string Value for this field,
'list' => array Array of list key=value pairs value=>label
'required' => boolean True if required,
'helpText' => string Help text for this input,
{/foreach}
{/if}
- {if $ui.dataError}<span class="form-error is-visible">{$ui.dataErrror}</span>{/if}
+ {if $ui.dataError}<span class="form-error is-visible">{$ui.dataError}</span>{/if}
{if isset($ui.helpText)}<p class="help-text" id="{$field}_HelpText">{$ui.helpText}</p>{/if}
{if isset($ui.errorText)}<span id="{$field}_ErrorText" class="form-error">{$ui.errorText}</span>{/if}
</div>
--- /dev/null
+{*
+ Foundation 6 Select Field
+ All parameters are required.
+ Do not list parameters if they're false. (We're not checking for false)
+ If supplying field data (formData) from the data abstract, supply a
+ name of that in the "field" parameter. Also then certain parameters like
+ "required" will be supplied by the abstract rather than in a parameter in
+ this array.
+
+ {$ui = [
+ 'value' => string Value of the element
+ 'field' => string Name of field that holds the data if not using data abstract,
+ 'label' => string Label text for this field,
+ 'l_label' => string Field name to use for the option textNode
+ 'l_value' => string Field name to use for the option value
+ 'l_blank' => string Add empty option
+ 'l_size' => integer select size,
+ 'required' => boolean True if required,
+ 'helpText' => string Help text for this input,
+ 'errortext' => string Error text that appears when the field doesn't validate,
+ 'dataError' => string Error from data Abstract Class
+ ]}
+*}
+<div class="grid-x grid-margin-x">
+ <div class="cell small-12">
+ <label for="{$ui.field}" class="{if $ui.required} glm-required{/if}">{$ui.label}</label>
+ <select
+ id="{$ui.field}"
+ name="{$ui.field}[]"
+ multiple="multiple"
+ size="{$ui.l_size}"
+ {if $ui.required}required{/if} >
+
+ {if $ui.l_blank}<option value=""></option>{/if}
+
+ {foreach $ui.list as $v}
+ <option value="{$v.id}"{if in_array($v.id, $ui.value)} selected{/if}>{$v.name}</option>
+ {/foreach}
+ </select>
+
+ {if isset($ui.dataError)}<span class="form-error is-visible">{$ui.dataError}</span>{/if}
+ {if isset($ui.helpText)}<p class="help-text" id="{$ui.field}_HelpText">{$ui.helpText}</p>{/if}
+ {if isset($ui.errorText)}<span id="{$ui.field}_ErrorText" class="form-error">{$ui.errorText}</span>{/if}
+
+ </div>
+</div>
{if $ui.l_blank}<option value=""></option>{/if}
{foreach $ui.list as $v}
- <option value="{$v[$ui.l_value]}"{if $ui.value == $v[$ui.l_value]} selected="selected"{/if}>{$v[$ui.l_label]}</option>
+ {if isset($ui.l_value) && isset($ui.l_label)}
+ <option value="{$v[$ui.l_value]}"{if $ui.value == $v[$ui.l_value]} selected="selected"{/if}>{$v[$ui.l_label]}</option>
+ {else}
+ <option value="{$v}"{if $ui.value == $v} selected="selected"{/if}>{$v}</option>
+ {/if}
{/foreach}
</select>
- {if $ui.dataError}<span class="form-error is-visible">{$ui.dataErrror}</span>{/if}
- {if isset($ui.helpText)}<p class="help-text" id="{$field}_HelpText">{$ui.helpText}</p>{/if}
- {if isset($ui.errorText)}<span id="{$field}_ErrorText" class="form-error">{$ui.errorText}</span>{/if}
+ {if isset($ui.dataError) && $ui.dataError}<span class="form-error is-visible">{$ui.dataError}</span>{/if}
+ {if isset($ui.helpText)}<p class="help-text" id="{$ui.field}_HelpText">{$ui.helpText}</p>{/if}
+ {if isset($ui.errorText)}<span id="{$ui.field}_ErrorText" class="form-error">{$ui.errorText}</span>{/if}
</div>
</div>
]}
*}
-{if !isset($ui.field) || !isset($ui.label)}
- <div class="grid-x grid-margin-x">
- <div class="cell small-12">
- <span class="glm-required">Field Error: Required field information not supplied!</span>
- </div>
+<div class="grid-x grid-margin-x">
+ <div class="cell small-12">
+ <label for="{$ui.field}" class="{if $ui.required} glm-required{/if}">{$ui.label}</label>
+ <input
+ type="text"
+ id="{$ui.field}"
+ name="{$ui.field}"
+ value="{$ui.value|escape}"
+ {if isset($ui.pattern) && $ui.pattern}pattern="{$ui.pattern}"{/if}
+ {if $ui.required}required{/if}
+ {if isset($ui.placeholder) && $ui.placeholder}placeholder="{$ui.placeholder}"{/if}
+ {if isset($ui.errorText)}aria-errormessage="{$ui.field}_ErrorText"{/if}
+ {if isset($ui.helpText)}aria-describedby="{$ui.field}_HelpText"{/if}
+ {if isset($ui.maxWidth)}style="max-width: {$ui.maxWidth}"{/if}
+ {if isset($ui.maxLength)}max-length="{$ui.maxLength}"{/if}
+ />
+ {if isset($ui.dataError) && $ui.dataError}<span class="form-error is-visible">{$ui.dataError}</span>{/if}
+ {if isset($ui.helpText)}<p class="help-text" id="{$ui.field}_HelpText">{$ui.helpText}</p>{/if}
+ {if isset($ui.errorText)}<span id="{$ui.field}_ErrorText" class="form-error">{$ui.errorText}</span>{/if}
</div>
-{else}
- <div class="grid-x grid-margin-x">
- <div class="cell small-12">
- <label for="{$ui.field}" class="{if $ui.required} glm-required{/if}">{$ui.label}</label>
- <input
- type="text"
- id="{$ui.field}"
- name="{$ui.field}"
- value="{$ui.value|escape}"
- {if $ui.pattern}pattern="{$ui.pattern}"{/if}
- {if $ui.required}required{/if}
- placeholder="{$ui.placeholder}"
- {if isset($ui.errorText)}aria-errormessage="{$ui.field}_ErrorText"{/if}
- {if isset($ui.helpText)}aria-describedby="{$ui.field}_HelpText"{/if}
- {if isset($ui.maxWidth)}style="max-width: {$ui.maxWidth}"{/if}
- {if isset($ui.maxLength)}max-length="{$ui.maxLength}"{/if}
- />
- {if $ui.dataError}<span class="form-error is-visible">{$ui.dataErrror}</span>{/if}
- {if isset($ui.helpText)}<p class="help-text" id="{$ui.field}_HelpText">{$ui.helpText}</p>{/if}
- {if isset($ui.errorText)}<span id="{$ui.field}_ErrorText" class="form-error">{$ui.errorText}</span>{/if}
- </div>
- </div>
-{/if}
+</div>