cocooned 1.4.1 → 2.0.0

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: 92137d75843c047e0aa1ffe5f385217e4ead03225356dc69d205320f948baa06
4
- data.tar.gz: 4ad82cd191b91ed1d6f313fac56a66b6824bc0c2a0f11056247048d33988d92a
3
+ metadata.gz: cebb79afb609396e42235e4fcdb5fb60760174cf3b5c5f79b67435fe3c493a07
4
+ data.tar.gz: 014ee4eb62394380a95feb3a105d7260d2d1ac6e32bf7488c746713dd1b0030b
5
5
  SHA512:
6
- metadata.gz: 02d0e6ea881b5459fa00cb87b8dcba12947805a6bc5a428f0660106dc9d7b0495e18937c50f5fc8fd15d27f994aa0ca5dfe830bfbb22051fbbf7d3a54795041b
7
- data.tar.gz: b8a0a3a01e109ab0654fcb3b2aaaf8c166a6292f9ea90459ad88b0fe510ce6aac471f134e169395b9882c43bab79df9bc7cca04bcda13996e0d0f678da02c754
6
+ metadata.gz: 619a1aed3532db02f44338ec2d6199d92a316562574091fdfd853679bbaafb767a8b3599b6f0245a056098a929d146b83b8439e47dd612a41ffc84578f3e5504
7
+ data.tar.gz: d6645b868d1a4f18e31ce217bf5f1407b24cf1d93b8541fbf920e6a76ea71ecb19ccca78726cf54d984c7b3455a08dc7cc764922f6f767c893e8bf0816e2f595
data/CHANGELOG.md ADDED
@@ -0,0 +1,178 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## Version 2.0.0 (2023-03-07)
10
+
11
+ * Drop support for Rails < 6.0
12
+
13
+ ### Breaking changes
14
+
15
+ #### Features dropped without any replacements
16
+
17
+ * Use of a function as `data-association-insertion-node` on add triggers support have been dropped (#18)
18
+ As HTML dataset are `DOMStringMap`, they only support strings as values. The only way to use a function to loop up for insertion node on an add trigger was to use jQuery (ex: `$(addTrigger).data('association-insertion-node', (add) => {})`).
19
+ * `data-remove-timeout` on remove triggers (#18)
20
+ Items are now removed at the end of their hiding animation.
21
+
22
+ #### Events listener now use `CustomEvent`s (#17)
23
+
24
+ Cocooned events have been rewritten around `CustomEvent`s and standard `addEventListener` / `dispatchEvent`.
25
+ You should either rewrite your event binding with `addEventListener` or change your jQuery ones as follow:
26
+
27
+ ```diff
28
+ - $(element).on('cocooned:event', (e, node, cocooned) => {
29
+ + $(element).on('cocooned:event', e => {
30
+ + { node, cocooned } = e.detail // Use nodes in 'cocooned:before-reindex' / 'cocooned:after-reindex' events
31
+ })
32
+ ```
33
+
34
+ ### Deprecations
35
+
36
+ These features are now deprecated and emit a warning message:
37
+
38
+ * `:insertion_traversal` option on `cocooned_add_item_link` (#18)
39
+ Use a more specific selector as `data-association-insertion-node` (set through `:insertion_node`) instead.
40
+ * Importing `@notus.sh/cocooned/cocooned` in your JavaScript files (#22)
41
+ Import Cocooned from either `@notus.sh/cocooned`, `@notus.sh/cocooned/jquery` or `@notus.sh/cocooned/src/cocooned/cocooned` instead.
42
+
43
+ These features are now deprecated but don't emit any warning message (sorry):
44
+
45
+ * Containers identified only by the `data-cocooned-options` attribute (#26)
46
+ Use the `cocooned_container` helper in your forms.
47
+ * Containers identified only by the `.cocooned-item` class (#26)
48
+ Use the `cocooned_item` helper in your forms.
49
+
50
+ These features were already deprecated but now emit a warning message:
51
+
52
+ * `link_to_add_association` (replaced by `cocooned_add_item_link`)
53
+ * `link_to_remove_association` (replaced by `cocooned_remove_item_link`)
54
+ * The `cocoon` I18n namespace (replaced by `cocooned`)
55
+ * `:render_option` option on `cocooned_add_item_link` / `link_to_add_association`
56
+ Use `:form_options` and/or `:locals` instead.
57
+
58
+ These features were already deprecated but (still) don't emit any warning message (sorry):
59
+
60
+ * Events in `cocoon` namespace (replaced by `cocooned`)
61
+ * Triggers only identified by Cocoon classes (`.add_fields`, `.remove_fields`)
62
+ * Cocoon auto-start logic (non-identified containers)
63
+
64
+ All deprecated features will be removed in the next major release.
65
+
66
+ ### Added
67
+
68
+ * Add support for association scoped label to `cocooned_move_item_up_link` and `cocooned_move_item_down_link` (#11)
69
+ * Replace dependency to jQuery by an optional jQuery integration (#22)
70
+ * Introduce `cocooned_container` and `cocooned_item` helpers to ease forms markup construction (#26)
71
+ * Allow to choose between links or buttons for triggers (#27)
72
+ * Use Web Animation API for animations instead of CSS / jQuery (#29)
73
+
74
+ ### Fixed
75
+
76
+ * Compatibility with Rails >= 7.0
77
+ * Compatibility with Ruby >= 3.1
78
+
79
+ ### Changed
80
+
81
+ * Rewrite JavaScript tests suite with [Jest](https://jestjs.io/) (#2) (replace Jasmine, now deprecated)
82
+ * Reorganize JavaScript code and tests into the `npm` folder (#5)
83
+ * Rewrite JavaScript code to use ESM modules (#6) and modern ECMAScript idioms (#7, #14)
84
+ * Integrate deprecation messages with ActiveSupport::Deprecation (#9)
85
+ * Refactor helpers as tag classes (#10)
86
+ * Use HTML `<template>` instead of a data-attribute to pass subform template to JavaScript (#12)
87
+ * Split JavaScript monolith into smaller classes with minimal public API (#8, #18, #21)
88
+ * Isolate and unit test Cocoon compatibility code (#23)
89
+ * Use data-attributes instead of classes to hook JavaScript on (#26)
90
+ * Switch from Travis CI to Github actions (#30)
91
+ * Add Ruby 3.2 to CI (#32)
92
+ * Adapt NPM packaging scripts (#35)
93
+
94
+ ## Version 1.4.1 (2022-08-08)
95
+
96
+ * Compatibility with Rails 7.0
97
+
98
+ ## Version 1.4.0 (2021-08-15)
99
+
100
+ ### Breaking changes
101
+
102
+ * Drop support for Rails < 5.0 and Ruby < 2.5
103
+ * Pass the original browser event to all event handlers _via_ e.originalEvent. (See [jQuery Event object](https://api.jquery.com/category/events/event-object/)).
104
+
105
+ ### Backported (from cocoon 1.2.15)
106
+
107
+ * Add support for @hotwired/turbo (thanks @entretechno-jeremiah in [nathanvda/cocoon#600](https://github.com/nathanvda/cocoon/pull/600))
108
+
109
+ ### Fixed
110
+
111
+ * Prevent side effects on options passed to view helpers.
112
+ * Prevent event propagation to parent elements (thanks @ashmill23 in [nathanvda/cocoon#560](https://github.com/nathanvda/cocoon/pull/560) and @zmagod in [nathanvda/cocoon#536](https://github.com/nathanvda/cocoon/pull/536))
113
+
114
+ ### Changed
115
+
116
+ * Use form builder to add the hidden `_destroy` field instead of `hidden_field` (thanks @rradonic in [nathanvda/cocoon#559](https://github.com/nathanvda/cocoon/pull/559))
117
+ * Update deprecation warnings to postpone compatibility drop with the original `cocoon` to 3.0 (instead of 2.0)
118
+
119
+ ## Version 1.3.2 (2019-04-05)
120
+
121
+ ### Backported (from cocoon 1.2.13)
122
+
123
+ * Compatibility with Mongoid 7+ (thanks @startouf in [nathanvda/cocoon#527](https://github.com/nathanvda/cocoon/pull/527))
124
+
125
+ ## Version 1.3.1 (2018-08-24)
126
+
127
+ ### Changed
128
+
129
+ * Use UMD pattern to load the Cocooned module
130
+ * Now publish packages on both rubygems.org and npmjs.com (fixes [nathanvda/cocoon#452](https://github.com/nathanvda/cocoon/issue/452), [nathanvda/cocoon#555](https://github.com/nathanvda/cocoon/issue/555))
131
+
132
+ ## Version 1.3.0 (2018-08-17)
133
+
134
+ ### Breaking changes
135
+
136
+ * Drop support for Ruby 1.9 (thanks @simi)
137
+ * Drop support for Rubinius, Ruby < 2.2 and Rails < 4.0
138
+ * Drop support for custom wrapper class on item containers
139
+ Originaly supported _via_ an option on `link_to_remove_association`.
140
+
141
+ ### Deprecated
142
+
143
+ The gem has been renamed to `cocooned`:
144
+
145
+ * `link_to_add_association` has been renamed `cocooned_add_item_link`
146
+ * Generated add links class `add_fields` has been renamed `cocooned-add`
147
+ * `link_to_remove_association` has been renamed `cocooned_remove_item_link`
148
+ * Generated remove links class `remove_fields` has been renamed `cocooned-remove`
149
+ * `cocoon:*` and `*.cocoon` Javascript events have been renamed to `cocooned:*` and `*.cocooned`
150
+ (ex: `cocooned:before-insert`, `click.cocooned`)
151
+ * The `cocoon` i18n scope have been renamed to `cocooned`
152
+ * The `.nested-fields` default item wrapper class have been renamed to `cocooned-item`
153
+
154
+ Other deprecations:
155
+
156
+ * `link_to_add_association`/`cocooned_add_item_link` no longer require a `:render_options` hash to pass locals to the nested partial
157
+
158
+ ### Added
159
+
160
+ * Automatically remove `required` attributes on destroyed elements (thanks @markkhair in [nathanvda/cocoon#496](https://github.com/nathanvda/cocoon/pull/496), fixes [nathanvda/cocoon#386](https://github.com/nathanvda/cocoon/issue/386))
161
+ * Add extra properties on events (thanks @ayaman)
162
+ * Add a basic package.json to be used with Webpack (thanks @dmfrancisco in [nathanvda/cocoon#454](https://github.com/nathanvda/cocoon/pull/454))
163
+ * Namespace click handlers (thanks @chrise86 in [nathanvda/cocoon#310](https://github.com/nathanvda/cocoon/pull/310))
164
+
165
+ ### Fixed
166
+
167
+ * Compatibility with jQuery 3 (thanks @mstmfm in [nathanvda/cocoon#379](https://github.com/nathanvda/cocoon/pull/379))
168
+
169
+ ### Changed
170
+
171
+ * Refactor cocoon javascript as a self-contained object with same functionalities
172
+ * Remove Jeweller (thanks @brixen, @tlynam)
173
+
174
+ ---
175
+
176
+ For changes prior to 1.3.0 (from 1.0.0 to 1.2.11), please refer to the [cocoon changelog](https://github.com/nathanvda/cocoon/blob/master/History.md).
177
+
178
+ Many thanks to [all contributors to the original gem](https://github.com/nathanvda/cocoon/graphs/contributors).