Skip to content

Commit ec8f736

Browse files
authored
Merge pull request #1919 from aws/asmarp/lambda-function-dropdown
feat: add multiple function support
2 parents a3b3f85 + 95b992e commit ec8f736

File tree

13 files changed

+648
-484
lines changed

13 files changed

+648
-484
lines changed

Tools/LambdaTestTool-v2/src/Amazon.Lambda.TestTool/Amazon.Lambda.TestTool.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
<PackageReference Include="Spectre.Console" Version="0.49.1" />
1919
<PackageReference Include="Spectre.Console.Cli" Version="0.49.1" />
2020
<PackageReference Include="Amazon.Lambda.APIGatewayEvents" Version="2.7.1" />
21-
<PackageReference Include="Blazored.Modal" Version="7.3.1" />
2221
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.11" />
2322
<PackageReference Include="BlazorMonaco" Version="3.2.0" />
2423
</ItemGroup>

Tools/LambdaTestTool-v2/src/Amazon.Lambda.TestTool/Components/Layout/MainLayout.razor

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,26 @@
3737
</ul>
3838

3939
<ul class="navbar-nav flex-row flex-wrap ms-md-auto">
40+
<li class="nav-item col-6 col-lg-auto">
41+
<a class="nav-link py-2 px-0 px-lg-2" href="@Constants.LinkGithubTestTool" target="_blank" rel="noopener">
42+
<i class="bi bi-github"></i>
43+
<small class="d-lg-none ms-2">GitHub</small>
44+
</a>
45+
</li>
46+
<li class="nav-item py-2 py-lg-1 col-12 col-lg-auto">
47+
<div class="vr d-none d-lg-flex h-100 mx-lg-2"></div>
48+
<hr class="d-lg-none my-2 text-white-50">
49+
</li>
4050
<li class="nav-item dropdown">
4151
<button class="nav-link py-2 px-0 px-lg-2 dropdown-toggle d-flex align-items-center show" id="bd-theme" type="button" aria-expanded="true" data-bs-toggle="dropdown" data-bs-display="static" aria-label="Toggle theme (light)">
42-
<i class="bi bi-palette-fill"></i>
52+
@if (ThemeService.CurrentTheme.Equals("dark"))
53+
{
54+
<i class="bi bi-moon-stars-fill"></i>
55+
}
56+
else
57+
{
58+
<i class="bi bi-sun-fill"></i>
59+
}
4360
<span class="d-lg-none ms-2" id="bd-theme-text">Toggle theme</span>
4461
</button>
4562
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="bd-theme-text" data-bs-popper="static">
@@ -61,12 +78,9 @@
6178
</div>
6279
</div>
6380
</nav>
64-
<div class="page flex-grow-1">
65-
<main>
66-
<article class="content px-4">
67-
@Body
68-
</article>
69-
</main>
81+
82+
<div class="container-fluid content d-flex flex-column flex-grow-1 px-3">
83+
@Body
7084
</div>
7185

7286
<footer class="footer text-muted p-3 mt-4">

Tools/LambdaTestTool-v2/src/Amazon.Lambda.TestTool/Components/Pages/ConfirmDialog.razor

