1
0

projects.js 1.8 KB

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