| 1 |
import { lpAddQueryArgs, lpFetchAPI, lpOnElementReady } from '../../utils.js'; |
| 2 |
|
| 3 |
// Rest API load content course progress - Nhamdv. |
| 4 |
const courseStatistics = () => { |
| 5 |
const loadAPICourseStatistic = ( elCourseStatistic ) => { |
| 6 |
let apiUrl = 'lp/v1/profile/student/statistic'; |
| 7 |
const tabActive = document.querySelector( '.lp-profile-nav-tabs li.active' ); |
| 8 |
if ( ! tabActive ) { |
| 9 |
return; |
| 10 |
} |
| 11 |
|
| 12 |
if ( tabActive.classList.contains( 'courses' ) ) { |
| 13 |
apiUrl = 'lp/v1/profile/instructor/statistic'; |
| 14 |
} |
| 15 |
|
| 16 |
const elArgStatistic = elCourseStatistic.querySelector( '[name="args_query_user_courses_statistic"]' ); |
| 17 |
if ( ! elArgStatistic ) { |
| 18 |
return; |
| 19 |
} |
| 20 |
|
| 21 |
const data = JSON.parse( elArgStatistic.value ); |
| 22 |
|
| 23 |
const callBack = { |
| 24 |
success: ( response ) => { |
| 25 |
if ( response.status === 'success' && response.data ) { |
| 26 |
elCourseStatistic.innerHTML = response.data; |
| 27 |
} else { |
| 28 |
elCourseStatistic.innerHTML = `<div class="lp-ajax-message error" style="display:block">${ response.message && response.message }</div>`; |
| 29 |
} |
| 30 |
}, |
| 31 |
error: ( error ) => { |
| 32 |
console.log( error ); |
| 33 |
}, |
| 34 |
completed: () => { |
| 35 |
|
| 36 |
}, |
| 37 |
}; |
| 38 |
|
| 39 |
apiUrl = lpAddQueryArgs( lpData.lp_rest_url + apiUrl, data ); |
| 40 |
|
| 41 |
if ( 0 !== parseInt( lpData.user_id ) ) { |
| 42 |
data.headers = { |
| 43 |
'X-WP-Nonce': lpData.nonce, |
| 44 |
}; |
| 45 |
} |
| 46 |
lpFetchAPI( apiUrl, data, callBack ); |
| 47 |
}; |
| 48 |
|
| 49 |
lpOnElementReady( '.learn-press-profile-course__statistic', ( elCourseStatistic ) => { |
| 50 |
loadAPICourseStatistic( elCourseStatistic ); |
| 51 |
} ); |
| 52 |
}; |
| 53 |
|
| 54 |
export default courseStatistics; |
| 55 |
|