File tree 3 files changed +39
-10
lines changed
3 files changed +39
-10
lines changed Original file line number Diff line number Diff line change @@ -3,3 +3,4 @@ node_modules
3
3
dist
4
4
Scratch \ JS.zip
5
5
panel /styles /repl.css
6
+ .idea
Original file line number Diff line number Diff line change 1
1
chrome . runtime . onMessage . addListener ( function ( request , sender , sendResponse ) {
2
- if ( request . name === 'platformInfo' ) {
3
- chrome . runtime . getPlatformInfo ( function ( info ) {
4
- sendResponse ( info ) ;
5
- } ) ;
6
- return true ; // indicates sendResponse will be called asynchronously
7
- } else if ( request . name === 'getSettings' ) {
8
- sendResponse ( JSON . parse ( localStorage . getItem ( 'settings' ) ) ) ;
9
- } else if ( request . name === 'setSettings' ) {
10
- localStorage . setItem ( 'settings' , JSON . stringify ( request . value ) ) ;
11
- sendResponse ( localStorage . getItem ( 'settings' ) ) ;
2
+ switch ( request . name ) {
3
+ case 'platformInfo' :
4
+ chrome . runtime . getPlatformInfo ( function ( info ) {
5
+ sendResponse ( info ) ;
6
+ } ) ;
7
+ return true ; // indicates sendResponse will be called asynchronously
8
+ break ;
9
+ case 'getSettings' :
10
+ sendResponse ( JSON . parse ( localStorage . getItem ( 'settings' ) ) ) ;
11
+ break ;
12
+ case 'setSettings' :
13
+ localStorage . setItem ( 'settings' , JSON . stringify ( request . value ) ) ;
14
+ sendResponse ( localStorage . getItem ( 'settings' ) ) ;
15
+ break ;
16
+ case 'getCode' :
17
+ chrome . storage . sync . get ( 'code' , function ( data ) {
18
+ sendResponse ( data ) ;
19
+ } ) ;
20
+ return true ;
21
+ break ;
22
+ case 'setCode' :
23
+ chrome . storage . sync . set ( { 'code' : request . value } , function ( ) {
24
+ sendResponse ( 'success' ) ;
25
+ } ) ;
26
+ return true ;
27
+ break ;
12
28
}
13
29
} ) ;
Original file line number Diff line number Diff line change @@ -54,6 +54,13 @@ Repl.prototype.onDomReady = function() {
54
54
$ ( '#combinationKey' ) [ 0 ] . textContent = 'Ctrl' ;
55
55
}
56
56
} ) ;
57
+
58
+ var editor = this . editor ;
59
+ chrome . runtime . sendMessage ( { name : 'getCode' } , function ( data ) {
60
+ if ( data . code ) {
61
+ editor . setValue ( data . code ) ;
62
+ }
63
+ } ) ;
57
64
}
58
65
59
66
Repl . prototype . loadContexts = function ( ) {
@@ -163,6 +170,10 @@ Repl.prototype.resizeOutput = function(e) {
163
170
this . DOM . output . style . width = 100 - percentWidth + "%" ;
164
171
} ;
165
172
173
+ Repl . prototype . saveCode = function ( ) {
174
+ chrome . runtime . sendMessage ( { name : 'setCode' , value : this . editor . getValue ( ) } ) ;
175
+ } ;
176
+
166
177
Repl . prototype . addEventListeners = function ( ) {
167
178
var _this = this ;
168
179
@@ -179,6 +190,7 @@ Repl.prototype.addEventListeners = function() {
179
190
} ) ;
180
191
181
192
document . addEventListener ( 'keydown' , debounce ( _this . updateOutput , 200 , _this ) ) ;
193
+ document . addEventListener ( 'keydown' , debounce ( _this . saveCode , 1000 , _this ) ) ;
182
194
document . addEventListener ( 'keydown' , function ( e ) {
183
195
if ( e [ combinationKey ] && e . which == 13 ) {
184
196
_this . deliverContent ( _this . editor . getValue ( ) ) ;
You can’t perform that action at this time.
0 commit comments