Trevor Parscal has uploaded a new change for review.
https://gerrit.wikimedia.org/r/112145
Change subject: Update use of OO.ui.PageLayout to work with changes in OOUI
......................................................................
Update use of OO.ui.PageLayout to work with changes in OOUI
Change-Id: Ib5063db055a63082d08b2858bffb9f854d76c01b
See: I58a279dd949a867a4698a791103d5a6f2bd4b67f
---
M lib/ve
M modules/ve-mw/ui/dialogs/ve.ui.MWMediaEditDialog.js
M modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js
M modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
M modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js
M modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
M modules/ve-mw/ui/pages/ve.ui.MWTemplateParameterPage.js
M modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js
M modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js
M modules/ve-mw/ui/styles/ve.ui.MWDialog.css
10 files changed, 105 insertions(+), 52 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor
refs/changes/45/112145/1
diff --git a/lib/ve b/lib/ve
index 08083de..b96a98b 160000
--- a/lib/ve
+++ b/lib/ve
-Subproject commit 08083de071847735f095afacfcb7d17b3c1ec349
+Subproject commit b96a98b9fb94786292c88c5f9e3ac85b9a4340ac
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaEditDialog.js
b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaEditDialog.js
index cc73830..51ed477 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaEditDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaEditDialog.js
@@ -128,21 +128,17 @@
'outlined': true
} );
- this.generalSettingsPage = new OO.ui.PageLayout( 'general', {
- '$': this.$,
- 'label': ve.msg( 'visualeditor-dialog-media-page-general' ),
- 'icon': 'parameter'
- } );
-
- this.advancedSettingsPage = new OO.ui.PageLayout( 'advanced', {
- '$': this.$,
- 'label': ve.msg( 'visualeditor-dialog-media-page-advanced' ),
- 'icon': 'parameter'
- } );
-
+ this.generalSettingsPage = new OO.ui.PageLayout( 'general', { '$':
this.$ } );
+ this.advancedSettingsPage = new OO.ui.PageLayout( 'advanced', { '$':
this.$ } );
this.bookletLayout.addPages( [
this.generalSettingsPage, this.advancedSettingsPage
] );
+ this.generalSettingsPage.getOutlineItem()
+ .setIcon( 'parameter' )
+ .setLabel( ve.msg( 'visualeditor-dialog-media-page-general' ) );
+ this.advancedSettingsPage.getOutlineItem()
+ .setIcon( 'parameter' )
+ .setLabel( ve.msg( 'visualeditor-dialog-media-page-advanced' )
);
// Define fieldsets for image settings
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js
b/modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js
index 86b9eb8..b256b15 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js
@@ -21,7 +21,7 @@
*/
ve.ui.MWCategoriesPage = function VeUiMWCategoriesPage( surface, name, config
) {
// Configuration initialization
- config = ve.extendObject( { 'icon': 'tag' }, config );
+ config = config || {};
// Parent constructor
OO.ui.PageLayout.call( this, name, config );
@@ -30,7 +30,6 @@
this.metaList = surface.getModel().metaList;
this.defaultSortKeyTouched = false;
this.fallbackDefaultSortKey = mw.config.get( 'wgTitle' );
- this.label = ve.msg( 'visualeditor-dialog-meta-categories-section' );
this.categoriesFieldset = new OO.ui.FieldsetLayout( {
'$': this.$,
'label': ve.msg(
'visualeditor-dialog-meta-categories-data-label' ),
@@ -83,6 +82,18 @@
/* Methods */
/**
+ * @inheritdoc
+ */
+ve.ui.MWCategoriesPage.prototype.setOutlineItem = function ( outlineItem ) {
+ // Parent method
+ OO.ui.PageLayout.prototype.setOutlineItem.call( this, outlineItem );
+
+ this.outlineItem
+ .setIcon( 'tag' )
+ .setLabel( ve.msg(
'visualeditor-dialog-meta-categories-section' ) );
+};
+
+/**
* Handle category default sort change events.
*
* @param {string} value Default sort value
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
b/modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
index 7f652dd..2dcd48b 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
@@ -18,14 +18,10 @@
* @param {Object} [config] Configuration options
*/
ve.ui.MWLanguagesPage = function VeUiMWLanguagesPage( name, config ) {
- // Configuration initialization
- config = ve.extendObject( { 'icon': 'language' }, config );
-
// Parent constructor
OO.ui.PageLayout.call( this, name, config );
// Properties
- this.label = ve.msg( 'visualeditor-dialog-meta-languages-section' );
this.languagesFieldset = new OO.ui.FieldsetLayout( {
'$': this.$,
'label': ve.msg( 'visualeditor-dialog-meta-languages-label' ),
@@ -48,6 +44,18 @@
/* Methods */
+/**
+ * @inheritdoc
+ */
+ve.ui.MWLanguagesPage.prototype.setOutlineItem = function ( outlineItem ) {
+ // Parent method
+ OO.ui.PageLayout.prototype.setOutlineItem.call( this, outlineItem );
+
+ this.outlineItem
+ .setIcon( 'language' )
+ .setLabel( ve.msg( 'visualeditor-dialog-meta-languages-section'
) );
+};
+
ve.ui.MWLanguagesPage.prototype.onLoadLanguageData = function ( languages ) {
var i, $languagesTable = this.$( '<table>' ), languageslength =
languages.length;
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js
b/modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js
index cee8161..4fafbd9 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js
@@ -17,17 +17,12 @@
* @param {Object} [config] Configuration options
*/
ve.ui.MWSettingsPage = function VeUiMWSettingsPage( surface, name, config ) {
- // Configuration initialization
- config = ve.extendObject( config, { 'icon': 'settings' } );
-
// Parent constructor
OO.ui.PageLayout.call( this, name, config );
// Properties
this.metaList = surface.getModel().metaList;
this.tocOptionTouched = false;
- this.label = ve.msg( 'visualeditor-dialog-meta-settings-section' );
-
this.settingsFieldset = new OO.ui.FieldsetLayout( {
'$': this.$,
'label': ve.msg( 'visualeditor-dialog-meta-settings-label' ),
@@ -77,6 +72,18 @@
/* Methods */
/**
+ * @inheritdoc
+ */
+ve.ui.MWSettingsPage.prototype.setOutlineItem = function ( outlineItem ) {
+ // Parent method
+ OO.ui.PageLayout.prototype.setOutlineItem.call( this, outlineItem );
+
+ this.outlineItem
+ .setIcon( 'settings' )
+ .setLabel( ve.msg( 'visualeditor-dialog-meta-settings-section'
) );
+};
+
+/**
* Handle Table Of Contents display change events.
*
* @method
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
index f998513..635b72e 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
@@ -17,16 +17,12 @@
* @param {Object} [config] Configuration options
*/
ve.ui.MWTemplatePage = function VeUiMWTemplatePage( template, name, config ) {
- // Configuration initialization
- config = ve.extendObject( { 'icon': 'template', 'movable': true },
config );
-
// Parent constructor
OO.ui.PageLayout.call( this, name, config );
// Properties
this.template = template;
this.spec = this.template.getSpec();
- this.label = this.spec.getLabel();
this.addParameterSearch = new ve.ui.MWParameterSearchWidget(
this.template, { '$': this.$ } )
.connect( this, { 'select': 'onParameterSelect' } );
this.removeButton = new OO.ui.ButtonWidget( {
@@ -66,6 +62,19 @@
/* Methods */
+/**
+ * @inheritdoc
+ */
+ve.ui.MWTemplatePage.prototype.setOutlineItem = function ( outlineItem ) {
+ // Parent method
+ OO.ui.PageLayout.prototype.setOutlineItem.call( this, outlineItem );
+
+ this.outlineItem
+ .setIcon( 'template' )
+ .setMovable( true )
+ .setLabel( this.spec.getLabel() );
+};
+
ve.ui.MWTemplatePage.prototype.onParameterSelect = function ( name ) {
var param;
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWTemplateParameterPage.js
b/modules/ve-mw/ui/pages/ve.ui.MWTemplateParameterPage.js
index a9fb0bd..59acc77 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWTemplateParameterPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWTemplateParameterPage.js
@@ -17,23 +17,12 @@
* @param {Object} [config] Configuration options
*/
ve.ui.MWTemplateParameterPage = function VeUiMWTemplateParameter( parameter,
name, config ) {
- // Configuration initialization
- config = ve.extendObject(
- parameter.isRequired() ? {
- 'indicator': 'required',
- 'indicatorTitle': ve.msg(
'visualeditor-dialog-transclusion-required-parameter' )
- } : {},
- { 'icon': 'parameter', 'movable': false, 'level': 1 },
- config
- );
-
// Parent constructor
OO.ui.PageLayout.call( this, name, config );
// Properties
this.parameter = parameter;
this.spec = parameter.getTemplate().getSpec();
- this.label = this.spec.getParameterLabel( this.parameter.getName() );
this.textInput = new OO.ui.TextInputWidget( {
'$': this.$,
'multiline': true,
@@ -77,6 +66,26 @@
/* Methods */
+/**
+ * @inheritdoc
+ */
+ve.ui.MWTemplateParameterPage.prototype.setOutlineItem = function (
outlineItem ) {
+ // Parent method
+ OO.ui.PageLayout.prototype.setOutlineItem.call( this, outlineItem );
+
+ this.outlineItem
+ .setIcon( 'parameter' )
+ .setMovable( true )
+ .setLevel( 1 )
+ .setLabel( this.spec.getParameterLabel(
this.parameter.getName() ) );
+
+ if ( this.parameter.isRequired() ) {
+ this.outlineItem
+ .setIndicator( 'required' )
+ .setIndicatorTitle( ve.msg(
'visualeditor-dialog-transclusion-required-parameter' ) );
+ }
+};
+
ve.ui.MWTemplateParameterPage.prototype.onTextInputChange = function () {
this.parameter.setValue( this.textInput.getValue() );
};
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js
b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js
index a59270b..0c8d382 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js
@@ -17,17 +17,11 @@
* @param {Object} [config] Configuration options
*/
ve.ui.MWTemplatePlaceholderPage = function VeUiMWTemplatePlaceholder(
placeholder, name, config ) {
- // Configuration initialization
- config = ve.extendObject( { 'icon': 'template', 'movable': true },
config );
-
// Parent constructor
OO.ui.PageLayout.call( this, name, config );
// Properties
this.placeholder = placeholder;
- this.label = this.$( '<span>' )
- .addClass(
've-ui-mwTransclusionDialog-placeholder-label' )
- .text( ve.msg(
'visualeditor-dialog-transclusion-placeholder' ) );
this.addTemplateInput = new ve.ui.MWTitleInputWidget( {
'$': this.$, '$overlay': this.$overlay, 'namespace': 10
} )
@@ -69,6 +63,20 @@
/* Methods */
+/**
+ * @inheritdoc
+ */
+ve.ui.MWTemplatePlaceholderPage.prototype.setOutlineItem = function (
outlineItem ) {
+ // Parent method
+ OO.ui.PageLayout.prototype.setOutlineItem.call( this, outlineItem );
+
+ this.outlineItem
+ .setIcon( 'template' )
+ .setMovable( true )
+ .setFlags( [ 'placeholder' ] )
+ .setLabel( ve.msg(
'visualeditor-dialog-transclusion-placeholder' ) );
+};
+
ve.ui.MWTemplatePlaceholderPage.prototype.onAddTemplate = function () {
var transclusion = this.placeholder.getTransclusion(),
parts = this.placeholder.getTransclusion().getParts(),
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js
b/modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js
index 7dd843e..eb11912 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js
@@ -17,15 +17,11 @@
* @param {Object} [config] Configuration options
*/
ve.ui.MWTransclusionContentPage = function VeUiMWTransclusionContent( content,
name, config ) {
- // Configuration initialization
- config = ve.extendObject( { 'icon': 'source', 'movable': true }, config
);
-
// Parent constructor
OO.ui.PageLayout.call( this, name, config );
// Properties
this.content = content;
- this.label = ve.msg( 'visualeditor-dialog-transclusion-content' );
this.textInput = new OO.ui.TextInputWidget( {
'$': this.$,
'multiline': true,
@@ -59,6 +55,19 @@
/* Methods */
+/**
+ * @inheritdoc
+ */
+ve.ui.MWTransclusionContentPage.prototype.setOutlineItem = function (
outlineItem ) {
+ // Parent method
+ OO.ui.PageLayout.prototype.setOutlineItem.call( this, outlineItem );
+
+ this.outlineItem
+ .setIcon( 'source' )
+ .setMovable( true )
+ .setLabel( ve.msg( 'visualeditor-dialog-transclusion-content' )
);
+};
+
ve.ui.MWTransclusionContentPage.prototype.onTextInputChange = function () {
this.content.setValue( this.textInput.getValue() );
};
diff --git a/modules/ve-mw/ui/styles/ve.ui.MWDialog.css
b/modules/ve-mw/ui/styles/ve.ui.MWDialog.css
index 5e04b8a..605d330 100644
--- a/modules/ve-mw/ui/styles/ve.ui.MWDialog.css
+++ b/modules/ve-mw/ui/styles/ve.ui.MWDialog.css
@@ -23,10 +23,6 @@
margin-left: 0.5em;
}
-.ve-ui-mwTransclusionDialog-placeholder-label {
- font-style: italic;
-}
-
.oo-ui-fieldsetLayout + .ve-ui-mwTransclusionDialog-addParameterFieldset {
margin-top: 0;
}
--
To view, visit https://gerrit.wikimedia.org/r/112145
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib5063db055a63082d08b2858bffb9f854d76c01b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Trevor Parscal <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits