Files
medicalalert-web-reloaded/wp/wp-content/plugins/wp-crontrol/js/wp-crontrol.js
2024-04-02 20:23:21 +00:00

40 lines
1.8 KiB
JavaScript

/**
* Functionality related to WP Crontrol.
*/
document.addEventListener( 'DOMContentLoaded', () => {
const checkCustom = () => {
document.getElementById( 'crontrol_next_run_date_local_custom' ).checked = true;
};
const customDateElement = document.getElementById( 'crontrol_next_run_date_local_custom_date' );
const customTimeElement = document.getElementById( 'crontrol_next_run_date_local_custom_time' );
const newCronElement = document.querySelector( 'input[value="new_cron"]' );
const newPHPCronElement = document.querySelector( 'input[value="new_php_cron"]' );
const hookCodeElement = document.getElementById( 'crontrol_hookcode' );
const hookNameElement = document.getElementById( 'crontrol_hookname' );
const editEventElement = document.querySelector( '.crontrol-edit-event' );
customDateElement && customDateElement.addEventListener( 'change', checkCustom );
customTimeElement && customTimeElement.addEventListener( 'change', checkCustom );
if ( newPHPCronElement ) {
newCronElement.addEventListener( 'click', () => {
editEventElement.classList.remove( 'crontrol-edit-event-php' );
editEventElement.classList.add( 'crontrol-edit-event-standard' );
hookNameElement.setAttribute( 'required', true );
} );
newPHPCronElement.addEventListener( 'click', () => {
editEventElement.classList.remove( 'crontrol-edit-event-standard' );
editEventElement.classList.add( 'crontrol-edit-event-php' );
hookNameElement.removeAttribute( 'required' );
if ( ! hookCodeElement.classList.contains( 'crontrol-editor-initialized' ) ) {
wp.codeEditor.initialize( 'crontrol_hookcode', window.wpCrontrol.codeEditor );
}
hookCodeElement.classList.add( 'crontrol-editor-initialized' );
} );
} else if ( hookCodeElement ) {
wp.codeEditor.initialize( 'crontrol_hookcode', window.wpCrontrol.codeEditor );
}
} );