mirror of
https://github.com/ansible/awx.git
synced 2026-03-20 10:27:34 -02:30
Merge pull request #4809 from kensible/ctint-add-fields-disabling
Additional fields and disabling for read-only fields
This commit is contained in:
@@ -171,7 +171,9 @@ export default [
|
|||||||
placeholder: ConfigurationUtils.formatPlaceholder($scope.$parent.configDataResolve[key].placeholder, key) || null,
|
placeholder: ConfigurationUtils.formatPlaceholder($scope.$parent.configDataResolve[key].placeholder, key) || null,
|
||||||
dataTitle: $scope.$parent.configDataResolve[key].label,
|
dataTitle: $scope.$parent.configDataResolve[key].label,
|
||||||
required: $scope.$parent.configDataResolve[key].required,
|
required: $scope.$parent.configDataResolve[key].required,
|
||||||
ngDisabled: $rootScope.user_is_system_auditor
|
ngDisabled: $rootScope.user_is_system_auditor,
|
||||||
|
disabled: $scope.$parent.configDataResolve[key].disabled || null,
|
||||||
|
readonly: $scope.$parent.configDataResolve[key].readonly || null,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,7 +205,8 @@ export default [
|
|||||||
scope: $scope.$parent,
|
scope: $scope.$parent,
|
||||||
variable: field.name,
|
variable: field.name,
|
||||||
parse_variable: 'parseType',
|
parse_variable: 'parseType',
|
||||||
field_id: form.formDef.name + '_' + field.name
|
field_id: form.formDef.name + '_' + field.name,
|
||||||
|
readonly: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -11,6 +11,10 @@
|
|||||||
showHeader: false,
|
showHeader: false,
|
||||||
|
|
||||||
fields: {
|
fields: {
|
||||||
|
SOCIAL_AUTH_AZUREAD_OAUTH2_CALLBACK_URL: {
|
||||||
|
type: 'text',
|
||||||
|
reset: 'SOCIAL_AUTH_AZUREAD_OAUTH2_CALLBACK_URL'
|
||||||
|
},
|
||||||
SOCIAL_AUTH_AZUREAD_OAUTH2_KEY: {
|
SOCIAL_AUTH_AZUREAD_OAUTH2_KEY: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
reset: 'SOCIAL_AUTH_AZUREAD_OAUTH2_KEY'
|
reset: 'SOCIAL_AUTH_AZUREAD_OAUTH2_KEY'
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ export default ['i18n', function(i18n) {
|
|||||||
showHeader: false,
|
showHeader: false,
|
||||||
|
|
||||||
fields: {
|
fields: {
|
||||||
|
SOCIAL_AUTH_GITHUB_ORG_CALLBACK_URL: {
|
||||||
|
type: 'text',
|
||||||
|
reset: 'SOCIAL_AUTH_GITHUB_TEAM_CALLBACK_URL'
|
||||||
|
},
|
||||||
SOCIAL_AUTH_GITHUB_ORG_KEY: {
|
SOCIAL_AUTH_GITHUB_ORG_KEY: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
reset: 'SOCIAL_AUTH_GITHUB_ORG_KEY'
|
reset: 'SOCIAL_AUTH_GITHUB_ORG_KEY'
|
||||||
@@ -23,6 +27,20 @@ export default ['i18n', function(i18n) {
|
|||||||
SOCIAL_AUTH_GITHUB_ORG_NAME: {
|
SOCIAL_AUTH_GITHUB_ORG_NAME: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
reset: 'SOCIAL_AUTH_GITHUB_ORG_NAME'
|
reset: 'SOCIAL_AUTH_GITHUB_ORG_NAME'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_GITHUB_ORG_ORGANIZATION_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_GITHUB_ORG_ORGANIZATION_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_GITHUB_ORG_TEAM_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_GITHUB_ORG_TEAM_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ export default ['i18n', function(i18n) {
|
|||||||
showHeader: false,
|
showHeader: false,
|
||||||
|
|
||||||
fields: {
|
fields: {
|
||||||
|
SOCIAL_AUTH_GITHUB_TEAM_CALLBACK_URL: {
|
||||||
|
type: 'text',
|
||||||
|
reset: 'SOCIAL_AUTH_GITHUB_TEAM_CALLBACK_URL'
|
||||||
|
},
|
||||||
SOCIAL_AUTH_GITHUB_TEAM_KEY: {
|
SOCIAL_AUTH_GITHUB_TEAM_KEY: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
reset: 'SOCIAL_AUTH_GITHUB_TEAM_KEY'
|
reset: 'SOCIAL_AUTH_GITHUB_TEAM_KEY'
|
||||||
@@ -23,6 +27,20 @@ export default ['i18n', function(i18n) {
|
|||||||
SOCIAL_AUTH_GITHUB_TEAM_ID: {
|
SOCIAL_AUTH_GITHUB_TEAM_ID: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
reset: 'SOCIAL_AUTH_GITHUB_TEAM_ID'
|
reset: 'SOCIAL_AUTH_GITHUB_TEAM_ID'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_GITHUB_TEAM_ORGANIZATION_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_GITHUB_TEAM_ORGANIZATION_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_GITHUB_TEAM_TEAM_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_GITHUB_TEAM_TEAM_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ export default ['i18n', function(i18n) {
|
|||||||
showHeader: false,
|
showHeader: false,
|
||||||
|
|
||||||
fields: {
|
fields: {
|
||||||
|
SOCIAL_AUTH_GITHUB_CALLBACK_URL: {
|
||||||
|
type: 'text',
|
||||||
|
reset: 'SOCIAL_AUTH_GITHUB_CALLBACK_URL'
|
||||||
|
},
|
||||||
SOCIAL_AUTH_GITHUB_KEY: {
|
SOCIAL_AUTH_GITHUB_KEY: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
reset: 'SOCIAL_AUTH_GITHUB_KEY'
|
reset: 'SOCIAL_AUTH_GITHUB_KEY'
|
||||||
@@ -19,6 +23,20 @@ export default ['i18n', function(i18n) {
|
|||||||
type: 'sensitive',
|
type: 'sensitive',
|
||||||
hasShowInputButton: true,
|
hasShowInputButton: true,
|
||||||
reset: 'SOCIAL_AUTH_GITHUB_SECRET'
|
reset: 'SOCIAL_AUTH_GITHUB_SECRET'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_GITHUB_ORGANIZATION_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_GITHUB_ORGANIZATION_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_GITHUB_TEAM_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_GITHUB_TEAM_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ export default ['i18n', function(i18n) {
|
|||||||
showHeader: false,
|
showHeader: false,
|
||||||
|
|
||||||
fields: {
|
fields: {
|
||||||
|
SOCIAL_AUTH_GOOGLE_OAUTH2_CALLBACK_URL: {
|
||||||
|
type: 'text',
|
||||||
|
reset: 'SOCIAL_AUTH_GOOGLE_OAUTH2_CALLBACK_URL'
|
||||||
|
},
|
||||||
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY: {
|
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
reset: 'SOCIAL_AUTH_GOOGLE_OAUTH2_KEY'
|
reset: 'SOCIAL_AUTH_GOOGLE_OAUTH2_KEY'
|
||||||
@@ -31,6 +35,20 @@ export default ['i18n', function(i18n) {
|
|||||||
codeMirror: true,
|
codeMirror: true,
|
||||||
rows: 6,
|
rows: 6,
|
||||||
class: 'Form-textAreaLabel Form-formGroup--fullWidth',
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth',
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_GOOGLE_OAUTH2_ORGANIZATION_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_GOOGLE_OAUTH2_ORGANIZATION_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_GOOGLE_OAUTH2_TEAM_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_GOOGLE_OAUTH2_TEAM_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,14 @@ export default ['i18n', function(i18n) {
|
|||||||
showHeader: false,
|
showHeader: false,
|
||||||
|
|
||||||
fields: {
|
fields: {
|
||||||
|
SOCIAL_AUTH_SAML_CALLBACK_URL: {
|
||||||
|
type: 'text',
|
||||||
|
reset: 'SOCIAL_AUTH_SAML_CALLBACK_URL'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_SAML_METADATA_URL: {
|
||||||
|
type: 'text',
|
||||||
|
reset: 'SOCIAL_AUTH_SAML_METADATA_URL'
|
||||||
|
},
|
||||||
SOCIAL_AUTH_SAML_SP_ENTITY_ID: {
|
SOCIAL_AUTH_SAML_SP_ENTITY_ID: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
reset: 'SOCIAL_AUTH_SAML_SP_ENTITY_ID'
|
reset: 'SOCIAL_AUTH_SAML_SP_ENTITY_ID'
|
||||||
@@ -51,6 +59,20 @@ export default ['i18n', function(i18n) {
|
|||||||
rows: 6,
|
rows: 6,
|
||||||
codeMirror: true,
|
codeMirror: true,
|
||||||
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_SAML_ORGANIZATION_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_SAML_ORGANIZATION_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
|
},
|
||||||
|
SOCIAL_AUTH_SAML_TEAM_MAP: {
|
||||||
|
type: 'textarea',
|
||||||
|
reset: 'SOCIAL_AUTH_SAML_TEAM_MAP',
|
||||||
|
rows: 6,
|
||||||
|
codeMirror: true,
|
||||||
|
class: 'Form-textAreaLabel Form-formGroup--fullWidth'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -99,3 +99,45 @@ input#filePickerText {
|
|||||||
.Section-messageBar--close:hover {
|
.Section-messageBar--close:hover {
|
||||||
color: @white;
|
color: @white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Codemirror and more disabling - you can still tab into the field with this method though
|
||||||
|
textarea[disabled="disabled"] + div[id*="-container"]{
|
||||||
|
pointer-events: none;
|
||||||
|
cursor: not-allowed;
|
||||||
|
|
||||||
|
.CodeMirror {
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.CodeMirror.cm-s-default,
|
||||||
|
.CodeMirror-line {
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.CodeMirror-gutter.CodeMirror-lint-markers,
|
||||||
|
.CodeMirror-gutter.CodeMirror-linenumbers {
|
||||||
|
background-color: #ebebeb;
|
||||||
|
color: @b7grey;
|
||||||
|
}
|
||||||
|
|
||||||
|
.CodeMirror-lines {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.CodeMirror-cursors {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Needed to show the not-allowed cursor over a Codemirror instance
|
||||||
|
.Form-formGroup--disabled {
|
||||||
|
cursor: not-allowed;
|
||||||
|
|
||||||
|
// Filepicker and toggle disabling
|
||||||
|
.Form-filePicker--pickerButton, .Form-filePicker--textBox,
|
||||||
|
.ScheduleToggle {
|
||||||
|
pointer-events: none;
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -11,20 +11,28 @@ export default ['$rootScope', 'GetBasePath', 'ProcessErrors', '$q', '$http', 'Re
|
|||||||
return {
|
return {
|
||||||
getConfigurationOptions: function() {
|
getConfigurationOptions: function() {
|
||||||
var deferred = $q.defer();
|
var deferred = $q.defer();
|
||||||
var returnData;
|
var returnData = {};
|
||||||
|
|
||||||
Rest.setUrl(url + '/all');
|
Rest.setUrl(url + '/all');
|
||||||
Rest.options()
|
Rest.options()
|
||||||
.success(function(data) {
|
.success(function(data) {
|
||||||
if($rootScope.user_is_superuser) {
|
// Compare GET actions with PUT actions and flag discrepancies
|
||||||
returnData = data.actions.PUT;
|
// for disabling in the UI
|
||||||
} else {
|
var getActions = data.actions.GET;
|
||||||
returnData = data.actions.GET;
|
var getKeys = _.keys(getActions);
|
||||||
}
|
var putActions = data.actions.PUT;
|
||||||
|
|
||||||
|
_.each(getKeys, function(key) {
|
||||||
|
if(putActions[key]) {
|
||||||
|
returnData[key] = putActions[key];
|
||||||
|
} else {
|
||||||
|
returnData[key] = _.extend(getActions[key], {
|
||||||
|
required: false,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
//LICENSE is read only, returning here explicitly for display
|
|
||||||
// Removing LICENSE display until 3.2 or later
|
|
||||||
//returnData.LICENSE = data.actions.GET.LICENSE;
|
|
||||||
deferred.resolve(returnData);
|
deferred.resolve(returnData);
|
||||||
})
|
})
|
||||||
.error(function(error) {
|
.error(function(error) {
|
||||||
|
|||||||
@@ -56,7 +56,9 @@ export default [
|
|||||||
dataPlacement: 'top',
|
dataPlacement: 'top',
|
||||||
dataTitle: $scope.$parent.configDataResolve[key].label,
|
dataTitle: $scope.$parent.configDataResolve[key].label,
|
||||||
required: $scope.$parent.configDataResolve[key].required,
|
required: $scope.$parent.configDataResolve[key].required,
|
||||||
ngDisabled: $rootScope.user_is_system_auditor
|
ngDisabled: $rootScope.user_is_system_auditor,
|
||||||
|
disabled: $scope.$parent.configDataResolve[key].disabled || null,
|
||||||
|
readonly: $scope.$parent.configDataResolve[key].readonly || null,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,9 @@ export default [
|
|||||||
placeholder: ConfigurationUtils.formatPlaceholder($scope.$parent.configDataResolve[key].placeholder, key) || null,
|
placeholder: ConfigurationUtils.formatPlaceholder($scope.$parent.configDataResolve[key].placeholder, key) || null,
|
||||||
dataTitle: $scope.$parent.configDataResolve[key].label,
|
dataTitle: $scope.$parent.configDataResolve[key].label,
|
||||||
required: $scope.$parent.configDataResolve[key].required,
|
required: $scope.$parent.configDataResolve[key].required,
|
||||||
ngDisabled: $rootScope.user_is_system_auditor
|
ngDisabled: $rootScope.user_is_system_auditor,
|
||||||
|
disabled: $scope.$parent.configDataResolve[key].disabled || null,
|
||||||
|
readonly: $scope.$parent.configDataResolve[key].readonly || null,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,9 @@
|
|||||||
dataPlacement: 'top',
|
dataPlacement: 'top',
|
||||||
dataTitle: $scope.$parent.configDataResolve[key].label,
|
dataTitle: $scope.$parent.configDataResolve[key].label,
|
||||||
required: $scope.$parent.configDataResolve[key].required,
|
required: $scope.$parent.configDataResolve[key].required,
|
||||||
ngDisabled: $rootScope.user_is_system_auditor
|
ngDisabled: $rootScope.user_is_system_auditor,
|
||||||
|
disabled: $scope.$parent.configDataResolve[key].disabled || null,
|
||||||
|
readonly: $scope.$parent.configDataResolve[key].readonly || null,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -671,7 +671,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
html += `<a class="Form-labelAction ${cls}" href="${href}" ng-click="${ngClick}">${action.label}</a>`;
|
html += `<a class="Form-labelAction ${cls}" href="${href}" ng-click="${ngClick}">${action.label}</a>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(field.reset) {
|
if(field.reset && !field.disabled) {
|
||||||
var resetValue = "'" + field.reset+ "'";
|
var resetValue = "'" + field.reset+ "'";
|
||||||
html+= `<a class="Form-resetValue" ng-click="resetValue(${resetValue})">Reset</a>`;
|
html+= `<a class="Form-resetValue" ng-click="resetValue(${resetValue})">Reset</a>`;
|
||||||
}
|
}
|
||||||
@@ -725,6 +725,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
|
|
||||||
|
|
||||||
html += "<div class='form-group Form-formGroup ";
|
html += "<div class='form-group Form-formGroup ";
|
||||||
|
html += (field.disabled) ? `Form-formGroup--disabled ` : ``;
|
||||||
html += (field.type === "checkbox") ? "Form-formGroup--checkbox" : "";
|
html += (field.type === "checkbox") ? "Form-formGroup--checkbox" : "";
|
||||||
html += (field['class']) ? (field['class']) : "";
|
html += (field['class']) ? (field['class']) : "";
|
||||||
html += "'";
|
html += "'";
|
||||||
@@ -764,6 +765,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
html += "\" ";
|
html += "\" ";
|
||||||
html += (field.placeholder) ? this.attr(field, 'placeholder') : "";
|
html += (field.placeholder) ? this.attr(field, 'placeholder') : "";
|
||||||
html += (field.required) ? "required " : "";
|
html += (field.required) ? "required " : "";
|
||||||
|
html += (field.disabled) ? `disabled="disabled" `: ``;
|
||||||
html += (field.readonly || field.showonly) ? "readonly " : "";
|
html += (field.readonly || field.showonly) ? "readonly " : "";
|
||||||
html += (field.awPassMatch) ? "awpassmatch=\"" + field.associated + "\" " : "";
|
html += (field.awPassMatch) ? "awpassmatch=\"" + field.associated + "\" " : "";
|
||||||
html += (field.capitalize) ? "capitalize " : "";
|
html += (field.capitalize) ? "capitalize " : "";
|
||||||
@@ -867,6 +869,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
|
|
||||||
if (field.control === null || field.control === undefined || field.control) {
|
if (field.control === null || field.control === undefined || field.control) {
|
||||||
html += "<input ";
|
html += "<input ";
|
||||||
|
html += (field.disabled) ? `disabled="disabled" `: ``;
|
||||||
html += buildId(field, fld + "_input", this.form);
|
html += buildId(field, fld + "_input", this.form);
|
||||||
html += "type='password' ";
|
html += "type='password' ";
|
||||||
html += "ng-model=\"" + fld + '" ';
|
html += "ng-model=\"" + fld + '" ';
|
||||||
@@ -986,6 +989,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
html += ">\n";
|
html += ">\n";
|
||||||
|
|
||||||
html += "<textarea ";
|
html += "<textarea ";
|
||||||
|
html += (field.disabled) ? `disabled="disabled" `: ``;
|
||||||
html += (field.rows) ? this.attr(field, 'rows') : "";
|
html += (field.rows) ? this.attr(field, 'rows') : "";
|
||||||
html += "ng-model=\"" + fld + '" ';
|
html += "ng-model=\"" + fld + '" ';
|
||||||
html += 'name="' + fld + '" ';
|
html += 'name="' + fld + '" ';
|
||||||
@@ -1045,6 +1049,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
|
|
||||||
html += "<div class=\"Form-dropDownContainer\">\n";
|
html += "<div class=\"Form-dropDownContainer\">\n";
|
||||||
html += "<select ";
|
html += "<select ";
|
||||||
|
html += (field.disabled) ? `disabled="disabled" `: ``;
|
||||||
html += "ng-model=\"" + (field.ngModel ? field.ngModel : fld) + '" ';
|
html += "ng-model=\"" + (field.ngModel ? field.ngModel : fld) + '" ';
|
||||||
html += 'name="' + fld + '" ';
|
html += 'name="' + fld + '" ';
|
||||||
html += "class=\"form-control Form-dropDown";
|
html += "class=\"form-control Form-dropDown";
|
||||||
|
|||||||
Reference in New Issue
Block a user