2 var MarkSeenButtonWidget
= require( './MarkSeenButtonWidget.js' ),
3 WatchlistTopSectionWidget
;
5 * Top section (between page title and filters) on Special:Watchlist
7 * @class mw.rcfilters.ui.WatchlistTopSectionWidget
8 * @extends OO.ui.Widget
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
17 WatchlistTopSectionWidget
= function MwRcfiltersUiWatchlistTopSectionWidget(
18 controller
, changesListModel
, savedLinksListWidget
, $watchlistDetails
, config
20 var editWatchlistButton
,
25 config
= config
|| {};
28 WatchlistTopSectionWidget
.parent
.call( this, config
);
30 editWatchlistButton
= new OO
.ui
.ButtonWidget( {
31 label
: mw
.msg( 'rcfilters-watchlist-edit-watchlist-button' ),
33 href
: require( '../config.json' ).StructuredChangeFiltersEditWatchlistUrl
35 markSeenButton
= new MarkSeenButtonWidget( controller
, changesListModel
);
37 $topTable
= $( '<div>' )
38 .addClass( 'mw-rcfilters-ui-table' )
41 .addClass( 'mw-rcfilters-ui-row' )
44 .addClass( 'mw-rcfilters-ui-cell' )
45 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-watchlistDetails' )
46 .append( $watchlistDetails
)
50 .addClass( 'mw-rcfilters-ui-cell' )
51 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-editWatchlistButton' )
52 .append( editWatchlistButton
.$element
)
56 $bottomTable
= $( '<div>' )
57 .addClass( 'mw-rcfilters-ui-table' )
58 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-savedLinksTable' )
61 .addClass( 'mw-rcfilters-ui-row' )
64 .addClass( 'mw-rcfilters-ui-cell' )
65 .append( markSeenButton
.$element
)
69 .addClass( 'mw-rcfilters-ui-cell' )
70 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-savedLinks' )
71 .append( savedLinksListWidget
.$element
)
75 $separator
= $( '<div>' )
76 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-separator' );
79 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget' )
80 .append( $topTable
, $separator
, $bottomTable
);
85 OO
.inheritClass( WatchlistTopSectionWidget
, OO
.ui
.Widget
);
87 module
.exports
= WatchlistTopSectionWidget
;