protected override EditorResult OnBuildEditor(MediaItem element, ElementEditorContext context) { var viewModel = new ContentItemEditorViewModel(); var editor = context.ShapeFactory.EditorTemplate(TemplateName: "Elements.MediaItem", Model: viewModel); if (context.Updater != null) { context.Updater.TryUpdateModel(viewModel, context.Prefix, null, null); element.MediaItemIds = ContentItem.Deserialize(viewModel.ContentItemIds); element.DisplayType = viewModel.DisplayType; } var contentItemIds = element.MediaItemIds; var displayType = element.DisplayType; var layoutPart = context.Content; var layoutId = layoutPart != null ? layoutPart.Id : 0; viewModel.ContentItems = GetContentItems(RemoveCurrentContentItemId(contentItemIds, layoutId)).ToArray(); viewModel.DisplayType = displayType; return(Editor(context, editor)); }
private static int?ParseImageId(string imageId) { return(ContentItem.Deserialize(imageId).FirstOrDefault()); }