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

Reply via email to