X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.widgets%2Fmw.widgets.ComplexTitleInputWidget.js;h=2c4044d10f5d0babb3f1d1564122ff6ad14c66f7;hb=13314ea479410f83a48dd8e450a0f44d12c4f05c;hp=0c6c15e4753dd967dab627ceb3d5af9d9726a18f;hpb=ac17fbac94f2ba72b3ac64fff2dd188dd76faaf3;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js b/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js index 0c6c15e475..2c4044d10f 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js @@ -4,7 +4,7 @@ * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt * @license The MIT License (MIT); see LICENSE.txt */ -( function ( $, mw ) { +( function () { /** * Like TitleInputWidget, but the namespace has to be input through a separate dropdown field. @@ -50,6 +50,40 @@ OO.inheritClass( mw.widgets.ComplexTitleInputWidget, OO.ui.Widget ); + /* Static Methods */ + + /** + * @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; + }; + /* Methods */ /** @@ -60,4 +94,28 @@ this.title.setNamespace( Number( this.namespace.getValue() ) ); }; -}( jQuery, mediaWiki ) ); + /** + * @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 ); + }; + + /** + * @inheritdoc + */ + mw.widgets.ComplexTitleInputWidget.prototype.setDisabled = function ( disabled ) { + mw.widgets.ComplexTitleInputWidget.parent.prototype.setDisabled.call( this, disabled ); + if ( this.namespace ) { + this.namespace.setDisabled( disabled ); + } + + if ( this.title ) { + this.title.setDisabled( disabled ); + } + return this; + }; + +}() );