mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-09-03 08:27:15 +00:00
Fix: use proper signal for modal buttonsEnabled (#13672)
This commit is contained in:
@@ -1683,7 +1683,7 @@ describe('BulkEditorComponent', () => {
|
||||
expiration_days: 7,
|
||||
},
|
||||
loading: signal(false),
|
||||
buttonsEnabled: true,
|
||||
buttonsEnabled: signal(true),
|
||||
copied: signal(false),
|
||||
},
|
||||
}
|
||||
@@ -1715,7 +1715,7 @@ describe('BulkEditorComponent', () => {
|
||||
expiration_days: 7,
|
||||
})
|
||||
expect(dialogInstance.loading()).toBe(false)
|
||||
expect(dialogInstance.buttonsEnabled).toBe(false)
|
||||
expect(dialogInstance.buttonsEnabled()).toBe(false)
|
||||
expect(dialogInstance.createdBundle).toEqual({ id: 42 })
|
||||
expect(typeof dialogInstance.onOpenManage).toBe('function')
|
||||
expect(toastInfoSpy).toHaveBeenCalledWith(
|
||||
@@ -1755,7 +1755,7 @@ describe('BulkEditorComponent', () => {
|
||||
expiration_days: null,
|
||||
},
|
||||
loading: signal(false),
|
||||
buttonsEnabled: true,
|
||||
buttonsEnabled: signal(true),
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1777,7 +1777,7 @@ describe('BulkEditorComponent', () => {
|
||||
expect.any(Error)
|
||||
)
|
||||
expect(dialogInstance.loading()).toBe(false)
|
||||
expect(dialogInstance.buttonsEnabled).toBe(true)
|
||||
expect(dialogInstance.buttonsEnabled()).toBe(true)
|
||||
openSpy.mockRestore()
|
||||
})
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@ export class BulkEditorComponent
|
||||
overrideSelection?: DocumentSelectionQuery
|
||||
) {
|
||||
if (modal) {
|
||||
this.setModalButtonsEnabled(modal, false)
|
||||
modal.componentInstance.buttonsEnabled.set(false)
|
||||
}
|
||||
this.documentService
|
||||
.bulkEdit(overrideSelection ?? this.getSelectionQuery(), method, args)
|
||||
@@ -290,7 +290,7 @@ export class BulkEditorComponent
|
||||
options: { deleteOriginals?: boolean } = {}
|
||||
) {
|
||||
if (modal) {
|
||||
this.setModalButtonsEnabled(modal, false)
|
||||
modal.componentInstance.buttonsEnabled.set(false)
|
||||
}
|
||||
request.pipe(first()).subscribe({
|
||||
next: () => {
|
||||
@@ -320,7 +320,7 @@ export class BulkEditorComponent
|
||||
|
||||
private handleOperationError(modal: NgbModalRef, error: any) {
|
||||
if (modal) {
|
||||
this.setModalButtonsEnabled(modal, true)
|
||||
modal.componentInstance.buttonsEnabled.set(true)
|
||||
}
|
||||
this.toastService.showError(
|
||||
$localize`Error executing bulk operation`,
|
||||
@@ -328,15 +328,6 @@ export class BulkEditorComponent
|
||||
)
|
||||
}
|
||||
|
||||
private setModalButtonsEnabled(modal: NgbModalRef, enabled: boolean) {
|
||||
const buttonsEnabled = modal.componentInstance.buttonsEnabled
|
||||
if (typeof buttonsEnabled?.set === 'function') {
|
||||
buttonsEnabled.set(enabled)
|
||||
} else {
|
||||
modal.componentInstance.buttonsEnabled = enabled
|
||||
}
|
||||
}
|
||||
|
||||
private applySelectionData(
|
||||
items: SelectionDataItem[],
|
||||
selectionModel: FilterableDropdownSelectionModel
|
||||
@@ -872,7 +863,7 @@ export class BulkEditorComponent
|
||||
modal.componentInstance.confirmClicked
|
||||
.pipe(takeUntil(this.unsubscribeNotifier))
|
||||
.subscribe(() => {
|
||||
modal.componentInstance.buttonsEnabled = false
|
||||
modal.componentInstance.buttonsEnabled.set(false)
|
||||
this.executeDocumentAction(
|
||||
modal,
|
||||
this.documentService.deleteDocuments(this.getSelectionQuery())
|
||||
@@ -920,7 +911,7 @@ export class BulkEditorComponent
|
||||
modal.componentInstance.confirmClicked
|
||||
.pipe(takeUntil(this.unsubscribeNotifier))
|
||||
.subscribe(() => {
|
||||
modal.componentInstance.buttonsEnabled = false
|
||||
modal.componentInstance.buttonsEnabled.set(false)
|
||||
this.executeDocumentAction(
|
||||
modal,
|
||||
this.documentService.reprocessDocuments(this.getSelectionQuery())
|
||||
@@ -957,7 +948,7 @@ export class BulkEditorComponent
|
||||
rotateDialog.confirmClicked
|
||||
.pipe(takeUntil(this.unsubscribeNotifier))
|
||||
.subscribe(() => {
|
||||
rotateDialog.buttonsEnabled = false
|
||||
rotateDialog.buttonsEnabled.set(false)
|
||||
this.executeDocumentAction(
|
||||
modal,
|
||||
this.documentService.rotateDocuments(
|
||||
@@ -990,7 +981,7 @@ export class BulkEditorComponent
|
||||
if (mergeDialog.archiveFallback()) {
|
||||
args.archive_fallback = true
|
||||
}
|
||||
mergeDialog.buttonsEnabled = false
|
||||
mergeDialog.buttonsEnabled.set(false)
|
||||
this.executeDocumentAction(
|
||||
modal,
|
||||
this.documentService.mergeDocuments(mergeDialog.documentIDs(), args),
|
||||
@@ -1063,14 +1054,14 @@ export class BulkEditorComponent
|
||||
.pipe(takeUntil(this.unsubscribeNotifier))
|
||||
.subscribe(() => {
|
||||
dialog.loading.set(true)
|
||||
dialog.buttonsEnabled = false
|
||||
dialog.buttonsEnabled.set(false)
|
||||
this.shareLinkBundleService
|
||||
.createBundle(dialog.payload)
|
||||
.pipe(first())
|
||||
.subscribe({
|
||||
next: (result) => {
|
||||
dialog.loading.set(false)
|
||||
dialog.buttonsEnabled = false
|
||||
dialog.buttonsEnabled.set(false)
|
||||
dialog.createdBundle = result
|
||||
dialog.copied.set(false)
|
||||
dialog.payload = null
|
||||
@@ -1084,7 +1075,7 @@ export class BulkEditorComponent
|
||||
},
|
||||
error: (error) => {
|
||||
dialog.loading.set(false)
|
||||
dialog.buttonsEnabled = true
|
||||
dialog.buttonsEnabled.set(true)
|
||||
this.toastService.showError(
|
||||
$localize`Share link bundle creation is not available yet.`,
|
||||
error
|
||||
|
||||
Reference in New Issue
Block a user