public void SerializeTo(string key, IClientSideObjectWriter writer)
{
if (!Enabled)
{
return;
}
var editing = Serialize();
if (editing.Any())
{
writer.AppendObject("editing", editing);
}
if (grid.IsClientBinding)
{
writer.AppendObject("dataKeys", grid.DataKeys.ToDictionary(dataKey => dataKey.Name, dataKey => (object)dataKey.RouteKey));
if (!grid.IsEmpty)
{
if (grid.DataProcessor.ProcessedDataSource is IQueryable<AggregateFunctionsGroup>)
{
IEnumerable<IGroup> grouppedDataSource = grid.DataProcessor.ProcessedDataSource.Cast<IGroup>();
writer.AppendCollection("data", grouppedDataSource.Leaves());
}
else
{
writer.AppendCollection("data", grid.DataProcessor.ProcessedDataSource);
}
}
}
}