Skip to content

Commit 282791f

Browse files
author
Harris
committed
Merging version3 branch into master
2 parents 57cab77 + 6bbf1a6 commit 282791f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+4218
-3895
lines changed

.eslintrc.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": "google"
3+
}

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
docs/public
22
docs/_site
33
docs/.sass-cache
4-
node_modules
4+
.vscode
5+
node_modules
6+
tests/unit/debug.log

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,4 +246,4 @@ DEPENDENCIES
246246
github-pages
247247

248248
BUNDLED WITH
249-
1.16.1
249+
1.16.2
File renamed without changes.

css/jquery.multiselect.css

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
.ui-multiselect {box-sizing: border-box; padding:2px 0 2px 4px; text-align:left; width: auto;}
2+
.ui-multiselect .ui-multiselect-open { float:right }
3+
4+
.ui-multiselect-menu { display:none; box-sizing:border-box; position:absolute; text-align:left; z-index: 101; width:auto; height:auto; padding:3px; }
5+
.ui-multiselect-menu.ui-multiselect-listbox {position:relative; z-index: 0;}
6+
7+
.ui-multiselect-header { display:block; box-sizing:border-box; position:relative; width:auto; padding:3px 0 3px 4px; margin-bottom:2px;}
8+
.ui-multiselect-header > ul { font-size:0.9em }
9+
.ui-multiselect-header li { float:left; margin:0 10px 0 0;}
10+
.ui-multiselect-header a { text-decoration:none; }
11+
.ui-multiselect-header a:hover { text-decoration:underline; cursor: pointer;}
12+
.ui-multiselect-header .ui-icon { float:left; }
13+
.ui-multiselect-header .ui-multiselect-close { float:right; margin-right:0; text-align:right; }
14+
15+
.ui-multiselect-checkboxes { display:block; box-sizing:border-box; position:relative; overflow:auto; width: auto; border: 0; padding: 4px 0 8px;}
16+
.ui-multiselect-checkboxes li:not(.ui-multiselect-optgroup) { clear:both; font-size:0.9em; list-style: none; padding-right:3px;}
17+
.ui-multiselect-checkboxes label { border:1px solid transparent; cursor:default; display:block; padding:3px 1px 3px 21px; text-indent: -20px;}
18+
.ui-multiselect-checkboxes input { position:relative; top:1px; cursor: pointer;}
19+
.ui-multiselect-checkboxes img { height: 30px; vertical-align: middle; margin-right: 3px;}
20+
.ui-multiselect-grouplabel { border-bottom:1px solid; display:block; font-weight:bold; margin:1px 0; padding:3px; text-align:center; text-decoration:none; }
21+
.ui-multiselect-selectable { cursor: pointer; }
22+
.ui-multiselect-optgroup > ul { padding: 3px; }
23+
.ui-multiselect-columns { display: inline-block; vertical-align: top; }
24+
.ui-multiselect-collapser { float: left; padding: 0 1px; margin: 0; }
25+
.ui-multiselect-collapsed > ul { display:none }
26+
27+
.ui-multiselect-single .ui-multiselect-checkboxes input { left:-9999px; position:absolute !important; top: auto !important; }
28+
.ui-multiselect-single .ui-multiselect-checkboxes label { padding:5px !important; text-indent: 0 !important; }
29+
30+
.ui-multiselect.ui-multiselect-nowrap { white-space: nowrap }
31+
.ui-multiselect.ui-multiselect-nowrap > span { display: inline-block }
32+
.ui-multiselect-checkboxes.ui-multiselect-nowrap li,
33+
.ui-multiselect-checkboxes.ui-multiselect-nowrap a { white-space: nowrap }
34+
35+
.ui-multiselect-measure > .ui-multiselect-header,
36+
.ui-multiselect-measure > .ui-multiselect-checkboxes { float: left; }
37+
.ui-multiselect-measure > .ui-multiselect-checkboxes { margin: 4px; overflow-y: scroll; }
38+
39+
.ui-multiselect-resize { border: 2px dotted #00F }
40+
41+
@media print{
42+
.ui-multiselect-menu {display: none;}
43+
}

css/jquery.multiselect.filter.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.ui-multiselect-hasfilter ul { position:relative; top:2px }
2+
.ui-multiselect-filter { float:left; margin-right:10px; font-size:1em; width:100%; }
3+
.ui-multiselect-header .ui-multiselect-filter input { width:100px; font-size:.9em; margin-left:5px; height:15px; padding:2px; border:1px solid #292929; -webkit-appearance:textfield; -webkit-box-sizing:content-box; }
4+
.ui-multiselect-excluded {display: none}

docs/animations.html

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,27 @@
55
$(function(){
66

77
$("#test-1").multiselect({
8-
show: ["bounce", 200],
9-
hide: ["explode", 1000]
8+
openEffect: ["bounce", 200],
9+
closeEffect: ["explode", 1000]
1010
});
1111

1212
$("#test-2").multiselect({
13-
show: "bounce",
14-
hide: "explode"
13+
openEffect: "bounce",
14+
closeEffect: "explode"
1515
});
1616

1717
});
1818
</script>
1919
<body onload="prettyPrint();">
2020

2121
<h2>Show/hide with Animation</h2>
22-
<p>Using animations with the show and hide parameters. Either pass an array with the effect name and the speed, or just specify the name of an effect. If you don't
23-
specify a speed, the default of 400ms will be used.</p>
22+
<p>Using animations with the openEffect and closeEffect parameters. Either pass an array with the effect name and the speed, an object of animation parameters, or just specify the name of an effect. If you don't specify a speed, the default of 400ms will be used.</p>
2423

2524
<h3>Specifying different show and hide speeds</h3>
2625
<pre class="prettyprint">
2726
$("#test-1").multiselect({
28-
show: ["bounce", 200],
29-
hide: ["explode", 1000]
27+
openEffect: ["bounce", 200],
28+
closeEffect: ["explode", 1000]
3029
});
3130
</pre>
3231
<select id="test-1" multiple="multiple" size="5">
@@ -40,8 +39,8 @@ <h3>Specifying different show and hide speeds</h3>
4039
<h3>Only passing the name of an effect</h3>
4140
<pre class="prettyprint">
4241
$("#test-2").multiselect({
43-
show: "bounce",
44-
hide: "explode"
42+
openEffect: "bounce",
43+
closeEffect: "explode"
4544
});
4645
</pre>
4746
<select id="test-2" multiple="multiple" size="5">

docs/basic.html

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
---
44
<script type="text/javascript">
55
$(function(){
6-
$("select").multiselect();
6+
$("select").multiselect();
77
});
88
</script>
99
<h2>Basic Demos</h2>
@@ -17,36 +17,36 @@ <h2>Basic Demos</h2>
1717

1818
<h3>Basic</h3>
1919
<p>
20-
<select title="Basic example" multiple="multiple" name="example-basic" size="5">
21-
<option value="option1">Option 1</option>
22-
<option value="option2">Option 2</option>
23-
<option value="option3">Option 3</option>
24-
<option value="option4">Option 4</option>
25-
<option value="option5">Option 5</option>
26-
<option value="option6">Option 6</option>
27-
<option value="option7">Option 7</option>
28-
<option value="option8">Option 8</option>
29-
<option value="option9">Option 9</option>
30-
<option value="option10">Option 10</option>
31-
<option value="option11">Option 11</option>
32-
<option value="option12">Option 12</option>
33-
</select>
20+
<select title="Basic example" multiple="multiple" name="example-basic" size="5">
21+
<option value="option1">Option 1</option>
22+
<option value="option2">Option 2</option>
23+
<option value="option3">Option 3</option>
24+
<option value="option4">Option 4</option>
25+
<option value="option5">Option 5</option>
26+
<option value="option6">Option 6</option>
27+
<option value="option7">Option 7</option>
28+
<option value="option8">Option 8</option>
29+
<option value="option9">Option 9</option>
30+
<option value="option10">Option 10</option>
31+
<option value="option11">Option 11</option>
32+
<option value="option12">Option 12</option>
33+
</select>
3434
</p>
3535

3636
<h3>With Optgroups</h3>
3737
<p>Click on an optgroup's heading to toggle the checked state of the entire group.</p>
3838
<p>
39-
<select name="example-optgroup" multiple="multiple" size="5">
40-
<optgroup label="Group One">
41-
<option value="option1">Option 1</option>
42-
<option value="option2">Option 2</option>
43-
<option value="option3">Option 3</option>
44-
</optgroup>
45-
<optgroup label="Group Two">
46-
<option value="option4">Option 4</option>
47-
<option value="option5">Option 5</option>
48-
<option value="option6">Option 6</option>
49-
<option value="option7">Option 7</option>
50-
</optgroup>
51-
</select>
39+
<select name="example-optgroup" multiple="multiple" size="5">
40+
<optgroup label="Group One">
41+
<option value="option1">Option 1</option>
42+
<option value="option2">Option 2</option>
43+
<option value="option3">Option 3</option>
44+
</optgroup>
45+
<optgroup label="Group Two">
46+
<option value="option4">Option 4</option>
47+
<option value="option5">Option 5</option>
48+
<option value="option6">Option 6</option>
49+
<option value="option7">Option 7</option>
50+
</optgroup>
51+
</select>
5252
</p>

docs/callbacks.html

Lines changed: 55 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -4,58 +4,65 @@
44
<script type="text/javascript">
55
$(function(){
66

7-
var $callback = $("#callback");
8-
9-
$("select").multiselect({
10-
click: function(event, ui){
11-
$callback.text(ui.value + ' ' + (ui.checked ? 'checked' : 'unchecked') );
12-
},
13-
beforeopen: function(){
14-
$callback.text("Select about to be opened...");
15-
},
16-
open: function(){
17-
$callback.text("Select opened!");
18-
},
19-
beforeclose: function(){
20-
$callback.text("Select about to be closed...");
21-
},
22-
close: function(){
23-
$callback.text("Select closed!");
24-
},
25-
checkAll: function(){
26-
$callback.text("Check all clicked!");
27-
},
28-
uncheckAll: function(){
29-
$callback.text("Uncheck all clicked!");
30-
},
31-
optgrouptoggle: function(event, ui){
32-
var values = $.map(ui.inputs, function(checkbox){
33-
return checkbox.value;
34-
}).join(", ");
35-
36-
$callback.html("<strong>Checkboxes " + (ui.checked ? "checked" : "unchecked") + ":</strong> " + values);
37-
}
38-
});
7+
var $callback = $("#callback");
8+
9+
$("select").multiselect({
10+
click: function(event, ui){
11+
$callback.text(ui.value + ' ' + (ui.checked ? 'checked' : 'unchecked') );
12+
},
13+
beforeopen: function(){
14+
$callback.text("Select about to be opened...");
15+
},
16+
open: function(){
17+
$callback.text("Select opened!");
18+
},
19+
beforeclose: function(){
20+
$callback.text("Select about to be closed...");
21+
},
22+
close: function(){
23+
$callback.text("Select closed!");
24+
},
25+
checkAll: function(){
26+
$callback.text("Check all clicked!");
27+
},
28+
uncheckAll: function(){
29+
$callback.text("Uncheck all clicked!");
30+
},
31+
optgrouptoggle: function(event, ui){
32+
var values = $.map(ui.inputs, function(checkbox){
33+
return checkbox.value;
34+
}).join(", ");
35+
36+
$callback.html("<strong>Checkboxes " + (ui.checked ? "checked" : "unchecked") + ":</strong> " + values);
37+
},
38+
groupsCollapsable: true,
39+
beforecollapsetoggle: function(){
40+
$callback.text("Option group about to be collapsed/expanded...");
41+
},
42+
collapsetoggle: function(){
43+
$callback.text("Option group collapsed/expanded");
44+
}
45+
});
3946

4047
});
4148
</script>
4249
<h2>Callbacks &amp; Events</h2>
4350
<p>Demonstrating beforeopen, open, beforeclose, close, click, checkall, uncheckall, and optgrouptoggle callbacks/events. Note that you can either
44-
pass in an event handler in the options object upon initialization, or bind to the event (including the multiselect prefix). For example, to add an
51+
pass in an event handler in the options object upon initialization, or bind to the event (including the multiselect prefix). For example, to add an
4552
"open" handler, you can also use <code class="prettyprint">$("select").bind("multiselectopen", fn);</code></p>
4653
<p class="message success" id="callback">Callback target</p>
4754

4855
<select multiple="multiple" size="5">
4956
<optgroup label="Group One">
50-
<option value="option1">Option 1</option>
51-
<option value="option2">Option 2</option>
52-
<option value="option3">Option 3</option>
57+
<option value="option1">Option 1</option>
58+
<option value="option2">Option 2</option>
59+
<option value="option3">Option 3</option>
5360
</optgroup>
5461
<optgroup label="Group Two">
55-
<option value="option4">Option 4</option>
56-
<option value="option5">Option 5</option>
57-
<option value="option6">Option 6</option>
58-
<option value="option7">Option 7</option>
62+
<option value="option4">Option 4</option>
63+
<option value="option5">Option 5</option>
64+
<option value="option6">Option 6</option>
65+
<option value="option7">Option 7</option>
5966
</optgroup>
6067
</select>
6168

@@ -88,8 +95,15 @@ <h2>Callbacks &amp; Events</h2>
8895
var values = $.map(ui.inputs, function(checkbox){
8996
return checkbox.value;
9097
}).join(", ");
91-
98+
9299
$callback.html("<strong>Checkboxes " + (ui.checked ? "checked" : "unchecked") + ":</strong> " + values);
100+
},
101+
groupsCollapsable: true,
102+
beforecollapsetoggle: function(){
103+
$callback.text("Option group about to be collapsed/expanded...");
104+
},
105+
collapsetoggle: function(){
106+
$callback.text("Option group collapsed/expanded");
93107
}
94108
});
95109
</pre>

