From: Bartosz DziewoƄski Date: Thu, 1 Oct 2015 23:30:52 +0000 (+0200) Subject: mw.widgets.ComplexTitleInputWidget: Add infusion helpers X-Git-Tag: 1.31.0-rc.0~9114 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dcompta/comptes/journal.php?a=commitdiff_plain;h=57ea8a81048f4e9f6f6e4be0a115b7b86efa9775;p=lhc%2Fweb%2Fwiklou.git mw.widgets.ComplexTitleInputWidget: Add infusion helpers * reusePreInfuseDOM * gatherPreInfuseState * restorePreInfuseState Depends on I3c21b3710d16dbb4dbcbdd3871a70fdfd0e7b536 in OOjs UI. Bug: T114134 Bug: T117310 Change-Id: I939551579fe1d03603d65b3562c1c977681994a6 --- diff --git a/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js b/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js index 0c6c15e475..ddae9b1f7f 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js @@ -50,6 +50,43 @@ OO.inheritClass( mw.widgets.ComplexTitleInputWidget, OO.ui.Widget ); + /* Static Methods */ + /*jshint -W024*/ + + /** + * @inheritdoc + */ + mw.widgets.ComplexTitleInputWidget.static.reusePreInfuseDOM = function ( node, config ) { + config = mw.widgets.ComplexTitleInputWidget.parent.static.reusePreInfuseDOM( node, config ); + config.namespace = mw.widgets.NamespaceInputWidget.static.reusePreInfuseDOM( + $( node ).find( '.mw-widget-namespaceInputWidget' ), + config.namespace + ); + config.title = mw.widgets.TitleInputWidget.static.reusePreInfuseDOM( + $( node ).find( '.mw-widget-titleInputWidget' ), + config.title + ); + return config; + }; + + /** + * @inheritdoc + */ + mw.widgets.ComplexTitleInputWidget.static.gatherPreInfuseState = function ( node, config ) { + var state = mw.widgets.ComplexTitleInputWidget.parent.static.gatherPreInfuseState( node, config ); + state.namespace = mw.widgets.NamespaceInputWidget.static.gatherPreInfuseState( + $( node ).find( '.mw-widget-namespaceInputWidget' ), + config.namespace + ); + state.title = mw.widgets.TitleInputWidget.static.gatherPreInfuseState( + $( node ).find( '.mw-widget-titleInputWidget' ), + config.title + ); + return state; + }; + + /*jshint +W024*/ + /* Methods */ /** @@ -60,4 +97,13 @@ this.title.setNamespace( Number( this.namespace.getValue() ) ); }; + /** + * @inheritdoc + */ + mw.widgets.ComplexTitleInputWidget.prototype.restorePreInfuseState = function ( state ) { + mw.widgets.ComplexTitleInputWidget.parent.prototype.restorePreInfuseState.call( this, state ); + this.namespace.restorePreInfuseState( state.namespace ); + this.title.restorePreInfuseState( state.title ); + }; + }( jQuery, mediaWiki ) );