Mooeypoo has uploaded a new change for review.
https://gerrit.wikimedia.org/r/203965
Change subject: Keep the parameter list expanded after it was expanded once
......................................................................
Keep the parameter list expanded after it was expanded once
In the template dialog, keep the parameter search widget expanded
with all parameters showing if it was already expanded once.
Bug: T95696
Change-Id: I14a47dbea5c69532238e7e67290e613121fdc40e
---
M modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
M modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js
M modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js
3 files changed, 36 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor
refs/changes/65/203965/1
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
b/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
index 61b741d..4bf6905 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
@@ -26,6 +26,7 @@
this.loaded = false;
this.altered = false;
this.preventReselection = false;
+ this.expandedParamList = {};
this.confirmOverlay = new ve.ui.Overlay( { classes:
['ve-ui-overlay-global'] } );
this.confirmDialogs = new ve.ui.WindowManager( { factory:
ve.ui.windowFactory, isolate: true } );
@@ -113,6 +114,7 @@
params = removed.getParameters();
for ( name in params ) {
removePages.push( this.bookletLayout.getPage(
params[name].getId() ) );
+ delete
this.expandedParamList[params[name].getId()];
}
removed.disconnect( this );
}
@@ -176,6 +178,16 @@
};
/**
+ * Respond to showAll event in the placeholder page.
+ * Cache this so we can make sure the parameter list is expanded
+ * when we next load this same pageId placeholder.
+ *
+ * @param {string} pageId Page Id
+ */
+ve.ui.MWTemplateDialog.prototype.onParameterPlaceholderShowAll = function (
pageId ) {
+ this.expandedParamList[ pageId ] = true;
+};
+/**
* Handle add param events.
*
* @param {ve.dm.MWParameterModel} param Added param
@@ -186,7 +198,11 @@
if ( param.getName() ) {
page = new ve.ui.MWParameterPage( param, param.getId(), { $:
this.$ } );
} else {
- page = new ve.ui.MWParameterPlaceholderPage( param,
param.getId(), { $: this.$ } );
+ page = new ve.ui.MWParameterPlaceholderPage( param,
param.getId(), {
+ $: this.$,
+ expandedParamList: !!this.expandedParamList[
param.getId() ]
+ } )
+ .connect( this, { showAll:
'onParameterPlaceholderShowAll' } );
}
this.bookletLayout.addPages( [ page ], this.transclusionModel.getIndex(
param ) );
if ( this.loaded ) {
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js
b/modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js
index c9b9ba1..6b22130 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js
@@ -26,10 +26,17 @@
OO.ui.PageLayout.call( this, name, config );
// Properties
+ this.name = name;
this.parameter = parameter;
this.template = this.parameter.getTemplate();
- this.addParameterSearch = new ve.ui.MWParameterSearchWidget(
this.template, { $: this.$ } )
- .connect( this, { select: 'onParameterSelect' } );
+ this.addParameterSearch = new ve.ui.MWParameterSearchWidget(
this.template, {
+ $: this.$,
+ showAll: !!config.expandedParamList
+ } )
+ .connect( this, {
+ select: 'onParameterSelect',
+ showAll: 'onParameterShowAll'
+ } );
this.removeButton = new OO.ui.ButtonWidget( {
$: this.$,
@@ -62,6 +69,13 @@
/* Methods */
/**
+ * Respond to the parameter search widget showAll event
+ * @fires showAll
+ */
+ve.ui.MWParameterPlaceholderPage.prototype.onParameterShowAll = function () {
+ this.emit( 'showAll', this.name );
+};
+/**
* @inheritdoc
*/
ve.ui.MWParameterPlaceholderPage.prototype.setOutlineItem = function (
outlineItem ) {
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js
b/modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js
index 636cbd7..24e73f1 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js
@@ -29,7 +29,7 @@
// Properties
this.template = template;
this.index = [];
- this.showAll = false;
+ this.showAll = !!config.showAll;
this.limit = config.limit || null;
// Events
@@ -73,6 +73,7 @@
* @method
* @param {OO.ui.OptionWidget} item Selected item
* @fires select
+ * @fires showAll
*/
ve.ui.MWParameterSearchWidget.prototype.onResultsSelect = function ( item ) {
if ( item instanceof ve.ui.MWParameterResultWidget ) {
@@ -80,6 +81,7 @@
} else if ( item instanceof ve.ui.MWMoreParametersResultWidget ) {
this.showAll = true;
this.addResults();
+ this.emit( 'showAll' );
}
};
--
To view, visit https://gerrit.wikimedia.org/r/203965
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I14a47dbea5c69532238e7e67290e613121fdc40e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Mooeypoo <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits