mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 01:47:35 -02:30
Survey maker
There was a discrepency between save states in the survey maker when creating a new job template. I had to make some changes to how we 'save' survey's when creating job templates. Now survey info is stored in a seperate object and then stored in the scope when the user clicks save. It used to all be stored in teh scope object.
This commit is contained in:
@@ -102,12 +102,13 @@ angular.module('SurveyQuestionFormDefinition', [])
|
|||||||
type: 'custom',
|
type: 'custom',
|
||||||
control:'<div class="row">'+
|
control:'<div class="row">'+
|
||||||
'<div class="col-xs-6">'+
|
'<div class="col-xs-6">'+
|
||||||
'<label for="text_min"><span class="label-text">Minimum</span></label><input id="text_min" type="number" name="text_min" ng-model="text_min" min=0 aw-max="text_max" class="form-control" integer />'+
|
'<label for="text_min"><span class="label-text">Minimum</span></label><input id="text_min" type="number" name="text_min" ng-model="text_min" min=0 aw-min="0" aw-max="text_max" class="form-control" integer />'+
|
||||||
'<div class="error" ng-show="survey_question_form.text_min.$error.number || survey_question_form.text_min.$error.integer">This is not valid integer!</div>'+
|
'<div class="error" ng-show="survey_question_form.text_min.$error.number || survey_question_form.text_min.$error.integer">This is not valid integer!</div>'+
|
||||||
'<div class="error" ng-show="survey_question_form.text_min.$error.awMax">Too high!</div>'+
|
'<div class="error" ng-show="survey_question_form.text_min.$error.awMax">Too high!</div>'+
|
||||||
|
'<div class="error" ng-show="survey_question_form.text_min.$error.awMin">Too low!</div>'+
|
||||||
'</div>'+
|
'</div>'+
|
||||||
'<div class="col-xs-6">'+
|
'<div class="col-xs-6">'+
|
||||||
'<label for="minimum"><span class="label-text">Maximum</span></label><input id="text_max" type="number" name="text_max" ng-model="text_max" aw-min="text_min" class="form-control" integer >'+
|
'<label for="minimum"><span class="label-text">Maximum</span></label><input id="text_max" type="number" name="text_max" ng-model="text_max" aw-min="text_min || 0" class="form-control" integer >'+
|
||||||
'<div class="error" ng-show="survey_question_form.text_max.$error.number || survey_question_form.text_max.$error.integer">This is not valid integer!</div>'+
|
'<div class="error" ng-show="survey_question_form.text_max.$error.number || survey_question_form.text_max.$error.integer">This is not valid integer!</div>'+
|
||||||
'<div class="error" ng-show="survey_question_form.text_max.$error.awMin">Too low!</div>'+
|
'<div class="error" ng-show="survey_question_form.text_max.$error.awMin">Too low!</div>'+
|
||||||
'</div>'+
|
'</div>'+
|
||||||
@@ -122,12 +123,13 @@ angular.module('SurveyQuestionFormDefinition', [])
|
|||||||
type: 'custom',
|
type: 'custom',
|
||||||
control:'<div class="row">'+
|
control:'<div class="row">'+
|
||||||
'<div class="col-xs-6">'+
|
'<div class="col-xs-6">'+
|
||||||
'<label for="textarea_min"><span class="label-text">Minimum</span></label><input id="textarea_min" type="number" name="textarea_min" ng-model="textarea_min" min=0 aw-max="textarea_max" class="form-control" integer />'+
|
'<label for="textarea_min"><span class="label-text">Minimum</span></label><input id="textarea_min" type="number" name="textarea_min" ng-model="textarea_min" min=0 aw-min="0" aw-max="textarea_max" class="form-control" integer />'+
|
||||||
'<div class="error" ng-show="survey_question_form.textarea_min.$error.number || survey_question_form.textarea_min.$error.integer">This is not valid integer!</div>'+
|
'<div class="error" ng-show="survey_question_form.textarea_min.$error.number || survey_question_form.textarea_min.$error.integer">This is not valid integer!</div>'+
|
||||||
'<div class="error" ng-show="survey_question_form.textarea_min.$error.awMax">Too high!</div>'+
|
'<div class="error" ng-show="survey_question_form.textarea_min.$error.awMax">Too high!</div>'+
|
||||||
|
'<div class="error" ng-show="survey_question_form.textarea_min.$error.awMin">Too low!</div>'+
|
||||||
'</div>'+
|
'</div>'+
|
||||||
'<div class="col-xs-6">'+
|
'<div class="col-xs-6">'+
|
||||||
'<label for="textarea_max"><span class="label-text">Maximum</span></label><input id="textarea_max" type="number" name="textarea_max" ng-model="textarea_max" aw-min="textarea_min" class="form-control" integer >'+
|
'<label for="textarea_max"><span class="label-text">Maximum</span></label><input id="textarea_max" type="number" name="textarea_max" ng-model="textarea_max" aw-min="textarea_min || 0" class="form-control" integer >'+
|
||||||
'<div class="error" ng-show="survey_question_form.textarea_max.$error.number || survey_question_form.textarea_max.$error.integer">This is not valid integer!</div>'+
|
'<div class="error" ng-show="survey_question_form.textarea_max.$error.number || survey_question_form.textarea_max.$error.integer">This is not valid integer!</div>'+
|
||||||
'<div class="error" ng-show="survey_question_form.textarea_max.$error.awMin">Too low!</div>'+
|
'<div class="error" ng-show="survey_question_form.textarea_max.$error.awMin">Too low!</div>'+
|
||||||
'</div>'+
|
'</div>'+
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
buttons = [{
|
buttons = [{
|
||||||
"label": "Cancel",
|
"label": "Cancel",
|
||||||
"onClick": function() {
|
"onClick": function() {
|
||||||
$(this).dialog('close');
|
scope.cancelSurvey(this);
|
||||||
},
|
},
|
||||||
"icon": "fa-times",
|
"icon": "fa-times",
|
||||||
"class": "btn btn-default",
|
"class": "btn btn-default",
|
||||||
@@ -67,6 +67,9 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
onOpen: function() {
|
onOpen: function() {
|
||||||
Wait('stop');
|
Wait('stop');
|
||||||
if(mode!=="survey-taker"){
|
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 ");
|
$('#survey-save-button').attr('ng-disabled', "survey_questions.length<1 ");
|
||||||
element = angular.element(document.getElementById('survey-save-button'));
|
element = angular.element(document.getElementById('survey-save-button'));
|
||||||
$compile(element)(scope);
|
$compile(element)(scope);
|
||||||
@@ -107,14 +110,15 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
if(scope.mode === 'add'){
|
if(scope.mode === 'add'){
|
||||||
tempSurv.survey_name = scope.survey_name;
|
tempSurv.survey_name = scope.survey_name;
|
||||||
tempSurv.survey_description = scope.survey_description;
|
tempSurv.survey_description = scope.survey_description;
|
||||||
|
tempSurv.survey_questions = scope.survey_questions;
|
||||||
|
|
||||||
ShowSurveyModal({ title: "Edit Survey", scope: scope, callback: 'DialogReady' });
|
ShowSurveyModal({ title: "Edit Survey", scope: scope, callback: 'DialogReady' });
|
||||||
|
|
||||||
scope.survey_name = tempSurv.survey_name;
|
// scope.survey_name = tempSurv.survey_name;
|
||||||
scope.survey_description = tempSurv.survey_description;
|
// scope.survey_description = tempSurv.survey_description;
|
||||||
// scope.survey_questions = data.spec;
|
|
||||||
for(i=0; i<scope.survey_questions.length; i++){
|
for(i=0; i<tempSurv.survey_questions.length; i++){
|
||||||
scope.finalizeQuestion(scope.survey_questions[i], i);
|
scope.finalizeQuestion(tempSurv.survey_questions[i], i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@@ -162,31 +166,13 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
scope.removeDialogReady();
|
scope.removeDialogReady();
|
||||||
}
|
}
|
||||||
scope.removeDialogReady = scope.$on('DialogReady', function() {
|
scope.removeDialogReady = scope.$on('DialogReady', function() {
|
||||||
|
|
||||||
$('#survey-modal-dialog').dialog('open');
|
$('#survey-modal-dialog').dialog('open');
|
||||||
scope.addQuestion();
|
scope.addQuestion();
|
||||||
|
|
||||||
// $('#surveyName').focus();
|
|
||||||
// $('#question_unique_required_chbox').prop('checked' , true);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Wait('start');
|
Wait('start');
|
||||||
$('#form-container').empty();
|
$('#form-container').empty();
|
||||||
|
|
||||||
scope.resetForm();
|
scope.resetForm();
|
||||||
// generator.inject(form, { id: 'survey-modal-dialog' , mode: 'add', related: false, scope: scope, breadCrumbs: false });
|
|
||||||
ShowSurveyModal({ title: "Add Survey", scope: scope, callback: 'DialogReady' });
|
ShowSurveyModal({ title: "Add Survey", scope: scope, callback: 'DialogReady' });
|
||||||
|
|
||||||
// if (scope.removeScheduleSaved) {
|
|
||||||
// scope.removeScheduleSaved();
|
|
||||||
// }
|
|
||||||
// scope.removeScheduleSaved = scope.$on('ScheduleSaved', function() {
|
|
||||||
// Wait('stop');
|
|
||||||
// $('#survey-modal-dialog').dialog('close');
|
|
||||||
// scope.$emit('surveySaved');
|
|
||||||
// });
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
|
|
||||||
@@ -381,7 +367,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
element,
|
element,
|
||||||
//fld,
|
//fld,
|
||||||
i,
|
i,
|
||||||
question = scope.survey_questions[index],
|
question = params.question, //scope.survey_questions[index],
|
||||||
form = SurveyQuestionForm;
|
form = SurveyQuestionForm;
|
||||||
|
|
||||||
$('#survey-save-button').attr('disabled', 'disabled');
|
$('#survey-save-button').attr('disabled', 'disabled');
|
||||||
@@ -400,8 +386,6 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//GenerateForm.inject(form, { id: 'question_'+index, mode: 'edit' , related: false, scope:scope, breadCrumbs: false});
|
|
||||||
|
|
||||||
|
|
||||||
if (scope.removeFillQuestionForm) {
|
if (scope.removeFillQuestionForm) {
|
||||||
scope.removeFillQuestionForm();
|
scope.removeFillQuestionForm();
|
||||||
@@ -411,7 +395,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
scope[fld] = question[fld];
|
scope[fld] = question[fld];
|
||||||
if(form.fields[fld].type === 'select'){
|
if(form.fields[fld].type === 'select'){
|
||||||
for (i = 0; i < scope.answer_types.length; i++) {
|
for (i = 0; i < scope.answer_types.length; i++) {
|
||||||
if (scope.survey_questions[index][fld] === scope.answer_types[i].type) {
|
if (question[fld] === scope.answer_types[i].type) {
|
||||||
scope[fld] = scope.answer_types[i];
|
scope[fld] = scope.answer_types[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -457,32 +441,15 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
|
|
||||||
.factory('DeleteQuestion' ,
|
|
||||||
function() {
|
|
||||||
return function(params) {
|
|
||||||
|
|
||||||
var scope = params.scope,
|
|
||||||
index = params.index,
|
|
||||||
element;
|
|
||||||
|
|
||||||
element = $('.question_final:eq('+index+')');
|
|
||||||
element.remove();
|
|
||||||
scope.survey_questions.splice(index, 1);
|
|
||||||
scope.reorder();
|
|
||||||
if(scope.survey_questions.length<1){
|
|
||||||
$('#survey-save-button').attr('disabled', 'disabled');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
})
|
|
||||||
|
|
||||||
.factory('SurveyControllerInit', ['$location', 'DeleteSurvey', 'EditSurvey', 'AddSurvey', 'GenerateForm', 'SurveyQuestionForm', 'Wait', 'Alert',
|
.factory('SurveyControllerInit', ['$location', 'DeleteSurvey', 'EditSurvey', 'AddSurvey', 'GenerateForm', 'SurveyQuestionForm', 'Wait', 'Alert',
|
||||||
'GetBasePath', 'Rest', 'ProcessErrors' , '$compile', 'FinalizeQuestion', 'EditQuestion', 'DeleteQuestion',
|
'GetBasePath', 'Rest', 'ProcessErrors' , '$compile', 'FinalizeQuestion', 'EditQuestion',
|
||||||
function($location, DeleteSurvey, EditSurvey, AddSurvey, GenerateForm, SurveyQuestionForm, Wait, Alert,
|
function($location, DeleteSurvey, EditSurvey, AddSurvey, GenerateForm, SurveyQuestionForm, Wait, Alert,
|
||||||
GetBasePath, Rest, ProcessErrors, $compile, FinalizeQuestion, EditQuestion, DeleteQuestion) {
|
GetBasePath, Rest, ProcessErrors, $compile, FinalizeQuestion, EditQuestion) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
var scope = params.scope,
|
var scope = params.scope,
|
||||||
id = params.id,
|
id = params.id,
|
||||||
i, url, html, element,
|
i, url, html, element,
|
||||||
|
questions = [],
|
||||||
form = SurveyQuestionForm;
|
form = SurveyQuestionForm;
|
||||||
|
|
||||||
scope.survey_questions = [];
|
scope.survey_questions = [];
|
||||||
@@ -504,6 +471,11 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
};
|
};
|
||||||
|
|
||||||
scope.editSurvey = function() {
|
scope.editSurvey = function() {
|
||||||
|
if(scope.mode==='add'){
|
||||||
|
for(i=0; i<scope.survey_questions.length; i++){
|
||||||
|
questions.push(scope.survey_questions[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
EditSurvey({
|
EditSurvey({
|
||||||
scope: scope,
|
scope: scope,
|
||||||
id: id,
|
id: id,
|
||||||
@@ -513,12 +485,18 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
|
|
||||||
scope.addSurvey = function() {
|
scope.addSurvey = function() {
|
||||||
AddSurvey({
|
AddSurvey({
|
||||||
scope: scope,
|
scope: scope
|
||||||
// callback: 'SchedulesRefresh'
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
scope.addQuestion = function(){
|
|
||||||
|
|
||||||
|
scope.cancelSurvey = function(me){
|
||||||
|
if(scope.mode === 'add'){
|
||||||
|
questions = [];
|
||||||
|
}
|
||||||
|
$(me).dialog('close');
|
||||||
|
};
|
||||||
|
|
||||||
|
scope.addQuestion = function(){
|
||||||
GenerateForm.inject(form, { id:'new_question', mode: 'add' , scope:scope, related: false, breadCrumbs: false});
|
GenerateForm.inject(form, { id:'new_question', mode: 'add' , scope:scope, related: false, breadCrumbs: false});
|
||||||
scope.required = true; //set the required checkbox to true via the ngmodel attached to scope.required.
|
scope.required = true; //set the required checkbox to true via the ngmodel attached to scope.required.
|
||||||
scope.text_min = null;
|
scope.text_min = null;
|
||||||
@@ -527,7 +505,6 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
scope.int_max = null;
|
scope.int_max = null;
|
||||||
scope.float_min = null;
|
scope.float_min = null;
|
||||||
scope.float_max = null;
|
scope.float_max = null;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
scope.addNewQuestion = function(){
|
scope.addNewQuestion = function(){
|
||||||
@@ -542,30 +519,60 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
scope.editQuestion = function(index){
|
scope.editQuestion = function(index){
|
||||||
EditQuestion({
|
EditQuestion({
|
||||||
index: index,
|
index: index,
|
||||||
scope: scope
|
scope: scope,
|
||||||
|
question: (scope.mode==='add') ? questions[index] : scope.survey_questions[index]
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
scope.deleteQuestion = function(index){
|
scope.deleteQuestion = function(index){
|
||||||
DeleteQuestion({
|
element = $('.question_final:eq('+index+')');
|
||||||
index:index,
|
element.remove();
|
||||||
scope: scope
|
if(scope.mode === 'add'){
|
||||||
});
|
questions.splice(index, 1);
|
||||||
|
scope.reorder();
|
||||||
|
if(questions.length<1){
|
||||||
|
$('#survey-save-button').attr('disabled', 'disabled');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
scope.survey_questions.splice(index, 1);
|
||||||
|
scope.reorder();
|
||||||
|
if(scope.survey_questions.length<1){
|
||||||
|
$('#survey-save-button').attr('disabled', 'disabled');
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
scope.cancelQuestion = function(event){
|
scope.cancelQuestion = function(event){
|
||||||
var elementID, key;
|
var elementID, key;
|
||||||
if(event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.id==="new_question"){
|
if(event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.id==="new_question"){
|
||||||
$('#new_question .aw-form-well').remove();
|
$('#new_question .aw-form-well').remove();
|
||||||
$('#add_question_btn').show();
|
$('#add_question_btn').show();
|
||||||
$('#add_question_btn').removeAttr('disabled');
|
$('#add_question_btn').removeAttr('disabled');
|
||||||
|
if(scope.mode === 'add' && questions.length>0){
|
||||||
|
$('#survey-save-button').removeAttr('disabled');
|
||||||
|
}
|
||||||
|
if(scope.mode === 'edit' && scope.survey_questions.length>0){
|
||||||
|
$('#survey-save-button').removeAttr('disabled');
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
elementID = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.id;
|
elementID = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.id;
|
||||||
key = elementID.split('_')[1];
|
key = elementID.split('_')[1];
|
||||||
$('#'+elementID).empty();
|
$('#'+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){
|
scope.questionUp = function(index){
|
||||||
@@ -590,9 +597,15 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
clickedDiv.css('top', '0px');
|
clickedDiv.css('top', '0px');
|
||||||
clickedDiv.insertBefore(prevDiv);
|
clickedDiv.insertBefore(prevDiv);
|
||||||
animating = false;
|
animating = false;
|
||||||
i = scope.survey_questions[index];
|
if ( scope.mode === 'add'){
|
||||||
scope.survey_questions[index] = scope.survey_questions[index-1];
|
i = questions[index];
|
||||||
scope.survey_questions[index-1] = i;
|
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();
|
scope.reorder();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -620,19 +633,32 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
clickedDiv.css('top', '0px');
|
clickedDiv.css('top', '0px');
|
||||||
nextDiv.insertBefore(clickedDiv);
|
nextDiv.insertBefore(clickedDiv);
|
||||||
animating = false;
|
animating = false;
|
||||||
i = scope.survey_questions[index];
|
if(scope.mode === 'add'){
|
||||||
scope.survey_questions[index] = scope.survey_questions[Number(index)+1];
|
i = questions[index];
|
||||||
scope.survey_questions[Number(index)+1] = i;
|
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();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
scope.reorder = function(){
|
scope.reorder = function(){
|
||||||
for(i=0; i<scope.survey_questions.length; i++){
|
if(scope.mode==='add'){
|
||||||
scope.survey_questions[i].index=i;
|
for(i=0; i<questions.length; i++){
|
||||||
$('.question_final:eq('+i+')').attr('id', 'question_'+i);
|
questions[i].index=i;
|
||||||
// $('#delete-question_'+question.index+'')
|
$('.question_final:eq('+i+')').attr('id', 'question_'+i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
for(i=0; i<scope.survey_questions.length; i++){
|
||||||
|
scope.survey_questions[i].index=i;
|
||||||
|
$('.question_final:eq('+i+')').attr('id', 'question_'+i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -642,7 +668,6 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
question: data,
|
question: data,
|
||||||
id: id,
|
id: id,
|
||||||
index: index
|
index: index
|
||||||
//callback?
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -721,16 +746,29 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
Wait('stop');
|
Wait('stop');
|
||||||
$('#survey-save-button').removeAttr('disabled');
|
$('#survey-save-button').removeAttr('disabled');
|
||||||
if(GenerateForm.mode === 'add'){
|
if(GenerateForm.mode === 'add'){
|
||||||
scope.survey_questions.push(data);
|
if(scope.mode === 'add'){
|
||||||
$('#new_question .aw-form-well').remove();
|
questions.push(data);
|
||||||
// scope.addQuestion()
|
$('#new_question .aw-form-well').remove();
|
||||||
$('#add_question_btn').show();
|
$('#add_question_btn').show();
|
||||||
scope.finalizeQuestion(data , scope.survey_questions.length-1);
|
scope.finalizeQuestion(data , questions.length-1);
|
||||||
|
}
|
||||||
|
else if (scope.mode === 'edit'){
|
||||||
|
scope.survey_questions.push(data);
|
||||||
|
$('#new_question .aw-form-well').remove();
|
||||||
|
$('#add_question_btn').show();
|
||||||
|
scope.finalizeQuestion(data , scope.survey_questions.length-1);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if(GenerateForm.mode === 'edit'){
|
if(GenerateForm.mode === 'edit'){
|
||||||
elementID = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.id;
|
elementID = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.id;
|
||||||
key = elementID.split('_')[1];
|
key = elementID.split('_')[1];
|
||||||
scope.survey_questions[key] = data;
|
if(scope.mode==='add'){
|
||||||
|
questions[key] = data;
|
||||||
|
}
|
||||||
|
else if(scope.mode === 'edit'){
|
||||||
|
scope.survey_questions[key] = data;
|
||||||
|
}
|
||||||
$('#'+elementID).empty();
|
$('#'+elementID).empty();
|
||||||
scope.finalizeQuestion(data , key);
|
scope.finalizeQuestion(data , key);
|
||||||
}
|
}
|
||||||
@@ -761,8 +799,12 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
Wait('start');
|
Wait('start');
|
||||||
if(scope.mode==="add"){
|
if(scope.mode==="add"){
|
||||||
$('#survey-modal-dialog').dialog('close');
|
$('#survey-modal-dialog').dialog('close');
|
||||||
|
if(questions.length>0){
|
||||||
|
scope.survey_questions = questions;
|
||||||
|
}
|
||||||
scope.survey_name = "";
|
scope.survey_name = "";
|
||||||
scope.survey_description = "";
|
scope.survey_description = "";
|
||||||
|
questions = [] ;
|
||||||
scope.$emit('SurveySaved');
|
scope.$emit('SurveySaved');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|||||||
Reference in New Issue
Block a user