1
0

projects.controller.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. Template.projects.helpers({
  2. projects: function () {
  3. return ProjectService.list();
  4. }
  5. });
  6. Template.projectForm.onRendered(function() {
  7. new Clipboard('.btn.clipboard');
  8. });
  9. Template.projectForm.events({
  10. 'submit .new-project': function (event) {
  11. event.preventDefault();
  12. var form = event.target;
  13. if( form.id.value ) {
  14. Meteor.call('editProject',form.id.value, form.label.value, form.git_url.value, form.public_url.value, form.commands.value);
  15. form.id.value = '';
  16. } else {
  17. Meteor.call('addProject', form.label.value, form.git_url.value, form.public_url.value, form.commands.value);
  18. }
  19. Session.set('projectToEdit', undefined);
  20. form.label.value = '';
  21. form.git_url.value = '';
  22. form.public_url.value = '';
  23. form.commands.value = '';
  24. },
  25. 'click .cancel': function(event) {
  26. event.preventDefault();
  27. Session.set('projectToEdit', undefined);
  28. },
  29. 'click .trash': function(event) {
  30. event.preventDefault();
  31. Meteor.call('deleteProject', Session.get('projectToEdit')._id);
  32. Session.set('projectToEdit', undefined);
  33. }
  34. });
  35. Template.projectForm.helpers({
  36. project: function() {
  37. return Session.get('projectToEdit');
  38. },
  39. editionMode: function() {
  40. return Session.get('projectToEdit') ? '' : 'hidden';
  41. },
  42. deployLink: function() {
  43. return Meteor.absoluteUrl('deploy?token=XXXX&project_id=' + Session.get('projectToEdit')._id);
  44. }
  45. });
  46. Template.project.events({
  47. 'click .edit': function(event) {
  48. event.preventDefault();
  49. return Meteor.call('getProject', this._id, function(error, result) {
  50. Session.set('projectToEdit', result);
  51. });
  52. },
  53. });