MediaWiki REL1_40
MediaWiki\ResourceLoader\CodexModule Class Reference

Module for codex that has direction-specific style files and a static helper function for embedding icons in package modules. More...

Inherits MediaWiki\ResourceLoader\FileModule.

Collaboration diagram for MediaWiki\ResourceLoader\CodexModule:

Public Member Functions

 __construct (array $options=[], $localBasePath=null, $remoteBasePath=null)
 
 getStyleFiles (Context $context)
 Get a list of file paths for all styles in this module, in order of proper inclusion.
 
- Public Member Functions inherited from MediaWiki\ResourceLoader\FileModule
 __construct (array $options=[], string $localBasePath=null, string $remoteBasePath=null)
 Constructs a new module from an options array.
 
 enableModuleContentVersion ()
 Disable module content versioning.
 
 getAllStyleFiles ()
 Returns all style files and all skin style files used by this module.
 
 getDefinitionSummary (Context $context)
 Get the definition summary for this module.
 
 getDependencies (Context $context=null)
 Get names of modules this module depends on.
 
 getFlip (Context $context)
 Get whether CSS for this module should be flipped.
 
 getGroup ()
 Get the name of the group this module should be loaded in.
 
 getMessages ()
 Get message keys used by this module.
 
 getPackageFiles (Context $context)
 Resolve the package files definition and generates the content of each package file.
 
 getScript (Context $context)
 Gets all scripts for a given context concatenated together.
 
 getScriptURLsForDebug (Context $context)
 
 getSkipFunction ()
 
 getStyles (Context $context)
 Get all styles for a given context.
 
 getStyleSheetLang ( $path)
 Infer the stylesheet language from a stylesheet file path.
 
 getStyleURLsForDebug (Context $context)
 
 getTargets ()
 Get target(s) for the module, eg ['desktop'] or ['desktop', 'mobile'].
 
 getTemplates ()
 Get content of named templates for this module.
 
 getType ()
 Get the module's load type.
 
 readStyleFiles (array $styles, Context $context)
 Read the contents of a list of CSS files and remap and concatenate these.
 
 requiresES6 ()
 Whether the module requires ES6 support in the client.
 
 setSkinStylesOverride (array $moduleSkinStyles)
 Provide overrides for skinStyles to modules that support that.
 
 supportsURLLoading ()
 
- Public Member Functions inherited from MediaWiki\ResourceLoader\Module
 getConfig ()
 
 getDeprecationInformation (Context $context)
 Get JS representing deprecation information for the current module if available.
 
 getHeaders (Context $context)
 Get headers to send as part of a module web response.
 
 getModuleContent (Context $context)
 Get an array of this module's resources.
 
 getName ()
 Get this module's name.
 
 getOrigin ()
 Get this module's origin.
 
 getSkins ()
 Get list of skins for which this module must be available to load.
 
 getSource ()
 Get the source of this module.
 
 getVersionHash (Context $context)
 Get a string identifying the current version of this module in a given context.
 
 isKnownEmpty (Context $context)
 Check whether this module is known to be empty.
 
 setConfig (Config $config)
 
 setDependencyAccessCallbacks (callable $loadCallback, callable $saveCallback)
 Inject the functions that load/save the indirect file path dependency list from storage.
 
 setFileDependencies (Context $context, array $paths)
 Set the indirect dependencies for this module pursuant to the skin/language context.
 
 setHookContainer (HookContainer $hookContainer)
 
 setLogger (LoggerInterface $logger)
 
 setMessageBlob ( $blob, $lang)
 Set in-object cache for message blobs.
 
 setName ( $name)
 Set this module's name.
 
 shouldEmbedModule (Context $context)
 Check whether this module should be embedded rather than linked.
 

Static Public Member Functions

static getIcons (Context $context, Config $config, array $iconNames=[])
 Retrieve the specified icon definitions from codex-icons.json.
 
