diff --git a/Docs/releases.md b/Docs/releases.md
index 5c810c72..e824f252 100644
--- a/Docs/releases.md
+++ b/Docs/releases.md
@@ -1,13 +1,13 @@
# Releases
+## New in 5.10
+* Support Action Filtering in Redux Dev Tools ([#383](https://github.com/mrpmorris/Fluxor/issues/383))
## New in 5.9
* Adds additional useful information to exception thrown by `DisposableAction` ([#425](https://github.com/mrpmorris/Fluxor/issues/425))
* Fix deadlock scenario when dispatching actions from an effect triggered by store activation ([#426](https://github.com/mrpmorris/Fluxor/issues/426))
## New in 5.8
-* Fixes potential for deadlock ([#407](https://github.com/mrpmorris/Fluxor/issues/407))
-
-## New in 5.7
+* Fixes potential for deadlock ([#407](https://github.com/mrpmorris/Fluxor/issues/407))## New in 5.7
* Fixes memory leak when using `ActionSubscriber` or `SubscribeToAction` ([#378](https://github.com/mrpmorris/Fluxor/issues/378))
## New in 5.6
diff --git a/Source/Fluxor.sln b/Source/Fluxor.sln
index 6a13895c..4eef33ad 100644
--- a/Source/Fluxor.sln
+++ b/Source/Fluxor.sln
@@ -6,11 +6,13 @@ MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tutorials", "Tutorials", "{1A6663AC-4F1F-40AD-8D03-0B0977ED466D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{2279CD95-5886-4777-B019-E66683CE32F1}"
+ ProjectSection(SolutionItems) = preProject
+ Tests\Directory.Build.props = Tests\Directory.Build.props
+ EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C2B1D7B3-E943-4EA3-88B0-94433B49080C}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
- Lib\Directory.Build.props = Lib\Directory.Build.props
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Fluxor", "Lib\Fluxor\Fluxor.csproj", "{863909D3-7E81-4240-8C0A-6F57768D28FF}"
@@ -119,6 +121,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FluxorBlazorWeb.EffectsTuto
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FluxorBlazorWeb.ActionSubscriberTutorial.Contracts", "Tutorials\02-Blazor\02E-ActionSubscriber\FluxorBlazorWeb.ActionSubscriberTutorial\Shared\FluxorBlazorWeb.ActionSubscriberTutorial.Contracts.csproj", "{AE3CD639-5DE8-43ED-9CE4-8498548ADD28}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Fluxor.Blazor.Web.ReduxDevTools.UnitTests", "Tests\Fluxor.Blazor.Web.ReduxDevTools.UnitTests\Fluxor.Blazor.Web.ReduxDevTools.UnitTests.csproj", "{FD3207E5-1DE9-4526-9C2A-4C18129992D9}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -393,6 +397,18 @@ Global
{AE3CD639-5DE8-43ED-9CE4-8498548ADD28}.Release|iPhone.Build.0 = Release|Any CPU
{AE3CD639-5DE8-43ED-9CE4-8498548ADD28}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{AE3CD639-5DE8-43ED-9CE4-8498548ADD28}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Release|iPhone.Build.0 = Release|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -431,6 +447,7 @@ Global
{3E8452CA-14A3-432E-8378-99EAC13E5EED} = {B5E9B3FC-1304-4A74-B0A9-607282AB2FD0}
{7A6B9736-6DE1-4B52-8A88-D433C8917731} = {730B26CD-CADC-4CF0-8A1D-3BB174692A40}
{AE3CD639-5DE8-43ED-9CE4-8498548ADD28} = {B5E9B3FC-1304-4A74-B0A9-607282AB2FD0}
+ {FD3207E5-1DE9-4526-9C2A-4C18129992D9} = {2279CD95-5886-4777-B019-E66683CE32F1}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B1F2E0DF-C651-48A3-83E3-3B77D34EC3A2}
diff --git a/Source/Lib/Directory.Build.props b/Source/Lib/Directory.Build.props
index 5855d4c9..49897432 100644
--- a/Source/Lib/Directory.Build.props
+++ b/Source/Lib/Directory.Build.props
@@ -21,22 +21,15 @@
true
..\..\..\..\..\MrPMorris.snk
- true
false
- true
+ true
+ true
true
- NU5118
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/BaseCallbackObject.cs b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/BaseCallbackObject.cs
deleted file mode 100644
index 14ecf205..00000000
--- a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/BaseCallbackObject.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace Fluxor.Blazor.Web.ReduxDevTools.CallbackObjects
-{
- internal class BaseCallbackObject
- where TPayload: BasePayload
- {
-#pragma warning disable IDE1006 // Naming Styles
- public string type { get; set; }
- public TPayload payload { get; set; }
-#pragma warning restore IDE1006 // Naming Styles
- }
-
- internal class BaseCallbackObject : BaseCallbackObject { }
-}
diff --git a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Fluxor.Blazor.Web.ReduxDevTools.csproj b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Fluxor.Blazor.Web.ReduxDevTools.csproj
index 8830c541..fb3f813e 100644
--- a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Fluxor.Blazor.Web.ReduxDevTools.csproj
+++ b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Fluxor.Blazor.Web.ReduxDevTools.csproj
@@ -1,5 +1,6 @@
+ 11
ReduxDevTools for Fluxor Blazor (Web)
Middleware link from a Blazor (Web) Fluxor store to the Redux Dev Tools browser extension for Chrome.
fluxor-blazor-reduxdevtools-small.png
@@ -7,12 +8,20 @@
True
-
- 3.0
-
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/BaseCallbackObject.cs b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/BaseCallbackObject.cs
new file mode 100644
index 00000000..183fa834
--- /dev/null
+++ b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/BaseCallbackObject.cs
@@ -0,0 +1,13 @@
+namespace Fluxor.Blazor.Web.ReduxDevTools.Internal.CallbackObjects
+{
+ public class BaseCallbackObject
+ where TPayload : BasePayload
+ {
+#pragma warning disable IDE1006 // Naming Styles
+ public string type { get; set; }
+ public TPayload payload { get; set; }
+#pragma warning restore IDE1006 // Naming Styles
+ }
+
+ public class BaseCallbackObject : BaseCallbackObject { }
+}
diff --git a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/BasePayload.cs b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/BasePayload.cs
similarity index 59%
rename from Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/BasePayload.cs
rename to Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/BasePayload.cs
index d0464062..ab612d65 100644
--- a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/BasePayload.cs
+++ b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/BasePayload.cs
@@ -1,6 +1,6 @@
-namespace Fluxor.Blazor.Web.ReduxDevTools.CallbackObjects
+namespace Fluxor.Blazor.Web.ReduxDevTools.Internal.CallbackObjects
{
- internal class BasePayload
+ public class BasePayload
{
#pragma warning disable IDE1006 // Naming Styles
public string type { get; set; }
diff --git a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/JumpToStateCallback.cs b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/JumpToStateCallback.cs
similarity index 54%
rename from Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/JumpToStateCallback.cs
rename to Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/JumpToStateCallback.cs
index dd85b873..bb9e4582 100644
--- a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/JumpToStateCallback.cs
+++ b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/JumpToStateCallback.cs
@@ -1,8 +1,8 @@
using System.Dynamic;
-namespace Fluxor.Blazor.Web.ReduxDevTools.CallbackObjects
+namespace Fluxor.Blazor.Web.ReduxDevTools.Internal.CallbackObjects
{
- internal class JumpToStateCallback: BaseCallbackObject
+ public class JumpToStateCallback : BaseCallbackObject
{
#pragma warning disable IDE1006 // Naming Styles
public string state { get; set; }
diff --git a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/JumpToStatePayload.cs b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/JumpToStatePayload.cs
similarity index 60%
rename from Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/JumpToStatePayload.cs
rename to Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/JumpToStatePayload.cs
index 0e712047..7885d348 100644
--- a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/CallbackObjects/JumpToStatePayload.cs
+++ b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/CallbackObjects/JumpToStatePayload.cs
@@ -1,6 +1,6 @@
-namespace Fluxor.Blazor.Web.ReduxDevTools.CallbackObjects
+namespace Fluxor.Blazor.Web.ReduxDevTools.Internal.CallbackObjects
{
- internal class JumpToStatePayload : BasePayload
+ public class JumpToStatePayload : BasePayload
{
#pragma warning disable IDE1006 // Naming Styles
public int index { get; set; }
diff --git a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/ReduxDevToolsInterop.cs b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/ReduxDevToolsInterop.cs
similarity index 84%
rename from Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/ReduxDevToolsInterop.cs
rename to Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/ReduxDevToolsInterop.cs
index 7d430ec9..7408ae04 100644
--- a/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/ReduxDevToolsInterop.cs
+++ b/Source/Lib/Fluxor.Blazor.Web.ReduxDevTools/Internal/ReduxDevToolsInterop.cs
@@ -1,20 +1,33 @@
-using Fluxor.Blazor.Web.ReduxDevTools.CallbackObjects;
+using Fluxor.Blazor.Web.ReduxDevTools.Internal.CallbackObjects;
using Microsoft.JSInterop;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
-namespace Fluxor.Blazor.Web.ReduxDevTools
+namespace Fluxor.Blazor.Web.ReduxDevTools.Internal
{
+ public interface IReduxDevToolsInterop
+ {
+ bool DevToolsBrowserPluginDetected { get; }
+ Func OnJumpToState { get; set; }
+ Func OnCommit { get; set; }
+ ValueTask InitializeAsync(IDictionary state);
+ Task