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