mirror of https://github.com/akveo/blur-admin
fixing question display + answers sending
parent
0e7c94792a
commit
fcee1ec7c8
|
@ -21,8 +21,27 @@
|
||||||
vm.surveys = data;
|
vm.surveys = data;
|
||||||
$log.info("Got the survey data",data);
|
$log.info("Got the survey data",data);
|
||||||
vm.survey = getSurvey();
|
vm.survey = getSurvey();
|
||||||
console.log(vm.surveys);
|
//building forms elements
|
||||||
console.log(vm.survey);
|
vm.forms = [];
|
||||||
|
angular.forEach(vm.survey.elements, function(element, key) {
|
||||||
|
|
||||||
|
angular.forEach(vm.survey.list.members, function(member, key) {
|
||||||
|
if(member._id != vm.activeMemberId) {
|
||||||
|
vm.forms[member._id] = {};
|
||||||
|
//vm.forms[member._id].$element_id = false;
|
||||||
|
/*var form = [];
|
||||||
|
form[element._id] = [];
|
||||||
|
vm.forms.push(form);
|
||||||
|
var input = [];
|
||||||
|
input[element._id] = false;
|
||||||
|
vm.forms[member._id].push(input);*/
|
||||||
|
}
|
||||||
|
|
||||||
|
//.push(k + ': ' + member);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
console.log(vm.survey);
|
||||||
|
console.log(vm.forms);
|
||||||
}, function (error){
|
}, function (error){
|
||||||
$log.error(error);
|
$log.error(error);
|
||||||
});
|
});
|
||||||
|
@ -38,11 +57,19 @@
|
||||||
function activate(){
|
function activate(){
|
||||||
vm.surveys = [];
|
vm.surveys = [];
|
||||||
vm.survey = [];
|
vm.survey = [];
|
||||||
|
vm.activeMemberId = $stateParams.member_id;
|
||||||
loadSurveys();
|
loadSurveys();
|
||||||
|
console.log(vm.activeMemberId)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vm.submit = function(form){
|
||||||
|
//$scope.submitted = true;
|
||||||
|
alert("Angular is Awesome!!!");
|
||||||
|
console.log('submit', form);
|
||||||
|
};
|
||||||
|
|
||||||
activate();
|
activate();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,27 +10,33 @@
|
||||||
<div class="section-block bold-text ng-scope"><p ng-bind-html="vm.survey.description"></p></div>
|
<div class="section-block bold-text ng-scope"><p ng-bind-html="vm.survey.description"></p></div>
|
||||||
|
|
||||||
<div class="separator"></div>
|
<div class="separator"></div>
|
||||||
|
<ba-wizard>
|
||||||
|
<ba-wizard-step title="{{ m.name }}" ng-repeat="m in vm.survey.list.members" ng-if='m._id != vm.activeMemberId' ng-init="memberId = m._id" form="vm.forms[memberId]" >
|
||||||
|
<form name="vm.forms[memberId]" novalidate>
|
||||||
|
<ng-form name="innerForm">
|
||||||
|
<div class="member-survey">
|
||||||
|
<div class="separator"></div>
|
||||||
|
<div id="{{e.id}}" class="form-group answer" ng-repeat="e in vm.survey.elements"
|
||||||
|
ng-init="elementId = vm.survey.id+'_'+memberId+'_'+vm.activeMemberId+'_'+e._id" ng-class="{'has-error': innerForm[elementId].$invalid && (vm.forms[memberId].$submitted)}">
|
||||||
|
<p>{{ e.text }}</p>
|
||||||
|
<label ng-class="el.multiple ? 'custom-checkbox radio-checkbox nowrap' : 'custom-radio radio-inline nowrap'" ng-repeat="el in e.items">
|
||||||
|
<input ng-attr-type="{{el.multiple? 'checkbox' : 'radio'}}" name="{{elementId}}" ng-model="vm.innerForm[elementId].$viewValue" ng-value="el.value" ng-attr-required="{{el.required}}">
|
||||||
|
<span>{{ el.value }}</span>
|
||||||
|
</label>
|
||||||
|
<br><br>
|
||||||
|
<div class="form-group" ng-if="e.hasComment">
|
||||||
|
<label for="{{ e._id }}_comment">{{e.commentLabel}}</label>
|
||||||
|
<input type="text" class="form-control" name="{{ elementId }}_comment" ng-model="vm.innerForm[elementId].comment" placeholder="..." ng-attr-required="{{e.commentIsRequired}}">
|
||||||
|
</div>
|
||||||
|
<div class="separator"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-form>
|
||||||
|
</form>
|
||||||
|
</ba-wizard-step>
|
||||||
|
|
||||||
|
</ba-wizard>
|
||||||
|
|
||||||
<div id="{{e.id}}" class="form-group answer" ng-repeat="e in vm.survey.elements">
|
|
||||||
<p>{{ e.text }}</p>
|
|
||||||
<label ng-class="el.multiple ? 'custom-checkbox radio-checkbox nowrap' : 'custom-radio radio-inline nowrap'" ng-repeat="el in e.items">
|
|
||||||
<input ng-attr-type="{{el.multiple? 'checkbox' : 'radio'}}" name="{{ e._id }}" id="{{ e._id }}_{{ el._id }}" value="{{ el.value }}" ng-required="el.required">
|
|
||||||
<span>{{ el.value }}</span>
|
|
||||||
</label>
|
|
||||||
<br><br>
|
|
||||||
<div class="form-group" ng-if="e.hasComment">
|
|
||||||
<label for="input01">{{e.commentLabel}}</label>
|
|
||||||
<input type="text" class="form-control" id="{{ e._id }}_comment" name="{{ e._id }}_comment" placeholder="..." >
|
|
||||||
</div>
|
|
||||||
<div class="separator"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="btn-group">
|
|
||||||
<button ng-click="submitSurvey()" class="btn btn-success btn-lg">
|
|
||||||
Send
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
function routeConfig($stateProvider) {
|
function routeConfig($stateProvider) {
|
||||||
$stateProvider
|
$stateProvider
|
||||||
.state('viewer', {
|
.state('viewer', {
|
||||||
url: '/viewer/:survey_id',
|
url: '/viewer/:survey_id/:member_id',
|
||||||
title: 'Viewer',
|
title: 'Viewer',
|
||||||
templateUrl: 'app/pages/viewer/viewer.html',
|
templateUrl: 'app/pages/viewer/viewer.html',
|
||||||
controller: 'ViewerPageCtrl as vm',
|
controller: 'ViewerPageCtrl as vm',
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
.directive('baWizardStep', baWizardStep);
|
.directive('baWizardStep', baWizardStep);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function baWizardStep() {
|
function baWizardStep($http) {
|
||||||
return {
|
return {
|
||||||
restrict: 'E',
|
restrict: 'E',
|
||||||
transclude: true,
|
transclude: true,
|
||||||
|
@ -38,7 +38,36 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
|
var apiBaseUrl = "http://localhost:9000"
|
||||||
|
var endpoint = apiBaseUrl + "/answers";
|
||||||
|
|
||||||
$scope.form && $scope.form.$setSubmitted(true);
|
$scope.form && $scope.form.$setSubmitted(true);
|
||||||
|
if($scope.form && $scope.form.$invalid == false) {
|
||||||
|
//console.log("inner", $scope.form.innerForm);
|
||||||
|
angular.forEach($scope.form.innerForm, function(val, key) {
|
||||||
|
if((key.indexOf("_") !== -1) && (key.indexOf("_comment") == -1)) {
|
||||||
|
var res = key.split("_");
|
||||||
|
//console.log("res", res);
|
||||||
|
//console.log("val", val);
|
||||||
|
var commentKey = key + "_comment";
|
||||||
|
var answer = {
|
||||||
|
"value" : val.$viewValue,
|
||||||
|
"comment" : $scope.form.innerForm[commentKey].$viewValue,
|
||||||
|
"survey" : res[0],
|
||||||
|
"memberEvaluated" : res[1],
|
||||||
|
"memberAsked" : res[2]
|
||||||
|
}
|
||||||
|
console.log(answer);
|
||||||
|
/*$http.post(endpoint, answer).success(function(data) {
|
||||||
|
console.log(data.data);
|
||||||
|
//return response.data;
|
||||||
|
}).error(function(msg, code) {
|
||||||
|
//deferred.reject(msg);
|
||||||
|
});*/
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function isComplete() {
|
function isComplete() {
|
||||||
|
|
Loading…
Reference in New Issue