public override IEnumerable<TemplateViewModel> TypePartEditorUpdate(ContentTypePartDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.Name != "ContentWidgetsPart") yield break; var viewModel = new ContentWidgetsViewModel(); updateModel.TryUpdateModel(viewModel, Prefix, null, null); var attachedWidgetIds = viewModel.Widgets.Where(widget => widget.IsAttached).Select(widget => widget.Id); builder.WithSetting("ContentWidgetsTypePartSettings.AttachedWidgetIdsDefinition", IdSerializer.SerializeIds(attachedWidgetIds)); yield return DefinitionTemplate(viewModel, "ContentWidgetsTypePartSettings", Prefix); }
public override IEnumerable<TemplateViewModel> TypePartEditor(ContentTypePartDefinition definition) { if (definition.PartDefinition.Name != "ContentWidgetsPart") yield break; var settings = definition.Settings.GetModel<ContentWidgetsTypePartSettings>(); var attachedWidgetIds = IdSerializer.DeserializeIds(settings.AttachedWidgetIdsDefinition); var viewModel = new ContentWidgetsViewModel(); viewModel.Widgets = (from widget in _widgetService.GetWidgets() select new ContentWidget { Id = widget.Id, Title = widget.Title, IsAttached = attachedWidgetIds.Contains(widget.Id) }).ToList(); yield return DefinitionTemplate(viewModel, "ContentWidgetsTypePartSettings", Prefix); }