Example #1
0
        public override void WriteHtml(HtmlWriter w)
        {
            base.WriteHtml(w);
            HtmlSerializeHelper<HtmlSimpleQuestion>.WriteRootElementAttributes(w, this);

            w.AddAttribute(HtmlAttribute.Name, Control.SingleCase ? "gen:single" : "gen:multy");
            w.RenderBeginTag(HtmlTag.Div);
            w.RenderBeginTag(HtmlTag.P);
            w.Write(Control.Question.HttpEncode());
            w.RenderEndTag();

            foreach (var tb in Control.textBoxesList)
            {
                w.AddAttribute(HtmlAttribute.Type, Control.SingleCase ? "radio" : "checkbox");
                if (Control.SingleCase)
                    w.AddAttribute(HtmlAttribute.Name, Name);
                w.RenderBeginTag(HtmlTag.Input);
                w.RenderEndTag();

                w.RenderBeginTag(HtmlTag.Span);
                w.Write(tb.Text.HttpEncode());
                w.RenderEndTag();

                w.RenderBeginTag(HtmlTag.Br);
                w.RenderEndTag();
            }
            w.RenderEndTag();
        }
Example #2
0
 public override void WriteHtml(HtmlWriter w)
 {
     base.WriteHtml(w);
     HtmlSerializeHelper<HtmlLabel>.WriteRootElementAttributes(w, this);
     w.RenderBeginTag(HtmlTag.Span);
     w.Write((Control.Text).HttpEncode().Replace(Environment.NewLine, "<br />"));
     w.RenderEndTag();
 }
Example #3
0
 public override void WriteHtml(HtmlWriter w)
 {
     base.WriteHtml(w);
     HtmlSerializeHelper<HtmlCodeSnippet>.WriteRootElementAttributes(w, this);
     w.AddAttribute(HtmlAttribute.Name, "snippet");
     w.AddStyleAttribute(HtmlStyleAttribute.Overflow, "auto");
     w.RenderBeginTag(HtmlTag.Div);
     w.Write(((CodeSnippet)Control).HtmlCode);
     w.RenderEndTag();
 }
Example #4
0
        /// <summary>
        /// Renders the specified writer.
        /// </summary>
        /// <param name="badge">The badge.</param>
        /// <param name="writer">The writer.</param>
        public override void Render(BadgeCache badge, System.Web.UI.HtmlTextWriter writer)
        {
            if (Person == null)
            {
                return;
            }

            // Grab the DISC Scores
            bool isValidDiscScore = true;
            int  discStrength     = 0;

            int?[] discScores = new int?[] { Person.GetAttributeValue("NaturalD").AsIntegerOrNull(), Person.GetAttributeValue("NaturalI").AsIntegerOrNull(), Person.GetAttributeValue("NaturalS").AsIntegerOrNull(), Person.GetAttributeValue("NaturalC").AsIntegerOrNull() };

            // Validate the DISC Scores, find the strength
            for (int i = 0; i < discScores.Length; i++)
            {
                // Does the scores have values?
                if (!discScores[i].HasValue)
                {
                    isValidDiscScore = false;
                }
                else
                {
                    // Are the scores valid values?
                    if ((discScores[i].Value < 0) || (discScores[i].Value > MAX))
                    {
                        isValidDiscScore = false;
                    }
                    else
                    {
                        if (discScores[i].Value > discScores[discStrength].Value)
                        {
                            discStrength = i;
                        }
                    }
                }
            }

            // Create the badge
            if (isValidDiscScore)
            {
                // Find the DISC Personality Type / Strength
                String description     = string.Empty;
                string personalityType = Person.GetAttributeValue("PersonalityType");
                if (!string.IsNullOrEmpty(personalityType))
                {
                    var personalityValue = DefinedTypeCache.Get(Rock.SystemGuid.DefinedType.DISC_RESULTS_TYPE.AsGuid()).DefinedValues.Where(v => v.Value == personalityType).FirstOrDefault();
                    if (personalityValue != null)
                    {
                        description = personalityValue.Description;
                    }
                }

                // create url for link to details if configured
                string detailPageUrl = string.Empty;
                if (!String.IsNullOrEmpty(GetAttributeValue(badge, "DISCResultDetail")))
                {
                    int pageId = PageCache.Get(Guid.Parse(GetAttributeValue(badge, "DISCResultDetail"))).Id;
                    detailPageUrl = System.Web.VirtualPathUtility.ToAbsolute(String.Format("~/page/{0}?Person={1}", pageId, Person.UrlEncodedKey));
                    writer.Write("<a href='{0}'>", detailPageUrl);
                }

                //Badge HTML
                writer.Write(String.Format("<div class='badge badge-disc badge-id-{0}' data-toggle='tooltip' data-original-title='{1}'>", badge.Id, description));
                writer.Write("<ul class='badge-disc-chart list-unstyled'>");
                writer.Write(string.Format("<li class='badge-disc-d {1}' title='D'><span style='height:{0}%'></span></li>", Math.Floor(( double )(( double )discScores[0].Value / ( double )MAX) * 100), (discStrength == 0) ? "badge-disc-primary" : String.Empty));
                writer.Write(string.Format("<li class='badge-disc-i {1}' title='I'><span style='height:{0}%'></span></li>", Math.Floor(( double )(( double )discScores[1].Value / ( double )MAX) * 100), (discStrength == 1) ? "badge-disc-primary" : String.Empty));
                writer.Write(string.Format("<li class='badge-disc-s {1}' title='S'><span style='height:{0}%'></span></li>", Math.Floor(( double )(( double )discScores[2].Value / ( double )MAX) * 100), (discStrength == 2) ? "badge-disc-primary" : String.Empty));
                writer.Write(string.Format("<li class='badge-disc-c {1}' title='C'><span style='height:{0}%'></span></li>", Math.Floor(( double )(( double )discScores[3].Value / ( double )MAX) * 100), (discStrength == 3) ? "badge-disc-primary" : String.Empty));
                writer.Write("</ul></div>");

                if (!String.IsNullOrEmpty(detailPageUrl))
                {
                    writer.Write("</a>");
                }
            }
            else
            {
                // check for recent DISC request
                DateTime?lastRequestDate = Person.GetAttributeValue("LastDiscRequestDate").AsDateTime();

                bool recentRequest = lastRequestDate.HasValue && lastRequestDate.Value > (RockDateTime.Now.AddDays(-30));

                if (recentRequest)
                {
                    writer.Write(String.Format("<div class='badge badge-disc badge-id-{0}' data-toggle='tooltip' data-original-title='A DISC request was made on {1}'>", badge.Id, lastRequestDate.Value.ToShortDateString()));
                    writer.Write("<ul class='badge-disc-chart list-unstyled'>");
                    writer.Write(string.Format("<li class='badge-disc-d badge-disc-disabled' title='D'><span style='height:{0}%'></span></li>", 80));
                    writer.Write(string.Format("<li class='badge-disc-i badge-disc-disabled' title='I'><span style='height:{0}%'></span></li>", 20));
                    writer.Write(string.Format("<li class='badge-disc-s badge-disc-disabled' title='S'><span style='height:{0}%'></span></li>", 60));
                    writer.Write(string.Format("<li class='badge-disc-c badge-disc-disabled' title='C'><span style='height:{0}%'></span></li>", 10));
                    writer.Write("</ul><div class='requested'>R</div></div>");
                }
            }
        }
Example #5
0
        /// <summary>
        /// Renders the specified writer.
        /// </summary>
        /// <param name="badge">The badge.</param>
        /// <param name="writer">The writer.</param>
        public override void Render(BadgeCache badge, System.Web.UI.HtmlTextWriter writer)
        {
            if (Person == null)
            {
                return;
            }

            var streakTypeCache = GetStreakTypeCache(badge);

            if (streakTypeCache == null)
            {
                return;
            }

            var timeUnit  = string.Empty;
            var timeUnits = string.Empty;

            switch (streakTypeCache.OccurrenceFrequency)
            {
            case StreakOccurrenceFrequency.Daily:
                timeUnit  = "day";
                timeUnits = "days";
                break;

            case StreakOccurrenceFrequency.Weekly:
                timeUnit  = "week";
                timeUnits = "weeks";
                break;

            case StreakOccurrenceFrequency.Monthly:
                timeUnit  = "month";
                timeUnits = "months";
                break;

            case StreakOccurrenceFrequency.Yearly:
                timeUnit  = "year";
                timeUnits = "years";
                break;

            default:
                throw new NotImplementedException(string.Format("StreakOccurrenceFrequency '{0}' is not implemented", streakTypeCache.OccurrenceFrequency));
            }

            var unitsToDisplay = GetAttributeValue(badge, AttributeKey.BarCount).AsIntegerOrNull() ?? AttributeDefault.BarCount;
            var doAnimateBars  = GetAttributeValue(badge, AttributeKey.AnimateBars).AsBooleanOrNull() ?? AttributeDefault.AnimateBars;

            var animateClass = doAnimateBars ? " animate" : string.Empty;

            var tooltip = $"{Person.NickName.ToPossessive()} engagement in the streak '{streakTypeCache.Name}' for the last {unitsToDisplay} {timeUnits}. Each bar is a {timeUnit}.";

            var chartHtml      = $"<div class='badge badge-attendance{animateClass} badge-id-{badge.Id}' data-toggle='tooltip' data-original-title='{tooltip.EncodeHtml()}'></div>";
            var linkedPageGuid = GetAttributeValue(badge, AttributeKey.StreakDetailPage).AsGuidOrNull();
            var linkedPageId   = linkedPageGuid.HasValue ? PageCache.GetId(linkedPageGuid.Value) : null;

            if (!linkedPageId.HasValue)
            {
                writer.Write($"{chartHtml}");
            }
            else
            {
                var link = $"/page/{linkedPageId.Value}?StreakTypeId={streakTypeCache.Id}&PersonId={Person.Id}";
                writer.Write($@"<a href=""{link}"">{chartHtml}</a>");
            }
        }
