protected override void RenderContents(HtmlTextWriter writer) { if (!isClientScriptRegistered) { RegisterClientScripts(); } var sb = new StringBuilder(); int visibleCommentsCount; visibleCommentsCount = TotalCount; var isEmpty = CommentsHelper.IsEmptyComments(items); if (showCaption) { sb.Append("<div id='commentsTitle' style=\"margin-left:5px; padding-bottom:16px;" + (isEmpty ? "display:none;" : "") + "\" class=\"headerPanel\" >" + commentsTitle + "</div>"); } sb.Append("<a name=\"comments\"></a>"); sb.Append("<div id=\"mainContainer\" style='width:100%;" + (visibleCommentsCount % 2 == 0 ? "border-bottom:1px solid #ddd;" : "") + "width:720px;word-wrap: break-word;" + (isEmpty ? "display:none;" : "") + "'>"); sb.Append(RenderComments() + "</div>"); sb.Append("<br />"); sb.Append("<br />"); if (isShowAddCommentBtn) { sb.Append("<a id=\"add_comment_btn\" class=\"baseLinkButton promoAction\" onclick=\"javascript:CommentsManagerObj.AddNewComment();\">" + addCommentLink + "</a>"); } sb.Append("<div id=\"commentBox\" style=\"margin-top: 5px; display:none;\">"); sb.Append("<input type=\"hidden\" id=\"hdnParentComment\" value=\"\" />"); sb.Append("<input type=\"hidden\" id=\"hdnAction\" value=\"\" />"); sb.Append("<input type=\"hidden\" id=\"hdnCommentID\" value=\"\" />"); sb.Append("<input type=\"hidden\" id=\"hdnObjectID\" value=\"" + objectID + "\" />"); sb.AppendFormat("<input type='hidden' id='EmptyCommentErrorMessage' value='{0}' />", ASC.Web.Controls.Resources.CommentsResource.EmptyCommentErrorMessage); sb.AppendFormat("<input type='hidden' id='CancelNonEmptyCommentErrorMessage' value='{0}' />", ASC.Web.Controls.Resources.CommentsResource.CancelNonEmptyCommentErrorMessage); sb.Append("<a name='add_comment'></a>"); sb.Append("<div id=\"CommentsFckEditorPlaceHolder_" + _jsObjName + "\">"); if (Simple) { sb.Append("<textarea id='simpleTextArea' name='simpleTextArea' style='width: 100%; height:124px;'></textarea>"); } sb.Append("</div>"); sb.Append("<div id=\"comment_attachments\" style=\"padding:5px;\">"); sb.Append("</div>"); sb.Append("<input id=\"hdn_comment_attachments\" type=\"hidden\" value=\"\" />"); sb.Append("<div id='comments_btns' style=\"margin-top:10px;height:20px;\" >"); sb.Append("<a href=\"javascript:;\" id=\"btnAddComment\" class=\"baseLinkButton promoAction\" onclick=\"javascript:CommentsManagerObj.AddComment_Click();return false;\" style=\"margin-right:8px;\">" + saveButton + "</a>"); if (EnableAttachmets) { sb.Append("<a href=\"javascript:void(0);\" id=\"comments_Uploader\" class=\"baseLinkButton promoAction\" style=\"margin-right:8px;\">" + AttachButton + "</a>"); } sb.AppendFormat("<a href='javascript:;' id='btnPreview' class='baseLinkButton promoAction' onclick='javascript:CommentsManagerObj.Preview_Click();return false;' style='margin-right:8px;'>{0}</a>", previewButton); sb.AppendFormat("<a href='javascript:void(0);' id='btnCancel' class='grayLinkButton cancelFckEditorChangesButtonMarker' name='{1}' onclick='CommentsManagerObj.Cancel();' />{0}</a>", cancelButton, "CommentsFckEditor_" + this._jsObjName); sb.Append("</div>"); sb.Append("<div class='clearFix' id='comments_loader' style=\"margin-top:10px;display:none;\" >"); sb.AppendFormat("<div class='textMediumDescribe'>{0}</div><img src='{1}'/>", this.CommentSendingMsg, this.LoaderImage); sb.Append("</div>"); sb.Append("<div id=\"previewBox\" style=\"display: none; margin-top: 20px;\">"); sb.Append("<div class='headerPanel' style=\"margin-top: 0px;\">" + this.previewButton + "</div>"); sb.Append("<div id=\"previewBoxBody\"></div>"); sb.Append("<br/><a href=\"javascript:void(0);\" onclick=\"CommentsManagerObj.HidePreview(); return false;\" class=\"baseLinkButton\" style=\"margin-right:8px;\">" + hidePrevuewButton + "</a>"); sb.Append("</div>"); sb.Append("</div>"); writer.Write(sb.ToString()); }