You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
51 lines
1.5 KiB
/**
|
|
* JavaScript code for the CodeMirror handling on the "Options" screen.
|
|
*
|
|
* @package TablePress
|
|
* @subpackage Views JavaScript
|
|
* @author Tobias Bäthge
|
|
* @since 1.9.0
|
|
*/
|
|
|
|
/* globals tp, wp */
|
|
|
|
/* jshint strict: global */
|
|
'use strict'; // Necessary as this file does not use "import".
|
|
|
|
// Ensure the global `tp` object exists.
|
|
window.tp = window.tp || {};
|
|
|
|
/**
|
|
* Invoke CodeMirror on the "Custom CSS" textarea.
|
|
*
|
|
* @since 1.9.0
|
|
*/
|
|
tp.CM_custom_css = wp.codeEditor.initialize( 'option-custom-css', {} ).codemirror;
|
|
const $CM_wrapper = tp.CM_custom_css.getWrapperElement();
|
|
|
|
/**
|
|
* Let CodeMirror textarea grow on first focus (with mouse click), if it is not disabled.
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
const CM_wrapper_mousedown_handler = function () {
|
|
if ( ! this.classList.contains( 'disabled' ) ) {
|
|
this.classList.add( 'large' );
|
|
tp.CM_custom_css.refresh();
|
|
this.removeEventListener( 'mousedown', CM_wrapper_mousedown_handler ); // No need to keep checking for clicks after the textarea height was increased.
|
|
}
|
|
};
|
|
$CM_wrapper.addEventListener( 'mousedown', CM_wrapper_mousedown_handler );
|
|
|
|
/**
|
|
* Enable/disable CodeMirror according to state of "Load Custom CSS" checkbox.
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
const $cb_use_custom_css = document.getElementById( 'option-use-custom-css' );
|
|
$cb_use_custom_css.addEventListener( 'change', function () {
|
|
tp.CM_custom_css.setOption( 'readOnly', ! this.checked );
|
|
$CM_wrapper.classList.toggle( 'disabled', ! this.checked );
|
|
} );
|
|
$cb_use_custom_css.dispatchEvent( new Event( 'change' ) );
|