Files
ultimatemember/assets/js/um-members.min.js
T
nikitasinelnikov efdbde0eee - member directory;
2019-09-09 12:39:45 +03:00

1 line
17 KiB
JavaScript

var um_members_directory_busy=[],um_member_directories=[],um_member_directory_last_data=[];function um_parse_current_url(){var t={},a=window.location.search.substring(1).split("&");return jQuery.each(a,function(e){var r=a[e].split("=");t[r[0]]=r[1]}),t}function um_get_data_for_directory(e,r){var t=um_members_get_hash(e),a={},i=um_parse_current_url();if(jQuery.each(i,function(e){-1!==e.indexOf("_"+t)&&""!==i[e]&&(a[e.replace("_"+t,"")]=i[e])}),r){if(void 0!==a[r])try{a[r]=decodeURI(a[r])}catch(e){console.error(e)}return a[r]}return a}function um_set_url_from_data(e,r,t){var a=um_members_get_hash(e),i=um_get_data_for_directory(e),m={};""!==t&&(m[r+"_"+a]=t),jQuery.each(i,function(e){r===e?""!==t&&(m[e+"_"+a]=t):m[e+"_"+a]=i[e]});var _=[];jQuery.each(m,function(e){_.push(e+"="+m[e])});var u="?"+_.join("&");window.history.pushState("string","UM Member Directory",window.location.origin+window.location.pathname+u)}function um_members_get_hash(e){return e.data("hash")}function um_is_directory_busy(e){var r=um_members_get_hash(e);return void 0!==um_members_directory_busy[r]&&um_members_directory_busy[r]}function um_members_show_preloader(e){um_members_directory_busy[um_members_get_hash(e)]=!0,e.find(".um-members-overlay").show()}function um_members_hide_preloader(e){um_members_directory_busy[um_members_get_hash(e)]=!1,e.find(".um-members-overlay").hide()}function um_set_range_label(e,r){var t=e.siblings(".um-slider-range").data("placeholder");t=r?t.replace("{min_range}",r.values[0]).replace("{max_range}",r.values[1]).replace("{field_label}",e.siblings(".um-slider-range").data("label")):t.replace("{min_range}",e.slider("values",0)).replace("{max_range}",e.slider("values",1)).replace("{field_label}",e.siblings(".um-slider-range").data("label")),e.siblings(".um-slider-range").html(t),e.siblings(".um_range_min").val(e.slider("values",0)),e.siblings(".um_range_max").val(e.slider("values",1))}function um_get_search(e){return e.find(".um-search-line").length?e.find(".um-search-line").val():""}function um_get_sort(e){return e.find(".um-member-directory-sorting-options").length?e.find(".um-member-directory-sorting-options").val():""}function um_get_current_page(e){var r=e.data("page");return r&&void 0!==r||(r=1),r}function um_ajax_get_members(m,e){var t=um_members_get_hash(m),r=um_get_current_page(m),a=um_get_search(m),i=um_get_sort(m),_=-(new Date).getTimezoneOffset()/60,u={directory_id:t,page:r,search:a,sorting:i,gmt_offset:_,post_refferer:m.data("base-post"),nonce:um_scripts.nonce};m.find(".um-search-filter").length&&m.find(".um-search-filter").each(function(){var e=jQuery(this);if(e.find(".um-slider").length){var r=e.find(".um-slider").data("field_name"),t=um_get_data_for_directory(m,"filter_"+r+"_from"),a=um_get_data_for_directory(m,"filter_"+r+"_to");void 0===t&&void 0===a||(u[r]=[t,a])}else if(e.find(".um-datepicker-filter").length){r=e.find(".um-datepicker-filter").data("filter_name"),t=um_get_data_for_directory(m,"filter_"+r+"_from"),a=um_get_data_for_directory(m,"filter_"+r+"_to");void 0===t&&void 0===a||(u[r]=[t,a])}else if(e.find(".um-timepicker-filter").length){r=e.find(".um-timepicker-filter").data("filter_name"),t=um_get_data_for_directory(m,"filter_"+r+"_from"),a=um_get_data_for_directory(m,"filter_"+r+"_to");void 0===t&&void 0===a||(u[r]=[t,a])}else{r=e.find("select").attr("name");var i=um_get_data_for_directory(m,"filter_"+r);void 0!==i&&(u[r]=i.split("||"))}}),wp.ajax.send("um_get_members",{data:u,success:function(e){um_member_directory_last_data[t]=e,um_build_template(m,e.users);var r=wp.template("um-members-pagination");m.find(".um-members-pagination-box").html(r(e)),m.data("total_pages",e.pagination.total_pages),jQuery(document).trigger("um_members_rendered"),um_members_hide_preloader(m)},error:function(e){console.log(e),um_members_hide_preloader(m)}})}function um_build_template(e,r){var t=e.data("view_type"),a=wp.template("um-member-"+t);e.find(".um-members-grid, .um-members-list").remove(),e.find(".um-members-wrapper").prepend(a(r)),e.addClass("um-loaded"),e.find(".um-members").length&&(UM_Member_Grid(e.find(".um-members")),jQuery(window).trigger("resize")),jQuery(document).trigger("um_build_template",[e,r]),jQuery(window).trigger("resize")}function UM_Member_Grid(e){e.find(".um-member").length&&e.imagesLoaded(function(){e.masonry({itemSelector:".um-member",columnWidth:".um-member",gutter:".um-gutter-sizer"}).on("layoutComplete",function(e,r){jQuery(document).trigger("um_grid_initialized",[e,r])})})}function um_change_tag(d){var o=[];d.find(".um-search-filter").each(function(){var t,a,_,i=jQuery(this);if(i.find("input.um-datepicker-filter").length)_="datepicker",i.find("input.um-datepicker-filter").each(function(){if("to"!==jQuery(this).data("range")){var e=jQuery(this).data("filter_name"),r=um_get_data_for_directory(d,"filter_"+e+"_from"),t=um_get_data_for_directory(d,"filter_"+e+"_to");if(void 0!==r||void 0!==t){var a,i=jQuery(this).val(),m=d.find('input.um-datepicker-filter[data-range="to"][data-filter_name="'+e+'"]').val();""!==i&&""!==m?a=i+" - "+m:""===i?a="before "+m:""===m&&(a="since "+i),o.push({name:e,label:jQuery(this).data("filter-label"),value_label:a,value:[r,t],type:_})}}});else if(i.find("input.um-timepicker-filter").length)_="timepicker",i.find("input.um-timepicker-filter").each(function(){if("to"!==jQuery(this).data("range")){var e=jQuery(this).data("filter_name"),r=um_get_data_for_directory(d,"filter_"+e+"_from"),t=um_get_data_for_directory(d,"filter_"+e+"_to");if(void 0!==r||void 0!==t){var a,i=jQuery(this).val(),m=d.find('input.um-timepicker-filter[data-range="to"][data-filter_name="'+e+'"]').val();""!==i&&""!==m?a=i+" - "+m:""===i?a="before "+m:""===m&&(a="since "+i),o.push({name:e,label:jQuery(this).data("filter-label"),value_label:a,value:[r,t],type:_})}}});else if(i.find("select").length){_="select",t=i.find("select").attr("name"),a=i.find("select").data("placeholder");var m=um_get_data_for_directory(d,"filter_"+t);m=void 0===m?[]:m.split("||"),jQuery.each(m,function(e){var r=i.find('select option[value="'+m[e]+'"]').data("value_label");o.push({name:t,label:a,value_label:r,value:m[e],type:_})})}else if(i.find("div.ui-slider").length){_="slider",t=i.find("div.ui-slider").data("field_name");var e=um_get_data_for_directory(d,"filter_"+t+"_from"),r=um_get_data_for_directory(d,"filter_"+t+"_to");if(void 0===e&&void 0===r)return;a=i.find("div.um-slider-range").data("label");var u=i.find("div.um-slider-range").data("placeholder").replace("{min_range}",e).replace("{max_range}",r).replace("{field_label}",i.find("div.um-slider-range").data("label"));o.push({name:t,label:a,value_label:u,value:[e,r],type:_})}}),d.find(".um-members-filter-tag").remove();var e=d.find(".um-filtered-line");if(e.length){var r=wp.template("um-members-filtered-line");e.prepend(r({filters:o})),0<o.length?(e.show(),show_after_search=!1):(e.hide(),show_after_search=!0),0===d.find(".um-members-filter-remove").length?d.find(".um-clear-filters-a").hide():d.find(".um-clear-filters-a").show()}}jQuery(document).ready(function(){jQuery(document.body).on("mouseover",".um-member-directory-view-type",function(){var e=jQuery(this).find(".um-member-directory-view-type-a:visible");e.hide(),e.next().length?e.next().show().tipsy("show"):jQuery(this).find(".um-member-directory-view-type-a:first").show().tipsy("show")}).on("mouseout",".um-member-directory-view-type",function(){jQuery(this).find(".um-member-directory-view-type-a").hide().tipsy("hide"),jQuery(this).find('.um-member-directory-view-type-a[data-type="'+jQuery(this).parents(".um-directory").data("view_type")+'"]').show()}),jQuery(document.body).on("click",".um-member-directory-view-type-a",function(){var e=jQuery(this).parents(".um-directory");if(um_is_directory_busy(e))return!1;um_members_show_preloader(e);var r=jQuery(this),t=r.parents(".um-member-directory-view-type"),a=t.find(".um-member-directory-view-type-a:visible");a.hide(),a.next().length?a.next().show().tipsy("show"):t.find(".um-member-directory-view-type-a:first").show().tipsy("show");var i=um_member_directory_last_data[um_members_get_hash(e)];if(null!==i){var m=r.data("type");um_set_url_from_data(e,"view_type",m),e.data("view_type",m),um_build_template(e,i.users)}um_members_hide_preloader(e)}),jQuery(document.body).on("click",".um-do-search",function(){var e=jQuery(this).parents(".um-directory");if(!um_is_directory_busy(e)){um_members_show_preloader(e);var r=um_get_data_for_directory(e,"search"),t=e.find(".um-search-line").val();t===r||""===t&&void 0===r||(e.data("general_search",t),um_set_url_from_data(e,"search",t),e.data("page",1),um_set_url_from_data(e,"page",1),um_ajax_get_members(e))}}),jQuery(document.body).on("keypress",".um-search-line",function(e){13===e.which&&jQuery(this).parents(".um-directory").find(".um-do-search").trigger("click")}),jQuery(document.body).on("change",".um-member-directory-sorting-options",function(){var e=jQuery(this).parents(".um-directory");if(!um_is_directory_busy(e)){um_members_show_preloader(e);var r=jQuery(this).val();e.data("sorting",jQuery(this).val()),um_set_url_from_data(e,"sort",r),um_ajax_get_members(e)}}),jQuery(document.body).on("click",".um-directory .pagi:not(.current)",function(){if(!jQuery(this).hasClass("disabled")){var e,r=jQuery(this).parents(".um-directory");if(!um_is_directory_busy(r))um_members_show_preloader(r),1===(e="first"===jQuery(this).data("page")?1:"prev"===jQuery(this).data("page")?1*r.data("page")-1:"next"===jQuery(this).data("page")?1*r.data("page")+1:"last"===jQuery(this).data("page")?parseInt(r.data("total_pages")):parseInt(jQuery(this).data("page")))?(r.find('.pagi[data-page="first"], .pagi[data-page="prev"]').addClass("disabled"),r.find('.pagi[data-page="prev"], .pagi[data-page="last"]').removeClass("disabled")):(e===parseInt(r.data("total_pages"))?r.find('.pagi[data-page="prev"], .pagi[data-page="last"]').addClass("disabled"):r.find('.pagi[data-page="prev"], .pagi[data-page="last"]').removeClass("disabled"),r.find('.pagi[data-page="first"], .pagi[data-page="prev"]').removeClass("disabled")),r.find(".pagi").removeClass("current"),r.find('.pagi[data-page="'+e+'"]').addClass("current"),r.data("page",e),um_set_url_from_data(r,"page",e),um_ajax_get_members(r)}}),jQuery(document.body).on("change",".um-directory .um-members-pagi-dropdown",function(){var e=jQuery(this).parents(".um-directory");if(!um_is_directory_busy(e)){um_members_show_preloader(e);var r=jQuery(this).val();e.find(".pagi").removeClass("current"),e.find('.pagi[data-page="'+r+'"]').addClass("current"),e.data("page",r),um_set_url_from_data(e,"page",r),um_ajax_get_members(e)}}),jQuery(document.body).on("click",".um-member-more a",function(e){e.preventDefault();var r=jQuery(this).parents(".um-member"),t=jQuery(this).parents(".um-members");return r.find(".um-member-more").hide(),r.find(".um-member-meta").slideDown(function(){UM_Member_Grid(t)}),r.find(".um-member-less").fadeIn(),setTimeout(function(){UM_Member_Grid(t)},100),!1}),jQuery(document.body).on("click",".um-member-less a",function(e){e.preventDefault();var r=jQuery(this).parents(".um-member"),t=jQuery(this).parents(".um-members");return r.find(".um-member-less").hide(),r.find(".um-member-meta").slideUp(function(){r.find(".um-member-more").fadeIn(),UM_Member_Grid(t)}),!1}),jQuery(".um-member-directory-filters a").click(function(){var e=jQuery(this).parents(".um-directory").find(".um-search");e.is(":visible")?e.slideUp(650):e.slideDown(650)}),jQuery(document.body).on("change",".um-search-filter select",function(){if(""!==jQuery(this).val()){var e=jQuery(this).parents(".um-directory");if(!um_is_directory_busy(e)){um_members_show_preloader(e);var r=jQuery(this).prop("name"),t=um_get_data_for_directory(e,"filter_"+r);t=void 0===t?[]:t.split("||"),-1===jQuery.inArray(jQuery(this).val(),t)&&(t.push(jQuery(this).val()),um_set_url_from_data(e,"filter_"+r,t=t.join("||")),e.data("page",1),um_set_url_from_data(e,"page",1)),jQuery(this).val("").trigger("change"),um_ajax_get_members(e),um_change_tag(e)}}}),jQuery(".um-slider").each(function(){var e=jQuery(this),t=e.parents(".um-directory"),a=e.data("field_name"),r=um_get_data_for_directory(t,"filter_"+a+"_from"),i=um_get_data_for_directory(t,"filter_"+a+"_to");void 0===r&&(r=parseInt(e.data("min"))),void 0===i&&(i=parseInt(e.data("max")));var m=[r,i];e.slider({range:!0,min:parseInt(e.data("min")),max:parseInt(e.data("max")),values:m,create:function(e,r){},step:1,slide:function(e,r){um_set_range_label(jQuery(this),r)},stop:function(e,r){um_is_directory_busy(t)||(um_set_url_from_data(t,"filter_"+a+"_from",r.values[0]),um_set_url_from_data(t,"filter_"+a+"_to",r.values[1]),t.data("page",1),um_set_url_from_data(t,"page",1),um_ajax_get_members(t),um_change_tag(t))}}),um_set_range_label(e)}),jQuery(".um-datepicker-filter").each(function(){var u=jQuery(this),d=new Date(1e3*u.data("date_min")),o=new Date(1e3*u.data("date_max")),e=u.pickadate({selectYears:!0,min:d,max:o,formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){u.blur()},onClose:function(){u.blur()},onSet:function(e){var r=u.parents(".um-directory");if(!um_is_directory_busy(r)){um_members_show_preloader(r);var t=u.data("filter_name"),a=u.data("range"),i=um_get_data_for_directory(r,"filter_"+t+"_from"),m=um_get_data_for_directory(r,"filter_"+t+"_to");void 0===i&&(i=d/1e3),void 0===m&&(m=o/1e3);var _=e.select/1e3;u.val();"from"===a?i=_:"to"===a&&(m=_),um_set_url_from_data(r,"filter_"+t+"_from",i),um_set_url_from_data(r,"filter_"+t+"_to",m),r.data("page",1),um_set_url_from_data(r,"page",1),um_ajax_get_members(r),um_change_tag(r)}}}).pickadate("picker"),r=u.data("filter_name"),t=u.data("range"),a=um_get_data_for_directory(u.parents(".um-directory"),"filter_"+r+"_"+t);void 0!==a&&e.set("select",1e3*a)}),jQuery(".um-timepicker-filter").each(function(){var u=jQuery(this),d=u.data("min"),o=u.data("max"),e=u.pickatime({format:u.data("format"),interval:parseInt(u.data("intervals")),min:u.data("min"),max:u.data("max"),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){u.blur()},onClose:function(){u.blur()},onSet:function(e){var r=u.parents(".um-directory");if(!um_is_directory_busy(r)){um_members_show_preloader(r);var t=u.data("filter_name"),a=u.data("range"),i=um_get_data_for_directory(r,"filter_"+t+"_from"),m=um_get_data_for_directory(r,"filter_"+t+"_to");if(void 0===i&&(i=d),void 0===m&&(m=o),void 0!==e.select){var _=e.select/60;u.val();"from"===a?i=_+":00":"to"===a&&(m=_+":00")}else"from"===a?i=d:"to"===a&&(m=o);um_set_url_from_data(r,"filter_"+t+"_from",i),um_set_url_from_data(r,"filter_"+t+"_to",m),r.data("page",1),um_set_url_from_data(r,"page",1),um_ajax_get_members(r),um_change_tag(r)}}}).pickatime("picker"),r=u.data("filter_name"),t=u.data("range"),a=um_get_data_for_directory(u.parents(".um-directory"),"filter_"+r+"_"+t);void 0!==a&&e.set("select",a)}),jQuery(document.body).on("click",".um-members-filter-remove",function(){var e=jQuery(this).parents(".um-directory");if(!um_is_directory_busy(e)){um_members_show_preloader(e);var r=jQuery(this).data("value"),t=jQuery(this).data("name"),a=jQuery(this).data("type");if("select"===a){var i=um_get_data_for_directory(e,"filter_"+t);i=void 0===i?[]:i.split("||"),-1!==jQuery.inArray(r.toString(),i)&&(i=jQuery.grep(i,function(e){return e!==r.toString()})),i.length||(i=""),um_set_url_from_data(e,"filter_"+t,i)}else"slider"===a?(um_set_url_from_data(e,"filter_"+t+"_from",""),um_set_url_from_data(e,"filter_"+t+"_to","")):"datepicker"===a?(um_set_url_from_data(e,"filter_"+t+"_from",""),um_set_url_from_data(e,"filter_"+t+"_to","")):"timepicker"===a&&(um_set_url_from_data(e,"filter_"+t+"_from",""),um_set_url_from_data(e,"filter_"+t+"_to",""));e.data("page",1),um_set_url_from_data(e,"page",1),jQuery(this).parents(".um-members-filter-tag").remove(),um_ajax_get_members(e),0===e.find(".um-members-filter-remove").length?e.find(".um-clear-filters-a").hide():e.find(".um-clear-filters-a").show()}}),jQuery(document.body).on("click",".um-clear-filters-a",function(){var i=jQuery(this).parents(".um-directory");um_is_directory_busy(i)||(um_members_show_preloader(i),i.find(".um-members-filter-remove").each(function(){var r=jQuery(this).data("value"),e=jQuery(this).data("name"),t=jQuery(this).data("type");if("select"===t){var a=um_get_data_for_directory(i,"filter_"+e);a=void 0===a?[]:a.split("||"),-1!==jQuery.inArray(r.toString(),a)&&(a=jQuery.grep(a,function(e){return e!==r.toString()})),a.length||(a=""),um_set_url_from_data(i,"filter_"+e,a)}else"slider"===t?(um_set_url_from_data(i,"filter_"+e+"_from",""),um_set_url_from_data(i,"filter_"+e+"_to","")):"datepicker"===t?(um_set_url_from_data(i,"filter_"+e+"_from",""),um_set_url_from_data(i,"filter_"+e+"_to","")):"timepicker"===t&&(um_set_url_from_data(i,"filter_"+e+"_from",""),um_set_url_from_data(i,"filter_"+e+"_to",""))}),i.data("page",1),um_set_url_from_data(i,"page",1),i.find(".um-members-filter-tag").remove(),um_ajax_get_members(i),jQuery(this).hide())}),jQuery(".um-directory").each(function(){var e=jQuery(this),r=um_members_get_hash(e);um_member_directories.push(r),!1===jQuery(this).data("show")&&(um_members_show_preloader(e),um_ajax_get_members(e),um_change_tag(e))})});