cocooned 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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