private void AssertCssClassFor <TProperty>(Expression <Func <AllTypesView, TProperty> > property, String expected) { columns = SubstituteColumns <AllTypesView, TProperty>(column); columns.AddProperty(property); column.Received().Css(expected); }
public static IGridColumn <T> AddProperty <T, TProperty>(this IGridColumnCollection <T> column, Expression <Func <T, TProperty> > property) { return(column .Add(property) .Css(GetCssClassFor(property)) .Titled(ResourceProvider.GetPropertyTitle(property))); }
public byte[] GenerateExcel <T>(IGridColumnCollection <T> columns, IEnumerable <T> items) { ExcelData excelData = new ExcelData(); excelData.SheetName = Strings.Items; var header = new List <ExcelCell>(); foreach (IGridColumn column in columns) { if (!column.Hidden) { header.Add(new ExcelCell(column.Title)); } } excelData.Cells.Add(header); foreach (var item in items) { List <ExcelCell> row = new List <ExcelCell>(); foreach (IGridColumn column in columns) { if (!column.Hidden) { var cell = column.GetCell(item) as GridCell; cell.Encode = false; row.Add(new ExcelCell(cell.ToString())); } } excelData.Cells.Add(row); } return(GenerateExcel(excelData)); }
public static IGridColumn <T> AddDateTimeProperty <T>(this IGridColumnCollection <T> column, Expression <Func <T, DateTime?> > property) { return(column .AddProperty(property) .Format(String.Format("{{0:{0} {1}}}", CultureInfo.CurrentUICulture.DateTimeFormat.ShortDatePattern, CultureInfo.CurrentUICulture.DateTimeFormat.ShortTimePattern))); }
private IGridColumnCollection <TModel> SubstituteColumns <TModel, TProperty>(IGridColumn <TModel> gridColumn) { IGridColumnCollection <TModel> columns = Substitute.For <IGridColumnCollection <TModel> >(); columns.Add(Arg.Any <Expression <Func <TModel, TProperty> > >()).Returns(gridColumn); columns.Add().Returns(gridColumn); return(columns); }
protected virtual void CnCreatingColumnsConfiguration(IGridColumnCollection <T> columns) { CnCreatingColumnsConfiguration(columns, out Dictionary <IGridColumn <T>, Func <T, string> >?customColumnValueGetters); // Call with GridBlazor.Columns.GridColumnCollection happens first if (CustomColumnValueGetters == null) { CustomColumnValueGetters = customColumnValueGetters; } }
public void SetUp() { column = SubstituteColumn <AllTypesView>(); options = SubstituteOptions <AllTypesView>(); columns = SubstituteColumns <AllTypesView, DateTime?>(column); HttpContext.Current = HttpContextFactory.CreateHttpContext(); urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext); Authorization.Provider = Substitute.For <IAuthorizationProvider>(); Authorization.Provider.IsAuthorizedFor(Arg.Any <String>(), Arg.Any <String>(), Arg.Any <String>(), Arg.Any <String>()).Returns(true); }
public static void CreateColumns <T>(IGridColumnCollection <T> columns) { Type t = typeof(T); PropertyInfo title = t.GetProperty("Title"); PropertyInfo description = t.GetProperty("Description"); columns.Add(title) .Titled("MyTitle") .SetWidth(100); columns.Add(description) .Sortable(true); }
public static IGridColumn <T> AddActionLink <T>(this IGridColumnCollection <T> column, String action, String iconClass) { if (Authorization.Provider != null && !Authorization.Provider.IsAuthorizedFor(CurrentAccountId, CurrentArea, CurrentController, action)) { return(null); } return(column .Add() .Encoded(false) .Sanitized(false) .Css("action-cell") .RenderAction(action, iconClass)); }
public static IGridColumn <T> AddActionLink <T>(this IGridColumnCollection <T> column, LinkAction action) { if (Authorization.Provider != null && !Authorization.Provider.IsAuthorizedFor(CurrentAccountId, CurrentArea, CurrentController, action.ToString())) { return(null); } IGridColumn <T> gridColumn = column .Add() .SetWidth(20) .Encoded(false) .Sanitized(false) .Css("action-cell"); AddLinkAction(gridColumn, action); return(gridColumn); }
public void AddActionLink_OnModelWihoutKeyPropertyThrows() { Func <Object, String> deleteFunc = null; IGridColumn <Object> objectColumn = SubstituteColumn <Object>(); IGridColumnCollection <Object> objectColumns = SubstituteColumns <Object, String>(objectColumn); objectColumn .RenderValueAs(Arg.Any <Func <Object, String> >()) .Returns(objectColumn) .AndDoes(info => { deleteFunc = info.Arg <Func <Object, String> >(); }); objectColumns.AddActionLink(LinkAction.Delete); Exception expected = Assert.Throws <Exception>(() => deleteFunc.Invoke(new Object())); Assert.AreEqual(expected.Message, "Object type does not have a key property."); }
public void AddActionLink_OnModelWihoutKeyPropertyThrows() { Func <Object, String> renderer = null; IGridColumn <Object> objectColumn = SubstituteColumn <Object>(); IGridColumnCollection <Object> objectColumns = SubstituteColumns <Object, String>(objectColumn); objectColumn .RenderValueAs(Arg.Any <Func <Object, String> >()) .Returns(objectColumn) .AndDoes(info => { renderer = info.Arg <Func <Object, String> >(); }); objectColumns.AddActionLink("Delete", "fa fa-times"); String actual = Assert.Throws <Exception>(() => renderer.Invoke(new Object())).Message; String expected = "Object type does not have a key property."; Assert.AreEqual(expected, actual); }
public HtmlGridView(IEnumerable <T> models, string gridname) { this._models = models; this._gridname = gridname ?? this._gridname; _columns = new GridColumnCollection <T>(this); }
protected abstract void CnCreatingColumnsConfiguration( IGridColumnCollection <T> columns, out Dictionary <IGridColumn <T>, Func <T, string> >?customColumnValueGetters );