diff --git a/src/WebIndex.App/config/webexpress.config.xml b/src/WebIndex.App/config/webexpress.config.xml index d56b94c..1336d5b 100644 --- a/src/WebIndex.App/config/webexpress.config.xml +++ b/src/WebIndex.App/config/webexpress.config.xml @@ -7,10 +7,10 @@ http://localhost/ - - 300 - 3000000000 - + + 300 + 3000000000 + de-DE diff --git a/src/WebIndex/WebExpress.Tutorial.WebIndex.csproj b/src/WebIndex/WebExpress.Tutorial.WebIndex.csproj index b3fc216..168adab 100644 --- a/src/WebIndex/WebExpress.Tutorial.WebIndex.csproj +++ b/src/WebIndex/WebExpress.Tutorial.WebIndex.csproj @@ -24,8 +24,11 @@ + + + + - diff --git a/src/WebIndex/WebFragment/Content/Catalog/CatalogRestFormAdd.cs b/src/WebIndex/WebFragment/Content/Catalog/CatalogDataFormAdd.cs similarity index 97% rename from src/WebIndex/WebFragment/Content/Catalog/CatalogRestFormAdd.cs rename to src/WebIndex/WebFragment/Content/Catalog/CatalogDataFormAdd.cs index c5dfe0a..8196c85 100644 --- a/src/WebIndex/WebFragment/Content/Catalog/CatalogRestFormAdd.cs +++ b/src/WebIndex/WebFragment/Content/Catalog/CatalogDataFormAdd.cs @@ -14,7 +14,7 @@ namespace WebExpress.Tutorial.WebIndex.WebFragment.Content.Catalog /// [Section] [Scope] - public class CatalogFormAdd : FragmentControlRestFormAdd + public class CatalogFormAdd : FragmentControlDataFormAdd { /// /// Gets or sets the uir associated with the object. diff --git a/src/WebIndex/WebFragment/Content/Catalog/CatalogRestFormDelete.cs b/src/WebIndex/WebFragment/Content/Catalog/CatalogDataFormDelete.cs similarity index 96% rename from src/WebIndex/WebFragment/Content/Catalog/CatalogRestFormDelete.cs rename to src/WebIndex/WebFragment/Content/Catalog/CatalogDataFormDelete.cs index db416c3..bdd2d76 100644 --- a/src/WebIndex/WebFragment/Content/Catalog/CatalogRestFormDelete.cs +++ b/src/WebIndex/WebFragment/Content/Catalog/CatalogDataFormDelete.cs @@ -11,7 +11,7 @@ namespace WebExpress.Tutorial.WebIndex.WebFragment.Content.Catalog /// /// Represents a form for deleting a catalog index item. /// - public class CatalogFormDelete : FragmentControlRestFormDelete + public class CatalogFormDelete : FragmentControlDataFormDelete { /// /// Initializes a new instance of the class. diff --git a/src/WebIndex/WebFragment/Content/Catalog/CatalogRestFormEdit.cs b/src/WebIndex/WebFragment/Content/Catalog/CatalogDataFormEdit.cs similarity index 97% rename from src/WebIndex/WebFragment/Content/Catalog/CatalogRestFormEdit.cs rename to src/WebIndex/WebFragment/Content/Catalog/CatalogDataFormEdit.cs index 760bca2..1929224 100644 --- a/src/WebIndex/WebFragment/Content/Catalog/CatalogRestFormEdit.cs +++ b/src/WebIndex/WebFragment/Content/Catalog/CatalogDataFormEdit.cs @@ -14,7 +14,7 @@ namespace WebExpress.Tutorial.WebIndex.WebFragment.Content.Catalog /// [Section] [Scope] - public class CatalogFormEdit : FragmentControlRestFormEdit + public class CatalogFormEdit : FragmentControlDataFormEdit { /// /// Gets or sets the uir associated with the object. diff --git a/src/WebIndex/WebFragment/Content/Catalog/CatalogTable.cs b/src/WebIndex/WebFragment/Content/Catalog/CatalogTable.cs index 0feffca..06d788e 100644 --- a/src/WebIndex/WebFragment/Content/Catalog/CatalogTable.cs +++ b/src/WebIndex/WebFragment/Content/Catalog/CatalogTable.cs @@ -1,4 +1,6 @@ -using WebExpress.WebApp.WebFragment; +using System.Net.Http; +using WebExpress.WebApp.WebData; +using WebExpress.WebApp.WebFragment; using WebExpress.WebApp.WebSection; using WebExpress.WebCore.WebAttribute; using WebExpress.WebCore.WebFragment; @@ -16,7 +18,7 @@ namespace WebExpress.Tutorial.WebIndex.WebFragment.Content.Catalog /// [Section] [Scope] - public sealed class CatalogTable : FragmentControlRestTable + public sealed class CatalogTable : FragmentControlDataTable { /// /// Initializes a new instance of the class. @@ -26,7 +28,15 @@ public sealed class CatalogTable : FragmentControlRestTable public CatalogTable(ISitemapManager sitemapManager, IFragmentContext fragmentContext) : base(fragmentContext) { - RestUri = _ => sitemapManager.GetUri(fragmentContext.ApplicationContext); + // the logical names of the closed query vocabulary map to their + // historical wire names through the typed helpers; this endpoint + // answers with an item list rather than the table row shape + ServiceFactory = renderContext => new DataServiceBuilder("data") + .Endpoint() + .Method(HttpMethod.Get) + .Query(q => q.Search().Wql().Filter().Page().PageSize().OrderBy().OrderDir()) + .Response(r => r.Items().Total()) + .Build(renderContext); } /// diff --git a/src/WebIndex/WebFragment/Content/Seed/SeedRestFormAdd.cs b/src/WebIndex/WebFragment/Content/Seed/SeedDataFormAdd.cs similarity index 92% rename from src/WebIndex/WebFragment/Content/Seed/SeedRestFormAdd.cs rename to src/WebIndex/WebFragment/Content/Seed/SeedDataFormAdd.cs index 58fe5e6..25821c8 100644 --- a/src/WebIndex/WebFragment/Content/Seed/SeedRestFormAdd.cs +++ b/src/WebIndex/WebFragment/Content/Seed/SeedDataFormAdd.cs @@ -12,7 +12,7 @@ namespace WebExpress.Tutorial.WebIndex.WebFragment.Content.Seed /// [Section] [Scope] - public sealed class SeedRestFormAdd : FragmentControlRestFormAdd + public sealed class SeedDataFormAdd : FragmentControlDataFormAdd { /// /// Gets the control element for entering the login identifier. @@ -30,7 +30,7 @@ public sealed class SeedRestFormAdd : FragmentControlRestFormAdd /// /// The sitemap manager. /// The context of the fragment. - public SeedRestFormAdd(ISitemapManager sitemapManager, IFragmentContext fragmentContext) + public SeedDataFormAdd(ISitemapManager sitemapManager, IFragmentContext fragmentContext) : base(fragmentContext) { Add(Url); diff --git a/src/WebIndex/WebFragment/Content/Seed/SeedRestFormDelete.cs b/src/WebIndex/WebFragment/Content/Seed/SeedDataFormDelete.cs similarity index 93% rename from src/WebIndex/WebFragment/Content/Seed/SeedRestFormDelete.cs rename to src/WebIndex/WebFragment/Content/Seed/SeedDataFormDelete.cs index f2e55cb..7d9f4ad 100644 --- a/src/WebIndex/WebFragment/Content/Seed/SeedRestFormDelete.cs +++ b/src/WebIndex/WebFragment/Content/Seed/SeedDataFormDelete.cs @@ -15,14 +15,14 @@ namespace WebExpress.Tutorial.WebIndex.WebFragment.Content.Seed /// [Section] [Scope] - public sealed class SeedRestFormDelete : FragmentControlRestFormDelete + public sealed class SeedDataFormDelete : FragmentControlDataFormDelete { /// /// Initializes a new instance of the class. /// /// The sitemap manager. /// The context of the fragment. - public SeedRestFormDelete(ISitemapManager sitemapManager, IFragmentContext fragmentContext) + public SeedDataFormDelete(ISitemapManager sitemapManager, IFragmentContext fragmentContext) : base(fragmentContext) { Uri = _ => sitemapManager.GetUri(fragmentContext.ApplicationContext); diff --git a/src/WebIndex/WebFragment/Content/Seed/SeedRestFormEdit.cs b/src/WebIndex/WebFragment/Content/Seed/SeedDataFormEdit.cs similarity index 94% rename from src/WebIndex/WebFragment/Content/Seed/SeedRestFormEdit.cs rename to src/WebIndex/WebFragment/Content/Seed/SeedDataFormEdit.cs index 1107727..4b589d5 100644 --- a/src/WebIndex/WebFragment/Content/Seed/SeedRestFormEdit.cs +++ b/src/WebIndex/WebFragment/Content/Seed/SeedDataFormEdit.cs @@ -15,7 +15,7 @@ namespace WebExpress.Tutorial.WebIndex.WebFragment.Content.Seed /// [Section] [Scope] - public sealed class SeedRestFormEdit : FragmentControlRestFormEdit + public sealed class SeedDataFormEdit : FragmentControlDataFormEdit { /// /// Gets the control element for entering the login identifier. @@ -33,7 +33,7 @@ public sealed class SeedRestFormEdit : FragmentControlRestFormEdit /// /// The sitemap manager. /// The context of the fragment. - public SeedRestFormEdit(ISitemapManager sitemapManager, IFragmentContext fragmentContext) + public SeedDataFormEdit(ISitemapManager sitemapManager, IFragmentContext fragmentContext) : base(fragmentContext) { Add(Url); diff --git a/src/WebIndex/WebFragment/Content/Seed/SeedTable.cs b/src/WebIndex/WebFragment/Content/Seed/SeedTable.cs index 137171e..3831604 100644 --- a/src/WebIndex/WebFragment/Content/Seed/SeedTable.cs +++ b/src/WebIndex/WebFragment/Content/Seed/SeedTable.cs @@ -1,4 +1,6 @@ -using WebExpress.WebApp.WebFragment; +using System.Net.Http; +using WebExpress.WebApp.WebData; +using WebExpress.WebApp.WebFragment; using WebExpress.WebApp.WebSection; using WebExpress.WebCore.WebAttribute; using WebExpress.WebCore.WebFragment; @@ -13,7 +15,7 @@ namespace WebExpress.Tutorial.WebIndex.WebFragment.Content.Seed /// [Section] [Scope] - public sealed class SeedTable : FragmentControlRestTable + public sealed class SeedTable : FragmentControlDataTable { private readonly ISitemapManager _sitemapManager; @@ -26,7 +28,16 @@ public SeedTable(ISitemapManager sitemapManager, IFragmentContext fragmentContex : base(fragmentContext) { _sitemapManager = sitemapManager; - RestUri = _ => _sitemapManager.GetUri(fragmentContext.ApplicationContext); + + // the logical names of the closed query vocabulary map to their + // historical wire names through the typed helpers; this endpoint + // answers with an item list rather than the table row shape + ServiceFactory = renderContext => new DataServiceBuilder("data") + .Endpoint() + .Method(HttpMethod.Get) + .Query(q => q.Search().Wql().Filter().Page().PageSize().OrderBy().OrderDir()) + .Response(r => r.Items().Total()) + .Build(renderContext); } ///