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

Reply via email to