WIP use array for setting up UI form elements
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 20 Jun 2019 20:37:27 +0000 (16:37 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 20 Jun 2019 20:37:27 +0000 (16:37 -0400)
Need to get with Chuck sometime to get his stuff integrated into the ui
elements.

views/admin/ui/f6-checkbox.html
views/admin/ui/f6-date.html [new file with mode: 0644]
views/admin/ui/f6-editor.html
views/admin/ui/f6-image.html
views/admin/ui/f6-multicheckboxes.html [new file with mode: 0644]
views/admin/ui/f6-select.html
views/admin/ui/f6-text.html

index 76ae596..882b29c 100644 (file)
@@ -2,6 +2,11 @@
 {* setup $data *}
 {* setup $field *}
 {* setup $fieldLabel *}
+{if isset($fieldData) && is_array($fieldData)}
+    {$data       = $fieldData.data}
+    {$field      = $fieldData.field}
+    {$fieldLabel = $fieldData.label}
+{/if}
 <div class="grid-x grid-margin-x">
     <div class="cell small-12">
         <input type="checkbox" id="{$field}" name="{$field}"{if $data.fieldData.$field.value} checked{/if} />
diff --git a/views/admin/ui/f6-date.html b/views/admin/ui/f6-date.html
new file mode 100644 (file)
index 0000000..f4b3d96
--- /dev/null
@@ -0,0 +1,29 @@
+{*
+    Foundation 6 Text Input Field
+    All parameters are required.
+    Only One of $data or $field may be used.
+    Do not list fields if they're false. (We're not checking for false)
+    {$fieldData = [
+        'data'          => array    Data from data abstract if using that,
+        '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,
+        'required'      => boolean  True if required,
+        'maxwidth'      => integer  Size of input field in characters,
+        'maxlength'     => integer  Maximum number of characters that may be entered,
+        'helptext'      => string   Help text for this input
+    ]}
+*}
+{if isset($fieldData) && is_array($fieldData)}
+    {$data       = $fieldData.data}
+    {$field      = $fieldData.field}
+    {$fieldLabel = $fieldData.label}
+{/if}
+<div class="grid-x grid-margin-x">
+    <div class="cell small-12">
+        <label for="{$field}" class="{if $data.fieldRequired.$field} glm-required{/if}">{$fieldLabel}</label>
+        <input type="text" id="{$field}" name="{$field}" value="{$data.fieldData.$field.date|escape}" {if $data.fieldRequired.$field}required{/if} />
+        {if $data.fieldFail.$field}<span class="form-error is-visible">{$data.fieldFail.$field}</span>{/if}
+        <span class="form-error">{$fieldLabel} is required!</span>
+    </div>
+</div>
index 3d697ed..ca3db92 100644 (file)
@@ -2,6 +2,11 @@
 {* setup $data *}
 {* setup $field *}
 {* setup $fieldLabel *}
+{if isset($fieldData) && is_array($fieldData)}
+    {$data       = $fieldData.data}
+    {$field      = $fieldData.field}
+    {$fieldLabel = $fieldData.label}
+{/if}
 <div class="grid-x grid-margin-x">
     <div class="cell small-12">
         <label for="{$field}" class="{if $data.fieldRequired.$field} glm-required{/if}">{$fieldLabel}</label>
index d76976b..70877b0 100644 (file)
@@ -2,6 +2,11 @@
 {* setup $data *}
 {* setup $field *}
 {* setup $fieldLabel *}
+{if isset($fieldData) && is_array($fieldData)}
+    {$data       = $fieldData.data}
+    {$field      = $fieldData.field}
+    {$fieldLabel = $fieldData.label}
+{/if}
 <div class="grid-x grid-margin-x">
     <div class="cell small-12">
         <label for="{$field}" class="{if $data.fieldRequired.$field} glm-required{/if}">{$fieldLabel}</label>
