]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.DatePopupWidget.js
MediaWiki 1.30.2
[autoinstalls/mediawiki.git] / resources / src / mediawiki.rcfilters / ui / mw.rcfilters.ui.DatePopupWidget.js
1 ( function ( mw ) {
2         /**
3          * Widget defining the popup to choose date for the results
4          *
5          * @extends OO.ui.Widget
6          *
7          * @constructor
8          * @param {mw.rcfilters.dm.FilterGroup} model Group model for 'days'
9          * @param {Object} [config] Configuration object
10          */
11         mw.rcfilters.ui.DatePopupWidget = function MwRcfiltersUiDatePopupWidget( model, config ) {
12                 config = config || {};
13
14                 // Parent
15                 mw.rcfilters.ui.ChangesLimitPopupWidget.parent.call( this, config );
16
17                 this.model = model;
18
19                 this.hoursValuePicker = new mw.rcfilters.ui.ValuePickerWidget(
20                         this.model,
21                         {
22                                 classes: [ 'mw-rcfilters-ui-datePopupWidget-hours' ],
23                                 label: mw.msg( 'rcfilters-hours-title' ),
24                                 itemFilter: function ( itemModel ) { return Number( itemModel.getParamName() ) < 1; }
25                         }
26                 );
27                 this.daysValuePicker = new mw.rcfilters.ui.ValuePickerWidget(
28                         this.model,
29                         {
30                                 classes: [ 'mw-rcfilters-ui-datePopupWidget-days' ],
31                                 label: mw.msg( 'rcfilters-days-title' ),
32                                 itemFilter: function ( itemModel ) { return Number( itemModel.getParamName() ) >= 1; }
33                         }
34                 );
35
36                 // Events
37                 this.hoursValuePicker.connect( this, { choose: [ 'emit', 'days' ] } );
38                 this.daysValuePicker.connect( this, { choose: [ 'emit', 'days' ] } );
39
40                 // Initialize
41                 this.$element
42                         .addClass( 'mw-rcfilters-ui-datePopupWidget' )
43                         .append(
44                                 this.hoursValuePicker.$element,
45                                 this.daysValuePicker.$element
46                         );
47         };
48
49         /* Initialization */
50
51         OO.inheritClass( mw.rcfilters.ui.DatePopupWidget, OO.ui.Widget );
52
53         /* Events */
54
55         /**
56          * @event days
57          * @param {string} name Item name
58          *
59          * A days item was chosen
60          */
61 }( mediaWiki ) );