diaspora/app/assets/javascripts/app/views/feedback_view.js
2016-09-04 03:16:24 +02:00

44 lines
1.3 KiB
JavaScript

// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.views.Feedback = app.views.Base.extend({
templateName: "feedback",
className : "info",
events: {
"click .like" : "toggleLike",
"click .reshare" : "resharePost",
},
tooltipSelector : ".label",
initialize : function() {
this.model.interactions.on("change", this.render, this);
this.initViews && this.initViews(); // I don't know why this was failing with $.noop... :(
},
presenter : function() {
var interactions = this.model.interactions;
return _.extend(this.defaultPresenter(),{
commentsCount : interactions.commentsCount(),
likesCount : interactions.likesCount(),
resharesCount : interactions.resharesCount(),
userCanReshare : interactions.userCanReshare(),
userLike : interactions.userLike(),
userReshare : interactions.userReshare()
});
},
toggleLike: function(evt) {
if(evt) { evt.preventDefault(); }
this.model.interactions.toggleLike();
},
resharePost : function(evt) {
if(evt) { evt.preventDefault(); }
if(!window.confirm(Diaspora.I18n.t("reshares.post", {name: this.model.reshareAuthor().name}))) { return }
this.model.interactions.reshare();
}
});
// @license-end