private void Displaying(ElementDisplayingContext context, Element element) {
            var drivers = _elementManager.Value.GetDrivers(element);

            foreach (var driver in drivers) {
                driver.Displaying(context);
            }
        }
        private void Displaying(ElementDisplayingContext context) {
            var contentTypeName = (string)context.Element.Descriptor.StateBag["ContentTypeName"];
            var element = (PlaceableContentItem)context.Element;
            var contentItemId = element.ContentItemId;
            var versionOptions = context.DisplayType == "Design" ? VersionOptions.Latest : VersionOptions.Published;
            var contentItem = contentItemId != null
                ? _contentManager.Value.Get(contentItemId.Value, versionOptions)
                : _contentManager.Value.New(contentTypeName);

            var contentShape = contentItem != null ? _contentManager.Value.BuildDisplay(contentItem) : default(dynamic);
            context.ElementShape.ContentItem = contentItem;
            context.ElementShape.ContentShape = contentShape;
        }
Exemplo n.º 3
0
        private void Displaying(ElementDisplayingContext context)
        {
            var contentTypeName = (string)context.Element.Descriptor.StateBag["ContentTypeName"];
            var element = (Widget)context.Element;
            var widgetId = element.WidgetId;
            var versionOptions = context.DisplayType == "Design" ? VersionOptions.Latest : VersionOptions.Published;
            var widget = widgetId != null
                ? _contentManager.Value.Get(widgetId.Value, versionOptions)
                : _contentManager.Value.New(contentTypeName);

            var widgetShape = widget != null ? _contentManager.Value.BuildDisplay(widget) : default(dynamic);
            context.ElementShape.Widget = widget;
            context.ElementShape.WidgetShape = widgetShape;
        }
Exemplo n.º 4
0
        private void Displaying(ElementDisplayingContext context) {
            var contentItem = context.Content.ContentItem;
            var typeName = context.Element.Descriptor.TypeName;
            var contentField = contentItem.GetContentField(typeName);

            if ((contentItem.Id == 0 || context.DisplayType == "Design") && context.Updater != null) {
                // The content item hasn't been stored yet, so bind form values with the content field to represent actual Data.
                var controller = (Controller)context.Updater;
                var oldValueProvider = controller.ValueProvider;

                controller.ValueProvider = context.Element.Data.ToValueProvider(_cultureAccessor.Value.CurrentCulture);
                _contentFieldDisplay.Value.UpdateEditor(contentItem, contentField, context.Updater);
                _transactionManager.Value.Cancel();
                controller.ValueProvider = oldValueProvider;
            }

            var contentFieldShape = _contentFieldDisplay.Value.BuildDisplay(contentItem, contentField, displayType: "Layout");
            context.ElementShape.ContentField = contentFieldShape;
        }
        void IElementEventHandler.Displaying(ElementDisplayingContext context) {
            if (context.DisplayType == "Design")
                return;

            var element = context.Element as FormElement;

            if (element == null)
                return;

            var registrationContext = new RegisterClientValidationAttributesContext {
                FieldName = element.Name
            };

            if (element.Form != null && element.Form.EnableClientValidation == true) {
                _formService.RegisterClientValidationAttributes(element, registrationContext);

                if (registrationContext.ClientAttributes.Any()) {
                    registrationContext.ClientAttributes["data-val"] = "true";
                }
            }

            context.ElementShape.ClientValidationAttributes = registrationContext.ClientAttributes;
        }
Exemplo n.º 6
0
        private void Displaying(ElementDisplayingContext context, ShapeDescriptor shapeDescriptor, SnippetDescriptor snippetDescriptor) {
            var shapeType = shapeDescriptor.ShapeType;
            var shape = (dynamic)_shapeFactory.Value.Create(shapeType);

            shape.Element = context.Element;
            shape.SnippetDescriptor = snippetDescriptor;

            ElementShapes.AddTokenizers(shape, _tokenizer.Value);
            context.ElementShape.Snippet = shape;
            context.ElementShape.SnippetDescriptor = snippetDescriptor;
        }
 private void Displaying(ElementDisplayingContext context, ShapeDescriptor shapeDescriptor) {
     var shapeType = shapeDescriptor.ShapeType;
     var shape = _shapeFactory.Value.Create(shapeType);
     context.ElementShape.Snippet = shape;
 }
        private void Displaying(ElementDisplayingContext context)
        {

        }
