protected override void OnDisplaying(ContentPart element, ElementDisplayingContext context) { // Content is optional context, so if it's null, we can't render the part element. // This typically only happens when the layout editor is used outside the context of // a content item and still renders the various content part elements as part of the toolbox. if (context.Content == null) { return; } var contentItem = context.Content.ContentItem; var contentPartName = (string)element.Descriptor.StateBag["ElementTypeName"]; var contentPart = contentItem.Parts.FirstOrDefault(x => x.PartDefinition.Name == contentPartName); 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 part to represent actual state. var controller = (Controller)context.Updater; var oldValueProvider = controller.ValueProvider; controller.ValueProvider = context.Element.Data.ToValueProvider(_cultureAccessor.CurrentCulture); _contentPartDisplay.UpdateEditor(contentPart, context.Updater); _transactionManager.Cancel(); controller.ValueProvider = oldValueProvider; } var contentPartShape = _contentPartDisplay.BuildDisplay(contentPart, displayType: "Layout"); context.ElementShape.ContentPart = contentPart; context.ElementShape.Content = contentPartShape; }
private void Displaying(ElementDisplayingContext context, ShapeDescriptor shapeDescriptor) { var shapeType = shapeDescriptor.ShapeType; var shape = _shapeFactory.Value.Create(shapeType); context.ElementShape.Snippet = shape; }
protected override void OnDisplaying(Button element, ElementDisplayingContext context) { context.ElementShape.ProcessedName = _tokenizer.Replace(element.Name, context.GetTokenData()); context.ElementShape.ProcessedText = _tokenizer.Replace(element.Text, context.GetTokenData(), new ReplaceOptions { Encoding = ReplaceOptions.NoEncode }); }
protected override void OnDisplaying(Elements.SmartGrid element, ElementDisplayingContext context) { var versionOptions = context.DisplayType == "Design" ? VersionOptions.Latest : VersionOptions.Published; context.ElementShape.BackgroundImage = GetBackgroundImage(element, versionOptions); }
protected override void OnDisplaying(Image element, ElementDisplayingContext context) { var imageId = element.MediaId; var image = imageId != null?GetImage(imageId.Value) : default(ImagePart); context.ElementShape.ImagePart = image; }
protected override void OnDisplaying(PasswordField element, ElementDisplayingContext context) { context.ElementShape.ProcessedName = _tokenizer.Replace(element.Name, context.GetTokenData()); context.ElementShape.ProcessedLabel = _tokenizer.Replace(element.Label, context.GetTokenData(), new ReplaceOptions { Encoding = ReplaceOptions.NoEncode }); }
protected override void OnDisplaying(Taxonomy element, ElementDisplayingContext context) { var taxonomyId = element.TaxonomyId; var typeName = element.GetType().Name; var displayType = context.DisplayType; var tokenData = context.GetTokenData(); // Allow the initially selected value to be tokenized. // If a value was posted, use that value instead (without tokenizing it). if (element.PostedValue == null) { var defaultValue = _tokenizer.Replace(element.DefaultValue, tokenData, new ReplaceOptions { Encoding = ReplaceOptions.NoEncode }); element.RuntimeValue = defaultValue; } context.ElementShape.ProcessedName = _tokenizer.Replace(element.Name, tokenData); context.ElementShape.ProcessedLabel = _tokenizer.Replace(element.Label, tokenData, new ReplaceOptions { Encoding = ReplaceOptions.NoEncode }); context.ElementShape.TermOptions = GetTermOptions(element, context.DisplayType, taxonomyId, tokenData).ToArray(); context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}__{1}", typeName, element.InputType)); context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}_{1}__{2}", typeName, displayType, element.InputType)); }
protected override void OnDisplaying(VectorImage element, ElementDisplayingContext context) { var mediaId = element.MediaId; var vectorImage = mediaId != null?GetVectorImage(mediaId.Value) : default(VectorImagePart); context.ElementShape.VectorImagePart = vectorImage; }
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; }
protected override void OnDisplaying(Form element, ElementDisplayingContext context) { var controller = _currentControllerAccessor.CurrentController; var modelState = controller != null?controller.FetchModelState(element) : default(ModelStateDictionary); if (modelState != null && !modelState.IsValid) { // Read any posted values from the previous request. var values = controller.FetchPostedValues(element); _formService.ReadElementValues(element, new NameValueCollectionValueProvider(values, _cultureAccessor.CurrentCulture)); // Add any model validation errors from the previous request. controller.ApplyAnyModelErrors(element, modelState); } // Assign the binding content type to each element within the form element. foreach (var child in element.Elements.Flatten().Where(x => x is FormElement).Cast <FormElement>()) { child.FormBindingContentType = element.CreateContent == true ? element.FormBindingContentType : default(string); } // Set tokenized properties. var tokenData = context.GetTokenData(); context.ElementShape.ProcessedAction = _tokenizer.Replace(element.Action, tokenData); }
protected override void OnDisplaying(Carousel element, ElementDisplayingContext context) { var contentItemIds = RemoveCurrentContentItemId(element.MediaItemIds, context.Content.Id); var contentItems = GetContentItems(contentItemIds).Select(x => x.As <MediaPart>().MediaUrl).ToArray(); context.ElementShape.ContentItems = contentItems; }
protected override void OnDisplaying(TextArea element, ElementDisplayingContext context) { context.ElementShape.ProcessedName = _tokenizer.Replace(element.Name, context.GetTokenData()); context.ElementShape.ProcessedLabel = _tokenizer.Replace(element.Label, context.GetTokenData(), new ReplaceOptions { Encoding = ReplaceOptions.NoEncode }); context.ElementShape.ProcessedValue = element.RuntimeValue; }
protected override void OnDisplaying(Notifications element, ElementDisplayingContext context) { var httpContext = _httpContextAccessor.Current(); var messageEntries = httpContext.Items[NotifyFilter.TempDataMessages] as IList <NotifyEntry> ?? new List <NotifyEntry>(); var shapes = messageEntries.Select(x => New.Message(x)).ToList(); context.ElementShape.Messages = shapes; }
protected override void OnDisplaying(Paragraph element, ElementDisplayingContext context) { var text = element.Content; var flavor = "html"; var processedText = ApplyHtmlFilters(text, flavor); context.ElementShape.ProcessedText = processedText; }
private void Displaying(ElementDisplayingContext context, Element element) { var drivers = _elementManager.Value.GetDrivers(element); foreach (var driver in drivers) { driver.Displaying(context); } }
protected override void OnDisplaying(MediaItem element, ElementDisplayingContext context) { var contentItemIds = RemoveCurrentContentItemId(element.MediaItemIds, context.Content.Id); var displayType = context.DisplayType != "Design" ? element.DisplayType : "Thumbnail"; var contentItems = GetContentItems(contentItemIds).ToArray(); var contentItemShapes = contentItems.Select(x => _contentManager.BuildDisplay(x, displayType)).ToArray(); context.ElementShape.ContentItems = contentItemShapes; }
private void Displaying(ElementDisplayingContext context, ShapeDescriptor shapeDescriptor) { var shapeType = shapeDescriptor.ShapeType; var shape = (dynamic)_shapeFactory.Value.Create(shapeType); shape.Element = context.Element; ElementShapes.AddTokenizers(shape, _tokenizer.Value); context.ElementShape.Snippet = shape; }
protected override void OnDisplaying(Taxonomy element, ElementDisplayingContext context) { var taxonomyId = element.TaxonomyId; var typeName = element.GetType().Name; var displayType = context.DisplayType; context.ElementShape.TermOptions = GetTermOptions(element, taxonomyId).ToArray(); context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}__{1}", typeName, element.InputType)); context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}_{1}__{2}", typeName, displayType, element.InputType)); }
protected override void OnDisplaying(ContentItem element, ElementDisplayingContext context) { var contentItemIds = context.Content != null?RemoveCurrentContentItemId(element.ContentItemIds, context.Content.Id) : element.ContentItemIds; var displayType = element.DisplayType; var contentItems = GetContentItems(contentItemIds).ToArray(); var contentItemShapes = contentItems.Select(x => _contentManager.BuildDisplay(x, displayType)).ToArray(); context.ElementShape.ContentItems = contentItemShapes; }
protected override void OnDisplaying(Enumeration element, ElementDisplayingContext context) { var tokenizedOptions = _tokenizer.Replace(element.Options).ToArray(); var typeName = element.GetType().Name; var displayType = context.DisplayType; context.ElementShape.TokenizedOptions = tokenizedOptions; context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}__{1}", typeName, element.InputType)); context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}_{1}__{2}", typeName, displayType, element.InputType)); }
protected override void OnDisplaying(Shape element, ElementDisplayingContext context) { if (String.IsNullOrWhiteSpace(element.ShapeType)) { return; } var shape = _shapeFactory.Create(element.ShapeType); context.ElementShape.Shape = shape; }
protected override void OnDisplaying(Query element, ElementDisplayingContext context) { var queryId = element.QueryId; var typeName = element.GetType().Name; var category = element.Category.ToSafeName(); var displayType = context.DisplayType; context.ElementShape.Options = GetOptions(element, queryId).ToArray(); context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}__{1}", typeName, element.InputType)); context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}_{1}__{2}", typeName, displayType, element.InputType)); }
protected override void OnDisplaying(Elements.ImageResizer element, ElementDisplayingContext context) { var imageId = element.MediaId; var image = imageId != null?GetImage(imageId.Value) : default(ImagePart); context.ElementShape.ImagePart = image; context.ElementShape.Width = element.Width; context.ElementShape.Height = element.Height; context.ElementShape.Etc = element.Etc; context.ElementShape.Responsive = element.Responsive; }
public static IDictionary <string, object> GetTokenData(this ElementDisplayingContext context) { var data = new Dictionary <string, object>(); if (context.Content != null) { data["Content"] = context.Content.ContentItem; } return(data); }
protected override void OnDisplaying(HiddenField element, ElementDisplayingContext context) { var tokenData = context.GetTokenData(); context.ElementShape.ProcessedName = _tokenizer.Replace(element.Name, tokenData); // Allow the initial value to be tokenized. // If a value was posted, use that value instead (without tokenizing it). context.ElementShape.ProcessedValue = element.PostedValue != null ? element.PostedValue : _tokenizer.Replace(element.RuntimeValue, tokenData, new ReplaceOptions { Encoding = ReplaceOptions.NoEncode }); }
protected override void OnDisplaying(ReCaptcha element, ElementDisplayingContext context) { var workContext = _services.WorkContext; var currentSite = workContext.CurrentSite; var settings = currentSite.As <ReCaptchaSettingsPart>(); if (settings.TrustAuthenticatedUsers && workContext.CurrentUser != null) { return; } context.ElementShape.PublicKey = settings.PublicKey; }
protected override void OnDisplaying(Query element, ElementDisplayingContext context) { var queryId = element.QueryId; var typeName = element.GetType().Name; var displayType = context.DisplayType; var tokenData = context.GetTokenData(); context.ElementShape.ProcessedName = _tokenizer.Replace(element.Name, tokenData); context.ElementShape.ProcessedLabel = _tokenizer.Replace(element.Label, tokenData); context.ElementShape.Options = GetOptions(element, context.DisplayType, queryId, tokenData).ToArray(); context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}__{1}", typeName, element.InputType)); context.ElementShape.Metadata.Alternates.Add(String.Format("Elements_{0}_{1}__{2}", typeName, displayType, element.InputType)); }
protected override void OnDisplaying(BootstrapContentItem element, ElementDisplayingContext context) { var contentItemIds = context.Content != null?RemoveCurrentContentItemId(element.ContentItemIds, context.Content.Id) : element.ContentItemIds; var displayType = element.DisplayType; var contentItems = GetContentItems(contentItemIds).ToArray(); var contentItemViewModels = contentItems.Select(x => new ContentItemViewModel { ContentShape = _contentManager.BuildDisplay(x, displayType), Title = x.As <TitlePart>() != null ? x.As <TitlePart>().Title : string.Empty }).ToList(); context.ElementShape.ContentItems = contentItemViewModels; }
protected override void OnDisplaying(SlickSlider element, ElementDisplayingContext context) { var viewModel = new SlickSliderElementViewModel(); var contentItemIds = RemoveCurrentContentItemId(element.MediaItemIds, context.Content.Id); var contentItems = GetContentItems(contentItemIds).ToArray(); viewModel.ContentItems = contentItems; viewModel.SliderId = element.SliderId; viewModel.Config = GetConfigObjectFromString(element.Config); context.ElementShape.ViewModel = viewModel; }
protected override void OnDisplaying(ReCaptcha element, ElementDisplayingContext context) { var workContext = _services.WorkContext; var currentSite = workContext.CurrentSite; var settings = currentSite.As <ReCaptchaSettingsPart>(); if (settings.TrustAuthenticatedUsers && workContext.CurrentUser != null) { return; } context.ElementShape.ProcessedName = _tokenizer.Replace(element.Name, context.GetTokenData()); context.ElementShape.PublicKey = settings.PublicKey; }