public override void Render(TextWriter writer) { if (state.IsFlagSet(ControlPanelState.DragDrop)) { if (ZoneName.IndexOfAny(new[] { '.', ',', ' ', '\'', '"', '\t', '\r', '\n' }) >= 0) throw new N2Exception("Zone '" + ZoneName + "' contains illegal characters."); writer.Write("<div class='" + ZoneName + " dropZone'"); if (CurrentItem.ID != 0 && !CurrentItem.VersionOf.HasValue) writer.WriteAttribute(PartUtilities.PathAttribute, CurrentItem.Path); else { writer.WriteAttribute(PartUtilities.PathAttribute, Find.ClosestPage(CurrentItem).Path) .WriteAttribute("data-versionKey", CurrentItem.GetVersionKey()) .WriteAttribute("data-versionIndex", CurrentItem.VersionIndex.ToString()); } writer.WriteAttribute(PartUtilities.ZoneAttribute, ZoneName) .WriteAttribute(PartUtilities.AllowedAttribute, PartUtilities.GetAllowedNames(ZoneName, PartsAdapter.GetAllowedDefinitions(CurrentItem, ZoneName, Html.ViewContext.HttpContext.User))) .WriteAttribute("title", ZoneTitle ?? DroppableZone.GetToolTip(Html.ResolveService<IDefinitionManager>().GetDefinition(CurrentItem), ZoneName)); writer.Write(">"); RenderPreview(writer); writer.Write("</div>"); } else if (state.IsFlagSet(ControlPanelState.Previewing)) { RenderPreview(writer); } else base.Render(writer); }
public override void Render(TextWriter writer) { if (state == ControlPanelState.DragDrop) { if (ZoneName.IndexOfAny(new[] { '.', ',', ' ', '\'', '"', '\t', '\r', '\n' }) >= 0) throw new N2Exception("Zone '" + ZoneName + "' contains illegal characters."); writer.Write("<div class='" + ZoneName + " dropZone'"); writer.WriteAttribute(PartUtilities.PathAttribute, CurrentItem.Path) .WriteAttribute(PartUtilities.ZoneAttribute, ZoneName) .WriteAttribute(PartUtilities.AllowedAttribute, PartUtilities.GetAllowedNames(ZoneName, PartsAdapter.GetAllowedDefinitions(CurrentItem, ZoneName, Html.ViewContext.HttpContext.User))) .WriteAttribute("title", ZoneTitle ?? DroppableZone.GetToolTip(Html.ResolveService<IDefinitionManager>().GetDefinition(CurrentItem), ZoneName)) .Write(">"); if (string.IsNullOrEmpty(Html.ViewContext.HttpContext.Request["preview"])) { base.Render(writer); } else { string preview = Html.ViewContext.HttpContext.Request["preview"]; RenderReplacingPreviewed(writer, preview); } writer.Write("</div>"); } else base.Render(writer); }
public override void Render(TextWriter writer) { if (writer == null) throw new NullReferenceException("writer cannot be null"); if (state.IsFlagSet(ControlPanelState.DragDrop)) { if (String.IsNullOrWhiteSpace(ZoneName)) throw new N2Exception("Zone name cannot be null, empty, or consist only of whitespace."); if (ZoneName.IndexOfAny(new[] { '.', ',', ' ', '\'', '"', '\t', '\r', '\n' }) >= 0) throw new N2Exception("Zone '" + ZoneName + "' contains illegal characters."); if (CurrentItem == null) throw new N2Exception("CurrentItem cannot be null"); var dm = Html.ResolveService<IDefinitionManager>(); if (dm == null) throw new N2Exception("Failed to resolve the definition manager."); writer.Write("<div class=\"" + ZoneName + " dropZone\""); if (CurrentItem.ID != 0 && !CurrentItem.VersionOf.HasValue) writer.WriteAttribute(PartUtilities.PathAttribute, CurrentItem.Path); else { writer.WriteAttribute(PartUtilities.PathAttribute, (Find.ClosestPage(CurrentItem) ?? CurrentItem).Path); writer.WriteAttribute("data-versionKey", CurrentItem.GetVersionKey()); writer.WriteAttribute("data-versionIndex", CurrentItem.VersionIndex.ToString()); } writer.WriteAttribute(PartUtilities.ZoneAttribute, ZoneName) .WriteAttribute(PartUtilities.AllowedAttribute, PartUtilities.GetAllowedNames(ZoneName, PartsAdapter.GetAllowedDefinitions(CurrentItem, ZoneName, Html.ViewContext.HttpContext.User))) .WriteAttribute("title", ZoneTitle ?? DroppableZone.GetToolTip(dm.GetDefinition(CurrentItem), ZoneName)); writer.Write(">"); RenderPreview(writer); writer.Write("</div>"); } else if (state.IsFlagSet(ControlPanelState.Previewing)) { RenderPreview(writer); } else base.Render(writer); }
protected override void RenderTemplate(TextWriter writer, ContentItem model) { if (state.IsFlagSet(ControlPanelState.DragDrop) && model.Parent == CurrentItem) { ItemDefinition definition = Html.ResolveService<IDefinitionManager>().GetDefinition(model); writer.Write("<div class='" + definition.Discriminator + " zoneItem'"); if (model.ID != 0 && !model.VersionOf.HasValue) writer.WriteAttribute(PartUtilities.PathAttribute, model.Path); else { writer.WriteAttribute(PartUtilities.PathAttribute, Find.ClosestPage(model).Path); writer.WriteAttribute("data-versionKey", model.GetVersionKey()) .WriteAttribute("data-versionIndex", model.VersionIndex.ToString()); } writer.WriteAttribute("data-sortOrder", model.SortOrder.ToString()) .WriteAttribute(PartUtilities.TypeAttribute, definition.Discriminator); writer.Write(">"); Html.ResolveService<PartUtilities>().WriteTitleBar(writer, model, Html.ViewContext.HttpContext.Request.RawUrl); base.RenderTemplate(writer, model); writer.Write("</div>"); } else base.RenderTemplate(writer, model); }
protected override void RenderTemplate(TextWriter writer, ContentItem model) { if (state == ControlPanelState.DragDrop) { ItemDefinition definition = Html.ResolveService<IDefinitionManager>().GetDefinition(model); writer.Write("<div class='" + definition.Discriminator + " zoneItem'"); writer.WriteAttribute(PartUtilities.PathAttribute, model.Path) .WriteAttribute(PartUtilities.TypeAttribute, definition.Discriminator) .Write(">"); Html.ResolveService<PartUtilities>().WriteTitleBar(writer, model, Html.ViewContext.HttpContext.Request.RawUrl); base.RenderTemplate(writer, model); writer.Write("</div>"); } else base.RenderTemplate(writer, model); }