Add options.onPosition and deprecate top and left (#385)

This commit is contained in:
Niklas Laxström
2021-03-22 13:44:10 +02:00
committed by GitHub
parent 990c5402f4
commit 5c7ff63b98
2 changed files with 12 additions and 4 deletions

View File

@@ -61,12 +61,13 @@ $( '.uls-trigger' ).uls( {
| Option | Description |
|-------------|---------------------|
| left | Left position of ULS dialog. E.g: 100px or 20% |
| top | Top position of ULS dialog. E.g: 100px or 20% |
| left | DEPRECATED: use onPosition |
| top | DEPRECATED: use onPosition |
| onSelect | Callback function when user selects a language. |
| onCancel | Callback function when the dialog is closed without selecting a language. |
| onReady | Callback function when ULS has initialized. |
| onVisible | Callback function when ULS dialog is shown. |
| onPosition | Callback for positioning the dialog. It should return an object with any of the keys `top`, `right`, `bottom` and `left`. |
| languages | List of selectable languages. Defaults to all known languages. |
| menuWidth | Override the automatic choice of menu width. One of narrow, medium, wide (1, 2, 4 columns respectively). |
| ulsPurpose | A string that will identify this instance of ULS. It's useful if you have several instances of ULS in your web application and you want to have a unique identifier for each of them. |

View File

@@ -119,6 +119,11 @@
top = this.top,
left = this.left;
if ( this.options.onPosition ) {
return this.options.onPosition.call( this );
}
// Default implementation (middle of the screen under the trigger)
if ( top === undefined ) {
pos = $.extend( {}, this.$element.offset(), {
height: this.$element[ 0 ].offsetHeight
@@ -380,9 +385,9 @@
};
$.fn.uls.defaults = {
// CSS top position for the dialog
// DEPRECATED: CSS top position for the dialog
top: undefined,
// CSS left position for the dialog
// DEPRECATED: CSS left position for the dialog
left: undefined,
// Callback function when user selects a language
onSelect: undefined,
@@ -392,6 +397,8 @@
onReady: undefined,
// Callback function when ULS dialog is shown
onVisible: undefined,
// Callback function when ULS dialog is ready to be shown
onPosition: undefined,
// Languages to be used for ULS, default is all languages
languages: $.uls.data.getAutonyms(),
// The options are wide (4 columns), medium (2 columns), and narrow (1 column).