inline_forms 7.5.2 → 7.9.1
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/CHANGELOG.md +110 -0
- data/README.rdoc +10 -0
- data/app/assets/javascripts/inline_forms/inline_forms.js +3 -10
- data/app/assets/stylesheets/inline_forms/inline_forms.scss +5 -4
- data/app/controllers/concerns/versions_concern.rb +0 -2
- data/app/controllers/inline_forms_controller.rb +76 -21
- data/app/helpers/inline_forms_helper.rb +42 -28
- data/app/views/inline_forms/_close.html.erb +9 -7
- data/app/views/inline_forms/_edit.html.erb +1 -1
- data/app/views/inline_forms/_list.html.erb +6 -21
- data/app/views/inline_forms/_new.html.erb +3 -5
- data/app/views/inline_forms/_show.html.erb +0 -26
- data/app/views/inline_forms/_versions.html.erb +5 -4
- data/app/views/inline_forms/_versions_list.html.erb +8 -8
- data/app/views/inline_forms/row_close.html.erb +10 -2
- data/app/views/inline_forms/versions_panel.html.erb +5 -2
- data/app/views/layouts/application.html.erb +2 -4
- data/app/views/layouts/inline_forms.html.erb +2 -5
- data/archived/README.md +47 -0
- data/archived/form_elements/README.md +27 -0
- data/archived/form_elements/chicas/README.md +31 -0
- data/archived/form_elements/geo_code_curacao/README.md +62 -0
- data/{app → archived/form_elements/geo_code_curacao/app}/helpers/form_elements/geo_code_curacao.rb +0 -1
- data/archived/form_elements/geo_code_curacao/app/views/geo_code_curacao/list_streets.html.erb +1 -0
- data/archived/form_elements/geo_code_curacao/app/views/geo_code_curacao/list_streets.js.erb +1 -0
- data/archived/form_elements/kansen_slider/README.md +31 -0
- data/archived/form_elements/tree/README.md +47 -0
- data/archived/form_elements/tree/app/views/inline_forms/_show_tree.html.erb +30 -0
- data/{app → archived/form_elements/tree/app}/views/inline_forms/_tree.html.erb +18 -5
- data/bin/inline_forms_installer_core.rb +70 -5
- data/docs/ujs-to-turbo.md +36 -37
- data/lib/generators/assets/stylesheets/inline_forms.scss +5 -4
- data/lib/inline_forms/archived_form_elements.rb +70 -0
- data/lib/inline_forms/version.rb +1 -1
- data/lib/inline_forms.rb +3 -1
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_field_turbo_test.rb +6 -7
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_name_required_test.rb +21 -0
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_photos_pagination_test.rb +28 -0
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_row_turbo_test.rb +14 -5
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_top_level_new_test.rb +30 -60
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_top_level_pagination_test.rb +40 -0
- data/lib/installer_templates/example_app_tests/test/integration/example_app_apartment_versions_turbo_test.rb +93 -0
- data/lib/installer_templates/example_app_tests/test/integration/example_app_photo_revert_test.rb +94 -0
- data/lib/installer_templates/example_app_tests/test/integration/example_app_turbo_layout_test.rb +6 -9
- data/lib/installer_templates/example_app_tests/test/models/example_app_apartment_name_validation_test.rb +16 -0
- data/test/archived_form_elements_test.rb +41 -0
- data/test/form_element_from_callee_test.rb +2 -2
- metadata +25 -20
- data/app/views/geo_code_curacao/list_streets.html.erb +0 -1
- data/app/views/geo_code_curacao/list_streets.js.erb +0 -1
- data/app/views/inline_forms/close.js.erb +0 -4
- data/app/views/inline_forms/list.js.erb +0 -1
- data/app/views/inline_forms/new.js.erb +0 -1
- data/app/views/inline_forms/record_destroyed.js.erb +0 -1
- data/app/views/inline_forms/show.js.erb +0 -1
- data/app/views/inline_forms/show_undo.js.erb +0 -1
- data/app/views/inline_forms/versions.js.erb +0 -4
- data/app/views/inline_forms/versions_list.js.erb +0 -1
- /data/{app → archived/form_elements/chicas/app}/helpers/form_elements/chicas_dropdown_with_family_members.rb +0 -0
- /data/{app → archived/form_elements/chicas/app}/helpers/form_elements/chicas_family_photo_list.rb +0 -0
- /data/{app → archived/form_elements/chicas/app}/helpers/form_elements/chicas_photo_list.rb +0 -0
- /data/{app → archived/form_elements/geo_code_curacao/app}/controllers/geo_code_curacao_controller.rb +0 -0
- /data/{app → archived/form_elements/geo_code_curacao/app}/models/geo_code_curacao.rb +0 -0
- /data/{app → archived/form_elements/kansen_slider/app}/helpers/form_elements/kansen_slider.rb +0 -0
- /data/{app → archived/form_elements/tree/app}/helpers/form_elements/move.rb +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../example_app/example_integration_test_case"
|
|
4
|
+
|
|
5
|
+
# Step 4: top-level index pagination swaps `<turbo-frame id="apartments_list">`.
|
|
6
|
+
class ExampleAppApartmentTopLevelPaginationTest < ExampleAppIntegrationTestCase
|
|
7
|
+
setup do
|
|
8
|
+
@frame = "apartments_list"
|
|
9
|
+
@frame_headers = { "Turbo-Frame" => @frame, "Accept" => "text/html" }
|
|
10
|
+
@original_per_page = Apartment.per_page
|
|
11
|
+
Apartment.per_page = 3
|
|
12
|
+
6.times do |i|
|
|
13
|
+
Apartment.find_or_create_by!(name: "Paginate Apt #{i}") do |a|
|
|
14
|
+
a.title = "Pagination seed #{i}"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
teardown do
|
|
20
|
+
Apartment.per_page = @original_per_page
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
test "top-level pagination links target apartments_list frame id" do
|
|
24
|
+
get apartments_path
|
|
25
|
+
assert_response :success
|
|
26
|
+
assert_match %r{class="pagination"}, @response.body
|
|
27
|
+
assert_match(
|
|
28
|
+
/update=apartments_list/,
|
|
29
|
+
@response.body,
|
|
30
|
+
"pagination must pass update=apartments_list for Turbo frame swap"
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
test "top-level page 2 returns matching turbo-frame with Turbo-Frame header" do
|
|
35
|
+
get apartments_path(page: 2, update: @frame, ul_needed: true), headers: @frame_headers
|
|
36
|
+
assert_response :success
|
|
37
|
+
assert_includes @response.body, %(<turbo-frame id="#{@frame}")
|
|
38
|
+
refute_match(/id="outer_container"/, @response.body)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -24,4 +24,97 @@ class ExampleAppApartmentVersionsTurboTest < ExampleAppIntegrationTestCase
|
|
|
24
24
|
assert_includes @response.body, %(<turbo-frame id="#{@versions_frame}">)
|
|
25
25
|
refute_includes @response.body, "Changeset"
|
|
26
26
|
end
|
|
27
|
+
|
|
28
|
+
test "expanded row versions open link uses Turbo not UJS remote" do
|
|
29
|
+
row_frame = "apartment_#{@apartment.id}"
|
|
30
|
+
get apartment_path(@apartment, update: row_frame),
|
|
31
|
+
headers: { "Turbo-Frame" => row_frame, "Accept" => "text/html" }
|
|
32
|
+
assert_response :success
|
|
33
|
+
assert_select "turbo-frame##{@versions_frame} a[data-turbo='true'][data-turbo-frame='#{@versions_frame}']", minimum: 1
|
|
34
|
+
refute_select "turbo-frame##{@versions_frame} a[data-remote='true']"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
test "restore link in versions list requests turbo-stream (nested versions frame)" do
|
|
38
|
+
apt = Apartment.create!(name: "Stream Link", title: "T")
|
|
39
|
+
apt.update!(title: "T2")
|
|
40
|
+
vf = "apartment_#{apt.id}_versions"
|
|
41
|
+
get list_versions_apartment_path(apt, update: vf),
|
|
42
|
+
headers: { "Turbo-Frame" => vf, "Accept" => "text/html" }
|
|
43
|
+
assert_response :success
|
|
44
|
+
assert_match(/data-turbo-stream="true"/, @response.body,
|
|
45
|
+
"restore from inside …_versions must use turbo-stream to avoid Turbo-Frame mismatch")
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
test "revert from versions list closes row via turbo-stream when Turbo-Frame is versions" do
|
|
49
|
+
apt = Apartment.create!(name: "Versions Stream Revert", title: "Before")
|
|
50
|
+
apt.update!(title: "After")
|
|
51
|
+
row_frame = "apartment_#{apt.id}"
|
|
52
|
+
versions_frame = "#{row_frame}_versions"
|
|
53
|
+
version = apt.versions.where(event: "update").order(:id).last
|
|
54
|
+
assert version, "expected an update version to revert"
|
|
55
|
+
|
|
56
|
+
post revert_apartment_path(version.id, update: row_frame),
|
|
57
|
+
headers: {
|
|
58
|
+
"Turbo-Frame" => versions_frame,
|
|
59
|
+
"Accept" => "text/vnd.turbo-stream.html"
|
|
60
|
+
}
|
|
61
|
+
assert_response :success
|
|
62
|
+
assert_includes @response.body, %(action="replace")
|
|
63
|
+
assert_includes @response.body, %(target="#{row_frame}")
|
|
64
|
+
assert_includes @response.body, %(target="#{versions_frame}")
|
|
65
|
+
assert_equal "Before", apt.reload.title
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
test "revert from versions list closes row via Turbo POST on row frame" do
|
|
69
|
+
apt = Apartment.create!(name: "Versions Revert", title: "Before")
|
|
70
|
+
apt.update!(title: "After")
|
|
71
|
+
row_frame = "apartment_#{apt.id}"
|
|
72
|
+
versions_frame = "#{row_frame}_versions"
|
|
73
|
+
# 7.9.0 dropped the `format.html` fallback in `revert`; the restore link
|
|
74
|
+
# always requests a turbo-stream now, even when the click happened on
|
|
75
|
+
# the row frame, so the test mirrors that contract.
|
|
76
|
+
row_headers = {
|
|
77
|
+
"Turbo-Frame" => row_frame,
|
|
78
|
+
"Accept" => "text/vnd.turbo-stream.html"
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
version = apt.versions.where(event: "update").order(:id).last
|
|
82
|
+
assert version, "expected an update version to revert"
|
|
83
|
+
|
|
84
|
+
post revert_apartment_path(version.id, update: row_frame), headers: row_headers
|
|
85
|
+
assert_response :success
|
|
86
|
+
assert_includes @response.body, %(action="replace")
|
|
87
|
+
assert_includes @response.body, %(target="#{row_frame}")
|
|
88
|
+
assert_includes @response.body, %(target="#{versions_frame}")
|
|
89
|
+
assert_equal "Before", apt.reload.title
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
test "revert from versions list restores rich_text body via turbo-stream" do
|
|
93
|
+
apt = Apartment.create!(name: "RichText Revert", title: "T")
|
|
94
|
+
apt.update!(description: "<p>old body</p>")
|
|
95
|
+
apt.update!(description: "<p>new body</p>")
|
|
96
|
+
|
|
97
|
+
rich_text = ActionText::RichText.find_by!(
|
|
98
|
+
record_type: Apartment.name, record_id: apt.id, name: "description"
|
|
99
|
+
)
|
|
100
|
+
rich_text_version = rich_text.versions.where(event: "update").order(:id).last
|
|
101
|
+
assert rich_text_version,
|
|
102
|
+
"expected a PaperTrail update version on ActionText::RichText for the description edit"
|
|
103
|
+
|
|
104
|
+
row_frame = "apartment_#{apt.id}"
|
|
105
|
+
versions_frame = "#{row_frame}_versions"
|
|
106
|
+
post revert_apartment_path(rich_text_version.id, update: row_frame),
|
|
107
|
+
headers: {
|
|
108
|
+
"Turbo-Frame" => versions_frame,
|
|
109
|
+
"Accept" => "text/vnd.turbo-stream.html"
|
|
110
|
+
}
|
|
111
|
+
assert_response :success
|
|
112
|
+
assert_includes @response.body, %(action="replace")
|
|
113
|
+
assert_includes @response.body, %(target="#{row_frame}")
|
|
114
|
+
assert_includes @response.body, %(target="#{versions_frame}")
|
|
115
|
+
|
|
116
|
+
apt.reload
|
|
117
|
+
assert_includes apt.description.body.to_html, "old body",
|
|
118
|
+
"rich_text revert should restore the previous body content"
|
|
119
|
+
end
|
|
27
120
|
end
|
data/lib/installer_templates/example_app_tests/test/integration/example_app_photo_revert_test.rb
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../example_app/example_integration_test_case"
|
|
4
|
+
|
|
5
|
+
# 7.9.0 regression: revert from the versions panel for a Photo whose
|
|
6
|
+
# `image` column changed must put back the previous CarrierWave file
|
|
7
|
+
# bytes, not just the previous filename string. Relies on the
|
|
8
|
+
# `ImageUploader` knobs the installer ships:
|
|
9
|
+
#
|
|
10
|
+
# * `CarrierWave.configure { config.remove_previously_stored_files_after_update = false }`
|
|
11
|
+
# (config/initializers/carrierwave.rb)
|
|
12
|
+
# * `remove!` no-op
|
|
13
|
+
# * unique per-upload filename prefix
|
|
14
|
+
#
|
|
15
|
+
# See https://stackoverflow.com/questions/9423279/papertrail-and-carrierwave
|
|
16
|
+
class ExampleAppPhotoRevertTest < ExampleAppIntegrationTestCase
|
|
17
|
+
# Mirror the setup of ExampleAppApartmentPhotosPaginationTest: re-seed
|
|
18
|
+
# Konferensha photos from db/seed_images/ so the test asserts against
|
|
19
|
+
# real CarrierWave file mounts without depending on dev DB state.
|
|
20
|
+
setup do
|
|
21
|
+
@apartment = Apartment.find_or_create_by!(name: "Konferensha") do |a|
|
|
22
|
+
a.title = "Konferensha sobre Papiamentu"
|
|
23
|
+
end
|
|
24
|
+
seed_dir = Rails.root.join("db", "seed_images")
|
|
25
|
+
if seed_dir.directory?
|
|
26
|
+
Dir.glob(seed_dir.join("*.{jpg,jpeg,png,gif}"), File::FNM_CASEFOLD).sort.each do |abs|
|
|
27
|
+
base = File.basename(abs)
|
|
28
|
+
next if Photo.exists?(name: base, apartment_id: @apartment.id)
|
|
29
|
+
File.open(abs, "rb") do |io|
|
|
30
|
+
Photo.create!(
|
|
31
|
+
name: base,
|
|
32
|
+
caption: "Konferensha foto #{base}",
|
|
33
|
+
apartment: @apartment,
|
|
34
|
+
image: io
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
test "revert restores previous CarrierWave file bytes on disk" do
|
|
42
|
+
photo = @apartment.photos.first!
|
|
43
|
+
original_identifier = photo.image.identifier
|
|
44
|
+
original_path = photo.image.path
|
|
45
|
+
assert File.exist?(original_path), "expected seeded photo file on disk: #{original_path}"
|
|
46
|
+
original_size = File.size(original_path)
|
|
47
|
+
|
|
48
|
+
seed_dir = Rails.root.join("db", "seed_images")
|
|
49
|
+
jpgs = Dir.glob(seed_dir.join("*.{jpg,jpeg}"), File::FNM_CASEFOLD).sort
|
|
50
|
+
replacement = jpgs.find { |abs| File.basename(abs) != photo.name } || jpgs.last
|
|
51
|
+
assert replacement, "need at least one seed jpg different from the photo's current mount"
|
|
52
|
+
refute_equal File.size(replacement), original_size,
|
|
53
|
+
"test needs a replacement file with a different byte length so the assertion is meaningful"
|
|
54
|
+
|
|
55
|
+
frame_id = "apartment_#{@apartment.id}_photo_#{photo.id}_image"
|
|
56
|
+
turbo_headers = { "Turbo-Frame" => frame_id, "Accept" => "text/html" }
|
|
57
|
+
uploaded = Rack::Test::UploadedFile.new(replacement, "image/jpeg")
|
|
58
|
+
put photo_path(
|
|
59
|
+
photo,
|
|
60
|
+
attribute: "image",
|
|
61
|
+
form_element: "image_field",
|
|
62
|
+
update: frame_id
|
|
63
|
+
),
|
|
64
|
+
params: { image: uploaded },
|
|
65
|
+
headers: turbo_headers
|
|
66
|
+
assert_response :success
|
|
67
|
+
photo.reload
|
|
68
|
+
refute_equal original_identifier, photo.image.identifier,
|
|
69
|
+
"update should have changed the image identifier"
|
|
70
|
+
|
|
71
|
+
version = photo.versions.where(event: "update").order(:id).last
|
|
72
|
+
assert version, "expected a Photo update version after the image PUT"
|
|
73
|
+
|
|
74
|
+
row_frame = "apartment_#{@apartment.id}_photo_#{photo.id}"
|
|
75
|
+
versions_frame = "apartment_#{@apartment.id}_photo_#{photo.id}_versions"
|
|
76
|
+
post revert_photo_path(version.id, update: row_frame),
|
|
77
|
+
headers: {
|
|
78
|
+
"Turbo-Frame" => versions_frame,
|
|
79
|
+
"Accept" => "text/vnd.turbo-stream.html"
|
|
80
|
+
}
|
|
81
|
+
assert_response :success
|
|
82
|
+
assert_includes @response.body, %(action="replace")
|
|
83
|
+
assert_includes @response.body, %(target="#{row_frame}")
|
|
84
|
+
assert_includes @response.body, %(target="#{versions_frame}")
|
|
85
|
+
|
|
86
|
+
photo.reload
|
|
87
|
+
assert_equal original_identifier, photo.image.identifier,
|
|
88
|
+
"revert should restore the previous CarrierWave identifier"
|
|
89
|
+
assert File.exist?(photo.image.path),
|
|
90
|
+
"revert should leave the previous file bytes on disk (carrierwave config)"
|
|
91
|
+
assert_equal original_size, File.size(photo.image.path),
|
|
92
|
+
"previous file bytes must be byte-identical to the original"
|
|
93
|
+
end
|
|
94
|
+
end
|
data/lib/installer_templates/example_app_tests/test/integration/example_app_turbo_layout_test.rb
CHANGED
|
@@ -2,14 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
require_relative "../example_app/example_integration_test_case"
|
|
4
4
|
|
|
5
|
-
# Smoke test
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
# fails, frame/stream conversions in later slices will silently fall
|
|
9
|
-
# back to full-page navigation (Turbo not loaded) instead of using the
|
|
10
|
-
# `<turbo-frame>` fast path.
|
|
5
|
+
# Smoke test: layouts load Turbo as an ES module (no Sprockets ESM parse error).
|
|
6
|
+
# Step 5 (7.8.0) leaves Turbo Drive at its default (enabled); inline flows use
|
|
7
|
+
# `<turbo-frame>` + HTML, not jquery-ujs.
|
|
11
8
|
class ExampleAppTurboLayoutTest < ExampleAppIntegrationTestCase
|
|
12
|
-
test "inline_forms layout loads turbo.min.js as an ES module
|
|
9
|
+
test "inline_forms layout loads turbo.min.js as an ES module" do
|
|
13
10
|
get apartments_path
|
|
14
11
|
assert_response :success
|
|
15
12
|
|
|
@@ -19,10 +16,10 @@ class ExampleAppTurboLayoutTest < ExampleAppIntegrationTestCase
|
|
|
19
16
|
"expected the inline_forms layout to import turbo.min.js as a module"
|
|
20
17
|
)
|
|
21
18
|
|
|
22
|
-
|
|
19
|
+
refute_match(
|
|
23
20
|
/Turbo\.session\.drive\s*=\s*false/,
|
|
24
21
|
@response.body,
|
|
25
|
-
"
|
|
22
|
+
"Step 5 enables Turbo Drive by default; disabling it would regress full-page Turbo"
|
|
26
23
|
)
|
|
27
24
|
end
|
|
28
25
|
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "test_helper"
|
|
4
|
+
|
|
5
|
+
class ExampleAppApartmentNameValidationTest < ActiveSupport::TestCase
|
|
6
|
+
test "apartment requires name" do
|
|
7
|
+
apartment = Apartment.new(title: "No name")
|
|
8
|
+
assert_not apartment.valid?
|
|
9
|
+
assert_includes apartment.errors[:name], "can't be blank"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
test "apartment is valid with name" do
|
|
13
|
+
apartment = Apartment.new(name: "North", title: "Tower")
|
|
14
|
+
assert apartment.valid?
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "test_helper"
|
|
4
|
+
require "inline_forms/archived_form_elements"
|
|
5
|
+
|
|
6
|
+
class ArchivedFormElementsTest < Minitest::Test
|
|
7
|
+
class ModelWithArchivedElement
|
|
8
|
+
def inline_forms_attribute_list
|
|
9
|
+
[[:address, "Address", :geo_code_curacao]]
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class ModelWithArchivedTree
|
|
14
|
+
def inline_forms_attribute_list
|
|
15
|
+
[[:children, "Children", :tree]]
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_raises_when_model_declares_archived_geo_code_curacao
|
|
20
|
+
err = assert_raises(InlineForms::ArchivedFormElementError) do
|
|
21
|
+
InlineForms.validate_no_archived_form_elements_for!(ModelWithArchivedElement)
|
|
22
|
+
end
|
|
23
|
+
assert_includes err.message, "geo_code_curacao"
|
|
24
|
+
assert_includes err.message, "7.6.0"
|
|
25
|
+
assert_includes err.message, "archived/form_elements/geo_code_curacao"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_raises_when_model_declares_archived_tree
|
|
29
|
+
err = assert_raises(InlineForms::ArchivedFormElementError) do
|
|
30
|
+
InlineForms.validate_no_archived_form_elements_for!(ModelWithArchivedTree)
|
|
31
|
+
end
|
|
32
|
+
assert_includes err.message, "tree"
|
|
33
|
+
assert_includes err.message, "archived/form_elements/tree"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_archived_registry_documents_absence_list_without_path
|
|
37
|
+
meta = InlineForms::ARCHIVED_FORM_ELEMENTS[:absence_list]
|
|
38
|
+
assert_equal "6.3.0", meta[:removed_in_version]
|
|
39
|
+
assert_nil meta[:archive_path]
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -45,9 +45,9 @@ class FormElementFromCalleeTest < Minitest::Test
|
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
def test_multi_word_element_name_underscores_preserved
|
|
48
|
-
got = InlineForms.form_element_string_from_callee(:
|
|
48
|
+
got = InlineForms.form_element_string_from_callee(:text_area_without_ckeditor_show)
|
|
49
49
|
assert_equal(
|
|
50
|
-
"
|
|
50
|
+
"text_area_without_ckeditor",
|
|
51
51
|
got,
|
|
52
52
|
"Form element names with underscores must survive unchanged except for _show."
|
|
53
53
|
)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: inline_forms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.
|
|
4
|
+
version: 7.9.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ace Suares
|
|
@@ -471,15 +471,11 @@ files:
|
|
|
471
471
|
- app/assets/stylesheets/jquery_ui/themes/_jquery.ui.vader.css.scss
|
|
472
472
|
- app/controllers/concerns/cancan_concern.rb
|
|
473
473
|
- app/controllers/concerns/versions_concern.rb
|
|
474
|
-
- app/controllers/geo_code_curacao_controller.rb
|
|
475
474
|
- app/controllers/inline_forms_application_controller.rb
|
|
476
475
|
- app/controllers/inline_forms_controller.rb
|
|
477
476
|
- app/helpers/form_elements/audio_field.rb
|
|
478
477
|
- app/helpers/form_elements/check_box.rb
|
|
479
478
|
- app/helpers/form_elements/check_list.rb
|
|
480
|
-
- app/helpers/form_elements/chicas_dropdown_with_family_members.rb
|
|
481
|
-
- app/helpers/form_elements/chicas_family_photo_list.rb
|
|
482
|
-
- app/helpers/form_elements/chicas_photo_list.rb
|
|
483
479
|
- app/helpers/form_elements/ckeditor.rb
|
|
484
480
|
- app/helpers/form_elements/date.rb
|
|
485
481
|
- app/helpers/form_elements/decimal_field.rb
|
|
@@ -491,17 +487,14 @@ files:
|
|
|
491
487
|
- app/helpers/form_elements/dropdown_with_values.rb
|
|
492
488
|
- app/helpers/form_elements/dropdown_with_values_with_stars.rb
|
|
493
489
|
- app/helpers/form_elements/file_field.rb
|
|
494
|
-
- app/helpers/form_elements/geo_code_curacao.rb
|
|
495
490
|
- app/helpers/form_elements/header.rb
|
|
496
491
|
- app/helpers/form_elements/image_field.rb
|
|
497
492
|
- app/helpers/form_elements/info.rb
|
|
498
493
|
- app/helpers/form_elements/info_list.rb
|
|
499
494
|
- app/helpers/form_elements/integer_field.rb
|
|
500
|
-
- app/helpers/form_elements/kansen_slider.rb
|
|
501
495
|
- app/helpers/form_elements/money_field.rb
|
|
502
496
|
- app/helpers/form_elements/month_select.rb
|
|
503
497
|
- app/helpers/form_elements/month_year_picker.rb
|
|
504
|
-
- app/helpers/form_elements/move.rb
|
|
505
498
|
- app/helpers/form_elements/multi_image_field.rb
|
|
506
499
|
- app/helpers/form_elements/pdf_link.rb
|
|
507
500
|
- app/helpers/form_elements/plain_text.rb
|
|
@@ -519,7 +512,6 @@ files:
|
|
|
519
512
|
- app/helpers/form_elements/time.rb
|
|
520
513
|
- app/helpers/inline_forms_helper.rb
|
|
521
514
|
- app/models/concerns/inline_forms/soft_deletable.rb
|
|
522
|
-
- app/models/geo_code_curacao.rb
|
|
523
515
|
- app/validators/curacao_id_number_validator.rb
|
|
524
516
|
- app/validators/is_curacao_phone_validator.rb
|
|
525
517
|
- app/validators/is_email_address_validator.rb
|
|
@@ -537,8 +529,6 @@ files:
|
|
|
537
529
|
- app/views/devise/sessions/new.html.erb
|
|
538
530
|
- app/views/devise/shared/_header_and_errors.html.erb
|
|
539
531
|
- app/views/devise/shared/_links.erb
|
|
540
|
-
- app/views/geo_code_curacao/list_streets.html.erb
|
|
541
|
-
- app/views/geo_code_curacao/list_streets.js.erb
|
|
542
532
|
- app/views/inline_forms/_close.html.erb
|
|
543
533
|
- app/views/inline_forms/_edit.html.erb
|
|
544
534
|
- app/views/inline_forms/_flash.html.erb
|
|
@@ -547,30 +537,39 @@ files:
|
|
|
547
537
|
- app/views/inline_forms/_new.html.erb
|
|
548
538
|
- app/views/inline_forms/_new_nested.html.erb
|
|
549
539
|
- app/views/inline_forms/_show.html.erb
|
|
550
|
-
- app/views/inline_forms/_tree.html.erb
|
|
551
540
|
- app/views/inline_forms/_versions.html.erb
|
|
552
541
|
- app/views/inline_forms/_versions_list.html.erb
|
|
553
|
-
- app/views/inline_forms/close.js.erb
|
|
554
542
|
- app/views/inline_forms/create_list_frame.html.erb
|
|
555
543
|
- app/views/inline_forms/extract_translations.erb
|
|
556
544
|
- app/views/inline_forms/field_edit.html.erb
|
|
557
545
|
- app/views/inline_forms/field_show.html.erb
|
|
558
|
-
- app/views/inline_forms/list.js.erb
|
|
559
|
-
- app/views/inline_forms/new.js.erb
|
|
560
546
|
- app/views/inline_forms/new_record.html.erb
|
|
561
|
-
- app/views/inline_forms/record_destroyed.js.erb
|
|
562
547
|
- app/views/inline_forms/row_close.html.erb
|
|
563
548
|
- app/views/inline_forms/row_destroyed.html.erb
|
|
564
549
|
- app/views/inline_forms/row_show.html.erb
|
|
565
|
-
- app/views/inline_forms/show.js.erb
|
|
566
|
-
- app/views/inline_forms/show_undo.js.erb
|
|
567
|
-
- app/views/inline_forms/versions.js.erb
|
|
568
|
-
- app/views/inline_forms/versions_list.js.erb
|
|
569
550
|
- app/views/inline_forms/versions_list_panel.html.erb
|
|
570
551
|
- app/views/inline_forms/versions_panel.html.erb
|
|
571
552
|
- app/views/layouts/application.html.erb
|
|
572
553
|
- app/views/layouts/devise.html.erb
|
|
573
554
|
- app/views/layouts/inline_forms.html.erb
|
|
555
|
+
- archived/README.md
|
|
556
|
+
- archived/form_elements/README.md
|
|
557
|
+
- archived/form_elements/chicas/README.md
|
|
558
|
+
- archived/form_elements/chicas/app/helpers/form_elements/chicas_dropdown_with_family_members.rb
|
|
559
|
+
- archived/form_elements/chicas/app/helpers/form_elements/chicas_family_photo_list.rb
|
|
560
|
+
- archived/form_elements/chicas/app/helpers/form_elements/chicas_photo_list.rb
|
|
561
|
+
- archived/form_elements/geo_code_curacao/README.md
|
|
562
|
+
- archived/form_elements/geo_code_curacao/app/controllers/geo_code_curacao_controller.rb
|
|
563
|
+
- archived/form_elements/geo_code_curacao/app/helpers/form_elements/geo_code_curacao.rb
|
|
564
|
+
- archived/form_elements/geo_code_curacao/app/models/geo_code_curacao.rb
|
|
565
|
+
- archived/form_elements/geo_code_curacao/app/views/geo_code_curacao/list_streets.html.erb
|
|
566
|
+
- archived/form_elements/geo_code_curacao/app/views/geo_code_curacao/list_streets.js.erb
|
|
567
|
+
- archived/form_elements/kansen_slider/README.md
|
|
568
|
+
- archived/form_elements/kansen_slider/app/helpers/form_elements/kansen_slider.rb
|
|
569
|
+
- archived/form_elements/tree/README.md
|
|
570
|
+
- archived/form_elements/tree/app/helpers/form_elements/move.rb
|
|
571
|
+
- archived/form_elements/tree/app/views/inline_forms/_show_tree.html.erb
|
|
572
|
+
- archived/form_elements/tree/app/views/inline_forms/_tree.html.erb
|
|
574
573
|
- bin/inline_forms
|
|
575
574
|
- bin/inline_forms_app_template.rb
|
|
576
575
|
- bin/inline_forms_installer_core.rb
|
|
@@ -593,6 +592,7 @@ files:
|
|
|
593
592
|
- lib/generators/templates/test.erb
|
|
594
593
|
- lib/generators/templates/unicorn/production.rb
|
|
595
594
|
- lib/inline_forms.rb
|
|
595
|
+
- lib/inline_forms/archived_form_elements.rb
|
|
596
596
|
- lib/inline_forms/form_element_from_callee.rb
|
|
597
597
|
- lib/inline_forms/version.rb
|
|
598
598
|
- lib/installer_templates/dartsass/devise_main.scss
|
|
@@ -601,14 +601,18 @@ files:
|
|
|
601
601
|
- lib/installer_templates/example_app_tests/test/example_app/example_integration_test_case.rb
|
|
602
602
|
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_field_turbo_test.rb
|
|
603
603
|
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_name_list_test.rb
|
|
604
|
+
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_name_required_test.rb
|
|
604
605
|
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_photos_pagination_test.rb
|
|
605
606
|
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_row_turbo_test.rb
|
|
606
607
|
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_top_level_new_test.rb
|
|
608
|
+
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_top_level_pagination_test.rb
|
|
607
609
|
- lib/installer_templates/example_app_tests/test/integration/example_app_apartment_versions_turbo_test.rb
|
|
608
610
|
- lib/installer_templates/example_app_tests/test/integration/example_app_guest_access_test.rb
|
|
611
|
+
- lib/installer_templates/example_app_tests/test/integration/example_app_photo_revert_test.rb
|
|
609
612
|
- lib/installer_templates/example_app_tests/test/integration/example_app_photos_test.rb
|
|
610
613
|
- lib/installer_templates/example_app_tests/test/integration/example_app_routing_test.rb
|
|
611
614
|
- lib/installer_templates/example_app_tests/test/integration/example_app_turbo_layout_test.rb
|
|
615
|
+
- lib/installer_templates/example_app_tests/test/models/example_app_apartment_name_validation_test.rb
|
|
612
616
|
- lib/installer_templates/example_app_tests/test/models/example_app_apartment_photo_test.rb
|
|
613
617
|
- lib/installer_templates/example_app_tests/test/models/example_app_paper_trail_changeset_test.rb
|
|
614
618
|
- lib/installer_templates/example_app_tests/test/models/example_app_plain_text_rich_text_edge_cases_test.rb
|
|
@@ -622,6 +626,7 @@ files:
|
|
|
622
626
|
- lib/otherstuff/mkrole
|
|
623
627
|
- lib/otherstuff/roles_users.sql
|
|
624
628
|
- lib/vagrant/vagrantbox-inline_forms.zip
|
|
629
|
+
- test/archived_form_elements_test.rb
|
|
625
630
|
- test/form_element_from_callee_test.rb
|
|
626
631
|
- test/inline_edit_polymorphic_path_test.rb
|
|
627
632
|
- test/inline_forms_generator_test.rb
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<%= @streets.each { |s| puts s} %>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<%= @streets %>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$('#<%= @update_span %>').html('<%= escape_javascript(render(:partial => 'inline_forms/list' ))%>')
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$('#<%= @update_span %>').html('<%= escape_javascript(render(:partial => 'inline_forms/new' ))%>')
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$('#<%= @update_span %>').fadeOut("slow")
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$('#<%= @update_span %>').html('<%= escape_javascript(render(:partial => 'inline_forms/show' ))%>')
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$('#<%= @update_span %>').html('<%= escape_javascript(link_to t('inline_forms.view.undo'), send('revert_' + @object.class.to_s.underscore + "_path", @object.versions.scope.last, :update => @update_span), :remote => true, :method => :post)%>')
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$('#<%= @update_span %>').html('<%= escape_javascript(render(:partial => 'inline_forms/versions_list' ))%>')
|
|
File without changes
|
/data/{app → archived/form_elements/chicas/app}/helpers/form_elements/chicas_family_photo_list.rb
RENAMED
|
File without changes
|
|
File without changes
|
/data/{app → archived/form_elements/geo_code_curacao/app}/controllers/geo_code_curacao_controller.rb
RENAMED
|
File without changes
|
|
File without changes
|
/data/{app → archived/form_elements/kansen_slider/app}/helpers/form_elements/kansen_slider.rb
RENAMED
|
File without changes
|
|
File without changes
|