From aba6cf80bee179fd12cf3c695b10a74ded17bb3d Mon Sep 17 00:00:00 2001 From: Ben Gotow Date: Mon, 17 Aug 2015 12:03:35 -0700 Subject: [PATCH] fix(packages): Wait for package-store to be used before using APM to load the packages --- .../settings/lib/settings-packages-store.coffee | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/internal_packages/settings/lib/settings-packages-store.coffee b/internal_packages/settings/lib/settings-packages-store.coffee index 986120695..668cd0924 100644 --- a/internal_packages/settings/lib/settings-packages-store.coffee +++ b/internal_packages/settings/lib/settings-packages-store.coffee @@ -65,21 +65,19 @@ SettingsPackagesStore = Reflux.createStore unless atom.packages.isPackageDisabled(pkg.name) atom.packages.disablePackage(pkg.name) - atom.packages.onDidActivatePackage(=> @_onPackagesChangedDebounced()) - atom.packages.onDidDeactivatePackage(=> @_onPackagesChangedDebounced()) - atom.packages.onDidLoadPackage(=> @_onPackagesChangedDebounced()) - atom.packages.onDidUnloadPackage(=> @_onPackagesChangedDebounced()) - @_onPackagesChanged() + @_hasPrepared = false # Getters installed: -> + @_prepareIfFresh() @_addPackageStates(@_filter(@_installed, @_installedSearch)) installedSearchValue: -> @_installedSearch featured: -> + @_prepareIfFresh() @_addPackageStates(@_featured) searchResults: -> @@ -90,6 +88,15 @@ SettingsPackagesStore = Reflux.createStore # Action Handlers + _prepareIfFresh: -> + return if @_hasPrepared + atom.packages.onDidActivatePackage(=> @_onPackagesChangedDebounced()) + atom.packages.onDidDeactivatePackage(=> @_onPackagesChangedDebounced()) + atom.packages.onDidLoadPackage(=> @_onPackagesChangedDebounced()) + atom.packages.onDidUnloadPackage(=> @_onPackagesChangedDebounced()) + @_onPackagesChanged() + @_hasPrepared = true + _filter: (hash, search) -> result = {} search = search.toLowerCase()