added a formReset funciton for survey maker

this is for getting the survey maker to an initial state, since the survey maker form was removed
This commit is contained in:
Jared Tabor
2014-10-08 12:00:25 -04:00
parent 25ecd6326d
commit 360e813258

View File

@@ -116,7 +116,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
$('#survey-modal-dialog').dialog('open'); $('#survey-modal-dialog').dialog('open');
}); });
scope.resetForm();
Wait('start'); Wait('start');
if(scope.mode === 'add'){ if(scope.mode === 'add'){
tempSurv.survey_name = scope.survey_name; tempSurv.survey_name = scope.survey_name;
@@ -138,7 +138,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
Rest.get() Rest.get()
.success(function (data) { .success(function (data) {
if(!Empty(data)){ if(!Empty(data)){
generator.inject(form, { id: 'survey-modal-dialog' , mode: 'edit', related: false, scope: scope, breadCrumbs: false }); // generator.inject(form, { id: 'survey-modal-dialog' , mode: 'edit', related: false, scope: scope, breadCrumbs: false });
ShowSurveyModal({ title: "Edit Survey", scope: scope, callback: 'DialogReady' }); ShowSurveyModal({ title: "Edit Survey", scope: scope, callback: 'DialogReady' });
scope.survey_name = data.name; scope.survey_name = data.name;
@@ -164,24 +164,24 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
}; };
}]) }])
.factory('AddSurvey', ['$location', '$routeParams', 'SchedulerInit', 'ShowSurveyModal', 'Wait', 'GetBasePath', 'Empty', .factory('AddSurvey', ['$location', '$routeParams', 'SchedulerInit', 'ShowSurveyModal', 'Wait',
'SchedulePost', 'GenerateForm', 'SurveyMakerForm', function($location, $routeParams, SchedulerInit, ShowSurveyModal, Wait) {
function($location, $routeParams, SchedulerInit, ShowSurveyModal, Wait, GetBasePath, Empty,
SchedulePost, GenerateForm, SurveyMakerForm) {
return function(params) { return function(params) {
var scope = params.scope, var scope = params.scope;
// callback= params.callback, // callback= params.callback,
// base = $location.path().replace(/^\//, '').split('/')[0], // base = $location.path().replace(/^\//, '').split('/')[0],
// url = GetBasePath(base), // url = GetBasePath(base),
generator = GenerateForm, // generator = GenerateForm,
form = SurveyMakerForm; // form = SurveyQuestionForm;
if (scope.removeDialogReady) { if (scope.removeDialogReady) {
scope.removeDialogReady(); scope.removeDialogReady();
} }
scope.removeDialogReady = scope.$on('DialogReady', function() { scope.removeDialogReady = scope.$on('DialogReady', function() {
scope.addQuestion();
$('#survey-modal-dialog').dialog('open'); $('#survey-modal-dialog').dialog('open');
scope.addQuestion();
// $('#surveyName').focus(); // $('#surveyName').focus();
// $('#question_unique_required_chbox').prop('checked' , true); // $('#question_unique_required_chbox').prop('checked' , true);
}); });
@@ -189,8 +189,8 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
Wait('start'); Wait('start');
$('#form-container').empty(); $('#form-container').empty();
scope.resetForm();
generator.inject(form, { id: 'survey-modal-dialog' , mode: 'add', related: false, scope: scope, breadCrumbs: false }); // 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) { // if (scope.removeScheduleSaved) {
@@ -284,7 +284,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
index = params.index, index = params.index,
required, required,
element, choices, i, checked, element, choices, i, checked,
max, min, defaultValue, max, min, defaultValue, numberValidation,
html = ""; html = "";
@@ -333,9 +333,10 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
if(question.type === 'integer' || question.type === "float"){ if(question.type === 'integer' || question.type === "float"){
min = (question.min) ? question.min : ""; min = (question.min) ? question.min : "";
max = (question.max) ? question.max : "" ; max = (question.max) ? question.max : "" ;
numberValidation = (question.type==="integer") ? "integer" : 'float';
html+='<div class="row">'+ html+='<div class="row">'+
'<div class="col-xs-8">'+ '<div class="col-xs-8">'+
'<input type="number" class="final" name="'+question.variable+'" min="'+min+'" max="'+max+'" value="'+defaultValue+'" readonly>'+ '<input type="number" class="final" name="'+question.variable+'" min="'+min+'" max="'+max+'" value="'+defaultValue+'" readonly '+numberValidation+'>'+
'</div></div>'; '</div></div>';
} }
@@ -385,9 +386,8 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
requiredAsterisk, requiredAsterisk,
requiredClasses, requiredClasses,
element, choices, i, checked, element, choices, i, checked,
max, min, defaultValue, max, min, defaultValue, numberValidation,
html = "";
html = "";
// if(scope.survey_questions.length>0){ // if(scope.survey_questions.length>0){
// $('#survey-save-button').removeAttr('disabled') // $('#survey-save-button').removeAttr('disabled')
@@ -441,6 +441,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
if(question.type === 'integer' || question.type === "float"){ if(question.type === 'integer' || question.type === "float"){
min = (question.min) ? question.min : ""; min = (question.min) ? question.min : "";
max = (question.max) ? question.max : "" ; max = (question.max) ? question.max : "" ;
numberValidation = (question.type==="integer") ? "integer" : 'float';
html+='<div class="row">'+ html+='<div class="row">'+
'<div class="col-xs-8">'+ '<div class="col-xs-8">'+
'<input type="number" class="final" name="'+question.variable+'" min="'+min+'" max="'+max+'" value="'+defaultValue+'">'+ '<input type="number" class="final" name="'+question.variable+'" min="'+min+'" max="'+max+'" value="'+defaultValue+'">'+
@@ -470,7 +471,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
element.css('opacity', 1.0); element.css('opacity', 1.0);
element.empty(); element.empty();
// $('#new_question .aw-form-well').remove(); // $('#new_question .aw-form-well').remove();
GenerateForm.inject(form, { id: 'question_'+index, mode: 'edit' , scope:scope, breadCrumbs: false}); GenerateForm.inject(form, { id: 'question_'+index, mode: 'edit' , related: false, scope:scope, breadCrumbs: false});
for(fld in form.fields){ for(fld in form.fields){
if( fld === 'answer_options_number'){ if( fld === 'answer_options_number'){
$('#answer_min').val(scope.survey_questions[index].min); $('#answer_min').val(scope.survey_questions[index].min);
@@ -517,7 +518,8 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
return function(params) { return function(params) {
var scope = params.scope, var scope = params.scope,
id = params.id, id = params.id,
i, url; i, url, html, element,
form = SurveyQuestionForm;
scope.survey_questions = []; scope.survey_questions = [];
scope.answer_types=[ scope.answer_types=[
@@ -552,7 +554,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
}); });
}; };
scope.addQuestion = function(){ scope.addQuestion = function(){
GenerateForm.inject(SurveyQuestionForm, { id:'new_question', mode: 'add' , scope:scope, 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.
}; };
@@ -732,7 +734,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
scope.finalizeQuestion(data , scope.survey_questions.length-1); scope.finalizeQuestion(data , scope.survey_questions.length-1);
} }
if(GenerateForm.mode === 'edit'){ if(GenerateForm.mode === 'edit'){
elementID = event.target.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; scope.survey_questions[key] = data;
$('#'+elementID).empty(); $('#'+elementID).empty();
@@ -746,6 +748,20 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
Alert("Error", "Error parsing extra variables. Parser returned: " + err); Alert("Error", "Error parsing extra variables. Parser returned: " + err);
} }
}; };
scope.resetForm = function(){
html = '<div class="row">'+
'<div class="col-sm-12">'+
'<label for="survey"><span class="label-text prepend-asterisk">Questions</span></label>'+
'<div id="survey_maker_question_area"></div>'+
'<div id="finalized_questions"></div>'+
'<button style="display:none" type="button" class="btn btn-sm btn-primary" id="add_question_btn" ng-click="addNewQuestion()" aw-tool-tip="Create a new question" data-placement="top" data-original-title="" title="" disabled><i class="fa fa-plus fa-lg"></i> Add Question</button>'+
'<div id="new_question"></div>'+
'</div>'+
'</div>';
$('#survey-modal-dialog').html(html);
element = angular.element(document.getElementById('add_question_btn'));
$compile(element)(scope);
};
scope.saveSurvey = function() { scope.saveSurvey = function() {
Wait('start'); Wait('start');
@@ -772,6 +788,7 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
}); });
} }
}; };
}; };
}]); }]);