mirror of
https://github.com/ansible/awx.git
synced 2026-03-23 03:45:01 -02:30
fixing CTiT select2 dropdowns for when the user hits the RESET button
This commit is contained in:
@@ -227,16 +227,15 @@ export default [
|
|||||||
// Flag to avoid re-rendering and breaking Select2 dropdowns on tab switching
|
// Flag to avoid re-rendering and breaking Select2 dropdowns on tab switching
|
||||||
var dropdownRendered = false;
|
var dropdownRendered = false;
|
||||||
|
|
||||||
$scope.$on('populated', function() {
|
|
||||||
startCodeMirrors();
|
|
||||||
|
|
||||||
// Create Select2 fields
|
|
||||||
var opts = [];
|
function populateLDAPGroupType(flag){
|
||||||
if($scope.$parent.AUTH_LDAP_GROUP_TYPE !== null) {
|
if($scope.$parent.AUTH_LDAP_GROUP_TYPE !== null) {
|
||||||
opts.push({
|
$scope.$parent.AUTH_LDAP_GROUP_TYPE = _.find($scope.$parent.AUTH_LDAP_GROUP_TYPE_options, { value: $scope.$parent.AUTH_LDAP_GROUP_TYPE });
|
||||||
id: $scope.$parent.AUTH_LDAP_GROUP_TYPE,
|
}
|
||||||
text: $scope.$parent.AUTH_LDAP_GROUP_TYPE
|
|
||||||
});
|
if(flag !== undefined){
|
||||||
|
dropdownRendered = flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!dropdownRendered) {
|
if(!dropdownRendered) {
|
||||||
@@ -245,15 +244,17 @@ export default [
|
|||||||
element: '#configuration_ldap_template_AUTH_LDAP_GROUP_TYPE',
|
element: '#configuration_ldap_template_AUTH_LDAP_GROUP_TYPE',
|
||||||
multiple: false,
|
multiple: false,
|
||||||
placeholder: i18n._('Select group types'),
|
placeholder: i18n._('Select group types'),
|
||||||
opts: opts
|
|
||||||
});
|
});
|
||||||
// Fix for bug where adding selected opts causes form to be $dirty and triggering modal
|
|
||||||
// TODO Find better solution for this bug
|
|
||||||
$timeout(function(){
|
|
||||||
$scope.$parent.configuration_ldap_template_form.$setPristine();
|
|
||||||
}, 1000);
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.$on('AUTH_LDAP_GROUP_TYPE_populated', function(e, data, flag) {
|
||||||
|
populateLDAPGroupType(flag);
|
||||||
|
});
|
||||||
|
|
||||||
|
$scope.$on('populated', function() {
|
||||||
|
startCodeMirrors();
|
||||||
|
populateLDAPGroupType();
|
||||||
});
|
});
|
||||||
|
|
||||||
angular.extend(authVm, {
|
angular.extend(authVm, {
|
||||||
|
|||||||
@@ -295,9 +295,11 @@ export default [
|
|||||||
ConfigurationService.patchConfiguration(payload)
|
ConfigurationService.patchConfiguration(payload)
|
||||||
.then(function() {
|
.then(function() {
|
||||||
$scope[key] = $scope.configDataResolve[key].default;
|
$scope[key] = $scope.configDataResolve[key].default;
|
||||||
if(key === "AD_HOC_COMMANDS"){
|
if($scope[key + '_field'].type === "select"){
|
||||||
$scope.AD_HOC_COMMANDS = $scope.AD_HOC_COMMANDS.toString();
|
// We need to re-instantiate the Select2 element
|
||||||
$scope.$broadcast('adhoc_populated', null, false);
|
// after resetting the value. Example:
|
||||||
|
// `$scope.$broadcast(AD_HOC_COMMANDS_populated)`
|
||||||
|
$scope.$broadcast(key+'_populated', null, false);
|
||||||
}
|
}
|
||||||
loginUpdate();
|
loginUpdate();
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ export default [
|
|||||||
|
|
||||||
|
|
||||||
function populateAdhocCommand(flag){
|
function populateAdhocCommand(flag){
|
||||||
|
$scope.$parent.AD_HOC_COMMANDS = $scope.$parent.AD_HOC_COMMANDS.toString();
|
||||||
var ad_hoc_commands = $scope.$parent.AD_HOC_COMMANDS.split(',');
|
var ad_hoc_commands = $scope.$parent.AD_HOC_COMMANDS.split(',');
|
||||||
$scope.$parent.AD_HOC_COMMANDS = _.map(ad_hoc_commands, (item) => _.find($scope.$parent.AD_HOC_COMMANDS_options, { value: item }));
|
$scope.$parent.AD_HOC_COMMANDS = _.map(ad_hoc_commands, (item) => _.find($scope.$parent.AD_HOC_COMMANDS_options, { value: item }));
|
||||||
|
|
||||||
@@ -94,7 +95,7 @@ export default [
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.$on('adhoc_populated', function(e, data, flag) {
|
$scope.$on('AD_HOC_COMMANDS_populated', function(e, data, flag) {
|
||||||
populateAdhocCommand(flag);
|
populateAdhocCommand(flag);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -152,16 +152,21 @@ export default [
|
|||||||
|
|
||||||
var dropdownRendered = false;
|
var dropdownRendered = false;
|
||||||
|
|
||||||
$scope.$on('populated', function() {
|
$scope.$on('populated', function(e, data, flag) {
|
||||||
|
populateLogAggregator(flag);
|
||||||
|
});
|
||||||
|
|
||||||
var opts = [];
|
$scope.$on('LOG_AGGREGATOR_TYPE_populated', function(e, data, flag) {
|
||||||
|
populateLogAggregator(flag);
|
||||||
|
});
|
||||||
|
|
||||||
|
function populateLogAggregator(flag){
|
||||||
if($scope.$parent.LOG_AGGREGATOR_TYPE !== null) {
|
if($scope.$parent.LOG_AGGREGATOR_TYPE !== null) {
|
||||||
_.each(ConfigurationUtils.listToArray($scope.$parent.LOG_AGGREGATOR_TYPE), function(type) {
|
$scope.$parent.LOG_AGGREGATOR_TYPE = _.find($scope.$parent.LOG_AGGREGATOR_TYPE_options, { value: $scope.$parent.LOG_AGGREGATOR_TYPE });
|
||||||
opts.push({
|
}
|
||||||
id: type,
|
|
||||||
text: type
|
if(flag !== undefined){
|
||||||
});
|
dropdownRendered = flag;
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!dropdownRendered) {
|
if(!dropdownRendered) {
|
||||||
@@ -170,11 +175,10 @@ export default [
|
|||||||
element: '#configuration_logging_template_LOG_AGGREGATOR_TYPE',
|
element: '#configuration_logging_template_LOG_AGGREGATOR_TYPE',
|
||||||
multiple: false,
|
multiple: false,
|
||||||
placeholder: i18n._('Select types'),
|
placeholder: i18n._('Select types'),
|
||||||
opts: opts
|
|
||||||
});
|
});
|
||||||
|
$scope.$parent.configuration_logging_template_form.LOG_AGGREGATOR_TYPE.$setPristine();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
|
||||||
|
|
||||||
// Fix for bug where adding selected opts causes form to be $dirty and triggering modal
|
// Fix for bug where adding selected opts causes form to be $dirty and triggering modal
|
||||||
// TODO Find better solution for this bug
|
// TODO Find better solution for this bug
|
||||||
|
|||||||
@@ -78,24 +78,48 @@
|
|||||||
// Flag to avoid re-rendering and breaking Select2 dropdowns on tab switching
|
// Flag to avoid re-rendering and breaking Select2 dropdowns on tab switching
|
||||||
var dropdownRendered = false;
|
var dropdownRendered = false;
|
||||||
|
|
||||||
$scope.$on('populated', function(){
|
function populatePendoTrackingState(flag){
|
||||||
|
if($scope.$parent.PENDO_TRACKING_STATE !== null) {
|
||||||
|
$scope.$parent.PENDO_TRACKING_STATE = _.find($scope.$parent.PENDO_TRACKING_STATE_options, { value: $scope.$parent.PENDO_TRACKING_STATE });
|
||||||
|
}
|
||||||
|
|
||||||
|
if(flag !== undefined){
|
||||||
|
dropdownRendered = flag;
|
||||||
|
}
|
||||||
|
|
||||||
if(!dropdownRendered) {
|
if(!dropdownRendered) {
|
||||||
dropdownRendered = true;
|
dropdownRendered = true;
|
||||||
CreateSelect2({
|
CreateSelect2({
|
||||||
element: '#configuration_ui_template_PENDO_TRACKING_STATE',
|
element: '#configuration_ui_template_PENDO_TRACKING_STATE',
|
||||||
multiple: false,
|
multiple: false,
|
||||||
placeholder: i18n._('Select commands'),
|
placeholder: i18n._('Select commands')
|
||||||
opts: [{
|
|
||||||
id: $scope.$parent.PENDO_TRACKING_STATE,
|
|
||||||
text: $scope.$parent.PENDO_TRACKING_STATE
|
|
||||||
}]
|
|
||||||
});
|
});
|
||||||
// Fix for bug where adding selected opts causes form to be $dirty and triggering modal
|
|
||||||
// TODO Find better solution for this bug
|
|
||||||
$timeout(function(){
|
|
||||||
$scope.$parent.configuration_ui_template_form.$setPristine();
|
|
||||||
}, 1000);
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.$on('PENDO_TRACKING_STATE_populated', function(e, data, flag) {
|
||||||
|
populatePendoTrackingState(flag);
|
||||||
|
});
|
||||||
|
|
||||||
|
$scope.$on('populated', function(e, data, flag){
|
||||||
|
populatePendoTrackingState(flag);
|
||||||
|
// if(!dropdownRendered) {
|
||||||
|
// dropdownRendered = true;
|
||||||
|
// CreateSelect2({
|
||||||
|
// element: '#configuration_ui_template_PENDO_TRACKING_STATE',
|
||||||
|
// multiple: false,
|
||||||
|
// placeholder: i18n._('Select commands'),
|
||||||
|
// opts: [{
|
||||||
|
// id: $scope.$parent.PENDO_TRACKING_STATE,
|
||||||
|
// text: $scope.$parent.PENDO_TRACKING_STATE
|
||||||
|
// }]
|
||||||
|
// });
|
||||||
|
// // Fix for bug where adding selected opts causes form to be $dirty and triggering modal
|
||||||
|
// // TODO Find better solution for this bug
|
||||||
|
// $timeout(function(){
|
||||||
|
// $scope.$parent.configuration_ui_template_form.$setPristine();
|
||||||
|
// }, 1000);
|
||||||
|
// }
|
||||||
});
|
});
|
||||||
|
|
||||||
angular.extend(uiVm, {
|
angular.extend(uiVm, {
|
||||||
|
|||||||
Reference in New Issue
Block a user