Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @{
- string GlyphionFolderIcon = "glyphicon glyphicon-folder-open";
- }
- <div class="row">
- <div class="col-sm-2">
- <a class="btn"
- role="button"
- data-toggle="collapse"
- href="#@Model.Id"
- aria-expanded="false"
- aria-controls="@Model.Id">
- <span class="@GlyphionFolderIcon"></span>
- </a>
- </div>
- <div class="col-sm-5">@Model.Id</div>
- <div class="col-sm-5">@Model.Name</div>
- @{
- string GlyphionModelIcon = "glyphicon glyphicon-paperclip";
- }
- <div class="row">
- <div class="col-sm-2">
- <a class="btn"
- role="button"
- href="@webUrl@Model.Url"
- target="_blank">
- <span class="@GlyphionModelIcon"></span>
- </a>
- </div>
- <div class="col-sm-5">@Model.Id</div>
- <div class="col-sm-5">@Model.Name</div>
- </div>
- @foreach (var parentFolder in Model)
- {
- Stack<Folder> folderStack = new Stack<Folder>();
- folderStack.Push(parentFolder);
- var currentFolder = folderStack.Pop();
- int dummyCounter = 1;
- //Parent folder
- @Html.Partial("_Folder", parentFolder);
- <div class="collapse" id="@currentFolder.Id">
- @if (currentFolder.FoldersContained != 0)
- {
- do
- {
- //Prevents a copy of the parent folder
- //otherwise, this display nested folders
- if (dummyCounter != 1)
- {
- @Html.Partial("_Folder", currentFolder);
- }
- <div class="collapse" id="@currentFolder.Id">
- @if (currentFolder.FoldersContained > 0)
- {
- for (int i = currentFolder.FoldersContained; i > 0; i--)
- {
- //Pushes all nested directories into my stack
- //in reverse inorder to display the top directory
- folderStack.Push(currentFolder.Folders[i - 1]);
- dummyCounter++;
- }
- }
- @if (currentFolder.FilesContained != 0)
- {
- // Should they contain any files, display them
- foreach (var file in currentFolder.Files)
- {
- @Html.Partial("_File", file);
- }
- }
- </div>
- //Ends the while loop
- if (folderStack.Count == 0)
- {
- dummyCounter = 0;
- }
- //Prepares the next nested folder object
- if (folderStack.Count != 0)
- {
- currentFolder = folderStack.Pop();
- }
- // I make use of a dummy counter inorder to break the loop
- // should there no longer be any nested directories and files
- // left to display
- } while (dummyCounter != 0);
- }
- <!-- //Finally, display all files in the parent folder, should there be any-->
- @if (parentFolder.FilesContained != 0)
- {
- foreach (var file in parentFolder.Files)
- {
- @Html.Partial("_File", file);
- }
- }
- </div>
- }
Add Comment
Please, Sign In to add comment