/// <summary> /// Get container region XPM markup with the container index piggy-backed on the template ID. /// This to make sure the new container items that drag&dropped into the region ends up in the correct container. /// </summary> /// <param name="localization"></param> /// <returns></returns> public override string GetXpmMarkup(Localization localization) { XpmRegion xpmRegion = localization.GetXpmRegionConfiguration(Name); if (xpmRegion == null) { return(string.Empty); } return(string.Format( XpmRegionMarkup, Name, string.Join(", ", xpmRegion.ComponentTypes.Select(ct => string.Format(XpmComponentTypeMarkup, ct.Schema, ct.Template, this.containerModel.Index))), 0)); }
/// <summary> /// Gets the rendered XPM markup /// </summary> /// <param name="localization">The context Localization.</param> /// <returns>The XPM markup.</returns> public override string GetXpmMarkup(Localization localization) { XpmRegion xpmRegion = localization.GetXpmRegionConfiguration(Name); if (xpmRegion == null) { return(string.Empty); } // TODO: obtain MinOccurs & MaxOccurs from regions.json return(string.Format( XpmRegionMarkup, Name, string.Join(", ", xpmRegion.ComponentTypes.Select(ct => string.Format(XpmComponentTypeMarkup, ct.Schema, ct.Template))), 0)); }
/// <summary> /// Gets the rendered XPM markup /// </summary> /// <param name="localization">The context Localization.</param> /// <returns>The XPM markup.</returns> public override string GetXpmMarkup(Localization localization) { XpmRegion xpmRegion = localization.GetXpmRegionConfiguration(SchemaId ?? Name); if (xpmRegion == null) { return(string.Empty); } int minOccurs = xpmRegion.OccurrenceConstraint?.MinOccurs ?? 0; int maxOccurs = xpmRegion.OccurrenceConstraint?.MaxOccurs ?? -1; string occurrenceConstraint = ""; occurrenceConstraint = maxOccurs == -1 ? string.Format(occurenceConstraintMarkupUnlimited, minOccurs) : string.Format(occurenceConstraintMarkup, minOccurs, maxOccurs); object pathToRegion = string.Empty; if (XpmMetadata != null) { XpmMetadata.TryGetValue("FullyQualifiedName", out pathToRegion); if (pathToRegion != null) { string value = pathToRegion as string; pathToRegion = $" path: \"{value?.Replace("\\", "\\\\")}\","; } } return(string.Format( XpmRegionMarkup, Name, pathToRegion, string.Join(", ", xpmRegion.ComponentTypes.Select(ct => string.Format(XpmComponentTypeMarkup, ct.Schema, ct.Template))), occurrenceConstraint)); }