cocooned 2.0.3 → 2.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/app/assets/javascripts/cocooned.js +20 -7
- data/lib/cocooned/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b263ee9e9f62225ffda1bf6023baf4b2f26643ca3951bffe3789c251a3da267
|
4
|
+
data.tar.gz: b390024eaa76fd227ac9e32b292aaf75987e9a3f42200069e51d02440cdd9ea9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35f0aecab1c7b427c52b99cf8d1665ac3a06a5d8bcb980a33d2577e18bdef322897ea080da60a05d7218b90977c53cc919cc14e967c314247c0ff4cd76f83d8e
|
7
|
+
data.tar.gz: ff5d977c74da72179fa80cc2b62ad65bd709f7cce6734ebbd4f82123ac7f3349c6a865f030f035a5d32af6dc9f1522142a0705b1f7b610f6d7bd064bbbaf85fd
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## Version 2.0.4 (2023-11-23)
|
10
|
+
|
11
|
+
### Fixed
|
12
|
+
|
13
|
+
* Fix multiple callback executions in nested containers (#50)
|
14
|
+
|
9
15
|
## Version 2.0.3 (2023-10-13)
|
10
16
|
|
11
17
|
### Fixed
|
@@ -673,14 +673,27 @@
|
|
673
673
|
}
|
674
674
|
|
675
675
|
function delegatedClickHandler (selector, callback) {
|
676
|
+
const handler = clickHandler$1(callback);
|
677
|
+
|
676
678
|
return e => {
|
677
679
|
const { target } = e;
|
678
680
|
if (target.closest(selector) === null) {
|
679
681
|
return
|
680
682
|
}
|
681
683
|
|
682
|
-
e
|
683
|
-
|
684
|
+
handler(e);
|
685
|
+
}
|
686
|
+
}
|
687
|
+
|
688
|
+
function itemDelegatedClickHandler (container, selector, callback) {
|
689
|
+
const delegatedHandler = delegatedClickHandler(selector, callback);
|
690
|
+
|
691
|
+
return e => {
|
692
|
+
if (!container.contains(e.target)) {
|
693
|
+
return
|
694
|
+
}
|
695
|
+
|
696
|
+
delegatedHandler(e);
|
684
697
|
}
|
685
698
|
}
|
686
699
|
|
@@ -707,7 +720,7 @@
|
|
707
720
|
|
708
721
|
this.container.addEventListener(
|
709
722
|
'click',
|
710
|
-
|
723
|
+
itemDelegatedClickHandler(this, this._selector('triggers.remove'), (e) => {
|
711
724
|
const trigger = new Remove(e.target, this);
|
712
725
|
trigger.handle(e);
|
713
726
|
})
|
@@ -866,8 +879,8 @@
|
|
866
879
|
}
|
867
880
|
}
|
868
881
|
|
869
|
-
function clickHandler (
|
870
|
-
return
|
882
|
+
function clickHandler (cocooned, selector, TriggerClass) {
|
883
|
+
return itemDelegatedClickHandler(cocooned, selector, (e) => {
|
871
884
|
const trigger = new TriggerClass(e.target, cocooned);
|
872
885
|
trigger.handle(e);
|
873
886
|
})
|
@@ -900,8 +913,8 @@
|
|
900
913
|
form.addEventListener('submit', e => this._reindexer.reindex(e));
|
901
914
|
}
|
902
915
|
|
903
|
-
this.container.addEventListener('click', clickHandler(this._selector('triggers.up'),
|
904
|
-
this.container.addEventListener('click', clickHandler(this._selector('triggers.down'),
|
916
|
+
this.container.addEventListener('click', clickHandler(this, this._selector('triggers.up'), Up));
|
917
|
+
this.container.addEventListener('click', clickHandler(this, this._selector('triggers.down'), Down));
|
905
918
|
}
|
906
919
|
|
907
920
|
/* Protected and private attributes and methods */
|
data/lib/cocooned/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocooned
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gaël-Ian Havard
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-11-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|