public override async Task <IDisplayResult> UpdateAsync(ContentTypePartDefinition contentTypePartDefinition, UpdateTypePartEditorContext context) { if (!String.Equals(nameof(HtmlBodyPart), contentTypePartDefinition.PartDefinition.Name, StringComparison.Ordinal)) { return(null); } if (contentTypePartDefinition.Editor() == "Trumbowyg") { var model = new TrumbowygSettingsViewModel(); var settings = new HtmlBodyPartTrumbowygEditorSettings(); await context.Updater.TryUpdateModelAsync(model, Prefix); settings.InsertMediaWithUrl = model.InsertMediaWithUrl; try { settings.Options = model.Options; JObject.Parse(settings.Options); } catch { context.Updater.ModelState.AddModelError(Prefix, S["The options are written in an incorrect format."]); return(Edit(contentTypePartDefinition, context.Updater)); } context.Builder.WithSettings(settings); } return(Edit(contentTypePartDefinition, context.Updater)); }
public override async Task <IDisplayResult> UpdateAsync(ContentTypePartDefinition contentTypePartDefinition, UpdateTypePartEditorContext context) { if (contentTypePartDefinition.Editor() == "Trumbowyg") { var model = new TrumbowygSettingsViewModel(); var settings = new HtmlBodyPartTrumbowygEditorSettings(); await context.Updater.TryUpdateModelAsync(model, Prefix); if (!model.Options.IsJson()) { context.Updater.ModelState.AddModelError(Prefix + "." + nameof(TrumbowygSettingsViewModel.Options), S["The options are written in an incorrect format."]); } else { settings.InsertMediaWithUrl = model.InsertMediaWithUrl; settings.Options = model.Options; context.Builder.WithSettings(settings); } } return(Edit(contentTypePartDefinition, context.Updater)); }