diff --git a/src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs b/src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs index fd0726094..cb16d14eb 100644 --- a/src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs +++ b/src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs @@ -17,9 +17,6 @@ namespace Orchard.Core.Common.Drivers { private readonly IEnumerable _htmlFilters; private const string TemplateName = "Parts/Common.Body"; - //todo: change back - or to something better - private const string DefaultTextEditorTemplate = "TinyMceTextEditor"; - private const string PlainTextEditorTemplate = "PlainTextEditor"; public BodyPartDriver(IOrchardServices services, IEnumerable htmlFilters) { _htmlFilters = htmlFilters; @@ -64,7 +61,7 @@ namespace Orchard.Core.Common.Drivers { private static BodyEditorViewModel BuildEditorViewModel(BodyPart part) { return new BodyEditorViewModel { BodyPart = part, - TextEditorTemplate = GetFlavor(part) == "html" ? DefaultTextEditorTemplate : PlainTextEditorTemplate, + EditorFlavor = GetFlavor(part), AddMediaPath = new PathBuilder(part).AddContentType().AddContainerSlug().AddSlug().ToString() }; } diff --git a/src/Orchard.Web/Core/Common/Shapes.cs b/src/Orchard.Web/Core/Common/Shapes.cs index d663fca35..d7b875d49 100644 --- a/src/Orchard.Web/Core/Common/Shapes.cs +++ b/src/Orchard.Web/Core/Common/Shapes.cs @@ -15,6 +15,11 @@ namespace Orchard.Core.Common { public Localizer T { get; set; } public void Discover(ShapeTableBuilder builder) { + builder.Describe("Body_Editor") + .OnDisplaying(displaying => { + string flavor = displaying.Shape.EditorFlavor; + displaying.ShapeMetadata.Alternates.Add("Body_Editor__" + flavor); + }); builder.Describe("Fields_Common_Text") .OnDisplaying(displaying => { string textFieldName = displaying.Shape.Name; diff --git a/src/Orchard.Web/Core/Common/ViewModels/BodyEditorViewModel.cs b/src/Orchard.Web/Core/Common/ViewModels/BodyEditorViewModel.cs index 8d85e80db..68874029f 100644 --- a/src/Orchard.Web/Core/Common/ViewModels/BodyEditorViewModel.cs +++ b/src/Orchard.Web/Core/Common/ViewModels/BodyEditorViewModel.cs @@ -14,7 +14,7 @@ namespace Orchard.Core.Common.ViewModels { set { BodyPart.Record.Format = value; } } - public string TextEditorTemplate { get; set; } + public string EditorFlavor { get; set; } public string AddMediaPath { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/Body.Editor.cshtml b/src/Orchard.Web/Core/Common/Views/Body.Editor.cshtml new file mode 100644 index 000000000..f1997f7b3 --- /dev/null +++ b/src/Orchard.Web/Core/Common/Views/Body.Editor.cshtml @@ -0,0 +1,5 @@ +@using Orchard.Utility.Extensions; +@{ + string editorFlavor = Model.EditorFlavor; +} +@Html.TextArea("Text", (string)Model.Text, 25, 80, new { @class = editorFlavor.HtmlClassify() }) \ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/EditorTemplates/Parts/Common.Body.cshtml b/src/Orchard.Web/Core/Common/Views/EditorTemplates/Parts/Common.Body.cshtml index 580c02232..678bcc0f4 100644 --- a/src/Orchard.Web/Core/Common/Views/EditorTemplates/Parts/Common.Body.cshtml +++ b/src/Orchard.Web/Core/Common/Views/EditorTemplates/Parts/Common.Body.cshtml @@ -2,6 +2,6 @@ @using Orchard.Core.Common.ViewModels;
- @Html.Partial("EditorTemplates/" + Model.TextEditorTemplate, Model) + @Display.Body_Editor(Model) @Html.ValidationMessageFor(m => m.Text)
\ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/EditorTemplates/PlainTextEditor.cshtml b/src/Orchard.Web/Core/Common/Views/EditorTemplates/PlainTextEditor.cshtml deleted file mode 100644 index b4aab5ad4..000000000 --- a/src/Orchard.Web/Core/Common/Views/EditorTemplates/PlainTextEditor.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@model BodyEditorViewModel -@using Orchard.Core.Common.ViewModels; -@Html.TextArea("Text", Model.Text, 25, 80, new { @class = Model.Format }) \ No newline at end of file diff --git a/src/Orchard.Web/Core/Orchard.Core.csproj b/src/Orchard.Web/Core/Orchard.Core.csproj index 5d9ba62af..3e075dcb3 100644 --- a/src/Orchard.Web/Core/Orchard.Core.csproj +++ b/src/Orchard.Web/Core/Orchard.Core.csproj @@ -277,7 +277,7 @@ - + diff --git a/src/Orchard.Web/Modules/TinyMce/TinyMce.csproj b/src/Orchard.Web/Modules/TinyMce/TinyMce.csproj index 92437899b..e39d240b5 100644 --- a/src/Orchard.Web/Modules/TinyMce/TinyMce.csproj +++ b/src/Orchard.Web/Modules/TinyMce/TinyMce.csproj @@ -130,7 +130,7 @@ - + diff --git a/src/Orchard.Web/Modules/TinyMce/Views/EditorTemplates/TinyMceTextEditor.cshtml b/src/Orchard.Web/Modules/TinyMce/Views/Body-Html.Editor.cshtml similarity index 85% rename from src/Orchard.Web/Modules/TinyMce/Views/EditorTemplates/TinyMceTextEditor.cshtml rename to src/Orchard.Web/Modules/TinyMce/Views/Body-Html.Editor.cshtml index 109c0aea0..0664d8e94 100644 --- a/src/Orchard.Web/Modules/TinyMce/Views/EditorTemplates/TinyMceTextEditor.cshtml +++ b/src/Orchard.Web/Modules/TinyMce/Views/Body-Html.Editor.cshtml @@ -1,5 +1,4 @@ -@model Orchard.Core.Common.ViewModels.BodyEditorViewModel -@{ +@{ Script.Require("TinyMce"); } @using(Script.Foot()) { @@ -23,4 +22,4 @@ //]]> } -@Html.TextArea("Text", Model.Text, 25, 80, new { @class = "html" }) +@Html.TextArea("Text", (string)Model.Text, 25, 80, new { @class = "html" })