Example #6
0
 public void Render(System.Web.UI.HtmlTextWriter writer)
 {
     writer.Write(_literalHtml);
 }
Example #7
0
        internal static string CreateNewPostButton(Grid grid)
        {
            if (grid.AllowNew)
            {
                foreach (Column column in grid.MasterTable.Columns)
                    if (column.ColumnType == ColumnType.SystemColumn &&
                        ((SystemColumn) column).SystemColumnType == Enums.SystemColumn.NewRecordLink)
                    {
                        if (column.Visibility == Visibility.None)
                            return string.Empty;
                        if (((SystemColumn) column).Html != null)
                            return
                                Buttons.TextButtonControl(grid, ((SystemColumn) column).Html, "NewRecordClick",
                                                          new string[] {},
                                                          grid.GetSystemMessageClass("NewRecord", "wgnewrecord"));
                        break;
                    }

                GridPart customNewRecord = GridPart.GetControl(grid, Enums.GridPart.NewRecord);
                if (customNewRecord != null)
                {
                    StringBuilder builder = new StringBuilder();
                    StringWriter theStringWriter = new StringWriter(builder);
                    System.Web.UI.HtmlTextWriter theHtmlWriter = new System.Web.UI.HtmlTextWriter(theStringWriter);
                    string html = customNewRecord.Html ?? grid.GetSystemMessage("NewRecord");
                    theHtmlWriter.Write(Buttons.TextButtonControl(grid, html, "NewRecordClick", new string[] {},
                                                                  grid.GetSystemMessageClass("NewRecord", "wgnewrecord")));
                    customNewRecord.m_InternalHtml = builder.ToString();
                }
                else
                    return Buttons.TextButtonControl(grid, grid.GetSystemMessage("NewRecord"), "NewRecordClick",
                                                     new string[] {},
                                                     grid.GetSystemMessageClass("NewRecord", "wgnewrecord"));
            }
            return string.Empty;
        }
Example #8
0
        internal static string CreateUpdateRowsButton(Grid grid)
        {
            foreach (Column column in grid.MasterTable.Columns)
            {
                if (column.Visibility != Visibility.Grid)
                    continue;
                if (column.ColumnType != ColumnType.SystemColumn ||
                    ((SystemColumn) column).SystemColumnType != Enums.SystemColumn.UpdateRecordsLink) continue;
                string html = ((SystemColumn) column).Html;

                if (string.IsNullOrEmpty(html))
                    continue;
                return Buttons.TextButtonControl(grid, html, "UpdateRowsClick", new string[] {},
                                                 grid.GetSystemMessageClass("NewRecord", "wgnewrecord"));
            }

            GridPart customUpdateRecords = GridPart.GetControl(grid, Enums.GridPart.UpdateRecords);

            if (customUpdateRecords != null)
            {
                StringBuilder builder = new StringBuilder();
                StringWriter theStringWriter = new StringWriter(builder);
                System.Web.UI.HtmlTextWriter theHtmlWriter = new System.Web.UI.HtmlTextWriter(theStringWriter);
                string html = customUpdateRecords.Html ?? grid.GetSystemMessage("UpdateRows");
                theHtmlWriter.Write(Buttons.TextButtonControl(grid, html, "UpdateRowsClick", new string[] { },
                                          grid.GetSystemMessageClass("UpdateRows", "wgupdaterecords"),null,string.Format("{0}_wgupdaterecords", grid.ID))
                    );

                customUpdateRecords.m_InternalHtml = builder.ToString();
                return null;
            }
            return Buttons.TextButtonControl(grid, grid.GetSystemMessage("UpdateRows"), "UpdateRowsClick",
                                             new string[] {},
                                             grid.GetSystemMessageClass("UpdateRows", "wgupdaterecords"), null, string.Format("{0}_wgupdaterecords", grid.ID));
        }
		public void SaveHtmlIndex (int page_num)
		{
			System.IO.StreamWriter stream = System.IO.File.CreateText (SubdirPath (IndexPath (page_num)));
			System.Web.UI.HtmlTextWriter writer = new System.Web.UI.HtmlTextWriter (stream);

			//writer.Indent = 4;

			//writer.Write ("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
			writer.WriteLine ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
			writer.AddAttribute ("xmlns", "http://www.w3.org/1999/xhtml");
			writer.AddAttribute ("xml:lang", this.Language);
			writer.RenderBeginTag ("html");
			WriteHeader (writer);

			writer.AddAttribute ("onload", "checkForTheme()");
			writer.RenderBeginTag ("body");



			writer.AddAttribute ("class", "container1");
			writer.RenderBeginTag ("div");

			writer.AddAttribute ("class", "header");
			writer.RenderBeginTag ("div");

			writer.AddAttribute ("id", "title");
			writer.RenderBeginTag ("div");
			writer.Write (gallery_name);
			writer.RenderEndTag (); //title div

			writer.AddAttribute ("class", "navi");
			writer.RenderBeginTag ("div");

			if (exportTags) {
				// link to all tags
				writer.AddAttribute ("class", "navipage");
				writer.RenderBeginTag ("div");

				writer.AddAttribute ("href", TagsIndexPath ());
				writer.RenderBeginTag ("a");
				writer.Write ("Tags");
				writer.RenderEndTag (); //a

				writer.RenderEndTag (); //navipage
				// end link to all tags
			}

			writer.AddAttribute ("class", "navilabel");
			writer.RenderBeginTag ("div");
			writer.Write (Catalog.GetString ("Page:"));
			writer.RenderEndTag (); //pages div

			int i;
			for (i = 0; i < PageCount; i++) {
				writer.AddAttribute ("class", i == page_num ? "navipage-current" : "navipage");
				writer.RenderBeginTag ("div");

				writer.AddAttribute ("href", IndexPath (i));
				writer.RenderBeginTag ("a");
				writer.Write (IndexTitle (i));
				writer.RenderEndTag (); //a

				writer.RenderEndTag (); //navipage
			}
			writer.RenderEndTag (); //navi
			writer.RenderEndTag (); //header

			writer.AddAttribute ("class", "thumbs");
			writer.RenderBeginTag ("div");

			int start = page_num * perpage;
			int end = Math.Min (start + perpage, collection.Count);
			for (i = start; i < end; i++) {
				writer.AddAttribute ("href", PhotoIndexPath (i));
				writer.RenderBeginTag ("a");

				writer.AddAttribute  ("src", PhotoThumbPath (i));
				writer.AddAttribute  ("alt", "#");
				writer.RenderBeginTag ("img");
				writer.RenderEndTag ();

				writer.RenderEndTag (); //a
			}

			writer.RenderEndTag (); //thumbs

			writer.AddAttribute ("id", "gallery_description");
			writer.RenderBeginTag ("div");
			writer.Write (description);
			writer.RenderEndTag (); //description

			WriteStyleSelectionBox (writer);

			writer.RenderEndTag (); //container1

			WriteFooter (writer);

			writer.RenderEndTag (); //body
			writer.RenderEndTag (); //html

			writer.Close ();
			stream.Close ();
		}
