mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2026-01-24 05:21:02 -08:00
feat: restart current workspace
This commit is contained in:
parent
992b2d9918
commit
54db442550
4 changed files with 21 additions and 12 deletions
|
|
@ -399,6 +399,12 @@ export class MenuService implements IMenuService {
|
|||
},
|
||||
}),
|
||||
);
|
||||
menu.append(
|
||||
new MenuItem({
|
||||
label: i18next.t('ContextMenu.RestartService'),
|
||||
click: async () => await this.workspaceViewService.restartWorkspaceViewService(),
|
||||
}),
|
||||
);
|
||||
menu.append(
|
||||
new MenuItem({
|
||||
label: sidebar ? i18next.t('Preference.HideSideBar') : i18next.t('Preference.ShowSideBar'),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import type { TFunction } from 'i18next';
|
||||
import type { MenuItemConstructorOptions } from 'electron';
|
||||
import { WikiChannel } from '@/constants/channels';
|
||||
import { WindowNames } from '@services/windows/WindowProperties';
|
||||
import type { IWindowService } from '@services/windows/interface';
|
||||
import type { IWorkspaceViewService } from '@services/workspacesView/interface';
|
||||
|
|
@ -13,11 +12,11 @@ import type { IWikiGitWorkspaceService } from '@services/wikiGitWorkspace/interf
|
|||
interface IWorkspaceMenuRequiredServices {
|
||||
native: Pick<INativeService, 'open'>;
|
||||
view: Pick<IViewService, 'reloadViewsWebContents'>;
|
||||
wiki: Pick<IWikiService, 'restartWiki' | 'wikiOperation' | 'requestOpenTiddlerInWiki' | 'requestWikiSendActionMessage'>;
|
||||
wiki: Pick<IWikiService, 'requestOpenTiddlerInWiki' | 'requestWikiSendActionMessage'>;
|
||||
wikiGitWorkspace: Pick<IWikiGitWorkspaceService, 'removeWorkspace'>;
|
||||
window: Pick<IWindowService, 'open'>;
|
||||
workspace: Pick<IWorkspaceService, 'get' | 'getActiveWorkspace'>;
|
||||
workspaceView: Pick<IWorkspaceViewService, 'wakeUpWorkspaceView' | 'hibernateWorkspaceView' | 'setActiveWorkspaceView'>;
|
||||
workspace: Pick<IWorkspaceService, 'getActiveWorkspace'>;
|
||||
workspaceView: Pick<IWorkspaceViewService, 'wakeUpWorkspaceView' | 'hibernateWorkspaceView' | 'setActiveWorkspaceView' | 'restartWorkspaceViewService'>;
|
||||
}
|
||||
|
||||
export async function openWorkspaceTagTiddler(workspace: IWorkspace, service: IWorkspaceMenuRequiredServices): Promise<void> {
|
||||
|
|
@ -70,14 +69,7 @@ export function getWorkspaceMenuTemplate(workspace: IWorkspace, t: TFunction, se
|
|||
},
|
||||
{
|
||||
label: t('ContextMenu.RestartService'),
|
||||
click: async () => {
|
||||
const workspaceToRestart = await service.workspace.get(id);
|
||||
if (workspaceToRestart !== undefined) {
|
||||
await service.wiki.restartWiki(workspaceToRestart);
|
||||
await service.view.reloadViewsWebContents(id);
|
||||
await service.wiki.wikiOperation(WikiChannel.generalNotification, [t('ContextMenu.RestartServiceComplete')]);
|
||||
}
|
||||
},
|
||||
click: async () => await service.workspaceView.restartWorkspaceViewService(id),
|
||||
},
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -276,6 +276,15 @@ export class WorkspaceView implements IWorkspaceViewService {
|
|||
this.viewService.removeView(id);
|
||||
}
|
||||
|
||||
public async restartWorkspaceViewService(id?: string): Promise<void> {
|
||||
const workspaceToRestart = id !== undefined ? await this.workspaceService.get(id) : await this.workspaceService.getActiveWorkspace();
|
||||
if (workspaceToRestart !== undefined) {
|
||||
await this.wikiService.restartWiki(workspaceToRestart);
|
||||
await this.viewService.reloadViewsWebContents(workspaceToRestart.id);
|
||||
await this.wikiService.wikiOperation(WikiChannel.generalNotification, [i18n.t('ContextMenu.RestartServiceComplete')]);
|
||||
}
|
||||
}
|
||||
|
||||
public async clearBrowsingDataWithConfirm(): Promise<void> {
|
||||
const availableWindowToShowDialog = this.windowService.get(WindowNames.preferences) ?? this.windowService.get(WindowNames.main);
|
||||
if (availableWindowToShowDialog !== undefined) {
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ export interface IWorkspaceViewService {
|
|||
printTiddler(tiddlerName?: string | undefined): Promise<void>;
|
||||
realignActiveWorkspace(): Promise<void>;
|
||||
removeWorkspaceView(id: string): Promise<void>;
|
||||
restartWorkspaceViewService(id?: string | undefined): Promise<void>;
|
||||
setActiveWorkspaceView(id: string): Promise<void>;
|
||||
setWorkspaceView(id: string, workspaceOptions: IWorkspace): Promise<void>;
|
||||
setWorkspaceViews(workspaces: Record<string, IWorkspace>): Promise<void>;
|
||||
|
|
@ -48,6 +49,7 @@ export const WorkspaceViewServiceIPCDescriptor = {
|
|||
printTiddler: ProxyPropertyType.Function,
|
||||
realignActiveWorkspace: ProxyPropertyType.Function,
|
||||
removeWorkspaceView: ProxyPropertyType.Function,
|
||||
restartWorkspaceViewService: ProxyPropertyType.Function,
|
||||
setActiveWorkspaceView: ProxyPropertyType.Function,
|
||||
setWorkspaceView: ProxyPropertyType.Function,
|
||||
setWorkspaceViews: ProxyPropertyType.Function,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue