projects.controller.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. Template.management.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, function(errors, result) {
  15. console.log(errors);
  16. console.log(result);
  17. });
  18. form.id.value = '';
  19. } else {
  20. Meteor.call('addProject', form.label.value, form.git_url.value, form.public_url.value, form.commands.value);
  21. }
  22. Session.set('projectToEdit', undefined);
  23. form.label.value = '';
  24. form.git_url.value = '';
  25. form.public_url.value = '';
  26. form.commands.value = '';
  27. },
  28. 'click .cancel': function(event) {
  29. event.preventDefault();
  30. Session.set('projectToEdit', undefined);
  31. },
  32. 'click .trash': function(event) {
  33. event.preventDefault();
  34. Meteor.call('deleteProject', Session.get('projectToEdit')._id);
  35. Session.set('projectToEdit', undefined);
  36. }
  37. });
  38. Template.projectForm.helpers({
  39. project: function() {
  40. return Session.get('projectToEdit');
  41. },
  42. editionMode: function() {
  43. return Session.get('projectToEdit') ? '' : 'hidden';
  44. },
  45. deployLink: function() {
  46. return Meteor.absoluteUrl('deploy?token=XXXX&project_id=' + Session.get('projectToEdit')._id);
  47. }
  48. });
  49. Template.project.events({
  50. 'click .edit': function(event) {
  51. event.preventDefault();
  52. return Meteor.call('getProject', this._id, function(error, result) {
  53. Session.set('projectToEdit', result);
  54. });
  55. },
  56. });