aboutsummaryrefslogtreecommitdiffstats
path: root/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js
diff options
context:
space:
mode:
authorBartosz Dziewoński <matma.rex@gmail.com>2015-10-02 01:30:52 +0200
committerBartosz Dziewoński <matma.rex@gmail.com>2015-11-03 22:45:11 +0000
commit57ea8a81048f4e9f6f6e4be0a115b7b86efa9775 (patch)
tree28cb0ece220e2b4bacc4f270611ccb46fabe92c1 /resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js
parentedabb75ca859e7e22c0e529d8831f21512720afa (diff)
downloadmediawikicore-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.js46
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 ) );