PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.25
Advanced Ads – Ad Manager & AdSense v2.0.25
2.0.25 2.0.24 2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / assets / src / oneclick / Notices.jsx
advanced-ads / assets / src / oneclick Last commit date
store 1 year ago AddonRow.jsx 1 year ago App.jsx 1 year ago Metabox.jsx 1 year ago Modal.jsx 1 year ago Notices.jsx 1 year ago Select2.jsx 1 year ago Settings.jsx 1 year ago Step1.jsx 1 year ago Step2.jsx 1 year ago Step3.jsx 1 year ago StepWrapper.jsx 1 year ago main.js 1 year ago
Notices.jsx
94 lines
1 /**
2 * External Dependencies
3 */
4 import classnames from 'classnames';
5
6 /**
7 * WordPress dependencies
8 */
9 import { useEffect } from '@wordpress/element';
10 import { store as noticesStore } from '@wordpress/notices';
11 import { dispatch, useSelect, useDispatch } from '@wordpress/data';
12
13 export function removeAllNotices() {
14 dispatch(noticesStore).removeAllNotices();
15 }
16
17 export function noticeSuccess(message, options) {
18 dispatch(noticesStore).createSuccessNotice(message, options);
19 }
20
21 export function noticeError(message, options) {
22 dispatch(noticesStore).createErrorNotice(message, options);
23 }
24
25 function Notice({ status, isDismissible, actions, onRemove, children, type }) {
26 const wrapperClasses = classnames(
27 'flex items-center justify-between notice notice-alt !px-3',
28 `notice-${status}`,
29 { 'is-dismissible': isDismissible }
30 );
31
32 useEffect(() => {
33 if ('timeout' !== type) {
34 return;
35 }
36
37 const timeId = setTimeout(() => {
38 onRemove();
39 }, 5000);
40
41 // Cleanup function to clear the timeout
42 return () => clearTimeout(timeId);
43 }, []); // Empty array means it will only run on mount
44
45 return (
46 <div className={wrapperClasses}>
47 <div className="py-3" dangerouslySetInnerHTML={{ __html: children }} />
48 {actions.map((action, index) => {
49 return (
50 <button
51 key={index}
52 className="button button-primary !ml-auto !mr-2"
53 onClick={(event) => action.onClick(event, onRemove)}
54 >
55 {action.label}
56 </button>
57 )
58 })}
59 { isDismissible && (
60 <button
61 className="button-link !no-underline"
62 onClick={ onRemove }
63 >
64 <span className="dashicons dashicons-no-alt"></span>
65 </button>
66 ) }
67 </div>
68 )
69 }
70 /**
71 * Renders the notices
72 *
73 * @return {React.ReactNode} The rendered component.
74 */
75 export default function Notices() {
76 const notices = useSelect(
77 ( select ) => select( noticesStore ).getNotices(),
78 []
79 );
80 const { removeNotice } = useDispatch( noticesStore );
81
82 return (
83 <>
84 {notices.map( ( notice ) => {
85 return (
86 <Notice key={notice.id} onRemove={() => removeNotice(notice.id)} {...notice}>
87 {notice.content}
88 </Notice>
89 )
90 })}
91 </>
92 );
93 }
94