From a8d58c3b217b26f0e0e8189608b57a21293f709c Mon Sep 17 00:00:00 2001 From: Daniel Waterworth <me@danielwaterworth.com> Date: Thu, 21 Nov 2019 10:33:40 +0000 Subject: [PATCH] DEV: Make filterModes obsolete This mixin handles the translation between old filterModes and new filterTypes. filterModes have context information, filterTypes do not. --- .../javascripts/discourse/components/d-navigation.js.es6 | 3 ++- .../javascripts/discourse/components/navigation-bar.js.es6 | 3 ++- .../javascripts/discourse/components/navigation-item.js.es6 | 2 ++ .../discourse/controllers/navigation/category.js.es6 | 3 ++- .../discourse/controllers/navigation/default.js.es6 | 3 ++- app/assets/javascripts/discourse/controllers/tags-show.js.es6 | 4 ++-- app/assets/javascripts/discourse/routes/tags-show.js.es6 | 3 ++- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/discourse/components/d-navigation.js.es6 b/app/assets/javascripts/discourse/components/d-navigation.js.es6 index faf79ff5fcd..ea0b2fddc84 100644 --- a/app/assets/javascripts/discourse/components/d-navigation.js.es6 +++ b/app/assets/javascripts/discourse/components/d-navigation.js.es6 @@ -2,8 +2,9 @@ import discourseComputed from "discourse-common/utils/decorators"; import NavItem from "discourse/models/nav-item"; import { inject as service } from "@ember/service"; import Component from "@ember/component"; +import FilterModeMixin from "discourse/mixins/filter-mode"; -export default Component.extend({ +export default Component.extend(FilterModeMixin, { router: service(), persistedQueryParams: null, diff --git a/app/assets/javascripts/discourse/components/navigation-bar.js.es6 b/app/assets/javascripts/discourse/components/navigation-bar.js.es6 index a533ba95def..b3157f5748f 100644 --- a/app/assets/javascripts/discourse/components/navigation-bar.js.es6 +++ b/app/assets/javascripts/discourse/components/navigation-bar.js.es6 @@ -6,8 +6,9 @@ import { } from "discourse-common/utils/decorators"; import DiscourseURL from "discourse/lib/url"; import { renderedConnectorsFor } from "discourse/lib/plugin-connectors"; +import FilterModeMixin from "discourse/mixins/filter-mode"; -export default Component.extend({ +export default Component.extend(FilterModeMixin, { tagName: "ul", classNameBindings: [":nav", ":nav-pills"], elementId: "navigation-bar", diff --git a/app/assets/javascripts/discourse/components/navigation-item.js.es6 b/app/assets/javascripts/discourse/components/navigation-item.js.es6 index f6805dfb2f2..3ed9740c6b7 100644 --- a/app/assets/javascripts/discourse/components/navigation-item.js.es6 +++ b/app/assets/javascripts/discourse/components/navigation-item.js.es6 @@ -1,8 +1,10 @@ import discourseComputed from "discourse-common/utils/decorators"; import Component from "@ember/component"; import { bufferedRender } from "discourse-common/lib/buffered-render"; +import FilterModeMixin from "discourse/mixins/filter-mode"; export default Component.extend( + FilterModeMixin, bufferedRender({ tagName: "li", classNameBindings: [ diff --git a/app/assets/javascripts/discourse/controllers/navigation/category.js.es6 b/app/assets/javascripts/discourse/controllers/navigation/category.js.es6 index 1b132655769..23da3c88df8 100644 --- a/app/assets/javascripts/discourse/controllers/navigation/category.js.es6 +++ b/app/assets/javascripts/discourse/controllers/navigation/category.js.es6 @@ -1,7 +1,8 @@ import { none, and } from "@ember/object/computed"; import NavigationDefaultController from "discourse/controllers/navigation/default"; +import FilterModeMixin from "discourse/mixins/filter-mode"; -export default NavigationDefaultController.extend({ +export default NavigationDefaultController.extend(FilterModeMixin, { showingParentCategory: none("category.parentCategory"), showingSubcategoryList: and( "category.show_subcategory_list", diff --git a/app/assets/javascripts/discourse/controllers/navigation/default.js.es6 b/app/assets/javascripts/discourse/controllers/navigation/default.js.es6 index 23220761c10..02dd26acde8 100644 --- a/app/assets/javascripts/discourse/controllers/navigation/default.js.es6 +++ b/app/assets/javascripts/discourse/controllers/navigation/default.js.es6 @@ -1,8 +1,9 @@ import discourseComputed from "discourse-common/utils/decorators"; import { inject } from "@ember/controller"; import Controller from "@ember/controller"; +import FilterModeMixin from "discourse/mixins/filter-mode"; -export default Controller.extend({ +export default Controller.extend(FilterModeMixin, { discovery: inject(), discoveryTopics: inject("discovery/topics"), diff --git a/app/assets/javascripts/discourse/controllers/tags-show.js.es6 b/app/assets/javascripts/discourse/controllers/tags-show.js.es6 index 4a8cc98dd92..26aa9d9684a 100644 --- a/app/assets/javascripts/discourse/controllers/tags-show.js.es6 +++ b/app/assets/javascripts/discourse/controllers/tags-show.js.es6 @@ -7,15 +7,15 @@ import { } from "discourse-common/utils/decorators"; import BulkTopicSelection from "discourse/mixins/bulk-topic-selection"; import { default as NavItem } from "discourse/models/nav-item"; +import FilterModeMixin from "discourse/mixins/filter-mode"; -export default Controller.extend(BulkTopicSelection, { +export default Controller.extend(BulkTopicSelection, FilterModeMixin, { application: inject(), tag: null, additionalTags: null, list: null, canAdminTag: alias("currentUser.staff"), - filterMode: null, navMode: "latest", loading: false, canCreateTopic: false, diff --git a/app/assets/javascripts/discourse/routes/tags-show.js.es6 b/app/assets/javascripts/discourse/routes/tags-show.js.es6 index 5d8f44aceb0..30e88749921 100644 --- a/app/assets/javascripts/discourse/routes/tags-show.js.es6 +++ b/app/assets/javascripts/discourse/routes/tags-show.js.es6 @@ -8,8 +8,9 @@ import { import { queryParams } from "discourse/controllers/discovery-sortable"; import PermissionType from "discourse/models/permission-type"; import Category from "discourse/models/category"; +import FilterModeMixin from "discourse/mixins/filter-mode"; -export default DiscourseRoute.extend({ +export default DiscourseRoute.extend(FilterModeMixin, { navMode: "latest", queryParams,