diff --git a/zero.Web/App/Components/Forms/form.vue b/zero.Web/App/Components/Forms/form.vue
index ee3dabdc..4e7cac8a 100644
--- a/zero.Web/App/Components/Forms/form.vue
+++ b/zero.Web/App/Components/Forms/form.vue
@@ -1,7 +1,9 @@
@@ -254,4 +256,41 @@
{
min-height: 100%;
}
+
+ .ui-form-loading
+ {
+ display: flex;
+ width: 100%;
+ height: 100vh;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .ui-form-loading-progress
+ {
+ width: 32px;
+ height: 32px;
+ z-index: 2;
+ border-radius: 40px;
+ border: 2px solid var(--color-bg-mid);
+ border-left-color: var(--color-fg);
+ opacity: 1;
+ will-change: transform;
+ animation: rotating .5s linear infinite;
+ transition: opacity .25s ease;
+ }
+
+ @keyframes rotating
+ {
+ from
+ {
+ -webkit-transform: rotate(0);
+ transform: rotate(0)
+ }
+ to
+ {
+ -webkit-transform: rotate(1turn);
+ transform: rotate(1turn)
+ }
+ }
\ No newline at end of file
diff --git a/zero.Web/Controllers/BackofficeController.cs b/zero.Web/Controllers/BackofficeController.cs
index e6c9d602..7007354f 100644
--- a/zero.Web/Controllers/BackofficeController.cs
+++ b/zero.Web/Controllers/BackofficeController.cs
@@ -1,6 +1,8 @@
using Microsoft.AspNetCore.Mvc;
+using System.Threading.Tasks;
using zero.Core;
using zero.Core.Identity;
+using zero.Web.Mapper;
namespace zero.Web.Controllers
{
@@ -9,10 +11,30 @@ namespace zero.Web.Controllers
{
protected IZeroConfiguration Configuration { get; set; }
+ protected IMapper Mapper { get; set; }
+
+
+ public BackofficeController(IZeroConfiguration config, IMapper mapper)
+ {
+ Configuration = config;
+ Mapper = mapper;
+ }
+
public BackofficeController(IZeroConfiguration config)
{
Configuration = config;
}
+
+
+ protected IActionResult Json(T model) where TTarget : class, new()
+ {
+ if (model == null)
+ {
+ return new StatusCodeResult(404);
+ }
+
+ return Json(Mapper.Map(model));
+ }
}
}
diff --git a/zero.Web/Controllers/UsersController.cs b/zero.Web/Controllers/UsersController.cs
index e99c4aea..7d9968b7 100644
--- a/zero.Web/Controllers/UsersController.cs
+++ b/zero.Web/Controllers/UsersController.cs
@@ -14,12 +14,9 @@ namespace zero.Web.Controllers
{
private IUserApi Api { get; set; }
- private IMapper Mapper { get; set; }
-
- public UsersController(IZeroConfiguration config, IUserApi api, IMapper mapper) : base(config)
+ public UsersController(IZeroConfiguration config, IUserApi api, IMapper mapper) : base(config, mapper)
{
Api = api;
- Mapper = mapper;
}
@@ -28,8 +25,7 @@ namespace zero.Web.Controllers
///
public async Task GetById([FromQuery] string id)
{
- await Task.Delay(500);
- return Json(Mapper.Map(await Api.GetUserById(id)));
+ return Json(await Api.GetUserById(id));
}