You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					43 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					43 lines
				
				1.1 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", {
							 | 
						||
| 
								 | 
							
								  value: true
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								exports.withNotice = exports.default = void 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _reactRedux = require("react-redux");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _addNotice = require("../store/actions/add-notice");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* eslint-disable @typescript-eslint/explicit-function-return-type */
							 | 
						||
| 
								 | 
							
								const mapDispatchToProps = dispatch => ({
							 | 
						||
| 
								 | 
							
								  addNotice: notice => dispatch((0, _addNotice.addNotice)(notice))
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Higher Order Component which allows you to post notice messages from your components
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * It gives you the additional prop: `addNotice(noticeMessage)` taking {@link NoticeMessage}.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * ```javascript
							 | 
						||
| 
								 | 
							
								 * import { withNotice } from 'adminjs/core'
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * const MY_MESSAGE = {
							 | 
						||
| 
								 | 
							
								 *   message: 'I am toast message',
							 | 
						||
| 
								 | 
							
								 *   type: 'success',
							 | 
						||
| 
								 | 
							
								 * }
							 | 
						||
| 
								 | 
							
								 * const MyCustomComponent = ({ addNotice }) => {
							 | 
						||
| 
								 | 
							
								 *   return (
							 | 
						||
| 
								 | 
							
								 *     <a onClick={() => addNotice(MY_MESSAGE)}>Click Me</a>
							 | 
						||
| 
								 | 
							
								 *   )
							 | 
						||
| 
								 | 
							
								 * }
							 | 
						||
| 
								 | 
							
								 * export default withNotice(MyCustomComponent)
							 | 
						||
| 
								 | 
							
								 * ```
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @component
							 | 
						||
| 
								 | 
							
								 * @subcategory HOC
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const withNotice = Component => (0, _reactRedux.connect)(null, mapDispatchToProps)(Component);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.withNotice = exports.default = withNotice;
							 |