Exemple #1
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                bool visible = _hfVisible.Value == "true";

                writer.AddAttribute("class", "grid-filter");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.Write("<header>");

                writer.AddAttribute(HtmlTextWriterAttribute.Class, visible ? "btn btn-link btn-xs btn-filter-toggle is-open" : "btn btn-link btn-xs btn-filter-toggle");
                writer.RenderBeginTag(HtmlTextWriterTag.Button);
                writer.Write("Filter Options");

                _hfVisible.RenderControl(writer);

                writer.AddAttribute("class", visible ? "btn-icon fa fa-chevron-up toggle-filter" : "btn-icon fa fa-chevron-down toggle-filter");
                writer.RenderBeginTag(HtmlTextWriterTag.I);
                writer.RenderEndTag();

                writer.RenderEndTag();

                writer.Write("</header>");

                // Filter Overview
                writer.AddAttribute("class", "grid-filter-overview");
                if (visible)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
                }

                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                var filterDisplay = new Dictionary <string, string>();
                AdditionalFilterDisplay.ToList().ForEach(d => filterDisplay.Add(d.Key, d.Value));

                List <UserPreference> userPreferencesForFilter;
                if (this.UserPreferenceKeyPrefix.IsNotNullOrWhiteSpace())
                {
                    userPreferencesForFilter = _userPreferences.Where(a => a.Key.StartsWith(this.UserPreferenceKeyPrefix)).ToList();
                }
                else
                {
                    userPreferencesForFilter = _userPreferences;
                }

                var nonEmptyValues = userPreferencesForFilter.Where(v => !string.IsNullOrEmpty(v.Value)).ToList();
                if (nonEmptyValues.Count > 0)
                {
                    foreach (var userPreference in nonEmptyValues)
                    {
                        DisplayFilterValueArgs args = new DisplayFilterValueArgs(userPreference, this.UserPreferenceKeyPrefix);
                        if (DisplayFilterValue != null)
                        {
                            DisplayFilterValue(this, args);
                        }

                        if (!string.IsNullOrWhiteSpace(args.Value))
                        {
                            filterDisplay.AddOrReplace(args.Name, args.Value);
                        }
                    }
                }

                if (filterDisplay.Any())
                {
                    writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);
                    writer.WriteLine("<h4>Enabled Filters</h4>");
                    writer.WriteLine("<div class='row'>");

                    // Calculate the filter column size by dividing the Bootstrap 12-column layout into equal widths.
                    int columnSize = (this.FieldLayout == GridFilterLayoutSpecifier.TwoColumnLayout) ? 6 : 4;

                    foreach (var filterNameValue in filterDisplay.OrderBy(f => f.Key))
                    {
                        writer.WriteLine("<div class='col-md-{0}'>", columnSize);
                        writer.WriteLine(string.Format("<label>{0}:</label> {1}", filterNameValue.Key, filterNameValue.Value));
                        writer.WriteLine("</div>");
                    }
                    writer.WriteLine("</div>");
                    writer.RenderEndTag();
                }

                writer.RenderEndTag();

                // Filter Entry
                writer.AddAttribute("class", "grid-filter-entry");
                if (!visible)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
                }
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);

                writer.Write("<h4>Filter Options</h4>");

                base.RenderControl(writer);

                writer.RenderEndTag();

                _lbFilter.RenderControl(writer);

                if (ClearFilterClick != null)
                {
                    writer.WriteLine();
                    _lbClearFilter.RenderControl(writer);
                }

                writer.RenderEndTag();

                writer.RenderEndTag();

                if (_isDirty)
                {
                    SaveUserPreferences();
                    _isDirty = false;
                }

                RegisterJavaScript();
            }
        }
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                bool visible = _hfVisible.Value == "true";

                writer.AddAttribute("class", "grid-filter");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.Write("<header>");

                writer.RenderBeginTag(HtmlTextWriterTag.H3);
                writer.Write("Filter Options");
                writer.RenderEndTag();

                _hfVisible.RenderControl(writer);

                writer.AddAttribute("class", visible ? "fa fa-chevron-up toggle-filter" : "fa fa-chevron-down toggle-filter");
                writer.RenderBeginTag(HtmlTextWriterTag.I);
                writer.RenderEndTag();

                writer.Write("</header>");

                // Filter Overview
                writer.AddAttribute("class", "grid-filter-overview");
                if (visible)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
                }
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                var           nonEmptyValues = _userPreferences.Where(v => !string.IsNullOrEmpty(v.Value)).ToList();
                StringBuilder filtersHtml    = new StringBuilder();
                if (nonEmptyValues.Count > 0)
                {
                    foreach (var userPreference in nonEmptyValues)
                    {
                        DisplayFilterValueArgs args = new DisplayFilterValueArgs(userPreference);
                        if (DisplayFilterValue != null)
                        {
                            DisplayFilterValue(this, args);
                        }

                        if (!string.IsNullOrWhiteSpace(args.Value))
                        {
                            filtersHtml.AppendLine("<div>");
                            filtersHtml.AppendLine(string.Format("<label>{0}:</label> {1}", args.Name, args.Value));
                            filtersHtml.AppendLine("</div>");
                        }
                    }
                }

                if (filtersHtml.Length > 0)
                {
                    writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);
                    writer.Write("<h4>Enabled Filters</h4>");
                    writer.Write(filtersHtml.ToString());
                    writer.RenderEndTag();
                }

                writer.RenderEndTag();

                // Filter Entry
                writer.AddAttribute("class", "grid-filter-entry");
                if (!visible)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
                }
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);

                writer.Write("<h4>Filter Options</h4>");

                base.RenderControl(writer);

                writer.RenderEndTag();

                _lbFilter.RenderControl(writer);

                writer.RenderEndTag();

                writer.RenderEndTag();

                if (_isDirty)
                {
                    SaveUserPreferences();
                    _isDirty = false;
                }

                RegisterJavaScript();
            }
        }
