cocooned 2.1.0 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/app/assets/javascripts/cocooned.js +7 -4
- 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: 0af704c95699d29310c3a1d09da4a4a4d67d90c8d375d34a2090211fefe03099
|
4
|
+
data.tar.gz: 1db3b3325459d3ee9450ba1f6b414016e07ab86b69e6bb2c2cbeb8ab6dfdd73a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 315b49b7e2a344f59d0192c6a12609321b18821b45afb53f9371d52a59153e7462dbe8fc74c3eabab50ea687e2e4d548c648b3499329a2f9007b67fa8b8e1acc
|
7
|
+
data.tar.gz: 8997c949d1a29a913a5ae5e93c8039e747afecfde72590a282c283323342a44226f8ebf63d7a9ceb8d189f783677d8bcc1fc5ab99fa38fcefec74e9e031f08f5
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,13 @@ 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.1.1 (2024-02-10)
|
10
|
+
|
11
|
+
### Fixed
|
12
|
+
|
13
|
+
* Template lookup in nested use cases (#61)
|
14
|
+
Template lookup used to be done on the whole HTML document so add triggers can be declared anywhere inside or outside a Cocooned container. In nested use cases, this could lead to incorrect template being used to build grand-child items when multiple child items had been built since the last form save. Lookup is now done first inside the closest Cocooned item if any to ensure the correct template will be used.
|
15
|
+
|
9
16
|
## Version 2.1.0 (2024-01-28)
|
10
17
|
|
11
18
|
### Added
|
@@ -318,7 +318,7 @@
|
|
318
318
|
#documentFragment
|
319
319
|
#replacements
|
320
320
|
|
321
|
-
#applyReplacements(node, id) {
|
321
|
+
#applyReplacements (node, id) {
|
322
322
|
this.#replacements.forEach(replacement => {
|
323
323
|
node.querySelectorAll(`*[${replacement.attribute}]`).forEach(node => replacement.apply(node, id));
|
324
324
|
});
|
@@ -441,8 +441,9 @@
|
|
441
441
|
}
|
442
442
|
|
443
443
|
class Extractor {
|
444
|
-
constructor (trigger) {
|
444
|
+
constructor (trigger, cocooned) {
|
445
445
|
this.#trigger = trigger;
|
446
|
+
this.#cocooned = cocooned;
|
446
447
|
}
|
447
448
|
|
448
449
|
extract () {
|
@@ -459,6 +460,7 @@
|
|
459
460
|
}
|
460
461
|
|
461
462
|
/* Protected and private attributes and methods */
|
463
|
+
#cocooned
|
462
464
|
#trigger
|
463
465
|
|
464
466
|
get #dataset () {
|
@@ -470,7 +472,8 @@
|
|
470
472
|
return null
|
471
473
|
}
|
472
474
|
|
473
|
-
const
|
475
|
+
const find = node => node?.querySelector(`template[data-name="${this.#dataset.template}"]`);
|
476
|
+
const template = find(this.#cocooned.toItem(this.#trigger)) || find(document);
|
474
477
|
if (template === null) {
|
475
478
|
return null
|
476
479
|
}
|
@@ -574,7 +577,7 @@
|
|
574
577
|
|
575
578
|
class Add extends Trigger {
|
576
579
|
static create (trigger, cocooned) {
|
577
|
-
const extractor = new Extractor(trigger);
|
580
|
+
const extractor = new Extractor(trigger, cocooned);
|
578
581
|
return new Add(trigger, cocooned, extractor.extract())
|
579
582
|
}
|
580
583
|
|
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.1.
|
4
|
+
version: 2.1.1
|
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: 2024-
|
12
|
+
date: 2024-02-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|