This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/components/bread-crumbs.js.es6
2018-06-15 17:03:24 +02:00

45 lines
1.3 KiB
JavaScript

// A breadcrumb including category drop downs
export default Ember.Component.extend({
classNameBindings: ["hidden:hidden", ":category-breadcrumb"],
tagName: "ol",
parentCategory: Em.computed.alias("category.parentCategory"),
parentCategories: Em.computed.filter("categories", function(c) {
if (
c.id === this.site.get("uncategorized_category_id") &&
!this.siteSettings.allow_uncategorized_topics
) {
// Don't show "uncategorized" if allow_uncategorized_topics setting is false.
return false;
}
return !c.get("parentCategory");
}),
hidden: function() {
return this.site.mobileView && !this.get("category");
}.property("category"),
firstCategory: function() {
return this.get("parentCategory") || this.get("category");
}.property("parentCategory", "category"),
secondCategory: function() {
if (this.get("parentCategory")) return this.get("category");
return null;
}.property("category", "parentCategory"),
childCategories: function() {
if (this.get("hideSubcategories")) {
return [];
}
var firstCategory = this.get("firstCategory");
if (!firstCategory) {
return [];
}
return this.get("categories").filter(function(c) {
return c.get("parentCategory") === firstCategory;
});
}.property("firstCategory", "hideSubcategories")
});