Files
ProjectDeployer/client/projects.controller.js

64 lines
1.7 KiB
JavaScript

Template.projects.helpers({
projects: function () {
return ProjectService.list();
}
});
Template.projectForm.onRendered(function() {
new Clipboard('.btn.clipboard');
});
Template.projectForm.events({
'submit .new-project': function (event) {
event.preventDefault();
var form = event.target;
if( form.id.value ) {
Meteor.call('editProject',form.id.value, form.label.value, form.git_url.value, form.public_url.value, form.commands.value);
form.id.value = '';
} else {
Meteor.call('addProject', form.label.value, form.git_url.value, form.public_url.value, form.commands.value);
}
Session.set('projectToEdit', undefined);
form.label.value = '';
form.git_url.value = '';
form.public_url.value = '';
form.commands.value = '';
},
'click .cancel': function(event) {
event.preventDefault();
Session.set('projectToEdit', undefined);
},
'click .trash': function(event) {
event.preventDefault();
Meteor.call('deleteProject', Session.get('projectToEdit')._id);
Session.set('projectToEdit', undefined);
}
});
Template.projectForm.helpers({
project: function() {
return Session.get('projectToEdit');
},
editionMode: function() {
return Session.get('projectToEdit') ? '' : 'hidden';
},
deployLink: function() {
return Meteor.absoluteUrl('deploy?token=XXXX&project_id=' + Session.get('projectToEdit')._id);
}
});
Template.project.events({
'click .edit': function(event) {
event.preventDefault();
return Meteor.call('getProject', this._id, function(error, result) {
Session.set('projectToEdit', result);
});
},
});