Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/161321

Change subject: WIP: Use mw-ui-icon
......................................................................

WIP: Use mw-ui-icon

Change-Id: I8b9312baa5240a3910d1688636d82cb6ae7671bc
Dependency: I68a1b207d8a4af57879361921a5f8c3aeda3fd9a
---
M includes/skins/SkinMinerva.php
M javascripts/modules/watchstar/Watchstar.js
M less/common/icons.less
M less/common/mainmenu.less
M less/common/pageactions.less
M less/minerva.less/minerva.mixins.less
M less/modules/watchstar.less
M less/tablet/common.less
M tests/browser/features/support/pages/article_page.rb
M tests/qunit/modules/test_PageList.js
10 files changed, 61 insertions(+), 46 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend 
refs/changes/21/161321/1

diff --git a/includes/skins/SkinMinerva.php b/includes/skins/SkinMinerva.php
index 4e4c1ec..cc62c1e 100644
--- a/includes/skins/SkinMinerva.php
+++ b/includes/skins/SkinMinerva.php
@@ -151,7 +151,7 @@
                        return Html::element( 'a', array(
                                'href' => '#/editor/' . $section,
                                'data-section' => $section,
-                               'class' => 'edit-page icon icon-32px icon-edit 
enabled'
+                               'class' => 'edit-page mw-ui-icon 
mw-ui-icon-element icon-32px mw-ui-icon-edit enabled'
                        ), $message );
                }
        }
@@ -298,7 +298,7 @@
                                                'href' => 
$this->getUser()->isLoggedIn() ?
                                                        
$watchTitle->getLocalUrl( $watchlistQuery ) :
                                                        $this->getLoginUrl( 
array( 'returnto' => $watchTitle ) ),
-                                               'class' => 'icon-watchlist icon 
icon-text',
+                                               'class' => 
'mw-ui-icon-watchlist mw-ui-icon mw-ui-icon-before',
                                        ),
                                ),
                        )
@@ -311,7 +311,7 @@
                                                        'text' => wfMessage( 
'mobile-frontend-main-menu-upload' )->escaped(),
                                                        'href' => 
$this->getUser()->isLoggedIn() ? $donateTitle->getLocalUrl() :
                                                                
$this->getLoginUrl( array( 'returnto' => $donateTitle ) ),
-                                                       'class' => 
'icon-uploads icon icon-text',
+                                                       'class' => 
'mw-ui-icon-uploads mw-ui-icon mw-ui-icon-before icon-text',
                                                ),
                                        ),
                                        'class' => 'jsonly',
@@ -323,7 +323,7 @@
                                                'text' => wfMessage( 
'mobile-frontend-main-menu-settings' )->escaped(),
                                                'href' => 
SpecialPage::getTitleFor( 'MobileOptions' )->
                                                        getLocalUrl( array( 
'returnto' => $returnToTitle ) ),
-                                               'class' => 'icon-settings icon 
icon-text',
+                                               'class' => 'mw-ui-icon-settings 
mw-ui-icon mw-ui-icon-before',
                                        ),
                                ),
                        );
@@ -336,7 +336,7 @@
                                                'text' => wfMessage( 
'preferences' )->escaped(),
                                                'href' => 
$this->getUser()->isLoggedIn() ? $prefUrl :
                                                        $this->getLoginUrl( 
array( 'returnto' => $prefUrl ) ),
-                                               'class' => 'icon-settings icon 
icon-text',
+                                               'class' => 'mw-ui-icon-settings 
mw-ui-icon mw-ui-icon-before',
                                        ),
                                ),
                        );
@@ -379,7 +379,7 @@
                                        array(
                                                'text' => wfMessage( 
'mobile-frontend-home-button' )->escaped(),
                                                'href' => 
Title::newMainPage()->getLocalUrl(),
-                                               'class' => 'icon-home icon 
icon-text',
+                                               'class' => 'mw-ui-icon-home 
mw-ui-icon mw-ui-icon-before',
                                        ),
                                ),
                        ),
