예제 #1
0
        protected override void OnExporting(Menu element, ExportElementContext context)
        {
            var menu         = _contentManager.Get(element.MenuContentItemId);
            var menuIdentity = menu != null?_contentManager.GetItemMetadata(menu).Identity.ToString() : default(string);

            if (menuIdentity != null)
            {
                context.ExportableData["MenuId"] = menuIdentity;
            }
        }
        protected override void OnExporting(VectorImage element, ExportElementContext context)
        {
            var image = element.MediaId != null?GetVectorImage(element.MediaId.Value) : default(VectorImagePart);

            if (image == null)
            {
                return;
            }

            context.ExportableData["VectorImage"] = _contentManager.GetItemMetadata(image).Identity.ToString();
        }
예제 #3
0
 public void Exporting(IEnumerable <Element> elements, ExportLayoutContext context)
 {
     InvokeDriver(elements, (driver, element) => {
         var exportElementContext = new ExportElementContext {
             Layout  = context.Layout,
             Element = element
         };
         driver.Exporting(exportElementContext);
         element.ExportableData = new ElementDataDictionary(exportElementContext.ExportableData);
     });
 }
예제 #4
0
        public void Exported(IEnumerable <Element> elements, ExportLayoutContext context)
        {
            foreach (var element in elements)
            {
                var exportingContext = new ExportElementContext(element, context.Layout, element.ExportableData ?? new ElementDataDictionary());
                _elementEventHandler.Exported(exportingContext);
                element.Descriptor.Exported(exportingContext);

                // Update potentially modified ExportableData.
                element.ExportableData = new ElementDataDictionary(exportingContext.ExportableData);
            }
        }
예제 #5
0
        private void ExportElement(ExportElementContext context)
        {
            var element       = (PlaceableContentItem)context.Element;
            var contentItemId = element.ContentItemId;
            var contentItem   = contentItemId != null?_contentManager.Value.Get(contentItemId.Value, VersionOptions.Latest) : default(ContentItem);

            var contentItemIdentity = contentItem != null?_contentManager.Value.GetItemMetadata(contentItem).Identity.ToString() : default(string);

            if (contentItemIdentity != null)
            {
                context.ExportableData["ContentItemId"] = contentItemIdentity;
            }
        }
예제 #6
0
        protected override void OnExporting(ContentItem element, ExportElementContext context)
        {
            var contentItems = GetContentItems(element.ContentItemIds).ToArray();

            if (!contentItems.Any())
            {
                return;
            }

            var identities = contentItems.Select(x => _contentManager.GetItemMetadata(x).Identity.ToString()).ToArray();

            context.ExportableData["ContentItems"] = String.Join(",", identities);
        }
        private void ExportElement(ExportElementContext context)
        {
            var element  = (Widget)context.Element;
            var widgetId = element.WidgetId;
            var widget   = widgetId != null?_contentManager.Value.Get(widgetId.Value, VersionOptions.Latest) : default(ContentItem);

            var widgetIdentity = widget != null?_contentManager.Value.GetItemMetadata(widget).Identity.ToString() : default(string);

            if (widgetIdentity != null)
            {
                context.ExportableData["WidgetId"] = widgetIdentity;
            }
        }
        protected override void OnExporting(Query element, ExportElementContext context)
        {
            base.OnExporting(element, context);
            if (element.QueryId == null)
            {
                return;
            }
            var queryContentItem = _contentManager.Get <QueryPart>(element.QueryId.Value);

            if (queryContentItem == null)
            {
                return;
            }
            context.Element.Data.Add("QueryElementIdentity", _contentManager.GetItemMetadata(queryContentItem).Identity.ToString());
        }
예제 #9
0
        protected override void OnExporting(Projection element, ExportElementContext context)
        {
            var query = element.QueryId != null?_contentManager.Get <QueryPart>(element.QueryId.Value) : default(QueryPart);

            var layout = query != null && element.LayoutId != null?_layoutRepository.Get(element.LayoutId.Value) : default(LayoutRecord);

            var queryIdentity = query != null?_contentManager.GetItemMetadata(query).Identity.ToString() : default(string);

            var layoutIndex = layout != null?query.Layouts.IndexOf(layout) : default(int?);

            if (queryIdentity != null && layoutIndex != null)
            {
                context.ExportableData["QueryId"]     = queryIdentity;
                context.ExportableData["LayoutIndex"] = layoutIndex.Value.ToString();
            }
        }
예제 #10
0
        protected override void OnExporting(Elements.SmartGrid element, ExportElementContext context)
        {
            // Load the actual background content item.
            var backgroundImage = GetBackgroundImage(element, VersionOptions.Latest);

            if (backgroundImage == null)
            {
                return;
            }

            // Use the content manager to get the content identities.
            var backgroundImageIdentity = _contentManager.GetItemMetadata(backgroundImage).Identity;

            // Add the content item identities to the ExportableData dictionary.
            context.ExportableData["BackgroundImage"] = backgroundImageIdentity.ToString();
        }
예제 #11
0
 public virtual void Exported(ExportElementContext context)
 {
 }
 public override void Exported(ExportElementContext context)
 {
     InvokeDrivers(context.Element, driver => driver.Exported(context));
 }
 void IElementEventHandler.Exported(ExportElementContext context)
 {
 }