More actions
Content deleted Content added
mNo edit summary |
mNo edit summary |
||
Line 16: | Line 16: | ||
} |
} |
||
QueryOptions.prototype.addMultioption = function( param, |
QueryOptions.prototype.addMultioption = function( param, fieldOptions, widgetOptions ) { |
||
this.queryParams[param] = new pswiki.polyfill.Set(); |
this.queryParams[param] = new pswiki.polyfill.Set(); |
||
var paramVal = this.queryParams[param]; |
var paramVal = this.queryParams[param]; |
||
var toggleButtons = |
var toggleButtons = widgetOptions.items.map( function( item ) { |
||
var btn = new OO.ui.ToggleButtonWidget( { |
var btn = new OO.ui.ToggleButtonWidget( { |
||
label: |
label: item.label, |
||
value: |
value: item.value |
||
} ); |
} ); |
||
btn.on( 'change', function( selected ) { |
btn.on( 'change', function( selected ) { |
||
if ( selected ) { |
if ( selected ) { |
||
paramVal.add( |
paramVal.add( item.label ); |
||
} else { |
} else { |
||
paramVal.delete( |
paramVal.delete( item.label ); |
||
} |
} |
||
console.log(paramVal.values()); |
console.log(paramVal.values()); |
||
Line 39: | Line 39: | ||
var widget = new OO.ui.ButtonGroupWidget( { |
var widget = new OO.ui.ButtonGroupWidget( { |
||
items: toggleButtons, |
items: toggleButtons, |
||
align: 'left' |
align: widgetOptions.align || 'left' |
||
} ); |
} ); |
||
Line 45: | Line 45: | ||
new OO.ui.FieldLayout( widget, { |
new OO.ui.FieldLayout( widget, { |
||
label: fieldOptions.label, |
label: fieldOptions.label, |
||
align: 'top' |
align: fieldOptions.align || 'top' |
||
} ), |
} ), |
||
] ); |
] ); |
Revision as of 07:47, 21 December 2021
( function ( $, mw ) {
'use strict';
mw.loader.using( ['oojs-ui-core', 'oojs-ui-widgets'] ).done( function() {
/*
* QueryOptions
*/
function QueryOptions() {
this.queryParams = {};
this.fieldset = new OO.ui.FieldsetLayout( {
label: 'Query options',
items: []
} );
}
QueryOptions.prototype.addMultioption = function( param, fieldOptions, widgetOptions ) {
this.queryParams[param] = new pswiki.polyfill.Set();
var paramVal = this.queryParams[param];
var toggleButtons = widgetOptions.items.map( function( item ) {
var btn = new OO.ui.ToggleButtonWidget( {
label: item.label,
value: item.value
} );
btn.on( 'change', function( selected ) {
if ( selected ) {
paramVal.add( item.label );
} else {
paramVal.delete( item.label );
}
console.log(paramVal.values());
} );
return btn;
} );
var widget = new OO.ui.ButtonGroupWidget( {
items: toggleButtons,
align: widgetOptions.align || 'left'
} );
this.fieldset.addItems( [
new OO.ui.FieldLayout( widget, {
label: fieldOptions.label,
align: fieldOptions.align || 'top'
} ),
] );
};
QueryOptions.prototype.getOptions = function() {
};
/*
* DisplayOptions
*/
function DisplayOptions() {
this.displayOptions = {};
}
DisplayOptions.prototype.getOptions = function() {
};
Object.preventExtensions( QueryOptions );
Object.preventExtensions( DisplayOptions );
window.pswiki.dbUtil = {
QueryOptions: QueryOptions,
DisplayOptions: DisplayOptions
};
} );
} )( jQuery, mediaWiki );