Exemple #3
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl( HtmlTextWriter writer )
        {
            if ( this.Visible )
            {
                bool visible = _hfVisible.Value == "true";

                writer.AddAttribute( "class", "grid-filter" );
                writer.RenderBeginTag( HtmlTextWriterTag.Div );

                writer.Write( "<header>" );

                writer.RenderBeginTag( HtmlTextWriterTag.H3 );
                writer.Write( "Filter Options" );
                writer.RenderEndTag();

                _hfVisible.RenderControl( writer );

                writer.AddAttribute( "class", visible ? "fa fa-chevron-up toggle-filter" : "fa fa-chevron-down toggle-filter" );
                writer.RenderBeginTag( HtmlTextWriterTag.I );
                writer.RenderEndTag();

                writer.Write( "</header>" );

                // Filter Overview
                writer.AddAttribute( "class", "grid-filter-overview" );
                if ( visible )
                {
                    writer.AddStyleAttribute( HtmlTextWriterStyle.Display, "none" );
                }
                writer.RenderBeginTag( HtmlTextWriterTag.Div );

                var nonEmptyValues = _userPreferences.Where( v => !string.IsNullOrEmpty( v.Value ) ).ToList();
                StringBuilder filtersHtml = new StringBuilder();
                if ( nonEmptyValues.Count > 0 )
                {
                    foreach ( var userPreference in nonEmptyValues )
                    {
                        DisplayFilterValueArgs args = new DisplayFilterValueArgs( userPreference.Key, userPreference.Value );
                        if ( DisplayFilterValue != null )
                        {
                            DisplayFilterValue( this, args );
                        }

                        if ( !string.IsNullOrWhiteSpace( args.Value ) )
                        {

                            filtersHtml.AppendLine( "<div>" );
                            filtersHtml.AppendLine( string.Format( "<label>{0}:</label> {1}", args.Key, args.Value ) );
                            filtersHtml.AppendLine( "</div>" );
                        }
                    }
                }

                if ( filtersHtml.Length > 0 )
                {
                    writer.RenderBeginTag( HtmlTextWriterTag.Fieldset );
                    writer.Write( "<h4>Enabled Filters</h4>" );
                    writer.Write( filtersHtml.ToString() );
                    writer.RenderEndTag();
                }

                writer.RenderEndTag();

                // Filter Entry
                writer.AddAttribute( "class", "grid-filter-entry" );
                if ( !visible )
                {
                    writer.AddStyleAttribute( HtmlTextWriterStyle.Display, "none" );
                }
                writer.RenderBeginTag( HtmlTextWriterTag.Div );

                writer.RenderBeginTag( HtmlTextWriterTag.Fieldset );

                writer.Write( "<h4>Filter Options</h4>" );

                base.RenderControl( writer );

                writer.RenderEndTag();

                _lbFilter.RenderControl( writer );

                writer.RenderEndTag();

                writer.RenderEndTag();

                if ( _isDirty )
                {
                    SaveUserPreferences();
                    _isDirty = false;
                }

                RegisterJavaScript();
            }
        }
