Skip to content

Commit fde478c

Browse files
committed
maint(pat-collapsible): Add updated dom to pat-update event data.
Related: #1092
1 parent 18375fe commit fde478c

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

src/pat/collapsible/collapsible.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,16 @@ class Pattern extends BasePattern {
204204
.addClass("collapsible-" + to_cls);
205205
$el.removeClass(from_cls).addClass(to_cls).trigger("pat-update", {
206206
pattern: "collapsible",
207+
action: "attribute-changed",
208+
dom: $el[0],
207209
transition: "complete",
208210
});
209211
} else {
210212
const t = this.transitions[this.options.transition];
211213
$el.addClass("in-progress").trigger("pat-update", {
212214
pattern: "collapsible",
215+
action: "attribute-changed",
216+
dom: $el[0],
213217
transition: "start",
214218
});
215219
this.$trigger.addClass("collapsible-in-progress");
@@ -226,6 +230,8 @@ class Pattern extends BasePattern {
226230
.addClass(to_cls)
227231
.trigger("pat-update", {
228232
pattern: "collapsible",
233+
action: "attribute-changed",
234+
dom: $el[0],
229235
transition: "complete",
230236
});
231237
}.bind(this)

src/pat/collapsible/collapsible.test.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,4 +231,27 @@ describe("pat-collapsible", function () {
231231
expect(arg_1.scrollTop).toBe(40); // the offset is substracted from the scroll position, so a negative offset is added to the scroll position and stops AFTER the target position.
232232
});
233233
});
234+
235+
it("9 - triggers the pat-update event.", async function () {
236+
document.body.innerHTML = `
237+
<div class="pat-collapsible closed">
238+
<h3>Trigger header</h3>
239+
<p>Collapsible content</p>
240+
</div>
241+
`;
242+
const $collapsible = $(".pat-collapsible");
243+
const instance = new Pattern($collapsible[0], { transition: "none" });
244+
await events.await_pattern_init(instance);
245+
const spy_trigger = jest.spyOn($.fn, "trigger");
246+
instance.toggle($collapsible);
247+
expect(spy_trigger).toHaveBeenCalledWith(
248+
"pat-update",
249+
expect.objectContaining({
250+
pattern: "collapsible",
251+
action: "attribute-changed",
252+
dom: document.body.querySelector(".pat-collapsible"),
253+
transition: "complete",
254+
})
255+
);
256+
});
234257
});

0 commit comments

Comments
 (0)