Decouple dialog refocus from PanelsService via FocusService
Dialogs only needed refocus(); injecting PanelsService boots a whole workspace, which secondary windows must not do. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { Component, computed, inject, input, signal } from '@angular/core';
|
||||
import { DialogsService, type ChmodRequest } from '../dialogs.service';
|
||||
import { PanelsService } from '../panels.service';
|
||||
import { FocusService } from '../focus.service';
|
||||
|
||||
const ROLES = ['Owner', 'Group', 'Others'] as const;
|
||||
const PERMS = ['r', 'w', 'x'] as const;
|
||||
@@ -81,7 +81,7 @@ export class ChmodDialog {
|
||||
readonly perms = PERMS;
|
||||
|
||||
private readonly dialogs = inject(DialogsService);
|
||||
private readonly panels = inject(PanelsService);
|
||||
private readonly focus = inject(FocusService);
|
||||
|
||||
// mode is initialized lazily from the request on first read
|
||||
private readonly modeOverride = signal<number | null>(null);
|
||||
@@ -120,6 +120,6 @@ export class ChmodDialog {
|
||||
|
||||
private close(): void {
|
||||
this.dialogs.chmod.set(null);
|
||||
this.panels.refocus();
|
||||
this.focus.bump();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user