[PR #2371] [MERGED] feat: server side filtered, ordered & paginated tables #25432

Closed
opened 2026-06-07 19:58:56 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/fosrl/pangolin/pull/2371
Author: @Fredkiss3
Created: 1/29/2026
Status: Merged
Merged: 2/14/2026
Merged by: @miloschwartz

Base: devHead: refactor/paginated-tables


📝 Commits (10+)

  • 38ac4c5 🚧 wip: paginated tables
  • c89c1a0 🎨 use prettier for formatting typescript
  • 01a2820 🚧 POC: pagination in sites table
  • d374ea6 🚧wip
  • b04385a 🚧 search on table
  • 89695df 🚧 wip: pagination and search work
  • 066305b toggle column sorting & pagination
  • cda6b67 search, filter & paginate sites table
  • bb1a375 paginate, search & filter resources by enabled
  • 1fc40b3 filter by auth state

📊 Changes

45 files changed (+3348 additions, -1186 deletions)

View changed files

📝 .vscode/settings.json (+1 -1)
📝 messages/en-US.json (+4 -1)
📝 package-lock.json (+13 -1)
📝 package.json (+2 -1)
📝 server/db/pg/schema/schema.ts (+11 -11)
📝 server/db/sqlite/schema/schema.ts (+5 -10)
📝 server/private/routers/approvals/countApprovals.ts (+2 -2)
📝 server/private/routers/approvals/listApprovals.ts (+108 -53)
📝 server/private/routers/generatedLicense/generateNewEnterpriseLicense.ts (+14 -6)
📝 server/routers/client/index.ts (+1 -0)
📝 server/routers/client/listClients.ts (+160 -78)
server/routers/client/listUserDevices.ts (+500 -0)
📝 server/routers/external.ts (+7 -0)
📝 server/routers/integration.ts (+7 -0)
📝 server/routers/resource/listResources.ts (+239 -104)
📝 server/routers/site/listSites.ts (+126 -51)
📝 server/routers/siteResource/createSiteResource.ts (+1 -1)
📝 server/routers/siteResource/listAllSiteResourcesByOrg.ts (+127 -50)
📝 server/routers/target/handleHealthcheckStatusMessage.ts (+4 -1)
server/types/Pagination.ts (+5 -0)

...and 25 more files

📄 Description

Community Contribution License Agreement

By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.

Summary

Add server side pagination, filtering and sorting for all the main tables.

Screenshots

Name Screenshots
Sites table
Proxy Resource table
Internal Resource table
Approval feed
User devices table

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/fosrl/pangolin/pull/2371 **Author:** [@Fredkiss3](https://github.com/Fredkiss3) **Created:** 1/29/2026 **Status:** ✅ Merged **Merged:** 2/14/2026 **Merged by:** [@miloschwartz](https://github.com/miloschwartz) **Base:** `dev` ← **Head:** `refactor/paginated-tables` --- ### 📝 Commits (10+) - [`38ac4c5`](https://github.com/fosrl/pangolin/commit/38ac4c59805342a9b139d2bf0e9b93ede0897cc4) 🚧 wip: paginated tables - [`c89c1a0`](https://github.com/fosrl/pangolin/commit/c89c1a03da759aa675b2c15f968e2e74d39afa9d) 🎨 use prettier for formatting typescript - [`01a2820`](https://github.com/fosrl/pangolin/commit/01a2820390847edec61898203687092ab6d6c5bf) 🚧 POC: pagination in sites table - [`d374ea6`](https://github.com/fosrl/pangolin/commit/d374ea6ea655371493e92bb07c6b885df8559ad9) 🚧wip - [`b04385a`](https://github.com/fosrl/pangolin/commit/b04385a3404267ae6b2cbc30b87623a0a0cb13b8) 🚧 search on table - [`89695df`](https://github.com/fosrl/pangolin/commit/89695df0129f5e72c2bc2d410dce2066012b938c) 🚧 wip: pagination and search work - [`066305b`](https://github.com/fosrl/pangolin/commit/066305b09558aee3ed7bace863976afe5324deae) ✨ toggle column sorting & pagination - [`cda6b67`](https://github.com/fosrl/pangolin/commit/cda6b67befb30b2bb0b501af9814359333c14279) ✨ search, filter & paginate sites table - [`bb1a375`](https://github.com/fosrl/pangolin/commit/bb1a375484a1a4eccd117d97eb25eded67a2ab5a) ✨ paginate, search & filter resources by enabled - [`1fc40b3`](https://github.com/fosrl/pangolin/commit/1fc40b301743d54967cdc8acdffdf9ae2dc0856a) ✨ filter by auth state ### 📊 Changes **45 files changed** (+3348 additions, -1186 deletions) <details> <summary>View changed files</summary> 📝 `.vscode/settings.json` (+1 -1) 📝 `messages/en-US.json` (+4 -1) 📝 `package-lock.json` (+13 -1) 📝 `package.json` (+2 -1) 📝 `server/db/pg/schema/schema.ts` (+11 -11) 📝 `server/db/sqlite/schema/schema.ts` (+5 -10) 📝 `server/private/routers/approvals/countApprovals.ts` (+2 -2) 📝 `server/private/routers/approvals/listApprovals.ts` (+108 -53) 📝 `server/private/routers/generatedLicense/generateNewEnterpriseLicense.ts` (+14 -6) 📝 `server/routers/client/index.ts` (+1 -0) 📝 `server/routers/client/listClients.ts` (+160 -78) ➕ `server/routers/client/listUserDevices.ts` (+500 -0) 📝 `server/routers/external.ts` (+7 -0) 📝 `server/routers/integration.ts` (+7 -0) 📝 `server/routers/resource/listResources.ts` (+239 -104) 📝 `server/routers/site/listSites.ts` (+126 -51) 📝 `server/routers/siteResource/createSiteResource.ts` (+1 -1) 📝 `server/routers/siteResource/listAllSiteResourcesByOrg.ts` (+127 -50) 📝 `server/routers/target/handleHealthcheckStatusMessage.ts` (+4 -1) ➕ `server/types/Pagination.ts` (+5 -0) _...and 25 more files_ </details> ### 📄 Description ## Community Contribution License Agreement By creating this pull request, I grant the project maintainers an unlimited, perpetual license to use, modify, and redistribute these contributions under any terms they choose, including both the AGPLv3 and the Fossorial Commercial license terms. I represent that I have the right to grant this license for all contributed content. ## Summary Add server side pagination, filtering and sorting for all the main tables. ## Screenshots | Name | Screenshots | | :----------------: | :-----------: | | Sites table | <video src="https://github.com/user-attachments/assets/20bdff0c-790f-48da-995f-79c98c494d7c"></video> | | Proxy Resource table | <video src="https://github.com/user-attachments/assets/b604c013-b4f3-4b29-aa06-8cae5c490db8"></video> | | Internal Resource table | <video src="https://github.com/user-attachments/assets/944b4188-213e-4ac5-9e81-78c166f8af3f"></video> | | Approval feed | <video src="https://github.com/user-attachments/assets/772a0f14-bd63-47c7-bcff-61af6981f15e"></video> | | User devices table | <video src="https://github.com/user-attachments/assets/4371067a-5d6f-45d0-8833-f66926941088"></video> | --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-07 19:58:56 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#25432