mediawiki-extensions-Visual.../modules/ve-mw/dm/models/ve.dm.MWTransclusionContentModel.js
Trevor Parscal fc95029b34 Auto-add required params for user added templates
Objectives:

* Automatically add required parameters to templates that users create
  using the GUI, without touching existing templates loaded from data
* Cleanup some confusing terminology and APIs

Changes:

ve.ui.MWParameterSearchWidget.js
* Remove special logic for skipping aliases, which are no longer included
  in the list of names given by getParameterNames

ve.ui.MWTransclusionDialog.js
* Add origin arguments to constructors of transclusion parts
* Re-use onAddParameter method during initial construction of parameter
  pages
* Add required template parameters for user created template parts

ve.dm.MWTransclusionPartModel.js
* Add origin argument/property/getter for tracking where a part came from

ve.dm.MWTransclusionContentModel.js,
ve.dm.MWTransclusionPlaceholderModel.js,
ve.dm.MWTemplateModel.js
* Add origin argument pass through

ve.dm.MWTranclusionModel.js
* Add origin arguments to constructors of transclusion parts

ve.dm.MWTemplateSpecModel.js
* Rename origin to name - was a bad name to start with and will be even
  more confusing with the new part origin property
* Add isParameterAlias method
* Make getParameterNames only return primary names, excluding aliases

ve.dm.MWTemplateModel.js
* Update use of parameter origin, now called name

Bug: 50747
Change-Id: Ib444f0f5a8168cd59ea52a6000ba5e42ccdc2a24
2013-07-11 16:31:51 +00:00

53 lines
1.2 KiB
JavaScript

/*!
* VisualEditor DataModel MWTransclusionContentModel class.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* MediaWiki transclusion content model.
*
* @class
* @extends ve.dm.MWTransclusionPartModel
*
* @constructor
* @param {ve.dm.MWTransclusionModel} transclusion Transclusion
* @param {string} [value] Content value
* @param {string} [origin] Origin of part, e.g. 'data' or 'user'
*/
ve.dm.MWTransclusionContentModel =
function VeDmMWTransclusionContentModel( transclusion, value, origin ) {
// Parent constructor
ve.dm.MWTransclusionPartModel.call( this, transclusion, origin );
// Properties
this.value = value || '';
};
/* Inheritance */
ve.inheritClass( ve.dm.MWTransclusionContentModel, ve.dm.MWTransclusionPartModel );
/* Methods */
/**
* Get content value.
*
* @method
* @returns {string} Content value
*/
ve.dm.MWTransclusionContentModel.prototype.getValue = function () {
return this.value;
};
/**
* Set content value.
*
* @method
* @param {string} value Content value
*/
ve.dm.MWTransclusionContentModel.prototype.setValue = function ( value ) {
this.value = value;
};