diff --git a/CustomTableHeader.cs b/CustomTableHeader.cs new file mode 100644 index 0000000..e861fd8 --- /dev/null +++ b/CustomTableHeader.cs @@ -0,0 +1,11 @@ +using System; +using System.Web; + +namespace FlexLabs.Web.TablePager +{ + public class CustomTableHeader : ITableHeader + { + public Func Content { get; set; } + public String CssClass { get; set; } + } +} diff --git a/ITableHeader.cs b/ITableHeader.cs new file mode 100644 index 0000000..00f41b4 --- /dev/null +++ b/ITableHeader.cs @@ -0,0 +1,9 @@ +using System; + +namespace FlexLabs.Web.TablePager +{ + public interface ITableHeader + { + String CssClass { get; set; } + } +} diff --git a/NuGet/FlexLabs.Web.TablePager.nuspec b/NuGet/FlexLabs.Web.TablePager.nuspec index b277019..66d39f0 100644 --- a/NuGet/FlexLabs.Web.TablePager.nuspec +++ b/NuGet/FlexLabs.Web.TablePager.nuspec @@ -2,7 +2,7 @@ FlexLabs.Web.TablePager - 1.5.9 + 1.5.10 Table Pager Artiom Chilaru Artiom Chilaru diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 355887e..76d6f8f 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.9.*")] -[assembly: AssemblyFileVersion("1.5.9.*")] +[assembly: AssemblyVersion("1.5.10.*")] +[assembly: AssemblyFileVersion("1.5.10.*")] diff --git a/TableHeader.cs b/TableHeader.cs index 6e18a06..0972fb4 100644 --- a/TableHeader.cs +++ b/TableHeader.cs @@ -2,7 +2,7 @@ namespace FlexLabs.Web.TablePager { - public class TableHeader + public class TableHeader : ITableHeader { public String Title { get; set; } public Object Value { get; set; } diff --git a/TablePager.cshtml b/TablePager.cshtml index 7db67a8..58d912e 100644 --- a/TablePager.cshtml +++ b/TablePager.cshtml @@ -41,10 +41,21 @@ @html.ValidationMessage("PageSize") } -@helper Header(IEnumerable headers) { +@helper Header(IEnumerable headers) { - @foreach (var header in headers) { - @if(header.Value != null) { } else { @header.Title } + @foreach (var iheader in headers) { + @{ + var header = iheader as TableHeader; + if (iheader is CustomTableHeader) { + @((iheader as CustomTableHeader).Content(null)) + } else { + if(header.Value != null) + {} + else { + @header.Title + } + } + } } } diff --git a/TablePager.csproj b/TablePager.csproj index 5448d1a..e582efa 100644 --- a/TablePager.csproj +++ b/TablePager.csproj @@ -45,7 +45,9 @@ + + diff --git a/TablePager.generated.cs b/TablePager.generated.cs index 60e179b..6d2e8d5 100644 --- a/TablePager.generated.cs +++ b/TablePager.generated.cs @@ -2,7 +2,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.18033 +// Runtime Version:4.0.30319.34014 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -43,7 +43,7 @@ namespace FlexLabs.Web.TablePager #line default #line hidden - [System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.4.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")] public static class TablePager { @@ -273,13 +273,13 @@ public static System.Web.WebPages.HelperResult PageSizer(System.Web.Mvc.HtmlHelp } -public static System.Web.WebPages.HelperResult Header(IEnumerable headers) { +public static System.Web.WebPages.HelperResult Header(IEnumerable headers) { return new System.Web.WebPages.HelperResult(__razor_helper_writer => { #line 44 "..\..\TablePager.cshtml" - + #line default #line hidden @@ -289,7 +289,7 @@ public static System.Web.WebPages.HelperResult Header(IEnumerable h #line 46 "..\..\TablePager.cshtml" - foreach (var header in headers) { + foreach (var iheader in headers) { #line default #line hidden @@ -299,7 +299,7 @@ public static System.Web.WebPages.HelperResult Header(IEnumerable h #line 47 "..\..\TablePager.cshtml" -WebViewPage.WriteTo(@__razor_helper_writer, header.CssClass); +WebViewPage.WriteTo(@__razor_helper_writer, iheader.CssClass); #line default #line hidden @@ -307,23 +307,42 @@ public static System.Web.WebPages.HelperResult Header(IEnumerable h #line 47 "..\..\TablePager.cshtml" - WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\">"); + WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\">"); #line default #line hidden #line 47 "..\..\TablePager.cshtml" - if(header.Value != null) { + + var header = iheader as TableHeader; + if (iheader is CustomTableHeader) { + #line default #line hidden -WebViewPage.WriteLiteralTo(@__razor_helper_writer, " "); +WebViewPage.WriteLiteralTo(@__razor_helper_writer, ""); -#line 47 "..\..\TablePager.cshtml" - } else { +#line 53 "..\..\TablePager.cshtml" + } + else { + #line default #line hidden -#line 47 "..\..\TablePager.cshtml" - WebViewPage.WriteTo(@__razor_helper_writer, header.Title); +#line 55 "..\..\TablePager.cshtml" +WebViewPage.WriteTo(@__razor_helper_writer, header.Title); #line default #line hidden -#line 47 "..\..\TablePager.cshtml" - } +#line 55 "..\..\TablePager.cshtml" + + } + } + #line default #line hidden @@ -374,7 +398,7 @@ public static System.Web.WebPages.HelperResult Header(IEnumerable h -#line 48 "..\..\TablePager.cshtml" +#line 59 "..\..\TablePager.cshtml" } #line default @@ -384,7 +408,7 @@ public static System.Web.WebPages.HelperResult Header(IEnumerable h -#line 50 "..\..\TablePager.cshtml" +#line 61 "..\..\TablePager.cshtml" #line default #line hidden @@ -399,7 +423,7 @@ public static System.Web.WebPages.HelperResult FormHidden(ITableModel model) { -#line 52 "..\..\TablePager.cshtml" +#line 63 "..\..\TablePager.cshtml" #line default @@ -407,7 +431,7 @@ public static System.Web.WebPages.HelperResult FormHidden(ITableModel model) { -#line 53 "..\..\TablePager.cshtml" +#line 64 "..\..\TablePager.cshtml" #line default @@ -417,7 +441,7 @@ public static System.Web.WebPages.HelperResult FormHidden(ITableModel model) { -#line 54 "..\..\TablePager.cshtml" +#line 65 "..\..\TablePager.cshtml" WebViewPage.WriteTo(@__razor_helper_writer, model.SortBy); #line default @@ -431,7 +455,7 @@ public static System.Web.WebPages.HelperResult FormHidden(ITableModel model) { -#line 55 "..\..\TablePager.cshtml" +#line 66 "..\..\TablePager.cshtml" WebViewPage.WriteTo(@__razor_helper_writer, model.SortAsc.ToString()); #line default @@ -441,7 +465,7 @@ public static System.Web.WebPages.HelperResult FormHidden(ITableModel model) { -#line 56 "..\..\TablePager.cshtml" +#line 67 "..\..\TablePager.cshtml" #line default #line hidden