adding query preservation and list results when closing the member profile drawer
authorAnthony Talarico <talarico@gaslightmedia.com>
Tue, 12 Mar 2019 14:07:12 +0000 (10:07 -0400)
committerAnthony Talarico <talarico@gaslightmedia.com>
Tue, 12 Mar 2019 14:07:12 +0000 (10:07 -0400)
js/memberManagement.js
views/admin/manageDashboard/index.html
views/admin/member/header.html

index d82b600..f6fee4c 100644 (file)
@@ -15,7 +15,16 @@ window.Glma = (function() {
         }
         jQuery.ajax(config);
     }
-
+    var clearQueryStorage = function(){
+        if( localStorage.getItem("glmaQueries") ){
+            localStorage.setItem("glmaQueries", JSON.stringify({}));
+        }
+    }
+    var clearActiveRecord = function(){
+        if( localStorage.getItem("glm-active-record") ){
+            localStorage.setItem("glm-active-record", JSON.stringify({}));
+        }
+    }
     var getSearchFieldValues = function(){
         if( localStorage.getItem("glmaQueries") ){
             var querySet = {};
@@ -57,7 +66,11 @@ window.Glma = (function() {
     var setActiveRecord = function(record){
         record.parent().addClass("glm-admin-active-record");
         record.parent().siblings().removeClass("glm-admin-active-record");
-        localStorage.setItem("active-record", record.parent().data("id"));
+        localStorage.setItem("glm-active-record", '[data-id="'+record.parent().data("id")+'"]');
+    }
+    var getActiveRecord = function(){
+        var activeRecord = localStorage.getItem("glm-active-record");
+        $("#member-results-container").find( $(activeRecord) ).addClass("glm-admin-active-record");
     }
      /**
      * setXHRData
@@ -215,10 +228,12 @@ window.Glma = (function() {
         resetAllFilters             : resetAllFilters,
         setXHRData                  : setXHRData,
         setActiveRecord             : setActiveRecord,
+        getActiveRecord             : getActiveRecord,
         startTransition             : startTransition,
         endTransition               : endTransition,
         confirmAction               : confirmAction,
         closeModalOverlay           : closeModalOverlay,
+        clearQueryStorage           : clearQueryStorage,
         /*
         * call this function with a data object to configure the logic
         * # glmAction
index 4912740..90fa324 100644 (file)
             option  : 'list',
             route   : 'list'
         };
+        window.Glma.clearQueryStorage();
         window.Glma.mergeProps(listData, actionData);
         window.Glma.manageMember(
             listData,
             });
             if( target.hasClass("member-record-name")){
                 window.Glma.setActiveRecord( target );
+
             }
             if( typeof target.data("confirm") !== "undefined"){
                 window.Glma.confirmAction({
                     overlay   : $("#glm-modal-overlay")
                 });
             }
+            if( typeof target.data("close") !== "undefined"){
+                M.Sidenav.getInstance($('.edit-screen')[0]).close();  
+                var queries = window.Glma.getSearchFieldValues();
+                window.Glma.mergeProps(data, queries);
+            }
             if( typeof target.data("norequest") == "undefined" ){
                 window.Glma.manageMember(
                     data,
                                 placeholder: "Categories",
                                 width: '100%' 
                             });
+                            window.Glma.getActiveRecord( );
                         }
                     },
                     function(error) {},
                     ajaxContentTypeOff
                 );  
             }
-            if( typeof target.data("close") !== "undefined"){
-                M.Sidenav.getInstance($('.edit-screen')[0]).close();  
-            }
+            // if( typeof target.data("close") !== "undefined"){
+            //     M.Sidenav.getInstance($('.edit-screen')[0]).close();  
+            //     var queries = window.Glma.getSearchFieldValues();
+            //     console.log(queries);
+            // }
         });
 
         $(document).on("click", ".pagination", function(e){
index 955d290..8eed0c1 100644 (file)
@@ -7,7 +7,7 @@
 {/if}
 
 <div class="wrap glm-associate-admin-wrap glm-associate-admin-member-wrap">
-    <div id="glm-close-drawer" data-close data-glmevent="click">X</div>
+    <div id="glm-close-drawer" data-close data-glmevent="click" data-route="list" data-option="list" data-view="list" data-overlay="list">X</div>
     <h2>
         {if $haveMember}
             <!--{ $terms.term_member_cap}: --> <span class="glm-notice">{$memberName}</span>