1
- const { Menu } = require ( " electron" ) ;
1
+ const { Menu } = require ( ' electron' ) ;
2
2
const { BrowserWindow } = require ( 'electron' ) ;
3
3
const fs = require ( 'fs' ) ;
4
4
const path = require ( 'path' ) ;
5
- const isMac = process . platform === " darwin" ;
5
+ const isMac = process . platform === ' darwin' ;
6
6
const port = 5000 ;
7
7
const tutorialRoute = `http://localhost:${ port } /tutorial` ;
8
8
9
9
// Create a template for a menu and create menu using that template
10
- var MenuBuilder = function ( mainWindow , appName ) {
10
+ var MenuBuilder = function ( mainWindow , appName ) {
11
11
// https://electronjs.org/docs/api/menu#main-process
12
12
// "roles" are predefined by Electron and used for standard actions
13
13
// https://www.electronjs.org/docs/api/menu-item
@@ -26,13 +26,14 @@ var MenuBuilder = function (mainWindow, appName) {
26
26
contextIsolation : true ,
27
27
enableRemoteModule : false ,
28
28
zoomFactor : 1.0 ,
29
+ devTools : false
29
30
}
30
31
} ) ;
31
32
tutorial . loadURL ( `http://localhost:8080/#/tutorial` ) ;
32
33
tutorial . show ( ) ;
33
- }
34
+ } ;
34
35
35
- let defaultTemplate = function ( ) {
36
+ let defaultTemplate = function ( ) {
36
37
return [
37
38
// { role: "appMenu" }
38
39
...( isMac
@@ -42,202 +43,202 @@ var MenuBuilder = function (mainWindow, appName) {
42
43
label : appName ,
43
44
submenu : [
44
45
{
45
- role : " about" ,
46
+ role : ' about'
46
47
} ,
47
48
{
48
- type : " separator" ,
49
+ type : ' separator'
49
50
} ,
50
51
{
51
- role : " services" ,
52
+ role : ' services'
52
53
} ,
53
54
{
54
- type : " separator" ,
55
+ type : ' separator'
55
56
} ,
56
57
{
57
- role : " hide" ,
58
+ role : ' hide'
58
59
} ,
59
60
{
60
- role : " hideothers" ,
61
+ role : ' hideothers'
61
62
} ,
62
63
{
63
- role : " unhide" ,
64
+ role : ' unhide'
64
65
} ,
65
66
{
66
- type : " separator" ,
67
+ type : ' separator'
67
68
} ,
68
69
{
69
- role : " quit" ,
70
- } ,
71
- ] ,
72
- } ,
70
+ role : ' quit'
71
+ }
72
+ ]
73
+ }
73
74
]
74
75
: [ ] ) ,
75
76
{
76
- label : " File" ,
77
+ label : ' File' ,
77
78
submenu : [
78
79
isMac
79
80
? {
80
- role : " close" ,
81
+ role : ' close'
81
82
}
82
83
: {
83
- role : " quit" ,
84
- } ,
85
- ] ,
84
+ role : ' quit'
85
+ }
86
+ ]
86
87
} ,
87
88
{
88
- label : " Edit" ,
89
+ label : ' Edit' ,
89
90
submenu : [
90
91
{
91
- role : " undo" ,
92
+ role : ' undo'
92
93
} ,
93
94
{
94
- role : " redo" ,
95
+ role : ' redo'
95
96
} ,
96
97
{
97
- type : " separator" ,
98
+ type : ' separator'
98
99
} ,
99
100
{
100
- role : " cut" ,
101
+ role : ' cut'
101
102
} ,
102
103
{
103
- role : " copy" ,
104
+ role : ' copy'
104
105
} ,
105
106
{
106
- role : " paste" ,
107
+ role : ' paste'
107
108
} ,
108
109
...( isMac
109
110
? [
110
111
{
111
- role : " pasteAndMatchStyle" ,
112
+ role : ' pasteAndMatchStyle'
112
113
} ,
113
114
{
114
- role : " delete" ,
115
+ role : ' delete'
115
116
} ,
116
117
{
117
- role : " selectAll" ,
118
+ role : ' selectAll'
118
119
} ,
119
120
{
120
- type : " separator" ,
121
+ type : ' separator'
121
122
} ,
122
123
{
123
- label : " Speech" ,
124
+ label : ' Speech' ,
124
125
submenu : [
125
126
{
126
- role : " startspeaking" ,
127
+ role : ' startspeaking'
127
128
} ,
128
129
{
129
- role : " stopspeaking" ,
130
- } ,
131
- ] ,
132
- } ,
130
+ role : ' stopspeaking'
131
+ }
132
+ ]
133
+ }
133
134
]
134
135
: [
135
136
{
136
- role : " delete" ,
137
+ role : ' delete'
137
138
} ,
138
139
{
139
- type : " separator" ,
140
+ type : ' separator'
140
141
} ,
141
142
{
142
- role : " selectAll" ,
143
- } ,
144
- ] ) ,
145
- ] ,
143
+ role : ' selectAll'
144
+ }
145
+ ] )
146
+ ]
146
147
} ,
147
148
// { role: "viewMenu" }
148
149
{
149
- label : " View" ,
150
+ label : ' View' ,
150
151
submenu : [
151
152
{
152
- role : " reload" ,
153
+ role : ' reload'
153
154
} ,
154
155
{
155
- role : " forcereload" ,
156
+ role : ' forcereload'
156
157
} ,
157
158
{
158
- role : " toggledevtools" ,
159
+ role : ' toggledevtools'
159
160
} ,
160
161
{
161
- type : " separator" ,
162
+ type : ' separator'
162
163
} ,
163
164
{
164
- role : " resetzoom" ,
165
+ role : ' resetzoom'
165
166
} ,
166
167
{
167
- role : " zoomin" ,
168
+ role : ' zoomin'
168
169
} ,
169
170
{
170
- role : " zoomout" ,
171
+ role : ' zoomout'
171
172
} ,
172
173
{
173
- type : " separator" ,
174
+ type : ' separator'
174
175
} ,
175
176
{
176
- role : " togglefullscreen" ,
177
- } ,
178
- ] ,
177
+ role : ' togglefullscreen'
178
+ }
179
+ ]
179
180
} ,
180
181
181
182
{
182
- label : " Window" ,
183
+ label : ' Window' ,
183
184
submenu : [
184
185
{
185
- role : " minimize" ,
186
+ role : ' minimize'
186
187
} ,
187
188
{
188
- role : " zoom" ,
189
+ role : ' zoom'
189
190
} ,
190
191
...( isMac
191
192
? [
192
193
{
193
- type : " separator" ,
194
+ type : ' separator'
194
195
} ,
195
196
{
196
- role : " front" ,
197
+ role : ' front'
197
198
} ,
198
199
{
199
- type : " separator" ,
200
+ type : ' separator'
200
201
} ,
201
202
{
202
- role : " window" ,
203
- } ,
203
+ role : ' window'
204
+ }
204
205
]
205
206
: [
206
207
{
207
- role : " close" ,
208
- } ,
209
- ] ) ,
210
- ] ,
208
+ role : ' close'
209
+ }
210
+ ] )
211
+ ]
211
212
} ,
212
213
{
213
- role : " help" ,
214
+ role : ' help' ,
214
215
submenu : [
215
216
{
216
- label : " Learn More" ,
217
+ label : ' Learn More' ,
217
218
click : async ( ) => {
218
- const { shell } = require ( " electron" ) ;
219
+ const { shell } = require ( ' electron' ) ;
219
220
await shell . openExternal (
220
- " https://github.com/open-source-labs/ReacType"
221
+ ' https://github.com/open-source-labs/ReacType'
221
222
) ;
222
- } ,
223
- } ,
223
+ }
224
+ } ,
224
225
{
225
- label : " Tutorial" ,
226
+ label : ' Tutorial' ,
226
227
click : ( ) => openTutorial ( )
227
228
}
228
- ] ,
229
- } ,
229
+ ]
230
+ }
230
231
] ;
231
232
} ;
232
233
233
234
// constructs menu from default template
234
235
return {
235
- buildMenu : function ( ) {
236
+ buildMenu : function ( ) {
236
237
const menu = Menu . buildFromTemplate ( defaultTemplate ( ) ) ;
237
238
Menu . setApplicationMenu ( menu ) ;
238
239
239
240
return menu ;
240
- } ,
241
+ }
241
242
} ;
242
243
} ;
243
244
0 commit comments