Gabriel Birke has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/358563 )
Change subject: Connect text inputs to store ...................................................................... Connect text inputs to store Change-Id: I675661e3b61201a15ebf4d74fbaf150a301fe25c --- M extension.json M modules/ext.advancedSearch.init.js A modules/ui/ext.advancedSearch.TextInput.js 3 files changed, 54 insertions(+), 5 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AdvancedSearch refs/changes/63/358563/1 diff --git a/extension.json b/extension.json index 54d1f83..46169a2 100644 --- a/extension.json +++ b/extension.json @@ -69,7 +69,8 @@ "ext.advancedSearch.ui.ImageDimensionInput", "ext.advancedSearch.ui.MenuedInput", "ext.advancedSearch.ui.OptionalElementLayout", - "ext.advancedSearch.ui.SearchPreview" + "ext.advancedSearch.ui.SearchPreview", + "ext.advancedSearch.ui.TextInput" ] }, "ext.advancedSearch.ui.ArbitraryWordInput": { @@ -154,6 +155,14 @@ "oojs-ui" ] }, + "ext.advancedSearch.ui.TextInput": { + "scripts": [ + "modules/ui/ext.advancedSearch.TextInput.js" + ], + "dependencies": [ + "oojs-ui" + ] + }, "ext.advancedSearch.dm.SearchModel": { "scripts": [ "modules/dm/ext.advancedSearch.SearchModel.js" diff --git a/modules/ext.advancedSearch.init.js b/modules/ext.advancedSearch.init.js index c375d1e..c40a043 100644 --- a/modules/ext.advancedSearch.init.js +++ b/modules/ext.advancedSearch.init.js @@ -445,11 +445,9 @@ var paramName = 'advancedSearchOption-' + option.id; var widgetInit = option.init || function () { - return new OO.ui.TextInputWidget( { + return new mw.libs.advancedSearch.ui.TextInput( state, { id: paramName, - // TODO: These names are to long. - name: paramName, - value: mw.util.getParamValue( paramName ) + optionId: option.id } ); }, widget = widgetInit(); diff --git a/modules/ui/ext.advancedSearch.TextInput.js b/modules/ui/ext.advancedSearch.TextInput.js new file mode 100644 index 0000000..8d2063d --- /dev/null +++ b/modules/ui/ext.advancedSearch.TextInput.js @@ -0,0 +1,42 @@ +( function ( mw ) { + 'use strict'; + + mw.libs = mw.libs || {}; + mw.libs.advancedSearch = mw.libs.advancedSearch || {}; + mw.libs.advancedSearch.ui = mw.libs.advancedSearch.ui || {}; + + /** + * @class + * @extends {OO.ui.TextInputWidget} + * @constructor + * + * @param {ext.advancedSearch.dm.SearchModel} store + * @param {Object} config + */ + mw.libs.advancedSearch.ui.TextInput = function ( store, config ) { + var myConfig = $.extend( {}, config || {} ); + this.store = store; + this.optionId = config.optionId; + + this.store.connect( this, { update: 'onStoreUpdate' } ); + + mw.libs.advancedSearch.ui.TextInput.parent.call( this, myConfig ); + + this.populateFromStore(); + }; + + OO.inheritClass( mw.libs.advancedSearch.ui.TextInput, OO.ui.TextInputWidget ); + + mw.libs.advancedSearch.ui.TextInput.prototype.onStoreUpdate = function () { + this.populateFromStore(); + }; + + mw.libs.advancedSearch.ui.TextInput.prototype.populateFromStore = function () { + var val = this.store.getOption( this.optionId ); + if ( this.getValue() === val ) { + return; + } + this.setValue( val ); + }; + +} )( mediaWiki ); -- To view, visit https://gerrit.wikimedia.org/r/358563 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I675661e3b61201a15ebf4d74fbaf150a301fe25c Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/AdvancedSearch Gerrit-Branch: master Gerrit-Owner: Gabriel Birke <gabriel.bi...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits