Skip to content

Commit d65f17e

Browse files
committed
Switched NuGet 2 manifests to NuGet 3
Ported DataTablesHelper, DataTablesModelBinder, and DataTablesResult to MvcCore Began copying over the Example project files to the Example.AspNetCore (work in progress) Fixed some warnings (and remarked out unused variables)
1 parent 804e6fb commit d65f17e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+3936
-477
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,5 @@ packages/*
2121
/packages
2222
/*.user
2323
.vs
24+
/Mvc.JQuery.DataTables.AspNetCore.Example/node_modules/jquery
25+
/Mvc.JQuery.DataTables.AspNetCore.Example/wwwroot/lib

Mvc.JQuery.DataTables.AspNetCore.Example/App_GlobalResources/UserViewResource.Designer.cs

Lines changed: 72 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<root>
3+
<!--
4+
Microsoft ResX Schema
5+
6+
Version 2.0
7+
8+
The primary goals of this format is to allow a simple XML format
9+
that is mostly human readable. The generation and parsing of the
10+
various data types are done through the TypeConverter classes
11+
associated with the data types.
12+
13+
Example:
14+
15+
... ado.net/XML headers & schema ...
16+
<resheader name="resmimetype">text/microsoft-resx</resheader>
17+
<resheader name="version">2.0</resheader>
18+
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19+
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20+
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21+
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22+
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23+
<value>[base64 mime encoded serialized .NET Framework object]</value>
24+
</data>
25+
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26+
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27+
<comment>This is a comment</comment>
28+
</data>
29+
30+
There are any number of "resheader" rows that contain simple
31+
name/value pairs.
32+
33+
Each data row contains a name, and value. The row also contains a
34+
type or mimetype. Type corresponds to a .NET class that support
35+
text/value conversion through the TypeConverter architecture.
36+
Classes that don't support this are serialized and stored with the
37+
mimetype set.
38+
39+
The mimetype is used for serialized objects, and tells the
40+
ResXResourceReader how to depersist the object. This is currently not
41+
extensible. For a given mimetype the value must be set accordingly:
42+
43+
Note - application/x-microsoft.net.object.binary.base64 is the format
44+
that the ResXResourceWriter will generate, however the reader can
45+
read any of the formats listed below.
46+
47+
mimetype: application/x-microsoft.net.object.binary.base64
48+
value : The object must be serialized with
49+
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50+
: and then encoded with base64 encoding.
51+
52+
mimetype: application/x-microsoft.net.object.soap.base64
53+
value : The object must be serialized with
54+
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55+
: and then encoded with base64 encoding.
56+
57+
mimetype: application/x-microsoft.net.object.bytearray.base64
58+
value : The object must be serialized into a byte array
59+
: using a System.ComponentModel.TypeConverter
60+
: and then encoded with base64 encoding.
61+
-->
62+
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63+
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64+
<xsd:element name="root" msdata:IsDataSet="true">
65+
<xsd:complexType>
66+
<xsd:choice maxOccurs="unbounded">
67+
<xsd:element name="metadata">
68+
<xsd:complexType>
69+
<xsd:sequence>
70+
<xsd:element name="value" type="xsd:string" minOccurs="0" />
71+
</xsd:sequence>
72+
<xsd:attribute name="name" use="required" type="xsd:string" />
73+
<xsd:attribute name="type" type="xsd:string" />
74+
<xsd:attribute name="mimetype" type="xsd:string" />
75+
<xsd:attribute ref="xml:space" />
76+
</xsd:complexType>
77+
</xsd:element>
78+
<xsd:element name="assembly">
79+
<xsd:complexType>
80+
<xsd:attribute name="alias" type="xsd:string" />
81+
<xsd:attribute name="name" type="xsd:string" />
82+
</xsd:complexType>
83+
</xsd:element>
84+
<xsd:element name="data">
85+
<xsd:complexType>
86+
<xsd:sequence>
87+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88+
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89+
</xsd:sequence>
90+
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91+
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92+
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93+
<xsd:attribute ref="xml:space" />
94+
</xsd:complexType>
95+
</xsd:element>
96+
<xsd:element name="resheader">
97+
<xsd:complexType>
98+
<xsd:sequence>
99+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100+
</xsd:sequence>
101+
<xsd:attribute name="name" type="xsd:string" use="required" />
102+
</xsd:complexType>
103+
</xsd:element>
104+
</xsd:choice>
105+
</xsd:complexType>
106+
</xsd:element>
107+
</xsd:schema>
108+
<resheader name="resmimetype">
109+
<value>text/microsoft-resx</value>
110+
</resheader>
111+
<resheader name="version">
112+
<value>2.0</value>
113+
</resheader>
114+
<resheader name="reader">
115+
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116+
</resheader>
117+
<resheader name="writer">
118+
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119+
</resheader>
120+
<data name="Name" xml:space="preserve">
121+
<value>Full name from resource file</value>
122+
</data>
123+
</root>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using Mvc.JQuery.DataTables.Models;
2+
using Newtonsoft.Json.Linq;
3+
using System;
4+
using System.Reflection;
5+
6+
namespace Mvc.JQuery.DataTables.Example.Controllers
7+
{
8+
public class DefaultToStartOf2014Attribute : DataTablesAttributeBase
9+
{
10+
public override void ApplyTo(ColDef colDef, PropertyInfo pi)
11+
{
12+
colDef.SearchCols = colDef.SearchCols ?? new JObject();
13+
colDef.SearchCols["sSearch"] = new DateTime(2014, 1, 1).ToString("g") + "~" + DateTimeOffset.Now.Date.AddDays(1).ToString("g");
14+
}
15+
}
16+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
using Microsoft.AspNetCore.Mvc;
2+
using Mvc.JQuery.DataTables.Example.Domain;
3+
using System;
4+
using System.Linq;
5+
6+
namespace Mvc.JQuery.DataTables.Example.Controllers
7+
{
8+
public class FacetController : Controller
9+
{
10+
11+
public IActionResult Index()
12+
{
13+
return View();
14+
}
15+
16+
public DataTablesResult<UserFacetRowViewModel> GetFacetedUsers(DataTablesParam dataTableParam)
17+
{
18+
return DataTablesResult.Create(FakeDatabase.Users.Select(user => new UserFacetRowViewModel()
19+
{
20+
Email = user.Email,
21+
Position = user.Position == null ? "" : user.Position.ToString(),
22+
Hired = user.Hired,
23+
IsAdmin = user.IsAdmin,
24+
Content = "https://randomuser.me/api/portraits/thumb/men/" + user.Id + ".jpg"
25+
}), dataTableParam,
26+
rowViewModel => new
27+
{
28+
Content = "<div>" +
29+
" <div>Email: " + rowViewModel.Email + (rowViewModel.IsAdmin ? " (admin)" : "") + "</div>" +
30+
" <div>Hired: " + rowViewModel.Hired + "</div>" +
31+
" <img src='" + rowViewModel.Content + "' />" +
32+
"</div>"
33+
});
34+
}
35+
36+
37+
public class UserFacetRowViewModel
38+
{
39+
[DataTables(DisplayName = "E-Mail", Searchable = true, Visible = false)]
40+
[DataTablesFilter(Selector = "#" + nameof(Email) + "Filter")]
41+
public string Email { get; set; }
42+
43+
[DataTables(Width = "70px", Visible = false)]
44+
[DataTablesFilter(Selector = "#" +nameof(IsAdmin) + "Filter")]
45+
public bool IsAdmin { get; set; }
46+
47+
48+
[DataTables(Width = "70px", Visible = false)]
49+
[DataTablesFilter(Selector = "#" + nameof(Position) + "Filter")]
50+
public string Position { get; set; }
51+
52+
[DataTablesFilter(DataTablesFilterType.DateTimeRange, Selector = "#" + nameof(Hired) + "Filter")]
53+
[DefaultToStartOf2014]
54+
[DataTables(Visible = false)]
55+
public DateTime? Hired { get; set; }
56+
57+
[DataTables(Sortable = false, Searchable = false)]
58+
[DataTablesFilter(DataTablesFilterType.None)]
59+
public string Content { get; set; }
60+
}
61+
}
62+
}

0 commit comments

Comments
 (0)