diff --git a/awx/ui/static/js/forms/SurveyQuestion.js b/awx/ui/static/js/forms/SurveyQuestion.js index a37ef64ae1..f25d83a22d 100644 --- a/awx/ui/static/js/forms/SurveyQuestion.js +++ b/awx/ui/static/js/forms/SurveyQuestion.js @@ -102,12 +102,13 @@ angular.module('SurveyQuestionFormDefinition', []) type: 'custom', control:'
'+ '
'+ - ''+ + ''+ '
This is not valid integer!
'+ '
Too high!
'+ + '
Too low!
'+ '
'+ '
'+ - ''+ + ''+ '
This is not valid integer!
'+ '
Too low!
'+ '
'+ @@ -122,12 +123,13 @@ angular.module('SurveyQuestionFormDefinition', []) type: 'custom', control:'
'+ '
'+ - ''+ + ''+ '
This is not valid integer!
'+ '
Too high!
'+ + '
Too low!
'+ '
'+ '
'+ - ''+ + ''+ '
This is not valid integer!
'+ '
Too low!
'+ '
'+ diff --git a/awx/ui/static/js/helpers/Survey.js b/awx/ui/static/js/helpers/Survey.js index cce28947d8..b95b90f220 100644 --- a/awx/ui/static/js/helpers/Survey.js +++ b/awx/ui/static/js/helpers/Survey.js @@ -30,7 +30,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper', buttons = [{ "label": "Cancel", "onClick": function() { - $(this).dialog('close'); + scope.cancelSurvey(this); }, "icon": "fa-times", "class": "btn btn-default", @@ -67,6 +67,9 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper', onOpen: function() { Wait('stop'); if(mode!=="survey-taker"){ + // if(scope.mode === 'add'){ + // $('#survey-save-button').attr('disabled' , true); + // } else $('#survey-save-button').attr('ng-disabled', "survey_questions.length<1 "); element = angular.element(document.getElementById('survey-save-button')); $compile(element)(scope); @@ -107,14 +110,15 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper', if(scope.mode === 'add'){ tempSurv.survey_name = scope.survey_name; tempSurv.survey_description = scope.survey_description; + tempSurv.survey_questions = scope.survey_questions; ShowSurveyModal({ title: "Edit Survey", scope: scope, callback: 'DialogReady' }); - scope.survey_name = tempSurv.survey_name; - scope.survey_description = tempSurv.survey_description; - // scope.survey_questions = data.spec; - for(i=0; i0){ + $('#survey-save-button').removeAttr('disabled'); + } + if(scope.mode === 'edit' && scope.survey_questions.length>0){ + $('#survey-save-button').removeAttr('disabled'); + } + } else { elementID = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.id; key = elementID.split('_')[1]; $('#'+elementID).empty(); - scope.finalizeQuestion(scope.survey_questions[key] , key); + if(scope.mode === 'add'){ + if(questions.length>0){ + $('#survey-save-button').removeAttr('disabled'); + } + scope.finalizeQuestion(questions[key], key); + } + else if(scope.mode=== 'edit' ){ + if(scope.survey_questions.length>0){ + $('#survey-save-button').removeAttr('disabled'); + } + scope.finalizeQuestion(scope.survey_questions[key] , key); + } } - - }; scope.questionUp = function(index){ @@ -590,9 +597,15 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper', clickedDiv.css('top', '0px'); clickedDiv.insertBefore(prevDiv); animating = false; - i = scope.survey_questions[index]; - scope.survey_questions[index] = scope.survey_questions[index-1]; - scope.survey_questions[index-1] = i; + if ( scope.mode === 'add'){ + i = questions[index]; + questions[index] = questions[index-1]; + questions[index-1] = i; + } else { + i = scope.survey_questions[index]; + scope.survey_questions[index] = scope.survey_questions[index-1]; + scope.survey_questions[index-1] = i; + } scope.reorder(); }); } @@ -620,19 +633,32 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper', clickedDiv.css('top', '0px'); nextDiv.insertBefore(clickedDiv); animating = false; - i = scope.survey_questions[index]; - scope.survey_questions[index] = scope.survey_questions[Number(index)+1]; - scope.survey_questions[Number(index)+1] = i; + if(scope.mode === 'add'){ + i = questions[index]; + questions[index] = questions[Number(index)+1]; + questions[Number(index)+1] = i; + } else { + i = scope.survey_questions[index]; + scope.survey_questions[index] = scope.survey_questions[Number(index)+1]; + scope.survey_questions[Number(index)+1] = i; + } scope.reorder(); }); } }; scope.reorder = function(){ - for(i=0; i0){ + scope.survey_questions = questions; + } scope.survey_name = ""; scope.survey_description = ""; + questions = [] ; scope.$emit('SurveySaved'); } else{