Sha256: 4da73d311e6bf2bb07ab44c0a34746a5f7d9d7406db0b9525ae3f94201410984
Contents?: true
Size: 923 Bytes
Versions: 46
Compression:
Stored size: 923 Bytes
Contents
"use strict"; const { fireAnEvent } = require("../helpers/events"); const HTMLElementImpl = require("./HTMLElement-impl").implementation; class HTMLDetailsElementImpl extends HTMLElementImpl { constructor(globalObject, args, privateData) { super(globalObject, args, privateData); this._taskQueue = null; } _dispatchToggleEvent() { this._taskQueue = null; fireAnEvent("toggle", this); } _attrModified(name, value, oldValue) { super._attrModified(name, value, oldValue); if (name === "open" && this._taskQueue === null) { // Check that the attribute is added or removed, not merely changed if ((value !== oldValue && value !== null && oldValue === null) || (value === null && oldValue !== null)) { this._taskQueue = setTimeout(this._dispatchToggleEvent.bind(this), 0); } } } } module.exports = { implementation: HTMLDetailsElementImpl };
Version data entries
46 entries across 46 versions & 2 rubygems