diff --git a/src/OrchardCore.Modules/OrchardCore.ContentFields/Views/HtmlField-Trumbowyg.Edit.cshtml b/src/OrchardCore.Modules/OrchardCore.ContentFields/Views/HtmlField-Trumbowyg.Edit.cshtml index 25e5ce77bb9..5a797238e23 100644 --- a/src/OrchardCore.Modules/OrchardCore.ContentFields/Views/HtmlField-Trumbowyg.Edit.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.ContentFields/Views/HtmlField-Trumbowyg.Edit.cshtml @@ -83,5 +83,4 @@ else $(document).trigger('contentpreview:render'); }); }); - $.trumbowyg.svgPath = '@Url.Content("~/OrchardCore.Resources/Styles/ui/icons.svg")'; diff --git a/src/OrchardCore.Modules/OrchardCore.Html/Views/HtmlBodyPart-Trumbowyg.Edit.cshtml b/src/OrchardCore.Modules/OrchardCore.Html/Views/HtmlBodyPart-Trumbowyg.Edit.cshtml index cfd6d325680..fa3756762eb 100644 --- a/src/OrchardCore.Modules/OrchardCore.Html/Views/HtmlBodyPart-Trumbowyg.Edit.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.Html/Views/HtmlBodyPart-Trumbowyg.Edit.cshtml @@ -76,5 +76,4 @@ else $(document).trigger('contentpreview:render'); }); }); - $.trumbowyg.svgPath = '@Url.Content("~/OrchardCore.Resources/Styles/ui/icons.svg")'; diff --git a/src/OrchardCore.Modules/OrchardCore.Html/Views/HtmlBodyPart-Wysiwyg.Edit.cshtml b/src/OrchardCore.Modules/OrchardCore.Html/Views/HtmlBodyPart-Wysiwyg.Edit.cshtml index db4a3b7d97b..f9ea79607ab 100644 --- a/src/OrchardCore.Modules/OrchardCore.Html/Views/HtmlBodyPart-Wysiwyg.Edit.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.Html/Views/HtmlBodyPart-Wysiwyg.Edit.cshtml @@ -13,6 +13,7 @@ + @await DisplayAsync(await New.ShortcodeModal()) diff --git a/src/OrchardCore.Modules/OrchardCore.Resources/Assets.json b/src/OrchardCore.Modules/OrchardCore.Resources/Assets.json index 6e68adb12c1..edf66392711 100644 --- a/src/OrchardCore.Modules/OrchardCore.Resources/Assets.json +++ b/src/OrchardCore.Modules/OrchardCore.Resources/Assets.json @@ -184,6 +184,13 @@ ], "output": "wwwroot/Styles/trumbowyg/trumbowyg.css" }, + { + "copy": true, + "inputs": [ + "node_modules/trumbowyg/dist/ui/icons.svg" + ], + "output": "wwwroot/Scripts/trumbowyg/ui/icons.svg" + }, { "generateRTL": true, "inputs": [ diff --git a/src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/js/trumbowyg.theme.js b/src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/js/trumbowyg.theme.js index fcf681b2a2a..f616685e92a 100644 --- a/src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/js/trumbowyg.theme.js +++ b/src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/js/trumbowyg.theme.js @@ -1,6 +1,12 @@ document.addEventListener('DOMContentLoaded', function () { - function setTheme() { - var isDark = getPreferredTheme() == darkThemeName; + const setTheme = () => { + var isDark = false; + + if (typeof getPreferredTheme === 'function') { + isDark = getPreferredTheme() == (darkThemeName || 'dark'); + } else { + isDark = window.matchMedia('(prefers-color-scheme: dark)').matches; + } document .querySelectorAll('.trumbowyg') diff --git a/src/OrchardCore.Modules/OrchardCore.Resources/ResourceManagementOptionsConfiguration.cs b/src/OrchardCore.Modules/OrchardCore.Resources/ResourceManagementOptionsConfiguration.cs index 9d762707b56..7acdf8b7aa3 100644 --- a/src/OrchardCore.Modules/OrchardCore.Resources/ResourceManagementOptionsConfiguration.cs +++ b/src/OrchardCore.Modules/OrchardCore.Resources/ResourceManagementOptionsConfiguration.cs @@ -434,7 +434,7 @@ ResourceManifest BuildManifest() manifest .DefineScript("trumbowyg-theme") .SetUrl("~/OrchardCore.Resources/Scripts/trumbowyg/trumbowyg.theme.min.js", "~/OrchardCore.Resources/Scripts/trumbowyg/trumbowyg.theme.js") - .SetDependencies("trumbowyg", "theme-manager") + .SetDependencies("trumbowyg", "theme-head") .SetVersion("1.0.0"); manifest diff --git a/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/trumbowyg.theme.js b/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/trumbowyg.theme.js index 0f862b38895..f7306e51ce2 100644 --- a/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/trumbowyg.theme.js +++ b/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/trumbowyg.theme.js @@ -4,12 +4,17 @@ */ document.addEventListener('DOMContentLoaded', function () { - function setTheme() { - var isDark = getPreferredTheme() == darkThemeName; + var setTheme = function setTheme() { + var isDark = false; + if (typeof getPreferredTheme === 'function') { + isDark = getPreferredTheme() == (darkThemeName || 'dark'); + } else { + isDark = window.matchMedia('(prefers-color-scheme: dark)').matches; + } document.querySelectorAll('.trumbowyg').forEach(function (element) { return element.parentElement.classList.toggle('trumbowyg-dark', isDark); }); - } + }; var mutationObserver = new MutationObserver(setTheme); mutationObserver.observe(document.documentElement, { attributes: true, diff --git a/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/trumbowyg.theme.min.js b/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/trumbowyg.theme.min.js index 4d4102d1267..5ade028ecd2 100644 --- a/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/trumbowyg.theme.min.js +++ b/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/trumbowyg.theme.min.js @@ -1 +1 @@ -document.addEventListener("DOMContentLoaded",(function(){function e(){var e=getPreferredTheme()==darkThemeName;document.querySelectorAll(".trumbowyg").forEach((function(t){return t.parentElement.classList.toggle("trumbowyg-dark",e)}))}new MutationObserver(e).observe(document.documentElement,{attributes:!0,childList:!0,subtree:!0}),e()})); +document.addEventListener("DOMContentLoaded",(function(){var e=function(){var e=!1;e="function"==typeof getPreferredTheme?getPreferredTheme()==(darkThemeName||"dark"):window.matchMedia("(prefers-color-scheme: dark)").matches,document.querySelectorAll(".trumbowyg").forEach((function(t){return t.parentElement.classList.toggle("trumbowyg-dark",e)}))};new MutationObserver(e).observe(document.documentElement,{attributes:!0,childList:!0,subtree:!0}),e()})); diff --git a/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Styles/ui/icons.svg b/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/ui/icons.svg similarity index 53% rename from src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Styles/ui/icons.svg rename to src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/ui/icons.svg index 422409663f4..bc04036c0d5 100644 --- a/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Styles/ui/icons.svg +++ b/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/trumbowyg/ui/icons.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/ui/icons.svg b/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/ui/icons.svg deleted file mode 100644 index 5c0f4f6495d..00000000000 --- a/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/ui/icons.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Themes/Assets.json b/src/OrchardCore.Modules/OrchardCore.Themes/Assets.json index 3c15ac19e02..90f543a5c6e 100644 --- a/src/OrchardCore.Modules/OrchardCore.Themes/Assets.json +++ b/src/OrchardCore.Modules/OrchardCore.Themes/Assets.json @@ -7,7 +7,21 @@ }, { "inputs": [ - "Assets/js/theme-manager.js" + "Assets/js/constants.js", + "Assets/js/theme-loader.js" + ], + "watch": [ + "Assets/js/constants.js", + "Assets/js/theme-loader.js" + ], + "output": "wwwroot/Scripts/theme-head.js" + }, + { + "inputs": [ + "Assets/js/theme-toggler.js" + ], + "watch": [ + "Assets/js/theme-toggler.js" ], "output": "wwwroot/Scripts/theme-manager.js" } diff --git a/src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/theme-manager.js b/src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/constants.js similarity index 84% rename from src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/theme-manager.js rename to src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/constants.js index 258f3d6b8ab..0e7f349cc68 100644 --- a/src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/theme-manager.js +++ b/src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/constants.js @@ -1,9 +1,8 @@ const darkThemeName = 'dark'; const lightThemeName = 'light'; -const tenantName = document.currentScript.dataset.tenantName; const themeStoreKeySuffix = 'theme'; -const getTenantName = () => tenantName || document.documentElement.getAttribute('data-tenant') || 'default'; +const getTenantName = () => document.documentElement.getAttribute('data-tenant') || 'default'; const getStoreKeySuffix = () => themeStoreKeySuffix || 'theme'; const getStoreKey = () => `${getTenantName()}-${getStoreKeySuffix()}`; const getStoredTheme = () => localStorage.getItem(getStoreKey()); diff --git a/src/OrchardCore.Themes/TheAdmin/Assets/js/header/theme/themeLoader.js b/src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/theme-loader.js similarity index 79% rename from src/OrchardCore.Themes/TheAdmin/Assets/js/header/theme/themeLoader.js rename to src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/theme-loader.js index f384efca94a..fa28782a978 100644 --- a/src/OrchardCore.Themes/TheAdmin/Assets/js/header/theme/themeLoader.js +++ b/src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/theme-loader.js @@ -1,5 +1,3 @@ -// We add some classes to the body tag to restore the sidebar to the state is was before reload. -// That state was saved to localstorage by userPreferencesPersistor.js // We need to apply the classes BEFORE the page is rendered. // That is why we use a MutationObserver instead of document.Ready(). const themeObserver = new MutationObserver(function (mutations) { diff --git a/src/OrchardCore.Themes/TheAdmin/Assets/js/header/theme/toggleTheme.js b/src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/theme-toggler.js similarity index 100% rename from src/OrchardCore.Themes/TheAdmin/Assets/js/header/theme/toggleTheme.js rename to src/OrchardCore.Modules/OrchardCore.Themes/Assets/js/theme-toggler.js diff --git a/src/OrchardCore.Modules/OrchardCore.Themes/ResourceManagementOptionsConfiguration.cs b/src/OrchardCore.Modules/OrchardCore.Themes/ResourceManagementOptionsConfiguration.cs index b40f6305d00..9665c795f7b 100644 --- a/src/OrchardCore.Modules/OrchardCore.Themes/ResourceManagementOptionsConfiguration.cs +++ b/src/OrchardCore.Modules/OrchardCore.Themes/ResourceManagementOptionsConfiguration.cs @@ -1,28 +1,30 @@ using Microsoft.Extensions.Options; -using OrchardCore.Environment.Shell; using OrchardCore.ResourceManagement; namespace OrchardCore.Themes; public sealed class ResourceManagementOptionsConfiguration : IConfigureOptions { - private readonly ShellSettings _shellSettings; + private static readonly ResourceManifest _manifest; - public ResourceManagementOptionsConfiguration(ShellSettings shellSettings) + static ResourceManagementOptionsConfiguration() { - _shellSettings = shellSettings; - } + _manifest = new ResourceManifest(); - public void Configure(ResourceManagementOptions options) - { - var manifest = new ResourceManifest(); + _manifest + .DefineScript("theme-head") + .SetUrl("~/OrchardCore.Themes/Scripts/theme-head.min.js", "~/OrchardCore.Themes/Scripts/theme-head.js") + .SetVersion("1.0.0"); - manifest + _manifest .DefineScript("theme-manager") - .SetAttribute("data-tenant-name", _shellSettings.Name) .SetUrl("~/OrchardCore.Themes/Scripts/theme-manager.min.js", "~/OrchardCore.Themes/Scripts/theme-manager.js") + .SetDependencies("theme-head") .SetVersion("1.0.0"); + } - options.ResourceManifests.Add(manifest); + public void Configure(ResourceManagementOptions options) + { + options.ResourceManifests.Add(_manifest); } } diff --git a/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-head.js b/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-head.js new file mode 100644 index 00000000000..d0f596fdf59 --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-head.js @@ -0,0 +1,59 @@ +/* +** NOTE: This file is generated by Gulp and should not be edited directly! +** Any changes made directly to this file will be overwritten next time its asset group is processed by Gulp. +*/ + +var darkThemeName = 'dark'; +var lightThemeName = 'light'; +var themeStoreKeySuffix = 'theme'; +var getTenantName = function getTenantName() { + return document.documentElement.getAttribute('data-tenant') || 'default'; +}; +var getStoreKeySuffix = function getStoreKeySuffix() { + return themeStoreKeySuffix || 'theme'; +}; +var getStoreKey = function getStoreKey() { + return "".concat(getTenantName(), "-").concat(getStoreKeySuffix()); +}; +var getStoredTheme = function getStoredTheme() { + return localStorage.getItem(getStoreKey()); +}; +var setStoredTheme = function setStoredTheme(theme) { + return localStorage.setItem(getStoreKey(), theme); +}; +var isDarkMedia = function isDarkMedia() { + return window.matchMedia('(prefers-color-scheme: dark)').matches; +}; +var getPreferredTheme = function getPreferredTheme() { + var storedTheme = getStoredTheme(); + if (storedTheme) { + return storedTheme; + } + return isDarkMedia() ? darkThemeName : lightThemeName; +}; +var setTheme = function setTheme(theme) { + if (theme === 'auto') { + document.documentElement.setAttribute('data-bs-theme', isDarkMedia() ? darkThemeName : lightThemeName); + } else { + document.documentElement.setAttribute('data-bs-theme', theme); + } +}; +// We need to apply the classes BEFORE the page is rendered. +// That is why we use a MutationObserver instead of document.Ready(). +var themeObserver = new MutationObserver(function (mutations) { + for (var i = 0; i < mutations.length; i++) { + for (var j = 0; j < mutations[i].addedNodes.length; j++) { + if (mutations[i].addedNodes[j].tagName == 'BODY') { + setTheme(getPreferredTheme()); + + // we're done: + themeObserver.disconnect(); + } + ; + } + } +}); +themeObserver.observe(document.documentElement, { + childList: true, + subtree: true +}); \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-head.min.js b/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-head.min.js new file mode 100644 index 00000000000..e09c488f962 --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-head.min.js @@ -0,0 +1 @@ +var darkThemeName="dark",lightThemeName="light",themeStoreKeySuffix="theme",getTenantName=function(){return document.documentElement.getAttribute("data-tenant")||"default"},getStoreKeySuffix=function(){return themeStoreKeySuffix||"theme"},getStoreKey=function(){return"".concat(getTenantName(),"-").concat(getStoreKeySuffix())},getStoredTheme=function(){return localStorage.getItem(getStoreKey())},setStoredTheme=function(e){return localStorage.setItem(getStoreKey(),e)},isDarkMedia=function(){return window.matchMedia("(prefers-color-scheme: dark)").matches},getPreferredTheme=function(){var e=getStoredTheme();return e||(isDarkMedia()?darkThemeName:lightThemeName)},setTheme=function(e){"auto"===e?document.documentElement.setAttribute("data-bs-theme",isDarkMedia()?darkThemeName:lightThemeName):document.documentElement.setAttribute("data-bs-theme",e)},themeObserver=new MutationObserver((function(e){for(var t=0;t 1 && arguments[1] !== undefined ? arguments[1] : false; + var themeSwitcher = document.querySelector('#bd-theme'); + if (!themeSwitcher) { + return; + } + var themeSwitcherText = document.querySelector('#bd-theme-text'); + var activeThemeIcon = document.querySelector('.theme-icon-active'); + var btnToActive = document.querySelector("[data-bs-theme-value=\"".concat(theme, "\"]")); + var svgOfActiveBtn = btnToActive.querySelector('.theme-icon'); + btnToActive.classList.add('active'); + btnToActive.setAttribute('aria-pressed', 'true'); + activeThemeIcon.innerHTML = svgOfActiveBtn.innerHTML; + var themeSwitcherLabel = "".concat(themeSwitcherText.textContent, " (").concat(btnToActive.dataset.bsThemeValue, ")"); + themeSwitcher.setAttribute('aria-label', themeSwitcherLabel); + var btnsToInactive = document.querySelectorAll("[data-bs-theme-value]:not([data-bs-theme-value=\"".concat(theme, "\"])")); + for (var i = 0; i < btnsToInactive.length; i++) { + btnsToInactive[i].classList.remove('active'); + btnsToInactive[i].setAttribute('aria-pressed', 'false'); + } + if (focus) { + themeSwitcher.focus(); + } + }; + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', function () { + var storedTheme = getStoredTheme(); + if (storedTheme !== lightThemeName && storedTheme !== darkThemeName) { + setTheme(getPreferredTheme()); + } + }); + window.addEventListener('DOMContentLoaded', function () { + showActiveTheme(getPreferredTheme()); + document.querySelectorAll('[data-bs-theme-value]').forEach(function (toggle) { + toggle.addEventListener('click', function () { + var theme = toggle.getAttribute('data-bs-theme-value'); + setStoredTheme(theme); + setTheme(theme); + showActiveTheme(theme, true); + }); + }); + }); +})(); \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-manager.min.js b/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-manager.min.js index fba3ba924e5..f4537733e23 100644 --- a/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-manager.min.js +++ b/src/OrchardCore.Modules/OrchardCore.Themes/wwwroot/Scripts/theme-manager.min.js @@ -1 +1 @@ -var darkThemeName="dark",lightThemeName="light",tenantName=document.currentScript.dataset.tenantName,themeStoreKeySuffix="theme",getTenantName=function(){return tenantName||document.documentElement.getAttribute("data-tenant")||"default"},getStoreKeySuffix=function(){return themeStoreKeySuffix||"theme"},getStoreKey=function(){return"".concat(getTenantName(),"-").concat(getStoreKeySuffix())},getStoredTheme=function(){return localStorage.getItem(getStoreKey())},setStoredTheme=function(e){return localStorage.setItem(getStoreKey(),e)},isDarkMedia=function(){return window.matchMedia("(prefers-color-scheme: dark)").matches},getPreferredTheme=function(){var e=getStoredTheme();return e||(isDarkMedia()?darkThemeName:lightThemeName)},setTheme=function(e){"auto"===e?document.documentElement.setAttribute("data-bs-theme",isDarkMedia()?darkThemeName:lightThemeName):document.documentElement.setAttribute("data-bs-theme",e)}; +!function(){"use strict";var e=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=document.querySelector("#bd-theme");if(a){var r=document.querySelector("#bd-theme-text"),n=document.querySelector(".theme-icon-active"),c=document.querySelector('[data-bs-theme-value="'.concat(e,'"]')),o=c.querySelector(".theme-icon");c.classList.add("active"),c.setAttribute("aria-pressed","true"),n.innerHTML=o.innerHTML;var d="".concat(r.textContent," (").concat(c.dataset.bsThemeValue,")");a.setAttribute("aria-label",d);for(var i=document.querySelectorAll('[data-bs-theme-value]:not([data-bs-theme-value="'.concat(e,'"])')),s=0;s - + @if (Orchard.IsRightToLeft()) diff --git a/src/OrchardCore.Themes/TheAdmin/Views/Layout-TwoFactor.cshtml b/src/OrchardCore.Themes/TheAdmin/Views/Layout-TwoFactor.cshtml index 27d9e4d4e82..17d077ef88b 100644 --- a/src/OrchardCore.Themes/TheAdmin/Views/Layout-TwoFactor.cshtml +++ b/src/OrchardCore.Themes/TheAdmin/Views/Layout-TwoFactor.cshtml @@ -13,7 +13,7 @@ - + @if (Orchard.IsRightToLeft()) diff --git a/src/OrchardCore.Themes/TheAdmin/wwwroot/js/TheAdmin-main.js b/src/OrchardCore.Themes/TheAdmin/wwwroot/js/TheAdmin-main.js index 328a58a4b11..86457393ed5 100644 --- a/src/OrchardCore.Themes/TheAdmin/wwwroot/js/TheAdmin-main.js +++ b/src/OrchardCore.Themes/TheAdmin/wwwroot/js/TheAdmin-main.js @@ -3,6 +3,20 @@ ** Any changes made directly to this file will be overwritten next time its asset group is processed by Gulp. */ +themeStoreKeySuffix = 'admintheme'; +var getAdminPreferenceKey = function getAdminPreferenceKey() { + return getTenantName() + '-adminPreferences'; +}; +var getAdminPreferences = function getAdminPreferences() { + return JSON.parse(localStorage.getItem(getAdminPreferenceKey())); +}; +var setAdminPreferences = function setAdminPreferences(adminPreferences) { + var key = getAdminPreferenceKey(); + localStorage.setItem(key, JSON.stringify(adminPreferences)); + Cookies.set(key, JSON.stringify(adminPreferences), { + expires: 360 + }); +}; // We add some classes to the body tag to restore the sidebar to the state is was before reload. // That state was saved to localstorage by userPreferencesPersistor.js // We need to apply the classes BEFORE the page is rendered. diff --git a/src/OrchardCore.Themes/TheAdmin/wwwroot/js/TheAdmin-main.min.js b/src/OrchardCore.Themes/TheAdmin/wwwroot/js/TheAdmin-main.min.js index d5eab42b250..8d56c522993 100644 --- a/src/OrchardCore.Themes/TheAdmin/wwwroot/js/TheAdmin-main.min.js +++ b/src/OrchardCore.Themes/TheAdmin/wwwroot/js/TheAdmin-main.min.js @@ -1 +1 @@ -var isCompactExplicit=!1,observer=new MutationObserver((function(e){for(var t=0;t - + @if (Orchard.IsRightToLeft()) { @@ -36,6 +36,7 @@ } +