]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / resources / src / mediawiki.rcfilters / ui / mw.rcfilters.ui.FilterTagItemWidget.js
diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js
new file mode 100644 (file)
index 0000000..8a36eb4
--- /dev/null
@@ -0,0 +1,41 @@
+( function ( mw ) {
+       /**
+        * Extend OOUI's FilterTagItemWidget to also display a popup on hover.
+        *
+        * @class
+        * @extends mw.rcfilters.ui.TagItemWidget
+        *
+        * @constructor
+        * @param {mw.rcfilters.Controller} controller
+        * @param {mw.rcfilters.dm.FilterItem} model Item model
+        * @param {Object} config Configuration object
+        */
+       mw.rcfilters.ui.FilterTagItemWidget = function MwRcfiltersUiFilterTagItemWidget( controller, model, config ) {
+               config = config || {};
+
+               mw.rcfilters.ui.FilterTagItemWidget.parent.call( this, controller, model, config );
+
+               this.$element
+                       .addClass( 'mw-rcfilters-ui-filterTagItemWidget' );
+       };
+
+       /* Initialization */
+
+       OO.inheritClass( mw.rcfilters.ui.FilterTagItemWidget, mw.rcfilters.ui.TagItemWidget );
+
+       /* Methods */
+
+       /**
+        * @inheritdoc
+        */
+       mw.rcfilters.ui.FilterTagItemWidget.prototype.setCurrentMuteState = function () {
+               this.setFlags( {
+                       muted: (
+                               !this.model.isSelected() ||
+                               this.model.isIncluded() ||
+                               this.model.isFullyCovered()
+                       ),
+                       invalid: this.model.isSelected() && this.model.isConflicted()
+               } );
+       };
+}( mediaWiki, jQuery ) );