@@ -390,7 +390,7 @@
                                                'href' => 
SpecialPage::getTitleFor( 'Randompage',
                                                        
MWNamespace::getCanonicalName( $wgMFContentNamespace ) )->getLocalUrl() .
                                                                '#/random',
-                                               'class' => 'icon-random icon 
icon-text',
+                                               'class' => 'mw-ui-icon-random 
mw-ui-icon mw-ui-icon-before',
                                                'id' => 'randomButton',
                                        ),
                                ),
@@ -400,7 +400,7 @@
                                        array(
                                                'text' => wfMessage( 
'mobile-frontend-main-menu-nearby' )->escaped(),
                                                'href' => 
SpecialPage::getTitleFor( 'Nearby' )->getLocalURL(),
-                                               'class' => 'icon-nearby icon 
icon-text',
+                                               'class' => 'mw-ui-icon-nearby 
mw-ui-icon mw-ui-icon-before',
                                        ),
                                ),
                                'class' => 'jsonly',
@@ -698,7 +698,7 @@
                // empty placeholder for edit and photos which both require js
                if ( $this->isAllowedPageAction( 'edit' ) ) {
                        $menu['edit'] = array( 'id' => 'ca-edit', 'text' => '',
-                               'class' => 'icon icon-32px icon-edit' );
+                               'class' => 'mw-ui-icon mw-ui-icon-element 
icon-32px mw-ui-icon-edit' );
                }
 
                if (
@@ -707,7 +707,7 @@
                        && $this->mobileContext->userCanUpload()
                ) {
                        $menu['photo'] = array( 'id' => 'ca-upload', 'text' => 
'',
-                               'class' => 'icon icon-32px' );
+                               'class' => 'mw-ui-icon mw-ui-icon-element 
icon-32px' );
                }
 
                if ( $this->isAllowedPageAction( 'talk' ) ) {
@@ -723,9 +723,9 @@
                                // Javascript, so if the talk page hasn't been 
created yet, add a 'hidden'
                                // CSS class which will be removed later via 
Javascript.
                                if ( $menu['talk']['class'] === 'new' ) {
-                                       $menu['talk']['class'] = 'hidden icon 
icon-32px icon-talk';
+                                       $menu['talk']['class'] = 'hidden 
mw-ui-icon mw-ui-icon-element icon-32px mw-ui-icon-talk';
                                } else {
-                                       $menu['talk']['class'] = 'icon 
icon-32px icon-talk';
+                                       $menu['talk']['class'] = 'mw-ui-icon 
mw-ui-icon-element icon-32px mw-ui-icon-talk';
                                }
                                if ( isset( $tpl->data['_talkdata'] ) ) {
                                        $menu['talk']['text'] = 
$tpl->data['_talkdata']['text'];
@@ -740,7 +740,7 @@
                if ( $this->isAllowedPageAction( 'watch' ) ) {
                        $watchTemplate = array(
                                'id' => 'ca-watch',
-                               'class' => 'watch-this-article icon icon-32px',
+                               'class' => 'mw-ui-icon-watch mw-ui-icon-element 
mw-ui-icon icon-32px',
                        );
                        // standardise watch article into one menu item
                        if ( isset( $actions['watch'] ) ) {
@@ -899,6 +899,7 @@
        protected function getSkinStyles() {
                $title = $this->getTitle();
                $styles = array(
+                       'mediawiki.ui.icon',
                        'skins.minerva.chrome.styles',
                        'skins.minerva.content.styles',
                        'skins.minerva.drawers.styles',
diff --git a/javascripts/modules/watchstar/Watchstar.js 
b/javascripts/modules/watchstar/Watchstar.js
index 330ee07..219ba74 100644
--- a/javascripts/modules/watchstar/Watchstar.js
+++ b/javascripts/modules/watchstar/Watchstar.js
@@ -17,7 +17,7 @@
                        page: M.getCurrentPage()
                },
                tagName: 'div',
-               className: 'icon icon-32px watch-this-article',
+               className: 'mw-ui-icon mw-ui-icon-element icon-32px 
mw-ui-icon-watch',
                template: M.template.compile( '<a>', 'hogan' ),
                initialize: function( options ) {
                        var self = this, _super = this._super,
diff --git a/less/common/icons.less b/less/common/icons.less
index 484cdaa..b412c6a 100644
--- a/less/common/icons.less
+++ b/less/common/icons.less
@@ -7,6 +7,7 @@
        min-height: @size;
        min-width: @size;
 }
+
 // Icons
 //
 // Styleguide 8.
@@ -111,8 +112,13 @@
 .mw-ui-button.mw-ui-progressive.icon-32px,
 // FIXME: Kill above when mediawiki ui buttons does not use background 
declaration
 .icon-32px {
+       // FIXME: Remove when cache cleared and mw-ui-icon used exclusively
        .background-size( 32px, auto );
        .default-icon-size( 32px );
+
+       &:before {
+               .background-size( 32px, auto );
+       }
 }
 
 // Icon (max-x)
@@ -166,6 +172,15 @@
        }
 }
 
+.mw-ui-icon-edit {
+       :before {
+               .background-image('images/pagemenu/edit-locked.png');
+       }
+       &.enabled:before {
+               .background-image('images/pagemenu/edit.png');
+       }
+}
+
 // Icon (talk)
 //
 // Renders a talk icon
@@ -186,9 +201,8 @@
 // <div class="icon watch-this-article">watch</div>
 //
 // Styleguide 8.3.4.
-// FIXME: Rename to watch-icon for consistency
-.watch-this-article {
-       .background-image('images/watch.png');
+.mw-ui-icon-watch {
+       .m-background-image('images/watch.png');
 
        // Icon (watched)
        //
@@ -199,7 +213,7 @@
        //
        // Styleguide 8.3.4.
        &.watched {
-               .background-image('images/watched.png');
+               .m-background-image('images/watched.png');
        }
 }
 
diff --git a/less/common/mainmenu.less b/less/common/mainmenu.less
index a1a938f..2db5f48 100644
--- a/less/common/mainmenu.less
+++ b/less/common/mainmenu.less
@@ -55,40 +55,40 @@
                }
        }
 
-       .icon-home {
-               .background-image('images/menu/home.png');
+       .mw-ui-icon-home {
+               .m-background-image('images/menu/home.png');
        }
 
-       .icon-random {
-               .background-image('images/menu/random.png');
+       .mw-ui-icon-random {
+               .m-background-image('images/menu/random.png');
        }
 
-       .icon-watchlist {
-               .background-image('images/menu/watchlist.png');
+       .mw-ui-icon-watchlist {
+               .m-background-image('images/menu/watchlist.png');
        }
 
-       .icon-uploads {
-               .background-image('images/menu/uploads.png');
+       .mw-ui-icon-uploads {
+               .m-background-image('images/menu/uploads.png');
        }
 
-       .icon-nearby {
-               .background-image('images/menu/nearby.png');
+       .mw-ui-icon-nearby {
+               .m-background-image('images/menu/nearby.png');
        }
 
-       .icon-settings {
-               .background-image('images/menu/settings.png');
+       .mw-ui-icon-settings {
+               .m-background-image('images/menu/settings.png');
        }
 
-       .icon-secondary-logout {
-               .background-image('images/menu/loginout.png');
+       .mw-ui-icon-secondary-logout {
+               .m-background-image('images/menu/loginout.png');
        }
 
-       .icon-profile {
-               .background-image('images/menu/user.png');
+       .mw-ui-icon-profile {
+               .m-background-image('images/menu/user.png');
        }
 
-       .icon-anon {
-               .background-image('images/menu/anon.png');
+       .mw-ui-icon-anon {
+               .m-background-image('images/menu/anon.png');
        }
 
        li {
@@ -122,7 +122,7 @@
                a {
                        color: white;
                        display: block;
-                       padding: 13px 10px 11px 34px;
+                       padding: 13px 10px 11px 0;
                        line-height: 22px;
                        margin-left: 9px;
                        &:hover {
diff --git a/less/common/pageactions.less b/less/common/pageactions.less
index 88276b5..c27e34e 100644
--- a/less/common/pageactions.less
+++ b/less/common/pageactions.less
@@ -30,10 +30,7 @@
                cursor: pointer;
                // FIXME: why is this necessary?
                vertical-align: top;
-               height: 30px;
-               width: 40px;
                background-position: 50% 0;
-               margin: 0 16px 0 0;
 
                // FIXME: use .cloaked class
                // file inputs are notoriously difficult to style
diff --git a/less/minerva.less/minerva.mixins.less 
b/less/minerva.less/minerva.mixins.less
index 1ee537b..f24b587 100644
--- a/less/minerva.less/minerva.mixins.less
+++ b/less/minerva.less/minerva.mixins.less
@@ -5,6 +5,12 @@
        .background-image-svg( ~"@{url}.svg", ~"@{url}.png" );
 }
 
+.m-background-image( @url ) {
+       &:before {
+               .background-image(@url)
+       }
+}
+
 .box-sizing( @value ) {
        -moz-box-sizing: @value;
        -webkit-box-sizing: @value;
diff --git a/less/modules/watchstar.less b/less/modules/watchstar.less
index 19179d6..3a6dfe7 100644
--- a/less/modules/watchstar.less
+++ b/less/modules/watchstar.less
@@ -5,7 +5,7 @@
 @watchThisArticleSize: 48px;
 
 // watchlist and search results
-.page-list .watch-this-article {
+.page-list .mw-ui-icon-watch {
        position: absolute;
        right: 0;
        top: 50%;
diff --git a/less/tablet/common.less b/less/tablet/common.less
index 4575157..4b18b88 100644
--- a/less/tablet/common.less
+++ b/less/tablet/common.less
@@ -34,9 +34,6 @@
                        position: absolute;
                        right: 0;
                        top: 0;
-                       li {
-                               margin: 0 0 0 16px;
-                       }
                }
        }
 
diff --git a/tests/browser/features/support/pages/article_page.rb 
b/tests/browser/features/support/pages/article_page.rb
index 33cf319..d31f71e 100644
--- a/tests/browser/features/support/pages/article_page.rb
+++ b/tests/browser/features/support/pages/article_page.rb
@@ -49,7 +49,7 @@
 
   ## watch star
   a(:watch_link, css: "#ca-watch a")
-  a(:unwatch_link, css: ".watch-this-article.watched a")
+  a(:unwatch_link, css: ".mw-ui-icon-watch.watched a")
   button(:watch_confirm, class: "mw-htmlform-submit")
 
   # search
diff --git a/tests/qunit/modules/test_PageList.js 
b/tests/qunit/modules/test_PageList.js
index 7247d25..445e78c 100644
--- a/tests/qunit/modules/test_PageList.js
+++ b/tests/qunit/modules/test_PageList.js
@@ -23,7 +23,7 @@
                        inprop: 'watched',
                        pageids: [ 30, 50 ]
                } ), 'A request to API was made to retrieve the statuses' );
-               assert.strictEqual( pl.$el.find( '.watch-this-article' 
).length, 2, "2 articles have watch stars" );
+               assert.strictEqual( pl.$el.find( '.mw-ui-icon-watch' ).length, 
2, "2 articles have watch stars" );
                assert.strictEqual( pl.$el.find( '.watched' ).length, 1, "1 of 
articles is marked as watched" );
        } );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/161321
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8b9312baa5240a3910d1688636d82cb6ae7671bc
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to