balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

index.js (1902B)


      1 import {__} from '@wordpress/i18n';
      2 
      3 const {compose} = wp.compose;
      4 const {withDispatch, withSelect} = wp.data;
      5 import {openSitePreviewModal} from '~redux-templates/stores/actionHelper';
      6 import ChallengeDot from '~redux-templates/challenge/tooltip/ChallengeDot';
      7 import './style.scss'
      8 
      9 function PreviewImportButton(props) {
     10     const {data, index, pageData} = props;
     11     const {setImportingTemplate, tourActiveButtonGroup} = props;
     12     let spinner = null;
     13     const triggerImportTemplate = (data) => {
     14         if (spinner === null) {
     15             spinner = data.ID;
     16             setImportingTemplate(data);
     17         }
     18     }
     19 
     20     return (
     21         <div className="action-buttons">
     22             {
     23                 pageData[index] && pageData[index]['source'] !== 'wp_block_patterns' &&
     24                 <a className="redux-templates-button preview-button" target="_blank"
     25                    onClick={() => openSitePreviewModal(index, pageData)}>
     26                     <i className="fa fa-share"/> {__('Preview', redux_templates.i18n)}
     27                 </a>
     28             }
     29 
     30             <a className="redux-templates-button download-button"
     31                onClick={() => triggerImportTemplate(data)}>
     32                 <i className="fas fa-download"/>{__('Import', redux_templates.i18n)}
     33             </a>
     34             {tourActiveButtonGroup && tourActiveButtonGroup.ID === pageData[index].ID && <ChallengeDot step={4} /> }
     35         </div>
     36     );
     37 }
     38 
     39 
     40 export default compose([
     41     withDispatch((dispatch) => {
     42         const {
     43             setImportingTemplate
     44         } = dispatch('redux-templates/sectionslist');
     45 
     46         return {
     47             setImportingTemplate
     48         };
     49     }),
     50     withSelect((select, props) => {
     51         const {getTourActiveButtonGroup} = select('redux-templates/sectionslist');
     52         return {
     53             tourActiveButtonGroup: getTourActiveButtonGroup()
     54         };
     55     })
     56 ])(PreviewImportButton);