| 1 |
<?php |
| 2 |
/** |
| 3 |
* Class for Radio Button Control. |
| 4 |
* |
| 5 |
* @since 1.0.23 |
| 6 |
* @access public |
| 7 |
*/ |
| 8 |
class LoginPress_Radio_Control extends WP_Customize_Control { |
| 9 |
|
| 10 |
/** |
| 11 |
* The type of customize control being rendered. |
| 12 |
* |
| 13 |
* @since 1.0.23 |
| 14 |
* @access public |
| 15 |
* @var string |
| 16 |
*/ |
| 17 |
public $type = 'ios'; |
| 18 |
|
| 19 |
/** |
| 20 |
* Enqueue scripts/styles. |
| 21 |
* |
| 22 |
* @since 1.0.23 |
| 23 |
* @access public |
| 24 |
* @return void |
| 25 |
*/ |
| 26 |
public function enqueue() { |
| 27 |
|
| 28 |
wp_enqueue_script( 'loginpress-radio-control-js', LOGINPRESS_DIR_URL . 'js/controls/loginpress-radio-button-control.js', array( 'jquery' ), LOGINPRESS_VERSION, true ); |
| 29 |
wp_enqueue_style( 'loginpress-radio-control-css', LOGINPRESS_DIR_URL . 'css/controls/loginpress-radio-button-control.css', array(), LOGINPRESS_VERSION ); |
| 30 |
|
| 31 |
$css = ' |
| 32 |
.disabled-control-title { |
| 33 |
color: #a0a5aa; |
| 34 |
} |
| 35 |
input[type=checkbox].loginpress-radio-light:checked + .loginpress-radio-btn { |
| 36 |
background: #0085ba; |
| 37 |
} |
| 38 |
input[type=checkbox].loginpress-radio-light + .loginpress-radio-btn { |
| 39 |
background: #a0a5aa; |
| 40 |
} |
| 41 |
input[type=checkbox].loginpress-radio-light + .loginpress-radio-btn:after { |
| 42 |
background: #f7f7f7; |
| 43 |
} |
| 44 |
|
| 45 |
input[type=checkbox].loginpress-radio-ios:checked + .loginpress-radio-btn { |
| 46 |
background: #0085ba; |
| 47 |
} |
| 48 |
|
| 49 |
input[type=checkbox].loginpress-radio-flat:checked + .loginpress-radio-btn { |
| 50 |
border: 4px solid #0085ba; |
| 51 |
} |
| 52 |
input[type=checkbox].loginpress-radio-flat:checked + .loginpress-radio-btn:after { |
| 53 |
background: #0085ba; |
| 54 |
} |
| 55 |
'; |
| 56 |
wp_add_inline_style( 'loginpress-radio-control-css' , $css ); |
| 57 |
} |
| 58 |
|
| 59 |
/** |
| 60 |
* Displays the control content. |
| 61 |
* |
| 62 |
* @since 1.0.23 |
| 63 |
* @access public |
| 64 |
* @return void |
| 65 |
*/ |
| 66 |
public function render_content() { |
| 67 |
?> |
| 68 |
<label> |
| 69 |
<div style="display:flex;flex-direction: row;justify-content: flex-start;"> |
| 70 |
<span class="customize-control-title" style="flex: 2 0 0; vertical-align: middle;"><?php echo esc_html( $this->label ); ?></span> |
| 71 |
<input id="cb<?php echo $this->instance_number ?>" type="checkbox" class="loginpress-radio loginpress-radio-<?php echo $this->type?>" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); checked( $this->value() ); ?> /> |
| 72 |
<label for="cb<?php echo $this->instance_number ?>" class="loginpress-radio-btn"></label> |
| 73 |
</div> |
| 74 |
<?php if ( ! empty( $this->description ) ) : ?> |
| 75 |
<span class="description customize-control-description"><?php echo $this->description; ?></span> |
| 76 |
<?php endif; ?> |
| 77 |
</label> |
| 78 |
<?php |
| 79 |
} |
| 80 |
} |
| 81 |
|