https://www.mediawiki.org/wiki/Special:Code/MediaWiki/103364

Revision: 103364
Author:   rsterbin
Date:     2011-11-16 19:51:36 +0000 (Wed, 16 Nov 2011)
Log Message:
-----------
Option 1 button events:
        - Make the selected button blue and the unselected one gray
        - Check the associated hidden radio
        - Switch out the default text
        - Enable the form
Also updated the focus/blur event for textarea to take the two default messages
        into account

Modified Paths:
--------------
    trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.hooks.php
    trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.i18n.php
    
trunk/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.css
    
trunk/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.js

Modified: trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.hooks.php
===================================================================
--- trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.hooks.php      
2011-11-16 19:51:02 UTC (rev 103363)
+++ trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.hooks.php      
2011-11-16 19:51:36 UTC (rev 103364)
@@ -69,7 +69,8 @@
                                
'articlefeedbackv5-bucket1-toggle-found-yes-full',
                                'articlefeedbackv5-bucket1-toggle-found-no',
                                
'articlefeedbackv5-bucket1-toggle-found-no-full',
-                               'articlefeedbackv5-bucket1-question-comment',
+                               
'articlefeedbackv5-bucket1-question-comment-yes',
+                               'articlefeedbackv5-bucket1-question-comment-no',
                                'articlefeedbackv5-bucket1-disclosure',
                                
'articlefeedbackv5-bucket1-disclosure-shared-linktext',
                                
'articlefeedbackv5-bucket1-disclosure-privacy-policy-linktext',

Modified: trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.i18n.php
===================================================================
--- trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.i18n.php       
2011-11-16 19:51:02 UTC (rev 103363)
+++ trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.i18n.php       
2011-11-16 19:51:36 UTC (rev 103364)
@@ -39,7 +39,8 @@
        'articlefeedbackv5-bucket1-toggle-found-no' => 'No',
        'articlefeedbackv5-bucket1-toggle-found-yes-full' => 'Yes, I found what 
I was looking for.',
        'articlefeedbackv5-bucket1-toggle-found-no-full' => 'No, I did not find 
what I was looking for.',
-       'articlefeedbackv5-bucket1-question-comment' => 'What\'s missing? Any 
suggestions for improvement?',
+       'articlefeedbackv5-bucket1-question-comment-yes' => 'What did you like 
most?  Share your praise with the editors.',
+       'articlefeedbackv5-bucket1-question-comment-no' => 'What\'s missing? 
Any suggestions for improvement?',
        'articlefeedbackv5-bucket1-disclosure' => 'Your Feedback will be shared 
$1. Seee our $2 for more details.',
     'articlefeedbackv5-bucket1-disclosure-shared-linktext' => 'here',
     'articlefeedbackv5-bucket1-disclosure-privacy-policy-linktext' => 'privacy 
policy',

Modified: 
trunk/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.css
===================================================================
--- 
trunk/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.css
    2011-11-16 19:51:02 UTC (rev 103363)
+++ 
trunk/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.css
    2011-11-16 19:51:36 UTC (rev 103364)
@@ -449,7 +449,7 @@
        cursor: pointer;
        text-decoration: none;
 }
