(win: BaseWindow, viewClass?: BaseViewType)
| 4 | |
| 5 | export default class WindowMenuBar extends BaseMenuBar { |
| 6 | constructor(win: BaseWindow, viewClass?: BaseViewType) { |
| 7 | const template = [ |
| 8 | // File menu. |
| 9 | { |
| 10 | label: 'File', |
| 11 | submenu: [ |
| 12 | BaseMenuBar.aboutMenuItem, |
| 13 | ...BaseMenuBar.fileMenuItems, |
| 14 | ], |
| 15 | }, |
| 16 | ]; |
| 17 | super(template); |
| 18 | |
| 19 | // Create "Check latest version" menu item. |
| 20 | this.createVersionMenuItem(); |
| 21 | |
| 22 | // For dashboard create items for all registered views. |
| 23 | const DashboardWindow = require('./dashboard-window').default; |
| 24 | if (win instanceof DashboardWindow) { |
| 25 | this.createAssistantsMenu(); |
| 26 | this.createViewMenu(this.getAllViewMenuItems()); |
| 27 | this.createAssistantsItemsInViewMenu(); |
| 28 | return; |
| 29 | } |
| 30 | |
| 31 | // For other windows add items for view type. |
| 32 | if (!viewClass) |
| 33 | return; |
| 34 | // Create "Assistants" menu. |
| 35 | this.createAssistantsMenu(); |
| 36 | // For "View" menu, get the items for the main view first. |
| 37 | const items = [ |
| 38 | {type: 'separator'}, |
| 39 | ...this.getViewMenuItems(viewClass), |
| 40 | ]; |
| 41 | // If the main view includes a sub main view, get its items too. |
| 42 | if (viewClass.getSubViewType) { |
| 43 | items.push( |
| 44 | {type: 'separator'}, |
| 45 | ...this.getViewMenuItems(viewClass.getSubViewType())); |
| 46 | } |
| 47 | this.createViewMenu(items); |
| 48 | } |
| 49 | } |
nothing calls this directly
no test coverage detected