Aggiunto componente WebAedificaConfigurator

This commit is contained in:
Annamaria Sassi
2025-08-04 18:43:25 +02:00
parent 5f98697589
commit 49fdb90f16
14 changed files with 130 additions and 1 deletions
@@ -0,0 +1,37 @@
using Microsoft.JSInterop;
namespace WebAedificaConfigurator
{
// This class provides an example of how JavaScript functionality can be wrapped
// in a .NET class for easy consumption. The associated JavaScript module is
// loaded on demand when first needed.
//
// This class can be registered as scoped DI service and then injected into Blazor
// components for use.
public class ExampleJsInterop : IAsyncDisposable
{
private readonly Lazy<Task<IJSObjectReference>> moduleTask;
public ExampleJsInterop(IJSRuntime jsRuntime)
{
moduleTask = new(() => jsRuntime.InvokeAsync<IJSObjectReference>(
"import", "./_content/WebAedificaConfigurator/exampleJsInterop.js").AsTask());
}
public async ValueTask<string> Prompt(string message)
{
var module = await moduleTask.Value;
return await module.InvokeAsync<string>("showPrompt", message);
}
public async ValueTask DisposeAsync()
{
if (moduleTask.IsValueCreated)
{
var module = await moduleTask.Value;
await module.DisposeAsync();
}
}
}
}
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<SupportedPlatform Include="browser" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.18" />
</ItemGroup>
</Project>
@@ -0,0 +1,24 @@
<div class="card text-center">
<div class="card-header" style="background-color: #d5f1f2;">
<ul class="nav nav-tabs card-header-tabs">
<li class="nav-item">
File
</li>
</ul>
</div>
<div class="card-body">
<div class="alert alert-light text-center display-4">
<div class="container">
<div class="row">
<div class="col-6">
Selezionare file
</div>
<div class="col-6">
@*img*@
</div>
</div>
</div>
</div>
</div>
</div>
@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebAedificaConfigurator
{
public partial class WebAedificaMaker
{
}
}
@@ -0,0 +1,6 @@
.my-component {
border: 2px dashed red;
padding: 1em;
margin: 1em 0;
background-image: url('background.png');
}
+1
View File
@@ -0,0 +1 @@
@using Microsoft.AspNetCore.Components.Web
Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

@@ -0,0 +1,6 @@
// This is a JavaScript module that is loaded on demand. It can export any number of
// functions, and may import other JavaScript modules if required.
export function showPrompt(message) {
return prompt(message, 'Type anything here');
}