From 7c6654a32c5507b41a76e7c881c318198c35d61b Mon Sep 17 00:00:00 2001 From: Weyland Date: Fri, 28 Mar 2025 18:03:33 +0100 Subject: [PATCH] Add page limit setting. --- .../Controllers/Profile/ProfileController.php | 19 ++++++++++-- src/Http/Validation/ProfileSettings.php | 2 ++ src/WebServiceProvider.php | 1 + src/resources/js/seat.js | 10 +++++-- src/resources/lang/af/seat.php | 1 + src/resources/lang/de/seat.php | 1 + src/resources/lang/en/seat.php | 1 + src/resources/lang/fr/seat.php | 1 + src/resources/lang/ja/seat.php | 1 + src/resources/lang/ko/seat.php | 1 + src/resources/lang/ro/seat.php | 1 + src/resources/lang/ru/seat.php | 1 + src/resources/lang/zh-CN/seat.php | 1 + src/resources/views/layouts/app.blade.php | 8 +++++ src/resources/views/profile/view.blade.php | 30 ++++++++++++++----- 15 files changed, 66 insertions(+), 13 deletions(-) diff --git a/src/Http/Controllers/Profile/ProfileController.php b/src/Http/Controllers/Profile/ProfileController.php index 4d133886f..cf1e5ab4b 100644 --- a/src/Http/Controllers/Profile/ProfileController.php +++ b/src/Http/Controllers/Profile/ProfileController.php @@ -65,12 +65,24 @@ public function getView() // available options $skins = config('web.skins'); $sidebar = Profile::$options['sidebar']; + $page_limit = Profile::$options['page_limit']; $thousand = Profile::$options['thousand_seperator']; $decimal = Profile::$options['decimal_seperator']; - return view('web::profile.view', - compact('user', 'history', 'characters', 'skins', 'languages', - 'sidebar', 'thousand', 'decimal')); + return view( + 'web::profile.view', + compact( + 'user', + 'history', + 'characters', + 'skins', + 'languages', + 'sidebar', + 'page_limit', + 'thousand', + 'decimal' + ) + ); } /** @@ -101,6 +113,7 @@ public function postUpdateUserSettings(ProfileSettings $request) Profile::set('language', $request->language); Profile::set('sidebar', $request->sidebar); Profile::set('mail_threads', $request->mail_threads); + Profile::set('page_limit', $request->page_limit); Profile::set('thousand_seperator', $request->thousand_seperator); Profile::set('decimal_seperator', $request->decimal_seperator); diff --git a/src/Http/Validation/ProfileSettings.php b/src/Http/Validation/ProfileSettings.php index 616141017..f877ffcf3 100644 --- a/src/Http/Validation/ProfileSettings.php +++ b/src/Http/Validation/ProfileSettings.php @@ -52,6 +52,7 @@ public function rules() }, config('web.locale.languages'))); $allowed_sidebar = implode(',', Profile::$options['sidebar']); $mail_threads = implode(',', Profile::$options['mail_threads']); + $page_limit = implode(',', Profile::$options['page_limit']); // Workaround if the thousands seperator is null to convert it // to a space. We dont receive a space from the request as a @@ -64,6 +65,7 @@ public function rules() 'language' => 'required|in:' . $allowed_languages, 'sidebar' => 'required|in:' . $allowed_sidebar, 'mail_threads' => 'required|in:' . $mail_threads, + 'page_limit' => 'required|numeric|in:' . $page_limit, 'thousand_seperator' => 'nullable|in:" ",",","."|size:1', 'decimal_seperator' => 'required|in:",","."|size:1', 'reprocessing_yield' => 'required|numeric|min:0|max:1', diff --git a/src/WebServiceProvider.php b/src/WebServiceProvider.php index 497b2c449..7b3153a9a 100644 --- a/src/WebServiceProvider.php +++ b/src/WebServiceProvider.php @@ -596,6 +596,7 @@ private function register_settings() Profile::define('skin', 'default'); Profile::define('language', 'en'); Profile::define('mail_threads', 'yes'); + Profile::define('page_limit', 10); // Numbers Profile::define('thousand_separator', ' '); diff --git a/src/resources/js/seat.js b/src/resources/js/seat.js index 5de16cad7..e989c0674 100644 --- a/src/resources/js/seat.js +++ b/src/resources/js/seat.js @@ -90,11 +90,17 @@ $(document).ready(function () { }); }); -// Configure some defaults for Datatables $.extend(true, $.fn.dataTable.defaults, { responsive: true, autoWidth: false, - order: [[0, 'desc']] + order: [[0, 'desc']], + // External javascript variable defined in `app.blade.php`. + pageLength: typeof pageLength !== 'undefined' ? pageLength : 10, + // Improved `lengthMenu` options to include showing all table rows. + lengthMenu: [ + [10, 25, 50, 100, -1], + [10, 25, 50, 100, "All"] + ] }); // put some animation on the caret neat to the user dropdown diff --git a/src/resources/lang/af/seat.php b/src/resources/lang/af/seat.php index 4a7bb0bb0..e5ae21cd7 100644 --- a/src/resources/lang/af/seat.php +++ b/src/resources/lang/af/seat.php @@ -705,6 +705,7 @@ 'user_sharelink' => 'User Sharing', 'user_sharelink_description' => 'You can generate a sharing link that can be shared with other SeAT users to allow them to view your linked characters information.', 'user_sharelink_generate' => 'Generate Link', + 'page_limit' => 'Paginagrense', // Queue 'queue_manage' => 'Tou Bestuur', diff --git a/src/resources/lang/de/seat.php b/src/resources/lang/de/seat.php index 16f28890f..6582fc30f 100644 --- a/src/resources/lang/de/seat.php +++ b/src/resources/lang/de/seat.php @@ -704,6 +704,7 @@ 'user_sharelink' => 'User Sharing', 'user_sharelink_description' => 'You can generate a sharing link that can be shared with other SeAT users to allow them to view your linked characters information.', 'user_sharelink_generate' => 'Generate Link', + 'page_limit' => 'Seitenlimit', // Queue 'queue_manage' => 'Warteschlange Verwaltung', diff --git a/src/resources/lang/en/seat.php b/src/resources/lang/en/seat.php index 3987b986e..9e1af1ae6 100644 --- a/src/resources/lang/en/seat.php +++ b/src/resources/lang/en/seat.php @@ -717,6 +717,7 @@ 'user_sharelink' => 'User Sharing', 'user_sharelink_description' => 'You can generate a sharing link that can be shared with other SeAT users to allow them to view your linked characters information.', 'user_sharelink_generate' => 'Generate Link', + 'page_limit' => 'Page Limit', // Queue 'queue_manage' => 'Queue Management', diff --git a/src/resources/lang/fr/seat.php b/src/resources/lang/fr/seat.php index 1810d047d..9f31d6f67 100644 --- a/src/resources/lang/fr/seat.php +++ b/src/resources/lang/fr/seat.php @@ -704,6 +704,7 @@ 'user_sharelink' => 'Partage d\'accès', 'user_sharelink_description' => 'Vous pouvez générer un lien de partage qui peut être utilisé par un autre utilisateur de SeAT pour leur permettre d\'accéder aux informations de vos différents personnages.', 'user_sharelink_generate' => 'Générer un lien', + 'page_limit' => 'Limite de page', // Queue 'queue_manage' => 'Gestion de la fil d\'attente', diff --git a/src/resources/lang/ja/seat.php b/src/resources/lang/ja/seat.php index ee9dd0c3f..28bd8ecee 100644 --- a/src/resources/lang/ja/seat.php +++ b/src/resources/lang/ja/seat.php @@ -704,6 +704,7 @@ 'user_sharelink' => 'ユーザー共有', 'user_sharelink_description' => '他のSeATユーザーと共有できる共有リンクを生成して、リンクされたキャラクター情報を表示することができます。', 'user_sharelink_generate' => 'リンクを生成する', + 'page_limit' => 'ページ制限', // Queue 'queue_manage' => 'キュー管理', diff --git a/src/resources/lang/ko/seat.php b/src/resources/lang/ko/seat.php index 4f8f1d23a..0fa48c0e3 100644 --- a/src/resources/lang/ko/seat.php +++ b/src/resources/lang/ko/seat.php @@ -704,6 +704,7 @@ 'user_sharelink' => 'User Sharing', 'user_sharelink_description' => 'You can generate a sharing link that can be shared with other SeAT users to allow them to view your linked characters information.', 'user_sharelink_generate' => 'Generate Link', + 'page_limit' => '페이지 제한', // Queue 'queue_manage' => 'Queue Management', diff --git a/src/resources/lang/ro/seat.php b/src/resources/lang/ro/seat.php index 673367fa7..65d4e6bee 100644 --- a/src/resources/lang/ro/seat.php +++ b/src/resources/lang/ro/seat.php @@ -704,6 +704,7 @@ 'user_sharelink' => 'User Sharing', 'user_sharelink_description' => 'You can generate a sharing link that can be shared with other SeAT users to allow them to view your linked characters information.', 'user_sharelink_generate' => 'Generate Link', + 'page_limit' => 'Limită de pagină', // Queue 'queue_manage' => 'Queue Management', diff --git a/src/resources/lang/ru/seat.php b/src/resources/lang/ru/seat.php index fb0af9ed3..20f752316 100644 --- a/src/resources/lang/ru/seat.php +++ b/src/resources/lang/ru/seat.php @@ -704,6 +704,7 @@ 'user_sharelink' => 'User Sharing', 'user_sharelink_description' => 'You can generate a sharing link that can be shared with other SeAT users to allow them to view your linked characters information.', 'user_sharelink_generate' => 'Generate Link', + 'page_limit' => 'Ограничение страницы', // Queue 'queue_manage' => 'Управление очередями производства', diff --git a/src/resources/lang/zh-CN/seat.php b/src/resources/lang/zh-CN/seat.php index 8d0beebda..dfb762608 100644 --- a/src/resources/lang/zh-CN/seat.php +++ b/src/resources/lang/zh-CN/seat.php @@ -704,6 +704,7 @@ 'user_sharelink' => 'User Sharing', 'user_sharelink_description' => 'You can generate a sharing link that can be shared with other SeAT users to allow them to view your linked characters information.', 'user_sharelink_generate' => 'Generate Link', + 'page_limit' => '页面限制', // Queue 'queue_manage' => '队列管理', diff --git a/src/resources/views/layouts/app.blade.php b/src/resources/views/layouts/app.blade.php index ebb42af00..a284f479b 100644 --- a/src/resources/views/layouts/app.blade.php +++ b/src/resources/views/layouts/app.blade.php @@ -134,6 +134,14 @@ + + + diff --git a/src/resources/views/profile/view.blade.php b/src/resources/views/profile/view.blade.php index 5db81586f..c2916af25 100644 --- a/src/resources/views/profile/view.blade.php +++ b/src/resources/views/profile/view.blade.php @@ -19,7 +19,7 @@ class="form-horizontal" id="user-settings-form">
- +
@foreach($languages as $language) @@ -51,7 +51,7 @@ class="form-horizontal" id="user-settings-form">
- +
+ +
+ +
+ +
+
+ {{ trans('web::seat.number_format') }}
-
@@ -107,7 +121,7 @@ class="form-horizontal" id="user-settings-form">
-
@@ -126,7 +140,7 @@ class="form-horizontal" id="user-settings-form">
-
@@ -139,7 +153,7 @@ class="form-horizontal" id="user-settings-form">
-