// Verify that single_option group has at least one item selected
if (
this.getType() === 'single_option' &&
- this.getSelectedItems().length === 0
+ this.findSelectedItems().length === 0
) {
defaultParam = groupDefault !== undefined ?
groupDefault : this.getItems()[ 0 ].getParamName();
if ( this.getType() === 'single_option' ) {
// This group must have one item selected always
// and must never have more than one item selected at a time
- if ( this.getSelectedItems().length === 0 ) {
+ if ( this.findSelectedItems().length === 0 ) {
// Nothing is selected anymore
// Select the default or the first item
this.currSelected = this.getItemByParamName( this.defaultParams[ this.getName() ] ) ||
this.getItems()[ 0 ];
this.currSelected.toggleSelected( true );
changed = true;
- } else if ( this.getSelectedItems().length > 1 ) {
+ } else if ( this.findSelectedItems().length > 1 ) {
// There is more than one item selected
// This should only happen if the item given
// is the one that is selected, so unselect
// all items that is not it
- this.getSelectedItems().forEach( function ( itemModel ) {
+ this.findSelectedItems().forEach( function ( itemModel ) {
// Note that in case the given item is actually
// not selected, this loop will end up unselecting
// all items, which would trigger the case above
* @param {mw.rcfilters.dm.FilterItem} [excludeItem] Item to exclude from the list
* @return {mw.rcfilters.dm.FilterItem[]} Selected items
*/
- mw.rcfilters.dm.FilterGroup.prototype.getSelectedItems = function ( excludeItem ) {
+ mw.rcfilters.dm.FilterGroup.prototype.findSelectedItems = function ( excludeItem ) {
var excludeName = ( excludeItem && excludeItem.getName() ) || '';
return this.getItems().filter( function ( item ) {
* @return {boolean} All selected items are in conflict with this item
*/
mw.rcfilters.dm.FilterGroup.prototype.areAllSelectedInConflictWith = function ( filterItem ) {
- var selectedItems = this.getSelectedItems( filterItem );
+ var selectedItems = this.findSelectedItems( filterItem );
return selectedItems.length > 0 &&
(
* @return {boolean} Any of the selected items are in conflict with this item
*/
mw.rcfilters.dm.FilterGroup.prototype.areAnySelectedInConflictWith = function ( filterItem ) {
- var selectedItems = this.getSelectedItems( filterItem );
+ var selectedItems = this.findSelectedItems( filterItem );
return selectedItems.length > 0 && (
// The group as a whole is in conflict with this item
// if the item is also not highlighted. See T161273
superset = this.getSuperset();
// For this message we need to collect the affecting superset
- affectingItems = this.getGroupModel().getSelectedItems( this )
+ affectingItems = this.getGroupModel().findSelectedItems( this )
.filter( function ( item ) {
return superset.indexOf( item.getName() ) !== -1;
} )
messageKey = 'rcfilters-state-message-subset';
} else if ( this.isFullyCovered() && !this.isHighlighted() ) {
- affectingItems = this.getGroupModel().getSelectedItems( this )
+ affectingItems = this.getGroupModel().findSelectedItems( this )
.map( function ( item ) {
return mw.msg( 'quotation-marks', item.getLabel() );
} );
groupModel.areAllSelectedInConflictWith( filterItem ) &&
// Every selected member of the item's own group is also
// in conflict with the other group
- filterItemGroup.getSelectedItems().every( function ( otherGroupItem ) {
+ filterItemGroup.findSelectedItems().every( function ( otherGroupItem ) {
return groupModel.areAllSelectedInConflictWith( otherGroupItem );
} )
);
*/
mw.rcfilters.dm.FiltersViewModel.prototype.areNamespacesEffectivelyInverted = function () {
return this.getInvertModel().isSelected() &&
- this.getSelectedItems().some( function ( itemModel ) {
+ this.findSelectedItems().some( function ( itemModel ) {
return itemModel.getGroupModel().getName() === 'namespace';
} );
};
*
* @return {mw.rcfilters.dm.FilterItem[]} Selected items
*/
- mw.rcfilters.dm.FiltersViewModel.prototype.getSelectedItems = function () {
+ mw.rcfilters.dm.FiltersViewModel.prototype.findSelectedItems = function () {
var allSelected = [];
$.each( this.getFilterGroups(), function ( groupName, groupModel ) {
- allSelected = allSelected.concat( groupModel.getSelectedItems() );
+ allSelected = allSelected.concat( groupModel.findSelectedItems() );
} );
return allSelected;
mw.rcfilters.Controller.prototype.updateStickyPreferences = function () {
// Update default sticky values with selected, whether they came from
// the initial defaults or from the URL value that is being normalized
- this.updateDaysDefault( this.filtersModel.getGroup( 'days' ).getSelectedItems()[ 0 ].getParamName() );
- this.updateLimitDefault( this.filtersModel.getGroup( 'limit' ).getSelectedItems()[ 0 ].getParamName() );
+ this.updateDaysDefault( this.filtersModel.getGroup( 'days' ).findSelectedItems()[ 0 ].getParamName() );
+ this.updateLimitDefault( this.filtersModel.getGroup( 'limit' ).findSelectedItems()[ 0 ].getParamName() );
// TODO: Make these automatic by having the model go over sticky
// items and update their default values automatically
rightNow = new Date().getTime(),
randomIdentifier = String( mw.user.sessionId() ) + String( rightNow ) + String( Math.random() ),
// Get all current filters
- filters = this.filtersModel.getSelectedItems().map( function ( item ) {
+ filters = this.filtersModel.findSelectedItems().map( function ( item ) {
return item.getName();
} );
}
);
- selectedItem = this.limitGroupModel.getSelectedItems()[ 0 ];
+ selectedItem = this.limitGroupModel.findSelectedItems()[ 0 ];
currentValue = ( selectedItem && selectedItem.getLabel() ) ||
mw.language.convertNumber( this.limitGroupModel.getDefaultParamValue() );
*/
mw.rcfilters.ui.ChangesLimitAndDateButtonWidget.prototype.updateButtonLabel = function () {
var message,
- limit = this.limitGroupModel.getSelectedItems()[ 0 ],
+ limit = this.limitGroupModel.findSelectedItems()[ 0 ],
label = limit && limit.getLabel(),
- days = this.daysGroupModel.getSelectedItems()[ 0 ],
+ days = this.daysGroupModel.findSelectedItems()[ 0 ],
daysParamName = Number( days.getParamName() ) < 1 ?
'rcfilters-days-show-hours' :
'rcfilters-days-show-days';
* that is currently selected
*/
mw.rcfilters.ui.ValuePickerWidget.prototype.selectCurrentModelItem = function () {
- var selectedItem = this.model.getSelectedItems()[ 0 ];
+ var selectedItem = this.model.findSelectedItems()[ 0 ];
if ( selectedItem ) {
this.selectWidget.selectItemByData( selectedItem.getName() );