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' ) %>
▸</b></span><!-- ▾ 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">▸</span>
+ <!--<span
class="mwe-pt-dropdown-open">▾</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( '▸'
);
+ $( '#mwe-pt-control-dropdown' ).css(
'visibility', 'hidden' );
+ this.filterMenuVisible = 0;
+ } else {
+ $( '#mwe-pt-control-dropdown' ).css(
'visibility', 'visible' );
+ $( '#mwe-pt-dropdown-arrow' ).html( '▾'
);
+ 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