/
discussion_card.js
69 lines (68 loc) · 2.07 KB
/
discussion_card.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Template.discussionCard.events({
"click .edit-discussion": function(event, template) {
event.preventDefault();
Modal.show("editDiscussionModal", this);
},
"click .delete-discussion": function(event) {
event.preventDefault();
const data = {
id: this._id
};
swal({
type: "warning",
title: "Are you sure?",
cancelButtonText: TAPi18n.__("no_delete_hangout"),
confirmButtonText: TAPi18n.__("yes_delete_hangout"),
confirmButtonColor: "#d9534f",
showCancelButton: true
}).then(result => {
swal.disableButtons();
if (result.value) {
Meteor.call("discussions.remove", data, function(error) {
swal("Poof!", "Your Discussion has been successfully deleted!", "success");
});
} else if (result.dismiss === "cancel" || result.dismiss === "esc" || result.dismiss === "overlay") {
swal("Phew!", "No changes made", "info");
} else {
swal("Oops! Something went wrong", error.error, +"\n Try again", "error");
}
});
},
"click .upvote": function(event) {
event.preventDefault();
const data = {
id: this._id
};
Meteor.call("discussions.upvote", data, function(error, result) {
if (error) {
Bert.alert(error.reason, "danger", "growl-top-right");
}
if (result) {
Bert.alert("Voted", "success", "growl-top-right");
}
});
},
"click .downvote": function(event) {
event.preventDefault();
const data = {
id: this._id
};
Meteor.call("discussions.downvote", data, function(error, result) {
if (error) {
Bert.alert(error.reason, "danger", "growl-top-right");
}
if (result) {
Bert.alert("Voted", "success", "growl-top-right");
}
});
},
"click .select-tag": function(event, template) {
event.preventDefault();
const target = $(event.target);
FlowRouter.go(`/discussions/?tags[]=${target.data("tag")}`);
},
"click .report-discussion": function(event) {
event.preventDefault();
Modal.show("reportDiscussionModal", this);
}
});