Skip to content

DRAFT: vertical index by start date sort#154

Open
ObjatieGroba wants to merge 1 commit into
blackav:masterfrom
ObjatieGroba:master
Open

DRAFT: vertical index by start date sort#154
ObjatieGroba wants to merge 1 commit into
blackav:masterfrom
ObjatieGroba:master

Conversation

@ObjatieGroba

@ObjatieGroba ObjatieGroba commented Apr 5, 2023

Copy link
Copy Markdown
Contributor

При показе студентам хочется показывать более свежие задачи повыше - для этого можно сортировку по паре (-start_date, id), что и сделано

Comment thread csp/contests/unpriv_main_page.csp Outdated
@ObjatieGroba ObjatieGroba force-pushed the master branch 5 times, most recently from 58f13bc to f4f5aec Compare April 5, 2023 01:34
Comment thread lib/prepare_out.c
if (global->vertical_navigation != DFLT_G_VERTICAL_NAVIGATION)
unparse_bool(f, "vertical_navigation", global->vertical_navigation);
if (global->vertical_navigation_sdate_sort != DFLT_G_VERTICAL_NAVIGATION_SDATE_SORT)
unparse_bool(f, "vertical_navigation_sdate_sort", global->vertical_navigation_sdate_sort);

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ограничение на размер имени параметра - 32 символа.

vertical_navigation_sdate_sort - ровно 31.

@ObjatieGroba ObjatieGroba force-pushed the master branch 2 times, most recently from 630f29e to 8c73ff2 Compare April 5, 2023 01:44
@blackav

blackav commented Apr 5, 2023

Copy link
Copy Markdown
Owner

Я бы сделал стринговый параметр vertical_navigation_sort в котором задавалась спецификация сортировки, по типу "so" - сначала short_name, затем open_date

@ObjatieGroba

ObjatieGroba commented Apr 5, 2023

Copy link
Copy Markdown
Contributor Author

@blackav а есть ли какой-то пример этой форматной строки и функции которая умеет её интерпретировать?

Просто сейчас это звучит как сложная фича, которая возможно еще и не будет пользоваться спросом.

Или можно сделать такую строку но пока поддерживать только "o" - open_date?

@blackav

blackav commented Apr 6, 2023

Copy link
Copy Markdown
Owner

Когда есть строка критерия сортировки, и в дальнейшем захочется добавить какие-то другие критерии, не потребуется добавлять новые параметры, что достаточно геморно. Обработка строки критерия в коде будет в одном месте.
Начать можно и с чего-то простого, пусть просто "o".

@blackav

blackav commented Apr 6, 2023

Copy link
Copy Markdown
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants