Vulcan/client/templates/post_edit.js

63 lines
1.7 KiB
JavaScript
Raw Normal View History

2012-10-02 10:54:04 +09:00
// Template.post_edit.preserve(['#title', '#url', '#editor', '#sticky']);
// Template.post_edit.preserve({
// // 'input[id]': function (node) { return node.id; }
// '[name]': function(node) { return node.getAttribute('name');}
// });
Template.post_edit.helpers({
post: function(){
return Posts.findOne(Session.get('selectedPostId'));
}
});
Template.post_edit.rendered = function(){
var post= Posts.findOne(Session.get('selectedPostId'));
if(post && !this.editor){
this.editor= new EpicEditor(EpicEditorOptions).load();
this.editor.importFile('editor',post.body);
}
2012-10-02 10:54:04 +09:00
// workaround {{#constant}} bug
if(post && !this.postRendered){
$('#title').val(post.headline);
this.postRendered=true;
}
}
2012-09-13 11:05:49 +09:00
2012-09-06 11:09:24 +09:00
Template.post_edit.events = {
'click input[type=submit]': function(e, instance){
e.preventDefault();
2012-09-06 11:09:24 +09:00
if(!Meteor.user()) throw 'You must be logged in.';
var selectedPostId=Session.get('selectedPostId');
2012-09-06 11:09:24 +09:00
var title= $('#title').val();
var url = $('#url').val();
var body = instance.editor.exportFile();
2012-10-02 10:54:04 +09:00
var sticky=!!$('#sticky').attr('checked');
console.log('sticky:', sticky);
2012-09-06 11:09:24 +09:00
Posts.update(selectedPostId,
{
$set: {
headline: title
, url: url
, body: body
2012-10-02 10:54:04 +09:00
, sticky: sticky
}
}
2012-09-06 11:09:24 +09:00
);
trackEvent("edit post", {'postId': selectedPostId});
Router.navigate("posts/"+selectedPostId, {trigger:true});
}
2012-09-07 10:57:57 +09:00
, 'click .delete-link': function(e){
e.preventDefault();
if(confirm("Are you sure?")){
var selectedPostId=Session.get('selectedPostId');
Posts.remove(selectedPostId);
2012-09-07 10:57:57 +09:00
Router.navigate("posts/deleted", {trigger:true});
}
}
};