/// <summary> /// Gets or sets the NoteOptions for note type list. /// </summary> /// <value> /// The note type list. /// </value> public void SetNoteTypes(List <NoteTypeCache> noteTypeList) { NoteOptions.SetNoteTypes(noteTypeList); }
/// <summary> /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client. /// </summary> /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param> public override void RenderControl(HtmlTextWriter writer) { if (this.Visible) { var currentPerson = (this.Page as RockPage)?.CurrentPerson; var editableNoteTypes = NoteOptions.GetEditableNoteTypes(currentPerson); bool canAdd = AddAllowed && editableNoteTypes.Any() && (AllowAnonymousEntry || currentPerson != null); string cssClass = "panel panel-note js-notecontainer" + (this.NoteOptions.DisplayType == NoteDisplayType.Light ? " panel-note-light" : string.Empty); writer.AddAttribute(HtmlTextWriterAttribute.Class, cssClass); writer.AddAttribute("data-sortdirection", this.SortDirection.ConvertToString(false)); writer.RenderBeginTag("section"); // Heading if (ShowHeading) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-heading clearfix"); writer.RenderBeginTag(HtmlTextWriterTag.Div); if (!string.IsNullOrWhiteSpace(TitleIconCssClass) || !string.IsNullOrWhiteSpace(Title)) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-title"); writer.RenderBeginTag(HtmlTextWriterTag.H3); if (!string.IsNullOrWhiteSpace(TitleIconCssClass)) { writer.AddAttribute(HtmlTextWriterAttribute.Class, TitleIconCssClass); writer.RenderBeginTag(HtmlTextWriterTag.I); writer.RenderEndTag(); // I } if (!string.IsNullOrWhiteSpace(Title)) { writer.Write(" "); writer.Write(Title); } writer.RenderEndTag(); } if (!NoteOptions.AddAlwaysVisible && canAdd && SortDirection == ListSortDirection.Descending) { RenderAddButton(writer); } writer.RenderEndTag(); } writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _noteEditor.ShowEditMode = NoteOptions.AddAlwaysVisible; if (canAdd && SortDirection == ListSortDirection.Descending) { if (!ShowHeading && !NoteOptions.AddAlwaysVisible) { RenderAddButton(writer); } _noteEditor.RenderControl(writer); } _hfCurrentNoteId.RenderControl(writer); _hfExpandedNoteIds.RenderControl(writer); _lbDeleteNote.RenderControl(writer); _mdDeleteWarning.RenderControl(writer); using (var rockContext = new RockContext()) { List <Note> viewableNoteList = GetViewableNoteList(rockContext, currentPerson); this.ShowMoreOption = (SortDirection == ListSortDirection.Descending) && (viewableNoteList.Count > this.DisplayCount); if (this.ShowMoreOption) { viewableNoteList = viewableNoteList.Take(this.DisplayCount).ToList(); } var rockBlock = this.RockBlock(); var noteMergeFields = LavaHelper.GetCommonMergeFields(rockBlock?.RockPage, currentPerson, new CommonMergeFieldsOptions { GetLegacyGlobalMergeFields = false }); noteMergeFields.Add("NoteOptions", this.NoteOptions); noteMergeFields.Add("NoteList", viewableNoteList); List <int> expandedNoteIdList = _hfExpandedNoteIds.Value.SplitDelimitedValues().AsIntegerList(); noteMergeFields.Add("ExpandedNoteIds", expandedNoteIdList); var noteTreeHtml = this.NoteOptions.NoteViewLavaTemplate.ResolveMergeFields(noteMergeFields).ResolveClientIds(this.ParentUpdatePanel()?.ClientID); writer.Write(noteTreeHtml); } if (canAdd && SortDirection == ListSortDirection.Ascending) { if (!NoteOptions.AddAlwaysVisible) { RenderAddButton(writer); } _noteEditor.RenderControl(writer); } else { if (ShowMoreOption) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "load-more-container"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _lbShowMore.RenderControl(writer); writer.RenderEndTag(); } } writer.RenderEndTag(); writer.RenderEndTag(); } }
/// <summary> /// Sets the note options. /// </summary> /// <param name="noteOptions">The note options.</param> public void SetNoteOptions(NoteOptions noteOptions) { this.NoteOptions = noteOptions; this.BindNoteTypes(); this.NoteOptions.NoteTypesChange += NoteOptions_NoteTypesChange; }