From 39f6710d744b313d2600a73acb7a422abaefb9ee Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Wed, 7 Jun 2017 21:49:42 +0200 Subject: [PATCH] Split off styles for PHP DateInputWidget to separate module This lets us load them with addModuleStyles() (without generating a warning). Bug: T167343 Change-Id: I88f0716c6a5ac702cc07e8015cfe25d81538a536 --- includes/specials/SpecialContributions.php | 2 +- resources/Resources.php | 9 ++++ .../mw.widgets.DateInputWidget.less | 46 +--------------- .../mw.widgets.DateInputWidget.styles.less | 53 +++++++++++++++++++ 4 files changed, 64 insertions(+), 46 deletions(-) create mode 100644 resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.styles.less diff --git a/includes/specials/SpecialContributions.php b/includes/specials/SpecialContributions.php index 4da1c854ca..e2fa8a3001 100644 --- a/includes/specials/SpecialContributions.php +++ b/includes/specials/SpecialContributions.php @@ -40,7 +40,7 @@ class SpecialContributions extends IncludableSpecialPage { $out->addModuleStyles( [ 'mediawiki.special', 'mediawiki.special.changeslist', - 'mediawiki.widgets.DateInputWidget', + 'mediawiki.widgets.DateInputWidget.styles', ] ); $out->addModules( 'mediawiki.special.contributions' ); $this->addHelpLink( 'Help:User contributions' ); diff --git a/resources/Resources.php b/resources/Resources.php index 46aafd51aa..7c0e4afa1a 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -2338,6 +2338,15 @@ return [ 'oojs-ui-widgets', 'oojs-ui.styles.icons-movement', 'moment', + 'mediawiki.widgets.DateInputWidget.styles', + ], + 'targets' => [ 'desktop', 'mobile' ], + ], + 'mediawiki.widgets.DateInputWidget.styles' => [ + 'skinStyles' => [ + 'default' => [ + 'resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.styles.less', + ], ], 'targets' => [ 'desktop', 'mobile' ], ], diff --git a/resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.less b/resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.less index 3ecdea859d..47f804521e 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.less +++ b/resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.less @@ -1,16 +1,10 @@ /*! - * MediaWiki Widgets – DateInputWidget styles. + * MediaWiki Widgets – JS DateInputWidget styles. * * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt * @license The MIT License (MIT); see LICENSE.txt */ -.oo-ui-box-sizing( @type: border-box ) { - -webkit-box-sizing: @type; - -moz-box-sizing: @type; - box-sizing: @type; -} - .oo-ui-unselectable() { -webkit-touch-callout: none; -webkit-user-select: none; @@ -19,47 +13,9 @@ user-select: none; } -.oo-ui-inline-spacing( @spacing, @cancelled-spacing: 0 ) { - margin-right: @spacing; - - &:last-child { - margin-right: @cancelled-spacing; - } -} - @indicator-size: unit( 12 / 16 / 0.8, em ); .mw-widget-dateInputWidget { - &.oo-ui-textInputWidget { - display: inline-block; - position: relative; - width: 21em; - margin-top: 0.25em; - .oo-ui-inline-spacing( 0.5em ); - margin-bottom: 0.25em; - margin-left: 0; - } - - &-handle, - &.oo-ui-textInputWidget input { - background-color: #fff; - display: inline-block; - position: relative; - .oo-ui-box-sizing( border-box ); - width: 100%; - cursor: pointer; - padding: 0.5em 1em; - border: 1px solid #a2a9b1; - border-radius: 2px; - outline: 0; - line-height: 1.275; - /** - * Ensures non-infused and infused widget have the same height. - * Equal to line height + top padding + bottom padding - */ - height: 2.275em; - } - &-handle { .oo-ui-unselectable(); diff --git a/resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.styles.less b/resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.styles.less new file mode 100644 index 0000000000..18cf723904 --- /dev/null +++ b/resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.styles.less @@ -0,0 +1,53 @@ +/*! + * MediaWiki Widgets – PHP DateInputWidget styles. + * + * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt + * @license The MIT License (MIT); see LICENSE.txt + */ + +.oo-ui-box-sizing( @type: border-box ) { + -webkit-box-sizing: @type; + -moz-box-sizing: @type; + box-sizing: @type; +} + +.oo-ui-inline-spacing( @spacing, @cancelled-spacing: 0 ) { + margin-right: @spacing; + + &:last-child { + margin-right: @cancelled-spacing; + } +} + +.mw-widget-dateInputWidget { + &.oo-ui-textInputWidget { + display: inline-block; + position: relative; + width: 21em; + margin-top: 0.25em; + .oo-ui-inline-spacing( 0.5em ); + margin-bottom: 0.25em; + margin-left: 0; + } + + // Note that this block applies to both the PHP widget and the JS widget + &-handle, + &.oo-ui-textInputWidget input { + background-color: #fff; + display: inline-block; + position: relative; + .oo-ui-box-sizing( border-box ); + width: 100%; + cursor: pointer; + padding: 0.5em 1em; + border: 1px solid #a2a9b1; + border-radius: 2px; + outline: 0; + line-height: 1.275; + /** + * Ensures non-infused and infused widget have the same height. + * Equal to line height + top padding + bottom padding + */ + height: 2.275em; + } +} -- 2.20.1