Add empty components and smarter component inclusion
authorLaury GvR <laury@gaslightmedia.com>
Wed, 19 Sep 2018 20:59:20 +0000 (16:59 -0400)
committerLaury GvR <laury@gaslightmedia.com>
Wed, 19 Sep 2018 20:59:20 +0000 (16:59 -0400)
models/admin/newDashboard/index.php
views/admin/newDashboard/components/entityAmount.html [new file with mode: 0644]
views/admin/newDashboard/components/list.html [new file with mode: 0644]
views/admin/newDashboard/components/quickLinks.html
views/admin/newDashboard/components/textSearch.html [new file with mode: 0644]
views/admin/newDashboard/components/widgetSearch.html [deleted file]
views/admin/newDashboard/summaryWidget.html

index 12f8be2..b351c7d 100644 (file)
@@ -197,7 +197,6 @@ class GlmMembersAdmin_newDashboard_index extends GlmDataMembers
                 $addons[$a['slug']]['slug'] = $a['slug'];
                 $addons[$a['slug']]['index'] = $a['index'];
                 $addons[$a['slug']]['widgetData'] = apply_filters($a['slug'] . "-dashboard-widget", "");
-                echo $addons[$a['slug']]['widgetData']['widgetName'];
                 
             } else {
                 echo "<br>" . $a['slug'] .  " has no filter called " . $a['slug'] . "-dashboard-widget";
diff --git a/views/admin/newDashboard/components/entityAmount.html b/views/admin/newDashboard/components/entityAmount.html
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/views/admin/newDashboard/components/list.html b/views/admin/newDashboard/components/list.html
new file mode 100644 (file)
index 0000000..e69de29
index cf2eb00..55a0c53 100644 (file)
@@ -1,9 +1,9 @@
 <div id="{$addon.slug}-dashboard-widget-quick-links" class="dashboard-widget-quick-links quicklinks row">
     <div class="s12 col">
         {foreach $widgetField.quickLinks as $linkName => $linkData name=quickLinks}
-            <a class="{$linkName}-quick-link {if $linkData.classes}{$linkData.classes}{/if}" 
-                style="{if $linkData.styles}{$linkData.styles}{/if}" 
-                href="{if $linkData.url}{$linkData.url}{else}#{/if}">
+            <a class="{$linkName}-quick-link {if isset($linkData.classes)}{$linkData.classes}{/if}" 
+                style="{if isset($linkData.styles)}{$linkData.styles}{/if}" 
+                href="{if isset($linkData.url)}{$linkData.url}{else}#{/if}">
                 {if $linkData.content}{$linkData.content}{/if}
             </a>
             {if not $smarty.foreach.quickLinks.last}&nbsp;|&nbsp;{/if}
diff --git a/views/admin/newDashboard/components/textSearch.html b/views/admin/newDashboard/components/textSearch.html
new file mode 100644 (file)
index 0000000..d2d5949
--- /dev/null
@@ -0,0 +1,38 @@
+<div class="row">
+    <div class="s12 col input-field glm-widget-search">
+        <input id="{$addon.slug}" type="text" class="glm-widget-search-input search-autocomplete">
+        <label for="{$addon.slug}">Search</label>
+    </div>
+</div>
+<script>
+    jQuery(function($){
+   
+        let data = {
+            action      : 'glm_members_admin_ajax',
+            glm_action  : 'glmTextSearch',
+            table       : '{$widgetField.table}',
+            fields      : '{", "|implode:$widgetField.fields}'
+        }
+        $(function() {
+            $.ajax({
+                type: 'POST',
+                url: '{$ajaxUrl}',
+                data: data,
+                success: function(response) {
+                    let searchDropdown = {};
+                    
+                    for(let i = 0;i < response.searchData.length;i++){
+                        let searchTitle = Object.keys(response.searchData[i]);
+                        let image       = (response.searchData[i][searchTitle]) ? response.searchData[i][searchTitle] : null;
+                        searchDropdown[searchTitle] = null;
+                    }
+                    console.log(searchDropdown)
+                    $('input.search-autocomplete').autocomplete({
+                        minLength: 3,
+                        data: searchDropdown // The max amount of results that can be shown at once. Default: Infinity.
+                    });
+                }
+            });
+        })
+    });
+</script>
\ No newline at end of file
diff --git a/views/admin/newDashboard/components/widgetSearch.html b/views/admin/newDashboard/components/widgetSearch.html
deleted file mode 100644 (file)
index d2d5949..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<div class="row">
-    <div class="s12 col input-field glm-widget-search">
-        <input id="{$addon.slug}" type="text" class="glm-widget-search-input search-autocomplete">
-        <label for="{$addon.slug}">Search</label>
-    </div>
-</div>
-<script>
-    jQuery(function($){
-   
-        let data = {
-            action      : 'glm_members_admin_ajax',
-            glm_action  : 'glmTextSearch',
-            table       : '{$widgetField.table}',
-            fields      : '{", "|implode:$widgetField.fields}'
-        }
-        $(function() {
-            $.ajax({
-                type: 'POST',
-                url: '{$ajaxUrl}',
-                data: data,
-                success: function(response) {
-                    let searchDropdown = {};
-                    
-                    for(let i = 0;i < response.searchData.length;i++){
-                        let searchTitle = Object.keys(response.searchData[i]);
-                        let image       = (response.searchData[i][searchTitle]) ? response.searchData[i][searchTitle] : null;
-                        searchDropdown[searchTitle] = null;
-                    }
-                    console.log(searchDropdown)
-                    $('input.search-autocomplete').autocomplete({
-                        minLength: 3,
-                        data: searchDropdown // The max amount of results that can be shown at once. Default: Infinity.
-                    });
-                }
-            });
-        })
-    });
-</script>
\ No newline at end of file
index 86b2ef7..b4aaea7 100644 (file)
@@ -3,18 +3,15 @@
         <div class="summary-widget-handle collapsible-header"><pre> {$addon.widgetData.title}</pre></div>
         <div class="summary-widget-body collapsible-body">
             {foreach $addon.widgetData as $widgetField}
-                {if $widgetField.type == 'buttons'}
-                    {include file='../newDashboard/components/buttons.html'}
-                {/if}
-
-                {if $widgetField.type == 'quickLinks'}
-                    {include file='../newDashboard/components/quickLinks.html'}
-                {/if}
+                
+                {if isset($widgetField.component)}
+                                    
+                    {*if file_exists("./components/$widgetField.component.html") // wouldn't it be great if this worked?*}
 
-                <pre>{*$widgetField|@print_r*}</pre>
+                        {* This will throw a serious error if the file does not exist *}
+                        {include file="./components/{$widgetField.component}.html"}
 
-                {if $widgetField.type == 'textsearch'}
-                    {include file='../newDashboard/components/widgetSearch.html'}
+                    {*/if*}
                 {/if}
             {/foreach}
             <div class="results-number">