Кнопка пользовательского порядка сортировки тем

Установить этот компонент темы

Здравствуйте :waving_hand:

Этот компонент темы добавляет новую кнопку рядом с кнопкой Создать тему, позволяя изменять порядок списка тем. Одна из главных целей заключалась в том, чтобы сделать сортировку тем легко доступной также на мобильных устройствах и в темах, где заголовок списка тем скрыт.

При нажатии на элемент справа от него отображается направление сортировки (по возрастанию или убыванию).

Убывание (иконка) Возрастание (иконка)

Настройки

Этот компонент содержит несколько настроек для кастомизации.

Настройка объекта

С помощью настройки объекта вы можете изменить иконку, метку, действие и порядок каждого элемента.

  • icon → имя иконки из набора иконок Discourse
  • label → ключ перевода (см. /admin/customize/site_texts)
  • action → идентификатор действия сортировки
  • order → позиция элемента в выпадающем списке

Пример для label:

likes-label

В этом случае поле метки должно быть: js.likes

18 лайков

Отличный компонент! Я тоже думал о создании чего-то подобного.

Я заметил, что вы не добавили лицензию в репозиторий GitHub.

Вы примете pull request с добавлением дополнительных вариантов сортировки, например op_likes?

5 лайков

Это отличный компонент, Дон, хорошая работа! Спасибо за создание этого :star_struck:

6 лайков

Конечно! PR приветствуется, спасибо @Moin :hugs:

5 лайков

Одно замечание: я как бы ожидаю, что выпадающий список исчезнет после того, как я выберу один из вариантов. Мне приходится кликать вне его после изменения вида, чтобы он закрылся. Но, возможно, это сделано намеренно — не уверен, лол.

3 лайка

Да, это сделано намеренно — если вы снова нажмёте на тот же элемент, направление сортировки изменится.

5 лайков

Да, я так подумал, после того как немного поиграл с этим. Мне нравится этот компонент — он очень полезен для меня на моём собственном экземпляре. Ещё раз спасибо :hugs:

4 лайка

Я заметил, что кнопка «Сортировать по» отображается на странице категорий, но ничего не делает в этом случае. Вероятно, её можно скрыть.

3 лайка

Спасибо, Лилли :hugs: Я объединил это: DEV: Remove sort button on categories page · VaperinaDEV/custom-topic-sort-order-button@1325272 · GitHub

4 лайка

Это объединено.

Иконки и метки, которые я выбрал для дополнительных опций сортировки
{
	"icon": "custom-heart-circle-one",
	"label": "js.category.sort_options.op_likes",
	"action": "op_likes"
},
{
	"icon": "user-group",
	"label": "js.posters",
	"action": "posters"
},
{
	"icon": "far-square",
	"label": "js.category.sort_options.category",
	"action": "category"
},
{
	"icon": "square-plus",
	"label": "js.topic_voting.vote_title_plural",
	"action": "votes"
}

Я не добавил их в конфигурацию по умолчанию, так как считаю, что они используются реже. Однако при их добавлении теперь можно сортировать по лайкам к первому сообщению, количеству авторов, ID категории, а также по количеству голосов, если используется плагин голосования тем.

Я создал иконку для лайков к первому сообщению, чтобы можно было различать обычные лайки и лайки к первому сообщению, даже если метки скрыты на мобильных устройствах.

4 лайка

На мобильном устройстве при выборе опции модальное окно перемещается вверх до полной загрузки DOM.
Это ошибка интерфейса?