Lines changed: 0 additions & 28 deletions
This file was deleted.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
@using Amazon.Lambda.TestTool.Models
2+
3+
<div class="modal fade" id="eventModal" tabindex="-1" aria-hidden="true">
4+
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
5+
<div class="modal-content">
6+
<div class="modal-header">
7+
<div class="d-flex align-items-center gap-2">
8+
<div><b>Request ID:</b> @_eventContainer?.AwsRequestId</div>
9+
<span class="badge @GetStatusBadgeStyle(_eventContainer?.EventStatus)">@_eventContainer?.EventStatus</span>
10+
</div>
11+
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
12+
</div>
13+
<div class="modal-body">
14+
<nav class="navbar navbar-expand-md bd-navbar pt-0">
15+
<ul class="navbar-nav nav-underline nav-fill flex-row" id="eventsModalTab" role="tablist">
16+
<li class="nav-item" role="presentation">
17+
<button class="nav-link active" id="active-tab" data-bs-toggle="tab" data-bs-target="#request-tab-pane" type="button" role="tab" aria-controls="request-tab-pane" aria-selected="true" @onclick="ShowRequestTab">
18+
<i class="bi bi-file-earmark"></i>
19+
Request
20+
</button>
21+
</li>
22+
<li class="nav-item" role="presentation">
23+
<button class="nav-link" id="queued-tab" data-bs-toggle="tab" data-bs-target="#response-tab-pane" type="button" role="tab" aria-controls="response-tab-pane" aria-selected="false" @onclick="ShowResponseTab">
24+
<i class="bi bi-file-earmark-fill"></i>
25+
Response
26+
</button>
27+
</li>
28+
</ul>
29+
</nav>
30+
<div class="tab-content d-flex flex-column flex-grow-1 flex-fill" id="eventsModalTabContent">
31+
<div class="tab-pane fade flex-fill active show" id="request-tab-pane" role="tabpanel" aria-labelledby="request-tab" tabindex="0">
32+
<StandaloneCodeEditor Id="request-body" @ref="_requestEditor" ConstructionOptions="EditorConstructionOptions" CssClass="monaco-modal-editor rounded-4 overflow-hidden border"/>
33+
</div>
34+
<div class="tab-pane fade flex-fill flex-column gap-2" id="response-tab-pane" role="tabpanel" aria-labelledby="response-tab" tabindex="1">
35+
<div class="flex-grow-1">
36+
<div class="d-flex bg-body-tertiary p-2 align-items-start gap-2 rounded-4 rounded-bottom-0 border border-bottom-0">
37+
<div class="d-flex flex-column gap-2">
38+
<div><b>Last Updated:</b> @_eventContainer?.LastUpdated</div>
39+
@if (_eventContainer?.EventStatus == EventContainer.Status.Failure)
40+
{
41+
<div><b>Error Type:</b> @_eventContainer?.ErrorType</div>
42+
}
43+
</div>
44+
</div>
45+
@if (_eventContainer?.EventStatus == EventContainer.Status.Failure)
46+
{
47+
<StandaloneCodeEditor Id="response-error-body" @ref="_responseErrorEditor" ConstructionOptions="EditorConstructionOptions" CssClass="monaco-editor-container monaco-modal-editor rounded-4 rounded-top-0 border border-top-0 overflow-hidden"/>
48+
}
49+
else
50+
{
51+
<StandaloneCodeEditor Id="response-body" @ref="_responseEditor" ConstructionOptions="EditorConstructionOptions" CssClass="monaco-editor-container monaco-modal-editor rounded-4 rounded-top-0 border border-top-0 overflow-hidden"/>
52+
}
53+
</div>
54+
</div>
55+
</div>
56+
</div>
57+
</div>
58+
</div>
59+
</div>
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
using Amazon.Lambda.TestTool.Models;
5+
using Amazon.Lambda.TestTool.Services;
6+
using BlazorMonaco.Editor;
7+
using Microsoft.AspNetCore.Components;
8+
9+
namespace Amazon.Lambda.TestTool.Components.Pages;
10+
11+
public partial class EventDialog : ComponentBase
12+
{
13+
[Inject] public required IThemeService ThemeService { get; set; }
14+
15+
private EventContainer? _eventContainer;
16+
private StandaloneCodeEditor? _requestEditor;
17+
private StandaloneCodeEditor? _responseErrorEditor;
18+
private StandaloneCodeEditor? _responseEditor;
19+
20+
public void ShowDialog(EventContainer eventContainer)
21+
{
22+
_eventContainer = eventContainer;
23+
_requestEditor?.SetValue(_eventContainer.EventJson);
24+
_responseErrorEditor?.SetValue(_eventContainer.ErrorResponse);
25+
_responseEditor?.SetValue(_eventContainer.Response);
26+
StateHasChanged();
27+
}
28+
29+
private void ShowRequestTab()
30+
{
31+
_requestEditor?.SetValue(_eventContainer?.EventJson);
32+
StateHasChanged();
33+
}
34+
35+
private void ShowResponseTab()
36+
{
37+
_responseErrorEditor?.SetValue(_eventContainer?.ErrorResponse);
38+
_responseEditor?.SetValue(_eventContainer?.Response);
39+
StateHasChanged();
40+
}
41+
42+
private string GetStatusBadgeStyle(EventContainer.Status? status) => status switch
43+
{
44+
EventContainer.Status.Success => "text-bg-success",
45+
EventContainer.Status.Failure => "text-bg-danger",
46+
_ => "text-bg-secondary"
47+
};
48+
49+
private StandaloneEditorConstructionOptions EditorConstructionOptions(StandaloneCodeEditor editor)
50+
{
51+
return new StandaloneEditorConstructionOptions
52+
{
53+
Language = "json",
54+
GlyphMargin = false,
55+
Theme = ThemeService.CurrentTheme.Equals("dark") ? "vs-dark" : "vs",
56+
FontSize = 12,
57+
AutomaticLayout = true,
58+
ScrollBeyondLastLine = false,
59+
ReadOnly = true,
60+
Minimap = new EditorMinimapOptions
61+
{
62+
Enabled = false
63+
}
64+
};
65+
}
66+
}

0 commit comments

Comments
 (0)