Exemplo n.º 9
0
        public dynamic DisplayElement(
            Element element,
            IContent content,
            string displayType   = null,
            IUpdateModel updater = null)
        {
            var typeName           = element.GetType().Name;
            var category           = element.Category.ToSafeName();
            var drivers            = element.Descriptor.GetDrivers().ToList();
            var createShapeContext = new ElementCreatingDisplayShapeContext {
                Element     = element,
                DisplayType = displayType,
                Content     = content,
            };

            _elementEventHandlerHandler.CreatingDisplay(createShapeContext);
            InvokeDrivers(drivers, driver => driver.CreatingDisplay(createShapeContext));
            if (element.Descriptor.CreatingDisplay != null)
            {
                element.Descriptor.CreatingDisplay(createShapeContext);
            }

            if (createShapeContext.Cancel)
            {
                return(null);
            }

            var elementShapeArguments = CreateArguments(element, content);
            var elementShape          = (dynamic)_shapeFactory.Create("Element", elementShapeArguments, () => new ZoneHolding(() => _shapeFactory.Create("ElementZone")));

            elementShape.Metadata.DisplayType = displayType;
            elementShape.Metadata.Alternates.Add(String.Format("Elements_{0}", typeName));
            elementShape.Metadata.Alternates.Add(String.Format("Elements_{0}_{1}", typeName, displayType));
            elementShape.Metadata.Alternates.Add(String.Format("Elements_{0}__{1}", typeName, category));
            elementShape.Metadata.Alternates.Add(String.Format("Elements_{0}_{1}__{2}", typeName, displayType, category));

            var displayingContext = new ElementDisplayingContext {
                Element      = element,
                ElementShape = elementShape,
                DisplayType  = displayType,
                Content      = content,
                Updater      = updater
            };

            _elementEventHandlerHandler.Displaying(displayingContext);
            InvokeDrivers(drivers, driver => driver.Displaying(displayingContext));

            if (element.Descriptor.Displaying != null)
            {
                element.Descriptor.Displaying(displayingContext);
            }

            var container = element as Container;

            if (container != null)
            {
                if (container.Elements.Any())
                {
                    var childIndex = 0;
                    foreach (var child in container.Elements)
                    {
                        var childShape = DisplayElement(child, content, displayType: displayType, updater: updater);

                        if (childShape != null)
                        {
                            childShape.Parent = elementShape;
                            elementShape.Add(childShape, childIndex++.ToString());
                        }
                    }
                }
            }

            var displayedContext = new ElementDisplayedContext {
                Element      = element,
                ElementShape = elementShape,
                DisplayType  = displayType,
                Content      = content,
                Updater      = updater
            };

            _elementEventHandlerHandler.Displayed(displayedContext);
            InvokeDrivers(drivers, driver => driver.Displayed(displayedContext));

            if (element.Descriptor.Displayed != null)
            {
                element.Descriptor.Displayed(displayedContext);
            }

            return(elementShape);
        }
        public dynamic DisplayElement(
            Element element,
            IContent content,
            string displayType = null,
            IUpdateModel updater = null) {

            var typeName = element.GetType().Name;
            var category = element.Category.ToSafeName();
            var drivers = element.Descriptor.GetDrivers().ToList();
            var createShapeContext = new ElementCreatingDisplayShapeContext {
                Element = element,
                DisplayType = displayType,
                Content = content,
            };

            _elementEventHandlerHandler.CreatingDisplay(createShapeContext);
            InvokeDrivers(drivers, driver => driver.CreatingDisplay(createShapeContext));
            if (element.Descriptor.CreatingDisplay != null)
                element.Descriptor.CreatingDisplay(createShapeContext);

            if (createShapeContext.Cancel)
                return null;

            var elementShapeArguments = CreateArguments(element, content);
            var elementShape = (dynamic)_shapeFactory.Create("Element", elementShapeArguments, () => new ZoneHolding(() => _shapeFactory.Create("ElementZone")));

            elementShape.Metadata.DisplayType = displayType;
            elementShape.Metadata.Alternates.Add(String.Format("Elements_{0}", typeName));
            elementShape.Metadata.Alternates.Add(String.Format("Elements_{0}_{1}", typeName, displayType));
            elementShape.Metadata.Alternates.Add(String.Format("Elements_{0}__{1}", typeName, category));
            elementShape.Metadata.Alternates.Add(String.Format("Elements_{0}_{1}__{2}", typeName, displayType, category));

            var displayingContext = new ElementDisplayingContext {
                Element = element,
                ElementShape = elementShape,
                DisplayType = displayType,
                Content = content,
                Updater = updater
            };

            _elementEventHandlerHandler.Displaying(displayingContext);
            InvokeDrivers(drivers, driver => driver.Displaying(displayingContext));

            if (element.Descriptor.Displaying != null)
                element.Descriptor.Displaying(displayingContext);

            var container = element as Container;

            if (container != null) {
                if (container.Elements.Any()) {
                    var childIndex = 0;
                    foreach (var child in container.Elements) {
                        var childShape = DisplayElement(child, content, displayType: displayType, updater: updater);

                        if (childShape != null) {
                            childShape.Parent = elementShape;
                            elementShape.Add(childShape, childIndex++.ToString());
                        }
                    }
                }
            }

            var displayedContext = new ElementDisplayedContext {
                Element = element,
                ElementShape = elementShape,
                DisplayType = displayType,
                Content = content,
                Updater = updater
            };

            _elementEventHandlerHandler.Displayed(displayedContext);
            InvokeDrivers(drivers, driver => driver.Displayed(displayedContext));

            if (element.Descriptor.Displayed != null)
                element.Descriptor.Displayed(displayedContext);

            return elementShape;
        }
Exemplo n.º 11
0
 public virtual void Displaying(ElementDisplayingContext context)
 {
 }
Exemplo n.º 12
0
        private void Displaying(ElementDisplayingContext context, ShapeDescriptor shapeDescriptor, SnippetDescriptor snippetDescriptor)
        {
            var shapeType = shapeDescriptor.ShapeType;
            var shape = (dynamic)_shapeFactory.Value.Create(shapeType);

            shape.Element = context.Element;

            if (snippetDescriptor != null) {
                foreach (var fieldDescriptor in snippetDescriptor.Fields) {
                    var value = context.Element.Data.Get(fieldDescriptor.Name);
                    shape.Properties[fieldDescriptor.Name] = value;
                }
            }

            ElementShapes.AddTokenizers(shape, _tokenizer.Value);
            context.ElementShape.Snippet = shape;
        }