Exemple #4
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                bool visible = _hfVisible.Value == "true";

                writer.AddAttribute("class", "grid-filter");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.Write("<header>");

                writer.RenderBeginTag(HtmlTextWriterTag.H3);
                writer.Write("Filter Options");
                writer.RenderEndTag();

                _hfVisible.RenderControl(writer);

                writer.AddAttribute("class", visible ? "fa fa-chevron-up toggle-filter" : "fa fa-chevron-down toggle-filter");
                writer.RenderBeginTag(HtmlTextWriterTag.I);
                writer.RenderEndTag();

                writer.Write("</header>");

                // Filter Overview
                writer.AddAttribute("class", "grid-filter-overview");
                if (visible)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
                }

                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                var filterDisplay = new Dictionary <string, string>();
                AdditionalFilterDisplay.ToList().ForEach(d => filterDisplay.Add(d.Key, d.Value));

                var nonEmptyValues = _userPreferences.Where(v => !string.IsNullOrEmpty(v.Value)).ToList();
                if (nonEmptyValues.Count > 0)
                {
                    foreach (var userPreference in nonEmptyValues)
                    {
                        DisplayFilterValueArgs args = new DisplayFilterValueArgs(userPreference);
                        if (DisplayFilterValue != null)
                        {
                            DisplayFilterValue(this, args);
                        }

                        if (!string.IsNullOrWhiteSpace(args.Value))
                        {
                            filterDisplay.AddOrIgnore(args.Name, args.Value);
                        }
                    }
                }

                if (filterDisplay.Any())
                {
                    writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);
                    writer.WriteLine("<h4>Enabled Filters</h4>");
                    writer.WriteLine("<div class='row'>");
                    foreach (var filterNameValue in filterDisplay.OrderBy(f => f.Key))
                    {
                        writer.WriteLine("<div class='col-md-3'>");
                        writer.WriteLine(string.Format("<label>{0}:</label> {1}", filterNameValue.Key, filterNameValue.Value));
                        writer.WriteLine("</div>");
                    }
                    writer.WriteLine("</div>");
                    writer.RenderEndTag();
                }

                writer.RenderEndTag();

                // Filter Entry
                writer.AddAttribute("class", "grid-filter-entry");
                if (!visible)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
                }
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);

                writer.Write("<h4>Filter Options</h4>");

                base.RenderControl(writer);

                writer.RenderEndTag();

                _lbFilter.RenderControl(writer);

                if (ClearFilterClick != null)
                {
                    writer.WriteLine();
                    _lbClearFilter.RenderControl(writer);
                }

                writer.RenderEndTag();

                writer.RenderEndTag();

                if (_isDirty)
                {
                    SaveUserPreferences();
                    _isDirty = false;
                }

                RegisterJavaScript();
            }
        }
