ResourceLoader/Core modules

This page intends to list, document, explain and give examples for all the libraries, plugins and scripts present in MediaWiki's resources by default. = jQuery & plugins = jQuery 1.4.2 is loaded. For more information about jQuery in general and all it's core functions, refer to http://api.jquery.com/

jQuery UI
jQuery UI 1.8.2: http://jqueryui.com/demos/ The following components are included:
 * jquery.ui.accordion.js
 * jquery.ui.autocomplete.js
 * jquery.ui.button.js
 * jquery.ui.core.js
 * jquery.ui.datepicker.js
 * jquery.ui.dialog.js
 * jquery.ui.draggable.js
 * jquery.ui.droppable.js
 * jquery.ui.mouse.js
 * jquery.ui.position.js
 * jquery.ui.progressbar.js
 * jquery.ui.resizable.js
 * jquery.ui.selectable.js
 * jquery.ui.slider.js
 * jquery.ui.sortable.js
 * jquery.ui.tabs.js
 * jquery.ui.widget.js
 * i18n

jQuery.checkboxShiftClick
This single-function plugin can be called to add this functionality to any number of checkboxes. By default (onload) it's applied to all  elements that have a type of checkbox, excluding any with a class of 'noshiftselect'. As it has a built-in prevention to avoid binding the CheckboxShiftClick twice to the same element you can simply run the line below under "Default" again at any time if you want to enable dynamically added checkboxes in the page to be shift-selectable as well. Or alternatively run it on the specific selector of choise (see second example below).

jQuery.client
A plugin that extract information about the client's browser, layout engine and operating system.

Profile
The profile function is the main function here and returns (and caches) all the information in an object in. All possible values (except for version numbers) are predefined. A typical return looks like this:

Here a few examples Check jquery.client.js for possible values of browser names, layout engines and platforms.

Test
TODO

jQuery.placeholder
This plugin adds support for placeholder texts in input fields for browsers that don't support the HTML5 attribute yet. If the attribute is not supported it's applied to all input elements with a 'placeholder' attribute, on-load.

It has a built-in check for browser support, but for effeciency it's best to do this check (also) wrapped around to call.

jQuery Prototyping
There are several prototypes for older browsers serving as backwards-compatibility for new native prototypes in newer browser. Also several other convenience functions have been added.
 * trimLeft: Trims whitespace from the left side of the string
 * trimRight: Trims whitespace from the right of the string
 * trim: Trims whitespace from the both ends of the string
 * ucFirst: Returns the string with the first character capitalized
 * escapeRE: Returns a string for literal use in a regular expressions by escaping characters that have a special meaning in a regex.
 * isEmpty: This function checks if a variable is empty. Supports strings, booleans, arrays and objects. The string "0" is considered empty. A string containing only whitespace (ie. " ") is considered not empty.
 * compareArray: Compares two arrays and returns a boolean for whether they are in fact the same

= MediaWiki =

mediaWiki.config

 * mediaWiki.config.exists
 * mediaWiki.config.get
 * mediaWiki.config.set

mediaWiki.msg
TODO

mediaWiki.html
TODO

mediaWiki.loader

 * mediaWiki.loader.go
 * mediaWiki.loader.implement
 * mediaWiki.loader.load can be called with an external script or style URI beginning with either "http://" or "https://" and a mime-type, either "text/css" or "text/javascript". If no mime-type is provided, "text/javascript" is assumed.


 * mediaWiki.loader.register
 * mediaWiki.loader.state
 * mediaWiki.loader.using</tt>
 * mediaWiki.loader.version</tt>
 * mediaWiki.loader.work</tt>

mediaWiki.user
TODO

mediawiki.log
This script is loaded in debug-mode and is an alternative to calling console.log which would cause errors in browsers that dont have a console or dont have it enabled.

mediaWiki.log
Calling this either pushes the messages to console (if available) or adds it to an #mw-log-console (the element is created on the first call) TODO

addPortletLink
This function is ported from the legacy wikibits keeping it fully backwards compatible, with a few adjustments that support all core skins and with added support for a CSS-selector as.

$content
A jQuery object for a page's content body regardless of the skin used. This is, for example, #bodyContent in the Vector-skin.

Here is a more advanced example involving loading in extra content with an AJAX request. Run this example on a page other than the main page.

getParamValue
This function returns the value of the specified URL parameter. By default it uses the current window's address. Optionally can be passed a custom location.

It returs  if is not present. Returns an empty string if it was an empty parameter (such as

jsMessage
This function is ported from the legacy wikibits keeping it fully backwards compatible, with a few adjustments and with added support to hide the message by calling with no arguments or when passing null.

rawurlencode
This function returns an encoded string in its raw form for use in urls.

wikiUrlencode
This function returns an article/page name in its encoded form.

wikiGetlink
This function returns the full website address of a local wiki page.