fomantic-ui 2.10.0-beta.1 → 2.10.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +1 -1
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +1 -1
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +6 -6
- package/dist/components/api.min.js +1 -1
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +1 -1
- package/dist/components/button.min.css +1 -1
- package/dist/components/calendar.css +1 -1
- package/dist/components/calendar.js +7 -7
- package/dist/components/calendar.min.css +1 -1
- package/dist/components/calendar.min.js +1 -1
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +1 -1
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +1 -1
- package/dist/components/container.min.css +1 -1
- package/dist/components/dimmer.css +1 -1
- package/dist/components/dimmer.js +4 -4
- package/dist/components/dimmer.min.css +1 -1
- package/dist/components/dimmer.min.js +1 -1
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +1 -1
- package/dist/components/dropdown.js +29 -29
- package/dist/components/dropdown.min.css +1 -1
- package/dist/components/dropdown.min.js +1 -1
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +2 -2
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +1 -1
- package/dist/components/emoji.css +1 -1
- package/dist/components/emoji.min.css +1 -1
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +1 -1
- package/dist/components/flag.min.css +1 -1
- package/dist/components/flyout.css +1 -1
- package/dist/components/flyout.js +3 -3
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +5 -5
- package/dist/components/form.js +11 -11
- package/dist/components/form.min.css +1 -1
- package/dist/components/form.min.js +1 -1
- package/dist/components/grid.css +1 -1
- package/dist/components/grid.min.css +1 -1
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +1 -1
- package/dist/components/icon.min.css +1 -1
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +1 -1
- package/dist/components/input.min.css +1 -1
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +1 -1
- package/dist/components/label.min.css +1 -1
- package/dist/components/list.css +1 -1
- package/dist/components/list.min.css +1 -1
- package/dist/components/loader.css +1 -1
- package/dist/components/loader.min.css +1 -1
- package/dist/components/menu.css +1 -1
- package/dist/components/menu.min.css +1 -1
- package/dist/components/message.css +1 -1
- package/dist/components/message.min.css +1 -1
- package/dist/components/modal.css +1 -1
- package/dist/components/modal.js +2 -2
- package/dist/components/modal.min.css +1 -1
- package/dist/components/modal.min.js +1 -1
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +2 -2
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +1 -1
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +1 -1
- package/dist/components/popup.js +8 -8
- package/dist/components/popup.min.css +1 -1
- package/dist/components/popup.min.js +1 -1
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +7 -7
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +1 -1
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +1 -1
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +1 -1
- package/dist/components/reset.css +1 -1
- package/dist/components/reset.min.css +1 -1
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +1 -1
- package/dist/components/search.js +7 -7
- package/dist/components/search.min.css +1 -1
- package/dist/components/search.min.js +1 -1
- package/dist/components/segment.css +1 -1
- package/dist/components/segment.min.css +1 -1
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +2 -2
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +1 -1
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +2 -2
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +1 -1
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +1 -1
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +1 -1
- package/dist/components/slider.css +1 -1
- package/dist/components/slider.js +5 -5
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +3 -3
- package/dist/components/state.min.js +1 -1
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +1 -1
- package/dist/components/step.min.css +1 -1
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +5 -5
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +1 -1
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +10 -13
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- package/dist/components/table.css +1 -1
- package/dist/components/table.min.css +1 -1
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +1 -1
- package/dist/components/toast.js +4 -4
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +1 -1
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +5 -5
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +1 -1
- package/dist/components/visibility.js +2 -2
- package/dist/components/visibility.min.js +1 -1
- package/dist/semantic.css +57 -57
- package/dist/semantic.js +131 -134
- package/dist/semantic.min.css +1 -1
- package/dist/semantic.min.js +2 -2
- package/package.json +1 -1
- package/src/README.md +3 -3
- package/src/definitions/behaviors/api.js +5 -5
- package/src/definitions/behaviors/form.js +10 -10
- package/src/definitions/behaviors/state.js +2 -2
- package/src/definitions/behaviors/visibility.js +1 -1
- package/src/definitions/collections/form.less +1 -1
- package/src/definitions/modules/calendar.js +6 -6
- package/src/definitions/modules/dimmer.js +3 -3
- package/src/definitions/modules/dropdown.js +28 -28
- package/src/definitions/modules/embed.js +1 -1
- package/src/definitions/modules/flyout.js +2 -2
- package/src/definitions/modules/modal.js +1 -1
- package/src/definitions/modules/nag.js +1 -1
- package/src/definitions/modules/popup.js +7 -7
- package/src/definitions/modules/progress.js +6 -6
- package/src/definitions/modules/search.js +6 -6
- package/src/definitions/modules/shape.js +1 -1
- package/src/definitions/modules/sidebar.js +1 -1
- package/src/definitions/modules/slider.js +4 -4
- package/src/definitions/modules/slider.less +1 -1
- package/src/definitions/modules/sticky.js +4 -4
- package/src/definitions/modules/tab.js +9 -12
- package/src/definitions/modules/toast.js +3 -3
- package/src/definitions/modules/transition.js +4 -4
- package/src/themes/default/modules/slider.variables +1 -1
package/package.json
CHANGED
package/src/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
### Built-In Tools
|
4
4
|
|
5
|
-
From the Fomantic directory you can
|
5
|
+
From the Fomantic directory you can set up gulp to build Fomantic by running.
|
6
6
|
|
7
7
|
```bash
|
8
8
|
npm install
|
@@ -68,7 +68,7 @@ filename | usage | Initial Name
|
|
68
68
|
|
69
69
|
You will only need to use Fomantic's build tools while refining your UI. When designing pages, you can rely on the compiled css packages in `dist/`.
|
70
70
|
|
71
|
-
When creating your UI you can try <a href="http://www.learnsemantic.com/themes/creating.html">downloading different themes</a>, adjusting your <a href="http://www.learnsemantic.com/developing/customizing.html#setting-global-variables">site-wide settings</a> (font-family, colors, etc) and tweaking components in your site's <a href="http://www.learnsemantic.com/developing/customizing.html#designing-for-the-long-now">component overrides</a>.
|
71
|
+
When creating your UI you can try <a href="http://www.learnsemantic.com/themes/creating.html">downloading different themes</a>, adjusting your <a href="http://www.learnsemantic.com/developing/customizing.html#setting-global-variables">site-wide settings</a> (font-family, colors, etc.) and tweaking components in your site's <a href="http://www.learnsemantic.com/developing/customizing.html#designing-for-the-long-now">component overrides</a>.
|
72
72
|
|
73
73
|
Files in the `examples/` folder of your project can be useful for testing out changes in your UI. For example, you might run `gulp watch` download a new theme to `src/site/themes/` then adjust your `theme.config` file with the name of the new theme and refresh `examples/kitchensink.html` to inspect changes in the theme.
|
74
74
|
|
@@ -120,7 +120,7 @@ You may also specify your own custom LESS in `site/elements/button.overrides`. T
|
|
120
120
|
|
121
121
|
You can modify `theme.config` to use any prepackaged theme available in `src/themes/`.
|
122
122
|
|
123
|
-
For example you can modify `theme.config` to use a `github` button theme by changing
|
123
|
+
For example, you can modify `theme.config` to use a `github` button theme by changing
|
124
124
|
|
125
125
|
```less
|
126
126
|
@button: 'github';
|
@@ -211,7 +211,7 @@
|
|
211
211
|
// call beforesend and get any settings changes
|
212
212
|
requestSettings = module.get.settings();
|
213
213
|
|
214
|
-
// check if before send
|
214
|
+
// check if before send canceled request
|
215
215
|
if (requestSettings === false) {
|
216
216
|
module.cancelled = true;
|
217
217
|
module.error(error.beforeSend);
|
@@ -767,8 +767,8 @@
|
|
767
767
|
},
|
768
768
|
errorFromRequest: function (response, status, httpMessage) {
|
769
769
|
return $.isPlainObject(response) && response.error !== undefined
|
770
|
-
? response.error // use
|
771
|
-
: (settings.error[status] !== undefined // use server error message
|
770
|
+
? response.error // use JSON error message
|
771
|
+
: (settings.error[status] !== undefined // use the server error message
|
772
772
|
? settings.error[status]
|
773
773
|
: httpMessage);
|
774
774
|
},
|
@@ -1125,7 +1125,7 @@
|
|
1125
1125
|
// whether to add default data to url data
|
1126
1126
|
defaultData: true,
|
1127
1127
|
|
1128
|
-
// whether to serialize closest form
|
1128
|
+
// whether to serialize the closest form
|
1129
1129
|
// use true to convert complex named keys like a[b][1][c][] into a nested object
|
1130
1130
|
// use 'formdata' for formdata web api
|
1131
1131
|
serializeForm: false,
|
@@ -1162,7 +1162,7 @@
|
|
1162
1162
|
// after request
|
1163
1163
|
onResponse: false, // function(response) { },
|
1164
1164
|
|
1165
|
-
// response was successful
|
1165
|
+
// response was successful if JSON passed validation
|
1166
1166
|
onSuccess: function (response, $module) {},
|
1167
1167
|
|
1168
1168
|
// request finished without aborting
|
@@ -377,10 +377,10 @@
|
|
377
377
|
if (currentValue === undefined || currentValue === null) {
|
378
378
|
currentValue = '';
|
379
379
|
} else if (Array.isArray(currentValue)) {
|
380
|
-
// multiple select values are returned as arrays which are never equal, so do string conversion first
|
380
|
+
// multiple select values are returned as arrays which are never equal, so do the string conversion first
|
381
381
|
currentValue = currentValue.toString();
|
382
382
|
}
|
383
|
-
// Boolean values can be encoded as "true/false" or "True/False" depending on underlying frameworks so we need a case
|
383
|
+
// Boolean values can be encoded as "true/false" or "True/False" depending on underlying frameworks, so we need a case-insensitive comparison
|
384
384
|
var boolRegex = /^(true|false)$/i;
|
385
385
|
var isBoolValue = boolRegex.test(initialValue) && boolRegex.test(currentValue);
|
386
386
|
if (isBoolValue) {
|
@@ -494,7 +494,7 @@
|
|
494
494
|
event.returnValue = settings.text.leavingMessage;
|
495
495
|
}
|
496
496
|
|
497
|
-
// For
|
497
|
+
// For older...
|
498
498
|
return settings.text.leavingMessage;
|
499
499
|
}
|
500
500
|
},
|
@@ -1315,7 +1315,7 @@
|
|
1315
1315
|
if (typeof settings.errorFocus === 'string') {
|
1316
1316
|
$focusElement = $(document).find(settings.errorFocus);
|
1317
1317
|
hasTabIndex = $focusElement.is('[tabindex]');
|
1318
|
-
// to be able to focus/scroll into non
|
1318
|
+
// to be able to focus/scroll into non-input elements, we need a tabindex
|
1319
1319
|
if (!hasTabIndex) {
|
1320
1320
|
$focusElement.attr('tabindex', -1);
|
1321
1321
|
}
|
@@ -1858,7 +1858,7 @@
|
|
1858
1858
|
return $.fn.form.settings.regExp.email.test(value);
|
1859
1859
|
},
|
1860
1860
|
|
1861
|
-
// value is most likely url
|
1861
|
+
// value is most likely the url
|
1862
1862
|
url: function (value) {
|
1863
1863
|
return $.fn.form.settings.regExp.url.test(value);
|
1864
1864
|
},
|
@@ -1934,7 +1934,7 @@
|
|
1934
1934
|
);
|
1935
1935
|
},
|
1936
1936
|
|
1937
|
-
// is valid number (with decimal)
|
1937
|
+
// is it a valid number (with decimal)
|
1938
1938
|
decimal: function (value, range) {
|
1939
1939
|
return $.fn.form.settings.rules.range(value, range, 'decimal');
|
1940
1940
|
},
|
@@ -1944,7 +1944,7 @@
|
|
1944
1944
|
return $.fn.form.settings.rules.range(value, range, 'number');
|
1945
1945
|
},
|
1946
1946
|
|
1947
|
-
// is value (case
|
1947
|
+
// is value (case-insensitive)
|
1948
1948
|
is: function (value, text) {
|
1949
1949
|
text = typeof text === 'string'
|
1950
1950
|
? text.toLowerCase()
|
@@ -1961,7 +1961,7 @@
|
|
1961
1961
|
return value == text;
|
1962
1962
|
},
|
1963
1963
|
|
1964
|
-
// value is not another value (case
|
1964
|
+
// value is not another value (case-insensitive)
|
1965
1965
|
not: function (value, notValue) {
|
1966
1966
|
value = typeof value === 'string'
|
1967
1967
|
? value.toLowerCase()
|
@@ -1973,7 +1973,7 @@
|
|
1973
1973
|
return value != notValue;
|
1974
1974
|
},
|
1975
1975
|
|
1976
|
-
// value is not another value (case
|
1976
|
+
// value is not another value (case-sensitive)
|
1977
1977
|
notExactly: function (value, notValue) {
|
1978
1978
|
return value != notValue;
|
1979
1979
|
},
|
@@ -2038,7 +2038,7 @@
|
|
2038
2038
|
: false;
|
2039
2039
|
},
|
2040
2040
|
|
2041
|
-
// different
|
2041
|
+
// different from another field
|
2042
2042
|
different: function (value, identifier, module) {
|
2043
2043
|
var matchingValue = module.get.value(identifier, true);
|
2044
2044
|
|
@@ -73,7 +73,7 @@
|
|
73
73
|
initialize: function () {
|
74
74
|
module.verbose('Initializing module');
|
75
75
|
|
76
|
-
// allow module to guess desired state based on element
|
76
|
+
// allow module to guess the desired state based on the element
|
77
77
|
if (settings.automatic) {
|
78
78
|
module.add.defaults();
|
79
79
|
}
|
@@ -615,7 +615,7 @@
|
|
615
615
|
// whether to automatically map default states
|
616
616
|
automatic: true,
|
617
617
|
|
618
|
-
// activate / deactivate changes all elements instantiated at same time
|
618
|
+
// activate / deactivate changes all elements instantiated at the same time
|
619
619
|
sync: false,
|
620
620
|
|
621
621
|
// default flash text duration, used for temporarily changing text of an element
|
@@ -1211,7 +1211,7 @@
|
|
1211
1211
|
// whether to refresh calculations after page resize event
|
1212
1212
|
refreshOnResize: true,
|
1213
1213
|
|
1214
|
-
// should call callbacks on refresh event (resize, etc)
|
1214
|
+
// should call callbacks on refresh event (resize, etc.)
|
1215
1215
|
checkOnRefresh: true,
|
1216
1216
|
|
1217
1217
|
// callback should only occur one time
|
@@ -149,7 +149,7 @@
|
|
149
149
|
$container = $('<div/>', { id: module.popupId }).addClass(className.popup).appendTo($document.find(settings.context));
|
150
150
|
} else {
|
151
151
|
// prepend the popup element to the activator's parent so that it has less chance of messing with
|
152
|
-
// the styling (
|
152
|
+
// the styling (e.g., input action button needs to be the last child to have the correct border radius)
|
153
153
|
var
|
154
154
|
$activatorParent = $activator.parent(),
|
155
155
|
domPositionFunction = $activatorParent.closest(selector.append).length > 0 ? 'appendTo' : 'prependTo'
|
@@ -631,7 +631,7 @@
|
|
631
631
|
}
|
632
632
|
var parent = target.parent();
|
633
633
|
if (parent.data(metadata.date) || parent.data(metadata.focusDate) || parent.data(metadata.mode)) {
|
634
|
-
// clicked on a child element, switch to parent (used when clicking directly on prev/next <i> icon element)
|
634
|
+
// clicked on a child element, switch to parent (used when clicking directly on the prev/next <i> icon element)
|
635
635
|
target = parent;
|
636
636
|
}
|
637
637
|
var date = target.data(metadata.date);
|
@@ -1623,12 +1623,12 @@
|
|
1623
1623
|
|
1624
1624
|
context: false,
|
1625
1625
|
|
1626
|
-
type: 'datetime', // picker type
|
1626
|
+
type: 'datetime', // picker type. can be 'datetime', 'date', 'time', 'month', or 'year'
|
1627
1627
|
firstDayOfWeek: 0, // day for first day column (0 = Sunday)
|
1628
1628
|
constantHeight: true, // add rows to shorter months to keep day calendar height consistent (6 rows)
|
1629
1629
|
today: false, // show a 'today/now' button at the bottom of the calendar
|
1630
1630
|
closable: true, // close the popup after selecting a date/time
|
1631
|
-
monthFirst: true, // month before day when parsing date from text
|
1631
|
+
monthFirst: true, // month before day when parsing date from a text
|
1632
1632
|
touchReadonly: true, // set input to readonly on touch devices
|
1633
1633
|
inline: false, // create the calendar inline instead of inside a popup
|
1634
1634
|
on: null, // when to show the popup (defaults to 'focus' for input, 'click' for others)
|
@@ -1645,7 +1645,7 @@
|
|
1645
1645
|
multiMonth: 1, // show multiple months when in 'day' mode
|
1646
1646
|
monthOffset: 0, // position current month by offset when multimonth > 1
|
1647
1647
|
minTimeGap: 5,
|
1648
|
-
showWeekNumbers: false, // show Number of
|
1648
|
+
showWeekNumbers: false, // show Number of Weeks at the very first column of a dayView
|
1649
1649
|
disabledHours: [], // specific hour(s) which won't be selectable and contain additional information.
|
1650
1650
|
disabledDates: [], // specific day(s) which won't be selectable and contain additional information.
|
1651
1651
|
disabledDaysOfWeek: [], // day(s) which won't be selectable(s) (0 = Sunday)
|
@@ -1940,7 +1940,7 @@
|
|
1940
1940
|
|
1941
1941
|
var date = new Date(year, month - 1, day, hour, minute);
|
1942
1942
|
if (date.getMonth() !== month - 1 || date.getFullYear() !== year) {
|
1943
|
-
// month or year don't match up, switch to last day of the month
|
1943
|
+
// month or year don't match up, switch to the last day of the month
|
1944
1944
|
date = new Date(year, month, 0, hour, minute);
|
1945
1945
|
}
|
1946
1946
|
|
@@ -643,7 +643,7 @@
|
|
643
643
|
verbose: false,
|
644
644
|
performance: true,
|
645
645
|
|
646
|
-
// whether should
|
646
|
+
// whether flex layout should be used
|
647
647
|
useFlex: true,
|
648
648
|
|
649
649
|
// name to distinguish between multiple dimmers in context
|
@@ -655,10 +655,10 @@
|
|
655
655
|
// whether to bind close events
|
656
656
|
closable: 'auto',
|
657
657
|
|
658
|
-
// whether to use
|
658
|
+
// whether to use CSS animations
|
659
659
|
useCSS: true,
|
660
660
|
|
661
|
-
//
|
661
|
+
// CSS animation to use
|
662
662
|
transition: 'fade',
|
663
663
|
|
664
664
|
// event to bind to
|
@@ -464,7 +464,7 @@
|
|
464
464
|
$firstModules = $allModules.slice(0, elementIndex),
|
465
465
|
$lastModules = $allModules.slice(elementIndex + 1)
|
466
466
|
;
|
467
|
-
// adjust all modules to use correct reference
|
467
|
+
// adjust all modules to use the correct reference
|
468
468
|
$allModules = $firstModules.add($module).add($lastModules);
|
469
469
|
},
|
470
470
|
},
|
@@ -1171,7 +1171,7 @@
|
|
1171
1171
|
},
|
1172
1172
|
mousedown: function () {
|
1173
1173
|
if (module.is.searchSelection(true)) {
|
1174
|
-
// prevent menu hiding on immediate re-focus
|
1174
|
+
// prevent the menu hiding on immediate re-focus
|
1175
1175
|
willRefocus = true;
|
1176
1176
|
} else {
|
1177
1177
|
// prevents focus callback from occurring on mousedown
|
@@ -1180,7 +1180,7 @@
|
|
1180
1180
|
},
|
1181
1181
|
mouseup: function () {
|
1182
1182
|
if (module.is.searchSelection(true)) {
|
1183
|
-
// prevent menu hiding on immediate re-focus
|
1183
|
+
// prevent the menu hiding on immediate re-focus
|
1184
1184
|
willRefocus = false;
|
1185
1185
|
} else {
|
1186
1186
|
activated = false;
|
@@ -1468,7 +1468,7 @@
|
|
1468
1468
|
},
|
1469
1469
|
|
1470
1470
|
document: {
|
1471
|
-
// label selection should occur even when element has no focus
|
1471
|
+
// label selection should occur even when the element has no focus
|
1472
1472
|
keydown: function (event) {
|
1473
1473
|
var
|
1474
1474
|
pressedKey = event.which,
|
@@ -1614,7 +1614,7 @@
|
|
1614
1614
|
$nextItem,
|
1615
1615
|
isSubMenuItem
|
1616
1616
|
;
|
1617
|
-
// allow selection with menu closed
|
1617
|
+
// allow selection with the menu closed
|
1618
1618
|
if (isAdditionWithoutMenu) {
|
1619
1619
|
if (selectedIsSelectable && settings.hideAdditions) {
|
1620
1620
|
module.verbose('Selecting item from keyboard shortcut', $selectedItem);
|
@@ -1630,7 +1630,7 @@
|
|
1630
1630
|
|
1631
1631
|
// visible menu keyboard shortcuts
|
1632
1632
|
if (module.is.visible()) {
|
1633
|
-
// enter (select or open
|
1633
|
+
// enter (select or open submenu)
|
1634
1634
|
if (pressedKey === keys.enter || delimiterPressed) {
|
1635
1635
|
if (pressedKey === keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) {
|
1636
1636
|
module.verbose('Pressed enter on unselectable category, opening sub menu');
|
@@ -1669,7 +1669,7 @@
|
|
1669
1669
|
}
|
1670
1670
|
}
|
1671
1671
|
|
1672
|
-
// right arrow (show
|
1672
|
+
// right arrow (show submenu)
|
1673
1673
|
if (pressedKey === keys.rightArrow) {
|
1674
1674
|
if (hasSubMenu) {
|
1675
1675
|
module.verbose('Right key pressed, opening sub-menu');
|
@@ -1992,7 +1992,7 @@
|
|
1992
1992
|
isEmptyMultiselect = Array.isArray(value) && value.length === 1 && value[0] === ''
|
1993
1993
|
;
|
1994
1994
|
|
1995
|
-
// prevents placeholder element from being selected when multiple
|
1995
|
+
// prevents the placeholder element from being selected when multiple
|
1996
1996
|
return value === undefined || isEmptyMultiselect
|
1997
1997
|
? ''
|
1998
1998
|
: value;
|
@@ -2336,7 +2336,7 @@
|
|
2336
2336
|
}
|
2337
2337
|
},
|
2338
2338
|
values: function () {
|
2339
|
-
// prevents callbacks from occurring on initial load
|
2339
|
+
// prevents callbacks from occurring on the initial load
|
2340
2340
|
module.set.initialLoad();
|
2341
2341
|
if (settings.apiSettings && settings.saveRemoteData && module.get.remoteValues()) {
|
2342
2342
|
module.restore.remoteValues();
|
@@ -2657,7 +2657,7 @@
|
|
2657
2657
|
$nextValue = false,
|
2658
2658
|
$nextItem
|
2659
2659
|
;
|
2660
|
-
// check next of same letter
|
2660
|
+
// check next of the same letter
|
2661
2661
|
if (alreadySelectedLetter) {
|
2662
2662
|
$nextItem = $selectedItem.nextAll($item).eq(0);
|
2663
2663
|
if (module.has.firstLetter($nextItem, letter)) {
|
@@ -2676,7 +2676,7 @@
|
|
2676
2676
|
})
|
2677
2677
|
;
|
2678
2678
|
}
|
2679
|
-
// set next value
|
2679
|
+
// set the next value
|
2680
2680
|
if ($nextValue) {
|
2681
2681
|
module.verbose('Scrolling to next value with letter', letter);
|
2682
2682
|
module.set.scrollPosition($nextValue);
|
@@ -2693,7 +2693,7 @@
|
|
2693
2693
|
if (!$menu) {
|
2694
2694
|
module.remove.upward();
|
2695
2695
|
} else if (module.is.upward($menu)) {
|
2696
|
-
// we need make sure when make assertion openDownward for $menu, $menu does not have upward class
|
2696
|
+
// we need to make sure when make assertion openDownward for $menu, $menu does not have upward class
|
2697
2697
|
module.remove.upward($menu);
|
2698
2698
|
}
|
2699
2699
|
|
@@ -4066,33 +4066,33 @@
|
|
4066
4066
|
match: 'both', // what to match against with search selection (both, text, or label)
|
4067
4067
|
fullTextSearch: 'exact', // search anywhere in value (set to 'exact' to require exact matches)
|
4068
4068
|
highlightMatches: false, // Whether search result should highlight matching strings
|
4069
|
-
ignoreDiacritics: false, // match results also if they contain diacritics of the same base character (for example searching for "a" will also match "á" or "â" or "à", etc...)
|
4069
|
+
ignoreDiacritics: false, // match results also if they contain diacritics of the same base character (for example, searching for "a" will also match "á" or "â" or "à", etc...)
|
4070
4070
|
hideDividers: false, // Whether to hide any divider elements (specified in selector.divider) that are sibling to any items when searched (set to true will hide all dividers, set to 'empty' will hide them when they are not followed by a visible item)
|
4071
4071
|
|
4072
|
-
placeholder: 'auto', // whether to convert blank <select> values to placeholder text
|
4073
|
-
preserveHTML: true, // preserve
|
4072
|
+
placeholder: 'auto', // whether to convert blank <select> values to the placeholder text
|
4073
|
+
preserveHTML: true, // preserve HTML when selecting value
|
4074
4074
|
sortSelect: false, // sort selection on init
|
4075
4075
|
|
4076
4076
|
forceSelection: false, // force a choice on blur with search selection
|
4077
4077
|
|
4078
4078
|
allowAdditions: false, // whether multiple select should allow user added values
|
4079
|
-
keepSearchTerm: false, // whether the search value should be kept and menu stays filtered on item selection
|
4079
|
+
keepSearchTerm: false, // whether the search value should be kept, and the menu stays filtered on item selection
|
4080
4080
|
ignoreCase: false, // whether to consider case sensitivity when creating labels
|
4081
4081
|
ignoreSearchCase: true, // whether to consider case sensitivity when filtering items
|
4082
|
-
hideAdditions: true, // whether
|
4082
|
+
hideAdditions: true, // whether to hide a special message prompting a user, they can enter a value
|
4083
4083
|
|
4084
|
-
maxSelections: false, // When set to a number limits the number of selections to this count
|
4084
|
+
maxSelections: false, // When set to a number, limits the number of selections to this count
|
4085
4085
|
useLabels: true, // whether multiple select should filter currently active selections from choices
|
4086
|
-
delimiter: ',', // when multiselect uses normal <input
|
4086
|
+
delimiter: ',', // when multiselect uses normal <input >, the values will be delimited with this character
|
4087
4087
|
|
4088
|
-
showOnFocus: false, // show menu on focus
|
4088
|
+
showOnFocus: false, // show the menu on focus
|
4089
4089
|
allowReselection: false, // whether current value should trigger callbacks when reselected
|
4090
|
-
allowTab: true, // add tabindex to element
|
4091
|
-
allowCategorySelection: false, // allow elements with
|
4090
|
+
allowTab: true, // add tabindex to the element
|
4091
|
+
allowCategorySelection: false, // allow elements with submenus to be selected
|
4092
4092
|
|
4093
4093
|
fireOnInit: false, // Whether callbacks should fire when initializing dropdown values
|
4094
4094
|
|
4095
|
-
transition: 'auto', // auto transition will slide down or up based on direction
|
4095
|
+
transition: 'auto', // auto transition will slide down or up based on the direction
|
4096
4096
|
duration: 200, // duration of transition
|
4097
4097
|
displayType: false, // displayType of transition
|
4098
4098
|
|
@@ -4172,23 +4172,23 @@
|
|
4172
4172
|
value: 'value',
|
4173
4173
|
},
|
4174
4174
|
|
4175
|
-
// property names for remote query
|
4175
|
+
// property names for the remote query
|
4176
4176
|
fields: {
|
4177
4177
|
remoteValues: 'results', // grouping for api results
|
4178
4178
|
values: 'values', // grouping for all dropdown values
|
4179
4179
|
disabled: 'disabled', // whether value should be disabled
|
4180
|
-
name: 'name', // displayed dropdown text
|
4180
|
+
name: 'name', // the displayed dropdown text
|
4181
4181
|
description: 'description', // displayed dropdown description
|
4182
4182
|
descriptionVertical: 'descriptionVertical', // whether description should be vertical
|
4183
4183
|
value: 'value', // actual dropdown value
|
4184
|
-
text: 'text', // displayed text when selected
|
4184
|
+
text: 'text', // the displayed text when selected
|
4185
4185
|
data: 'data', // custom data attributes
|
4186
4186
|
type: 'type', // type of dropdown element
|
4187
4187
|
image: 'image', // optional image path
|
4188
4188
|
imageClass: 'imageClass', // optional individual class for image
|
4189
4189
|
alt: 'alt', // optional alt text for image
|
4190
4190
|
icon: 'icon', // optional icon name
|
4191
|
-
iconClass: 'iconClass', // optional individual class for icon (for example to use flag instead)
|
4191
|
+
iconClass: 'iconClass', // optional individual class for icon (for example, to use a flag instead)
|
4192
4192
|
class: 'class', // optional individual class for item/header
|
4193
4193
|
divider: 'divider', // optional divider append for group headers
|
4194
4194
|
actionable: 'actionable', // optional actionable item
|
@@ -4423,7 +4423,7 @@
|
|
4423
4423
|
return message;
|
4424
4424
|
},
|
4425
4425
|
|
4426
|
-
// generates user addition to selection menu
|
4426
|
+
// generates user addition to the selection menu
|
4427
4427
|
addition: function (choice) {
|
4428
4428
|
return choice;
|
4429
4429
|
},
|
@@ -190,7 +190,7 @@
|
|
190
190
|
|
191
191
|
create: {
|
192
192
|
flyout: function () {
|
193
|
-
module.verbose('
|
193
|
+
module.verbose('Programmatically create flyout', $context);
|
194
194
|
$module = $('<div/>', { class: className.flyout, role: 'dialog', 'aria-modal': settings.dimPage });
|
195
195
|
if (settings.closeIcon) {
|
196
196
|
$closeIcon = $('<i/>', {
|
@@ -516,7 +516,7 @@
|
|
516
516
|
shouldRefreshInputs = true;
|
517
517
|
}
|
518
518
|
} else {
|
519
|
-
// mutationobserver only provides the parent nodes
|
519
|
+
// mutationobserver only provides the parent nodes,
|
520
520
|
// so let's collect all childs as well to find nested inputs
|
521
521
|
var $addedInputs = $(collectNodes(mutation.addedNodes)).filter('a[href], [tabindex], :input:enabled').filter(':visible'),
|
522
522
|
$removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
|
@@ -284,7 +284,7 @@
|
|
284
284
|
}
|
285
285
|
} else {
|
286
286
|
shouldRefresh = true;
|
287
|
-
// mutationobserver only provides the parent nodes
|
287
|
+
// mutationobserver only provides the parent nodes,
|
288
288
|
// so let's collect all childs as well to find nested inputs
|
289
289
|
var $addedInputs = $(collectNodes(mutation.addedNodes)).filter('a[href], [tabindex], :input:enabled').filter(':visible'),
|
290
290
|
$removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
|
@@ -495,7 +495,7 @@
|
|
495
495
|
// allows cookie to be overridden
|
496
496
|
persist: false,
|
497
497
|
|
498
|
-
// set to zero to require
|
498
|
+
// set to zero to require manual dismissal, otherwise hides on its own
|
499
499
|
displayTime: 0,
|
500
500
|
|
501
501
|
animation: {
|
@@ -170,7 +170,7 @@
|
|
170
170
|
if (documentObserver) {
|
171
171
|
documentObserver.disconnect();
|
172
172
|
}
|
173
|
-
// remove element only if was created dynamically
|
173
|
+
// remove the element only if was created dynamically
|
174
174
|
if ($popup && !settings.preserve) {
|
175
175
|
module.removePopup();
|
176
176
|
}
|
@@ -557,7 +557,7 @@
|
|
557
557
|
},
|
558
558
|
};
|
559
559
|
|
560
|
-
// if popup offset context is
|
560
|
+
// if popup offset context is different from target, then adjust calculations
|
561
561
|
if ($popupOffsetParent[0] !== $offsetParent[0]) {
|
562
562
|
var
|
563
563
|
popupOffset = $popupOffsetParent.offset()
|
@@ -818,7 +818,7 @@
|
|
818
818
|
module.debug('RTL: Popup position updated', position);
|
819
819
|
}
|
820
820
|
|
821
|
-
// if last attempt use specified last resort position
|
821
|
+
// if last attempt, use specified last resort position
|
822
822
|
if (searchDepth === settings.maxSearchDepth && typeof settings.lastResort === 'string') {
|
823
823
|
position = settings.lastResort;
|
824
824
|
}
|
@@ -1362,7 +1362,7 @@
|
|
1362
1362
|
// whether it should use dom mutation observers
|
1363
1363
|
observeChanges: true,
|
1364
1364
|
|
1365
|
-
// callback only when element added to dom
|
1365
|
+
// callback only when the element was added to dom
|
1366
1366
|
onCreate: function () {},
|
1367
1367
|
|
1368
1368
|
// callback before element removed from dom
|
@@ -1407,7 +1407,7 @@
|
|
1407
1407
|
// element which popup should be relative to
|
1408
1408
|
target: false,
|
1409
1409
|
|
1410
|
-
//
|
1410
|
+
// jQuery selector or element that should be used as a popup
|
1411
1411
|
popup: false,
|
1412
1412
|
|
1413
1413
|
// popup should remain inline next to activator
|
@@ -1422,7 +1422,7 @@
|
|
1422
1422
|
// explicitly set content
|
1423
1423
|
content: false,
|
1424
1424
|
|
1425
|
-
// explicitly set
|
1425
|
+
// explicitly set HTML
|
1426
1426
|
html: false,
|
1427
1427
|
|
1428
1428
|
// explicitly set title
|
@@ -1465,7 +1465,7 @@
|
|
1465
1465
|
duration: 200,
|
1466
1466
|
transition: 'scale',
|
1467
1467
|
|
1468
|
-
// distance away from activating element in px
|
1468
|
+
// distance away from the activating element in px
|
1469
1469
|
distanceAway: 0,
|
1470
1470
|
|
1471
1471
|
// number of pixels an element is allowed to be "offstage" for a position to be chosen (allows for rounding)
|
@@ -69,13 +69,13 @@
|
|
69
69
|
/**
|
70
70
|
* Derive precision for multiple progress with total and values.
|
71
71
|
*
|
72
|
-
* This helper dervices a precision that is
|
72
|
+
* This helper dervices a precision that is large enough to show the minimum value of multiple progress.
|
73
73
|
*
|
74
74
|
* Example1
|
75
75
|
* - total: 1122
|
76
76
|
* - values: [325, 111, 74, 612]
|
77
77
|
* - min ratio: 74/1122 = 0.0659...
|
78
|
-
* - required precision:
|
78
|
+
* - required precision: 100
|
79
79
|
*
|
80
80
|
* Example2
|
81
81
|
* - total: 10541
|
@@ -323,7 +323,7 @@
|
|
323
323
|
: value;
|
324
324
|
},
|
325
325
|
|
326
|
-
// gets current displayed percentage (if animating values this is the intermediary value)
|
326
|
+
// gets current displayed percentage (if animating values, this is the intermediary value)
|
327
327
|
displayPercent: function (index) {
|
328
328
|
var
|
329
329
|
$bar = $($bars[index]),
|
@@ -487,10 +487,10 @@
|
|
487
487
|
var isMultipleValues = percents.length > 1 && hasTotal;
|
488
488
|
var sumTotal = module.helper.sum(module.helper.forceArray(module.value));
|
489
489
|
if (isMultipleValues && sumTotal > module.total) {
|
490
|
-
// Sum values instead of
|
490
|
+
// Sum values instead of percents to avoid precision issues when summing floats
|
491
491
|
module.error(error.sumExceedsTotal, sumTotal, module.total);
|
492
492
|
} else if (!isMultipleValues && totalPercent > 100) {
|
493
|
-
// Sum before rounding since sum of rounded may have error though sum of actual is fine
|
493
|
+
// Sum before rounding, since sum of rounded may have error though sum of actual is fine
|
494
494
|
module.error(error.tooHigh, totalPercent);
|
495
495
|
} else if (totalPercent < 0) {
|
496
496
|
module.error(error.tooLow, totalPercent);
|
@@ -922,7 +922,7 @@
|
|
922
922
|
total: false,
|
923
923
|
value: false,
|
924
924
|
|
925
|
-
// delay in ms for fail
|
925
|
+
// delay in ms for fail-safe animation callback
|
926
926
|
failSafeDelay: 100,
|
927
927
|
|
928
928
|
onLabelUpdate: function (state, text, value, total) {
|