"recentchanges-submit": "Show",
"rcfilters-activefilters": "Active filters",
"rcfilters-quickfilters": "Quick links",
+ "rcfilters-quickfilters-placeholder": "Save your favorite tool settings to re-use them later.",
"rcfilters-savedqueries-defaultlabel": "Saved filters",
"rcfilters-savedqueries-rename": "Rename",
"rcfilters-savedqueries-setdefault": "Set as default",
"recentchanges-submit": "Label for submit button in [[Special:RecentChanges]]\n{{Identical|Show}}",
"rcfilters-activefilters": "Title for the filters selection showing the active filters.",
"rcfilters-quickfilters": "Label for the button that opens the quick filters menu in [[Special:RecentChanges]]",
+ "rcfilters-quickfilters-placeholder": "Text shown in the quick filters menu on [[Special:RecentChanges]] if the user has not saved any quick filters.",
"rcfilters-savedqueries-defaultlabel": "Default name for saving a new set of quick filters [[Special:RecentChanges]]",
"rcfilters-savedqueries-rename": "Label for the menu option that edits a quick filter in [[Special:RecentChanges]]\n{{Identical|Rename}}",
"rcfilters-savedqueries-setdefault": "Label for the menu option that sets a quick filter as default in [[Special:RecentChanges]]",
'messages' => [
'rcfilters-activefilters',
'rcfilters-quickfilters',
+ 'rcfilters-quickfilters-placeholder',
'rcfilters-savedqueries-defaultlabel',
'rcfilters-savedqueries-rename',
'rcfilters-savedqueries-setdefault',
&-menu {
width: 100%;
}
+
+ &-placeholder {
+ // Extra specificity needed to override OOUI rule that sets white-space: nowrap;
+ // on labels inside options
+ &.oo-ui-optionWidget .oo-ui-labelElement-label {
+ color: #72777d;
+ white-space: normal;
+ }
+
+ .oo-ui-iconElement-icon {
+ opacity: 0.5;
+ }
+ }
}
this.model = model;
this.$overlay = config.$overlay || this.$element;
+ this.placeholderItem = new OO.ui.DecoratedOptionWidget( {
+ classes: [ 'mw-rcfilters-ui-savedLinksListWidget-placeholder' ],
+ label: mw.msg( 'rcfilters-quickfilters-placeholder' ),
+ icon: 'unClip'
+ } );
// The only reason we're using "ButtonGroupWidget" here is that
// straight-out "GroupWidget" is a mixin and cannot be initialized
// on its own, so we need something to be its widget.
this.menu = new OO.ui.ButtonGroupWidget( {
- classes: [ 'mw-rcfilters-ui-savedLinksListWidget-menu' ]
+ classes: [ 'mw-rcfilters-ui-savedLinksListWidget-menu' ],
+ items: [ this.placeholderItem ]
} );
this.button = new OO.ui.PopupButtonWidget( {
classes: [ 'mw-rcfilters-ui-savedLinksListWidget-button' ],
menuItemEdit: 'onMenuItemEdit'
} );
- this.button.toggle( !this.menu.isEmpty() );
+ this.placeholderItem.toggle( this.model.isEmpty() );
// Initialize
this.$element
.addClass( 'mw-rcfilters-ui-savedLinksListWidget' )
this.menu.addItems( [
new mw.rcfilters.ui.SavedLinksListItemWidget( item, { $overlay: this.$overlay } )
] );
- this.button.toggle( !this.menu.isEmpty() );
+ this.placeholderItem.toggle( this.model.isEmpty() );
};
/**
*/
mw.rcfilters.ui.SavedLinksListWidget.prototype.onModelRemoveItem = function ( item ) {
this.menu.removeItems( [ this.menu.getItemFromData( item.getID() ) ] );
- this.button.toggle( !this.menu.isEmpty() );
+ this.placeholderItem.toggle( this.model.isEmpty() );
};
}( mediaWiki ) );