Files
raven/server/AyaNova/DataList/ListOptions.cs
2021-01-26 19:13:19 +00:00

36 lines
1.4 KiB
C#

using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Mvc;
namespace AyaNova.DataList
{
public sealed class DataListOptions
{
public const int MaxPageSize = 1000;
public const int DefaultOffset = 0;
public const int DefaultLimit = 25;
[FromBody]
public int? Offset { get; set; }
[FromBody]
public int? Limit { get; set; }
[FromBody, Required]
public string DataListKey { get; set; }
/*
columns:["PartInventoryTransactionEntryDate","PartPartNumber","PartWarehouseName","PartInventoryTransactionQuantity","PartInventoryTransactionDescription","PartInventoryTransactionSource","PartInventoryBalance"]
sortBy:["PartInventoryTransactionEntryDate"],//same as grid natively does all columns here
sortDesc:[true],//same as grid natively does, all columns here true or false each
filter:[{column:"PartPartNumber",items:[{op: "=",value: "400735"}]}],
variant:"string"
*/
[FromBody]
public string ListView { get; set; }//optional, if null or empty will use default list view built into DataList
[FromBody]
public string MetaView { get; set; }//optional meta list view to integrate into the standard list view. Used by client to add "meta" filter conditions above the user's choices e.g. customer notes customer id
}
}