Giter VIP home page Giter VIP logo

Comments (8)

CD1010 avatar CD1010 commented on May 12, 2024

Condition 3) above is reproducable in Fluxor counter and blazor-fluxor samples. So fluxor does not preseve state between refreshes of browser? Is that by design? I thought it is analogous to session state.

from fluxor.

mrpmorris avatar mrpmorris commented on May 12, 2024

Re #3. That's the way Blazor works. If you do a physical refresh then it creates a new connection to the server and is equivalent to creating a new session.

As for your other problems, it's difficult for me to see what is going on. One thing that struck me as being a bit odd is that you are using two-way binding against what should be read-only state.

Change @bind-Enabled="@state.Value.States[0].Visible" to [email protected][0].Visible and see if that makes any difference.

from fluxor.

mrpmorris avatar mrpmorris commented on May 12, 2024

As I've not heard back I am going to assume this was related to mutable state and two-way binding. If this is not the case then please get back to me and I'll reopen and try to help you to resolve your problem.

from fluxor.

CD1010 avatar CD1010 commented on May 12, 2024

from fluxor.

CD1010 avatar CD1010 commented on May 12, 2024

https://github.com/CD1010/BlazorWizard/tree/StepActivations This is the code i am referring to in this issue.
I now understand the limitations in Blazor regarding item 3 above. I don't much like that, however. I am thinking i need to store state in localstorage also, so it survives refreshes. Something like good old Session behavior is what i am looking for.

As for 1 and 2, I still see that behavior no matter what i try. Is that an issue in fluxor or something i am doing wrong? Thanks. Try hitting "Toggle State" button and you will see state rendered is always one button click behind.

from fluxor.

mrpmorris avatar mrpmorris commented on May 12, 2024

I see it. I will investigate. Thanks!

from fluxor.

mrpmorris avatar mrpmorris commented on May 12, 2024

It is because you are iterating over the steps and showing Step.Enabled and then, after that, you are displaying the steps (which will bind the properties of the steps).

Put this in Wizard Step

protected override void OnParametersSet()
{
	base.OnParametersSet();
	System.Diagnostics.Debug.WriteLine("Set parameters on: " + Name + " Enabled = " + Enabled);
}

And this inside your Wizard.Razor

@{System.Diagnostics.Debug.WriteLine("Rendering wizard");

The output will look like this

All On
States
True
True
True
Set parameters on: One Enabled = True
Set parameters on: Two Enabled = False
Set parameters on: Three Enabled = True
Rendering wizard
Set parameters on: One Enabled = True
Set parameters on: Two Enabled = True
Set parameters on: Three Enabled = True

from fluxor.

mrpmorris avatar mrpmorris commented on May 12, 2024
@foreach (var item in Steps.Select((x, i) => new {  Step = x, Index = i}))
{
	item.Step.SetEnabled(state.Value.States[item.Index].Visible);
	... your code here...
}

Ideally, you should be working from store state.

from fluxor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.