}
}
return {
+ queries : {},
defaultData: {
action : 'glm_members_admin_ajax',
glm_action : 'memberManagement',
type,
);
},
+ updateSearchFilterValues: function(){
+ var queries = {};
+ var searchFields = $(".glm-admin-search-field");
+ for(var i = 0; i < searchFields.length; i++){
+ var input = $(searchFields[i]);
+ var type = input.attr("data-searchType") ;
+ var field = input.attr("data-search") ;
+ switch(type){
+ case "checkbox":
+ queries[field] = input.prop("checked");
+ break;
+ case "select":
+ if(input.select2("val")){
+ queries[field] = input.select2("val").join(",");
+ }else{
+ queries[field] = ""
+ }
+ break;
+ case "text":
+ queries[field] = input.val();
+ break;
+ default:
+
+ }
+ }
+ localStorage.setItem("glmaQueries", JSON.stringify(queries) );
+ },
/*
* call this function with a data object to configure the logic
* # glmAction
'template' => 'checkbox',
'entityID' => 'member',
],
- [
- 'id' => 'pendingSearch',
- 'displayName' => 'Pending',
- 'order' => 7,
- 'template' => 'checkbox',
- 'entityID' => 'member',
- ],
+ // [
+ // 'id' => 'pendingSearch',
+ // 'displayName' => 'Pending',
+ // 'order' => 7,
+ // 'template' => 'checkbox',
+ // 'entityID' => 'member',
+ // ],
[
'id' => 'memberCount',
'displayName' => 'Member Count',
<div class="glm-row category-row">
<div>Categories: </div>
- <select id="filterCategories" name="filterCategories[]" multiple="multiple" size="1" class=""">
+ <select id="filterCategories" data-searchType="select" name="filterCategories[]" multiple="multiple" size="1" class="glm-admin-search-field" data-search="categorySearch">
{foreach from=$categories item=v}
<option value="{$v.id}" data-parent="{$v.parent}"{if $v.selected} selected{/if}>
{if $v.parent_id} {/if}{$v.name}
<label class="checkbox-search-filters">
- <input type="checkbox" name="{$component.id}" class="glm-admin-search-field"/>
+ <input type="checkbox" name="{$component.id}" class="glm-admin-search-field" data-search="filter{$component.displayName}" data-searchType="checkbox"/>
<span>{$component.displayName}</span>
</label>
\ No newline at end of file
<div class="row">
<div class="s12 col input-field glm-widget-search">
- <input id="glm-member-db-text" type="text" class="glm-widget-search-input search-autocomplete">
+ <input id="glm-member-db-text" type="text" class="glm-widget-search-input search-autocomplete glm-admin-search-field" data-search="textSearch" data-searchType="text">
<label for="glm-member-db-text">Search</label>
</div>
}
</style>
<script>
-
jQuery(function($){
+ function getSearchFieldValues(){
+ if( localStorage.getItem("glmaQueries") )
+ return JSON.parse(localStorage.getItem("glmQueries"));
+ else
+ return false
+ }
+
+ if( getSearchFieldValues() ){
+ window.Glma.queries = getSearchFieldValues();
+ }
+
+ window.Glma.updateSearchFilterValues();
var memberInfo, memberID;
var listData = {
action : Glma.defaultData.action,
$("#glm-admin-search-overlay").fadeOut('slow'),
function(data) {
$("#member-results-container").html(data.searchData);
+
},
function(error) {
console.log(error);
listData.filterArchived = $("input[name='archivedSearch']:checked").length > 0 ? true : undefined;
listData.filterFeatured = $("input[name='featuredSearch']:checked").length > 0 ? true : undefined;
listData.filterPending = $("input[name='pendingSearch']:checked").length > 0 ? true : undefined;
-
+ window.Glma.updateSearchFilterValues();
Glma.manageMember(
listData,
$("#glm-admin-search-overlay").fadeOut('slow'),
}else{
listData.categorySearch = "";
}
+ window.Glma.updateSearchFilterValues();
Glma.manageMember(
listData,
$("#glm-admin-search-overlay").fadeOut('slow'),
// listData.filterPending = $("input[name='pendingSearch']:checked").length > 0 ? true : undefined;
listData.pageSelect = $(this).text();
listData.prevStart = $("#pagination-data").attr("data-prevStart");
+ listData.nextStart = $("#pagination-data").attr("data-nextStart");
+ listData.limit = '{$limit}';
+
if (listData.prevStart) {
console.log("Prevstart enabled");
$(".pagination.previous-button").removeAttr("disabled");
console.log("Prevstart disabled");
$(".pagination.previous-button").attr("disabled", "disabled");
}
-
- listData.nextStart = $("#pagination-data").attr("data-nextStart");
if (listData.nextStart) {
console.log("Nextstart enabled");
$(".pagination.next-button").removeAttr("disabled");
$(".pagination.next-button").attr("disabled", "disabled");
}
- listData.limit = '{$limit}';
-
+
Glma.manageMember(
listData,
$("#glm-admin-search-overlay").fadeOut('slow'),