yosupo06 / library-checker-frontend

https://judge.yosupo.jp/
Apache License 2.0
12 stars 10 forks source link

フィルタ更新後に提出一覧テーブルのページ番号を0にリセットすべき #165

Closed MatsuTaku closed 2 months ago

MatsuTaku commented 1 year ago

提出一覧(Submission List)のテーブルのページ番号は、フィルタなどによりテーブルの要素が変更された後は、0にリセットされるべきです。

現行の実装

ページ番号pageuseStateで管理されており、フィルタなどの要素とは独立して保持されます。URLパラメータが設定されている場合、そのパラメータから初期値が取得されます。

具体的な問題点

ページ番号を変更した後にフィルタなどを用いてテーブル要素を削減する操作を行った場合、空のテーブルが表示される事態に陥る可能性があります。例えば、page=9, pageSize=100の状態でフィルタを用いて要素数を5に減らした場合、空のテーブルが表示されます。期待するコンテンツを表示するためには、手動でpage=0に設定する操作が必要となります。

理想的な動作

フィルタを用いてコンテンツを変更する操作を行った場合、その副作用としてpage=0を自動的に設定すべきです。これは、ReactTableなどでコンテンツを変更した際の動作と一致します。参考例: https://tanstack.com/table/v8/docs/examples/react/pagination

yosupo06 commented 2 months ago

https://github.com/yosupo06/library-checker-frontend/pull/222 ありがとうございます、これでついでに直しました