<?php

/**
 * Class SiteOrigin_Widget_Field_Textarea
 */
class SiteOrigin_Widget_Field_Code extends SiteOrigin_Widget_Field_Text_Input_Base {
	/**
	 * The number of visible rows in the textarea.
	 *
	 * @var int
	 */
	protected $rows;

	protected function render_field( $value, $instance ) {
		?>
		<textarea
			type="text"
			name="<?php echo esc_attr( $this->element_name ); ?>"
			id="<?php echo esc_attr( $this->element_id ); ?>"
			autocomplete="off"
			autocorrect="off"
			autocapitalize="off"
			spellcheck="false"
			<?php if ( ! empty( $this->placeholder ) ) {
				echo 'placeholder="' . esc_attr( $this->placeholder ) . '"';
			} ?>
			<?php $this->render_CSS_classes( $this->get_input_classes() ); ?>
			rows="<?php echo ! empty( $this->rows ) ? (int) $this->rows : 4; ?>"
			<?php if ( ! empty( $this->readonly ) ) {
				echo 'readonly';
			} ?>><?php echo esc_textarea( $value ); ?></textarea>
		<?php
	}

	/**
	 * The CSS classes to be applied to the rendered text input.
	 */
	protected function get_input_classes() {
		return array( 'widefat', 'siteorigin-widget-input', 'siteorigin-widget-code-input' );
	}

	public function enqueue_scripts() {
		wp_enqueue_script(
			'so-code-field',
			plugin_dir_url( __FILE__ ) . 'js/code-field' . SOW_BUNDLE_JS_SUFFIX . '.js',
			array( 'jquery' ),
			SOW_BUNDLE_VERSION
		);
	}

	public function sanitize( $value, $instance = array(), $old_value = null ) {
		return $value;
	}
}