-.articleFeedbackv5-panel .button-placeholder {
+.articleFeedbackv5-panel .articleFeedbackv5-button-placeholder {
        display: inline-block;
        height: 20px;
        width: 50px;
@@ -477,11 +477,11 @@
 .articleFeedbackv5-panel .buttons input {
        display: none;
 }
-.articleFeedbackv5-panel .buttons .button-placeholder:hover {
+.articleFeedbackv5-panel .buttons .articleFeedbackv5-button-placeholder:hover {
        background: url(images/bg-button.png) repeat-x;
        cursor: pointer;
 }
-.articleFeedbackv5-panel .buttons .button-placeholder-active {
+.articleFeedbackv5-panel .buttons .articleFeedbackv5-button-placeholder-active 
{
        background: url(images/bg-button.png) repeat-x;
 }
 .articleFeedbackv5-panel .feedback-text {
@@ -519,4 +519,4 @@
        text-align: center;
        color: #fff;
        text-shadow: 1px 1px 1px #000;
-}
\ No newline at end of file
+}

Modified: 
trunk/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.js
===================================================================
--- 
trunk/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.js
     2011-11-16 19:51:02 UTC (rev 103363)
+++ 
trunk/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.js
     2011-11-16 19:51:36 UTC (rev 103364)
@@ -145,18 +145,18 @@
                                                </div>\
                                                <div class="clear"></div>\
                                        </div>\
-                                       <div class="form-row">\
+                                       <div class="form-row 
articleFeedbackv5-bucket1-toggle">\
                                                <p 
class="instructions-left"><html:msg key="bucket1-question-toggle" /></p>\
                                                <div class="buttons">\
-                                                       <div class="form-item">\
-                                                               <label 
for="find-yes"><html:msg key="bucket1-toggle-found-yes-full" /></label>\
-                                                               <span 
class="button-placeholder"><html:msg key="bucket1-toggle-found-yes" /></span>\
-                                                               <input 
type="radio" name="toggle" id="find-yes" class="query-button" />\
+                                                       <div class="form-item" 
rel="yes" id="articleFeedbackv5-bucket1-toggle-wrapper-yes">\
+                                                               <label 
for="articleFeedbackv5-bucket1-toggle-yes"><html:msg 
key="bucket1-toggle-found-yes-full" /></label>\
+                                                               <span 
class="articleFeedbackv5-button-placeholder"><html:msg 
key="bucket1-toggle-found-yes" value="yes" /></span>\
+                                                               <input 
type="radio" name="toggle" id="articleFeedbackv5-bucket1-toggle-yes" 
class="query-button" />\
                                                        </div>\
-                                                       <div class="form-item">\
-                                                               <label 
for="find-no"><html:msg key="bucket1-toggle-found-no-full" /></label>\
-                                                               <span 
class="button-placeholder"><html:msg key="bucket1-toggle-found-no" /></span>\
-                                                               <input 
type="radio" name="toggle" id="find-no" class="query-button last" />\
+                                                       <div class="form-item" 
rel="no" id="articleFeedbackv5-bucket1-toggle-wrapper-no">\
+                                                               <label 
for="articleFeedbackv5-bucket1-toggle-no"><html:msg 
key="bucket1-toggle-found-no-full" /></label>\
+                                                               <span 
class="articleFeedbackv5-button-placeholder"><html:msg 
key="bucket1-toggle-found-no" /></span>\
+                                                               <input 
type="radio" name="toggle" id="articleFeedbackv5-bucket1-toggle-no" 
class="query-button last" value="no" />\
                                                        </div>\
                                                        <div 
class="clear"></div>\
                                                </div>\
@@ -177,10 +177,6 @@
                                // Start out the tooltip hidden
                                $block.find( '.articleFeedbackv5-tooltip' 
).hide();
 
-                               // Set the default comment text
-                               $block.find( '.articleFeedbackv5-comment 
textarea' )
-                                       .val( mw.msg( 
'articlefeedbackv5-bucket1-question-comment' ) );
-
                                // Fill in the disclosure text
                                $block.find( '.articleFeedbackv5-disclosure p' )
                                        .html( $.articleFeedbackv5.buildLink(
@@ -221,6 +217,7 @@
                         */
                        bindEvents: function ( $block ) {
 
+                               // Tooltip
                                $block.find( 
'.articleFeedbackv5-tooltip-trigger' ).hover( function () {
                                        // mouse on
                                        $.articleFeedbackv5.$holder.find( 
'.articleFeedbackv5-tooltip' ).show();
@@ -232,26 +229,52 @@
                                // Clear out the question on focus
                                $block.find( '.articleFeedbackv5-comment 
textarea' )
                                        .focus( function () {
-                                               var def_msg = mw.msg( 
'articlefeedbackv5-bucket1-question-comment' );
+                                               var def_msg = '';
+                                               var val = 
$.articleFeedbackv5.$holder.find( '.articleFeedbackv5-bucket1-toggle 
input:checked' ).val();
+                                               if ( val == 'yes' ) {
+                                                       def_msg = mw.msg( 
'articlefeedbackv5-bucket1-question-comment-yes' );
+                                               } else if ( val == 'no' ) {
+                                                       def_msg = mw.msg( 
'articlefeedbackv5-bucket1-question-comment-no' );
+                                               }
                                                if ( $( this ).val() == def_msg 
) {
                                                        $( this ).val( '' );
                                                }
                                        } )
                                        .blur( function () {
+                                               var def_msg = '';
+                                               var val = 
$.articleFeedbackv5.$holder.find( '.articleFeedbackv5-bucket1-toggle 
input:checked' ).val();
+                                               if ( val == 'yes' ) {
+                                                       def_msg = mw.msg( 
'articlefeedbackv5-bucket1-question-comment-yes' );
+                                               } else if ( val == 'no' ) {
+                                                       def_msg = mw.msg( 
'articlefeedbackv5-bucket1-question-comment-no' );
+                                               }
                                                if ( $( this ).val() == '' ) {
-                                                       $( this ).val( mw.msg( 
'articlefeedbackv5-bucket1-question-comment' ) );
+                                                       $( this ).val( def_msg 
);
                                                }
                                        } );
 
-                               // Enable submission on toggle selection
-                               $block.find( '.articleFeedbackv5-bucket1-toggle 
input' )
-                                       .change( function () {
-                                               var $h = 
$.articleFeedbackv5.$holder;
-                                               if ( $h.find( 
'.articleFeedbackv5-bucket1-toggle input:checked' ).length > 0 ) {
-                                                       
$.articleFeedbackv5.currentBucket().enableSubmission( true );
-                                               } else {
-                                                       
$.articleFeedbackv5.currentBucket().enableSubmission( false );
+                               // Enable submission and switch out the comment 
default on toggle selection
+                               $block.find( 
'.articleFeedbackv5-button-placeholder' )
+                                       .click( function ( e ) {
+                                               var new_val = $( this 
).parent().attr( 'rel' );
+                                               var old_val = ( new_val == 
'yes' ? 'no' : 'yes' );
+                                               var $wrap = 
$.articleFeedbackv5.$holder.find( '#articleFeedbackv5-bucket1-toggle-wrapper-' 
+ new_val );
+                                               var $other_wrap = 
$.articleFeedbackv5.$holder.find( '#articleFeedbackv5-bucket1-toggle-wrapper-' 
+ old_val );
+                                               // make the button blue
+                                               $wrap.find( 'span' ).addClass( 
'articleFeedbackv5-button-placeholder-active' );
+                                               $other_wrap.find( 'span' 
).removeClass( 'articleFeedbackv5-button-placeholder-active' );
+                                               // check/uncheck radio buttons
+                                               $wrap.find( 'input' ).attr( 
'checked', 'checked' );
+                                               $other_wrap.find( 'input' 
).attr( 'checked', '' );
+                                               // set default comment message
+                                               var $txt = 
$.articleFeedbackv5.$holder.find( '.articleFeedbackv5-comment textarea' );
+                                               var def_msg_yes = mw.msg( 
'articlefeedbackv5-bucket1-question-comment-yes' );
+                                               var def_msg_no = mw.msg( 
'articlefeedbackv5-bucket1-question-comment-no' );
+                                               if ( $txt.val() == '' || 
$txt.val() == def_msg_yes || $txt.val() == def_msg_no ) {
+                                                       $txt.val( new_val == 
'yes' ? def_msg_yes : def_msg_no );
                                                }
+                                               // enable submission
+                                               
$.articleFeedbackv5.currentBucket().enableSubmission( true );
                                        } );
 
                                // Attach the submit


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

Reply via email to