jenkins-bot has submitted this change and it was merged.
Change subject: Allow mixins to specify default parameter values
......................................................................
Allow mixins to specify default parameter values
When registering parameters for a mixin, the author may now specify
a default value with the defaultValue key.
Change-Id: I4e24e1c718bdf4f97293537674b357c5f1c61c16
---
M resources/infrastructure/campaignManager.js
1 file changed, 39 insertions(+), 33 deletions(-)
Approvals:
Awight: Looks good to me, approved
jenkins-bot: Verified
diff --git a/resources/infrastructure/campaignManager.js
b/resources/infrastructure/campaignManager.js
index 2d7ad7a..9fa3dea 100644
--- a/resources/infrastructure/campaignManager.js
+++ b/resources/infrastructure/campaignManager.js
@@ -135,6 +135,8 @@
params: []
};
+ paramValues = paramValues || {};
+
$.each( paramDefs, function ( paramName, paramDef ) {
var paramTemplateVars = {
@@ -168,45 +170,49 @@
throw 'Invalid parameter definition
type: ' + paramDef.type;
}
- // If param values were provided, fill the form up with
those
- if ( paramValues ) {
- switch ( paramDef.type ) {
- case 'string':
- case 'integer':
- case 'float':
- paramTemplateVars.inputValue =
paramValues[paramName];
- break;
+ // If parameter value was not provided, set a default
+ if ( !( paramName in paramValues ) ) {
+ if ( typeof paramDef.defaultValue !==
'undefined' ) {
+ paramValues[paramName] =
paramDef.defaultValue;
+ } else {
+ switch ( paramDef.type ) {
+ case 'string':
+ paramValues[paramName]
= '';
+ break;
- case 'boolean':
- if ( paramValues[paramName] ) {
-
paramTemplateVars.checkedFlagAndVar = {
- checked:
'checked'
- };
- }
- break;
+ case 'integer':
+ case 'float':
+ paramValues[paramName]
= '0';
+ break;
- default:
- throw 'Invalid parameter
definition type: ' + paramDef.type;
+ case 'boolean':
+ paramValues[paramName]
= false;
+ break;
+
+ default:
+ throw 'Invalid
parameter definition type: ' + paramDef.type;
+ }
}
+ }
- // No param values? Set some defaults
- } else {
- switch ( paramDef.type ) {
- case 'string':
- paramTemplateVars.inputValue =
'';
- break;
+ // Set form control values
+ switch ( paramDef.type ) {
+ case 'string':
+ case 'integer':
+ case 'float':
+ paramTemplateVars.inputValue =
paramValues[paramName];
+ break;
- case 'integer':
- case 'float':
- paramTemplateVars.inputValue =
'0';
- break;
+ case 'boolean':
+ if ( paramValues[paramName] ) {
+
paramTemplateVars.checkedFlagAndVar = {
+ checked: 'checked'
+ };
+ }
+ break;
- case 'boolean':
- break;
-
- default:
- throw 'Invalid parameter
definition type: ' + paramDef.type;
- }
+ default:
+ throw 'Invalid parameter definition
type: ' + paramDef.type;
}
if ( paramDef.helpMsg ) {
--
To view, visit https://gerrit.wikimedia.org/r/247637
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I4e24e1c718bdf4f97293537674b357c5f1c61c16
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/CentralNotice
Gerrit-Branch: master
Gerrit-Owner: Ejegg <[email protected]>
Gerrit-Reviewer: AndyRussG <[email protected]>
Gerrit-Reviewer: Awight <[email protected]>
Gerrit-Reviewer: Cdentinger <[email protected]>
Gerrit-Reviewer: Ejegg <[email protected]>
Gerrit-Reviewer: Ssmith <[email protected]>
Gerrit-Reviewer: XenoRyet <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits