mirror of
https://github.com/ansible/awx.git
synced 2026-01-14 11:20:39 -03:30
Merge pull request #1566 from mabashian/expand-aw-required-when
Expanded awRequiredWhen to support expressions
This commit is contained in:
commit
6c7382b7b9
@ -74,7 +74,7 @@ export default function() {
|
||||
dataPlacement: 'right',
|
||||
dataContainer: 'body',
|
||||
awRequiredWhen: {
|
||||
variable: 'credRequired',
|
||||
reqExpression: 'credRequired',
|
||||
init: 'false'
|
||||
}
|
||||
},
|
||||
|
||||
@ -103,7 +103,7 @@ export default
|
||||
type: 'text',
|
||||
ngShow: "kind.value == 'aws'",
|
||||
awRequiredWhen: {
|
||||
variable: "aws_required",
|
||||
reqExpression: "aws_required",
|
||||
init: false
|
||||
},
|
||||
autocomplete: false,
|
||||
@ -115,7 +115,7 @@ export default
|
||||
type: 'sensitive',
|
||||
ngShow: "kind.value == 'aws'",
|
||||
awRequiredWhen: {
|
||||
variable: "aws_required",
|
||||
reqExpression: "aws_required",
|
||||
init: false
|
||||
},
|
||||
autocomplete: false,
|
||||
@ -149,7 +149,7 @@ export default
|
||||
dataContainer: "body",
|
||||
autocomplete: false,
|
||||
awRequiredWhen: {
|
||||
variable: 'host_required',
|
||||
reqExpression: 'host_required',
|
||||
init: false
|
||||
},
|
||||
subForm: 'credentialSubForm'
|
||||
@ -160,7 +160,7 @@ export default
|
||||
ngShow: "kind.value && kind.value !== 'aws' && " +
|
||||
"kind.value !== 'gce' && kind.value!=='azure'",
|
||||
awRequiredWhen: {
|
||||
variable: 'username_required',
|
||||
reqExpression: 'username_required',
|
||||
init: false
|
||||
},
|
||||
autocomplete: false,
|
||||
@ -171,7 +171,7 @@ export default
|
||||
type: 'email',
|
||||
ngShow: "kind.value === 'gce'",
|
||||
awRequiredWhen: {
|
||||
variable: 'email_required',
|
||||
reqExpression: 'email_required',
|
||||
init: false
|
||||
},
|
||||
autocomplete: false,
|
||||
@ -186,7 +186,7 @@ export default
|
||||
type: 'text',
|
||||
ngShow: "kind.value == 'azure'",
|
||||
awRequiredWhen: {
|
||||
variable: 'subscription_required',
|
||||
reqExpression: 'subscription_required',
|
||||
init: false
|
||||
},
|
||||
addRequired: false,
|
||||
@ -203,7 +203,7 @@ export default
|
||||
type: 'sensitive',
|
||||
ngShow: "kind.value == 'rax'",
|
||||
awRequiredWhen: {
|
||||
variable: "rackspace_required",
|
||||
reqExpression: "rackspace_required",
|
||||
init: false
|
||||
},
|
||||
autocomplete: false,
|
||||
@ -223,7 +223,7 @@ export default
|
||||
autocomplete: false,
|
||||
hasShowInputButton: true,
|
||||
awRequiredWhen: {
|
||||
variable: "password_required",
|
||||
reqExpression: "password_required",
|
||||
init: false
|
||||
},
|
||||
subForm: "credentialSubForm"
|
||||
@ -245,7 +245,7 @@ export default
|
||||
ngShow: "kind.value == 'ssh' || kind.value == 'scm' || " +
|
||||
"kind.value == 'gce' || kind.value == 'azure'",
|
||||
awRequiredWhen: {
|
||||
variable: 'key_required',
|
||||
reqExpression: 'key_required',
|
||||
init: true
|
||||
},
|
||||
class: 'Form-textAreaLabel',
|
||||
@ -319,7 +319,7 @@ export default
|
||||
addRequired: false,
|
||||
editRequired: false,
|
||||
awRequiredWhen: {
|
||||
variable: 'project_required',
|
||||
reqExpression: 'project_required',
|
||||
init: false
|
||||
},
|
||||
subForm: 'credentialSubForm'
|
||||
|
||||
@ -42,7 +42,7 @@ export default
|
||||
sourceField: 'name',
|
||||
ngClick: 'lookUpOrganization()',
|
||||
awRequiredWhen: {
|
||||
variable: "organizationrequired",
|
||||
reqExpression: "organizationrequired",
|
||||
init: "true"
|
||||
}
|
||||
},
|
||||
|
||||
@ -58,7 +58,10 @@ export default
|
||||
sourceModel: 'inventory',
|
||||
sourceField: 'name',
|
||||
ngClick: 'lookUpInventory()',
|
||||
awRequiredWhen: {variable: "inventoryrequired", init: "true" },
|
||||
awRequiredWhen: {
|
||||
reqExpression: "inventoryrequired",
|
||||
init: "true"
|
||||
},
|
||||
column: 1,
|
||||
awPopOver: "<p>Select the inventory containing the hosts you want this job to manage.</p>",
|
||||
dataTitle: 'Inventory',
|
||||
@ -71,7 +74,10 @@ export default
|
||||
sourceModel: 'project',
|
||||
sourceField: 'name',
|
||||
ngClick: 'lookUpProject()',
|
||||
awRequiredWhen: {variable: "projectrequired", init: "true" },
|
||||
awRequiredWhen: {
|
||||
reqExpression: "projectrequired",
|
||||
init: "true"
|
||||
},
|
||||
column: 1,
|
||||
awPopOver: "<p>Select the project containing the playbook you want this job to execute.</p>",
|
||||
dataTitle: 'Project',
|
||||
@ -83,7 +89,10 @@ export default
|
||||
type:'select',
|
||||
ngOptions: 'book for book in playbook_options track by book',
|
||||
id: 'playbook-select',
|
||||
awRequiredWhen: {variable: "playbookrequired", init: "true" },
|
||||
awRequiredWhen: {
|
||||
reqExpression: "playbookrequired",
|
||||
init: "true"
|
||||
},
|
||||
column: 1,
|
||||
awPopOver: "<p>Select the playbook to be executed by this job.</p>",
|
||||
dataTitle: 'Playbook',
|
||||
|
||||
@ -45,7 +45,7 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
||||
sourceField: 'name',
|
||||
ngClick: 'lookUpOrganization()',
|
||||
awRequiredWhen: {
|
||||
variable: "organizationrequired",
|
||||
reqExpression: "organizationrequired",
|
||||
init: "true"
|
||||
},
|
||||
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',
|
||||
ngOptions: 'path.label for path in project_local_paths',
|
||||
awRequiredWhen: {
|
||||
variable: "pathRequired",
|
||||
reqExpression: "pathRequired",
|
||||
init: false
|
||||
},
|
||||
ngShow: "scm_type.value == 'manual' && !showMissingPlaybooksAlert",
|
||||
@ -111,7 +111,7 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
||||
type: 'text',
|
||||
ngShow: "scm_type && scm_type.value !== 'manual'",
|
||||
awRequiredWhen: {
|
||||
variable: "scmRequired",
|
||||
reqExpression: "scmRequired",
|
||||
init: false
|
||||
},
|
||||
subForm: 'sourceSubForm',
|
||||
|
||||
@ -35,7 +35,7 @@ export default
|
||||
ngShow: "source && source.value == 'file'",
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "sourcePathRequired",
|
||||
reqExpression: "sourcePathRequired",
|
||||
init: "false"
|
||||
}
|
||||
},
|
||||
@ -47,7 +47,7 @@ export default
|
||||
sourceField: 'name',
|
||||
ngClick: 'lookUpCredential()',
|
||||
awRequiredWhen: {
|
||||
variable: "cloudCredentialRequired",
|
||||
reqExpression: "cloudCredentialRequired",
|
||||
init: "false"
|
||||
}
|
||||
},
|
||||
|
||||
@ -42,7 +42,7 @@ export default
|
||||
editRequire: false,
|
||||
ngClick: 'lookUpOrganization()',
|
||||
awRequiredWhen: {
|
||||
variable: "orgrequired",
|
||||
reqExpression: "orgrequired",
|
||||
init: true
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@ export default
|
||||
label: 'Username',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "not_ldap_user",
|
||||
reqExpression: "not_ldap_user",
|
||||
init: true
|
||||
},
|
||||
autocomplete: false
|
||||
@ -61,7 +61,7 @@ export default
|
||||
excludeMode: 'edit',
|
||||
ngClick: 'lookUpOrganization()',
|
||||
awRequiredWhen: {
|
||||
variable: "orgrequired",
|
||||
reqExpression: "orgrequired",
|
||||
init: true
|
||||
}
|
||||
},
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
*
|
||||
* All Rights Reserved
|
||||
*************************************************/
|
||||
|
||||
|
||||
/**
|
||||
* @ngdoc function
|
||||
* @name helpers.function:Users
|
||||
@ -30,12 +30,12 @@ export default
|
||||
UserForm.fields.email.readonly = false;
|
||||
UserForm.fields.email.editRequired = true;
|
||||
UserForm.fields.organization.awRequiredWhen = {
|
||||
variable: "orgrequired",
|
||||
reqExpression: "orgrequired",
|
||||
init: true
|
||||
};
|
||||
UserForm.fields.organization.readonly = false;
|
||||
UserForm.fields.username.awRequiredWhen = {
|
||||
variable: "not_ldap_user",
|
||||
reqExpression: "not_ldap_user",
|
||||
init: true
|
||||
};
|
||||
UserForm.fields.username.readonly = false;
|
||||
|
||||
@ -36,7 +36,7 @@ export default function() {
|
||||
label: 'Organization',
|
||||
type: 'lookup',
|
||||
awRequiredWhen: {
|
||||
variable: "orgrequired",
|
||||
reqExpression: "orgrequired",
|
||||
init: true
|
||||
},
|
||||
sourceModel: 'organization',
|
||||
|
||||
@ -78,8 +78,8 @@ export default ['Rest', 'ProcessErrors', 'generateList',
|
||||
}
|
||||
if (parent_scope.mode === "add") {
|
||||
if (parent_scope[sourceModel + "_field"].awRequiredWhen &&
|
||||
parent_scope[sourceModel + "_field"].awRequiredWhen.variable &&
|
||||
parent_scope[parent_scope[sourceModel + "_field"].awRequiredWhen.variable]) {
|
||||
parent_scope[sourceModel + "_field"].awRequiredWhen.reqExpression &&
|
||||
parent_scope.$eval(parent_scope[sourceModel + "_field"].awRequiredWhen.reqExpression)) {
|
||||
return true;
|
||||
} else if (parent_scope[sourceModel + "_field"].addRequired === true) {
|
||||
return true;
|
||||
|
||||
@ -42,7 +42,7 @@ export default function() {
|
||||
sourceField: 'name',
|
||||
ngClick: 'lookUpOrganization()',
|
||||
awRequiredWhen: {
|
||||
variable: "organizationrequired",
|
||||
reqExpression: "organizationrequired",
|
||||
init: "true"
|
||||
}
|
||||
},
|
||||
@ -60,7 +60,7 @@ export default function() {
|
||||
label: 'Username',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "email_required",
|
||||
reqExpression: "email_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'email' ",
|
||||
@ -76,7 +76,7 @@ export default function() {
|
||||
label: 'Host',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "email_required",
|
||||
reqExpression: "email_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'email' ",
|
||||
@ -86,7 +86,7 @@ export default function() {
|
||||
label: 'Sender Email',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "email_required",
|
||||
reqExpression: "email_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'email' ",
|
||||
@ -102,7 +102,7 @@ export default function() {
|
||||
dataPlacement: 'right',
|
||||
dataContainer: "body",
|
||||
awRequiredWhen: {
|
||||
variable: "email_required",
|
||||
reqExpression: "email_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'email' ",
|
||||
@ -113,7 +113,7 @@ export default function() {
|
||||
type: 'sensitive',
|
||||
hasShowInputButton: true,
|
||||
awRequiredWhen: {
|
||||
variable: "password_required" ,
|
||||
reqExpression: "password_required" ,
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'email' || notification_type.value == 'irc' ",
|
||||
@ -133,7 +133,7 @@ export default function() {
|
||||
'class': "input-small",
|
||||
min: 0,
|
||||
awRequiredWhen: {
|
||||
variable: "port_required",
|
||||
reqExpression: "port_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'email' || notification_type.value == 'irc'",
|
||||
@ -149,7 +149,7 @@ export default function() {
|
||||
dataPlacement: 'right',
|
||||
dataContainer: "body",
|
||||
awRequiredWhen: {
|
||||
variable: "channel_required",
|
||||
reqExpression: "channel_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'slack' || notification_type.value == 'hipchat'",
|
||||
@ -160,7 +160,7 @@ export default function() {
|
||||
type: 'sensitive',
|
||||
hasShowInputButton: true,
|
||||
awRequiredWhen: {
|
||||
variable: "token_required",
|
||||
reqExpression: "token_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'slack' || notification_type.value == 'pagerduty' || notification_type.value == 'hipchat'",
|
||||
@ -171,7 +171,7 @@ export default function() {
|
||||
type: 'sensitive',
|
||||
hasShowInputButton: true,
|
||||
awRequiredWhen: {
|
||||
variable: "twilio_required",
|
||||
reqExpression: "twilio_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'twilio' ",
|
||||
@ -181,7 +181,7 @@ export default function() {
|
||||
label: 'Source Phone Number',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "twilio_required",
|
||||
reqExpression: "twilio_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'twilio' ",
|
||||
@ -197,7 +197,7 @@ export default function() {
|
||||
dataPlacement: 'right',
|
||||
dataContainer: "body",
|
||||
awRequiredWhen: {
|
||||
variable: "twilio_required",
|
||||
reqExpression: "twilio_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'twilio' ",
|
||||
@ -207,7 +207,7 @@ export default function() {
|
||||
label: 'Account SID',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "twilio_required",
|
||||
reqExpression: "twilio_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'twilio' ",
|
||||
@ -217,7 +217,7 @@ export default function() {
|
||||
label: 'Pagerduty subdomain',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "pagerduty_required",
|
||||
reqExpression: "pagerduty_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'pagerduty' ",
|
||||
@ -227,7 +227,7 @@ export default function() {
|
||||
label: 'API Service/Integration Key',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "pagerduty_required",
|
||||
reqExpression: "pagerduty_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'pagerduty' ",
|
||||
@ -237,7 +237,7 @@ export default function() {
|
||||
label: 'Client Identifier',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "pagerduty_required",
|
||||
reqExpression: "pagerduty_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'pagerduty' ",
|
||||
@ -247,7 +247,7 @@ export default function() {
|
||||
label: 'Label to be shown with notification',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "hipchat_required",
|
||||
reqExpression: "hipchat_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'hipchat' ",
|
||||
@ -257,7 +257,7 @@ export default function() {
|
||||
label: 'API URL (e.g: https://mycompany.hiptchat.com)',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "hipchat_required",
|
||||
reqExpression: "hipchat_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'hipchat' ",
|
||||
@ -267,7 +267,7 @@ export default function() {
|
||||
label: 'Notification Color',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "hipchat_required",
|
||||
reqExpression: "hipchat_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'hipchat' ",
|
||||
@ -277,7 +277,7 @@ export default function() {
|
||||
label: 'Notify Channel',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "hipchat_required",
|
||||
reqExpression: "hipchat_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'hipchat' ",
|
||||
@ -287,7 +287,7 @@ export default function() {
|
||||
label: 'Target URL',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "webhook_required",
|
||||
reqExpression: "webhook_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'webhook' ",
|
||||
@ -297,7 +297,7 @@ export default function() {
|
||||
label: 'HTTP Headers',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "webhook_required",
|
||||
reqExpression: "webhook_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'webhook' ",
|
||||
@ -307,7 +307,7 @@ export default function() {
|
||||
label: 'IRC Server Address',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "irc_required",
|
||||
reqExpression: "irc_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'irc' ",
|
||||
@ -317,7 +317,7 @@ export default function() {
|
||||
label: 'IRC Nick',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "irc_required",
|
||||
reqExpression: "irc_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'irc' ",
|
||||
@ -327,7 +327,7 @@ export default function() {
|
||||
label: 'Destination Channels or Users',
|
||||
type: 'text',
|
||||
awRequiredWhen: {
|
||||
variable: "irc_required",
|
||||
reqExpression: "irc_required",
|
||||
init: "false"
|
||||
},
|
||||
ngShow: "notification_type.value == 'irc' ",
|
||||
|
||||
@ -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.
|
||||
//
|
||||
.directive('awRequiredWhen', function() {
|
||||
@ -338,47 +338,35 @@ angular.module('AWDirectives', ['RestServices', 'Utilities', 'JobsHelper'])
|
||||
require: 'ngModel',
|
||||
link: function(scope, elm, attrs, ctrl) {
|
||||
|
||||
function checkIt () {
|
||||
function updateRequired () {
|
||||
var isRequired = scope.$eval(attrs.awRequiredWhen);
|
||||
|
||||
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');
|
||||
if ($(elm).hasClass('lookup') || $(elm).hasClass('ui-spinner-input')) {
|
||||
$(elm).parent().parent().parent().find('label').first().addClass('prepend-asterisk');
|
||||
}
|
||||
else {
|
||||
$(elm).parent().parent().find('label').first().addClass('prepend-asterisk');
|
||||
}
|
||||
$(label).addClass('prepend-asterisk');
|
||||
}
|
||||
else if (!scope[attrs.awRequiredWhen]) {
|
||||
else if (!isRequired) {
|
||||
elm.removeAttr('required');
|
||||
if ($(elm).hasClass('lookup')) {
|
||||
label = $(elm).parent().parent().parent().find('label').first();
|
||||
label.removeClass('prepend-asterisk');
|
||||
}
|
||||
else {
|
||||
$(elm).parent().parent().find('label').first().removeClass('prepend-asterisk');
|
||||
}
|
||||
$(label).removeClass('prepend-asterisk');
|
||||
}
|
||||
if (scope[attrs.awRequiredWhen] && (viewValue === undefined || viewValue === null || viewValue === '')) {
|
||||
if (isRequired && (viewValue === undefined || viewValue === null || viewValue === '')) {
|
||||
validity = false;
|
||||
}
|
||||
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) {
|
||||
// We already set a watcher on the attribute above so no need to call updateRequired() in here
|
||||
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;
|
||||
if (Empty($(this).attr('aw-required-when'))) {
|
||||
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) {
|
||||
span = label.children('span');
|
||||
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.ask) ? "ng-disabled=\"" + fld + "_ask\" " : "";
|
||||
html += (field.autocomplete !== undefined) ? this.attr(field, 'autocomplete') : "";
|
||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
||||
field.awRequiredWhen.variable + "\" " : "";
|
||||
if(field.awRequiredWhen) {
|
||||
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.associated && this.form.fields[field.associated].ask) ? "ng-disabled=\"" + field.associated + "_ask\" " : "";
|
||||
html += ">\n";
|
||||
@ -939,8 +938,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
||||
html += "ng-disabled='" + _disabled + "'";
|
||||
}
|
||||
html += (field.autocomplete !== undefined) ? this.attr(field, 'autocomplete') : "";
|
||||
html += (field.awRequiredWhen) ? "data-awrequired-init='" + field.awRequiredWhen.init + "' aw-required-when='" +
|
||||
field.awRequiredWhen.variable + "' " : "";
|
||||
if(field.awRequiredWhen) {
|
||||
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.associated && this.form.fields[field.associated].ask) ? "ng-disabled='" + field.associated + "_foo' " : "";
|
||||
html += ">\n";
|
||||
@ -1050,8 +1051,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
||||
html += (field.ngRequired) ? "ng-required=\"" + field.ngRequired +"\"" : "";
|
||||
html += (field.readonly || field.showonly) ? "readonly " : "";
|
||||
html += (field.awDropFile) ? "aw-drop-file " : "";
|
||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
||||
field.awRequiredWhen.variable + "\" " : "";
|
||||
if(field.awRequiredWhen) {
|
||||
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";
|
||||
|
||||
|
||||
@ -1089,8 +1092,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
||||
//used for select2 combo boxes
|
||||
html += (field.multiSelect) ? "multiple " : "";
|
||||
html += (field.readonly) ? "disabled " : "";
|
||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
||||
field.awRequiredWhen.variable + "\" " : "";
|
||||
if(field.awRequiredWhen) {
|
||||
html += field.awRequiredWhen.init ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" " : "";
|
||||
html += field.awRequiredWhen.reqExpression ? "aw-required-when=\"" + field.awRequiredWhen.reqExpression + "\" " : "";
|
||||
}
|
||||
html += ">\n";
|
||||
if(!field.multiSelect){
|
||||
html += "<option value=\"\">";
|
||||
@ -1147,8 +1152,10 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
||||
html += (field.readonly) ? "readonly " : "";
|
||||
html += (field.integer) ? "integer " : "";
|
||||
html += (field.disabled) ? "data-disabled=\"true\" " : "";
|
||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
||||
field.awRequiredWhen.variable + "\" " : "";
|
||||
if(field.awRequiredWhen) {
|
||||
html += field.awRequiredWhen.init ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" " : "";
|
||||
html += field.awRequiredWhen.reqExpression ? "aw-required-when=\"" + field.awRequiredWhen.reqExpression + "\" " : "";
|
||||
}
|
||||
html += " >\n";
|
||||
// Add error messages
|
||||
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 += (options.mode === 'edit' && field.editRequired) ? "required " : "";
|
||||
html += (field.readonly || field.showonly) ? "readonly " : "";
|
||||
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
|
||||
field.awRequiredWhen.variable + "\" " : "";
|
||||
if(field.awRequiredWhen) {
|
||||
html += field.awRequiredWhen.init ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" " : "";
|
||||
html += field.awRequiredWhen.reqExpression ? "aw-required-when=\"" + field.awRequiredWhen.reqExpression + "\" " : "";
|
||||
}
|
||||
html += " awlookup >\n";
|
||||
html += "</div>\n";
|
||||
// Add error messages
|
||||
@ -1383,26 +1392,26 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
||||
tab, sectionShow, offset, width,ngDisabled, itm;
|
||||
|
||||
// title and exit button
|
||||
html += "<div class=\"Form-header\">";
|
||||
html += "<div class=\"Form-title ";
|
||||
html += (this.form.titleClass) ? this.form.titleClass : "";
|
||||
html += "\">";
|
||||
html += (options.mode === 'edit') ? this.form.editTitle : this.form.addTitle;
|
||||
if(this.form.name === "user"){
|
||||
html+= "<span class=\"Form-title--is_superuser\" "+
|
||||
"ng-if=is_superuser>Admin</span>";
|
||||
if(!(this.form.showHeader !== undefined && this.form.showHeader === false)) {
|
||||
html += "<div class=\"Form-header\">";
|
||||
html += "<div class=\"Form-title\">";
|
||||
html += (options.mode === 'edit') ? this.form.editTitle : this.form.addTitle;
|
||||
if(this.form.name === "user"){
|
||||
html+= "<span class=\"Form-title--is_superuser\" "+
|
||||
"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)) {
|
||||
var collection;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user