refactoring javascript, testing edit form submission
authorAnthony Talarico <talarico@gaslightmedia.com>
Fri, 4 Jan 2019 21:19:03 +0000 (16:19 -0500)
committerAnthony Talarico <talarico@gaslightmedia.com>
Fri, 4 Jan 2019 21:19:03 +0000 (16:19 -0500)
js/memberManagement.js
models/admin/member/memberInfo.php
models/admin/newDashboard/index.php
views/admin/manageDashboard/components/textSearch.html
views/admin/manageDashboard/index.html
views/admin/newDashboard/components/textSearch.html

index 2af25bd..144262a 100644 (file)
@@ -10,21 +10,33 @@ window.Glma = (function() {
             error: error
         });
     }
+    var memberRecordHandler = function(data){
+        return function(e){
+            $(".edit-screen").html('');
+            data.option     = "manage";
+            data.memberID   = $(this).parent().data('id');
+            memberID        = data.memberID;
+            Glma.memberSearch(
+                data,
+                function(complete) {},
+                function(success) {
+                    $(".edit-screen").html(success.searchData);
+                },
+                function(error) {
+                    console.log(error);
+                },
+                "POST",
+            );           
+            M.Sidenav.getInstance( $('.edit-screen')[0] ).open();   
+        }
+    }
     return {
         defaultData: {
             action          : 'glm_members_admin_ajax',
             glm_action      : 'memberManagement',
         },
-        adminSearch: function(data, complete, success, error, type){
-            xhr(
-                data,
-                complete, 
-                success,
-                error,
-                type,
-            );
-        },
-        memberEdit: function(data, complete, success, error, type){
+
+        memberSearch: function(data, complete, success, error, type){
             xhr(
                 data,
                 complete, 
@@ -33,9 +45,9 @@ window.Glma = (function() {
                 type,
             );
         },
-        textSearch: function(textSearchData){
+        textSearch: function(textSearchData, callback){
+     
             var searchResults   = {};
-            var imageUrl        = `{$glmPluginMediaUrl}/images`
             var listData = {
                 action      : 'glm_members_admin_ajax',
                 glm_action  : 'glmTextSearch',
@@ -43,14 +55,14 @@ window.Glma = (function() {
                 fields      : textSearchData.fields,
                 where       : textSearchData.where
             }
-            $('input#'+textSearchData.slug+'-text').autoComplete({
-                minChars: 1,
+            jQuery('input#'+textSearchData.slug+'-text').autoComplete({
+                minChars: 3,
                 source: function( request, response ) {
                     listData.query = request;
-                    $.ajax({
+                    jQuery.ajax({
                         dataType: "json",
                         type : 'POST',
-                        url: '{$ajaxUrl}',
+                        url: wp.ajax.settings.url,
                         data: listData,
                         success: function(data) {
     
@@ -75,31 +87,27 @@ window.Glma = (function() {
                     
                     search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
                     var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
+          
                     return '<div class="autocomplete-suggestion " data-langname="'+item[0]+'" data-lang="'+item[1]+'" data-val="'+search+'"><span class="member-record-name">'+item.replace(re, "<b>$1</b>")+'</span></div>';
 
                 },
-                // onSelect: function(e, term, item){
-                //     console.log(item);
-                //     var search = $(item).text();
 
-                //     if(search !== "No Results Found"){
-                //         window.location.replace("TEST");
-                //     }
-                // },
-                onSelect: function(e, term, item){
-                    alert('Item "'+item.data('langname')+' ('+item.data('lang')+')" selected by '+(e.type == 'keydown' ? 'pressing enter' : 'mouse click')+'.');
-                }
-                // select: function( event, ui ) {
-                //     console.log("ui:" + ui)
-                //     var memberID = ui.item.id;
-                //     window.location.replace("#=" + memberID );
-                // },
+                select: function( event, ui ) {
+                    console.log("Asdf")
+     
+                    if(searchType == "widget"){
+                        var memberID = ui.item.id;
+                        window.location.replace("#=" + memberID );
+                    }else if(searchType == "list"){
+                        
+                    }
+                },
             });
         },
         dateSearch: function(dateSearchData){
             var date = new Date();
             var toDate = '', fromDate = (dateSearchData.defaultFromDate) ? '&' + dateSearchData.fromDate + '=' + dateSearchData.defaultFromDate : '';
-            $('.fromDate').datepicker({
+            jQuery('fromDate').datepicker({
                 format          : 'mm/dd/yyyy',
                 setDefaultDate  : true,
                 defaultDate     : date,
@@ -108,7 +116,8 @@ window.Glma = (function() {
                     fromDate = '&' + dateSearchData.fromDate + '=' + $(this)[0].el.value; 
                 }
             });
-            $('.toDate').datepicker({
+            
+            jQuery('.toDate').datepicker({
                 format      : 'mm/dd/yyyy',
                 autoClose   : true,
                 onClose: function(){
@@ -121,7 +130,7 @@ window.Glma = (function() {
             });
         },
         listComponent: function(listComponentData) {
-            $('.tooltipped').tooltip();
+            jQuery('.tooltipped').tooltip();
         }
     }
 })();
\ No newline at end of file
index 0696787..f2d7926 100755 (executable)
@@ -317,7 +317,7 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo
             // Process submission of a member information record update
             case 'submit':
                 $support = new glmPluginSupport();
-                $support->write_log("gets here ==============================");
+          
                 // Check for new cities being submitted
                 $this->checkNewCities();
 
@@ -349,7 +349,7 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo
                     // Update the member Info data
                     $support->write_log( $_REQUEST['status']);
                     $this->memberInfo = $this->updateEntry($this->memberInfoID, 'id', true);
-                    // $support->write_log( $this->memberInfo );
+                    $support->write_log( $this->memberInfo );
                     if ($this->memberInfo['status']) {
                         $customFieldResults = apply_filters( 'glm-member-db-save-custom-fields', $this->memberInfoID );
                         if(is_array($customFieldResults)){
index 978be2b..0471522 100644 (file)
@@ -116,6 +116,15 @@ class GlmMembersAdmin_newDashboard_index extends GlmDataMembers
             ),
             GLM_MEMBERS_PLUGIN_VERSION
         );
+        wp_register_script(
+            'memberManagement',
+            GLM_MEMBERS_PLUGIN_URL . 'js/memberManagement.js',
+            array(
+                    'jquery'
+            ),
+            GLM_MEMBERS_PLUGIN_VERSION
+        );
+        wp_enqueue_script('memberManagement', false, array('jquery'), false, true);
         wp_enqueue_script('materialize', false, array('jquery'), false, true);
         wp_enqueue_script('autoComplete', false, array('jquery'), false, true);
         wp_enqueue_style('materialize-css', GLM_MEMBERS_PLUGIN_URL . 'css/materialize.min.css');
index 7c8cb47..2af437c 100644 (file)
@@ -7,12 +7,14 @@
 </div>
 <script>
     jQuery(function($){
-        textSearch({
+        console.log(window)
+        window.Glma.textSearch({
             table       : '{GLM_MEMBERS_PLUGIN_DB_PREFIX}members',
             fields      : 'id, name',
             where       : 'name',
             resultUrl   : '{GLM_MEMBERS_PLUGIN_ADMIN_URL}?page=glm-members-admin-menu-member',
-            slug        : 'glm-member-db'
-        })
+            slug        : 'glm-member-db',
+            searchType  : 'list'
+        });
     })
 </script>
\ No newline at end of file
index 53e1b23..44b090e 100644 (file)
@@ -50,7 +50,7 @@
         listData.view           = 'list';
         listData.option         = 'list';
 
-        Glma.adminSearch(
+        Glma.memberSearch(
             listData,
             $("#glm-admin-search-overlay").fadeOut('slow'), 
             function(data) {
@@ -67,7 +67,7 @@
             listData.filterFeatured = $("input[name='featuredSearch']:checked").length > 0 ? true : undefined;
             listData.filterPending  = $("input[name='pendingSearch']:checked").length > 0 ? true : undefined;
 
-            Glma.adminSearch(
+            Glma.memberSearch(
                 listData,
                 $("#glm-admin-search-overlay").fadeOut('slow'), 
                 function(data) {
@@ -85,7 +85,7 @@
                 data.option     = "manage";
                 data.memberID   = $(this).parent().data('id');
                 memberID            = data.memberID;
-                Glma.memberEdit(
+                Glma.memberSearch(
                     data,
                     function(complete) {},
                     function(success) {
             editData.option     = "edit";
             editData.memberInfo = $(this).data("memberinfo");
             editData.member     = memberID;
-            Glma.memberEdit(
+            Glma.memberSearch(
                 editData,
                 function(complete) {},
                 function(success) {
         });
     });
 
-    function textSearch(textSearchData){
-    // Text Search Component
-        jQuery(function($){
-            var searchResults   = {};
-            var imageUrl        = `{$glmPluginMediaUrl}/images`
-            var listData = {
-                action      : 'glm_members_admin_ajax',
-                glm_action  : 'glmTextSearch',
-                table       : textSearchData.table,
-                fields      : textSearchData.fields,
-                where       : textSearchData.where
-            }
+    // function textSearch(textSearchData, searchType){
+    // // Text Search Component
+    //     jQuery(function($){
+    //         var searchResults   = {};
+    //         var imageUrl        = `{$glmPluginMediaUrl}/images`
+    //         var listData = {
+    //             action      : 'glm_members_admin_ajax',
+    //             glm_action  : 'glmTextSearch',
+    //             table       : textSearchData.table,
+    //             fields      : textSearchData.fields,
+    //             where       : textSearchData.where
+    //         }
  
-            $('input#'+textSearchData.slug+'-text').autoComplete({
-                minChars: 1,
-                source: function( request, response ) {
-                    listData.query = request;
-                    $.ajax({
-                        dataType: "json",
-                        type : 'POST',
-                        url: '{$ajaxUrl}',
-                        data: listData,
-                        success: function(data) {
-                            if(data.searchData){
-                                var searchDropdown = [];
-                                for(var i = 0;i < data.searchData.length;i++){
-                                    var searchTitle = Object.keys(data.searchData[i])[0];
-                                    var image       = (data.searchData[i][searchTitle].image) ? data.searchData[i][searchTitle].image : null;
-                                    var memberID    = data.searchData[i][searchTitle].memberID;   
-                                    var entityID    = data.searchData[i][searchTitle].entityID;              
-                                    searchDropdown.push(searchTitle);
-                                    {literal} searchResults[searchTitle] = {image: image, memberID: memberID, entityID: entityID}; {/literal}
-                                }   
-                                {literal} response(searchDropdown); {/literal}
-                            }else{
-                                response(['No Results Found'])
-                            }
-                        }
-                    });
-                },
-                renderItem: function (item, search){
+    //         $('input#'+textSearchData.slug+'-text').autoComplete({
+    //             minChars: 1,
+    //             source: function( request, response ) {
+    //                 listData.query = request;
+    //                 $.ajax({
+    //                     dataType: "json",
+    //                     type : 'POST',
+    //                     url: '{$ajaxUrl}',
+    //                     data: listData,
+    //                     success: function(data) {
+    //                         if(data.searchData){
+    //                             var searchDropdown = [];
+    //                             for(var i = 0;i < data.searchData.length;i++){
+    //                                 var searchTitle = Object.keys(data.searchData[i])[0];
+    //                                 var image       = (data.searchData[i][searchTitle].image) ? data.searchData[i][searchTitle].image : null;
+    //                                 var memberID    = data.searchData[i][searchTitle].memberID;   
+    //                                 var entityID    = data.searchData[i][searchTitle].entityID;              
+    //                                 searchDropdown.push(searchTitle);
+    //                                 {literal} searchResults[searchTitle] = {image: image, memberID: memberID, entityID: entityID}; {/literal}
+    //                             }   
+    //                             {literal} response(searchDropdown); {/literal}
+    //                         }else{
+    //                             response(['No Results Found'])
+    //                         }
+    //                     }
+    //                 });
+    //             },
+    //             renderItem: function (item, search){
+
+    //                 search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+    //                 var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
+    //                 var entityID = 0;
+    //                 if(search !== "No Results Found"){
+    //                     entityID = searchResults[item].entityID;
+    //                 }
+    //                 if(searchType == "list"){
+    //                     return '<div data-id="'+entityID+'" class="autocomplete-suggestion" data-langname="'+item[0]+'" data-lang="'+item[1]+'" data-val="'+search+'"><div class="member-record-name">'+item.replace(re, "<b>$1</b>")+'</div></div>';
+    //                 }else if(searchType == "widget"){
 
-                    search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
-                    var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
-                    var entityID = 0;
-                    if(search !== "No Results Found"){
-                        entityID = searchResults[item].entityID;
-                    }
-                    return '<div data-id="'+entityID+'" class="autocomplete-suggestion" data-langname="'+item[0]+'" data-lang="'+item[1]+'" data-val="'+search+'"><div class="member-record-name">'+item.replace(re, "<b>$1</b>")+'</div></div>';
+    //                 }
                     
-                },
-                onSelect: function(e, term, item){
-                    memberRecordHandler();
-                }
-            });
-        });
-        function render(item, search){
-            return function(e){
+                    
+    //             },
+    //             onSelect: function(e, term, item){
+    //                 memberRecordHandler();
+    //             }
+    //         });
+    //     });
+    //     function render(item, search){
+    //         return function(e){
 
-            }
-        }
-    }
+    //         }
+    //     }
+    // }
 </script>
 
 {include file='admin/footer.html'}
\ No newline at end of file
index 12b57d8..1ef1daa 100644 (file)
@@ -7,12 +7,14 @@
 </div>
 <script>
     jQuery(function($){
-        textSearch({
+  
+        window.Glma.textSearch({
             table       : '{$component.table}',
             fields      : '{$component.fields}',
             where       : '{$component.where}',
             resultUrl   : '{$component.resultUrl}',
-            slug        : '{$addon.slug}'
-        })
+            slug        : '{$addon.slug}',
+            searchType  : "widget"
+        });
     })
 </script>
\ No newline at end of file