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

Revision: 114578
Author:   raindrift
Date:     2012-03-28 21:38:46 +0000 (Wed, 28 Mar 2012)
Log Message:
-----------
added skeletons for control and stats navigation views

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

Added Paths:
-----------
    
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.listStatsNav.css
    
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listStatsNav.js

Modified: trunk/extensions/PageTriage/PageTriage.php
===================================================================
--- trunk/extensions/PageTriage/PageTriage.php  2012-03-28 21:37:23 UTC (rev 
114577)
+++ trunk/extensions/PageTriage/PageTriage.php  2012-03-28 21:38:46 UTC (rev 
114578)
@@ -121,7 +121,8 @@
                'external/underscore.js',
                'external/backbone.js', // required for underscore
                'external/date.js',
-               'external/datejs-mw.js'
+               'external/datejs-mw.js',
+               'external/jquery.waypoints.js'
        ),
        'messages' => array(
                'sunday',
@@ -188,10 +189,14 @@
        ),
        'scripts' => array(
                'ext.pageTriage.views/ext.pageTriage.listItem.js',
+               'ext.pageTriage.views/ext.pageTriage.listControlNav.js',
+               'ext.pageTriage.views/ext.pageTriage.listStatsNav.js',
                'ext.pageTriage.views/ext.pageTriage.listView.js'
        ),
        'styles' => array(
-               'ext.pageTriage.views/ext.pageTriage.listItem.css'
+               'ext.pageTriage.views/ext.pageTriage.listItem.css',
+               'ext.pageTriage.views/ext.pageTriage.listControlNav.css',
+               'ext.pageTriage.views/ext.pageTriage.listStatsNav.css'
        ),
        'messages' => array(
                'pagetriage-hist',

Modified: trunk/extensions/PageTriage/SpecialPageTriage.php
===================================================================
--- trunk/extensions/PageTriage/SpecialPageTriage.php   2012-03-28 21:37:23 UTC 
(rev 114577)
+++ trunk/extensions/PageTriage/SpecialPageTriage.php   2012-03-28 21:38:46 UTC 
(rev 114578)
@@ -62,13 +62,14 @@
                // This will hold the HTML for the triage interface
                $triageInterface = '';
                
-               $triageInterface .= "<div id='pageTriageHeader'></div>";
+               $triageInterface .= "<div id='mwe-pt-list-control-nav' 
class='mwe-pt-navigation-bar'></div>";
                // TODO: this should load with a spinner instead of "please 
wait"
-               $triageInterface .= "<div id='listView'>Please wait...</div>";
-               $triageInterface .= "<div id='pageTriageFooter'></div>";
+               $triageInterface .= "<div id='mwe-pt-list-view'>Please 
wait...</div>";
+               $triageInterface .= "<div id='mwe-pt-list-stats-nav' 
class='mwe-pt-navigation-bar'></div>";
                
-               // this template is repeated many times, once for each item in 
list view.
+               // These are the templates that backbone/underscore render on 
the client.
                $triageInterface .= <<<HTML
+                               <!-- individual list item template -->
                                <script type="text/template" 
id="listItemTemplate">
                                        <% if ( afd_status == "1" || 
blp_prod_status == "1" || csd_status == "1" || prod_status == "1" ) { %>
                                                <div class="mwe-pt-article-row 
mwe-pt-deleted">
@@ -155,6 +156,15 @@
                                                </div>
                                        </div>
                                </script>
+                               
+                               <script type="text/template" 
id="listControlNavTemplate">
+                                       control navbar
+                               </script>
+                               
+                               <script type="text/template" 
id="listStatsNavTemplate">
+                                       stats navbar
+                               </script>
+                               
 HTML;
                                
                // Get the list of articles

Added: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.css
===================================================================
--- 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.css
                          (rev 0)
+++ 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.css
  2012-03-28 21:38:46 UTC (rev 114578)
@@ -0,0 +1,5 @@
+.mwe-pt-navigation-bar {
+       width: 100%;
+       background-color: #e6f0f6;
+       font-weight: bold;
+}
\ No newline at end of file


Property changes on: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.css
___________________________________________________________________
Added: svn:eol-style
   + native

Added: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.js
===================================================================
--- 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.js
                           (rev 0)
+++ 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.js
   2012-03-28 21:38:46 UTC (rev 114578)
@@ -0,0 +1,19 @@
+$( function() {
+       // controls navbar
+       
+       mw.pageTriage.ListControlNav = Backbone.View.extend( {
+               tagName: "div",
+               template: _.template( $( "#listControlNavTemplate" ).html() ),
+
+               // listen for changes to the model and re-render.
+               initialize: function() {
+               },
+
+               render: function() {
+                       // insert the template into the document.  fill with 
the current model.
+                       this.$el.html( this.template(  ) );
+                       return this;
+               }               
+
+       } );
+} );


Property changes on: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listControlNav.js
___________________________________________________________________
Added: svn:eol-style
   + native


Property changes on: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listStatsNav.css
___________________________________________________________________
Added: svn:eol-style
   + native

Added: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listStatsNav.js
===================================================================
--- 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listStatsNav.js
                             (rev 0)
+++ 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listStatsNav.js
     2012-03-28 21:38:46 UTC (rev 114578)
@@ -0,0 +1,19 @@
+$( function() {
+       // statistics bar
+       
+       mw.pageTriage.ListStatsNav = Backbone.View.extend( {
+               tagName: "div",
+               template: _.template( $( "#listStatsNavTemplate" ).html() ),
+
+               // listen for changes to the model and re-render.
+               initialize: function() {
+               },
+
+               render: function() {
+                       // insert the template into the document.  fill with 
the current model.
+                       this.$el.html( this.template(  ) );
+                       return this;
+               }               
+
+       } );
+} );


Property changes on: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listStatsNav.js
___________________________________________________________________
Added: svn:eol-style
   + native

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-28 21:37:23 UTC (rev 114577)
+++ 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listView.js
 2012-03-28 21:38:46 UTC (rev 114578)
@@ -21,15 +21,22 @@
                        articles.bind( 'reset', this.addAll, this );
                
                        // this event is triggered when the collection finishes 
loading.
-                       articles.bind( 'all', this.render, this );
+                       //articles.bind( 'all', this.render, this );
 
                        // on init, make sure to load the contents of the 
collection.
                        articles.fetch();
                },
 
                render: function() {
+                       // reset the position indicator
                        this.position = 0;
-                       // TODO: refresh the view (show/hide the parts that 
aren't attached to the ListItem view)
+                       
+                       // add the navigation bits
+                       var controlNav = new mw.pageTriage.ListControlNav();
+                       $( "#mwe-pt-list-control-nav").html( 
controlNav.render().el );
+                       
+                       var statsNav = new mw.pageTriage.ListStatsNav();
+                       $( "#mwe-pt-list-stats-nav").html( statsNav.render().el 
);
                },
 
                // add a single article to the list
@@ -43,17 +50,18 @@
                        
                        // pass in the specific article instance
                        var view = new mw.pageTriage.ListItem( { model: article 
} );
-                       this.$( "#listView" ).append( view.render().el );
+                       this.$( "#mwe-pt-list-view" ).append( view.render().el 
);
                },
 
                // add all the items in the articles collection
                addAll: function() {
-                       $("#listView").empty(); // remove the spinner before 
displaying.
+                       $("#mwe-pt-list-view").empty(); // remove the spinner 
before displaying.
                        articles.each( this.addOne );
            }
 
        } );
 
        // create an instance of the list view, which makes everything go.
-       var list = new mw.pageTriage.ListView();        
+       var list = new mw.pageTriage.ListView();
+       list.render();
 } );


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

Reply via email to