docs/css/jquery.multiselect.css

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,42 @@
1-
.ui-multiselect { padding:2px 0 2px 4px; text-align:left }
2-
.ui-multiselect span.ui-icon { float:right }
3-
.ui-multiselect-single .ui-multiselect-checkboxes input { left:-9999px; position:absolute !important; top: auto !important; }
4-
.ui-multiselect-single .ui-multiselect-checkboxes label { padding:5px !important }
1+
.ui-multiselect {box-sizing: border-box; padding:2px 0 2px 4px; text-align:left; width: auto;}
2+
.ui-multiselect .ui-multiselect-open { float:right }
3+
4+
.ui-multiselect-menu { display:none; box-sizing:border-box; position:absolute; text-align:left; z-index: 101; width:auto; height:auto; padding:3px; }
5+
.ui-multiselect-menu.ui-multiselect-listbox {position:relative; z-index: 0;}
56

6-
.ui-multiselect-header { margin-bottom:3px; padding:3px 0 3px 4px; }
7-
.ui-multiselect-header ul { font-size:0.9em }
8-
.ui-multiselect-header ul li { float:left; padding:0 10px 0 0; }
7+
.ui-multiselect-header { display:block; box-sizing:border-box; position:relative; width:auto; padding:3px 0 3px 4px; margin-bottom:2px;}
8+
.ui-multiselect-header > ul { font-size:0.9em }
9+
.ui-multiselect-header li { float:left; margin:0 10px 0 0;}
910
.ui-multiselect-header a { text-decoration:none; }
10-
.ui-multiselect-header a:hover { text-decoration:underline; }
11-
.ui-multiselect-header span.ui-icon { float:left; }
12-
.ui-multiselect-header .ui-multiselect-close { float:right; padding-right:0; text-align:right; }
13-
14-
.ui-multiselect-menu { display:none; padding:3px; position:absolute; text-align: left; }
15-
.ui-multiselect-checkboxes { overflow-y:auto; position:relative; }
16-
.ui-multiselect-checkboxes label { border:1px solid transparent; cursor:default; display:block; padding:3px 1px; }
17-
.ui-multiselect-checkboxes label input { position:relative; top:1px }
18-
.ui-multiselect-checkboxes label img { height: 30px; vertical-align: middle; padding-right: 3px;}
19-
.ui-multiselect-checkboxes li { clear:both; font-size:0.9em; list-style: none; padding-right:3px; }
20-
.ui-multiselect-checkboxes .ui-multiselect-optgroup { padding: 3px; }
11+
.ui-multiselect-header a:hover { text-decoration:underline; cursor: pointer;}
12+
.ui-multiselect-header .ui-icon { float:left; }
13+
.ui-multiselect-header .ui-multiselect-close { float:right; margin-right:0; text-align:right; }
14+
15+
.ui-multiselect-checkboxes { display:block; box-sizing:border-box; position:relative; overflow:auto; width: auto; border: 0; padding: 4px 0 8px;}
16+
.ui-multiselect-checkboxes li:not(.ui-multiselect-optgroup) { clear:both; font-size:0.9em; list-style: none; padding-right:3px;}
17+
.ui-multiselect-checkboxes label { border:1px solid transparent; cursor:default; display:block; padding:3px 1px 3px 21px; text-indent: -20px;}
18+
.ui-multiselect-checkboxes input { position:relative; top:1px; cursor: pointer;}
19+
.ui-multiselect-checkboxes img { height: 30px; vertical-align: middle; margin-right: 3px;}
20+
.ui-multiselect-grouplabel { border-bottom:1px solid; display:block; font-weight:bold; margin:1px 0; padding:3px; text-align:center; text-decoration:none; }
21+
.ui-multiselect-selectable { cursor: pointer; }
22+
.ui-multiselect-optgroup > ul { padding: 3px; }
2123
.ui-multiselect-columns { display: inline-block; vertical-align: top; }
22-
.ui-multiselect-checkboxes .ui-multiselect-optgroup a { border-bottom:1px solid; cursor: pointer; display:block; font-weight:bold; margin:1px 0; padding:3px; text-align:center; text-decoration:none; }
24+
.ui-multiselect-collapser { float: left; padding: 0 1px; margin: 0; }
25+
.ui-multiselect-collapsed > ul { display:none }
26+
27+
.ui-multiselect-single .ui-multiselect-checkboxes input { left:-9999px; position:absolute !important; top: auto !important; }
28+
.ui-multiselect-single .ui-multiselect-checkboxes label { padding:5px !important; text-indent: 0 !important; }
29+
30+
.ui-multiselect.ui-multiselect-nowrap { white-space: nowrap }
31+
.ui-multiselect.ui-multiselect-nowrap > span { display: inline-block }
32+
.ui-multiselect-checkboxes.ui-multiselect-nowrap li,
33+
.ui-multiselect-checkboxes.ui-multiselect-nowrap a { white-space: nowrap }
34+
35+
.ui-multiselect-measure > .ui-multiselect-header,
36+
.ui-multiselect-measure > .ui-multiselect-checkboxes { float: left; }
37+
.ui-multiselect-measure > .ui-multiselect-checkboxes { margin: 4px; overflow-y: scroll; }
38+
39+
.ui-multiselect-resize { border: 2px dotted #00F }
2340

2441
@media print{
2542
.ui-multiselect-menu {display: none;}

0 commit comments

Comments
 (0)