jenkins-bot has submitted this change and it was merged.

Change subject: Use placeholders only if the browser supports them
......................................................................


Use placeholders only if the browser supports them

Bug: 47039
Change-Id: If3a035c3f07723c6e25eac1b2d829a85dc9b481f
---
M Resources.php
M resources/js/ext.translate.base.js
M resources/js/ext.translate.editor.js
M resources/js/ext.translate.groupselector.js
M resources/js/ext.translate.messagetable.js
M specials/SpecialTranslate.php
6 files changed, 42 insertions(+), 17 deletions(-)

Approvals:
  Nikerabbit: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Resources.php b/Resources.php
index c8bdce0..0702471 100644
--- a/Resources.php
+++ b/Resources.php
@@ -107,6 +107,7 @@
        'scripts' => 'resources/js/ext.translate.groupselector.js',
        'position' => 'top',
        'dependencies' => array(
+               'ext.translate.base',
                'jquery.uls.grid',
                'ext.translate.statsbar',
                'mediawiki.jqueryMsg',
@@ -136,6 +137,7 @@
        'styles' => 'resources/css/ext.translate.messagetable.css',
        'position' => 'top',
        'dependencies' => array(
+               'ext.translate.base',
                'ext.translate.hooks',
                'mediawiki.util',
                'jquery.appear',
@@ -175,6 +177,7 @@
                'tux-empty-list-other-guide',
                'tux-empty-list-other-action',
                'tux-empty-list-other-link',
+               'tux-message-filter-placeholder',
                'translate-language-disabled',
        ),
 ) + $resourcePaths;
diff --git a/resources/js/ext.translate.base.js 
b/resources/js/ext.translate.base.js
index 111ceb3..f2104c8 100644
--- a/resources/js/ext.translate.base.js
+++ b/resources/js/ext.translate.base.js
@@ -9,6 +9,16 @@
                // indexed by language code
                languagestats: {},
 
+               /**
+                * Checks if the input placeholder attribute
+                * is supported on this element in this browser.
+                * @param {jQuery} element
+                * @return {boolean}
+                */
+               isPlaceholderSupported: function ( element ) {
+                       return ( 'placeholder' in element[0] );
+               },
+
                // Storage for language stats loader functions from API,
                // indexed by language code
                languageStatsLoader: {},
diff --git a/resources/js/ext.translate.editor.js 
b/resources/js/ext.translate.editor.js
index a239fc3..518edf5 100644
--- a/resources/js/ext.translate.editor.js
+++ b/resources/js/ext.translate.editor.js
@@ -372,7 +372,6 @@
 
                        $textArea = $( '<textarea>' )
                                .attr( {
-                                       placeholder: mw.msg( 
'tux-editor-placeholder' ),
                                        lang: $messageList.data( 
'targetlangcode' ),
                                        dir: $messageList.data( 'targetlangdir' 
)
                                } )
@@ -395,6 +394,10 @@
                                                $this.height( $this.height() + 
parseFloat( $this.css( 'fontSize' ) ) );
                                        }
                                } );
+
+                       if ( mw.translate.isPlaceholderSupported( $textArea ) ) 
{
+                               $textArea.prop( 'placeholder', mw.msg( 
'tux-editor-placeholder' ) );
+                       }
 
                        $textArea.on( 'input propertychange', function () {
                                var $textArea = $( this ),
@@ -634,7 +637,7 @@
                },
 
                prepareInfoColumn: function () {
-                       var $messageDescEditor,
+                       var $messageDescEditor, $messageDescTextarea,
                                $messageDescSaveButton, 
$messageDescCancelButton,
                                $messageDescViewer,
                                $infoColumn = $( '<div>' ).addClass( 
'infocolumn' ),
@@ -661,16 +664,19 @@
                                                
translateEditor.hideDocumentationEditor();
                                        } );
 
