Server IP : 104.21.14.103 / Your IP : 3.145.12.0 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/home/giankuin/thietke365.net/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/js/base/utils/ |
Upload File : |
/** * External dependencies */ import { __ } from '@wordpress/i18n'; import type { Options as NoticeOptions } from '@wordpress/notices'; import { select, dispatch } from '@wordpress/data'; /** * Internal dependencies */ import { noticeContexts } from '../context/event-emit/utils'; export const DEFAULT_ERROR_MESSAGE = __( 'Something went wrong. Please contact us to get assistance.', 'woo-gutenberg-products-block' ); /** * Returns a list of all notice contexts defined by Blocks. * * Contexts are defined in enum format, but this returns an array of strings instead. */ export const getNoticeContexts = () => { return Object.values( noticeContexts ); }; /** * Wrapper for @wordpress/notices createNotice. */ export const createNotice = ( status: 'error' | 'warning' | 'info' | 'success', message: string, options: Partial< NoticeOptions > ) => { const noticeContext = options?.context; const suppressNotices = select( 'wc/store/payment' ).isExpressPaymentMethodActive(); if ( suppressNotices || noticeContext === undefined ) { return; } dispatch( 'core/notices' ).createNotice( status, message, { isDismissible: true, ...options, context: noticeContext, } ); }; /** * Remove notices from all contexts. * * @todo Remove this when supported in Gutenberg. * @see https://github.com/WordPress/gutenberg/pull/44059 */ export const removeAllNotices = () => { const containers = select( 'wc/store/store-notices' ).getRegisteredContainers(); const { removeNotice } = dispatch( 'core/notices' ); const { getNotices } = select( 'core/notices' ); containers.forEach( ( container ) => { getNotices( container ).forEach( ( notice ) => { removeNotice( notice.id, container ); } ); } ); }; export const removeNoticesWithContext = ( context: string ) => { const { removeNotice } = dispatch( 'core/notices' ); const { getNotices } = select( 'core/notices' ); getNotices( context ).forEach( ( notice ) => { removeNotice( notice.id, context ); } ); };