mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-25 03:08:42 +00:00
Merge "dm.metaitems: Turn grouped metas into variadic ones"
This commit is contained in:
commit
b278907870
|
@ -1537,19 +1537,17 @@
|
|||
"modules/ve-mw/dm/metaitems/ve.dm.MWDefaultSortMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWDisplayTitleMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWHiddenCategoryMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWIndexDisableMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWIndexForceMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWFlaggedMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWIndexMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWNewSectionEditMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWTOCMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWLanguageMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWNewSectionEditDisableMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWNewSectionEditForceMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWNoContentConvertMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWNoEditSectionMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWNoGalleryMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWNoTitleConvertMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWRedirectMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWStaticRedirectMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWTOCDisableMetaItem.js",
|
||||
"modules/ve-mw/dm/metaitems/ve.dm.MWTOCForceMetaItem.js",
|
||||
"modules/ve-mw/ui/widgets/ve.ui.MWCategoryInputWidget.js",
|
||||
"modules/ve-mw/ui/widgets/ve.ui.MWCategoryPopupWidget.js",
|
||||
"modules/ve-mw/ui/widgets/ve.ui.MWCategoryItemWidget.js",
|
||||
|
|
57
modules/ve-mw/dm/metaitems/ve.dm.MWFlaggedMetaItem.js
Normal file
57
modules/ve-mw/dm/metaitems/ve.dm.MWFlaggedMetaItem.js
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWFlaggedMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel flagged meta item abstract (for pairs of meta items).
|
||||
*
|
||||
* @class
|
||||
* @abstract
|
||||
* @extends ve.dm.MetaItem
|
||||
* @constructor
|
||||
* @param {Object} [element] Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWFlaggedMetaItem = function VeDmMWFlaggedMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWFlaggedMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWFlaggedMetaItem, ve.dm.MetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
/* No name/group/matchRdfaTypes, as this is not a valid meta item, just an abstract class. */
|
||||
|
||||
ve.dm.MWFlaggedMetaItem.static.matchTagNames = [ 'meta' ];
|
||||
|
||||
ve.dm.MWFlaggedMetaItem.static.toDataElement = function ( domElements ) {
|
||||
var type = domElements[ 0 ].getAttribute( 'property' );
|
||||
|
||||
if ( !type || this.matchRdfaTypes.indexOf( type ) === -1 ) {
|
||||
// Fallback to first match if somehow unset
|
||||
type = this.matchRdfaTypes[ 0 ];
|
||||
}
|
||||
|
||||
return { type: this.name, attributes: { type: type } };
|
||||
};
|
||||
|
||||
ve.dm.MWFlaggedMetaItem.static.toDomElements = function ( dataElement, doc ) {
|
||||
var meta = doc.createElement( 'meta' ),
|
||||
type = OO.getProp( dataElement, 'attributes', 'property' );
|
||||
|
||||
if ( !type || this.matchRdfaTypes.indexOf( type ) === -1 ) {
|
||||
// Fallback to first item if somehow unset
|
||||
type = this.matchRdfaTypes[ 0 ];
|
||||
}
|
||||
|
||||
meta.setAttribute( 'property', type );
|
||||
|
||||
return [ meta ];
|
||||
};
|
||||
|
||||
/* No registration, as this is not a valid meta item, just an abstract class. */
|
|
@ -1,47 +0,0 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWIndexDisableMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel disable index meta item (for __NOINDEX__).
|
||||
*
|
||||
* @class
|
||||
* @extends ve.dm.MetaItem
|
||||
* @constructor
|
||||
* @param {Object} element Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWIndexDisableMetaItem = function VeDmMWIndexDisableMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWIndexDisableMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWIndexDisableMetaItem, ve.dm.MetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
ve.dm.MWIndexDisableMetaItem.static.name = 'mwIndexDisable';
|
||||
|
||||
ve.dm.MWIndexDisableMetaItem.static.group = 'mwIndex';
|
||||
|
||||
ve.dm.MWIndexDisableMetaItem.static.matchTagNames = [ 'meta' ];
|
||||
|
||||
ve.dm.MWIndexDisableMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/noindex' ];
|
||||
|
||||
ve.dm.MWIndexDisableMetaItem.static.toDataElement = function () {
|
||||
return { type: this.name };
|
||||
};
|
||||
|
||||
ve.dm.MWIndexDisableMetaItem.static.toDomElements = function ( dataElement, doc ) {
|
||||
var meta = doc.createElement( 'meta' );
|
||||
meta.setAttribute( 'property', 'mw:PageProp/noindex' );
|
||||
return [ meta ];
|
||||
};
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.modelRegistry.register( ve.dm.MWIndexDisableMetaItem );
|
|
@ -1,47 +0,0 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWIndexForceMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel force index meta item (for __INDEX__).
|
||||
*
|
||||
* @class
|
||||
* @extends ve.dm.MetaItem
|
||||
* @constructor
|
||||
* @param {Object} element Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWIndexForceMetaItem = function VeDmMWIndexForceMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWIndexForceMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWIndexForceMetaItem, ve.dm.MetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
ve.dm.MWIndexForceMetaItem.static.name = 'mwIndexForce';
|
||||
|
||||
ve.dm.MWIndexForceMetaItem.static.group = 'mwIndex';
|
||||
|
||||
ve.dm.MWIndexForceMetaItem.static.matchTagNames = [ 'meta' ];
|
||||
|
||||
ve.dm.MWIndexForceMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/index' ];
|
||||
|
||||
ve.dm.MWIndexForceMetaItem.static.toDataElement = function () {
|
||||
return { type: this.name };
|
||||
};
|
||||
|
||||
ve.dm.MWIndexForceMetaItem.static.toDomElements = function ( dataElement, doc ) {
|
||||
var meta = doc.createElement( 'meta' );
|
||||
meta.setAttribute( 'property', 'mw:PageProp/index' );
|
||||
return [ meta ];
|
||||
};
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.modelRegistry.register( ve.dm.MWIndexForceMetaItem );
|
35
modules/ve-mw/dm/metaitems/ve.dm.MWIndexMetaItem.js
Normal file
35
modules/ve-mw/dm/metaitems/ve.dm.MWIndexMetaItem.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWIndexMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel index meta item (for __INDEX__ and __NOINDEX__).
|
||||
*
|
||||
* @class
|
||||
* @extends ve.dm.MWFlaggedMetaItem
|
||||
* @constructor
|
||||
* @param {Object} [element] Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWIndexMetaItem = function VeDmMWIndexMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWIndexMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWIndexMetaItem, ve.dm.MWFlaggedMetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
ve.dm.MWIndexMetaItem.static.name = 'mwIndex';
|
||||
|
||||
ve.dm.MWIndexMetaItem.static.group = 'mwIndex';
|
||||
|
||||
ve.dm.MWIndexMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/index', 'mw:PageProp/noindex' ];
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.modelRegistry.register( ve.dm.MWIndexMetaItem );
|
|
@ -1,47 +0,0 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWNewSectionEditDisableMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel disable new section edit link meta item (for __NONEWSECTIONLINK__).
|
||||
*
|
||||
* @class
|
||||
* @extends ve.dm.MetaItem
|
||||
* @constructor
|
||||
* @param {Object} element Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWNewSectionEditDisableMetaItem = function VeDmMWNewSectionEditDisableMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWNewSectionEditDisableMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWNewSectionEditDisableMetaItem, ve.dm.MetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
ve.dm.MWNewSectionEditDisableMetaItem.static.name = 'mwNewSectionEditDisable';
|
||||
|
||||
ve.dm.MWNewSectionEditDisableMetaItem.static.group = 'mwNewSectionEdit';
|
||||
|
||||
ve.dm.MWNewSectionEditDisableMetaItem.static.matchTagNames = [ 'meta' ];
|
||||
|
||||
ve.dm.MWNewSectionEditDisableMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/nonewsectionlink' ];
|
||||
|
||||
ve.dm.MWNewSectionEditDisableMetaItem.static.toDataElement = function () {
|
||||
return { type: this.name };
|
||||
};
|
||||
|
||||
ve.dm.MWNewSectionEditDisableMetaItem.static.toDomElements = function ( dataElement, doc ) {
|
||||
var meta = doc.createElement( 'meta' );
|
||||
meta.setAttribute( 'property', 'mw:PageProp/nonewsectionlink' );
|
||||
return [ meta ];
|
||||
};
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.modelRegistry.register( ve.dm.MWNewSectionEditDisableMetaItem );
|
|
@ -1,47 +0,0 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWNewSectionEditForceMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel force new section edit link meta item (for __NEWSECTIONLINK__).
|
||||
*
|
||||
* @class
|
||||
* @extends ve.dm.MetaItem
|
||||
* @constructor
|
||||
* @param {Object} element Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWNewSectionEditForceMetaItem = function VeDmMWNewSectionEditForceMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWNewSectionEditForceMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWNewSectionEditForceMetaItem, ve.dm.MetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
ve.dm.MWNewSectionEditForceMetaItem.static.name = 'mwNewSectionEditForce';
|
||||
|
||||
ve.dm.MWNewSectionEditForceMetaItem.static.group = 'mwNewSectionEdit';
|
||||
|
||||
ve.dm.MWNewSectionEditForceMetaItem.static.matchTagNames = [ 'meta' ];
|
||||
|
||||
ve.dm.MWNewSectionEditForceMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/newsectionlink' ];
|
||||
|
||||
ve.dm.MWNewSectionEditForceMetaItem.static.toDataElement = function () {
|
||||
return { type: this.name };
|
||||
};
|
||||
|
||||
ve.dm.MWNewSectionEditForceMetaItem.static.toDomElements = function ( dataElement, doc ) {
|
||||
var meta = doc.createElement( 'meta' );
|
||||
meta.setAttribute( 'property', 'mw:PageProp/newsectionlink' );
|
||||
return [ meta ];
|
||||
};
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.modelRegistry.register( ve.dm.MWNewSectionEditForceMetaItem );
|
35
modules/ve-mw/dm/metaitems/ve.dm.MWNewSectionEditMetaItem.js
Normal file
35
modules/ve-mw/dm/metaitems/ve.dm.MWNewSectionEditMetaItem.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWNewSectionEditMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel new section edit link meta item (for __NEWSECTIONLINK__ and __NONEWSECTIONLINK__).
|
||||
*
|
||||
* @class
|
||||
* @extends ve.dm.MWFlaggedMetaItem
|
||||
* @constructor
|
||||
* @param {Object} [element] Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWNewSectionEditMetaItem = function VeDmMWNewSectionEditMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWNewSectionEditMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWNewSectionEditMetaItem, ve.dm.MWFlaggedMetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
ve.dm.MWNewSectionEditMetaItem.static.name = 'mwNewSectionEdit';
|
||||
|
||||
ve.dm.MWNewSectionEditMetaItem.static.group = 'mwNewSectionEdit';
|
||||
|
||||
ve.dm.MWNewSectionEditMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/newsectionlink', 'mw:PageProp/nonewsectionlink' ];
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.modelRegistry.register( ve.dm.MWNewSectionEditMetaItem );
|
|
@ -1,43 +0,0 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWTOCDisableMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel disable TOC meta item.
|
||||
*
|
||||
* @class
|
||||
* @extends ve.dm.MetaItem
|
||||
* @constructor
|
||||
* @param {Object} element Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWTOCDisableMetaItem = function VeDmMWTOCDisableMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWTOCDisableMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWTOCDisableMetaItem, ve.dm.MetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
ve.dm.MWTOCDisableMetaItem.static.name = 'mwTOCDisable';
|
||||
|
||||
ve.dm.MWTOCDisableMetaItem.static.group = 'mwTOC';
|
||||
|
||||
ve.dm.MWTOCDisableMetaItem.static.matchTagNames = [ 'meta' ];
|
||||
|
||||
ve.dm.MWTOCDisableMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/notoc' ];
|
||||
|
||||
ve.dm.MWTOCDisableMetaItem.static.toDomElements = function ( dataElement, doc ) {
|
||||
var meta = doc.createElement( 'meta' );
|
||||
meta.setAttribute( 'property', 'mw:PageProp/notoc' );
|
||||
return [ meta ];
|
||||
};
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.modelRegistry.register( ve.dm.MWTOCDisableMetaItem );
|
|
@ -1,43 +0,0 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWTOCForceMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel force TOC meta item.
|
||||
*
|
||||
* @class
|
||||
* @extends ve.dm.MetaItem
|
||||
* @constructor
|
||||
* @param {Object} element Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWTOCForceMetaItem = function VeDmMWTOCForceMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWTOCForceMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWTOCForceMetaItem, ve.dm.MetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
ve.dm.MWTOCForceMetaItem.static.name = 'mwTOCForce';
|
||||
|
||||
ve.dm.MWTOCForceMetaItem.static.group = 'mwTOC';
|
||||
|
||||
ve.dm.MWTOCForceMetaItem.static.matchTagNames = [ 'meta' ];
|
||||
|
||||
ve.dm.MWTOCForceMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/forcetoc' ];
|
||||
|
||||
ve.dm.MWTOCForceMetaItem.static.toDomElements = function ( dataElement, doc ) {
|
||||
var meta = doc.createElement( 'meta' );
|
||||
meta.setAttribute( 'property', 'mw:PageProp/forcetoc' );
|
||||
return [ meta ];
|
||||
};
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.modelRegistry.register( ve.dm.MWTOCForceMetaItem );
|
35
modules/ve-mw/dm/metaitems/ve.dm.MWTOCMetaItem.js
Normal file
35
modules/ve-mw/dm/metaitems/ve.dm.MWTOCMetaItem.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* VisualEditor DataModel MWTOCDisableMetaItem class.
|
||||
*
|
||||
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel TOC meta item (for __FORCETOC__ and __NOTOC__).
|
||||
*
|
||||
* @class
|
||||
* @extends ve.dm.MWFlaggedMetaItem
|
||||
* @constructor
|
||||
* @param {Object} element Reference to element in meta-linmod
|
||||
*/
|
||||
ve.dm.MWTOCMetaItem = function VeDmMWTOCMetaItem() {
|
||||
// Parent constructor
|
||||
ve.dm.MWTOCMetaItem.super.apply( this, arguments );
|
||||
};
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
OO.inheritClass( ve.dm.MWTOCMetaItem, ve.dm.MWFlaggedMetaItem );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
ve.dm.MWTOCMetaItem.static.name = 'mwTOC';
|
||||
|
||||
ve.dm.MWTOCMetaItem.static.group = 'mwTOC';
|
||||
|
||||
ve.dm.MWTOCMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/forcetoc', 'mw:PageProp/notoc' ];
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.modelRegistry.register( ve.dm.MWTOCMetaItem );
|
|
@ -39,7 +39,7 @@ ve.ui.MWAdvancedSettingsPage = function VeUiMWAdvancedSettingsPage( name, config
|
|||
new OO.ui.ButtonSelectWidget()
|
||||
.addItems( [
|
||||
new OO.ui.ButtonOptionWidget( {
|
||||
data: 'mwIndexForce',
|
||||
data: 'mw:PageProp/index',
|
||||
label: ve.msg( 'visualeditor-dialog-meta-settings-index-force' )
|
||||
} ),
|
||||
new OO.ui.ButtonOptionWidget( {
|
||||
|
@ -47,7 +47,7 @@ ve.ui.MWAdvancedSettingsPage = function VeUiMWAdvancedSettingsPage( name, config
|
|||
label: ve.msg( 'visualeditor-dialog-meta-settings-index-default' )
|
||||
} ),
|
||||
new OO.ui.ButtonOptionWidget( {
|
||||
data: 'mwIndexDisable',
|
||||
data: 'mw:PageProp/noindex',
|
||||
label: ve.msg( 'visualeditor-dialog-meta-settings-index-disable' )
|
||||
} )
|
||||
] )
|
||||
|
@ -65,7 +65,7 @@ ve.ui.MWAdvancedSettingsPage = function VeUiMWAdvancedSettingsPage( name, config
|
|||
new OO.ui.ButtonSelectWidget()
|
||||
.addItems( [
|
||||
new OO.ui.ButtonOptionWidget( {
|
||||
data: 'mwNewSectionEditForce',
|
||||
data: 'mw:PageProp/newsectionlink',
|
||||
label: ve.msg( 'visualeditor-dialog-meta-settings-newsectioneditlink-force' )
|
||||
} ),
|
||||
new OO.ui.ButtonOptionWidget( {
|
||||
|
@ -73,7 +73,7 @@ ve.ui.MWAdvancedSettingsPage = function VeUiMWAdvancedSettingsPage( name, config
|
|||
label: ve.msg( 'visualeditor-dialog-meta-settings-newsectioneditlink-default' )
|
||||
} ),
|
||||
new OO.ui.ButtonOptionWidget( {
|
||||
data: 'mwNewSectionEditDisable',
|
||||
data: 'mw:PageProp/nonewsectionlink',
|
||||
label: ve.msg( 'visualeditor-dialog-meta-settings-newsectioneditlink-disable' )
|
||||
} )
|
||||
] )
|
||||
|
@ -207,14 +207,14 @@ ve.ui.MWAdvancedSettingsPage.prototype.setup = function ( metaList ) {
|
|||
// Indexing items
|
||||
indexingField = this.indexing.getField();
|
||||
indexingOption = this.getMetaItem( 'mwIndex' );
|
||||
indexingType = indexingOption && indexingOption.element.type || 'default';
|
||||
indexingType = indexingOption.getAttribute( 'property' ) || 'default';
|
||||
indexingField.selectItemByData( indexingType );
|
||||
this.indexingOptionTouched = false;
|
||||
|
||||
// New section edit link items
|
||||
newSectionEditField = this.newEditSectionLink.getField();
|
||||
newSectionEditLinkOption = this.getMetaItem( 'mwNewSectionEdit' );
|
||||
newSectionEditLinkType = newSectionEditLinkOption && newSectionEditLinkOption.element.type || 'default';
|
||||
newSectionEditLinkType = newSectionEditLinkOption.getAttribute( 'property' ) || 'default';
|
||||
newSectionEditField.selectItemByData( newSectionEditLinkType );
|
||||
this.newSectionEditLinkOptionTouched = false;
|
||||
|
||||
|
@ -240,9 +240,9 @@ ve.ui.MWAdvancedSettingsPage.prototype.setup = function ( metaList ) {
|
|||
* @param {Object} [data] Dialog tear down data
|
||||
*/
|
||||
ve.ui.MWAdvancedSettingsPage.prototype.teardown = function ( data ) {
|
||||
var currentIndexingItem, newIndexingData,
|
||||
currentNewSectionEditLinkItem, newNewSectionEditLinkOptionData,
|
||||
currentDisplayTitleItem, newDisplayTitle, newDisplayTitleItemData,
|
||||
var currentIndexingItem, newIndexingData, newIndexingItem,
|
||||
currentNewSectionEditLinkItem, newNewSectionEditLinkData, newNewSectionEditLinkItem,
|
||||
currentDisplayTitleItem, newDisplayTitle, newDisplayTitleItem,
|
||||
advancedSettingsPage = this;
|
||||
|
||||
// Data initialization
|
||||
|
@ -262,14 +262,13 @@ ve.ui.MWAdvancedSettingsPage.prototype.teardown = function ( data ) {
|
|||
currentIndexingItem.remove();
|
||||
}
|
||||
} else {
|
||||
newIndexingItem = { type: 'mwIndex', attributes: { property: newIndexingData.data } };
|
||||
|
||||
if ( !currentIndexingItem ) {
|
||||
this.metaList.insertMeta( { type: newIndexingData.data } );
|
||||
} else if ( currentIndexingItem.element.type !== newIndexingData.data ) {
|
||||
this.metaList.insertMeta( newIndexingItem );
|
||||
} else if ( currentIndexingItem.getAttribute( 'property' ) !== newIndexingData.data ) {
|
||||
currentIndexingItem.replaceWith(
|
||||
ve.extendObject( true, {},
|
||||
currentIndexingItem.getElement(),
|
||||
{ type: newIndexingData.data }
|
||||
)
|
||||
ve.extendObject( true, {}, currentIndexingItem.getElement(), newIndexingItem )
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -277,23 +276,22 @@ ve.ui.MWAdvancedSettingsPage.prototype.teardown = function ( data ) {
|
|||
|
||||
// New section edit link items
|
||||
currentNewSectionEditLinkItem = this.getMetaItem( 'mwNewSectionEdit' );
|
||||
newNewSectionEditLinkOptionData = this.newEditSectionLink.getField().getSelectedItem();
|
||||
newNewSectionEditLinkData = this.newEditSectionLink.getField().getSelectedItem();
|
||||
|
||||
// Alter the new section edit option flag iff it's been touched & is actually different
|
||||
if ( this.newSectionEditLinkOptionTouched ) {
|
||||
if ( newNewSectionEditLinkOptionData.data === 'default' ) {
|
||||
if ( newNewSectionEditLinkData.data === 'default' ) {
|
||||
if ( currentNewSectionEditLinkItem ) {
|
||||
currentNewSectionEditLinkItem.remove();
|
||||
}
|
||||
} else {
|
||||
newNewSectionEditLinkItem = { type: 'mwNewSectionEdit', attributes: { property: newNewSectionEditLinkData.data } };
|
||||
|
||||
if ( !currentNewSectionEditLinkItem ) {
|
||||
this.metaList.insertMeta( { type: newNewSectionEditLinkOptionData.data } );
|
||||
} else if ( currentNewSectionEditLinkItem.element.type !== newNewSectionEditLinkOptionData.data ) {
|
||||
this.metaList.insertMeta( newNewSectionEditLinkItem );
|
||||
} else if ( currentNewSectionEditLinkItem.getAttribute( 'property' ) !== newNewSectionEditLinkData.data ) {
|
||||
currentNewSectionEditLinkItem.replaceWith(
|
||||
ve.extendObject( true, {},
|
||||
currentNewSectionEditLinkItem.getElement(),
|
||||
{ type: newNewSectionEditLinkOptionData.data }
|
||||
)
|
||||
ve.extendObject( true, {}, currentNewSectionEditLinkItem.getElement(), newNewSectionEditLinkItem )
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -305,7 +303,7 @@ ve.ui.MWAdvancedSettingsPage.prototype.teardown = function ( data ) {
|
|||
if ( newDisplayTitle === mw.Title.newFromText( mw.config.get( 'wgPageName' ) ).getPrefixedText() ) {
|
||||
newDisplayTitle = '';
|
||||
}
|
||||
newDisplayTitleItemData = { type: 'mwDisplayTitle', attributes: { content: newDisplayTitle } };
|
||||
newDisplayTitleItem = { type: 'mwDisplayTitle', attributes: { content: newDisplayTitle } };
|
||||
|
||||
// Alter the display title flag iff it's been touched & is actually different
|
||||
if ( this.displayTitleTouched ) {
|
||||
|
@ -316,7 +314,7 @@ ve.ui.MWAdvancedSettingsPage.prototype.teardown = function ( data ) {
|
|||
currentDisplayTitleItem.replaceWith(
|
||||
ve.extendObject( true, {},
|
||||
currentDisplayTitleItem.getElement(),
|
||||
newDisplayTitleItemData
|
||||
newDisplayTitleItem
|
||||
) );
|
||||
}
|
||||
} else {
|
||||
|
@ -327,7 +325,7 @@ ve.ui.MWAdvancedSettingsPage.prototype.teardown = function ( data ) {
|
|||
if ( newDisplayTitle ) {
|
||||
// There's no existing display title but there is a new one, so create
|
||||
// HACK: Putting this at index 0, offset 0 so that it works – bug 61862
|
||||
this.metaList.insertMeta( newDisplayTitleItemData, 0, 0 );
|
||||
this.metaList.insertMeta( newDisplayTitleItem, 0, 0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ ve.ui.MWSettingsPage = function VeUiMWSettingsPage( name, config ) {
|
|||
} )
|
||||
.addItems( [
|
||||
new OO.ui.ButtonOptionWidget( {
|
||||
data: 'mwTOCForce',
|
||||
data: 'mw:PageProp/forcetoc',
|
||||
label: ve.msg( 'visualeditor-dialog-meta-settings-toc-force' )
|
||||
} ),
|
||||
new OO.ui.ButtonOptionWidget( {
|
||||
|
@ -51,7 +51,7 @@ ve.ui.MWSettingsPage = function VeUiMWSettingsPage( name, config ) {
|
|||
label: ve.msg( 'visualeditor-dialog-meta-settings-toc-default' )
|
||||
} ),
|
||||
new OO.ui.ButtonOptionWidget( {
|
||||
data: 'mwTOCDisable',
|
||||
data: 'mw:PageProp/notoc',
|
||||
label: ve.msg( 'visualeditor-dialog-meta-settings-toc-disable' )
|
||||
} )
|
||||
] )
|
||||
|
@ -264,8 +264,7 @@ ve.ui.MWSettingsPage.prototype.setup = function ( metaList ) {
|
|||
// Table of Contents items
|
||||
tableOfContentsMetaItem = this.getMetaItem( 'mwTOC' );
|
||||
tableOfContentsField = this.tableOfContents.getField();
|
||||
tableOfContentsMode = tableOfContentsMetaItem &&
|
||||
tableOfContentsMetaItem.getType() || 'default';
|
||||
tableOfContentsMode = tableOfContentsMetaItem.getAttribute( 'property' ) || 'default';
|
||||
tableOfContentsField.selectItemByData( tableOfContentsMode );
|
||||
this.tableOfContentsTouched = false;
|
||||
|
||||
|
@ -293,7 +292,7 @@ ve.ui.MWSettingsPage.prototype.setup = function ( metaList ) {
|
|||
* @param {Object} [data] Dialog tear down data
|
||||
*/
|
||||
ve.ui.MWSettingsPage.prototype.teardown = function ( data ) {
|
||||
var tableOfContentsMetaItem, tableOfContentsSelectedItem, tableOfContentsValue,
|
||||
var currentTableOfContents, newTableOfContentsData, newTableOfContentsItem,
|
||||
currentRedirectTargetItem, newRedirectData, newRedirectItemData,
|
||||
currentStaticRedirectItem, newStaticRedirectState,
|
||||
settingsPage = this;
|
||||
|
@ -305,9 +304,8 @@ ve.ui.MWSettingsPage.prototype.teardown = function ( data ) {
|
|||
}
|
||||
|
||||
// Table of Contents items
|
||||
tableOfContentsMetaItem = this.getMetaItem( 'mwTOC' );
|
||||
tableOfContentsSelectedItem = this.tableOfContents.getField().getSelectedItem();
|
||||
tableOfContentsValue = tableOfContentsSelectedItem && tableOfContentsSelectedItem.getData();
|
||||
currentTableOfContents = this.getMetaItem( 'mwTOC' );
|
||||
newTableOfContentsData = this.tableOfContents.getField().getSelectedItem();
|
||||
|
||||
// Redirect items
|
||||
currentRedirectTargetItem = this.getMetaItem( 'mwRedirect' );
|
||||
|
@ -319,19 +317,18 @@ ve.ui.MWSettingsPage.prototype.teardown = function ( data ) {
|
|||
|
||||
// Alter the TOC option flag iff it's been touched & is actually different
|
||||
if ( this.tableOfContentsTouched ) {
|
||||
if ( tableOfContentsValue === 'default' ) {
|
||||
if ( tableOfContentsMetaItem ) {
|
||||
tableOfContentsMetaItem.remove();
|
||||
if ( newTableOfContentsData.data === 'default' ) {
|
||||
if ( currentTableOfContents ) {
|
||||
currentTableOfContents.remove();
|
||||
}
|
||||
} else {
|
||||
if ( !tableOfContentsMetaItem ) {
|
||||
this.metaList.insertMeta( { type: tableOfContentsValue } );
|
||||
} else if ( tableOfContentsMetaItem.getType() !== tableOfContentsValue ) {
|
||||
tableOfContentsMetaItem.replaceWith(
|
||||
ve.extendObject( true, {},
|
||||
tableOfContentsMetaItem.getElement(),
|
||||
{ type: tableOfContentsValue }
|
||||
)
|
||||
newTableOfContentsItem = { type: 'mwTOC', attributes: { property: newTableOfContentsData.data } };
|
||||
|
||||
if ( !currentTableOfContents ) {
|
||||
this.metaList.insertMeta( newTableOfContentsItem );
|
||||
} else if ( currentTableOfContents.getAttribute( 'property' ) !== newTableOfContentsData.data ) {
|
||||
currentTableOfContents.replaceWith(
|
||||
ve.extendObject( true, {}, currentTableOfContents.getElement(), newTableOfContentsItem )
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue