From c83b91e5c5361cb1597f4d10c4029811d0be2434 Mon Sep 17 00:00:00 2001 From: Dave Reed Date: Thu, 16 Sep 2010 17:35:01 -0700 Subject: [PATCH] Added new ResourceManager and converted modules to use it. See sln notes ResourceManager.txt for open items. --HG-- branch : dev --- .../ContentsLocationResourceManifest.cs | 13 + .../LocationSettings.cshtml | 2 +- .../Resources/LocalizationResourceManifest.cs | 15 + ...on.ContentTranslations.SummaryAdmin.cshtml | 2 +- .../Localization.ContentTranslations.cshtml | 2 +- .../Parts/Localization.Translation.cshtml | 4 +- src/Orchard.Web/Core/Orchard.Core.csproj | 5 + .../PublishLaterResourceManifest.cs | 24 + .../EditorTemplates/Parts/PublishLater.cshtml | 14 +- .../Core/Routable/RoutableResourceManifest.cs | 13 + .../Parts/Routable.RoutePart.cshtml | 2 +- .../Core/Settings/SettingsResourceManifest.cs | 13 + src/Orchard.Web/Core/Shapes/CoreShapes.cs | 55 + .../Core/Shapes/Views/UI/Switchable.ascx | 7 +- .../ArchiveLaterResourceManifest.cs | 13 + .../Orchard.ArchiveLater.csproj | 1 + .../EditorTemplates/Parts/ArchiveLater.cshtml | 21 +- .../Orchard.Blogs/BlogsResourceManifest.cs | 16 + .../Orchard.Blogs/Orchard.Blogs.csproj | 1 + .../Modules/Orchard.Blogs/Views/Archives.ascx | 6 +- .../DisplayTemplates/Items/Blogs.Blog.ascx | 4 +- .../Parts/Blogs.Blog.Manage.ascx | 2 +- .../ContentTypesResourceManifest.cs | 13 + .../Orchard.ContentTypes.csproj | 1 + .../Views/Admin/AddFieldTo.cshtml | 2 +- .../Views/Admin/AddPartsTo.cshtml | 2 +- .../Views/Admin/Edit.cshtml | 2 +- .../Views/Admin/List.cshtml | 2 +- .../Views/Admin/RemoveFieldFrom.cshtml | 2 +- .../Views/Admin/RemovePartFrom.cshtml | 2 +- .../IndexingResourceManifest.cs | 13 + .../Orchard.Indexing/Orchard.Indexing.csproj | 1 + .../Orchard.Indexing/Views/Admin/Index.cshtml | 6 +- .../Orchard.Media/MediaResourceManifest.cs | 11 + .../Orchard.Media/Orchard.Media.csproj | 1 + .../Orchard.Media/Views/Admin/Add.cshtml | 6 +- .../Orchard.Media/Views/Admin/Create.cshtml | 6 +- .../Orchard.Media/Views/Admin/Edit.cshtml | 6 +- .../Views/Admin/EditMedia.cshtml | 6 +- .../Views/Admin/EditProperties.cshtml | 6 +- .../ModulesResourceManifest.cs | 13 + .../Orchard.Modules/Orchard.Modules.csproj | 1 + .../MultiTenancyResourceManifest.cs | 13 + .../Orchard.MultiTenancy.csproj | 1 + .../Views/Admin/Index.cshtml | 4 +- .../Orchard.Packaging.csproj | 1 + .../PackagingResourceManifest.cs | 13 + .../Views/Gallery/Modules.cshtml | 2 +- .../Orchard.Search/Orchard.Search.csproj | 1 + .../Orchard.Search/SearchResourceManifest.cs | 14 + .../Orchard.Search/Views/Search/Index.cshtml | 7 +- .../Orchard.Setup/Services/SetupService.cs | 1 + .../Modules/Orchard.Setup/SetupMode.cs | 5 + .../Orchard.Themes/Orchard.Themes.csproj | 1 + .../Orchard.Themes/ThemesResourceManifest.cs | 18 + .../Orchard.Themes/Views/Admin/Index.cshtml | 5 +- .../Modules/Orchard.jQuery/Module.txt | 11 + .../Orchard.jQuery/Orchard.jQuery.csproj | 133 + .../Orchard.jQuery/Properties/AssemblyInfo.cs | 34 + .../Orchard.jQuery/Scripts/jquery-1.4.2.js | 6239 +++++++++++++++++ .../Scripts/jquery-1.4.2.min.js | 154 + .../Modules/Orchard.jQuery/Web.config | 32 + .../Orchard.jQuery/jQueryResourceManifest.cs | 7 + .../Modules/TinyMce/TinyMce.csproj | 1 + .../TinyMce/TinyMceResourceManifest.cs | 9 + .../EditorTemplates/TinyMceTextEditor.cshtml | 4 +- src/Orchard.Web/Orchard.Web.csproj | 1 + .../DisplayTemplates/Items/Blogs.Blog.ascx | 4 +- .../Themes/Classic/Views/Layout.ascx | 7 +- .../DisplayTemplates/Items/Blogs.Blog.ascx | 4 +- .../Themes/ClassicDark/Views/Layout.ascx | 7 +- .../DisplayTemplates/Items/Blogs.Blog.ascx | 4 +- .../Views/Orchard.Search/Search/Index.ascx | 2 +- .../DisplayTemplates/Items/Blogs.Blog.ascx | 4 +- .../Corporate/Views/Layout.HomePage.ascx | 3 +- .../Themes/Corporate/Views/Layout.ascx | 3 +- .../Themes/Green/Views/Archives.ascx | 7 +- .../DisplayTemplates/Items/Blogs.Blog.ascx | 4 +- .../Themes/Green/Views/Layout.HomePage.ascx | 9 +- .../Themes/Green/Views/Layout.ascx | 9 +- .../Views/Orchard.Search/Search/Index.ascx | 2 +- .../Themes/SafeMode/Views/Layout.ascx | 25 +- .../Themes/TheAdmin/Views/Layout.ascx | 9 +- .../Themes/ThemesResourceManifest.cs | 43 + src/Orchard.sln | 14 + src/Orchard/Mvc/Html/LayoutExtensions.cs | 36 +- src/Orchard/Mvc/IOrchardViewPage.cs | 9 + .../Mvc/ViewEngines/Razor/WebViewPage.cs | 40 +- src/Orchard/Mvc/ViewPage.cs | 44 +- src/Orchard/Mvc/ViewUserControl.cs | 39 + src/Orchard/Orchard.Framework.csproj | 9 + src/Orchard/UI/Resources/IResourceManager.cs | 30 +- src/Orchard/UI/Resources/IResourceManifest.cs | 22 + src/Orchard/UI/Resources/LinkEntry.cs | 67 +- src/Orchard/UI/Resources/MetaEntry.cs | 75 + src/Orchard/UI/Resources/RequireSettings.cs | 32 + .../UI/Resources/ResourceDefinition.cs | 233 + src/Orchard/UI/Resources/ResourceFilter.cs | 38 +- src/Orchard/UI/Resources/ResourceLocation.cs | 7 + src/Orchard/UI/Resources/ResourceManager.cs | 284 +- src/Orchard/UI/Resources/ResourceManifest.cs | 91 + src/Orchard/UI/Resources/ResourceRegister.cs | 86 + .../UI/Resources/ResourceRequiredContext.cs | 21 + src/ResourceManager.txt | 39 + 104 files changed, 8058 insertions(+), 352 deletions(-) create mode 100644 src/Orchard.Web/Core/ContentsLocation/ContentsLocationResourceManifest.cs create mode 100644 src/Orchard.Web/Core/Localization/Resources/LocalizationResourceManifest.cs create mode 100644 src/Orchard.Web/Core/PublishLater/PublishLaterResourceManifest.cs create mode 100644 src/Orchard.Web/Core/Routable/RoutableResourceManifest.cs create mode 100644 src/Orchard.Web/Core/Settings/SettingsResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.ArchiveLater/ArchiveLaterResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.Blogs/BlogsResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.ContentTypes/ContentTypesResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.Indexing/IndexingResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.Media/MediaResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.Modules/ModulesResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.MultiTenancy/MultiTenancyResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.Packaging/PackagingResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.Search/SearchResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.Themes/ThemesResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/Orchard.jQuery/Module.txt create mode 100644 src/Orchard.Web/Modules/Orchard.jQuery/Orchard.jQuery.csproj create mode 100644 src/Orchard.Web/Modules/Orchard.jQuery/Properties/AssemblyInfo.cs create mode 100644 src/Orchard.Web/Modules/Orchard.jQuery/Scripts/jquery-1.4.2.js create mode 100644 src/Orchard.Web/Modules/Orchard.jQuery/Scripts/jquery-1.4.2.min.js create mode 100644 src/Orchard.Web/Modules/Orchard.jQuery/Web.config create mode 100644 src/Orchard.Web/Modules/Orchard.jQuery/jQueryResourceManifest.cs create mode 100644 src/Orchard.Web/Modules/TinyMce/TinyMceResourceManifest.cs create mode 100644 src/Orchard.Web/Themes/ThemesResourceManifest.cs create mode 100644 src/Orchard/UI/Resources/IResourceManifest.cs create mode 100644 src/Orchard/UI/Resources/MetaEntry.cs create mode 100644 src/Orchard/UI/Resources/RequireSettings.cs create mode 100644 src/Orchard/UI/Resources/ResourceDefinition.cs create mode 100644 src/Orchard/UI/Resources/ResourceLocation.cs create mode 100644 src/Orchard/UI/Resources/ResourceManifest.cs create mode 100644 src/Orchard/UI/Resources/ResourceRegister.cs create mode 100644 src/Orchard/UI/Resources/ResourceRequiredContext.cs create mode 100644 src/ResourceManager.txt diff --git a/src/Orchard.Web/Core/ContentsLocation/ContentsLocationResourceManifest.cs b/src/Orchard.Web/Core/ContentsLocation/ContentsLocationResourceManifest.cs new file mode 100644 index 000000000..807d21e67 --- /dev/null +++ b/src/Orchard.Web/Core/ContentsLocation/ContentsLocationResourceManifest.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Orchard.UI.Resources; + +namespace Orchard.Core.ContentsLocation { + public class ContentsLocationResourceManifest : ResourceManifest { + public ContentsLocationResourceManifest() { + DefineStyle("ContentsLocationAdmin").SetUrl("admin.css"); + } + } +} diff --git a/src/Orchard.Web/Core/ContentsLocation/Views/DefinitionTemplates/LocationSettings.cshtml b/src/Orchard.Web/Core/ContentsLocation/Views/DefinitionTemplates/LocationSettings.cshtml index b01affaa2..201cc8dff 100644 --- a/src/Orchard.Web/Core/ContentsLocation/Views/DefinitionTemplates/LocationSettings.cshtml +++ b/src/Orchard.Web/Core/ContentsLocation/Views/DefinitionTemplates/LocationSettings.cshtml @@ -1,5 +1,5 @@ @model Orchard.Core.ContentsLocation.ViewModels.LocationSettingsViewModel -@Html.RegisterStyle("admin.css"); +@Style.Require("ContentsLocationAdmin");
@T("{0}", Model.Definition.DisplayName)
diff --git a/src/Orchard.Web/Core/Localization/Resources/LocalizationResourceManifest.cs b/src/Orchard.Web/Core/Localization/Resources/LocalizationResourceManifest.cs new file mode 100644 index 000000000..172ac3411 --- /dev/null +++ b/src/Orchard.Web/Core/Localization/Resources/LocalizationResourceManifest.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Orchard.UI.Resources; + +namespace Orchard.Core.Localization.Resources { + public class LocalizationResourceManifest : ResourceManifest { + public LocalizationResourceManifest() { + // todo: move this file + DefineStyle("Localization").SetUrl("base.css"); + DefineStyle("LocalizationAdmin").SetUrl("admin.css"); + } + } +} diff --git a/src/Orchard.Web/Core/Localization/Views/DisplayTemplates/Parts/Localization.ContentTranslations.SummaryAdmin.cshtml b/src/Orchard.Web/Core/Localization/Views/DisplayTemplates/Parts/Localization.ContentTranslations.SummaryAdmin.cshtml index 6770f5286..a8c35eef6 100644 --- a/src/Orchard.Web/Core/Localization/Views/DisplayTemplates/Parts/Localization.ContentTranslations.SummaryAdmin.cshtml +++ b/src/Orchard.Web/Core/Localization/Views/DisplayTemplates/Parts/Localization.ContentTranslations.SummaryAdmin.cshtml @@ -1,5 +1,5 @@ @model Orchard.Core.Localization.ViewModels.ContentLocalizationsViewModel -@Html.RegisterStyle("admin.css"); +@Style.Require("LocalizationAdmin");
@if (Model.Localizations.Count() > 0) { //todo: need this info in the view model diff --git a/src/Orchard.Web/Core/Localization/Views/DisplayTemplates/Parts/Localization.ContentTranslations.cshtml b/src/Orchard.Web/Core/Localization/Views/DisplayTemplates/Parts/Localization.ContentTranslations.cshtml index 0af5af66d..09f237246 100644 --- a/src/Orchard.Web/Core/Localization/Views/DisplayTemplates/Parts/Localization.ContentTranslations.cshtml +++ b/src/Orchard.Web/Core/Localization/Views/DisplayTemplates/Parts/Localization.ContentTranslations.cshtml @@ -1,5 +1,5 @@ @model Orchard.Core.Localization.ViewModels.ContentLocalizationsViewModel -@Html.RegisterStyle("base.css"); +@Style.Require("Localization"); @if (Model.Localizations.Count() > 0) {
diff --git a/src/Orchard.Web/Core/Localization/Views/EditorTemplates/Parts/Localization.Translation.cshtml b/src/Orchard.Web/Core/Localization/Views/EditorTemplates/Parts/Localization.Translation.cshtml index 08c503751..43511aab0 100644 --- a/src/Orchard.Web/Core/Localization/Views/EditorTemplates/Parts/Localization.Translation.cshtml +++ b/src/Orchard.Web/Core/Localization/Views/EditorTemplates/Parts/Localization.Translation.cshtml @@ -1,7 +1,7 @@ @model Orchard.Core.Localization.ViewModels.EditLocalizationViewModel -@Html.RegisterStyle("admin.css"); +@Style.Require("LocalizationAdmin"); @if (Model.ContentItem.ContentItem.Id > 0 && Model.SelectedCulture != null && Model.ContentLocalizations.Localizations.Count() > 0) { -Html.RegisterStyle("base.css"); +Style.Require("Localization");
diff --git a/src/Orchard.Web/Core/Orchard.Core.csproj b/src/Orchard.Web/Core/Orchard.Core.csproj index feaf927c9..2150e8a5a 100644 --- a/src/Orchard.Web/Core/Orchard.Core.csproj +++ b/src/Orchard.Web/Core/Orchard.Core.csproj @@ -74,6 +74,7 @@ + @@ -94,6 +95,7 @@ + @@ -102,6 +104,7 @@ + @@ -109,6 +112,7 @@ + @@ -203,6 +207,7 @@ + diff --git a/src/Orchard.Web/Core/PublishLater/PublishLaterResourceManifest.cs b/src/Orchard.Web/Core/PublishLater/PublishLaterResourceManifest.cs new file mode 100644 index 000000000..6de920ac8 --- /dev/null +++ b/src/Orchard.Web/Core/PublishLater/PublishLaterResourceManifest.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Orchard.UI.Resources; + +namespace Orchard.Core.PublishLater { + public class PublishLaterResourceManifest : ResourceManifest { + public PublishLaterResourceManifest() { + DefineStyle("PublishLater_DatePicker").SetUrl("datetime.css"); + + // todo: move into Orchard.jQuery module and also include min versions + DefineStyle("jQueryUtils_TimePicker").SetUrl("ui.timepickr.css"); + DefineStyle("jQueryUI_Orchard").SetUrl("jquery-ui-1.7.2.custom.css").SetVersion("1.7.2"); + DefineStyle("jQueryUI_DatePicker").SetUrl("ui.datepicker.css").SetDependencies("jQueryUI_Orchard").SetVersion("1.7.2"); + + DefineScript("jQueryUtils").SetUrl("jquery.utils.js").SetDependencies("jQuery"); + DefineScript("jQueryUI_Core").SetUrl("jquery.ui.core.js").SetVersion("1.8b1").SetDependencies("jQuery"); + DefineScript("jQueryUI_Widget").SetUrl("jquery.ui.widget.js").SetVersion("1.8b1").SetDependencies("jQuery"); + DefineScript("jQueryUI_DatePicker").SetUrl("jquery.ui.datepicker.js").SetVersion("1.8b1").SetDependencies("jQueryUI_Core", "jQueryUI_Widget"); + DefineScript("jQueryUtils_TimePicker").SetUrl("ui.timepickr.js").SetVersion("0.7.0a").SetDependencies("jQueryUtils", "jQueryUI_Core"); + } + } +} diff --git a/src/Orchard.Web/Core/PublishLater/Views/EditorTemplates/Parts/PublishLater.cshtml b/src/Orchard.Web/Core/PublishLater/Views/EditorTemplates/Parts/PublishLater.cshtml index 6664e806f..3e4e4ed8d 100644 --- a/src/Orchard.Web/Core/PublishLater/Views/EditorTemplates/Parts/PublishLater.cshtml +++ b/src/Orchard.Web/Core/PublishLater/Views/EditorTemplates/Parts/PublishLater.cshtml @@ -1,14 +1,10 @@ @model Orchard.Core.PublishLater.ViewModels.PublishLaterViewModel @{ - Html.RegisterStyle("datetime.css"); - Html.RegisterStyle("jquery-ui-1.7.2.custom.css"); - Html.RegisterStyle("ui.datepicker.css"); - Html.RegisterStyle("ui.timepickr.css"); - Html.RegisterFootScript("jquery.ui.core.js"); - Html.RegisterFootScript("jquery.ui.widget.js"); - Html.RegisterFootScript("jquery.ui.datepicker.js"); - Html.RegisterFootScript("jquery.utils.js"); - Html.RegisterFootScript("ui.timepickr.js"); + Script.RequireFoot("jQueryUtils_TimePicker"); + Script.RequireFoot("jQueryUI_DatePicker"); + Style.Require("PublishLater_DatePicker"); + Style.Require("jQueryUtils_TimePicker"); + Style.Require("jQueryUI_DatePicker"); }
@T("Publish Settings") diff --git a/src/Orchard.Web/Core/Routable/RoutableResourceManifest.cs b/src/Orchard.Web/Core/Routable/RoutableResourceManifest.cs new file mode 100644 index 000000000..a098cb595 --- /dev/null +++ b/src/Orchard.Web/Core/Routable/RoutableResourceManifest.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Orchard.UI.Resources; + +namespace Orchard.Core.Routable { + public class RoutableResourceManifest : ResourceManifest { + public RoutableResourceManifest() { + DefineScript("Slugify").SetUrl("jquery.slugify.js").SetDependencies("jQuery"); + } + } +} diff --git a/src/Orchard.Web/Core/Routable/Views/EditorTemplates/Parts/Routable.RoutePart.cshtml b/src/Orchard.Web/Core/Routable/Views/EditorTemplates/Parts/Routable.RoutePart.cshtml index b937315e9..d9f636b00 100644 --- a/src/Orchard.Web/Core/Routable/Views/EditorTemplates/Parts/Routable.RoutePart.cshtml +++ b/src/Orchard.Web/Core/Routable/Views/EditorTemplates/Parts/Routable.RoutePart.cshtml @@ -12,7 +12,7 @@
- @Html.RegisterFootScript("jquery.slugify.js"); + @Script.RequireFoot("Slugify"); @using(Capture(script => WorkContext.Page.Tail.Add(script))){ - } + Script.Require("TinyMce"); using(Capture(script => WorkContext.Page.Tail.Add(script))) { ")); - var basejs = ResolveUrl("~/Modules/Orchard.Themes/Scripts/base.js"); - Model.Zones.AddAction("content:after", html => - html.ViewContext.Writer.Write(@"")); - var setupjs = ResolveUrl("~/Modules/Orchard.Setup/Scripts/setup.js"); - Model.Zones.AddAction("content:after", html => - html.ViewContext.Writer.Write(@"")); - var siteCss = ResolveUrl("../Styles/site.css"); - Model.Zones.AddAction("head:styles", html => - html.ViewContext.Writer.Write(@"")); - var ie6Css = ResolveUrl("../Styles/ie6.css"); - Model.Zones.AddAction("head:styles", html => - html.ViewContext.Writer.Write(@"")); ---%> +<%@ Import Namespace="Orchard.UI.Resources" %> +<% + Script.Require("jQuery", "1.4.2"); + Script.Require("Theme_Base"); + Script.Require("Setup"); + Style.Require("SafeMode"); + RegisterLink(new LinkEntry { Condition = "lte IE 6", Rel = "stylesheet", Type="text/css", Href = ResolveUrl("../Styles/ie6.css")}.AddAttribute("media", "screen, projection")); +%>