Esanders has uploaded a new change for review.
https://gerrit.wikimedia.org/r/227736
Change subject: Support other types of 'empty' document placeholders
......................................................................
Support other types of 'empty' document placeholders
Currently we assueme an empty document is <p></p>, but it could
be <h2></h2> or <pre></pre>, so clone the first node for the
placeholder rendering.
Bug: T106582
Change-Id: Idd38b7d53d4f04d8612f5eafe34740f047c648ca
---
M src/ui/ve.ui.Surface.js
1 file changed, 25 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor
refs/changes/36/227736/1
diff --git a/src/ui/ve.ui.Surface.js b/src/ui/ve.ui.Surface.js
index 7d2aef1..56e3b74 100644
--- a/src/ui/ve.ui.Surface.js
+++ b/src/ui/ve.ui.Surface.js
@@ -315,7 +315,7 @@
*/
ve.ui.Surface.prototype.onDocumentTransact = function () {
if ( this.placeholder ) {
- this.$placeholder.toggleClass( 'oo-ui-element-hidden',
this.getModel().getDocument().data.hasContent() );
+ this.updatePlaceholder();
}
};
@@ -327,17 +327,36 @@
ve.ui.Surface.prototype.setPlaceholder = function ( placeholder ) {
this.placeholder = placeholder;
if ( this.placeholder ) {
- this.$placeholder
- .toggleClass( 'oo-ui-element-hidden',
this.getModel().getDocument().data.hasContent() )
- // Requires a paragraph to match margins
- .empty().append( $( '<p>' ).text( this.placeholder ) )
- .prependTo( this.$element );
+ this.$placeholder.prependTo( this.$element );
+ this.updatePlaceholder();
} else {
this.$placeholder.detach();
}
};
/**
+ * Update placeholder rendering
+ */
+ve.ui.Surface.prototype.updatePlaceholder = function () {
+ var firstNode, $wrapper,
+ hasContent = this.getModel().getDocument().data.hasContent();
+
+ this.$placeholder.toggleClass( 'oo-ui-element-hidden', hasContent );
+ if ( !hasContent ) {
+ firstNode =
this.getView().documentView.documentNode.getNodeFromOffset( 1 );
+ if ( firstNode ) {
+ $wrapper = firstNode.$element.clone();
+ if ( ve.debug ) {
+ $wrapper.removeAttr( 'style' );
+ }
+ } else {
+ $wrapper = $( '<p>' );
+ }
+ this.$placeholder.empty().append( $wrapper.text(
this.placeholder ) );
+ }
+};
+
+/**
* Execute an action or command.
*
* @method
--
To view, visit https://gerrit.wikimedia.org/r/227736
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idd38b7d53d4f04d8612f5eafe34740f047c648ca
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits