Skip to content
This repository has been archived by the owner on Feb 21, 2022. It is now read-only.

Commit

Permalink
fix: Prevent non blocking error when trying to attach en event to a d…
Browse files Browse the repository at this point in the history
…ocumentFragment
  • Loading branch information
liqueurdetoile committed Apr 25, 2018
1 parent e4af890 commit ffb2fce
Show file tree
Hide file tree
Showing 8 changed files with 7,412 additions and 6,568 deletions.
2 changes: 1 addition & 1 deletion dist/elementify.min.js

Large diffs are not rendered by default.

4,464 changes: 2,232 additions & 2,232 deletions docs/ast/source/element.js.json

Large diffs are not rendered by default.

9,468 changes: 5,151 additions & 4,317 deletions docs/ast/source/elements/eventifiedelement.js.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ <h3 data-ice="anchor" id="instance-method-fire">
<span class="right-info">
<span class="version" data-ice="version">version 1.0.0</span>
<span class="since" data-ice="since">since 1.0.0</span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber132">source</a></span></span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber137">source</a></span></span>
</span>
</h3>

Expand Down Expand Up @@ -512,7 +512,7 @@ <h3 data-ice="anchor" id="instance-method-getEvent">
<span class="right-info">
<span class="version" data-ice="version">version 1.0.0</span>
<span class="since" data-ice="since">since 1.0.0</span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber174">source</a></span></span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber179">source</a></span></span>
</span>
</h3>

Expand Down Expand Up @@ -586,7 +586,7 @@ <h3 data-ice="anchor" id="instance-method-hasEvent">
<span class="right-info">
<span class="version" data-ice="version">version 1.0.0</span>
<span class="since" data-ice="since">since 1.0.0</span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber155">source</a></span></span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber160">source</a></span></span>
</span>
</h3>

Expand Down Expand Up @@ -667,7 +667,7 @@ <h3 data-ice="anchor" id="instance-method-off">
<span class="right-info">
<span class="version" data-ice="version">version 1.0.0</span>
<span class="since" data-ice="since">since 1.0.0</span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber85">source</a></span></span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber88">source</a></span></span>
</span>
</h3>

Expand Down Expand Up @@ -849,7 +849,7 @@ <h3 data-ice="anchor" id="instance-method-registerEvents">
<span class="right-info">
<span class="version" data-ice="version">version 1.0.0</span>
<span class="since" data-ice="since">since 1.0.0</span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber189">source</a></span></span>
<span data-ice="source"><span><a href="file/src/elements/eventifiedelement.js.html#lineNumber194">source</a></span></span>
</span>
</h3>

Expand Down
5 changes: 5 additions & 0 deletions docs/file/src/elements/eventifiedelement.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@
on(event, callback, capture = false) {
const cbid = this._callbackId(callback);

// Prevent attaching event to a documentFragment itself
if (!this.length) return this;

// Avoid 2 same callbacks to be attached to an event
if (!eventsManager.has(`${this._id}.${event}.${cbid}`)) {
this.element.addEventListener(event, callback, capture);
Expand Down Expand Up @@ -149,6 +152,8 @@
off(event, callback, capture = false) {
const cbid = this._callbackId(callback);

if (!this.length) return this;

if (!event) {
// Remove all events
eventsManager.forEach((cb, e) =&gt; {
Expand Down
16 changes: 8 additions & 8 deletions docs/index.json

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions docs/source.html
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@
<td data-ice="filePath"><span><a href="file/src/element.js.html">src/element.js</a></span></td>
<td data-ice="identifier" class="identifiers"><span><a href="class/src/element.js~Element.html">Element</a></span></td>
<td class="coverage"><span data-ice="coverage">100 %</span><span data-ice="coverageCount" class="coverage-count">4/4</span></td>
<td style="display: none;" data-ice="size">4429 byte</td>
<td style="display: none;" data-ice="size">4563 byte</td>
<td style="display: none;" data-ice="lines">134</td>
<td style="display: none;" data-ice="updated">2018-03-05 08:25:25 (UTC)</td>
<td style="display: none;" data-ice="updated">2018-04-04 08:02:10 (UTC)</td>
</tr>
<tr data-ice="file">
<td data-ice="filePath"><span><a href="file/src/elements/documentelement.js.html#errorLines=10,13,14,9">src/elements/documentelement.js</a></span></td>
Expand All @@ -104,9 +104,9 @@
<td data-ice="filePath"><span><a href="file/src/elements/eventifiedelement.js.html#errorLines=12,14,15">src/elements/eventifiedelement.js</a></span></td>
<td data-ice="identifier" class="identifiers"><span><a href="class/src/elements/eventifiedelement.js~EventifiedElement.html">EventifiedElement</a></span></td>
<td class="coverage"><span data-ice="coverage">70 %</span><span data-ice="coverageCount" class="coverage-count">7/10</span></td>
<td style="display: none;" data-ice="size">6354 byte</td>
<td style="display: none;" data-ice="lines">193</td>
<td style="display: none;" data-ice="updated">2018-04-02 19:55:02 (UTC)</td>
<td style="display: none;" data-ice="size">6486 byte</td>
<td style="display: none;" data-ice="lines">198</td>
<td style="display: none;" data-ice="updated">2018-04-04 07:59:30 (UTC)</td>
</tr>
<tr data-ice="file">
<td data-ice="filePath"><span><a href="file/src/elements/formelement.js.html">src/elements/formelement.js</a></span></td>
Expand Down
5 changes: 5 additions & 0 deletions src/elements/eventifiedelement.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ export default class EventifiedElement {
on(event, callback, capture = false) {
const cbid = this._callbackId(callback);

// Prevent attaching event to a documentFragment itself
if (!this.length) return this;

// Avoid 2 same callbacks to be attached to an event
if (!eventsManager.has(`${this._id}.${event}.${cbid}`)) {
this.element.addEventListener(event, callback, capture);
Expand Down Expand Up @@ -85,6 +88,8 @@ export default class EventifiedElement {
off(event, callback, capture = false) {
const cbid = this._callbackId(callback);

if (!this.length) return this;

if (!event) {
// Remove all events
eventsManager.forEach((cb, e) => {
Expand Down

0 comments on commit ffb2fce

Please sign in to comment.