Copy of ui elements from serverstats plugin
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 21 Jun 2019 20:01:14 +0000 (16:01 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 21 Jun 2019 20:01:14 +0000 (16:01 -0400)
Copy ui elements from Chuck's plugin

views/ui/f6/checkbox.html [new file with mode: 0644]
views/ui/f6/editor.html [new file with mode: 0644]
views/ui/f6/f6-image.html [new file with mode: 0644]
views/ui/f6/f6-select.html [new file with mode: 0644]
views/ui/f6/number.html [new file with mode: 0644]
views/ui/f6/section-name.html [new file with mode: 0644]
views/ui/f6/text.html [new file with mode: 0644]
views/ui/multiSelectSearch.html [new file with mode: 0644]
views/ui/std/deleteDialog.html [new file with mode: 0644]

diff --git a/views/ui/f6/checkbox.html b/views/ui/f6/checkbox.html
new file mode 100644 (file)
index 0000000..8eaa05c
--- /dev/null
@@ -0,0 +1,47 @@
+{*
+    Foundation 6 Checkbox Input Field
+    All parameters are required.
+    Only 0ne 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,
+        'helpText'      => string   Help text for this input,
+    ]}
+*}
+
+{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>
+{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="{$field}" class="text-right middle{if $data.fieldRequired.$field} glm-required{/if}">{$fieldLabel}</label>
+            </div>
+            <div class="cell small-12 medium-9">
+                <input type="checkbox" id="{$field}" name="{$field}"{if $data.fieldData.$field.value} checked{/if}> Yes
+                {if $data.fieldFail.$field}<span class="form-error is-visible">{$data.fieldFail.$field}</span>{/if}
+            </div>
+        </div>
+    {else}
+            <div class="small-12 columns">
+                <label for="{$fieldData.field}_FieldID" class="{if $fieldData['required']} glm-required{/if}">
+                    <input
+                        id="{$fieldData.field}_FieldID"
+                        type="checkbox"
+                        name="{$fieldData.field}"
+                        value="{${$fieldData.field}}"
+                        {if isset($fieldData.helpText)}aria-describedby="{$fieldData.field}_HelpText"{/if}
+                    >
+                    {$fieldData.label}:
+                    {if isset($fieldData.helpText)}<p class="help-text" id="{$fieldData.field}_HelpText">{$fieldData.helpText}</p>{/if}
+                </label>
+            </div>
+    {/if}
+{/if}
diff --git a/views/ui/f6/editor.html b/views/ui/f6/editor.html
new file mode 100644 (file)
index 0000000..331ef0b
--- /dev/null
@@ -0,0 +1,69 @@
+{*
+    Foundation 6 Text Area Input 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.
+
+    {$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'      => 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
+    ]}
+*}
+
+{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>
+{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}
diff --git a/views/ui/f6/f6-image.html b/views/ui/f6/f6-image.html
new file mode 100644 (file)
index 0000000..b7b28fa
--- /dev/null
@@ -0,0 +1,31 @@
+{* 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>
diff --git a/views/ui/f6/f6-select.html b/views/ui/f6/f6-select.html
new file mode 100644 (file)
index 0000000..288e233
--- /dev/null
@@ -0,0 +1,18 @@
+{* Foundation 6 Select *}
+{* 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">
+        <select id="{$field}" name="{$field}" required>
+            <option value=""></option>
+            {foreach from=$data.fieldData.$field.list item=v}
+                <option value="{$v.value}"{if isset($v.default) && $v.default} selected="selected"{/if}>{$v.name}</option>
+            {/foreach}
+        </select>
+        {if $data.fieldFail.$field}<span class="form-error is-visible">{$data.fieldFail.$field}</span>{/if}
+    </div>
+</div>
diff --git a/views/ui/f6/number.html b/views/ui/f6/number.html
new file mode 100644 (file)
index 0000000..4d87522
--- /dev/null
@@ -0,0 +1,62 @@
+{*
+    Foundation 6 Number Input Field
+    All parameters are required.
+    Only 0ne of $data or $field may be used.
+    DO NOT include 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,
+        'suffix'        => string   Suffix text to add after input field,
+        'min'           => integer  Minimum numeric value
+        'max'           => integer  Maximum numeric value
+        'maxWidth'      => integer  Size of input field in characters,
+        'message'       => string   Message string to display between label and input,
+        'helpText'      => string   Help text for this input,
+        'errortext'       => string   Error text that appears when the field doesn't validate
+    ]}
+*}
+
+{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>
+{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="{$field}" class="text-right middle{if $data.fieldRequired.$field} glm-required{/if}">{$fieldLabel}</label>
+            </div>
+            <div class="cell small-12 medium-9">
+                <input type="number" id="{$field}" name="{$field}"{if $data.fieldData.$field.value} checked{/if}> Yes
+                {if $data.fieldFail.$field}<span class="form-error is-visible">{$data.fieldFail.$field}</span>{/if}
+            </div>
+        </div>
+    {else}
+        <div class="small-12 columns">
+            <label for="{$fieldData.field}_FieldID" class="{if $fieldData.required} glm-required{/if}">
+                <input
+                    id="{$fieldData.field}_FieldID"
+                    type="text"
+                    pattern="number"
+                    name="{$fieldData.field}"
+                    value="{${$fieldData.field}}"
+                    {if $fieldData.required}required{/if}
+                    {if isset($fieldData.errorText)}aria-errormessage="{$fieldData.field}_ErrorText"{/if}
+                    {if isset($fieldData.helpText)}aria-describedby="{$fieldData.field}_HelpText"{/if}
+                    {if isset($fieldData.placeholder)}placeholder="{$fieldData.placeholder}"{/if}
+                    {if isset($fieldData.min)}min="{$fieldData.min}"{/if}
+                    {if isset($fieldData.min)}max="{$fieldData.max}"{/if}
+                    {if isset($fieldData.maxWidth)}style="width: {$fieldData.maxWidth}rem !important;"{/if}
+                >
+                {$fieldData.label}:
+                {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}
+            </label>
+        </div>
+    {/if}
+{/if}
diff --git a/views/ui/f6/section-name.html b/views/ui/f6/section-name.html
new file mode 100644 (file)
index 0000000..3f3c4f0
--- /dev/null
@@ -0,0 +1,24 @@
+{*
+    Foundation 6 - Form Section Title
+    All parameters are required.
+
+    {$fieldData = [
+        'title'     => string Section title text,
+        'helpText'  => string Additional text to describe this section
+    ]}
+*}
+{if !isset($fieldData.title)}
+    <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>
+{else}
+    <div class="grid-x">&nbsp;</div>
+    <div class="grid-x">
+        <div class="small-12">
+            <h3>{$fieldData.title}</h3>
+            {if isset($fieldData.helpText)}<p class="help-text">{$fieldData.helpText}</p>{/if}
+        </div>
+    </div>
+{/if}
\ No newline at end of file
diff --git a/views/ui/f6/text.html b/views/ui/f6/text.html
new file mode 100644 (file)
index 0000000..7a0632a
--- /dev/null
@@ -0,0 +1,72 @@
+{*
+    Foundation 6 Text Input 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.
+
+    {$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'      => string   Size of input field using standard style notation ('900px', '15rem', ...),
+        'maxlength'     => integer  Maximum number of characters that may be entered,
+        'helpText'      => string   Help text for this input,
+        'errortext'     => string   Error text that appears when the field doesn't validate
+    ]}
+*}
+
+{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>
+{else}
+    {if isset(${$fieldData.data})} {* If using data abstract *}
+        {$field = $fieldData.field}
+        <div class="grid-x grid-margin-x">
+            <div class="cell small-12">
+                <label for="{$fieldData.field}" class="{if $fieldData.data.fieldRequired.$field} glm-required{/if}">{$fieldData.label}</label>
+                <input
+                    type="text"
+                    id="{$fieldData.field}"
+                    name="{$fieldData.field}"
+                    value="{$fieldData.data.fieldData.$field|escape}"
+                    placeholder="{$fieldData.placeholder}"
+                    {if isset($fieldData.errorText)}aria-errormessage="{$fieldData.field}_ErrorText"{/if}
+                    {if isset($fieldData.helpText)}aria-describedby="{$fieldData.field}_HelpText"{/if}
+                    {if isset($fieldData.required)}required{/if}
+                    {if isset($fieldData.maxWidth)}style="max-width: {$fieldData.maxWidth}"{/if}
+                    {if isset($fieldData.maxLength)}max-length="{$fieldData.maxLength}"{/if}
+                    {if $fieldData.data.fieldRequired.$field}required{/if}
+                />
+                {if $fieldData.data.fieldFail.$field}<span class="form-error is-visible">{$fieldData.data.fieldFail.$field}</span>{/if}
+                {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>
+        </div>
+    {else} {* Using simple field *}
+        <div class="small-12 columns">
+            <label for="{$fieldData.field}_FieldID" class="{if $fieldData.required} glm-required{/if}">{$fieldData.label}:
+                <input
+                    id="{$fieldData.field}_FieldID"
+                    type="text"
+                    name="{$fieldData.field}"
+                    value="{${$fieldData.field}}"
+                    {if isset($fieldData.errorText)}aria-errormessage="{$fieldData.field}_ErrorText"{/if}
+                    {if isset($fieldData.helpText)}aria-describedby="{$fieldData.field}_HelpText"{/if}
+                    {if isset($fieldData.required)}required{/if} placeholder="{$fieldData.placeholder}"
+                    {if isset($fieldData.maxWidth)}style="max-width: {$fieldData.maxWidth}"{/if}
+                    {if isset($fieldData.maxLength)}max-length="{$fieldData.maxLength}"{/if}
+                >
+                {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}
+            </label>
+        </div>
+    {/if}
+{/if}
diff --git a/views/ui/multiSelectSearch.html b/views/ui/multiSelectSearch.html
new file mode 100644 (file)
index 0000000..90e9af0
--- /dev/null
@@ -0,0 +1,18 @@
+
+<div class="glm-row">
+    <b>{$multiSelectFilterSearchTerm}: </b>
+    <select id="{$multiSelectFilterID}" name="{$multiSelectFilterName}" multiple="multiple" size="1">
+{foreach from=$multiSelectFilterData item=v}
+        <option value="{$v.id}" data-parent="{$v.parent}"{if $v.selected} selected{/if}>
+            {if $v.parent_id}&nbsp;&nbsp;&nbsp;&nbsp;{/if}{$v.name}
+        </option>
+{/foreach}
+    </select>
+</div>
+<script>
+    jQuery(function($){
+        $("#{$multiSelectFilterID}").select2({
+            placeholder: "{$multiSelectFilterPlaceholder}"
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/views/ui/std/deleteDialog.html b/views/ui/std/deleteDialog.html
new file mode 100644 (file)
index 0000000..e3ea787
--- /dev/null
@@ -0,0 +1,49 @@
+{* Delete Dialog *}
+{* Set these variables to use the Dialog in your project *}
+{* $itemName   = Name of item *}
+{* $deleteUrl  = Url to delete item *}
+<a id="deleteButton" class="button button-secondary glm-button glm-right">Delete this {$itemName}</a>
+
+<div id="deleteDialog" class="glm-dialog-box" title="Delete {$itemName}">
+    <center>
+        <p><a id="deleteCancel" class="button button-primary">Cancel</a></p>
+        <p><input id="deleteSubmit" type="submit" value="Delete this {$itemName}"></p>
+    </center>
+    <div class="glm-item-container">
+        <p><center><span class="glm-error">WARNING:</span></center></p>
+        <p>
+            <span class="glm-warning">Clicking the "Delete this {$itemName}" button above will
+            delete all of the data and images associated with this event.
+            </span>
+        </p>
+        <p>
+            <span class="glm-error">
+                Once deleted, this information will no longer be available and cannot be retrieved!
+                If you are unsure that you want to completely remove this data, consider changing the status
+                of this event to "Archived" instead.
+            </span>
+        </p>
+    </div>
+</div>
+
+<script>
+    jQuery(function($){
+
+        // Delete Event dialog
+        $("#deleteDialog").dialog({
+            autoOpen: false,
+            minWidth: 400,
+            dialogClass: "glm-dialog-no-close"
+        });
+        $('#deleteButton').click( function() {
+            $('#deleteDialog').dialog('open');
+        });
+        $('#deleteCancel').click( function() {
+            $("#deleteDialog").dialog("close");
+        });
+        $('#deleteSubmit').click( function() {
+            window.location.replace('{$deleteUrl}');
+        });
+
+    });
+</script>