From 140db7a23bb1e72dd9466350e9738360af8344a8 Mon Sep 17 00:00:00 2001 From: Anthony Talarico Date: Thu, 21 Feb 2019 22:32:11 -0500 Subject: [PATCH] fixing a bug with the data store and search filters sending extra ajax requests --- js/memberManagement.js | 45 ++++++++++++++++--- .../manageDashboard/components/checkbox.html | 2 +- views/admin/manageDashboard/index.html | 20 ++++----- 3 files changed, 48 insertions(+), 19 deletions(-) diff --git a/js/memberManagement.js b/js/memberManagement.js index 75e2cb79..a866905b 100644 --- a/js/memberManagement.js +++ b/js/memberManagement.js @@ -29,6 +29,33 @@ window.Glma = (function() { M.Sidenav.getInstance( $('.edit-screen')[0] ).open(); } } + var getSearchFieldValues = function(){ + if( localStorage.getItem("glmaQueries") ){ + var setQueries = {}; + var queries = JSON.parse(localStorage.getItem("glmaQueries")); + for(var query in queries){ + if(queries[query]){ + setQueries[query] = queries[query]; + } + } + return setQueries; + }else{ + return false + } + } + var mergeProps = function(obj1, obj2){ + for(var prop in obj2){ + obj1[prop] = obj2[prop]; + } + } + var deleteProps = function(obj){ + console.log(obj) + var searchFields = $(".glm-admin-search-field"); + for(var i = 0; i < searchFields.length; i++){ + var field = $(searchFields[i]).attr("data-search") ; + delete obj[field]; + } + } var updateSearchFilterValues = function(){ var queries = {}; var searchFields = $(".glm-admin-search-field"); @@ -74,6 +101,10 @@ window.Glma = (function() { }, updateSearchFilterValues: updateSearchFilterValues, + getSearchFieldValues: getSearchFieldValues, + getSearchFieldValues: getSearchFieldValues, + deleteProps : deleteProps, + mergeProps: mergeProps, /* * call this function with a data object to configure the logic * # glmAction @@ -92,23 +123,25 @@ window.Glma = (function() { view : textSearchData.view } jQuery('input#'+textSearchData.slug+'-text').autoComplete({ - minChars: 0, + minChars:0, source: function( request, response ) { if( textSearchData.searchType == "list"){ listData.text_search = request; }else{ listData.query = request; } + deleteProps(listData); updateSearchFilterValues(); + var queries = getSearchFieldValues(); + mergeProps(listData, queries); + jQuery.ajax({ dataType: "json", type : 'POST', url: wp.ajax.settings.url, data: listData, success: function(data) { - if(data.searchData){ - console.log(data.searchData) if( textSearchData.searchType == "list"){ jQuery("#member-results-container").html(data.searchData); }else{ @@ -147,7 +180,7 @@ window.Glma = (function() { onSelect: function(e, term, item){ let search = jQuery(item).text(); - console.log(search); + console.log("select") if(search){ var entityData = { @@ -158,13 +191,13 @@ window.Glma = (function() { jQuery(".edit-screen").html(''); entityData.memberID = searchResults[search].entityID; entityData.option = "manage"; - console.log(entityData) + Glma.manageMember( entityData, function(complete) {}, function(success) { jQuery(".edit-screen").html(success.searchData); - console.log(searchResults[search].entityID) + M.Sidenav.getInstance( jQuery('.edit-screen')[0] ).open(); }, function(error) { diff --git a/views/admin/manageDashboard/components/checkbox.html b/views/admin/manageDashboard/components/checkbox.html index fdb5bb8e..a71bd30a 100644 --- a/views/admin/manageDashboard/components/checkbox.html +++ b/views/admin/manageDashboard/components/checkbox.html @@ -1,4 +1,4 @@ \ No newline at end of file diff --git a/views/admin/manageDashboard/index.html b/views/admin/manageDashboard/index.html index 9c9cc524..5bbb9fec 100644 --- a/views/admin/manageDashboard/index.html +++ b/views/admin/manageDashboard/index.html @@ -33,18 +33,8 @@