diff --git a/.idea/.idea.HopFrame/.idea/workspace.xml b/.idea/.idea.HopFrame/.idea/workspace.xml
index 8e6c065..a12d024 100644
--- a/.idea/.idea.HopFrame/.idea/workspace.xml
+++ b/.idea/.idea.HopFrame/.idea/workspace.xml
@@ -11,11 +11,12 @@
-
+
+
+
-
-
-
+
+
@@ -35,7 +36,7 @@
@@ -84,6 +85,7 @@
+
@@ -96,6 +98,8 @@
+
+
{}
{
@@ -125,7 +129,7 @@
"RunOnceActivity.git.unshallow": "true",
"b5f11219-dfc4-47a1-b02c-90ab603034fb.executor": "Debug",
"dcdf1689-dc07-47e4-8824-2e60a4fbf301.executor": "Debug",
- "git-widget-placeholder": "!30 on feature/plugins",
+ "git-widget-placeholder": "dev",
"list.type.of.created.stylesheet": "CSS",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
@@ -239,7 +243,8 @@
-
+
+
@@ -553,7 +558,15 @@
1738773315593
-
+
+
+ 1738774569657
+
+
+
+ 1738774569657
+
+
@@ -604,7 +617,6 @@
-
@@ -629,6 +641,7 @@
-
+
+
\ No newline at end of file
diff --git a/src/HopFrame.Web/Components/Pages/HopFrameTablePage.razor b/src/HopFrame.Web/Components/Pages/HopFrameTablePage.razor
index 11cc7ad..22826a9 100644
--- a/src/HopFrame.Web/Components/Pages/HopFrameTablePage.razor
+++ b/src/HopFrame.Web/Components/Pages/HopFrameTablePage.razor
@@ -239,9 +239,16 @@
var eventResult = await PluginOrchestrator.DispatchEvent(new SearchEvent(this) {
SearchTerm = _searchTerm,
- Table = _config!
+ Table = _config!,
+ CurrentPage = _currentPage
}, _tokenSource.Token);
- if (eventResult.IsCanceled) return;
+ if (eventResult.IsCanceled) {
+ if (eventResult.SearchResult is null) return;
+
+ CurrentlyDisplayedModels = eventResult.SearchResult.ToArray();
+ _totalPages = eventResult.TotalPages;
+ return;
+ }
_searchTerm = eventResult.SearchTerm;
await Reload();
@@ -259,7 +266,7 @@
}
if (!string.IsNullOrEmpty(_searchTerm)) {
- (var query, _totalPages) = await _manager!.Search(_searchTerm, 0, PerPage);
+ (var query, _totalPages) = await _manager!.Search(_searchTerm, _currentPage, PerPage);
CurrentlyDisplayedModels = query.ToArray();
}
else {
diff --git a/src/HopFrame.Web/Plugins/Events/SearchEvent.cs b/src/HopFrame.Web/Plugins/Events/SearchEvent.cs
index 2c0d4f7..b012b10 100644
--- a/src/HopFrame.Web/Plugins/Events/SearchEvent.cs
+++ b/src/HopFrame.Web/Plugins/Events/SearchEvent.cs
@@ -1,7 +1,22 @@
-using HopFrame.Web.Components.Pages;
+using System.Collections;
+using HopFrame.Web.Components.Pages;
namespace HopFrame.Web.Plugins.Events;
public sealed class SearchEvent(HopFrameTablePage sender) : HopFrameTablePageEventArgs(sender) {
public required string SearchTerm { get; set; }
+ public required int CurrentPage { get; init; }
+ internal IEnumerable