$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";
<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} | {/if}
--- /dev/null
+<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
+++ /dev/null
-<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
<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">