DEV: Remove handling of category top menu items

Support for these kinds of navigation items was dropped in 88f52514, but
the code for handling these menu items was never removed.
This commit is contained in:
Daniel Waterworth
2019-11-11 13:18:10 +00:00
parent 55bdd9e6a2
commit e79cec9fc7
5 changed files with 18 additions and 57 deletions

View File

@@ -1,25 +1,19 @@
import discourseComputed from "discourse-common/utils/decorators"; import discourseComputed from "discourse-common/utils/decorators";
import { toTitleCase } from "discourse/lib/formatter";
import { emojiUnescape } from "discourse/lib/text"; import { emojiUnescape } from "discourse/lib/text";
import Category from "discourse/models/category"; import Category from "discourse/models/category";
import EmberObject from "@ember/object"; import EmberObject from "@ember/object";
import deprecated from "discourse-common/lib/deprecated"; import deprecated from "discourse-common/lib/deprecated";
const NavItem = EmberObject.extend({ const NavItem = EmberObject.extend({
@discourseComputed("categoryName", "name") @discourseComputed("name")
title(categoryName, name) { title(name) {
const extra = {}; const extra = {};
if (categoryName) {
name = "category";
extra.categoryName = categoryName;
}
return I18n.t("filters." + name.replace("/", ".") + ".help", extra); return I18n.t("filters." + name.replace("/", ".") + ".help", extra);
}, },
@discourseComputed("categoryName", "name", "count") @discourseComputed("name", "count")
displayName(categoryName, name, count) { displayName(name, count) {
count = count || 0; count = count || 0;
if ( if (
@@ -32,35 +26,11 @@ const NavItem = EmberObject.extend({
let extra = { count: count }; let extra = { count: count };
const titleKey = count === 0 ? ".title" : ".title_with_count"; const titleKey = count === 0 ? ".title" : ".title_with_count";
if (categoryName) {
name = "category";
extra.categoryName = toTitleCase(categoryName);
}
return emojiUnescape( return emojiUnescape(
I18n.t(`filters.${name.replace("/", ".") + titleKey}`, extra) I18n.t(`filters.${name.replace("/", ".") + titleKey}`, extra)
); );
}, },
@discourseComputed("name")
categoryName(name) {
const split = name.split("/");
return split[0] === "category" ? split[1] : null;
},
@discourseComputed("name")
categorySlug(name) {
const split = name.split("/");
if (split[0] === "category" && split[1]) {
const cat = Discourse.Site.current().categories.findBy(
"nameLower",
split[1].toLowerCase()
);
return cat ? Category.slugFor(cat) : null;
}
return null;
},
@discourseComputed("filterMode") @discourseComputed("filterMode")
href(filterMode) { href(filterMode) {
let customHref = null; let customHref = null;
@@ -79,11 +49,8 @@ const NavItem = EmberObject.extend({
return Discourse.getURL("/") + filterMode; return Discourse.getURL("/") + filterMode;
}, },
@discourseComputed("name", "category", "categorySlug", "noSubcategories") @discourseComputed("name", "category", "noSubcategories")
filterMode(name, category, categorySlug, noSubcategories) { filterMode(name, category, noSubcategories) {
if (name.split("/")[0] === "category") {
return "c/" + categorySlug;
} else {
let mode = ""; let mode = "";
if (category) { if (category) {
mode += "c/"; mode += "c/";
@@ -94,7 +61,6 @@ const NavItem = EmberObject.extend({
mode += "/l/"; mode += "/l/";
} }
return mode + name.replace(" ", "-"); return mode + name.replace(" ", "-");
}
}, },
@discourseComputed("name", "category", "topicTrackingState.messageCount") @discourseComputed("name", "category", "topicTrackingState.messageCount")

View File

@@ -160,11 +160,11 @@ module Discourse
end end
def self.top_menu_items def self.top_menu_items
@top_menu_items ||= Discourse.filters + [:category, :categories, :top] @top_menu_items ||= Discourse.filters + [:categories, :top]
end end
def self.anonymous_top_menu_items def self.anonymous_top_menu_items
@anonymous_top_menu_items ||= Discourse.anonymous_filters + [:category, :categories, :top] @anonymous_top_menu_items ||= Discourse.anonymous_filters + [:categories, :top]
end end
PIXEL_RATIOS ||= [1, 1.5, 2, 3] PIXEL_RATIOS ||= [1, 1.5, 2, 3]

View File

@@ -41,7 +41,6 @@ export default {
"starred", "starred",
"read", "read",
"posted", "posted",
"category",
"categories", "categories",
"top" "top"
], ],
@@ -49,7 +48,6 @@ export default {
"latest", "latest",
"top", "top",
"categories", "categories",
"category",
"categories", "categories",
"top" "top"
], ],

View File

@@ -38,11 +38,10 @@ PreloadStore.store("site", {
"starred", "starred",
"read", "read",
"posted", "posted",
"category",
"categories", "categories",
"top" "top"
], ],
anonymous_top_menu_items: ["latest", "category", "categories", "top"], anonymous_top_menu_items: ["latest", "categories", "top"],
uncategorized_category_id: 17, uncategorized_category_id: 17,
categories: [ categories: [
{ {

View File

@@ -16,7 +16,7 @@ QUnit.module("NavItem", {
}); });
QUnit.test("href", assert => { QUnit.test("href", assert => {
assert.expect(4); assert.expect(2);
function href(text, expected, label) { function href(text, expected, label) {
assert.equal(NavItem.fromText(text, {}).get("href"), expected, label); assert.equal(NavItem.fromText(text, {}).get("href"), expected, label);
@@ -24,8 +24,6 @@ QUnit.test("href", assert => {
href("latest", "/latest", "latest"); href("latest", "/latest", "latest");
href("categories", "/categories", "categories"); href("categories", "/categories", "categories");
href("category/bug", "/c/bug", "English category name");
href("category/确实是这样", "/c/343434-category", "Chinese category name");
}); });
QUnit.test("count", assert => { QUnit.test("count", assert => {