CTiT -> adhoc modules should allow the user to add new modules

the adhoc module field was not setup to allow users to input
additional options.
This commit is contained in:
jaredevantabor 2017-04-17 15:48:41 -07:00
parent 7dd69a36d8
commit 90a45c8fc3
2 changed files with 29 additions and 14 deletions

View File

@ -353,23 +353,26 @@ export default [
clearApiErrors();
_.each(keys, function(key) {
if($scope.configDataResolve[key].type === 'choice' || multiselectDropdowns.indexOf(key) !== -1) {
// Handle AD_HOC_COMMANDS
if(multiselectDropdowns.indexOf(key) !== -1) {
let newModules = $("#configuration_jobs_template_AD_HOC_COMMANDS > option")
.filter("[data-select2-tag=true]")
.map((i, val) => ({value: $(val).text()}));
newModules.each(function(i, val) {
$scope[key].push(val);
});
payload[key] = ConfigurationUtils.listToArray(_.map($scope[key], 'value').join(','));
}
//Parse dropdowns and dropdowns labeled as lists
if($scope[key] === null) {
else if($scope[key] === null) {
payload[key] = null;
} else if($scope[key][0] && $scope[key][0].value !== undefined) {
if(multiselectDropdowns.indexOf(key) !== -1) {
// Handle AD_HOC_COMMANDS
payload[key] = ConfigurationUtils.listToArray(_.map($scope[key], 'value').join(','));
} else {
payload[key] = _.map($scope[key], 'value').join(',');
}
payload[key] = _.map($scope[key], 'value').join(',');
} else {
if(multiselectDropdowns.indexOf(key) !== -1) {
// Default AD_HOC_COMMANDS to an empty list
payload[key] = $scope[key].value || [];
} else {
payload[key] = $scope[key].value;
}
payload[key] = $scope[key].value;
}
} else if($scope.configDataResolve[key].type === 'list' && $scope[key] !== null) {
// Parse lists

View File

@ -79,7 +79,18 @@ export default [
function populateAdhocCommand(flag){
$scope.$parent.AD_HOC_COMMANDS = $scope.$parent.AD_HOC_COMMANDS.toString();
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, function(item){
let option = _.find($scope.$parent.AD_HOC_COMMANDS_options, { value: item });
if(!option){
option = {
name: item,
value: item,
label: item
};
$scope.$parent.AD_HOC_COMMANDS_options.push(option);
}
return option;
});
if(flag !== undefined){
dropdownRendered = flag;
@ -90,6 +101,7 @@ export default [
CreateSelect2({
element: '#configuration_jobs_template_AD_HOC_COMMANDS',
multiple: true,
addNew: true,
placeholder: i18n._('Select commands')
});
}