Skip to content

Commit

Permalink
Merge pull request #872 from takenet/fix/accordion-events
Browse files Browse the repository at this point in the history
fix(accordion): resolve problem with event onBdsAccordionOpen
  • Loading branch information
lucasMurtaVI authored Aug 30, 2024
2 parents 734a989 + 7acb011 commit 231aba8
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 19 deletions.
4 changes: 2 additions & 2 deletions src/components.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,10 @@ export namespace Components {
"toggle": () => Promise<void>;
}
interface BdsAccordionGroup {
"closeAll": (actNumber: any) => Promise<void>;
"closeAll": (actNumber?: any) => Promise<void>;
"collapse"?: collapses;
"divisor"?: boolean;
"openAll": (actNumber: any) => Promise<void>;
"openAll": (actNumber?: any) => Promise<void>;
}
interface BdsAccordionHeader {
/**
Expand Down
4 changes: 2 additions & 2 deletions src/components/accordion/accordion-group.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export class AccordionGroup {
@Event() bdsAccordionOpenAll?: EventEmitter;

@Method()
async closeAll(actNumber) {
async closeAll(actNumber?) {
this.bdsAccordionCloseAll.emit();
for (let i = 0; i < this.accordionsElement.length; i++) {
if (this.collapse != 'multiple') {
Expand All @@ -30,7 +30,7 @@ export class AccordionGroup {
}

@Method()
async openAll(actNumber) {
async openAll(actNumber?) {
this.bdsAccordionOpenAll.emit();
for (let i = 0; i < this.accordionsElement.length; i++) {
if (this.collapse != 'multiple') {
Expand Down
12 changes: 10 additions & 2 deletions src/components/accordion/accordion-header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,20 @@ export class AccordionHeader {
}

private toggleHeader = (): void => {
this.accordionElement?.toggle();
if (this.isOpen) {
this.accordionElement?.close();
} else {
this.accordionElement?.open();
}
};

handleKeyDown(event) {
if (event.key == 'Enter') {
this.accordionElement?.toggle();
if (this.isOpen) {
this.accordionElement?.close();
} else {
this.accordionElement?.open();
}
}
}

Expand Down
25 changes: 12 additions & 13 deletions src/components/accordion/accordion.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ export class Accordion {

@Method()
async open() {
this.accheaders?.open();
this.accBodies?.open();
this.isOpen = true;
}

Expand All @@ -53,20 +55,17 @@ export class Accordion {

@Watch('isOpen')
isOpenChanged(value): void {
if (this.accGroup.collapse == 'single' && this.condition === false) {
this.accheaders?.toggle();
this.accBodies?.toggle();
this.accGroup?.closeAll(this.numberElement);
} else {
if (value) {
this.accheaders?.open();
this.accBodies?.open();
this.bdsAccordionOpen.emit();
} else {
this.accheaders?.close();
this.accBodies?.close();
this.bdsAccordionClose.emit();
if (value) {
if (this.accGroup.collapse == 'single' && this.condition === false) {
this.accGroup?.closeAll(this.numberElement);
}
this.accheaders?.open();
this.accBodies?.open();
this.bdsAccordionOpen.emit();
} else {
this.accheaders?.close();
this.accBodies?.close();
this.bdsAccordionClose.emit();
}
this.condition = false;
}
Expand Down

0 comments on commit 231aba8

Please sign in to comment.