From 5a1bcc15d63dfcc57f314a2cccce838a3d2a1904 Mon Sep 17 00:00:00 2001 From: Ashish Aggarwal Date: Wed, 3 Jul 2024 14:00:55 -0400 Subject: [PATCH 1/3] Update PackageManagerSearchViewModel.cs --- .../PackageManagerSearchViewModel.cs | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs b/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs index ae396dcb6cf..358e567d1da 100644 --- a/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs @@ -1353,9 +1353,7 @@ internal IEnumerable GetAllPackages() // Filter based on user preference // A package has dependencies if the number of direct_dependency_ids is more than 1 - var initialResults = LastSync?.Select(x => new PackageManagerSearchElementViewModel(x, - PackageManagerClientViewModel.AuthenticationManager.HasAuthProvider, - CanInstallPackage(x.Name), isEnabledForInstall)); + var initialResults = LastSync?.Select(x => GetSearchElementViewModel(x)); list = ApplyNonHostFilters(initialResults); list = ApplyHostFilters(list).ToList(); @@ -1491,14 +1489,30 @@ internal IEnumerable Search(string searchT /// private PackageManagerSearchElementViewModel GetViewModelForPackageSearchElement(string packageName) { - var result = SearchResults.Where(e => e.Name.Equals(packageName)); + var result = PackageManagerClientViewModel.CachedPackageList.Where(e => + { + if (e.Name.Equals(packageName)) + { + return true; + } + return false; + }); if (!result.Any()) { return null; } - return result.ElementAt(0); + return GetSearchElementViewModel(result.ElementAt(0)); + } + + private PackageManagerSearchElementViewModel GetSearchElementViewModel(PackageManagerSearchElement package) + { + var isEnabledForInstall = !(Preferences as IDisablePackageLoadingPreferences).DisableCustomPackageLocations; + return new PackageManagerSearchElementViewModel(package, + PackageManagerClientViewModel.AuthenticationManager.HasAuthProvider, + CanInstallPackage(package.Name), + isEnabledForInstall); } /// From 9553a9f98812c672e6b1a2d10d2d2ee9abb19cf9 Mon Sep 17 00:00:00 2001 From: Ashish Aggarwal Date: Wed, 3 Jul 2024 14:28:09 -0400 Subject: [PATCH 2/3] Update PackageManagerSearchViewModel.cs --- .../PackageManagerSearchViewModel.cs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs b/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs index 358e567d1da..aaf5488a11d 100644 --- a/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs @@ -652,9 +652,8 @@ private void PopulateMyPackages() var pkgs = PackageManagerClientViewModel.CachedPackageList.Where(x => x.Maintainers != null && x.Maintainers.Contains(name)).ToList(); foreach(var pkg in pkgs) { - var p = new PackageManagerSearchElementViewModel(pkg, - PackageManagerClientViewModel.AuthenticationManager.HasAuthProvider, - CanInstallPackage(pkg.Name)); + var p = GetSearchElementViewModel(pkg, true); + p.RequestDownload += this.PackageOnExecuted; p.RequestShowFileDialog += this.OnRequestShowFileDialog; p.IsOnwer = true; @@ -1503,12 +1502,18 @@ private PackageManagerSearchElementViewModel GetViewModelForPackageSearchElement return null; } - return GetSearchElementViewModel(result.ElementAt(0)); + return GetSearchElementViewModel(result.FirstOrDefault()); } - private PackageManagerSearchElementViewModel GetSearchElementViewModel(PackageManagerSearchElement package) + /// + /// Returns a new PackageManagerSearchElementViewModel for the given package, with updated properties. + /// + /// Package to cast + /// When true, will bypass the check for loading package from custom locations. + /// + private PackageManagerSearchElementViewModel GetSearchElementViewModel(PackageManagerSearchElement package, bool bypassCustomPackageLocations = false) { - var isEnabledForInstall = !(Preferences as IDisablePackageLoadingPreferences).DisableCustomPackageLocations; + var isEnabledForInstall = bypassCustomPackageLocations || !(Preferences as IDisablePackageLoadingPreferences).DisableCustomPackageLocations; return new PackageManagerSearchElementViewModel(package, PackageManagerClientViewModel.AuthenticationManager.HasAuthProvider, CanInstallPackage(package.Name), From 815bd421b7346b33e6f8e508275b965539daa358 Mon Sep 17 00:00:00 2001 From: Ashish Aggarwal Date: Mon, 8 Jul 2024 14:26:33 -0400 Subject: [PATCH 3/3] Update PackageManagerSearchViewModel.cs --- .../PackageManager/PackageManagerSearchViewModel.cs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs b/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs index aaf5488a11d..d37035e7f47 100644 --- a/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/PackageManager/PackageManagerSearchViewModel.cs @@ -1488,14 +1488,7 @@ internal IEnumerable Search(string searchT /// private PackageManagerSearchElementViewModel GetViewModelForPackageSearchElement(string packageName) { - var result = PackageManagerClientViewModel.CachedPackageList.Where(e => - { - if (e.Name.Equals(packageName)) - { - return true; - } - return false; - }); + var result = PackageManagerClientViewModel.CachedPackageList.Where(e => e.Name.Equals(packageName)); if (!result.Any()) {