From 0a94f8f0d4d8b902cd6290fe402a8cabd254eaf0 Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Thu, 13 Aug 2026 09:48:23 -0700
Subject: [PATCH] Fix: use proper signal for modal buttonsEnabled (#13672)
---
.../admin/tasks/tasks.component.spec.ts | 4 +--
.../components/admin/tasks/tasks.component.ts | 8 ++---
.../components/admin/trash/trash.component.ts | 2 +-
.../users-groups/users-groups.component.ts | 4 +--
.../confirm-dialog.component.html | 6 ++--
.../confirm-dialog.component.spec.ts | 16 ++++++++++
.../confirm-dialog.component.ts | 12 ++++++--
.../merge-confirm-dialog.component.html | 4 +--
...word-removal-confirm-dialog.component.html | 4 +--
.../rotate-confirm-dialog.component.html | 4 +--
.../pdf-editor/pdf-editor.component.html | 2 +-
.../share-link-bundle-dialog.component.html | 2 +-
...share-link-bundle-dialog.component.spec.ts | 2 +-
.../share-link-bundle-dialog.component.ts | 2 +-
.../document-detail.component.spec.ts | 4 +--
.../document-detail.component.ts | 18 ++++++------
.../bulk-editor/bulk-editor.component.spec.ts | 8 ++---
.../bulk-editor/bulk-editor.component.ts | 29 +++++++------------
.../custom-fields/custom-fields.component.ts | 2 +-
.../management-list.component.ts | 8 ++---
.../components/manage/mail/mail.component.ts | 4 +--
.../manage/workflows/workflows.component.ts | 2 +-
src-ui/src/app/guards/dirty-form.guard.ts | 2 +-
.../src/app/guards/dirty-saved-view.guard.ts | 4 +--
.../app/services/open-documents.service.ts | 4 +--
25 files changed, 85 insertions(+), 72 deletions(-)
diff --git a/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts b/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts
index 15069a9ba..f49083623 100644
--- a/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts
+++ b/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts
@@ -576,7 +576,7 @@ describe('TasksComponent', () => {
expect(dismissSpy).toHaveBeenCalledWith(new Set([tasks[0].id, tasks[1].id]))
expect(toastSpy).toHaveBeenCalledWith('Error dismissing tasks', error)
- expect(modal.componentInstance.buttonsEnabled).toBe(true)
+ expect(modal.componentInstance.buttonsEnabled()).toBe(true)
expect(component.selectedTasks.size).toBe(0)
})
@@ -642,7 +642,7 @@ describe('TasksComponent', () => {
expect(dismissSpy).toHaveBeenCalled()
expect(toastSpy).toHaveBeenCalledWith('Error dismissing tasks', error)
- expect(modal.componentInstance.buttonsEnabled).toBe(true)
+ expect(modal.componentInstance.buttonsEnabled()).toBe(true)
})
it('should dismiss the currently visible scoped and filtered tasks', () => {
diff --git a/src-ui/src/app/components/admin/tasks/tasks.component.ts b/src-ui/src/app/components/admin/tasks/tasks.component.ts
index edf606c12..f634a87f7 100644
--- a/src-ui/src/app/components/admin/tasks/tasks.component.ts
+++ b/src-ui/src/app/components/admin/tasks/tasks.component.ts
@@ -316,7 +316,7 @@ export class TasksComponent
modal.componentInstance.btnClass = 'btn-warning'
modal.componentInstance.btnCaption = $localize`Dismiss`
modal.componentInstance.confirmClicked.pipe(first()).subscribe(() => {
- modal.componentInstance.buttonsEnabled = false
+ modal.componentInstance.buttonsEnabled.set(false)
modal.close()
this.tasksService.dismissTasks(tasks).subscribe({
next: () => {
@@ -324,7 +324,7 @@ export class TasksComponent
},
error: (e) => {
this.toastService.showError($localize`Error dismissing tasks`, e)
- modal.componentInstance.buttonsEnabled = true
+ modal.componentInstance.buttonsEnabled.set(true)
},
})
this.clearSelection()
@@ -350,7 +350,7 @@ export class TasksComponent
modal.componentInstance.btnClass = 'btn-warning'
modal.componentInstance.btnCaption = $localize`Dismiss`
modal.componentInstance.confirmClicked.pipe(first()).subscribe(() => {
- modal.componentInstance.buttonsEnabled = false
+ modal.componentInstance.buttonsEnabled.set(false)
modal.close()
this.tasksService.dismissAllTasks().subscribe({
next: () => {
@@ -358,7 +358,7 @@ export class TasksComponent
},
error: (e) => {
this.toastService.showError($localize`Error dismissing tasks`, e)
- modal.componentInstance.buttonsEnabled = true
+ modal.componentInstance.buttonsEnabled.set(true)
},
})
this.clearSelection()
diff --git a/src-ui/src/app/components/admin/trash/trash.component.ts b/src-ui/src/app/components/admin/trash/trash.component.ts
index 68b3464eb..b64f3a88f 100644
--- a/src-ui/src/app/components/admin/trash/trash.component.ts
+++ b/src-ui/src/app/components/admin/trash/trash.component.ts
@@ -82,7 +82,7 @@ export class TrashComponent
modal.componentInstance.confirmClicked
.pipe(takeUntil(this.unsubscribeNotifier))
.subscribe(() => {
- modal.componentInstance.buttonsEnabled = false
+ modal.componentInstance.buttonsEnabled.set(false)
this.trashService.emptyTrash([document.id]).subscribe({
next: () => {
this.toastService.showInfo(
diff --git a/src-ui/src/app/components/admin/users-groups/users-groups.component.ts b/src-ui/src/app/components/admin/users-groups/users-groups.component.ts
index 252c60640..b7eea7ff0 100644
--- a/src-ui/src/app/components/admin/users-groups/users-groups.component.ts
+++ b/src-ui/src/app/components/admin/users-groups/users-groups.component.ts
@@ -146,7 +146,7 @@ export class UsersAndGroupsComponent
modal.componentInstance.btnClass = 'btn-danger'
modal.componentInstance.btnCaption = $localize`Proceed`
modal.componentInstance.confirmClicked.subscribe(() => {
- modal.componentInstance.buttonsEnabled = false
+ modal.componentInstance.buttonsEnabled.set(false)
this.usersService.delete(user).subscribe({
next: () => {
modal.close()
@@ -199,7 +199,7 @@ export class UsersAndGroupsComponent
modal.componentInstance.btnClass = 'btn-danger'
modal.componentInstance.btnCaption = $localize`Proceed`
modal.componentInstance.confirmClicked.subscribe(() => {
- modal.componentInstance.buttonsEnabled = false
+ modal.componentInstance.buttonsEnabled.set(false)
this.groupsService.delete(group).subscribe({
next: () => {
modal.close()
diff --git a/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.html b/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.html
index 437e7af94..c8af56d72 100644
--- a/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.html
+++ b/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.html
@@ -12,10 +12,10 @@
}
diff --git a/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html b/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html
index fc866fe40..56bf87433 100644
--- a/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html
+++ b/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html
@@ -57,7 +57,7 @@
class="btn"
[class]="cancelBtnClass"
(click)="cancel()"
- [disabled]="!buttonsEnabled"
+ [disabled]="!buttonsEnabled()"
>
{{cancelBtnCaption}}
@@ -68,7 +68,7 @@
class="btn"
[class]="btnClass"
(click)="confirm()"
- [disabled]="!confirmButtonEnabled || !buttonsEnabled"
+ [disabled]="!confirmButtonEnabled || !buttonsEnabled()"
>
{{btnCaption}}
diff --git a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html
index 8f8ecf1f1..7dcaeab3f 100644
--- a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html
+++ b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html
@@ -34,10 +34,10 @@
{{messageBold}}
}
-