Exemple #5
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl( HtmlTextWriter writer )
        {
            if ( this.Visible )
            {
                bool visible = _hfVisible.Value == "true";

                writer.AddAttribute( "class", "grid-filter" );
                writer.RenderBeginTag( HtmlTextWriterTag.Div );

                writer.Write( "<header>" );

                writer.RenderBeginTag( HtmlTextWriterTag.H3 );
                writer.Write( "Filter Options" );
                writer.RenderEndTag();

                _hfVisible.RenderControl( writer );

                writer.AddAttribute( "class", visible ? "fa fa-chevron-up toggle-filter" : "fa fa-chevron-down toggle-filter" );
                writer.RenderBeginTag( HtmlTextWriterTag.I );
                writer.RenderEndTag();

                writer.Write( "</header>" );

                // Filter Overview
                writer.AddAttribute( "class", "grid-filter-overview" );
                if ( visible )
                {
                    writer.AddStyleAttribute( HtmlTextWriterStyle.Display, "none" );
                }

                writer.RenderBeginTag( HtmlTextWriterTag.Div );

                var filterDisplay = new Dictionary<string, string>();
                AdditionalFilterDisplay.ToList().ForEach( d => filterDisplay.Add( d.Key, d.Value ) );

                var nonEmptyValues = _userPreferences.Where( v => !string.IsNullOrEmpty( v.Value ) ).ToList();
                if ( nonEmptyValues.Count > 0 )
                {
                    foreach ( var userPreference in nonEmptyValues )
                    {
                        DisplayFilterValueArgs args = new DisplayFilterValueArgs( userPreference );
                        if ( DisplayFilterValue != null )
                        {
                            DisplayFilterValue( this, args );
                        }

                        if ( !string.IsNullOrWhiteSpace( args.Value ) )
                        {
                            filterDisplay.AddOrIgnore( args.Name, args.Value );
                        }
                    }
                }

                if ( filterDisplay.Any() )
                {
                    writer.RenderBeginTag( HtmlTextWriterTag.Fieldset );
                    writer.WriteLine( "<h4>Enabled Filters</h4>" );
                    writer.WriteLine( "<div class='row'>" );
                    foreach( var filterNameValue in filterDisplay.OrderBy( f => f.Key ) )
                    {
                        writer.WriteLine( "<div class='col-md-3'>" );
                        writer.WriteLine( string.Format( "<label>{0}:</label> {1}", filterNameValue.Key, filterNameValue.Value ) );
                        writer.WriteLine( "</div>" );
                    }
                    writer.WriteLine( "</div>" );
                    writer.RenderEndTag();
                }

                writer.RenderEndTag();

                // Filter Entry
                writer.AddAttribute( "class", "grid-filter-entry" );
                if ( !visible )
                {
                    writer.AddStyleAttribute( HtmlTextWriterStyle.Display, "none" );
                }
                writer.RenderBeginTag( HtmlTextWriterTag.Div );

                writer.RenderBeginTag( HtmlTextWriterTag.Fieldset );

                writer.Write( "<h4>Filter Options</h4>" );

                base.RenderControl( writer );

                writer.RenderEndTag();

                _lbFilter.RenderControl( writer );

                if ( ClearFilterClick != null )
                {
                    writer.WriteLine();
                    _lbClearFilter.RenderControl( writer );
                }

                writer.RenderEndTag();

                writer.RenderEndTag();

                if ( _isDirty )
                {
                    SaveUserPreferences();
                    _isDirty = false;
                }

                RegisterJavaScript();
            }
        }
Exemple #6
0
        /// <summary>
        /// Sends server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object, which writes the content to be rendered on the client.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the server control content.</param>
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            writer.AddAttribute("class", "grid-filter");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.Write("<header>");

            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.AddAttribute("class", "icon-filter");
            writer.RenderBeginTag(HtmlTextWriterTag.I);

            writer.RenderEndTag();

            writer.RenderBeginTag(HtmlTextWriterTag.H3);
            writer.Write("Filter Options");
            writer.RenderEndTag();

            writer.AddAttribute("class", "icon-chevron-down toggle-filter");
            writer.RenderBeginTag(HtmlTextWriterTag.I);
            writer.RenderEndTag();

            writer.RenderEndTag();
            writer.Write("</header>");

            // Filter Overview
            writer.AddAttribute("class", "grid-filter-overview");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            var nonEmptyValues = _userValues.Where(v => !string.IsNullOrEmpty(v.Value)).ToList();

            if (nonEmptyValues.Count > 0)
            {
                writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);

                writer.RenderBeginTag(HtmlTextWriterTag.Legend);
                writer.Write("<h4>Enabled Filters</h4>");
                writer.RenderEndTag();

                foreach (var userValue in nonEmptyValues)
                {
                    DisplayFilterValueArgs args = new DisplayFilterValueArgs(userValue.Key, userValue.Value);
                    if (DisplayFilterValue != null)
                    {
                        DisplayFilterValue(this, args);
                    }
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    writer.Write(string.Format("{0}: {1}", args.Key, args.Value));
                    writer.RenderEndTag();
                }

                writer.RenderEndTag();
            }

            writer.RenderEndTag();

            // Filter Entry
            writer.AddAttribute("class", "grid-filter-entry");
            writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);

            writer.RenderBeginTag(HtmlTextWriterTag.Legend);
            writer.Write("<h4>Filter Options</h4>");
            writer.RenderEndTag();

            base.Render(writer);

            writer.RenderEndTag();

            lbFilter.RenderControl(writer);

            writer.RenderEndTag();

            writer.RenderEndTag();

            SaveUserValues();
        }