fomantic-ui-sass 2.8.6 → 2.8.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +6 -0
- data/app/assets/fonts/semantic-ui/brand-icons.eot +0 -0
- data/app/assets/fonts/semantic-ui/brand-icons.svg +6 -41
- 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 +7 -245
- 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 +2 -2
- 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 +153 -29
- data/app/assets/javascripts/semantic-ui/checkbox.js +1 -1
- data/app/assets/javascripts/semantic-ui/dimmer.js +11 -14
- data/app/assets/javascripts/semantic-ui/dropdown.js +240 -112
- data/app/assets/javascripts/semantic-ui/form.js +131 -67
- data/app/assets/javascripts/semantic-ui/modal.js +259 -16
- data/app/assets/javascripts/semantic-ui/nag.js +130 -64
- data/app/assets/javascripts/semantic-ui/popup.js +4 -4
- data/app/assets/javascripts/semantic-ui/progress.js +25 -31
- data/app/assets/javascripts/semantic-ui/search.js +15 -12
- data/app/assets/javascripts/semantic-ui/slider.js +57 -33
- data/app/assets/javascripts/semantic-ui/toast.js +26 -6
- data/app/assets/stylesheets/semantic-ui/collections/_breadcrumb.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/collections/_form.scss +69 -74
- data/app/assets/stylesheets/semantic-ui/collections/_grid.scss +14 -7
- data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +14 -11
- data/app/assets/stylesheets/semantic-ui/collections/_message.scss +52 -5
- data/app/assets/stylesheets/semantic-ui/collections/_table.scss +9 -5
- data/app/assets/stylesheets/semantic-ui/elements/_all.scss +1 -0
- data/app/assets/stylesheets/semantic-ui/elements/_button.scss +29 -2
- data/app/assets/stylesheets/semantic-ui/elements/_container.scss +3 -4
- data/app/assets/stylesheets/semantic-ui/elements/_divider.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/elements/_flag.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/elements/_header.scss +14 -9
- data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +244 -66
- data/app/assets/stylesheets/semantic-ui/elements/_image.scss +34 -5
- data/app/assets/stylesheets/semantic-ui/elements/_input.scss +34 -33
- data/app/assets/stylesheets/semantic-ui/elements/_label.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/elements/_list.scss +13 -13
- data/app/assets/stylesheets/semantic-ui/elements/_loader.scss +41 -37
- data/app/assets/stylesheets/semantic-ui/elements/_placeholder.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/elements/_rail.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/elements/_reveal.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +40 -2
- data/app/assets/stylesheets/semantic-ui/elements/_step.scss +10 -10
- data/app/assets/stylesheets/semantic-ui/elements/_text.scss +13 -1
- data/app/assets/stylesheets/semantic-ui/globals/_reset.scss +2 -3
- data/app/assets/stylesheets/semantic-ui/globals/_site.scss +2 -2
- data/app/assets/stylesheets/semantic-ui/modules/_accordion.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/modules/_calendar.scss +18 -11
- data/app/assets/stylesheets/semantic-ui/modules/_checkbox.scss +46 -4
- data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +15 -15
- data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +180 -28
- data/app/assets/stylesheets/semantic-ui/modules/_embed.scss +7 -7
- data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +22 -11
- data/app/assets/stylesheets/semantic-ui/modules/_nag.scss +168 -16
- data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +6 -2
- data/app/assets/stylesheets/semantic-ui/modules/_progress.scss +18 -10
- data/app/assets/stylesheets/semantic-ui/modules/_rating.scss +18 -33
- data/app/assets/stylesheets/semantic-ui/modules/_search.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/modules/_shape.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/modules/_sidebar.scss +3 -2
- data/app/assets/stylesheets/semantic-ui/modules/_slider.scss +11 -0
- data/app/assets/stylesheets/semantic-ui/modules/_sticky.scss +1 -2
- data/app/assets/stylesheets/semantic-ui/modules/_tab.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/modules/_toast.scss +103 -16
- data/app/assets/stylesheets/semantic-ui/modules/_transition.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/views/_ad.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/views/_card.scss +75 -3
- data/app/assets/stylesheets/semantic-ui/views/_comment.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/views/_feed.scss +6 -6
- data/app/assets/stylesheets/semantic-ui/views/_item.scss +1 -1
- data/app/assets/stylesheets/semantic-ui/views/_statistic.scss +5 -5
- data/lib/fomantic/ui/sass/version.rb +2 -2
- metadata +3 -3
@@ -87,6 +87,7 @@ $.fn.dropdown = function(parameters) {
|
|
87
87
|
internalChange = false,
|
88
88
|
iconClicked = false,
|
89
89
|
element = this,
|
90
|
+
focused = false,
|
90
91
|
instance = $module.data(moduleNamespace),
|
91
92
|
|
92
93
|
selectActionActive,
|
@@ -97,6 +98,7 @@ $.fn.dropdown = function(parameters) {
|
|
97
98
|
id,
|
98
99
|
selectObserver,
|
99
100
|
menuObserver,
|
101
|
+
classObserver,
|
100
102
|
module
|
101
103
|
;
|
102
104
|
|
@@ -162,15 +164,18 @@ $.fn.dropdown = function(parameters) {
|
|
162
164
|
;
|
163
165
|
module.disconnect.menuObserver();
|
164
166
|
module.disconnect.selectObserver();
|
167
|
+
module.disconnect.classObserver();
|
165
168
|
},
|
166
169
|
|
167
170
|
observeChanges: function() {
|
168
171
|
if('MutationObserver' in window) {
|
169
172
|
selectObserver = new MutationObserver(module.event.select.mutation);
|
170
173
|
menuObserver = new MutationObserver(module.event.menu.mutation);
|
171
|
-
module.
|
174
|
+
classObserver = new MutationObserver(module.event.class.mutation);
|
175
|
+
module.debug('Setting up mutation observer', selectObserver, menuObserver, classObserver);
|
172
176
|
module.observe.select();
|
173
177
|
module.observe.menu();
|
178
|
+
module.observe.class();
|
174
179
|
}
|
175
180
|
},
|
176
181
|
|
@@ -184,6 +189,11 @@ $.fn.dropdown = function(parameters) {
|
|
184
189
|
if(selectObserver) {
|
185
190
|
selectObserver.disconnect();
|
186
191
|
}
|
192
|
+
},
|
193
|
+
classObserver: function() {
|
194
|
+
if(classObserver) {
|
195
|
+
classObserver.disconnect();
|
196
|
+
}
|
187
197
|
}
|
188
198
|
},
|
189
199
|
observe: {
|
@@ -202,6 +212,13 @@ $.fn.dropdown = function(parameters) {
|
|
202
212
|
subtree : true
|
203
213
|
});
|
204
214
|
}
|
215
|
+
},
|
216
|
+
class: function() {
|
217
|
+
if(module.has.search() && classObserver) {
|
218
|
+
classObserver.observe($module[0], {
|
219
|
+
attributes : true
|
220
|
+
});
|
221
|
+
}
|
205
222
|
}
|
206
223
|
},
|
207
224
|
|
@@ -280,7 +297,9 @@ $.fn.dropdown = function(parameters) {
|
|
280
297
|
: module.get.query()
|
281
298
|
;
|
282
299
|
module.verbose('Searching for query', query);
|
283
|
-
if(module.
|
300
|
+
if(settings.fireOnInit === false && module.is.initialLoad()) {
|
301
|
+
module.verbose('Skipping callback on initial load', settings.onSearch);
|
302
|
+
} else if(module.has.minCharacters(query) && settings.onSearch.call(element, query) !== false) {
|
284
303
|
module.filter(query);
|
285
304
|
}
|
286
305
|
else {
|
@@ -342,7 +361,7 @@ $.fn.dropdown = function(parameters) {
|
|
342
361
|
if( !module.has.menu() ) {
|
343
362
|
module.create.menu();
|
344
363
|
}
|
345
|
-
if ( module.is.
|
364
|
+
if ( module.is.clearable() && !module.has.clearItem() ) {
|
346
365
|
module.verbose('Adding clear icon');
|
347
366
|
$clear = $('<i />')
|
348
367
|
.addClass('remove icon')
|
@@ -353,7 +372,7 @@ $.fn.dropdown = function(parameters) {
|
|
353
372
|
module.verbose('Adding search input');
|
354
373
|
$search = $('<input />')
|
355
374
|
.addClass(className.search)
|
356
|
-
.prop('autocomplete', 'off')
|
375
|
+
.prop('autocomplete', module.is.chrome() ? 'fomantic-search' : 'off')
|
357
376
|
.insertBefore($text)
|
358
377
|
;
|
359
378
|
}
|
@@ -481,6 +500,11 @@ $.fn.dropdown = function(parameters) {
|
|
481
500
|
;
|
482
501
|
},
|
483
502
|
|
503
|
+
clearItems: function() {
|
504
|
+
$menu.empty();
|
505
|
+
module.refreshItems();
|
506
|
+
},
|
507
|
+
|
484
508
|
toggle: function() {
|
485
509
|
module.verbose('Toggling menu visibility');
|
486
510
|
if( !module.is.active() ) {
|
@@ -496,9 +520,12 @@ $.fn.dropdown = function(parameters) {
|
|
496
520
|
? callback
|
497
521
|
: function(){}
|
498
522
|
;
|
523
|
+
if ((focused || iconClicked) && module.is.remote() && module.is.noApiCache()) {
|
524
|
+
module.clearItems();
|
525
|
+
}
|
499
526
|
if(!module.can.show() && module.is.remote()) {
|
500
527
|
module.debug('No API results retrieved, searching before show');
|
501
|
-
module.queryRemote(module.get.query(), module.show);
|
528
|
+
module.queryRemote(module.get.query(), module.show, [callback, preventFocus]);
|
502
529
|
}
|
503
530
|
if( module.can.show() && !module.is.active() ) {
|
504
531
|
module.debug('Showing dropdown');
|
@@ -544,6 +571,7 @@ $.fn.dropdown = function(parameters) {
|
|
544
571
|
module.unbind.intent();
|
545
572
|
}
|
546
573
|
iconClicked = false;
|
574
|
+
focused = false;
|
547
575
|
},
|
548
576
|
|
549
577
|
hideOthers: function() {
|
@@ -622,6 +650,7 @@ $.fn.dropdown = function(parameters) {
|
|
622
650
|
if(module.is.multiple()) {
|
623
651
|
$module
|
624
652
|
.on(clickEvent + eventNamespace, module.event.click)
|
653
|
+
.on(clickEvent + eventNamespace, module.event.search.focus)
|
625
654
|
;
|
626
655
|
}
|
627
656
|
}
|
@@ -751,11 +780,14 @@ $.fn.dropdown = function(parameters) {
|
|
751
780
|
if(!Array.isArray(preSelected)) {
|
752
781
|
preSelected = preSelected && preSelected!=="" ? preSelected.split(settings.delimiter) : [];
|
753
782
|
}
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
783
|
+
if (module.is.multiple()) {
|
784
|
+
$.each(preSelected,function(index,value){
|
785
|
+
$item.filter('[data-value="'+value+'"]')
|
786
|
+
.addClass(className.filtered)
|
787
|
+
;
|
788
|
+
});
|
789
|
+
}
|
790
|
+
module.focusSearch(true);
|
759
791
|
afterFiltered();
|
760
792
|
});
|
761
793
|
}
|
@@ -769,7 +801,10 @@ $.fn.dropdown = function(parameters) {
|
|
769
801
|
}
|
770
802
|
},
|
771
803
|
|
772
|
-
queryRemote: function(query, callback) {
|
804
|
+
queryRemote: function(query, callback, callbackParameters) {
|
805
|
+
if(!Array.isArray(callbackParameters)){
|
806
|
+
callbackParameters = [callbackParameters];
|
807
|
+
}
|
773
808
|
var
|
774
809
|
apiSettings = {
|
775
810
|
errorDuration : false,
|
@@ -780,11 +815,15 @@ $.fn.dropdown = function(parameters) {
|
|
780
815
|
},
|
781
816
|
onError: function() {
|
782
817
|
module.add.message(message.serverError);
|
783
|
-
|
818
|
+
iconClicked = false;
|
819
|
+
focused = false;
|
820
|
+
callback.apply(null, callbackParameters);
|
784
821
|
},
|
785
822
|
onFailure: function() {
|
786
823
|
module.add.message(message.serverError);
|
787
|
-
|
824
|
+
iconClicked = false;
|
825
|
+
focused = false;
|
826
|
+
callback.apply(null, callbackParameters);
|
788
827
|
},
|
789
828
|
onSuccess : function(response) {
|
790
829
|
var
|
@@ -794,14 +833,23 @@ $.fn.dropdown = function(parameters) {
|
|
794
833
|
values = [];
|
795
834
|
}
|
796
835
|
module.remove.message();
|
797
|
-
|
798
|
-
|
799
|
-
|
836
|
+
var menuConfig = {};
|
837
|
+
menuConfig[fields.values] = values;
|
838
|
+
module.setup.menu(menuConfig);
|
800
839
|
|
801
840
|
if(values.length===0 && !settings.allowAdditions) {
|
802
841
|
module.add.message(message.noResults);
|
803
842
|
}
|
804
|
-
|
843
|
+
else {
|
844
|
+
var value = module.is.multiple() ? module.get.values() : module.get.value();
|
845
|
+
if (value !== '') {
|
846
|
+
module.verbose('Value(s) present after click icon, select value(s) in items');
|
847
|
+
module.set.selected(value, null, null, true);
|
848
|
+
}
|
849
|
+
}
|
850
|
+
iconClicked = false;
|
851
|
+
focused = false;
|
852
|
+
callback.apply(null, callbackParameters);
|
805
853
|
}
|
806
854
|
}
|
807
855
|
;
|
@@ -992,7 +1040,9 @@ $.fn.dropdown = function(parameters) {
|
|
992
1040
|
module.clear();
|
993
1041
|
}
|
994
1042
|
module.debug('Creating dropdown with specified values', values);
|
995
|
-
|
1043
|
+
var menuConfig = {};
|
1044
|
+
menuConfig[fields.values] = values;
|
1045
|
+
module.setup.menu(menuConfig);
|
996
1046
|
$.each(values, function(index, item) {
|
997
1047
|
if(item.selected == true) {
|
998
1048
|
module.debug('Setting initial selection to', item[fields.value]);
|
@@ -1031,6 +1081,7 @@ $.fn.dropdown = function(parameters) {
|
|
1031
1081
|
},
|
1032
1082
|
focus: function() {
|
1033
1083
|
if(settings.showOnFocus && !activated && module.is.hidden() && !pageLostFocus) {
|
1084
|
+
focused = true;
|
1034
1085
|
module.show();
|
1035
1086
|
}
|
1036
1087
|
},
|
@@ -1080,7 +1131,8 @@ $.fn.dropdown = function(parameters) {
|
|
1080
1131
|
if(module.is.multiple()) {
|
1081
1132
|
module.remove.activeLabel();
|
1082
1133
|
}
|
1083
|
-
if(settings.showOnFocus || (event.type !== 'focus' && event.type !== 'focusin')) {
|
1134
|
+
if(!focused && !module.is.active() && (settings.showOnFocus || (event.type !== 'focus' && event.type !== 'focusin'))) {
|
1135
|
+
focused = true;
|
1084
1136
|
module.search();
|
1085
1137
|
}
|
1086
1138
|
},
|
@@ -1125,6 +1177,7 @@ $.fn.dropdown = function(parameters) {
|
|
1125
1177
|
} else {
|
1126
1178
|
module.toggle();
|
1127
1179
|
}
|
1180
|
+
event.stopPropagation();
|
1128
1181
|
}
|
1129
1182
|
},
|
1130
1183
|
text: {
|
@@ -1164,10 +1217,11 @@ $.fn.dropdown = function(parameters) {
|
|
1164
1217
|
$label.addClass(className.active);
|
1165
1218
|
}
|
1166
1219
|
settings.onLabelSelect.apply(this, $labels.filter('.' + className.active));
|
1220
|
+
event.stopPropagation();
|
1167
1221
|
}
|
1168
1222
|
},
|
1169
1223
|
remove: {
|
1170
|
-
click: function() {
|
1224
|
+
click: function(event) {
|
1171
1225
|
var
|
1172
1226
|
$label = $(this).parent()
|
1173
1227
|
;
|
@@ -1179,6 +1233,7 @@ $.fn.dropdown = function(parameters) {
|
|
1179
1233
|
// remove this label only
|
1180
1234
|
module.remove.activeLabels( $label );
|
1181
1235
|
}
|
1236
|
+
event.stopPropagation();
|
1182
1237
|
}
|
1183
1238
|
},
|
1184
1239
|
test: {
|
@@ -1191,6 +1246,9 @@ $.fn.dropdown = function(parameters) {
|
|
1191
1246
|
if(module.is.bubbledLabelClick(event) || module.is.bubbledIconClick(event)) {
|
1192
1247
|
return;
|
1193
1248
|
}
|
1249
|
+
if (!module.is.multiple() || (module.is.multiple() && !module.is.active())) {
|
1250
|
+
focused = true;
|
1251
|
+
}
|
1194
1252
|
if( module.determine.eventOnElement(event, toggleBehavior) ) {
|
1195
1253
|
event.preventDefault();
|
1196
1254
|
}
|
@@ -1216,6 +1274,15 @@ $.fn.dropdown = function(parameters) {
|
|
1216
1274
|
}
|
1217
1275
|
}
|
1218
1276
|
},
|
1277
|
+
class: {
|
1278
|
+
mutation: function(mutations) {
|
1279
|
+
mutations.forEach(function(mutation) {
|
1280
|
+
if(mutation.attributeName === "class") {
|
1281
|
+
module.check.disabled();
|
1282
|
+
}
|
1283
|
+
});
|
1284
|
+
}
|
1285
|
+
},
|
1219
1286
|
select: {
|
1220
1287
|
mutation: function(mutations) {
|
1221
1288
|
module.debug('<select> modified, recreating menu');
|
@@ -1637,10 +1704,10 @@ $.fn.dropdown = function(parameters) {
|
|
1637
1704
|
trigger: {
|
1638
1705
|
change: function() {
|
1639
1706
|
var
|
1640
|
-
events = document.createEvent('HTMLEvents'),
|
1641
1707
|
inputElement = $input[0]
|
1642
1708
|
;
|
1643
1709
|
if(inputElement) {
|
1710
|
+
var events = document.createEvent('HTMLEvents');
|
1644
1711
|
module.verbose('Triggering native change event');
|
1645
1712
|
events.initEvent('change', true, false);
|
1646
1713
|
inputElement.dispatchEvent(events);
|
@@ -1772,7 +1839,7 @@ $.fn.dropdown = function(parameters) {
|
|
1772
1839
|
return $module.data(metadata.placeholderText) || '';
|
1773
1840
|
},
|
1774
1841
|
text: function() {
|
1775
|
-
return $text.text();
|
1842
|
+
return settings.preserveHTML ? $text.html() : $text.text();
|
1776
1843
|
},
|
1777
1844
|
query: function() {
|
1778
1845
|
return String($search.val()).trim();
|
@@ -1802,7 +1869,7 @@ $.fn.dropdown = function(parameters) {
|
|
1802
1869
|
return count;
|
1803
1870
|
},
|
1804
1871
|
transition: function($subMenu) {
|
1805
|
-
return (settings.transition
|
1872
|
+
return (settings.transition === 'auto')
|
1806
1873
|
? module.is.upward($subMenu)
|
1807
1874
|
? 'slide up'
|
1808
1875
|
: 'slide down'
|
@@ -1865,7 +1932,7 @@ $.fn.dropdown = function(parameters) {
|
|
1865
1932
|
: value
|
1866
1933
|
;
|
1867
1934
|
},
|
1868
|
-
values: function() {
|
1935
|
+
values: function(raw) {
|
1869
1936
|
var
|
1870
1937
|
value = module.get.value()
|
1871
1938
|
;
|
@@ -1874,7 +1941,7 @@ $.fn.dropdown = function(parameters) {
|
|
1874
1941
|
}
|
1875
1942
|
return ( !module.has.selectInput() && module.is.multiple() )
|
1876
1943
|
? (typeof value == 'string') // delimited string
|
1877
|
-
? module.escape.htmlEntities(value).split(settings.delimiter)
|
1944
|
+
? (raw ? value : module.escape.htmlEntities(value)).split(settings.delimiter)
|
1878
1945
|
: ''
|
1879
1946
|
: value
|
1880
1947
|
;
|
@@ -1918,8 +1985,8 @@ $.fn.dropdown = function(parameters) {
|
|
1918
1985
|
return ($choice.data(metadata.text) !== undefined)
|
1919
1986
|
? $choice.data(metadata.text)
|
1920
1987
|
: (preserveHTML)
|
1921
|
-
? $choice.html().trim()
|
1922
|
-
: $choice.text().trim()
|
1988
|
+
? $choice.html() && $choice.html().trim()
|
1989
|
+
: $choice.text() && $choice.text().trim()
|
1923
1990
|
;
|
1924
1991
|
}
|
1925
1992
|
},
|
@@ -1956,9 +2023,9 @@ $.fn.dropdown = function(parameters) {
|
|
1956
2023
|
selectValues: function() {
|
1957
2024
|
var
|
1958
2025
|
select = {},
|
1959
|
-
oldGroup = []
|
2026
|
+
oldGroup = [],
|
2027
|
+
values = []
|
1960
2028
|
;
|
1961
|
-
select.values = [];
|
1962
2029
|
$module
|
1963
2030
|
.find('option')
|
1964
2031
|
.each(function() {
|
@@ -1979,14 +2046,14 @@ $.fn.dropdown = function(parameters) {
|
|
1979
2046
|
}
|
1980
2047
|
else {
|
1981
2048
|
if(group.length !== oldGroup.length || group[0] !== oldGroup[0]) {
|
1982
|
-
|
2049
|
+
values.push({
|
1983
2050
|
type: 'header',
|
1984
2051
|
divider: settings.headerDivider,
|
1985
2052
|
name: group.attr('label') || ''
|
1986
2053
|
});
|
1987
2054
|
oldGroup = group;
|
1988
2055
|
}
|
1989
|
-
|
2056
|
+
values.push({
|
1990
2057
|
name : name,
|
1991
2058
|
value : value,
|
1992
2059
|
text : text,
|
@@ -2001,19 +2068,21 @@ $.fn.dropdown = function(parameters) {
|
|
2001
2068
|
}
|
2002
2069
|
if(settings.sortSelect) {
|
2003
2070
|
if(settings.sortSelect === true) {
|
2004
|
-
|
2071
|
+
values.sort(function(a, b) {
|
2005
2072
|
return a.name.localeCompare(b.name);
|
2006
2073
|
});
|
2007
2074
|
} else if(settings.sortSelect === 'natural') {
|
2008
|
-
|
2075
|
+
values.sort(function(a, b) {
|
2009
2076
|
return (a.name.toLowerCase().localeCompare(b.name.toLowerCase()));
|
2010
2077
|
});
|
2011
2078
|
} else if($.isFunction(settings.sortSelect)) {
|
2012
|
-
|
2079
|
+
values.sort(settings.sortSelect);
|
2013
2080
|
}
|
2081
|
+
select[fields.values] = values;
|
2014
2082
|
module.debug('Retrieved and sorted values from select', select);
|
2015
2083
|
}
|
2016
2084
|
else {
|
2085
|
+
select[fields.values] = values;
|
2017
2086
|
module.debug('Retrieved values from select', select);
|
2018
2087
|
}
|
2019
2088
|
return select;
|
@@ -2107,6 +2176,9 @@ $.fn.dropdown = function(parameters) {
|
|
2107
2176
|
;
|
2108
2177
|
}
|
2109
2178
|
return $selectedItem;
|
2179
|
+
},
|
2180
|
+
displayType: function() {
|
2181
|
+
return $module.hasClass('column') ? 'flex' : settings.displayType;
|
2110
2182
|
}
|
2111
2183
|
},
|
2112
2184
|
|
@@ -2136,6 +2208,9 @@ $.fn.dropdown = function(parameters) {
|
|
2136
2208
|
}
|
2137
2209
|
}
|
2138
2210
|
return true;
|
2211
|
+
},
|
2212
|
+
disabled: function(){
|
2213
|
+
$search.attr('tabindex',module.is.disabled() ? -1 : 0);
|
2139
2214
|
}
|
2140
2215
|
},
|
2141
2216
|
|
@@ -2295,7 +2370,7 @@ $.fn.dropdown = function(parameters) {
|
|
2295
2370
|
|
2296
2371
|
clear: function(preventChangeTrigger) {
|
2297
2372
|
if(module.is.multiple() && settings.useLabels) {
|
2298
|
-
module.remove.labels();
|
2373
|
+
module.remove.labels($module.find(selector.label), preventChangeTrigger);
|
2299
2374
|
}
|
2300
2375
|
else {
|
2301
2376
|
module.remove.activeItem();
|
@@ -2401,8 +2476,8 @@ $.fn.dropdown = function(parameters) {
|
|
2401
2476
|
module.debug('Added tabindex to searchable dropdown');
|
2402
2477
|
$search
|
2403
2478
|
.val('')
|
2404
|
-
.attr('tabindex', 0)
|
2405
2479
|
;
|
2480
|
+
module.check.disabled();
|
2406
2481
|
$menu
|
2407
2482
|
.attr('tabindex', -1)
|
2408
2483
|
;
|
@@ -2658,7 +2733,7 @@ $.fn.dropdown = function(parameters) {
|
|
2658
2733
|
module.clear();
|
2659
2734
|
module.set.selected(value, $selectedItem);
|
2660
2735
|
},
|
2661
|
-
selected: function(value, $selectedItem) {
|
2736
|
+
selected: function(value, $selectedItem, preventChangeTrigger, keepSearchTerm) {
|
2662
2737
|
var
|
2663
2738
|
isMultiple = module.is.multiple()
|
2664
2739
|
;
|
@@ -2720,8 +2795,10 @@ $.fn.dropdown = function(parameters) {
|
|
2720
2795
|
if(settings.apiSettings && settings.saveRemoteData) {
|
2721
2796
|
module.save.remoteData(selectedText, selectedValue);
|
2722
2797
|
}
|
2723
|
-
|
2724
|
-
|
2798
|
+
if (!keepSearchTerm) {
|
2799
|
+
module.set.text(selectedText);
|
2800
|
+
}
|
2801
|
+
module.set.value(selectedValue, selectedText, $selected, preventChangeTrigger);
|
2725
2802
|
$selected
|
2726
2803
|
.addClass(className.active)
|
2727
2804
|
.addClass(className.selected)
|
@@ -2729,7 +2806,9 @@ $.fn.dropdown = function(parameters) {
|
|
2729
2806
|
}
|
2730
2807
|
})
|
2731
2808
|
;
|
2732
|
-
|
2809
|
+
if (!keepSearchTerm) {
|
2810
|
+
module.remove.searchTerm();
|
2811
|
+
}
|
2733
2812
|
}
|
2734
2813
|
},
|
2735
2814
|
|
@@ -2893,7 +2972,7 @@ $.fn.dropdown = function(parameters) {
|
|
2893
2972
|
},
|
2894
2973
|
value: function(addedValue, addedText, $selectedItem) {
|
2895
2974
|
var
|
2896
|
-
currentValue = module.get.values(),
|
2975
|
+
currentValue = module.get.values(true),
|
2897
2976
|
newValue
|
2898
2977
|
;
|
2899
2978
|
if(module.has.value(addedValue)) {
|
@@ -3017,7 +3096,7 @@ $.fn.dropdown = function(parameters) {
|
|
3017
3096
|
userAddition: function() {
|
3018
3097
|
$item.filter(selector.addition).remove();
|
3019
3098
|
},
|
3020
|
-
selected: function(value, $selectedItem) {
|
3099
|
+
selected: function(value, $selectedItem, preventChangeTrigger) {
|
3021
3100
|
$selectedItem = (settings.allowAdditions)
|
3022
3101
|
? $selectedItem || module.get.itemWithAdditions(value)
|
3023
3102
|
: $selectedItem || module.get.item(value)
|
@@ -3036,11 +3115,11 @@ $.fn.dropdown = function(parameters) {
|
|
3036
3115
|
;
|
3037
3116
|
if(module.is.multiple()) {
|
3038
3117
|
if(settings.useLabels) {
|
3039
|
-
module.remove.value(selectedValue, selectedText, $selected);
|
3118
|
+
module.remove.value(selectedValue, selectedText, $selected, preventChangeTrigger);
|
3040
3119
|
module.remove.label(selectedValue);
|
3041
3120
|
}
|
3042
3121
|
else {
|
3043
|
-
module.remove.value(selectedValue, selectedText, $selected);
|
3122
|
+
module.remove.value(selectedValue, selectedText, $selected, preventChangeTrigger);
|
3044
3123
|
if(module.get.selectionCount() === 0) {
|
3045
3124
|
module.set.placeholderText();
|
3046
3125
|
}
|
@@ -3050,7 +3129,7 @@ $.fn.dropdown = function(parameters) {
|
|
3050
3129
|
}
|
3051
3130
|
}
|
3052
3131
|
else {
|
3053
|
-
module.remove.value(selectedValue, selectedText, $selected);
|
3132
|
+
module.remove.value(selectedValue, selectedText, $selected, preventChangeTrigger);
|
3054
3133
|
}
|
3055
3134
|
$selected
|
3056
3135
|
.removeClass(className.filtered)
|
@@ -3065,7 +3144,7 @@ $.fn.dropdown = function(parameters) {
|
|
3065
3144
|
selectedItem: function() {
|
3066
3145
|
$item.removeClass(className.selected);
|
3067
3146
|
},
|
3068
|
-
value: function(removedValue, removedText, $removedItem) {
|
3147
|
+
value: function(removedValue, removedText, $removedItem, preventChangeTrigger) {
|
3069
3148
|
var
|
3070
3149
|
values = module.get.values(),
|
3071
3150
|
newValue
|
@@ -3087,7 +3166,7 @@ $.fn.dropdown = function(parameters) {
|
|
3087
3166
|
else {
|
3088
3167
|
settings.onRemove.call(element, removedValue, removedText, $removedItem);
|
3089
3168
|
}
|
3090
|
-
module.set.value(newValue, removedText, $removedItem);
|
3169
|
+
module.set.value(newValue, removedText, $removedItem, preventChangeTrigger);
|
3091
3170
|
module.check.maxSelections();
|
3092
3171
|
},
|
3093
3172
|
arrayValue: function(removedValue, values) {
|
@@ -3102,8 +3181,9 @@ $.fn.dropdown = function(parameters) {
|
|
3102
3181
|
},
|
3103
3182
|
label: function(value, shouldAnimate) {
|
3104
3183
|
var
|
3184
|
+
escapedValue = module.escape.value(value),
|
3105
3185
|
$labels = $module.find(selector.label),
|
3106
|
-
$removedLabel = $labels.filter('[data-' + metadata.value + '="' + module.escape.string(settings.ignoreCase ?
|
3186
|
+
$removedLabel = $labels.filter('[data-' + metadata.value + '="' + module.escape.string(settings.ignoreCase ? escapedValue.toLowerCase() : escapedValue) +'"]')
|
3107
3187
|
;
|
3108
3188
|
module.verbose('Removing label', $removedLabel);
|
3109
3189
|
$removedLabel.remove();
|
@@ -3113,7 +3193,7 @@ $.fn.dropdown = function(parameters) {
|
|
3113
3193
|
module.verbose('Removing active label selections', $activeLabels);
|
3114
3194
|
module.remove.labels($activeLabels);
|
3115
3195
|
},
|
3116
|
-
labels: function($labels) {
|
3196
|
+
labels: function($labels, preventChangeTrigger) {
|
3117
3197
|
$labels = $labels || $module.find(selector.label);
|
3118
3198
|
module.verbose('Removing labels', $labels);
|
3119
3199
|
$labels
|
@@ -3132,12 +3212,12 @@ $.fn.dropdown = function(parameters) {
|
|
3132
3212
|
}
|
3133
3213
|
module.remove.message();
|
3134
3214
|
if(isUserValue) {
|
3135
|
-
module.remove.value(stringValue);
|
3215
|
+
module.remove.value(stringValue, stringValue, module.get.item(stringValue), preventChangeTrigger);
|
3136
3216
|
module.remove.label(stringValue);
|
3137
3217
|
}
|
3138
3218
|
else {
|
3139
3219
|
// selected will also remove label
|
3140
|
-
module.remove.selected(stringValue);
|
3220
|
+
module.remove.selected(stringValue, false, preventChangeTrigger);
|
3141
3221
|
}
|
3142
3222
|
})
|
3143
3223
|
;
|
@@ -3216,6 +3296,9 @@ $.fn.dropdown = function(parameters) {
|
|
3216
3296
|
menu: function() {
|
3217
3297
|
return ($menu.length > 0);
|
3218
3298
|
},
|
3299
|
+
subMenu: function($currentMenu) {
|
3300
|
+
return ($currentMenu || $menu).find(selector.menu).length > 0;
|
3301
|
+
},
|
3219
3302
|
message: function() {
|
3220
3303
|
return ($menu.children(selector.message).length !== 0);
|
3221
3304
|
},
|
@@ -3252,7 +3335,7 @@ $.fn.dropdown = function(parameters) {
|
|
3252
3335
|
},
|
3253
3336
|
valueMatchingCase: function(value) {
|
3254
3337
|
var
|
3255
|
-
values = module.get.values(),
|
3338
|
+
values = module.get.values(true),
|
3256
3339
|
hasValue = Array.isArray(values)
|
3257
3340
|
? values && ($.inArray(value, values) !== -1)
|
3258
3341
|
: (values == value)
|
@@ -3264,7 +3347,7 @@ $.fn.dropdown = function(parameters) {
|
|
3264
3347
|
},
|
3265
3348
|
valueIgnoringCase: function(value) {
|
3266
3349
|
var
|
3267
|
-
values = module.get.values(),
|
3350
|
+
values = module.get.values(true),
|
3268
3351
|
hasValue = false
|
3269
3352
|
;
|
3270
3353
|
if(!Array.isArray(values)) {
|
@@ -3296,6 +3379,9 @@ $.fn.dropdown = function(parameters) {
|
|
3296
3379
|
bubbledIconClick: function(event) {
|
3297
3380
|
return $(event.target).closest($icon).length > 0;
|
3298
3381
|
},
|
3382
|
+
chrome: function() {
|
3383
|
+
return !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
|
3384
|
+
},
|
3299
3385
|
alreadySetup: function() {
|
3300
3386
|
return ($module.is('select') && $module.parent(selector.dropdown).data(moduleNamespace) !== undefined && $module.prev().length === 0);
|
3301
3387
|
},
|
@@ -3348,6 +3434,9 @@ $.fn.dropdown = function(parameters) {
|
|
3348
3434
|
remote: function() {
|
3349
3435
|
return settings.apiSettings && module.can.useAPI();
|
3350
3436
|
},
|
3437
|
+
noApiCache: function() {
|
3438
|
+
return settings.apiSettings && !settings.apiSettings.cache
|
3439
|
+
},
|
3351
3440
|
single: function() {
|
3352
3441
|
return !module.is.multiple();
|
3353
3442
|
},
|
@@ -3442,6 +3531,9 @@ $.fn.dropdown = function(parameters) {
|
|
3442
3531
|
if(module.is.verticallyScrollableContext()) {
|
3443
3532
|
calculations.menu.offset.top += calculations.context.scrollTop;
|
3444
3533
|
}
|
3534
|
+
if(module.has.subMenu($currentMenu)) {
|
3535
|
+
calculations.menu.height += $currentMenu.find(selector.menu).first().outerHeight();
|
3536
|
+
}
|
3445
3537
|
onScreen = {
|
3446
3538
|
above : (calculations.context.scrollTop) <= calculations.menu.offset.top - calculations.context.offset.top - calculations.menu.height,
|
3447
3539
|
below : (calculations.context.scrollTop + calculations.context.height) >= calculations.menu.offset.top - calculations.context.offset.top + calculations.menu.height
|
@@ -3528,14 +3620,16 @@ $.fn.dropdown = function(parameters) {
|
|
3528
3620
|
;
|
3529
3621
|
module.verbose('Doing menu show animation', $currentMenu);
|
3530
3622
|
module.set.direction($subMenu);
|
3531
|
-
transition = module.get.transition($subMenu);
|
3623
|
+
transition = settings.transition.showMethod || module.get.transition($subMenu);
|
3532
3624
|
if( module.is.selection() ) {
|
3533
3625
|
module.set.scrollPosition(module.get.selectedItem(), true);
|
3534
3626
|
}
|
3535
3627
|
if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {
|
3536
|
-
if(transition
|
3628
|
+
if(transition === 'none') {
|
3537
3629
|
start();
|
3538
|
-
$currentMenu.transition(
|
3630
|
+
$currentMenu.transition({
|
3631
|
+
displayType: module.get.displayType()
|
3632
|
+
}).transition('show');
|
3539
3633
|
callback.call(element);
|
3540
3634
|
}
|
3541
3635
|
else if($.fn.transition !== undefined && $module.transition('is supported')) {
|
@@ -3544,9 +3638,10 @@ $.fn.dropdown = function(parameters) {
|
|
3544
3638
|
animation : transition + ' in',
|
3545
3639
|
debug : settings.debug,
|
3546
3640
|
verbose : settings.verbose,
|
3547
|
-
duration : settings.duration,
|
3641
|
+
duration : settings.transition.showDuration || settings.duration,
|
3548
3642
|
queue : true,
|
3549
3643
|
onStart : start,
|
3644
|
+
displayType: module.get.displayType(),
|
3550
3645
|
onComplete : function() {
|
3551
3646
|
callback.call(element);
|
3552
3647
|
}
|
@@ -3569,7 +3664,7 @@ $.fn.dropdown = function(parameters) {
|
|
3569
3664
|
}
|
3570
3665
|
module.remove.active();
|
3571
3666
|
},
|
3572
|
-
transition = module.get.transition($subMenu)
|
3667
|
+
transition = settings.transition.hideMethod || module.get.transition($subMenu)
|
3573
3668
|
;
|
3574
3669
|
callback = $.isFunction(callback)
|
3575
3670
|
? callback
|
@@ -3578,20 +3673,23 @@ $.fn.dropdown = function(parameters) {
|
|
3578
3673
|
if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) {
|
3579
3674
|
module.verbose('Doing menu hide animation', $currentMenu);
|
3580
3675
|
|
3581
|
-
if(transition
|
3676
|
+
if(transition === 'none') {
|
3582
3677
|
start();
|
3583
|
-
$currentMenu.transition(
|
3678
|
+
$currentMenu.transition({
|
3679
|
+
displayType: module.get.displayType()
|
3680
|
+
}).transition('hide');
|
3584
3681
|
callback.call(element);
|
3585
3682
|
}
|
3586
3683
|
else if($.fn.transition !== undefined && $module.transition('is supported')) {
|
3587
3684
|
$currentMenu
|
3588
3685
|
.transition({
|
3589
3686
|
animation : transition + ' out',
|
3590
|
-
duration : settings.duration,
|
3687
|
+
duration : settings.transition.hideDuration || settings.duration,
|
3591
3688
|
debug : settings.debug,
|
3592
3689
|
verbose : settings.verbose,
|
3593
3690
|
queue : false,
|
3594
3691
|
onStart : start,
|
3692
|
+
displayType: module.get.displayType(),
|
3595
3693
|
onComplete : function() {
|
3596
3694
|
callback.call(element);
|
3597
3695
|
}
|
@@ -3920,6 +4018,7 @@ $.fn.dropdown.settings = {
|
|
3920
4018
|
|
3921
4019
|
transition : 'auto', // auto transition will slide down or up based on direction
|
3922
4020
|
duration : 200, // duration of transition
|
4021
|
+
displayType : false, // displayType of transition
|
3923
4022
|
|
3924
4023
|
glyphWidth : 1.037, // widest glyph width in em (W is 1.037 em) used to calculate multiselect input width
|
3925
4024
|
|
@@ -3944,6 +4043,7 @@ $.fn.dropdown.settings = {
|
|
3944
4043
|
onChange : function(value, text, $selected){},
|
3945
4044
|
onAdd : function(value, text, $selected){},
|
3946
4045
|
onRemove : function(value, text, $selected){},
|
4046
|
+
onSearch : function(searchTerm){},
|
3947
4047
|
|
3948
4048
|
onLabelSelect : function($selectedLabels){},
|
3949
4049
|
onLabelCreate : function(value, text) { return $(this); },
|
@@ -3991,19 +4091,21 @@ $.fn.dropdown.settings = {
|
|
3991
4091
|
|
3992
4092
|
// property names for remote query
|
3993
4093
|
fields: {
|
3994
|
-
remoteValues
|
3995
|
-
values
|
3996
|
-
disabled
|
3997
|
-
name
|
3998
|
-
|
3999
|
-
|
4000
|
-
|
4001
|
-
|
4002
|
-
|
4003
|
-
|
4004
|
-
|
4005
|
-
|
4006
|
-
|
4094
|
+
remoteValues : 'results', // grouping for api results
|
4095
|
+
values : 'values', // grouping for all dropdown values
|
4096
|
+
disabled : 'disabled', // whether value should be disabled
|
4097
|
+
name : 'name', // displayed dropdown text
|
4098
|
+
description : 'description', // displayed dropdown description
|
4099
|
+
descriptionVertical : 'descriptionVertical', // whether description should be vertical
|
4100
|
+
value : 'value', // actual dropdown value
|
4101
|
+
text : 'text', // displayed text when selected
|
4102
|
+
type : 'type', // type of dropdown element
|
4103
|
+
image : 'image', // optional image path
|
4104
|
+
imageClass : 'imageClass', // optional individual class for image
|
4105
|
+
icon : 'icon', // optional icon name
|
4106
|
+
iconClass : 'iconClass', // optional individual class for icon (for example to use flag instead)
|
4107
|
+
class : 'class', // optional individual class for item/header
|
4108
|
+
divider : 'divider' // optional divider append for group headers
|
4007
4109
|
},
|
4008
4110
|
|
4009
4111
|
keys : {
|
@@ -4042,45 +4144,48 @@ $.fn.dropdown.settings = {
|
|
4042
4144
|
},
|
4043
4145
|
|
4044
4146
|
className : {
|
4045
|
-
active
|
4046
|
-
addition
|
4047
|
-
animating
|
4048
|
-
|
4049
|
-
|
4050
|
-
|
4051
|
-
|
4052
|
-
|
4053
|
-
|
4054
|
-
|
4055
|
-
|
4056
|
-
|
4057
|
-
|
4058
|
-
|
4059
|
-
|
4060
|
-
|
4061
|
-
|
4062
|
-
|
4063
|
-
|
4064
|
-
|
4065
|
-
|
4066
|
-
|
4067
|
-
|
4068
|
-
|
4069
|
-
|
4070
|
-
|
4071
|
-
|
4072
|
-
|
4073
|
-
|
4074
|
-
|
4075
|
-
|
4147
|
+
active : 'active',
|
4148
|
+
addition : 'addition',
|
4149
|
+
animating : 'animating',
|
4150
|
+
description : 'description',
|
4151
|
+
descriptionVertical : 'vertical',
|
4152
|
+
disabled : 'disabled',
|
4153
|
+
empty : 'empty',
|
4154
|
+
dropdown : 'ui dropdown',
|
4155
|
+
filtered : 'filtered',
|
4156
|
+
hidden : 'hidden transition',
|
4157
|
+
icon : 'icon',
|
4158
|
+
image : 'image',
|
4159
|
+
item : 'item',
|
4160
|
+
label : 'ui label',
|
4161
|
+
loading : 'loading',
|
4162
|
+
menu : 'menu',
|
4163
|
+
message : 'message',
|
4164
|
+
multiple : 'multiple',
|
4165
|
+
placeholder : 'default',
|
4166
|
+
sizer : 'sizer',
|
4167
|
+
search : 'search',
|
4168
|
+
selected : 'selected',
|
4169
|
+
selection : 'selection',
|
4170
|
+
text : 'text',
|
4171
|
+
upward : 'upward',
|
4172
|
+
leftward : 'left',
|
4173
|
+
visible : 'visible',
|
4174
|
+
clearable : 'clearable',
|
4175
|
+
noselection : 'noselection',
|
4176
|
+
delete : 'delete',
|
4177
|
+
header : 'header',
|
4178
|
+
divider : 'divider',
|
4179
|
+
groupIcon : '',
|
4180
|
+
unfilterable : 'unfilterable'
|
4076
4181
|
}
|
4077
4182
|
|
4078
4183
|
};
|
4079
4184
|
|
4080
4185
|
/* Templates */
|
4081
4186
|
$.fn.dropdown.settings.templates = {
|
4082
|
-
deQuote: function(string) {
|
4083
|
-
return String(string).replace(/"/g,"");
|
4187
|
+
deQuote: function(string, encode) {
|
4188
|
+
return String(string).replace(/"/g,encode ? """ : "");
|
4084
4189
|
},
|
4085
4190
|
escape: function(string, preserveHTML) {
|
4086
4191
|
if (preserveHTML){
|
@@ -4138,26 +4243,49 @@ $.fn.dropdown.settings.templates = {
|
|
4138
4243
|
var
|
4139
4244
|
itemType = (option[fields.type])
|
4140
4245
|
? option[fields.type]
|
4141
|
-
: 'item'
|
4246
|
+
: 'item',
|
4247
|
+
isMenu = itemType.indexOf('menu') !== -1
|
4142
4248
|
;
|
4143
4249
|
|
4144
|
-
if( itemType === 'item' ) {
|
4250
|
+
if( itemType === 'item' || isMenu) {
|
4145
4251
|
var
|
4146
4252
|
maybeText = (option[fields.text])
|
4147
|
-
? ' data-text="' + deQuote(option[fields.text]) + '"'
|
4253
|
+
? ' data-text="' + deQuote(option[fields.text],true) + '"'
|
4148
4254
|
: '',
|
4149
4255
|
maybeDisabled = (option[fields.disabled])
|
4150
4256
|
? className.disabled+' '
|
4151
|
-
: ''
|
4257
|
+
: '',
|
4258
|
+
maybeDescriptionVertical = (option[fields.descriptionVertical])
|
4259
|
+
? className.descriptionVertical+' '
|
4260
|
+
: '',
|
4261
|
+
hasDescription = (escape(option[fields.description] || '', preserveHTML) != '')
|
4152
4262
|
;
|
4153
|
-
html += '<div class="'+ maybeDisabled + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value]) + '"' + maybeText + '>';
|
4263
|
+
html += '<div class="'+ maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value],true) + '"' + maybeText + '>';
|
4264
|
+
if (isMenu) {
|
4265
|
+
html += '<i class="'+ (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
|
4266
|
+
}
|
4154
4267
|
if(option[fields.image]) {
|
4155
4268
|
html += '<img class="'+(option[fields.imageClass] ? deQuote(option[fields.imageClass]) : className.image)+'" src="' + deQuote(option[fields.image]) + '">';
|
4156
4269
|
}
|
4157
4270
|
if(option[fields.icon]) {
|
4158
4271
|
html += '<i class="'+deQuote(option[fields.icon])+' '+(option[fields.iconClass] ? deQuote(option[fields.iconClass]) : className.icon)+'"></i>';
|
4159
4272
|
}
|
4273
|
+
if(hasDescription){
|
4274
|
+
html += '<span class="'+ className.description +'">'+ escape(option[fields.description] || '', preserveHTML) + '</span>';
|
4275
|
+
html += (!isMenu) ? '<span class="'+ className.text + '">' : '';
|
4276
|
+
}
|
4277
|
+
if (isMenu) {
|
4278
|
+
html += '<span class="' + className.text + '">';
|
4279
|
+
}
|
4160
4280
|
html += escape(option[fields.name] || '', preserveHTML);
|
4281
|
+
if (isMenu) {
|
4282
|
+
html += '</span>';
|
4283
|
+
html += '<div class="' + itemType + '">';
|
4284
|
+
html += $.fn.dropdown.settings.templates.menu(option, fields, preserveHTML, className);
|
4285
|
+
html += '</div>';
|
4286
|
+
} else if(hasDescription){
|
4287
|
+
html += '</span>';
|
4288
|
+
}
|
4161
4289
|
html += '</div>';
|
4162
4290
|
} else if (itemType === 'header') {
|
4163
4291
|
var groupName = escape(option[fields.name] || '', preserveHTML),
|