)
expect(saveSpy).toHaveBeenCalled()
+ jest.spyOn(openDocumentsService, 'isDirty').mockReturnValue(true)
+ jest.spyOn(component, 'hasNext').mockReturnValue(true)
+ const saveNextSpy = jest.spyOn(component, 'saveEditNext')
+ document.dispatchEvent(
+ new KeyboardEvent('keydown', { key: 's', ctrlKey: true, shiftKey: true })
+ )
+ expect(saveNextSpy).toHaveBeenCalled()
+
const closeSpy = jest.spyOn(component, 'close')
document.dispatchEvent(new KeyboardEvent('keydown', { key: 'escape' }))
expect(closeSpy).toHaveBeenCalled()
.subscribe(() => {
if (this.openDocumentService.isDirty(this.document)) this.save()
})
+
+ this.hotKeyService
+ .addShortcut({
+ keys: 'control.shift.s',
+ description: $localize`Save and close / next`,
+ })
+ .pipe(takeUntil(this.unsubscribeNotifier))
+ .subscribe(() => {
+ if (this.openDocumentService.isDirty(this.document)) this.saveEditNext()
+ })
}
ngOnDestroy(): void {