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

Revision: 114591
Author:   raindrift
Date:     2012-03-29 01:10:18 +0000 (Thu, 29 Mar 2012)
Log Message:
-----------
made the controls to get the filter dropdown menu.
still need to make the menu itself

Modified Paths:
--------------
    trunk/extensions/PageTriage/SpecialPageTriage.php
    
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.css
    
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.js
    
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listView.js

Modified: trunk/extensions/PageTriage/SpecialPageTriage.php
===================================================================
--- trunk/extensions/PageTriage/SpecialPageTriage.php   2012-03-29 00:57:16 UTC 
(rev 114590)
+++ trunk/extensions/PageTriage/SpecialPageTriage.php   2012-03-29 01:10:18 UTC 
(rev 114591)
@@ -68,6 +68,7 @@
                $triageInterface .= "<div id='mwe-pt-list-stats-nav' 
class='mwe-pt-navigation-bar'></div>";
                
                // These are the templates that backbone/underscore render on 
the client.
+               // It would be awesome if they lived in separate files, but we 
need to figure out how to make RL do that for us.
                $triageInterface .= <<<HTML
                                <!-- individual list item template -->
                                <script type="text/template" 
id="listItemTemplate">
@@ -160,8 +161,17 @@
                                <script type="text/template" 
id="listControlNavTemplate">
                                        <span 
class="mwe-pt-control-label"><b><%= gM( 'pagetriage-showing' ) %></b> some 
things</span>
                                        <span 
class="mwe-pt-control-label-right"><%= gM( 'pagetriage-article-count', 100, 
'untriaged' ) %></span><br/>
-                                       <span 
class="mwe-pt-control-label"><b><%= gM( 'pagetriage-filter-list-prompt' ) %> 
&#x25b8;</b></span><!-- &#x25be; is the down arrow -->
+                                       <span 
id="mwe-pt-filter-dropdown-control" class="mwe-pt-control-label">
+                                               <b>
+                                                       <%= gM( 
'pagetriage-filter-list-prompt' ) %>
+                                                       <span 
id="mwe-pt-dropdown-arrow">&#x25b8;</span>
+                                                       <!--<span 
class="mwe-pt-dropdown-open">&#x25be;</span>-->
+                                               </b>
+                                       </span>
                                        <span 
class="mwe-pt-control-label-right"><b><%= gM( 'pagetriage-viewing' ) %></b> 
Sort Controls</span>
+                                       <div id="mwe-pt-control-dropdown">
+                                               foo bar
+                                       </div>
                                </script>
                                
                                <script type="text/template" 
id="listStatsNavTemplate">

Modified: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.css
===================================================================
--- 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.css
  2012-03-29 00:57:16 UTC (rev 114590)
+++ 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.css
  2012-03-29 01:10:18 UTC (rev 114591)
@@ -20,3 +20,26 @@
        float: right;
        padding-right: 1em;
 }
+
+.mwe-pt-control-dropdown {
+       visibility: hidden;
+       width: 250px
+       height: ;
+}
+
+#mwe-pt-control-dropdown {
+       position: absolute;
+       background-color: #bebebe;
+       left: 5em;
+       visibility: hidden;
+}
+
+#mwe-pt-filter-dropdown-control {
+       /* make this match the overall link color */
+       color: blue;
+}
+
+span:hover #mwe-pt-filter-dropdown-control {
+       /* TODO: make this actually work */
+       cursor: pointer;
+}

Modified: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.js
===================================================================
--- 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.js
   2012-03-29 00:57:16 UTC (rev 114590)
+++ 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.js
   2012-03-29 01:10:18 UTC (rev 114591)
@@ -4,14 +4,16 @@
        mw.pageTriage.ListControlNav = Backbone.View.extend( {
                tagName: "div",
                template: _.template( $( "#listControlNavTemplate" ).html() ),
+               filterMenuVisible: 0,
 
                initialize: function() {
+                       var _this = this;
+                       
                        // make a floating top navbar
                        // TODO: there's a bump when the control div detaches 
from the page.
                        //       fill some element under it to make it scroll 
smoothly
                        $( '.top' ).addClass( 'hidden' );
                        $.waypoints.settings.scrollThrottle = 30;
-                       var _this = this;
                        $( '#mwe-pt-list-control-nav' ).waypoint( function( 
event, direction ) {
                                $( this ).parent().toggleClass( 'sticky', 
direction === "down" );
                                _this.resize();
@@ -24,12 +26,27 @@
                                clearTimeout(resizeTimer);
                                resizeTimer = setTimeout(this.resize, 100);
                        });
+                                                               
+                       // hover for the dropdown menu control
+                       /*
+                       $( '#mwe-pt-filter-dropdown-control' ).hover( 
function() {
+                               _this.toggleFilterMenu();
+                       } );
+                       */
                },
 
                render: function() {
-                       // insert the template into the document.  fill with 
the current model.
-                       this.$el.html( this.template(  ) );
-                       return this;
+                       _this = this;
+                       // render and return the template.  fill with the 
current model.
+                       $( "#mwe-pt-list-control-nav").html( this.template() );
+                       
+                       // now that the template's been inserted, set up some 
events for controlling it
+                       
+                       // the filter dropdown menu control
+                       $( '#mwe-pt-filter-dropdown-control' ).click( function( 
e ) {
+                               _this.toggleFilterMenu();
+                               e.stopPropagation;
+                       } );
                },
                
                resize: function() {
@@ -37,7 +54,18 @@
                        // the left nav is 176 pixels
                        // the right margin is 16 pixels
                        $( '#mwe-pt-list-control-nav' ).css( 'width', 
$(window).width() - 176 - 16 + "px" );
+               },
+               
+               toggleFilterMenu: function() {
+                       if( this.filterMenuVisible ) {
+                               $( '#mwe-pt-dropdown-arrow' ).html( '&#x25b8;' 
);
+                               $( '#mwe-pt-control-dropdown' ).css( 
'visibility', 'hidden' );
+                               this.filterMenuVisible = 0;
+                       } else {
+                               $( '#mwe-pt-control-dropdown' ).css( 
'visibility', 'visible' );
+                               $( '#mwe-pt-dropdown-arrow' ).html( '&#x25be;' 
);
+                               this.filterMenuVisible = 1;                     
        
+                       }
                }
-
        } );
 } );

Modified: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listView.js
===================================================================
--- 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listView.js
 2012-03-29 00:57:16 UTC (rev 114590)
+++ 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listView.js
 2012-03-29 01:10:18 UTC (rev 114591)
@@ -32,9 +32,9 @@
                        this.position = 0;
                        
                        // add the navigation bits
-                       var controlNav = new mw.pageTriage.ListControlNav();
-                       $( "#mwe-pt-list-control-nav").html( 
controlNav.render().el );
-                       
+                       var controlNav = new mw.pageTriage.ListControlNav( { 
articles: articles } );
+                       controlNav.render();
+
                        var statsNav = new mw.pageTriage.ListStatsNav();
                        $( "#mwe-pt-list-stats-nav").html( statsNav.render().el 
);
                },


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

Reply via email to