From ff80d0edbf1b80da96cabab5bf2ca18e4ba14ebc Mon Sep 17 00:00:00 2001 From: ashubawork Date: Thu, 28 Sep 2023 14:11:35 +0300 Subject: [PATCH] - add slider filter init to the member directory block --- assets/js/um-members.js | 112 +++++++++--------- .../build/index.asset.php | 2 +- .../um-member-directories/build/index.js | 2 +- .../blocks/um-member-directories/src/index.js | 1 + 4 files changed, 61 insertions(+), 56 deletions(-) diff --git a/assets/js/um-members.js b/assets/js/um-members.js index 9bf7d053..b8c8dd55 100644 --- a/assets/js/um-members.js +++ b/assets/js/um-members.js @@ -637,6 +637,63 @@ function um_run_search( directory ) { } +function um_slider_filter_init( directory ) { + directory.find('.um-slider').each( function() { + var slider = jQuery( this ); + var directory = slider.parents('.um-directory'); + + var filter_name = slider.data('field_name'); + + var min_default_value = um_get_data_for_directory( directory, 'filter_' + filter_name + '_from' ); + var max_default_value = um_get_data_for_directory( directory, 'filter_' + filter_name + '_to' ); + if ( typeof min_default_value == 'undefined' ) { + min_default_value = parseInt( slider.data('min') ); + } + + if ( typeof max_default_value == 'undefined' ) { + max_default_value = parseInt( slider.data('max') ); + } + + var default_value = [ min_default_value, max_default_value ]; + + slider.slider({ + range: true, + min: parseInt( slider.data('min') ), + max: parseInt( slider.data('max') ), + values: default_value, + create: function( event, ui ) { + //console.log( ui ); + }, + step: 1, + slide: function( event, ui ) { + um_set_range_label( jQuery( this ), ui ); + }, + stop: function( event, ui ) { + if ( ! um_is_directory_busy( directory ) ) { + + um_members_show_preloader( directory ); + + um_set_url_from_data( directory, 'filter_' + filter_name + '_from', ui.values[0] ); + um_set_url_from_data( directory, 'filter_' + filter_name + '_to', ui.values[1] ); + + //set 1st page after filtration + directory.data( 'page', 1 ); + um_set_url_from_data( directory, 'page', '' ); + um_ajax_get_members( directory ); + + um_change_tag( directory ); + + directory.data( 'searched', 1 ); + directory.find( '.um-member-directory-sorting-options' ).prop( 'disabled', false ); + directory.find( '.um-member-directory-view-type' ).removeClass( 'um-disabled' ); + } + } + }); + + um_set_range_label( slider ); + }); +} + jQuery(document.body).ready( function() { @@ -1379,60 +1436,7 @@ jQuery(document.body).ready( function() { } //slider filter - directory.find('.um-slider').each( function() { - var slider = jQuery( this ); - var directory = slider.parents('.um-directory'); - - var filter_name = slider.data('field_name'); - - var min_default_value = um_get_data_for_directory( directory, 'filter_' + filter_name + '_from' ); - var max_default_value = um_get_data_for_directory( directory, 'filter_' + filter_name + '_to' ); - if ( typeof min_default_value == 'undefined' ) { - min_default_value = parseInt( slider.data('min') ); - } - - if ( typeof max_default_value == 'undefined' ) { - max_default_value = parseInt( slider.data('max') ); - } - - var default_value = [ min_default_value, max_default_value ]; - - slider.slider({ - range: true, - min: parseInt( slider.data('min') ), - max: parseInt( slider.data('max') ), - values: default_value, - create: function( event, ui ) { - //console.log( ui ); - }, - step: 1, - slide: function( event, ui ) { - um_set_range_label( jQuery( this ), ui ); - }, - stop: function( event, ui ) { - if ( ! um_is_directory_busy( directory ) ) { - - um_members_show_preloader( directory ); - - um_set_url_from_data( directory, 'filter_' + filter_name + '_from', ui.values[0] ); - um_set_url_from_data( directory, 'filter_' + filter_name + '_to', ui.values[1] ); - - //set 1st page after filtration - directory.data( 'page', 1 ); - um_set_url_from_data( directory, 'page', '' ); - um_ajax_get_members( directory ); - - um_change_tag( directory ); - - directory.data( 'searched', 1 ); - directory.find( '.um-member-directory-sorting-options' ).prop( 'disabled', false ); - directory.find( '.um-member-directory-view-type' ).removeClass( 'um-disabled' ); - } - } - }); - - um_set_range_label( slider ); - }); + um_slider_filter_init( directory ); //datepicker filter diff --git a/includes/blocks/um-member-directories/build/index.asset.php b/includes/blocks/um-member-directories/build/index.asset.php index 8e85d2c6..cee9d9ef 100644 --- a/includes/blocks/um-member-directories/build/index.asset.php +++ b/includes/blocks/um-member-directories/build/index.asset.php @@ -1 +1 @@ - array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-server-side-render'), 'version' => '57ea4f619de4d752a4bb'); + array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-server-side-render'), 'version' => 'fdd5ad1f74de4e2e94db'); diff --git a/includes/blocks/um-member-directories/build/index.js b/includes/blocks/um-member-directories/build/index.js index 05bc85e3..b3f3a882 100644 --- a/includes/blocks/um-member-directories/build/index.js +++ b/includes/blocks/um-member-directories/build/index.js @@ -1 +1 @@ -(()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.element,r=window.wp.data,n=window.wp.components,i=window.wp.blockEditor,o=window.wp.serverSideRender;var l=e.n(o);(0,window.wp.blocks.registerBlockType)("um-block/um-member-directories",{edit:function(e){let{member_id:o,setAttributes:a}=e.attributes;const c=(0,i.useBlockProps)(),u=(0,r.useSelect)((e=>e("core").getEntityRecords("postType","um_directory",{per_page:-1,_fields:["id","title"]})));if(!u)return(0,t.createElement)("p",null,(0,t.createElement)(n.Spinner,null),wp.i18n.__("Loading...","ultimate-member"));if(0===u.length)return"No posts found.";let d=[{id:"",title:""}].concat(u).map((e=>({label:e.title.rendered,value:e.id})));return(0,t.createElement)("div",c,(0,t.createElement)(l(),{block:"um-block/um-member-directories",attributes:e.attributes}),(0,t.createElement)(i.InspectorControls,null,(0,t.createElement)(n.PanelBody,{title:wp.i18n.__("Select Directories","ultimate-member")},(0,t.createElement)(n.SelectControl,{label:wp.i18n.__("Select Directories","ultimate-member"),className:"um_select_directory",value:o,options:d,style:{height:"35px",lineHeight:"20px",padding:"0 7px"},onChange:t=>{e.setAttributes({member_id:t})}}))))},save:function(e){return null}}),jQuery(window).on("load",(function(e){new MutationObserver((function(e){e.forEach((function(e){jQuery(e.addedNodes).find(".um.um-directory").each((function(){var e=jQuery(this);um_ajax_get_members(e)}))}))})).observe(document,{attributes:!1,childList:!0,characterData:!1,subtree:!0})}))})(); \ No newline at end of file +!function(){"use strict";var e={n:function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t=window.wp.element,r=window.wp.data,n=window.wp.components,i=window.wp.blockEditor,o=window.wp.serverSideRender,l=e.n(o);(0,window.wp.blocks.registerBlockType)("um-block/um-member-directories",{edit:function(e){let{member_id:o,setAttributes:u}=e.attributes;const c=(0,i.useBlockProps)(),a=(0,r.useSelect)((e=>e("core").getEntityRecords("postType","um_directory",{per_page:-1,_fields:["id","title"]})));if(!a)return(0,t.createElement)("p",null,(0,t.createElement)(n.Spinner,null),wp.i18n.__("Loading...","ultimate-member"));if(0===a.length)return"No posts found.";let d=[{id:"",title:""}].concat(a).map((e=>({label:e.title.rendered,value:e.id})));return(0,t.createElement)("div",{...c},(0,t.createElement)(l(),{block:"um-block/um-member-directories",attributes:e.attributes}),(0,t.createElement)(i.InspectorControls,null,(0,t.createElement)(n.PanelBody,{title:wp.i18n.__("Select Directories","ultimate-member")},(0,t.createElement)(n.SelectControl,{label:wp.i18n.__("Select Directories","ultimate-member"),className:"um_select_directory",value:o,options:d,style:{height:"35px",lineHeight:"20px",padding:"0 7px"},onChange:t=>{e.setAttributes({member_id:t})}}))))},save:function(e){return null}}),jQuery(window).on("load",(function(e){new MutationObserver((function(e){e.forEach((function(e){jQuery(e.addedNodes).find(".um.um-directory").each((function(){var e=jQuery(this);um_ajax_get_members(e),um_slider_filter_init(e)}))}))})).observe(document,{attributes:!1,childList:!0,characterData:!1,subtree:!0})}))}(); \ No newline at end of file diff --git a/includes/blocks/um-member-directories/src/index.js b/includes/blocks/um-member-directories/src/index.js index 12ac4b6a..3bf822f7 100644 --- a/includes/blocks/um-member-directories/src/index.js +++ b/includes/blocks/um-member-directories/src/index.js @@ -97,6 +97,7 @@ jQuery(window).on( 'load', function($) { jQuery(mutation.addedNodes).find('.um.um-directory').each(function() { var directory = jQuery(this); um_ajax_get_members( directory ); + um_slider_filter_init( directory ); }); }); });