committed by
Joffrey JAFFEUX
parent
c617e512ad
commit
4b455e741e
@@ -1,3 +1,5 @@
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
tagName: "span",
|
||||
classNameBindings: [
|
||||
@@ -5,9 +7,12 @@ export default Ember.Component.extend({
|
||||
"badge.badgeTypeClassName",
|
||||
"badge.enabled::disabled"
|
||||
],
|
||||
title: function() {
|
||||
return $("<div>" + this.get("badge.description") + "</div>").text();
|
||||
}.property("badge.description"),
|
||||
|
||||
@computed("badge.description")
|
||||
title(badgeDescription) {
|
||||
return $("<div>" + badgeDescription + "</div>").text();
|
||||
},
|
||||
|
||||
attributeBindings: ["data-badge-name", "title"],
|
||||
"data-badge-name": Ember.computed.alias("badge.name")
|
||||
});
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
loadingMore: Ember.computed.alias("topicList.loadingMore"),
|
||||
loading: Ember.computed.not("loaded"),
|
||||
|
||||
loaded: function() {
|
||||
@computed("topicList.loaded")
|
||||
loaded() {
|
||||
var topicList = this.get("topicList");
|
||||
if (topicList) {
|
||||
return topicList.get("loaded");
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}.property("topicList.loaded"),
|
||||
},
|
||||
|
||||
_topicListChanged: function() {
|
||||
this._initFromTopicList(this.get("topicList"));
|
||||
@@ -27,9 +30,6 @@ export default Ember.Component.extend({
|
||||
const topicList = this.get("topicList");
|
||||
if (topicList) {
|
||||
this._initFromTopicList(topicList);
|
||||
} else {
|
||||
// Without a topic list, we assume it's loaded always.
|
||||
this.set("loaded", true);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -30,13 +30,25 @@ export default Ember.Component.extend({
|
||||
noText: Ember.computed.empty("translatedLabel"),
|
||||
|
||||
@computed("title")
|
||||
translatedTitle(title) {
|
||||
if (title) return I18n.t(title);
|
||||
translatedTitle: {
|
||||
get() {
|
||||
if (this._translatedTitle) return this._translatedTitle;
|
||||
if (this.title) return I18n.t(this.title);
|
||||
},
|
||||
set(value) {
|
||||
return (this._translatedTitle = value);
|
||||
}
|
||||
},
|
||||
|
||||
@computed("label")
|
||||
translatedLabel(label) {
|
||||
if (label) return I18n.t(label);
|
||||
translatedLabel: {
|
||||
get() {
|
||||
if (this._translatedLabel) return this._translatedLabel;
|
||||
if (this.label) return I18n.t(this.label);
|
||||
},
|
||||
set(value) {
|
||||
return (this._translatedLabel = value);
|
||||
}
|
||||
},
|
||||
|
||||
click() {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
visible: function() {
|
||||
var bannerKey = this.get("banner.key"),
|
||||
dismissedBannerKey =
|
||||
this.get("user.dismissed_banner_key") ||
|
||||
this.keyValueStore.get("dismissed_banner_key");
|
||||
@computed("user.dismissed_banner_key", "banner.key", "hide")
|
||||
visible(dismissedBannerKey, bannerKey, hide) {
|
||||
dismissedBannerKey =
|
||||
dismissedBannerKey || this.keyValueStore.get("dismissed_banner_key");
|
||||
|
||||
if (bannerKey) {
|
||||
bannerKey = parseInt(bannerKey, 10);
|
||||
@@ -12,8 +13,8 @@ export default Ember.Component.extend({
|
||||
dismissedBannerKey = parseInt(dismissedBannerKey, 10);
|
||||
}
|
||||
|
||||
return !this.get("hide") && bannerKey && dismissedBannerKey !== bannerKey;
|
||||
}.property("user.dismissed_banner_key", "banner.key", "hide"),
|
||||
return !hide && bannerKey && dismissedBannerKey !== bannerKey;
|
||||
},
|
||||
|
||||
actions: {
|
||||
dismiss() {
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
tagName: "a",
|
||||
classNameBindings: [":discourse-tag", "style", "tagClass"],
|
||||
attributeBindings: ["href"],
|
||||
|
||||
tagClass: function() {
|
||||
return "tag-" + this.get("tagRecord.id");
|
||||
}.property("tagRecord.id"),
|
||||
@computed("tagRecord.id")
|
||||
tagClass(tagRecordId) {
|
||||
return "tag-" + tagRecordId;
|
||||
},
|
||||
|
||||
href: function() {
|
||||
return Discourse.getURL("/tags/" + this.get("tagRecord.id"));
|
||||
}.property("tagRecord.id")
|
||||
@computed("tagRecord.id")
|
||||
href(tagRecordId) {
|
||||
return Discourse.getURL("/tags/" + tagRecordId);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
import { propertyEqual } from "discourse/lib/computed";
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
tagName: "li",
|
||||
classNameBindings: ["active", "tabClassName"],
|
||||
|
||||
tabClassName: function() {
|
||||
return "edit-category-" + this.get("tab");
|
||||
}.property("tab"),
|
||||
@computed("tab")
|
||||
tabClassName(tab) {
|
||||
return "edit-category-" + tab;
|
||||
},
|
||||
|
||||
active: propertyEqual("selectedTab", "tab"),
|
||||
|
||||
title: function() {
|
||||
return I18n.t("category." + this.get("tab").replace("-", "_"));
|
||||
}.property("tab"),
|
||||
@computed("tab")
|
||||
title(tab) {
|
||||
return I18n.t("category." + tab.replace("-", "_"));
|
||||
},
|
||||
|
||||
didInsertElement() {
|
||||
this._super(...arguments);
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
classNames: ["controls"],
|
||||
|
||||
label: function() {
|
||||
return I18n.t(this.get("labelKey"));
|
||||
}.property("labelKey"),
|
||||
@computed("labelKey")
|
||||
label(labelKey) {
|
||||
return I18n.t(labelKey);
|
||||
},
|
||||
|
||||
change() {
|
||||
const warning = this.get("warning");
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import DiscourseURL from "discourse/lib/url";
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
tagName: "a",
|
||||
@@ -10,17 +11,19 @@ export default Ember.Component.extend({
|
||||
],
|
||||
attributeBindings: ["href"],
|
||||
|
||||
href: function() {
|
||||
@computed("tagId", "category")
|
||||
href(tagId, category) {
|
||||
var url = "/tags";
|
||||
if (this.get("category")) {
|
||||
url += this.get("category.url");
|
||||
if (category) {
|
||||
url += category.url;
|
||||
}
|
||||
return url + "/" + this.get("tagId");
|
||||
}.property("tagId", "category"),
|
||||
return url + "/" + tagId;
|
||||
},
|
||||
|
||||
tagClass: function() {
|
||||
return "tag-" + this.get("tagId");
|
||||
}.property("tagId"),
|
||||
@computed("tagId")
|
||||
tagClass(tagId) {
|
||||
return "tag-" + tagId;
|
||||
},
|
||||
|
||||
click(e) {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -38,7 +38,13 @@ export default Ember.TextField.extend({
|
||||
},
|
||||
|
||||
@computed("placeholderKey")
|
||||
placeholder(placeholderKey) {
|
||||
return placeholderKey ? I18n.t(placeholderKey) : "";
|
||||
placeholder: {
|
||||
get() {
|
||||
if (this._placeholder) return this._placeholder;
|
||||
return this.placeholderKey ? I18n.t(this.placeholderKey) : "";
|
||||
},
|
||||
set(value) {
|
||||
return (this._placeholder = value);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
classNames: ["top-title-buttons"],
|
||||
|
||||
periods: function() {
|
||||
const period = this.get("period");
|
||||
@computed("period")
|
||||
periods(period) {
|
||||
return this.site.get("periods").filter(p => p !== period);
|
||||
}.property("period"),
|
||||
},
|
||||
|
||||
actions: {
|
||||
changePeriod(p) {
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
import { observes } from "ember-addons/ember-computed-decorators";
|
||||
import {
|
||||
default as computed,
|
||||
observes
|
||||
} from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
tagName: "table",
|
||||
@@ -16,25 +19,25 @@ export default Ember.Component.extend({
|
||||
this.refreshLastVisited();
|
||||
}.on("init"),
|
||||
|
||||
toggleInTitle: function() {
|
||||
return !this.get("bulkSelectEnabled") && this.get("canBulkSelect");
|
||||
}.property("bulkSelectEnabled"),
|
||||
@computed("bulkSelectEnabled")
|
||||
toggleInTitle(bulkSelectEnabled) {
|
||||
return !bulkSelectEnabled && this.get("canBulkSelect");
|
||||
},
|
||||
|
||||
sortable: function() {
|
||||
@computed
|
||||
sortable() {
|
||||
return !!this.get("changeSort");
|
||||
}.property(),
|
||||
},
|
||||
|
||||
skipHeader: function() {
|
||||
return this.site.mobileView;
|
||||
}.property(),
|
||||
@computed("order")
|
||||
showLikes(order) {
|
||||
return order === "likes";
|
||||
},
|
||||
|
||||
showLikes: function() {
|
||||
return this.get("order") === "likes";
|
||||
}.property("order"),
|
||||
|
||||
showOpLikes: function() {
|
||||
return this.get("order") === "op_likes";
|
||||
}.property("order"),
|
||||
@computed("order")
|
||||
showOpLikes(order) {
|
||||
return order === "op_likes";
|
||||
},
|
||||
|
||||
@observes("topics.[]")
|
||||
topicsAdded() {
|
||||
|
||||
@@ -2,6 +2,7 @@ import { iconHTML } from "discourse-common/lib/icon-library";
|
||||
import { bufferedRender } from "discourse-common/lib/buffered-render";
|
||||
import { escapeExpression } from "discourse/lib/utilities";
|
||||
import TopicStatusIcons from "discourse/helpers/topic-status-icons";
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend(
|
||||
bufferedRender({
|
||||
@@ -26,9 +27,10 @@ export default Ember.Component.extend(
|
||||
return false;
|
||||
},
|
||||
|
||||
canAct: function() {
|
||||
return Discourse.User.current() && !this.get("disableActions");
|
||||
}.property("disableActions"),
|
||||
@computed("disableActions")
|
||||
canAct(disableActions) {
|
||||
return Discourse.User.current() && !disableActions;
|
||||
},
|
||||
|
||||
buildBuffer(buffer) {
|
||||
const canAct = this.get("canAct");
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
tagName: "span",
|
||||
|
||||
showGrantCount: function() {
|
||||
return this.get("count") && this.get("count") > 1;
|
||||
}.property("count"),
|
||||
@computed("count")
|
||||
showGrantCount(count) {
|
||||
return count && count > 1;
|
||||
},
|
||||
|
||||
badgeUrl: function() {
|
||||
@computed("badge", "user")
|
||||
badgeUrl() {
|
||||
// NOTE: I tried using a link-to helper here but the queryParams mean it fails
|
||||
var username = this.get("user.username_lower") || "";
|
||||
username = username !== "" ? "?username=" + username : "";
|
||||
return this.get("badge.url") + username;
|
||||
}.property("badge", "user")
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { fmt } from "discourse/lib/computed";
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
|
||||
export default Ember.Component.extend({
|
||||
classNameBindings: [":user-field", "field.field_type"],
|
||||
layoutName: fmt("field.field_type", "components/user-fields/%@"),
|
||||
|
||||
noneLabel: function() {
|
||||
@computed
|
||||
noneLabel() {
|
||||
return "user_fields.none";
|
||||
}.property()
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user