jenkins-bot has submitted this change and it was merged.
Change subject: Using textarea for entering description
......................................................................
Using textarea for entering description
Bug: T86192
Change-Id: Ieca1e826be2e113bee7b2c6a3776fa276d66f5cd
---
M lib/resources/jquery.wikibase/jquery.wikibase.aliasesview.js
M lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js
M
lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
M lib/resources/jquery.wikibase/jquery.wikibase.labelview.js
M lib/resources/jquery.wikibase/resources.php
M
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.descriptionview.css
M
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css
M lib/resources/jquery.wikibase/themes/default/jquery.wikibase.labelview.css
8 files changed, 58 insertions(+), 21 deletions(-)
Approvals:
Adrian Lang: Looks good to me, approved
jenkins-bot: Verified
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.aliasesview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.aliasesview.js
index a3270e7..6fc659a 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.aliasesview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.aliasesview.js
@@ -60,6 +60,15 @@
.prop( 'lang', this.options.value.getLanguageCode() )
.prop( 'dir', $.util.getDirectionality(
this.options.value.getLanguageCode() ) );
}
+
+ this.$list.addClass( this.widgetFullName + '-input' );
+ },
+
+ /**
+ * @inheritdoc
+ */
+ destroy: function() {
+ this.$list.removeClass( this.widgetFullName + '-input' );
},
/**
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js
index 90e92db..e7fdb78 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js
@@ -14,6 +14,9 @@
*
* @option {wikibase.datamodel.Term} value
*
+ * @option {string} [inputNodeName='TEXTAREA']
+ * Should either be 'TEXTAREA' or 'INPUT'.
+ *
* @option {string} [helpMessage]
* Default: mw.msg( 'wikibase-description-input-help-message' )
*
@@ -36,6 +39,7 @@
'$text': '.wikibase-descriptionview-text'
},
value: null,
+ inputNodeName: 'TEXTAREA',
helpMessage: mw.msg( 'wikibase-description-input-help-message'
),
descriptionsChanger: null
},
@@ -59,6 +63,7 @@
if(
!( this.options.value instanceof wb.datamodel.Term )
|| !this.options.descriptionsChanger
+ || this.options.inputNodeName !== 'INPUT' &&
this.options.inputNodeName !== 'TEXTAREA'
) {
throw new Error( 'Required parameter(s) missing' );
}
@@ -125,13 +130,21 @@
return;
}
- var $input = $( '<input />', {
- // TODO: Inject correct placeholder via options
- placeholder: mw.msg(
+ var $input = $( document.createElement(
this.options.inputNodeName ) );
+
+ $input
+ .addClass( this.widgetFullName + '-input' )
+ // TODO: Inject correct placeholder via options
+ .attr( 'placeholder', mw.msg(
'wikibase-description-edit-placeholder-language-aware',
wb.getLanguageNameByCode( languageCode )
- ),
- dir: $.util.getDirectionality( languageCode )
+ )
+ )
+ .attr( 'dir', $.util.getDirectionality( languageCode ) )
+ .on( 'keydown.' + this.widgetName, function( event ) {
+ if( event.keyCode === $.ui.keyCode.ENTER ) {
+ event.preventDefault();
+ }
} )
.on( 'eachchange.' + this.widgetName, function( event ) {
self._trigger( 'change' );
@@ -142,7 +155,10 @@
}
if( $.fn.inputautoexpand ) {
- $input.inputautoexpand();
+ $input.inputautoexpand( {
+ expandHeight: true,
+ suppressNewLine: true
+ } );
}
this.$text.empty().append( $input );
@@ -223,7 +239,7 @@
if( !dropValue ) {
this.options.value = this.value();
} else if( this.options.value.getText() === '' ) {
- this.$text.children( 'input' ).val( '' );
+ this.$text.children( this.widgetFullName + '-input'
).val( '' );
}
this.element.removeClass( 'wb-edit' );
@@ -279,7 +295,7 @@
var response = PARENT.prototype._setOption.call( this, key,
value );
if( key === 'disabled' && this._isInEditMode ) {
- this.$text.children( 'input' ).prop( 'disabled', value
);
+ this.$text.children( this.widgetFullName + '-input'
).prop( 'disabled', value );
}
return response;
@@ -303,7 +319,7 @@
return new wb.datamodel.Term(
this.options.value.getLanguageCode(),
- $.trim( this.$text.children( 'input' ).val() )
+ $.trim( this.$text.children( this.widgetFullName +
'-input' ).val() )
);
},
@@ -312,7 +328,7 @@
*/
focus: function() {
if( this._isInEditMode ) {
- this.$text.children( 'input' ).focus();
+ this.$text.children( this.widgetFullName + '-input'
).focus();
} else {
this.element.focus();
}
diff --git
a/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
index d83b010..ce67f3b 100644
---
a/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
+++
b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
@@ -330,7 +330,7 @@
$.each( ['label', 'description', 'aliases'], function()
{
var $view = entitytermsforlanguageview['$' +
this + 'view'],
- autoExpandInput = $view.find( 'input'
).data( 'inputautoexpand' );
+ autoExpandInput = $view.find(
'input,textarea' ).data( 'inputautoexpand' );
if( autoExpandInput ) {
autoExpandInput.options( {
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.labelview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.labelview.js
index 4e2ab8e..df9d58d 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.labelview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.labelview.js
@@ -138,14 +138,17 @@
return;
}
- var $input = $( '<input />', {
- // TODO: Inject correct placeholder via options
- placeholder: mw.msg(
+ var $input = $( '<input />' );
+
+ $input
+ .addClass( this.widgetFullName + '-input' )
+ // TODO: Inject correct placeholder via options
+ .attr( 'placeholder', mw.msg(
'wikibase-label-edit-placeholder-language-aware',
wb.getLanguageNameByCode( languageCode )
- ),
- dir: $.util.getDirectionality( languageCode )
- } )
+ )
+ )
+ .attr( 'dir', $.util.getDirectionality( languageCode ) )
.on( 'eachchange.' + this.widgetName, function( event ) {
self._trigger( 'change' );
} );
diff --git a/lib/resources/jquery.wikibase/resources.php
b/lib/resources/jquery.wikibase/resources.php
index bf3d254..2ff9c1a 100644
--- a/lib/resources/jquery.wikibase/resources.php
+++ b/lib/resources/jquery.wikibase/resources.php
@@ -114,6 +114,7 @@
),
'dependencies' => array(
'jquery.inputautoexpand',
+ 'jquery.ui.core',
'jquery.ui.TemplatedWidget',
'jquery.util.getDirectionality',
'wikibase.datamodel.Term',
diff --git
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.descriptionview.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.descriptionview.css
index c3e2bbd..dc03833 100644
---
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.descriptionview.css
+++
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.descriptionview.css
@@ -6,7 +6,7 @@
background-color: inherit;
}
-.wikibase-descriptionview input {
+.wikibase-descriptionview .wikibase-descriptionview-input {
font-family: inherit;
font-size: inherit;
}
diff --git
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css
index 38d32c7..7b1857f 100644
---
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css
+++
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css
@@ -83,14 +83,22 @@
white-space: nowrap;
}
+.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview textarea {
+ white-space: normal; /* IE implicitly inherits nowrap from container
(.wikibase-*view-container) */
+}
+
.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview .wikibase-entitytermsforlanguageview-label
input,
-.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview
.wikibase-entitytermsforlanguageview-description input {
+.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview
.wikibase-entitytermsforlanguageview-description input,
+.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview .wikibase-entitytermsforlanguageview-label
textarea,
+.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview
.wikibase-entitytermsforlanguageview-description textarea {
border: 0;
border-bottom: 1px solid #C9C9C9;
outline: none;
}
.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview .wikibase-entitytermsforlanguageview-label
input:focus,
-.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview
.wikibase-entitytermsforlanguageview-description input:focus {
+.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview
.wikibase-entitytermsforlanguageview-description input:focus,
+.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview .wikibase-entitytermsforlanguageview-label
textarea:focus,
+.wikibase-entitytermsforlanguagelistview
.wikibase-entitytermsforlanguagelistview-listview
.wikibase-entitytermsforlanguageview
.wikibase-entitytermsforlanguageview-description textarea:focus{
border-color: #0b0080;
}
diff --git
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.labelview.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.labelview.css
index 3842cea..9d6b9d7 100644
--- a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.labelview.css
+++ b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.labelview.css
@@ -6,7 +6,7 @@
background-color: inherit;
}
-.wikibase-labelview input {
+.wikibase-labelview .wikibase-labelview-input {
font-family: inherit;
font-size: inherit;
}
--
To view, visit https://gerrit.wikimedia.org/r/183866
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ieca1e826be2e113bee7b2c6a3776fa276d66f5cd
Gerrit-PatchSet: 17
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <[email protected]>
Gerrit-Reviewer: Adrian Lang <[email protected]>
Gerrit-Reviewer: Henning Snater <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits