Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: SubwayNav limited to 25 items #389

Open
datalink0 opened this issue Aug 27, 2023 · 3 comments
Open

[BUG]: SubwayNav limited to 25 items #389

datalink0 opened this issue Aug 27, 2023 · 3 comments
Assignees
Labels
Component: SubwayNav documentation Improvements or additions to documentation

Comments

@datalink0
Copy link

datalink0 commented Aug 27, 2023

Describe the bug
The subway navigation control is limited to 25 items. This bug or limitation is present in sub-steps scenario as well.

To Reproduce
Steps to reproduce the behavior:

  1. Import SubwayNav component
  2. In Items Property create a table with more than 25 steps/items
  3. If item 25+ is non-substep then it will simply not show up in the subway navigation, if item 25+ is in Sub-step, expand substep, and item does not show up in subway navigation.

Expected behavior
Expected behavior is supposed to be Subway navigation showing past 25 items.

Screenshots
As you can see, the expanded Step 9 is only showing until Sub Step 9.6, whereas the Items table has items until Sub Step 9.8

image
image

AB#950

@datalink0 datalink0 added bug Something isn't working ⚠️ needs triage Has not been triaged by the team yet. labels Aug 27, 2023
@denise-msft
Copy link
Member

Thanks for reporting this @datalink0. The image you're showing that renders SubwayNav looks like it's showing 15, but the table has 27. I'll try to reproduce this to validate the actual visual behavior.

How many main steps do you need, and what's the maximum number of sub steps you need to display under one main step?

If you're running into issues because a lot of your main steps need to show sub steps, would it be an option for you to 'collapse' some of the sub-steps of a main step that's not the current main step?

  • Use a collection to control the 'displayed items' that can be a filtered number of the 'total wizard items' collection
  • Filter the 'displayed items' (the sub-steps) based on a 'current step' variable, so you're not displaying more than 25 items at a time.
  • You can easily achieve this using named formulas instead of re-collecting on each page

I will post the way we've done this in the Dataverse Accelerator connector wizard to help visualize this.

@denise-msft denise-msft added Component: SubwayNav and removed ⚠️ needs triage Has not been triaged by the team yet. labels Aug 29, 2023
@datalink0
Copy link
Author

Denise, its only showing 15 because only Step 9 (Parent Step) is expanded. Even if I do all non-parent steps it always seems to still be limited to 25 items.

For the project I'm working on I need almost 50 items, consisting of 9 parent steps, and the rest sub-steps. The maximum number of sub-steps per one main step would be somewhere between 7 to 9 sub-steps.

Your solution via named formulas looks promising. I'll give it try.

Appreciate the tip and look forward to your Dataverse Accelerator connector wizard example.

@RajeevPentyala RajeevPentyala added this to the Backlog milestone Nov 17, 2023
@denise-msft
Copy link
Member

Apologies for the delay here. This is a sample from a first party app we used to conditionally display values based on the current screen and certain component values (e.g., checkbox displayed more values if checked). This expression was stored in the App.Formulas property:

// All subwaynav items
WizardItems = Table(
    {
        Index: 0,
        ItemKey: "connection",
        ItemLabel: DVVirtualPageLoc.connection,
        Screen: ConnectionScreen
    },
    {
        Index: 1,
        ItemKey: "connectionReference",
        ItemLabel: DVVirtualPageLoc.connectionReference,
        Screen: ConnectionReferenceScreen
    },
    {
        Index: 3,
        ItemKey: "action",
        ItemLabel: DVVirtualPageLoc.action,
        Screen: ActionScreen
    },
    {
        Index: 4,
        ItemKey: "parameters",
        ItemLabel: DVVirtualPageLoc.parameters,
        Screen: ParameterScreen
    },
    {
        Index: 5,
        ItemKey: "review",
        ItemLabel: DVVirtualPageLoc.review,
        Screen: ReviewScreen
    }
);

// Current wizard step
CurrentWizardStep = LookUp(
    WizardItems,
    Screen = App.ActiveScreen
).Index;

// Displayed subwaynav steps and ItemState based on CurrentWizardStep
DisplayedWizardItems = AddColumns(
    Filter(
        WizardItems,
        If(
            !ConfigureConnectionReferencesCheckbox.Checked,
            Index <> 1,
            true
        )
    ),
    "ItemState",
    If(
        CurrentWizardStep = ThisRecord.Index || (IsBlank(CurrentWizardStep) && ThisRecord.Index = 0),
        "Current",
        If(
            CurrentWizardStep > ThisRecord.Index,
            "Completed",
            "NotStarted"
        )
    )
);

@denise-msft denise-msft added documentation Improvements or additions to documentation and removed bug Something isn't working labels Nov 20, 2023
@denise-msft denise-msft self-assigned this Nov 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: SubwayNav documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants