11@page " /badge-tree"
22@using CrystallineSociety .Shared .Dtos .BadgeSystem
33@using Microsoft .AspNetCore .Components .Web
4+ @using CrystallineSociety .Client .Core .Components
45
56<div class =" border rounded-3 position-relative badge-container" >
67 <div class =" accordion accordion-flush" id =" accordionFlushExample" >
910 </form >
1011 @if (Badges == null )
1112 {
12- <div >
13- <div class =" vh-100 d-flex justify-content-center loading-box pt-4" >
14- <div class =" spinner-border text-secondary position-fixed" role =" status" >
15- <span class =" visually-hidden" ></span >
13+ <div >
14+ <div class =" vh-100 d-flex justify-content-center loading-box pt-4" >
15+ <div class =" spinner-border text-secondary position-fixed" role =" status" >
16+ <span class =" visually-hidden" ></span >
17+ </div >
1618 </div >
1719 </div >
18- </div >
1920 }
2021 else
2122 {
22- <div class =" ps-2 vh-100 overflow-auto" >
23- @for ( int i = 1 ; i <= 5 ; i ++ )
23+ <div class =" ps-2 vh-100 overflow-auto" >
24+ @for ( int i = 0 ; i < 5 ; i ++ )
2425 {
25- <ul class =" list-unstyled ps-0 mb-0" >
26- <li class =" mb-1" >
27- <button class =" btn btn-light btn-sm d-flex align-items-center p-0 collapsed customize-spacing" >
28- <span class =" badge-image flex-shrink-0 @arrowClass " ></span >
29- <div class =" btn btn-sm font-weight-bold btn-toggle d-inline-flex align-items-center border-0 ps-1 collapsed flex-grow-1 text-wrap text-start text-break h6 mb-0" @onclick =" ToggleHomeCollapse" aria-expanded =" @isHomeExpanded " data-bs-toggle =" collapse" data-bs-target =" #home-collapse" >
30- Folder @i
31- </div >
32- </button >
33- <div class =" collapse @homeCollapseClass " id =" home-collapse" >
26+ <ul class =" list-unstyled ps-0 mb-0" >
27+ <li class =" mb-1" >
28+ <button class =" btn btn-light btn-sm d-flex align-items-center p-0 collapsed customize-spacing" >
29+ <span class =" badge-image flex-shrink-0 @GetArrowClass(homeCollapseState.ContainsKey(i) && homeCollapseState[i]) " ></span >
30+ <div class =" btn btn-sm font-weight-bold btn-toggle d-inline-flex align-items-center border-0 ps-1 collapsed flex-grow-1 text-wrap text-start text-break h6 mb-0" @onclick =" () => ToggleHomeCollapse(i) " aria-expanded =" @(homeCollapseState.ContainsKey(i) && homeCollapseState[i]) " data-bs-toggle =" collapse" data-bs-target =" #home-collapse-@i " >
31+ Folder @( i + 1 )
32+ </div >
33+ </button >
34+ <div class =" collapse @(homeCollapseState.ContainsKey(i) && homeCollapseState[i] ? " show " : " " ) " id =" home-collapse-@i " >
3435 @if (Badges != null )
3536 {
36- <ul class =" btn-toggle-nav list-unstyled fw-normal pb-1 ps-3" id =" home-collapse" >
37- @foreach ( var badge in Badges )
37+ <ul class =" btn-toggle-nav list-unstyled fw-normal pb-1 ps-3" id =" home-collapse-@i " >
38+ @for ( int badgeIndex = 0 ; badgeIndex < Badges . Count ; badgeIndex ++ )
3839 {
39- <li >
40- <button class =" btn btn-light btn-sm font-weight-bold btn-toggle d-inline-flex align-items-center ps-1 collapsed text-start text-break customize-spacing @(ActiveBadgeUrl == badge.Url ? " active " : " " )" @onclick =" () => OnBadgeClick(badge)" >
40+ var badge = Badges [badgeIndex ];
41+ <li >
42+ <button class =" btn btn-light btn-sm font-weight-bold btn-toggle d-inline-flex align-items-center ps-1 collapsed text-start text-break customize-spacing @(ActiveBadgeUrl == badge.Url ? " active " : " " )" @onclick =" () => OnBadgeClick(badge)" >
4143 @badge.Title
42- </button >
43- </li >
44-
44+ </button >
45+ </li >
4546 // Temp code for SubFolder name
46- @for ( int j = 1 ; j <= 3 ; j ++ )
47+ @for ( int j = 0 ; j < 3 ; j ++ )
4748 {
48- <ul class =" list-unstyled ps-0 mb-0" >
49- <li >
50- <button class =" btn btn-light btn-sm d-flex align-items-center p-0 customize-spacing" >
51- <span class =" badge-image flex-shrink-0 @subFolderArrowClass " ></span >
52- <div class =" btn btn-sm font-weight-bold btn-toggle d-inline-flex align-items-center border-0 ps-1 collapsed flex-grow-1 text-wrap text-start text-break h6 mb-0" @onclick =" ToggleSubFolder" aria-expanded =" @isSubFolderExpanded " >
53- SubFolder @j
54- </div >
55- </button >
56- <div class =" collapse @subFolderCollapseClass " id =" home -collapse" >
49+ <ul class =" list-unstyled ps-0 mb-0" >
50+ <li >
51+ <button class =" btn btn-light btn-sm d-flex align-items-center p-0 customize-spacing" >
52+ <span class =" badge-image flex-shrink-0 @GetArrowClass(subFolderCollapseState.ContainsKey((i, badgeIndex, j)) && subFolderCollapseState[(i, badgeIndex, j)]) " ></span >
53+ <div class =" btn btn-sm font-weight-bold btn-toggle d-inline-flex align-items-center border-0 ps-1 collapsed flex-grow-1 text-wrap text-start text-break h6 mb-0" @onclick =" () => ToggleSubFolder(i, badgeIndex, j) " aria-expanded =" @(subFolderCollapseState.ContainsKey((i, badgeIndex, j)) && subFolderCollapseState[(i, badgeIndex, j)]) " data-bs-toggle = " collapse " data-bs-target = " #subfolder-collapse-@i-@badgeIndex-@j " >
54+ SubFolder @( j + 1 )
55+ </div >
56+ </button >
57+ <div class =" collapse @(subFolderCollapseState.ContainsKey((i, badgeIndex, j)) && subFolderCollapseState[(i, badgeIndex, j)] ? " show " : " " ) " id =" subfolder -collapse-@i-@badgeIndex-@j " >
5758 @if (Badges != null )
5859 {
59- <ul class =" btn-toggle-nav list-unstyled fw-normal ps-3" >
60- @for( int k = 1 ; k <= 2 ; k ++ )
60+ <ul class =" btn-toggle-nav list-unstyled fw-normal ps-3" >
61+ @for ( int k = 0 ; k < 2 ; k ++ )
6162 {
62- <li >
63- <button class =" btn btn-light btn-sm font-weight-bold btn-toggle d-inline-flex align-items-center ps-1 collapsed text-start text-break customize-spacing" >
64- sub @k
65- </button >
66- </li >
63+ <li >
64+ <button class =" btn btn-light btn-sm font-weight-bold btn-toggle d-inline-flex align-items-center ps-1 collapsed text-start text-break customize-spacing" >
65+ sub @( k + 1 )
66+ </button >
67+ </li >
6768 }
68- </ul >
69+ </ul >
6970 }
70- </div >
71- </li >
72- </ul >
71+ </div >
72+ </li >
73+ </ul >
7374 }
7475 }
75- </ul >
76+ </ul >
7677 }
77- </div >
78- </li >
79- </ul >
78+ </div >
79+ </li >
80+ </ul >
8081 }
81- </div >
82+ </div >
8283 }
8384 </div >
84- </div >
85+ </div >
0 commit comments