<?php
/**
 * Customizer Control: multicheck.
 *
 * Multiple checkbox customize control class.
 * Props @ Justin Tadlock: http://justintadlock.com/archives/2015/05/26/multiple-checkbox-customizer-control
 *
 * @package     WFOCUKirki
 * @subpackage  Controls
 * @copyright   Copyright (c) 2017, Aristeides Stathopoulos
 * @license     http://opensource.org/licenses/https://opensource.org/licenses/MIT
 * @since       1.0
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}
if ( ! class_exists( 'WFOCUKirki_Control_MultiCheck' ) ) {
	/**
	 * Adds a multicheck control.
	 */
	class WFOCUKirki_Control_MultiCheck extends WFOCUKirki_Control_Base {

		/**
		 * The control type.
		 *
		 * @access public
		 * @var string
		 */
		public $type = 'wfocukirki-multicheck';

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 *
		 * @access protected
		 */
		protected function content_template() {
			?>
            <# if ( ! data.choices ) { return; } #>

            <# if ( data.label ) { #><span class="customize-control-title">{{{ data.label }}}</span><# } #>
            <# if ( data.description ) { #><span class="description customize-control-description">{{{ data.description }}}</span><# } #>

            <ul>
                <# for ( key in data.choices ) { #>
                <li><label<# if ( _.contains( data.value, key ) ) { #> class="checked"<# } #>><input {{{ data.inputAttrs }}} type="checkbox" value="{{ key }}"<# if ( _.contains( data.value, key ) ) {
                    #> checked<# } #> />{{ data.choices[ key ] }}</label></li>
                <# } #>
            </ul>
			<?php
		}
	}
}