diff --git a/zero.Core/Api/PagesApi.cs b/zero.Core/Api/PagesApi.cs
index 52c7e49f..93611ab6 100644
--- a/zero.Core/Api/PagesApi.cs
+++ b/zero.Core/Api/PagesApi.cs
@@ -26,6 +26,7 @@ namespace zero.Core.Api
///
public async Task GetById(string id)
{
+ var res = await GetById(id); // this works
return await GetById(id);
}
diff --git a/zero.Debug/Renderers/page.redirect.js b/zero.Debug/Renderers/page.redirect.js
new file mode 100644
index 00000000..5218fe4a
--- /dev/null
+++ b/zero.Debug/Renderers/page.redirect.js
@@ -0,0 +1,13 @@
+
+export default {
+ alias: 'page.redirect',
+
+ fields: [
+ {
+ field: 'link',
+ display: 'text',
+ label: 'Link',
+ required: true
+ },
+ ]
+};
\ No newline at end of file
diff --git a/zero.Web.UI/App/components/modules/predefined/module-preview-figure.vue b/zero.Web.UI/App/components/modules/predefined/module-preview-figure.vue
index 0c4c8fbc..4402c2a1 100644
--- a/zero.Web.UI/App/components/modules/predefined/module-preview-figure.vue
+++ b/zero.Web.UI/App/components/modules/predefined/module-preview-figure.vue
@@ -3,7 +3,7 @@
-
+ {{subline.replace(/<\/?[^>]+>/ig, " ")}}
diff --git a/zero.Web/ApiControllerFeatureProvider.cs b/zero.Web/ApiControllerFeatureProvider.cs
index 7ae217dc..a1cbaa0f 100644
--- a/zero.Web/ApiControllerFeatureProvider.cs
+++ b/zero.Web/ApiControllerFeatureProvider.cs
@@ -1,11 +1,13 @@
using Microsoft.AspNetCore.Mvc.ApplicationParts;
using Microsoft.AspNetCore.Mvc.Controllers;
+using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using zero.Core;
using zero.Core.Assemblies;
+using zero.Core.Entities;
using zero.Web.Controllers;
using zero.Web.Filters;
@@ -13,14 +15,18 @@ namespace zero.Web
{
public class ApiControllerFeatureProvider : IApplicationFeatureProvider
{
- public ApiControllerFeatureProvider()
- {
+ IServiceCollection ServiceCollection;
+ public ApiControllerFeatureProvider(IServiceCollection serviceCollection)
+ {
+ ServiceCollection = serviceCollection;
}
public void PopulateFeature(IEnumerable parts, ControllerFeature feature)
- {
+ {
+ var pagetype = typeof(IPage);
+ var page = ServiceCollection.FirstOrDefault(x => x.ServiceType.Equals(pagetype));
IEnumerable candidates = AssemblyDiscovery.Current.GetTypes(parts, true).Where(x => x.ContainsGenericParameters);
foreach (TypeInfo candidate in candidates)
@@ -42,12 +48,25 @@ namespace zero.Web
break;
}
- TypeInfo concreteArgument = AssemblyDiscovery.Current.GetTypes(requiredService, parts).FirstOrDefault();
+ TypeInfo concreteArgument = null;
+
+ ServiceDescriptor descriptor = ServiceCollection.FirstOrDefault(x => x.ServiceType.Equals(requiredService));
+
+ if (descriptor != null)
+ {
+ concreteArgument = descriptor.ImplementationType?.GetTypeInfo();
+ }
if (concreteArgument == null)
{
- isValid = false;
- break;
+ IEnumerable concreteArgumentCandidates = AssemblyDiscovery.Current.GetTypes(requiredService, parts);
+ concreteArgument = concreteArgumentCandidates.FirstOrDefault();
+
+ if (concreteArgument == null)
+ {
+ isValid = false;
+ break;
+ }
}
concreteArguments.Add(concreteArgument);
diff --git a/zero.Web/ZeroBuilder.cs b/zero.Web/ZeroBuilder.cs
index 28804855..6581dd33 100644
--- a/zero.Web/ZeroBuilder.cs
+++ b/zero.Web/ZeroBuilder.cs
@@ -79,7 +79,7 @@ namespace zero.Web
{
Mvc.AddRazorRuntimeCompilation();
}
- Mvc.PartManager.FeatureProviders.Add(new ApiControllerFeatureProvider());
+ Mvc.PartManager.FeatureProviders.Add(new ApiControllerFeatureProvider(Services));
// configure Raven + Identity