Example #10
0
        public void SaveTagIndex(string tag, int page_num)
        {
            System.IO.StreamWriter stream = System.IO.File.CreateText (SubdirPath (TagIndexPath (tag, page_num)));
            System.Web.UI.HtmlTextWriter writer = new System.Web.UI.HtmlTextWriter (stream);

            writer.WriteLine ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
            writer.AddAttribute ("xmlns", "http://www.w3.org/1999/xhtml");
            writer.AddAttribute ("xml:lang", this.Language);
            writer.RenderBeginTag ("html");
            string titleExtension = ": " + tag;
            WriteHeader (writer, titleExtension);

            writer.AddAttribute ("onload", "checkForTheme()");
            writer.RenderBeginTag ("body");

            writer.AddAttribute ("class", "container1");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("class", "header");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("id", "title");
            writer.RenderBeginTag ("div");
            writer.Write (GalleryName + titleExtension);
            writer.RenderEndTag (); //title div

            writer.AddAttribute ("class", "navi");
            writer.RenderBeginTag ("div");

            // link to all photos
            writer.AddAttribute ("class", "navipage");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("href", IndexPath (0));
            writer.RenderBeginTag ("a");
            writer.Write ("Index");
            writer.RenderEndTag (); //a

            writer.RenderEndTag (); //navipage
            // end link to all photos

            // link to all tags
            writer.AddAttribute ("class", "navipage");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("href", TagsIndexPath ());
            writer.RenderBeginTag ("a");
            writer.Write ("Tags");
            writer.RenderEndTag (); //a

            writer.RenderEndTag (); //navipage
            // end link to all tags

            writer.AddAttribute ("class", "navilabel");
            writer.RenderBeginTag ("div");
            writer.Write (Catalog.GetString ("Page:"));
            writer.RenderEndTag (); //pages div

            int i;
            for (i = 0; i < TagPageCount (tag); i++) {
                writer.AddAttribute ("class", i == page_num ? "navipage-current" : "navipage");
                writer.RenderBeginTag ("div");

                writer.AddAttribute ("href", TagIndexPath (tag, i));
                writer.RenderBeginTag ("a");
                writer.Write (IndexTitle (i));
                writer.RenderEndTag (); //a

                writer.RenderEndTag (); //navipage
            }
            writer.RenderEndTag (); //navi
            writer.RenderEndTag (); //header

            writer.AddAttribute ("class", "thumbs");
            writer.RenderBeginTag ("div");

            int start = page_num * perpage;
            List<int> tagSet = tagSets [tag];
            int end = Math.Min (start + perpage, tagSet.Count);
            for (i = start; i < end; i++) {
                writer.AddAttribute ("href", PhotoIndexPath ((int) tagSet [i]));
                writer.RenderBeginTag ("a");

                writer.AddAttribute  ("src", PhotoThumbPath ((int) tagSet [i]));
                writer.AddAttribute  ("alt", "#");
                writer.RenderBeginTag ("img");
                writer.RenderEndTag ();

                writer.RenderEndTag (); //a
            }

            writer.RenderEndTag (); //thumbs

            writer.AddAttribute ("id", "gallery_description");
            writer.RenderBeginTag ("div");
            writer.Write (Description);
            writer.RenderEndTag (); //description

            WriteStyleSelectionBox (writer);

            writer.RenderEndTag (); //container1

            WriteFooter (writer);

            writer.RenderEndTag (); //body
            writer.RenderEndTag (); //html

            writer.Close ();
            stream.Close ();
        }
Example #11
0
        protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
        {
            ListItemCollection items = this.Items;
            int    count             = items.Count;
            string tag;
            string optgroupLabel;

            if (count > 0)
            {
                bool   flag         = false;
                string prevOptGroup = null;
                for (int i = 0; i <= count - 1; i++)
                {
                    tag           = OptionTag;
                    optgroupLabel = null;
                    ListItem item = items[i];
                    if (item.Enabled)
                    {
                        if (item.Attributes != null && item.Attributes.Count > 0 && item.Attributes[OptionGroupTag] != null)
                        {
                            optgroupLabel = item.Attributes[OptionGroupTag];
                            if (prevOptGroup != optgroupLabel)
                            {
                                if (prevOptGroup != null)
                                {
                                    writer.WriteEndTag(OptionGroupTag);
                                }

                                writer.WriteBeginTag(OptionGroupTag);
                                if (!string.IsNullOrEmpty(optgroupLabel))
                                {
                                    writer.WriteAttribute("label", optgroupLabel);
                                }

                                writer.Write('>');
                            }

                            item.Attributes.Remove(OptionGroupTag);
                            prevOptGroup = optgroupLabel;
                        }
                        else
                        {
                            if (prevOptGroup != null)
                            {
                                writer.WriteEndTag(OptionGroupTag);
                            }

                            prevOptGroup = null;
                        }

                        writer.WriteBeginTag(tag);
                        if (item.Selected)
                        {
                            if (flag)
                            {
                                this.VerifyMultiSelect();
                            }

                            flag = true;
                            writer.WriteAttribute("selected", "selected");
                        }

                        writer.WriteAttribute("value", item.Value, true);
                        if (item.Attributes != null && item.Attributes.Count > 0)
                        {
                            item.Attributes.Render(writer);
                        }

                        if (optgroupLabel != null)
                        {
                            item.Attributes.Add(OptionGroupTag, optgroupLabel);
                        }

                        if (this.Page != null)
                        {
                            this.Page.ClientScript.RegisterForEventValidation(this.UniqueID, item.Value);
                        }

                        writer.Write('>');
                        System.Web.HttpUtility.HtmlEncode(item.Text, writer);
                        writer.WriteEndTag(tag);
                        writer.WriteLine();
                        if (i == count - 1)
                        {
                            if (prevOptGroup != null)
                            {
                                writer.WriteEndTag(OptionGroupTag);
                            }
                        }
                    }
                }
            }
        }
Example #12
0
        internal override void RenderLabelView(WebGridHtmlWriter writer, RowCell cell)
        {
            if (cell == null)
                return;
            switch (SystemColumnType)
            {
                case Enums.SystemColumn.PagerColumn:
                    if (Grid.RecordCount > Grid.PageSize)
                        return;
                    cell.Row.m_Table.m_Grid.PagerSettings.SliderOperation = System.Web.UI.WebControls.Orientation.Vertical;
                    writer.Write(cell.Row.m_Table.m_Grid.PagerSettings.GetPager);
                    cell.Row.m_Table.m_Grid.PagerSettings.PagerType = PagerType.None;
                    break;
                case Enums.SystemColumn.SelectColumn:
                    writer.Write(
                       SelectableRows.GetItemCheckbox(Grid, cell.Row.PrimaryKeyValues, string.Empty,
                                                      Grid.ColorToHtml(Grid.SelectRowColor)));
                    break;

                case Enums.SystemColumn.DeleteColumn:
                    if (cell.Row.AllowDelete == false)
                    {
                        Visibility = Visibility.None;
                        Title = null;
                    }
                    else
                    {
                        string strConfirmDelete = Grid.GetSystemMessage("ConfirmDelete");
                        if (Html == null)
                            writer.Write(Buttons.Anchor(Grid, " ", "RecordDeleteClick",
                                                        new[] { cell.Row.PrimaryKeyValues }, strConfirmDelete,
                                                        Grid.GetSystemMessage("DeleteRow"), "ui-icon ui-icon-trash",
                                                        null, false));

                        else
                            writer.Write(
                                Buttons.TextButtonControl(Grid, Html, "RecordDeleteClick",
                                                          new[] { cell.Row.PrimaryKeyValues }, null,
                                                          strConfirmDelete));
                    }
                    break;
                case Enums.SystemColumn.SpacingColumn:
                    WidthColumnHeaderTitle = System.Web.UI.WebControls.Unit.Empty;
                    writer.Write("&nbsp;");
                    break;
                case Enums.SystemColumn.CopyColumn:
                    if (cell.Row.AllowCopy == false)
                    {
                        Visibility = Visibility.None;
                        Title = null;
                    }
                    else
                    {
                        const string strConfirmCopy = null;
                        if (Html == null)
                            writer.Write(

                                Buttons.Anchor(Grid, " ", "RecordCopyClick",
                                               new[] { string.Empty, cell.Row.PrimaryKeyValues }, strConfirmCopy,
                                               Grid.GetSystemMessage("CopyRow"), "ui-icon ui-icon-copy",
                                               null, false));

                        else
                            writer.Write(
                                Buttons.TextButtonControl(Grid, Html, "RecordCopyClick",
                                                          new[] { string.Empty, cell.Row.PrimaryKeyValues }, null,
                                                          strConfirmCopy));
                    }
                    break;
                case Enums.SystemColumn.NewRecordColumn:
                    if (Grid.AllowNew == false)
                    {
                        Visibility = Visibility.None;
                        Title = null;
                    }
                    else
                    {
                        if (Html == null)
                            writer.Write(
                                Buttons.TextButtonControl(Grid, Grid.GetSystemMessage("NewRecord"), "NewRecordClick",
                                                          new string[] { },
                                                          Grid.GetSystemMessageClass("NewRecord", "wgnewrecord")));
                        else
                            writer.Write(
                                Buttons.TextButtonControl(Grid, Html, "NewRecordClick", new string[] { },
                                                          Grid.GetSystemMessageClass("NewRecord", "wgnewrecord")));
                    }
                    break;
                case Enums.SystemColumn.UpdateGridRecordsColumn:
                    if (Grid.AllowUpdate == false)
                    {
                        Visibility = Visibility.None;
                        Title = null;
                    }
                    else
                    {
                        if (Html == null)
                            writer.Write(
                                Buttons.TextButtonControl(Grid, Grid.GetSystemMessage("UpdateRows"), "UpdateRowsClick",
                                                          new string[] { },
                                                          Grid.GetSystemMessageClass("UpdateRows", "wgUpdateRows")));
                        else
                            writer.Write(
                                Buttons.TextButtonControl(Grid, Html, "UpdateRowsClick", new string[] { },
                                                          Grid.GetSystemMessageClass("UpdateRows", "wgUpdateRows")));
                    }
                    break;
                case Enums.SystemColumn.UpdateGridRecordColumn:
                    if (Grid.AllowUpdate == false)
                    {
                        Visibility = Visibility.None;
                        Title = null;
                    }
                    else
                    {
                        StringBuilder sb = new StringBuilder();
                        StringWriter sw = new StringWriter(sb);
                        System.Web.UI.HtmlTextWriter textwriter = new System.Web.UI.HtmlTextWriter(sw);

                        if (Html == null)
                            textwriter.Write(Buttons.TextButtonControl(Grid, Grid.GetSystemMessage("UpdateRow"), "UpdateRowClick",
                                                                       new[] { cell.Row.PrimaryKeyValues },
                                                                       Grid.GetSystemMessageClass("UpdateRow", "wgUpdateRow")));
                        else
                            textwriter.Write(Buttons.TextButtonControl(Grid, Html, "UpdateRowClick",
                                                                       new[] { cell.Row.PrimaryKeyValues },
                                                                       Grid.GetSystemMessageClass("UpdateRow", "wgUpdateRow")));

                        writer.Write(sb);
                    }
                    break;
            }
            // base.RenderLabelView(writer,cell);
            RenderGrid(null, writer, cell);
        }
