admin.js
2 weeks ago
admin.min.js
2 weeks ago
beacon-clicked.js
2 weeks ago
beacon-clicked.min.js
2 weeks ago
contextual-info.js
2 weeks ago
contextual-info.min.js
2 weeks ago
duplicate-methods.js
2 weeks ago
duplicate-methods.min.js
2 weeks ago
new-rules-table-popup.js
2 weeks ago
onboarding.js
2 weeks ago
rules-settings.js
2 weeks ago
shipping-method-block-checkout.js
2 weeks ago
shipping-method-block-checkout.min.js
2 weeks ago
duplicate-methods.js
56 lines
| 1 | function fs_add_duplicate_field() { |
| 2 | setTimeout( function () { |
| 3 | jQuery( '.wc-shipping-zone-method-type' ).filter( function () { |
| 4 | return jQuery( this ).text() === fs_duplicate_methods.shipping_method; |
| 5 | } ).each( function () { |
| 6 | let row = jQuery( this ).closest( 'tr' ); |
| 7 | |
| 8 | if ( row.find( '.js--duplicate-button' ).length > 0 ) { |
| 9 | return; |
| 10 | } |
| 11 | |
| 12 | let instance_id = parseInt( new URL( row.find( 'a.wc-shipping-zone-method-settings' ).attr( 'href' ), window.location.origin ).searchParams.get( fs_duplicate_methods.param_name ), 10 ); |
| 13 | let row_actions = row.find( '.row-actions' ); |
| 14 | let duplicate_url = new URL( fs_duplicate_methods.duplicate_url ); |
| 15 | duplicate_url.searchParams.append( fs_duplicate_methods.param_name, instance_id ); |
| 16 | let duplicate = ' | <a href="' + duplicate_url + '" class="js--duplicate-button">' + fs_duplicate_methods.duplicate_label + '</a>'; |
| 17 | |
| 18 | row_actions.append( duplicate ); |
| 19 | } ); |
| 20 | }, 10 ); |
| 21 | } |
| 22 | |
| 23 | fs_add_duplicate_field(); |
| 24 | |
| 25 | document.querySelector( '.wc-shipping-zone-method-rows' ).addEventListener( 'DOMNodeInserted', function ( event ) { |
| 26 | fs_add_duplicate_field(); |
| 27 | }, false ); |
| 28 | |
| 29 | function fs_add_duplicate_field_on_react() { |
| 30 | setTimeout( function () { |
| 31 | jQuery( '.wc-shipping-zone-method-description' ).filter( function () { |
| 32 | return jQuery( this ).text().includes( fs_duplicate_methods.shipping_method ); |
| 33 | } ).each( function () { |
| 34 | let row = jQuery( this ).closest( 'tr' ); |
| 35 | |
| 36 | if ( row.find( '.js--duplicate-button' ).length > 0 ) { |
| 37 | return; |
| 38 | } |
| 39 | |
| 40 | let instance_id = parseInt( row.data( 'id' ) ); |
| 41 | let div_actions = row.find( '.wc-shipping-zone-actions' ).find( 'div' ); |
| 42 | let duplicate_url = new URL( fs_duplicate_methods.duplicate_url ); |
| 43 | duplicate_url.searchParams.append( fs_duplicate_methods.param_name, instance_id ); |
| 44 | let duplicate = ' | <a href="' + duplicate_url + '" class="js--duplicate-button">' + fs_duplicate_methods.duplicate_label + '</a>'; |
| 45 | |
| 46 | div_actions.append( duplicate ); |
| 47 | } ); |
| 48 | }, 10 ); |
| 49 | } |
| 50 | |
| 51 | fs_add_duplicate_field_on_react(); |
| 52 | |
| 53 | document.querySelector( '.wc-shipping-zone-method-rows' ).addEventListener( 'DOMNodeInserted', function ( event ) { |
| 54 | fs_add_duplicate_field_on_react(); |
| 55 | }, false ); |
| 56 |