- Static Public Member Functions inherited from MediaWiki\ResourceLoader\FileModule
static extractBasePaths (array $options=[], $localBasePath=null, $remoteBasePath=null)
 Extract a pair of local and remote base paths from module definition information.
 
static getPackageFileType ( $path)
 Infer the file type from a package file path.
 
- Static Public Member Functions inherited from MediaWiki\ResourceLoader\Module
static expandRelativePaths (array $filePaths)
 Expand directories relative to $IP.
 
static getRelativePaths (array $filePaths)
 Make file paths relative to MediaWiki directory.
 
static getVary (Context $context)
 Get vary string.
 

Protected Attributes

 $themeStyles = []
 
 $themeStylesAdded = false
 
- Protected Attributes inherited from MediaWiki\ResourceLoader\FileModule
bool $debugRaw = true
 Link to raw files in debug mode.
 
array< int, string|FilePath$debugScripts = []
 List of paths to JavaScript files to include in debug mode.
 
string[] $dependencies = []
 List of modules this module depends on.
 
bool $es6 = false
 Whether this module requires the client to support ES6.
 
null string $group = null
 Name of group to load this module in.
 
bool $hasGeneratedStyles = false
 Whether getStyleURLsForDebug should return raw file paths, or return load.php urls.
 
array< string, array< int, string|FilePath > > $languageScripts = []
 Lists of JavaScript files by language code.
 
string $localBasePath = ''
 Local base path, see __construct()
 
string[] $localFileRefs = []
 Place where readStyleFile() tracks file dependencies.
 
string[] $messages = []
 List of message keys used by this module.
 
string[] $missingLocalFileRefs = []
 Place where readStyleFile() tracks file dependencies for non-existent files.
 
bool $noflip = false
 Whether CSSJanus flipping should be skipped for this module.
 
null array $packageFiles = null
 Packaged files definition, to bundle and make available client-side via require().
 
string $remoteBasePath = ''
 Remote base path, see __construct()
 
array< int, string|FilePath$scripts = []
 List of JavaScript file paths to always include.
 
array< string, array< int, string|FilePath > > $skinScripts = []
 Lists of JavaScript files by skin name.
 
array< string, array< int, string|FilePath > > $skinStyles = []
 Lists of CSS files by skin name.
 
null string $skipFunction = null
 File name containing the body of the skip function.
 
array< int, string|FilePath$styles = []
 List of CSS file files to always include.
 
array< int|string, string|FilePath$templates = []
 List of the named templates used by this module.
 
VueComponentParser null $vueComponentParser = null
 Lazy-created by getVueComponentParser()
 
- Protected Attributes inherited from MediaWiki\ResourceLoader\Module
Config $config
 
array $contents = []
 Map of (context hash => cached module content)
 
string bool $deprecated = false
 Deprecation string or true if deprecated; false otherwise.
 
array $fileDeps = []
 Map of (variant => indirect file dependencies)
 
LoggerInterface $logger
 
array $msgBlobs = []
 Map of (language => in-object cache for message blob)
 
string null $name = null
 Module name.
 
int $origin = self::ORIGIN_CORE_SITEWIDE
 Script and style modules form a hierarchy of trustworthiness, with core modules like skins and jQuery as most trustworthy, and user scripts as least trustworthy.
 
string[] null $skins = null
 Skin names.
 
