3 * Top section (between page title and filters) on Special:Watchlist
5 * @extends OO.ui.Widget
8 * @param {mw.rcfilters.Controller} controller
9 * @param {mw.rcfilters.dm.ChangesListViewModel} changesListModel
10 * @param {mw.rcfilters.ui.SavedLinksListWidget} savedLinksListWidget
11 * @param {jQuery} $watchlistDetails Content of the 'details' section that includes watched pages count
12 * @param {Object} [config] Configuration object
14 mw
.rcfilters
.ui
.WatchlistTopSectionWidget
= function MwRcfiltersUiWatchlistTopSectionWidget(
15 controller
, changesListModel
, savedLinksListWidget
, $watchlistDetails
, config
17 var editWatchlistButton
,
22 config
= config
|| {};
25 mw
.rcfilters
.ui
.WatchlistTopSectionWidget
.parent
.call( this, config
);
27 editWatchlistButton
= new OO
.ui
.ButtonWidget( {
28 label
: mw
.msg( 'rcfilters-watchlist-editWatchlist-button' ),
30 href
: mw
.config
.get( 'wgStructuredChangeFiltersEditWatchlistUrl' )
32 markSeenButton
= new mw
.rcfilters
.ui
.MarkSeenButtonWidget( controller
, changesListModel
);
34 $topTable
= $( '<div>' )
35 .addClass( 'mw-rcfilters-ui-table' )
38 .addClass( 'mw-rcfilters-ui-row' )
41 .addClass( 'mw-rcfilters-ui-cell' )
42 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-watchlistDetails' )
43 .append( $watchlistDetails
)
47 .addClass( 'mw-rcfilters-ui-cell' )
48 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-editWatchlistButton' )
49 .append( editWatchlistButton
.$element
)
53 $bottomTable
= $( '<div>' )
54 .addClass( 'mw-rcfilters-ui-table' )
57 .addClass( 'mw-rcfilters-ui-row' )
60 .addClass( 'mw-rcfilters-ui-cell' )
61 .append( markSeenButton
.$element
)
65 .addClass( 'mw-rcfilters-ui-cell' )
66 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-savedLinks' )
67 .append( savedLinksListWidget
.$element
)
71 $separator
= $( '<div>' )
72 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-separator' );
75 .addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget' )
76 .append( $topTable
, $separator
, $bottomTable
);
81 OO
.inheritClass( mw
.rcfilters
.ui
.WatchlistTopSectionWidget
, OO
.ui
.Widget
);