Merge pull request #1010 from tilwinjoy/disabled-cursor-fix

Disabled cursor fix for checkbox and radio
This commit is contained in:
Kevin Ross 2016-05-23 08:52:30 -05:00
commit 6403108ea2

View File

@ -37,13 +37,32 @@
} }
} }
function _toggleDisabledState($element, state) {
var $target;
if ($element.hasClass('checkbox-inline') || $element.hasClass('radio-inline')) {
$target = $element;
} else {
$target = $element.closest('.checkbox').length ? $element.closest('.checkbox') : $element.closest('.radio');
}
return $target.toggleClass('disabled', state);
}
function _toggleTypeFocus($input) { function _toggleTypeFocus($input) {
var disabledToggleType = false;
if ($input.is($.material.options.checkboxElements) || $input.is($.material.options.radioElements)) {
disabledToggleType = true;
}
$input.closest('label').hover(function () { $input.closest('label').hover(function () {
var $i = $(this).find('input'); var $i = $(this).find('input');
if (!$i.prop('disabled')) { // hack because the _addFormGroupFocus() wasn't identifying the property on chrome var isDisabled = $i.prop('disabled'); // hack because the _addFormGroupFocus() wasn't identifying the property on chrome
if (disabledToggleType) {
_toggleDisabledState($(this), isDisabled);
}
if (!isDisabled) {
_addFormGroupFocus($i); // need to find the input so we can check disablement _addFormGroupFocus($i); // need to find the input so we can check disablement
} }
}, function () { },
function () {
_removeFormGroupFocus($(this).find('input')); _removeFormGroupFocus($(this).find('input'));
}); });
} }