From 154526b9427b9cf535a8dcf1fdd45bc83dea17e7 Mon Sep 17 00:00:00 2001 From: Andre Rodrigues Date: Fri, 25 Feb 2011 12:07:31 -0800 Subject: [PATCH] Adding javascript to the install module details page. Filtering default extension feature out. --HG-- branch : dev --- .../Views/Admin/Features.cshtml | 2 +- .../Controllers/GalleryController.cs | 2 ++ .../Orchard.Packaging.csproj | 6 +++++ .../Orchard.Packaging/ResourceManifest.cs | 4 +++- .../Orchard.Packaging/Scripts/Web.config | 21 ++++++++++++++++ .../Scripts/orchard-packaging-admin.js | 24 +++++++++++++++++++ .../Views/Gallery/InstallModule.cshtml | 8 ++++--- 7 files changed, 62 insertions(+), 5 deletions(-) create mode 100644 src/Orchard.Web/Modules/Orchard.Packaging/Scripts/Web.config create mode 100644 src/Orchard.Web/Modules/Orchard.Packaging/Scripts/orchard-packaging-admin.js diff --git a/src/Orchard.Web/Modules/Orchard.Modules/Views/Admin/Features.cshtml b/src/Orchard.Web/Modules/Orchard.Modules/Views/Admin/Features.cshtml index d4f44d304..9fc0085bc 100644 --- a/src/Orchard.Web/Modules/Orchard.Modules/Views/Admin/Features.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Modules/Views/Admin/Features.cshtml @@ -50,7 +50,7 @@ } var dependencies = (from d in feature.Descriptor.Dependencies - select (from f in Model.Features where f.Descriptor.Id == d select f).SingleOrDefault()).Where(f => f != null).OrderBy(f => f.Descriptor.Name); + select (from f in Model.Features where f.Descriptor.Id == d select f).SingleOrDefault()).Where(f => f != null).OrderBy(f => f.Descriptor.Name); var missingDependencies = feature.Descriptor.Dependencies .Where(d => !Model.Features.Any(f => f.Descriptor.Id == d)); showActions = categoryName.ToString() != "Core" && missingDependencies.Count() == 0; diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Controllers/GalleryController.cs b/src/Orchard.Web/Modules/Orchard.Packaging/Controllers/GalleryController.cs index e3211bccd..3ba276287 100644 --- a/src/Orchard.Web/Modules/Orchard.Packaging/Controllers/GalleryController.cs +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Controllers/GalleryController.cs @@ -249,6 +249,8 @@ namespace Orchard.Packaging.Controllers { ExtensionDescriptor extensionDescriptor = _packageManager.GetExtensionDescriptor(package); List features = extensionDescriptor.Features + .Where(featureDescriptor => !DefaultExtensionTypes.IsTheme(featureDescriptor.Extension.ExtensionType) && + !featureDescriptor.Id.Equals(featureDescriptor.Extension.Id)) .Select(featureDescriptor => new PackagingInstallFeatureViewModel { Enable = true, // by default all features are enabled FeatureDescriptor = featureDescriptor diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj b/src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj index 061e5732c..0f56ad38b 100644 --- a/src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj @@ -106,6 +106,7 @@ + DataServiceClientGenerator Reference.cs @@ -164,6 +165,11 @@ + + + Designer + + + + + + + + + + + + diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Scripts/orchard-packaging-admin.js b/src/Orchard.Web/Modules/Orchard.Packaging/Scripts/orchard-packaging-admin.js new file mode 100644 index 000000000..be3778b4f --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Scripts/orchard-packaging-admin.js @@ -0,0 +1,24 @@ +function checkCustom() { + setDisabled(document.getElementById("custom_features"), false); +} + +function checkAll() { + setDisabled(document.getElementById("custom_features"), true); +} + +function setDisabled(el, state) { + try { + el.disabled = state; + } + catch (E) { } + + if (el.childNodes && el.childNodes.length > 0) { + for (var x = 0; x < el.childNodes.length; x++) { + setDisabled(el.childNodes[x]); + } + } +} + +(function ($) { + $(checkAll) +})(jQuery); \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Views/Gallery/InstallModule.cshtml b/src/Orchard.Web/Modules/Orchard.Packaging/Views/Gallery/InstallModule.cshtml index 8ebf86644..fc64ea80f 100644 --- a/src/Orchard.Web/Modules/Orchard.Packaging/Views/Gallery/InstallModule.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Views/Gallery/InstallModule.cshtml @@ -5,6 +5,7 @@ @{ Style.Require("PackagingAdmin"); + Script.Require("PackagingModulesAdmin").AtFoot(); Layout.Title = T("{0} - {1} Details", Model.ExtensionDescriptor.Name, Model.ExtensionDescriptor.Version).ToString(); } @@ -13,16 +14,16 @@

@T("Which type of installation do you want?").ToString()

- @Html.RadioButton("PackagingInstallMode", "All", (Model.PackagingInstallMode == PackagingInstallMode.All), new { id = "PackagingInstallMode_All" }) + @Html.RadioButton("PackagingInstallMode", "All", (Model.PackagingInstallMode == PackagingInstallMode.All), new { id = "PackagingInstallMode_All", onClick = "checkAll();" })
if (Model.Features.Count > 0) {
- @Html.RadioButton("PackagingInstallMode", "Custom", (Model.PackagingInstallMode == PackagingInstallMode.Custom), new { id = "PackagingInstallMode_Custom" }) + @Html.RadioButton("PackagingInstallMode", "Custom", (Model.PackagingInstallMode == PackagingInstallMode.Custom), new { id = "PackagingInstallMode_Custom", onClick = "checkCustom();" }) -
+
@T("Pick the features you want enabled during install").ToString() @{ var index = 0; } @@ -32,6 +33,7 @@ @Html.HiddenFor(m => m.Features[index].FeatureDescriptor.Name) @Html.EditorFor(m => m.Features[index].Enable) + @{ index++; }