Skip to content

Commit 007c3ce

Browse files
committed
fix(accordion): add requested changes
1 parent 5c4d030 commit 007c3ce

File tree

4 files changed

+13
-5
lines changed

4 files changed

+13
-5
lines changed

projects/igniteui-angular/src/lib/accordion/accordion.component.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,6 @@ describe('Rendering Tests', () => {
232232
argsIng = { event: expArgs.event, cancel: expArgs.cancel, owner: accordion, panel: expArgs.owner };
233233
});
234234
accordion.panels[0].collapse();
235-
accordion.panels[0].collapse();
236235
tick();
237236
fix.detectChanges();
238237

projects/igniteui-angular/src/lib/accordion/accordion.component.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -387,9 +387,7 @@ export class IgxAccordionComponent implements AfterContentInit, AfterViewInit, O
387387
});
388388
panel.contentCollapsing.pipe(takeUntil(this._unsubChildren$)).subscribe((args: IExpansionPanelCancelableEventArgs) => {
389389
const evArgs: IAccordionCancelableEventArgs = { ...args, owner: this, panel: args.owner };
390-
if (!args.owner.closeAnimationPlayer?._started) {
391-
this.panelCollapsing.emit(evArgs);
392-
}
390+
this.panelCollapsing.emit(evArgs);
393391
if (evArgs.cancel) {
394392
args.cancel = true;
395393
}

projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.component.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,8 @@ export class IgxExpansionPanelComponent extends ToggleAnimationPlayer implements
225225
* ```
226226
*/
227227
public collapse(evt?: Event) {
228-
if (this.collapsed) { // If expansion panel is already collapsed, do nothing
228+
// If expansion panel is already collapsed or is collapsing, do nothing
229+
if (this.collapsed || this.closeAnimationPlayer) {
229230
return;
230231
}
231232
const args = { event: evt, panel: this, owner: this, cancel: false };

projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,16 @@ describe('igxExpansionPanel', () => {
196196
expect(panel.collapsed).toBeFalsy();
197197
expect(header.interaction.emit).toHaveBeenCalledTimes(4);
198198
expect(panel.contentCollapsed.emit).toHaveBeenCalledTimes(1);
199+
200+
// collapse when the panel has already started collapsing
201+
header.onAction(mockEvent);
202+
header.onAction(mockEvent);
203+
tick();
204+
fixture.detectChanges();
205+
206+
expect(panel.collapsed).toBeTruthy();
207+
expect(header.interaction.emit).toHaveBeenCalledTimes(6);
208+
expect(panel.contentCollapsing.emit).toHaveBeenCalledTimes(2);
199209
}));
200210

201211
it('Should expand/collapse without animation when animationSettings === null', fakeAsync(() => {

0 commit comments

Comments
 (0)