Skip to content

Commit

Permalink
Close simonv3#48. Re-order questions
Browse files Browse the repository at this point in the history
  • Loading branch information
simonv3 committed Nov 22, 2016
1 parent 5c548e2 commit 09eab3c
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 35 deletions.
4 changes: 3 additions & 1 deletion client/js/lib/app.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import angularMeteor from 'angular-meteor';
import uiTree from 'angular-ui-tree';

angular.module('quick-survey', [
angularMeteor,
'angular-meteor.auth',
'ui.router',
'ngSanitize',
'btford.markdown']);
'btford.markdown',
uiTree]);
15 changes: 10 additions & 5 deletions client/js/manage/directives/manage-survey.ng.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,27 @@ <h2>Survey Details</h2>
</div>
</div>
</form>
<div class="questions">
<div class="questions" ui-tree>
<h2>Survey Questions</h2>
<div ng-if="survey.questions.length === 0 && !addingQuestion" class="empty-state">
Add some questions
</div>
<ul ng-if="survey">
<ul ui-tree-nodes ng-model="survey.questions" ng-if="survey">
<li ng-repeat="question in survey.questions"
ui-tree-node
question-details
question="question"
index="$index"
question-types="questionTypes"
survey="survey">
questions="survey.questions"
save="save">
</li>
</ul>
<span add-question
<div add-question
survey="survey"
question-types="questionTypes"
class="add-question"></span>
class="add-question"></div>
<button type="button" ng-click="save()">
Save Questions
</button>
</div>
19 changes: 19 additions & 0 deletions client/js/manage/directives/manage-survey.ng.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ angular.module('quick-survey').directive('manageSurvey', function () {
},
controller: function ($scope) {

$scope.save = save;

$scope.questionTypes = [
{'type': 'number'},
{'type': 'text'},
Expand All @@ -17,6 +19,23 @@ angular.module('quick-survey').directive('manageSurvey', function () {
// ToDo: Add more question types as the question directive supports them.
];

function save () {
$scope.saved = false;
Surveys.update($scope.survey._id,
{$set: {
questions: angular.copy($scope.survey.questions)
}}, function(err, resp) {
if (err) {
console.log('error', err);
} else {
$scope.$apply(function () {
$scope.saved = true;
});
}

});
};

},
templateUrl: 'client/js/manage/directives/manage-survey.ng.html',
};
Expand Down
1 change: 1 addition & 0 deletions client/js/manage/directives/question-details.ng.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@

<div class="question-overview">
<span ui-tree-handle class="icon-align-vertical-middle"></span>
{{ question.question }}

<div class="manage-questions">
Expand Down
22 changes: 3 additions & 19 deletions client/js/manage/directives/question-details.ng.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ angular.module('quick-survey').directive('questionDetails', function () {
index: '=',
// TODO: figure out a way to not pass survey through here, just
// the save() method on survey.
survey: '='
questions: '=',
save: '='
},
controller: function ($scope) {
$scope.editingQuestion = false;
Expand All @@ -25,27 +26,10 @@ angular.module('quick-survey').directive('questionDetails', function () {
$scope.deleteQuestion = function (index) {
var success = confirm("Are you sure you want to delete this question?");
if (success) {
$scope.survey.questions.splice(index, 1);
$scope.questions.splice(index, 1);
$scope.save();
}
};

$scope.save = function() {
$scope.saved = false;
Surveys.update($scope.survey._id,
{$set: {
questions: angular.copy($scope.survey.questions)
}}, function(err, resp) {
if (err) {
console.log('error', err);
} else {
$scope.$apply(function () {
$scope.saved = true;
});
}

});
};
},
templateUrl: 'client/js/manage/directives/question-details.ng.html',
};
Expand Down
12 changes: 2 additions & 10 deletions client/js/surveys/controllers/surveyCtrl.ng.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,23 @@ angular.module('quick-survey').controller('SurveyCtrl',

Meteor.subscribe('surveys', {
onReady: function () {
console.log('loaded surveys');
// console.log('loaded surveys');
},
onStop: function () {
console.log('survey subscribe stopped');
// console.log('survey subscribe stopped');
}
})

$scope.helpers({
activeSurvey: function() {
var surveys = Surveys.find({active: true}).fetch();
console.log('found', surveys)
if (surveys.length > 0) {
var survey = Surveys.findOne(surveys[0]._id);
console.log(survey)
$scope.loaded = true;

if (!$scope.activeSurvey) {
console.log('active survey not set');
// $scope.$apply(function () {
// console.log('setting active survey');
// console.log()
$scope.activeSurvey = survey;
activate();
// console.log($scope.activeSurvey)
// });
}

if (survey.questions.length > 0) {
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
"devDependencies": {},
"dependencies": {
"angular": "^1.5.8",
"angular-legacy-sortablejs": "^0.4.1",
"angular-meteor": "^1.3.2",
"angular-ui-tree": "^2.22.1",
"bcrypt": "^0.8.7",
"bluebird": "^3.4.6",
"fibers": "^1.0.15",
Expand Down

0 comments on commit 09eab3c

Please sign in to comment.