Example #13
0
 protected override void Render(System.Web.UI.HtmlTextWriter writer)
 {
     writer.Write(GetBreadCrumbs());
 }
Example #14
0
 /// <summary>
 /// Renders the control to the specified HTML writer.
 /// </summary>
 /// <param name="writer">The System.Web.UI.HtmlTextWriter object that receives the control content.</param>
 protected override void Render(System.Web.UI.HtmlTextWriter writer)
 {
     writer.Write(GenerateLikeButton());
 }
Example #15
0
        /// <summary>
        /// Renders the specified writer.
        /// </summary>
        /// <param name="badge">The badge.</param>
        /// <param name="writer">The writer.</param>
        public override void Render(BadgeCache badge, System.Web.UI.HtmlTextWriter writer)
        {
            if (Person == null)
            {
                return;
            }

            var streakTypeCache = GetStreakTypeCache(badge);

            if (streakTypeCache == null)
            {
                return;
            }

            var isDaily   = streakTypeCache.OccurrenceFrequency == StreakOccurrenceFrequency.Daily;
            var timeUnit  = isDaily ? "day" : "week";
            var timeUnits = isDaily ? "days" : "weeks";

            var minBarHeight   = GetAttributeValue(badge, AttributeKey.MinBarHeight).AsIntegerOrNull() ?? AttributeDefault.MinBarHeight;
            var unitsToDisplay = GetAttributeValue(badge, AttributeKey.BarCount).AsIntegerOrNull() ?? AttributeDefault.BarCount;
            var doAnimateBars  = GetAttributeValue(badge, AttributeKey.AnimateBars).AsBooleanOrNull() ?? AttributeDefault.AnimateBars;

            var animateClass = doAnimateBars ? " animate" : string.Empty;

            var tooltip = $"{Person.NickName.ToPossessive().EncodeHtml()} attendance for the last {unitsToDisplay} {timeUnits}. Each bar is a {timeUnit}.";

            var chartHtml = $"<div class='badge badge-attendance{animateClass} badge-id-{badge.Id}' data-toggle='tooltip' data-original-title='{tooltip}'></div>";

            var script = $@"
<script>
    Sys.Application.add_load(function () {{
        $.ajax({{
                type: 'GET',
                url: Rock.settings.get('baseUrl') + 'api/StreakTypes/RecentEngagement/{streakTypeCache.Id}/{Person.Id}?unitCount={unitsToDisplay}' ,
                statusCode: {{
                    200: function (data, status, xhr) {{
                            var chartHtml = ['<ul class=\'attendance-chart list-unstyled\'>'];

                            if (data) {{
                                for(var i = data.length - 1; i >= 0; i--) {{
                                    var occurrenceEngagement = data[i];
                                    var isBitSet = occurrenceEngagement && occurrenceEngagement.HasEngagement;
                                    var title = occurrenceEngagement ? new Date(occurrenceEngagement.DateTime).toLocaleDateString() : '';
                                    var barHeight = isBitSet ? 100 : {minBarHeight};                                
                                    chartHtml.push('<li title=""' + title + '""><span style=\'height: ' + barHeight + '%\'></span></li>');
                                }}
                            }}

                            chartHtml.push('</ul>');
                            $('.badge-attendance.badge-id-{badge.Id}').html(chartHtml.join(''));

                        }}
                }},
        }});
    }});
</script>";

            var linkedPageGuid = GetAttributeValue(badge, AttributeKey.StreakDetailPage).AsGuidOrNull();
            var linkedPageId   = linkedPageGuid.HasValue ? PageCache.GetId(linkedPageGuid.Value) : null;

            if (!linkedPageId.HasValue)
            {
                writer.Write($"{chartHtml}{script}");
            }
            else
            {
                var link = $"/page/{linkedPageId.Value}?StreakTypeId={streakTypeCache.Id}&PersonId={Person.Id}";
                writer.Write($@"<a href=""{link}"">{chartHtml}</a>{script}");
            }
        }
Example #16
0
        /// <summary>
        /// Renders the specified writer.
        /// </summary>
        /// <param name="badge">The badge.</param>
        /// <param name="writer">The writer.</param>
        public override void Render(BadgeCache badge, System.Web.UI.HtmlTextWriter writer)
        {
            if (Person == null)
            {
                return;
            }

            Guid?groupTypeGuid = GetAttributeValue(badge, "GroupType").AsGuidOrNull();

            if (groupTypeGuid.HasValue)
            {
                var lavaTemplate = this.GetAttributeValue(badge, "LavaTemplate");
                var slidingDateRangeDelimitedValues = this.GetAttributeValue(badge, "DateRange");
                var dateRange        = SlidingDateRangePicker.CalculateDateRangeFromDelimitedValues(slidingDateRangeDelimitedValues);
                var dateRangeSummary = SlidingDateRangePicker.FormatDelimitedValues(slidingDateRangeDelimitedValues);

                var mergeFields = Lava.LavaHelper.GetCommonMergeFields(null, null, new Lava.CommonMergeFieldsOptions {
                    GetLegacyGlobalMergeFields = false
                });
                mergeFields.Add("Person", this.Person);
                using (var rockContext = new RockContext())
                {
                    var groupType   = GroupTypeCache.Get(groupTypeGuid.Value);
                    int groupTypeId = groupType?.Id ?? 0;
                    mergeFields.Add("GroupType", groupType);
                    mergeFields.Add("Badge", badge);
                    mergeFields.Add("DateRange", new { Dates = dateRange, Summary = dateRangeSummary });

                    var personAliasIds = Person.Aliases.Select(a => a.Id).ToList();

                    var attendanceQuery = new AttendanceService(rockContext)
                                          .Queryable()
                                          .Where(a =>
                                                 a.Occurrence.Group != null &&
                                                 a.Occurrence.Group.GroupTypeId == groupTypeId &&
                                                 a.DidAttend == true &&
                                                 personAliasIds.Contains(a.PersonAliasId.Value));

                    if (dateRange.Start.HasValue)
                    {
                        attendanceQuery = attendanceQuery.Where(a => a.StartDateTime >= dateRange.Start.Value);
                    }

                    if (dateRange.End.HasValue)
                    {
                        attendanceQuery = attendanceQuery.Where(a => a.StartDateTime < dateRange.End.Value);
                    }

                    var attendanceDateTimes = attendanceQuery.Select(a => a.StartDateTime).ToList();

                    if (attendanceDateTimes.Any())
                    {
                        var attendanceResult = new
                        {
                            Count        = attendanceDateTimes.Count(),
                            LastDateTime = attendanceDateTimes.Max()
                        };

                        mergeFields.Add("Attendance", attendanceResult);
                    }

                    string output = lavaTemplate.ResolveMergeFields(mergeFields);

                    writer.Write(output);
                }
            }
        }
Example #17
0
 public override void RenderEndTag(System.Web.UI.HtmlTextWriter writer)
 {
     writer.Write("</div>");
     base.RenderEndTag(writer);
 }
