Fix order of @var parameter in PHP
[lhc/web/wiklou.git] / resources / src / mediawiki.rcfilters / ui / WatchlistTopSectionWidget.js
1 ( function () {
2 var MarkSeenButtonWidget = require( './MarkSeenButtonWidget.js' ),
3 WatchlistTopSectionWidget;
4 /**
5 * Top section (between page title and filters) on Special:Watchlist
6 *
7 * @class mw.rcfilters.ui.WatchlistTopSectionWidget
8 * @extends OO.ui.Widget
9 *
10 * @constructor
11 * @param {mw.rcfilters.Controller} controller
12 * @param {mw.rcfilters.dm.ChangesListViewModel} changesListModel
13 * @param {mw.rcfilters.ui.SavedLinksListWidget} savedLinksListWidget
14 * @param {jQuery} $watchlistDetails Content of the 'details' section that includes watched pages count
15 * @param {Object} [config] Configuration object
16 */
17 WatchlistTopSectionWidget = function MwRcfiltersUiWatchlistTopSectionWidget(
18 controller, changesListModel, savedLinksListWidget, $watchlistDetails, config
19 ) {
20 var editWatchlistButton,
21 markSeenButton,
22 $topTable,
23 $bottomTable,
24 $separator;
25 config = config || {};
26
27 // Parent
28 WatchlistTopSectionWidget.parent.call( this, config );
29
30 editWatchlistButton = new OO.ui.ButtonWidget( {
31 label: mw.msg( 'rcfilters-watchlist-edit-watchlist-button' ),
32 icon: 'edit',
33 href: require( '../config.json' ).StructuredChangeFiltersEditWatchlistUrl
34 } );
35 markSeenButton = new MarkSeenButtonWidget( controller, changesListModel );
36
37 $topTable = $( '<div>' )
38 .addClass( 'mw-rcfilters-ui-table' )
39 .append(
40 $( '<div>' )
41 .addClass( 'mw-rcfilters-ui-row' )
42 .append(
43 $( '<div>' )
44 .addClass( 'mw-rcfilters-ui-cell' )
45 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-watchlistDetails' )
46 .append( $watchlistDetails )
47 )
48 .append(
49 $( '<div>' )
50 .addClass( 'mw-rcfilters-ui-cell' )
51 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-editWatchlistButton' )
52 .append( editWatchlistButton.$element )
53 )
54 );
55
56 $bottomTable = $( '<div>' )
57 .addClass( 'mw-rcfilters-ui-table' )
58 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-savedLinksTable' )
59 .append(
60 $( '<div>' )
61 .addClass( 'mw-rcfilters-ui-row' )
62 .append(
63 $( '<div>' )
64 .addClass( 'mw-rcfilters-ui-cell' )
65 .append( markSeenButton.$element )
66 )
67 .append(
68 $( '<div>' )
69 .addClass( 'mw-rcfilters-ui-cell' )
70 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-savedLinks' )
71 .append( savedLinksListWidget.$element )
72 )
73 );
74
75 $separator = $( '<div>' )
76 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-separator' );
77
78 this.$element
79 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget' )
80 .append( $topTable, $separator, $bottomTable );
81 };
82
83 /* Initialization */
84
85 OO.inheritClass( WatchlistTopSectionWidget, OO.ui.Widget );
86
87 module.exports = WatchlistTopSectionWidget;
88 }() );