Esanders has uploaded a new change for review.

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

Change subject: Adjust DOM and CSS so UI surface runs from top to bottom of page
......................................................................

Adjust DOM and CSS so UI surface runs from top to bottom of page

Place things like the page title and redirect link inside a new
container $originalContent, which is appended to the surface
when ready. Replace margins with padding in various places.

This will allow us to surface-height-matching sidebar for dialogs.

Change-Id: I60d80fb303bdaf93e9d121f62d534ee3a3056e59
---
M modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-monobook.css
M modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-vector.css
M modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget.init.css
M modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
4 files changed, 51 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/78/282678/1

diff --git 
a/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-monobook.css 
b/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-monobook.css
index 219c837..cdb6a57 100644
--- a/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-monobook.css
+++ b/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-monobook.css
@@ -19,16 +19,17 @@
 .ve-init-mw-desktopArticleTarget .mw-body-content,
 .ve-ui-overlay-global .mw-body-content {
        /* Match skin's font-size for the surface content */
-       font-size: 0.992187499998em; /* 1/1.00787401575 */
+       font-size: 0.9921875em; /* 1/1.00787401575 */
 }
 
 .ve-init-mw-desktopArticleTarget-toolbar {
-       /* 0.6/0.8, 0.8/0.8, 1/0.6 */
-       margin: -0.75em -1em 1.25em -1em;
+       /* 1/1.00787401575 */
+       margin: -0.9921875em;
+       margin-bottom: 0;
 }
 
-.ve-init-mw-desktopArticleTarget-toolbar > .oo-ui-toolbar-bar {
-       top: -3px;
+.ve-init-mw-desktopArticleTarget-originalContent {
+       padding-top: 0.9921875em;
 }
 
 /* Main document debug bar */
@@ -39,6 +40,11 @@
        margin: 1em -1em -1em -1em;
 }
 
+.ve-init-mw-target-surface {
+       margin-bottom: -0.9921875em;
+       padding-bottom: 0.9921875em;
+}
+
 .ve-init-mw-target-surface .ve-ce-documentNode,
 .ve-init-mw-target-surface .ve-ui-surface-placeholder {
        padding: 0;
diff --git 
a/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-vector.css 
b/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-vector.css
index 4535a2c..e40d5eb 100644
--- a/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-vector.css
+++ b/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget-vector.css
@@ -20,7 +20,17 @@
        of content editable.
        */
        /* 0.8/0.8, 1/0.8 */
-       margin: 1em -1.25em 0 -1.25em;
+       margin: 0 -1.25em -1.25em -1.25em;
+       padding-bottom: 1.25em;
+}
+
+.ve-init-mw-desktopArticleTarget-originalContent {
+       padding-top: 1.25em;
+}
+
+.ve-init-mw-target-surface .ve-init-mw-desktopArticleTarget-originalContent {
+       padding-left: 1.25em;
+       padding-right: 1.25em;
 }
 
 .ve-init-mw-target-surface .ve-ce-documentNode,
@@ -53,7 +63,7 @@
 
 .ve-init-mw-desktopArticleTarget-toolbar {
        /* 1/0.8 */
-       margin: -1.25em -1.25em 1.25em -1.25em;
+       margin: -1.25em -1.25em 0 -1.25em;
        position: relative;
 }
 
@@ -89,7 +99,17 @@
 @media screen and (min-width: 982px) {
        .ve-init-mw-target-surface {
                /* 0.8/0.8, 1.5/0.8 */
-               margin: 1em -1.875em 0 -1.875em;
+               margin: 0 -1.875em -1.875em -1.875em;
+               padding-bottom: 1.875em;
+       }
+
+       .ve-init-mw-desktopArticleTarget-originalContent {
+               padding-top: 1.875em;
+       }
+
+       .ve-init-mw-target-surface 
.ve-init-mw-desktopArticleTarget-originalContent {
+               padding-left: 1.875em;
+               padding-right: 1.875em;
        }
 
        .ve-init-mw-target-surface .ve-ce-documentNode,
@@ -99,14 +119,14 @@
 
        .ve-init-mw-desktopArticleTarget-toolbar {
                /* 1.25/0.8, 1.5/0.8 */
-               margin: -1.5625em -1.875em 1.875em -1.875em;
+               margin: -1.5625em -1.875em 0 -1.875em;
        }
 
        /* Main document debug bar */
        .ve-init-mw-desktopArticleTarget > .ve-ui-debugBar {
                /* 1/0.8, 1.5/0.8 */
                padding: 1.875em;
-               margin: 1.25em -1.875em -1.875em -1.875em;
+               margin: 1.875em -1.875em -1.875em -1.875em;
        }
 }
 