string[] $targets = [ 'desktop', 'mobile' ]
 What client platforms the module targets (e.g.
 
array $versionHash = []
 Map of (context hash => cached module version hash)
 

Static Protected Attributes

static $builtinSkinThemeMap
 

Additional Inherited Members

- Protected Member Functions inherited from MediaWiki\ResourceLoader\FileModule
 compileLessString ( $style, $stylePath, Context $context)
 Compile a LESS string into CSS.
 
 getAllSkinStyleFiles ()
 Gets a list of file paths for all skin style files in the module, for all available skins.
 
 getLocalPath ( $path)
 
 getPath ( $path)
 
 getRemotePath ( $path)
 
 getSkinStyleFiles ( $skinName)
 Gets a list of file paths for all skin styles in the module used by the skin.
 
 getVueComponentParser ()
 
 processStyle ( $style, $styleLang, $path, Context $context)
 Process a CSS/LESS string.
 
 readStyleFile ( $path, Context $context)
 Read and process a style file.
 
 stripBom ( $input)
 Takes an input string and removes the UTF-8 BOM character if present.
 
- Protected Member Functions inherited from MediaWiki\ResourceLoader\Module
 buildContent (Context $context)
 Bundle all resources attached to this module into an array.
 
 getFileDependencies (Context $context)
 Get the indirect dependencies for this module pursuant to the skin/language context.
 
 getHookRunner ()
 Get a HookRunner for running core hooks.
 
 getLessVars (Context $context)
 Get module-specific LESS variables, if any.
 
 getLogger ()
 
 getMessageBlob (Context $context)
 Get the hash of the message blob.
 
 getPreloadLinks (Context $context)
 Get a list of resources that web browsers may preload.
 
 saveFileDependencies (Context $context, array $curFileRefs)
 Save the indirect dependencies for this module pursuant to the skin/language context.
 
 validateScriptFile ( $fileName, $contents)
 Validate a user-provided JavaScript blob.
 
- Static Protected Member Functions inherited from MediaWiki\ResourceLoader\FileModule
static tryForKey (array $list, $key, $fallback=null)
 Get a list of element that match a key, optionally using a fallback key.
 
- Static Protected Member Functions inherited from MediaWiki\ResourceLoader\Module
static safeFileHash ( $filePath)
 Compute a non-cryptographic string hash of a file's contents.
 

Detailed Description

Module for codex that has direction-specific style files and a static helper function for embedding icons in package modules.

Access: internal

Definition at line 33 of file CodexModule.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\ResourceLoader\CodexModule::__construct ( array $options = [],
$localBasePath = null,
$remoteBasePath = null )

Member Function Documentation

◆ getIcons()

static MediaWiki\ResourceLoader\CodexModule::getIcons ( Context $context,
Config $config,
array $iconNames = [] )
static

Retrieve the specified icon definitions from codex-icons.json.

Intended as a convenience function to be used in packageFiles definitions.

Example: "packageFiles": [ { "name": "icons.json", "callback": "MediaWiki\\\\ResourceLoader\\\\CodexModule::getIcons", "callbackParam": [ "cdxIconClear", "cdxIconTrash" ] } ]

Parameters
Context$context
Config$config
string[]$iconNamesNames of icons to fetch
Returns
array

Definition at line 86 of file CodexModule.php.

References $IP.

◆ getStyleFiles()

MediaWiki\ResourceLoader\CodexModule::getStyleFiles ( Context $context)

Get a list of file paths for all styles in this module, in order of proper inclusion.

Access: internal
Exposed only for use by structure phpunit tests.
Parameters
Context$context
Returns
array<string,array<int,string|FilePath>> Map from media type to list of file paths

Reimplemented from MediaWiki\ResourceLoader\FileModule.

Definition at line 50 of file CodexModule.php.

References MediaWiki\ResourceLoader\FileModule\$styles, MediaWiki\ResourceLoader\Context\getDirection(), and MediaWiki\ResourceLoader\Context\getSkin().

Member Data Documentation

◆ $builtinSkinThemeMap

MediaWiki\ResourceLoader\CodexModule::$builtinSkinThemeMap
staticprotected
Initial value:
= [
'default' => 'wikimedia-ui'
]

Definition at line 38 of file CodexModule.php.

◆ $themeStyles

MediaWiki\ResourceLoader\CodexModule::$themeStyles = []
protected

Definition at line 35 of file CodexModule.php.

◆ $themeStylesAdded

MediaWiki\ResourceLoader\CodexModule::$themeStylesAdded = false
protected

Definition at line 36 of file CodexModule.php.


The documentation for this class was generated from the following file: