Files
DiceCloud/rpg-docs/client/views/character/characterSettings/shareDialog.js
2015-04-14 14:08:21 +00:00

56 lines
1.4 KiB
JavaScript

Template.shareDialog.onCreated(function(){
this.userId = new ReactiveVar();
});
Template.shareDialog.helpers({
readers: function(){
var char = Characters.findOne(this._id, {fields: {readers: 1}});
return char && char.readers;
},
writers: function(){
var char = Characters.findOne(this._id, {fields: {writers: 1}});
return char && char.writers;
},
shareButtonDisabled: function(){
return !Template.instance().userId.get();
},
userFindError: function(){
if (!Template.instance().userId.get()){
return "User not found";
}
}
});
Template.shareDialog.events({
"input #userNameOrEmailInput, change #userNameOrEmailInput": function(event, instance){
var userName = instance.find("#userNameOrEmailInput").value;
instance.userId.set(undefined);
Meteor.call("getUserId", userName, function (err, result) {
if(err){
console.error(err);
} else{
console.log(result);
instance.userId.set(result);
}
});
},
"tap #shareButton": function(event, instance){
var self = this;
var permission = instance.find("#accessLevelMenu").selected;
if(!permission) throw "no permission set";
var userId = instance.userId.get();
if(!userId) return;
if(permission === "write"){
Characters.update(self._id, {
$addToSet: {writers: userId},
$pull: {readers: userId}
});
} else {
Characters.update(self._id, {
$addToSet: {readers: userId},
$pull: {writers: userId}
});
}
}
});