diff --git a/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget.init.css 
b/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget.init.css
index b27162b..8ea5155 100644
--- a/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget.init.css
+++ b/modules/ve-mw/init/styles/ve.init.mw.DesktopArticleTarget.init.css
@@ -54,10 +54,6 @@
        user-select: none;
 }
 
-.ve-activated #firstHeading {
-       cursor: default;
-}
-
 /* Progress bar mimicking OOUI */
 
 .ve-activated #content {
diff --git a/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js 
b/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
index 0fcd95a..431610a 100644
--- a/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
+++ b/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
@@ -71,9 +71,12 @@
        this.originalDocumentTitle = document.title;
        this.tabLayout = mw.config.get( 'wgVisualEditorConfig' ).tabLayout;
        this.events = new ve.init.mw.ArticleTargetEvents( this );
+       this.$originalContent = $( '<div>' ).addClass( 
've-init-mw-desktopArticleTarget-originalContent' );
 
        // Initialization
-       this.$element.addClass( 've-init-mw-desktopArticleTarget' );
+       this.$element
+               .addClass( 've-init-mw-desktopArticleTarget' )
+               .append( this.$originalContent );
 
        if ( history.replaceState ) {
                // We replace the current state with one that's marked with our 
tag. This way, when users
@@ -414,6 +417,8 @@
                $( 'html' ).removeClass( 've-loading' ).addClass( 
've-activating' );
                $.when( this.activatingDeferred, this.toolbarSetupDeferred 
).done( function () {
                        $( 'html' ).removeClass( 've-activating' ).addClass( 
've-active' );
+                       // Move original content inside the surface for 
viewport calculations
+                       target.getSurface().$element.prepend( 
target.$originalContent );
                        if ( !target.editingTabDialog ) {
                                // We have to focus the page after hiding the 
original content, otherwise
                                // in firefox the contentEditable container was 
below the view page, and
@@ -546,6 +551,9 @@
                this.getToolbar().$actions.empty();
        }
 
+       // Move original content back out of the surface
+       this.$element.prepend( this.$originalContent );
+
        // Check we got as far as setting up the surface
        if ( this.getSurface() ) {
                if ( this.active ) {
@@ -570,8 +578,8 @@
                target.deactivating = false;
                $( 'html' ).removeClass( 've-deactivating' );
 
-               // Move remaining elements back out of the target
-               target.$element.parent().append( target.$element.children() );
+               // Move original content back out of the target
+               target.$element.parent().append( 
target.$originalContent.children() );
 
                mw.hook( 've.deactivationComplete' ).fire( target.edited );
        } );
@@ -699,8 +707,8 @@
                                $( '<br>' )
                        );
                }
-               this.$element.children( '.redirectMsg' ).remove();
-               this.$element.find( '.ve-init-mw-target-surface' ).before( $( 
'<div>' )
+               this.$originalContent.find( '.redirectMsg' ).remove();
+               this.$originalContent.append( $( '<div>' )
                        // Bit of a hack: Make sure any redirect note is styled
                        .addClass( 'redirectMsg mw-content-' + $( 'html' 
).attr( 'dir' ) )
 
@@ -729,7 +737,7 @@
  */
 ve.init.mw.DesktopArticleTarget.prototype.onMetaItemRemoved = function ( 
metaItem ) {
        if ( metaItem.getType() === 'mwRedirect' ) {
-               this.$element.children( '.redirectMsg' ).remove();
+               this.$originalContent.find( '.redirectMsg' ).remove();
                $( '#contentSub #redirectsub, #contentSub #redirectsub + br' 
).remove();
        }
 };
@@ -1101,7 +1109,7 @@
        mw.hook( 've.activate' ).fire();
 
        // Move all native content inside the target
-       this.$element.append( this.$element.siblings() );
+       this.$originalContent.append( this.$element.siblings() );
 
        // Push veaction=edit url in history (if not already. If we got here by 
a veaction=edit
        // permalink then it will be there already and the constructor called 
#activate)

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I60d80fb303bdaf93e9d121f62d534ee3a3056e59
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to