+                               $messageDescTextarea = $( '<textarea>' )
+                                       .on( 'input propertychange', function 
() {
+                                               $messageDescSaveButton.prop( 
'disabled', false );
+                                       } );
+
+                               if ( mw.translate.isPlaceholderSupported( 
$messageDescTextarea ) ) {
+                                       $messageDescTextarea.prop( 
'placeholder', mw.msg( 'tux-editor-doc-editor-placeholder' ) );
+                               }
+
                                $messageDescEditor = $( '<div>' )
                                        .addClass( 'row message-desc-editor 
hide' )
                                        .append(
-                                               $( '<textarea>' )
-                                                       .attr( {
-                                                               placeholder: 
mw.msg( 'tux-editor-doc-editor-placeholder' )
-                                                       } )
-                                                       .on( 'input 
propertychange', function () {
-                                                               
$messageDescSaveButton.prop( 'disabled', false );
-                                                       } ),
+                                               $messageDescTextarea,
                                                $( '<div>' )
                                                        .addClass( 'row' )
                                                        .append(
diff --git a/resources/js/ext.translate.groupselector.js 
b/resources/js/ext.translate.groupselector.js
index 6058bb9..8720e28 100644
--- a/resources/js/ext.translate.groupselector.js
+++ b/resources/js/ext.translate.groupselector.js
@@ -39,6 +39,7 @@
                                $listFilters,
                                $listFiltersGroup,
                                $search,
+                               $searchInput,
                                $searchIcon,
                                $searchGroup,
                                $loader,
@@ -57,14 +58,16 @@
                        $searchIcon = $( '<div>' )
                                .addClass( 'two columns 
ext-translate-msggroup-search-icon' );
 
+                       $searchInput = $( '<input>' )
+                               .prop( 'type', 'text' )
+                               .addClass( 
'ext-translate-msggroup-search-input' );
+
+                       if ( mw.translate.isPlaceholderSupported( $searchInput 
) ) {
+                               $searchInput.prop( 'placeholder', mw.msg( 
'translate-msggroupselector-search-placeholder' ) );
+                       }
+
                        $search = $( '<div>' ).addClass( 'ten columns' )
-                               .append(
-                                       $( '<input type="text">' )
-                                               .addClass( 
'ext-translate-msggroup-search-input' )
-                                               .attr( {
-                                                       placeholder: mw.msg( 
'translate-msggroupselector-search-placeholder' )
-                                               } )
-                               );
+                               .append( $searchInput );
 
                        $listFilters = $( '<div>' ).addClass( 'filters six 
columns' )
                                .append(
diff --git a/resources/js/ext.translate.messagetable.js 
b/resources/js/ext.translate.messagetable.js
index 348ec09..f2efeff 100644
--- a/resources/js/ext.translate.messagetable.js
+++ b/resources/js/ext.translate.messagetable.js
@@ -84,6 +84,10 @@
                                $( '.tux-action-bar' ).width( $( 
'.tux-messagelist' ).width() );
                        } );
 
+                       if ( mw.translate.isPlaceholderSupported( $filterInput 
) ) {
+                               $filterInput.prop( 'placeholder', mw.msg( 
'tux-message-filter-placeholder' ) );
+                       }
+
                        $filterInput.on( 'input propertychange', function () {
                                delay( function () {
                                        messageTable.search( $filterInput.val() 
);
diff --git a/specials/SpecialTranslate.php b/specials/SpecialTranslate.php
index 698113b..65c75c1 100644
--- a/specials/SpecialTranslate.php
+++ b/specials/SpecialTranslate.php
@@ -495,7 +495,6 @@
                $output .= Html::element( 'input', array(
                        'class' => 'ten columns tux-message-filter-box',
                        'type' => 'text',
-                       'placeholder' => $this->msg( 
'tux-message-filter-placeholder' )->escaped()
                ) );
                $output .= Html::element( 'span', array( 'class' => 'one 
columns tux-message-filter-box-clear hide' ) );
                $output .= Html::closeElement( 'div' ); // close three columns

-- 
To view, visit https://gerrit.wikimedia.org/r/58423
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If3a035c3f07723c6e25eac1b2d829a85dc9b481f
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Amire80 <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: Nikerabbit <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to