mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
Listen for package events and update view on state changes
This commit is contained in:
@@ -91,26 +91,21 @@ class PackageConfigView extends View
|
||||
@togglePackageEnablement()
|
||||
return
|
||||
|
||||
packageManagerCallback = =>
|
||||
@defaultAction.enable()
|
||||
@updatePackageState()
|
||||
@updateDefaultAction()
|
||||
|
||||
@defaultAction.disable()
|
||||
if @installed
|
||||
if @updateAvailable
|
||||
@defaultAction.text('Upgrading\u2026')
|
||||
packageManager.install(@pack, packageManagerCallback)
|
||||
packageManager.install @pack, (error) =>
|
||||
@packageEventEmitter.trigger('package-upgraded', error, @pack)
|
||||
else
|
||||
@defaultAction.text('Uninstalling\u2026')
|
||||
packageManager.uninstall @pack, (error) =>
|
||||
@packageEventEmitter.trigger('package-uninstalled', error, @pack)
|
||||
packageManagerCallback()
|
||||
else
|
||||
@defaultAction.text('Installing\u2026')
|
||||
packageManager.install @pack, (error) =>
|
||||
@packageEventEmitter.trigger('package-installed', error, @pack)
|
||||
packageManagerCallback()
|
||||
|
||||
@updateDefaultAction()
|
||||
|
||||
@@ -121,6 +116,12 @@ class PackageConfigView extends View
|
||||
@updateDefaultAction()
|
||||
@updateEnabledState()
|
||||
|
||||
@packageEventEmitter.on 'package-installed package-uninstalled package-upgraded', (error, pack) =>
|
||||
if pack?.name is @pack.name
|
||||
@defaultAction.enable()
|
||||
@updatePackageState()
|
||||
@updateDefaultAction()
|
||||
|
||||
togglePackageEnablement: ->
|
||||
if @disabled
|
||||
config.removeAtKeyPath('core.disabledPackages', @pack.name)
|
||||
|
||||
Reference in New Issue
Block a user