fomantic-ui-sass 2.8.2 → 2.8.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/app/assets/fonts/semantic-ui/brand-icons.eot +0 -0
- data/app/assets/fonts/semantic-ui/brand-icons.svg +928 -689
- data/app/assets/fonts/semantic-ui/brand-icons.ttf +0 -0
- data/app/assets/fonts/semantic-ui/brand-icons.woff +0 -0
- data/app/assets/fonts/semantic-ui/brand-icons.woff2 +0 -0
- data/app/assets/fonts/semantic-ui/icons.eot +0 -0
- data/app/assets/fonts/semantic-ui/icons.svg +610 -426
- data/app/assets/fonts/semantic-ui/icons.ttf +0 -0
- data/app/assets/fonts/semantic-ui/icons.woff +0 -0
- data/app/assets/fonts/semantic-ui/icons.woff2 +0 -0
- data/app/assets/fonts/semantic-ui/outline-icons.eot +0 -0
- data/app/assets/fonts/semantic-ui/outline-icons.svg +22 -18
- data/app/assets/fonts/semantic-ui/outline-icons.ttf +0 -0
- data/app/assets/fonts/semantic-ui/outline-icons.woff +0 -0
- data/app/assets/fonts/semantic-ui/outline-icons.woff2 +0 -0
- data/app/assets/javascripts/semantic-ui/calendar.js +249 -60
- data/app/assets/javascripts/semantic-ui/checkbox.js +2 -2
- data/app/assets/javascripts/semantic-ui/dimmer.js +3 -3
- data/app/assets/javascripts/semantic-ui/dropdown.js +98 -62
- data/app/assets/javascripts/semantic-ui/form.js +97 -35
- data/app/assets/javascripts/semantic-ui/modal.js +9 -1
- data/app/assets/javascripts/semantic-ui/popup.js +8 -7
- data/app/assets/javascripts/semantic-ui/progress.js +20 -24
- data/app/assets/javascripts/semantic-ui/search.js +30 -2
- data/app/assets/javascripts/semantic-ui/slider.js +8 -8
- data/app/assets/javascripts/semantic-ui/tab.js +3 -2
- data/app/assets/javascripts/semantic-ui/toast.js +11 -9
- data/app/assets/javascripts/semantic-ui/visibility.js +1 -1
- data/app/assets/stylesheets/semantic-ui/collections/_form.scss +86 -93
- data/app/assets/stylesheets/semantic-ui/collections/_grid.scss +8 -6
- data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +36 -35
- data/app/assets/stylesheets/semantic-ui/collections/_message.scss +4 -4
- data/app/assets/stylesheets/semantic-ui/collections/_table.scss +39 -23
- data/app/assets/stylesheets/semantic-ui/elements/_button.scss +9 -3
- data/app/assets/stylesheets/semantic-ui/elements/_emoji.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/elements/_header.scss +8 -8
- data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +159 -18
- data/app/assets/stylesheets/semantic-ui/elements/_image.scss +33 -4
- data/app/assets/stylesheets/semantic-ui/elements/_input.scss +68 -68
- data/app/assets/stylesheets/semantic-ui/elements/_label.scss +38 -2
- data/app/assets/stylesheets/semantic-ui/elements/_list.scss +12 -12
- data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +7 -1
- data/app/assets/stylesheets/semantic-ui/elements/_step.scss +16 -9
- data/app/assets/stylesheets/semantic-ui/elements/_text.scss +15 -0
- data/app/assets/stylesheets/semantic-ui/modules/_calendar.scss +16 -9
- data/app/assets/stylesheets/semantic-ui/modules/_checkbox.scss +1 -0
- data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +26 -23
- data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +123 -32
- data/app/assets/stylesheets/semantic-ui/modules/_embed.scss +6 -6
- data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +13 -6
- data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +36 -7
- data/app/assets/stylesheets/semantic-ui/modules/_progress.scss +32 -3
- data/app/assets/stylesheets/semantic-ui/modules/_search.scss +90 -0
- data/app/assets/stylesheets/semantic-ui/modules/_shape.scss +1 -0
- data/app/assets/stylesheets/semantic-ui/modules/_sidebar.scss +2 -1
- data/app/assets/stylesheets/semantic-ui/modules/_slider.scss +9 -0
- data/app/assets/stylesheets/semantic-ui/modules/_toast.scss +7 -7
- data/app/assets/stylesheets/semantic-ui/modules/_transition.scss +34 -34
- data/app/assets/stylesheets/semantic-ui/views/_card.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/views/_feed.scss +5 -5
- data/app/assets/stylesheets/semantic-ui/views/_statistic.scss +4 -4
- data/lib/fomantic/ui/sass/version.rb +2 -2
- metadata +6 -6
@@ -175,7 +175,7 @@ $.fn.checkbox = function(parameters) {
|
|
175
175
|
},
|
176
176
|
|
177
177
|
preventDefaultOnInputTarget: function() {
|
178
|
-
if(typeof event !== 'undefined' && $(event.target).is(selector.input)) {
|
178
|
+
if(typeof event !== 'undefined' && event !== null && $(event.target).is(selector.input)) {
|
179
179
|
module.verbose('Preventing default check action after manual check action');
|
180
180
|
event.preventDefault();
|
181
181
|
}
|
@@ -556,10 +556,10 @@ $.fn.checkbox = function(parameters) {
|
|
556
556
|
trigger: {
|
557
557
|
change: function() {
|
558
558
|
var
|
559
|
-
events = document.createEvent('HTMLEvents'),
|
560
559
|
inputElement = $input[0]
|
561
560
|
;
|
562
561
|
if(inputElement) {
|
562
|
+
var events = document.createEvent('HTMLEvents');
|
563
563
|
module.verbose('Triggering native change event');
|
564
564
|
events.initEvent('change', true, false);
|
565
565
|
inputElement.dispatchEvent(events);
|
@@ -408,11 +408,11 @@ $.fn.dimmer = function(parameters) {
|
|
408
408
|
var
|
409
409
|
color = $dimmer.css('background-color'),
|
410
410
|
colorArray = color.split(','),
|
411
|
-
isRGB = (colorArray && colorArray.length
|
412
|
-
isRGBA = (colorArray && colorArray.length == 4)
|
411
|
+
isRGB = (colorArray && colorArray.length >= 3)
|
413
412
|
;
|
414
413
|
opacity = settings.opacity === 0 ? 0 : settings.opacity || opacity;
|
415
|
-
if(isRGB
|
414
|
+
if(isRGB) {
|
415
|
+
colorArray[2] = colorArray[2].replace(')','');
|
416
416
|
colorArray[3] = opacity + ')';
|
417
417
|
color = colorArray.join(',');
|
418
418
|
}
|
@@ -31,6 +31,10 @@ $.fn.dropdown = function(parameters) {
|
|
31
31
|
moduleSelector = $allModules.selector || '',
|
32
32
|
|
33
33
|
hasTouch = ('ontouchstart' in document.documentElement),
|
34
|
+
clickEvent = hasTouch
|
35
|
+
? 'touchstart'
|
36
|
+
: 'click',
|
37
|
+
|
34
38
|
time = new Date().getTime(),
|
35
39
|
performance = [],
|
36
40
|
|
@@ -93,6 +97,7 @@ $.fn.dropdown = function(parameters) {
|
|
93
97
|
id,
|
94
98
|
selectObserver,
|
95
99
|
menuObserver,
|
100
|
+
classObserver,
|
96
101
|
module
|
97
102
|
;
|
98
103
|
|
@@ -113,7 +118,9 @@ $.fn.dropdown = function(parameters) {
|
|
113
118
|
module.setup.layout();
|
114
119
|
|
115
120
|
if(settings.values) {
|
121
|
+
module.set.initialLoad();
|
116
122
|
module.change.values(settings.values);
|
123
|
+
module.remove.initialLoad();
|
117
124
|
}
|
118
125
|
|
119
126
|
module.refreshData();
|
@@ -156,15 +163,18 @@ $.fn.dropdown = function(parameters) {
|
|
156
163
|
;
|
157
164
|
module.disconnect.menuObserver();
|
158
165
|
module.disconnect.selectObserver();
|
166
|
+
module.disconnect.classObserver();
|
159
167
|
},
|
160
168
|
|
161
169
|
observeChanges: function() {
|
162
170
|
if('MutationObserver' in window) {
|
163
171
|
selectObserver = new MutationObserver(module.event.select.mutation);
|
164
172
|
menuObserver = new MutationObserver(module.event.menu.mutation);
|
165
|
-
module.
|
173
|
+
classObserver = new MutationObserver(module.event.class.mutation);
|
174
|
+
module.debug('Setting up mutation observer', selectObserver, menuObserver, classObserver);
|
166
175
|
module.observe.select();
|
167
176
|
module.observe.menu();
|
177
|
+
module.observe.class();
|
168
178
|
}
|
169
179
|
},
|
170
180
|
|
@@ -178,6 +188,11 @@ $.fn.dropdown = function(parameters) {
|
|
178
188
|
if(selectObserver) {
|
179
189
|
selectObserver.disconnect();
|
180
190
|
}
|
191
|
+
},
|
192
|
+
classObserver: function() {
|
193
|
+
if(classObserver) {
|
194
|
+
classObserver.disconnect();
|
195
|
+
}
|
181
196
|
}
|
182
197
|
},
|
183
198
|
observe: {
|
@@ -196,6 +211,13 @@ $.fn.dropdown = function(parameters) {
|
|
196
211
|
subtree : true
|
197
212
|
});
|
198
213
|
}
|
214
|
+
},
|
215
|
+
class: function() {
|
216
|
+
if(module.has.search() && classObserver) {
|
217
|
+
classObserver.observe($module[0], {
|
218
|
+
attributes : true
|
219
|
+
});
|
220
|
+
}
|
199
221
|
}
|
200
222
|
},
|
201
223
|
|
@@ -537,6 +559,7 @@ $.fn.dropdown = function(parameters) {
|
|
537
559
|
} else if( module.can.click() ) {
|
538
560
|
module.unbind.intent();
|
539
561
|
}
|
562
|
+
iconClicked = false;
|
540
563
|
},
|
541
564
|
|
542
565
|
hideOthers: function() {
|
@@ -565,27 +588,10 @@ $.fn.dropdown = function(parameters) {
|
|
565
588
|
|
566
589
|
bind: {
|
567
590
|
events: function() {
|
568
|
-
if(hasTouch) {
|
569
|
-
module.bind.touchEvents();
|
570
|
-
}
|
571
591
|
module.bind.keyboardEvents();
|
572
592
|
module.bind.inputEvents();
|
573
593
|
module.bind.mouseEvents();
|
574
594
|
},
|
575
|
-
touchEvents: function() {
|
576
|
-
module.debug('Touch device detected binding additional touch events');
|
577
|
-
if( module.is.searchSelection() ) {
|
578
|
-
// do nothing special yet
|
579
|
-
}
|
580
|
-
else if( module.is.single() ) {
|
581
|
-
$module
|
582
|
-
.on('touchstart' + eventNamespace, module.event.test.toggle)
|
583
|
-
;
|
584
|
-
}
|
585
|
-
$menu
|
586
|
-
.on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)
|
587
|
-
;
|
588
|
-
},
|
589
595
|
keyboardEvents: function() {
|
590
596
|
module.verbose('Binding keyboard events');
|
591
597
|
$module
|
@@ -612,8 +618,8 @@ $.fn.dropdown = function(parameters) {
|
|
612
618
|
module.verbose('Binding mouse events');
|
613
619
|
if(module.is.multiple()) {
|
614
620
|
$module
|
615
|
-
.on(
|
616
|
-
.on(
|
621
|
+
.on(clickEvent + eventNamespace, selector.label, module.event.label.click)
|
622
|
+
.on(clickEvent + eventNamespace, selector.remove, module.event.remove.click)
|
617
623
|
;
|
618
624
|
}
|
619
625
|
if( module.is.searchSelection() ) {
|
@@ -622,24 +628,24 @@ $.fn.dropdown = function(parameters) {
|
|
622
628
|
.on('mouseup' + eventNamespace, module.event.mouseup)
|
623
629
|
.on('mousedown' + eventNamespace, selector.menu, module.event.menu.mousedown)
|
624
630
|
.on('mouseup' + eventNamespace, selector.menu, module.event.menu.mouseup)
|
625
|
-
.on(
|
626
|
-
.on(
|
631
|
+
.on(clickEvent + eventNamespace, selector.icon, module.event.icon.click)
|
632
|
+
.on(clickEvent + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
|
627
633
|
.on('focus' + eventNamespace, selector.search, module.event.search.focus)
|
628
|
-
.on(
|
634
|
+
.on(clickEvent + eventNamespace, selector.search, module.event.search.focus)
|
629
635
|
.on('blur' + eventNamespace, selector.search, module.event.search.blur)
|
630
|
-
.on(
|
636
|
+
.on(clickEvent + eventNamespace, selector.text, module.event.text.focus)
|
631
637
|
;
|
632
638
|
if(module.is.multiple()) {
|
633
639
|
$module
|
634
|
-
.on(
|
640
|
+
.on(clickEvent + eventNamespace, module.event.click)
|
635
641
|
;
|
636
642
|
}
|
637
643
|
}
|
638
644
|
else {
|
639
645
|
if(settings.on == 'click') {
|
640
646
|
$module
|
641
|
-
.on(
|
642
|
-
.on(
|
647
|
+
.on(clickEvent + eventNamespace, selector.icon, module.event.icon.click)
|
648
|
+
.on(clickEvent + eventNamespace, module.event.test.toggle)
|
643
649
|
;
|
644
650
|
}
|
645
651
|
else if(settings.on == 'hover') {
|
@@ -657,7 +663,7 @@ $.fn.dropdown = function(parameters) {
|
|
657
663
|
.on('mousedown' + eventNamespace, module.event.mousedown)
|
658
664
|
.on('mouseup' + eventNamespace, module.event.mouseup)
|
659
665
|
.on('focus' + eventNamespace, module.event.focus)
|
660
|
-
.on(
|
666
|
+
.on(clickEvent + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
|
661
667
|
;
|
662
668
|
if(module.has.menuSearch() ) {
|
663
669
|
$module
|
@@ -671,7 +677,7 @@ $.fn.dropdown = function(parameters) {
|
|
671
677
|
}
|
672
678
|
}
|
673
679
|
$menu
|
674
|
-
.on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)
|
680
|
+
.on((hasTouch ? 'touchstart' : 'mouseenter') + eventNamespace, selector.item, module.event.item.mouseenter)
|
675
681
|
.on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)
|
676
682
|
.on('click' + eventNamespace, selector.item, module.event.item.click)
|
677
683
|
;
|
@@ -685,7 +691,7 @@ $.fn.dropdown = function(parameters) {
|
|
685
691
|
;
|
686
692
|
}
|
687
693
|
$document
|
688
|
-
.on(
|
694
|
+
.on(clickEvent + elementNamespace, module.event.test.hide)
|
689
695
|
;
|
690
696
|
}
|
691
697
|
},
|
@@ -700,7 +706,7 @@ $.fn.dropdown = function(parameters) {
|
|
700
706
|
;
|
701
707
|
}
|
702
708
|
$document
|
703
|
-
.off(
|
709
|
+
.off(clickEvent + elementNamespace)
|
704
710
|
;
|
705
711
|
}
|
706
712
|
},
|
@@ -804,9 +810,9 @@ $.fn.dropdown = function(parameters) {
|
|
804
810
|
values = [];
|
805
811
|
}
|
806
812
|
module.remove.message();
|
807
|
-
|
808
|
-
|
809
|
-
|
813
|
+
var menuConfig = {};
|
814
|
+
menuConfig[fields.values] = values;
|
815
|
+
module.setup.menu(menuConfig);
|
810
816
|
|
811
817
|
if(values.length===0 && !settings.allowAdditions) {
|
812
818
|
module.add.message(message.noResults);
|
@@ -848,6 +854,10 @@ $.fn.dropdown = function(parameters) {
|
|
848
854
|
text,
|
849
855
|
value
|
850
856
|
;
|
857
|
+
if($choice.hasClass(className.unfilterable)) {
|
858
|
+
results.push(this);
|
859
|
+
return true;
|
860
|
+
}
|
851
861
|
if(settings.match === 'both' || settings.match === 'text') {
|
852
862
|
text = module.remove.diacritics(String(module.get.choiceText($choice, false)));
|
853
863
|
if(text.search(beginsWithRegExp) !== -1) {
|
@@ -998,7 +1008,9 @@ $.fn.dropdown = function(parameters) {
|
|
998
1008
|
module.clear();
|
999
1009
|
}
|
1000
1010
|
module.debug('Creating dropdown with specified values', values);
|
1001
|
-
|
1011
|
+
var menuConfig = {};
|
1012
|
+
menuConfig[fields.values] = values;
|
1013
|
+
module.setup.menu(menuConfig);
|
1002
1014
|
$.each(values, function(index, item) {
|
1003
1015
|
if(item.selected == true) {
|
1004
1016
|
module.debug('Setting initial selection to', item[fields.value]);
|
@@ -1017,7 +1029,7 @@ $.fn.dropdown = function(parameters) {
|
|
1017
1029
|
var
|
1018
1030
|
value = settings.templates.deQuote(item[fields.value]),
|
1019
1031
|
name = settings.templates.escape(
|
1020
|
-
item[fields.name] ||
|
1032
|
+
item[fields.name] || '',
|
1021
1033
|
settings.preserveHTML
|
1022
1034
|
)
|
1023
1035
|
;
|
@@ -1222,6 +1234,15 @@ $.fn.dropdown = function(parameters) {
|
|
1222
1234
|
}
|
1223
1235
|
}
|
1224
1236
|
},
|
1237
|
+
class: {
|
1238
|
+
mutation: function(mutations) {
|
1239
|
+
mutations.forEach(function(mutation) {
|
1240
|
+
if(mutation.attributeName === "class") {
|
1241
|
+
module.check.disabled();
|
1242
|
+
}
|
1243
|
+
});
|
1244
|
+
}
|
1245
|
+
},
|
1225
1246
|
select: {
|
1226
1247
|
mutation: function(mutations) {
|
1227
1248
|
module.debug('<select> modified, recreating menu');
|
@@ -1643,10 +1664,10 @@ $.fn.dropdown = function(parameters) {
|
|
1643
1664
|
trigger: {
|
1644
1665
|
change: function() {
|
1645
1666
|
var
|
1646
|
-
events = document.createEvent('HTMLEvents'),
|
1647
1667
|
inputElement = $input[0]
|
1648
1668
|
;
|
1649
1669
|
if(inputElement) {
|
1670
|
+
var events = document.createEvent('HTMLEvents');
|
1650
1671
|
module.verbose('Triggering native change event');
|
1651
1672
|
events.initEvent('change', true, false);
|
1652
1673
|
inputElement.dispatchEvent(events);
|
@@ -1778,10 +1799,10 @@ $.fn.dropdown = function(parameters) {
|
|
1778
1799
|
return $module.data(metadata.placeholderText) || '';
|
1779
1800
|
},
|
1780
1801
|
text: function() {
|
1781
|
-
return $text.text();
|
1802
|
+
return settings.preserveHTML ? $text.html() : $text.text();
|
1782
1803
|
},
|
1783
1804
|
query: function() {
|
1784
|
-
return
|
1805
|
+
return String($search.val()).trim();
|
1785
1806
|
},
|
1786
1807
|
searchWidth: function(value) {
|
1787
1808
|
value = (value !== undefined)
|
@@ -1924,8 +1945,8 @@ $.fn.dropdown = function(parameters) {
|
|
1924
1945
|
return ($choice.data(metadata.text) !== undefined)
|
1925
1946
|
? $choice.data(metadata.text)
|
1926
1947
|
: (preserveHTML)
|
1927
|
-
?
|
1928
|
-
:
|
1948
|
+
? $choice.html().trim()
|
1949
|
+
: $choice.text().trim()
|
1929
1950
|
;
|
1930
1951
|
}
|
1931
1952
|
},
|
@@ -1937,11 +1958,11 @@ $.fn.dropdown = function(parameters) {
|
|
1937
1958
|
return ($choice.data(metadata.value) !== undefined)
|
1938
1959
|
? String( $choice.data(metadata.value) )
|
1939
1960
|
: (typeof choiceText === 'string')
|
1940
|
-
?
|
1961
|
+
? String(
|
1941
1962
|
settings.ignoreSearchCase
|
1942
1963
|
? choiceText.toLowerCase()
|
1943
1964
|
: choiceText
|
1944
|
-
)
|
1965
|
+
).trim()
|
1945
1966
|
: String(choiceText)
|
1946
1967
|
;
|
1947
1968
|
},
|
@@ -1962,9 +1983,9 @@ $.fn.dropdown = function(parameters) {
|
|
1962
1983
|
selectValues: function() {
|
1963
1984
|
var
|
1964
1985
|
select = {},
|
1965
|
-
oldGroup = []
|
1986
|
+
oldGroup = [],
|
1987
|
+
values = []
|
1966
1988
|
;
|
1967
|
-
select.values = [];
|
1968
1989
|
$module
|
1969
1990
|
.find('option')
|
1970
1991
|
.each(function() {
|
@@ -1975,6 +1996,9 @@ $.fn.dropdown = function(parameters) {
|
|
1975
1996
|
value = ( $option.attr('value') !== undefined )
|
1976
1997
|
? $option.attr('value')
|
1977
1998
|
: name,
|
1999
|
+
text = ( $option.data(metadata.text) !== undefined )
|
2000
|
+
? $option.data(metadata.text)
|
2001
|
+
: name,
|
1978
2002
|
group = $option.parent('optgroup')
|
1979
2003
|
;
|
1980
2004
|
if(settings.placeholder === 'auto' && value === '') {
|
@@ -1982,16 +2006,17 @@ $.fn.dropdown = function(parameters) {
|
|
1982
2006
|
}
|
1983
2007
|
else {
|
1984
2008
|
if(group.length !== oldGroup.length || group[0] !== oldGroup[0]) {
|
1985
|
-
|
2009
|
+
values.push({
|
1986
2010
|
type: 'header',
|
1987
2011
|
divider: settings.headerDivider,
|
1988
2012
|
name: group.attr('label') || ''
|
1989
2013
|
});
|
1990
2014
|
oldGroup = group;
|
1991
2015
|
}
|
1992
|
-
|
2016
|
+
values.push({
|
1993
2017
|
name : name,
|
1994
2018
|
value : value,
|
2019
|
+
text : text,
|
1995
2020
|
disabled : disabled
|
1996
2021
|
});
|
1997
2022
|
}
|
@@ -2003,19 +2028,21 @@ $.fn.dropdown = function(parameters) {
|
|
2003
2028
|
}
|
2004
2029
|
if(settings.sortSelect) {
|
2005
2030
|
if(settings.sortSelect === true) {
|
2006
|
-
|
2031
|
+
values.sort(function(a, b) {
|
2007
2032
|
return a.name.localeCompare(b.name);
|
2008
2033
|
});
|
2009
2034
|
} else if(settings.sortSelect === 'natural') {
|
2010
|
-
|
2035
|
+
values.sort(function(a, b) {
|
2011
2036
|
return (a.name.toLowerCase().localeCompare(b.name.toLowerCase()));
|
2012
2037
|
});
|
2013
2038
|
} else if($.isFunction(settings.sortSelect)) {
|
2014
|
-
|
2039
|
+
values.sort(settings.sortSelect);
|
2015
2040
|
}
|
2041
|
+
select[fields.values] = values;
|
2016
2042
|
module.debug('Retrieved and sorted values from select', select);
|
2017
2043
|
}
|
2018
2044
|
else {
|
2045
|
+
select[fields.values] = values;
|
2019
2046
|
module.debug('Retrieved values from select', select);
|
2020
2047
|
}
|
2021
2048
|
return select;
|
@@ -2080,7 +2107,7 @@ $.fn.dropdown = function(parameters) {
|
|
2080
2107
|
return;
|
2081
2108
|
}
|
2082
2109
|
if(isMultiple) {
|
2083
|
-
if($.inArray(
|
2110
|
+
if($.inArray(module.escape.htmlEntities(String(optionValue)), value.map(function(v){return String(v);})) !== -1) {
|
2084
2111
|
$selectedItem = ($selectedItem)
|
2085
2112
|
? $selectedItem.add($choice)
|
2086
2113
|
: $choice
|
@@ -2099,7 +2126,7 @@ $.fn.dropdown = function(parameters) {
|
|
2099
2126
|
optionValue = optionValue.toLowerCase();
|
2100
2127
|
value = value.toLowerCase();
|
2101
2128
|
}
|
2102
|
-
if(
|
2129
|
+
if(module.escape.htmlEntities(String(optionValue)) === module.escape.htmlEntities(String(value))) {
|
2103
2130
|
module.verbose('Found select item by value', optionValue, value);
|
2104
2131
|
$selectedItem = $choice;
|
2105
2132
|
return true;
|
@@ -2138,6 +2165,9 @@ $.fn.dropdown = function(parameters) {
|
|
2138
2165
|
}
|
2139
2166
|
}
|
2140
2167
|
return true;
|
2168
|
+
},
|
2169
|
+
disabled: function(){
|
2170
|
+
$search.attr('tabindex',module.is.disabled() ? -1 : 0);
|
2141
2171
|
}
|
2142
2172
|
},
|
2143
2173
|
|
@@ -2403,8 +2433,8 @@ $.fn.dropdown = function(parameters) {
|
|
2403
2433
|
module.debug('Added tabindex to searchable dropdown');
|
2404
2434
|
$search
|
2405
2435
|
.val('')
|
2406
|
-
.attr('tabindex', 0)
|
2407
2436
|
;
|
2437
|
+
module.check.disabled();
|
2408
2438
|
$menu
|
2409
2439
|
.attr('tabindex', -1)
|
2410
2440
|
;
|
@@ -3072,6 +3102,7 @@ $.fn.dropdown = function(parameters) {
|
|
3072
3102
|
values = module.get.values(),
|
3073
3103
|
newValue
|
3074
3104
|
;
|
3105
|
+
removedValue = module.escape.htmlEntities(removedValue);
|
3075
3106
|
if( module.has.selectInput() ) {
|
3076
3107
|
module.verbose('Input is <select> removing selected option', removedValue);
|
3077
3108
|
newValue = module.remove.arrayValue(removedValue, values);
|
@@ -3534,9 +3565,12 @@ $.fn.dropdown = function(parameters) {
|
|
3534
3565
|
module.set.scrollPosition(module.get.selectedItem(), true);
|
3535
3566
|
}
|
3536
3567
|
if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {
|
3568
|
+
var displayType = $module.hasClass('column') ? 'flex' : false;
|
3537
3569
|
if(transition == 'none') {
|
3538
3570
|
start();
|
3539
|
-
$currentMenu.transition(
|
3571
|
+
$currentMenu.transition({
|
3572
|
+
displayType: displayType
|
3573
|
+
}).transition('show');
|
3540
3574
|
callback.call(element);
|
3541
3575
|
}
|
3542
3576
|
else if($.fn.transition !== undefined && $module.transition('is supported')) {
|
@@ -3548,6 +3582,7 @@ $.fn.dropdown = function(parameters) {
|
|
3548
3582
|
duration : settings.duration,
|
3549
3583
|
queue : true,
|
3550
3584
|
onStart : start,
|
3585
|
+
displayType: displayType,
|
3551
3586
|
onComplete : function() {
|
3552
3587
|
callback.call(element);
|
3553
3588
|
}
|
@@ -3661,10 +3696,9 @@ $.fn.dropdown = function(parameters) {
|
|
3661
3696
|
},
|
3662
3697
|
htmlEntities: function(string) {
|
3663
3698
|
var
|
3664
|
-
badChars = /[
|
3699
|
+
badChars = /[<>"'`]/g,
|
3665
3700
|
shouldEscape = /[&<>"'`]/,
|
3666
3701
|
escape = {
|
3667
|
-
"&": "&",
|
3668
3702
|
"<": "<",
|
3669
3703
|
">": ">",
|
3670
3704
|
'"': """,
|
@@ -3676,6 +3710,7 @@ $.fn.dropdown = function(parameters) {
|
|
3676
3710
|
}
|
3677
3711
|
;
|
3678
3712
|
if(shouldEscape.test(string)) {
|
3713
|
+
string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&");
|
3679
3714
|
return string.replace(badChars, escapedChar);
|
3680
3715
|
}
|
3681
3716
|
return string;
|
@@ -4036,7 +4071,7 @@ $.fn.dropdown.settings = {
|
|
4036
4071
|
message : '.message',
|
4037
4072
|
menuIcon : '.dropdown.icon',
|
4038
4073
|
search : 'input.search, .menu > .search > input, .menu input.search',
|
4039
|
-
sizer : '>
|
4074
|
+
sizer : '> span.sizer',
|
4040
4075
|
text : '> .text:not(.icon)',
|
4041
4076
|
unselectable : '.disabled, .filtered',
|
4042
4077
|
clearIcon : '> .remove.icon'
|
@@ -4072,7 +4107,8 @@ $.fn.dropdown.settings = {
|
|
4072
4107
|
delete : 'delete',
|
4073
4108
|
header : 'header',
|
4074
4109
|
divider : 'divider',
|
4075
|
-
groupIcon : ''
|
4110
|
+
groupIcon : '',
|
4111
|
+
unfilterable : 'unfilterable'
|
4076
4112
|
}
|
4077
4113
|
|
4078
4114
|
};
|
@@ -4087,10 +4123,9 @@ $.fn.dropdown.settings.templates = {
|
|
4087
4123
|
return string;
|
4088
4124
|
}
|
4089
4125
|
var
|
4090
|
-
badChars = /[
|
4126
|
+
badChars = /[<>"'`]/g,
|
4091
4127
|
shouldEscape = /[&<>"'`]/,
|
4092
4128
|
escape = {
|
4093
|
-
"&": "&",
|
4094
4129
|
"<": "<",
|
4095
4130
|
">": ">",
|
4096
4131
|
'"': """,
|
@@ -4102,6 +4137,7 @@ $.fn.dropdown.settings.templates = {
|
|
4102
4137
|
}
|
4103
4138
|
;
|
4104
4139
|
if(shouldEscape.test(string)) {
|
4140
|
+
string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&");
|
4105
4141
|
return string.replace(badChars, escapedChar);
|
4106
4142
|
}
|
4107
4143
|
return string;
|
@@ -4157,10 +4193,10 @@ $.fn.dropdown.settings.templates = {
|
|
4157
4193
|
if(option[fields.icon]) {
|
4158
4194
|
html += '<i class="'+deQuote(option[fields.icon])+' '+(option[fields.iconClass] ? deQuote(option[fields.iconClass]) : className.icon)+'"></i>';
|
4159
4195
|
}
|
4160
|
-
html += escape(option[fields.name] ||
|
4196
|
+
html += escape(option[fields.name] || '', preserveHTML);
|
4161
4197
|
html += '</div>';
|
4162
4198
|
} else if (itemType === 'header') {
|
4163
|
-
var groupName = escape(option[fields.name],preserveHTML),
|
4199
|
+
var groupName = escape(option[fields.name] || '', preserveHTML),
|
4164
4200
|
groupIcon = option[fields.icon] ? deQuote(option[fields.icon]) : className.groupIcon
|
4165
4201
|
;
|
4166
4202
|
if(groupName !== '' || groupIcon !== '') {
|