Show upgrade as default action when newer version exists

This commit is contained in:
Kevin Sawicki 2013-05-21 09:18:45 -07:00
parent be020fad39
commit 213524e893
4 changed files with 19 additions and 5 deletions

View File

@ -26,7 +26,8 @@
"roaster": "0.0.5",
"jqueryui-browser": "1.10.2-1",
"season": "0.7.0",
"humanize-plus": "1.1.0"
"humanize-plus": "1.1.0",
"semver": "1.1.4"
},
"devDependencies": {
"biscotto": "0.0.11"

View File

@ -18,6 +18,8 @@ class AtomPackage extends Package
resolvedMainModulePath: false
mainModule: null
getVersion: -> @metadata?.version ? '0.0.0'
load: ->
try
@loadMetadata()

View File

@ -1,3 +1,4 @@
semver = require 'semver'
{$$, View} = require 'space-pen'
requireWithGlobals 'bootstrap/js/bootstrap-dropdown', jQuery: require 'jquery'
@ -20,9 +21,14 @@ class PackageConfigView extends View
@div class: 'readme', outlet: 'readme'
initialize: (@pack, @queue) ->
@versions.text("Version: #{@pack.version}")
@name.text(@pack.name)
installedVersion = atom.getLoadedPackage(@pack.name)?.getVersion()
if installedVersion
@versions.text("Version: #{@pack.version} (#{installedVersion} installed)")
else
@versions.text("Version: #{@pack.version}")
if @pack.descriptionHtml
@description.html(@pack.descriptionHtml)
else if @pack.description
@ -65,8 +71,11 @@ class PackageConfigView extends View
@updateInstallState()
updateInstallState: ->
@installed = atom.packageExists(@pack.name)
if @installed
@action.text('Uninstall')
installedPackage = atom.getLoadedPackage(@pack.name)
if installedPackage
if semver.gt(@pack.version, installedPackage.getVersion())
@action.text('Upgrade')
else
@action.text('Uninstall')
else
@action.text('Install')

View File

@ -24,6 +24,8 @@ class TextMatePackage extends Package
@grammars = []
@scopedProperties = []
getVersion: -> '0.0.0'
load: ({sync}={}) ->
if sync
@loadGrammarsSync()