From 55832fcd23691b8794521c392a4b21142d3386e4 Mon Sep 17 00:00:00 2001 From: Anthony Talarico Date: Fri, 9 Nov 2018 07:19:39 -0500 Subject: [PATCH] fixng admin settings bug when editing a record --- css/admin.min.css | 2 +- models/admin/ajax/mapSettingsAjax.php | 22 +++++++++++++++- sass/admin/_settings.scss | 6 +++++ views/admin/settings/mapSettings.html | 37 ++++++++++++++++++--------- 4 files changed, 53 insertions(+), 14 deletions(-) diff --git a/css/admin.min.css b/css/admin.min.css index ab72ae5..522e2e7 100644 --- a/css/admin.min.css +++ b/css/admin.min.css @@ -1 +1 @@ -#new-area-section{background-color:white}#new-area-section .input-container{margin-bottom:0;padding:0 10px 0 10px}#new-area-section .input-container input.area-name{margin:10px 10px 0 0px}#new-area-section .input-container input.area-name+label{top:15px !important}#new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child){line-height:1;min-height:20px}#new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) span,#new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) a{line-height:1;padding:2px 10px}#new-area-section .map-color-selection{margin-top:20px}#new-area-section .map-color-selection label{margin-left:15px;font-size:16px}#list-header{padding:5px;background-color:#003366;color:white}#list-header .area-header{color:inherit}#area-list .record-container{margin-bottom:2px}#area-list .record-container .area-record{padding:5px;background-color:white}#area-list .record-container .area-record:hover{cursor:pointer}#area-list .record-container .area-record .area-record-delete{position:relative;right:15px}#area-list .record-container .area-record .area-record-delete:hover{cursor:pointer} +#new-area-section{background-color:white}#new-area-section .input-container{margin-bottom:0;padding:0 10px 0 10px}#new-area-section .input-container input.area-name{margin:10px 10px 0 0px}#new-area-section .input-container input.area-name+label{top:15px !important}#new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child){line-height:1;min-height:20px}#new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) span,#new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) a{line-height:1;padding:2px 10px}#new-area-section .map-color-selection{margin-top:20px}#new-area-section .map-color-selection label{margin-left:15px;font-size:16px}#list-header{padding:5px;background-color:#003366;color:white}#list-header .area-header{color:inherit}#area-list .record-container{margin-bottom:2px}#area-list .record-container .area-record{padding:5px;background-color:white}#area-list .record-container .area-record:hover{cursor:pointer}#area-list .record-container .area-record .area-record-delete{position:relative;right:15px}#area-list .record-container .area-record .area-record-delete:hover{cursor:pointer}.edit-field{background-color:rgba(30,202,162,0.3) !important}.error-field{background-color:rgba(244,67,54,0.3) !important} diff --git a/models/admin/ajax/mapSettingsAjax.php b/models/admin/ajax/mapSettingsAjax.php index bf59cee..432ad12 100644 --- a/models/admin/ajax/mapSettingsAjax.php +++ b/models/admin/ajax/mapSettingsAjax.php @@ -100,6 +100,7 @@ class GlmMembersAdmin_ajax_mapSettingsAjax extends GlmDataMapSettings } // If there's an action option if ( $option ) { + switch( $option ) { case 'add': @@ -125,8 +126,27 @@ class GlmMembersAdmin_ajax_mapSettingsAjax extends GlmDataMapSettings case 'update': if ( $id > 0 ) { - $this->updateEntry( $id ); + $test = $id; + $area_name = filter_var($_REQUEST['area_name'], FILTER_SANITIZE_STRING); + $page_id = (isset($_REQUEST['page_id'])) ? filter_var($_REQUEST['page_id'], FILTER_SANITIZE_STRING) : 0; + $hover_color = filter_var($_REQUEST['hover_color'], FILTER_SANITIZE_URL); + $this->wpdb->update( + GLM_MEMBERS_COUNTY_MAP_PLUGIN_DB_PREFIX . 'areas', + array( + 'area_name' => $area_name, + 'hover_color' => $area_color, + 'page_id' => $page_id + ), + array( 'id' => $id ), + array( + '%s', + '%s', + '%d' + ), + array( '%d' ) + ); } + $areas = $this->getAreas(); break; case 'delete': diff --git a/sass/admin/_settings.scss b/sass/admin/_settings.scss index 534a1c2..1967284 100644 --- a/sass/admin/_settings.scss +++ b/sass/admin/_settings.scss @@ -58,4 +58,10 @@ } } } +} +.edit-field{ + background-color: rgba(30, 202, 162, 0.3) !important; +} +.error-field{ + background-color: rgba(244, 67, 54, 0.3) !important; } \ No newline at end of file diff --git a/views/admin/settings/mapSettings.html b/views/admin/settings/mapSettings.html index 36a1ff5..859a4f0 100644 --- a/views/admin/settings/mapSettings.html +++ b/views/admin/settings/mapSettings.html @@ -1,4 +1,4 @@ - +
@@ -63,7 +63,7 @@ data: data, success: function(data) { if(data.areas.list){ - $('#area-list').not( $("#list-header") ).empty(); + $('#area-list').empty(); data.areas.list.forEach( function(area) { $("
" + area.area_name + " " + pages[area.page_id] + "" + area.hover_color + " delete_forever
").appendTo( $("#area-list") ); @@ -74,24 +74,30 @@ }; // Form interaction events - $('button').on("click", function(){ + $(document).on("click", '#area-update',function(){ + if($("#area-name").val() ){ - data.option = 'add'; + + data.option = $(this).data("option"); data.area_name = capitalize($("#area-name").val()); + $("#map-color").val(); data.page_id = $("select").val(); - serverCall(data); + + // duplicate code $("#area-name").val("").siblings("label").removeClass("active"); $("#map-color").val("#003366"); $('select').prop('selectedIndex', 0); $("select").formSelect(); + console.log("BUTTOJN ACTIONL :",data ); + serverCall(data); }else{ - $("#area-name").css({literal}{'background-color':"rgba(244, 67, 54, 0.3)"}{/literal}) + $("#area-name").parent().addClass("error-field"); } }); $("#area-name").on("click", function(){ - console.log( $(this).css({literal}{"background-color": "transparent"}{/literal}) ); + $(this).css({literal}{"background-color": "transparent"}{/literal}); }); $('select').formSelect(); @@ -104,7 +110,8 @@ data.hover_color = $(this).val(); }); - $(document).on("click", ".material-icons",function(){ + $(document).on("click", ".material-icons",function(e){ + e.stopPropagation(); data.option = 'delete'; data.id = $(this).parent().parent().data("id"); serverCall(data); @@ -118,12 +125,14 @@ var area_color = $(this).find($('.area-record-color')).text(); $("#area-name").val(area_name).siblings("label").addClass("active"); - $("#map-color").val(area_color); + $("#area-name").parent().addClass("edit-field"); + $("#map-color").val(area_color).css({literal}{'background-color':"rgba(30, 202, 162, 0.3)"}{/literal}); - $('select').val(page_id) + $('select').val(page_id); + $(".map-page-selection").addClass("edit-field") $("select").formSelect(); - console.log(area_color, area_page, area_name) - // serverCall(data); + $("#area-update").attr("data-option", "update").text("Update Area").attr("data-id", id); + data.id = id; }); // Initial page load list population @@ -131,5 +140,9 @@ data.option = 'list'; serverCall(data); })(); + $("#area-name").val("").siblings("label").removeClass("active"); + $("#map-color").val("#003366"); + $('select').prop('selectedIndex', 0); + $("select").formSelect(); }); \ No newline at end of file -- 2.17.1