Skip to content

Commit e190e3b

Browse files
fix: Adding better details to accordion events (#1769)
* 1764: Adding better details to accordion events * Adding toggle:header to change event test Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent e095be8 commit e190e3b

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

elements/pfe-accordion/src/pfe-accordion-header.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,11 @@ class PfeAccordionHeader extends PFElement {
161161
}
162162
}
163163

164-
_clickHandler() {
164+
_clickHandler(event) {
165165
this.emitEvent(PfeAccordionHeader.events.change, {
166166
detail: {
167167
expanded: !this.expanded,
168+
toggle: event.target,
168169
},
169170
});
170171
}

elements/pfe-accordion/src/pfe-accordion.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,12 @@ class PfeAccordion extends PFElement {
178178

179179
header.focus();
180180

181-
this.emitEvent(PfeAccordion.events.expand);
181+
this.emitEvent(PfeAccordion.events.expand, {
182+
detail: {
183+
toggle: header,
184+
panel: panel,
185+
},
186+
});
182187
}
183188

184189
/**
@@ -207,7 +212,12 @@ class PfeAccordion extends PFElement {
207212
this._collapseHeader(header);
208213
this._collapsePanel(panel);
209214

210-
this.emitEvent(PfeAccordion.events.collapse);
215+
this.emitEvent(PfeAccordion.events.collapse, {
216+
detail: {
217+
toggle: header,
218+
panel: panel,
219+
},
220+
});
211221
}
212222

213223
/**

elements/pfe-accordion/test/pfe-accordion.spec.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -179,14 +179,14 @@ describe("<pfe-accordion>", () => {
179179
const pfeAccordion = await createFixture(testElement);
180180
const header = pfeAccordion.querySelector('pfe-accordion-header');
181181
// const panel = pfeAccordion.querySelector('pfe-accordion-panel');
182-
182+
183183
setTimeout(() => header.click(), 100);
184184

185185
const { detail } = await oneEvent(pfeAccordion, "pfe-accordion:change");
186186

187187
assert.deepEqual(detail, {
188188
expanded: true,
189-
// toggle: header,
189+
toggle: header,
190190
// panel: panel
191191
});
192192
});
@@ -215,12 +215,12 @@ describe("<pfe-accordion>", () => {
215215

216216
// Wait until the animation is complete
217217
await oneEvent(pfeAccordion, "transitionend");
218-
218+
219219
[2,3].forEach(idx => {
220220
const header = headers[idx - 1];
221221
assert.isTrue(header.expanded);
222222
assert.isTrue(header.hasAttribute("expanded"));
223-
223+
224224
const panel = pfeAccordion._panelForHeader(header);
225225
assert.isTrue(panel.expanded);
226226
assert.isTrue(panel.hasAttribute("expanded"));
@@ -244,7 +244,7 @@ describe("<pfe-accordion>", () => {
244244

245245
assert.equal(headers.length, 1);
246246
assert.equal(panels.length, 1);
247-
247+
248248
await elementUpdated(pfeAccordion);
249249

250250
assert.equal(headers[0].getAttribute('disclosure'), 'true');
@@ -274,7 +274,7 @@ describe("<pfe-accordion>", () => {
274274
it("should switch from an accordion to a disclosure if the disclosure attribute switches from false to true", async () => {
275275
const pfeAccordion = await createFixture(testElement);
276276
pfeAccordion.setAttribute("disclosure", "false");
277-
277+
278278
const header = pfeAccordion.querySelector("pfe-accordion-header");
279279
const panel = pfeAccordion.querySelector("pfe-accordion-panel");
280280

0 commit comments

Comments
 (0)