Skip to content

Commit 13bfb16

Browse files
WIP, fixed menu
1 parent 5945318 commit 13bfb16

File tree

7 files changed

+38
-80
lines changed

7 files changed

+38
-80
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Welcome to EPiServer.DeveloperTools!
2+
3+
USE AT YOUR OWN RISK!

DeveloperTools/modules/_protected/EPiServer.DeveloperTools/Views/Shared/_ShellLayout.cshtml renamed to DeveloperTools/EPiServer.DeveloperTools.Views/Views/Shared/_ShellLayout.cshtml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@
1010
<title>EPiServer.DeveloperTools</title>
1111
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
1212
<style>
13+
body {
14+
margin: 0;
15+
}
16+
17+
input[type='text'] {
18+
border: 0 !important;
19+
background: none !important;
20+
}
21+
1322
iframe {
1423
height: calc(100vh - 46px);
1524
width: 100vw;
@@ -29,7 +38,7 @@
2938
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
3039
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
3140
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
32-
@ClientResources.RenderResources("admin", new[] { ClientResourceType.Script })
41+
@ClientResources.RenderResources("developertools", new[] { ClientResourceType.Script })
3342
@RenderSection("AdditionalScripts", false)
3443
</body>
3544
</html>

DeveloperTools/modules/_protected/EPiServer.DeveloperTools/Views/_ViewStart.cshtml renamed to DeveloperTools/EPiServer.DeveloperTools.Views/Views/_ViewStart.cshtml

File renamed without changes.

DeveloperTools/EPiServer.DeveloperTools.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@
4444
</None>
4545
</ItemGroup>
4646

47-
<ItemGroup>
48-
<Folder Include="EPiServer.DeveloperTools.Views\" />
49-
</ItemGroup>
50-
5147
<PropertyGroup>
5248
<PostBuildEvent>powershell.exe -noexit -file "$(ProjectDir)copy-to-sandbox.ps1"</PostBuildEvent>
5349
</PropertyGroup>

DeveloperTools/Infrastructure/MenuProvider.cs

Lines changed: 21 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections.Generic;
2+
using System.IO;
23
using DeveloperTools;
34
using EPiServer.Shell;
45
using EPiServer.Shell.Modules;
@@ -9,99 +10,46 @@ namespace EPiServer.DeveloperTools.Infrastructure;
910
[MenuProvider]
1011
public class MenuProvider : IMenuProvider
1112
{
12-
const string GlobalMenuTitle = "Developer Tools";
13-
14-
const string TimeMetersTitle = "Startup Perf";
15-
const string TimeMetersPath = "StartupPerf";
16-
17-
const string TemplatesTitle = "Templates";
18-
const string TemplatesPath = "global/DeveloperTools/Templates";
19-
20-
const string IocTitle = "Container";
21-
const string IocPath = "global/DeveloperTools/IOC";
22-
23-
const string LoadedAssembliesTitle = "Loaded Assemblies";
24-
const string LoadedAssembliesPath = "global/DeveloperTools/LoadedAssemblies";
25-
26-
const string RevertToDefaultTitle = "Revert Content Types";
27-
const string RevertToDefaultPath = "global/DeveloperTools/RevertToDefault";
28-
29-
const string ContentTypeAnalyzerTitle = "Content Type Analyzer";
30-
const string ContentTypeAnalyzerPath = "global/DeveloperTools/ContentTypeAnalyzer";
31-
32-
const string LogViewerTitle = "Log Viewer";
33-
const string LogViewerPath = "global/DeveloperTools/LogViewer";
34-
35-
const string MemoryDumpTitle = "Memory Dump";
36-
const string MemoryDumpPath = "global/DeveloperTools/Memory Dump";
37-
38-
const string RemoteEventTitle = "Remote Event";
39-
const string RemoteEventPath = "global/DeveloperTools/Remote Event";
40-
41-
const string RoutesTitle = "Routes";
42-
const string RoutesPath = "global/DeveloperTools/Routes";
43-
44-
const string ViewLocationsTitle = "View Locations";
45-
const string ViewLocationsPath = "global/DeveloperTools/ViewLocations";
46-
47-
const string ModuleDependenciesTitle = "Module Dependencies";
48-
const string ModuleDependenciesPath = "global/DeveloperTools/ModuleDependencies";
49-
50-
const string LocalObjectCacheTitle = "Local Object Cache";
51-
const string LocalObjectCachePath = "global/DeveloperTools/LocalObjectCache";
13+
private const string MenuPath = "/cms/DeveloperTools";
5214

5315
public IEnumerable<MenuItem> GetMenuItems()
5416
{
5517
// Create the top menu section
56-
var developerSection = new UrlMenuItem(GlobalMenuTitle, MenuPaths.Global + "/cms/DeveloperTools", Paths.ToResource(GetType(), "default"))
18+
var developerSection = new UrlMenuItem("Developer Tools", MenuPaths.Global + MenuPath, Paths.ToResource(GetType(), "default"))
5719
{
5820
SortIndex = 100,
5921
AuthorizationPolicy = Constants.PolicyName
6022
};
6123

62-
var timeMeters = CreateUrlMenuItem(TimeMetersTitle, TimeMetersPath, "TimeMeters");
63-
64-
//var templates = CreateUrlMenuItem(TemplatesTitle, TemplatesPath, "Templates");
65-
//var ioc = CreateUrlMenuItem(IocTitle, IocPath, "IOC");
66-
//var loadedAssemblies = CreateUrlMenuItem(LoadedAssembliesTitle, LoadedAssembliesPath, "LoadedAssemblies");
67-
//var revertToDefault = CreateUrlMenuItem(RevertToDefaultTitle, RevertToDefaultPath, "RevertToDefault");
68-
//var contentTypeAnalyzer = CreateUrlMenuItem(ContentTypeAnalyzerTitle, ContentTypeAnalyzerPath, "ContentTypeAnalyzer");
69-
//var logViewer = CreateUrlMenuItem(LogViewerTitle, LogViewerPath, "LogViewer");
70-
//var memoryDumperViewer = CreateUrlMenuItem(MemoryDumpTitle, MemoryDumpPath, "MemoryDump");
71-
//var remoteEventViewer = CreateUrlMenuItem(RemoteEventTitle, RemoteEventPath, "RemoteEvent");
72-
//var routes = CreateUrlMenuItem(RoutesTitle, RoutesPath, "Routes");
73-
//var viewLocations = CreateUrlMenuItem(ViewLocationsTitle, ViewLocationsPath, "ViewEngineLocations");
74-
//var moduleDependencies = CreateUrlMenuItem(ModuleDependenciesTitle, ModuleDependenciesPath, "ModuleDependencies");
75-
//var localObjectCache = CreateUrlMenuItem(LocalObjectCacheTitle, LocalObjectCachePath, "LocalObjectCache");
76-
7724
return new MenuItem[]
7825
{
7926
developerSection,
80-
timeMeters,
81-
//ioc,
82-
//loadedAssemblies,
83-
//revertToDefault,
84-
//contentTypeAnalyzer,
85-
//templates,
86-
//logViewer,
87-
//memoryDumperViewer,
88-
//remoteEventViewer,
89-
//routes,
90-
//viewLocations,
91-
//moduleDependencies,
92-
//localObjectCache
27+
CreateUrlMenuItem("Welcome", "default", 10),
28+
CreateUrlMenuItem("Startup Perf", "StartupPerf", 20),
29+
CreateUrlMenuItem("IoC", "IOC", 30),
30+
CreateUrlMenuItem("Loaded Assemblies", "LoadedAssemblies", 40),
31+
CreateUrlMenuItem("Revert Content Types", "RevertToDefault", 50),
32+
CreateUrlMenuItem("Content Type Analyzer", "ContentTypeAnalyzer", 60),
33+
CreateUrlMenuItem("Templates", "Templates", 70),
34+
CreateUrlMenuItem("Log Viewer", "LogViewer", 80),
35+
CreateUrlMenuItem("Memory Dump", "MemoryDump", 90),
36+
CreateUrlMenuItem("Remote Events", "RemoteEvent", 100),
37+
CreateUrlMenuItem("Routes", "Routes", 110),
38+
CreateUrlMenuItem("View Locations", "ViewLocations", 120),
39+
CreateUrlMenuItem("Module Dependencies", "ModuleDependencies", 130),
40+
CreateUrlMenuItem("Local Object Cache", "LocalObjectCache", 140)
9341
};
9442
}
9543

96-
protected virtual UrlMenuItem CreateUrlMenuItem(string title, string logicalPath, string resourcePath)
44+
protected virtual UrlMenuItem CreateUrlMenuItem(string title, string path, int index)
9745
{
9846
var link = new UrlMenuItem(
9947
title,
100-
MenuPaths.Global + "/cms/DeveloperTools/" + logicalPath,
101-
Paths.ToResource(GetType(), "default#/" + resourcePath))
48+
MenuPaths.Global + MenuPath + "/" + path,
49+
Paths.ToResource(GetType(), "/" + path))
10250
{
10351
AuthorizationPolicy = Constants.PolicyName,
104-
SortIndex = 10,
52+
SortIndex = index,
10553
Alignment = MenuItemAlignment.Left
10654
};
10755

DeveloperTools/modules/_protected/EPiServer.DeveloperTools/Views/Default/Index.cshtml

Lines changed: 0 additions & 1 deletion
This file was deleted.

tests/DeveloperTools.AlloySandbox/Controllers/StartPageController.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ namespace DeveloperTools.AlloySandbox.Controllers;
99

1010
public class StartPageController : PageControllerBase<StartPage>
1111
{
12-
public StartPageController(MenuAssembler assembler) { }
12+
public StartPageController(MenuAssembler assembler)
13+
{
14+
var menu = assembler.GetMenuHierarchy("/global", 100);
15+
}
1316

1417
public IActionResult Index(StartPage currentPage)
1518
{

0 commit comments

Comments
 (0)