mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-27 20:26:46 +00:00
f31dc45da8
Objectives: * Make the link inspector easier to use * Try to resolve a few bugs (bug 43841, bug 43063, bug 42986) * Stop using jquery.multiSuggest (which didn't really understand annotations) * Better divide MediaWiki specifics from generic implementations Changes: VisualEditor.php, modules/ve/test/index.php, demos/ve/index.php * Updated links to files ve.Registry * Fixed mistake where registry was initialized as an array - this didn't cause any errors because you can add arbitrary properties to an array and use it like any other object ve.Factory * Removed duplicate initialization of registry property * Added entries property, which is an array that's appended to for tracking the order of registrations ve.CommandRegistry * Added mwLink command which opens the mwLink inspector ve.ui.TextInputWidget * Added basic widget class for text inputs ve.ui.TextInputMenuWidget * Added widget that provides a menu of options for a text input widget ve.ui.MWLinkTargetInputWidget * Added MediaWiki specific link target widget ve.ui.MenuWidget * Converted ve.ui.Menu into a widget * Moved the body of onSelect to onMouseUp ve.ui.LinkTargetInputWidget * Added link target widget which adds link annotation functionality to a normal text input ve.ui.InputWidget * Added generic input widget which emits reliable and instant change events and synchronizes a value property with the DOM value ve.ui.Widget * Added base widget class * Widgets can be used in any frame ve.ui.Tool * Fixed line length issues ve.ui.InspectorFactory * Made use of new entries property for factories to select the most recently added inspector if more than one match a given annotation ve.ui.Inspector * Added auto-focus on the first visible input element on open * Moved afterClose event to after re-focus on document on close * Added documentation ve.ui.Frame * Adjusted documentation * Added binding of $$ to the frame context so it can be passed around * Added documentation ve.ui.Context * Added ve.ui.Widget.css to iframes * Updated code as per moving of ve.ui.Menu to ve.ui.MenuWidget * Removed unused positionBelowOverlay method * Added CSS settings to set overlay left and width properties according to context size * Added documentation ve.ui.DropdownTool * Updated code as per moving of ve.ui.Menu to ve.ui.MenuWidget ve.ui.FormatDropdownTool * Added documentation ve.ui.MWLinkButtonTool * Added MediaWiki specific version of ve.ui.LinkButtonTool, which opens the mwLink inspector ve.ui.Widget.css * Added styles for all widgets ve.ui.Tool.css, ve.init.sa.css, ve.init.mw.ViewPageTarget.css, ve.init.mw.ViewPageTarget-apex.css * Updated code as per moving of ve.ui.Menu to ve.ui.MenuWidget ve.ui.Menu.css * Deleted (merged into ve.ui.Widget.css) ve.ui.Menu.css * Deleted suggest styles (no longer used) pending.gif, pending.psd * Added diagonal stripe animation to indicate a pending request to the API ve.ui.MWLinkInspector * Added MediaWiki specific inspector which uses MediaWiki specific annotations and widgets ve.ui.LinkInspector * Removed mw global hint (not needed anymore) * Switched from comparing targets to annotations (since the target text is ambiguous in some situations) * Switched to using input widget, which is configured using a static property * Removed use of jquery.multiSuggest * Moved MediaWiki specifics to their own class (ve.ui.MWLinkInspector) ve.init.mw.ViewPageTarget * Added MediaWiki specific toolbar and command options Change-Id: I859b5871a9d2f17d970c002067c8ff24f3513e9f
366 lines
8.5 KiB
CSS
366 lines
8.5 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-menuWidget {
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-pageTitle {
|
|
-webkit-transition: opacity 200ms ease-out;
|
|
-moz-transition: opacity 200ms ease-out;
|
|
-ms-transition: opacity 200ms ease-out;
|
|
-o-transition: opacity 200ms ease-out;
|
|
transition: opacity 200ms ease-out;
|
|
cursor: default;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-loading {
|
|
width: 128px;
|
|
height: 15px;
|
|
float: right;
|
|
}
|
|
|
|
/* Edit notices */
|
|
|
|
.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-editNotices-notice {
|
|
padding: 0.5em 0;
|
|
font-size: 0.8em;
|
|
line-height: 1.5em;
|
|
border-top: solid 1px #ccc;
|
|
margin-top: -1px;
|
|
}
|
|
|
|
/* Tools */
|
|
|
|
.ve-init-mw-viewPageTarget-tool {
|
|
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-tool-label {
|
|
font-size: 0.8em;
|
|
color: #555555;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-tool:hover .ve-init-mw-viewPageTarget-tool-label {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
/* Buttons */
|
|
|
|
.ve-init-mw-viewPageTarget-button {
|
|
display: inline-block;
|
|
height: 1.8em;
|
|
margin: 0.1em 0.25em;
|
|
padding: 0 0.75em;
|
|
border-radius: 0.25em;
|
|
vertical-align: top;
|
|
color: #252525;
|
|
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
|
text-align: center;
|
|
font-size: 1em;
|
|
cursor: pointer;
|
|
-webkit-touch-callout: none;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
|
|
/* Gray */
|
|
border: 1px #c9c9c9 solid;
|
|
background-color: #ffffff;
|
|
filter: progid:DXImageTransform.Microsoft.gradient(
|
|
GradientType=0,startColorstr=#ffffff, endColorstr=#f0f0f0
|
|
);
|
|
background-image: -webkit-gradient(
|
|
linear, right top, right bottom, color-stop(0%,#ffffff), color-stop(100%,#f0f0f0)
|
|
);
|
|
background-image: -webkit-linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
|
|
background-image: -moz-linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
|
|
background-image: -ms-linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
|
|
background-image: -o-linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
|
|
background-image: linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-button-constructive {
|
|
/* Green */
|
|
border: solid 1px #c3e59a;
|
|
background-color: #f0fbe1;
|
|
filter: progid:DXImageTransform.Microsoft.gradient(
|
|
GradientType=0,startColorstr=#f0fbe1, endColorstr=#c3e59a
|
|
);
|
|
background-image: -webkit-gradient(
|
|
linear, right top, right bottom, color-stop(0%,#f0fbe1), color-stop(100%,#c3e59a)
|
|
);
|
|
background-image: -webkit-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
|
|
background-image: -moz-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
|
|
background-image: -ms-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
|
|
background-image: -o-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
|
|
background-image: linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-button-primary {
|
|
/* Blue */
|
|
border: solid 1px #b0d9ee;
|
|
background-color: #eaf4fa;
|
|
filter: progid:DXImageTransform.Microsoft.gradient(
|
|
GradientType=0,startColorstr=#eaf4fa, endColorstr=#b0d9ee
|
|
);
|
|
background-image: -webkit-gradient(
|
|
linear, right top, right bottom, color-stop(0%,#eaf4fa), color-stop(100%,#b0d9ee)
|
|
);
|
|
background-image: -webkit-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
|
|
background-image: -moz-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
|
|
background-image: -ms-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
|
|
background-image: -o-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
|
|
background-image: linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-actions .ve-init-mw-viewPageTarget-button {
|
|
float: right;
|
|
margin: 0 0 0 1em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-button:hover {
|
|
border-color: #aaa;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-button:active {
|
|
border-color: #ddd;
|
|
box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.07);
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-button-disabled {
|
|
filter: alpha(opacity=50);
|
|
opacity: 0.5;
|
|
cursor: default;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-button-disabled:hover {
|
|
border-color: #ccc;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-button-label {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
line-height: 2.3em;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
/* Save dialog styles */
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-working {
|
|
display: none;
|
|
float: right;
|
|
height: 2em;
|
|
width: 128px;
|
|
margin-right: 1em;
|
|
background-position: right center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.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: 2.5em 0.75em 0.75em 0.75em;
|
|
margin: 0 0 0 0.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;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-slide {
|
|
display: none;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-slide-review .ve-init-mw-viewPageTarget-saveDialog-viewer {
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-slide-review .ve-init-mw-viewPageTarget-saveDialog-viewer pre {
|
|
margin: 0;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-slide-review .ve-init-mw-viewPageTarget-saveDialog-viewer .diff {
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-foot {
|
|
padding-top: 1em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-license,
|
|
.ve-init-mw-viewPageTarget-saveDialog-report-notice {
|
|
font-size: 0.7em;
|
|
line-height: 1.25em;
|
|
padding: 0;
|
|
margin: 0;
|
|
color: #999;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-summary,
|
|
.ve-init-mw-viewPageTarget-saveDialog-report {
|
|
background-color: #fff;
|
|
border: solid 1px #cccccc;
|
|
padding: 0.5em;
|
|
border-radius: 0.25em 0.25em 0 0;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-report {
|
|
margin-bottom: 1em;
|
|
border-radius: 0.25em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-summary-focused,
|
|
.ve-init-mw-viewPageTarget-saveDialog-report-focused {
|
|
border-color: #aaa;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-options {
|
|
position: relative;
|
|
background-color: #f7f7f7;
|
|
margin-bottom: 1em;
|
|
border: solid 1px #cccccc;
|
|
border-top: none;
|
|
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-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,
|
|
.ve-init-mw-viewPageTarget-saveDialog-problem {
|
|
border: none;
|
|
background-color: transparent;
|
|
margin: 0;
|
|
padding: 0;
|
|
resize: none;
|
|
font-size: 0.8em;
|
|
font-family: sans-serif;
|
|
height: 5em;
|
|
}
|
|
|
|
.ve-init-mw-viewPageTarget-saveDialog-editSummary:focus,
|
|
.ve-init-mw-viewPageTarget-saveDialog-problem:focus {
|
|
outline: none;
|
|
}
|
|
|
|
/* Images */
|
|
|
|
.ve-init-mw-viewPageTarget-loading,
|
|
.ve-init-mw-viewPageTarget-saveDialog-working {
|
|
/* @embed */
|
|
background-image: url(images/loading.gif);
|
|
}
|