Skip to content

Commit 0c2d648

Browse files
committed
perf: decrease DOM size
1 parent 4400653 commit 0c2d648

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
data-testid="action-box"
44
class="str-chat__message-actions-box str-chat__message-actions-box-angular"
55
[class.str-chat__message-actions-box--open]="true"
6+
*ngIf="isOpen"
67
>
78
<ul class="str-chat__message-actions-list">
89
<ng-container
@@ -51,6 +52,7 @@
5152
>
5253
<stream-modal
5354
[isOpen]="isOpen"
55+
*ngIf="isOpen"
5456
(isOpenChange)="isOpenChangeHandler($event)"
5557
[content]="content"
5658
>

projects/stream-chat-angular/src/lib/message-actions-box/message-actions-box.component.spec.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ describe('MessageActionsBoxComponent', () => {
3636
let queryMuteAction: () => HTMLElement | null;
3737
let queryEditAction: () => HTMLElement | null;
3838
let queryDeleteAction: () => HTMLElement | null;
39-
let queryEditModal: () => ModalComponent;
39+
let queryEditModal: () => ModalComponent | undefined;
4040
let queryModalCancelButton: () => HTMLElement | null;
4141
let queryMessageInputComponent: () => MessageInputComponent;
4242
let message: StreamMessage;
@@ -88,7 +88,11 @@ describe('MessageActionsBoxComponent', () => {
8888
component = fixture.componentInstance;
8989
message = mockMessage();
9090
component.message = message;
91-
component.ngOnChanges({ message: {} as SimpleChange });
91+
component.isOpen = true;
92+
component.ngOnChanges({
93+
message: {} as SimpleChange,
94+
isOpen: {} as SimpleChange,
95+
});
9296
nativeElement = fixture.nativeElement as HTMLElement;
9397
queryQuoteAction = () =>
9498
nativeElement.querySelector('[data-testid="quote-action"]');
@@ -104,7 +108,7 @@ describe('MessageActionsBoxComponent', () => {
104108
nativeElement.querySelector('[data-testid="delete-action"]');
105109
queryEditModal = () =>
106110
fixture.debugElement.query(By.directive(ModalComponent))
107-
.componentInstance as ModalComponent;
111+
?.componentInstance as ModalComponent | undefined;
108112
queryModalCancelButton = () =>
109113
nativeElement.querySelector('[data-testid="cancel-button"]');
110114
queryMessageInputComponent = () =>
@@ -400,7 +404,7 @@ describe('MessageActionsBoxComponent', () => {
400404
queryEditAction()?.click();
401405
fixture.detectChanges();
402406

403-
expect(queryEditModal().isOpen).toBeTrue();
407+
expect(queryEditModal()?.isOpen).toBeTrue();
404408
});
405409

406410
it('should display message input if user starts to edit', () => {
@@ -429,6 +433,7 @@ describe('MessageActionsBoxComponent', () => {
429433
it('should close modal with "Cancel" button', () => {
430434
component.enabledActions = ['update-own-message'];
431435
component.isMine = true;
436+
component.isEditModalOpen = true;
432437
component.ngOnChanges({
433438
enabledActions: {} as SimpleChange,
434439
isMine: {} as SimpleChange,
@@ -441,7 +446,7 @@ describe('MessageActionsBoxComponent', () => {
441446
queryModalCancelButton()?.click();
442447
fixture.detectChanges();
443448

444-
expect(queryEditModal().isOpen).toBeFalse();
449+
expect(queryEditModal()).toBeUndefined();
445450
expect(spy).toHaveBeenCalledWith(false);
446451
});
447452

@@ -458,7 +463,7 @@ describe('MessageActionsBoxComponent', () => {
458463
component.isEditing.subscribe(spy);
459464
queryEditAction()?.click();
460465
fixture.detectChanges();
461-
queryEditModal().close();
466+
queryEditModal()?.close();
462467
fixture.detectChanges();
463468

464469
expect(component.isEditModalOpen).toBeFalse();
@@ -482,7 +487,7 @@ describe('MessageActionsBoxComponent', () => {
482487
messageInputComponent.messageUpdate.emit();
483488
fixture.detectChanges();
484489

485-
expect(queryEditModal().isOpen).toBeFalse();
490+
expect(queryEditModal()).toBeUndefined();
486491
expect(spy).toHaveBeenCalledWith(false);
487492
});
488493

0 commit comments

Comments
 (0)