/// <summary> /// Renders an item /// </summary> /// <param name="itemId"></param> /// <param name="selectedItem"></param> /// <returns></returns> public override string RenderItem(string itemId, bool selectedItem) { if (string.IsNullOrEmpty(itemId)) { return(string.Empty); } FieldSuiteListItem listItem = new FieldSuiteListItem(); listItem.ShowAddRemoveButton = true; Item item = RenderingDatabase.GetItem(itemId); if (item.IsNull()) { return(listItem.RenderItemNotFound(itemId, this.ID)); } listItem.ButtonClick = string.Format("FieldSuite.Fields.Treelist.RemoveItem('{0}', this);", this.ID); listItem.ItemClick = "FieldSuite.Fields.SelectItem(this);"; listItem.SelectedClass = "velirFieldSelected"; listItem.ReadOnly = this.ReadOnly; listItem.Text = item.DisplayName; listItem.HoverText = item.Paths.FullPath; Int32 renderCount = RenderItemCount; if (selectedItem) { renderCount = RenderSelectedItemCount; } //for performance reason limit field gutter bool useFieldGutter = false; IFieldGutterProcessor fieldGutterProcessor = FieldGutterProcessorFactory.GetProcessor(); if (fieldGutterProcessor != null) { Int32 maxCount = fieldGutterProcessor.MaxCount; if (maxCount != 0 && renderCount <= maxCount) { useFieldGutter = true; } } //return list item as html if (selectedItem) { RenderSelectedItemCount++; } else { RenderItemCount++; } //return list item as html return(listItem.Render(item, item.ID.ToString(), this.ID, useFieldGutter)); }
private void RenderItems(HtmlTextWriter output) { Assert.ArgumentNotNull(output, "output"); foreach (string itemId in this.Value.Split(new char[] { '|' })) { if (string.IsNullOrEmpty(itemId)) { continue; } FieldSuiteListItem listItem = new FieldSuiteListItem(); listItem.ShowAddRemoveButton = false; Item item = this.Database.GetItem(itemId); if (item == null) { output.Write(listItem.RenderItemNotFound(itemId, this.ID)); } else { //for performance reason limit field gutter bool useFieldGutter = false; IFieldGutterProcessor fieldGutterProcessor = FieldGutterProcessorFactory.GetProcessor(); if (fieldGutterProcessor != null) { Int32 maxCount = fieldGutterProcessor.MaxCount; if (maxCount != 0 && RenderSelectedItemCount <= maxCount) { useFieldGutter = true; } } RenderSelectedItemCount++; listItem.ButtonClick = string.Format("FieldSuite.Fields.ToggleItem('{0}', this);", this.ID); listItem.ItemClick = "FieldSuite.Fields.SelectItem(this);"; listItem.SelectedClass = "velirFieldSelected"; listItem.ReadOnly = false; listItem.Text = item.DisplayName; listItem.HoverText = item.Paths.FullPath; //return list item as html output.Write(listItem.Render(item, itemId, ID, useFieldGutter)); } } }
/// <summary> /// Renders an item /// </summary> /// <param name="itemId"></param> /// <param name="selectedItem"></param> /// <returns></returns> public virtual string RenderItem(string itemId, bool selectedItem) { if (string.IsNullOrEmpty(itemId)) { return(string.Empty); } Item item = Sitecore.Context.ContentDatabase.GetItem(itemId); if (item.IsNull()) { //return not found list item template FieldSuiteListItem listItem = new FieldSuiteListItem(); listItem.ShowAddRemoveButton = true; return(listItem.RenderItemNotFound(itemId, this.ID)); } return(RenderItem(item, selectedItem)); }
/// <summary> /// Renders an item /// </summary> /// <param name="itemId"></param> /// <param name="fieldId"></param> /// <returns></returns> public virtual string RenderItem(string itemId, string fieldId, string database) { if (string.IsNullOrEmpty(itemId) || string.IsNullOrEmpty(fieldId)) { return(string.Empty); } Database db = Context.ContentDatabase; if (!string.IsNullOrEmpty(database)) { db = Database.GetDatabase(database); } FieldSuiteListItem listItem = new FieldSuiteListItem(); listItem.ShowAddRemoveButton = true; //attempt to get item from sitecore Item item = db.GetItem(itemId); if (item.IsNull()) { //return not found list item template return(listItem.RenderItemNotFound(itemId, fieldId)); } listItem.ButtonClick = string.Format("FieldSuite.Fields.Treelist.RemoveItem('{0}', this);", fieldId); listItem.ItemClick = "FieldSuite.Fields.SelectItem(this);"; listItem.SelectedClass = "velirFieldSelected"; listItem.ReadOnly = false; listItem.Text = item.DisplayName; listItem.HoverText = item.Paths.FullPath; //return list item as html return(listItem.Render(item, itemId, fieldId, true)); }