@@ -17,7 +17,8 @@ define([
17
17
'css!../../css/menuFrame.css' ,
18
18
19
19
'../com/com_Config' ,
20
- '../com/com_Const' ,
20
+ '../com/com_util' ,
21
+ '../com/com_interface' ,
21
22
'../com/component/Component' ,
22
23
'../com/component/SuggestInput' ,
23
24
@@ -26,7 +27,7 @@ define([
26
27
'./MenuGroup' ,
27
28
'./MenuItem' ,
28
29
'./TaskBar'
29
- ] , function ( menuFrameHtml , menuFrameCss , com_Config , com_Const , Component , SuggestInput ,
30
+ ] , function ( menuFrameHtml , menuFrameCss , com_Config , com_util , com_interface , Component , SuggestInput ,
30
31
librariesJson ,
31
32
MenuGroup , MenuItem , TaskBar ) {
32
33
'use strict' ;
@@ -85,6 +86,41 @@ define([
85
86
$ ( this . wrapSelector ( '#vp_headerExtraMenu li' ) ) . on ( 'click' , function ( ) {
86
87
let menu = $ ( this ) . data ( 'menu' ) ;
87
88
switch ( menu ) {
89
+ case 'check-version' :
90
+ // check vp version
91
+ let nowVersion = vpConfig . getVpInstalledVersion ( ) ;
92
+ vpConfig . getPackageVersion ( ) . then ( function ( latestVersion ) {
93
+ if ( nowVersion === latestVersion ) {
94
+ // if it's already up to date
95
+ let msg = com_util . formatString ( 'Visualpython is up to date. ({0})' , latestVersion ) ;
96
+ com_util . renderInfoModal ( msg ) ;
97
+ } else {
98
+ let msg = com_util . formatString ( 'Visualpython updates are available.\n(Latest version: {0})' , latestVersion ) ;
99
+ com_util . renderModal ( {
100
+ title : 'Check version' ,
101
+ message : msg ,
102
+ buttons : [ 'Cancel' , 'Update' ] ,
103
+ defaultButtonIdx : 0 ,
104
+ buttonClass : [ 'cancel' , 'activated' ] ,
105
+ finish : function ( clickedBtnIdx ) {
106
+ switch ( clickedBtnIdx ) {
107
+ case 0 :
108
+ // cancel
109
+ break ;
110
+ case 1 :
111
+ // update
112
+ com_interface . insertCell ( 'code' , '!pip install visualpython --upgrade' ) ;
113
+ com_interface . insertCell ( 'code' , '!visualpy install' ) ;
114
+ // TODO: refresh browser, after executed
115
+ break ;
116
+ }
117
+ }
118
+ } )
119
+ }
120
+ } ) . catch ( function ( err ) {
121
+ com_util . renderAlertModal ( err ) ;
122
+ } )
123
+ break ;
88
124
case 'restart' :
89
125
// restart vp
90
126
vpConfig . readKernelFunction ( ) ;
0 commit comments