diff --git a/src/Orchard.Web/Modules/Orchard.Localization/Services/AdminDirectionalityFactory.cs b/src/Orchard.Web/Modules/Orchard.Localization/Services/AdminDirectionalityFactory.cs index 433e1daaa..be17f2efc 100644 --- a/src/Orchard.Web/Modules/Orchard.Localization/Services/AdminDirectionalityFactory.cs +++ b/src/Orchard.Web/Modules/Orchard.Localization/Services/AdminDirectionalityFactory.cs @@ -40,8 +40,8 @@ namespace Orchard.Localization.Services { if (!IsActivable()) { return; } - - if (context.ShapeMetadata.Type != "Zone") + + if (context.ShapeMetadata.Type != "EditorTemplate") return; ContentItem contentItem = context.Shape.ContentItem; @@ -62,5 +62,7 @@ namespace Orchard.Localization.Services { _workContext.Layout.Content.Classes.Add(className); }); } + + } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Localization/Views/Admin/Translate.cshtml b/src/Orchard.Web/Modules/Orchard.Localization/Views/Admin/Translate.cshtml index 0dc051814..a525f287a 100644 --- a/src/Orchard.Web/Modules/Orchard.Localization/Views/Admin/Translate.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Localization/Views/Admin/Translate.cshtml @@ -46,7 +46,7 @@ contentZone.removeClass("content-" + oldClass); contentZone.addClass("content-" + optionDirectionality); - $(this).trigger("localization.ui.directionalitychanged"); + $(document).trigger("localization.ui.directionalitychanged", optionDirectionality); }); })(jQuery); //]]> diff --git a/src/Orchard.Web/Modules/Orchard.Localization/Views/EditorTemplates/Parts/Localization.ContentTranslations.Edit.cshtml b/src/Orchard.Web/Modules/Orchard.Localization/Views/EditorTemplates/Parts/Localization.ContentTranslations.Edit.cshtml index 52e5bf809..04c2f8f39 100644 --- a/src/Orchard.Web/Modules/Orchard.Localization/Views/EditorTemplates/Parts/Localization.ContentTranslations.Edit.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Localization/Views/EditorTemplates/Parts/Localization.ContentTranslations.Edit.cshtml @@ -12,25 +12,60 @@
@T("This is the {0} variation of the content", - BuildSelectedCultureList(Html.FieldIdFor(m => m.SelectedCulture), siteCultures, Model.SelectedCulture)) + BuildSelectedCultureList( + Html.FieldIdFor(m => m.SelectedCulture), + Html.FieldNameFor(m => m.SelectedCulture), + siteCultures, + Model.SelectedCulture))
} + + @if (Model.ContentItem.ContentItem.Id > 0 && Model.SelectedCulture != null && Model.ContentLocalizations.Localizations.Count() == 0) { +
+ +
+ @T("This is the {0} variation of content.", + Html.Encode(Model.SelectedCulture)) +
+ @Html.Hidden("SelectedCulture", Model.SelectedCulture) +
+ } + + @if (Model.ContentItem.ContentItem.Id > 0 && Model.SelectedCulture != null && Model.ContentLocalizations.Localizations.Count() > 0) { +
+ +
+ @T("This is the {0} variation of {1}.", + Html.Encode(Model.SelectedCulture), + Html.ItemEditLink(Model.MasterContentItem ?? Model.ContentItem)) +
+ @Html.Hidden("SelectedCulture", Model.SelectedCulture) +
+ if (Model.ContentLocalizations.Localizations.Count() > 0) { +
+
@T("Other translations:")
+
+ @Html.UnorderedList(Model.ContentLocalizations.Localizations, (c, i) => Html.ItemEditLink(c.Culture.Culture, c), "localizations") +
+
+ } + } @if (Model.SelectedCulture != null && !siteCultures.All(c => c == Model.SelectedCulture || Model.ContentLocalizations.Localizations.Any(l => c == l.Culture.Culture))) {
@Html.ActionLink(T("+ New translation").Text, "Translate", "Admin", new { area = "Orchard.Localization", id = Model.ContentItem.Id }, null)
} @functions{ - private string BuildSelectedCultureList(string name, IEnumerable siteCultures, string culture) { + private string BuildSelectedCultureList(string id, string name, IEnumerable siteCultures, string culture) { TagBuilder selectTag = new TagBuilder("select"); - selectTag.Attributes["id"] = name; + selectTag.Attributes["id"] = id; selectTag.Attributes["name"] = name; foreach (var siteCulture in siteCultures) { TagBuilder optionTag = new TagBuilder("option"); optionTag.Attributes["data-content-dir"] = CultureInfo.GetCultureInfo(siteCulture).TextInfo.IsRightToLeft ? "rtl" : "ltr"; - optionTag.Attributes["value"] = siteCulture; + //optionTag.Attributes["value"] = siteCulture; optionTag.SetInnerText(siteCulture); selectTag.InnerHtml += optionTag.ToString(); } @@ -56,7 +91,7 @@ contentZone.removeClass("content-" + oldClass); contentZone.addClass("content-" + optionDirectionality); - $(this).trigger("localization.ui.directionalitychanged"); + $(document).trigger("localization.ui.directionalitychanged", optionDirectionality); }); })(jQuery); //]]> diff --git a/src/Orchard.Web/Modules/TinyMce/Scripts/orchard-tinymce.js b/src/Orchard.Web/Modules/TinyMce/Scripts/orchard-tinymce.js index 955d9bbf2..8d24f8638 100644 --- a/src/Orchard.Web/Modules/TinyMce/Scripts/orchard-tinymce.js +++ b/src/Orchard.Web/Modules/TinyMce/Scripts/orchard-tinymce.js @@ -22,5 +22,11 @@ tinyMCE.init({ statusbar: false, skin: 'orchardlightgray', language: language, - directionality: directionality + directionality: directionality, + + setup: function (ed) { + $(document).bind("localization.ui.directionalitychanged", function(event, directionality) { + ed.getBody().dir = directionality; + }); + } }); \ No newline at end of file