From: Roan Kattouw Date: Fri, 27 Oct 2017 05:07:11 +0000 (+0530) Subject: RCFilters: Move label prefixes from dm.ItemModel to ui.TagItemWidget X-Git-Tag: 1.31.0-rc.0~1627^2 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/journal.php?a=commitdiff_plain;h=d0339e8741fb0a8361aed563b92f3fd36fdb3f7b;p=lhc%2Fweb%2Fwiklou.git RCFilters: Move label prefixes from dm.ItemModel to ui.TagItemWidget Change-Id: I0d463b60ffaa7ab099cb46eeac94b709af325933 --- diff --git a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js index 2b5d020167..7b54833f77 100644 --- a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js +++ b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js @@ -80,30 +80,24 @@ }; /** - * Get a prefixed label + * Get the message key to use to wrap the label. This message takes the label as a parameter. * - * @param {boolean} inverted This item should be considered inverted - * @return {string} Prefixed label (HTML) + * @param {boolean} inverted Whether this item should be considered inverted + * @return {string|null} Message key, or null if no message */ - mw.rcfilters.dm.ItemModel.prototype.getPrefixedLabel = function ( inverted ) { - var escapedLabel = mw.html.escape( this.getLabel() ); + mw.rcfilters.dm.ItemModel.prototype.getLabelMessageKey = function ( inverted ) { if ( this.labelPrefixKey ) { if ( typeof this.labelPrefixKey === 'string' ) { - return mw.message( this.labelPrefixKey, escapedLabel ).parse(); - } else { - return mw.message( - this.labelPrefixKey[ - // Only use inverted-prefix if the item is selected - // Highlight-only an inverted item makes no sense - inverted && this.isSelected() ? - 'inverted' : 'default' - ], - escapedLabel - ).parse(); + return this.labelPrefixKey; } - } else { - return escapedLabel; + return this.labelPrefixKey[ + // Only use inverted-prefix if the item is selected + // Highlight-only an inverted item makes no sense + inverted && this.isSelected() ? + 'inverted' : 'default' + ]; } + return null; }; /** diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js index 7e324b6946..13d6b68f3c 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js @@ -84,11 +84,17 @@ * Respond to model update event */ mw.rcfilters.ui.TagItemWidget.prototype.updateUiBasedOnState = function () { - this.setCurrentMuteState(); - // Update label if needed - this.setLabel( $( '
' ).html( this.itemModel.getPrefixedLabel( this.invertModel.isSelected() ) ).contents() ); + var labelMsg = this.itemModel.getLabelMessageKey( this.invertModel.isSelected() ); + if ( labelMsg ) { + this.setLabel( $( '
' ).html( + mw.message( labelMsg, mw.html.escape( this.itemModel.getLabel() ) ).parse() + ).contents() ); + } else { + this.setLabel( this.itemModel.getLabel() ); + } + this.setCurrentMuteState(); this.setHighlightColor(); };