Example #18
0
        /// <summary>
        /// Effectue le rendu du contrôle
        /// </summary>
        /// <param name="writer"></param>
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            if (_article == null)
            {
                return;
            }

            //ECommerceServer.Contexte.BreadCrumbItems

            ECommercePage pg = Page as ECommercePage;
            List <ContexteBreadCrumbItem> cur = GetContenuBreadCrumb(pg, _article);

            nbRendered = 0;

            writer.Write("<ul");
            if (!string.IsNullOrEmpty(CssClass))
            {
                writer.Write(" class='");
                writer.Write(CssClass);
                writer.Write("'");
            }
            if (Style != null && Style.Count > 0)
            {
                writer.Write(" style='");
                writer.Write(Style);
                writer.Write("'");
            }
            writer.Write(">");



            if (cur.Count == 0)
            {
                if (UsePageTitleIfEmpty && pg != null && !string.IsNullOrEmpty(pg.PageName))
                {
                    if (!string.IsNullOrEmpty(Header))
                    {
                        RenderHeader(writer);
                    }
                    if (pg != null && pg.TypePage != ECommercePageType.HomePage)
                    {
                        RenderHomeLink(writer, true);
                    }
                    RenderNonClickable(writer, pg.PageName, null);
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(Header))
                {
                    RenderHeader(writer);
                }
                if (pg != null && pg.TypePage != ECommercePageType.HomePage)
                {
                    RenderHomeLink(writer, true);
                }

                for (int i = 0; i < (cur.Count - 1); i++)
                {
                    RenderBreadCrumb(writer, cur[i]);
                }

                if (cur.Count > 0)
                {
                    RenderNonClickable(writer, cur[cur.Count - 1].Label, cur[cur.Count - 1].Url);
                }
            }
            writer.Write("</ul>");
        }
