diff options
author | Bartosz Dziewoński <matma.rex@gmail.com> | 2015-10-02 01:30:52 +0200 |
---|---|---|
committer | Bartosz Dziewoński <matma.rex@gmail.com> | 2015-11-03 22:45:11 +0000 |
commit | 57ea8a81048f4e9f6f6e4be0a115b7b86efa9775 (patch) | |
tree | 28cb0ece220e2b4bacc4f270611ccb46fabe92c1 /resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js | |
parent | edabb75ca859e7e22c0e529d8831f21512720afa (diff) | |
download | mediawikicore-57ea8a81048f4e9f6f6e4be0a115b7b86efa9775.tar.gz mediawikicore-57ea8a81048f4e9f6f6e4be0a115b7b86efa9775.zip |
mw.widgets.ComplexTitleInputWidget: Add infusion helpers
* reusePreInfuseDOM
* gatherPreInfuseState
* restorePreInfuseState
Depends on I3c21b3710d16dbb4dbcbdd3871a70fdfd0e7b536 in OOjs UI.
Bug: T114134
Bug: T117310
Change-Id: I939551579fe1d03603d65b3562c1c977681994a6
Diffstat (limited to 'resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js')
-rw-r--r-- | resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js b/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js index 0c6c15e4753d..ddae9b1f7fb0 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 ) ); |