mirror of
https://github.com/ansible/awx.git
synced 2026-03-01 08:48:46 -03:30
Expanded awRequiredWhen to support an expression rather than looking at a truthy scope variable.
This commit is contained in:
@@ -74,7 +74,7 @@ export default function() {
|
|||||||
dataPlacement: 'right',
|
dataPlacement: 'right',
|
||||||
dataContainer: 'body',
|
dataContainer: 'body',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: 'credRequired',
|
reqExpression: 'credRequired',
|
||||||
init: 'false'
|
init: 'false'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ export default
|
|||||||
type: 'text',
|
type: 'text',
|
||||||
ngShow: "kind.value == 'aws'",
|
ngShow: "kind.value == 'aws'",
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "aws_required",
|
reqExpression: "aws_required",
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
autocomplete: false,
|
autocomplete: false,
|
||||||
@@ -115,7 +115,7 @@ export default
|
|||||||
type: 'sensitive',
|
type: 'sensitive',
|
||||||
ngShow: "kind.value == 'aws'",
|
ngShow: "kind.value == 'aws'",
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "aws_required",
|
reqExpression: "aws_required",
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
autocomplete: false,
|
autocomplete: false,
|
||||||
@@ -149,7 +149,7 @@ export default
|
|||||||
dataContainer: "body",
|
dataContainer: "body",
|
||||||
autocomplete: false,
|
autocomplete: false,
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: 'host_required',
|
reqExpression: 'host_required',
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
subForm: 'credentialSubForm'
|
subForm: 'credentialSubForm'
|
||||||
@@ -160,7 +160,7 @@ export default
|
|||||||
ngShow: "kind.value && kind.value !== 'aws' && " +
|
ngShow: "kind.value && kind.value !== 'aws' && " +
|
||||||
"kind.value !== 'gce' && kind.value!=='azure'",
|
"kind.value !== 'gce' && kind.value!=='azure'",
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: 'username_required',
|
reqExpression: 'username_required',
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
autocomplete: false,
|
autocomplete: false,
|
||||||
@@ -171,7 +171,7 @@ export default
|
|||||||
type: 'email',
|
type: 'email',
|
||||||
ngShow: "kind.value === 'gce'",
|
ngShow: "kind.value === 'gce'",
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: 'email_required',
|
reqExpression: 'email_required',
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
autocomplete: false,
|
autocomplete: false,
|
||||||
@@ -186,7 +186,7 @@ export default
|
|||||||
type: 'text',
|
type: 'text',
|
||||||
ngShow: "kind.value == 'azure'",
|
ngShow: "kind.value == 'azure'",
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: 'subscription_required',
|
reqExpression: 'subscription_required',
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
addRequired: false,
|
addRequired: false,
|
||||||
@@ -203,7 +203,7 @@ export default
|
|||||||
type: 'sensitive',
|
type: 'sensitive',
|
||||||
ngShow: "kind.value == 'rax'",
|
ngShow: "kind.value == 'rax'",
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "rackspace_required",
|
reqExpression: "rackspace_required",
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
autocomplete: false,
|
autocomplete: false,
|
||||||
@@ -223,7 +223,7 @@ export default
|
|||||||
autocomplete: false,
|
autocomplete: false,
|
||||||
hasShowInputButton: true,
|
hasShowInputButton: true,
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "password_required",
|
reqExpression: "password_required",
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
subForm: "credentialSubForm"
|
subForm: "credentialSubForm"
|
||||||
@@ -245,7 +245,7 @@ export default
|
|||||||
ngShow: "kind.value == 'ssh' || kind.value == 'scm' || " +
|
ngShow: "kind.value == 'ssh' || kind.value == 'scm' || " +
|
||||||
"kind.value == 'gce' || kind.value == 'azure'",
|
"kind.value == 'gce' || kind.value == 'azure'",
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: 'key_required',
|
reqExpression: 'key_required',
|
||||||
init: true
|
init: true
|
||||||
},
|
},
|
||||||
class: 'Form-textAreaLabel',
|
class: 'Form-textAreaLabel',
|
||||||
@@ -319,7 +319,7 @@ export default
|
|||||||
addRequired: false,
|
addRequired: false,
|
||||||
editRequired: false,
|
editRequired: false,
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: 'project_required',
|
reqExpression: 'project_required',
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
subForm: 'credentialSubForm'
|
subForm: 'credentialSubForm'
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export default
|
|||||||
sourceField: 'name',
|
sourceField: 'name',
|
||||||
ngClick: 'lookUpOrganization()',
|
ngClick: 'lookUpOrganization()',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "organizationrequired",
|
reqExpression: "organizationrequired",
|
||||||
init: "true"
|
init: "true"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -58,7 +58,10 @@ export default
|
|||||||
sourceModel: 'inventory',
|
sourceModel: 'inventory',
|
||||||
sourceField: 'name',
|
sourceField: 'name',
|
||||||
ngClick: 'lookUpInventory()',
|
ngClick: 'lookUpInventory()',
|
||||||
awRequiredWhen: {variable: "inventoryrequired", init: "true" },
|
awRequiredWhen: {
|
||||||
|
reqExpression: "inventoryrequired",
|
||||||
|
init: "true"
|
||||||
|
},
|
||||||
column: 1,
|
column: 1,
|
||||||
awPopOver: "<p>Select the inventory containing the hosts you want this job to manage.</p>",
|
awPopOver: "<p>Select the inventory containing the hosts you want this job to manage.</p>",
|
||||||
dataTitle: 'Inventory',
|
dataTitle: 'Inventory',
|
||||||
@@ -71,7 +74,10 @@ export default
|
|||||||
sourceModel: 'project',
|
sourceModel: 'project',
|
||||||
sourceField: 'name',
|
sourceField: 'name',
|
||||||
ngClick: 'lookUpProject()',
|
ngClick: 'lookUpProject()',
|
||||||
awRequiredWhen: {variable: "projectrequired", init: "true" },
|
awRequiredWhen: {
|
||||||
|
reqExpression: "projectrequired",
|
||||||
|
init: "true"
|
||||||
|
},
|
||||||
column: 1,
|
column: 1,
|
||||||
awPopOver: "<p>Select the project containing the playbook you want this job to execute.</p>",
|
awPopOver: "<p>Select the project containing the playbook you want this job to execute.</p>",
|
||||||
dataTitle: 'Project',
|
dataTitle: 'Project',
|
||||||
@@ -83,7 +89,10 @@ export default
|
|||||||
type:'select',
|
type:'select',
|
||||||
ngOptions: 'book for book in playbook_options track by book',
|
ngOptions: 'book for book in playbook_options track by book',
|
||||||
id: 'playbook-select',
|
id: 'playbook-select',
|
||||||
awRequiredWhen: {variable: "playbookrequired", init: "true" },
|
awRequiredWhen: {
|
||||||
|
reqExpression: "playbookrequired",
|
||||||
|
init: "true"
|
||||||
|
},
|
||||||
column: 1,
|
column: 1,
|
||||||
awPopOver: "<p>Select the playbook to be executed by this job.</p>",
|
awPopOver: "<p>Select the playbook to be executed by this job.</p>",
|
||||||
dataTitle: 'Playbook',
|
dataTitle: 'Playbook',
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
|||||||
sourceField: 'name',
|
sourceField: 'name',
|
||||||
ngClick: 'lookUpOrganization()',
|
ngClick: 'lookUpOrganization()',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "organizationrequired",
|
reqExpression: "organizationrequired",
|
||||||
init: "true"
|
init: "true"
|
||||||
},
|
},
|
||||||
awPopOver: '<p>A project must have at least one organization. Pick one organization now to create the project, and then after ' +
|
awPopOver: '<p>A project must have at least one organization. Pick one organization now to create the project, and then after ' +
|
||||||
@@ -95,7 +95,7 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
|||||||
id: 'local-path-select',
|
id: 'local-path-select',
|
||||||
ngOptions: 'path.label for path in project_local_paths',
|
ngOptions: 'path.label for path in project_local_paths',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "pathRequired",
|
reqExpression: "pathRequired",
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
ngShow: "scm_type.value == 'manual' && !showMissingPlaybooksAlert",
|
ngShow: "scm_type.value == 'manual' && !showMissingPlaybooksAlert",
|
||||||
@@ -111,7 +111,7 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
|||||||
type: 'text',
|
type: 'text',
|
||||||
ngShow: "scm_type && scm_type.value !== 'manual'",
|
ngShow: "scm_type && scm_type.value !== 'manual'",
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "scmRequired",
|
reqExpression: "scmRequired",
|
||||||
init: false
|
init: false
|
||||||
},
|
},
|
||||||
subForm: 'sourceSubForm',
|
subForm: 'sourceSubForm',
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export default
|
|||||||
ngShow: "source && source.value == 'file'",
|
ngShow: "source && source.value == 'file'",
|
||||||
type: 'text',
|
type: 'text',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "sourcePathRequired",
|
reqExpression: "sourcePathRequired",
|
||||||
init: "false"
|
init: "false"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -47,7 +47,7 @@ export default
|
|||||||
sourceField: 'name',
|
sourceField: 'name',
|
||||||
ngClick: 'lookUpCredential()',
|
ngClick: 'lookUpCredential()',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "cloudCredentialRequired",
|
reqExpression: "cloudCredentialRequired",
|
||||||
init: "false"
|
init: "false"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export default
|
|||||||
editRequire: false,
|
editRequire: false,
|
||||||
ngClick: 'lookUpOrganization()',
|
ngClick: 'lookUpOrganization()',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "orgrequired",
|
reqExpression: "orgrequired",
|
||||||
init: true
|
init: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ export default
|
|||||||
label: 'Username',
|
label: 'Username',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "not_ldap_user",
|
reqExpression: "not_ldap_user",
|
||||||
init: true
|
init: true
|
||||||
},
|
},
|
||||||
autocomplete: false
|
autocomplete: false
|
||||||
@@ -61,7 +61,7 @@ export default
|
|||||||
excludeMode: 'edit',
|
excludeMode: 'edit',
|
||||||
ngClick: 'lookUpOrganization()',
|
ngClick: 'lookUpOrganization()',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "orgrequired",
|
reqExpression: "orgrequired",
|
||||||
init: true
|
init: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved
|
* All Rights Reserved
|
||||||
*************************************************/
|
*************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ngdoc function
|
* @ngdoc function
|
||||||
* @name helpers.function:Users
|
* @name helpers.function:Users
|
||||||
@@ -30,12 +30,12 @@ export default
|
|||||||
UserForm.fields.email.readonly = false;
|
UserForm.fields.email.readonly = false;
|
||||||
UserForm.fields.email.editRequired = true;
|
UserForm.fields.email.editRequired = true;
|
||||||
UserForm.fields.organization.awRequiredWhen = {
|
UserForm.fields.organization.awRequiredWhen = {
|
||||||
variable: "orgrequired",
|
reqExpression: "orgrequired",
|
||||||
init: true
|
init: true
|
||||||
};
|
};
|
||||||
UserForm.fields.organization.readonly = false;
|
UserForm.fields.organization.readonly = false;
|
||||||
UserForm.fields.username.awRequiredWhen = {
|
UserForm.fields.username.awRequiredWhen = {
|
||||||
variable: "not_ldap_user",
|
reqExpression: "not_ldap_user",
|
||||||
init: true
|
init: true
|
||||||
};
|
};
|
||||||
UserForm.fields.username.readonly = false;
|
UserForm.fields.username.readonly = false;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default function() {
|
|||||||
label: 'Organization',
|
label: 'Organization',
|
||||||
type: 'lookup',
|
type: 'lookup',
|
||||||
awRequiredWhen: {
|
awRequiredWhen: {
|
||||||
variable: "orgrequired",
|
reqExpression: "orgrequired",
|
||||||
init: true
|
init: true
|
||||||
},
|
},
|
||||||
sourceModel: 'organization',
|
sourceModel: 'organization',
|
||||||
|
|||||||
@@ -78,8 +78,8 @@ export default ['Rest', 'ProcessErrors', 'generateList',
|
|||||||
}
|
}
|
||||||
if (parent_scope.mode === "add") {
|
if (parent_scope.mode === "add") {
|
||||||
if (parent_scope[sourceModel + "_field"].awRequiredWhen &&
|
if (parent_scope[sourceModel + "_field"].awRequiredWhen &&
|
||||||
parent_scope[sourceModel + "_field"].awRequiredWhen.variable &&
|
parent_scope[sourceModel + "_field"].awRequiredWhen.reqExpression &&
|
||||||
parent_scope[parent_scope[sourceModel + "_field"].awRequiredWhen.variable]) {
|
parent_scope.$eval(parent_scope[sourceModel + "_field"].awRequiredWhen.reqExpression)) {
|
||||||
return true;
|
return true;
|
||||||
} else if (parent_scope[sourceModel + "_field"].addRequired === true) {
|
} else if (parent_scope[sourceModel + "_field"].addRequired === true) {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -328,9 +328,9 @@ angular.module('AWDirectives', ['RestServices', 'Utilities', 'JobsHelper'])
|
|||||||
})
|
})
|
||||||
|
|
||||||
//
|
//
|
||||||
// awRequiredWhen: { variable: "<variable to watch for true|false>", init:"true|false" }
|
// awRequiredWhen: { reqExpression: "<expression to watch for true|false>", init: "true|false" }
|
||||||
//
|
//
|
||||||
// Make a field required conditionally using a scope variable. If the scope variable is true, the
|
// Make a field required conditionally using an expression. If the expression evaluates to true, the
|
||||||
// field will be required. Otherwise, the required attribute will be removed.
|
// field will be required. Otherwise, the required attribute will be removed.
|
||||||
//
|
//
|
||||||
.directive('awRequiredWhen', function() {
|
.directive('awRequiredWhen', function() {
|
||||||
@@ -338,47 +338,35 @@ angular.module('AWDirectives', ['RestServices', 'Utilities', 'JobsHelper'])
|
|||||||
require: 'ngModel',
|
require: 'ngModel',
|
||||||
link: function(scope, elm, attrs, ctrl) {
|
link: function(scope, elm, attrs, ctrl) {
|
||||||
|
|
||||||
function checkIt () {
|
function updateRequired () {
|
||||||
|
var isRequired = scope.$eval(attrs.awRequiredWhen);
|
||||||
|
|
||||||
var viewValue = elm.val(), label, validity = true;
|
var viewValue = elm.val(), label, validity = true;
|
||||||
if ( scope[attrs.awRequiredWhen] && (elm.attr('required') === null || elm.attr('required') === undefined) ) {
|
label = $(elm).closest('.form-group').find('label').first();
|
||||||
|
if ( isRequired && (elm.attr('required') === null || elm.attr('required') === undefined) ) {
|
||||||
$(elm).attr('required','required');
|
$(elm).attr('required','required');
|
||||||
if ($(elm).hasClass('lookup') || $(elm).hasClass('ui-spinner-input')) {
|
$(label).addClass('prepend-asterisk');
|
||||||
$(elm).parent().parent().parent().find('label').first().addClass('prepend-asterisk');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$(elm).parent().parent().find('label').first().addClass('prepend-asterisk');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (!scope[attrs.awRequiredWhen]) {
|
else if (!isRequired) {
|
||||||
elm.removeAttr('required');
|
elm.removeAttr('required');
|
||||||
if ($(elm).hasClass('lookup')) {
|
$(label).removeClass('prepend-asterisk');
|
||||||
label = $(elm).parent().parent().parent().find('label').first();
|
|
||||||
label.removeClass('prepend-asterisk');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$(elm).parent().parent().find('label').first().removeClass('prepend-asterisk');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (scope[attrs.awRequiredWhen] && (viewValue === undefined || viewValue === null || viewValue === '')) {
|
if (isRequired && (viewValue === undefined || viewValue === null || viewValue === '')) {
|
||||||
validity = false;
|
validity = false;
|
||||||
}
|
}
|
||||||
ctrl.$setValidity('required', validity);
|
ctrl.$setValidity('required', validity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
scope.$watchGroup([attrs.awRequiredWhen, $(elm).attr('name')], function() {
|
||||||
|
// watch for the aw-required-when expression to change value
|
||||||
|
updateRequired();
|
||||||
|
});
|
||||||
|
|
||||||
if (attrs.awrequiredInit !== undefined && attrs.awrequiredInit !== null) {
|
if (attrs.awrequiredInit !== undefined && attrs.awrequiredInit !== null) {
|
||||||
|
// We already set a watcher on the attribute above so no need to call updateRequired() in here
|
||||||
scope[attrs.awRequiredWhen] = attrs.awrequiredInit;
|
scope[attrs.awRequiredWhen] = attrs.awrequiredInit;
|
||||||
checkIt();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
scope.$watch(attrs.awRequiredWhen, function() {
|
|
||||||
// watch for the aw-required-when expression to change value
|
|
||||||
checkIt();
|
|
||||||
});
|
|
||||||
|
|
||||||
scope.$watch($(elm).attr('name'), function() {
|
|
||||||
// watch for the field to change value
|
|
||||||
checkIt();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -263,9 +263,6 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
var label, span;
|
var label, span;
|
||||||
if (Empty($(this).attr('aw-required-when'))) {
|
if (Empty($(this).attr('aw-required-when'))) {
|
||||||
label = $(this).closest('.form-group').find('label').first();
|
label = $(this).closest('.form-group').find('label').first();
|
||||||
if ($(this).attr('type') === 'radio') {
|
|
||||||
label = $(this).parent().parent().parent().find('label').first();
|
|
||||||
}
|
|
||||||
if (label.length > 0) {
|
if (label.length > 0) {
|
||||||
span = label.children('span');
|
span = label.children('span');
|
||||||
if (span.length > 0 && !span.first().hasClass('prepend-asterisk')) {
|
if (span.length > 0 && !span.first().hasClass('prepend-asterisk')) {
|
||||||
@@ -791,8 +788,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
html += (field.awSurveyQuestion) ? "aw-survey-question" : "" ;
|
html += (field.awSurveyQuestion) ? "aw-survey-question" : "" ;
|
||||||
html += (field.ask) ? "ng-disabled=\"" + fld + "_ask\" " : "";
|
html += (field.ask) ? "ng-disabled=\"" + fld + "_ask\" " : "";
|
||||||
html += (field.autocomplete !== undefined) ? this.attr(field, 'autocomplete') : "";
|
html += (field.autocomplete !== undefined) ? this.attr(field, 'autocomplete') : "";
|
||||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
if(field.awRequiredWhen) {
|
||||||
field.awRequiredWhen.variable + "\" " : "";
|
html += field.awRequiredWhen.init ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" " : "";
|
||||||
|
html += field.awRequiredWhen.reqExpression ? "aw-required-when=\"" + field.awRequiredWhen.reqExpression + "\" " : "";
|
||||||
|
}
|
||||||
html += (field.awValidUrl) ? "aw-valid-url " : "";
|
html += (field.awValidUrl) ? "aw-valid-url " : "";
|
||||||
html += (field.associated && this.form.fields[field.associated].ask) ? "ng-disabled=\"" + field.associated + "_ask\" " : "";
|
html += (field.associated && this.form.fields[field.associated].ask) ? "ng-disabled=\"" + field.associated + "_ask\" " : "";
|
||||||
html += ">\n";
|
html += ">\n";
|
||||||
@@ -939,8 +938,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
html += "ng-disabled='" + _disabled + "'";
|
html += "ng-disabled='" + _disabled + "'";
|
||||||
}
|
}
|
||||||
html += (field.autocomplete !== undefined) ? this.attr(field, 'autocomplete') : "";
|
html += (field.autocomplete !== undefined) ? this.attr(field, 'autocomplete') : "";
|
||||||
html += (field.awRequiredWhen) ? "data-awrequired-init='" + field.awRequiredWhen.init + "' aw-required-when='" +
|
if(field.awRequiredWhen) {
|
||||||
field.awRequiredWhen.variable + "' " : "";
|
html += field.awRequiredWhen.init ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" " : "";
|
||||||
|
html += field.awRequiredWhen.reqExpression ? "aw-required-when=\"" + field.awRequiredWhen.reqExpression + "\" " : "";
|
||||||
|
}
|
||||||
html += (field.awValidUrl) ? "aw-valid-url " : "";
|
html += (field.awValidUrl) ? "aw-valid-url " : "";
|
||||||
html += (field.associated && this.form.fields[field.associated].ask) ? "ng-disabled='" + field.associated + "_foo' " : "";
|
html += (field.associated && this.form.fields[field.associated].ask) ? "ng-disabled='" + field.associated + "_foo' " : "";
|
||||||
html += ">\n";
|
html += ">\n";
|
||||||
@@ -1050,8 +1051,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
html += (field.ngRequired) ? "ng-required=\"" + field.ngRequired +"\"" : "";
|
html += (field.ngRequired) ? "ng-required=\"" + field.ngRequired +"\"" : "";
|
||||||
html += (field.readonly || field.showonly) ? "readonly " : "";
|
html += (field.readonly || field.showonly) ? "readonly " : "";
|
||||||
html += (field.awDropFile) ? "aw-drop-file " : "";
|
html += (field.awDropFile) ? "aw-drop-file " : "";
|
||||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
if(field.awRequiredWhen) {
|
||||||
field.awRequiredWhen.variable + "\" " : "";
|
html += field.awRequiredWhen.init ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" " : "";
|
||||||
|
html += field.awRequiredWhen.reqExpression ? "aw-required-when=\"" + field.awRequiredWhen.reqExpression + "\" " : "";
|
||||||
|
}
|
||||||
html += "aw-watch ></textarea>\n";
|
html += "aw-watch ></textarea>\n";
|
||||||
|
|
||||||
|
|
||||||
@@ -1089,8 +1092,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
//used for select2 combo boxes
|
//used for select2 combo boxes
|
||||||
html += (field.multiSelect) ? "multiple " : "";
|
html += (field.multiSelect) ? "multiple " : "";
|
||||||
html += (field.readonly) ? "disabled " : "";
|
html += (field.readonly) ? "disabled " : "";
|
||||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
if(field.awRequiredWhen) {
|
||||||
field.awRequiredWhen.variable + "\" " : "";
|
html += field.awRequiredWhen.init ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" " : "";
|
||||||
|
html += field.awRequiredWhen.reqExpression ? "aw-required-when=\"" + field.awRequiredWhen.reqExpression + "\" " : "";
|
||||||
|
}
|
||||||
html += ">\n";
|
html += ">\n";
|
||||||
if(!field.multiSelect){
|
if(!field.multiSelect){
|
||||||
html += "<option value=\"\">";
|
html += "<option value=\"\">";
|
||||||
@@ -1147,8 +1152,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
html += (field.readonly) ? "readonly " : "";
|
html += (field.readonly) ? "readonly " : "";
|
||||||
html += (field.integer) ? "integer " : "";
|
html += (field.integer) ? "integer " : "";
|
||||||
html += (field.disabled) ? "data-disabled=\"true\" " : "";
|
html += (field.disabled) ? "data-disabled=\"true\" " : "";
|
||||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
if(field.awRequiredWhen) {
|
||||||
field.awRequiredWhen.variable + "\" " : "";
|
html += field.awRequiredWhen.init ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" " : "";
|
||||||
|
html += field.awRequiredWhen.reqExpression ? "aw-required-when=\"" + field.awRequiredWhen.reqExpression + "\" " : "";
|
||||||
|
}
|
||||||
html += " >\n";
|
html += " >\n";
|
||||||
// Add error messages
|
// Add error messages
|
||||||
if ((options.mode === 'add' && field.addRequired) || (options.mode === 'edit' && field.editRequired)) {
|
if ((options.mode === 'add' && field.addRequired) || (options.mode === 'edit' && field.editRequired)) {
|
||||||
@@ -1332,8 +1339,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
html += (field.placeholder) ? this.attr(field, 'placeholder') : "";
|
html += (field.placeholder) ? this.attr(field, 'placeholder') : "";
|
||||||
html += (options.mode === 'edit' && field.editRequired) ? "required " : "";
|
html += (options.mode === 'edit' && field.editRequired) ? "required " : "";
|
||||||
html += (field.readonly || field.showonly) ? "readonly " : "";
|
html += (field.readonly || field.showonly) ? "readonly " : "";
|
||||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
if(field.awRequiredWhen) {
|
||||||
field.awRequiredWhen.variable + "\" " : "";
|
html += field.awRequiredWhen.init ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" " : "";
|
||||||
|
html += field.awRequiredWhen.reqExpression ? "aw-required-when=\"" + field.awRequiredWhen.reqExpression + "\" " : "";
|
||||||
|
}
|
||||||
html += " awlookup >\n";
|
html += " awlookup >\n";
|
||||||
html += "</div>\n";
|
html += "</div>\n";
|
||||||
// Add error messages
|
// Add error messages
|
||||||
@@ -1383,26 +1392,26 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
tab, sectionShow, offset, width,ngDisabled, itm;
|
tab, sectionShow, offset, width,ngDisabled, itm;
|
||||||
|
|
||||||
// title and exit button
|
// title and exit button
|
||||||
html += "<div class=\"Form-header\">";
|
if(!(this.form.showHeader !== undefined && this.form.showHeader === false)) {
|
||||||
html += "<div class=\"Form-title ";
|
html += "<div class=\"Form-header\">";
|
||||||
html += (this.form.titleClass) ? this.form.titleClass : "";
|
html += "<div class=\"Form-title\">";
|
||||||
html += "\">";
|
html += (options.mode === 'edit') ? this.form.editTitle : this.form.addTitle;
|
||||||
html += (options.mode === 'edit') ? this.form.editTitle : this.form.addTitle;
|
if(this.form.name === "user"){
|
||||||
if(this.form.name === "user"){
|
html+= "<span class=\"Form-title--is_superuser\" "+
|
||||||
html+= "<span class=\"Form-title--is_superuser\" "+
|
"ng-if=is_superuser>Admin</span>";
|
||||||
"ng-if=is_superuser>Admin</span>";
|
}
|
||||||
|
html += "</div>\n";
|
||||||
|
if(this.form.cancelButton !== undefined && this.form.cancelButton === false) {
|
||||||
|
html += "<div class=\"Form-exitHolder\">";
|
||||||
|
html += "</div>";
|
||||||
|
} else {
|
||||||
|
html += "<div class=\"Form-exitHolder\">";
|
||||||
|
html += "<button class=\"Form-exit\" ng-click=\"formCancel()\">";
|
||||||
|
html += "<i class=\"fa fa-times-circle\"></i>";
|
||||||
|
html += "</button></div>\n";
|
||||||
|
}
|
||||||
|
html += "</div>\n"; //end of Form-header
|
||||||
}
|
}
|
||||||
html += "</div>\n";
|
|
||||||
if(this.form.cancelButton !== undefined && this.form.cancelButton === false) {
|
|
||||||
html += "<div class=\"Form-exitHolder\">";
|
|
||||||
html += "</div>";
|
|
||||||
} else {
|
|
||||||
html += "<div class=\"Form-exitHolder\">";
|
|
||||||
html += "<button class=\"Form-exit\" ng-click=\"formCancel()\">";
|
|
||||||
html += "<i class=\"fa fa-times-circle\"></i>";
|
|
||||||
html += "</button></div>\n";
|
|
||||||
}
|
|
||||||
html += "</div>\n"; //end of Form-header
|
|
||||||
|
|
||||||
if (!_.isEmpty(this.form.related)) {
|
if (!_.isEmpty(this.form.related)) {
|
||||||
var collection;
|
var collection;
|
||||||
|
|||||||
Reference in New Issue
Block a user