discourse/plugins/poll/assets/javascripts/components/poll-option.js.es6

29 lines
862 B
JavaScript

export default Em.Component.extend({
tagName: "li",
attributeBindings: ["data-poll-option-id", "data-poll-selected", "style"],
"data-poll-option-id": Em.computed.alias("option.id"),
"data-poll-selected": function() {
return this.get("option.selected") ? "selected" : false;
}.property("option.selected"),
style: function() {
var styles = [];
if (this.get("color")) { styles.push("color:" + this.get("color")); }
if (this.get("background")) { styles.push("background:" + this.get("background")); }
return styles.length > 0 ? styles.join(";") : false;
}.property("color", "background"),
render(buffer) {
buffer.push(this.get("option.html"));
},
click(e) {
// ensure we're not clicking on a link
if ($(e.target).closest("a").length === 0) {
this.sendAction("toggle", this.get("option"));
}
}
});