cocooned 2.0.2 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee0724af44d35b3027e3419f3402f336e800128fcdbe7a305c95cde433c2c213
4
- data.tar.gz: c86adf84a079f0a44350a406b25948246c9adf22f88a2e46d6f3be8dc933a65b
3
+ metadata.gz: 4b263ee9e9f62225ffda1bf6023baf4b2f26643ca3951bffe3789c251a3da267
4
+ data.tar.gz: b390024eaa76fd227ac9e32b292aaf75987e9a3f42200069e51d02440cdd9ea9
5
5
  SHA512:
6
- metadata.gz: f4d5714c850e9c99f5e0e65ba0e3a69269039b7b3b2e8cfe0e9a5a68e50e7f5b89de2f915f932d8d55272d6b7d04bcdc22c19c5e6bb02880b40d3f8b80d52090
7
- data.tar.gz: 0ed78d4183757891ec09f07947e2dbe15c3ba4584ccf10e3cc2fbbfbad79b2221813de919170bb0b8d432db95fb1b1cec8e9d67b54914c4c00c4343dcdef0ecf
6
+ metadata.gz: 35f0aecab1c7b427c52b99cf8d1665ac3a06a5d8bcb980a33d2577e18bdef322897ea080da60a05d7218b90977c53cc919cc14e967c314247c0ff4cd76f83d8e
7
+ data.tar.gz: ff5d977c74da72179fa80cc2b62ad65bd709f7cce6734ebbd4f82123ac7f3349c6a865f030f035a5d32af6dc9f1522142a0705b1f7b610f6d7bd064bbbaf85fd
data/CHANGELOG.md CHANGED
@@ -6,7 +6,19 @@ 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.1 (2023-05-09)
9
+ ## Version 2.0.4 (2023-11-23)
10
+
11
+ ### Fixed
12
+
13
+ * Fix multiple callback executions in nested containers (#50)
14
+
15
+ ## Version 2.0.3 (2023-10-13)
16
+
17
+ ### Fixed
18
+
19
+ * Rails 7.1 support (#45)
20
+
21
+ ## Version 2.0.2 (2023-05-09)
10
22
 
11
23
  ### Fixed
12
24
 
@@ -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
- if (null === target.closest(selector)) {
680
+ if (target.closest(selector) === null) {
679
681
  return
680
682
  }
681
683
 
682
- e.preventDefault();
683
- callback(e);
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
- delegatedClickHandler(this._selector('triggers.remove'), (e) => {
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 (selector, cocooned, TriggerClass) {
870
- return delegatedClickHandler(selector, (e) => {
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'), this, Up));
904
- this.container.addEventListener('click', clickHandler(this._selector('triggers.down'), this, 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/cocooned.gemspec CHANGED
@@ -40,7 +40,7 @@ Gem::Specification.new do |spec|
40
40
  end
41
41
  spec.required_ruby_version = '>= 2.6'
42
42
 
43
- spec.add_dependency 'rails', '>= 6.0', '<= 7.1'
43
+ spec.add_dependency 'rails', '>= 6.0', '<= 7.2'
44
44
 
45
45
  spec.add_development_dependency 'bundler', '~> 2.1'
46
46
  spec.add_development_dependency 'formtastic', '~> 4.0'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cocooned
4
- VERSION = '2.0.2'
4
+ VERSION = '2.0.4'
5
5
  end
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.2
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-05-09 00:00:00.000000000 Z
12
+ date: 2023-11-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -20,7 +20,7 @@ dependencies:
20
20
  version: '6.0'
21
21
  - - "<="
22
22
  - !ruby/object:Gem::Version
23
- version: '7.1'
23
+ version: '7.2'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -30,7 +30,7 @@ dependencies:
30
30
  version: '6.0'
31
31
  - - "<="
32
32
  - !ruby/object:Gem::Version
33
- version: '7.1'
33
+ version: '7.2'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: bundler
36
36
  requirement: !ruby/object:Gem::Requirement