whatsappicloudtweetdeckhipchattelegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinbox
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.
155 lines
5.6 KiB
155 lines
5.6 KiB
9 years ago
|
/**
|
||
|
* Creates a visual theme for checkboxes and radio buttons. Note this mixin only provides
|
||
|
* styling for the checkbox/radio button and its {@link #boxLabel}, The {@link #fieldLabel}
|
||
|
* and error icon/message are styled by {@link #extjs-label-ui}.
|
||
|
*
|
||
|
* @param {string} $ui
|
||
|
* The name of the UI being created. Can not included spaces or special punctuation
|
||
|
* (used in CSS class names).
|
||
|
*
|
||
|
* @param {number} [$ui-field-height=$form-field-height]
|
||
|
* The height of the field body that the checkbox must fit within. This does not set the
|
||
|
* height of the field, only allows the checkbox to be centered inside the field body.
|
||
|
* (The height of the field body is determined by {@link #extjs-label-ui}).
|
||
|
*
|
||
|
* @param {number} [$ui-checkbox-size=$form-checkbox-size]
|
||
|
* The size of the checkbox
|
||
|
*
|
||
|
* @param {string} [$ui-checkbox-background-image=$form-checkbox-background-image]
|
||
|
* The background-image of the checkbox
|
||
|
*
|
||
|
* @param {string} [$ui-radio-background-image=$form-radio-background-image]
|
||
|
* The background-image of the radio button
|
||
|
*
|
||
|
* @param {color} [$ui-label-color=$form-checkbox-label-color]
|
||
|
* The color of the checkbox's {@link #boxLabel}
|
||
|
*
|
||
|
* @param {string} [$ui-label-font-weight=$form-checkbox-label-font-weight]
|
||
|
* The font-weight of the checkbox's {@link #boxLabel}
|
||
|
*
|
||
|
* @param {string} [$ui-label-font-size=$form-checkbox-label-font-size]
|
||
|
* The font-size of the checkbox's {@link #boxLabel}
|
||
|
*
|
||
|
* @param {string} [$ui-label-font-family=$form-checkbox-label-font-family]
|
||
|
* The font-family of the checkbox's {@link #boxLabel}
|
||
|
*
|
||
|
* @param {string} [$ui-label-line-height=$form-checkbox-label-line-height]
|
||
|
* The line-height of the checkbox's {@link #boxLabel}
|
||
|
*
|
||
|
* @param {number} [$ui-label-spacing=$form-checkbox-label-spacing]
|
||
|
* The space between the boxLabel and the checkbox.
|
||
|
*
|
||
|
* @member Ext.form.field.Checkbox
|
||
|
*/
|
||
|
@mixin extjs-checkbox-ui(
|
||
|
$ui: null,
|
||
|
$ui-field-height: $form-field-height,
|
||
|
$ui-checkbox-size: $form-checkbox-size,
|
||
|
$ui-checkbox-background-image: $form-checkbox-background-image,
|
||
|
$ui-radio-background-image: $form-radio-background-image,
|
||
|
$ui-label-color: $form-checkbox-label-color,
|
||
|
$ui-label-font-weight: $form-checkbox-label-font-weight,
|
||
|
$ui-label-font-size: $form-checkbox-label-font-size,
|
||
|
$ui-label-font-family: $form-checkbox-label-font-family,
|
||
|
$ui-label-line-height: $form-checkbox-label-line-height,
|
||
|
$ui-label-spacing: $form-checkbox-label-spacing
|
||
|
) {
|
||
|
.#{$prefix}form-cb-wrap-#{$ui} {
|
||
|
height: $ui-field-height;
|
||
|
}
|
||
|
|
||
|
.#{$prefix}form-cb-#{$ui} {
|
||
|
// vertically center the checkbox
|
||
|
margin-top: round(($ui-field-height - $ui-checkbox-size) / 2);
|
||
|
}
|
||
|
|
||
|
.#{$prefix}form-checkbox-#{$ui},
|
||
|
.#{$prefix}form-radio-#{$ui} {
|
||
|
width: $ui-checkbox-size;
|
||
|
height: $ui-checkbox-size;
|
||
|
}
|
||
|
|
||
|
.#{$prefix}form-radio-#{$ui} {
|
||
|
background: theme-background-image($ui-radio-background-image) no-repeat;
|
||
|
|
||
|
.#{$prefix}form-cb-checked & {
|
||
|
background-position: 0 (0 - $ui-checkbox-size);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{$prefix}form-checkbox-#{$ui} {
|
||
|
background: theme-background-image($ui-checkbox-background-image) no-repeat;
|
||
|
|
||
|
.#{$prefix}form-cb-checked & {
|
||
|
background-position: 0 (0 - $ui-checkbox-size);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{$prefix}field-#{$ui}-form-checkbox-focus {
|
||
|
background-position: (0 - $ui-checkbox-size) 0;
|
||
|
|
||
|
|
||
|
.#{$prefix}form-cb-checked & {
|
||
|
background-position: (0 - $ui-checkbox-size) (0 - $ui-checkbox-size);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{$prefix}form-cb-label-#{$ui} {
|
||
|
margin-top: round(($ui-field-height - $ui-label-line-height) / 2);
|
||
|
font: $ui-label-font-weight #{$ui-label-font-size}/#{$ui-label-line-height} $ui-label-font-family;
|
||
|
|
||
|
&.#{$prefix}form-cb-label-before {
|
||
|
padding-right: $ui-label-spacing + $ui-checkbox-size;
|
||
|
|
||
|
@if $include-rtl {
|
||
|
&.#{$prefix}rtl {
|
||
|
padding-right: 0;
|
||
|
padding-left: $ui-label-spacing + $ui-checkbox-size;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
&.#{$prefix}form-cb-label-after {
|
||
|
padding-left: $ui-label-spacing + $ui-checkbox-size;
|
||
|
}
|
||
|
|
||
|
@if $include-rtl {
|
||
|
&.#{$prefix}rtl {
|
||
|
padding-left: 0;
|
||
|
padding-right: $ui-label-spacing + $ui-checkbox-size;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Checkbox field or subclass inside cell - calculate top/bottom padding to keep row height correct
|
||
|
@if $include-ext-grid-column-widget or $include-ext-grid-plugin-editing {
|
||
|
.#{$prefix}checkbox-#{$ui}-cell > .#{$prefix}grid-cell-inner {
|
||
|
padding-top: max(ceil(($grid-row-height - $ui-field-height) / 2), 0);
|
||
|
padding-bottom: max(floor(($grid-row-height - $ui-field-height) / 2), 0);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@if $include-checkbox-default-ui {
|
||
|
@include extjs-checkbox-ui(
|
||
|
$ui: 'default'
|
||
|
);
|
||
|
}
|
||
|
|
||
|
@if $include-checkbox-toolbar-ui {
|
||
|
@include extjs-checkbox-ui(
|
||
|
$ui: 'toolbar',
|
||
|
$ui-field-height: $form-toolbar-field-height,
|
||
|
$ui-checkbox-size: $form-toolbar-checkbox-size,
|
||
|
$ui-checkbox-background-image: $form-toolbar-checkbox-background-image,
|
||
|
$ui-radio-background-image: $form-toolbar-radio-background-image,
|
||
|
$ui-label-color: $form-toolbar-checkbox-label-color,
|
||
|
$ui-label-font-weight: $form-toolbar-checkbox-label-font-weight,
|
||
|
$ui-label-font-size: $form-toolbar-checkbox-label-font-size,
|
||
|
$ui-label-font-family: $form-toolbar-checkbox-label-font-family,
|
||
|
$ui-label-line-height: $form-toolbar-checkbox-label-line-height,
|
||
|
$ui-label-spacing: $form-toolbar-checkbox-label-spacing
|
||
|
);
|
||
|
}
|
||
|
|