| Server IP : 104.21.28.229 / Your IP : 216.73.216.142 Web Server : Apache/2 System : Linux hosting8537.lvs 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : mienphi ( 1014) PHP Version : 8.2.14 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/mienphi/public_html/wp-content/plugins/learnpress-gradebook/src/components/export/ |
Upload File : |
/**
* Code nhu quan que
* Edit: Nhamdv
*/
import { __ } from '@wordpress/i18n';
import { useState } from '@wordpress/element';
import { addQueryArgs } from '@wordpress/url';
import apiFetch from '@wordpress/api-fetch';
import { Spinner, Button } from '@wordpress/components';
import { download } from '@wordpress/icons';
import { generateCSVDataFromTable, generateCSVFileName, downloadCSVFile } from '@woocommerce/csv-export';
const HEADER_EXPORT = [
{ label: __( 'Title', 'learnpress-gradebook' ), key: '"post_title"' },
{ label: __( 'Type', 'learnpress-gradebook' ), key: '"item_type"' },
{ label: __( 'Start time', 'learnpress-gradebook' ), key: '"start_time"' },
{ label: __( 'End time', 'learnpress-gradebook' ), key: '"end_time"' },
{ label: __( 'Graduation', 'learnpress-gradebook' ), key: '"graduation"' },
{ label: __( 'Status', 'learnpress-gradebook' ), key: '"status"' },
];
export default function ExportItems( { studentID, courseID } ) {
const [ loading, setLoading ] = useState( false );
async function ExportItem() {
setLoading( true );
try {
const response = await apiFetch( {
path: addQueryArgs( 'lp-gradebook/export-items', { studentID, courseID } ),
method: 'GET',
} );
if ( response?.data ) {
const dataForm = generateCSVDataFromTable( HEADER_EXPORT, response.data );
const name = generateCSVFileName( 'gradebook', { list: 'items' } );
downloadCSVFile( name, dataForm );
}
setLoading( false );
} catch ( e ) {
setLoading( false );
}
}
return (
<Button
className="learnpress-gradebook__export__button"
isSecondary
variant="secondary"
onClick={ ExportItem }
icon={ loading ? <Spinner /> : download }
iconSize={ 20 }
text={ __( 'Export CSV', 'learnpress-gradebook' ) }
/>
);
}