From 162252c686f033abe5872789542bf961ebc02a10 Mon Sep 17 00:00:00 2001 From: Nithya Date: Fri, 14 Jun 2024 09:33:19 +0530 Subject: [PATCH 1/6] Adding sample for WebApiAdaptor --- WebApiAdaptor/WebApiAdaptor.sln | 25 +++ .../Controllers/GridController.cs | 177 ++++++++++++++++++ .../Controllers/WeatherForecastController.cs | 33 ++++ .../WebApiAdaptor/Models/OrdersDetails.cs | 58 ++++++ WebApiAdaptor/WebApiAdaptor/Program.cs | 28 +++ .../Properties/launchSettings.json | 41 ++++ .../WebApiAdaptor/WeatherForecast.cs | 13 ++ .../WebApiAdaptor/WebApiAdaptor.csproj | 14 ++ .../WebApiAdaptor/WebApiAdaptor.csproj.user | 8 + .../WebApiAdaptor/WebApiAdaptor.http | 6 + .../appsettings.Development.json | 8 + WebApiAdaptor/WebApiAdaptor/appsettings.json | 9 + .../WebApiAdaptor/wwwroot/css/index.css | 2 + .../WebApiAdaptor/wwwroot/index.html | 33 ++++ .../WebApiAdaptor/wwwroot/js/index.js | 21 +++ 15 files changed, 476 insertions(+) create mode 100644 WebApiAdaptor/WebApiAdaptor.sln create mode 100644 WebApiAdaptor/WebApiAdaptor/Controllers/GridController.cs create mode 100644 WebApiAdaptor/WebApiAdaptor/Controllers/WeatherForecastController.cs create mode 100644 WebApiAdaptor/WebApiAdaptor/Models/OrdersDetails.cs create mode 100644 WebApiAdaptor/WebApiAdaptor/Program.cs create mode 100644 WebApiAdaptor/WebApiAdaptor/Properties/launchSettings.json create mode 100644 WebApiAdaptor/WebApiAdaptor/WeatherForecast.cs create mode 100644 WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj create mode 100644 WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj.user create mode 100644 WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.http create mode 100644 WebApiAdaptor/WebApiAdaptor/appsettings.Development.json create mode 100644 WebApiAdaptor/WebApiAdaptor/appsettings.json create mode 100644 WebApiAdaptor/WebApiAdaptor/wwwroot/css/index.css create mode 100644 WebApiAdaptor/WebApiAdaptor/wwwroot/index.html create mode 100644 WebApiAdaptor/WebApiAdaptor/wwwroot/js/index.js diff --git a/WebApiAdaptor/WebApiAdaptor.sln b/WebApiAdaptor/WebApiAdaptor.sln new file mode 100644 index 0000000..bb08bab --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34728.123 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApiAdaptor", "WebApiAdaptor\WebApiAdaptor.csproj", "{76B363AB-5F71-4B5B-A1C9-477B6AB913FA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {76B363AB-5F71-4B5B-A1C9-477B6AB913FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {76B363AB-5F71-4B5B-A1C9-477B6AB913FA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {76B363AB-5F71-4B5B-A1C9-477B6AB913FA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {76B363AB-5F71-4B5B-A1C9-477B6AB913FA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1A7373EE-4A6A-4273-8CDD-EB6F2E441079} + EndGlobalSection +EndGlobal diff --git a/WebApiAdaptor/WebApiAdaptor/Controllers/GridController.cs b/WebApiAdaptor/WebApiAdaptor/Controllers/GridController.cs new file mode 100644 index 0000000..bcfe96c --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/Controllers/GridController.cs @@ -0,0 +1,177 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using WebApiAdaptor.Models; + +namespace WebApiAdaptor.Controllers +{ + [Route("api/[controller]")] + + [ApiController] + public class GridController : ControllerBase + { + // GET: api/Orders + [HttpGet] + + // Action to retrieve orders + public object Get() + { + var queryString = Request.Query; + var data = OrdersDetails.GetAllRecords().ToList(); + + string? sort = queryString["$orderby"]; // Get sorting parameter + string? filter = queryString["$filter"]; // // Get filtering parameter + + //Peform sort operation + if (!string.IsNullOrEmpty(sort)) + { + var sortConditions = sort.Split(','); + + var orderedData = data.OrderBy(x => 0); // Start with a stable sort + + foreach (var sortCondition in sortConditions) + { + var sortParts = sortCondition.Trim().Split(' '); + var sortBy = sortParts[0]; + var sortOrder = sortParts.Length > 1 && sortParts[1].ToLower() == "desc"; + + switch (sortBy) + { + case "OrderID": + orderedData = sortOrder ? orderedData.ThenByDescending(x => x.OrderID) : orderedData.ThenBy(x => x.OrderID); + break; + case "CustomerID": + orderedData = sortOrder ? orderedData.ThenByDescending(x => x.CustomerID) : orderedData.ThenBy(x => x.CustomerID); + break; + case "ShipCity": + orderedData = sortOrder ? orderedData.ThenByDescending(x => x.ShipCity) : orderedData.ThenBy(x => x.ShipCity); + break; + } + } + + data = [.. orderedData]; + } + if (filter != null) + { + var filters = filter.Split(new string[] { " and " }, StringSplitOptions.RemoveEmptyEntries); + + foreach (var filterItem in filters) + { + if (filterItem.Contains("substringof")) + { + // Performing Search operation + + var searchParts = filterItem.Split('(', ')', '\''); + var searchValue = searchParts[3]; + + // Apply the search value to all searchable fields + data = data.Where(cust => + cust != null && + ((cust.OrderID?.ToString()?.Contains(searchValue) ?? false) || + (cust.CustomerID?.ToLower()?.Contains(searchValue) ?? false) || + (cust.ShipCity?.ToLower()?.Contains(searchValue) ?? false))).ToList(); + } + else + { + // Performing filter operation + + var filterfield = ""; + var filtervalue = ""; + var filterParts = filterItem.Split('(', ')', '\''); + if (filterParts.Length != 9) + { + var filterValueParts = filterParts[1].Split(); + filterfield = filterValueParts[0]; + filtervalue = filterValueParts[2]; + } + else + { + filterfield = filterParts[3]; + filtervalue = filterParts[5]; + } + switch (filterfield) + { + case "OrderID": + data = data.Where(cust => cust != null && cust.OrderID?.ToString() == filtervalue.ToString()).ToList(); + break; + case "CustomerID": + data = data.Where(cust => cust != null && cust.CustomerID?.ToLower().StartsWith(filtervalue.ToString()) == true).ToList(); + break; + case "ShipCity": + data = data.Where(cust => cust != null && cust.ShipCity?.ToLower().StartsWith(filtervalue.ToString()) == true).ToList(); + break; + // Add more cases for other searchable fields if needed + } + + } + } + } + + int TotalRecordsCount = data.Count; + + //Perform page operation + + int skip = Convert.ToInt32(queryString["$skip"]); + int take = Convert.ToInt32(queryString["$top"]); + if (take !=0) + { + data = data.Skip(skip).Take(take).ToList(); + + } + + return new { result = data, count = TotalRecordsCount }; + + } + + + // POST: api/Orders + [HttpPost] + /// + /// Inserts a new data item into the data collection. + /// + /// It holds new record detail which is need to be inserted. + /// Returns void + public void Post([FromBody] OrdersDetails newRecord) + { + // Insert a new record into the OrdersDetails model + OrdersDetails.GetAllRecords().Insert(0, newRecord); + } + + // PUT: api/Orders/5 + [HttpPut] + /// + /// Update a existing data item from the data collection. + /// + /// It holds updated record detail which is need to be updated. + /// Returns void + public void Put(int id, [FromBody] OrdersDetails order) + { + // Find the existing order by ID + var existingOrder = OrdersDetails.GetAllRecords().FirstOrDefault(o => o.OrderID == id); + if (existingOrder != null) + { + // If the order exists, update its properties + existingOrder.OrderID = order.OrderID; + existingOrder.CustomerID = order.CustomerID; + existingOrder.ShipCity = order.ShipCity; + } + } + + // DELETE: api/Orders/5 + [HttpDelete("{id}")] + /// + /// Remove a specific data item from the data collection. + /// + /// It holds specific record detail id which is need to be removed. + /// Returns void + public void Delete(int id) + { + // Find the order to remove by ID + var orderToRemove = OrdersDetails.GetAllRecords().FirstOrDefault(order => order.OrderID == id); + // If the order exists, remove it + if (orderToRemove != null) + { + OrdersDetails.GetAllRecords().Remove(orderToRemove); + } + } + } +} \ No newline at end of file diff --git a/WebApiAdaptor/WebApiAdaptor/Controllers/WeatherForecastController.cs b/WebApiAdaptor/WebApiAdaptor/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..75cb874 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/Controllers/WeatherForecastController.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Mvc; + +namespace WebApiAdaptor.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/WebApiAdaptor/WebApiAdaptor/Models/OrdersDetails.cs b/WebApiAdaptor/WebApiAdaptor/Models/OrdersDetails.cs new file mode 100644 index 0000000..ae4fd9c --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/Models/OrdersDetails.cs @@ -0,0 +1,58 @@ +namespace WebApiAdaptor.Models +{ + public class OrdersDetails + { + public static List order = new List(); + public OrdersDetails() + { + + } + public OrdersDetails( + int OrderID, string CustomerId, int EmployeeId, double Freight, bool Verified, + DateTime OrderDate, string ShipCity, string ShipName, string ShipCountry, + DateTime ShippedDate, string ShipAddress) + { + this.OrderID = OrderID; + this.CustomerID = CustomerId; + this.EmployeeID = EmployeeId; + this.Freight = Freight; + this.ShipCity = ShipCity; + this.Verified = Verified; + this.OrderDate = OrderDate; + this.ShipName = ShipName; + this.ShipCountry = ShipCountry; + this.ShippedDate = ShippedDate; + this.ShipAddress = ShipAddress; + } + + public static List GetAllRecords() + { + if (order.Count == 0) + { + int code = 10000; + for (int i = 1; i < 10; i++) + { + order.Add(new OrdersDetails(code + 1, "ALFKI", i + 0, 2.3 * i, false, new DateTime(1991, 05, 15), "Berlin", "Simons bistro", "Denmark", new DateTime(1996, 7, 16), "Kirchgasse 6")); + order.Add(new OrdersDetails(code + 2, "ANATR", i + 2, 3.3 * i, true, new DateTime(1990, 04, 04), "Madrid", "Queen Cozinha", "Brazil", new DateTime(1996, 9, 11), "Avda. Azteca 123")); + order.Add(new OrdersDetails(code + 3, "ANTON", i + 1, 4.3 * i, true, new DateTime(1957, 11, 30), "Cholchester", "Frankenversand", "Germany", new DateTime(1996, 10, 7), "Carrera 52 con Ave. Bolívar #65-98 Llano Largo")); + order.Add(new OrdersDetails(code + 4, "BLONP", i + 3, 5.3 * i, false, new DateTime(1930, 10, 22), "Marseille", "Ernst Handel", "Austria", new DateTime(1996, 12, 30), "Magazinweg 7")); + order.Add(new OrdersDetails(code + 5, "BOLID", i + 4, 6.3 * i, true, new DateTime(1953, 02, 18), "Tsawassen", "Hanari Carnes", "Switzerland", new DateTime(1997, 12, 3), "1029 - 12th Ave. S.")); + code += 5; + } + } + return order; + } + + public int? OrderID { get; set; } + public string? CustomerID { get; set; } + public int? EmployeeID { get; set; } + public double? Freight { get; set; } + public string? ShipCity { get; set; } + public bool? Verified { get; set; } + public DateTime OrderDate { get; set; } + public string? ShipName { get; set; } + public string? ShipCountry { get; set; } + public DateTime ShippedDate { get; set; } + public string? ShipAddress { get; set; } + } +} \ No newline at end of file diff --git a/WebApiAdaptor/WebApiAdaptor/Program.cs b/WebApiAdaptor/WebApiAdaptor/Program.cs new file mode 100644 index 0000000..5d9c335 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/Program.cs @@ -0,0 +1,28 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +app.UseDefaultFiles(); +app.UseStaticFiles(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/WebApiAdaptor/WebApiAdaptor/Properties/launchSettings.json b/WebApiAdaptor/WebApiAdaptor/Properties/launchSettings.json new file mode 100644 index 0000000..5f00f0d --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:55218", + "sslPort": 44304 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5062", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + //"launchUrl": "swagger", + "applicationUrl": "https://localhost:7265;http://localhost:5062", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/WebApiAdaptor/WebApiAdaptor/WeatherForecast.cs b/WebApiAdaptor/WebApiAdaptor/WeatherForecast.cs new file mode 100644 index 0000000..baf6a0e --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace WebApiAdaptor +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj new file mode 100644 index 0000000..c11ecdf --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj @@ -0,0 +1,14 @@ + + + + net8.0 + enable + enable + + + + + + + + diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj.user b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj.user new file mode 100644 index 0000000..2c8f5c1 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj.user @@ -0,0 +1,8 @@ + + + + https + ApiControllerEmptyScaffolder + root/Common/Api + + \ No newline at end of file diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.http b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.http new file mode 100644 index 0000000..94ac3d0 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.http @@ -0,0 +1,6 @@ +@WebApiAdaptor_HostAddress = http://localhost:5062 + +GET {{WebApiAdaptor_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/WebApiAdaptor/WebApiAdaptor/appsettings.Development.json b/WebApiAdaptor/WebApiAdaptor/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/WebApiAdaptor/WebApiAdaptor/appsettings.json b/WebApiAdaptor/WebApiAdaptor/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/WebApiAdaptor/WebApiAdaptor/wwwroot/css/index.css b/WebApiAdaptor/WebApiAdaptor/wwwroot/css/index.css new file mode 100644 index 0000000..46800d1 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/wwwroot/css/index.css @@ -0,0 +1,2 @@ +body { +} diff --git a/WebApiAdaptor/WebApiAdaptor/wwwroot/index.html b/WebApiAdaptor/WebApiAdaptor/wwwroot/index.html new file mode 100644 index 0000000..af4cffe --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/wwwroot/index.html @@ -0,0 +1,33 @@ + + + + EJ2 Grid + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + \ No newline at end of file diff --git a/WebApiAdaptor/WebApiAdaptor/wwwroot/js/index.js b/WebApiAdaptor/WebApiAdaptor/wwwroot/js/index.js new file mode 100644 index 0000000..d775816 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/wwwroot/js/index.js @@ -0,0 +1,21 @@ +var data = new ej.data.DataManager({ + url: 'https://localhost:7265/api/Grid', // Here xxxx represents the port number + adaptor: new ej.data.WebApiAdaptor() +}); +ej.grids.Grid.Inject(ej.grids.Edit, ej.grids.Toolbar, ej.grids.Page, ej.grids.Filter,ej.grids.Sort); +var grid = new ej.grids.Grid({ + dataSource: data, + allowPaging: true, + allowSorting: true, + allowFiltering: true, + toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'], + editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true, mode: 'Normal' }, + columns: [ + { field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 120, isPrimaryKey: true, type: 'number' }, + { field: 'CustomerID', width: 140, headerText: 'Customer ID', type: 'string' }, + { field: 'ShipCity', headerText: 'ShipCity', width: 140 }, + { field: 'ShipCountry', headerText: 'ShipCountry', width: 140 } + ] +}); + +grid.appendTo('#Grid'); \ No newline at end of file From 3f65702a4ca4586ec8fd600495bc66e4f2c7e4ac Mon Sep 17 00:00:00 2001 From: Nithya Date: Fri, 14 Jun 2024 10:54:43 +0530 Subject: [PATCH 2/6] Documentation(EJ2-890211): OdataV4adaptor --- ODataV4Adaptor/ODataV4Adaptor.sln | 25 ++++++ .../Controllers/OrdersController.cs | 79 +++++++++++++++++++ .../Controllers/WeatherForecastController.cs | 33 ++++++++ .../ODataV4Adaptor/Models/OrdersDetails.cs | 44 +++++++++++ .../ODataV4Adaptor/ODataV4Adaptor.csproj | 18 +++++ .../ODataV4Adaptor/ODataV4Adaptor.csproj.user | 8 ++ .../ODataV4Adaptor/ODataV4Adaptor.http | 6 ++ ODataV4Adaptor/ODataV4Adaptor/Program.cs | 50 ++++++++++++ .../Properties/launchSettings.json | 41 ++++++++++ .../ODataV4Adaptor/WeatherForecast.cs | 13 +++ .../appsettings.Development.json | 8 ++ .../ODataV4Adaptor/appsettings.json | 9 +++ .../ODataV4Adaptor/wwwroot/index.html | 33 ++++++++ .../ODataV4Adaptor/wwwroot/js/index.js | 22 ++++++ 14 files changed, 389 insertions(+) create mode 100644 ODataV4Adaptor/ODataV4Adaptor.sln create mode 100644 ODataV4Adaptor/ODataV4Adaptor/Controllers/OrdersController.cs create mode 100644 ODataV4Adaptor/ODataV4Adaptor/Controllers/WeatherForecastController.cs create mode 100644 ODataV4Adaptor/ODataV4Adaptor/Models/OrdersDetails.cs create mode 100644 ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj create mode 100644 ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj.user create mode 100644 ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.http create mode 100644 ODataV4Adaptor/ODataV4Adaptor/Program.cs create mode 100644 ODataV4Adaptor/ODataV4Adaptor/Properties/launchSettings.json create mode 100644 ODataV4Adaptor/ODataV4Adaptor/WeatherForecast.cs create mode 100644 ODataV4Adaptor/ODataV4Adaptor/appsettings.Development.json create mode 100644 ODataV4Adaptor/ODataV4Adaptor/appsettings.json create mode 100644 ODataV4Adaptor/ODataV4Adaptor/wwwroot/index.html create mode 100644 ODataV4Adaptor/ODataV4Adaptor/wwwroot/js/index.js diff --git a/ODataV4Adaptor/ODataV4Adaptor.sln b/ODataV4Adaptor/ODataV4Adaptor.sln new file mode 100644 index 0000000..803d140 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34728.123 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ODataV4Adaptor", "ODataV4Adaptor\ODataV4Adaptor.csproj", "{CAB1491F-D43B-4513-9A9D-F5A56AA8F093}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CAB1491F-D43B-4513-9A9D-F5A56AA8F093}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CAB1491F-D43B-4513-9A9D-F5A56AA8F093}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CAB1491F-D43B-4513-9A9D-F5A56AA8F093}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CAB1491F-D43B-4513-9A9D-F5A56AA8F093}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C4A3478D-2390-4B78-982F-E0AC583C0E9D} + EndGlobalSection +EndGlobal diff --git a/ODataV4Adaptor/ODataV4Adaptor/Controllers/OrdersController.cs b/ODataV4Adaptor/ODataV4Adaptor/Controllers/OrdersController.cs new file mode 100644 index 0000000..c73f1f2 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/Controllers/OrdersController.cs @@ -0,0 +1,79 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.OData.Query; +using Microsoft.AspNetCore.OData.Routing.Controllers; +using ODataV4Adaptor.Models; +namespace OdataV4Adaptor.Controllers +{ + + public class OrdersController : Controller + { + /// + /// Retrieves all orders. + /// + /// The collection of orders. + [HttpGet] + [EnableQuery] + public IActionResult Get() + { + var data = OrdersDetails.GetAllRecords().AsQueryable(); + return Ok(data); + } + + /// + /// Inserts a new order to the collection. + /// + /// The order to be inserted. + /// It returns the newly inserted record detail. + [HttpPost] + [EnableQuery] + public IActionResult Post([FromBody] OrdersDetails addRecord) + { + if (addRecord == null) + { + return BadRequest("Null order"); + } + OrdersDetails.GetAllRecords().Insert(0, addRecord); + return Json(addRecord); + } + + /// + /// Updates an existing order. + /// + /// The ID of the order to update. + /// The updated order details. + /// It returns the updated order details. + [HttpPatch("{key}")] + public IActionResult Patch(int key, [FromBody] OrdersDetails updateRecord) + { + if (updateRecord == null) + { + return BadRequest("No records"); + } + var existingOrder = OrdersDetails.GetAllRecords().FirstOrDefault(order => order.OrderID == key); + if (existingOrder != null) + { + // If the order exists, update its properties + existingOrder.CustomerID = updateRecord.CustomerID ?? existingOrder.CustomerID; + existingOrder.ShipCity = updateRecord.ShipCity ?? existingOrder.ShipCity; + existingOrder.ShipCountry = updateRecord.ShipCountry ?? existingOrder.ShipCountry; + } + return Json(updateRecord); + } + + /// + /// Deletes an order. + /// + /// The ID of the order to delete. + /// It returns the deleted record detail + [HttpDelete("{key}")] + public IActionResult Delete(int key) + { + var deleteRecord = OrdersDetails.GetAllRecords().FirstOrDefault(order => order.OrderID == key); + if (deleteRecord != null) + { + OrdersDetails.GetAllRecords().Remove(deleteRecord); + } + return Json(deleteRecord); + } + } +} \ No newline at end of file diff --git a/ODataV4Adaptor/ODataV4Adaptor/Controllers/WeatherForecastController.cs b/ODataV4Adaptor/ODataV4Adaptor/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..6f2b375 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/Controllers/WeatherForecastController.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Mvc; + +namespace ODataV4Adaptor.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/ODataV4Adaptor/ODataV4Adaptor/Models/OrdersDetails.cs b/ODataV4Adaptor/ODataV4Adaptor/Models/OrdersDetails.cs new file mode 100644 index 0000000..c0d9fb9 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/Models/OrdersDetails.cs @@ -0,0 +1,44 @@ +using System.ComponentModel.DataAnnotations; + +namespace ODataV4Adaptor.Models +{ + public class OrdersDetails + { + public static List order = new List(); + public OrdersDetails() + { + + } + public OrdersDetails( + int OrderID, string CustomerId, string ShipCity, string ShipCountry) + { + this.OrderID = OrderID; + this.CustomerID = CustomerId; + this.ShipCity = ShipCity; + this.ShipCountry = ShipCountry; + } + + public static List GetAllRecords() + { + if (order.Count() == 0) + { + int code = 10000; + for (int i = 1; i < 10; i++) + { + order.Add(new OrdersDetails(code + 1, "ALFKI","Berlin", "Denmark")); + order.Add(new OrdersDetails(code + 2, "ANATR", "Madrid", "Brazil")); + order.Add(new OrdersDetails(code + 3, "ANTON", "Cholchester", "Germany")); + order.Add(new OrdersDetails(code + 4, "BLONP", "Marseille", "Austria")); + order.Add(new OrdersDetails(code + 5, "BOLID", "tsawassen", "Switzerland")); + code += 5; + } + } + return order; + } + [Key] + public int? OrderID { get; set; } + public string? CustomerID { get; set; } + public string? ShipCity { get; set; } + public string? ShipCountry { get; set; } + } +} \ No newline at end of file diff --git a/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj new file mode 100644 index 0000000..7c32347 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj @@ -0,0 +1,18 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + diff --git a/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj.user b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj.user new file mode 100644 index 0000000..2c8f5c1 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj.user @@ -0,0 +1,8 @@ + + + + https + ApiControllerEmptyScaffolder + root/Common/Api + + \ No newline at end of file diff --git a/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.http b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.http new file mode 100644 index 0000000..cb8c7fb --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.http @@ -0,0 +1,6 @@ +@ODataV4Adaptor_HostAddress = http://localhost:5214 + +GET {{ODataV4Adaptor_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/ODataV4Adaptor/ODataV4Adaptor/Program.cs b/ODataV4Adaptor/ODataV4Adaptor/Program.cs new file mode 100644 index 0000000..832dee4 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/Program.cs @@ -0,0 +1,50 @@ +using Microsoft.AspNetCore.OData; +using Microsoft.OData.ModelBuilder; +using ODataV4Adaptor.Models; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +// Create an ODataConventionModelBuilder to build the OData model +var modelBuilder = new ODataConventionModelBuilder(); + +// Register the "Orders" entity set with the OData model builder +modelBuilder.EntitySet("Orders"); + +var recordCount = OrdersDetails.GetAllRecords().Count; + +builder.Services.AddControllers().AddOData( + options => options + .Count() + .OrderBy() + .Filter() + .SetMaxTop(recordCount) + .AddRouteComponents( + "odata", + modelBuilder.GetEdmModel())); + +var app = builder.Build(); + +app.UseDefaultFiles(); +app.UseStaticFiles(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/ODataV4Adaptor/ODataV4Adaptor/Properties/launchSettings.json b/ODataV4Adaptor/ODataV4Adaptor/Properties/launchSettings.json new file mode 100644 index 0000000..d2b583a --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:5430", + "sslPort": 44372 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5214", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + // "launchUrl": "swagger", + "applicationUrl": "https://localhost:7047;http://localhost:5214", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/ODataV4Adaptor/ODataV4Adaptor/WeatherForecast.cs b/ODataV4Adaptor/ODataV4Adaptor/WeatherForecast.cs new file mode 100644 index 0000000..3bcb960 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace ODataV4Adaptor +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/ODataV4Adaptor/ODataV4Adaptor/appsettings.Development.json b/ODataV4Adaptor/ODataV4Adaptor/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/ODataV4Adaptor/ODataV4Adaptor/appsettings.json b/ODataV4Adaptor/ODataV4Adaptor/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/ODataV4Adaptor/ODataV4Adaptor/wwwroot/index.html b/ODataV4Adaptor/ODataV4Adaptor/wwwroot/index.html new file mode 100644 index 0000000..b98e813 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/wwwroot/index.html @@ -0,0 +1,33 @@ + + + + ODataV4Adaptor + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + \ No newline at end of file diff --git a/ODataV4Adaptor/ODataV4Adaptor/wwwroot/js/index.js b/ODataV4Adaptor/ODataV4Adaptor/wwwroot/js/index.js new file mode 100644 index 0000000..f7591a1 --- /dev/null +++ b/ODataV4Adaptor/ODataV4Adaptor/wwwroot/js/index.js @@ -0,0 +1,22 @@ +var data = new ej.data.DataManager({ + url: 'https://localhost:7047/odata/Orders', + adaptor: new ej.data.ODataV4Adaptor() +}); +ej.grids.Grid.Inject(ej.grids.Toolbar, ej.grids.Edit, ej.grids.Filter, ej.grids.Page, ej.grids.Sort); + +var grid = new ej.grids.Grid({ + dataSource: data, + allowPaging: true, + allowSorting: true, + allowFiltering: true, + toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'], + editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true, mode: 'Normal' }, + columns: [ + { field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 120, isPrimaryKey: true, type: 'number' }, + { field: 'CustomerID', width: 140, headerText: 'Customer ID', type: 'string' }, + { field: 'ShipCity', headerText: 'ShipCity', width: 140 }, + { field: 'ShipCountry', headerText: 'ShipCountry', width: 140 } + ] +}); + +grid.appendTo('#Grid'); \ No newline at end of file From 6f7f0261aff30bc5c41d7274af45558a4ed467b3 Mon Sep 17 00:00:00 2001 From: Nithya Date: Fri, 21 Jun 2024 11:53:23 +0530 Subject: [PATCH 3/6] Documentation(EJ2-890211): GraphQLAdaptor --- GraphQLAdaptor/GraphQLServer/build/index.js | 2132 +++++++++++++++++ GraphQLAdaptor/GraphQLServer/build/index.map | 1 + GraphQLAdaptor/GraphQLServer/package.json | 18 + GraphQLAdaptor/GraphQLServer/src/db.js | 612 +++++ GraphQLAdaptor/GraphQLServer/src/resolvers.js | 90 + .../GraphQLServer/src/schema.graphql | 63 + GraphQLAdaptor/GridClient/index.css | 0 GraphQLAdaptor/GridClient/index.html | 35 + GraphQLAdaptor/GridClient/index.js | 57 + 9 files changed, 3008 insertions(+) create mode 100644 GraphQLAdaptor/GraphQLServer/build/index.js create mode 100644 GraphQLAdaptor/GraphQLServer/build/index.map create mode 100644 GraphQLAdaptor/GraphQLServer/package.json create mode 100644 GraphQLAdaptor/GraphQLServer/src/db.js create mode 100644 GraphQLAdaptor/GraphQLServer/src/resolvers.js create mode 100644 GraphQLAdaptor/GraphQLServer/src/schema.graphql create mode 100644 GraphQLAdaptor/GridClient/index.css create mode 100644 GraphQLAdaptor/GridClient/index.html create mode 100644 GraphQLAdaptor/GridClient/index.js diff --git a/GraphQLAdaptor/GraphQLServer/build/index.js b/GraphQLAdaptor/GraphQLServer/build/index.js new file mode 100644 index 0000000..b49fda4 --- /dev/null +++ b/GraphQLAdaptor/GraphQLServer/build/index.js @@ -0,0 +1,2132 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./node_modules/graphpack/config/index.js": +/*!************************************************!*\ + !*** ./node_modules/graphpack/config/index.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +const cosmiconfig = __webpack_require__(/*! cosmiconfig */ "cosmiconfig"); +const webpack = __webpack_require__(/*! webpack */ "webpack"); +const defaultConfig = __webpack_require__(/*! ./webpack.config */ "./node_modules/graphpack/config/webpack.config.js"); +const explorer = cosmiconfig('graphpack').search(); +const loadServerConfig = async () => { + const result = await explorer; + const userConfig = result ? typeof result.config === 'function' ? result.config(defaultConfig.mode) : result.config : {}; + return { + port: Number(process.env.PORT), + ...userConfig.server + }; +}; +const loadWebpackConfig = async () => { + const result = await explorer; + const userConfig = result ? typeof result.config === 'function' ? result.config(defaultConfig.mode) : result.config : {}; + if (typeof userConfig.webpack === 'function') { + return userConfig.webpack({ + config: defaultConfig, + webpack + }); + } + return { + ...defaultConfig, + ...userConfig.webpack + }; +}; +exports.loadServerConfig = loadServerConfig; +exports.loadWebpackConfig = loadWebpackConfig; + +/***/ }), + +/***/ "./node_modules/graphpack/config/webpack.config.js": +/*!*********************************************************!*\ + !*** ./node_modules/graphpack/config/webpack.config.js ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +const FriendlyErrorsWebpackPlugin = __webpack_require__(/*! friendly-errors-webpack-plugin */ "friendly-errors-webpack-plugin"); +const fs = __webpack_require__(/*! fs */ "fs"); +const path = __webpack_require__(/*! path */ "path"); +const webpack = __webpack_require__(/*! webpack */ "webpack"); +const nodeExternals = __webpack_require__(/*! webpack-node-externals */ "webpack-node-externals"); +const isDev = "development" !== 'production'; +const isWebpack = typeof __webpack_require__.m === 'object'; +const hasBabelRc = fs.existsSync(path.resolve('babel.config.js')); +if (hasBabelRc && !isWebpack) { + console.info('🐠 Using babel.config.js defined in your app root'); +} +module.exports = { + devtool: 'source-map', + entry: { + // We take care of setting up entry file under lib/index.js + index: ['graphpack'] + }, + // When bundling with Webpack for the backend you usually don't want to bundle + // its node_modules dependencies. This creates an externals function that + // ignores node_modules when bundling in Webpack. + externals: [nodeExternals({ + whitelist: [/^graphpack$/] + })], + mode: isDev ? 'development' : 'production', + module: { + rules: [{ + test: /\.(gql|graphql)/, + use: 'graphql-tag/loader' + }, { + test: /\.(js|ts)$/, + use: [{ + loader: /*require.resolve*/(/*! babel-loader */ "babel-loader"), + options: { + babelrc: true, + cacheDirectory: true, + presets: hasBabelRc ? undefined : [/*require.resolve*/(/*! babel-preset-graphpack */ "babel-preset-graphpack")] + } + }] + }, { + test: /\.mjs$/, + type: 'javascript/auto' + }] + }, + node: { + __filename: true, + __dirname: true + }, + optimization: { + noEmitOnErrors: true + }, + output: { + filename: '[name].js', + libraryTarget: 'commonjs2', + path: path.join(process.cwd(), './build'), + sourceMapFilename: '[name].map' + }, + performance: { + hints: false + }, + plugins: [new webpack.optimize.LimitChunkCountPlugin({ + maxChunks: 1 + }), new webpack.EnvironmentPlugin({ + DEBUG: false, + GRAPHPACK_SRC_DIR: path.resolve(process.cwd(), 'src'), + NODE_ENV: 'development' + }), new FriendlyErrorsWebpackPlugin({ + clearConsole: isDev + })], + resolve: { + extensions: ['.ts', '.js'] + }, + stats: 'minimal', + target: 'node' +}; + +/***/ }), + +/***/ "./node_modules/graphpack/lib/server.js": +/*!**********************************************!*\ + !*** ./node_modules/graphpack/lib/server.js ***! + \**********************************************/ +/*! no exports provided */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var apollo_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! apollo-server */ "apollo-server"); +/* harmony import */ var apollo_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(apollo_server__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var apollo_server_express__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! apollo-server-express */ "apollo-server-express"); +/* harmony import */ var apollo_server_express__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(apollo_server_express__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _srcFiles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./srcFiles */ "./node_modules/graphpack/lib/srcFiles.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../config */ "./node_modules/graphpack/config/index.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_config__WEBPACK_IMPORTED_MODULE_3__); + + + + +if (!(_srcFiles__WEBPACK_IMPORTED_MODULE_2__["resolvers"] && Object.keys(_srcFiles__WEBPACK_IMPORTED_MODULE_2__["resolvers"]).length > 0)) { + throw Error(`Couldn't find any resolvers. Please add resolvers to your src/resolvers.js`); +} +const createServer = config => { + const { + applyMiddleware, + port: serverPort, + ...options + } = config; + const port = Number(process.env.PORT) || serverPort || 4000; + // Pull out fields that are not relevant for the apollo server + + // Use apollo-server-express when middleware detected + if (applyMiddleware && applyMiddleware.app && typeof applyMiddleware.app.listen === 'function') { + const server = new apollo_server_express__WEBPACK_IMPORTED_MODULE_1__["ApolloServer"](options); + server.applyMiddleware(applyMiddleware); + return applyMiddleware.app.listen({ + port + }, () => console.log(`🚀 Server ready at http://localhost:${port}${server.graphqlPath}`)); + } + + // Use apollo-server + const server = new apollo_server__WEBPACK_IMPORTED_MODULE_0__["ApolloServer"](options); + return server.listen({ + port + }).then(({ + url + }) => console.log(`🚀 Server ready at ${url}`)); +}; +const startServer = async () => { + // Load server config from graphpack.config.js + const config = await Object(_config__WEBPACK_IMPORTED_MODULE_3__["loadServerConfig"])(); + createServer({ + ...config, + context: _srcFiles__WEBPACK_IMPORTED_MODULE_2__["context"], + resolvers: _srcFiles__WEBPACK_IMPORTED_MODULE_2__["resolvers"], + typeDefs: _srcFiles__WEBPACK_IMPORTED_MODULE_2__["typeDefs"] + }); +}; +startServer(); + +/***/ }), + +/***/ "./node_modules/graphpack/lib/srcFiles.js": +/*!************************************************!*\ + !*** ./node_modules/graphpack/lib/srcFiles.js ***! + \************************************************/ +/*! exports provided: importFirst, context, resolvers, typeDefs */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "importFirst", function() { return importFirst; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "context", function() { return context; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resolvers", function() { return resolvers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "typeDefs", function() { return typeDefs; }); +const importFirst = req => req.keys().map(mod => req(mod).default || req(mod))[0]; + +// Optionally import modules +const context = importFirst(__webpack_require__("./src sync recursive ^\\.\\/(context|context\\/index)\\.(js|ts)$")); +const resolvers = importFirst(__webpack_require__("./src sync recursive ^\\.\\/(resolvers|resolvers\\/index)\\.(js|ts)$")); +const typeDefs = importFirst(__webpack_require__("./src sync recursive ^\\.\\/(schema|schema\\/index)\\.(gql|graphql|js|ts)$")); + +/***/ }), + +/***/ "./src sync recursive ^\\.\\/(context|context\\/index)\\.(js|ts)$": +/*!**********************************************************!*\ + !*** ./src sync ^\.\/(context|context\/index)\.(js|ts)$ ***! + \**********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +function webpackEmptyContext(req) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +webpackEmptyContext.keys = function() { return []; }; +webpackEmptyContext.resolve = webpackEmptyContext; +module.exports = webpackEmptyContext; +webpackEmptyContext.id = "./src sync recursive ^\\.\\/(context|context\\/index)\\.(js|ts)$"; + +/***/ }), + +/***/ "./src sync recursive ^\\.\\/(resolvers|resolvers\\/index)\\.(js|ts)$": +/*!**************************************************************!*\ + !*** ./src sync ^\.\/(resolvers|resolvers\/index)\.(js|ts)$ ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var map = { + "./resolvers.js": "./src/resolvers.js" +}; + + +function webpackContext(req) { + var id = webpackContextResolve(req); + return __webpack_require__(id); +} +function webpackContextResolve(req) { + if(!__webpack_require__.o(map, req)) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; + } + return map[req]; +} +webpackContext.keys = function webpackContextKeys() { + return Object.keys(map); +}; +webpackContext.resolve = webpackContextResolve; +module.exports = webpackContext; +webpackContext.id = "./src sync recursive ^\\.\\/(resolvers|resolvers\\/index)\\.(js|ts)$"; + +/***/ }), + +/***/ "./src sync recursive ^\\.\\/(schema|schema\\/index)\\.(gql|graphql|js|ts)$": +/*!********************************************************************!*\ + !*** ./src sync ^\.\/(schema|schema\/index)\.(gql|graphql|js|ts)$ ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var map = { + "./schema.graphql": "./src/schema.graphql" +}; + + +function webpackContext(req) { + var id = webpackContextResolve(req); + return __webpack_require__(id); +} +function webpackContextResolve(req) { + if(!__webpack_require__.o(map, req)) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; + } + return map[req]; +} +webpackContext.keys = function webpackContextKeys() { + return Object.keys(map); +}; +webpackContext.resolve = webpackContextResolve; +module.exports = webpackContext; +webpackContext.id = "./src sync recursive ^\\.\\/(schema|schema\\/index)\\.(gql|graphql|js|ts)$"; + +/***/ }), + +/***/ "./src/db.js": +/*!*******************!*\ + !*** ./src/db.js ***! + \*******************/ +/*! exports provided: users, OrderData, virtualData, dataSource, employeeData */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "users", function() { return users; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OrderData", function() { return OrderData; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "virtualData", function() { return virtualData; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dataSource", function() { return dataSource; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "employeeData", function() { return employeeData; }); +let users = [{ + id: 1, + name: "John Doe", + email: "john@gmail.com", + age: 22 +}, { + id: 2, + name: "Jane Doe", + email: "jane@gmail.com", + age: 23 +}]; +let OrderData = [{ + OrderID: 10248, + CustomerID: 'VINET', + EmployeeID: 5, + OrderDate: new Date("07 12 1996 02:00:23"), + ShipName: 'Vins et alcools Chevalier', + ShipCity: 'Reims', + ShipAddress: '59 rue de l Abbaye', + ShipRegion: 'CJ', + ShipPostalCode: '51100', + ShipCountry: 'France', + Freight: 32.38, + Verified: !0 +}, { + OrderID: 10249, + CustomerID: 'TOMSP', + EmployeeID: 6, + OrderDate: new Date("07 12 1996 00:03:23"), + ShipName: 'Toms Spezialitäten', + ShipCity: 'Münster', + ShipAddress: 'Luisenstr. 48', + ShipRegion: 'CJ', + ShipPostalCode: '44087', + ShipCountry: 'Germany', + Freight: 11.61, + Verified: !1 +}, { + OrderID: 10250, + CustomerID: 'HANAR', + EmployeeID: 4, + OrderDate: new Date("07 12 1996 00:00:23"), + ShipName: 'Hanari Carnes', + ShipCity: 'Rio de Janeiro', + ShipAddress: 'Rua do Paço, 67', + ShipRegion: 'RJ', + ShipPostalCode: '05454-876', + ShipCountry: 'Brazil', + Freight: 65.83, + Verified: !0 +}, { + OrderID: 10251, + CustomerID: 'VICTE', + EmployeeID: 3, + OrderDate: new Date(8367642e5), + ShipName: 'Victuailles en stock', + ShipCity: 'Lyon', + ShipAddress: '2, rue du Commerce', + ShipRegion: 'CJ', + ShipPostalCode: '69004', + ShipCountry: 'France', + Freight: 41.34, + Verified: !0 +}, { + OrderID: 10252, + CustomerID: 'SUPRD', + EmployeeID: 4, + OrderDate: new Date(8368506e5), + ShipName: 'Suprêmes délices', + ShipCity: 'Charleroi', + ShipAddress: 'Boulevard Tirou, 255', + ShipRegion: 'CJ', + ShipPostalCode: 'B-6000', + ShipCountry: 'Belgium', + Freight: 51.3, + Verified: !0 +}, { + OrderID: 10253, + CustomerID: 'HANAR', + EmployeeID: 3, + OrderDate: new Date(836937e6), + ShipName: 'Hanari Carnes', + ShipCity: 'Rio de Janeiro', + ShipAddress: 'Rua do Paço, 67', + ShipRegion: 'RJ', + ShipPostalCode: '05454-876', + ShipCountry: 'Brazil', + Freight: 58.17, + Verified: !0 +}, { + OrderID: 10254, + CustomerID: 'CHOPS', + EmployeeID: 5, + OrderDate: new Date(8370234e5), + ShipName: 'Chop-suey Chinese', + ShipCity: 'Bern', + ShipAddress: 'Hauptstr. 31', + ShipRegion: 'CJ', + ShipPostalCode: '3012', + ShipCountry: 'Switzerland', + Freight: 22.98, + Verified: !1 +}, { + OrderID: 10255, + CustomerID: 'RICSU', + EmployeeID: 9, + OrderDate: new Date(8371098e5), + ShipName: 'Richter Supermarkt', + ShipCity: 'Genève', + ShipAddress: 'Starenweg 5', + ShipRegion: 'CJ', + ShipPostalCode: '1204', + ShipCountry: 'Switzerland', + Freight: 148.33, + Verified: !0 +}, { + OrderID: 10256, + CustomerID: 'WELLI', + EmployeeID: 3, + OrderDate: new Date(837369e6), + ShipName: 'Wellington Importadora', + ShipCity: 'Resende', + ShipAddress: 'Rua do Mercado, 12', + ShipRegion: 'SP', + ShipPostalCode: '08737-363', + ShipCountry: 'Brazil', + Freight: 13.97, + Verified: !1 +}, { + OrderID: 10257, + CustomerID: 'HILAA', + EmployeeID: 4, + OrderDate: new Date(8374554e5), + ShipName: 'HILARION-Abastos', + ShipCity: 'San Cristóbal', + ShipAddress: 'Carrera 22 con Ave. Carlos Soublette #8-35', + ShipRegion: 'Táchira', + ShipPostalCode: '5022', + ShipCountry: 'Venezuela', + Freight: 81.91, + Verified: !0 +}, { + OrderID: 10258, + CustomerID: 'ERNSH', + EmployeeID: 1, + OrderDate: new Date(8375418e5), + ShipName: 'Ernst Handel', + ShipCity: 'Graz', + ShipAddress: 'Kirchgasse 6', + ShipRegion: 'CJ', + ShipPostalCode: '8010', + ShipCountry: 'Austria', + Freight: 140.51, + Verified: !0 +}, { + OrderID: 10259, + CustomerID: 'CENTC', + EmployeeID: 4, + OrderDate: new Date(8376282e5), + ShipName: 'Centro comercial Moctezuma', + ShipCity: 'México D.F.', + ShipAddress: 'Sierras de Granada 9993', + ShipRegion: 'CJ', + ShipPostalCode: '05022', + ShipCountry: 'Mexico', + Freight: 3.25, + Verified: !1 +}, { + OrderID: 10260, + CustomerID: 'OTTIK', + EmployeeID: 4, + OrderDate: new Date(8377146e5), + ShipName: 'Ottilies Käseladen', + ShipCity: 'Köln', + ShipAddress: 'Mehrheimerstr. 369', + ShipRegion: 'CJ', + ShipPostalCode: '50739', + ShipCountry: 'Germany', + Freight: 55.09, + Verified: !0 +}, { + OrderID: 10261, + CustomerID: 'QUEDE', + EmployeeID: 4, + OrderDate: new Date(8377146e5), + ShipName: 'Que Delícia', + ShipCity: 'Rio de Janeiro', + ShipAddress: 'Rua da Panificadora, 12', + ShipRegion: 'RJ', + ShipPostalCode: '02389-673', + ShipCountry: 'Brazil', + Freight: 3.05, + Verified: !1 +}, { + OrderID: 10262, + CustomerID: 'RATTC', + EmployeeID: 8, + OrderDate: new Date(8379738e5), + ShipName: 'Rattlesnake Canyon Grocery', + ShipCity: 'Albuquerque', + ShipAddress: '2817 Milton Dr.', + ShipRegion: 'NM', + ShipPostalCode: '87110', + ShipCountry: 'USA', + Freight: 48.29, + Verified: !0 +}, { + OrderID: 10263, + CustomerID: 'ERNSH', + EmployeeID: 9, + OrderDate: new Date(8380602e5), + ShipName: 'Ernst Handel', + ShipCity: 'Graz', + ShipAddress: 'Kirchgasse 6', + ShipRegion: null, + ShipPostalCode: '8010', + ShipCountry: 'Austria', + Freight: 146.06, + Verified: !0 +}, { + OrderID: 10264, + CustomerID: 'FOLKO', + EmployeeID: 6, + OrderDate: new Date(8381466e5), + ShipName: 'Folk och fä HB', + ShipCity: 'Bräcke', + ShipAddress: 'Åkergatan 24', + ShipRegion: null, + ShipPostalCode: 'S-844 67', + ShipCountry: 'Sweden', + Freight: 3.67, + Verified: !1 +}, { + OrderID: 10265, + CustomerID: 'BLONP', + EmployeeID: 2, + OrderDate: new Date(838233e6), + ShipName: 'Blondel père et fils', + ShipCity: 'Strasbourg', + ShipAddress: '24, place Kléber', + ShipRegion: null, + ShipPostalCode: '67000', + ShipCountry: 'France', + Freight: 55.28, + Verified: !0 +}, { + OrderID: 10266, + CustomerID: 'WARTH', + EmployeeID: 3, + OrderDate: new Date(8383194e5), + ShipName: 'Wartian Herkku', + ShipCity: 'Oulu', + ShipAddress: 'Torikatu 38', + ShipRegion: null, + ShipPostalCode: '90110', + ShipCountry: 'Finland', + Freight: 25.73, + Verified: !1 +}, { + OrderID: 10267, + CustomerID: 'FRANK', + EmployeeID: 4, + OrderDate: new Date(8385786e5), + ShipName: 'Frankenversand', + ShipCity: 'München', + ShipAddress: 'Berliner Platz 43', + ShipRegion: null, + ShipPostalCode: '80805', + ShipCountry: 'Germany', + Freight: 208.58, + Verified: !0 +}, { + OrderID: 10268, + CustomerID: 'GROSR', + EmployeeID: 8, + OrderDate: new Date(838665e6), + ShipName: 'GROSELLA-Restaurante', + ShipCity: 'Caracas', + ShipAddress: '5ª Ave. Los Palos Grandes', + ShipRegion: 'DF', + ShipPostalCode: '1081', + ShipCountry: 'Venezuela', + Freight: 66.29, + Verified: !0 +}, { + OrderID: 10269, + CustomerID: 'WHITC', + EmployeeID: 5, + OrderDate: new Date(8387514e5), + ShipName: 'White Clover Markets', + ShipCity: 'Austria', + ShipAddress: '1029 - 12th Ave. S.', + ShipRegion: 'WA', + ShipPostalCode: '98124', + ShipCountry: 'USA', + Freight: 4.56, + Verified: !1 +}, { + OrderID: 10270, + CustomerID: 'WARTH', + EmployeeID: 1, + OrderDate: new Date(8388378e5), + ShipName: 'Wartian Herkku', + ShipCity: 'Oulu', + ShipAddress: 'Torikatu 38', + ShipRegion: null, + ShipPostalCode: '90110', + ShipCountry: 'Finland', + Freight: 136.54, + Verified: !0 +}, { + OrderID: 10271, + CustomerID: 'SPLIR', + EmployeeID: 6, + OrderDate: new Date(8388378e5), + ShipName: 'Split Rail Beer & Ale', + ShipCity: 'Lander', + ShipAddress: 'P.O. Box 555', + ShipRegion: 'WY', + ShipPostalCode: '82520', + ShipCountry: 'USA', + Freight: 4.54, + Verified: !1 +}, { + OrderID: 10272, + CustomerID: 'RATTC', + EmployeeID: 6, + OrderDate: new Date(8389242e5), + ShipName: 'Rattlesnake Canyon Grocery', + ShipCity: 'Albuquerque', + ShipAddress: '2817 Milton Dr.', + ShipRegion: 'NM', + ShipPostalCode: '87110', + ShipCountry: 'USA', + Freight: 98.03, + Verified: !0 +}, { + OrderID: 10273, + CustomerID: 'QUICK', + EmployeeID: 3, + OrderDate: new Date(8391834e5), + ShipName: 'QUICK-Stop', + ShipCity: 'Cunewalde', + ShipAddress: 'Taucherstraße 10', + ShipRegion: null, + ShipPostalCode: '01307', + ShipCountry: 'Germany', + Freight: 76.07, + Verified: !0 +}, { + OrderID: 10274, + CustomerID: 'VINET', + EmployeeID: 6, + OrderDate: new Date(8392698e5), + ShipName: 'Vins et alcools Chevalier', + ShipCity: 'Reims', + ShipAddress: '59 rue de l Abbaye', + ShipRegion: null, + ShipPostalCode: '51100', + ShipCountry: 'France', + Freight: 6.01, + Verified: !1 +}, { + OrderID: 10275, + CustomerID: 'MAGAA', + EmployeeID: 1, + OrderDate: new Date(8393562e5), + ShipName: 'Magazzini Alimentari Riuniti', + ShipCity: 'Bergamo', + ShipAddress: 'Via Ludovico il Moro 22', + ShipRegion: null, + ShipPostalCode: '24100', + ShipCountry: 'Italy', + Freight: 26.93, + Verified: !1 +}, { + OrderID: 10276, + CustomerID: 'TORTU', + EmployeeID: 8, + OrderDate: new Date(8394426e5), + ShipName: 'Tortuga Restaurante', + ShipCity: 'México D.F.', + ShipAddress: 'Avda. Azteca 123', + ShipRegion: null, + ShipPostalCode: '05033', + ShipCountry: 'Mexico', + Freight: 13.84, + Verified: !1 +}, { + OrderID: 10277, + CustomerID: 'MORGK', + EmployeeID: 2, + OrderDate: new Date(839529e6), + ShipName: 'Morgenstern Gesundkost', + ShipCity: 'Leipzig', + ShipAddress: 'Heerstr. 22', + ShipRegion: null, + ShipPostalCode: '04179', + ShipCountry: 'Germany', + Freight: 125.77, + Verified: !0 +}, { + OrderID: 10278, + CustomerID: 'BERGS', + EmployeeID: 8, + OrderDate: new Date(8397882e5), + ShipName: 'Berglunds snabbköp', + ShipCity: 'Luleå', + ShipAddress: 'Berguvsvägen 8', + ShipRegion: null, + ShipPostalCode: 'S-958 22', + ShipCountry: 'Sweden', + Freight: 92.69, + Verified: !0 +}, { + OrderID: 10279, + CustomerID: 'LEHMS', + EmployeeID: 8, + OrderDate: new Date(8398746e5), + ShipName: 'Lehmanns Marktstand', + ShipCity: 'Frankfurt a.M.', + ShipAddress: 'Magazinweg 7', + ShipRegion: null, + ShipPostalCode: '60528', + ShipCountry: 'Germany', + Freight: 25.83, + Verified: !1 +}, { + OrderID: 10280, + CustomerID: 'BERGS', + EmployeeID: 2, + OrderDate: new Date(839961e6), + ShipName: 'Berglunds snabbköp', + ShipCity: 'Luleå', + ShipAddress: 'Berguvsvägen 8', + ShipRegion: null, + ShipPostalCode: 'S-958 22', + ShipCountry: 'Sweden', + Freight: 8.98, + Verified: !1 +}, { + OrderID: 10281, + CustomerID: 'ROMEY', + EmployeeID: 4, + OrderDate: new Date(839961e6), + ShipName: 'Romero y tomillo', + ShipCity: 'Madrid', + ShipAddress: 'Gran Vía, 1', + ShipRegion: null, + ShipPostalCode: '28001', + ShipCountry: 'Spain', + Freight: 2.94, + Verified: !1 +}, { + OrderID: 10282, + CustomerID: 'ROMEY', + EmployeeID: 4, + OrderDate: new Date(8400474e5), + ShipName: 'Romero y tomillo', + ShipCity: 'Madrid', + ShipAddress: 'Gran Vía, 1', + ShipRegion: null, + ShipPostalCode: '28001', + ShipCountry: 'Spain', + Freight: 12.69, + Verified: !1 +}, { + OrderID: 10283, + CustomerID: 'LILAS', + EmployeeID: 3, + OrderDate: new Date(8401338e5), + ShipName: 'LILA-Supermercado', + ShipCity: 'Barquisimeto', + ShipAddress: 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', + ShipRegion: 'Lara', + ShipPostalCode: '3508', + ShipCountry: 'Venezuela', + Freight: 84.81, + Verified: !0 +}, { + OrderID: 10284, + CustomerID: 'LEHMS', + EmployeeID: 4, + OrderDate: new Date(840393e6), + ShipName: 'Lehmanns Marktstand', + ShipCity: 'Frankfurt a.M.', + ShipAddress: 'Magazinweg 7', + ShipRegion: null, + ShipPostalCode: '60528', + ShipCountry: 'Germany', + Freight: 76.56, + Verified: !0 +}, { + OrderID: 10285, + CustomerID: 'QUICK', + EmployeeID: 1, + OrderDate: new Date(8404794e5), + ShipName: 'QUICK-Stop', + ShipCity: 'Cunewalde', + ShipAddress: 'Taucherstraße 10', + ShipRegion: null, + ShipPostalCode: '01307', + ShipCountry: 'Germany', + Freight: 76.83, + Verified: !0 +}, { + OrderID: 10286, + CustomerID: 'QUICK', + EmployeeID: 8, + OrderDate: new Date(8405658e5), + ShipName: 'QUICK-Stop', + ShipCity: 'Cunewalde', + ShipAddress: 'Taucherstraße 10', + ShipRegion: null, + ShipPostalCode: '01307', + ShipCountry: 'Germany', + Freight: 229.24, + Verified: !0 +}, { + OrderID: 10287, + CustomerID: 'RICAR', + EmployeeID: 8, + OrderDate: new Date(8406522e5), + ShipName: 'Ricardo Adocicados', + ShipCity: 'Rio de Janeiro', + ShipAddress: 'Av. Copacabana, 267', + ShipRegion: 'RJ', + ShipPostalCode: '02389-890', + ShipCountry: 'Brazil', + Freight: 12.76, + Verified: !1 +}, { + OrderID: 10288, + CustomerID: 'REGGC', + EmployeeID: 4, + OrderDate: new Date(8407386e5), + ShipName: 'Reggiani Caseifici', + ShipCity: 'Reggio Emilia', + ShipAddress: 'Strada Provinciale 124', + ShipRegion: null, + ShipPostalCode: '42100', + ShipCountry: 'Italy', + Freight: 7.45, + Verified: !1 +}, { + OrderID: 10289, + CustomerID: 'BSBEV', + EmployeeID: 7, + OrderDate: new Date(8409978e5), + ShipName: 'Bs Beverages', + ShipCity: 'Brazil', + ShipAddress: 'Fauntleroy Circus', + ShipRegion: null, + ShipPostalCode: 'EC2 5NT', + ShipCountry: 'UK', + Freight: 22.77, + Verified: !1 +}, { + OrderID: 10290, + CustomerID: 'COMMI', + EmployeeID: 8, + OrderDate: new Date(8410842e5), + ShipName: 'Comércio Mineiro', + ShipCity: 'Sao Paulo', + ShipAddress: 'Av. dos Lusíadas, 23', + ShipRegion: 'SP', + ShipPostalCode: '05432-043', + ShipCountry: 'Brazil', + Freight: 79.7, + Verified: !0 +}, { + OrderID: 10291, + CustomerID: 'QUEDE', + EmployeeID: 6, + OrderDate: new Date(8410842e5), + ShipName: 'Que Delícia', + ShipCity: 'Rio de Janeiro', + ShipAddress: 'Rua da Panificadora, 12', + ShipRegion: 'RJ', + ShipPostalCode: '02389-673', + ShipCountry: 'Brazil', + Freight: 6.4, + Verified: !1 +}, { + OrderID: 10292, + CustomerID: 'TRADH', + EmployeeID: 1, + OrderDate: new Date(8411706e5), + ShipName: 'Tradiçao Hipermercados', + ShipCity: 'Sao Paulo', + ShipAddress: 'Av. Inês de Castro, 414', + ShipRegion: 'SP', + ShipPostalCode: '05634-030', + ShipCountry: 'Brazil', + Freight: 1.35, + Verified: !1 +}, { + OrderID: 10293, + CustomerID: 'TORTU', + EmployeeID: 1, + OrderDate: new Date(841257e6), + ShipName: 'Tortuga Restaurante', + ShipCity: 'México D.F.', + ShipAddress: 'Avda. Azteca 123', + ShipRegion: null, + ShipPostalCode: '05033', + ShipCountry: 'Mexico', + Freight: 21.18, + Verified: !1 +}, { + OrderID: 10294, + CustomerID: 'RATTC', + EmployeeID: 4, + OrderDate: new Date(8413434e5), + ShipName: 'Rattlesnake Canyon Grocery', + ShipCity: 'Albuquerque', + ShipAddress: '2817 Milton Dr.', + ShipRegion: 'NM', + ShipPostalCode: '87110', + ShipCountry: 'USA', + Freight: 147.26, + Verified: !0 +}, { + OrderID: 10295, + CustomerID: 'VINET', + EmployeeID: 2, + OrderDate: new Date(8416026e5), + ShipName: 'Vins et alcools Chevalier', + ShipCity: 'Reims', + ShipAddress: '59 rue de l Abbaye', + ShipRegion: null, + ShipPostalCode: '51100', + ShipCountry: 'France', + Freight: 1.15, + Verified: !1 +}, { + OrderID: 10296, + CustomerID: 'LILAS', + EmployeeID: 6, + OrderDate: new Date(841689e6), + ShipName: 'LILA-Supermercado', + ShipCity: 'Barquisimeto', + ShipAddress: 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', + ShipRegion: 'Lara', + ShipPostalCode: '3508', + ShipCountry: 'Venezuela', + Freight: .12, + Verified: !1 +}, { + OrderID: 10297, + CustomerID: 'BLONP', + EmployeeID: 5, + OrderDate: new Date(8417754e5), + ShipName: 'Blondel père et fils', + ShipCity: 'Strasbourg', + ShipAddress: '24, place Kléber', + ShipRegion: null, + ShipPostalCode: '67000', + ShipCountry: 'France', + Freight: 5.74, + Verified: !1 +}, { + OrderID: 10298, + CustomerID: 'HUNGO', + EmployeeID: 6, + OrderDate: new Date(8418618e5), + ShipName: 'Hungry Owl All-Night Grocers', + ShipCity: 'Cork', + ShipAddress: '8 Johnstown Road', + ShipRegion: 'Co. Cork', + ShipPostalCode: null, + ShipCountry: 'Ireland', + Freight: 168.22, + Verified: !0 +}, { + OrderID: 10299, + CustomerID: 'RICAR', + EmployeeID: 4, + OrderDate: new Date(8419482e5), + ShipName: 'Ricardo Adocicados', + ShipCity: 'Rio de Janeiro', + ShipAddress: 'Av. Copacabana, 267', + ShipRegion: 'RJ', + ShipPostalCode: '02389-890', + ShipCountry: 'Brazil', + Freight: 29.76, + Verified: !1 +}, { + OrderID: 10300, + CustomerID: 'MAGAA', + EmployeeID: 2, + OrderDate: new Date(8422074e5), + ShipName: 'Magazzini Alimentari Riuniti', + ShipCity: 'Bergamo', + ShipAddress: 'Via Ludovico il Moro 22', + ShipRegion: null, + ShipPostalCode: '24100', + ShipCountry: 'Italy', + Freight: 17.68, + Verified: !1 +}, { + OrderID: 10301, + CustomerID: 'WANDK', + EmployeeID: 8, + OrderDate: new Date(8422074e5), + ShipName: 'Die Wandernde Kuh', + ShipCity: 'Stuttgart', + ShipAddress: 'Adenauerallee 900', + ShipRegion: null, + ShipPostalCode: '70563', + ShipCountry: 'Germany', + Freight: 45.08, + Verified: !0 +}, { + OrderID: 10302, + CustomerID: 'SUPRD', + EmployeeID: 4, + OrderDate: new Date(8422938e5), + ShipName: 'Suprêmes délices', + ShipCity: 'Charleroi', + ShipAddress: 'Boulevard Tirou, 255', + ShipRegion: null, + ShipPostalCode: 'B-6000', + ShipCountry: 'Belgium', + Freight: 6.27, + Verified: !1 +}, { + OrderID: 10303, + CustomerID: 'GODOS', + EmployeeID: 7, + OrderDate: new Date(8423802e5), + ShipName: 'Godos Cocina Típica', + ShipCity: 'Sevilla', + ShipAddress: 'C/ Romero, 33', + ShipRegion: null, + ShipPostalCode: '41101', + ShipCountry: 'Spain', + Freight: 107.83, + Verified: !0 +}, { + OrderID: 10304, + CustomerID: 'TORTU', + EmployeeID: 1, + OrderDate: new Date(8424666e5), + ShipName: 'Tortuga Restaurante', + ShipCity: 'México D.F.', + ShipAddress: 'Avda. Azteca 123', + ShipRegion: null, + ShipPostalCode: '05033', + ShipCountry: 'Mexico', + Freight: 63.79, + Verified: !0 +}, { + OrderID: 10305, + CustomerID: 'OLDWO', + EmployeeID: 8, + OrderDate: new Date(842553e6), + ShipName: 'Old World Delicatessen', + ShipCity: 'Anchorage', + ShipAddress: '2743 Bering St.', + ShipRegion: 'AK', + ShipPostalCode: '99508', + ShipCountry: 'USA', + Freight: 257.62, + Verified: !0 +}, { + OrderID: 10306, + CustomerID: 'ROMEY', + EmployeeID: 1, + OrderDate: new Date(8428122e5), + ShipName: 'Romero y tomillo', + ShipCity: 'Madrid', + ShipAddress: 'Gran Vía, 1', + ShipRegion: null, + ShipPostalCode: '28001', + ShipCountry: 'Spain', + Freight: 7.56, + Verified: !1 +}, { + OrderID: 10307, + CustomerID: 'LONEP', + EmployeeID: 2, + OrderDate: new Date(8428986e5), + ShipName: 'Lonesome Pine Restaurant', + ShipCity: 'Portland', + ShipAddress: '89 Chiaroscuro Rd.', + ShipRegion: 'OR', + ShipPostalCode: '97219', + ShipCountry: 'USA', + Freight: .56, + Verified: !1 +}, { + OrderID: 10308, + CustomerID: 'ANATR', + EmployeeID: 7, + OrderDate: new Date(842985e6), + ShipName: 'Ana Trujillo Emparedados y helados', + ShipCity: 'México D.F.', + ShipAddress: 'Avda. de la Constitución 2222', + ShipRegion: null, + ShipPostalCode: '05021', + ShipCountry: 'Mexico', + Freight: 1.61, + Verified: !1 +}, { + OrderID: 10309, + CustomerID: 'HUNGO', + EmployeeID: 3, + OrderDate: new Date(8430714e5), + ShipName: 'Hungry Owl All-Night Grocers', + ShipCity: 'Cork', + ShipAddress: '8 Johnstown Road', + ShipRegion: 'Co. Cork', + ShipPostalCode: null, + ShipCountry: 'Ireland', + Freight: 47.3, + Verified: !0 +}, { + OrderID: 10310, + CustomerID: 'THEBI', + EmployeeID: 8, + OrderDate: new Date(8431578e5), + ShipName: 'The Big Cheese', + ShipCity: 'Portland', + ShipAddress: '89 Jefferson Way Suite 2', + ShipRegion: 'OR', + ShipPostalCode: '97201', + ShipCountry: 'USA', + Freight: 17.52, + Verified: !1 +}, { + OrderID: 10311, + CustomerID: 'DUMON', + EmployeeID: 1, + OrderDate: new Date(8431578e5), + ShipName: 'Du monde entier', + ShipCity: 'Nantes', + ShipAddress: '67, rue des Cinquante Otages', + ShipRegion: null, + ShipPostalCode: '44000', + ShipCountry: 'France', + Freight: 24.69, + Verified: !1 +}, { + OrderID: 10312, + CustomerID: 'WANDK', + EmployeeID: 2, + OrderDate: new Date(843417e6), + ShipName: 'Die Wandernde Kuh', + ShipCity: 'Stuttgart', + ShipAddress: 'Adenauerallee 900', + ShipRegion: null, + ShipPostalCode: '70563', + ShipCountry: 'Germany', + Freight: 40.26, + Verified: !0 +}, { + OrderID: 10313, + CustomerID: 'QUICK', + EmployeeID: 2, + OrderDate: new Date(8435034e5), + ShipName: 'QUICK-Stop', + ShipCity: 'Cunewalde', + ShipAddress: 'Taucherstraße 10', + ShipRegion: null, + ShipPostalCode: '01307', + ShipCountry: 'Germany', + Freight: 1.96, + Verified: !1 +}, { + OrderID: 10314, + CustomerID: 'RATTC', + EmployeeID: 1, + OrderDate: new Date(8435898e5), + ShipName: 'Rattlesnake Canyon Grocery', + ShipCity: 'Albuquerque', + ShipAddress: '2817 Milton Dr.', + ShipRegion: 'NM', + ShipPostalCode: '87110', + ShipCountry: 'USA', + Freight: 74.16, + Verified: !0 +}, { + OrderID: 10315, + CustomerID: 'ISLAT', + EmployeeID: 4, + OrderDate: new Date(8436762e5), + ShipName: 'Island Trading', + ShipCity: 'Cowes', + ShipAddress: 'Garden House Crowther Way', + ShipRegion: 'Isle of Wight', + ShipPostalCode: 'PO31 7PJ', + ShipCountry: 'UK', + Freight: 41.76, + Verified: !0 +}, { + OrderID: 10316, + CustomerID: 'RATTC', + EmployeeID: 1, + OrderDate: new Date(8437626e5), + ShipName: 'Rattlesnake Canyon Grocery', + ShipCity: 'Albuquerque', + ShipAddress: '2817 Milton Dr.', + ShipRegion: 'NM', + ShipPostalCode: '87110', + ShipCountry: 'USA', + Freight: 150.15, + Verified: !0 +}, { + OrderID: 10317, + CustomerID: 'LONEP', + EmployeeID: 6, + OrderDate: new Date(8440218e5), + ShipName: 'Lonesome Pine Restaurant', + ShipCity: 'Portland', + ShipAddress: '89 Chiaroscuro Rd.', + ShipRegion: 'OR', + ShipPostalCode: '97219', + ShipCountry: 'USA', + Freight: 12.69, + Verified: !1 +}, { + OrderID: 10318, + CustomerID: 'ISLAT', + EmployeeID: 8, + OrderDate: new Date(8441082e5), + ShipName: 'Island Trading', + ShipCity: 'Cowes', + ShipAddress: 'Garden House Crowther Way', + ShipRegion: 'Isle of Wight', + ShipPostalCode: 'PO31 7PJ', + ShipCountry: 'UK', + Freight: 4.73, + Verified: !1 +}]; +let virtualData = []; +function dataSource() { + let names = ['VINET', 'TOMSP', 'HANAR', 'VICTE', 'SUPRD', 'HANAR', 'CHOPS', 'RICSU', 'WELLI', 'HILAA', 'ERNSH', 'CENTC', 'OTTIK', 'QUEDE', 'RATTC', 'ERNSH', 'FOLKO', 'BLONP', 'WARTH', 'FRANK', 'GROSR', 'WHITC', 'WARTH', 'SPLIR', 'RATTC', 'QUICK', 'VINET', 'MAGAA', 'TORTU', 'MORGK', 'BERGS', 'LEHMS', 'BERGS', 'ROMEY', 'ROMEY', 'LILAS', 'LEHMS', 'QUICK', 'QUICK', 'RICAR', 'REGGC', 'BSBEV', 'COMMI', 'QUEDE', 'TRADH', 'TORTU', 'RATTC', 'VINET', 'LILAS', 'BLONP', 'HUNGO', 'RICAR', 'MAGAA', 'WANDK', 'SUPRD', 'GODOS', 'TORTU', 'OLDWO', 'ROMEY', 'LONEP', 'ANATR', 'HUNGO', 'THEBI', 'DUMON', 'WANDK', 'QUICK', 'RATTC', 'ISLAT', 'RATTC', 'LONEP', 'ISLAT', 'TORTU', 'WARTH', 'ISLAT', 'PERIC', 'KOENE', 'SAVEA', 'KOENE', 'BOLID', 'FOLKO', 'FURIB', 'SPLIR', 'LILAS', 'BONAP', 'MEREP', 'WARTH', 'VICTE', 'HUNGO', 'PRINI', 'FRANK', 'OLDWO', 'MEREP', 'BONAP', 'SIMOB', 'FRANK', 'LEHMS', 'WHITC', 'QUICK', 'RATTC', 'FAMIA']; + const sport = ['Cricket', 'Football', 'Tennis', 'Golf', 'Chess', 'Dodgeball', 'Racket', 'Archery', 'Climbing', 'Hunting', 'Carrom', 'Tag', 'Novuss', 'Subbuteo', 'Baseball', 'Madden NFL', 'Shuffleboard', 'Badminton', 'Hockey', 'Volleyball', 'Table Tennis', 'Golf', 'Cycling', 'Running', 'Walking', 'Wireball', 'Town ball', 'Tee ball', 'Stool ball', 'Stick ball']; + const country = ['India', 'Australia', 'Ballesteros', 'Belgium', 'Brazil', 'England', 'Ethiopia', 'Finland', 'France', 'Germany', 'Britain', 'Argentina', 'Jamaica', 'Kenya', 'Morocco', 'Ireland', 'Norway', 'Philippines', 'Portugal', 'Romania', 'Russia', 'Scotland', 'Scottish', 'Serbia', 'Spain', 'Sweden', 'Switzerland', 'Netherlands', 'UK', 'Ukraine', 'US', 'Wales', 'West Indies', 'China', 'Hong Kong', 'Italy', 'Philippines', 'Turkey', 'Botswana', 'Sri Lanka', 'Algeria', 'Bangladesh', 'Egypt', 'Malaysia']; + for (let i = 0; i < 100000; i++) { + virtualData.push({ + 'SNo': i + 1, + 'FIELD1': names[Math.floor(Math.random() * names.length)], + 'FIELD2': 1967 + i % 10, + 'FIELD3': sport[Math.floor(Math.random() * sport.length)], + 'FIELD4': country[Math.floor(Math.random() * country.length)], + 'FIELD5': Math.floor(Math.random() * 2000), + 'FIELD6': Math.floor(Math.random() * 1000), + 'FIELD7': Math.floor(Math.random() * 100), + 'FIELD8': Math.floor(Math.random() * 10), + 'FIELD9': Math.floor(Math.random() * 10), + 'FIELD10': Math.floor(Math.random() * 100), + 'FIELD11': Math.floor(Math.random() * 100), + 'FIELD12': Math.floor(Math.random() * 1000), + 'FIELD13': Math.floor(Math.random() * 10), + 'FIELD14': Math.floor(Math.random() * 10), + 'FIELD15': Math.floor(Math.random() * 1000), + 'FIELD16': Math.floor(Math.random() * 200), + 'FIELD17': Math.floor(Math.random() * 300), + 'FIELD18': Math.floor(Math.random() * 400), + 'FIELD19': Math.floor(Math.random() * 500), + 'FIELD20': Math.floor(Math.random() * 700), + 'FIELD21': Math.floor(Math.random() * 800), + 'FIELD22': Math.floor(Math.random() * 1000), + 'FIELD23': Math.floor(Math.random() * 2000), + 'FIELD24': Math.floor(Math.random() * 150), + 'FIELD25': Math.floor(Math.random() * 1000), + 'FIELD26': Math.floor(Math.random() * 100), + 'FIELD27': Math.floor(Math.random() * 400), + 'FIELD28': Math.floor(Math.random() * 600), + 'FIELD29': Math.floor(Math.random() * 500), + 'FIELD30': Math.floor(Math.random() * 300) + }); + } +} +let employeeData = [{ + 'EmployeeID': 1, + 'Name': { + 'LastName': 'abc' + }, + 'FirstName': 'Nancy', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-664743600000), + 'HireDate': new Date(704692800000), + 'Address': '507 - 20th Ave. E.\r\nApt. 2A', + 'City': 'Austria', + 'Region': 'WA', + 'PostalCode': '98122', + 'Country': 'USA', + 'HomePhone': '(206) 555-9857', + 'Extension': '5467', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Education includes a BA in psychology from Colorado State University in 1970. She also completed\ + \'The Art of the Cold Call.\' Nancy is a member of Toastmasters International.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, { + 'EmployeeID': 2, + 'Name': { + 'LastName': 'cde' + }, + 'FirstName': 'Andrew', + 'Title': 'Vice President, Sales', + 'TitleOfCourtesy': 'Dr.', + 'BirthDate': new Date(-563828400000), + 'HireDate': new Date(713764800000), + 'Address': '908 W. Capital Way', + 'City': 'Germany', + 'Region': 'WA', + 'PostalCode': '98401', + 'Country': 'USA', + 'HomePhone': '(206) 555-9482', + 'Extension': '3457', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of \ + Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, \ + was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the \ + Sales Management Roundtable, the Austria Chamber of Commerce, and the Pacific Rim Importers Association.', + 'ReportsTo': 0, + 'PhotoPath': 'http://accweb/emmployees/fuller.bmp' +}, { + 'EmployeeID': 3, + 'Name': { + 'LastName': 'wqe' + }, + 'FirstName': 'Janet', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-200088000000), + 'HireDate': new Date(702104400000), + 'Address': '722 Moss Bay Blvd.', + 'City': 'France', + 'Region': 'WA', + 'PostalCode': '98033', + 'Country': 'USA', + 'HomePhone': '(206) 555-3412', + 'Extension': '3355', + 'Photo': { + 'Length': 21722 + }, + 'Notes': 'Janet has a BS degree in chemistry from Boston College (1984). \ + She has also completed a certificate program in food retailing management.\ + Janet was hired as a sales associate in 1991 and promoted to sales representative in February 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/leverling.bmp' +}, { + 'EmployeeID': 4, + 'Name': { + 'LastName': 'yte' + }, + 'FirstName': 'Margaret', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mrs.', + 'BirthDate': new Date(-1018814400000), + 'HireDate': new Date(736401600000), + 'Address': '4110 Old Switzerland Rd.', + 'City': 'Switzerland', + 'Region': 'WA', + 'PostalCode': '98052', + 'Country': 'USA', + 'HomePhone': '(206) 555-8122', + 'Extension': '5176', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American \ + Institute of Culinary Arts (1966). She was assigned to the Brazil office temporarily from July through November 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/peacock.bmp' +}, { + 'EmployeeID': 5, + 'Name': { + 'LastName': 'qwe' + }, + 'FirstName': 'Steven', + 'Title': 'Sales Manager', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-468010800000), + 'HireDate': new Date(750830400000), + 'Address': '14 Garrett Hill', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'SW1 8JR', + 'Country': 'UK', + 'HomePhone': '(71) 555-4848', + 'Extension': '3453', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Steven Buchanan graduated from St. Andrews University, Scotland, with a BSC degree in 1976. Upon joining the company as \ + a sales representative in 1992, he spent 6 months in an orientation program at the Austria office and then returned to his permanent \ + post in Brazil. He was promoted to sales manager in March 1993. Mr. Buchanan has completed the courses \'Successful \ + Telemarketing\' and \'International Sales Management.\' He is fluent in French.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/buchanan.bmp' +}, { + 'EmployeeID': 6, + 'Name': { + 'LastName': 'trw' + }, + 'FirstName': 'Michael', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-205185600000), + 'HireDate': new Date(750830400000), + 'Address': 'Coventry House\r\nMiner Rd.', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'EC2 7JR', + 'Country': 'UK', + 'HomePhone': '(71) 555-7773', + 'Extension': '428', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Michael is a graduate of Sussex University (MA, economics, 1983) and the University of California at Los Angeles \ + (MBA, marketing, 1986). He has also taken the courses \'Multi-Cultural Selling\' and \'Time Management for the Sales Professional.\' \ + He is fluent in Japanese and can read and write French, Portuguese, and Spanish.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, { + 'EmployeeID': 7, + 'Name': { + 'LastName': 'cbe' + }, + 'FirstName': 'Robert', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-302731200000), + 'HireDate': new Date(757486800000), + 'Address': 'Edgeham Hollow\r\nWinchester Way', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'RG1 9SP', + 'Country': 'UK', + 'HomePhone': '(71) 555-5598', + 'Extension': '465', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Robert King served in the Peace Corps and traveled extensively before completing his degree in English at the \ + University of Michigan in 1992, the year he joined the company. After completing a course entitled \'Selling in Europe,\' \ + he was transferred to the Brazil office in March 1993.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, { + 'EmployeeID': 8, + 'Name': { + 'LastName': 'dbc' + }, + 'FirstName': 'Laura', + 'Title': 'Inside Sales Coordinator', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-377982000000), + 'HireDate': new Date(762843600000), + 'Address': '4726 - 11th Ave. N.E.', + 'City': 'Austria', + 'Region': 'WA', + 'PostalCode': '98105', + 'Country': 'USA', + 'HomePhone': '(206) 555-1189', + 'Extension': '2344', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Laura received a BA in psychology from the University of Washington. She has also completed a course in business \ + French. She reads and writes French.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, { + 'EmployeeID': 9, + 'Name': { + 'LastName': 'xyz' + }, + 'FirstName': 'Anne', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-123966000000), + 'HireDate': new Date(784875600000), + 'Address': '7 Houndstooth Rd.', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'WG2 7LT', + 'Country': 'UK', + 'HomePhone': '(71) 555-4444', + 'Extension': '452', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Anne has a BA degree in English from St. Lawrence College. She is fluent in French and German.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, { + 'EmployeeID': 10, + 'Name': { + 'LastName': 'abc' + }, + 'FirstName': 'Nancy', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-664743600000), + 'HireDate': new Date(704692800000), + 'Address': '507 - 20th Ave. E.\r\nApt. 2A', + 'City': 'Austria', + 'Region': 'WA', + 'PostalCode': '98122', + 'Country': 'USA', + 'HomePhone': '(206) 555-9857', + 'Extension': '5467', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Education includes a BA in psychology from Colorado State University in 1970. She also completed\ + \'The Art of the Cold Call.\' Nancy is a member of Toastmasters International.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, { + 'EmployeeID': 11, + 'Name': { + 'LastName': 'cde' + }, + 'FirstName': 'Andrew', + 'Title': 'Vice President, Sales', + 'TitleOfCourtesy': 'Dr.', + 'BirthDate': new Date(-563828400000), + 'HireDate': new Date(713764800000), + 'Address': '908 W. Capital Way', + 'City': 'Germany', + 'Region': 'WA', + 'PostalCode': '98401', + 'Country': 'USA', + 'HomePhone': '(206) 555-9482', + 'Extension': '3457', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of \ + Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, \ + was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the \ + Sales Management Roundtable, the Austria Chamber of Commerce, and the Pacific Rim Importers Association.', + 'ReportsTo': 0, + 'PhotoPath': 'http://accweb/emmployees/fuller.bmp' +}, { + 'EmployeeID': 12, + 'Name': { + 'LastName': 'wqe' + }, + 'FirstName': 'Janet', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-200088000000), + 'HireDate': new Date(702104400000), + 'Address': '722 Moss Bay Blvd.', + 'City': 'France', + 'Region': 'WA', + 'PostalCode': '98033', + 'Country': 'USA', + 'HomePhone': '(206) 555-3412', + 'Extension': '3355', + 'Photo': { + 'Length': 21722 + }, + 'Notes': 'Janet has a BS degree in chemistry from Boston College (1984). \ + She has also completed a certificate program in food retailing management.\ + Janet was hired as a sales associate in 1991 and promoted to sales representative in February 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/leverling.bmp' +}, { + 'EmployeeID': 13, + 'Name': { + 'LastName': 'xyz' + }, + 'FirstName': 'Peacock', + 'Title': 'Sales Manager', + 'TitleOfCourtesy': 'Mrs.', + 'BirthDate': new Date(-1018814400000), + 'HireDate': new Date(736401600000), + 'Address': '4110 Old Switzerland Rd.', + 'City': 'Germany', + 'Region': 'WA', + 'PostalCode': '98052', + 'Country': 'USA', + 'HomePhone': '(206) 555-8122', + 'Extension': '5176', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American \ + Institute of Culinary Arts (1966). She was assigned to the Brazil office temporarily from July through November 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/peacock.bmp' +}, { + 'EmployeeID': 14, + 'Name': { + 'LastName': 'yte' + }, + 'FirstName': 'Margaret', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mrs.', + 'BirthDate': new Date(-1018814400000), + 'HireDate': new Date(736401600000), + 'Address': '4110 Old Switzerland Rd.', + 'City': 'Switzerland', + 'Region': 'WA', + 'PostalCode': '98052', + 'Country': 'USA', + 'HomePhone': '(206) 555-8122', + 'Extension': '5176', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American \ + Institute of Culinary Arts (1966). She was assigned to the Brazil office temporarily from July through November 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/peacock.bmp' +}, { + 'EmployeeID': 15, + 'Name': { + 'LastName': 'qwe' + }, + 'FirstName': 'Steven', + 'Title': 'Sales Manager', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-468010800000), + 'HireDate': new Date(750830400000), + 'Address': '14 Garrett Hill', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'SW1 8JR', + 'Country': 'UK', + 'HomePhone': '(71) 555-4848', + 'Extension': '3453', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Steven Buchanan graduated from St. Andrews University, Scotland, with a BSC degree in 1976. Upon joining the company as \ + a sales representative in 1992, he spent 6 months in an orientation program at the Austria office and then returned to his permanent \ + post in Brazil. He was promoted to sales manager in March 1993. Mr. Buchanan has completed the courses \'Successful \ + Telemarketing\' and \'International Sales Management.\' He is fluent in French.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/buchanan.bmp' +}, { + 'EmployeeID': 16, + 'Name': { + 'LastName': 'trw' + }, + 'FirstName': 'Michael', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-205185600000), + 'HireDate': new Date(750830400000), + 'Address': 'Coventry House\r\nMiner Rd.', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'EC2 7JR', + 'Country': 'UK', + 'HomePhone': '(71) 555-7773', + 'Extension': '428', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Michael is a graduate of Sussex University (MA, economics, 1983) and the University of California at Los Angeles \ + (MBA, marketing, 1986). He has also taken the courses \'Multi-Cultural Selling\' and \'Time Management for the Sales Professional.\' \ + He is fluent in Japanese and can read and write French, Portuguese, and Spanish.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, { + 'EmployeeID': 17, + 'Name': { + 'LastName': 'cbe' + }, + 'FirstName': 'Robert', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-302731200000), + 'HireDate': new Date(757486800000), + 'Address': 'Edgeham Hollow\r\nWinchester Way', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'RG1 9SP', + 'Country': 'UK', + 'HomePhone': '(71) 555-5598', + 'Extension': '465', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Robert King served in the Peace Corps and traveled extensively before completing his degree in English at the \ + University of Michigan in 1992, the year he joined the company. After completing a course entitled \'Selling in Europe,\' \ + he was transferred to the Brazil office in March 1993.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, { + 'EmployeeID': 18, + 'Name': { + 'LastName': 'dbc' + }, + 'FirstName': 'Laura', + 'Title': 'Inside Sales Coordinator', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-377982000000), + 'HireDate': new Date(762843600000), + 'Address': '4726 - 11th Ave. N.E.', + 'City': 'Austria', + 'Region': 'WA', + 'PostalCode': '98105', + 'Country': 'USA', + 'HomePhone': '(206) 555-1189', + 'Extension': '2344', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Laura received a BA in psychology from the University of Washington. She has also completed a course in business \ + French. She reads and writes French.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, { + 'EmployeeID': 19, + 'Name': { + 'LastName': 'xyz' + }, + 'FirstName': 'Anne', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-123966000000), + 'HireDate': new Date(784875600000), + 'Address': '7 Houndstooth Rd.', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'WG2 7LT', + 'Country': 'UK', + 'HomePhone': '(71) 555-4444', + 'Extension': '452', + 'Photo': { + 'Length': 21626 + }, + 'Notes': 'Anne has a BA degree in English from St. Lawrence College. She is fluent in French and German.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}]; + +/***/ }), + +/***/ "./src/resolvers.js": +/*!**************************!*\ + !*** ./src/resolvers.js ***! + \**************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _db__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./db */ "./src/db.js"); +/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-data */ "@syncfusion/ej2-data"); +/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__); + + +_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__["DataUtil"].serverTimezoneOffset = 0; +const resolvers = { + Query: { + getOrders: (parent, { + datamanager + }, context, info) => { + console.log(datamanager); + let orders = [..._db__WEBPACK_IMPORTED_MODULE_0__["OrderData"]]; + const query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__["Query"](); + const performFiltering = filterString => { + const filter = JSON.parse(filterString); + // Iterating over each predicate + filter[0].predicates.forEach(predicate => { + const field = predicate.field; + const operator = predicate.operator; + const value = predicate.value; + query.where(field, operator, value); + }); + }; + const performSearching = searchParam => { + const { + fields, + key + } = JSON.parse(searchParam)[0]; + query.search(key, fields); + }; + const performSorting = sorted => { + for (let i = 0; i < sorted.length; i++) { + const { + name, + direction + } = sorted[i]; + query.sortBy(name, direction); + } + }; + + // Perform filtering + if (datamanager.where) { + performFiltering(datamanager.where); + } + + // Perform Searching + if (datamanager.search) { + performSearching(datamanager.search); + } + + // Perform sorting + if (datamanager.sorted) { + performSorting(datamanager.sorted); + } + orders = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__["DataManager"](orders).executeLocal(query); + var count = orders.length; + + // Perform paging + if (datamanager.skip && datamanager.take) { + const pageSkip = datamanager.skip / datamanager.take + 1; + const pageTake = datamanager.take; + query.page(pageSkip, pageTake); + } else if (datamanager.skip === 0 && datamanager.take) { + query.page(1, datamanager.take); + } + const currentResult = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__["DataManager"](orders).executeLocal(query); + return { + result: currentResult, + count: count + }; // Return result and count separately + } + }, + Mutation: { + createOrder: (parent, { + value + }, context, info) => { + const newOrder = value; + _db__WEBPACK_IMPORTED_MODULE_0__["OrderData"].push(newOrder); + return newOrder; + }, + updateOrder: (parent, { + key, + keyColumn, + value + }, context, info) => { + let updatedOrder = _db__WEBPACK_IMPORTED_MODULE_0__["OrderData"].find(order => order.OrderID === parseInt(key)); + updatedOrder.CustomerID = value.CustomerID; + updatedOrder.EmployeeID = value.EmployeeID; + updatedOrder.Freight = value.Freight; + updatedOrder.ShipCity = value.ShipCity; + updatedOrder.ShipCountry = value.ShipCountry; + return updatedOrder; // Make sure to return the updated order. + }, + deleteOrder: (parent, { + key, + keyColumn, + value + }, context, info) => { + const orderIndex = _db__WEBPACK_IMPORTED_MODULE_0__["OrderData"].findIndex(order => order.OrderID === parseInt(key)); + if (orderIndex === -1) throw new Error("Order not found." + value); + const deletedOrders = _db__WEBPACK_IMPORTED_MODULE_0__["OrderData"].splice(orderIndex, 1); + return deletedOrders[0]; + } + } +}; +/* harmony default export */ __webpack_exports__["default"] = (resolvers); + +/***/ }), + +/***/ "./src/schema.graphql": +/*!****************************!*\ + !*** ./src/schema.graphql ***! + \****************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + + + var doc = {"kind":"Document","definitions":[{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"Sort"},"directives":[],"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"name"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"direction"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},"directives":[]}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"Aggregate"},"directives":[],"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"field"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"type"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},"directives":[]}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"DataManager"},"directives":[],"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"skip"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"take"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"sorted"},"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Sort"}}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"group"},"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"table"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"select"},"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"where"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"search"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"requiresCounts"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"aggregates"},"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Aggregate"}}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"params"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"OrderInput"},"directives":[],"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"OrderID"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"CustomerID"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"EmployeeID"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"ShipCity"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"ShipCountry"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]}]},{"kind":"ObjectTypeDefinition","name":{"kind":"Name","value":"Order"},"interfaces":[],"directives":[],"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"OrderID"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},"directives":[]},{"kind":"FieldDefinition","name":{"kind":"Name","value":"CustomerID"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]},{"kind":"FieldDefinition","name":{"kind":"Name","value":"EmployeeID"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}},"directives":[]},{"kind":"FieldDefinition","name":{"kind":"Name","value":"ShipCity"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]},{"kind":"FieldDefinition","name":{"kind":"Name","value":"ShipCountry"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]}]},{"kind":"ObjectTypeDefinition","name":{"kind":"Name","value":"ReturnType"},"interfaces":[],"directives":[],"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"result"},"arguments":[],"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Order"}}},"directives":[]},{"kind":"FieldDefinition","name":{"kind":"Name","value":"count"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}},"directives":[]},{"kind":"FieldDefinition","name":{"kind":"Name","value":"aggregates"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]}]},{"kind":"ObjectTypeDefinition","name":{"kind":"Name","value":"Query"},"interfaces":[],"directives":[],"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"getOrders"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"datamanager"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DataManager"}},"directives":[]}],"type":{"kind":"NamedType","name":{"kind":"Name","value":"ReturnType"}},"directives":[]}]},{"kind":"ObjectTypeDefinition","name":{"kind":"Name","value":"Mutation"},"interfaces":[],"directives":[],"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"createOrder"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"value"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"OrderInput"}},"directives":[]}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Order"}}},"directives":[]},{"kind":"FieldDefinition","name":{"kind":"Name","value":"updateOrder"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"key"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"keyColumn"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"value"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"OrderInput"}},"directives":[]}],"type":{"kind":"NamedType","name":{"kind":"Name","value":"Order"}},"directives":[]},{"kind":"FieldDefinition","name":{"kind":"Name","value":"deleteOrder"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"key"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"keyColumn"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"directives":[]},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"value"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"OrderInput"}},"directives":[]}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Order"}}},"directives":[]}]}],"loc":{"start":0,"end":1212}}; + doc.loc.source = {"body":"#Grid Sort direction\r\n\r\ninput Sort {\r\n name: String!\r\n direction: String!\r\n} \r\n\r\n#Grid aggregates type\r\n\r\ninput Aggregate {\r\n field: String! \r\n type: String!\r\n}\r\n\r\n#Syncfusion DataManager query params\r\n\r\ninput DataManager {\r\n skip: Int\r\n take: Int\r\n sorted: [Sort]\r\n group: [String]\r\n table: String\r\n select: [String]\r\n where: String\r\n search: String\r\n requiresCounts: Boolean,\r\n aggregates: [Aggregate],\r\n params: String\r\n}\r\n\r\n# Grid field names\r\ninput OrderInput {\r\n OrderID: Int!\r\n CustomerID: String\r\n EmployeeID: Int\r\n ShipCity: String\r\n ShipCountry: String\r\n}\r\n\r\ntype Order {\r\n OrderID: Int!\r\n CustomerID: String\r\n EmployeeID: Int\r\n ShipCity: String\r\n ShipCountry: String\r\n}\r\n\r\n# need to return type as 'result (i.e, current pager data)' and count (i.e., total number of records in your database)\r\ntype ReturnType {\r\n result: [Order]\r\n count: Int\r\n aggregates: String\r\n}\r\n\r\ntype Query {\r\n getOrders(datamanager: DataManager): ReturnType \r\n}\r\ntype Mutation {\r\n\r\n createOrder(value: OrderInput): Order!\r\n updateOrder(key: Int!, keyColumn: String, value: OrderInput): Order\r\n deleteOrder(key: Int!, keyColumn: String, value: OrderInput): Order!\r\n}","name":"GraphQL request","locationOffset":{"line":1,"column":1}}; + + + var names = {}; + function unique(defs) { + return defs.filter( + function(def) { + if (def.kind !== 'FragmentDefinition') return true; + var name = def.name.value + if (names[name]) { + return false; + } else { + names[name] = true; + return true; + } + } + ) + } + + + module.exports = doc; + + + +/***/ }), + +/***/ 0: +/*!***********************!*\ + !*** multi graphpack ***! + \***********************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! graphpack */"./node_modules/graphpack/lib/server.js"); + + +/***/ }), + +/***/ "@syncfusion/ej2-data": +/*!***************************************!*\ + !*** external "@syncfusion/ej2-data" ***! + \***************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("@syncfusion/ej2-data"); + +/***/ }), + +/***/ "apollo-server": +/*!********************************!*\ + !*** external "apollo-server" ***! + \********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("apollo-server"); + +/***/ }), + +/***/ "apollo-server-express": +/*!****************************************!*\ + !*** external "apollo-server-express" ***! + \****************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("apollo-server-express"); + +/***/ }), + +/***/ "babel-loader": +/*!*******************************!*\ + !*** external "babel-loader" ***! + \*******************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("babel-loader"); + +/***/ }), + +/***/ "babel-preset-graphpack": +/*!*****************************************!*\ + !*** external "babel-preset-graphpack" ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("babel-preset-graphpack"); + +/***/ }), + +/***/ "cosmiconfig": +/*!******************************!*\ + !*** external "cosmiconfig" ***! + \******************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("cosmiconfig"); + +/***/ }), + +/***/ "friendly-errors-webpack-plugin": +/*!*************************************************!*\ + !*** external "friendly-errors-webpack-plugin" ***! + \*************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("friendly-errors-webpack-plugin"); + +/***/ }), + +/***/ "fs": +/*!*********************!*\ + !*** external "fs" ***! + \*********************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("fs"); + +/***/ }), + +/***/ "path": +/*!***********************!*\ + !*** external "path" ***! + \***********************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("path"); + +/***/ }), + +/***/ "webpack": +/*!**************************!*\ + !*** external "webpack" ***! + \**************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("webpack"); + +/***/ }), + +/***/ "webpack-node-externals": +/*!*****************************************!*\ + !*** external "webpack-node-externals" ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("webpack-node-externals"); + +/***/ }) + +/******/ }); +//# sourceMappingURL=index.map \ No newline at end of file diff --git a/GraphQLAdaptor/GraphQLServer/build/index.map b/GraphQLAdaptor/GraphQLServer/build/index.map new file mode 100644 index 0000000..fce5827 --- /dev/null +++ b/GraphQLAdaptor/GraphQLServer/build/index.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/graphpack/config/index.js","webpack:///./node_modules/graphpack/config/webpack.config.js","webpack:///./node_modules/graphpack/lib/server.js","webpack:///./node_modules/graphpack/lib/srcFiles.js","webpack:///./src sync ^\\.\\/(context|context\\/index)\\.(js|ts)$","webpack:///./src sync ^\\.\\/(resolvers|resolvers\\/index)\\.(js|ts)$","webpack:///./src sync ^\\.\\/(schema|schema\\/index)\\.(gql|graphql|js|ts)$","webpack:///./src/db.js","webpack:///./src/resolvers.js","webpack:///./src/schema.graphql","webpack:///external \"@syncfusion/ej2-data\"","webpack:///external \"apollo-server\"","webpack:///external \"apollo-server-express\"","webpack:///external \"babel-loader\"","webpack:///external \"babel-preset-graphpack\"","webpack:///external \"cosmiconfig\"","webpack:///external \"friendly-errors-webpack-plugin\"","webpack:///external \"fs\"","webpack:///external \"path\"","webpack:///external \"webpack\"","webpack:///external \"webpack-node-externals\""],"names":["cosmiconfig","require","webpack","defaultConfig","explorer","search","loadServerConfig","result","userConfig","config","mode","port","Number","process","env","PORT","server","loadWebpackConfig","exports","FriendlyErrorsWebpackPlugin","fs","path","nodeExternals","isDev","isWebpack","__webpack_modules__","hasBabelRc","existsSync","resolve","console","info","module","devtool","entry","index","externals","whitelist","rules","test","use","loader","options","babelrc","cacheDirectory","presets","undefined","type","node","__filename","__dirname","optimization","noEmitOnErrors","output","filename","libraryTarget","join","cwd","sourceMapFilename","performance","hints","plugins","optimize","LimitChunkCountPlugin","maxChunks","EnvironmentPlugin","DEBUG","GRAPHPACK_SRC_DIR","NODE_ENV","clearConsole","extensions","stats","target","resolvers","Object","keys","length","Error","createServer","applyMiddleware","serverPort","app","listen","ApolloExpressServer","log","graphqlPath","ApolloServer","then","url","startServer","context","typeDefs","importFirst","req","map","mod","default","users","id","name","email","age","OrderData","OrderID","CustomerID","EmployeeID","OrderDate","Date","ShipName","ShipCity","ShipAddress","ShipRegion","ShipPostalCode","ShipCountry","Freight","Verified","virtualData","dataSource","names","sport","country","i","push","Math","floor","random","employeeData","DataUtil","serverTimezoneOffset","Query","getOrders","parent","datamanager","orders","query","performFiltering","filterString","filter","JSON","parse","predicates","forEach","predicate","field","operator","value","where","performSearching","searchParam","fields","key","performSorting","sorted","direction","sortBy","DataManager","executeLocal","count","skip","take","pageSkip","pageTake","page","currentResult","Mutation","createOrder","newOrder","updateOrder","keyColumn","updatedOrder","find","order","parseInt","deleteOrder","orderIndex","findIndex","deletedOrders","splice"],"mappings":"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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","const cosmiconfig = require('cosmiconfig');\nconst webpack = require('webpack');\nconst defaultConfig = require('./webpack.config');\n\nconst explorer = cosmiconfig('graphpack').search();\n\nconst loadServerConfig = async () => {\n const result = await explorer;\n const userConfig = result\n ? typeof result.config === 'function'\n ? result.config(defaultConfig.mode)\n : result.config\n : {};\n\n return { port: Number(process.env.PORT), ...userConfig.server };\n};\n\nconst loadWebpackConfig = async () => {\n const result = await explorer;\n const userConfig = result\n ? typeof result.config === 'function'\n ? result.config(defaultConfig.mode)\n : result.config\n : {};\n\n if (typeof userConfig.webpack === 'function') {\n return userConfig.webpack({ config: defaultConfig, webpack });\n }\n\n return { ...defaultConfig, ...userConfig.webpack };\n};\n\nexports.loadServerConfig = loadServerConfig;\nexports.loadWebpackConfig = loadWebpackConfig;\n","const FriendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin');\nconst fs = require('fs');\nconst path = require('path');\nconst webpack = require('webpack');\nconst nodeExternals = require('webpack-node-externals');\n\nconst isDev = process.env.NODE_ENV !== 'production';\nconst isWebpack = typeof __webpack_modules__ === 'object';\nconst hasBabelRc = fs.existsSync(path.resolve('babel.config.js'));\n\nif (hasBabelRc && !isWebpack) {\n console.info('🐠 Using babel.config.js defined in your app root');\n}\n\nmodule.exports = {\n devtool: 'source-map',\n entry: {\n // We take care of setting up entry file under lib/index.js\n index: ['graphpack'],\n },\n // When bundling with Webpack for the backend you usually don't want to bundle\n // its node_modules dependencies. This creates an externals function that\n // ignores node_modules when bundling in Webpack.\n externals: [nodeExternals({ whitelist: [/^graphpack$/] })],\n mode: isDev ? 'development' : 'production',\n module: {\n rules: [\n {\n test: /\\.(gql|graphql)/,\n use: 'graphql-tag/loader',\n },\n {\n test: /\\.(js|ts)$/,\n use: [\n {\n loader: require.resolve('babel-loader'),\n options: {\n babelrc: true,\n cacheDirectory: true,\n presets: hasBabelRc\n ? undefined\n : [require.resolve('babel-preset-graphpack')],\n },\n },\n ],\n },\n {\n test: /\\.mjs$/,\n type: 'javascript/auto',\n },\n ],\n },\n node: {\n __filename: true,\n __dirname: true,\n },\n optimization: { noEmitOnErrors: true },\n output: {\n filename: '[name].js',\n libraryTarget: 'commonjs2',\n path: path.join(process.cwd(), './build'),\n sourceMapFilename: '[name].map',\n },\n performance: {\n hints: false,\n },\n plugins: [\n new webpack.optimize.LimitChunkCountPlugin({ maxChunks: 1 }),\n new webpack.EnvironmentPlugin({\n DEBUG: false,\n GRAPHPACK_SRC_DIR: path.resolve(process.cwd(), 'src'),\n NODE_ENV: 'development',\n }),\n new FriendlyErrorsWebpackPlugin({ clearConsole: isDev }),\n ],\n resolve: {\n extensions: ['.ts', '.js'],\n },\n stats: 'minimal',\n target: 'node',\n};\n","import { ApolloServer } from 'apollo-server';\nimport { ApolloServer as ApolloExpressServer } from 'apollo-server-express';\nimport { context, resolvers, typeDefs } from './srcFiles';\nimport { loadServerConfig } from '../config';\n\nif (!(resolvers && Object.keys(resolvers).length > 0)) {\n throw Error(\n `Couldn't find any resolvers. Please add resolvers to your src/resolvers.js`,\n );\n}\n\nconst createServer = config => {\n const { applyMiddleware, port: serverPort, ...options } = config;\n const port = Number(process.env.PORT) || serverPort || 4000;\n // Pull out fields that are not relevant for the apollo server\n\n // Use apollo-server-express when middleware detected\n if (\n applyMiddleware &&\n applyMiddleware.app &&\n typeof applyMiddleware.app.listen === 'function'\n ) {\n const server = new ApolloExpressServer(options);\n server.applyMiddleware(applyMiddleware);\n\n return applyMiddleware.app.listen({ port }, () =>\n console.log(\n `🚀 Server ready at http://localhost:${port}${server.graphqlPath}`,\n ),\n );\n }\n\n // Use apollo-server\n const server = new ApolloServer(options);\n\n return server\n .listen({ port })\n .then(({ url }) => console.log(`🚀 Server ready at ${url}`));\n};\n\nconst startServer = async () => {\n // Load server config from graphpack.config.js\n const config = await loadServerConfig();\n\n createServer({ ...config, context, resolvers, typeDefs });\n};\n\nstartServer();\n","export const importFirst = req =>\n req.keys().map(mod => req(mod).default || req(mod))[0];\n\n// Optionally import modules\nexport const context = importFirst(\n require.context(\n process.env.GRAPHPACK_SRC_DIR,\n true,\n /^\\.\\/(context|context\\/index)\\.(js|ts)$/,\n ),\n);\nexport const resolvers = importFirst(\n require.context(\n process.env.GRAPHPACK_SRC_DIR,\n true,\n /^\\.\\/(resolvers|resolvers\\/index)\\.(js|ts)$/,\n ),\n);\nexport const typeDefs = importFirst(\n require.context(\n process.env.GRAPHPACK_SRC_DIR,\n true,\n /^\\.\\/(schema|schema\\/index)\\.(gql|graphql|js|ts)$/,\n ),\n);\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = \"./src sync recursive ^\\\\.\\\\/(context|context\\\\/index)\\\\.(js|ts)$\";","var map = {\n\t\"./resolvers.js\": \"./src/resolvers.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src sync recursive ^\\\\.\\\\/(resolvers|resolvers\\\\/index)\\\\.(js|ts)$\";","var map = {\n\t\"./schema.graphql\": \"./src/schema.graphql\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src sync recursive ^\\\\.\\\\/(schema|schema\\\\/index)\\\\.(gql|graphql|js|ts)$\";","export let users = [\r\n { id: 1, name: \"John Doe\", email: \"john@gmail.com\", age: 22 },\r\n { id: 2, name: \"Jane Doe\", email: \"jane@gmail.com\", age: 23 }\r\n ];\r\n\r\n export let OrderData = [\r\n {\r\n OrderID: 10248, CustomerID: 'VINET', EmployeeID: 5, OrderDate: new Date(\"07 12 1996 02:00:23\"),\r\n ShipName: 'Vins et alcools Chevalier', ShipCity: 'Reims', ShipAddress: '59 rue de l Abbaye',\r\n ShipRegion: 'CJ', ShipPostalCode: '51100', ShipCountry: 'France', Freight: 32.38, Verified: !0\r\n },\r\n {\r\n OrderID: 10249, CustomerID: 'TOMSP', EmployeeID: 6, OrderDate: new Date(\"07 12 1996 00:03:23\"),\r\n ShipName: 'Toms Spezialitäten', ShipCity: 'Münster', ShipAddress: 'Luisenstr. 48',\r\n ShipRegion: 'CJ', ShipPostalCode: '44087', ShipCountry: 'Germany', Freight: 11.61, Verified: !1\r\n },\r\n {\r\n OrderID: 10250, CustomerID: 'HANAR', EmployeeID: 4, OrderDate: new Date(\"07 12 1996 00:00:23\"),\r\n ShipName: 'Hanari Carnes', ShipCity: 'Rio de Janeiro', ShipAddress: 'Rua do Paço, 67',\r\n ShipRegion: 'RJ', ShipPostalCode: '05454-876', ShipCountry: 'Brazil', Freight: 65.83, Verified: !0\r\n },\r\n {\r\n OrderID: 10251, CustomerID: 'VICTE', EmployeeID: 3, OrderDate: new Date(8367642e5),\r\n ShipName: 'Victuailles en stock', ShipCity: 'Lyon', ShipAddress: '2, rue du Commerce',\r\n ShipRegion: 'CJ', ShipPostalCode: '69004', ShipCountry: 'France', Freight: 41.34, Verified: !0\r\n },\r\n {\r\n OrderID: 10252, CustomerID: 'SUPRD', EmployeeID: 4, OrderDate: new Date(8368506e5),\r\n ShipName: 'Suprêmes délices', ShipCity: 'Charleroi', ShipAddress: 'Boulevard Tirou, 255',\r\n ShipRegion: 'CJ', ShipPostalCode: 'B-6000', ShipCountry: 'Belgium', Freight: 51.3, Verified: !0\r\n },\r\n {\r\n OrderID: 10253, CustomerID: 'HANAR', EmployeeID: 3, OrderDate: new Date(836937e6),\r\n ShipName: 'Hanari Carnes', ShipCity: 'Rio de Janeiro', ShipAddress: 'Rua do Paço, 67',\r\n ShipRegion: 'RJ', ShipPostalCode: '05454-876', ShipCountry: 'Brazil', Freight: 58.17, Verified: !0\r\n },\r\n {\r\n OrderID: 10254, CustomerID: 'CHOPS', EmployeeID: 5, OrderDate: new Date(8370234e5),\r\n ShipName: 'Chop-suey Chinese', ShipCity: 'Bern', ShipAddress: 'Hauptstr. 31',\r\n ShipRegion: 'CJ', ShipPostalCode: '3012', ShipCountry: 'Switzerland', Freight: 22.98, Verified: !1\r\n },\r\n {\r\n OrderID: 10255, CustomerID: 'RICSU', EmployeeID: 9, OrderDate: new Date(8371098e5),\r\n ShipName: 'Richter Supermarkt', ShipCity: 'Genève', ShipAddress: 'Starenweg 5',\r\n ShipRegion: 'CJ', ShipPostalCode: '1204', ShipCountry: 'Switzerland', Freight: 148.33, Verified: !0\r\n },\r\n {\r\n OrderID: 10256, CustomerID: 'WELLI', EmployeeID: 3, OrderDate: new Date(837369e6),\r\n ShipName: 'Wellington Importadora', ShipCity: 'Resende', ShipAddress: 'Rua do Mercado, 12',\r\n ShipRegion: 'SP', ShipPostalCode: '08737-363', ShipCountry: 'Brazil', Freight: 13.97, Verified: !1\r\n },\r\n {\r\n OrderID: 10257, CustomerID: 'HILAA', EmployeeID: 4, OrderDate: new Date(8374554e5),\r\n ShipName: 'HILARION-Abastos', ShipCity: 'San Cristóbal', ShipAddress: 'Carrera 22 con Ave. Carlos Soublette #8-35',\r\n ShipRegion: 'Táchira', ShipPostalCode: '5022', ShipCountry: 'Venezuela', Freight: 81.91, Verified: !0\r\n },\r\n {\r\n OrderID: 10258, CustomerID: 'ERNSH', EmployeeID: 1, OrderDate: new Date(8375418e5),\r\n ShipName: 'Ernst Handel', ShipCity: 'Graz', ShipAddress: 'Kirchgasse 6',\r\n ShipRegion: 'CJ', ShipPostalCode: '8010', ShipCountry: 'Austria', Freight: 140.51, Verified: !0\r\n },\r\n {\r\n OrderID: 10259, CustomerID: 'CENTC', EmployeeID: 4, OrderDate: new Date(8376282e5),\r\n ShipName: 'Centro comercial Moctezuma', ShipCity: 'México D.F.', ShipAddress: 'Sierras de Granada 9993',\r\n ShipRegion: 'CJ', ShipPostalCode: '05022', ShipCountry: 'Mexico', Freight: 3.25, Verified: !1\r\n },\r\n {\r\n OrderID: 10260, CustomerID: 'OTTIK', EmployeeID: 4, OrderDate: new Date(8377146e5),\r\n ShipName: 'Ottilies Käseladen', ShipCity: 'Köln', ShipAddress: 'Mehrheimerstr. 369',\r\n ShipRegion: 'CJ', ShipPostalCode: '50739', ShipCountry: 'Germany', Freight: 55.09, Verified: !0\r\n },\r\n {\r\n OrderID: 10261, CustomerID: 'QUEDE', EmployeeID: 4, OrderDate: new Date(8377146e5),\r\n ShipName: 'Que Delícia', ShipCity: 'Rio de Janeiro', ShipAddress: 'Rua da Panificadora, 12',\r\n ShipRegion: 'RJ', ShipPostalCode: '02389-673', ShipCountry: 'Brazil', Freight: 3.05, Verified: !1\r\n },\r\n {\r\n OrderID: 10262, CustomerID: 'RATTC', EmployeeID: 8, OrderDate: new Date(8379738e5),\r\n ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.',\r\n ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 48.29, Verified: !0\r\n },\r\n {\r\n OrderID: 10263, CustomerID: 'ERNSH', EmployeeID: 9, OrderDate: new Date(8380602e5),\r\n ShipName: 'Ernst Handel', ShipCity: 'Graz', ShipAddress: 'Kirchgasse 6', ShipRegion: null, ShipPostalCode: '8010', ShipCountry: 'Austria', Freight: 146.06, Verified: !0\r\n }, { OrderID: 10264, CustomerID: 'FOLKO', EmployeeID: 6, OrderDate: new Date(8381466e5), ShipName: 'Folk och fä HB', ShipCity: 'Bräcke', ShipAddress: 'Åkergatan 24', ShipRegion: null, ShipPostalCode: 'S-844 67', ShipCountry: 'Sweden', Freight: 3.67, Verified: !1 }, { OrderID: 10265, CustomerID: 'BLONP', EmployeeID: 2, OrderDate: new Date(838233e6), ShipName: 'Blondel père et fils', ShipCity: 'Strasbourg', ShipAddress: '24, place Kléber', ShipRegion: null, ShipPostalCode: '67000', ShipCountry: 'France', Freight: 55.28, Verified: !0 }, { OrderID: 10266, CustomerID: 'WARTH', EmployeeID: 3, OrderDate: new Date(8383194e5), ShipName: 'Wartian Herkku', ShipCity: 'Oulu', ShipAddress: 'Torikatu 38', ShipRegion: null, ShipPostalCode: '90110', ShipCountry: 'Finland', Freight: 25.73, Verified: !1 }, { OrderID: 10267, CustomerID: 'FRANK', EmployeeID: 4, OrderDate: new Date(8385786e5), ShipName: 'Frankenversand', ShipCity: 'München', ShipAddress: 'Berliner Platz 43', ShipRegion: null, ShipPostalCode: '80805', ShipCountry: 'Germany', Freight: 208.58, Verified: !0 }, { OrderID: 10268, CustomerID: 'GROSR', EmployeeID: 8, OrderDate: new Date(838665e6), ShipName: 'GROSELLA-Restaurante', ShipCity: 'Caracas', ShipAddress: '5ª Ave. Los Palos Grandes', ShipRegion: 'DF', ShipPostalCode: '1081', ShipCountry: 'Venezuela', Freight: 66.29, Verified: !0 }, { OrderID: 10269, CustomerID: 'WHITC', EmployeeID: 5, OrderDate: new Date(8387514e5), ShipName: 'White Clover Markets', ShipCity: 'Austria', ShipAddress: '1029 - 12th Ave. S.', ShipRegion: 'WA', ShipPostalCode: '98124', ShipCountry: 'USA', Freight: 4.56, Verified: !1 }, { OrderID: 10270, CustomerID: 'WARTH', EmployeeID: 1, OrderDate: new Date(8388378e5), ShipName: 'Wartian Herkku', ShipCity: 'Oulu', ShipAddress: 'Torikatu 38', ShipRegion: null, ShipPostalCode: '90110', ShipCountry: 'Finland', Freight: 136.54, Verified: !0 }, { OrderID: 10271, CustomerID: 'SPLIR', EmployeeID: 6, OrderDate: new Date(8388378e5), ShipName: 'Split Rail Beer & Ale', ShipCity: 'Lander', ShipAddress: 'P.O. Box 555', ShipRegion: 'WY', ShipPostalCode: '82520', ShipCountry: 'USA', Freight: 4.54, Verified: !1 }, { OrderID: 10272, CustomerID: 'RATTC', EmployeeID: 6, OrderDate: new Date(8389242e5), ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.', ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 98.03, Verified: !0 }, { OrderID: 10273, CustomerID: 'QUICK', EmployeeID: 3, OrderDate: new Date(8391834e5), ShipName: 'QUICK-Stop', ShipCity: 'Cunewalde', ShipAddress: 'Taucherstraße 10', ShipRegion: null, ShipPostalCode: '01307', ShipCountry: 'Germany', Freight: 76.07, Verified: !0 }, { OrderID: 10274, CustomerID: 'VINET', EmployeeID: 6, OrderDate: new Date(8392698e5), ShipName: 'Vins et alcools Chevalier', ShipCity: 'Reims', ShipAddress: '59 rue de l Abbaye', ShipRegion: null, ShipPostalCode: '51100', ShipCountry: 'France', Freight: 6.01, Verified: !1 }, { OrderID: 10275, CustomerID: 'MAGAA', EmployeeID: 1, OrderDate: new Date(8393562e5), ShipName: 'Magazzini Alimentari Riuniti', ShipCity: 'Bergamo', ShipAddress: 'Via Ludovico il Moro 22', ShipRegion: null, ShipPostalCode: '24100', ShipCountry: 'Italy', Freight: 26.93, Verified: !1 }, { OrderID: 10276, CustomerID: 'TORTU', EmployeeID: 8, OrderDate: new Date(8394426e5), ShipName: 'Tortuga Restaurante', ShipCity: 'México D.F.', ShipAddress: 'Avda. Azteca 123', ShipRegion: null, ShipPostalCode: '05033', ShipCountry: 'Mexico', Freight: 13.84, Verified: !1 }, { OrderID: 10277, CustomerID: 'MORGK', EmployeeID: 2, OrderDate: new Date(839529e6), ShipName: 'Morgenstern Gesundkost', ShipCity: 'Leipzig', ShipAddress: 'Heerstr. 22', ShipRegion: null, ShipPostalCode: '04179', ShipCountry: 'Germany', Freight: 125.77, Verified: !0 }, { OrderID: 10278, CustomerID: 'BERGS', EmployeeID: 8, OrderDate: new Date(8397882e5), ShipName: 'Berglunds snabbköp', ShipCity: 'Luleå', ShipAddress: 'Berguvsvägen 8', ShipRegion: null, ShipPostalCode: 'S-958 22', ShipCountry: 'Sweden', Freight: 92.69, Verified: !0 }, { OrderID: 10279, CustomerID: 'LEHMS', EmployeeID: 8, OrderDate: new Date(8398746e5), ShipName: 'Lehmanns Marktstand', ShipCity: 'Frankfurt a.M.', ShipAddress: 'Magazinweg 7', ShipRegion: null, ShipPostalCode: '60528', ShipCountry: 'Germany', Freight: 25.83, Verified: !1 }, { OrderID: 10280, CustomerID: 'BERGS', EmployeeID: 2, OrderDate: new Date(839961e6), ShipName: 'Berglunds snabbköp', ShipCity: 'Luleå', ShipAddress: 'Berguvsvägen 8', ShipRegion: null, ShipPostalCode: 'S-958 22', ShipCountry: 'Sweden', Freight: 8.98, Verified: !1 }, { OrderID: 10281, CustomerID: 'ROMEY', EmployeeID: 4, OrderDate: new Date(839961e6), ShipName: 'Romero y tomillo', ShipCity: 'Madrid', ShipAddress: 'Gran Vía, 1', ShipRegion: null, ShipPostalCode: '28001', ShipCountry: 'Spain', Freight: 2.94, Verified: !1 }, { OrderID: 10282, CustomerID: 'ROMEY', EmployeeID: 4, OrderDate: new Date(8400474e5), ShipName: 'Romero y tomillo', ShipCity: 'Madrid', ShipAddress: 'Gran Vía, 1', ShipRegion: null, ShipPostalCode: '28001', ShipCountry: 'Spain', Freight: 12.69, Verified: !1 }, { OrderID: 10283, CustomerID: 'LILAS', EmployeeID: 3, OrderDate: new Date(8401338e5), ShipName: 'LILA-Supermercado', ShipCity: 'Barquisimeto', ShipAddress: 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', ShipRegion: 'Lara', ShipPostalCode: '3508', ShipCountry: 'Venezuela', Freight: 84.81, Verified: !0 }, { OrderID: 10284, CustomerID: 'LEHMS', EmployeeID: 4, OrderDate: new Date(840393e6), ShipName: 'Lehmanns Marktstand', ShipCity: 'Frankfurt a.M.', ShipAddress: 'Magazinweg 7', ShipRegion: null, ShipPostalCode: '60528', ShipCountry: 'Germany', Freight: 76.56, Verified: !0 }, { OrderID: 10285, CustomerID: 'QUICK', EmployeeID: 1, OrderDate: new Date(8404794e5), ShipName: 'QUICK-Stop', ShipCity: 'Cunewalde', ShipAddress: 'Taucherstraße 10', ShipRegion: null, ShipPostalCode: '01307', ShipCountry: 'Germany', Freight: 76.83, Verified: !0 }, { OrderID: 10286, CustomerID: 'QUICK', EmployeeID: 8, OrderDate: new Date(8405658e5), ShipName: 'QUICK-Stop', ShipCity: 'Cunewalde', ShipAddress: 'Taucherstraße 10', ShipRegion: null, ShipPostalCode: '01307', ShipCountry: 'Germany', Freight: 229.24, Verified: !0 }, { OrderID: 10287, CustomerID: 'RICAR', EmployeeID: 8, OrderDate: new Date(8406522e5), ShipName: 'Ricardo Adocicados', ShipCity: 'Rio de Janeiro', ShipAddress: 'Av. Copacabana, 267', ShipRegion: 'RJ', ShipPostalCode: '02389-890', ShipCountry: 'Brazil', Freight: 12.76, Verified: !1 }, { OrderID: 10288, CustomerID: 'REGGC', EmployeeID: 4, OrderDate: new Date(8407386e5), ShipName: 'Reggiani Caseifici', ShipCity: 'Reggio Emilia', ShipAddress: 'Strada Provinciale 124', ShipRegion: null, ShipPostalCode: '42100', ShipCountry: 'Italy', Freight: 7.45, Verified: !1 }, { OrderID: 10289, CustomerID: 'BSBEV', EmployeeID: 7, OrderDate: new Date(8409978e5), ShipName: 'Bs Beverages', ShipCity: 'Brazil', ShipAddress: 'Fauntleroy Circus', ShipRegion: null, ShipPostalCode: 'EC2 5NT', ShipCountry: 'UK', Freight: 22.77, Verified: !1 }, { OrderID: 10290, CustomerID: 'COMMI', EmployeeID: 8, OrderDate: new Date(8410842e5), ShipName: 'Comércio Mineiro', ShipCity: 'Sao Paulo', ShipAddress: 'Av. dos Lusíadas, 23', ShipRegion: 'SP', ShipPostalCode: '05432-043', ShipCountry: 'Brazil', Freight: 79.7, Verified: !0 }, { OrderID: 10291, CustomerID: 'QUEDE', EmployeeID: 6, OrderDate: new Date(8410842e5), ShipName: 'Que Delícia', ShipCity: 'Rio de Janeiro', ShipAddress: 'Rua da Panificadora, 12', ShipRegion: 'RJ', ShipPostalCode: '02389-673', ShipCountry: 'Brazil', Freight: 6.4, Verified: !1 }, { OrderID: 10292, CustomerID: 'TRADH', EmployeeID: 1, OrderDate: new Date(8411706e5), ShipName: 'Tradiçao Hipermercados', ShipCity: 'Sao Paulo', ShipAddress: 'Av. Inês de Castro, 414', ShipRegion: 'SP', ShipPostalCode: '05634-030', ShipCountry: 'Brazil', Freight: 1.35, Verified: !1 }, { OrderID: 10293, CustomerID: 'TORTU', EmployeeID: 1, OrderDate: new Date(841257e6), ShipName: 'Tortuga Restaurante', ShipCity: 'México D.F.', ShipAddress: 'Avda. Azteca 123', ShipRegion: null, ShipPostalCode: '05033', ShipCountry: 'Mexico', Freight: 21.18, Verified: !1 }, { OrderID: 10294, CustomerID: 'RATTC', EmployeeID: 4, OrderDate: new Date(8413434e5), ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.', ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 147.26, Verified: !0 }, { OrderID: 10295, CustomerID: 'VINET', EmployeeID: 2, OrderDate: new Date(8416026e5), ShipName: 'Vins et alcools Chevalier', ShipCity: 'Reims', ShipAddress: '59 rue de l Abbaye', ShipRegion: null, ShipPostalCode: '51100', ShipCountry: 'France', Freight: 1.15, Verified: !1 }, { OrderID: 10296, CustomerID: 'LILAS', EmployeeID: 6, OrderDate: new Date(841689e6), ShipName: 'LILA-Supermercado', ShipCity: 'Barquisimeto', ShipAddress: 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', ShipRegion: 'Lara', ShipPostalCode: '3508', ShipCountry: 'Venezuela', Freight: .12, Verified: !1 }, { OrderID: 10297, CustomerID: 'BLONP', EmployeeID: 5, OrderDate: new Date(8417754e5), ShipName: 'Blondel père et fils', ShipCity: 'Strasbourg', ShipAddress: '24, place Kléber', ShipRegion: null, ShipPostalCode: '67000', ShipCountry: 'France', Freight: 5.74, Verified: !1 }, { OrderID: 10298, CustomerID: 'HUNGO', EmployeeID: 6, OrderDate: new Date(8418618e5), ShipName: 'Hungry Owl All-Night Grocers', ShipCity: 'Cork', ShipAddress: '8 Johnstown Road', ShipRegion: 'Co. Cork', ShipPostalCode: null, ShipCountry: 'Ireland', Freight: 168.22, Verified: !0 }, { OrderID: 10299, CustomerID: 'RICAR', EmployeeID: 4, OrderDate: new Date(8419482e5), ShipName: 'Ricardo Adocicados', ShipCity: 'Rio de Janeiro', ShipAddress: 'Av. Copacabana, 267', ShipRegion: 'RJ', ShipPostalCode: '02389-890', ShipCountry: 'Brazil', Freight: 29.76, Verified: !1 }, { OrderID: 10300, CustomerID: 'MAGAA', EmployeeID: 2, OrderDate: new Date(8422074e5), ShipName: 'Magazzini Alimentari Riuniti', ShipCity: 'Bergamo', ShipAddress: 'Via Ludovico il Moro 22', ShipRegion: null, ShipPostalCode: '24100', ShipCountry: 'Italy', Freight: 17.68, Verified: !1 }, { OrderID: 10301, CustomerID: 'WANDK', EmployeeID: 8, OrderDate: new Date(8422074e5), ShipName: 'Die Wandernde Kuh', ShipCity: 'Stuttgart', ShipAddress: 'Adenauerallee 900', ShipRegion: null, ShipPostalCode: '70563', ShipCountry: 'Germany', Freight: 45.08, Verified: !0 }, { OrderID: 10302, CustomerID: 'SUPRD', EmployeeID: 4, OrderDate: new Date(8422938e5), ShipName: 'Suprêmes délices', ShipCity: 'Charleroi', ShipAddress: 'Boulevard Tirou, 255', ShipRegion: null, ShipPostalCode: 'B-6000', ShipCountry: 'Belgium', Freight: 6.27, Verified: !1 }, { OrderID: 10303, CustomerID: 'GODOS', EmployeeID: 7, OrderDate: new Date(8423802e5), ShipName: 'Godos Cocina Típica', ShipCity: 'Sevilla', ShipAddress: 'C/ Romero, 33', ShipRegion: null, ShipPostalCode: '41101', ShipCountry: 'Spain', Freight: 107.83, Verified: !0 }, { OrderID: 10304, CustomerID: 'TORTU', EmployeeID: 1, OrderDate: new Date(8424666e5), ShipName: 'Tortuga Restaurante', ShipCity: 'México D.F.', ShipAddress: 'Avda. Azteca 123', ShipRegion: null, ShipPostalCode: '05033', ShipCountry: 'Mexico', Freight: 63.79, Verified: !0 }, { OrderID: 10305, CustomerID: 'OLDWO', EmployeeID: 8, OrderDate: new Date(842553e6), ShipName: 'Old World Delicatessen', ShipCity: 'Anchorage', ShipAddress: '2743 Bering St.', ShipRegion: 'AK', ShipPostalCode: '99508', ShipCountry: 'USA', Freight: 257.62, Verified: !0 }, { OrderID: 10306, CustomerID: 'ROMEY', EmployeeID: 1, OrderDate: new Date(8428122e5), ShipName: 'Romero y tomillo', ShipCity: 'Madrid', ShipAddress: 'Gran Vía, 1', ShipRegion: null, ShipPostalCode: '28001', ShipCountry: 'Spain', Freight: 7.56, Verified: !1 }, { OrderID: 10307, CustomerID: 'LONEP', EmployeeID: 2, OrderDate: new Date(8428986e5), ShipName: 'Lonesome Pine Restaurant', ShipCity: 'Portland', ShipAddress: '89 Chiaroscuro Rd.', ShipRegion: 'OR', ShipPostalCode: '97219', ShipCountry: 'USA', Freight: .56, Verified: !1 }, { OrderID: 10308, CustomerID: 'ANATR', EmployeeID: 7, OrderDate: new Date(842985e6), ShipName: 'Ana Trujillo Emparedados y helados', ShipCity: 'México D.F.', ShipAddress: 'Avda. de la Constitución 2222', ShipRegion: null, ShipPostalCode: '05021', ShipCountry: 'Mexico', Freight: 1.61, Verified: !1 }, { OrderID: 10309, CustomerID: 'HUNGO', EmployeeID: 3, OrderDate: new Date(8430714e5), ShipName: 'Hungry Owl All-Night Grocers', ShipCity: 'Cork', ShipAddress: '8 Johnstown Road', ShipRegion: 'Co. Cork', ShipPostalCode: null, ShipCountry: 'Ireland', Freight: 47.3, Verified: !0 }, { OrderID: 10310, CustomerID: 'THEBI', EmployeeID: 8, OrderDate: new Date(8431578e5), ShipName: 'The Big Cheese', ShipCity: 'Portland', ShipAddress: '89 Jefferson Way Suite 2', ShipRegion: 'OR', ShipPostalCode: '97201', ShipCountry: 'USA', Freight: 17.52, Verified: !1 }, { OrderID: 10311, CustomerID: 'DUMON', EmployeeID: 1, OrderDate: new Date(8431578e5), ShipName: 'Du monde entier', ShipCity: 'Nantes', ShipAddress: '67, rue des Cinquante Otages', ShipRegion: null, ShipPostalCode: '44000', ShipCountry: 'France', Freight: 24.69, Verified: !1 }, { OrderID: 10312, CustomerID: 'WANDK', EmployeeID: 2, OrderDate: new Date(843417e6), ShipName: 'Die Wandernde Kuh', ShipCity: 'Stuttgart', ShipAddress: 'Adenauerallee 900', ShipRegion: null, ShipPostalCode: '70563', ShipCountry: 'Germany', Freight: 40.26, Verified: !0 }, { OrderID: 10313, CustomerID: 'QUICK', EmployeeID: 2, OrderDate: new Date(8435034e5), ShipName: 'QUICK-Stop', ShipCity: 'Cunewalde', ShipAddress: 'Taucherstraße 10', ShipRegion: null, ShipPostalCode: '01307', ShipCountry: 'Germany', Freight: 1.96, Verified: !1 }, { OrderID: 10314, CustomerID: 'RATTC', EmployeeID: 1, OrderDate: new Date(8435898e5), ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.', ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 74.16, Verified: !0 }, { OrderID: 10315, CustomerID: 'ISLAT', EmployeeID: 4, OrderDate: new Date(8436762e5), ShipName: 'Island Trading', ShipCity: 'Cowes', ShipAddress: 'Garden House Crowther Way', ShipRegion: 'Isle of Wight', ShipPostalCode: 'PO31 7PJ', ShipCountry: 'UK', Freight: 41.76, Verified: !0 }, { OrderID: 10316, CustomerID: 'RATTC', EmployeeID: 1, OrderDate: new Date(8437626e5), ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.', ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 150.15, Verified: !0 }, { OrderID: 10317, CustomerID: 'LONEP', EmployeeID: 6, OrderDate: new Date(8440218e5), ShipName: 'Lonesome Pine Restaurant', ShipCity: 'Portland', ShipAddress: '89 Chiaroscuro Rd.', ShipRegion: 'OR', ShipPostalCode: '97219', ShipCountry: 'USA', Freight: 12.69, Verified: !1 }, { OrderID: 10318, CustomerID: 'ISLAT', EmployeeID: 8, OrderDate: new Date(8441082e5), ShipName: 'Island Trading', ShipCity: 'Cowes', ShipAddress: 'Garden House Crowther Way', ShipRegion: 'Isle of Wight', ShipPostalCode: 'PO31 7PJ', ShipCountry: 'UK', Freight: 4.73, Verified: !1 }];\r\n\r\n export let virtualData = [];\r\nexport function dataSource() {\r\n let names = ['VINET', 'TOMSP', 'HANAR', 'VICTE', 'SUPRD', 'HANAR', 'CHOPS', 'RICSU', 'WELLI', 'HILAA', 'ERNSH', 'CENTC',\r\n 'OTTIK', 'QUEDE', 'RATTC', 'ERNSH', 'FOLKO', 'BLONP', 'WARTH', 'FRANK', 'GROSR', 'WHITC', 'WARTH', 'SPLIR', 'RATTC', 'QUICK', 'VINET',\r\n 'MAGAA', 'TORTU', 'MORGK', 'BERGS', 'LEHMS', 'BERGS', 'ROMEY', 'ROMEY', 'LILAS', 'LEHMS', 'QUICK', 'QUICK', 'RICAR', 'REGGC', 'BSBEV',\r\n 'COMMI', 'QUEDE', 'TRADH', 'TORTU', 'RATTC', 'VINET', 'LILAS', 'BLONP', 'HUNGO', 'RICAR', 'MAGAA', 'WANDK', 'SUPRD', 'GODOS', 'TORTU',\r\n 'OLDWO', 'ROMEY', 'LONEP', 'ANATR', 'HUNGO', 'THEBI', 'DUMON', 'WANDK', 'QUICK', 'RATTC', 'ISLAT', 'RATTC', 'LONEP', 'ISLAT', 'TORTU',\r\n 'WARTH', 'ISLAT', 'PERIC', 'KOENE', 'SAVEA', 'KOENE', 'BOLID', 'FOLKO', 'FURIB', 'SPLIR', 'LILAS', 'BONAP', 'MEREP', 'WARTH', 'VICTE',\r\n 'HUNGO', 'PRINI', 'FRANK', 'OLDWO', 'MEREP', 'BONAP', 'SIMOB', 'FRANK', 'LEHMS', 'WHITC', 'QUICK', 'RATTC', 'FAMIA'];\r\n const sport = ['Cricket', 'Football', 'Tennis', 'Golf', 'Chess', 'Dodgeball', 'Racket', 'Archery', 'Climbing', 'Hunting', 'Carrom', 'Tag', 'Novuss',\r\n 'Subbuteo', 'Baseball', 'Madden NFL', 'Shuffleboard', 'Badminton', 'Hockey', 'Volleyball', 'Table Tennis', 'Golf', 'Cycling', 'Running', 'Walking', 'Wireball',\r\n 'Town ball', 'Tee ball', 'Stool ball', 'Stick ball'];\r\n const country = ['India', 'Australia', 'Ballesteros', 'Belgium', 'Brazil', 'England', 'Ethiopia', 'Finland', 'France', 'Germany', 'Britain',\r\n 'Argentina', 'Jamaica', 'Kenya', 'Morocco', 'Ireland', 'Norway', 'Philippines', 'Portugal', 'Romania', 'Russia', 'Scotland', 'Scottish', 'Serbia', 'Spain',\r\n 'Sweden', 'Switzerland', 'Netherlands', 'UK', 'Ukraine', 'US', 'Wales', 'West Indies', 'China', 'Hong Kong', 'Italy', 'Philippines', 'Turkey', 'Botswana',\r\n 'Sri Lanka', 'Algeria', 'Bangladesh', 'Egypt', 'Malaysia'];\r\n for (let i = 0; i < 100000; i++) {\r\n virtualData.push({\r\n 'SNo': i + 1,\r\n 'FIELD1': names[Math.floor(Math.random() * names.length)],\r\n 'FIELD2': 1967 + (i % 10),\r\n 'FIELD3': sport[Math.floor(Math.random() * sport.length)],\r\n 'FIELD4': country[Math.floor(Math.random() * country.length)],\r\n 'FIELD5': Math.floor(Math.random() * 2000),\r\n 'FIELD6': Math.floor(Math.random() * 1000),\r\n 'FIELD7': Math.floor(Math.random() * 100),\r\n 'FIELD8': Math.floor(Math.random() * 10),\r\n 'FIELD9': Math.floor(Math.random() * 10),\r\n 'FIELD10': Math.floor(Math.random() * 100),\r\n 'FIELD11': Math.floor(Math.random() * 100),\r\n 'FIELD12': Math.floor(Math.random() * 1000),\r\n 'FIELD13': Math.floor(Math.random() * 10),\r\n 'FIELD14': Math.floor(Math.random() * 10),\r\n 'FIELD15': Math.floor(Math.random() * 1000),\r\n 'FIELD16': Math.floor(Math.random() * 200),\r\n 'FIELD17': Math.floor(Math.random() * 300),\r\n 'FIELD18': Math.floor(Math.random() * 400),\r\n 'FIELD19': Math.floor(Math.random() * 500),\r\n 'FIELD20': Math.floor(Math.random() * 700),\r\n 'FIELD21': Math.floor(Math.random() * 800),\r\n 'FIELD22': Math.floor(Math.random() * 1000),\r\n 'FIELD23': Math.floor(Math.random() * 2000),\r\n 'FIELD24': Math.floor(Math.random() * 150),\r\n 'FIELD25': Math.floor(Math.random() * 1000),\r\n 'FIELD26': Math.floor(Math.random() * 100),\r\n 'FIELD27': Math.floor(Math.random() * 400),\r\n 'FIELD28': Math.floor(Math.random() * 600),\r\n 'FIELD29': Math.floor(Math.random() * 500),\r\n 'FIELD30': Math.floor(Math.random() * 300),\r\n });\r\n }\r\n}\r\n\r\n\r\n\r\nexport let employeeData = [{\r\n 'EmployeeID': 1,\r\n 'Name': {\r\n 'LastName': 'abc'\r\n },\r\n 'FirstName': 'Nancy',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Ms.',\r\n 'BirthDate': new Date(-664743600000),\r\n 'HireDate': new Date(704692800000),\r\n 'Address': '507 - 20th Ave. E.\\r\\nApt. 2A',\r\n 'City': 'Austria',\r\n 'Region': 'WA',\r\n 'PostalCode': '98122',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-9857',\r\n 'Extension': '5467',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Education includes a BA in psychology from Colorado State University in 1970. She also completed\\\r\n \\'The Art of the Cold Call.\\' Nancy is a member of Toastmasters International.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n},\r\n{\r\n 'EmployeeID': 2,\r\n 'Name': {\r\n 'LastName': 'cde'\r\n },\r\n 'FirstName': 'Andrew',\r\n 'Title': 'Vice President, Sales',\r\n 'TitleOfCourtesy': 'Dr.',\r\n 'BirthDate': new Date(-563828400000),\r\n 'HireDate': new Date(713764800000),\r\n 'Address': '908 W. Capital Way',\r\n 'City': 'Germany',\r\n 'Region': 'WA',\r\n 'PostalCode': '98401',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-9482',\r\n 'Extension': '3457',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of \\\r\n Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, \\\r\n was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the \\\r\n Sales Management Roundtable, the Austria Chamber of Commerce, and the Pacific Rim Importers Association.',\r\n 'ReportsTo': 0,\r\n 'PhotoPath': 'http://accweb/emmployees/fuller.bmp'\r\n},\r\n{\r\n 'EmployeeID': 3,\r\n 'Name': {\r\n 'LastName': 'wqe'\r\n },\r\n 'FirstName': 'Janet',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Ms.',\r\n 'BirthDate': new Date(-200088000000),\r\n 'HireDate': new Date(702104400000),\r\n 'Address': '722 Moss Bay Blvd.',\r\n 'City': 'France',\r\n 'Region': 'WA',\r\n 'PostalCode': '98033',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-3412',\r\n 'Extension': '3355',\r\n 'Photo': { 'Length': 21722 },\r\n\r\n 'Notes': 'Janet has a BS degree in chemistry from Boston College (1984). \\\r\n She has also completed a certificate program in food retailing management.\\\r\n Janet was hired as a sales associate in 1991 and promoted to sales representative in February 1992.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/leverling.bmp'\r\n},\r\n{\r\n 'EmployeeID': 4,\r\n 'Name': {\r\n 'LastName': 'yte'\r\n },\r\n 'FirstName': 'Margaret',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Mrs.',\r\n 'BirthDate': new Date(-1018814400000),\r\n 'HireDate': new Date(736401600000),\r\n 'Address': '4110 Old Switzerland Rd.',\r\n 'City': 'Switzerland',\r\n 'Region': 'WA',\r\n 'PostalCode': '98052',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-8122',\r\n 'Extension': '5176',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American \\\r\n Institute of Culinary Arts (1966). She was assigned to the Brazil office temporarily from July through November 1992.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/peacock.bmp'\r\n},\r\n{\r\n 'EmployeeID': 5,\r\n 'Name': {\r\n 'LastName': 'qwe'\r\n },\r\n 'FirstName': 'Steven',\r\n 'Title': 'Sales Manager',\r\n 'TitleOfCourtesy': 'Mr.',\r\n 'BirthDate': new Date(-468010800000),\r\n 'HireDate': new Date(750830400000),\r\n 'Address': '14 Garrett Hill',\r\n 'City': 'Brazil',\r\n 'Region': null,\r\n 'PostalCode':\r\n 'SW1 8JR',\r\n 'Country': 'UK',\r\n 'HomePhone': '(71) 555-4848',\r\n 'Extension': '3453',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Steven Buchanan graduated from St. Andrews University, Scotland, with a BSC degree in 1976. Upon joining the company as \\\r\n a sales representative in 1992, he spent 6 months in an orientation program at the Austria office and then returned to his permanent \\\r\n post in Brazil. He was promoted to sales manager in March 1993. Mr. Buchanan has completed the courses \\'Successful \\\r\n Telemarketing\\' and \\'International Sales Management.\\' He is fluent in French.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/buchanan.bmp'\r\n},\r\n{\r\n 'EmployeeID': 6,\r\n 'Name': {\r\n 'LastName': 'trw'\r\n },\r\n 'FirstName': 'Michael',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Mr.',\r\n 'BirthDate': new Date(-205185600000),\r\n 'HireDate': new Date(750830400000),\r\n 'Address': 'Coventry House\\r\\nMiner Rd.',\r\n 'City': 'Brazil',\r\n 'Region': null,\r\n 'PostalCode': 'EC2 7JR',\r\n 'Country': 'UK',\r\n 'HomePhone': '(71) 555-7773',\r\n 'Extension': '428',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Michael is a graduate of Sussex University (MA, economics, 1983) and the University of California at Los Angeles \\\r\n (MBA, marketing, 1986). He has also taken the courses \\'Multi-Cultural Selling\\' and \\'Time Management for the Sales Professional.\\' \\\r\n He is fluent in Japanese and can read and write French, Portuguese, and Spanish.',\r\n 'ReportsTo': 5,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n},\r\n{\r\n 'EmployeeID': 7,\r\n 'Name': {\r\n 'LastName': 'cbe'\r\n },\r\n 'FirstName': 'Robert',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Mr.',\r\n 'BirthDate': new Date(-302731200000),\r\n 'HireDate': new Date(757486800000),\r\n 'Address': 'Edgeham Hollow\\r\\nWinchester Way',\r\n 'City': 'Brazil',\r\n 'Region': null,\r\n 'PostalCode': 'RG1 9SP',\r\n 'Country': 'UK',\r\n 'HomePhone': '(71) 555-5598',\r\n 'Extension': '465',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Robert King served in the Peace Corps and traveled extensively before completing his degree in English at the \\\r\n University of Michigan in 1992, the year he joined the company. After completing a course entitled \\'Selling in Europe,\\' \\\r\n he was transferred to the Brazil office in March 1993.',\r\n 'ReportsTo': 5,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n},\r\n{\r\n 'EmployeeID': 8,\r\n 'Name': {\r\n 'LastName': 'dbc'\r\n },\r\n 'FirstName': 'Laura',\r\n 'Title': 'Inside Sales Coordinator',\r\n 'TitleOfCourtesy': 'Ms.',\r\n 'BirthDate': new Date(-377982000000),\r\n 'HireDate': new Date(762843600000),\r\n 'Address': '4726 - 11th Ave. N.E.',\r\n 'City': 'Austria',\r\n 'Region': 'WA',\r\n 'PostalCode': '98105',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-1189',\r\n 'Extension': '2344',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Laura received a BA in psychology from the University of Washington. She has also completed a course in business \\\r\n French. She reads and writes French.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n},\r\n{\r\n 'EmployeeID': 9,\r\n 'Name': {\r\n 'LastName': 'xyz'\r\n },\r\n 'FirstName': 'Anne',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Ms.',\r\n 'BirthDate': new Date(-123966000000),\r\n 'HireDate': new Date(784875600000),\r\n 'Address': '7 Houndstooth Rd.',\r\n 'City': 'Brazil',\r\n 'Region': null,\r\n 'PostalCode': 'WG2 7LT',\r\n 'Country': 'UK',\r\n 'HomePhone': '(71) 555-4444',\r\n 'Extension': '452',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Anne has a BA degree in English from St. Lawrence College. She is fluent in French and German.',\r\n 'ReportsTo': 5,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n},\r\n\r\n{\r\n 'EmployeeID': 10,\r\n 'Name': {\r\n 'LastName': 'abc'\r\n },\r\n 'FirstName': 'Nancy',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Ms.',\r\n 'BirthDate': new Date(-664743600000),\r\n 'HireDate': new Date(704692800000),\r\n 'Address': '507 - 20th Ave. E.\\r\\nApt. 2A',\r\n 'City': 'Austria',\r\n 'Region': 'WA',\r\n 'PostalCode': '98122',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-9857',\r\n 'Extension': '5467',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Education includes a BA in psychology from Colorado State University in 1970. She also completed\\\r\n \\'The Art of the Cold Call.\\' Nancy is a member of Toastmasters International.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n},\r\n{\r\n 'EmployeeID': 11,\r\n 'Name': {\r\n 'LastName': 'cde'\r\n },\r\n 'FirstName': 'Andrew',\r\n 'Title': 'Vice President, Sales',\r\n 'TitleOfCourtesy': 'Dr.',\r\n 'BirthDate': new Date(-563828400000),\r\n 'HireDate': new Date(713764800000),\r\n 'Address': '908 W. Capital Way',\r\n 'City': 'Germany',\r\n 'Region': 'WA',\r\n 'PostalCode': '98401',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-9482',\r\n 'Extension': '3457',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of \\\r\n Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, \\\r\n was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the \\\r\n Sales Management Roundtable, the Austria Chamber of Commerce, and the Pacific Rim Importers Association.',\r\n 'ReportsTo': 0,\r\n 'PhotoPath': 'http://accweb/emmployees/fuller.bmp'\r\n},\r\n{\r\n 'EmployeeID': 12,\r\n 'Name': {\r\n 'LastName': 'wqe'\r\n },\r\n 'FirstName': 'Janet',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Ms.',\r\n 'BirthDate': new Date(-200088000000),\r\n 'HireDate': new Date(702104400000),\r\n 'Address': '722 Moss Bay Blvd.',\r\n 'City': 'France',\r\n 'Region': 'WA',\r\n 'PostalCode': '98033',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-3412',\r\n 'Extension': '3355',\r\n 'Photo': { 'Length': 21722 },\r\n\r\n 'Notes': 'Janet has a BS degree in chemistry from Boston College (1984). \\\r\n She has also completed a certificate program in food retailing management.\\\r\n Janet was hired as a sales associate in 1991 and promoted to sales representative in February 1992.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/leverling.bmp'\r\n},\r\n{\r\n 'EmployeeID': 13,\r\n 'Name': {\r\n 'LastName': 'xyz'\r\n },\r\n 'FirstName': 'Peacock',\r\n 'Title': 'Sales Manager',\r\n 'TitleOfCourtesy': 'Mrs.',\r\n 'BirthDate': new Date(-1018814400000),\r\n 'HireDate': new Date(736401600000),\r\n 'Address': '4110 Old Switzerland Rd.',\r\n 'City': 'Germany',\r\n 'Region': 'WA',\r\n 'PostalCode': '98052',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-8122',\r\n 'Extension': '5176',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American \\\r\n Institute of Culinary Arts (1966). She was assigned to the Brazil office temporarily from July through November 1992.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/peacock.bmp'\r\n},\r\n{\r\n 'EmployeeID': 14,\r\n 'Name': {\r\n 'LastName': 'yte'\r\n },\r\n 'FirstName': 'Margaret',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Mrs.',\r\n 'BirthDate': new Date(-1018814400000),\r\n 'HireDate': new Date(736401600000),\r\n 'Address': '4110 Old Switzerland Rd.',\r\n 'City': 'Switzerland',\r\n 'Region': 'WA',\r\n 'PostalCode': '98052',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-8122',\r\n 'Extension': '5176',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American \\\r\n Institute of Culinary Arts (1966). She was assigned to the Brazil office temporarily from July through November 1992.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/peacock.bmp'\r\n},\r\n{\r\n 'EmployeeID': 15,\r\n 'Name': {\r\n 'LastName': 'qwe'\r\n },\r\n 'FirstName': 'Steven',\r\n 'Title': 'Sales Manager',\r\n 'TitleOfCourtesy': 'Mr.',\r\n 'BirthDate': new Date(-468010800000),\r\n 'HireDate': new Date(750830400000),\r\n 'Address': '14 Garrett Hill',\r\n 'City': 'Brazil',\r\n 'Region': null,\r\n 'PostalCode':\r\n 'SW1 8JR',\r\n 'Country': 'UK',\r\n 'HomePhone': '(71) 555-4848',\r\n 'Extension': '3453',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Steven Buchanan graduated from St. Andrews University, Scotland, with a BSC degree in 1976. Upon joining the company as \\\r\n a sales representative in 1992, he spent 6 months in an orientation program at the Austria office and then returned to his permanent \\\r\n post in Brazil. He was promoted to sales manager in March 1993. Mr. Buchanan has completed the courses \\'Successful \\\r\n Telemarketing\\' and \\'International Sales Management.\\' He is fluent in French.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/buchanan.bmp'\r\n},\r\n{\r\n 'EmployeeID': 16,\r\n 'Name': {\r\n 'LastName': 'trw'\r\n },\r\n 'FirstName': 'Michael',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Mr.',\r\n 'BirthDate': new Date(-205185600000),\r\n 'HireDate': new Date(750830400000),\r\n 'Address': 'Coventry House\\r\\nMiner Rd.',\r\n 'City': 'Brazil',\r\n 'Region': null,\r\n 'PostalCode': 'EC2 7JR',\r\n 'Country': 'UK',\r\n 'HomePhone': '(71) 555-7773',\r\n 'Extension': '428',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Michael is a graduate of Sussex University (MA, economics, 1983) and the University of California at Los Angeles \\\r\n (MBA, marketing, 1986). He has also taken the courses \\'Multi-Cultural Selling\\' and \\'Time Management for the Sales Professional.\\' \\\r\n He is fluent in Japanese and can read and write French, Portuguese, and Spanish.',\r\n 'ReportsTo': 5,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n},\r\n{\r\n 'EmployeeID': 17,\r\n 'Name': {\r\n 'LastName': 'cbe'\r\n },\r\n 'FirstName': 'Robert',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Mr.',\r\n 'BirthDate': new Date(-302731200000),\r\n 'HireDate': new Date(757486800000),\r\n 'Address': 'Edgeham Hollow\\r\\nWinchester Way',\r\n 'City': 'Brazil',\r\n 'Region': null,\r\n 'PostalCode': 'RG1 9SP',\r\n 'Country': 'UK',\r\n 'HomePhone': '(71) 555-5598',\r\n 'Extension': '465',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Robert King served in the Peace Corps and traveled extensively before completing his degree in English at the \\\r\n University of Michigan in 1992, the year he joined the company. After completing a course entitled \\'Selling in Europe,\\' \\\r\n he was transferred to the Brazil office in March 1993.',\r\n 'ReportsTo': 5,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n},\r\n{\r\n 'EmployeeID': 18,\r\n 'Name': {\r\n 'LastName': 'dbc'\r\n },\r\n 'FirstName': 'Laura',\r\n 'Title': 'Inside Sales Coordinator',\r\n 'TitleOfCourtesy': 'Ms.',\r\n 'BirthDate': new Date(-377982000000),\r\n 'HireDate': new Date(762843600000),\r\n 'Address': '4726 - 11th Ave. N.E.',\r\n 'City': 'Austria',\r\n 'Region': 'WA',\r\n 'PostalCode': '98105',\r\n 'Country': 'USA',\r\n 'HomePhone': '(206) 555-1189',\r\n 'Extension': '2344',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Laura received a BA in psychology from the University of Washington. She has also completed a course in business \\\r\n French. She reads and writes French.',\r\n 'ReportsTo': 2,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n},\r\n{\r\n 'EmployeeID': 19,\r\n 'Name': {\r\n 'LastName': 'xyz'\r\n },\r\n 'FirstName': 'Anne',\r\n 'Title': 'Sales Representative',\r\n 'TitleOfCourtesy': 'Ms.',\r\n 'BirthDate': new Date(-123966000000),\r\n 'HireDate': new Date(784875600000),\r\n 'Address': '7 Houndstooth Rd.',\r\n 'City': 'Brazil',\r\n 'Region': null,\r\n 'PostalCode': 'WG2 7LT',\r\n 'Country': 'UK',\r\n 'HomePhone': '(71) 555-4444',\r\n 'Extension': '452',\r\n 'Photo': { 'Length': 21626 },\r\n\r\n 'Notes': 'Anne has a BA degree in English from St. Lawrence College. She is fluent in French and German.',\r\n 'ReportsTo': 5,\r\n 'PhotoPath': 'http://accweb/emmployees/davolio.bmp'\r\n}];\r\n","import { OrderData } from \"./db\";\r\nimport { DataUtil, Query, DataManager } from \"@syncfusion/ej2-data\";\r\n\r\nDataUtil.serverTimezoneOffset = 0;\r\n\r\nconst resolvers = {\r\n Query: {\r\n getOrders: (parent, { datamanager }, context, info) => {\r\n console.log(datamanager);\r\n let orders = [...OrderData];\r\n const query = new Query();\r\n\r\n const performFiltering = (filterString) => {\r\n const filter = JSON.parse(filterString);\r\n // Iterating over each predicate\r\n filter[0].predicates.forEach(predicate => {\r\n const field = predicate.field;\r\n const operator = predicate.operator;\r\n const value = predicate.value;\r\n query.where(field, operator, value);\r\n });\r\n }\r\n const performSearching = (searchParam) => {\r\n const { fields, key } = JSON.parse(searchParam)[0];\r\n query.search(key, fields);\r\n }\r\n const performSorting = (sorted) => {\r\n for (let i = 0; i < sorted.length; i++) {\r\n const { name, direction } = sorted[i];\r\n query.sortBy(name, direction);\r\n }\r\n }\r\n\r\n // Perform filtering\r\n if (datamanager.where) {\r\n performFiltering(datamanager.where);\r\n }\r\n\r\n // Perform Searching\r\n if (datamanager.search) {\r\n performSearching(datamanager.search);\r\n }\r\n\r\n // Perform sorting\r\n if (datamanager.sorted) {\r\n performSorting(datamanager.sorted);\r\n }\r\n\r\n orders = new DataManager(orders).executeLocal(query);\r\n var count = orders.length;\r\n\r\n // Perform paging\r\n if (datamanager.skip && datamanager.take) {\r\n const pageSkip = datamanager.skip / datamanager.take + 1;\r\n const pageTake = datamanager.take;\r\n query.page(pageSkip, pageTake);\r\n } else if (datamanager.skip === 0 && datamanager.take) {\r\n query.page(1, datamanager.take);\r\n }\r\n\r\n const currentResult = new DataManager(orders).executeLocal(query);\r\n return { result: currentResult, count: count }; // Return result and count separately\r\n },\r\n },\r\n Mutation: {\r\n createOrder: (parent, { value }, context, info) => {\r\n const newOrder = value;\r\n OrderData.push(newOrder);\r\n return newOrder;\r\n },\r\n updateOrder: (parent, { key, keyColumn, value }, context, info) => {\r\n let updatedOrder = OrderData.find(order => order.OrderID === parseInt(key));\r\n updatedOrder.CustomerID = value.CustomerID;\r\n updatedOrder.EmployeeID = value.EmployeeID;\r\n updatedOrder.Freight = value.Freight;\r\n updatedOrder.ShipCity = value.ShipCity;\r\n updatedOrder.ShipCountry = value.ShipCountry;\r\n return updatedOrder; // Make sure to return the updated order.\r\n },\r\n deleteOrder: (parent, { key, keyColumn, value }, context, info) => {\r\n const orderIndex = OrderData.findIndex(order => order.OrderID === parseInt(key));\r\n if (orderIndex === -1) throw new Error(\"Order not found.\" + value);\r\n const deletedOrders = OrderData.splice(orderIndex, 1);\r\n return deletedOrders[0];\r\n }\r\n }\r\n\r\n};\r\n\r\nexport default resolvers;","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"InputObjectTypeDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"Sort\"},\"directives\":[],\"fields\":[{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"direction\"},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}]},{\"kind\":\"InputObjectTypeDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"Aggregate\"},\"directives\":[],\"fields\":[{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}]},{\"kind\":\"InputObjectTypeDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"DataManager\"},\"directives\":[],\"fields\":[{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"take\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"sorted\"},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Sort\"}}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"table\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"select\"},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"where\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"requiresCounts\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"aggregates\"},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Aggregate\"}}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}]},{\"kind\":\"InputObjectTypeDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"OrderInput\"},\"directives\":[],\"fields\":[{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"OrderID\"},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"CustomerID\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"EmployeeID\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ShipCity\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ShipCountry\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}]},{\"kind\":\"ObjectTypeDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"Order\"},\"interfaces\":[],\"directives\":[],\"fields\":[{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"OrderID\"},\"arguments\":[],\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]},{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"CustomerID\"},\"arguments\":[],\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"EmployeeID\"},\"arguments\":[],\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ShipCity\"},\"arguments\":[],\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ShipCountry\"},\"arguments\":[],\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}]},{\"kind\":\"ObjectTypeDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ReturnType\"},\"interfaces\":[],\"directives\":[],\"fields\":[{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"result\"},\"arguments\":[],\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Order\"}}},\"directives\":[]},{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"aggregates\"},\"arguments\":[],\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}]},{\"kind\":\"ObjectTypeDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"Query\"},\"interfaces\":[],\"directives\":[],\"fields\":[{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"getOrders\"},\"arguments\":[{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"datamanager\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DataManager\"}},\"directives\":[]}],\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ReturnType\"}},\"directives\":[]}]},{\"kind\":\"ObjectTypeDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"Mutation\"},\"interfaces\":[],\"directives\":[],\"fields\":[{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"createOrder\"},\"arguments\":[{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OrderInput\"}},\"directives\":[]}],\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Order\"}}},\"directives\":[]},{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"updateOrder\"},\"arguments\":[{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"keyColumn\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OrderInput\"}},\"directives\":[]}],\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Order\"}},\"directives\":[]},{\"kind\":\"FieldDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteOrder\"},\"arguments\":[{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"keyColumn\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"InputValueDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OrderInput\"}},\"directives\":[]}],\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Order\"}}},\"directives\":[]}]}],\"loc\":{\"start\":0,\"end\":1212}};\n doc.loc.source = {\"body\":\"#Grid Sort direction\\r\\n\\r\\ninput Sort {\\r\\n name: String!\\r\\n direction: String!\\r\\n} \\r\\n\\r\\n#Grid aggregates type\\r\\n\\r\\ninput Aggregate {\\r\\n field: String! \\r\\n type: String!\\r\\n}\\r\\n\\r\\n#Syncfusion DataManager query params\\r\\n\\r\\ninput DataManager {\\r\\n skip: Int\\r\\n take: Int\\r\\n sorted: [Sort]\\r\\n group: [String]\\r\\n table: String\\r\\n select: [String]\\r\\n where: String\\r\\n search: String\\r\\n requiresCounts: Boolean,\\r\\n aggregates: [Aggregate],\\r\\n params: String\\r\\n}\\r\\n\\r\\n# Grid field names\\r\\ninput OrderInput {\\r\\n OrderID: Int!\\r\\n CustomerID: String\\r\\n EmployeeID: Int\\r\\n ShipCity: String\\r\\n ShipCountry: String\\r\\n}\\r\\n\\r\\ntype Order {\\r\\n OrderID: Int!\\r\\n CustomerID: String\\r\\n EmployeeID: Int\\r\\n ShipCity: String\\r\\n ShipCountry: String\\r\\n}\\r\\n\\r\\n# need to return type as 'result (i.e, current pager data)' and count (i.e., total number of records in your database)\\r\\ntype ReturnType {\\r\\n result: [Order]\\r\\n count: Int\\r\\n aggregates: String\\r\\n}\\r\\n\\r\\ntype Query {\\r\\n getOrders(datamanager: DataManager): ReturnType \\r\\n}\\r\\ntype Mutation {\\r\\n\\r\\n createOrder(value: OrderInput): Order!\\r\\n updateOrder(key: Int!, keyColumn: String, value: OrderInput): Order\\r\\n deleteOrder(key: Int!, keyColumn: String, value: OrderInput): Order!\\r\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n module.exports = doc;\n \r\n","module.exports = require(\"@syncfusion/ej2-data\");","module.exports = require(\"apollo-server\");","module.exports = require(\"apollo-server-express\");","module.exports = require(\"babel-loader\");","module.exports = require(\"babel-preset-graphpack\");","module.exports = require(\"cosmiconfig\");","module.exports = require(\"friendly-errors-webpack-plugin\");","module.exports = require(\"fs\");","module.exports = require(\"path\");","module.exports = require(\"webpack\");","module.exports = require(\"webpack-node-externals\");"],"sourceRoot":""} \ No newline at end of file diff --git a/GraphQLAdaptor/GraphQLServer/package.json b/GraphQLAdaptor/GraphQLServer/package.json new file mode 100644 index 0000000..ef5c5a5 --- /dev/null +++ b/GraphQLAdaptor/GraphQLServer/package.json @@ -0,0 +1,18 @@ +{ + "name": "graphql-server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "dev": "graphpack --port 4200", + "build": "graphpack build" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "graphpack": "^1.0.9" + }, + "dependencies": { + "@syncfusion/ej2-data": "21.2.3" + } +} diff --git a/GraphQLAdaptor/GraphQLServer/src/db.js b/GraphQLAdaptor/GraphQLServer/src/db.js new file mode 100644 index 0000000..4507b06 --- /dev/null +++ b/GraphQLAdaptor/GraphQLServer/src/db.js @@ -0,0 +1,612 @@ +export let users = [ + { id: 1, name: "John Doe", email: "john@gmail.com", age: 22 }, + { id: 2, name: "Jane Doe", email: "jane@gmail.com", age: 23 } + ]; + + export let OrderData = [ + { + OrderID: 10248, CustomerID: 'VINET', EmployeeID: 5, OrderDate: new Date("07 12 1996 02:00:23"), + ShipName: 'Vins et alcools Chevalier', ShipCity: 'Reims', ShipAddress: '59 rue de l Abbaye', + ShipRegion: 'CJ', ShipPostalCode: '51100', ShipCountry: 'France', Freight: 32.38, Verified: !0 + }, + { + OrderID: 10249, CustomerID: 'TOMSP', EmployeeID: 6, OrderDate: new Date("07 12 1996 00:03:23"), + ShipName: 'Toms Spezialitäten', ShipCity: 'Münster', ShipAddress: 'Luisenstr. 48', + ShipRegion: 'CJ', ShipPostalCode: '44087', ShipCountry: 'Germany', Freight: 11.61, Verified: !1 + }, + { + OrderID: 10250, CustomerID: 'HANAR', EmployeeID: 4, OrderDate: new Date("07 12 1996 00:00:23"), + ShipName: 'Hanari Carnes', ShipCity: 'Rio de Janeiro', ShipAddress: 'Rua do Paço, 67', + ShipRegion: 'RJ', ShipPostalCode: '05454-876', ShipCountry: 'Brazil', Freight: 65.83, Verified: !0 + }, + { + OrderID: 10251, CustomerID: 'VICTE', EmployeeID: 3, OrderDate: new Date(8367642e5), + ShipName: 'Victuailles en stock', ShipCity: 'Lyon', ShipAddress: '2, rue du Commerce', + ShipRegion: 'CJ', ShipPostalCode: '69004', ShipCountry: 'France', Freight: 41.34, Verified: !0 + }, + { + OrderID: 10252, CustomerID: 'SUPRD', EmployeeID: 4, OrderDate: new Date(8368506e5), + ShipName: 'Suprêmes délices', ShipCity: 'Charleroi', ShipAddress: 'Boulevard Tirou, 255', + ShipRegion: 'CJ', ShipPostalCode: 'B-6000', ShipCountry: 'Belgium', Freight: 51.3, Verified: !0 + }, + { + OrderID: 10253, CustomerID: 'HANAR', EmployeeID: 3, OrderDate: new Date(836937e6), + ShipName: 'Hanari Carnes', ShipCity: 'Rio de Janeiro', ShipAddress: 'Rua do Paço, 67', + ShipRegion: 'RJ', ShipPostalCode: '05454-876', ShipCountry: 'Brazil', Freight: 58.17, Verified: !0 + }, + { + OrderID: 10254, CustomerID: 'CHOPS', EmployeeID: 5, OrderDate: new Date(8370234e5), + ShipName: 'Chop-suey Chinese', ShipCity: 'Bern', ShipAddress: 'Hauptstr. 31', + ShipRegion: 'CJ', ShipPostalCode: '3012', ShipCountry: 'Switzerland', Freight: 22.98, Verified: !1 + }, + { + OrderID: 10255, CustomerID: 'RICSU', EmployeeID: 9, OrderDate: new Date(8371098e5), + ShipName: 'Richter Supermarkt', ShipCity: 'Genève', ShipAddress: 'Starenweg 5', + ShipRegion: 'CJ', ShipPostalCode: '1204', ShipCountry: 'Switzerland', Freight: 148.33, Verified: !0 + }, + { + OrderID: 10256, CustomerID: 'WELLI', EmployeeID: 3, OrderDate: new Date(837369e6), + ShipName: 'Wellington Importadora', ShipCity: 'Resende', ShipAddress: 'Rua do Mercado, 12', + ShipRegion: 'SP', ShipPostalCode: '08737-363', ShipCountry: 'Brazil', Freight: 13.97, Verified: !1 + }, + { + OrderID: 10257, CustomerID: 'HILAA', EmployeeID: 4, OrderDate: new Date(8374554e5), + ShipName: 'HILARION-Abastos', ShipCity: 'San Cristóbal', ShipAddress: 'Carrera 22 con Ave. Carlos Soublette #8-35', + ShipRegion: 'Táchira', ShipPostalCode: '5022', ShipCountry: 'Venezuela', Freight: 81.91, Verified: !0 + }, + { + OrderID: 10258, CustomerID: 'ERNSH', EmployeeID: 1, OrderDate: new Date(8375418e5), + ShipName: 'Ernst Handel', ShipCity: 'Graz', ShipAddress: 'Kirchgasse 6', + ShipRegion: 'CJ', ShipPostalCode: '8010', ShipCountry: 'Austria', Freight: 140.51, Verified: !0 + }, + { + OrderID: 10259, CustomerID: 'CENTC', EmployeeID: 4, OrderDate: new Date(8376282e5), + ShipName: 'Centro comercial Moctezuma', ShipCity: 'México D.F.', ShipAddress: 'Sierras de Granada 9993', + ShipRegion: 'CJ', ShipPostalCode: '05022', ShipCountry: 'Mexico', Freight: 3.25, Verified: !1 + }, + { + OrderID: 10260, CustomerID: 'OTTIK', EmployeeID: 4, OrderDate: new Date(8377146e5), + ShipName: 'Ottilies Käseladen', ShipCity: 'Köln', ShipAddress: 'Mehrheimerstr. 369', + ShipRegion: 'CJ', ShipPostalCode: '50739', ShipCountry: 'Germany', Freight: 55.09, Verified: !0 + }, + { + OrderID: 10261, CustomerID: 'QUEDE', EmployeeID: 4, OrderDate: new Date(8377146e5), + ShipName: 'Que Delícia', ShipCity: 'Rio de Janeiro', ShipAddress: 'Rua da Panificadora, 12', + ShipRegion: 'RJ', ShipPostalCode: '02389-673', ShipCountry: 'Brazil', Freight: 3.05, Verified: !1 + }, + { + OrderID: 10262, CustomerID: 'RATTC', EmployeeID: 8, OrderDate: new Date(8379738e5), + ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.', + ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 48.29, Verified: !0 + }, + { + OrderID: 10263, CustomerID: 'ERNSH', EmployeeID: 9, OrderDate: new Date(8380602e5), + ShipName: 'Ernst Handel', ShipCity: 'Graz', ShipAddress: 'Kirchgasse 6', ShipRegion: null, ShipPostalCode: '8010', ShipCountry: 'Austria', Freight: 146.06, Verified: !0 + }, { OrderID: 10264, CustomerID: 'FOLKO', EmployeeID: 6, OrderDate: new Date(8381466e5), ShipName: 'Folk och fä HB', ShipCity: 'Bräcke', ShipAddress: 'Åkergatan 24', ShipRegion: null, ShipPostalCode: 'S-844 67', ShipCountry: 'Sweden', Freight: 3.67, Verified: !1 }, { OrderID: 10265, CustomerID: 'BLONP', EmployeeID: 2, OrderDate: new Date(838233e6), ShipName: 'Blondel père et fils', ShipCity: 'Strasbourg', ShipAddress: '24, place Kléber', ShipRegion: null, ShipPostalCode: '67000', ShipCountry: 'France', Freight: 55.28, Verified: !0 }, { OrderID: 10266, CustomerID: 'WARTH', EmployeeID: 3, OrderDate: new Date(8383194e5), ShipName: 'Wartian Herkku', ShipCity: 'Oulu', ShipAddress: 'Torikatu 38', ShipRegion: null, ShipPostalCode: '90110', ShipCountry: 'Finland', Freight: 25.73, Verified: !1 }, { OrderID: 10267, CustomerID: 'FRANK', EmployeeID: 4, OrderDate: new Date(8385786e5), ShipName: 'Frankenversand', ShipCity: 'München', ShipAddress: 'Berliner Platz 43', ShipRegion: null, ShipPostalCode: '80805', ShipCountry: 'Germany', Freight: 208.58, Verified: !0 }, { OrderID: 10268, CustomerID: 'GROSR', EmployeeID: 8, OrderDate: new Date(838665e6), ShipName: 'GROSELLA-Restaurante', ShipCity: 'Caracas', ShipAddress: '5ª Ave. Los Palos Grandes', ShipRegion: 'DF', ShipPostalCode: '1081', ShipCountry: 'Venezuela', Freight: 66.29, Verified: !0 }, { OrderID: 10269, CustomerID: 'WHITC', EmployeeID: 5, OrderDate: new Date(8387514e5), ShipName: 'White Clover Markets', ShipCity: 'Austria', ShipAddress: '1029 - 12th Ave. S.', ShipRegion: 'WA', ShipPostalCode: '98124', ShipCountry: 'USA', Freight: 4.56, Verified: !1 }, { OrderID: 10270, CustomerID: 'WARTH', EmployeeID: 1, OrderDate: new Date(8388378e5), ShipName: 'Wartian Herkku', ShipCity: 'Oulu', ShipAddress: 'Torikatu 38', ShipRegion: null, ShipPostalCode: '90110', ShipCountry: 'Finland', Freight: 136.54, Verified: !0 }, { OrderID: 10271, CustomerID: 'SPLIR', EmployeeID: 6, OrderDate: new Date(8388378e5), ShipName: 'Split Rail Beer & Ale', ShipCity: 'Lander', ShipAddress: 'P.O. Box 555', ShipRegion: 'WY', ShipPostalCode: '82520', ShipCountry: 'USA', Freight: 4.54, Verified: !1 }, { OrderID: 10272, CustomerID: 'RATTC', EmployeeID: 6, OrderDate: new Date(8389242e5), ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.', ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 98.03, Verified: !0 }, { OrderID: 10273, CustomerID: 'QUICK', EmployeeID: 3, OrderDate: new Date(8391834e5), ShipName: 'QUICK-Stop', ShipCity: 'Cunewalde', ShipAddress: 'Taucherstraße 10', ShipRegion: null, ShipPostalCode: '01307', ShipCountry: 'Germany', Freight: 76.07, Verified: !0 }, { OrderID: 10274, CustomerID: 'VINET', EmployeeID: 6, OrderDate: new Date(8392698e5), ShipName: 'Vins et alcools Chevalier', ShipCity: 'Reims', ShipAddress: '59 rue de l Abbaye', ShipRegion: null, ShipPostalCode: '51100', ShipCountry: 'France', Freight: 6.01, Verified: !1 }, { OrderID: 10275, CustomerID: 'MAGAA', EmployeeID: 1, OrderDate: new Date(8393562e5), ShipName: 'Magazzini Alimentari Riuniti', ShipCity: 'Bergamo', ShipAddress: 'Via Ludovico il Moro 22', ShipRegion: null, ShipPostalCode: '24100', ShipCountry: 'Italy', Freight: 26.93, Verified: !1 }, { OrderID: 10276, CustomerID: 'TORTU', EmployeeID: 8, OrderDate: new Date(8394426e5), ShipName: 'Tortuga Restaurante', ShipCity: 'México D.F.', ShipAddress: 'Avda. Azteca 123', ShipRegion: null, ShipPostalCode: '05033', ShipCountry: 'Mexico', Freight: 13.84, Verified: !1 }, { OrderID: 10277, CustomerID: 'MORGK', EmployeeID: 2, OrderDate: new Date(839529e6), ShipName: 'Morgenstern Gesundkost', ShipCity: 'Leipzig', ShipAddress: 'Heerstr. 22', ShipRegion: null, ShipPostalCode: '04179', ShipCountry: 'Germany', Freight: 125.77, Verified: !0 }, { OrderID: 10278, CustomerID: 'BERGS', EmployeeID: 8, OrderDate: new Date(8397882e5), ShipName: 'Berglunds snabbköp', ShipCity: 'Luleå', ShipAddress: 'Berguvsvägen 8', ShipRegion: null, ShipPostalCode: 'S-958 22', ShipCountry: 'Sweden', Freight: 92.69, Verified: !0 }, { OrderID: 10279, CustomerID: 'LEHMS', EmployeeID: 8, OrderDate: new Date(8398746e5), ShipName: 'Lehmanns Marktstand', ShipCity: 'Frankfurt a.M.', ShipAddress: 'Magazinweg 7', ShipRegion: null, ShipPostalCode: '60528', ShipCountry: 'Germany', Freight: 25.83, Verified: !1 }, { OrderID: 10280, CustomerID: 'BERGS', EmployeeID: 2, OrderDate: new Date(839961e6), ShipName: 'Berglunds snabbköp', ShipCity: 'Luleå', ShipAddress: 'Berguvsvägen 8', ShipRegion: null, ShipPostalCode: 'S-958 22', ShipCountry: 'Sweden', Freight: 8.98, Verified: !1 }, { OrderID: 10281, CustomerID: 'ROMEY', EmployeeID: 4, OrderDate: new Date(839961e6), ShipName: 'Romero y tomillo', ShipCity: 'Madrid', ShipAddress: 'Gran Vía, 1', ShipRegion: null, ShipPostalCode: '28001', ShipCountry: 'Spain', Freight: 2.94, Verified: !1 }, { OrderID: 10282, CustomerID: 'ROMEY', EmployeeID: 4, OrderDate: new Date(8400474e5), ShipName: 'Romero y tomillo', ShipCity: 'Madrid', ShipAddress: 'Gran Vía, 1', ShipRegion: null, ShipPostalCode: '28001', ShipCountry: 'Spain', Freight: 12.69, Verified: !1 }, { OrderID: 10283, CustomerID: 'LILAS', EmployeeID: 3, OrderDate: new Date(8401338e5), ShipName: 'LILA-Supermercado', ShipCity: 'Barquisimeto', ShipAddress: 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', ShipRegion: 'Lara', ShipPostalCode: '3508', ShipCountry: 'Venezuela', Freight: 84.81, Verified: !0 }, { OrderID: 10284, CustomerID: 'LEHMS', EmployeeID: 4, OrderDate: new Date(840393e6), ShipName: 'Lehmanns Marktstand', ShipCity: 'Frankfurt a.M.', ShipAddress: 'Magazinweg 7', ShipRegion: null, ShipPostalCode: '60528', ShipCountry: 'Germany', Freight: 76.56, Verified: !0 }, { OrderID: 10285, CustomerID: 'QUICK', EmployeeID: 1, OrderDate: new Date(8404794e5), ShipName: 'QUICK-Stop', ShipCity: 'Cunewalde', ShipAddress: 'Taucherstraße 10', ShipRegion: null, ShipPostalCode: '01307', ShipCountry: 'Germany', Freight: 76.83, Verified: !0 }, { OrderID: 10286, CustomerID: 'QUICK', EmployeeID: 8, OrderDate: new Date(8405658e5), ShipName: 'QUICK-Stop', ShipCity: 'Cunewalde', ShipAddress: 'Taucherstraße 10', ShipRegion: null, ShipPostalCode: '01307', ShipCountry: 'Germany', Freight: 229.24, Verified: !0 }, { OrderID: 10287, CustomerID: 'RICAR', EmployeeID: 8, OrderDate: new Date(8406522e5), ShipName: 'Ricardo Adocicados', ShipCity: 'Rio de Janeiro', ShipAddress: 'Av. Copacabana, 267', ShipRegion: 'RJ', ShipPostalCode: '02389-890', ShipCountry: 'Brazil', Freight: 12.76, Verified: !1 }, { OrderID: 10288, CustomerID: 'REGGC', EmployeeID: 4, OrderDate: new Date(8407386e5), ShipName: 'Reggiani Caseifici', ShipCity: 'Reggio Emilia', ShipAddress: 'Strada Provinciale 124', ShipRegion: null, ShipPostalCode: '42100', ShipCountry: 'Italy', Freight: 7.45, Verified: !1 }, { OrderID: 10289, CustomerID: 'BSBEV', EmployeeID: 7, OrderDate: new Date(8409978e5), ShipName: 'Bs Beverages', ShipCity: 'Brazil', ShipAddress: 'Fauntleroy Circus', ShipRegion: null, ShipPostalCode: 'EC2 5NT', ShipCountry: 'UK', Freight: 22.77, Verified: !1 }, { OrderID: 10290, CustomerID: 'COMMI', EmployeeID: 8, OrderDate: new Date(8410842e5), ShipName: 'Comércio Mineiro', ShipCity: 'Sao Paulo', ShipAddress: 'Av. dos Lusíadas, 23', ShipRegion: 'SP', ShipPostalCode: '05432-043', ShipCountry: 'Brazil', Freight: 79.7, Verified: !0 }, { OrderID: 10291, CustomerID: 'QUEDE', EmployeeID: 6, OrderDate: new Date(8410842e5), ShipName: 'Que Delícia', ShipCity: 'Rio de Janeiro', ShipAddress: 'Rua da Panificadora, 12', ShipRegion: 'RJ', ShipPostalCode: '02389-673', ShipCountry: 'Brazil', Freight: 6.4, Verified: !1 }, { OrderID: 10292, CustomerID: 'TRADH', EmployeeID: 1, OrderDate: new Date(8411706e5), ShipName: 'Tradiçao Hipermercados', ShipCity: 'Sao Paulo', ShipAddress: 'Av. Inês de Castro, 414', ShipRegion: 'SP', ShipPostalCode: '05634-030', ShipCountry: 'Brazil', Freight: 1.35, Verified: !1 }, { OrderID: 10293, CustomerID: 'TORTU', EmployeeID: 1, OrderDate: new Date(841257e6), ShipName: 'Tortuga Restaurante', ShipCity: 'México D.F.', ShipAddress: 'Avda. Azteca 123', ShipRegion: null, ShipPostalCode: '05033', ShipCountry: 'Mexico', Freight: 21.18, Verified: !1 }, { OrderID: 10294, CustomerID: 'RATTC', EmployeeID: 4, OrderDate: new Date(8413434e5), ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.', ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 147.26, Verified: !0 }, { OrderID: 10295, CustomerID: 'VINET', EmployeeID: 2, OrderDate: new Date(8416026e5), ShipName: 'Vins et alcools Chevalier', ShipCity: 'Reims', ShipAddress: '59 rue de l Abbaye', ShipRegion: null, ShipPostalCode: '51100', ShipCountry: 'France', Freight: 1.15, Verified: !1 }, { OrderID: 10296, CustomerID: 'LILAS', EmployeeID: 6, OrderDate: new Date(841689e6), ShipName: 'LILA-Supermercado', ShipCity: 'Barquisimeto', ShipAddress: 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', ShipRegion: 'Lara', ShipPostalCode: '3508', ShipCountry: 'Venezuela', Freight: .12, Verified: !1 }, { OrderID: 10297, CustomerID: 'BLONP', EmployeeID: 5, OrderDate: new Date(8417754e5), ShipName: 'Blondel père et fils', ShipCity: 'Strasbourg', ShipAddress: '24, place Kléber', ShipRegion: null, ShipPostalCode: '67000', ShipCountry: 'France', Freight: 5.74, Verified: !1 }, { OrderID: 10298, CustomerID: 'HUNGO', EmployeeID: 6, OrderDate: new Date(8418618e5), ShipName: 'Hungry Owl All-Night Grocers', ShipCity: 'Cork', ShipAddress: '8 Johnstown Road', ShipRegion: 'Co. Cork', ShipPostalCode: null, ShipCountry: 'Ireland', Freight: 168.22, Verified: !0 }, { OrderID: 10299, CustomerID: 'RICAR', EmployeeID: 4, OrderDate: new Date(8419482e5), ShipName: 'Ricardo Adocicados', ShipCity: 'Rio de Janeiro', ShipAddress: 'Av. Copacabana, 267', ShipRegion: 'RJ', ShipPostalCode: '02389-890', ShipCountry: 'Brazil', Freight: 29.76, Verified: !1 }, { OrderID: 10300, CustomerID: 'MAGAA', EmployeeID: 2, OrderDate: new Date(8422074e5), ShipName: 'Magazzini Alimentari Riuniti', ShipCity: 'Bergamo', ShipAddress: 'Via Ludovico il Moro 22', ShipRegion: null, ShipPostalCode: '24100', ShipCountry: 'Italy', Freight: 17.68, Verified: !1 }, { OrderID: 10301, CustomerID: 'WANDK', EmployeeID: 8, OrderDate: new Date(8422074e5), ShipName: 'Die Wandernde Kuh', ShipCity: 'Stuttgart', ShipAddress: 'Adenauerallee 900', ShipRegion: null, ShipPostalCode: '70563', ShipCountry: 'Germany', Freight: 45.08, Verified: !0 }, { OrderID: 10302, CustomerID: 'SUPRD', EmployeeID: 4, OrderDate: new Date(8422938e5), ShipName: 'Suprêmes délices', ShipCity: 'Charleroi', ShipAddress: 'Boulevard Tirou, 255', ShipRegion: null, ShipPostalCode: 'B-6000', ShipCountry: 'Belgium', Freight: 6.27, Verified: !1 }, { OrderID: 10303, CustomerID: 'GODOS', EmployeeID: 7, OrderDate: new Date(8423802e5), ShipName: 'Godos Cocina Típica', ShipCity: 'Sevilla', ShipAddress: 'C/ Romero, 33', ShipRegion: null, ShipPostalCode: '41101', ShipCountry: 'Spain', Freight: 107.83, Verified: !0 }, { OrderID: 10304, CustomerID: 'TORTU', EmployeeID: 1, OrderDate: new Date(8424666e5), ShipName: 'Tortuga Restaurante', ShipCity: 'México D.F.', ShipAddress: 'Avda. Azteca 123', ShipRegion: null, ShipPostalCode: '05033', ShipCountry: 'Mexico', Freight: 63.79, Verified: !0 }, { OrderID: 10305, CustomerID: 'OLDWO', EmployeeID: 8, OrderDate: new Date(842553e6), ShipName: 'Old World Delicatessen', ShipCity: 'Anchorage', ShipAddress: '2743 Bering St.', ShipRegion: 'AK', ShipPostalCode: '99508', ShipCountry: 'USA', Freight: 257.62, Verified: !0 }, { OrderID: 10306, CustomerID: 'ROMEY', EmployeeID: 1, OrderDate: new Date(8428122e5), ShipName: 'Romero y tomillo', ShipCity: 'Madrid', ShipAddress: 'Gran Vía, 1', ShipRegion: null, ShipPostalCode: '28001', ShipCountry: 'Spain', Freight: 7.56, Verified: !1 }, { OrderID: 10307, CustomerID: 'LONEP', EmployeeID: 2, OrderDate: new Date(8428986e5), ShipName: 'Lonesome Pine Restaurant', ShipCity: 'Portland', ShipAddress: '89 Chiaroscuro Rd.', ShipRegion: 'OR', ShipPostalCode: '97219', ShipCountry: 'USA', Freight: .56, Verified: !1 }, { OrderID: 10308, CustomerID: 'ANATR', EmployeeID: 7, OrderDate: new Date(842985e6), ShipName: 'Ana Trujillo Emparedados y helados', ShipCity: 'México D.F.', ShipAddress: 'Avda. de la Constitución 2222', ShipRegion: null, ShipPostalCode: '05021', ShipCountry: 'Mexico', Freight: 1.61, Verified: !1 }, { OrderID: 10309, CustomerID: 'HUNGO', EmployeeID: 3, OrderDate: new Date(8430714e5), ShipName: 'Hungry Owl All-Night Grocers', ShipCity: 'Cork', ShipAddress: '8 Johnstown Road', ShipRegion: 'Co. Cork', ShipPostalCode: null, ShipCountry: 'Ireland', Freight: 47.3, Verified: !0 }, { OrderID: 10310, CustomerID: 'THEBI', EmployeeID: 8, OrderDate: new Date(8431578e5), ShipName: 'The Big Cheese', ShipCity: 'Portland', ShipAddress: '89 Jefferson Way Suite 2', ShipRegion: 'OR', ShipPostalCode: '97201', ShipCountry: 'USA', Freight: 17.52, Verified: !1 }, { OrderID: 10311, CustomerID: 'DUMON', EmployeeID: 1, OrderDate: new Date(8431578e5), ShipName: 'Du monde entier', ShipCity: 'Nantes', ShipAddress: '67, rue des Cinquante Otages', ShipRegion: null, ShipPostalCode: '44000', ShipCountry: 'France', Freight: 24.69, Verified: !1 }, { OrderID: 10312, CustomerID: 'WANDK', EmployeeID: 2, OrderDate: new Date(843417e6), ShipName: 'Die Wandernde Kuh', ShipCity: 'Stuttgart', ShipAddress: 'Adenauerallee 900', ShipRegion: null, ShipPostalCode: '70563', ShipCountry: 'Germany', Freight: 40.26, Verified: !0 }, { OrderID: 10313, CustomerID: 'QUICK', EmployeeID: 2, OrderDate: new Date(8435034e5), ShipName: 'QUICK-Stop', ShipCity: 'Cunewalde', ShipAddress: 'Taucherstraße 10', ShipRegion: null, ShipPostalCode: '01307', ShipCountry: 'Germany', Freight: 1.96, Verified: !1 }, { OrderID: 10314, CustomerID: 'RATTC', EmployeeID: 1, OrderDate: new Date(8435898e5), ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.', ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 74.16, Verified: !0 }, { OrderID: 10315, CustomerID: 'ISLAT', EmployeeID: 4, OrderDate: new Date(8436762e5), ShipName: 'Island Trading', ShipCity: 'Cowes', ShipAddress: 'Garden House Crowther Way', ShipRegion: 'Isle of Wight', ShipPostalCode: 'PO31 7PJ', ShipCountry: 'UK', Freight: 41.76, Verified: !0 }, { OrderID: 10316, CustomerID: 'RATTC', EmployeeID: 1, OrderDate: new Date(8437626e5), ShipName: 'Rattlesnake Canyon Grocery', ShipCity: 'Albuquerque', ShipAddress: '2817 Milton Dr.', ShipRegion: 'NM', ShipPostalCode: '87110', ShipCountry: 'USA', Freight: 150.15, Verified: !0 }, { OrderID: 10317, CustomerID: 'LONEP', EmployeeID: 6, OrderDate: new Date(8440218e5), ShipName: 'Lonesome Pine Restaurant', ShipCity: 'Portland', ShipAddress: '89 Chiaroscuro Rd.', ShipRegion: 'OR', ShipPostalCode: '97219', ShipCountry: 'USA', Freight: 12.69, Verified: !1 }, { OrderID: 10318, CustomerID: 'ISLAT', EmployeeID: 8, OrderDate: new Date(8441082e5), ShipName: 'Island Trading', ShipCity: 'Cowes', ShipAddress: 'Garden House Crowther Way', ShipRegion: 'Isle of Wight', ShipPostalCode: 'PO31 7PJ', ShipCountry: 'UK', Freight: 4.73, Verified: !1 }]; + + export let virtualData = []; +export function dataSource() { + let names = ['VINET', 'TOMSP', 'HANAR', 'VICTE', 'SUPRD', 'HANAR', 'CHOPS', 'RICSU', 'WELLI', 'HILAA', 'ERNSH', 'CENTC', + 'OTTIK', 'QUEDE', 'RATTC', 'ERNSH', 'FOLKO', 'BLONP', 'WARTH', 'FRANK', 'GROSR', 'WHITC', 'WARTH', 'SPLIR', 'RATTC', 'QUICK', 'VINET', + 'MAGAA', 'TORTU', 'MORGK', 'BERGS', 'LEHMS', 'BERGS', 'ROMEY', 'ROMEY', 'LILAS', 'LEHMS', 'QUICK', 'QUICK', 'RICAR', 'REGGC', 'BSBEV', + 'COMMI', 'QUEDE', 'TRADH', 'TORTU', 'RATTC', 'VINET', 'LILAS', 'BLONP', 'HUNGO', 'RICAR', 'MAGAA', 'WANDK', 'SUPRD', 'GODOS', 'TORTU', + 'OLDWO', 'ROMEY', 'LONEP', 'ANATR', 'HUNGO', 'THEBI', 'DUMON', 'WANDK', 'QUICK', 'RATTC', 'ISLAT', 'RATTC', 'LONEP', 'ISLAT', 'TORTU', + 'WARTH', 'ISLAT', 'PERIC', 'KOENE', 'SAVEA', 'KOENE', 'BOLID', 'FOLKO', 'FURIB', 'SPLIR', 'LILAS', 'BONAP', 'MEREP', 'WARTH', 'VICTE', + 'HUNGO', 'PRINI', 'FRANK', 'OLDWO', 'MEREP', 'BONAP', 'SIMOB', 'FRANK', 'LEHMS', 'WHITC', 'QUICK', 'RATTC', 'FAMIA']; + const sport = ['Cricket', 'Football', 'Tennis', 'Golf', 'Chess', 'Dodgeball', 'Racket', 'Archery', 'Climbing', 'Hunting', 'Carrom', 'Tag', 'Novuss', + 'Subbuteo', 'Baseball', 'Madden NFL', 'Shuffleboard', 'Badminton', 'Hockey', 'Volleyball', 'Table Tennis', 'Golf', 'Cycling', 'Running', 'Walking', 'Wireball', + 'Town ball', 'Tee ball', 'Stool ball', 'Stick ball']; + const country = ['India', 'Australia', 'Ballesteros', 'Belgium', 'Brazil', 'England', 'Ethiopia', 'Finland', 'France', 'Germany', 'Britain', + 'Argentina', 'Jamaica', 'Kenya', 'Morocco', 'Ireland', 'Norway', 'Philippines', 'Portugal', 'Romania', 'Russia', 'Scotland', 'Scottish', 'Serbia', 'Spain', + 'Sweden', 'Switzerland', 'Netherlands', 'UK', 'Ukraine', 'US', 'Wales', 'West Indies', 'China', 'Hong Kong', 'Italy', 'Philippines', 'Turkey', 'Botswana', + 'Sri Lanka', 'Algeria', 'Bangladesh', 'Egypt', 'Malaysia']; + for (let i = 0; i < 100000; i++) { + virtualData.push({ + 'SNo': i + 1, + 'FIELD1': names[Math.floor(Math.random() * names.length)], + 'FIELD2': 1967 + (i % 10), + 'FIELD3': sport[Math.floor(Math.random() * sport.length)], + 'FIELD4': country[Math.floor(Math.random() * country.length)], + 'FIELD5': Math.floor(Math.random() * 2000), + 'FIELD6': Math.floor(Math.random() * 1000), + 'FIELD7': Math.floor(Math.random() * 100), + 'FIELD8': Math.floor(Math.random() * 10), + 'FIELD9': Math.floor(Math.random() * 10), + 'FIELD10': Math.floor(Math.random() * 100), + 'FIELD11': Math.floor(Math.random() * 100), + 'FIELD12': Math.floor(Math.random() * 1000), + 'FIELD13': Math.floor(Math.random() * 10), + 'FIELD14': Math.floor(Math.random() * 10), + 'FIELD15': Math.floor(Math.random() * 1000), + 'FIELD16': Math.floor(Math.random() * 200), + 'FIELD17': Math.floor(Math.random() * 300), + 'FIELD18': Math.floor(Math.random() * 400), + 'FIELD19': Math.floor(Math.random() * 500), + 'FIELD20': Math.floor(Math.random() * 700), + 'FIELD21': Math.floor(Math.random() * 800), + 'FIELD22': Math.floor(Math.random() * 1000), + 'FIELD23': Math.floor(Math.random() * 2000), + 'FIELD24': Math.floor(Math.random() * 150), + 'FIELD25': Math.floor(Math.random() * 1000), + 'FIELD26': Math.floor(Math.random() * 100), + 'FIELD27': Math.floor(Math.random() * 400), + 'FIELD28': Math.floor(Math.random() * 600), + 'FIELD29': Math.floor(Math.random() * 500), + 'FIELD30': Math.floor(Math.random() * 300), + }); + } +} + + + +export let employeeData = [{ + 'EmployeeID': 1, + 'Name': { + 'LastName': 'abc' + }, + 'FirstName': 'Nancy', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-664743600000), + 'HireDate': new Date(704692800000), + 'Address': '507 - 20th Ave. E.\r\nApt. 2A', + 'City': 'Austria', + 'Region': 'WA', + 'PostalCode': '98122', + 'Country': 'USA', + 'HomePhone': '(206) 555-9857', + 'Extension': '5467', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Education includes a BA in psychology from Colorado State University in 1970. She also completed\ + \'The Art of the Cold Call.\' Nancy is a member of Toastmasters International.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, +{ + 'EmployeeID': 2, + 'Name': { + 'LastName': 'cde' + }, + 'FirstName': 'Andrew', + 'Title': 'Vice President, Sales', + 'TitleOfCourtesy': 'Dr.', + 'BirthDate': new Date(-563828400000), + 'HireDate': new Date(713764800000), + 'Address': '908 W. Capital Way', + 'City': 'Germany', + 'Region': 'WA', + 'PostalCode': '98401', + 'Country': 'USA', + 'HomePhone': '(206) 555-9482', + 'Extension': '3457', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of \ + Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, \ + was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the \ + Sales Management Roundtable, the Austria Chamber of Commerce, and the Pacific Rim Importers Association.', + 'ReportsTo': 0, + 'PhotoPath': 'http://accweb/emmployees/fuller.bmp' +}, +{ + 'EmployeeID': 3, + 'Name': { + 'LastName': 'wqe' + }, + 'FirstName': 'Janet', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-200088000000), + 'HireDate': new Date(702104400000), + 'Address': '722 Moss Bay Blvd.', + 'City': 'France', + 'Region': 'WA', + 'PostalCode': '98033', + 'Country': 'USA', + 'HomePhone': '(206) 555-3412', + 'Extension': '3355', + 'Photo': { 'Length': 21722 }, + + 'Notes': 'Janet has a BS degree in chemistry from Boston College (1984). \ + She has also completed a certificate program in food retailing management.\ + Janet was hired as a sales associate in 1991 and promoted to sales representative in February 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/leverling.bmp' +}, +{ + 'EmployeeID': 4, + 'Name': { + 'LastName': 'yte' + }, + 'FirstName': 'Margaret', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mrs.', + 'BirthDate': new Date(-1018814400000), + 'HireDate': new Date(736401600000), + 'Address': '4110 Old Switzerland Rd.', + 'City': 'Switzerland', + 'Region': 'WA', + 'PostalCode': '98052', + 'Country': 'USA', + 'HomePhone': '(206) 555-8122', + 'Extension': '5176', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American \ + Institute of Culinary Arts (1966). She was assigned to the Brazil office temporarily from July through November 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/peacock.bmp' +}, +{ + 'EmployeeID': 5, + 'Name': { + 'LastName': 'qwe' + }, + 'FirstName': 'Steven', + 'Title': 'Sales Manager', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-468010800000), + 'HireDate': new Date(750830400000), + 'Address': '14 Garrett Hill', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': + 'SW1 8JR', + 'Country': 'UK', + 'HomePhone': '(71) 555-4848', + 'Extension': '3453', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Steven Buchanan graduated from St. Andrews University, Scotland, with a BSC degree in 1976. Upon joining the company as \ + a sales representative in 1992, he spent 6 months in an orientation program at the Austria office and then returned to his permanent \ + post in Brazil. He was promoted to sales manager in March 1993. Mr. Buchanan has completed the courses \'Successful \ + Telemarketing\' and \'International Sales Management.\' He is fluent in French.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/buchanan.bmp' +}, +{ + 'EmployeeID': 6, + 'Name': { + 'LastName': 'trw' + }, + 'FirstName': 'Michael', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-205185600000), + 'HireDate': new Date(750830400000), + 'Address': 'Coventry House\r\nMiner Rd.', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'EC2 7JR', + 'Country': 'UK', + 'HomePhone': '(71) 555-7773', + 'Extension': '428', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Michael is a graduate of Sussex University (MA, economics, 1983) and the University of California at Los Angeles \ + (MBA, marketing, 1986). He has also taken the courses \'Multi-Cultural Selling\' and \'Time Management for the Sales Professional.\' \ + He is fluent in Japanese and can read and write French, Portuguese, and Spanish.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, +{ + 'EmployeeID': 7, + 'Name': { + 'LastName': 'cbe' + }, + 'FirstName': 'Robert', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-302731200000), + 'HireDate': new Date(757486800000), + 'Address': 'Edgeham Hollow\r\nWinchester Way', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'RG1 9SP', + 'Country': 'UK', + 'HomePhone': '(71) 555-5598', + 'Extension': '465', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Robert King served in the Peace Corps and traveled extensively before completing his degree in English at the \ + University of Michigan in 1992, the year he joined the company. After completing a course entitled \'Selling in Europe,\' \ + he was transferred to the Brazil office in March 1993.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, +{ + 'EmployeeID': 8, + 'Name': { + 'LastName': 'dbc' + }, + 'FirstName': 'Laura', + 'Title': 'Inside Sales Coordinator', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-377982000000), + 'HireDate': new Date(762843600000), + 'Address': '4726 - 11th Ave. N.E.', + 'City': 'Austria', + 'Region': 'WA', + 'PostalCode': '98105', + 'Country': 'USA', + 'HomePhone': '(206) 555-1189', + 'Extension': '2344', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Laura received a BA in psychology from the University of Washington. She has also completed a course in business \ + French. She reads and writes French.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, +{ + 'EmployeeID': 9, + 'Name': { + 'LastName': 'xyz' + }, + 'FirstName': 'Anne', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-123966000000), + 'HireDate': new Date(784875600000), + 'Address': '7 Houndstooth Rd.', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'WG2 7LT', + 'Country': 'UK', + 'HomePhone': '(71) 555-4444', + 'Extension': '452', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Anne has a BA degree in English from St. Lawrence College. She is fluent in French and German.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, + +{ + 'EmployeeID': 10, + 'Name': { + 'LastName': 'abc' + }, + 'FirstName': 'Nancy', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-664743600000), + 'HireDate': new Date(704692800000), + 'Address': '507 - 20th Ave. E.\r\nApt. 2A', + 'City': 'Austria', + 'Region': 'WA', + 'PostalCode': '98122', + 'Country': 'USA', + 'HomePhone': '(206) 555-9857', + 'Extension': '5467', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Education includes a BA in psychology from Colorado State University in 1970. She also completed\ + \'The Art of the Cold Call.\' Nancy is a member of Toastmasters International.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, +{ + 'EmployeeID': 11, + 'Name': { + 'LastName': 'cde' + }, + 'FirstName': 'Andrew', + 'Title': 'Vice President, Sales', + 'TitleOfCourtesy': 'Dr.', + 'BirthDate': new Date(-563828400000), + 'HireDate': new Date(713764800000), + 'Address': '908 W. Capital Way', + 'City': 'Germany', + 'Region': 'WA', + 'PostalCode': '98401', + 'Country': 'USA', + 'HomePhone': '(206) 555-9482', + 'Extension': '3457', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of \ + Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, \ + was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the \ + Sales Management Roundtable, the Austria Chamber of Commerce, and the Pacific Rim Importers Association.', + 'ReportsTo': 0, + 'PhotoPath': 'http://accweb/emmployees/fuller.bmp' +}, +{ + 'EmployeeID': 12, + 'Name': { + 'LastName': 'wqe' + }, + 'FirstName': 'Janet', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-200088000000), + 'HireDate': new Date(702104400000), + 'Address': '722 Moss Bay Blvd.', + 'City': 'France', + 'Region': 'WA', + 'PostalCode': '98033', + 'Country': 'USA', + 'HomePhone': '(206) 555-3412', + 'Extension': '3355', + 'Photo': { 'Length': 21722 }, + + 'Notes': 'Janet has a BS degree in chemistry from Boston College (1984). \ + She has also completed a certificate program in food retailing management.\ + Janet was hired as a sales associate in 1991 and promoted to sales representative in February 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/leverling.bmp' +}, +{ + 'EmployeeID': 13, + 'Name': { + 'LastName': 'xyz' + }, + 'FirstName': 'Peacock', + 'Title': 'Sales Manager', + 'TitleOfCourtesy': 'Mrs.', + 'BirthDate': new Date(-1018814400000), + 'HireDate': new Date(736401600000), + 'Address': '4110 Old Switzerland Rd.', + 'City': 'Germany', + 'Region': 'WA', + 'PostalCode': '98052', + 'Country': 'USA', + 'HomePhone': '(206) 555-8122', + 'Extension': '5176', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American \ + Institute of Culinary Arts (1966). She was assigned to the Brazil office temporarily from July through November 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/peacock.bmp' +}, +{ + 'EmployeeID': 14, + 'Name': { + 'LastName': 'yte' + }, + 'FirstName': 'Margaret', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mrs.', + 'BirthDate': new Date(-1018814400000), + 'HireDate': new Date(736401600000), + 'Address': '4110 Old Switzerland Rd.', + 'City': 'Switzerland', + 'Region': 'WA', + 'PostalCode': '98052', + 'Country': 'USA', + 'HomePhone': '(206) 555-8122', + 'Extension': '5176', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American \ + Institute of Culinary Arts (1966). She was assigned to the Brazil office temporarily from July through November 1992.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/peacock.bmp' +}, +{ + 'EmployeeID': 15, + 'Name': { + 'LastName': 'qwe' + }, + 'FirstName': 'Steven', + 'Title': 'Sales Manager', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-468010800000), + 'HireDate': new Date(750830400000), + 'Address': '14 Garrett Hill', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': + 'SW1 8JR', + 'Country': 'UK', + 'HomePhone': '(71) 555-4848', + 'Extension': '3453', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Steven Buchanan graduated from St. Andrews University, Scotland, with a BSC degree in 1976. Upon joining the company as \ + a sales representative in 1992, he spent 6 months in an orientation program at the Austria office and then returned to his permanent \ + post in Brazil. He was promoted to sales manager in March 1993. Mr. Buchanan has completed the courses \'Successful \ + Telemarketing\' and \'International Sales Management.\' He is fluent in French.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/buchanan.bmp' +}, +{ + 'EmployeeID': 16, + 'Name': { + 'LastName': 'trw' + }, + 'FirstName': 'Michael', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-205185600000), + 'HireDate': new Date(750830400000), + 'Address': 'Coventry House\r\nMiner Rd.', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'EC2 7JR', + 'Country': 'UK', + 'HomePhone': '(71) 555-7773', + 'Extension': '428', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Michael is a graduate of Sussex University (MA, economics, 1983) and the University of California at Los Angeles \ + (MBA, marketing, 1986). He has also taken the courses \'Multi-Cultural Selling\' and \'Time Management for the Sales Professional.\' \ + He is fluent in Japanese and can read and write French, Portuguese, and Spanish.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, +{ + 'EmployeeID': 17, + 'Name': { + 'LastName': 'cbe' + }, + 'FirstName': 'Robert', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Mr.', + 'BirthDate': new Date(-302731200000), + 'HireDate': new Date(757486800000), + 'Address': 'Edgeham Hollow\r\nWinchester Way', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'RG1 9SP', + 'Country': 'UK', + 'HomePhone': '(71) 555-5598', + 'Extension': '465', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Robert King served in the Peace Corps and traveled extensively before completing his degree in English at the \ + University of Michigan in 1992, the year he joined the company. After completing a course entitled \'Selling in Europe,\' \ + he was transferred to the Brazil office in March 1993.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, +{ + 'EmployeeID': 18, + 'Name': { + 'LastName': 'dbc' + }, + 'FirstName': 'Laura', + 'Title': 'Inside Sales Coordinator', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-377982000000), + 'HireDate': new Date(762843600000), + 'Address': '4726 - 11th Ave. N.E.', + 'City': 'Austria', + 'Region': 'WA', + 'PostalCode': '98105', + 'Country': 'USA', + 'HomePhone': '(206) 555-1189', + 'Extension': '2344', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Laura received a BA in psychology from the University of Washington. She has also completed a course in business \ + French. She reads and writes French.', + 'ReportsTo': 2, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}, +{ + 'EmployeeID': 19, + 'Name': { + 'LastName': 'xyz' + }, + 'FirstName': 'Anne', + 'Title': 'Sales Representative', + 'TitleOfCourtesy': 'Ms.', + 'BirthDate': new Date(-123966000000), + 'HireDate': new Date(784875600000), + 'Address': '7 Houndstooth Rd.', + 'City': 'Brazil', + 'Region': null, + 'PostalCode': 'WG2 7LT', + 'Country': 'UK', + 'HomePhone': '(71) 555-4444', + 'Extension': '452', + 'Photo': { 'Length': 21626 }, + + 'Notes': 'Anne has a BA degree in English from St. Lawrence College. She is fluent in French and German.', + 'ReportsTo': 5, + 'PhotoPath': 'http://accweb/emmployees/davolio.bmp' +}]; diff --git a/GraphQLAdaptor/GraphQLServer/src/resolvers.js b/GraphQLAdaptor/GraphQLServer/src/resolvers.js new file mode 100644 index 0000000..c4f8487 --- /dev/null +++ b/GraphQLAdaptor/GraphQLServer/src/resolvers.js @@ -0,0 +1,90 @@ +import { OrderData } from "./db"; +import { DataUtil, Query, DataManager } from "@syncfusion/ej2-data"; + +DataUtil.serverTimezoneOffset = 0; + +const resolvers = { + Query: { + getOrders: (parent, { datamanager }, context, info) => { + console.log(datamanager); + let orders = [...OrderData]; + const query = new Query(); + + const performFiltering = (filterString) => { + const filter = JSON.parse(filterString); + // Iterating over each predicate + filter[0].predicates.forEach(predicate => { + const field = predicate.field; + const operator = predicate.operator; + const value = predicate.value; + query.where(field, operator, value); + }); + } + const performSearching = (searchParam) => { + const { fields, key } = JSON.parse(searchParam)[0]; + query.search(key, fields); + } + const performSorting = (sorted) => { + for (let i = 0; i < sorted.length; i++) { + const { name, direction } = sorted[i]; + query.sortBy(name, direction); + } + } + + // Perform filtering + if (datamanager.where) { + performFiltering(datamanager.where); + } + + // Perform Searching + if (datamanager.search) { + performSearching(datamanager.search); + } + + // Perform sorting + if (datamanager.sorted) { + performSorting(datamanager.sorted); + } + + orders = new DataManager(orders).executeLocal(query); + var count = orders.length; + + // Perform paging + if (datamanager.skip && datamanager.take) { + const pageSkip = datamanager.skip / datamanager.take + 1; + const pageTake = datamanager.take; + query.page(pageSkip, pageTake); + } else if (datamanager.skip === 0 && datamanager.take) { + query.page(1, datamanager.take); + } + + const currentResult = new DataManager(orders).executeLocal(query); + return { result: currentResult, count: count }; // Return result and count separately + }, + }, + Mutation: { + createOrder: (parent, { value }, context, info) => { + const newOrder = value; + OrderData.push(newOrder); + return newOrder; + }, + updateOrder: (parent, { key, keyColumn, value }, context, info) => { + let updatedOrder = OrderData.find(order => order.OrderID === parseInt(key)); + updatedOrder.CustomerID = value.CustomerID; + updatedOrder.EmployeeID = value.EmployeeID; + updatedOrder.Freight = value.Freight; + updatedOrder.ShipCity = value.ShipCity; + updatedOrder.ShipCountry = value.ShipCountry; + return updatedOrder; // Make sure to return the updated order. + }, + deleteOrder: (parent, { key, keyColumn, value }, context, info) => { + const orderIndex = OrderData.findIndex(order => order.OrderID === parseInt(key)); + if (orderIndex === -1) throw new Error("Order not found." + value); + const deletedOrders = OrderData.splice(orderIndex, 1); + return deletedOrders[0]; + } + } + +}; + +export default resolvers; \ No newline at end of file diff --git a/GraphQLAdaptor/GraphQLServer/src/schema.graphql b/GraphQLAdaptor/GraphQLServer/src/schema.graphql new file mode 100644 index 0000000..fa0c849 --- /dev/null +++ b/GraphQLAdaptor/GraphQLServer/src/schema.graphql @@ -0,0 +1,63 @@ +#Grid Sort direction + +input Sort { + name: String! + direction: String! +} + +#Grid aggregates type + +input Aggregate { + field: String! + type: String! +} + +#Syncfusion DataManager query params + +input DataManager { + skip: Int + take: Int + sorted: [Sort] + group: [String] + table: String + select: [String] + where: String + search: String + requiresCounts: Boolean, + aggregates: [Aggregate], + params: String +} + +# Grid field names +input OrderInput { + OrderID: Int! + CustomerID: String + EmployeeID: Int + ShipCity: String + ShipCountry: String +} + +type Order { + OrderID: Int! + CustomerID: String + EmployeeID: Int + ShipCity: String + ShipCountry: String +} + +# need to return type as 'result (i.e, current pager data)' and count (i.e., total number of records in your database) +type ReturnType { + result: [Order] + count: Int + aggregates: String +} + +type Query { + getOrders(datamanager: DataManager): ReturnType +} +type Mutation { + + createOrder(value: OrderInput): Order! + updateOrder(key: Int!, keyColumn: String, value: OrderInput): Order + deleteOrder(key: Int!, keyColumn: String, value: OrderInput): Order! +} \ No newline at end of file diff --git a/GraphQLAdaptor/GridClient/index.css b/GraphQLAdaptor/GridClient/index.css new file mode 100644 index 0000000..e69de29 diff --git a/GraphQLAdaptor/GridClient/index.html b/GraphQLAdaptor/GridClient/index.html new file mode 100644 index 0000000..4b34faa --- /dev/null +++ b/GraphQLAdaptor/GridClient/index.html @@ -0,0 +1,35 @@ + + + + + EJ2 Grid + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + \ No newline at end of file diff --git a/GraphQLAdaptor/GridClient/index.js b/GraphQLAdaptor/GridClient/index.js new file mode 100644 index 0000000..bfea2e7 --- /dev/null +++ b/GraphQLAdaptor/GridClient/index.js @@ -0,0 +1,57 @@ +var data = new ej.data.DataManager({ + url: "http://localhost:4200/", // xxxx represents the port number + adaptor: new ej.data.GraphQLAdaptor({ + response: { + result: 'getOrders.result',// Retrieve the actual order data + count: 'getOrders.count' // Retrieve the total count of orders + }, + // GraphQL query to fetch orders + query: `query getOrders($datamanager: DataManager) { + getOrders(datamanager: $datamanager) { + count, + result{ + OrderID, CustomerID, EmployeeID, ShipCountry} + } + }`, + + // mutation for performing CRUD + getMutation: function (action) { + if (action === 'insert') { + return `mutation CreateOrderMutation($value: OrderInput!){ + createOrder(value: $value){ + OrderID, CustomerID, ShipCity, ShipCountry + }}`; + } + if (action === 'update') { + return `mutation UpdateOrderMutation($key: Int!, $keyColumn: String,$value: OrderInput){ + updateOrder(key: $key, keyColumn: $keyColumn, value: $value) { + OrderID, CustomerID, ShipCity, ShipCountry + } + }`; + } else { + return `mutation RemoveOrderMutation($key: Int!, $keyColumn: String, $value: OrderInput){ + deleteOrder(key: $key, keyColumn: $keyColumn, value: $value) { + OrderID, CustomerID, ShipCity, ShipCountry + } + }`; + } + } + }), +}); +ej.grids.Grid.Inject(ej.grids.Edit, ej.grids.Toolbar, ej.grids.Sort, ej.grids.Page, ej.grids.Filter); +var grid = new ej.grids.Grid({ + dataSource: data, + allowPaging: true, + allowSorting: true, + allowFiltering: true, + toolbar: ['Add', 'Edit', 'Update', 'Delete', 'Cancel', 'Search'], + editSettings: { allowAdding: true, allowDeleting: true, allowEditing: true, }, + columns: [ + { field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 120, type: 'number', isPrimaryKey: true }, + { field: 'CustomerID', width: 140, headerText: 'Customer ID', type: 'string' }, + { field: 'EmployeeID', headerText: 'Employee ID', textAlign: 'Right', width: 120 }, + { field: 'ShipCountry', headerText: 'Ship Country', width: 140 } + ] +}); + +grid.appendTo('#Grid'); \ No newline at end of file From 21b0fe60c9ef1d7e77619b24c034a8e29bac4115 Mon Sep 17 00:00:00 2001 From: Nithya Date: Mon, 24 Jun 2024 16:23:00 +0530 Subject: [PATCH 4/6] Adding sample for ODataV4Adaptor --- ODataV4Adaptor/ODataV4Adaptor.sln | 12 ++++++------ .../Controllers/OrdersController.cs | 3 ++- .../ODataV4Adaptor/Models/OrdersDetails.cs | 19 +++++++++++-------- .../ODataV4Adaptor/ODataV4Adaptor.csproj | 6 +----- .../ODataV4Adaptor/ODataV4Adaptor.csproj.user | 2 -- .../ODataV4Adaptor/ODataV4Adaptor.http | 2 +- ODataV4Adaptor/ODataV4Adaptor/Program.cs | 19 +++++++++---------- .../Properties/launchSettings.json | 8 ++++---- .../ODataV4Adaptor/wwwroot/index.html | 6 +++--- .../ODataV4Adaptor/wwwroot/js/index.js | 17 ++++++++--------- 10 files changed, 45 insertions(+), 49 deletions(-) diff --git a/ODataV4Adaptor/ODataV4Adaptor.sln b/ODataV4Adaptor/ODataV4Adaptor.sln index 803d140..5553f2e 100644 --- a/ODataV4Adaptor/ODataV4Adaptor.sln +++ b/ODataV4Adaptor/ODataV4Adaptor.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.9.34728.123 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ODataV4Adaptor", "ODataV4Adaptor\ODataV4Adaptor.csproj", "{CAB1491F-D43B-4513-9A9D-F5A56AA8F093}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ODataV4Adaptor", "ODataV4Adaptor\ODataV4Adaptor.csproj", "{74ADB429-2FE7-4393-977B-D519A96C236C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,15 +11,15 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CAB1491F-D43B-4513-9A9D-F5A56AA8F093}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CAB1491F-D43B-4513-9A9D-F5A56AA8F093}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CAB1491F-D43B-4513-9A9D-F5A56AA8F093}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CAB1491F-D43B-4513-9A9D-F5A56AA8F093}.Release|Any CPU.Build.0 = Release|Any CPU + {74ADB429-2FE7-4393-977B-D519A96C236C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {74ADB429-2FE7-4393-977B-D519A96C236C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {74ADB429-2FE7-4393-977B-D519A96C236C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {74ADB429-2FE7-4393-977B-D519A96C236C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {C4A3478D-2390-4B78-982F-E0AC583C0E9D} + SolutionGuid = {3927FC0F-643B-423D-B5D3-E6D66A7D9934} EndGlobalSection EndGlobal diff --git a/ODataV4Adaptor/ODataV4Adaptor/Controllers/OrdersController.cs b/ODataV4Adaptor/ODataV4Adaptor/Controllers/OrdersController.cs index c73f1f2..ca688ea 100644 --- a/ODataV4Adaptor/ODataV4Adaptor/Controllers/OrdersController.cs +++ b/ODataV4Adaptor/ODataV4Adaptor/Controllers/OrdersController.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.OData.Query; using Microsoft.AspNetCore.OData.Routing.Controllers; using ODataV4Adaptor.Models; + namespace OdataV4Adaptor.Controllers { @@ -54,7 +55,7 @@ public IActionResult Patch(int key, [FromBody] OrdersDetails updateRecord) { // If the order exists, update its properties existingOrder.CustomerID = updateRecord.CustomerID ?? existingOrder.CustomerID; - existingOrder.ShipCity = updateRecord.ShipCity ?? existingOrder.ShipCity; + existingOrder.EmployeeID = updateRecord.EmployeeID ?? existingOrder.EmployeeID; existingOrder.ShipCountry = updateRecord.ShipCountry ?? existingOrder.ShipCountry; } return Json(updateRecord); diff --git a/ODataV4Adaptor/ODataV4Adaptor/Models/OrdersDetails.cs b/ODataV4Adaptor/ODataV4Adaptor/Models/OrdersDetails.cs index c0d9fb9..1a82cf7 100644 --- a/ODataV4Adaptor/ODataV4Adaptor/Models/OrdersDetails.cs +++ b/ODataV4Adaptor/ODataV4Adaptor/Models/OrdersDetails.cs @@ -10,11 +10,11 @@ public OrdersDetails() } public OrdersDetails( - int OrderID, string CustomerId, string ShipCity, string ShipCountry) + int OrderID, string CustomerId, int EmployeeId, string ShipCountry) { this.OrderID = OrderID; this.CustomerID = CustomerId; - this.ShipCity = ShipCity; + this.EmployeeID = EmployeeId; this.ShipCountry = ShipCountry; } @@ -25,11 +25,11 @@ public static List GetAllRecords() int code = 10000; for (int i = 1; i < 10; i++) { - order.Add(new OrdersDetails(code + 1, "ALFKI","Berlin", "Denmark")); - order.Add(new OrdersDetails(code + 2, "ANATR", "Madrid", "Brazil")); - order.Add(new OrdersDetails(code + 3, "ANTON", "Cholchester", "Germany")); - order.Add(new OrdersDetails(code + 4, "BLONP", "Marseille", "Austria")); - order.Add(new OrdersDetails(code + 5, "BOLID", "tsawassen", "Switzerland")); + order.Add(new OrdersDetails(code + 1, "ALFKI", i + 0, "Denmark")); + order.Add(new OrdersDetails(code + 2, "ANATR", i + 2, "Brazil")); + order.Add(new OrdersDetails(code + 3, "ANTON", i + 1, "Germany")); + order.Add(new OrdersDetails(code + 4, "BLONP", i + 3, "Austria")); + order.Add(new OrdersDetails(code + 5, "BOLID", i + 4, "Switzerland")); code += 5; } } @@ -37,8 +37,11 @@ public static List GetAllRecords() } [Key] public int? OrderID { get; set; } + [Required] public string? CustomerID { get; set; } - public string? ShipCity { get; set; } + [Required] + public int? EmployeeID { get; set; } + [Required] public string? ShipCountry { get; set; } } } \ No newline at end of file diff --git a/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj index 7c32347..665e3d0 100644 --- a/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj +++ b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj @@ -1,4 +1,4 @@ - + net8.0 @@ -11,8 +11,4 @@ - - - - diff --git a/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj.user b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj.user index 2c8f5c1..9ff5820 100644 --- a/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj.user +++ b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.csproj.user @@ -2,7 +2,5 @@ https - ApiControllerEmptyScaffolder - root/Common/Api \ No newline at end of file diff --git a/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.http b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.http index cb8c7fb..dd84837 100644 --- a/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.http +++ b/ODataV4Adaptor/ODataV4Adaptor/ODataV4Adaptor.http @@ -1,4 +1,4 @@ -@ODataV4Adaptor_HostAddress = http://localhost:5214 +@ODataV4Adaptor_HostAddress = http://localhost:5063 GET {{ODataV4Adaptor_HostAddress}}/weatherforecast/ Accept: application/json diff --git a/ODataV4Adaptor/ODataV4Adaptor/Program.cs b/ODataV4Adaptor/ODataV4Adaptor/Program.cs index 832dee4..7921b76 100644 --- a/ODataV4Adaptor/ODataV4Adaptor/Program.cs +++ b/ODataV4Adaptor/ODataV4Adaptor/Program.cs @@ -17,23 +17,22 @@ // Register the "Orders" entity set with the OData model builder modelBuilder.EntitySet("Orders"); -var recordCount = OrdersDetails.GetAllRecords().Count; +// Add controllers with OData support to the service collection +var recordCount = OrdersDetails.GetAllRecords().Count; builder.Services.AddControllers().AddOData( options => options - .Count() - .OrderBy() - .Filter() - .SetMaxTop(recordCount) - .AddRouteComponents( - "odata", - modelBuilder.GetEdmModel())); + .Count() + .Filter() //searching and filtering + .Select() + .Expand() + .OrderBy() + .SetMaxTop(recordCount) + .AddRouteComponents("odata", modelBuilder.GetEdmModel())); var app = builder.Build(); - app.UseDefaultFiles(); app.UseStaticFiles(); - // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { diff --git a/ODataV4Adaptor/ODataV4Adaptor/Properties/launchSettings.json b/ODataV4Adaptor/ODataV4Adaptor/Properties/launchSettings.json index d2b583a..9cec739 100644 --- a/ODataV4Adaptor/ODataV4Adaptor/Properties/launchSettings.json +++ b/ODataV4Adaptor/ODataV4Adaptor/Properties/launchSettings.json @@ -4,8 +4,8 @@ "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "http://localhost:5430", - "sslPort": 44372 + "applicationUrl": "http://localhost:13228", + "sslPort": 44361 } }, "profiles": { @@ -14,7 +14,7 @@ "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "swagger", - "applicationUrl": "http://localhost:5214", + "applicationUrl": "http://localhost:5063", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } @@ -24,7 +24,7 @@ "dotnetRunMessages": true, "launchBrowser": true, // "launchUrl": "swagger", - "applicationUrl": "https://localhost:7047;http://localhost:5214", + "applicationUrl": "https://localhost:7116;http://localhost:5063", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/ODataV4Adaptor/ODataV4Adaptor/wwwroot/index.html b/ODataV4Adaptor/ODataV4Adaptor/wwwroot/index.html index b98e813..af4cffe 100644 --- a/ODataV4Adaptor/ODataV4Adaptor/wwwroot/index.html +++ b/ODataV4Adaptor/ODataV4Adaptor/wwwroot/index.html @@ -1,11 +1,12 @@  - ODataV4Adaptor + EJ2 Grid - + + @@ -27,7 +28,6 @@
- \ No newline at end of file diff --git a/ODataV4Adaptor/ODataV4Adaptor/wwwroot/js/index.js b/ODataV4Adaptor/ODataV4Adaptor/wwwroot/js/index.js index f7591a1..5009bc8 100644 --- a/ODataV4Adaptor/ODataV4Adaptor/wwwroot/js/index.js +++ b/ODataV4Adaptor/ODataV4Adaptor/wwwroot/js/index.js @@ -1,20 +1,19 @@ -var data = new ej.data.DataManager({ - url: 'https://localhost:7047/odata/Orders', +var data = new ej.data.DataManager({ + url: 'https://localhost:7116/odata/orders', // Here xxxx represents the port number adaptor: new ej.data.ODataV4Adaptor() }); -ej.grids.Grid.Inject(ej.grids.Toolbar, ej.grids.Edit, ej.grids.Filter, ej.grids.Page, ej.grids.Sort); - +ej.grids.Grid.Inject(ej.grids.Toolbar, ej.grids.Filter, ej.grids.Sort, ej.grids.Page, ej.grids.Edit); var grid = new ej.grids.Grid({ dataSource: data, - allowPaging: true, - allowSorting: true, allowFiltering: true, - toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'], - editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true, mode: 'Normal' }, + allowSorting:true, + toolbar: ['Add', 'Edit', 'Update', 'Delete', 'Cancel', 'Search'], + filterSettings: { type:'Excel' }, + editSettings: { allowAdding: true, allowDeleting: true, allowEditing: true }, columns: [ { field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 120, isPrimaryKey: true, type: 'number' }, { field: 'CustomerID', width: 140, headerText: 'Customer ID', type: 'string' }, - { field: 'ShipCity', headerText: 'ShipCity', width: 140 }, + { field: 'EmployeeID', headerText: 'Employee ID', width: 140 }, { field: 'ShipCountry', headerText: 'ShipCountry', width: 140 } ] }); From d505bf6499f256777dc2ae78deb4d7db713520a4 Mon Sep 17 00:00:00 2001 From: Nithya Date: Mon, 24 Jun 2024 16:25:35 +0530 Subject: [PATCH 5/6] Adding sample for RemoteSaveAdaptor --- RemoteSaveAdaptor/RemoteSaveAdaptor.sln | 25 +++++ .../Controllers/OrdersController.cs | 93 +++++++++++++++++++ .../Controllers/WeatherForecastController.cs | 33 +++++++ .../RemoteSaveAdaptor/Models/OrdersDetails.cs | 57 ++++++++++++ .../RemoteSaveAdaptor/Program.cs | 27 ++++++ .../Properties/launchSettings.json | 41 ++++++++ .../RemoteSaveAdaptor.csproj | 13 +++ .../RemoteSaveAdaptor.csproj.user | 6 ++ .../RemoteSaveAdaptor/RemoteSaveAdaptor.http | 6 ++ .../RemoteSaveAdaptor/WeatherForecast.cs | 13 +++ .../appsettings.Development.json | 8 ++ .../RemoteSaveAdaptor/appsettings.json | 9 ++ .../RemoteSaveAdaptor/wwwroot/index.html | 33 +++++++ .../RemoteSaveAdaptor/wwwroot/js/index.js | 42 +++++++++ 14 files changed, 406 insertions(+) create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor.sln create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/Controllers/OrdersController.cs create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/Controllers/WeatherForecastController.cs create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/Models/OrdersDetails.cs create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/Program.cs create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/Properties/launchSettings.json create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.csproj create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.csproj.user create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.http create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/WeatherForecast.cs create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/appsettings.Development.json create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/appsettings.json create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/wwwroot/index.html create mode 100644 RemoteSaveAdaptor/RemoteSaveAdaptor/wwwroot/js/index.js diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor.sln b/RemoteSaveAdaptor/RemoteSaveAdaptor.sln new file mode 100644 index 0000000..a62c2ba --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34728.123 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteSaveAdaptor", "RemoteSaveAdaptor\RemoteSaveAdaptor.csproj", "{195AC7C8-3117-493B-8DA1-CA6F5764AB65}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {195AC7C8-3117-493B-8DA1-CA6F5764AB65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {195AC7C8-3117-493B-8DA1-CA6F5764AB65}.Debug|Any CPU.Build.0 = Debug|Any CPU + {195AC7C8-3117-493B-8DA1-CA6F5764AB65}.Release|Any CPU.ActiveCfg = Release|Any CPU + {195AC7C8-3117-493B-8DA1-CA6F5764AB65}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {6C46EAAC-6A39-444D-B3CB-DC9AFD316546} + EndGlobalSection +EndGlobal diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/Controllers/OrdersController.cs b/RemoteSaveAdaptor/RemoteSaveAdaptor/Controllers/OrdersController.cs new file mode 100644 index 0000000..87e3c44 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/Controllers/OrdersController.cs @@ -0,0 +1,93 @@ +using Microsoft.AspNetCore.Mvc; +using RemoteSaveAdaptor.Models; + +namespace RemoteSaveAdaptor.Controllers +{ + [ApiController] + public class OrdersController : Controller + { + [HttpPost] + [Route("api/[controller]")] + public object Post() + { + // Retrieve data from the data source (e.g., database) + IQueryable DataSource = GetOrderData().AsQueryable(); + + // Get the total records count + int totalRecordsCount = DataSource.Count(); + + // Return data based on the request + return new { result = DataSource, count = totalRecordsCount }; + } + + [HttpGet] + [Route("api/[controller]")] + public List GetOrderData() + { + var data = OrdersDetails.GetAllRecords().ToList(); + return data; + } + + [HttpPost] + [Route("api/Orders/Insert")] + public ActionResult Insert([FromBody] CRUDModel newRecord) + { + if (newRecord.value != null) + { + OrdersDetails.GetAllRecords().Insert(0, newRecord.value); + } + + return Json(newRecord.value); + } + + [HttpPost] + [Route("api/Orders/Update")] + public object Update([FromBody] CRUDModel updatedRecord) + { + var updatedOrder = updatedRecord.value; + if (updatedOrder != null) + { + var data = OrdersDetails.GetAllRecords().FirstOrDefault(or => or.OrderID == updatedOrder.OrderID); + if (data != null) + { + // Update the existing record + data.OrderID = updatedOrder.OrderID; + data.CustomerID = updatedOrder.CustomerID; + data.Freight = updatedOrder.Freight; + data.ShipCity = updatedOrder.ShipCity; + data.ShipCountry = updatedOrder.ShipCountry; + data.Verified = updatedOrder.Verified; + + // Update other properties similarly + } + } + return updatedRecord; + } + + [HttpPost] + [Route("api/Orders/Remove")] + public object Remove([FromBody] CRUDModel deletedRecord) + { + int orderId = int.Parse(deletedRecord.key.ToString()); // get key value from the deletedRecord + var data = OrdersDetails.GetAllRecords().FirstOrDefault(orderData => orderData.OrderID == orderId); + if (data != null) + { + // Remove the record from the data collection + OrdersDetails.GetAllRecords().Remove(data); + } + return deletedRecord; + } + + public class CRUDModel where T : class + { + public string? action { get; set; } + public string? keyColumn { get; set; } + public object? key { get; set; } + public T? value { get; set; } + public List? added { get; set; } + public List? changed { get; set; } + public List? deleted { get; set; } + public IDictionary? @params { get; set; } + } + } +} \ No newline at end of file diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/Controllers/WeatherForecastController.cs b/RemoteSaveAdaptor/RemoteSaveAdaptor/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..87abc62 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/Controllers/WeatherForecastController.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Mvc; + +namespace RemoteSaveAdaptor.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/Models/OrdersDetails.cs b/RemoteSaveAdaptor/RemoteSaveAdaptor/Models/OrdersDetails.cs new file mode 100644 index 0000000..74ca816 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/Models/OrdersDetails.cs @@ -0,0 +1,57 @@ +using System.ComponentModel.DataAnnotations; + +namespace RemoteSaveAdaptor.Models +{ + public class OrdersDetails + { + public static List order = new List(); + public OrdersDetails() + { + + } + public OrdersDetails(int OrderID, string CustomerId, int EmployeeId, double Freight, bool Verified, DateTime OrderDate, string ShipCity, string ShipName, string ShipCountry, DateTime ShippedDate, string ShipAddress) + { + this.OrderID = OrderID; + this.CustomerID = CustomerId; + this.EmployeeID = EmployeeId; + this.Freight = Freight; + this.ShipCity = ShipCity; + this.Verified = Verified; + this.OrderDate = OrderDate; + this.ShipName = ShipName; + this.ShipCountry = ShipCountry; + this.ShippedDate = ShippedDate; + this.ShipAddress = ShipAddress; + } + + public static List GetAllRecords() + { + if (order.Count() == 0) + { + int code = 10000; + for (int i = 1; i <= 2000; i++) + { + order.Add(new OrdersDetails(code + 1, "ALFKI", i + 0, 2.3 * i, false, new DateTime(1991, 05, 15), "Berlin", "Simons bistro", "Denmark", new DateTime(1996, 7, 16), "Kirchgasse 6")); + order.Add(new OrdersDetails(code + 2, "ANATR", i + 2, 3.3 * i, true, new DateTime(1990, 04, 04), "Madrid", "Queen Cozinha", "Brazil", new DateTime(1996, 9, 11), "Avda. Azteca 123")); + order.Add(new OrdersDetails(code + 3, "ANTON", i + 1, 4.3 * i, true, new DateTime(1957, 11, 30), "Cholchester", "Frankenversand", "Germany", new DateTime(1996, 10, 7), "Carrera 52 con Ave. Bolívar #65-98 Llano Largo")); + order.Add(new OrdersDetails(code + 4, "BLONP", i + 3, 5.3 * i, false, new DateTime(1930, 10, 22), "Marseille", "Ernst Handel", "Austria", new DateTime(1996, 12, 30), "Magazinweg 7")); + order.Add(new OrdersDetails(code + 5, "BOLID", i + 4, 6.3 * i, true, new DateTime(1953, 02, 18), "Tsawassen", "Hanari Carnes", "Switzerland", new DateTime(1997, 12, 3), "1029 - 12th Ave. S.")); + code += 5; + } + } + return order; + } + [Key] + public int OrderID { get; set; } + public string? CustomerID { get; set; } + public int? EmployeeID { get; set; } + public double? Freight { get; set; } + public string? ShipCity { get; set; } + public bool? Verified { get; set; } + public DateTime? OrderDate { get; set; } + public string? ShipName { get; set; } + public string? ShipCountry { get; set; } + public DateTime? ShippedDate { get; set; } + public string? ShipAddress { get; set; } + } +} \ No newline at end of file diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/Program.cs b/RemoteSaveAdaptor/RemoteSaveAdaptor/Program.cs new file mode 100644 index 0000000..da665c9 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/Program.cs @@ -0,0 +1,27 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +app.UseDefaultFiles(); +app.UseStaticFiles(); +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/Properties/launchSettings.json b/RemoteSaveAdaptor/RemoteSaveAdaptor/Properties/launchSettings.json new file mode 100644 index 0000000..744b996 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:2914", + "sslPort": 44380 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5151", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + //"launchUrl": "swagger", + "applicationUrl": "https://localhost:7035;http://localhost:5151", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.csproj b/RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.csproj new file mode 100644 index 0000000..dbedb64 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.csproj @@ -0,0 +1,13 @@ + + + + net8.0 + enable + enable + + + + + + + diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.csproj.user b/RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.csproj.user new file mode 100644 index 0000000..9ff5820 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.csproj.user @@ -0,0 +1,6 @@ + + + + https + + \ No newline at end of file diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.http b/RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.http new file mode 100644 index 0000000..a4ad4d6 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/RemoteSaveAdaptor.http @@ -0,0 +1,6 @@ +@RemoteSaveAdaptor_HostAddress = http://localhost:5151 + +GET {{RemoteSaveAdaptor_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/WeatherForecast.cs b/RemoteSaveAdaptor/RemoteSaveAdaptor/WeatherForecast.cs new file mode 100644 index 0000000..4b81244 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace RemoteSaveAdaptor +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/appsettings.Development.json b/RemoteSaveAdaptor/RemoteSaveAdaptor/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/appsettings.json b/RemoteSaveAdaptor/RemoteSaveAdaptor/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/wwwroot/index.html b/RemoteSaveAdaptor/RemoteSaveAdaptor/wwwroot/index.html new file mode 100644 index 0000000..e4a8132 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/wwwroot/index.html @@ -0,0 +1,33 @@ + + + + EJ2 Grid + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + \ No newline at end of file diff --git a/RemoteSaveAdaptor/RemoteSaveAdaptor/wwwroot/js/index.js b/RemoteSaveAdaptor/RemoteSaveAdaptor/wwwroot/js/index.js new file mode 100644 index 0000000..ce56d35 --- /dev/null +++ b/RemoteSaveAdaptor/RemoteSaveAdaptor/wwwroot/js/index.js @@ -0,0 +1,42 @@ +ej.grids.Grid.Inject(ej.grids.Toolbar, ej.grids.Edit, ej.grids.Filter, ej.grids.Page, ej.grids.Sort); + +load(); +var data; + +function load() { + fetch('https://localhost:7035/api/Orders') + .then(response => { + if (!response.ok) { + throw new Error(`Unable to Fetch Data. Please check URL or network connectivity.`); + } + return response.json(); + }) + .then(jsonValue => { + data = new ej.data.DataManager({ + json: jsonValue, + insertUrl: 'https://localhost:7035/api/Orders/Insert', + updateUrl: 'https://localhost:7035/api/Orders/Update', + removeUrl: 'https://localhost:7035/api/Orders/Remove', + adaptor: new ej.data.RemoteSaveAdaptor() + }); + createGrid(); + }); +} + +function createGrid() { + var grid = new ej.grids.Grid({ + dataSource: data, + allowPaging: true, + allowSorting: true, + allowFiltering: true, + toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'], + editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true, mode: 'Normal' }, + columns: [ + { field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 120, isPrimaryKey: true, type: 'number' }, + { field: 'CustomerID', width: 140, headerText: 'Customer ID', type: 'string' }, + { field: 'ShipCity', headerText: 'ShipCity', width: 140 }, + { field: 'ShipCountry', headerText: 'ShipCountry', width: 140 } + ] + }); + grid.appendTo('#Grid'); +} \ No newline at end of file From bed351b92ad89f86e137da7f270bb2e85af27e13 Mon Sep 17 00:00:00 2001 From: Nithya Date: Thu, 27 Jun 2024 19:19:48 +0530 Subject: [PATCH 6/6] Added readme files for all samples --- GraphQLAdaptor/README.md | 39 +++++++++++++ ODataV4Adaptor/README.md | 34 +++++++++++ README.md | 62 ++++++++++++++++++++- RemoteSaveAdaptor/README.md | 34 +++++++++++ UrlAdaptor/README.md | 34 +++++++++++ WebApiAdaptor/README.md | 34 +++++++++++ WebMethodAdaptor/README.md | 36 ++++++++++++ assets/images/adaptor-crud-operation.gif | Bin 0 -> 449143 bytes assets/images/web-method-adaptor-value.png | Bin 0 -> 40735 bytes 9 files changed, 271 insertions(+), 2 deletions(-) create mode 100644 GraphQLAdaptor/README.md create mode 100644 ODataV4Adaptor/README.md create mode 100644 RemoteSaveAdaptor/README.md create mode 100644 UrlAdaptor/README.md create mode 100644 WebApiAdaptor/README.md create mode 100644 WebMethodAdaptor/README.md create mode 100644 assets/images/adaptor-crud-operation.gif create mode 100644 assets/images/web-method-adaptor-value.png diff --git a/GraphQLAdaptor/README.md b/GraphQLAdaptor/README.md new file mode 100644 index 0000000..9c29dfc --- /dev/null +++ b/GraphQLAdaptor/README.md @@ -0,0 +1,39 @@ +# Connecting GraphQL Service with Javascript Grid Control + +GraphQL is a powerful query language for APIs, designed to provide a more efficient alternative to traditional REST APIs. It allows you to precisely fetch the data you need, reducing over-fetching and under-fetching of data. GraphQL provides a flexible and expressive syntax for querying, enabling clients to request only the specific data they require. + +Syncfusion’s Grid component seamlessly integrates with GraphQL servers using the GraphQLAdaptor in the DataManager. This specialized adaptor simplifies the interaction between the Syncfusion Grid and GraphQL servers, allowing efficient data retrieval with support for various operations like CRUD (Create, Read, Update, Delete), paging, sorting, and filtering. + +## Add Syncfusion Grid component in your application + +Refer the following UG documenation for adding Syncfusion Grid component in your application +* [Getting Started of Syncfusion Javascript Grid component](https://ej2.syncfusion.com/javascript/documentation/grid/getting-started) + +## GraphQL Server setup + +You can setup GraphQL server by using `graphpack` npm package. Find the following link for getting more details for your reference. + +* [graphpack npm package](https://www.npmjs.com/package/graphpack) + +## Run the GraphQL Server + +To run the server, install the required packages using the following command: + +```bash +npm install +``` +Then, start the server with: +```bash +npm run dev +``` +## Run the client Grid application + +Open `index.html` in a web browser to run the client-side Syncfusion Grid application. + +## Resources + +You can also refer the below resources to know more details about Syncfusion Javascript Grid components. + +* [Demo](https://ej2.syncfusion.com/javascript/demos/#/bootstrap/grid/over-view) +* [Documentation](https://ej2.syncfusion.com/javascript/documentation/grid/getting-started) +* [GraphQL with Syncfusion DataManager](https://ej2.syncfusion.com/javascript/documentation/grid/connecting-to-adaptors/graphql-adaptor) \ No newline at end of file diff --git a/ODataV4Adaptor/README.md b/ODataV4Adaptor/README.md new file mode 100644 index 0000000..225701b --- /dev/null +++ b/ODataV4Adaptor/README.md @@ -0,0 +1,34 @@ +# ODataV4Adaptor in Syncfusion Grid Component + +The ODataV4Adaptor in the Syncfusion Grid Component allows seamless integration of the Grid with OData v4 services, enabling efficient data fetching and manipulation. This guide provides detailed instructions on binding data and performing CRUD (Create, Read, Update, Delete) actions using the ODataV4Adaptor in your Syncfusion Grid Component. + +## Getting Started + +**1. Clone the Repository:** + +Use `git clone` to fetch the repository from GitHub. + +```bash +https://github.com/SyncfusionExamples/Binding-data-from-remote-service-to-javascript-data-grid.git +``` + +**2. Open and Build the Project:** + +* Open the project in Visual Studio. +* Build the project to restore dependencies and compile it. +* Run the project + +**3. Explore the Code:** + +* Navigate to JavaScript files (typically in wwwroot). +* Debug and interact with the code as needed. + +![Adaptors](../assets/images/adaptor-crud-operation.gif) + +## Resources + +You can also refer the below resources to know more details about Syncfusion Javascript Grid components. + +* [Demo](https://ej2.syncfusion.com/javascript/demos/#/bootstrap/grid/over-view) +* [Documentation](https://ej2.syncfusion.com/javascript/documentation/grid/getting-started) +* [GraphQL with Syncfusion DataManager](https://ej2.syncfusion.com/javascript/documentation/grid/connecting-to-adaptors/odatav4-adaptor) \ No newline at end of file diff --git a/README.md b/README.md index aaf73ca..cb6db25 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,60 @@ -# Binding-data-from-remote-service-to-javascript-data-grid -Discover seamless remote data integration with Syncfusion EJ2 Javascript Grid in this sample repository. Explore efficient techniques for handling filtering, sorting, paging operations, and CRUD operations within your Javascript applications, empowering you to manage and display data effectively. +# Binding data from remote service to javascript data grid + +## Overview + +This repository demonstrates how to bind data from various remote services to a Syncfusion Essential JS 2 (EJ2) JavaScript Data Grid. It provides examples for integrating data using different adaptors and showcases techniques for handling filtering, sorting, paging, and CRUD operations within JavaScript applications. By exploring this repository, you will learn how to efficiently manage and display data in your applications. + +## Features + +**Remote Data Integration:** Seamlessly bind data from various remote services to the Syncfusion EJ2 JavaScript Grid. + +**Data Operations:** Handle filtering, sorting, and paging operations with ease. + +**CRUD Operations:** Implement Create, Read, Update, and Delete operations. + +**Adaptors:** Examples of different adaptors to integrate remote data: +* UrlAdaptor +* WebApiAdaptor +* WebMethodAdaptor +* ODataV4Adaptor +* GraphQLAdaptor +* RemoteSaveAdaptor + +## Prerequisites + +Before you begin, ensure you have met the following requirements: + +* Node.js and npm installed + +* Basic knowledge of JavaScript and web development + +## Getting Started + +**1. Clone the Repository:** + +Use `git clone` to fetch the repository from GitHub. + +```bash +https://github.com/SyncfusionExamples/Binding-data-from-remote-service-to-javascript-data-grid.git +``` + +**2. Open and Build the Project:** + +* Open the project in Visual Studio. +* Build the project to restore dependencies and compile it. +* Run the project + +**3. Explore the Code:** + +* Navigate to JavaScript files (typically in wwwroot). +* Debug and interact with the code as needed. + +![Adaptors](./assets/images/adaptor-crud-operation.gif) + +## Resources + +You can also refer the below resources to know more details about Syncfusion Javascript Grid components. + +* [Demo](https://ej2.syncfusion.com/javascript/demos/#/bootstrap/grid/over-view) +* [Documentation](https://ej2.syncfusion.com/javascript/documentation/grid/getting-started) +* [GraphQL with Syncfusion DataManager](https://ej2.syncfusion.com/javascript/documentation/grid/connecting-to-adaptors) \ No newline at end of file diff --git a/RemoteSaveAdaptor/README.md b/RemoteSaveAdaptor/README.md new file mode 100644 index 0000000..bba9809 --- /dev/null +++ b/RemoteSaveAdaptor/README.md @@ -0,0 +1,34 @@ +# Binding and perform CRUD operation using RemoteSaveAdaptor + +The RemoteSaveAdaptor in Syncfusion Grid Component allows you to perform grid actions such as sorting, filtering, searching and paging primarily on the client-side while handling CRUD operations, such as updating, inserting, and removing data, on the server-side for data persistence. This approach optimizes your experience by minimizing unnecessary server interactions. + +## Getting Started + +**1. Clone the Repository:** + +Use `git clone` to fetch the repository from GitHub. + +```bash +https://github.com/SyncfusionExamples/Binding-data-from-remote-service-to-javascript-data-grid.git +``` + +**2. Open and Build the Project:** + +* Open the project in Visual Studio. +* Build the project to restore dependencies and compile it. +* Run the project + +**3. Explore the Code:** + +* Navigate to JavaScript files (typically in wwwroot). +* Debug and interact with the code as needed. + +![Adaptors](../assets/images/adaptor-crud-operation.gif) + +## Resources + +You can also refer the below resources to know more details about Syncfusion Javascript Grid components. + +* [Demo](https://ej2.syncfusion.com/javascript/demos/#/bootstrap/grid/over-view) +* [Documentation](https://ej2.syncfusion.com/javascript/documentation/grid/getting-started) +* [GraphQL with Syncfusion DataManager](https://ej2.syncfusion.com/javascript/documentation/grid/connecting-to-adaptors/remote-save-adaptor) \ No newline at end of file diff --git a/UrlAdaptor/README.md b/UrlAdaptor/README.md new file mode 100644 index 0000000..16c2e4f --- /dev/null +++ b/UrlAdaptor/README.md @@ -0,0 +1,34 @@ +# UrlAdaptor in Syncfusion Grid Component + +The UrlAdaptor serves as the base adaptor for facilitating communication between remote data services and an UI component. It enables seamless data binding and interaction with custom API services or any remote service through URLs. The UrlAdaptor is particularly useful for the scenarios where a custom API service with unique logic for handling data and CRUD operations is in place. This approach allows for custom handling of data and CRUD operations, and the resultant data returned in the result and count format for display in the Syncfusion Grid component. + +## Getting Started + +**1. Clone the Repository:** + +Use `git clone` to fetch the repository from GitHub. + +```bash +https://github.com/SyncfusionExamples/Binding-data-from-remote-service-to-javascript-data-grid.git +``` + +**2. Open and Build the Project:** + +* Open the project in Visual Studio. +* Build the project to restore dependencies and compile it. +* Run the project + +**3. Explore the Code:** + +* Navigate to JavaScript files (typically in wwwroot). +* Debug and interact with the code as needed. + +![Adaptors](../assets/images/adaptor-crud-operation.gif) + +## Resources + +You can also refer the below resources to know more details about Syncfusion Javascript Grid components. + +* [Demo](https://ej2.syncfusion.com/javascript/demos/#/bootstrap/grid/over-view) +* [Documentation](https://ej2.syncfusion.com/javascript/documentation/grid/getting-started) +* [GraphQL with Syncfusion DataManager](https://ej2.syncfusion.com/javascript/documentation/grid/connecting-to-adaptors/url-adaptor) \ No newline at end of file diff --git a/WebApiAdaptor/README.md b/WebApiAdaptor/README.md new file mode 100644 index 0000000..4ee882f --- /dev/null +++ b/WebApiAdaptor/README.md @@ -0,0 +1,34 @@ +# WebApiAdaptor in Syncfusion Grid Component + +The WebApiAdaptor is an extension of the ODataAdaptor, designed to interact with Web APIs created with OData endpoints. This adaptor ensures seamless communication between Syncfusion Grid and OData-endpoint based Web APIs, enabling efficient data retrieval and manipulation. For successful integration, the endpoint must be capable of understanding OData-formatted queries sent along with the request. + +## Getting Started + +**1. Clone the Repository:** + +Use `git clone` to fetch the repository from GitHub. + +```bash +https://github.com/SyncfusionExamples/Binding-data-from-remote-service-to-javascript-data-grid.git +``` + +**2. Open and Build the Project:** + +* Open the project in Visual Studio. +* Build the project to restore dependencies and compile it. +* Run the project + +**3. Explore the Code:** + +* Navigate to JavaScript files (typically in wwwroot). +* Debug and interact with the code as needed. + +![Adaptors](../assets/images/adaptor-crud-operation.gif) + +## Resources + +You can also refer the below resources to know more details about Syncfusion Javascript Grid components. + +* [Demo](https://ej2.syncfusion.com/javascript/demos/#/bootstrap/grid/over-view) +* [Documentation](https://ej2.syncfusion.com/javascript/documentation/grid/getting-started) +* [GraphQL with Syncfusion DataManager](https://ej2.syncfusion.com/javascript/documentation/grid/connecting-to-adaptors/web-api-adaptor) \ No newline at end of file diff --git a/WebMethodAdaptor/README.md b/WebMethodAdaptor/README.md new file mode 100644 index 0000000..1533a9c --- /dev/null +++ b/WebMethodAdaptor/README.md @@ -0,0 +1,36 @@ +# WebMethodAdaptor in Syncfusion Grid Component + +The WebMethodAdaptor in Syncfusion Grid facilitates data binding from remote services using web methods. This powerful feature enables efficient communication between the client-side application and the server. The WebMethodAdaptor, like the URL adaptor, sends query parameters encapsulated within an object named value. Within this value object, various datamanager properties such as requiresCounts, skip, take, sorted, and where queries are included. + +[WebMethodAdaptor](../assets/images/web-method-adaptor-value.png) + +## Getting Started + +**1. Clone the Repository:** + +Use `git clone` to fetch the repository from GitHub. + +```bash +https://github.com/SyncfusionExamples/Binding-data-from-remote-service-to-javascript-data-grid.git +``` + +**2. Open and Build the Project:** + +* Open the project in Visual Studio. +* Build the project to restore dependencies and compile it. +* Run the project + +**3. Explore the Code:** + +* Navigate to JavaScript files (typically in wwwroot). +* Debug and interact with the code as needed. + +![Adaptors](../assets/images/adaptor-crud-operation.gif) + +## Resources + +You can also refer the below resources to know more details about Syncfusion Javascript Grid components. + +* [Demo](https://ej2.syncfusion.com/javascript/demos/#/bootstrap/grid/over-view) +* [Documentation](https://ej2.syncfusion.com/javascript/documentation/grid/getting-started) +* [GraphQL with Syncfusion DataManager](https://ej2.syncfusion.com/javascript/documentation/grid/connecting-to-adaptors/web-method-adaptor) \ No newline at end of file diff --git a/assets/images/adaptor-crud-operation.gif b/assets/images/adaptor-crud-operation.gif new file mode 100644 index 0000000000000000000000000000000000000000..e0dd72ff74c854688fbb7f50b694094b57c3ada3 GIT binary patch literal 449143 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

Wm6UlVcLYxGzP5HFb1!p# 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�E&4TwyLMTFeopm=tB*PI}{6 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

?^9 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⪻CTn8no0R$NzpVUE9Z*+II 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Μ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 literal 0 HcmV?d00001 diff --git a/assets/images/web-method-adaptor-value.png b/assets/images/web-method-adaptor-value.png new file mode 100644 index 0000000000000000000000000000000000000000..a253269f6dc217b2c843dd0d776e7c8fdee5dbc6 GIT binary patch literal 40735 zcmb@t1yEbj_wP#u+M+EGtOZ&;!JT4hDN+dT?(Xi=7Aq7;f#5Ddi@O(h_h7}{HRw(I z`~C0Cn|J5VyqR}q7>=LpefHYxyFP235P4Y%985AyG&D3E$XN{ymaZq&Y%E zORba?{iy7&yT5>?O}Kvj?1)`b)IUnI5B7&4v_9bRib=F#3~nB6DCx%_d;E2V-rkod z;z1b_v=13G3T4V1VS-fdBGZjb9vTp1NkavE0-fVFBD$O}hWBZ8d*#0$_p6jH@e1?Q zq@;LkrX*a>dMvr|$Hc_2AK7msstVbjiZigX5(lAv8yeb~Ak{79zcsY8x9We}goeh3 z){6gc<;$bzvHw=kus@VO{kNu%_6^mLzsnP{S4<1dJ~zL=K5;vkf7KQKso(ErzvfKC z;LX3|>D1<;rLgE|0!qpj>sgM~Rd|EjVOK|o_w{z}?CfkC&A+q0M5Lc)iv0*^4HCTB ztFWx%=j7xBgC7Ekb+_j0D%i4c34uOW%faBgv+<+l_9ge#aM=|87n~G|a5&t-!GV}n z*ZUs187PVOJtQQAZ36cVpNmp`?Qf$}e~Dz+J3D7H6hh)y+QKxiJ_C7q7Fk^ighQh;Rug#& zSrSkpItzu5%l)h^-lv1SorYy>`C-x-knIgrdWFBdfRD7bnda(B^^I8#-M(3UHV7t*eI=WK`VZO zWPN?T?dNE<-O~NI9QXw__IQz2O{@PirP$rYrUuj_@9u97wQ6j+d3i4{FYVe|eZE-I z5bCg7TU&QQDWM!DoRdx&oIUYO&R0jvVPRpt(eyQAfRm5;kuS~_Y?FCx5FrHgiFK=Z zR%4IQ&@4KlX~*)FawDlF#(b{VdZUp@q^+$jMppVW0Pt0)y6^3A_hzcsft}w?5}PC> zYjlJ;x~)+al&7MsEMG2of3-?}+>77&S~9q#WqHb|)oR!s&u?X$p5pG^!$p^!-|n%x zSzPl%A_422p~Wr3*(TJ3rfG+WmLo0)+Q><i;g6rMV!~JxL9#~09$rn=$m$m6EDl$%@zUS|NhV27~v7!--eHN~+uDHobymrFZ zTUoGo+u|RxE-o(QgpoAxjAH>?`K%~hG&KHL@nCjBWI%8*geEFEIoYH?c9O+h`1j`* zi55RyrX5&_2!g@QRDWhERnIS-IrLf%ry(ue#Sm!AcNU%c@12JCU&jU#ICG^F99O%- z3Fu{?SA2xT$+I>diRkP9nX_w=c^55`@zS*YiQ_(^YRUIz|Nic#&7FDyWn3$rKgcsT zDMF1IZjLGZZjTQZ8kFKYpo%Xi^?e-C(5`-1Nzr8eh=WO)guB0p9Q)Kh|LYVinA&)@ zoAM*Ep^YXlsj10lI8}&MuUR_x3)>59k3^@t>vOsZ-@mqRZWLY^l$%uubzA8O`S$G_ zv99~qmCTEmK<)xET`{phX}X*1-IDF4)o$pxnT@rz^Q3YfTaDdP^TYjRi`V7B-9f`) zXlST;Niw))T8fa@)WCpse=PIE&C)}v#|Ek9CkF?18@!@ZRNug5GP!3Eh!ZPL z-RQ#QaI&-bLLFWM{B}a3rCHy#%V~-8(yATD_3MSLwL(s?3hVWW)NQKX149GvFTG0% z8GfK&oe-DcLsya4*ydm$lwEqg>E@6|TeJBT5nuq-yK5>J=WYb|-G|9A-fw!kbWHUZ zx&r#kAr`RzP;rKX1bpD71RX0pjmfD_8|J)AhzY;6Ibd~f~3 z;)njm(XPoOh8k>ge&skyb6V$L7GF3>;9!#wasgL)S45K+FZqbobn$WBx08X3{W+wd z)5bsoeVTW<1eD_PU?D36Hi&`yW~N9><(e_3@8Nb63}YV{97N8K=}*;ro?B{b&krW? z-dr9IvwEP$5x3RU+UBMJAKwu;^8qy#RAS3aGmm>>(nJ$n@dBmq)!zv(dl$_Io%~hg=Z=y9+;EYMbex$AGpIJp19CI%=4?Bw z(8A)#{G>utD;$eFe2g8Ar8!-!Vqdy;|h!Tqx^QTJmztnjF3D;J2}7*X(RDqyX%iPs89ph36c)!@K2Oa!_`+m$ zrIu~xsz(px>qqBNhWSR=J3dEVI0Kd;-Igo9&&?HI@;pucb|IK3Yd<3zrdq7^0u8N_ zKn6SZbGW+&%Cn#xgU_E~m?iAp+2r%sE#31@V!aWapVi(S-(M+v3V58X!69)NIAk4h zz-?QJnh%K(FJl9Pk8VD`EPiot1rWW$s3<5#@x4E0x-x%;%h>);)=|Ze;h~SWx3`s3 zvmQUXgTM)-3VrXc6=vf?!<-wKmm80}UVBHof#&7E21VJPZH+2d!rP=YG&Be_v1>k; zin8}^_|xv_9o{%FqfgjBh6kFK-RCoL&;%Is5}nLl0#Bz-HKRs#rI7@T}PVQ_yXdvpwf6`E0&B>dm#mAxeG{&Drl_v|`BAkfRRV_zW*Y6*ccoO1l@NM{VQdn% zFGJ*@W-v-Kz|8VQlVW1TOr*%xr@D#8^Lxa`kwmv=8rQ`b6+|)9`A_BQB6<9WF^E~T z)5Cl=hsgUrd(((3ncEn3g<1GV`RoT|I)!3Jpgb7it5Jq^zrItL=fS}N3kyr76^yRN zb|Lc{osPlP3N;*W5Kfp?8al*>(7Qj&2;2_KS$M;3NhpR6LlEjJV#>FsOi4Qd!=xo8 zGurrllKZ+VaViCEqKYj@$#Z@XvyOSlyp~K7T~{W9bB{Y@w~Jb(GyM2Qd(EV?`>UvE z8+$UwWS2jYP+??#N_ADFn>W7E>yib~@C=Va8Ymg}3NenF?!zMla87|;X7BoxVWO38 z^&7@8Cv%A{hGb!%L~$hfK!1N$reM(nYP4nh0rf`3psr~wK`>9}D{~KohUOC!9t1u= z*X?LF?Y7od`bb+Gt6omBWN=gj*o&7uV_MG-{xcqz*Mz61|$7gYA$y~P~4VMQGNP2?T6ISXi z2Y0F5%}V3VMb{-cQePJ` zoyKc{x|FAL%bRm~wZmJhO(mUdQf^!;4ksu3dsjlbrJH-1Ty{?NztM(T<~i3oZOUp6 z7nU^l5vOkPoe1p-2ndW@h$vkN8kw2#y6ht^6p^!>w$ z&#b4dExpXE_j8hUd+e8IIZ;elet-n>=LvIBG*QmW2r60;y}nKFzBOg39EQTwMJ6pw zT0#K31tgC|MgXNa77tq>v}xPzB48p`Fls<=X7A3zUD54*B3Eu`MYeyCm`iWoc3t78bBn=LjW*R8?8MkDaQR zQYi5t)9$Rj#isBzMs}HZ(cOPajxkq7L28U=D!J`#E(Ce_AO?KR-XrSaYjwGRN~B6)7rA0U+&p#Y=Puj3Ce352ch3fZkIN>`@A{@ik2@R%Bx!ctOXB+pRNWh@fToQsnKgaMvBe$1elIguWpoHLU0 zEy$`Q30tD4qr zJ#tU(4JIjX39nfq1La{Ec9c^kTD^l_gda!EhXTth;`%>zhYSn`oG>u|**3nf(OjBD zlrrCECi901 z2F~5-ODh$^gj>|(AhNPKQCxsyv!P_?7|^YFVWU_fCf~Ez)J=v z2xVbXKFiMjv$+%Jkk8joEaXusL71pWb(#iO&a`@!l6{?l1<w8Wg;e+Ew61T&M#L>{wg)D6KKe@G{!k7Te2xm&T-|EVWGy2`L z?+4P(tNCAT-P^2-sWCz0e;tfez4GFEk#=2_$Xk%ZNx%I2RaB^wpP#=wRixGIjr=QA zw*x{&l|#pbUacqqrPSPMm07Y^CUzzZ1FKloOYN82=I6DqF?EguZPRiPJCXrX;m%-T z=dG79ZQD!LhZZ37foQ$qo7Z>np+hI%Eca!YS-mi5Z*)HtJYFG1O~48b0g(`TUf*@} z-#Qzf*M`JJ2QoFlpk^mO`Z%#{W!@YINNyHP{8^}VDXH8W&T!?vq4K*9kx1h@^v?PG z{oUbWgCETyG%uTRH7?alc<&4rvx(eZyR8xs@)ESv65`5q_RHQ-tK#oND`~z4Q3gMp zradGJxE1@Fi*EJoJR62lGECbbDkXbx-thM+J7zL{#F7U_qoj!K7@N$RzsJ3XJkH<2 zHKF)Yb~nS26mZ4}0$roRod!3%&_sseaY?DVxW^cGjfjF&_mz;#B|k77T~HehqE)BC zb^9>@K_L~5QqwOQS~XgHh4zL0$Q0iv4XvZ10&i4MO)s0A?z0T;$y&&!%4ciKAP5zP zgnVj;NpbaoIY%>^a>iqu zdkT+1*`HiEUHa{()-Td@bM-E}p#VmP7KM#h8>DTNGNCX_V`c=ll;na-jC`?e#ojbm zW$QKANFiI4)W4*@ceUiAvcJup`FxF$UlJHS(pqqA9tUlIgqGf9F*TVGit9{(nq%_( z{oA|3Uz3xQL*Kl|fBkxnVujX7-oB04^<0t$KT$AtsHTm_F_Mtu3Onvmrmkql;_UbjBXP=n2i|j>9&}{GqW4rx~H@g zzEmd8ZBYR*k-_uU4*DqxrF9+d&)_G-7_NFe=d-lFDp0G>n?osAT@bw3VhL*z^bQ0% zIe$4fouYx&?bWe}@W=_u`G|lA;cs)*N_0^aL^&1}e1QNgDJdx~Ez;BSa#NXh8T)nK zNRF5jEG#SwNl+1Dc2)ry)<)AeT&bcgPoO%X%D}xPn8@dlDW3J-{pjsO_IHU_k)=;O zuddyd=doYBc!7gq{wH3Lhvgw3YBHR=8Bc`IFq9faWC@~Ze5P*vK zl&)Hb3m(i}ol!mvA}Og+VJf4mtBcyuLq$1=*;vmv0eN4x9;7kQ(DpUP?KHi!&)V_8 z^4Vvt&nQQ5Tt+j+2w8!Ip%;{_3L!hA5|nWK*EWKBi<22t$TPax*0s2Y236CJ05e&v}|DOL0C`x?!Ev*O749x z{StV+#f6Vy)f6es-3@NlY+h@|tu{@W9J`1^H@^lCD73^it=8clkzyA&v;X~S?%Q;# z$K<)gjjjqD^P0~m@Os*E!6|O(?$p+VK#zFblwnv|RrO+TR;lNiChSRr1NRDp+K9P= z!mB_@P)umwytfk!K{lZI)UDay3FB(QHAUIA_Ifw(ygBP zGni)W3%cw~bp9Z=fIYOP9?g}=xz#JQ*84r&qqI0svi<=$)-mf9BfB+e-VU$%2j zPiPP`6Vujw{xMsCtVih7-@x4@>|-E8AxnG|`FZ-0Cio#J4+Cl{A<@cXB9gCsjY22Q z7YHlDk&E4FXatOH?qy%B^A`r_wnSS%#A9;0JIrA}2k)PL>wSQ`8}$6m_W(3B!4Ift z)KXN+8JZoUEI$s7vz+Ic1As{muiPlm@8?ymkOlO2?;&0yvFlD#UT0fKNAx2 z8|D*Y&c1zVm!xDudh?4*$&fOf6uN7V z93IUeM;%w!i(&AC^dr2OoVmFATz=R?;Jf0O=YU#^ZkHFIJ7t8oRul+D8|Dku zST&i$Lpu%mGa@L23ex^m-gxtlbOmrZEA9$I*k5;MLWM3!#LT%Y2S%+Qwq9-(h)(@h zBO%y!anX^N|9#jXd|g{?OC$DYSm^Rip!&7k1A`9=gn98Fcnd#mOAF&Z5Jt@yHmjZ} zvZkM%a~5RArnoXHbByBNJ;TFbj}sc5JBcuojE3oIocfeqH+(p>PqDtZ-J&qn_u8Vq zWL)jr)T3q)vRaK{!+k^M__VRv9DVYn2iHRvwG6(WtU_vfA9;?#Y$k38j40;j<}}*8 zm$ds}A=C)I#3*RE1cT*IoD{@}qa}t2RYa|U^-3OTRC&Dfo@XeUAn8Pa*>z8S!<}0i zruV14q}Wo5u^)7Bxo>fe)__~`6_b)#&3&8WSB&yzsI2pOIfV1Y^RGi*TSe`+c1h=cH`jUyRDn z5F_V|>6i5rt6f?*4~-GI5-mh1V&oZXL3!+IlH zdU_?v-M!fg|7UnP9B&5Uk3dC4#KgJT+1@C+J~TAstwl!xAl$kD+s^ZW1VW=OE@rs>J?#d1GhtyqD z%}u@Hbo31yAlWT%MLciXJ_0UdbV8SI-?^}mg3CZ|*z8t|av$;1CwfCM|e&iGcQM4T`v3rner;Uq!OgG21l*&z$v+|R-cDU~XixU#)1S;s<6{b~An zI7`91cki5!v&X>j-c%tkh5~F{+#KL-?iUGq>UEXtxZ+a**S+-k=*L&pFDg*luxw{{ zIJX*unigdb2i|9+63+eEW4$f+=d3zN48)g6lh#A>KL zjI{e&m3uQC9Rbw2I(j%>cB z<5Ze(H=xL(WmC2*?>0e z?_tz&?#AH3w95pPQot8ae`iY9_HX|O9QX1wdl2wOiR4?oM&fe!zf5!e*#9{_S4mRx#T{PcfAiGMvZ!?M8Ca)uBA?(IrEUK%`uwQu^lK=Js{CCnx0H2t z7xR_qJN|VF8rn7gLX(#o$$zriXhpIpjZA>?pPu*tc^*4b@~=H;UxX`F|C<$0A5ZhU z2V(zc>kCop|Mc6@_andmJY)p*dj75bKf3V0m;axV>eI{Q>O)g?TC!zNe$wo4fOqF22$PYm%hi*hq+dA zy`tlO_6;7ZKm|PsVK|yA_sE%1j{n!Vqx8aMmBmI?cgIUV;oGYZWo+;#R~6-J-%dV^ zB?5j#TVeR&aXQEzpms zmvhMR6M1V1=?jOsi)5xo*Z$h?5;IFNltHzZE8{mgj+bAlY@Z{(rs^_sa6})e|LcuAOBUe39$K2BYE}Wfvp@@zB`#^77z&g&!dv4=_TxQgbVq!0-T}G>x%gBh4&CiyO#HLBQtUJI)x`*8|Mz%!8 zd$(zVC0nNJXgTY#z5CAUf)on}Ze4nx$gXSn~B>KRS0z-BYZ#xs=;`lOY!V zm9^gW&l2N>J@?%kf7NHg!?-^^Tk^`+)>2a>%7+}C5+tMtyy_a+7n;mdN-2copkCmy zb}5p4Lvz0pp9aIgy+qrU=#~v*@1#f-`~8}wevpM-J$S+Es9(t^+2VER{pD!4BTMSo z4WH8Sr?%U*aV~uxLHGQ_1y*b>+WP!^13ydg*lV%|ajCb3i!2mM^w^W!Q3Xs$ppl&T z)a=TV?V@2zw9cQyJvYo#Nq^u!GdLn1`5g^^&1=g=0*q{I6g0?t1%fooectH19-wZ@ zJ`l-v-v84L0WYLvZHN$RZcSBMPL?w{OUh#jUKukygdZdVC)7R%`Av>Fb}MRU4a6u2xsu$%^Z- zd2i*^w6wI;hST$y`xFhz1^cF^{2J~PVaJsdRCT3j5K=9t1Q1};`1tfzXa+D>FB2-= zGj)?J9$CxK(VdcFvU@;K&Y+P0aC9uC`Mt=-yPB2UVPiARz&Hf&d|E%s zUqDpcywNjU*+6X##cQZ6N*Zo-pM77s_}41)#y*subr8ta*43fL;OW^JVNjStqgkgm z{_*H^F7TSIj7<3aj%~SDdh{URjH;S&X~DsAqHnT{ap^{Yn1gVCw#b-%NieoiVld{U z0q;zw6a}Yae&|v%OsrYKFq*f{?(L8~VjEc^TUx3mx)h`gh-BK9Ji?<$^vhV2Fo!%@Pwy{AIg@kU;-~TYYDsdn7$Ab zK8bTC2qwT%dB5WomWZ{+Ao{+n&{)6ERB&ZqjKYKS=9Gr&&nWM(haHJQPuxo!f@Y`n z1`2P^0+G7LpGgab!1)Mu==rG$#~9%)1?EKPg5xNYUH&2gH?s?3o?Uo%Vr7;wx|+Ty z*;cJ|$PAkjSEKfG4qIqeUqLO1)rvLTT4`-3Gpv#6J@qk#1#{R=Kji3jg}T9Vlf8`M z*u{D4%F5%aqq5LF_Xmf2t6?Ew2jM{}grFOj6IWk1CsWa~9;iSmx9b<{rH)f}X(`)8 zNXiGR3x^_2r?K0RoX*bMnlYvp_IJVYAy^jI7lB50^ub}r5c9S}iobIRUOvV*S`M?J zH%_P5{1+$${O}hmMRx5h+RbZ4r=;QUd`}U&c=BL${aY=UA8gPjXgIbTxLiFC8wan; zOWsdFMZUWIDg4+zE0>@i@jQ|3XWGWRLFe=-sSn8Z>;o*am-_z7S5;K~K3CghxD56jtNSijqi^Zy_ZzOD(U22pocZxn! z@gD3jT+KwT6Ob!AnSA$g2Iy4NORzVik{~#0*S17nXCb{@Mp=99_rzxtiCgokx#CRj z2R(D`Yzwijp?^LRWZAXTFk1~R>$6}UewSn_)A4t6M1K?_h2Pw@I{;qWv5$Bo{1HS7 zjFi==MUKlC+LZO~eJr(iI5ixraIAuwDt9aW$i=wg$d|GS%Mhkj!-?WQO33F|=@O@1 zece2x#;-_~A#-hh8tOphDjvvTV6dlAQw!T?d@N`YE6V@Q*~e4L{jjo>FJZBQo_a6u z=fGvvDijEe>>l{8a-&?Nu|oP%Xz9nD>H&mtBimXJ@Tb#8?x;Sy_P8&e<}TOx?~C%Y zzpo%BBQ37^#;vwKIGAd+9pt?j1bboNXQ6hDBjnW@OH7 zmr%`Iee?cFMYvcJqiw_j(ETHkdY@GEQm?GYvi|ueajT;r7&w$5K^frty8YF_SFc8` z6bn>BE%6B|avym5E*J1zhAsPs%&d_uftBd5u)tUPvx%^@fO>mx8zF*Cg?8k+FN%F< z{=&*Vtt~oOr{gAMRN0?cy50gzrX4T~K4Wa|K!=zFF4-X6%Z^egJK<~3L-bUKeCy$g zwJBvk-3RgWT|v&HQ9GXtEJv_`mwRyj^9*thQ`0YMb_U7u^%1cg1-~9&ctrImfK2cK zxmRYKJM-9+qQm;V?t{9tEwjh=k?@e`a%R;j39D&R!3UDR zm5En{D4$G)A7YHE6=?hHg2GioUKfPoWbKYK%F7;|X@Nii-#?*9x9t|sZHg-{C4W6* zjuF36uM)h&NuB2;AV0I$7vA1Kv3SXTVBywD*|A3+USZcv3Fj~hA8pq!ytiz&dgkP` z`}K*}i&u$%BELoqJ1O-!I%39KA#>~03*!3q{qe5J=7CdH{%OUM{lJw5SNFC?wZTK{ zd_r40XJI|>6ibUHTuRN9_Ri-`w1m;ntMaO;)4ujEr@_9Qw`2hqF>HUe0xu%XIs8@w|=k;H8NTDl^ z4x!=VI_srRBNVR;!X`c0DJ;RH4mahQ*P6T9JUd7Mf!+%*?7sI+CcVO#&K9Sfqn;mE z6%nhox>dp-8pNljK+fkAJ>j|%>-aVOeCaZ_SeumF?3?;``cU87{8_oU0&OMV;px6z z-tG1n2>AABL4SdG8{7Hy5WuyBc^A|%;a@|?G!g?+l* z_mA26Dbn6VdLsA`U5;cXCFw0&eA{#=<+rhlXy>lCDm$-udh+>v%?rDx-NG_V#olac zI9Q*ilKHLf*CtHi9vFr*{ZP&BjbzM`dLvD`+p2i{sxC?q2xg2-*b@A%Ra$+p^2J5M z@!}WWR*~%UGyAjeFz#weMSo}L6PJ1y00#C^cySqYZ%F|EQ!5HWqADkUmbEIPiYQPi zN%}DRdK9lRlFHKXxC;Bz?$5DaEEMR+ahK}0)-Cs7cZz4N^bVy)U=?0>w#CG?xi_;f zmPLoAwO}o3C_O^d%X3gXdOV|~Dq>K=$M|EvF#Tksx2fBAo&E*cb>=wN?A!u?+h->G|SXkw;75*`<=$!fs@Ui zVepp;eIntq&y%+*S!*b{k|hKA4NJ=Hfcvkc8r`60~&``WrNTwfV zo?y7>eLSx-lkZPM@J!)Wxu7qSlM~Kz-n=kn_*3mjA_;12i+d3Jrd&|wlal8MyK3Ih z3#={ki8^df)n974CwuFbE+-R#8g26A(hWZnd^FI5$lfKmR%8O=FMd@eQFl@`rVyh# z{)>@ysp#L~iLfd;ZcpKN@jPt0v;CDq1X9qsjxZXHu|U5`?*Z&jUWl{TN{PJl&x(J5%Y1U{ofB|;ZDMz`+$Yb z(x3F4Yt}Zym~YRHz5}+kt#Tv=f}s?xs$V!M_n6L<)Eu3enafu`L>q?qehT=qk7$L? z7HP+7_dNd^O5sFoW@|Pfwnv>Ifl+Ud>i?-Fw+P~zqcpMkh~e<>i*1)kePJ&99X3r5 zu-P*6?`d57CFH1|m2d98yA5XCZ7IB%@F4z|geQbs3-D~M94Dy3_0M32<#Tr7d7V~tWXm{x^FiGtOF^zK|GnQEhYu0CJ zcD8@wK2Nb zlt2julnx8nrZRf8+0^!r#A&B7HMq;1b~6_v2dL>bGB<<5{Y>2LurBh4vgGg__Q#P3 z)=fy?edBPv^Wi!_tu$iW9=B$tdrv%k2g2z43mWaS$!Hd6;>q8PzczPyi)U6B43ZP@ zz%`&G91Yz;X7+(ubQ_gbT{l_OMI0uKcZCH%e9GN7#ZW`Qkt-vo&Tx!ew=Sw_Qg`V z)_qwszNFsxn4aH5$`T_Ye-W1=+CSH0=7jc&{#p4_g4=rRPmZtAHbW=CtOcwr#abiJ zmAYavO24|p6JS5@B97bW?%`cuh+Nc`41C!1jh~?yE zZ%CmsRL*&nXK2?#@!sU@hayMY%4=pbt3 zvw~tRtx+6{Q}k{!8`m!oA1W(9RMQ$5NtKuXG!S)-GQckZwl*J3)k}y2Bnc(M zUU|Tb<^@ zLnrDrXA}$OU!IP-x)%Og@NXv$hA0~pJH1iF{FE|VmsmMlY;XY#bgE?+N?Z-Gs)6^7 z$5?ctbVrs+D=~OIl;dl&R>d)&$IygtVOZ1Y71GZ2((}psSDD{Rc%y^ zpBGjk+>3aTu-0X}o#g=DustF2>J6@;1p^8veB)V5gT{qdl5|&^oK)NR`RegwQ(WByS*ADkquGVs zXL%i~WCr3%K-ee-O{KZu(r0+zFxA~=Kf-%hD>mnkyW;@t_f>K|g(6Sw-^YBw+Irp^ zMYk)@-yQ~)RU?X$r#Eo?VV~Mw9GyJ?$f;CI{Dn>0?k;xNYryLkQNdOx^va`{Pcgpk zy}UI@+8knu#HUni$?I^YC6=+o#HA5OGRro!4O(+fW0^mpFh@3t6iKVXT<2ektTjcP zxcP46=(A_ddscpk*M_(Lm9}V_(h|>OL5z7@#J52uGm7y?(;Yc&187ShiQ4$K6mmPB z+9+_yK4Nq=*{B#bHfTQiy@ABVqq6qj-~@O)eOk+&*jJy~jPcizqM1J`!e>%ZRZSK4 z;m@^gxjp$&nm0<}_sg_St;(RWX#Xle&_G!}{*9;-uesKsvL&oxmHJLld$vHsR=6Sy z|MmFL#|nV}Vb!7-WmiF&7qdlr{rQ#pZqh&LZ*YoJKPqSuCQ2CuQG{EkCKY*Q??tgK ziY_!vvD`Vm?yar{4N68}8tc8bQ_skOsQZS{VRd!)(doj z0RtD8v*|WOF0|n?ftE$tFl*3&?0C*&-U6d^AwUCKl6j0JGLh{-zZRW2F8`dMKrw6P zWiKzpDT$D@r6hfWZtSsE=9P1`%Vo%XdfX5obZwnOe2u(@2Qe+#K_8h9PjNQQQ~m&vd0UZEz5j6;pidAGh46$(Oe|a&tL{4%=#z{N7a2v{UDA&klCzr5Q2#6I3qsDdcy) z)FVWoSP15wQU6dPP; z?G8hxStSC>q;vV)yk_EGM23*=@migXXVP`_ zNL^`QI{}%kll=y8n|%{C>!^7;IOSWIif4)6FLKhTs((>1>o?vGB`T3t^<0;~C9FxG zw3u&|@8=B&@XmqYxM+6pJ*@Y7S8%zwI_^nBe{)|arALlFhTtQeO)+D7`|pSkM`OoN zVZCJHf<8fRb_OCgfZ5}(DmOjV?inRVg%n?Ez(%~FLVAP9&K-0s=CAVJ_hcL ze}E>G^?Da_%6#?y6yF_-_zIV5*3KAZFpOTqpvotbw^Oxv9v6lnOxKwqS_iW*6(xWl zO=L9-4qMp&jd8x1nj`hMQH48kEZo|jef^v)#`#PtCVMgLhT{mRGKL3wEoVUrX4BQD zqR(-h2ak09101?0-g(RPy#lDQ7qWq!AbFfw^YNo=-{Co-djXw=F+&wRSbC9Z354%V z6osXV6@m_c34EQ2W#^dZ=7vkp;2tMUHzW?1^#w7s;)7~@qBO@UBN4w&4CB|DL@qHB zE7uJy!Y)IF-h1CwCJQ+{lI@$RRW2Toy-A;`XV9?OE!29eS10@>&4g)F{=h#l5V+h% z_=K>Z+9=@*U-O`ftm4*N@hZtJUbzYZI;Oy5-BcFquN*=wBN}y{HU-5Hyigt`t|;1V zB>Mbg1kX8qCtN2I880kNr29#JQ&^^sp)*3foLgA;hRFO0j z5@UJK=rdpJ)}5Png`346JIwQ77Vw@H(id`NizJk?scsY2BlCVLanuAu5-Oolgs56B z0;L}m*cCojj=DPRM*jcwCYM_OGl-nvaX?a15}P8goSd9No~$##(Kr^Ovh|n=g+& z&p!g>Q1$+D^Cp#XbPadiq$*L7z~r2|xd3#9ce~jh@Y&k525iOHO#rMy8mF_ZQ)!nA z(>0)E5V1d)_aXCu&PC_0%Pe@aKhxE>y3V(Ue`*@zu>(UH->D`4?6wkZg=D#4#cOJ6 zI6Pq<01BFDRq`%v^oejJ@+h?1ONeC6&>Q72>Fm%GRsUAp6Y@zUrY7czbgoI4;rCKb zbxC>6T~+FYhkHH|^e!0z;C89?$rk;NMGjOR%Mw*5c?B|DJ9)FZ@-$WHDyUZe#bp(d zZC3Z#!%%)WN=g9Nmz6L*-l^5{vRApD=(V^Ypa#SH8WfpGeitOp5L z!(PN)5IKgL8*d5thM5MJ1L`$Oe+F6O5;0PDzgN63(LIit{`1d;4^Dz?Vo_h`7}?sg zgprK3_&rEQ)4iY`)L#ajPZoxBPqv=M)bGS_)CIA$HH4@OTPH;kWhrc0#W%(uxAl1l zA9JlbI?UbA?{gqjh~IHY%N?Ev2JX_^2VNIilD5+f8)L!vZJjJMAL$LSHjCzOuIQ_o zWse$W?Fj=C)JZQElX?qnFev)bb^^WNtnzZVfpSMwyF+kjMdko%x zi#!!@*`W!W4k<*y(&{`y#Sl^I?UQgO_+o`9BGKKNTo6T%EmU$nv?1}dA^TSgqByJH zLT?9{n~55-3@cmtQA@W|!PZk<&&DCuR9Q7h-k8o%&o!cwpca?o-RRj*5hW;1Js^eL|$?Cy5;lyKb} zh~h;CjNM{2M}{ zJ7oXS4AIco3~cQJ-4`8fGSLya9yDXA!Qb?P%Y6%C3{A*e9&?Q&4fm<*Hu6)SYs-T) zBHz6s7aCLifVr7({G1;w3ZQ+iO?1{&lGL3 zP!bCa#liShR5z@qt(a3Z8$U3}9@T^RdcVLJUD2ehW=WV9^pqv;w1O`Occ^(Fawbo1 z9i8?Z{Lb8WdRbz1xlbvLVs zJ`S_I$&p2I{0$T@fha2tbI^33O=`gUyUERNAvMCl5uduI2a5|KdSFZMn$1^G3xi5| zdZG^yvL^v|(v5N@1?OUNM=6STHBkHe*LOnmd%c+FIy3POLl)XZWx)KwnsO z?j9t$)DX9;+{6WD-bwk{L3fte6POdypr}%H6W2iXLoYg~G22Ja+KjQGmC!4BasvBT z;*3iz5%KR$cn-w~ZR|1G=ch_#KUlNA-!bU=7Jsc-R5k8)0?-k_CUF_Oh-$BC%jMAQ zfUESg*WLx0=gMm|R}J-ICM2P3G64_M`TrfH832E{?Ls}Os8fz)*%|e@LKiId?FD93 z0f!>*LA0cQV}Ve}79;LU_5$wv2v_S>%o_z^gTjiw!pW)8W{U2qDKqZyuInS}dbL4p zM_f3!^>ar!_e|Y&2~5lD^La~K8zVeC zuc60L?_am2F#Lo(f4$kmYJ9l&s!~vmVO+~Iu=tqBVvMTFiM(5kj#%@C<;9dLg7AF< z1V|NjVyq?m9wmx(qofv)8sQ%^@(DU$E3Br}mAq3aVJ_&=A>ZJXnnBYN@Pc}9bXf#V zD8v^{4ivY`kZaFsr?Kh8saH7~rI1NIWg$&?QufiP(yO)b+_dQ1suqAuJmpmd_a|07 zm~pRL9(OkY-C5mFwZoLNFUH#KJ9;+(fXu~EmeCpiuUHxpEFxiweD^7+5mlghYmZ7- zEP5R_A%+tZhY^zyPnvh{7OYnCc2o+Ovawo1u`WuDAQMyqy|BO}&T3Y&u3^rI{55h- ze}M+g$R;lL!LQ5?t@ysNzY$*RsoAuTbY)#8HdeSBc8@mLTrd~P?R>5XU&Otv3Taf! zk&tsRb^ARv>*hO_8WUA~bEP4u)VsIuzzNp|%}APckBy;4YNf*u>H<)_?~Bb7T3Sovo+9(9`=gJ% zP1Ea?+NKX7dhE?Rc^Yydkc7j*!JIm*=nLzJi(kHZ;Z(TyOthW_6CV^W&vd0;v!z1J zu5sy0zR*f02z;|L`A+9bUTm~nW-kC&xg#yd#i9H5GYrv`_rqONn=S6~Q(8k7G~cN;$Z>t^si=b}o_u>6bY7#Vj_9!6GH*5`(& zdDGgFmf6@ieljQ79GVkDL5cehMhNk2R@z%J_`{B?h0C0jFgNW}CLeJr28t)}P1A3D zcVDK+u+U!3$L|V<9v9FP{5NQIsyc|KP5tqs->Rf(s^fEr{o#zHc8!8B+@gq&0(YK~ zucl}rel(z(0nH|`Fxui!DiVKH&@De>I*T-;T)7HW7}Qw5)HeSgS-_mZ{0+WQj!OR! zD!gMdrh^)z|-Vu$|5U`XTHw1CUw4>FHTjk_Rge7p?emc!-Sx8sfW>xxsQI%w_ZuwH5Ci zM{3UywSMOT-x9wZ@_(XNn^DvMRHdZ1Z@>H>^noDz-=#JGe-ICIAwU7neQ~vInbUDWV=4Jpe$++6k!85(%rC}&E?ZyqjNT3Nl0auti8O3hpA|7&iIN%!dH zWF~?p_FBAYv+Nd|pa6@%Z{6lGs^&>0BP?x)pyHFli0_kEWzNl_9emHEGyEvOkA3qw zj`Y>$lZ5Yk9GBlJ8pyr|s`wIZgY_=n;wfY>Sys!5RI^PP8$ z6mGlsF?e~VBXrdZxrsMf{$H%UWl)@5mo6M51PcLz2M7?{8h1z_XyfkCNaOCF1b6oU z!QE+Gg1ftW@7$@9K5Q#0SGIaMdWQb618b??;$m^JvzCa zXiQdq2}vhIq;pAMF#hB3(I<7%gUOM8URzz45suh5A`&t$>S%ltN;!0AZ%e*-`R*S6 z#PU^hq)a70eO=-d^mh_n=P7`vZ3QMM3)0CeFF!fk9^+q;=X{M%U2c^aU!Ca(# z{ZU0;P%IqM`cM5E(O59BX%$@S@>e>>P&`Bz`2Nva-7&Qr1%moDsseFo zylc`yjy9xSYE^_oV{v&RRS{3(m6Vrro=?1ky9Ulvi5QWh@~OZi{2s8+1(V+6%T~jj z6dfHM2t>I+)Er_hLe06ZJ>l zsUQ5x*aRB<4!1q`1{winf$v(qA$WE|#I4%OU2bO%A2F4a6#h1Z>(e*xzxT~-r(J`7JQ~lFU*ZyG1L1+%F zz?o*y41ny#41)`VY+wO>-PgBtiFcK`2#n?E9$0M};z;5fM;g6hvB z(?D=NK?ShY=G+T`1PXtO62@X2^b{j`w9b}EXqfjrCbUqIM$(VDnTS)w8`se?F+MkR zg{|o~tn+2BC$*ABox*;e-xp_R=T@2Ievt;gZy@@++)J~(6McsV^UeqRfLg$J=gQ`` zJ~5E2Gfmt^iAF5O!D%e+Xg?5?QgVa!yd#?fwsumX3 zJAVy|n^~sGHNmXV*67Z>;ciqJ4jltoWq{QuavN5RQgYs$UoZ&?g>h(n&m85Z_#Ea8 zLXa{|vY|O&`l@M;0lAQ9LUdSU7*fYw;F>!2p^Un;YD97WW?c8oyWc}hO0f29o&qVX zOZJ(%UwiH~qMv`J!~rn0FdZ)Hl5kTHPIC67l%>m7;KA zB!UWq8EAmoVMhSBP4wr!kD>VM_v9i2Vq+X|?fWY<+Z%=!sBwWT#=t0ijQ!ko_;I;e zIPvut^bxGbi1ZOc7+0^lgYky|YimrkXj+PMX*7Z3??d#(T=-mrr}gFcXiVLb)Ur?Y~SOz9s{t@mGw9TVl~n+5=FkD`@qK%vpfo*vL}~)ytBhL ze8W~ZTfW5;FU+^xMTRcM-}9gw;p{#Ju2GtIV6tD(8G_puVa-@-*CoJOM3uSxQZtB@EZ-thoio)4P5t+5n+C&*cr3uGQ4!Yu$j&DRJSJf>ydA;0aG zK;9!3gZ3i&C}rWVEfGuk-t{%ru>XM;{O@MfH2;=ZEZAgL@$Vjrv`_N?0}S+eG?=2A zOY#)IP1zVeetD%zTl{6@(zs(|_JNR#5LP5i?mo5_t#`r`xXf~S&|tuLu{}1tWp6)c zjk8Z!kc+l{H;1xvv(pA0C|mRs2uF1?Av=0n@?2nd614o(~YT4o*EoRp!i z??O{`xxGA|2PBQEmjud{vp#S+NN>TuoZ&C9n{0sSr^t~E5hT(HICyxNRZAYnIDDWq zjp2m#xQ5F~3!NPw^p^8-V5P4*!4P{OeyCbCz4;S7NNa4K=0UajwvjLv`o5Hm7DGwv z{4#CmGbkb!M3ur}Op-x0yyfy05bKl6-d0n@(Tc@UaO+<(W@x}03>w77wguW!M~l2g z@bb;8kg7C7Ylg?)edS49DKZ*GsBy0vE~K4zc!x=ado3~vr$P`GGT|_!!~4x0#bULp z(cTccZLx7W(P?UE{Xjp(eMYR=McdgJw=Mp>)Oog$xr5UnuHvmnZLxKj>{s`~+;wMh zC96}yIm2?d<2v4@t#dm=J;SA-9_@$gl*06r8+CV<`dzEBuEfcR@;t8!2HQ_;JMzw7 z0$Sv1y9X1@SDP7y1_tS6v*?abRf~2FLk-M#I{@X4@JQ1yoQ%KBMwW(~3p=KQk=5b1 zKazv&C2XqdTCMoU@n#aQD$VTkO5wAWUbasn+g{YMeX=@v>u4AsEc!Tu5D07)z>JIT z0b*REV21sq1S>Ei>20*mBT5RJt($PJvBZe< zkx3a2sC!*sdvP{#59;U%3*GqxPq7$x&Tt-OTLmsM+(`Jxe3iXk#17hn%h$ZTYcGnw zA0rB*6K3s`>4w|p`pcTbunUw@+jDKI>WlE5NedQv_^D@VlC5^inrg~qt&OAWWM2sD zI4?pUOcm1eFlPL8T@sTNDNpQlutl^Zb@c0mYg!J7+#11p`1%8N6Dvd=cAZbnK_vAN zO)L0sKNKo{FPc#m`f#Tzex_hdK&4vZi;^cSN*ikMVVtTf2L211L=Qi@yqXByg)O@RZ$o8^YRtA(gixr zG;D6zY7>G{3eowO9W?`D;OxR7)s2aEs6^HYW!JA&)&zmLfIm-I;?AqOT3b`|1kLzI z}hm}pVdb)2f(H{g`?1WAVLUYf-g~xO1@s8FV*g%eh5B2pp!60e(G9Xr+!Jt1XE6%>eJX&JRPiL z;9mg=;vk2KXPAUFbx0OK*s;EkuNH~N~)o}_1{QM$$L-!^tqmWhX1CM2f-{D4WyK) z!*wLlj{o~I1kZkCO@hfT4h&iWyil<{A1d?0lbf>f^T(@?y?nag-M>aZ)-802&tBn9 zZCFmaGhH-OgZ94Eqy@TK&ha~HqX|ECuFryD&px5rh>n%qY_n*`jhHYy+qim&O{;m1 z+R>qB;Py=+!G7h|)6HX@ntfEMIJHUUuFo8_{+*JB^I@%V_tKm3=~Sc zjTOP$dhFCxJY1F=<##b7UEo`9RbJ};r*(ezjmsX^r!@httYnJGz45!Cb2IEs26c>dw%FzkM^=_UK!w$(^!A^ES@Mo@|3Jv?X+#KlrGG7 zW#iSE;kocqEGE2L&vGYG6KrO7<(oZrpB?D6AXln*x%d`OXHiwfyH?r8qz&6RKxkvi z_@&Ft5FtOPP;)}VH?JYF(eS(}>J~_CS%HMCdN%2eP3z;H+r7x8>&iE_yJ6Xy*?1)e zQPkqUkUXiwz@|dOi7I9|!($q=Y_$S{$g6!iCaQkU2PWP!{Z!^3sE+{L?|}O;G<>SW+X= z1}@XOwZp{(sb#}8aQ0PBIY7k1I`Jr?K(+7 zC0kh$T9nyE@j_nJW3Tn{`D5skYJUh`-un9d^bl5Q1bW)n#mAcqdCd6_84A#@E{_W> zdVDH0u6J{n?p0|@{`Nu7c4nydrO`?5b{J!hGr`wSjWFE>3X5K#)ZG;Z zdjW~#X2bjm-%GcqdjMA|l>T;VQ;Ih}{XVJUy5@Uc_hNlbZn;Q_Eceosl8$Q@1Am{& zTg%bJndWC@fR1mreW==mTkEbyxVJDqlbfj1V()!wUcCJ~)md zDaP^!It*vQMrTEPdt!cy)-z8(p0BH{(cQ_z_SWGp_c?acOx-X4ZN1Br!4AcM;gH(9 z5%!P(hu&htnDh7z_AsD6k@)(Yp^fJ{wC0snee=n{HcL7X<)UP#4BZyGo@3Czu6*UL z5qk+T8Vzz6f+RYgM@#(F9hi3UaT$+_g`A&hau@9_SC%u}Ixz=3ZY|A#R-~N@Gws(F z=nSNyJ|JC6(Q$7%y7=O@-IeX;S`!FFZ?tz9dAw6SnB_^(JgqLl_V{$7+e^~iorh@p zr`le+)XdQ)1Vk-*x-uzS7FAp?H&?Vskv-aa7RxE>v)N7X`_9If!JQ70D=}Q%-`o4n zI72_MH=p?J-OUBx_u{U7pp~pKu_TvPb=UwyN=H&2Z(1z@b09)J-8Go3`^ExF&z+${ zMgwlpO1OyCM3r}#&-6>StIC9zKj{l=B}J_`P{?jhcw9(GnwLu8F<`b+`kiZ7$sQli}~<6!RLYOl?0u^yWNYMt7!+>rMoA@+a+>Oa_6< zhwiSBE_sS7W-91Q8VESPC1pvkLv}<#oi0nluM0a*Q3xt%#<#cWEAchWw0Fc>6l)`- zeNX7`H-$Gn8SpmG=k@lC3@dU(T$=b3YcCcs?XXZ`%=UE`MK4=POAExA0N1Z^BQC@SKAqA_mmHPEpAINRCh zhbw$BVADva0k~PV_ob?(eg%XwNGAYh_HJ_Klu^`5d35XVRM3c66=7lu=4Gg2p!ChG zvZd(x-aGC<1lDi^S=0F-A^Tu`AZebIyNxS} zpZzAr_?Sp|)4TC5aArW-k>Exse(VP#E8Xd@9G=Ua%hr#(FfA+c*am-+T~V5yXH;X& z!P(Qj^q1F7&}$(1&>U~yJWrj`ZI8CNx01w!DoXi&Z*;Oo^`Q;iRQ35_2+e%~??Gv~ z!ESHzZR!vAiS5Qnd24I+wcrEZ0ZKOau6V||v1*H*E3MF|RsnG3;!zZ@Prem1^|<)UY2H+ImR^_u2$Oi}!9L z--~+onMZ7Z!BSeK)qb})Y0@TmmyoLdQ!xAB8n_DCR@^~YNr7B~agjNUd!%{ko}}Kz z4|Jfx-PC2dh>6P|G@EJN7>3JA|X%uV@{ljSxvj~&v7p<*h|if zOnN&2%A*3pzOw$hy!`jw{lfPCT{IB`k4u>tt#5KVU1Q_vw3`mp8!eHG%7Z;Uc^#So zt?2g0b+#gtz{`{@SD$)^x~{mgd*9tBe)y?Iwwxa7%wr45hf*$U*K4tB7LSliBRlW) z+WY3`3Bg0Y*8@S0V3-TVS|Zu4`J$4j)%^w+cx%ACxWF>&n>40d$Jvm;qc?x11@%Qb z4tC03oVOr{GH?e2Ct!ZiqLrje_stoV^Oeid%v~flQocvOq*4LqCt1TCHZ{O`#p|KASkMiqZb=9$j3 ze;dXBM}z%;d*J^ma{V1G>-x^h6&e~6`2%~iK>XjA_k{DD(aBRG{80AsN~a8-&C`rclEtfH8oV(RzjzZumBR&Bhg6k*lx zakQ{KXJ&jbZ61Y1aQDSlI{vQCK;}slj&jx3RhJ`y+3bZSl_99+#;rXRqEk%IGKriWHE+q zvGuDvSeoAudYj1M>Zd)^Vr<~LP{jf0Pv&RaYySAp5g+Un@0FF5gX)QU^CjB7{l%?6 z<>SysjwK>9GS!fHa5h;Nc?vaVcCJzx(f9*dzIV@$)#NgyJ-rR(KKg?@w+Z09@|6cY zzdCt;v0U2h^5M=7QR>3jOFoUb%bF>u)4Q*+B*uO-} zrk7^dC_9~rzaE>hRNx2wEkKqwL3~kYWQO{NT+{qRC!KpoN@`BYmd@R} zyIE%RdJYj4ZjXuaRRe&6M&5VZY;npHxo9OjeYp-0Wk{Wp5S@_lp07McFN>t(R{a1u zb(zCfhLlL?Pha?r7}dOV{F1IYjox4r%S?mMu7v{F#F?nxI@MK>&2qWBeM|31xIC9B z8sLAkbDlLdvon*1EZ;Ma**PZ@v6{;4dA*o66f4tJ{LkzFqgcOcFF%WyZjrGAOSiL> zhdDq4ze|Y+$MN?4{JB<%?;X#ow;SWNhxWv}>9EP|c{Z+bzmE+a?9Wl?L6YcFsQgfSmNFd?gYqp z+hEbxlC#cntvyBTu`Yas=x-3kXCzk@udLOK0`v`4p$#|Bg=E~mFAiA9wiTHUQ;Xo$ z(j)eqBu%X&F*mi0wX9xzgP3`B5KT~dl%c0>0%%X$p?ERmYgGMP%i%`+rTycS5-PVQ z7-#%+`Fz8g`g;iqX2CA>`o~g0x&a%@xnSz|J3#fbKNqA~L56F`$?){OUw^yUVe__b zCtdihL6IX(nbvzgxd!HoC^%NHg5t54Bv4KTOV-Tb>hplCM`_hmm}W>enMY&p9AfUa zzZD81f4Y*HBnAT+XMo-?$BHT^-KY@GpTpC)Y-g2JTGd**bNm(a2?#vc(2!=k>-j35LH>4GkE-u#ly5xp9@&FaXT7Z{Z2KLkd;7O#k3B2pQ#G-_iz0jK ztdEiZ{B#*~X5|PQjq&tv`0M|$3C{j2Z{yql6MW<$kmZ(S!A$d>J(t=WVPD#Zx@Bl$ zl2;BUOMoGM@ZHp~w_);**8a0<0MZ_5Q$KpATA)oxQHoO*ptepO&bUv|ZN8SQ+{YLd zNpjZAp;^GeG#^zks4fz#mCPIu?%7RSktnXTc6qjN=p>~BMZxychD{70>%J$d>%$bl zrzbCApOFYr8JQk*?#EqTHAIb~Y-O)VLaqZ4)csgq5N&8KeOotk6_14IT|=6Yjgx;knJG5RnJDVJNY@s!fpsM1a=b^+r;1h;h5pINCfC8nrlMChB=D3@aceN{k2PZMlCn7|Xb%uneBv>6TGgsu-K) zA`fEh!*Q5rW>yx0{9Kwg5(6O(4TkV+*|BwkPlJphD3VZeGR;nnoJ+HZZsn7Nhm*{4 zGU$dENQN2IRV(MFY!MiG^Eo=Kz;m39SY!MTJI=5;mfn1$%^)hF%=ZD}K0Z_4zClc= z_XGVTe_uxVBGp65rKkU44Ei;NCiFen;_dqipZh9DU@}C|dMyP2j?d$8as{sx8*RUQ zLyq5>N`yZ@FG^CxtJ&l58=a{7NO4cfARJYtY`ko;#^cxcF{+={ z>pjK44sI+5#9zVkQ;KPp(>cTBD#q052f^jobLR^9qusn3a(v7mDY5UnVvQ)F>xUR#7!ZbF(*1Z+z|D3JvBpXibB6b?> zX_Pm1x_}a5$32R`wZ{bYe)rOoE@sysa;G8p2&EDbu8Rsd!{SqI7s&c*{(gY~DweYQ z9W*biEVVJt^}13fG`B&m;B$*yPaJG%gv=u6Ki3usjn|7LVw8PZyVG-^oY;F4gX-4m zQ0m1qkkY|ts~Z)DZMES6Vd7;p5!VqQWDm=c3Q0gCWzc82?#WZvP0yyFWKoa`TyP2x zdruv0`hpkwsrz(Bw&`IGW*^FDc*jD6R?|hk-QqP3GHuS>L6uPGCBOp@2jgNS%9b{h zJSlM?lJuDZ4mQC{tHO{@rNg)Qo7gcR z>gWxb&3-FPrdLMIY1V($ZT?hZ^teP7B|Xl)3ah+={eS>xxYk#Q98;KB2MEwaPnBB_ zS(Tc>dIKWX7{V}wGvt7UwB;zVC~X;FySUB_!O7&7EZ_kt*D@rsc0~Ur_z^9Q|gHr<9IgtG;j=h!>4P zYfAypL~XGCc&EovhS{FZOKUVdZcdD%T#{HIVTU?eP?0aHMX*|}@z_4zO^F-#>7+J- zN`aiAL^cm1aGmD~S(ry#tB_>CWXKvpAk(m&t}P=@`OfM=na7W&MpE$p6GJgq&Nwbi z#aF1f)s!ZH$v;49<`s^DoPSv^4>W*q!w{=VpId^bj9H%DcQ`m#w};J0eG~h$p0GFx zqU2cjTY7dEW%>A8i`@vC`8QO`7Pw5758)fy1dR^Wk)4OJ4|Y0HQw`VmaXHv0!1*Cf zv5Yfp$ab?K&^V!YlqgPUB)X*B2Tlbx7Ae}C!iUk_QQG3Z^sxao?m@;bXwLh@l;5NL zC)T1(^iuk*W0;3%o7yasiL@MJkt^Nrfwd*8R`>RC0!5=NPY9QaA9c^$1P zbdHwm9*kq1;CbN~z!&LBHT=Q$jy%I@O9uW&Oga;0(sL4i*enFynOTUjD)!@YS8vcp z0r|`{vSwUg2v*LZE^`p7vE0hj{G9sB`0z*A!;|^jF%0@@m zB-~pFZk@R7V8|{DJKByNXUsx|L6?bJDj_{uKH0}+ZPOWo<@Y%wTz6F|=##P!b2Eaw zQwNRxVa8N56NQS1dJ{h%sl%bNBn4NEGz?0GSqi`Ob=ZTJ1d`HhN9h;&i8EL8F*exs z&8Sak%s5~h;WVwa0^{8v^-%B2N$Qa!6%CT7S@r!9u5x!ds~CkrH{aH707tSFtu znQE100>z`G*YbmIlvkhVgtcE`@%GoaarV$6JYYb%Qg_Lo#oOelXd1T`%i2658Hcxb zJ3Q>-y%m$ACu~tzIS75FT`mjCcU^EAazhfP9~F_aZC`SJ-y#w@z_<9ICFHjVT}$Lv z_b?%KZ7t-O9Hl_+S-5$a6oeBXk)?J&r#D~yng6rhJaY*;Z}T9h?6Fqpwx*`4_~U3M zW=WC{)AIcXwOa^1X6>oz)`x}fO=;qqJR_apS>;xPoR+Uf4oWM`Jnn+ab$T6@*p8MT zZsYHL6)C*oEcUb|GQRItSXkXU37$`U;99~WG?6pew8)fTwVoh;XlH4+vVhIVfI3g7 z&~9tg+HAmz7F&1+Jh>1IvVeLzLdh?u+t;a*(kfmE8=HPncnDASOo9om%$BeVC8iex zCHe_ECDd8Ify6!dR24%)l}M#r9`}13pp_Dar!Ag__3Zg92R(8RY4ayqZEl;Wu2uL` z`BUR2R=GLx*{SQE0nN@#8^~kkzt>|*&fEjle^rRVIx)!O1k=AfQ9TdCbLlm8ln$Y5 zYlsbTg~-bu&sjhJafQyM+$PL8oJ}7iS4bD#aw@Ll;&HXi)N%8JscndO6G1F7H_gw1 zZJSQ&Nme2ELeE#e4`#5cHmu7=cjxOfD_1}w+o3(Q=X zM@I;gZrrXT<43r~*;tBsMrKTbZmV)^KH@Gmx3fvy(PpNQY;@H!2xL}#8%-4^B&*|@ zbqt5|ER~=mv=py?DYZg1S1D#rjJq#%9kU|$c}_xQ?8(RX zMtKLH)&J444HLjiEd&h9sdhLY_?}mMBB`TJQW4GEV}GxKR`vP*RLl1`k)vhiM?Dz! zh~x{bjG63w>lvm{j*o1!w+=SLqOMhVOKlg>*U!FP?7}dHHyuA(WfuCiQ!Q&o$P(!^Je#Uc{o# zv4|{P1!S1}d;!M?2}1ZjvFx~^L}4>)UC|Exk+4}5arwQ*EqpX$K?++Q_&#|O^HA(y z@g)d-G_(L8a*P-91JqfkfT~o~flkc>HR=1U#g}1U7SRXr+ac4@iyG)LaXZ*PQ`b;y zU<5LZ;O?nA{GH!~WG>yz`OZ37Fd(x_0Iz}S_s!?R=7J)19fej4q4U!; z70K^QS7r8EipBZH_C3r61n||hd)B#FXp_lr=wcLw>p7<&h&1>JZQU1y3Nbcup`#7! zMcRPiq}%|*sJ!jAnYoY8KHpvpzXlHR-R^ZqkorWp*j3?`?X_(QK4%!(F*p&tc<^ke z^CXtin&{G6sKaq<7+dYNcpyRM<j+~!+256Al86}-|7h=ARF>vpXF@IBpDm+E3=O5=fy6E% z_NvQ|QCe?DOJ`1-)Y;pZSkNN{#4>uQS?_HD>zHw#AFzWg><6;ExgzGEx zRdtx+9Jfc%DZ&>$*I3fs(QVXFizwpwgk1He7`{0{%GP+^siTY^O{W)|twP zW`lZoe|~UWT`hUN>!ixdJ|0ZPRd%^cGW)G}7w!b^@xdmlWooVp=KssqOj5}#&Xp+> z!Z0;GIE9Jyj7`~;4%4eW{)<`gP;-~;NB3@s4qAp-JpTI%b;aJ2ru52>q{JRXkA1Ze zRw4Oq*GrpZ>^NwSP$Nd9N+UCNg5rm41yUx7Gyo5a>o~c6cPvrB%qX;QJC3BuLfMNumExK(a;P=bcvs3YSsHu5IHtanO@_rPuVo zOiF*Lk#t$#E_gGm4cqSb(hy@|5z^@B=uZRhK=W^65|Nf3Z5OC1_GyB(u1fO#od;c2 zP(2*Nu(h=(gK9PH>`t09rolo;vC@2Q*L6J=!0h06v4GHlXSaOFwkpRnZ&rfr4po_m zb}vtipf@>>nvXvmur4pNsx(HXZaWO?Wq)Id;J;(lU3*BDSaNeOC#PvqLWXpq{npJ5p*CC!>I*v%l^k9n>}HAjhNQ%T~LeDx8EZSu@zT|e$& zx1~>GhKPdZDXfBH`zOVJCN7dqrra?M<&Dqk48Lz~Qi7Vs&JuV|!9@l-_=+XEAOk61w{LPE8MQ|~q%bjL%g>RK`%Rr%?6 zU*5y)Ls8_J;OrfL!RU`Hr>>ue8=j@am^wZO`ti?~Lwo23OsQF0Eg#B2rUtbFUx zDknUl3jdU{?hxHjwjfOU2-#it_u>Zzr1VbB<$Y(<>HChd(&R?szn2LUOkRBQ;lf=K zSm@R_L#XsxdzoJSfwP9U5@7+^ztgW|SzusClN?WQ9b(rPm?!6eYM%8RC|5;mtcDR$ zXYcrSA>WY_r7Y!Lbq;mG(Rs;>ng?P#+RW4HG4Y@F_lYb5r?x*n?=^+WdhL@fOx zl_QhDBRbs+B(-jutV?aBRtOmD5+OL&O2wV3*(~~(;BuE@{F-s#;N29b#Qd>~wka&0 zB4m7}VC89^4@@sBlsS%7bD93Bcy8KT3F}#Bdi>9#s19LqlGGZRuj0dBG^x6EX=;?B zwWhQHG&C%mHWh<_{*Qj0=WkWhB1*KAx&cZHiE|^I&z`YNw$0!ZvdFr`UnEo3K`~rt zKWQ-wnE??RFwxZFs^lh34zY@`;D&u^_di@+_|-Y6I$RW+9j*+v1ci7CGG0pkTdLVN zyjvAxdIgzsiGt-6R=#=#)PdP&8=?m!%?zIF{7hNgMPf!Z(?;7d_VW`T{+R2vxn5cS!rZxj739+~&cRDvuY{bH3xFb$72JNP%0p_ zO*C%(A(Zcq8qpPZ*iRS+HTX1p0OXq5TdexoOWrH7cM`<|a(f=xCf6s0?J*Cv8}1+6 zqF%mMw~9Jg;EAgvH5f?PRmO$l_H8bnoT1q4j3gu}W(h!uDXlP=&DWqZ6!M@%Yl{!F z6?ekT*BCdv#hfRdNzIv(R@6wg@1eMMe0qClNVq8Ue>kpZ!dJU|s?<{VcYScR8c*@n zVVYNbAL%z(*p-0SGnQ*{g|1ADzW}fJl$hM?wnz#||$d@7hQ8l0k=}VP>c(s5yIBzh6 zUd|@n?Ud(hJA+;+4;X%4Q1V|{U!??y-ez`rv1KE9Au+|gV=S4i(bD4K^%hX%UwbJ! zakmNGC1RLXj}F&u$PR_XpXL7se)@RjE@aCCJ#U8`m_Z_3Nh%?PlX0&P#^2aai&A-< z@Uh8>pNt8Ke|nU$a4rEgo%$h|0w8!FcBrzqDUfQexw2Oi#1az3R!G%3m8j(!nl}cI z5JH*ZSx;pD7A4LJ_QCRsR!^SfE+1~a&Ug1$mxj3s^2P^KW0#r-Jin`5GTQ+i9sKfc zHoChXA1daTe(mq!(Z|lOV;cj70zC)sHeCJq)CCCY5u^UR>0hc3`7NW3y3Sk8QOcT> z4_T8LpWLxt&Szihdhk|I5Lau&j~_&D8orX^udlXD4W6*5a?1ZBz!(-Fe9+m>?i`Lv zNkt{%YzJg$yWP4Lcc9&3f5d`rGjDS`cP3TzTY4nc7#o%WLJW)-gFqj&kkR-GE-%a4 zHB_=u=IgC>hcZ1iySKvr383@g9dD6C1qQ0qAMiLGxD<7XR9nU|OH6GR7Sc*g7a!5D z_bT_C_&Br12eh>={j_j!ZlO3fu5;>X_b_50zqGQM4+v_Wyfq8l=bB%dnBeED7lVP2imI^dAHx$kw(r?B`=_s4-#f^pau{zU(YFFba4mN+fRCx=e10O;A25G|Oz=~vt zDS8}NxXO3Ix(_FS)JEn^!CKYV_EnJ{A3h$)XD1RS{p^4Pu#i2tFFCU*x!1&u=lv(r zSB78puhzgQzu9VP<Goh=4Q;t~qex2-_aPCv`7{oqkJ_n7Q z1#6Jwo7y|t35HAHtv_4~e2~w`TZ!6EC23f=o`#@M%Rzj&n8hB6sR>;qMHpu>jO~zT zPIAHY_*R_hW92%CG_&yBG418{uqxav=6aT&Kh#MeGu5xa3b!g`2rHZYnX;uIOFfmM zz^I8Y3-z^)kFPAnVYX*drhBTjfS4~$>K1A>9*jIzpPMmOG$vjbrr$XCQ%AlGf%%6# zA`lX?S}XDLQ_+fkzWBX!)G`XA5It|UDL}6hMJl-aVYy|r>U6T4s22V2gg^(EfvbY; z=@vPd`&UI}8kU9*9{lONJxT_m9yf5)024EetHx(aN5v3l&`6)9d~k^1gkUjZ!dni} z&STPd|@K$`k3d7MFDsb zmxvD!tqAt$u*Nn+qj3&S{LKC=h*m)tX+#WCrD(b4f-+N@^{YNaA>BLj-LYh}r+l(cMw$fN zDqOJHG}esjLIb{7r5&nL~xKh`t6at6jL2z7;N zC5dNnwgN0AO?_^W?qcjbmZw1S*>r>k34uH>Ud-c2ZfIWwjx^cr>1;1Hnly*Io%B$^ z*g6In7vG6rzR0J0jg9S%#*5voQuo_q;j&JR9SaQ3GQ9Xo8&V#ovRt_wC0$XX{0M?V zx4qQwv1yl~#et%{_7J)F7TKazbzVg+zGzs|0$Qa?^x>um!xo+GA+$C*wPY1c=d``F z%RZsO?`I0xev)PN8cJOjLl}fK7L1a)@;6Q12L%1_=5mN4!3f>u-D3F9*#MXa(b?ohT@aX}dX!<&QpcvwU`6#D} z{!d;){>CJfiM${hn$z(HUJX@yH<5c1w4Io5Fz==7fIZF;ZV$$ky3cFRV?Y~so$TCX z9JFOGOeKR}BWt2^66N~85;{pd1Uv*;b3aOy#pf<<i4wNsqM*mYUv)nEk4fAcWo@_`uXbqWsB}l$7TqHcaPd%R-H;&4n1K053%lD z&|$wHNQ5;T;#cJ5_cTr!mKV91>WS64YcLU1>wKOKNcT&g9w_&tPl^Rw+~01Bj9HYk zx6H+KSkJM$Yqk#&Z>R=5vcrTBSdM-Tn$EnE5j+mb4JLd!nOE!iS;vpCw6fk%#Rn&_ zw2Vp9JG7WQr7n-E<$ik$EZcuG(Nn>3HA+cOtaAfv@$pZa>>dM{qpsBYL3VB(cDC7D z$7$}U0~V2s&>P|`g+JRoXpNp7uW#$T79t}YRvHCL2PZO-n>i{{$u=^Bp*FRNBk#?m z7ixH@x0ro=>5XaFch0BfU5sLgG_Te*CaCO%1*Y-QLbiuQlAj_OoMAD*_&rjg$=hf( z!j7!i@FgLqy858LF>mv_EREYQ4ZT!u+Y*NNM{-dKi5lIxj_utr87N(0<<&4AQT6X> zmVFD~eo>j@3OprP07Wj4gsHL*j%UiuBqS;AAm?6ue0YyYq7 z{@r%+O#)AnT)?2?e5+$brS`zNY)cx>c}N*5aN1~fpUY?R?o>4k-4Hj%WPzoIiL0bn zWftfFGiI;(u=)@}G%ee?jpMKF*qw3=z2=RY>}c$8!^iIWj5syz1Lrvr*w*@3sW2YJ zF|j9UXw**Hvk0A}ri0+b8*y8fBe3_Z9E)c<#Jb8(s@!KQsqlSDECkqSc&M%!uV^(~ zvFB-t)uoP#+p)XDf`hjqESB?ETlY%J1EF0TgXuS|#GX@23#cvndkUzf?CO(jf$Zy$ zfVgW-)`2EpmD2#ei=>E4B<6BW+%bMIeg8z?ddcy$GSRb?R@vYs_Et~@C+*_d#95jP zIme6rsZj-kydPaw>U?WO4v@XMcti1B@%?tFIN98?n7Ti@OEqb17AWVzzL>aCat07W zIwvlNaOcEUEIT+@Ln#O>aA(yVGi@z+oit0ho#b6;fIPe>72JjG%4ah^g&B0f8}x3@ ziT#-!rA5m$V!!CPE&ujL3;tIbCQcRYLtkCvVm*K$5@EerXi?RR^>QIJsqv7*>oD!z z&jYpE%)QRt3^q2fILxh@+m<%JqSsxWS;2I^P@TnO_t;EWwBbyDRT^t6%xp8`>nz|( zxeO2J-byGRYBu*L6BIns67^*Gxc_ zzNS{|7(f?lfU5qKOgLFJ$S!+rB5!8ObuR~-K-8kTGMxL$$&&sqvCIh{He z8+u3eMcHSbpZDjxt%%2lJ1^mN27(hWq!x^QBWAV%p}He4X8bZb2b@@n-fXKvLrCa9 zDOVJjjQ0v$xYjhcoT$Bz(PSy|!=}=$8BO&fo#^1dV(F)xEiO9EE-)p520;&s^vPxo zJp0<;Nwfis%dxYu1I;u7U5&ITLR5rxWZ!fvX5eb{q)2zq@eNw<%9?q1vZWaUwfnH4 zIsSQL@7s?}UL}`>+ibJnafsHRH5m!E?@6AYm!d3FV-0|nR(D^>`BkLgO4@sID^!2pdh@E&xy+ib;aXds@m1P@eY}|b045SZ zSrI-kOfG4>BCbM;GNdvR*gMh%rfW0TPPNg5T)ZtFaPaIKVk!?)zl4Bv*~+(5p`L74gj-ka^0=#NL(x5PgUs1}8hYI~JZj8E*yHLwp-Y=BbL2n9Q#q$p_$6X z#s`;|JA{?T{V)A*zyI~0Rl_`!>X~QNfA6M=OSy10i*}8!7r4*g?|EGYZg4?UD8q0= zeZp-odT3x5*bl*9Kg`#491AyjE4A=HNWbVd=a}#g>iq&8*Nd-gC`|t7M2@Nm@gj>1 zj@1b6j9*qEyT(={yv&rUYSc34wD@@Vgd}@ymJ_{a?=C-nEY_Ol+{>CqBi25SY%5&P zbuJzMg`r5#9(xP7*p5j@FlbuMMmy7Vic#}gZE1*?4@dR>7FBgOVc&h)MiVtayJ0~xQ)M%#) zX{z4X1|ib|I>2mk{XSjEBTvBqJIQG_WZ_#vUjJoj=Dkk3(DYi`xo$6C)JvekwVsMv>p+AdWd5udb~mi-vfbrG(?pslEeIz6MA4 zR+hNs=3zO@)|{+qI=WJp(>&g0I^YTI)8bb17|#PkW2F#(L z7qJmn-N+#)BO)Ysy8vyHrKU7J&&jB-f7 zxxVPl9RjMXjGOx=YI<*~XkyZdWCpoz4&uTez?S z5Xzw${Z7>Vlec6G84Br6k;rkd-Whm{r|T*3YST&rh5~|FiZ~7_j`@A3ib-hq25rP( zr(a`>Fzk=YWr(f|JIO#x0_x9ZIKHJXhSyE^Tbo}9iVy2Vh?{H+t+=P9BuAJl8IyRI z=8*PA3DXtJ`Hr#zNnboyO-gB%XVeL5Fs#g+i`|PpHc}9|Pca%Z&}weADk#U6qg|?t z=ZMAz{N2&w*DQqN63DJ_)_Tl6@*ICL&%Msurw_nKZnmy2hs0!ZE^jjqLWDm0;sx@P zQBv?KP4)DE+!)a&M-(A-My^fMZVSy)p#C6gu z__2A|d;AaR#9+CD^;h=i3IV#pHJ@ehY`eyB?bMJ)pC@g|2ze*0Vz_%NDHQWx#S}I5 z`J`)P@q3qH+RnUgkz5(KQ zz|V2%)crj_XfE7tqg|UHm?=_eVCNC}?Ak?sojwUuQ>zD;bCAX7IEmx7yziwFSR0uolM5@o0n*)HNDalxSA z`o;US`6C{dFG}199Q%u{(2IyQ{-*5@xpUk37(xWv<&+%86gTk< zGX+Ifg-0h71WAt}vuJT~?1X&hUOq~6e47q1U{L?`*^QUNtRHK9-ShsTfe}%S$*;yw zHW&1bJR{-7rp}y*-u_Hg~TOpNlW435RFh|#C zM=}X0TUAR(@_aKr;doB#ACGYm*k@L-kBg*Wi@@lYQ0#e#60rdthnx}4;x${=>rhBi z|3BPsgdf`%Y-JV$eqv*Y9XjE&pWu*_lQa9uIV3U{$jaGl;J5b%ictd`+Jqk6tYy_B z)YrTG1@%8_P6CLuzQL|pV4hyRCBcK#v1ZzH;#FnK3uz>J6B;=}ISWQ{zbzq#-Bc_# z3{#_R`>Y{j;QBs3xipm47bF82Ef`_F`~vkGCu8Kp%FQYFCom}8=S)l!)H4Ze5Cj|b z#xO9oem1TSF+5}PKhiMSVCduB=zG{QLAQPDcmUk-QMaOpEvB(!qID&ySR&B}l;U&} zLECP*MzhJSH2fV0n3in7QpA@u!mK5=U4I+iNewpZZ1#}zu8t}SDPVmYJ5MSTC3N;N zoLVcFt48Q!F-mMP+K>O$lvxn4Oui%aMG@oKvZKzF6evB0) zd@)Ci9Xzj=9&cNQfa8b%DhG|Gr0btY zYAhY=k{v$!6i=<5-|)#Lnc6;79lM2yW5!4$(`Z5`UyO)AvHU?aJ_LfVN3&E6!l+B4 z+ebR~vf#CsKFcLq+A9rsB>KX`ExuN+)yw`+*+X0TMc0?&pDeZ)cl-Vfi@eY>R?`UJ z)aY9;&#bDsYJV8X;E|5lIXMU}(u|@Qe!Kg9JsKw?l5;N38k`tH+UhM?n_#wjjFEc5 z64bAz-+EdKj~s%LLmd>KvfCS$82HK9O30e;o^C^vGCI0}M>vrX%pAHSN^6jXV(?xy zf$eWz>Aenhx8jM-jdvI@r(^cnj`5ZB4(qZH=yz(vK?aHqtmXUro*mo zv+1+B-IeI)^pCwPy-3mlWRv2OAM-W^=6y~J1?suFxf!omdf%S2un^RBG~fO`@k)h5B-z1p|>QLLpQU-2YXEz&XofLN6rqs~)`A z6l&z0*5$iD9$;n0cwSz3#;cWpwJ?2Z!_T*>PY16Ly}!J3@ncjqM_;OE)O=L`*7Y-* z#O^B!yUX`V>7!!`wzRMz#5;8;(FXFJ{Opr zpWJ#FX}A9XtMgdaA7afAq?%57SsBIiiu1=&QBkK=v47UQrpI0AG}EiBRA>(~-2pU( z48SVZt|hI@D!~i03<>Z5DmK97J@-~lqaMFk54Cf*dsE8i{W>PJ2!iHbA5BdtLR7N~t!?p<(O z)-uuB;|!D?qMDCeI!`qBE<$WY1r6m@iO+8I@?>;lw_r@cftd3S>pOmzK+F5 z&!siAaQCVP1}TPP*+QB>czOI{%SGAr<&B9wtrN=q9iW=0xSqZAJ}zb4@nfcJjepn+!0eb1P;&C| zj_oMq+*TFugGU57b-Z$tSzk_eOqn6%MHUvaH-_jbXNm5+^|*1pX^DOfvO4FQ|0EGbVua!{-{$+1Ba4yEcaL z=|V$Ou2?m?lyq|bU6Fcx6*H?=OQb*J$6eWr5NE+MD;3ew-U2Arnbv6n7B7W!n9CNs zs@aSiCe{nL9Gm6q#aDZ2!zT;>gL4vTS@mgJYl{G3Gcb;SpetnQ!YFLpjO zYGt2hB_qQ{@e#_~Aeg3F63UySGv`RN%_@**<`;{-k{KL%aR1|cP6Kzvw#oPIMr2G# zWjN|Bz3;uWHK1+(im(NrpCtd+RzOTSc=qQ3`QGlkyo$p*ID)ogB9)V7$)alETV~%r zQ>Nx^#kfWhl<%9|j9=W^VB)*3i5XldnTe3KE1z)}9#qU* z)^~aB)->hEP;s2q;O`51rx<@x^icH^!TJOLVE;@;ManHQ`w{stS|f@JMHYWZlxaXv z1%Ud=BmH}V)dqC+!+w&K%e0#M`cpH`E$FSSmlg;@xWOhf9iiQUsA5|m3$~^ntV>rV zbp4F{q=orzgtq^RInCt*_Vj}$U=1fn1z5#gwXji$IfS5UYMIYDO}@YpDfWr6)0|Ls*JWTBqxM)i4jZCq-qkR1!_{M?-*wMV4JFkpCL`fN1K;WKe zgTz~rW@r(yCqBN`3c1rb_iM9Le|pk$kG^{zQeq8q7&;6iXOh_Ytx!L<>*cQ&D+)FX z!BZ_*LC0@L{QOzFy6V7xS$Ogim(n(xuR#j5(cR`reeR>3piEB=5O!BS89I4hgd%gPZK?{e2j5j87QpvpdNwrQQcWDc&CM4+paS9gc u{f7Sb#$Fx&|HXgXQ2%?YnHoX+mH7MMt3JR2_294M_O*