Нема описа

um-account.js 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. jQuery(document).ready(function() {
  2. var current_tab = jQuery('.um-account-main').attr('data-current_tab');
  3. if ( current_tab ) {
  4. jQuery('.um-account-tab[data-tab="'+current_tab+'"]').show();
  5. jQuery('.um-account-tab:not(:visible)').find( 'input, select, textarea' ).not( ':disabled' ).addClass('um_account_inactive').prop( 'disabled', true ).attr( 'disabled', true );
  6. }
  7. jQuery( document.body ).on( 'click', '.um-account-side li a', function(e) {
  8. e.preventDefault();
  9. var link = jQuery(this);
  10. link.parents('ul').find('li a').removeClass('current');
  11. link.addClass('current');
  12. var url_ = jQuery(this).attr('href');
  13. var tab_ = jQuery(this).attr('data-tab');
  14. jQuery('input[id="_um_account_tab"]:hidden').val( tab_ );
  15. window.history.pushState("", "", url_);
  16. jQuery('.um-account-tab').hide();
  17. jQuery('.um-account-tab[data-tab="'+tab_+'"]').fadeIn();
  18. jQuery('.um-account-tab:visible').find( 'input, select, textarea' ).filter( '.um_account_inactive:disabled' ).removeClass('um_account_inactive').prop( 'disabled', false ).attr( 'disabled', false );
  19. jQuery('.um-account-tab:not(:visible)').find( 'input, select, textarea' ).not( ':disabled' ).addClass('um_account_inactive').prop( 'disabled', true ).attr( 'disabled', true );
  20. jQuery('.um-account-nav a').removeClass('current');
  21. jQuery('.um-account-nav a[data-tab="'+tab_+'"]').addClass('current');
  22. wp.hooks.doAction( 'um_after_account_tab_changed', tab_ );
  23. return false;
  24. });
  25. jQuery(document.body).on( 'click', '.um-account-nav a', function(e) {
  26. e.preventDefault();
  27. var tab_ = jQuery(this).attr('data-tab');
  28. var div = jQuery(this).parents('div');
  29. var link = jQuery(this);
  30. jQuery('input[id="_um_account_tab"]:hidden').val( tab_ );
  31. jQuery('.um-account-tab').hide();
  32. if ( link.hasClass('current') ) {
  33. div.next('.um-account-tab').slideUp();
  34. link.removeClass('current');
  35. } else {
  36. div.next('.um-account-tab').slideDown();
  37. link.parents('div').find('a').removeClass('current');
  38. link.addClass('current');
  39. }
  40. jQuery('.um-account-tab:visible').find( 'input, select, textarea' ).filter( '.um_account_inactive:disabled' ).removeClass('um_account_inactive').prop( 'disabled', false ).attr( 'disabled', false );
  41. jQuery('.um-account-tab:not(:visible)').find( 'input, select, textarea' ).not( ':disabled' ).addClass('um_account_inactive').prop( 'disabled', true ).attr( 'disabled', true );
  42. jQuery('.um-account-side li a').removeClass('current');
  43. jQuery('.um-account-side li a[data-tab="'+tab_+'"]').addClass('current');
  44. wp.hooks.doAction( 'um_after_account_tab_changed', tab_ );
  45. return false;
  46. });
  47. jQuery(document.body).on( 'click', '.um-request-button', function(e) {
  48. e.preventDefault();
  49. var request_action = jQuery(this).data('action');
  50. var password = jQuery('#' + request_action).val();
  51. jQuery('.um-field-area-response.' + request_action).hide();
  52. if ( jQuery('#' + request_action).length && password === '' ) {
  53. jQuery('.um-field-error.' + request_action).show();
  54. } else {
  55. jQuery('.um-field-error.' + request_action).hide();
  56. var request = {
  57. request_action: request_action,
  58. nonce: um_scripts.nonce
  59. };
  60. if ( jQuery('#' + request_action).length ) {
  61. request.password = password;
  62. }
  63. wp.ajax.send( 'um_request_user_data', {
  64. data: request,
  65. success: function (data) {
  66. jQuery('.um-field-area-response.' + request_action).text( data.answer ).show();
  67. },
  68. error: function (data) {
  69. console.log(data);
  70. }
  71. });
  72. }
  73. });
  74. });