From 600ba8edca9d2f3349b80ee3c30e9a7c119ce484 Mon Sep 17 00:00:00 2001 From: xiaowei Date: Thu, 22 Oct 2020 20:44:16 +0800 Subject: [PATCH] feat: add menuBarService --- src/services/menuBarService.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/services/menuBarService.ts diff --git a/src/services/menuBarService.ts b/src/services/menuBarService.ts new file mode 100644 index 000000000..c858dbdfc --- /dev/null +++ b/src/services/menuBarService.ts @@ -0,0 +1,34 @@ +import { MenuBarEvent, IMenuBar, IMenuBarItem } from 'mo/core/workbench/menuBar'; +import { emit } from 'mo/services/eventService'; +import { singleton } from 'tsyringe'; + +@singleton() +export class MenuBarService implements IMenuBar { + data: IMenuBarItem[]; + + constructor(data: IMenuBarItem[] = []) { + this.data = data; + } + + @emit(MenuBarEvent.onClick) + public onClick(event: React.MouseEvent, item: IMenuBarItem) { + console.log('onClick:', this.data); + } + + @emit(MenuBarEvent.DataChanged) + public push(data: IMenuBarItem | IMenuBarItem[]) { + if (Array.isArray(data)) { + this.data = this.data.concat(data); + } else { + this.data.push(data); + } + } + + public remove(index: number) { + this.data.splice(index, 1); + } + + public update() { + // this.data. + } +}