protected override void RenderContents(IHtmlWriter writer, IDotvvmRequestContext context) { AddItemCssClass(writer, context); AddKnockoutDisabledCssDataBind(writer, context, "PagingOptions().IsFirstPage()"); GoToFirstPageButton.Render(writer, context); AddItemCssClass(writer, context); AddKnockoutDisabledCssDataBind(writer, context, "PagingOptions().IsFirstPage()"); GoToPreviousPageButton.Render(writer, context); // render template writer.WriteKnockoutForeachComment("PagingOptions().NearPageIndexes"); // render page number NumberButtonsPlaceHolder.Children.Clear(); var li = CreatePageNumberButton(writer, context); li.Render(writer, context); writer.WriteKnockoutDataBindEndComment(); AddItemCssClass(writer, context); AddKnockoutDisabledCssDataBind(writer, context, "PagingOptions().IsLastPage()"); GoToNextPageButton.Render(writer, context); AddItemCssClass(writer, context); AddKnockoutDisabledCssDataBind(writer, context, "PagingOptions().IsLastPage()"); GoToLastPageButton.Render(writer, context); }
protected override void RenderContents(IHtmlWriter writer, IDotvvmRequestContext context) { writer.AddKnockoutDataBind("css", "{ 'disabled': IsFirstPage() }"); firstLi.Render(writer, context); writer.AddKnockoutDataBind("css", "{ 'disabled': IsFirstPage() }"); previousLi.Render(writer, context); // render template writer.WriteKnockoutForeachComment("NearPageIndexes"); // render page number numbersPlaceHolder.Children.Clear(); HtmlGenericControl li; if (!RenderLinkForCurrentPage) { writer.AddKnockoutDataBind("visible", "$data == $parent.PageIndex()"); writer.AddKnockoutDataBind("css", "{'active': $data == $parent.PageIndex()}"); li = new HtmlGenericControl("li"); var literal = new Literal(); literal.DataContext = 0; literal.SetBinding(Literal.TextProperty, new ValueBindingExpression(vm => ((int)vm[0] + 1).ToString(), "$data + 1")); li.Children.Add(literal); numbersPlaceHolder.Children.Add(li); li.Render(writer, context); writer.AddKnockoutDataBind("visible", "$data != $parent.PageIndex()"); } writer.AddKnockoutDataBind("css", "{ 'active': $data == $parent.PageIndex()}"); li = new HtmlGenericControl("li"); li.SetValue(Internal.PathFragmentProperty, "NearPageIndexes[$index]"); var link = new LinkButton(); li.Children.Add(link); link.SetBinding(ButtonBase.TextProperty, new ValueBindingExpression(vm => ((int)vm[0] + 1).ToString(), "$data + 1")); link.SetBinding(ButtonBase.ClickProperty, GoToThisPageCommand); object enabledValue = HasValueBinding(EnabledProperty) ? (object)new ValueBindingExpression(h => GetValueBinding(EnabledProperty).Evaluate(this, EnabledProperty), "$pagerEnabled") : Enabled; if (!true.Equals(enabledValue)) { link.SetValue(LinkButton.EnabledProperty, enabledValue); } numbersPlaceHolder.Children.Add(li); li.Render(writer, context); writer.WriteKnockoutDataBindEndComment(); writer.AddKnockoutDataBind("css", "{ 'disabled': IsLastPage() }"); nextLi.Render(writer, context); writer.AddKnockoutDataBind("css", "{ 'disabled': IsLastPage() }"); lastLi.Render(writer, context); }
protected override void RenderBeginTag(IHtmlWriter writer, RenderContext context) { TagName = WrapperTagName; if (!RenderOnServer) { var javascriptDataSourceExpression = GetForeachDataBindJavascriptExpression(); if (RenderWrapperTag) { writer.AddKnockoutForeachDataBind(javascriptDataSourceExpression); } else { writer.WriteKnockoutForeachComment(javascriptDataSourceExpression); } } if (RenderWrapperTag) { base.RenderBeginTag(writer, context); } }
protected override void RenderContents(IHtmlWriter writer, IDotvvmRequestContext context) { writer.AddKnockoutDataBind("css", "{ 'disabled': PagingOptions().IsFirstPage() }"); firstLi.Render(writer, context); writer.AddKnockoutDataBind("css", "{ 'disabled': PagingOptions().IsFirstPage() }"); previousLi.Render(writer, context); // render template writer.WriteKnockoutForeachComment("PagingOptions().NearPageIndexes"); // render page number numbersPlaceHolder.Children.Clear(); HtmlGenericControl li; var currentPageTextContext = DataContextStack.Create(typeof(int), numbersPlaceHolder.GetDataContextType()); var currentPageTextBinding = ValueBindingExpression.CreateBinding(bindingService.WithoutInitialization(), vm => ((int)vm[0] + 1).ToString(), currentPageTextJs, currentPageTextContext); if (!RenderLinkForCurrentPage) { writer.AddKnockoutDataBind("visible", "$data == $parent.PagingOptions().PageIndex()"); writer.AddKnockoutDataBind("css", "{'active': $data == $parent.PagingOptions().PageIndex()}"); li = new HtmlGenericControl("li"); var literal = new Literal(); literal.DataContext = 0; literal.SetDataContextType(currentPageTextContext); literal.SetBinding(Literal.TextProperty, currentPageTextBinding); li.Children.Add(literal); numbersPlaceHolder.Children.Add(li); li.Render(writer, context); writer.AddKnockoutDataBind("visible", "$data != $parent.PagingOptions().PageIndex()"); } writer.AddKnockoutDataBind("css", "{ 'active': $data == $parent.PagingOptions().PageIndex()}"); li = new HtmlGenericControl("li"); li.SetValue(Internal.PathFragmentProperty, "PagingOptions.NearPageIndexes[$index]"); var link = new LinkButton(); li.Children.Add(link); link.SetDataContextType(currentPageTextContext); link.SetBinding(ButtonBase.TextProperty, currentPageTextBinding); link.SetBinding(ButtonBase.ClickProperty, commonBindings.GoToThisPageCommand); object enabledValue = HasValueBinding(EnabledProperty) ? (object)ValueBindingExpression.CreateBinding(bindingService.WithoutInitialization(), h => GetValueBinding(EnabledProperty).Evaluate(this), new JsSymbolicParameter(JavascriptTranslator.KnockoutContextParameter).Member("$pagerEnabled")) : Enabled; if (!true.Equals(enabledValue)) { link.SetValue(LinkButton.EnabledProperty, enabledValue); } numbersPlaceHolder.Children.Add(li); li.Render(writer, context); writer.WriteKnockoutDataBindEndComment(); writer.AddKnockoutDataBind("css", "{ 'disabled': PagingOptions().IsLastPage() }"); nextLi.Render(writer, context); writer.AddKnockoutDataBind("css", "{ 'disabled': PagingOptions().IsLastPage() }"); lastLi.Render(writer, context); }
protected override void RenderBeginTag(IHtmlWriter writer, IDotvvmRequestContext context) { TagName = WrapperTagName; if (!RenderOnServer) { var javascriptDataSourceExpression = GetForeachDataBindJavascriptExpression(); if (RenderWrapperTag) { writer.AddKnockoutForeachDataBind(javascriptDataSourceExpression); } else { writer.WriteKnockoutForeachComment(javascriptDataSourceExpression); } } if (RenderWrapperTag) { base.RenderBeginTag(writer, context); } }
protected override void RenderContents(IHtmlWriter writer, IDotvvmRequestContext context) { writer.AddKnockoutDataBind("css", "{ 'disabled': IsFirstPage() }"); firstLi.Render(writer, context); writer.AddKnockoutDataBind("css", "{ 'disabled': IsFirstPage() }"); previousLi.Render(writer, context); // render template writer.WriteKnockoutForeachComment("NearPageIndexes"); // render page number numbersPlaceHolder.Children.Clear(); HtmlGenericControl li; if (!RenderLinkForCurrentPage) { writer.AddKnockoutDataBind("visible", "$data == $parent.PageIndex()"); writer.AddKnockoutDataBind("css", "{'active': $data == $parent.PageIndex()}"); li = new HtmlGenericControl("li"); var literal = new Literal(); literal.DataContext = 0; literal.SetBinding(Literal.TextProperty, new ValueBindingExpression(vm => ((int)vm[0] + 1).ToString(), "$data + 1")); li.Children.Add(literal); numbersPlaceHolder.Children.Add(li); li.Render(writer, context); writer.AddKnockoutDataBind("visible", "$data != $parent.PageIndex()"); } writer.AddKnockoutDataBind("css", "{ 'active': $data == $parent.PageIndex()}"); li = new HtmlGenericControl("li"); li.SetValue(Internal.PathFragmentProperty, "NearPageIndexes[$index]"); var link = new LinkButton(); li.Children.Add(link); link.SetBinding(ButtonBase.TextProperty, new ValueBindingExpression(vm => ((int)vm[0] + 1).ToString(), "$data + 1")); link.SetBinding(ButtonBase.ClickProperty, GoToThisPageCommand); object enabledValue = HasValueBinding(EnabledProperty) ? (object)new ValueBindingExpression(h => GetValueBinding(EnabledProperty).Evaluate(this, EnabledProperty), "$pagerEnabled") : Enabled; if (!true.Equals(enabledValue)) link.SetValue(LinkButton.EnabledProperty, enabledValue); numbersPlaceHolder.Children.Add(li); li.Render(writer, context); writer.WriteKnockoutDataBindEndComment(); writer.AddKnockoutDataBind("css", "{ 'disabled': IsLastPage() }"); nextLi.Render(writer, context); writer.AddKnockoutDataBind("css", "{ 'disabled': IsLastPage() }"); lastLi.Render(writer, context); }
protected override void RenderContents(IHtmlWriter writer, RenderContext context) { writer.AddKnockoutDataBind("css", "{ 'disabled': IsFirstPage() }"); firstLi.Render(writer, context); writer.AddKnockoutDataBind("css", "{ 'disabled': IsFirstPage() }"); previousLi.Render(writer, context); // render template writer.WriteKnockoutForeachComment("NearPageIndexes"); // render page number numbersPlaceholder.Children.Clear(); HtmlGenericControl li; if (!RenderLinkForCurrentPage) { writer.AddKnockoutDataBind("visible", "$data == $parent.PageIndex()"); li = new HtmlGenericControl("li"); var literal = new Literal(); literal.SetBinding(Literal.TextProperty, new ValueBindingExpression(vm => (int)vm[0] + 1, "$data + 1")); li.Children.Add(literal); numbersPlaceholder.Children.Add(li); li.Render(writer, context); writer.AddKnockoutDataBind("visible", "$data != $parent.PageIndex()"); } writer.AddKnockoutDataBind("css", "{ 'active': $data == $parent.PageIndex()}"); li = new HtmlGenericControl("li"); li.SetValue(Internal.PathFragmentProperty, "NearPageIndexes[$index]"); var link = new LinkButton(); li.Children.Add(link); link.SetBinding(ButtonBase.TextProperty, new ValueBindingExpression(vm => (int)vm[0] + 1, "$data + 1")); link.SetBinding(ButtonBase.ClickProperty, GoToThisPageCommand); numbersPlaceholder.Children.Add(li); li.Render(writer, context); writer.WriteKnockoutDataBindEndComment(); writer.AddKnockoutDataBind("css", "{ 'disabled': IsLastPage() }"); nextLi.Render(writer, context); writer.AddKnockoutDataBind("css", "{ 'disabled': IsLastPage() }"); lastLi.Render(writer, context); }