mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-15 18:39:52 +00:00
97fa232c8f
Turned saveDialog-body into slide-based swapper. Moved footer into saveDiaog-body so that the license text doesn't stay under the diff-slide (and move body bottom padding to foot top) Wrapped buttons and title in a saveDialog-header and converted closeButton from absolutely positioned to a floated layout. This way the title doesn't need to be repositioned but will scooch over if the prevButton gets shown/hidden. Update API "diff" action to include table wrapper and table header. Without it the mediawiki CSS for diff doesn't work properly (needs colgroups for proper width of the "-" and "+" column etc) Renamed -saving class to -disabled for consistency. Set prop.disabled to really lock/unlock buttons, not just visual (otherwise the click handlers are still triggered on click, can potentially cause actions to be triggered when not expected) Using a ve message for "Show your changes" title instead of re-using core tooltip-savepage in a different context. Diff slide triggers "auto width" on dialog (inline undo of width: 29em), keeping min-width, to allow it to expand as wide as needed. Functions that I copied as base for onShowChanges and onShowChangeError had some incorrect argument descriptions. Fixed in both. Note: * Pass function to .off(), so that only that one is unbound instead of any "resize" handler on the page (by other extensions or gadgets or core) * NB: ve.bind ($.proxy) preserves internal guid, so that $.Event can find the bound function by the original reference. * keydown has an anonymous function, should either moved to prototype or namespaced, did latter for now, save enough and better than destructive .off('keydown') Change-Id: I9d05ef6e3e2461bdcf363232f7b0fbad5e24f506
371 lines
8.8 KiB
CSS
371 lines
8.8 KiB
CSS
/**
|
|
* VisualEditor MediaWiki initialization ViewPageTarget styles.
|
|
*
|
|
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
/* VisualEditor */
|
|
|
|
.ve-ui-menu {
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-pageTitle {
|
|
-webkit-transition: opacity 200ms ease-out;
|
|
-moz-transition: opacity 200ms ease-out;
|
|
-o-transition: opacity 200ms ease-out;
|
|
transition: opacity 200ms ease-out;
|
|
cursor: default;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-loadingSpinner,
|
|
.ve-init-mw-viewPageTarget-saveDialog-saving {
|
|
/* @embed */
|
|
background-image: url(images/loading.gif);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-loadingSpinner {
|
|
width: 128px;
|
|
height: 15px;
|
|
float: right;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-editNoticesButton {
|
|
position: relative;
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
line-height: 2.125em;
|
|
margin-right: 1em;
|
|
padding-left: 30px;
|
|
cursor: pointer;
|
|
background-repeat: no-repeat;
|
|
background-position: left center;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-editNotices {
|
|
display: none;
|
|
position: absolute;
|
|
right: -0.5em;
|
|
top: 30px;
|
|
width: 29em;
|
|
font-family: sans-serif;
|
|
border: solid 1px #ccc;
|
|
padding: 0 0.75em 0 0.75em;
|
|
border-radius: 0.25em;
|
|
background-color: #fff;
|
|
box-shadow: 0 0.15em 0.5em 0 rgba(0, 0, 0, 0.2);
|
|
z-index: 3;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-editNoticesButton-label {
|
|
font-size: 0.8em;
|
|
color: #555555;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-editNotices-notice {
|
|
padding: 0.5em 0;
|
|
font-size: 0.8em;
|
|
line-height: 1.5em;
|
|
border-top: solid 1px #ccc;
|
|
margin-top: -1px;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton,
|
|
.ve-init-mw-viewPageTarget-saveDialog-saveButton,
|
|
.ve-init-mw-viewPageTarget-saveDialog-diffButton {
|
|
display: inline-block;
|
|
border-radius: 0.25em;
|
|
cursor: pointer;
|
|
vertical-align: top;
|
|
font-size: 1em;
|
|
padding: 0.25em 0.75em;
|
|
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton,
|
|
.ve-init-mw-viewPageTarget-saveDialog-saveButton {
|
|
border: solid 1px #c3e59a;
|
|
background-image: -webkit-gradient(
|
|
linear,
|
|
left bottom,
|
|
left top,
|
|
color-stop(0, #c3e59a),
|
|
color-stop(1, #f0fbe1)
|
|
);
|
|
background-image: -webkit-linear-gradient(bottom, #c3e59a 0%, #f0fbe1 100%);
|
|
background-image: -moz-linear-gradient(bottom, #c3e59a 0%, #f0fbe1 100%);
|
|
background-image: -ms-linear-gradient(bottom, #c3e59a 0%, #f0fbe1 100%);
|
|
background-image: -o-linear-gradient(bottom, #c3e59a 0%, #f0fbe1 100%);
|
|
background-image: linear-gradient(bottom, #c3e59a 0%, #f0fbe1 100%);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-diffButton {
|
|
border: solid 1px #b0d9ee;
|
|
background-image: -webkit-gradient(
|
|
linear,
|
|
left bottom,
|
|
left top,
|
|
color-stop(0, #b0d9ee),
|
|
color-stop(1, #eaf4fa)
|
|
);
|
|
background-image: -webkit-linear-gradient(bottom, #b0d9ee 0%, #eaf4fa 100%);
|
|
background-image: -moz-linear-gradient(bottom, #b0d9ee 0%, #eaf4fa 100%);
|
|
background-image: -ms-linear-gradient(bottom, #b0d9ee 0%, #eaf4fa 100%);
|
|
background-image: -o-linear-gradient(bottom, #b0d9ee 0%, #eaf4fa 100%);
|
|
background-image: linear-gradient(bottom, #b0d9ee 0%, #eaf4fa 100%);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton,
|
|
.ve-init-mw-viewPageTarget-toolbar-cancelButton {
|
|
height: 1.5em;
|
|
margin-right: 0.25em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-cancelButton {
|
|
display: inline-block;
|
|
border: 1px #c9c9c9 solid;
|
|
border-radius: 0.25em;
|
|
cursor: pointer;
|
|
vertical-align: top;
|
|
font-size: 1em;
|
|
padding: 0.25em 0.75em;
|
|
color: #252525;
|
|
text-align: center;
|
|
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
|
/* Fancy CSS background */
|
|
background-color: #f0f0f0;
|
|
background-image: -webkit-gradient(
|
|
linear,
|
|
left top,
|
|
left bottom,
|
|
color-stop(0%, #ffffff),
|
|
color-stop(100%, #f0f0f0)
|
|
);
|
|
background-image: -webkit-linear-gradient(top, #ffffff, #f0f0f0);
|
|
background-image: -moz-linear-gradient(top, #ffffff, #f0f0f0);
|
|
background-image: -ms-linear-gradient(top, #ffffff, #f0f0f0);
|
|
background-image: linear-gradient(#ffffff, #f0f0f0);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-saveButton,
|
|
.ve-init-mw-viewPageTarget-saveDialog-diffButton {
|
|
float: right;
|
|
height: 2em;
|
|
line-height: 1.25em;
|
|
margin-right: 0;
|
|
margin-left: 1em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-saving {
|
|
display: none;
|
|
float: right;
|
|
height: 2em;
|
|
width: 128px;
|
|
margin-right: 1em;
|
|
background-position: right center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton:before,
|
|
.ve-init-mw-viewPageTarget-toolbar-cancelButton:before {
|
|
content: " ";
|
|
position: absolute;
|
|
display: block;
|
|
height: 22px;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton:hover,
|
|
.ve-init-mw-viewPageTarget-toolbar-cancelButton:hover,
|
|
.ve-init-mw-viewPageTarget-saveDialog-saveButton:hover,
|
|
.ve-init-mw-viewPageTarget-saveDialog-diffButton:hover {
|
|
border-color: #aaa;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton:active,
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton-down,
|
|
.ve-init-mw-viewPageTarget-toolbar-cancelButton:active,
|
|
.ve-init-mw-viewPageTarget-toolbar-cancelButton-down,
|
|
.ve-init-mw-viewPageTarget-saveDialog-saveButton:active,
|
|
.ve-init-mw-viewPageTarget-saveDialog-saveButton-down,
|
|
.ve-init-mw-viewPageTarget-saveDialog-diffButton:active {
|
|
border-color: #ddd;
|
|
box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.07);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton-disabled,
|
|
.ve-init-mw-viewPageTarget-saveDialog-saveButton-disabled,
|
|
.ve-init-mw-viewPageTarget-saveDialog-diffButton-disabled {
|
|
filter: alpha(opacity=50);
|
|
opacity: 0.5;
|
|
cursor: default;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton-disabled:hover,
|
|
.ve-init-mw-viewPageTarget-saveDialog-saveButton-disabled:hover,
|
|
.ve-init-mw-viewPageTarget-saveDialog-diffButton-disabled:hover {
|
|
border-color: #ccc;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-toolbar-saveButton-label,
|
|
.ve-init-mw-viewPageTarget-toolbar-cancelButton-label,
|
|
.ve-init-mw-viewPageTarget-saveDialog-saveButton-label,
|
|
.ve-init-mw-viewPageTarget-saveDialog-diffButton-label {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
line-height: 1.8em;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
/* Save dialog styles */
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog {
|
|
display: none;
|
|
top: 0.25em;
|
|
right: 0.5em;
|
|
width: 29em;
|
|
min-width: 29em;
|
|
font-family: sans-serif;
|
|
position: absolute;
|
|
border: solid 1px #ccc;
|
|
border-radius: 0.25em;
|
|
background-color: #fff;
|
|
box-shadow: 0 0.15em 0.5em 0 rgba(0, 0, 0, 0.2);
|
|
padding: 0.75em;
|
|
padding-top: 2.5em;
|
|
z-index: 3;
|
|
|
|
/* slide-diff can get quite long, handle overflow */
|
|
/* max-height set from javascript */
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-head {
|
|
position: absolute;
|
|
top: 0.4em;
|
|
left: 0.5em;
|
|
right: 0.5em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-title {
|
|
height: 2em;
|
|
line-height: 2em;
|
|
color: #333;
|
|
font-size: 0.9em;
|
|
float: left;
|
|
margin: 0 0.5em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-prevButton {
|
|
float: left;
|
|
position: relative;
|
|
top: 0.1em;
|
|
width: 1.5em;
|
|
height: 1.5em;
|
|
cursor: pointer;
|
|
filter: alpha(opacity=8);
|
|
opacity: 0.8;
|
|
/* @see ve.init.mw.Icons */
|
|
background-position: left top;
|
|
background-repeat: no-repeat;
|
|
|
|
padding-right: 0.5em;
|
|
border-right: 1px solid #eee;
|
|
margin-right: 0.5em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-closeButton {
|
|
float: right;
|
|
position: relative;
|
|
top: 0.1em;
|
|
width: 1.5em;
|
|
height: 1.5em;
|
|
cursor: pointer;
|
|
filter: alpha(opacity=8);
|
|
opacity: 0.8;
|
|
/* @see ve.init.mw.Icons */
|
|
background-position: right top;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-body {
|
|
border-top: 1px solid #ddd;
|
|
padding-top: 1em;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#ve-init-mw-viewPageTarget-saveDialog-slide-diff .diff {
|
|
width: auto;
|
|
table-layout: auto;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-foot {
|
|
padding-top: 1em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-license {
|
|
font-size: 0.7em;
|
|
line-height: 1.25em;
|
|
padding: 0;
|
|
margin: 0;
|
|
color: #999;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-summary {
|
|
background-color: #fff;
|
|
border: solid 1px #cccccc;
|
|
border-bottom: none;
|
|
padding: 0.5em;
|
|
border-radius: 0.25em 0.25em 0 0;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-options {
|
|
position: relative;
|
|
background-color: #f7f7f7;
|
|
margin-bottom: 1em;
|
|
border: solid 1px #cccccc;
|
|
border-radius: 0 0 0.25em 0.25em;
|
|
min-height: 2.25em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-body label {
|
|
font-size: 0.8em;
|
|
line-height: 3em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog input[type="checkbox"] {
|
|
margin: 0 0.5em 0 1em;
|
|
line-height: 3em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-editSummary-label {
|
|
display: none;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-editSummaryCount {
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
border-left: solid 1px #eee;
|
|
line-height: 3em;
|
|
padding: 0 1em;
|
|
color: #aaa;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-editSummary {
|
|
border: none;
|
|
background-color: transparent;
|
|
margin: 0;
|
|
padding: 0;
|
|
resize: none;
|
|
font-size: 0.8em;
|
|
font-family: sans-serif;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-editSummary:focus {
|
|
outline: none;
|
|
}
|