* @var array List of paths to JavaScript files to always include
* @par Usage:
* @code
- * array( [file-path], [file-path], ... )
+ * [ [file-path], [file-path], ... ]
* @endcode
*/
protected $scripts = [];
* @var array List of JavaScript files to include when using a specific language
* @par Usage:
* @code
- * array( [language-code] => array( [file-path], [file-path], ... ), ... )
+ * [ [language-code] => [ [file-path], [file-path], ... ], ... ]
* @endcode
*/
protected $languageScripts = [];
* @var array List of JavaScript files to include when using a specific skin
* @par Usage:
* @code
- * array( [skin-name] => array( [file-path], [file-path], ... ), ... )
+ * [ [skin-name] => [ [file-path], [file-path], ... ], ... ]
* @endcode
*/
protected $skinScripts = [];
* @var array List of paths to JavaScript files to include in debug mode
* @par Usage:
* @code
- * array( [skin-name] => array( [file-path], [file-path], ... ), ... )
+ * [ [skin-name] => [ [file-path], [file-path], ... ], ... ]
* @endcode
*/
protected $debugScripts = [];
* @var array List of paths to CSS files to always include
* @par Usage:
* @code
- * array( [file-path], [file-path], ... )
+ * [ [file-path], [file-path], ... ]
* @endcode
*/
protected $styles = [];
* @var array List of paths to CSS files to include when using specific skins
* @par Usage:
* @code
- * array( [file-path], [file-path], ... )
+ * [ [file-path], [file-path], ... ]
* @endcode
*/
protected $skinStyles = [];
* @var array List of modules this module depends on
* @par Usage:
* @code
- * array( [file-path], [file-path], ... )
+ * [ [file-path], [file-path], ... ]
* @endcode
*/
protected $dependencies = [];
* @var array List of message keys used by this module
* @par Usage:
* @code
- * array( [message-key], [message-key], ... )
+ * [ [message-key], [message-key], ... ]
* @endcode
*/
protected $messages = [];
protected $targets = [ 'desktop' ];
+ /** @var bool Whether CSSJanus flipping should be skipped for this module */
+ protected $noflip = false;
+
/**
* @var bool Whether getStyleURLsForDebug should return raw file paths,
* or return load.php urls
* @var array Place where readStyleFile() tracks file dependencies
* @par Usage:
* @code
- * array( [file-path], [file-path], ... )
+ * [ [file-path], [file-path], ... ]
* @endcode
*/
protected $localFileRefs = [];
* @throws InvalidArgumentException
* @par Construction options:
* @code
- * array(
+ * [
* // Base path to prepend to all local paths in $options. Defaults to $IP
* 'localBasePath' => [base path],
* // Base path to prepend to all remote paths in $options. Defaults to $wgResourceBasePath
* // Scripts to always include
* 'scripts' => [file path string or array of file path strings],
* // Scripts to include in specific language contexts
- * 'languageScripts' => array(
+ * 'languageScripts' => [
* [language code] => [file path string or array of file path strings],
- * ),
+ * ],
* // Scripts to include in specific skin contexts
- * 'skinScripts' => array(
+ * 'skinScripts' => [
* [skin name] => [file path string or array of file path strings],
- * ),
+ * ],
* // Scripts to include in debug contexts
* 'debugScripts' => [file path string or array of file path strings],
* // Modules which must be loaded before this module
* 'dependencies' => [module name string or array of module name strings],
- * 'templates' => array(
+ * 'templates' => [
* [template alias with file.ext] => [file path to a template file],
- * ),
+ * ],
* // Styles to always load
* 'styles' => [file path string or array of file path strings],
* // Styles to include in specific skin contexts
- * 'skinStyles' => array(
+ * 'skinStyles' => [
* [skin name] => [file path string or array of file path strings],
- * ),
+ * ],
* // Messages to always load
* 'messages' => [array of message key strings],
* // Group which this module should be loaded together with
* // The file must contain valid JavaScript for execution in a private function.
* // The file must not contain the "function () {" and "}" wrapper though.
* 'skipFunction' => [file path]
- * )
+ * ]
* @endcode
*/
public function __construct(
// Single booleans
case 'debugRaw':
case 'raw':
+ case 'noflip':
$this->{$member} = (bool)$option;
break;
}
* @return bool
*/
public function getFlip( $context ) {
- return $context->getDirection() === 'rtl';
+ return $context->getDirection() === 'rtl' && !$this->noflip;
}
/**