Index: trunk/extensions/ArticleFeedbackv5/modules/ext.articleFeedbackv5/ext.articleFeedbackv5.css |
— | — | @@ -16,3 +16,31 @@ |
17 | 17 | white-space: nowrap; |
18 | 18 | } |
19 | 19 | |
| 20 | +#articleFeedbackv5-fixedtablink { |
| 21 | + display: block; |
| 22 | + position: fixed; |
| 23 | + margin: 0px; |
| 24 | + padding: 5px 10px; |
| 25 | + color: #333; |
| 26 | + border: 1px solid #555599; |
| 27 | + border-top: 0px solid #555599; |
| 28 | + background-color: #eeeef9; |
| 29 | + |
| 30 | + text-align: center; |
| 31 | + |
| 32 | + -moz-transform:rotate(90deg); |
| 33 | + -moz-transform-origin: top right; |
| 34 | + -webkit-transform: rotate(90deg); |
| 35 | + -webkit-transform-origin: top right; |
| 36 | + -o-transform: rotate(90deg); |
| 37 | + -o-transform-origin: top right; |
| 38 | + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); |
| 39 | + |
| 40 | + top: 45%; |
| 41 | + right: 0%; |
| 42 | + |
| 43 | +} |
| 44 | +#articleFeedbackv5-fixedtablink:hover { |
| 45 | + text-decoration: none; |
| 46 | +} |
| 47 | + |
Index: trunk/extensions/ArticleFeedbackv5/modules/ext.articleFeedbackv5/ext.articleFeedbackv5.js |
— | — | @@ -64,7 +64,7 @@ |
65 | 65 | if ( '5' == displayBucket || '0' == displayBucket ) { |
66 | 66 | return '0'; |
67 | 67 | } |
68 | | - var knownBuckets = { '0': true, '1': true, '2': true }; |
| 68 | + var knownBuckets = { '0': true, '1': true, '2': true, '3': true }; |
69 | 69 | var requested = mw.util.getParamValue( 'aft_link' ); |
70 | 70 | if ( $aftDiv.articleFeedbackv5( 'inDebug' ) && requested in knownBuckets ) { |
71 | 71 | return requested; |
— | — | @@ -72,9 +72,8 @@ |
73 | 73 | var bucketName = mw.user.bucket( 'ext.articleFeedbackv5-links', |
74 | 74 | mw.config.get( 'wgArticleFeedbackv5LinkBuckets' ) |
75 | 75 | ); |
76 | | - var nameMap = { '-': 0, 'A': 1, 'B': 2 }; |
| 76 | + var nameMap = { '-': '0', 'A': '1', 'B': '2', 'C': '3' }; |
77 | 77 | return nameMap[bucketName]; |
78 | | - |
79 | 78 | } |
80 | 79 | }(); |
81 | 80 | if ( $aftDiv.articleFeedbackv5( 'inDebug' ) ) { |
— | — | @@ -109,6 +108,19 @@ |
110 | 109 | $aftDiv.articleFeedbackv5( 'addToRemovalQueue', $tlk ); |
111 | 110 | } |
112 | 111 | |
| 112 | +/* Add fixed tab link */ |
| 113 | +if( '3' == linkBucket ) { |
| 114 | + var $fixedTab = $( '<a href="#mw-articleFeedbackv5" id="articleFeedbackv5-fixedtablink"></a>') |
| 115 | + .data( 'linkId', 3 ) |
| 116 | + .text( mw.msg( 'articlefeedbackv5-fixedtab-linktext' ) ) |
| 117 | + .click( function( e ) { |
| 118 | + e.preventDefault(); |
| 119 | + clickFeedbackLink( $( e.target ) ); |
| 120 | + } ) |
| 121 | + .insertBefore( $aftDiv ); |
| 122 | + $aftDiv.articleFeedbackv5( 'addToRemovalQueue', $fixedTab ); |
| 123 | +} |
| 124 | + |
113 | 125 | /* Add toolbox link */ |
114 | 126 | if ( '5' == $aftDiv.articleFeedbackv5( 'getBucketId' ) ) { |
115 | 127 | var $aftLink4 = $( '<li id="t-articlefeedbackv5"><a href="#mw-articlefeedbackv5"></a></li>' ) |
Index: trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.php |
— | — | @@ -120,12 +120,12 @@ |
121 | 121 | // -: No link; user must scroll to the bottom of the page |
122 | 122 | // A: Section bars |
123 | 123 | // B: Title bar |
124 | | - // C: Vertical button |
| 124 | + // C: Vertical button (fixed tab) |
125 | 125 | 'buckets' => array( |
126 | 126 | '-' => 0, |
127 | 127 | 'A' => 0, |
128 | | - 'B' => 100, |
129 | | - 'C' => 0, |
| 128 | + 'B' => 0, |
| 129 | + 'C' => 100, |
130 | 130 | ), |
131 | 131 | // This version number is added to all tracking event names, so that |
132 | 132 | // changes in the software don't corrupt the data being collected. Bump |
Index: trunk/extensions/ArticleFeedbackv5/ArticleFeedbackv5.hooks.php |
— | — | @@ -21,6 +21,7 @@ |
22 | 22 | 'messages' => array( |
23 | 23 | 'articlefeedbackv5-section-linktext', |
24 | 24 | 'articlefeedbackv5-titlebar-linktext', |
| 25 | + 'articlefeedbackv5-fixedtab-linktext', |
25 | 26 | 'articlefeedbackv5-toolbox-linktext', |
26 | 27 | ), |
27 | 28 | 'dependencies' => array( |