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

Revision: 114510
Author:   raindrift
Date:     2012-03-27 01:18:11 +0000 (Tue, 27 Mar 2012)
Log Message:
-----------
added a comparator for sorting
added alternating background colors

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

Modified: trunk/extensions/PageTriage/SpecialPageTriage.php
===================================================================
--- trunk/extensions/PageTriage/SpecialPageTriage.php   2012-03-27 00:41:21 UTC 
(rev 114509)
+++ trunk/extensions/PageTriage/SpecialPageTriage.php   2012-03-27 01:18:11 UTC 
(rev 114510)
@@ -69,9 +69,8 @@
                
                // this template is repeated many times, once for each item in 
list view.
                $triageInterface .= <<<HTML
-                       <div id="backboneTemplates">
                                <script type="text/template" 
id="listItemTemplate">
-                                       <div class="mwe-pt-article-row">
+                                       <div id="mwe-pt-article-row">
                                                <% if ( afd_status == "1" || 
blp_prod_status == "1" || csd_status == "1" || prod_status == "1" ) { %>
                                                        <div 
class="mwe-pt-status-icon mwe-pt-status-icon-deleted">
                                                                [DEL] <!-- 
deleted -->
@@ -86,7 +85,11 @@
                                                        </div>
                                                <% } %>
                                                </div>
-                                               <div class="mwe-pt-info-pane">
+                                               <% if ( position % 2 == 0 ) { %>
+                                                       <div 
class="mwe-pt-info-pane mwe-pt-info-pane-even">
+                                               <% } else { %>
+                                                       <div 
class="mwe-pt-info-pane mwe-pt-info-pane-odd">
+                                               <% } %>
                                                        <div 
class="mwe-pt-article">
                                                                <span 
class="mwe-pt-page-title"><a href="<%= partial_url %>"><%= title %></a></span>
                                                                <span 
class="mwe-pt-histlink">
@@ -107,17 +110,20 @@
                                                                                
        &#xb7; <span class="mwe-pt-metadata-warning"><%= 
gM("pagetriage-orphan") %></span>
                                                                                
<% } %>
                                                                </span>
+                                                               <span 
class="mwe-pt-creation-date">
+                                                                       <!-- 
TODO: format nicely, but remember to also make localizable... -->
+                                                                       <%= 
creation_date %>
+                                                               </span>
                                                        </div>
                                                        <div 
class="mwe-pt-author">
+                                                       Author info goes here...
                                                        </div>
                                                        <div 
class="mwe-pt-snippet">
                                                                <%= snippet %>
                                                        </div>
                                                </div>
                                        </div>
-                                       <br/>
                                </script>
-                       </div>
 HTML;
                                
                // Get the list of articles

Modified: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.articleListItem.css
===================================================================
--- 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.articleListItem.css
 2012-03-27 00:41:21 UTC (rev 114509)
+++ 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.articleListItem.css
 2012-03-27 01:18:11 UTC (rev 114510)
@@ -1,8 +1,16 @@
 
-.mwe-pt-article-row {
-       width: 100%;
+.mwe-pt-info-pane-even {
+       background-color: #efefef;
 }
 
+.mwe-pt-info-pane-odd {
+       background-color: white;
+}
+
+.mwe-pt-info-pane {
+       margin-left: 50px;
+}
+
 .mwe-pt-status-icon {
        float: left;
        width: 50px;
@@ -21,10 +29,6 @@
        background-color: #b3b3b3;
 }
 
-.mwe-pt-info-pane {
-       margin-left: 50px;
-}
-
 /* info about the article */
 .mwe-pt-article {
        font-size: 1.2em;
@@ -46,6 +50,10 @@
        font-weight: bold;
 }
 
+.mwe-pt-creation-date {
+       float: right;
+}
+
 /* info about the article's author */
 .mwe-pt-author {
 }

Modified: 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.articleListItem.js
===================================================================
--- 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.articleListItem.js
  2012-03-27 00:41:21 UTC (rev 114509)
+++ 
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.articleListItem.js
  2012-03-27 01:18:11 UTC (rev 114510)
@@ -4,6 +4,11 @@
        // instantiate the collection of articles
        var articles = new mw.pageTriage.ArticleList;
 
+       // set the default sort order.
+       articles.comparator = function( article ) {
+               return -article.get( "creation_date" );
+       };
+
        // single list item
        var ListItem = Backbone.View.extend( {
                tagName: "div",
@@ -30,6 +35,7 @@
                initialize: function() {
 
                        // these events are triggered when items are added to 
the articles collection
+                       this.position = 0;
                        articles.bind( 'add', this.addOne, this );
                        articles.bind( 'reset', this.addAll, this );
                
@@ -41,11 +47,19 @@
                },
 
                render: function() {
+                       this.position = 0;
                        // TODO: refresh the view (show/hide the parts that 
aren't attached to the ListItem view)
                },
 
                // add a single article to the list
                addOne: function( article ) {
+                       // define position, for making alternating background 
colors.
+                       // this is added at the last minute, so it gets updated 
when the sort changes.
+                       if(! this.position ) {
+                               this.position = 0;
+                       }
+                       article.set( 'position', this.position++ );
+                       
                        // pass in the specific article instance
                        var view = new ListItem( { model: article } );
                        this.$( "#listView" ).append( view.render().el );


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

Reply via email to