Content added Content deleted
No edit summary |
mNo edit summary |
||
Line 65: | Line 65: | ||
Object.preventExtensions(DisplayOptions); |
Object.preventExtensions(DisplayOptions); |
||
window.pswiki.dbUtil = { |
|||
QueryOptions: QueryOptions, |
QueryOptions: QueryOptions, |
||
DisplayOptions: DisplayOptions |
DisplayOptions: DisplayOptions |
||
}; |
}; |
||
if ( !window.pswiki ) { |
|||
window.pswiki = {}; |
|||
} |
|||
$.extend(window.pswiki, dbUtil); |
|||
} ); |
} ); |
Revision as of 07:02, 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, options, fieldOptions) {
this.queryParams[param] = new PrimitiveSet();
var toggleButtons = Object.keys( options ).map( function( optionName ) {
var btn = new OO.ui.ToggleButtonWidget( {
label: optionName,
value: options[optionName]
} );
btn.on( 'change', function( selected ) {
if ( selected ) {
this.queryParams.add(param);
} else {
this.queryParams.delete(param);
}
} );
return btn;
} );
this.fieldset.addItems( [
new OO.ui.FieldLayout( toggleButtons, {
label: fieldOptions.label,
align: fieldOptions.align
} ),
] );
};
QueryOptions.prototype.getFieldset = function() {
return this.fieldset;
};
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 );