diff --git a/views/admin/ui/f6-multicheckboxes.html b/views/admin/ui/f6-multicheckboxes.html
new file mode 100644 (file)
index 0000000..c9ffdc2
--- /dev/null
@@ -0,0 +1,24 @@
+{* Foundation 6 Checkbox *}
+{* setup $data *}
+{* setup $field *}
+{* setup $fieldLabel *}
+{if isset($fieldData) && is_array($fieldData)}
+    {$data       = $fieldData.data}
+    {$field      = $fieldData.field}
+    {$fields     = $fieldData.fields}
+    {$fieldLabel = $fieldData.label}
+{/if}
+<div class="grid-x grid-margin-x">
+    <div class="cell small-12">
+        {if isset($fields) && $fields}
+            {foreach $fields as $checkbox => $checkboxLabel}
+                <label class="{if $data.fieldRequired.$checkbox} glm-required{/if}">
+                    <input type="checkbox" id="{$checkbox}" name="{$checkbox}"{if isset($data.fieldData.$checkbox.value) && $data.fieldData.$checkbox.value} checked{/if} />
+                    {$checkboxLabel}
+                </label>
+            {/foreach}
+        {/if}
+        {if $data.fieldFail.$field}<span class="form-error is-visible">{$data.fieldFail.$field}</span>{/if}
+        <span class="form-error">{$field} is Required!</span>
+    </div>
+</div>
index 0a671ed..8e0509b 100644 (file)
@@ -3,10 +3,13 @@
 {* setup $field *}
 {* setup $fieldLabel *}
 {* Optional: set $fieldClass *}
-{if !isset($fieldClass) || $fieldClass == ''}{$fieldClass = 'small-12'}{/if}
-
+{if isset($fieldData) && is_array($fieldData)}
+    {$data       = $fieldData.data}
+    {$field      = $fieldData.field}
+    {$fieldLabel = $fieldData.label}
+{/if}
 <div class="grid-x grid-margin-x">
-    <div class="cell {$fieldClass}">
+    <div class="cell small-12">
         <label for="{$field}" class="{if $data.fieldRequired.$field} glm-required{/if}">{$fieldLabel}</label>
         <select id="{$field}" name="{$field}" {if $data.fieldRequired.$field}required{/if}>
             {foreach from=$data.fieldData.$field.list item=v}
index 455cb1d..9f7e66f 100644 (file)
@@ -1,11 +1,26 @@
-{* Foundation 6 Text *}
-{* setup $data *}
-{* setup $field *}
-{* setup $fieldLabel *}
-{* Optional: set $fieldClass *}
-{if !isset($fieldClass)}{$fieldClass = 'small-12'}{/if}
+{*
+    Foundation 6 Text Input Field
+    All parameters are required.
+    Only One of $data or $field may be used.
+    Do not list fields if they're false. (We're not checking for false)
+    {$fieldData = [
+        'data'          => array    Data from data abstract if using that,
+        '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,
+        'required'      => boolean  True if required,
+        'maxwidth'      => integer  Size of input field in characters,
+        'maxlength'     => integer  Maximum number of characters that may be entered,
+        'helptext'      => string   Help text for this input
+    ]}
+*}
+{if isset($fieldData) && is_array($fieldData)}
+    {$data       = $fieldData.data}
+    {$field      = $fieldData.field}
+    {$fieldLabel = $fieldData.label}
+{/if}
 <div class="grid-x grid-margin-x">
-    <div class="cell {$fieldClass}">
+    <div class="cell small-12">
         <label for="{$field}" class="{if $data.fieldRequired.$field} glm-required{/if}">{$fieldLabel}</label>
         <input type="text" id="{$field}" name="{$field}" value="{$data.fieldData.$field|escape}" {if $data.fieldRequired.$field}required{/if} />
         {if $data.fieldFail.$field}<span class="form-error is-visible">{$data.fieldFail.$field}</span>{/if}