Example #19
0
        /// <summary>
        /// Renders the specified writer.
        /// </summary>
        /// <param name="badge">The badge.</param>
        /// <param name="writer">The writer.</param>
        public override void Render(PersonBadgeCache badge, System.Web.UI.HtmlTextWriter writer)
        {
            int minBarHeight    = GetAttributeValue(badge, "MinimumBarHeight").AsIntegerOrNull() ?? 2;
            int monthsToDisplay = GetAttributeValue(badge, "MonthsToDisplay").AsIntegerOrNull() ?? 24;

            string animateClass = string.Empty;

            if (GetAttributeValue(badge, "AnimateBars") == null || GetAttributeValue(badge, "AnimateBars").AsBoolean())
            {
                animateClass = " animate";
            }

            string tooltip       = string.Empty;
            var    groupTypeRole = Person.GetFamilyRole();

            if (groupTypeRole != null && groupTypeRole.Guid == SystemGuid.GroupRole.GROUPROLE_FAMILY_MEMBER_CHILD.AsGuid())
            {
                tooltip = $"{Person.NickName.ToPossessive().EncodeHtml()} attendance for the last 24 months. Each bar is a month.";
            }
            else
            {
                tooltip = "Family attendance for the last 24 months. Each bar is a month.";
            }

            writer.Write(String.Format("<div class='badge badge-attendance{0} badge-id-{1}' data-toggle='tooltip' data-original-title='{2}'>", animateClass, badge.Id, tooltip));

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

            writer.Write(String.Format(@"
                <script>
                    Sys.Application.add_load(function () {{
                        
                        var monthNames = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ];
                        
                        
                        $.ajax({{
                                type: 'GET',
                                url: Rock.settings.get('baseUrl') + 'api/PersonBadges/FamilyAttendance/{0}/{1}' ,
                                statusCode: {{
                                    200: function (data, status, xhr) {{
                                            var chartHtml = '<ul class=\'badge-attendance-chart list-unstyled\'>';
                                            $.each(data, function() {{
                                                var barHeight = (this.AttendanceCount / this.SundaysInMonth) * 100;
                                                if (barHeight < {2}) {{
                                                    barHeight = {2};
                                                }}
                                
                                                chartHtml += '<li title=\'' + monthNames[this.Month -1] + ' ' + this.Year +'\'><span style=\'height: ' + barHeight + '%\'></span></li>';                
                                            }});
                                            chartHtml += '</ul>';
                                            
                                            $('.badge-attendance.badge-id-{3}').html(chartHtml);

                                        }}
                                }},
                        }});
                    }});
                </script>
                
            ", Person.Id.ToString(), monthsToDisplay, minBarHeight, badge.Id));
        }
Example #20
0
 private void RenderNonClickable(System.Web.UI.HtmlTextWriter writer, string p, string url)
 {
     RenderSeparator(writer);
     writer.Write("<li  ");
     if (!string.IsNullOrEmpty(LastItemCssClass))
     {
         writer.Write("class='");
         writer.Write(LastItemCssClass);
         writer.Write("'");
     }
     writer.Write("><span >");
     writer.Write(Page.Server.HtmlEncode(p));
     writer.Write("</span>");
     if (!string.IsNullOrEmpty(url))
     {
         writer.Write("<span style='display:none' >");
         writer.Write(ResolveUrl(url));
         writer.Write("</span>");
     }
     writer.Write("</li>");
     nbRendered++;
 }
Example #21
0
        /// <summary>
        /// Renders the specified writer.
        /// </summary>
        /// <param name="badge">The badge.</param>
        /// <param name="writer">The writer.</param>
        public override void Render(PersonBadgeCache badge, System.Web.UI.HtmlTextWriter writer)
        {
            int?siteId = GetAttributeValue(badge, "Site").AsIntegerOrNull();

            if (siteId.HasValue)
            {
                var site = SiteCache.Get(siteId.Value);
                if (site != null)
                {
                    string siteName = site.Name;

                    //  create url for link to details
                    string detailPageUrl = string.Empty;

                    if (!String.IsNullOrEmpty(GetAttributeValue(badge, "PageViewDetails")))
                    {
                        int pageId = PageCache.Get(Guid.Parse(GetAttributeValue(badge, "PageViewDetails"))).Id;

                        // NOTE: Since this block shows a history of sites a person visited in Rock, use Person.Guid instead of Person.Id to reduce the risk of somebody manually editing the URL to see somebody else pageview history
                        detailPageUrl = System.Web.VirtualPathUtility.ToAbsolute($"~/page/{pageId}?PersonGuid={Person.Guid}&SiteId={siteId}");
                    }

                    writer.Write($"<div class='badge badge-lastvisitonsite badge-id-{badge.Id}' data-toggle='tooltip' data-original-title=''>");

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

                    writer.Write($@"
                <script>
                    Sys.Application.add_load(function () {{
                                                
                        $.ajax({{
                                type: 'GET',
                                url: Rock.settings.get('baseUrl') + 'api/PersonBadges/LastVisitOnSite/{Person.Id}/{siteId}' ,
                                statusCode: {{
                                    200: function (data, status, xhr) {{
                                        var badgeHtml = '';
                                        var daysSinceVisit = data;
                                        var cssClass = '';
                                        var linkUrl = '{detailPageUrl}';
                                        var badgeContent = '';
                                        var labelContent = '';
                                        var siteName = '{siteName}';

                                        if (daysSinceVisit >= 0 && daysSinceVisit < 1000) {{
        
                                            labelContent = 'It has been ' + daysSinceVisit + ' day(s) since the last visit to the ' + siteName + ' site.';                                    
        
                                            if (daysSinceVisit == 0) {{
                                                daysSinceVisit = 'Today';
                                                cssClass = 'today';
                                                labelContent = 'Visited the ' + siteName + ' site today.';
                                            }} else if (daysSinceVisit < 7) {{
                                                cssClass = 'very-recent';
                                            }} else if (daysSinceVisit < 21 ) {{
                                                cssClass = 'recent';
                                            }} else if (daysSinceVisit < 90 ) {{
                                                cssClass = 'moderate';
                                            }} else if (daysSinceVisit < 365 ) {{
                                                cssClass = 'not-recent';
                                            }} else {{
                                                cssClass = 'old';
                                            }}                                   
                                            
                                            if (linkUrl != '') {{
                                                badgeContent = '<a href=\'' + linkUrl + '\'><div class=\'badge-content ' + cssClass + '\'><i class=\'fa fa-desktop badge-icon\'></i><span class=\'duration\'>' + daysSinceVisit + '</span></div></a>';
                                            }} else {{
                                                badgeContent = '<div class=\'badge-content ' + cssClass + '\'><i class=\'fa fa-desktop badge-icon\'></i><span class=\'duration\'>' + daysSinceVisit + '</span></div>';
                                            }}

                                            $('.badge-lastvisitonsite.badge-id-{badge.Id}').html(badgeContent);
                                            $('.badge-lastvisitonsite.badge-id-{badge.Id}').attr('data-original-title', labelContent);
                                        }}
                                        
                                    }}
                                }},
                        }});
                    }});
                </script>
            ");
                }
            }
        }
Example #22
0
        public void SavePhotoHtmlIndex(int i)
        {
            System.IO.StreamWriter stream = System.IO.File.CreateText (SubdirPath (PhotoIndexPath (i)));
            System.Web.UI.HtmlTextWriter writer = new System.Web.UI.HtmlTextWriter (stream);

            //writer.Indent = 4;

            //writer.Write ("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
            writer.WriteLine ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
            writer.AddAttribute ("xmlns", "http://www.w3.org/1999/xhtml");
            writer.AddAttribute ("xml:lang", this.Language);
            writer.RenderBeginTag ("html");

            WriteHeader (writer);

            writer.AddAttribute ("onload", "checkForTheme()");
            writer.RenderBeginTag ("body");

            writer.AddAttribute ("class", "container1");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("class", "header");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("id", "title");
            writer.RenderBeginTag ("div");
            writer.Write (GalleryName);
            writer.RenderEndTag ();

            writer.AddAttribute ("class", "navi");
            writer.RenderBeginTag ("div");

            if (i > 0)
                // Abbreviation of previous
                WritePageNav (writer, "prev", PhotoIndexPath (i - 1), Catalog.GetString("Prev"));

            WritePageNav (writer, "index", IndexPath (i / perpage), Catalog.GetString("Index"));

            if (ExportTags)
                WritePageNav (writer, "tagpage", TagsIndexPath (), Catalog.GetString ("Tags"));

            if (i < Collection.Count -1)
                WritePageNav (writer, "next", PhotoIndexPath (i + 1), Catalog.GetString("Next"));

            writer.RenderEndTag (); //navi

            writer.RenderEndTag (); //header

            writer.AddAttribute ("class", "photo");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("href", PhotoOriginalPath (i));
            writer.RenderBeginTag ("a");

            writer.AddAttribute ("src", PhotoWebPath (i));
            writer.AddAttribute ("alt", "#");
            writer.AddAttribute ("class", "picture");
            writer.RenderBeginTag ("img");
            writer.RenderEndTag (); //img
            writer.RenderEndTag (); //a

            writer.AddAttribute ("id", "description");
            writer.RenderBeginTag ("div");
            writer.Write (Collection [i].Description);
            writer.RenderEndTag (); //div#description

            writer.RenderEndTag (); //div.photo

            WriteTagsLinks (writer, Collection [i].Tags);

            WriteStyleSelectionBox (writer);

            writer.RenderEndTag (); //container1

            WriteFooter (writer);

            writer.RenderEndTag (); //body
            writer.RenderEndTag (); // html

            writer.Close ();
            stream.Close ();
        }
Example #23
0
		/// <summary>
		/// Generates a label element.
		/// </summary>
		/// <param name="target">The object to get the value from and to be based on to create the element name.</param>
		/// <param name="label">Legend</param>
		/// <param name="attributes">Attributes for the FormHelper method and for the html element it generates</param>
		/// <returns>The generated form element</returns>
		public virtual string LabelFor(string target, string label, IDictionary attributes)
		{
			target = RewriteTargetIfWithinObjectScope(target);

			var id = CreateHtmlId(attributes, target);

			var sb = new StringBuilder();
			var sbWriter = new StringWriter(sb);
			var writer = new HtmlTextWriter(sbWriter);

			writer.WriteBeginTag("label");
			writer.WriteAttribute("for", id);
			var strAttributes = GetAttributes(attributes);
			if (strAttributes != String.Empty)
			{
				writer.Write(HtmlTextWriter.SpaceChar);
			}

			writer.Write(strAttributes);
			writer.Write(HtmlTextWriter.TagRightChar);
			writer.Write(label);
			writer.WriteEndTag("label");

			return sbWriter.ToString();
		}
Example #24
0
        public void SaveTagsPage()
        {
            System.IO.StreamWriter stream = System.IO.File.CreateText (SubdirPath (TagsIndexPath ()));
            System.Web.UI.HtmlTextWriter writer = new System.Web.UI.HtmlTextWriter (stream);

            writer.WriteLine ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
            writer.AddAttribute ("xmlns", "http://www.w3.org/1999/xhtml");
            writer.AddAttribute ("xml:lang", this.Language);
            writer.RenderBeginTag ("html");
            string titleExtension = " " + Catalog.GetString ("Tags");
            WriteHeader (writer, titleExtension);

            writer.AddAttribute ("onload", "checkForTheme()");
            writer.AddAttribute ("id", "tagpage");
            writer.RenderBeginTag ("body");

            writer.AddAttribute ("class", "container1");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("class", "header");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("id", "title");
            writer.RenderBeginTag ("div");
            writer.Write (GalleryName + titleExtension);
            writer.RenderEndTag (); //title div

            writer.AddAttribute ("class", "navi");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("class", "navipage");
            writer.RenderBeginTag ("div");

            writer.AddAttribute ("href", IndexPath (0));
            writer.RenderBeginTag ("a");
            writer.Write (Catalog.GetString ("Index"));
            writer.RenderEndTag (); //a

            writer.RenderEndTag (); //navipage
            writer.RenderEndTag (); //navi
            writer.RenderEndTag (); //header

            WriteTagsLinks (writer, allTags.Values);

            WriteStyleSelectionBox (writer);

            writer.RenderEndTag (); //container1

            WriteFooter (writer);

            writer.RenderEndTag (); //body
            writer.RenderEndTag (); //html

            writer.Close ();
            stream.Close ();
        }
		public void SavePhotoHtmlIndex (int i)
		{
			System.IO.StreamWriter stream = System.IO.File.CreateText (SubdirPath (PhotoIndexPath (i)));
			System.Web.UI.HtmlTextWriter writer = new System.Web.UI.HtmlTextWriter (stream);

			//writer.Indent = 4;
			
			//writer.Write ("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
			writer.WriteLine ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
			writer.AddAttribute ("xmlns", "http://www.w3.org/1999/xhtml");
			writer.AddAttribute ("xml:lang", this.Language);
			writer.RenderBeginTag ("html");
			
			WriteHeader (writer);
			
			writer.AddAttribute ("onload", "checkForTheme()");
			writer.RenderBeginTag ("body");

			writer.AddAttribute ("class", "container1");
			writer.RenderBeginTag ("div");

			writer.AddAttribute ("class", "header");
			writer.RenderBeginTag ("div");

			writer.AddAttribute ("id", "title");
			writer.RenderBeginTag ("div");
			writer.Write (gallery_name);
			writer.RenderEndTag ();

			writer.AddAttribute ("class", "navi");
			writer.RenderBeginTag ("div");

			if (i > 0)
				// Abbreviation of previous	
				WritePageNav (writer, "prev", PhotoIndexPath (i - 1), Catalog.GetString("Prev"));

			WritePageNav (writer, "index", IndexPath (i / perpage), Catalog.GetString("Index"));
			
			if (i < collection.Count -1)
				WritePageNav (writer, "next", PhotoIndexPath (i + 1), Catalog.GetString("Next"));

			writer.RenderEndTag (); //navi
			
			writer.RenderEndTag (); //header
			
			writer.AddAttribute ("class", "photo");
			writer.RenderBeginTag ("div");

			writer.AddAttribute ("href", PhotoOriginalPath (i));
			writer.RenderBeginTag ("a");
			
			writer.AddAttribute ("src", PhotoWebPath (i));
			writer.AddAttribute ("alt", "#");
			writer.RenderBeginTag ("img");
			writer.RenderEndTag ();
			writer.RenderEndTag (); // a
			
			writer.AddAttribute ("id", "description");
			writer.RenderBeginTag ("div");
			writer.Write (collection [i].Description);
			writer.RenderEndTag ();

			writer.RenderEndTag ();
			
		  //Style Selection Box
			writer.AddAttribute ("id", "styleboxcontainer");
			writer.RenderBeginTag ("div");
			writer.AddAttribute ("id", "stylebox");
			writer.AddAttribute ("style", "display: none;");
			writer.RenderBeginTag ("div");
			writer.RenderBeginTag("ul");
			writer.RenderBeginTag("li");
			writer.AddAttribute ("href", "#");
			writer.AddAttribute ("title", dark);
			writer.AddAttribute ("onclick", "setActiveStyleSheet('" + dark + "')");
			writer.RenderBeginTag("a");
			writer.Write (dark);
			writer.RenderEndTag (); //a
			writer.RenderEndTag (); //li
			writer.RenderBeginTag("li");
			writer.AddAttribute ("href", "#");
			writer.AddAttribute ("title", light);
			writer.AddAttribute ("onclick", "setActiveStyleSheet('" + light + "')");
			writer.RenderBeginTag("a");
			writer.Write (light);
			writer.RenderEndTag (); //a
			writer.RenderEndTag (); //li
			writer.RenderEndTag (); //ul
			writer.RenderEndTag (); //div stylebox
			writer.RenderBeginTag ("div");
			writer.Write ("<span class=\"style_toggle\">"); 
			writer.Write ("<a href=\"javascript:toggle_stylebox()\">");
			writer.Write ("<span id=\"showlink\">" + Catalog.GetString ("Show Styles") + "</span><span id=\"hidelink\" ");
			writer.Write ("style=\"display:none;\">" + Catalog.GetString ("Hide Styles") + "</span></a></span>" + Environment.NewLine);
			writer.RenderEndTag (); //div toggle
			writer.RenderEndTag (); //div styleboxcontainer
			writer.RenderEndTag (); //container1	

			WriteFooter (writer);
			
			writer.RenderEndTag (); //body
			writer.RenderEndTag (); // html

			writer.Close ();
			stream.Close ();
		}				
Example #26
0
        internal static string CreateSearchField(Grid grid)
        {
            StringBuilder javascript = new StringBuilder(string.Empty);

            StringBuilder onblur = new StringBuilder(" onblur=\"");
            if (grid.InputHighLight != Color.Empty)
            {
                javascript.AppendFormat(
                    " onfocus=\"this.accessKey = this.style.backgroundColor;this.style.backgroundColor='{0}';\"",
                    Grid.ColorToHtml(grid.InputHighLight));
                onblur.Append("this.style.backgroundColor=this.accessKey;");
            }
            if (grid.ColumnChangedColour != Color.Empty)
            {
                onblur.AppendFormat("isChanged(this,'{0}');", Grid.ColorToHtml(grid.ColumnChangedColour));
            }
            onblur.Append("\"");
            javascript.Append(onblur);

            string s =
                string.Format(
                    "<input {0}  type=\"text\" onkeypress=\"return submitenter(this,event)\" class=\"wgeditfield wgsearchfield\" name=\"{1}_gridsearch\" value=\"{2}\"/>&nbsp;",
                    javascript, grid.ClientID, grid.Search);

            GridPart customSearchField = GridPart.GetControl(grid, Enums.GridPart.SearchField);
            //			editorSystem.Web.HttpContext.Current.Server.ClientScript.RegisterClientScriptBlock(page.GetType(),"WGSearchBox", @"

            if (customSearchField != null)
            {
                StringBuilder builder = new StringBuilder();
                StringWriter theStringWriter = new StringWriter(builder);
                System.Web.UI.HtmlTextWriter theHtmlWriter = new System.Web.UI.HtmlTextWriter(theStringWriter);
                if (customSearchField.Html != null)
                {
                    Buttons.TextButtonControl(grid, customSearchField.Html, "SearchClick", new string[] {},
                                              grid.GetSystemMessageClass("Search", "wgsearch"));
                    customSearchField.m_InternalHtml = s + builder;
                }
                else
                {
                    theHtmlWriter.Write(Buttons.TextButtonControl(grid, grid.GetSystemMessage("Search"), "SearchClick", new string[] { },
                                              grid.GetSystemMessageClass("Search", "wgsearch")));
                    customSearchField.m_InternalHtml = s + builder;
                }
            }
            else
            {
                return
                    String.Format(
                        "<table cellspacing=\"0\" cellpadding=\"0\"><tr valign=\"middle\"><td>{0}</td><td>{1}</td></tr></table>",
                        s,

                         Buttons.TextButtonControl(grid, grid.GetSystemMessage("Search"), "SearchClick", new string[] {},
                                                   grid.GetSystemMessageClass("Search", "wgsearch")));
            }
            return string.Empty;
        }
Example #27
0
 public override void RenderBeginTag(System.Web.UI.HtmlTextWriter writer)
 {
     base.RenderBeginTag(writer);
     writer.Write("<div class='inner'>");
 }
Example #28
0
 protected override void Render(System.Web.UI.HtmlTextWriter writer)
 {
     // Render a HTML submit button.
     writer.Write("<INPUT TYPE='submit' name='" + this.UniqueID + "' value='Click Me' />");
     writer.Write("<BR>" + message);
 }
        /// Display as a dropdown lis
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            //catch ForeColor:
            if (this.ForeColor.IsEmpty)
            {
                this.ForeColor = Color.Black;
            }

            //catch AltRowColor:
            if (this.AltRowColor.IsEmpty)
            {
                this.AltRowColor = Color.GhostWhite;
            }

            //catch border style:
            if (this.BorderStyle.Equals(BorderStyle.NotSet) ||
                this.BorderStyle.Equals(BorderStyle.NotSet))
            {
                this.BorderStyle = BorderStyle.Solid;
            }

            //catch border color:
            if (this.BorderColor.IsEmpty)
            {
                this.BorderColor = Color.Silver;
            }

            //catch border width:
            if (this.BorderWidth.IsEmpty)
            {
                this.BorderWidth = Unit.Pixel(1);
            }

            //catch background width:
            if (this.BackColor.IsEmpty)
            {
                this.BackColor = Color.White;
            }

            StringBuilder sbCss = new StringBuilder();

            //css definition
            sbCss.Append("<style type=\"text/css\">");
            sbCss.Append(".{0}{{");
            if (this.Font.Italic)
            {
                sbCss.Append("font-style:italic; ");
            }
            if (this.Font.Bold)
            {
                sbCss.Append("font-weight:bold; ");
            }

            string textDecor = string.Empty;

            if (Font.Overline || Font.Underline || Font.Strikeout)
            {
                sbCss.Append("text-decoration:");
                if (this.Font.Overline)
                {
                    sbCss.Append("overline ");
                }
                if (this.Font.Strikeout)
                {
                    sbCss.Append("line-through ");
                }
                if (this.Font.Underline)
                {
                    sbCss.Append("underline ");
                }
                sbCss.Append("; ");
            }
            if (!ForeColor.IsEmpty)
            {
                sbCss.Append("color:" + ForeColor.Name.Replace("ff", "#") + "; ");
            }
            if (!Font.Size.IsEmpty)
            {
                sbCss.Append("font-size:" + Font.Size + "; ");
            }
            if (!BackColor.IsEmpty)
            {
                sbCss.Append("background-color: " +
                             BackColor.Name.Replace("ff", "#") + "; ");
            }

            sbCss.Append("width: {1}; ");

            sbCss.Append(" border:" + BorderStyle + " " +
                         BorderWidth + " " + this.BorderColor.Name.Replace("ff", "#") + "; }}.{0} ul  {{overflow-x:hidden; overflow-y:auto; height:{2}; margin-top:5px;  padding:0; border:solid 1px " +
                         BorderColor.Name.Replace("ff", "#") + "; ");

            sbCss.Append("}} .{0} li {{list-style: none;}}</style>");

            string css = sbCss.ToString();

            //default css class
            if (string.IsNullOrEmpty(this.CssClass))
            {
                this.CssClass = "ddlchklst";
            }

            //default width and height:
            if (Width.IsEmpty)
            {
                Width = Unit.Pixel(170);
            }
            if (Height.IsEmpty)
            {
                Height = Unit.Pixel(170);
            }

            //first row division:
            string divFirstRow = @"<div>   {0} <img id=""{1}""style=""float: right;"" src=""{2}"" /> </div>";

            //unorder list:
            string ulTag = "<ul style=\"display:{1};position: absolute; z-index:101;width:" + (Width.Value - 4) + "px\"; id=\"{0}\" >";

            //check box:
            string chkBox = "<input id=\"{0}\" name=\"{1}\" type=\"checkbox\" value=\"{2}\"{3} />";

            //attributes to render:
            string attrs = string.Empty;

            foreach (string key in this.Attributes.Keys)
            {
                attrs += " " + key + "=" + "\"" + this.Attributes[key].ToString() + "\"";
            }

            //title for check box:
            string label = "<label for=\"{0}\">{1}</label>";

            //toggle click
            string jqueryToggleFunction = @"<script type=""text/javascript"">$(document).ready(function () {{ $(""#{0}"").parent().click(function () {{ $(""#{1}"").toggle(""fast"");  }});   $(""#{0}"").parent().parent().find(':checkbox').eq(0).change(function (e) {{ if (e.target.checked) {{ $(e.target).closest('ul').find(':checkbox').attr('checked', true); }} else {{ $(e.target).closest('ul').find(':checkbox').attr('checked', false); }}  }});   $("".{2} li"").css(""width"", """ + (Width.Value - 20) +
                                          "\"); $(\".{2} li:odd\").css(\"background-color\", \"#FFFFFF\"); $(\".{2} li:even\").css(\"background-color\", \"#F0F4FB\"" +
                                          /* AltRowColor.Name.Replace("ff", "#") + */ "); }});  </script>";

            //*************  rendering  ***********************//

            //render css:
            writer.WriteLine(string.Format(css, CssClass, Width, Height));

            // render jquery url:
            // writer.WriteLine(string.Format("<script type='text/javascript' src='{0}'></script>", JQueryURL));

            //render toggle click function:
            writer.Write(string.Format(jqueryToggleFunction, base.ClientID +
                                       "_arrowDown", base.ClientID + "_ul", this.CssClass));

            //render the div start tag:
            writer.WriteLine(string.Format("<div class=\"{0}\">", this.CssClass));

            //render first row with the title:
            writer.Write(string.Format(divFirstRow, this.Title + "  ",
                                       base.ClientID + "_arrowDown", ImageURL));
            writer.WriteLine();
            writer.Indent++;

            //render ul start tag:
            writer.WriteLine(string.Format(ulTag, base.ClientID + "_ul",
                                           OpenOnStart ? "block" : "none"));

            // render a checkbox for selecting all, that will toggle all the selection
            # region checkboxForAll
Example #30
0
		/// <summary>
		/// Generates the select.
		/// </summary>
		/// <param name="target">The target.</param>
		/// <param name="selectedValue">The selected value.</param>
		/// <param name="dataSource">The data source.</param>
		/// <param name="attributes">The attributes.</param>
		/// <returns></returns>
		protected virtual string GenerateSelect(string target, object selectedValue, IEnumerable dataSource, IDictionary attributes)
		{
			var id = CreateHtmlId(target);

			ApplyValidation(InputElementType.Select, target, ref attributes);

			var sb = new StringBuilder();
			var sbWriter = new StringWriter(sb);
			var writer = new HtmlTextWriter(sbWriter);

			string firstOption = null;
			string firstOptionValue = null;
			var pascalCaseToWord = false;
			var name = target;

			if (attributes != null)
			{
				firstOption = CommonUtils.ObtainEntryAndRemove(attributes, "firstoption");
				firstOptionValue = CommonUtils.ObtainEntryAndRemove(attributes, "firstoptionvalue");

				pascalCaseToWord = Convert.ToBoolean(CommonUtils.ObtainEntryAndRemove(attributes, "pascalCaseToWord"));

				if (attributes.Contains("name"))
				{
					name = (String)attributes["name"];
					attributes.Remove("name");
				}

				if (attributes.Contains("id"))
				{
					id = (String)attributes["id"];
					attributes.Remove("id");
				}
			}

			var state = SetOperation.IterateOnDataSource(selectedValue, dataSource, attributes);

			writer.WriteBeginTag("select");
			writer.WriteAttribute("id", id);
			writer.WriteAttribute("name", name);
			writer.Write(" ");
			writer.Write(GetAttributes(attributes));
			writer.Write(HtmlTextWriter.TagRightChar);
			writer.WriteLine();

			if (firstOption != null)
			{
				writer.WriteBeginTag("option");
				writer.WriteAttribute("value", (firstOptionValue == null) ? "0" : SafeHtmlEncode(firstOptionValue));
				writer.Write(HtmlTextWriter.TagRightChar);
				writer.Write(SafeHtmlEncode(firstOption));
				writer.WriteEndTag("option");
				writer.WriteLine();
			}

			foreach (SetItem item in state)
			{
				writer.WriteBeginTag("option");

				if (item.IsSelected)
				{
					writer.Write(" selected=\"selected\"");
				}

				writer.WriteAttribute("value", SafeHtmlEncode(item.Value));
				writer.Write(HtmlTextWriter.TagRightChar);

				if (pascalCaseToWord)
				{
					writer.Write(SafeHtmlEncode(TextHelper.PascalCaseToWord(item.Text)));
				}
				else
				{
					writer.Write(SafeHtmlEncode(item.Text));
				}

				writer.WriteEndTag("option");
				writer.WriteLine();
			}

			writer.WriteEndTag("select");

			return sbWriter.ToString();
		}
Example #31
0
 protected override void Render(System.Web.UI.HtmlTextWriter writer)
 {
     base.Render(writer);
     writer.Write("&nbsp;");
 }
		public void SaveHtmlIndex (int page_num)
		{
			System.IO.StreamWriter stream = System.IO.File.CreateText (SubdirPath (IndexPath (page_num)));
			System.Web.UI.HtmlTextWriter writer = new System.Web.UI.HtmlTextWriter (stream);

			//writer.Indent = 4;

			//writer.Write ("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
			writer.WriteLine ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
			writer.AddAttribute ("xmlns", "http://www.w3.org/1999/xhtml");
			writer.AddAttribute ("xml:lang", this.Language);
			writer.RenderBeginTag ("html");
			WriteHeader (writer);
			
			writer.AddAttribute ("onload", "checkForTheme()");
			writer.RenderBeginTag ("body");
			

			
			writer.AddAttribute ("class", "container1");
			writer.RenderBeginTag ("div");

			writer.AddAttribute ("class", "header");
			writer.RenderBeginTag ("div");

			writer.AddAttribute ("id", "title");
			writer.RenderBeginTag ("div");
			writer.Write (gallery_name);
			writer.RenderEndTag (); //title div
			
			writer.AddAttribute ("class", "navi");
			writer.RenderBeginTag ("div");

			writer.AddAttribute ("class", "navilabel");
			writer.RenderBeginTag ("div");
			writer.Write (Catalog.GetString ("Page:"));
			writer.RenderEndTag (); //pages div
			
			int i;
			for (i = 0; i < PageCount; i++) {
				writer.AddAttribute ("class", i == page_num ? "navipage-current" : "navipage");
				writer.RenderBeginTag ("div");
				
				writer.AddAttribute ("href", IndexPath (i));
				writer.RenderBeginTag ("a");
				writer.Write (IndexTitle (i));
				writer.RenderEndTag (); //a
				
				writer.RenderEndTag (); //navipage
			}
			writer.RenderEndTag (); //navi
			writer.RenderEndTag (); //header
			
			writer.AddAttribute ("class", "thumbs");
			writer.RenderBeginTag ("div");
			
			int start = page_num * perpage;
			int end = Math.Min (start + perpage, collection.Count);
			for (i = start; i < end; i++) {
				writer.AddAttribute ("href", PhotoIndexPath (i));
				writer.RenderBeginTag ("a");
				
				writer.AddAttribute  ("src", PhotoThumbPath (i));
				writer.AddAttribute  ("alt", "#");
				writer.RenderBeginTag ("img");
				writer.RenderEndTag ();
				
				writer.RenderEndTag (); //a
			}
			
			writer.RenderEndTag (); //thumbs
			
			writer.AddAttribute ("id", "gallery_description");
			writer.RenderBeginTag ("div");
			writer.Write (description);
			writer.RenderEndTag (); //description
			
      //Style Selection Box
			writer.AddAttribute ("id", "styleboxcontainer");
			writer.RenderBeginTag ("div");
			writer.AddAttribute ("id", "stylebox");
			writer.AddAttribute ("style", "display: none;");
			writer.RenderBeginTag ("div");
			writer.RenderBeginTag("ul");
			writer.RenderBeginTag("li");
			writer.AddAttribute ("href", "#");
			writer.AddAttribute ("title", dark);
			writer.AddAttribute ("onclick", "setActiveStyleSheet('" + dark + "')");
			writer.RenderBeginTag("a");
			writer.Write (dark);
			writer.RenderEndTag (); //a
			writer.RenderEndTag (); //li
			writer.RenderBeginTag("li");
			writer.AddAttribute ("href", "#");
			writer.AddAttribute ("title", light);
			writer.AddAttribute ("onclick", "setActiveStyleSheet('" + light + "')");
			writer.RenderBeginTag("a");
			writer.Write (light);
			writer.RenderEndTag (); //a
			writer.RenderEndTag (); //li
			writer.RenderEndTag (); //ul
			writer.RenderEndTag (); //div stylebox
			writer.RenderBeginTag ("div");
			writer.Write ("<span class=\"style_toggle\">"); 
			writer.Write ("<a href=\"javascript:toggle_stylebox()\">");
			writer.Write ("<span id=\"showlink\">" + Catalog.GetString("Show Styles") + "</span><span id=\"hidelink\" ");
			writer.Write ("style=\"display:none;\">" + Catalog.GetString("Hide Styles") + "</span></a></span>" + Environment.NewLine);
			writer.RenderEndTag (); //div toggle
			writer.RenderEndTag (); //div styleboxcontainer
			writer.RenderEndTag (); //container1

			WriteFooter (writer);
			
			writer.RenderEndTag (); //body
			writer.RenderEndTag (); //html
			
			writer.Close ();
			stream.Close ();
		}
Example #33
0
 /// <summary>
 /// Renders the control to the specified HTML writer.
 /// </summary>
 /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter"></see> object that receives the control content.</param>
 protected override void Render(System.Web.UI.HtmlTextWriter writer)
 {
     writer.Write("Error during loading control : <br/>");
     writer.Write(this._text);
 }