Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 25 additions & 7 deletions js/ui.multiselect.js
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@ $.widget("ui.multiselect", {
animated: 'fast',
show: 'slideDown',
hide: 'slideUp',
dividerLocation: 0.6,
titleAvailable: '',
titleSelected: '',
leftToRight: true,
dividerLocation: 0.5,
nodeComparator: function(node1,node2) {
var text1 = node1.text(),
text2 = node2.text();
Expand All @@ -47,10 +50,23 @@ $.widget("ui.multiselect", {
this.id = this.element.attr("id");
this.container = $('<div class="ui-multiselect ui-helper-clearfix ui-widget"></div>').insertAfter(this.element);
this.count = 0; // number of currently selected options
this.selectedContainer = $('<div class="selected"></div>').appendTo(this.container);
this.availableContainer = $('<div class="available"></div>').appendTo(this.container);
this.selectedActions = $('<div class="actions ui-widget-header ui-helper-clearfix"><span class="count">0 '+$.ui.multiselect.locale.itemsCount+'</span><a href="#" class="remove-all">'+$.ui.multiselect.locale.removeAll+'</a></div>').appendTo(this.selectedContainer);
this.availableActions = $('<div class="actions ui-widget-header ui-helper-clearfix"><input type="text" class="search empty ui-widget-content ui-corner-all"/><a href="#" class="add-all">'+$.ui.multiselect.locale.addAll+'</a></div>').appendTo(this.availableContainer);
if(this.options.leftToRight) {
this.availableContainer = $('<div class="available"></div>').appendTo(this.container);
this.selectedContainer = $('<div class="selected"></div>').appendTo(this.container);
} else {
this.selectedContainer = $('<div class="selected"></div>').appendTo(this.container);
this.availableContainer = $('<div class="available"></div>').appendTo(this.container);
}

if(this.options.titleAvailable != '') {
this.options.titleAvailable = '<span>' + this.options.titleAvailable +'</span><br/>';
}
if(this.options.titleSelected != '') {
this.options.titleSelected = '<span>' + this.options.titleSelected +'</span><br/>';
}

this.selectedActions = $('<div class="actions ui-widget-header ui-helper-clearfix">' + this.options.titleSelected +'<span class="count">0 '+$.ui.multiselect.locale.itemsCount+'</span><a href="#" class="remove-all">'+$.ui.multiselect.locale.removeAll+'</a></div>').appendTo(this.selectedContainer);
this.availableActions = $('<div class="actions ui-widget-header ui-helper-clearfix">' + this.options.titleAvailable +'<input type="text" class="search empty ui-widget-content ui-corner-all"/><a href="#" class="add-all">'+$.ui.multiselect.locale.addAll+'</a></div>').appendTo(this.availableContainer);
this.selectedList = $('<ul class="selected connected-list"><li class="ui-helper-hidden-accessible"></li></ul>').bind('selectstart', function(){return false;}).appendTo(this.selectedContainer);
this.availableList = $('<ul class="available connected-list"><li class="ui-helper-hidden-accessible"></li></ul>').bind('selectstart', function(){return false;}).appendTo(this.availableContainer);

Expand All @@ -62,8 +78,10 @@ $.widget("ui.multiselect", {
this.availableContainer.width(Math.floor(this.element.width()*(1-this.options.dividerLocation)));

// fix list height to match <option> depending on their individual header's heights
this.selectedList.height(Math.max(this.element.height()-this.selectedActions.height(),1));
this.availableList.height(Math.max(this.element.height()-this.availableActions.height(),1));
// this.selectedList.height(Math.max(this.element.height()-this.selectedActions.height(),1));
// this.availableList.height(Math.max(this.element.height()-this.availableActions.height(),1));
this.selectedList.height(Math.max(this.element.height(),1));
this.availableList.height(Math.max(this.element.height(),1));

if ( !this.options.animated ) {
this.options.show = 'show';
Expand Down