1 var ValuePickerWidget
= require( './ValuePickerWidget.js' ),
5 * Widget defining the popup to choose date for the results
7 * @class mw.rcfilters.ui.DatePopupWidget
8 * @extends OO.ui.Widget
11 * @param {mw.rcfilters.dm.FilterGroup} model Group model for 'days'
12 * @param {Object} [config] Configuration object
14 DatePopupWidget
= function MwRcfiltersUiDatePopupWidget( model
, config
) {
15 config
= config
|| {};
18 DatePopupWidget
.parent
.call( this, config
);
20 OO
.ui
.mixin
.LabelElement
.call( this, config
);
24 this.hoursValuePicker
= new ValuePickerWidget(
27 classes
: [ 'mw-rcfilters-ui-datePopupWidget-hours' ],
28 label
: mw
.msg( 'rcfilters-hours-title' ),
29 itemFilter: function ( itemModel
) { return Number( itemModel
.getParamName() ) < 1; }
32 this.daysValuePicker
= new ValuePickerWidget(
35 classes
: [ 'mw-rcfilters-ui-datePopupWidget-days' ],
36 label
: mw
.msg( 'rcfilters-days-title' ),
37 itemFilter: function ( itemModel
) { return Number( itemModel
.getParamName() ) >= 1; }
42 this.hoursValuePicker
.connect( this, { choose
: [ 'emit', 'days' ] } );
43 this.daysValuePicker
.connect( this, { choose
: [ 'emit', 'days' ] } );
47 .addClass( 'mw-rcfilters-ui-datePopupWidget' )
50 .addClass( 'mw-rcfilters-ui-datePopupWidget-title' ),
51 this.hoursValuePicker
.$element
,
52 this.daysValuePicker
.$element
58 OO
.inheritClass( DatePopupWidget
, OO
.ui
.Widget
);
59 OO
.mixinClass( DatePopupWidget
, OO
.ui
.mixin
.LabelElement
);
65 * @param {string} name Item name
67 * A days item was chosen
70 module
.exports
= DatePopupWidget
;