api-keys.js
5 years ago
api-keys.min.js
3 years ago
backbone-modal.js
2 weeks ago
backbone-modal.min.js
2 weeks ago
marketplace-suggestions.js
1 year ago
marketplace-suggestions.min.js
1 year ago
meta-boxes-coupon.js
1 year ago
meta-boxes-coupon.min.js
1 year ago
meta-boxes-order.js
2 weeks ago
meta-boxes-order.min.js
2 weeks ago
meta-boxes-product-variation.js
2 weeks ago
meta-boxes-product-variation.min.js
2 weeks ago
meta-boxes-product.js
2 weeks ago
meta-boxes-product.min.js
2 weeks ago
meta-boxes.js
6 months ago
meta-boxes.min.js
6 months ago
network-orders.js
8 years ago
network-orders.min.js
3 years ago
order-attribution-admin.js
2 years ago
order-attribution-admin.min.js
2 years ago
product-editor.js
1 year ago
product-editor.min.js
1 year ago
product-ordering.js
5 months ago
product-ordering.min.js
5 months ago
quick-edit.js
2 weeks ago
quick-edit.min.js
2 weeks ago
reports.js
1 year ago
reports.min.js
1 year ago
settings-views-html-settings-tax.js
1 month ago
settings-views-html-settings-tax.min.js
1 month ago
settings.js
1 year ago
settings.min.js
1 year ago
system-status.js
1 month ago
system-status.min.js
1 month ago
term-ordering.js
5 months ago
term-ordering.min.js
5 months ago
users.js
5 years ago
users.min.js
3 years ago
variation-gallery.js
2 months ago
variation-gallery.min.js
2 months ago
wc-admin-notices.js
2 weeks ago
wc-admin-notices.min.js
2 weeks ago
wc-brands-enhanced-select.js
1 year ago
wc-brands-enhanced-select.min.js
1 year ago
wc-clipboard.js
5 years ago
wc-clipboard.min.js
5 years ago
wc-customer-stock-notifications.js
1 year ago
wc-customer-stock-notifications.min.js
1 year ago
wc-enhanced-select.js
2 weeks ago
wc-enhanced-select.min.js
2 weeks ago
wc-orders.js
4 weeks ago
wc-orders.min.js
4 weeks ago
wc-product-export.js
1 year ago
wc-product-export.min.js
1 year ago
wc-product-import.js
3 years ago
wc-product-import.min.js
3 years ago
wc-recent-reviews-widget-async.js
6 months ago
wc-recent-reviews-widget-async.min.js
6 months ago
wc-setup.js
5 years ago
wc-setup.min.js
3 years ago
wc-shipping-classes.js
1 year ago
wc-shipping-classes.min.js
1 year ago
wc-shipping-providers.js
5 months ago
wc-shipping-providers.min.js
5 months ago
wc-shipping-zone-methods.js
2 weeks ago
wc-shipping-zone-methods.min.js
2 weeks ago
wc-shipping-zones.js
1 year ago
wc-shipping-zones.min.js
1 year ago
wc-status-widget-async.js
6 months ago
wc-status-widget-async.min.js
6 months ago
wc-status-widget.js
1 year ago
wc-status-widget.min.js
1 year ago
woocommerce_admin.js
1 month ago
woocommerce_admin.min.js
1 month ago
wc-admin-notices.js
70 lines
| 1 | ( function () { |
| 2 | 'use strict'; |
| 3 | |
| 4 | /** |
| 5 | * Dismiss WooCommerce admin notices asynchronously. |
| 6 | * |
| 7 | * Notice dismiss links point at the current page with a `wc-hide-notice` |
| 8 | * query arg, which persists the dismissal via a full page reload. Here we |
| 9 | * intercept the click, persist the dismissal over admin-ajax instead, and |
| 10 | * remove the notice in place. The link href is kept intact as a no-JS |
| 11 | * fallback, and on any request failure we fall back to following it. |
| 12 | */ |
| 13 | document.addEventListener( 'click', function ( event ) { |
| 14 | var link = event.target.closest( |
| 15 | 'a.woocommerce-message-close[href*="wc-hide-notice"]' |
| 16 | ); |
| 17 | |
| 18 | if ( ! link || typeof window.ajaxurl === 'undefined' ) { |
| 19 | return; |
| 20 | } |
| 21 | |
| 22 | var url; |
| 23 | try { |
| 24 | url = new URL( link.href ); |
| 25 | } catch ( e ) { |
| 26 | return; |
| 27 | } |
| 28 | |
| 29 | var noticeName = url.searchParams.get( 'wc-hide-notice' ); |
| 30 | var nonce = url.searchParams.get( '_wc_notice_nonce' ); |
| 31 | |
| 32 | if ( ! noticeName || ! nonce ) { |
| 33 | return; |
| 34 | } |
| 35 | |
| 36 | event.preventDefault(); |
| 37 | |
| 38 | var notice = link.closest( '.notice, .woocommerce-message, #message' ); |
| 39 | |
| 40 | window |
| 41 | .fetch( window.ajaxurl, { |
| 42 | method: 'POST', |
| 43 | credentials: 'same-origin', |
| 44 | body: new URLSearchParams( { |
| 45 | action: 'woocommerce_hide_notice', |
| 46 | 'wc-hide-notice': noticeName, |
| 47 | _wc_notice_nonce: nonce, |
| 48 | } ), |
| 49 | } ) |
| 50 | .then( function ( response ) { |
| 51 | if ( ! response.ok ) { |
| 52 | throw new Error( 'Failed to dismiss notice' ); |
| 53 | } |
| 54 | |
| 55 | if ( notice ) { |
| 56 | notice.remove(); |
| 57 | } |
| 58 | |
| 59 | document.dispatchEvent( |
| 60 | new CustomEvent( 'wc-admin-notice-dismissed', { |
| 61 | detail: { notice: noticeName }, |
| 62 | } ) |
| 63 | ); |
| 64 | } ) |
| 65 | .catch( function () { |
| 66 | window.location.href = link.href; |
| 67 | } ); |
| 68 | } ); |
| 69 | } )(); |
| 70 |