Skip to content

Instantly share code, notes, and snippets.

@ryanswrt
Created March 27, 2015 11:50
Show Gist options
  • Save ryanswrt/3ef59f8332334314b2e4 to your computer and use it in GitHub Desktop.
Save ryanswrt/3ef59f8332334314b2e4 to your computer and use it in GitHub Desktop.
Template.Foo.created = function(){
console.log(this);
this.data.store = new ReactiveDict()
this.data.store.set('post',{});
this.data.store.set('images',[]);
this.data.store.set('files',[]);
};
Template.Foo.events({
'change #imageInput': function(event, template) {
var images = template.data.store.get('images');
var index = images.length;
var uploaded = false;
var uploader = new Slingshot.Upload("imageUploads");
uploader.send(event.target.files[0], function (error, downloadUrl) {
uploaded = true;
if(error){
alert(error.error, error.reason);
images.splice(index,1);
}else{
images[index] = {index: index, url:downloadUrl, uploader:uploader, type:'image'};
}
console.log(images);
template.data.store.set('images',images);
});
if(!uploaded){
images.push({index : index,uploader:uploader, type:'image'});
template.data.store.set('images',images);
}
imageUploads = images;
},
'change #fileInput': function(event, template) {
var files = template.data.store.get('files');
var index = files.length;
var uploaded = false;
var uploader = new Slingshot.Upload("fileUploads");
uploader.send(event.target.files[0], function (error, downloadUrl) {
uploaded = true;
if(error){
alert(error.error, error.reason);
files.splice(index,1);
}else{
files[index] = {url:downloadUrl,uploader:uploader, index:index, type:'file'};
}
template.data.store.set('files',files)
});
if(!uploaded){
files.push({uploader:uploader, index:index, type:'file'});
fileUploads = files;
}
template.data.store.set('files',files)
},
'click #add_commit':function(event, template){ //SHOULD NOT BE COMMIT, SHOULD BE POST OR UPDATE
var values = {};
values.content = template.find('#post_text').value;
if(values.content.length < 1){
//TODO: make a popup or warning ask for post content
return false;
}
values.author_name = tmpl.data.managed_mosque.name;
values.images = _.pluck(tmpl.data.store.get('images'),'url');
values.posted_date = new Date();
values.relevant_date = new Date();
Posts.update(Posts.findOne()._id,{$push:{posts:values}});
template.find('#post_text').value = "";
//After this runs, template.data.store is undefined
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment