decidim-forms 0.29.4 → 0.29.5
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 +4 -4
- data/app/packs/src/decidim/forms/forms.js +22 -18
- data/app/views/decidim/forms/questionnaires/_answer.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/answers/_long_answer.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/answers/_short_answer.html.erb +1 -1
- data/config/locales/eu.yml +1 -1
- data/config/locales/sv.yml +2 -2
- data/lib/decidim/forms/test/shared_examples/has_questionnaire.rb +3 -2
- data/lib/decidim/forms/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 202c3358cbfb1e02e80c1f616a7e153c9e111e614038189f5f957abaff46fdcc
|
4
|
+
data.tar.gz: 408fc4f21eedc9917f9a53c1ce4441fd2c50ece4a4282ee6795f9e5280c6fb78
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec3e4a3d75dd117f6bd4837e5ee12e8a3fe73406c64e13e8911aafc5312e51118ccfbce4b690cdf551ef0e0f9add6b60ebbe4ce1a973c36619c07e31c04b5886
|
7
|
+
data.tar.gz: 43d4d6b33a4246edf67731e2799c177e2a0165fb9adaf55e65e0eb83310819f553fd64a47f4fd7d41f241bea226d89aafbfef51a314a5e7581ee4a984e2cb156
|
@@ -11,6 +11,7 @@ import "dragula/dist/dragula.css";
|
|
11
11
|
import createOptionAttachedInputs from "src/decidim/forms/option_attached_inputs.component"
|
12
12
|
import createDisplayConditions from "src/decidim/forms/display_conditions.component"
|
13
13
|
import createMaxChoicesAlertComponent from "src/decidim/forms/max_choices_alert.component"
|
14
|
+
import { preventUnload } from "src/decidim/utilities/dom"
|
14
15
|
|
15
16
|
$(() => {
|
16
17
|
$(".js-radio-button-collection, .js-check-box-collection").each((idx, el) => {
|
@@ -45,30 +46,33 @@ $(() => {
|
|
45
46
|
});
|
46
47
|
});
|
47
48
|
|
48
|
-
const
|
49
|
-
if (
|
50
|
-
|
51
|
-
|
49
|
+
const form = document.querySelector("form.answer-questionnaire");
|
50
|
+
if (form) {
|
51
|
+
const safePath = form.dataset.safePath.split("?")[0];
|
52
|
+
let exitUrl = "";
|
53
|
+
document.addEventListener("click", (event) => {
|
54
|
+
const link = event.target?.closest("a");
|
55
|
+
if (link) {
|
56
|
+
exitUrl = link.href;
|
57
|
+
}
|
52
58
|
});
|
53
59
|
|
54
|
-
|
55
|
-
|
56
|
-
window.exitUrl = event.currentTarget.href;
|
57
|
-
});
|
60
|
+
// The submit listener has to be registered through jQuery because the
|
61
|
+
// custom confirm dialog does not dispatch the "submit" event normally.
|
58
62
|
$(document).on("submit", "form", (event) => {
|
59
|
-
|
63
|
+
exitUrl = event.currentTarget.action;
|
60
64
|
});
|
61
65
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
+
let hasChanged = false;
|
67
|
+
const controls = form.querySelectorAll("input, textarea, select");
|
68
|
+
const changeListener = () => {
|
69
|
+
if (!hasChanged) {
|
70
|
+
hasChanged = true;
|
71
|
+
controls.forEach((control) => control.removeEventListener("change", changeListener));
|
66
72
|
|
67
|
-
|
68
|
-
return;
|
73
|
+
preventUnload(() => !exitUrl.includes(safePath));
|
69
74
|
}
|
70
|
-
|
71
|
-
|
72
|
-
});
|
75
|
+
};
|
76
|
+
controls.forEach((control) => control.addEventListener("change", changeListener));
|
73
77
|
}
|
74
78
|
})
|
@@ -50,7 +50,7 @@
|
|
50
50
|
<small class="form-error max-choices-alert"><%= t(".max_choices_alert") %></small>
|
51
51
|
<% end %>
|
52
52
|
|
53
|
-
<% answer.errors.full_messages.each do |msg| %>
|
53
|
+
<% %w(short_answer long_answer).exclude?(answer&.question&.question_type) && answer.errors.full_messages.each do |msg| %>
|
54
54
|
<small class="form-error is-visible"><%= msg %></small>
|
55
55
|
<% end %>
|
56
56
|
|
data/config/locales/eu.yml
CHANGED
data/config/locales/sv.yml
CHANGED
@@ -177,10 +177,10 @@ sv:
|
|
177
177
|
title: JavaScript är inaktiverat
|
178
178
|
questionnaire_not_published:
|
179
179
|
body: Formulär är ännu inte publicerat.
|
180
|
-
tos_agreement: Genom att fortsätta godkänner du
|
180
|
+
tos_agreement: Genom att fortsätta godkänner du villkoren för anmälan
|
181
181
|
step_navigation:
|
182
182
|
show:
|
183
|
-
are_you_sure:
|
183
|
+
are_you_sure: Efter att du har skickat in anmälan kan du inte ändra i den. Vill du fortsätta?
|
184
184
|
back: Tillbaka
|
185
185
|
continue: Fortsätt
|
186
186
|
submit: Skicka
|
@@ -271,8 +271,9 @@ shared_examples_for "has questionnaire" do
|
|
271
271
|
accept_confirm { click_on "Submit" }
|
272
272
|
end
|
273
273
|
|
274
|
-
it "
|
275
|
-
expect(page).to
|
274
|
+
it "submits the form and shows errors" do
|
275
|
+
expect(page).to have_css ".alert.flash"
|
276
|
+
expect(page).to have_admin_callout(callout_failure)
|
276
277
|
different_error = I18n.t("decidim.forms.questionnaires.answer.max_choices_alert")
|
277
278
|
expect(different_error).to eq("There are too many choices selected")
|
278
279
|
expect(page).to have_no_content(different_error)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-forms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.29.
|
4
|
+
version: 0.29.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2025-
|
14
|
+
date: 2025-09-23 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: decidim-core
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.29.
|
22
|
+
version: 0.29.5
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.29.
|
29
|
+
version: 0.29.5
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: wicked_pdf
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,28 +47,28 @@ dependencies:
|
|
47
47
|
requirements:
|
48
48
|
- - '='
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: 0.29.
|
50
|
+
version: 0.29.5
|
51
51
|
type: :development
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
55
|
- - '='
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: 0.29.
|
57
|
+
version: 0.29.5
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: decidim-dev
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
62
|
- - '='
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0.29.
|
64
|
+
version: 0.29.5
|
65
65
|
type: :development
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
69
|
- - '='
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version: 0.29.
|
71
|
+
version: 0.29.5
|
72
72
|
description: A forms gem for decidim.
|
73
73
|
email:
|
74
74
|
- josepjaume@gmail.com
|