public override IEnumerable <IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var button = CreateButton <GridLinkButtonBuilder>(Text, CssClass()); button.Url = (dataItem) => { var navigatable = new RequestSettings { ActionName = ActionName, ControllerName = ControllerName, }; navigatable.RouteValues.AddRange(RouteValues); var dataRouteValues = DataRouteValues.Cast <IDataKey>(); if (SendDataKeys) { dataRouteValues = dataRouteValues.Concat(urlBuilder.GetDataKeys()); } foreach (var key in dataRouteValues) { navigatable.RouteValues.Add(key.RouteKey, key.GetValue(dataItem)); } return(urlBuilder.Url(navigatable, SendState)); }; return(new [] { button }); }
public override IDictionary <string, object> Serialize(IGridUrlBuilder urlBuilder) { var state = base.Serialize(urlBuilder); if (Text.HasValue()) { state["text"] = Text; } if (SendState && !Ajax) { RouteValues.AddRange(urlBuilder.GetState()); } var dataRouteValues = DataRouteValues.Cast <IGridDataKey>(); if (Ajax) { state["ajax"] = true; } if (SendDataKeys) { dataRouteValues = dataRouteValues.Concat(urlBuilder.GetDataKeys()); } foreach (var route in dataRouteValues) { RouteValues[route.RouteKey] = "<#=" + route.Name + "#>"; } state["url"] = urlBuilder.Url(this); return(state); }
private void AppendNumericSection(IHtmlNode container, GridPagerStyles style, IGridUrlBuilder urlBuilder, int currentPage, int pageCount) { if ((style & GridPagerStyles.Numeric) == GridPagerStyles.Numeric) { numericSectionBuilder.Create(urlBuilder, currentPage, pageCount).AppendTo(container); } }
public override IEnumerable <IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var factory = new GridButtonFactory(); var save = factory.CreateButton <GridLinkButtonBuilder>(ButtonType); save.CssClass += " " + UIPrimitives.Grid.SaveChanges; save.SpriteCssClass = "k-update"; save.Text = SaveText; save.HtmlAttributes = HtmlAttributes; //TODO: Implement command button image html attributes //save.ImageHtmlAttributes = ImageHtmlAttributes; save.Url = delegate { return("#"); }; var cancel = factory.CreateButton <GridLinkButtonBuilder>(ButtonType); cancel.CssClass += " " + UIPrimitives.Grid.CancelChanges; cancel.SpriteCssClass = "k-cancel"; cancel.Text = CancelText; cancel.HtmlAttributes = HtmlAttributes; //TODO: Implement command button image html attributes //cancel.ImageHtmlAttributes = ImageHtmlAttributes; cancel.Url = delegate { return("#"); }; return(new[] { save, cancel }); }
private void AppendNumericButtons(IGridUrlBuilder urlBuilder, int currentPage, int numericStart, IHtmlNode numericDiv, int numericEnd) { for (var page = numericStart; page <= numericEnd; page++) { buttonFactory.CreateButton(GridPagerButtonType.NumericLink, page != currentPage, GetUrl(urlBuilder, page), page.ToString(), page).AppendTo(numericDiv); } }
private void AppendPrevButtonsLink(int numericStart, IHtmlNode numericDiv, IGridUrlBuilder urlBuilder) { if (numericStart > 1) { buttonFactory.CreateButton(GridPagerButtonType.NumericLink, true, GetUrl(urlBuilder, numericStart - 1), "...", numericStart - 1).AppendTo(numericDiv); } }
private void AppendNumericSection(IHtmlNode container, IGridUrlBuilder urlBuilder, GridPagerData section) { if (section.Numeric) { numericSectionBuilder.Create(urlBuilder, section.Page, section.TotalPages, section.ButtonCount) .AppendTo(container); } }
private void AppendNumericButtons(IGridUrlBuilder urlBuilder, int currentPage, int numericStart, IHtmlNode numericDiv, int numericEnd) { for (var page = numericStart; page <= numericEnd; page++) { buttonFactory.CreateButton(GridPagerButtonType.NumericLink, page.ToString(), page != currentPage, GetUrl(urlBuilder, page)).AppendTo(numericDiv); } }
public override IEnumerable <IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var button = CreateButton <GridLinkButtonBuilder>(Text, CssClass()); button.Url = delegate { return(Encode(urlBuilder.Url(this))); }; return(new[] { button }); }
private void AppendNextButtonsLink(int pageCount, IHtmlNode numericDiv, int numericEnd, IGridUrlBuilder urlBuilder) { if (numericEnd < pageCount) { buttonFactory.CreateButton(GridPagerButtonType.NumericLink, "...", true, GetUrl(urlBuilder, numericEnd + 1)).AppendTo(numericDiv); } }
public IHtmlNode Create(IGridUrlBuilder urlBuilder, int currentPage, int pageCount) { var numericDiv = new HtmlElement("div").AddClass("t-numeric"); AppendContent(urlBuilder, numericDiv, pageCount, currentPage); return numericDiv; }
public IHtmlNode Create(IGridUrlBuilder urlBuilder, int currentPage, int pageCount) { var numericDiv = new HtmlElement("div").AddClass("t-numeric"); AppendContent(urlBuilder, numericDiv, pageCount, currentPage); return(numericDiv); }
private void AppendPrevButtonsLink(int numericStart, IHtmlNode numericDiv, IGridUrlBuilder urlBuilder) { if (numericStart > 1) { buttonFactory.CreateButton(GridPagerButtonType.NumericLink, "...", true, GetUrl(urlBuilder, numericStart - 1)).AppendTo(numericDiv); } }
public override IEnumerable<IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var button = CreateButton<GridLinkButtonBuilder>(Text, UIPrimitives.Grid.Select); button.SpriteCssClass = "k-select"; button.Url = urlBuilder.SelectUrl; return new[] { button }; }
public IHtmlNode Create(IGridUrlBuilder urlBuilder, int currentPage, int pageCount, int buttonCount) { numericLinkSize = buttonCount; var ul = new HtmlElement("ul").AddClass("k-pager-numbers k-reset"); AppendContent(urlBuilder, ul, pageCount, currentPage); return ul; }
public override IEnumerable <IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var button = CreateButton <GridLinkButtonBuilder>(Text, UIPrimitives.Grid.Select); button.SpriteCssClass = "k-select"; button.Url = urlBuilder.SelectUrl; return(new[] { button }); }
public IHtmlNode Create(IGridUrlBuilder urlBuilder, int currentPage, int pageCount, int buttonCount) { numericLinkSize = buttonCount; var ul = new HtmlElement("ul").AddClass("k-pager-numbers k-reset"); AppendContent(urlBuilder, ul, pageCount, currentPage); return(ul); }
private void AppendContent(IGridUrlBuilder urlBuilder, IHtmlNode numericDiv, int pageCount, int currentPage) { var numericStart = CalculateStartIndex(currentPage); var numericEnd = CalculateEndIndex(numericStart, pageCount); AppendPrevButtonsLink(numericStart, numericDiv, urlBuilder); AppendNumericButtons(urlBuilder, currentPage, numericStart, numericDiv, numericEnd); AppendNextButtonsLink(pageCount, numericDiv, numericEnd, urlBuilder); }
public override IDictionary<string, object> Serialize(IGridUrlBuilder urlBuilder) { var result = base.Serialize(urlBuilder); FluentDictionary.For(result) .Add("cancelText", CancelText, CancelText.HasValue) .Add("updateText", UpdateText, UpdateText.HasValue) .Add("insertText", InsertText, InsertText.HasValue); return result; }
private void AppendFirstPrevButtons(IHtmlNode container, GridPagerStyles style, IGridUrlBuilder urlBuilder, int currentPage) { if ((style & GridPagerStyles.NextPrevious) != GridPagerStyles.NextPrevious) return; buttonFactory.CreateButton(GridPagerButtonType.Icon, "first", currentPage > 1, GetUrl(urlBuilder, 1)).AppendTo(container); buttonFactory.CreateButton(GridPagerButtonType.Icon, "prev", currentPage > 1, GetUrl(urlBuilder, currentPage - 1)).AppendTo(container); }
private void AppendUngroupButton(IHtmlNode indicator, IGridUrlBuilder urlBuilder, List<GroupDescriptor> groups) { var button = new HtmlElement("a") .Attribute("href", urlBuilder.SelectUrl(GridUrlParameters.Group, GridDescriptorSerializer.Serialize(groups))) .AddClass(new[] { UIPrimitives.Button, UIPrimitives.ButtonIcon, UIPrimitives.ButtonBare }) .AppendTo(indicator); new HtmlElement("span") .AddClass(UIPrimitives.Icon, UIPrimitives.Icons.GroupDelete) .AppendTo(button); }
public override IEnumerable <IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var deleteButton = CreateButton <GridFormButtonBuilder>(Text, UIPrimitives.Grid.Delete); deleteButton.Url = urlBuilder.DeleteUrl; deleteButton.HtmlHelper = htmlHelper; deleteButton.SpriteCssClass = "k-delete"; return(new[] { deleteButton }); }
public virtual IDictionary <string, object> Serialize(IGridUrlBuilder urlBuilder) { var command = new Dictionary <string, object>(); FluentDictionary.For(command) .Add("name", Name) .Add("attr", HtmlAttributes.ToAttributeString(), () => HtmlAttributes.Any()) .Add("buttonType", ButtonType.ToString()) .Add("imageAttr", ImageHtmlAttributes.ToAttributeString(), () => ImageHtmlAttributes.Any()); return(command); }
private void AppendUngroupButton(IHtmlNode indicator, IGridUrlBuilder urlBuilder, List <GroupDescriptor> groups) { var button = new HtmlElement("a") .Attribute("href", urlBuilder.SelectUrl(GridUrlParameters.Group, GridDescriptorSerializer.Serialize(groups))) .AddClass(new[] { UIPrimitives.Button, UIPrimitives.ButtonIcon, UIPrimitives.ButtonBare }) .AppendTo(indicator); new HtmlElement("span") .AddClass(UIPrimitives.Icon, UIPrimitives.Icons.GroupDelete) .AppendTo(button); }
private void AppendNextLast(IHtmlNode container, GridPagerStyles style, IGridUrlBuilder urlBuilder, int currentPage, int pageCount) { if ((style & GridPagerStyles.NextPrevious) != GridPagerStyles.NextPrevious) return; buttonFactory.CreateButton(GridPagerButtonType.Icon, "next", currentPage < pageCount, GetUrl(urlBuilder, currentPage + 1)).AppendTo(container); buttonFactory.CreateButton(GridPagerButtonType.Icon, "last", currentPage < pageCount, GetUrl(urlBuilder, pageCount)).AppendTo(container); }
public override IEnumerable<IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var deleteButton = CreateButton<GridFormButtonBuilder>(Text, UIPrimitives.Grid.Delete); deleteButton.Url = urlBuilder.DeleteUrl; deleteButton.HtmlHelper = htmlHelper; deleteButton.SpriteCssClass = "k-delete"; return new[] { deleteButton }; }
public override IEnumerable <IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var editButton = CreateButton <GridLinkButtonBuilder>(Text, UIPrimitives.Grid.Edit); editButton.Url = urlBuilder.EditUrl; editButton.SpriteCssClass = "k-edit"; return(new[] { editButton }); }
public override IEnumerable<IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var editButton = CreateButton<GridLinkButtonBuilder>(Text, UIPrimitives.Grid.Edit); editButton.Url = urlBuilder.EditUrl; editButton.SpriteCssClass = "k-edit"; return new[] { editButton }; }
private void AppendNextLast(IHtmlNode container, GridPagerStyles style, IGridUrlBuilder urlBuilder, int currentPage, int pageCount) { if ((style & GridPagerStyles.NextPrevious) != GridPagerStyles.NextPrevious) { return; } buttonFactory.CreateButton(GridPagerButtonType.Icon, "next", currentPage < pageCount, GetUrl(urlBuilder, currentPage + 1)).AppendTo(container); buttonFactory.CreateButton(GridPagerButtonType.Icon, "last", currentPage < pageCount, GetUrl(urlBuilder, pageCount)).AppendTo(container); }
public virtual IDictionary <string, object> Serialize(IGridUrlBuilder urlBuilder) { var command = new Dictionary <string, object>(); FluentDictionary.For(command) .Add("name", Name) .Add("attr", HtmlAttributes.ToAttributeString(), HtmlAttributes.Any) .Add("buttonType", ButtonType.ToString()) .Add("text", Text, (System.Func <bool>)Text.HasValue); //TODO: Implement command button image html attributes //.Add("imageAttr", ImageHtmlAttributes.ToAttributeString(), ImageHtmlAttributes.Any); return(command); }
private void AppendFirstPrevButtons(IHtmlNode container, IGridUrlBuilder urlBuilder, GridPagerData section) { if (section.PreviousNext) { buttonFactory.CreateButton(GridPagerButtonType.Icon, section.Page > 1, GetUrl(urlBuilder, 1), "seek-w", 1, section.IsInClientTemplate) .Attribute("title", section.Messages.First) .AppendTo(container); buttonFactory.CreateButton(GridPagerButtonType.Icon, section.Page > 1, GetUrl(urlBuilder, section.Page - 1), "arrow-w", section.Page - 1, section.IsInClientTemplate) .Attribute("title", section.Messages.Previous) .AppendTo(container); } }
public override IEnumerable <IGridButtonBuilder> CreateDisplayButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var factory = new GridButtonFactory(); var button = factory.CreateButton <GridLinkButtonBuilder>(ButtonType); button.CssClass += " " + UIPrimitives.Grid.Add; button.SpriteCssClass = "k-add"; button.Text = Text; button.HtmlAttributes = HtmlAttributes; //TODO: Implement command button image html attributes //button.ImageHtmlAttributes = ImageHtmlAttributes; button.Url = urlBuilder.AddUrl; return(new[] { button }); }
public override IDictionary <string, object> Serialize(IGridUrlBuilder urlBuilder) { var result = base.Serialize(urlBuilder); var texts = new Dictionary <string, object>(); FluentDictionary.For(texts) .Add("cancel", CancelText, () => CancelText.HasValue() && CancelText != DefaultCancelText) .Add("update", UpdateText, () => UpdateText.HasValue() && UpdateText != DefaultUpdateText) .Add("edit", Text, () => Text.HasValue() && Text != DefaultEditText); if (texts.Any()) { result["text"] = texts; } return(result); }
private void AppendNextLast(IHtmlNode container, IGridUrlBuilder urlBuilder, GridPagerData section) { if (section.PreviousNext) { buttonFactory.CreateButton(GridPagerButtonType.Icon, section.Page < section.TotalPages, GetUrl(urlBuilder, section.Page + 1), "arrow-e", section.Page + 1, section.IsInClientTemplate) .Attribute("title", section.Messages.Next) .AppendTo(container); buttonFactory.CreateButton(GridPagerButtonType.Icon, section.Page < section.TotalPages, GetUrl(urlBuilder, section.TotalPages), "seek-e", section.TotalPages, section.IsInClientTemplate) .Attribute("title", section.Messages.Last) .AppendTo(container); } }
public override IEnumerable<IGridButtonBuilder> CreateInsertButtons(IGridLocalization localization, IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var cancelButton = CreateButton<GridLinkButtonBuilder>(localization.Cancel, UIPrimitives.Grid.Cancel); cancelButton.Url = urlBuilder.CancelUrl; cancelButton.SpriteCssClass = "t-cancel"; var insertButton = CreateButton<GridButtonBuilder>(localization.Insert, UIPrimitives.Grid.Insert); insertButton.SpriteCssClass = "t-insert"; insertButton.HtmlHelper = htmlHelper; return new IGridButtonBuilder[] { insertButton, cancelButton }; }
public override IEnumerable<IGridButtonBuilder> CreateEditButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var cancelButton = CreateButton<GridLinkButtonBuilder>(CancelText, UIPrimitives.Grid.Cancel); cancelButton.Url = urlBuilder.CancelUrl; cancelButton.SpriteCssClass = "k-cancel"; var updateButton = CreateButton<GridButtonBuilder>(UpdateText, UIPrimitives.Grid.Update); updateButton.ShouldAppendDataKeys = true; updateButton.SpriteCssClass = "k-update"; updateButton.HtmlHelper = htmlHelper; return new IGridButtonBuilder[] { updateButton, cancelButton }; }
public override IEnumerable <IGridButtonBuilder> CreateInsertButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var cancelButton = CreateButton <GridLinkButtonBuilder>(CancelText, UIPrimitives.Grid.Cancel); cancelButton.Url = urlBuilder.CancelUrl; cancelButton.SpriteCssClass = "k-cancel"; var insertButton = CreateButton <GridButtonBuilder>(UpdateText, UIPrimitives.Grid.Insert); insertButton.SpriteCssClass = "k-insert"; insertButton.HtmlHelper = htmlHelper; return(new IGridButtonBuilder[] { insertButton, cancelButton }); }
public override IEnumerable <IGridButtonBuilder> CreateEditButtons(IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { var cancelButton = CreateButton <GridLinkButtonBuilder>(CancelText, UIPrimitives.Grid.Cancel); cancelButton.Url = urlBuilder.CancelUrl; cancelButton.SpriteCssClass = "k-cancel"; var updateButton = CreateButton <GridButtonBuilder>(UpdateText, UIPrimitives.Grid.Update); updateButton.ShouldAppendDataKeys = true; updateButton.SpriteCssClass = "k-update"; updateButton.HtmlHelper = htmlHelper; return(new IGridButtonBuilder[] { updateButton, cancelButton }); }
private void AppendSortLink(IHtmlNode indicator, GroupDescriptor group, List<GroupDescriptor> groups, IGridUrlBuilder urlBuilder, Func<string, string> title) { group.CycleSortDirection(); var a = new HtmlElement("a") .AddClass(UIPrimitives.Link) .Attribute("href", urlBuilder.SelectUrl(GridUrlParameters.Group, GridDescriptorSerializer.Serialize(groups))) .AppendTo(indicator); group.CycleSortDirection(); new HtmlElement("span") .AddClass(UIPrimitives.Icon) .ToggleClass("k-si-arrow-n", group.SortDirection == ListSortDirection.Ascending) .ToggleClass("k-si-arrow-s", group.SortDirection == ListSortDirection.Descending) .AppendTo(a); groups.Remove(group); new TextNode(title(group.Member)).AppendTo(a); }
private string GetUrl(IGridUrlBuilder urlBuilder, int pageIndex) { return(urlBuilder.SelectUrl(GridUrlParameters.Page, pageIndex)); }
private string GetUrl(IGridUrlBuilder urlBuilder, int pageIndex) { return urlBuilder.SelectUrl(GridUrlParameters.Page, pageIndex); }
private void AppendNextButtonsLink(int pageCount, IHtmlNode numericDiv, int numericEnd, IGridUrlBuilder urlBuilder) { if (numericEnd < pageCount) { buttonFactory.CreateButton(GridPagerButtonType.NumericLink, true, GetUrl(urlBuilder, numericEnd + 1), "...", numericEnd + 1).AppendTo(numericDiv); } }
private void AppendSortLink(IHtmlNode indicator, GroupDescriptor group, List <GroupDescriptor> groups, IGridUrlBuilder urlBuilder, Func <string, string> title) { group.CycleSortDirection(); var a = new HtmlElement("a") .AddClass(UIPrimitives.Link) .Attribute("href", urlBuilder.SelectUrl(GridUrlParameters.Group, GridDescriptorSerializer.Serialize(groups))) .AppendTo(indicator); group.CycleSortDirection(); new HtmlElement("span") .AddClass(UIPrimitives.Icon) .ToggleClass("k-si-arrow-n", group.SortDirection == ListSortDirection.Ascending) .ToggleClass("k-si-arrow-s", group.SortDirection == ListSortDirection.Descending) .AppendTo(a); groups.Remove(group); new TextNode(title(group.Member)).AppendTo(a); }
private string GetUrl(IGridUrlBuilder urlBuilder, int page) { return urlBuilder.SelectUrl(GridUrlParameters.CurrentPage, page); }
private void AppendFirstPrevButtons(IHtmlNode container, GridPagerStyles style, IGridUrlBuilder urlBuilder, int currentPage) { if ((style & GridPagerStyles.NextPrevious) != GridPagerStyles.NextPrevious) { return; } buttonFactory.CreateButton(GridPagerButtonType.Icon, "first", currentPage > 1, GetUrl(urlBuilder, 1)).AppendTo(container); buttonFactory.CreateButton(GridPagerButtonType.Icon, "prev", currentPage > 1, GetUrl(urlBuilder, currentPage - 1)).AppendTo(container); }
private string GetUrl(IGridUrlBuilder urlBuilder, int page) { return(urlBuilder.SelectUrl(GridUrlParameters.CurrentPage, page)); }
public override IEnumerable <IGridButtonBuilder> CreateEditButtons(IGridLocalization localization, IGridUrlBuilder urlBuilder, IGridHtmlHelper htmlHelper) { // TODO: Implement this method throw new NotImplementedException(); }
public override IDictionary<string, object> Serialize(IGridUrlBuilder urlBuilder) { var result = base.Serialize(urlBuilder); var texts = new Dictionary<string, object>(); FluentDictionary.For(texts) .Add("cancel", CancelText, () => CancelText.HasValue() && CancelText != DefaultCancelText) .Add("update", UpdateText, () => UpdateText.HasValue() && UpdateText != DefaultUpdateText) .Add("edit", Text, () => Text.HasValue() && Text != DefaultEditText); if (texts.Any()) { result["text"] = texts; } return result; }