From cccdf65004c642eada7ea51cadfe9fda623fe1c6 Mon Sep 17 00:00:00 2001 From: Damian Gomez Date: Thu, 11 Sep 2014 10:59:15 +0200 Subject: [PATCH] Implements disabled items by adding attribute "disabled" can lock elements --- js/ui.multiselect.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/js/ui.multiselect.js b/js/ui.multiselect.js index 3f653d8..055ef07 100755 --- a/js/ui.multiselect.js +++ b/js/ui.multiselect.js @@ -163,7 +163,8 @@ $.widget("ui.multiselect", { }, _getOptionNode: function(option) { option = $(option); - var node = $('
  • '+option.text()+'
  • ').hide(); + var disabled_class = option.is(':disabled') ? 'disabled' : ''; + var node = $('
  • '+option.text()+'
  • ').hide(); node.data('optionLink', option); return node; }, @@ -225,8 +226,13 @@ $.widget("ui.multiselect", { } else { item.children('span').removeClass('ui-icon-arrowthick-2-n-s').addClass('ui-helper-hidden').removeClass('ui-icon'); - item.find('a.action span').addClass('ui-icon-plus').removeClass('ui-icon-minus'); - this._registerAddEvents(item.find('a.action')); + + if(!item.hasClass('disabled')) { + item.find('a.action span').addClass('ui-icon-plus').removeClass('ui-icon-minus'); + this._registerAddEvents(item.find('a.action')); + } else { + item.find('a.action span').removeClass('ui-icon'); + } } this._registerDoubleClickEvents(item); @@ -289,7 +295,8 @@ $.widget("ui.multiselect", { if (this.options.sortable) { elements.each(function() { $(this).parent().draggable({ - connectToSortable: that.selectedList, + cancel: ".disabled", + connectToSortable: that.selectedList, helper: function() { var selectedItem = that._cloneWithData($(this)).width($(this).width() - 50); selectedItem.width($(this).width());