Giter VIP home page Giter VIP logo

Comments (5)

GeertvanHorrik avatar GeertvanHorrik commented on June 25, 2024 1

The stepbar is "just a bar representing some state". Note that it's not for managing navigation state, that is done by the wizard (and yes, these items you mention will be possible).

The wizard page has an IsVisited page so this is taken care off. The step bar is similar to a progress bar without any actual logic (e.g. the progress bar is not responsible for actually downloading anything).

from orc.controls.

GeertvanHorrik avatar GeertvanHorrik commented on June 25, 2024

It's important not to remove the breadcrumb in Orc.Wizard just yet, we need to plan the removal carefully.

from orc.controls.

Orcomp avatar Orcomp commented on June 25, 2024

Just some random thoughts that may or may not be applicable.

Knowing whether a step has been "visited" or not is important.

This would allow us to write some logic along the lines of: You can't click on step 5 unless step 2 and 3 have been visited.

Actually, we might need another state of "completed". It is one thing to "visit" a step, and another to "complete" it satisfactorily.

It also means that we can prevent users from re-visiting (or visiting for the first time) earlier steps if they have already completed a subsequent step.

For example we have 5 steps. We allow them to visit and complete step 3 first. But once that is done we can add logic in our apps that a user can no longer visit steps 1 and 2.

All I am trying to do is figure out the minimum "statuses" we need in the API to enable us to write all the logic we need in our apps.

In summary I think "IsVisited" and "IsCompleted" are important. ("IsClickable" should be taken care of by the command)

We can then use different icons for different step states.

from orc.controls.

kote2ster avatar kote2ster commented on June 25, 2024

Hello, I am almost done with this task, before the PR I would like to discuss some things about this control.

I have created a HorizontalNavigationStepBarView, and a SideNavigationStepBarView with VMs (HorizontalNavigationStepBarViewModel, SideNavigationStepBarViewModel) in the Orc.Controls.Example project to demonstrate the control's usage. In these there is a StepBar control and two buttons for manual navigation. I have also created an example AgeExampleItem model, which can be registered as an item for the StepBar control. New items can be easily created with the StepBarItemBase model and IStepBarItem interface (like in the wizard project). I don't really know if this is the right way for doing this.

The StepBar control works like the one in the Wizard project, it has StepBarItems with orientation support. Based on the orientation some layout control needs to be changed in the StepBarItemViewModel, this command is called on the Loaded event. The round "ellipse" visual items can now be replaced with an uri which points to a local file. I'm also not sure if this is what you were looking for. 😃

Should I create a PR for concretising things?

Thanks.

from orc.controls.

GeertvanHorrik avatar GeertvanHorrik commented on June 25, 2024

We don't want to work with local files, etc. I'll review the PR and let you know.

from orc.controls.

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.