It looks like the conditional logic system in Axure 7 Beta can theoretically support nested conditional logic, but I can’t seem to be able to get an if statement to indent. Am I doing something wrong, or is this feature still in progress? Here’s a screenshot:
What I’m attempting to do is create a fully-automated breadcrumb system that the community can use that supports multiple levels just with a bit of page naming convention magic. Here’s how the sitemap would look:
1.0.0 Dashboard Summary1.1.0 Item Detail
[INDENT=2]1.1.1 Some Widget Detail
1.1.2 Another Widget Detail[/INDENT]
1.2.0 Another Item Details
2.0.0 Visit Status
Then, I would have one Dynamic Panel for L1, L2, and L3, each containing a state for each possible page at a given level regardless of who its parent is. Then, nested conditional logic handles building the breadcrumb one level at a time as follows:
If [[PageName.chartAt(0)]]=1 (We’re at least at L1 - the Dashboard)set BreadcrumbDynamicPanelL1 to state 1 (Set L1 DP to show “Dashboard”, and drill in further)
if [[PageName.charAt(2]]=0 (We’re at the root of L1, so stop)
[INDENT=2]end[/INDENT]
else if [[PageName.chartAt(2)=1 (We’re at L2 of Dashboard and into Sub-level 1)
[INDENT=2]set BreadcrumbDynamicPanelL2 to state 1 (Set L2 DP to show “Item Detail”, and drill in further)
If [[PageName.charAt(4]]=0 (We’re at the root of L2, so stop)[/INDENT]
[INDENT=3]end[/INDENT]
[INDENT=2]else if [[PageName.charAt(4]]=1 (We’re at L3 under Dashbord Sub-level 1)[/INDENT]
[INDENT=3]set BreadcrumbDynamicPanelL3 to state 1 (Set L3 DP to show “Some Widget Detail” and stop)
end[/INDENT]
[INDENT=2]else if [[PageName.charAt(4]]=2 (We’re at L3 under Dashbord Sub-level 1)set BreadcrumbDynamicPanelL3 to state 2 (Set L3 DP to show “Another Widget Detail” and stop)
end
[/INDENT]
else if [[PageName.chartAt(2)=2 (We’re at L2 of Dashboard and into Sub-level 2)
[INDENT=2]set BreadcrumbDynamicPanelL2 to state 1 (Set L2 DP to show “Item Detail”, and drill in further)
If [[PageName.charAt(4]]=0 (We’re at the root of L2, so stop)[/INDENT]
[INDENT=3]end[/INDENT]
[INDENT=2]else if [[PageName.charAt(4]]=1 (We’re at L3 under Dashbord Sub-level 2)[/INDENT]
[INDENT=3]set BreadcrumbDynamicPanelL3 to state 1 (Set L3 DP to show “Some Widget Detail” and stop)
end[/INDENT]
[INDENT=2]else if [[PageName.charAt(4]]=2 (We’re at L3 under Dashbord Sub-level 2)set BreadcrumbDynamicPanelL3 to state 2 (Set L3 DP to show “Another Widget Detail” and stop)
end
[/INDENT]
else if [[PageName.chartAt(0)]]=2 (We’re at least at L1 - Visit Status)
… continues with basically the same pattern from above for each L1 page …
So, using nested conditional logic would allow total automation of the breadcrumb setting rules on a per-level basis, and be pretty much completely automated. The key to all of this is being able to have one set of if’s that are only reached if its parent ifs also pass.
Thoughts?