Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Gadget-database-util.js

MediaWiki interface page
Revision as of 06:45, 21 December 2021 by ChaoticShadow (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
( 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);
		
		var dbUtil = {
			QueryOptions: QueryOptions,
			DisplayOptions: DisplayOptions
		};
		
		if ( !window.pswiki ) {
			window.pswiki = {};
		}
		$.extend(window.pswiki, dbUtil);
		
	} );
} )( jQuery, mediaWiki );
Cookies help us deliver our services. By using our services, you agree to our use of cookies.