woocommerce.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. if ( !window.ajaxurl ) {
  2. window.ajaxurl = window.location.href;
  3. }
  4. (function ( $ ) {
  5. 'use strict';
  6. var vcWoocommerceProductAttributeFilterDependencyCallback;
  7. vcWoocommerceProductAttributeFilterDependencyCallback = function () {
  8. (function ( $, that ) {
  9. var $filterDropdown, $empty;
  10. $filterDropdown = $( '[data-vc-shortcode-param-name="filter"]', that.$content );
  11. $filterDropdown.removeClass( 'vc_dependent-hidden' );
  12. $empty = $( '#filter-empty', $filterDropdown );
  13. if ( $empty.length ) {
  14. $empty.parent().remove();
  15. $( '.edit_form_line', $filterDropdown ).prepend( $( '<div class="vc_checkbox-label"><span>No values found</span></div>' ) );
  16. }
  17. $( 'select[name="attribute"]', that.$content ).on( 'change', function () {
  18. $( '.vc_checkbox-label', $filterDropdown ).remove();
  19. $filterDropdown.removeClass( 'vc_dependent-hidden' );
  20. $.ajax( {
  21. type: 'POST',
  22. dataType: 'json',
  23. url: window.ajaxurl,
  24. data: {
  25. action: 'vc_woocommerce_get_attribute_terms',
  26. attribute: this.value,
  27. _vcnonce: window.vcAdminNonce
  28. }
  29. } ).done( function ( data ) {
  30. if ( 0 < data.length ) {
  31. $( '.edit_form_line', $filterDropdown ).prepend( $( data ) );
  32. } else {
  33. $( '.edit_form_line', $filterDropdown ).prepend( $( '<div class="vc_checkbox-label"><span>No values found</span></div>' ) );
  34. }
  35. } );
  36. } );
  37. }( window.jQuery, this ));
  38. };
  39. window.vcWoocommerceProductAttributeFilterDependencyCallback = vcWoocommerceProductAttributeFilterDependencyCallback;
  40. })( window.jQuery );