allow overriding chkbox ngDisable inheritance

Allow checkbox associated with form textbox to override the enherited
ngDisabled condition set on the associated "parent" form textbox.

This allows "Ask at Runtime?" checkboxes to be unchecked.

Note: I did not expand this feature to anything outside the scope of
fixing this problem. i.e. only password textbox fields.

related to #4857
This commit is contained in:
Chris Meyers 2017-01-20 14:33:42 -05:00
parent 5afa2ab264
commit a59da9115e
2 changed files with 9 additions and 5 deletions

View File

@ -231,7 +231,8 @@ export default
subCheckbox: {
variable: 'ssh_password_ask',
text: i18n._('Ask at runtime?'),
ngChange: 'ask(\'ssh_password\', \'undefined\')'
ngChange: 'ask(\'ssh_password\', \'undefined\')',
ngDisabled: false,
},
hasShowInputButton: true,
autocomplete: false,
@ -309,7 +310,8 @@ export default
subCheckbox: {
variable: 'become_password_ask',
text: i18n._('Ask at runtime?'),
ngChange: 'ask(\'become_password\', \'undefined\')'
ngChange: 'ask(\'become_password\', \'undefined\')',
ngDisabled: false,
},
hasShowInputButton: true,
autocomplete: false,
@ -394,7 +396,8 @@ export default
subCheckbox: {
variable: 'vault_password_ask',
text: i18n._('Ask at runtime?'),
ngChange: 'ask(\'vault_password\', \'undefined\')'
ngChange: 'ask(\'vault_password\', \'undefined\')',
ngDisabled: false,
},
hasShowInputButton: true,
autocomplete: false,

View File

@ -914,10 +914,11 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
field.subCheckbox.variable + "\" ";
html += (field.subCheckbox.ngChange) ? "ng-change=\"" + field.subCheckbox.ngChange + "\" " : "";
html += "id=\"" + this.form.name + "_" + fld + "_ask_chbox\" ";
if (field.subCheckbox.ngDisabled) {
if (field.subCheckbox.ngDisabled !== undefined) {
html += "ng-disabled='" + field.subCheckbox.ngDisabled + "'";
} else {
html += (field.ngDisabled) ? "ng-disabled=\"" + field.ngDisabled + "\" " : "";
}
html += (field.ngDisabled) ? "ng-disabled=\"" + field.ngDisabled + "\" " : "";
html += ">";
html += field.subCheckbox.text ? field.subCheckbox.text : "";
html += "</label>";