inline_forms 8.1.20 → 8.1.40
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/.forgejo/workflows/ci.yml +63 -0
- data/.forgejo/workflows/full-gate.yml +75 -0
- data/.gitignore +4 -3
- data/.rubocop.yml +30 -0
- data/.rubocop_todo.yml +151 -0
- data/CHANGELOG.md +267 -0
- data/Gemfile +14 -2
- data/README.rdoc +23 -6
- data/Rakefile +2 -2
- data/app/assets/fonts/opensans-v44-latin-italic.woff2 +0 -0
- data/app/assets/fonts/opensans-v44-latin-regular.woff2 +0 -0
- data/app/assets/javascripts/inline_forms/inline_forms.js +30 -43
- data/app/assets/stylesheets/inline_forms/_foundation_icons.scss +6 -12
- data/app/assets/stylesheets/inline_forms/_theme.scss +134 -0
- data/app/assets/stylesheets/inline_forms/devise.scss +14 -13
- data/app/assets/stylesheets/inline_forms/foundation_and_overrides.scss +4 -0
- data/app/assets/stylesheets/inline_forms/inline_forms.scss +59 -68
- data/app/assets/stylesheets/inline_forms_fonts.css.erb +39 -0
- data/app/controllers/inline_forms_application_controller.rb +8 -4
- data/app/controllers/inline_forms_controller.rb +73 -14
- data/app/helpers/inline_forms_helper.rb +58 -15
- data/app/models/concerns/inline_forms/soft_deletable.rb +11 -12
- data/app/validators/curacao_id_number_validator.rb +5 -6
- data/app/validators/is_curacao_phone_validator.rb +2 -3
- data/app/validators/is_email_address_validator.rb +3 -3
- data/app/validators/must_be_a_value_validator.rb +6 -6
- data/app/views/inline_forms/_show.html.erb +1 -1
- data/app/views/layouts/application.html.erb +6 -3
- data/app/views/layouts/devise.html.erb +1 -0
- data/app/views/layouts/inline_forms.html.erb +7 -4
- data/archived/README.md +3 -0
- data/archived/form_elements/ckeditor/README.md +26 -0
- data/archived/form_elements/dns_records/README.md +25 -0
- data/archived/form_elements/question_list/README.md +25 -0
- data/inline_forms.gemspec +8 -7
- data/lib/generators/inline_forms_attribute_overrides.rb +3 -2
- data/lib/generators/templates/application_record.rb +1 -1
- data/lib/inline_forms/archived_form_elements.rb +31 -8
- data/lib/inline_forms/form_element_from_callee.rb +1 -0
- data/lib/inline_forms/form_element_registry.rb +32 -34
- data/lib/inline_forms/form_elements/color_field_helper.rb +44 -0
- data/lib/inline_forms/form_elements/date_helper.rb +4 -1
- data/lib/inline_forms/form_elements/dropdown_with_other_helper.rb +25 -113
- data/lib/inline_forms/form_elements/month_year_picker_helper.rb +13 -2
- data/lib/inline_forms/form_elements/multi_image_field_helper.rb +18 -6
- data/lib/inline_forms/form_elements/slider_with_values_helper.rb +31 -64
- data/lib/inline_forms/form_elements/time_helper.rb +3 -1
- data/lib/inline_forms/gem_files.rb +1 -0
- data/lib/inline_forms/tabs.rb +175 -0
- data/lib/inline_forms/turbo_tabs_builder.rb +20 -13
- data/lib/inline_forms/version.rb +2 -1
- data/lib/inline_forms.rb +59 -46
- data/test/archived_form_elements_test.rb +62 -2
- data/test/dummy/app/controllers/application_controller.rb +24 -0
- data/test/dummy/app/controllers/machines_controller.rb +4 -0
- data/test/dummy/app/controllers/parts_controller.rb +4 -0
- data/test/dummy/app/controllers/widgets_controller.rb +4 -0
- data/test/dummy/app/helpers/application_helper.rb +13 -0
- data/test/dummy/app/models/application_record.rb +26 -0
- data/test/dummy/app/models/kind.rb +8 -0
- data/test/dummy/app/models/machine.rb +23 -0
- data/test/dummy/app/models/part.rb +16 -0
- data/test/dummy/app/models/widget.rb +39 -0
- data/test/dummy/app/views/_inline_forms_tabs.html.erb +40 -0
- data/test/dummy/config/application.rb +34 -0
- data/test/dummy/config/database.yml +3 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/initializers/inline_forms.rb +6 -0
- data/test/dummy/config/initializers/paper_trail_yaml_safe_load.rb +28 -0
- data/test/dummy/config/routes.rb +22 -0
- data/test/form_element_from_callee_test.rb +2 -2
- data/test/integration/inline_forms_crud_test.rb +141 -0
- data/test/integration/legacy_elements_test.rb +42 -0
- data/test/integration/native_inputs_test.rb +138 -0
- data/test/integration/open_after_create_test.rb +85 -0
- data/test/integration_test_helper.rb +80 -0
- data/test/plain_text_configuration_test.rb +3 -3
- data/test/tabs_test.rb +98 -0
- data/test/user_model_config_test.rb +1 -0
- data/vendor/assets/javascripts/trix.min.js +7 -0
- data/vendor/assets/stylesheets/trix.css +470 -0
- metadata +66 -322
- data/app/assets/images/jquery-ui/animated-overlay.gif +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonal-maze_20_6e4f1c_10x10.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonal-maze_40_000000_10x10.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-medium_20_d34d17_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-small_0_aaaaaa_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-small_25_c5ddfc_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-small_40_db4865_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-small_50_262626_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-small_50_93c3cd_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-small_50_ff3853_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-small_75_ccd232_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_15_0b3e6f_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_15_444444_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_20_e69700_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_22_1484e6_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_26_2293f7_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_75_f3d8d8_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_8_333333_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_90_eeeeee_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diagonals-thick_95_ffdc2e_40x40.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diamond_10_4f4221_10x8.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diamond_20_372806_10x8.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diamond_25_675423_10x8.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diamond_25_d5ac5d_10x8.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diamond_8_261803_10x8.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_diamond_8_443113_10x8.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_dots-medium_30_0b58a2_4x4.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_dots-medium_80_ffff38_4x4.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_dots-small_20_333333_2x2.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_dots-small_30_a32d00_2x2.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_dots-small_35_35414f_2x2.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_dots-small_40_00498f_2x2.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_dots-small_65_a6a6a6_2x2.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_fine-grain_10_eceadf_60x60.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_fine-grain_10_f8f7f6_60x60.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_fine-grain_15_eceadf_60x60.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_fine-grain_15_f7f3de_60x60.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_fine-grain_15_ffffff_60x60.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_fine-grain_65_654b24_60x60.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_fine-grain_68_b83400_60x60.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_0_303030_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_0_333333_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_0_4c4c4c_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_0_e69700_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_0_e6b900_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_10_000000_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_15_cd0a0a_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_30_cccccc_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_40_292929_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_55_994d53_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_55_999999_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_55_c0402a_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_55_eeeeee_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_55_fafafa_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_55_fbec88_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_65_ffffff_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_75_ba9217_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_75_ddd4b0_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_100_e4f1fb_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_100_f5f0e5_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_100_f8f8f8_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_15_5f391b_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_20_555555_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_25_cb842e_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_35_dddddd_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_40_0078a3_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_40_0a0a0a_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_40_111111_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_40_ffc73d_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_45_0078ae_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_50_3baae3_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_55_1c1c1c_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_55_f1fbe5_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_55_f8da4e_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_55_fbf5d0_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_55_fbf8ee_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_60_000000_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_60_eeeeee_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_70_ede4d4_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_75_79c9ec_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_80_d7ebf9_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_85_dfeffc_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_100_ece8da_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_16_121212_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_20_111111_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_20_1c160d_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_25_333333_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_25_453326_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_30_3d3644_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_30_44372c_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_45_817865_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_45_e14f1c_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_50_6eac2c_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_55_000000_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_60_fece2f_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_70_ffdd57_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_75_2191c0_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_85_9fda58_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_90_fff9e5_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_gloss-wave_95_f6ecd5_500x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_100_eeeeee_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_100_f2f5f7_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_100_f4f0ec_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_100_f5f3e5_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_100_f6f6f6_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_100_f9f9f9_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_100_fafaf4_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_15_459e00_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_15_888888_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_20_0972a5_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_30_285c00_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_40_aaaaaa_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_55_555555_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_70_000000_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_75_f5f5b5_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-hard_95_cccccc_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_100_dcd9de_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_100_deedf7_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_100_eae6ea_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_100_f9f9f9_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_100_feeebd_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_15_cc0000_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_20_201913_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_20_619226_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_25_30273a_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_25_67b021_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_25_ffef8f_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_33_003147_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_33_3a8104_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_35_222222_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_35_adadad_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_44_444444_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_45_5f5964_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_50_4eb305_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_50_aaaaaa_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_60_4ca20b_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_60_dddddd_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_80_eeeeee_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-hard_100_eeeeee_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-hard_45_cd0a0a_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-hard_55_ffeb80_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-hard_75_999999_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-soft_100_f4f0ec_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-soft_10_201913_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-soft_10_285c00_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-soft_15_121212_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-soft_15_2b2922_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-soft_25_000000_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-soft_30_f58400_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-soft_30_ffffff_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_inset-soft_50_c9c9c9_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_loop_25_000000_21x21.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_white-lines_85_f7f7ba_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_000000_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_004276_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_00498f_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_0073ea_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_0078ae_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_056b93_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_070603_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_0a82eb_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_0b54d5_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_1f1f1f_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_217bc0_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_228ef1_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_2694e8_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_3383bb_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_3572ac_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_3d3d3d_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_3d80b3_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_469bdd_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_4b8e0b_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_4ca300_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_4eb305_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_5fa5e3_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_666666_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_6da8d5_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_70b2e1_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_72a7cf_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_72b42d_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_734d99_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_808080_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_847e71_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_888888_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_88a206_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_8DC262_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_8c291d_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_8d78a5_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_98d2fb_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_999999_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_9bcc60_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_9ccdfc_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_9fda58_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_a83300_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_a8a3ae_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_aaaaaa_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_add978_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_b83400_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_b8ec79_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_bbbbbb_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_bd7b00_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_c02669_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_c47a23_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_c98000_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_cb672b_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_cc0000_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_cccccc_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_d19405_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_d8e7f3_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_e0fdff_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_e1e463_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_e3ddc9_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_e8e2b5_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_e9cd86_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_eb990f_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ebccce_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ed9f26_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ededed_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_eeeeee_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ef8c08_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_efec9f_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_f08000_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_f1fd86_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_f29a00_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_f2ec64_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_f35f07_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_f5e175_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_f7a50d_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_f9bd01_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_f9f2bd_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_fadc7a_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_fbc856_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_fbdb93_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_fcd113_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_fcdd4a_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ff0084_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ff7519_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ffcf29_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ffd27a_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ffe180_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ffeb33_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
- data/app/assets/stylesheets/jquery_ui/jquery.ui.accordion.css.scss +0 -39
- data/app/assets/stylesheets/jquery_ui/jquery.ui.all.css.scss +0 -14
- data/app/assets/stylesheets/jquery_ui/jquery.ui.autocomplete.css.scss +0 -17
- data/app/assets/stylesheets/jquery_ui/jquery.ui.base.css.scss +0 -27
- data/app/assets/stylesheets/jquery_ui/jquery.ui.button.css.scss +0 -115
- data/app/assets/stylesheets/jquery_ui/jquery.ui.core.css.scss +0 -92
- data/app/assets/stylesheets/jquery_ui/jquery.ui.datepicker.css.scss +0 -179
- data/app/assets/stylesheets/jquery_ui/jquery.ui.dialog.css.scss +0 -70
- data/app/assets/stylesheets/jquery_ui/jquery.ui.menu.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/jquery.ui.progressbar.css.scss +0 -29
- data/app/assets/stylesheets/jquery_ui/jquery.ui.resizable.css.scss +0 -79
- data/app/assets/stylesheets/jquery_ui/jquery.ui.selectable.css.scss +0 -16
- data/app/assets/stylesheets/jquery_ui/jquery.ui.slider.css.scss +0 -74
- data/app/assets/stylesheets/jquery_ui/jquery.ui.spinner.css.scss +0 -66
- data/app/assets/stylesheets/jquery_ui/jquery.ui.tabs.css.scss +0 -53
- data/app/assets/stylesheets/jquery_ui/jquery.ui.theme.css.scss +0 -408
- data/app/assets/stylesheets/jquery_ui/jquery.ui.tooltip.css.scss +0 -20
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.base.css.scss +0 -78
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.black-tie.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.blitzer.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.cupertino.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.dark-hive.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.dot-luv.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.eggplant.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.excite-bike.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.flick.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.hot-sneaks.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.humanity.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.le-frog.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.mint-choc.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.overcast.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.pepper-grinder.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.redmond.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.smoothness.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.south-street.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.start.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.sunny.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.swanky-purse.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.trontastic.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.ui-darkness.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.ui-lightness.css.scss +0 -80
- data/app/assets/stylesheets/jquery_ui/themes/_jquery.ui.vader.css.scss +0 -80
- /data/{lib → archived/form_elements/ckeditor/lib}/inline_forms/form_elements/ckeditor_helper.rb +0 -0
- /data/{lib → archived/form_elements/ckeditor/lib}/inline_forms/form_elements/text_area_without_ckeditor_helper.rb +0 -0
- /data/{lib → archived/form_elements/dns_records/lib}/inline_forms/form_elements/dns_records_helper.rb +0 -0
- /data/{lib → archived/form_elements/question_list/lib}/inline_forms/form_elements/question_list_helper.rb +0 -0
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
// inline_forms
|
|
2
|
-
@
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
// Open Sans @font-face lives in inline_forms_fonts.css.erb (self-hosted,
|
|
3
|
+
// Sprockets-served; linked from the layouts) — no external font CDN.
|
|
4
|
+
//
|
|
5
|
+
// Module-system status (8.1.24): `foundation_icons` is a self-contained
|
|
6
|
+
// partial and loads via @use. Everything else must stay on @import until
|
|
7
|
+
// the Foundation question is settled: foundation-rails 6.9 is @import-only
|
|
8
|
+
// internally and its settings globals ($body-background, rem-calc, ...)
|
|
9
|
+
// flow into foundation_and_overrides/theme/devise, which @use cannot
|
|
10
|
+
// replicate without a Foundation that ships a module API (it never will —
|
|
11
|
+
// the framework is unmaintained). See stuff/improvement-plan.md §1.
|
|
12
|
+
//
|
|
13
|
+
// jQuery UI SCSS (sunny theme + widget styles) was dropped in 8.1.26 along
|
|
14
|
+
// with the last jQuery UI widgets (native date/time/month/range/datalist
|
|
15
|
+
// inputs replaced them).
|
|
16
|
+
@use 'inline_forms/foundation_icons';
|
|
6
17
|
@import 'foundation_and_overrides';
|
|
7
18
|
|
|
8
19
|
// Foundation 6 makes `.row` a flex container (`display: flex`); a nested
|
|
@@ -20,7 +31,7 @@
|
|
|
20
31
|
}
|
|
21
32
|
|
|
22
33
|
.contain-to-grid {
|
|
23
|
-
background-color:
|
|
34
|
+
background-color: var(--if-color-body-bg) !important;
|
|
24
35
|
}
|
|
25
36
|
|
|
26
37
|
// Foundation 5 used to position .contain-to-grid.fixed at the top of the
|
|
@@ -65,15 +76,15 @@
|
|
|
65
76
|
.menu > li > a {
|
|
66
77
|
line-height: 45px;
|
|
67
78
|
padding: 0 1rem;
|
|
68
|
-
color:
|
|
79
|
+
color: var(--if-color-on-dark);
|
|
69
80
|
}
|
|
70
81
|
// F6 dropdown-menu paints the `::after` triangle indicator with
|
|
71
82
|
// `border-color: $primary-color transparent ...` (default blue). The
|
|
72
83
|
// app top bar is dark red, so the blue arrow next to "More" / "Admin"
|
|
73
84
|
// looks broken; force the triangle to white to match the link text.
|
|
74
85
|
.is-dropdown-submenu-parent > a::after {
|
|
75
|
-
border-top-color:
|
|
76
|
-
border-color:
|
|
86
|
+
border-top-color: var(--if-color-on-dark);
|
|
87
|
+
border-color: var(--if-color-on-dark) transparent transparent;
|
|
77
88
|
}
|
|
78
89
|
// F6 ships `.is-dropdown-submenu-parent > a { padding-right: 1.5rem }`
|
|
79
90
|
// to reserve space for the `::after` triangle, but our `.menu > li > a`
|
|
@@ -99,7 +110,7 @@
|
|
|
99
110
|
.menu-text,
|
|
100
111
|
.menu-text h1,
|
|
101
112
|
.menu-text h1 a {
|
|
102
|
-
color:
|
|
113
|
+
color: var(--if-color-on-dark);
|
|
103
114
|
}
|
|
104
115
|
.menu-text h1 {
|
|
105
116
|
margin: 0 !important;
|
|
@@ -135,38 +146,38 @@ input {
|
|
|
135
146
|
}
|
|
136
147
|
|
|
137
148
|
select {
|
|
138
|
-
background-color:
|
|
149
|
+
background-color: var(--if-color-input-bg) !important;
|
|
139
150
|
border: 0 !important;
|
|
140
151
|
margin: 2px 0 !important;
|
|
141
152
|
padding: 0;
|
|
142
153
|
|
|
143
154
|
}
|
|
144
155
|
select:hover, select:focus {
|
|
145
|
-
background-color:
|
|
156
|
+
background-color: var(--if-color-input-bg-hover) !important;
|
|
146
157
|
border: 0 !important;
|
|
147
158
|
}
|
|
148
159
|
|
|
149
160
|
#inline_forms_application_top_bar {
|
|
150
|
-
background-color:
|
|
151
|
-
color:
|
|
161
|
+
background-color: var(--if-color-primary);
|
|
162
|
+
color: var(--if-color-on-dark);
|
|
152
163
|
&,
|
|
153
164
|
.menu,
|
|
154
165
|
.menu li,
|
|
155
166
|
.menu a {
|
|
156
|
-
background-color:
|
|
157
|
-
color:
|
|
167
|
+
background-color: var(--if-color-primary);
|
|
168
|
+
color: var(--if-color-on-dark);
|
|
158
169
|
}
|
|
159
170
|
}
|
|
160
171
|
|
|
161
172
|
#inline_forms_model_top_bar {
|
|
162
|
-
background-color:
|
|
173
|
+
background-color: var(--if-color-secondary);
|
|
163
174
|
padding-top: 45px;
|
|
164
175
|
height: 90px;
|
|
165
176
|
.top-bar-right,
|
|
166
177
|
.menu,
|
|
167
178
|
.menu li,
|
|
168
179
|
.menu > li > a {
|
|
169
|
-
background-color:
|
|
180
|
+
background-color: var(--if-color-secondary);
|
|
170
181
|
}
|
|
171
182
|
// F6 buttons (`.button`) and inputs (`input[type=text]`) ship with
|
|
172
183
|
// different default heights -- buttons size to padding+line-height
|
|
@@ -192,8 +203,8 @@ select:hover, select:focus {
|
|
|
192
203
|
margin: 0 !important;
|
|
193
204
|
}
|
|
194
205
|
.new_button {
|
|
195
|
-
background-color:
|
|
196
|
-
color:
|
|
206
|
+
background-color: var(--if-color-secondary);
|
|
207
|
+
color: var(--if-color-accent);
|
|
197
208
|
font-size: 1.3rem;
|
|
198
209
|
padding: 0 2rem 0 1rem;
|
|
199
210
|
}
|
|
@@ -203,7 +214,7 @@ select:hover, select:focus {
|
|
|
203
214
|
transition-property: color;
|
|
204
215
|
}
|
|
205
216
|
input[type=text]:hover, input[type=text]:focus {
|
|
206
|
-
background-color:
|
|
217
|
+
background-color: var(--if-color-input-bg-focus);
|
|
207
218
|
-webkit-transition-property: background-color;
|
|
208
219
|
transition-property: background-color;
|
|
209
220
|
}
|
|
@@ -240,10 +251,10 @@ turbo-frame {
|
|
|
240
251
|
margin: 0 auto !important;
|
|
241
252
|
}
|
|
242
253
|
.odd {
|
|
243
|
-
background-color:
|
|
254
|
+
background-color: var(--if-color-row-odd);
|
|
244
255
|
}
|
|
245
256
|
.even {
|
|
246
|
-
background-color:
|
|
257
|
+
background-color: var(--if-color-row-even);
|
|
247
258
|
}
|
|
248
259
|
}
|
|
249
260
|
|
|
@@ -253,8 +264,8 @@ turbo-frame {
|
|
|
253
264
|
font-weight: normal !important;
|
|
254
265
|
}
|
|
255
266
|
.row.form_element_header {
|
|
256
|
-
border-top: 1px solid
|
|
257
|
-
background-color:
|
|
267
|
+
border-top: 1px solid var(--if-color-accent);
|
|
268
|
+
background-color: var(--if-color-header-band);
|
|
258
269
|
font-weight: normal !important;
|
|
259
270
|
font-size: 1.3rem !important;
|
|
260
271
|
}
|
|
@@ -292,17 +303,17 @@ turbo-frame {
|
|
|
292
303
|
}
|
|
293
304
|
|
|
294
305
|
.object_presentation {
|
|
295
|
-
background-color:
|
|
306
|
+
background-color: var(--if-color-accent);
|
|
296
307
|
color: white;
|
|
297
308
|
.close_button {
|
|
298
|
-
background-color:
|
|
309
|
+
background-color: var(--if-color-accent);
|
|
299
310
|
font-size: 1.3rem;
|
|
300
311
|
padding: 0 1rem 0 1rem;
|
|
301
312
|
margin: 0;
|
|
302
313
|
}
|
|
303
314
|
.close_button:hover, .close_button:focus {
|
|
304
|
-
background-color:
|
|
305
|
-
color:
|
|
315
|
+
background-color: var(--if-color-accent);
|
|
316
|
+
color: var(--if-color-row-even);
|
|
306
317
|
-webkit-transition-property: color;
|
|
307
318
|
transition-property: color;
|
|
308
319
|
}
|
|
@@ -314,8 +325,8 @@ turbo-frame {
|
|
|
314
325
|
font-weight: normal !important;
|
|
315
326
|
}
|
|
316
327
|
.row.form_element_header {
|
|
317
|
-
border-top: 1px solid
|
|
318
|
-
background-color:
|
|
328
|
+
border-top: 1px solid var(--if-color-accent);
|
|
329
|
+
background-color: var(--if-color-header-band);
|
|
319
330
|
font-weight: normal !important;
|
|
320
331
|
font-size: 1.3rem !important;
|
|
321
332
|
}
|
|
@@ -324,29 +335,29 @@ turbo-frame {
|
|
|
324
335
|
|
|
325
336
|
|
|
326
337
|
.associated_auto_header {
|
|
327
|
-
border-top: 1px solid
|
|
338
|
+
border-top: 1px solid var(--if-color-accent);
|
|
328
339
|
.new_button {
|
|
329
|
-
background-color:
|
|
340
|
+
background-color: var(--if-color-header-band);
|
|
330
341
|
font-size: 1.5rem;
|
|
331
|
-
color:
|
|
342
|
+
color: var(--if-color-accent);
|
|
332
343
|
padding: 0 0.5rem 0 1rem;
|
|
333
344
|
margin: 0;
|
|
334
345
|
}
|
|
335
346
|
.new_button:hover, .new_button:focus {
|
|
336
|
-
background-color:
|
|
347
|
+
background-color: var(--if-color-header-band);
|
|
337
348
|
color: white;
|
|
338
349
|
-webkit-transition-property: color;
|
|
339
350
|
transition-property: color;
|
|
340
351
|
}
|
|
341
352
|
.close_button {
|
|
342
|
-
background-color:
|
|
353
|
+
background-color: var(--if-color-header-band);
|
|
343
354
|
font-size: 1.5rem;
|
|
344
|
-
color:
|
|
355
|
+
color: var(--if-color-accent);
|
|
345
356
|
padding: 0 0.5rem 0 1rem;
|
|
346
357
|
margin: 0;
|
|
347
358
|
}
|
|
348
359
|
.close_button:hover, .new_button:focus {
|
|
349
|
-
background-color:
|
|
360
|
+
background-color: var(--if-color-header-band);
|
|
350
361
|
color: white;
|
|
351
362
|
-webkit-transition-property: color;
|
|
352
363
|
transition-property: color;
|
|
@@ -370,14 +381,14 @@ turbo-frame {
|
|
|
370
381
|
display: inline-block;
|
|
371
382
|
}
|
|
372
383
|
a:hover {
|
|
373
|
-
color:
|
|
384
|
+
color: var(--if-color-accent);
|
|
374
385
|
-webkit-transition-property: color;
|
|
375
386
|
-webkit-transition-duration: 0.3s;
|
|
376
387
|
transition-property: color;
|
|
377
388
|
transition-duration: 0.3s;
|
|
378
389
|
}
|
|
379
390
|
em {
|
|
380
|
-
color:
|
|
391
|
+
color: var(--if-color-accent);
|
|
381
392
|
font-weight: bold;
|
|
382
393
|
font-style: normal;
|
|
383
394
|
}
|
|
@@ -387,32 +398,12 @@ turbo-frame {
|
|
|
387
398
|
}
|
|
388
399
|
|
|
389
400
|
.record_footer {
|
|
390
|
-
background-color:
|
|
401
|
+
background-color: var(--if-color-header-band);
|
|
391
402
|
height: 0.2em;
|
|
392
|
-
border-bottom: 1px solid
|
|
403
|
+
border-bottom: 1px solid var(--if-color-accent);
|
|
393
404
|
margin-bottom: 1.5em;
|
|
394
405
|
}
|
|
395
406
|
|
|
396
|
-
.custom-combobox {
|
|
397
|
-
position: relative;
|
|
398
|
-
display: inline-block;
|
|
399
|
-
}
|
|
400
|
-
.custom-combobox-toggle {
|
|
401
|
-
position: absolute;
|
|
402
|
-
top: 0;
|
|
403
|
-
bottom: 0;
|
|
404
|
-
margin-left: -1px;
|
|
405
|
-
padding: 0;
|
|
406
|
-
/* support: IE7 */
|
|
407
|
-
*height: 1.7em;
|
|
408
|
-
*top: 0.1em;
|
|
409
|
-
}
|
|
410
|
-
.custom-combobox-input {
|
|
411
|
-
margin: 0;
|
|
412
|
-
padding: 0.3em;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
|
|
416
407
|
.column {
|
|
417
408
|
padding-right: 0 !important;
|
|
418
409
|
}
|
|
@@ -443,31 +434,31 @@ turbo-frame {
|
|
|
443
434
|
|
|
444
435
|
.flash {
|
|
445
436
|
padding: 0.3em;
|
|
446
|
-
color:
|
|
437
|
+
color: var(--if-color-primary);
|
|
447
438
|
font-size: 130%;
|
|
448
439
|
font-weight: bold;
|
|
449
440
|
line-height: 120%;
|
|
450
441
|
background-color: white;
|
|
451
|
-
border-top: 0.3em solid
|
|
442
|
+
border-top: 0.3em solid var(--if-color-flash-accent);
|
|
452
443
|
}
|
|
453
444
|
|
|
454
445
|
.error {
|
|
455
|
-
color:
|
|
446
|
+
color: var(--if-color-on-dark);
|
|
456
447
|
font-weight: bold;
|
|
457
|
-
background-color:
|
|
448
|
+
background-color: var(--if-color-error-bg);
|
|
458
449
|
padding: 0.3em;
|
|
459
450
|
margin-bottom: 0.5em;
|
|
460
451
|
}
|
|
461
452
|
.success {
|
|
462
|
-
color:
|
|
453
|
+
color: var(--if-color-on-dark);
|
|
463
454
|
font-weight: bold;
|
|
464
455
|
border-bottom: 1px solid #cccccc;
|
|
465
|
-
background-color:
|
|
456
|
+
background-color: var(--if-color-success-bg);
|
|
466
457
|
padding: 0.3em;
|
|
467
458
|
margin-bottom: 0.5em;
|
|
468
459
|
}
|
|
469
460
|
|
|
470
|
-
/*
|
|
461
|
+
/* slider_with_values: native range/progress (8.1.26) */
|
|
471
462
|
.slider {
|
|
472
463
|
width: 300px;
|
|
473
464
|
float: left;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Self-hosted fonts for inline_forms, served through Sprockets (ERB) so
|
|
3
|
+
* asset_path emits correct digested URLs in every environment.
|
|
4
|
+
*
|
|
5
|
+
* - Open Sans v44 latin 400 / 400 italic: replaces the external
|
|
6
|
+
* `@import url(http://fonts.googleapis.com/...)` that lived in
|
|
7
|
+
* inline_forms.scss / devise.scss (insecure scheme + runtime third-party
|
|
8
|
+
* dependency). Files live in app/assets/fonts/.
|
|
9
|
+
* - Foundation Icons v3 (MIT, ZURB): the @font-face moved here from
|
|
10
|
+
* _foundation_icons.scss because the Dart Sass-built CSS is served from
|
|
11
|
+
* /assets/inline_forms/inline_forms.css, so its relative font reference
|
|
12
|
+
* resolved to /assets/inline_forms/foundation-icons.woff and 404'd; the
|
|
13
|
+
* fonts' real logical paths are flat (/assets/foundation-icons.*).
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
@font-face {
|
|
17
|
+
font-family: "Open Sans";
|
|
18
|
+
font-style: normal;
|
|
19
|
+
font-weight: 400;
|
|
20
|
+
font-display: swap;
|
|
21
|
+
src: url(<%= asset_path("opensans-v44-latin-regular.woff2") %>) format("woff2");
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@font-face {
|
|
25
|
+
font-family: "Open Sans";
|
|
26
|
+
font-style: italic;
|
|
27
|
+
font-weight: 400;
|
|
28
|
+
font-display: swap;
|
|
29
|
+
src: url(<%= asset_path("opensans-v44-latin-italic.woff2") %>) format("woff2");
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@font-face {
|
|
33
|
+
font-family: "foundation-icons";
|
|
34
|
+
src: url(<%= asset_path("foundation-icons.woff") %>) format("woff"),
|
|
35
|
+
url(<%= asset_path("foundation-icons.ttf") %>) format("truetype"),
|
|
36
|
+
url(<%= asset_path("foundation-icons.svg") %>#fontcustom) format("svg");
|
|
37
|
+
font-weight: normal;
|
|
38
|
+
font-style: normal;
|
|
39
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
|
2
|
+
|
|
2
3
|
class InlineFormsApplicationController < ActionController::Base
|
|
3
4
|
protect_from_forgery
|
|
4
5
|
# `layout 'devise' if :devise_controller?` was wrong: `:devise_controller?` is a
|
|
@@ -7,10 +8,14 @@ class InlineFormsApplicationController < ActionController::Base
|
|
|
7
8
|
# defaults to `layouts/inline_forms` (actions may still override via `render`).
|
|
8
9
|
layout ->(controller) { controller.devise_controller? ? "devise" : "inline_forms" }
|
|
9
10
|
|
|
10
|
-
#
|
|
11
|
-
|
|
11
|
+
# NOTE (8.1.31): this class no longer clobbers I18n.available_locales.
|
|
12
|
+
# It used to hard-assign `[ :en, :nl, :pp ]` at class-load time, which ran
|
|
13
|
+
# *after* the host app's initializers in development (classes load lazily)
|
|
14
|
+
# and silently stomped any `config.i18n.available_locales` the app set.
|
|
15
|
+
# Configure available locales in the app: config/application.rb
|
|
16
|
+
# config.i18n.available_locales = [:en, :nl, :pp]
|
|
12
17
|
|
|
13
|
-
#set the locale based on the subdomain
|
|
18
|
+
# set the locale based on the subdomain
|
|
14
19
|
def set_locale
|
|
15
20
|
I18n.locale = extract_locale_from_subdomain || I18n.default_locale
|
|
16
21
|
end
|
|
@@ -21,5 +26,4 @@ class InlineFormsApplicationController < ActionController::Base
|
|
|
21
26
|
return nil if locale.nil?
|
|
22
27
|
I18n.available_locales.include?(locale.to_sym) ? locale.to_s : nil
|
|
23
28
|
end
|
|
24
|
-
|
|
25
29
|
end
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
|
2
|
+
|
|
2
3
|
# == Generic controller for the inline_forms plugin.
|
|
3
4
|
# === Usage
|
|
4
5
|
# If you have an Example class, make an ExampleController
|
|
@@ -28,7 +29,7 @@ class InlineFormsController < ApplicationController
|
|
|
28
29
|
|
|
29
30
|
before_action :getKlass
|
|
30
31
|
|
|
31
|
-
load_and_authorize_resource :
|
|
32
|
+
load_and_authorize_resource except: :revert, no_params: true if cancan_enabled?
|
|
32
33
|
# :index shows a list of all objects from class @Klass, using will_paginate,
|
|
33
34
|
# including a link to 'new', that allows you to create a new record.
|
|
34
35
|
def index
|
|
@@ -56,7 +57,7 @@ class InlineFormsController < ApplicationController
|
|
|
56
57
|
@objects = @objects.merge(@Klass.inline_forms_search(params[:search]))
|
|
57
58
|
end
|
|
58
59
|
@objects = @objects.where(fk_conditions) if fk_conditions
|
|
59
|
-
@objects = @objects.paginate(:
|
|
60
|
+
@objects = @objects.paginate(page: params[:page])
|
|
60
61
|
respond_to do |format|
|
|
61
62
|
# `not_accessible_through_html?` is about preventing direct top-level
|
|
62
63
|
# HTML CRUD on this resource (e.g. /photos when only Apartment is the
|
|
@@ -137,7 +138,7 @@ class InlineFormsController < ApplicationController
|
|
|
137
138
|
attributes = @inline_forms_attribute_list || @object.inline_forms_attribute_list
|
|
138
139
|
attributes.each do | attribute, form_element |
|
|
139
140
|
InlineForms.assert_plain_text_column!(object: @object, attribute: attribute, form_element: form_element)
|
|
140
|
-
send("#{form_element
|
|
141
|
+
send("#{form_element}_update", @object, attribute) unless form_element == :associated || (cancan_enabled? && cannot?(:read, @object, attribute))
|
|
141
142
|
end
|
|
142
143
|
@parent_class = params[:parent_class]
|
|
143
144
|
@parent_id = params[:parent_id]
|
|
@@ -150,20 +151,26 @@ class InlineFormsController < ApplicationController
|
|
|
150
151
|
end
|
|
151
152
|
|
|
152
153
|
if @object.save
|
|
153
|
-
flash.now[:success] = t(
|
|
154
|
+
flash.now[:success] = t("success", message: @object.class.model_name.human)
|
|
154
155
|
@objects = cancan_enabled? ? @Klass.accessible_by(current_ability) : @Klass.all
|
|
155
156
|
@objects = @objects.merge(@Klass.inline_forms_list) if @Klass.respond_to?(:inline_forms_list)
|
|
156
157
|
if fk_conditions.nil? && params[:search].present? && @Klass.respond_to?(:inline_forms_search)
|
|
157
158
|
@objects = @objects.merge(@Klass.inline_forms_search(params[:search]))
|
|
158
159
|
end
|
|
159
160
|
@objects = @objects.where(fk_conditions) if fk_conditions
|
|
160
|
-
@objects = @objects.paginate(:
|
|
161
|
+
@objects = @objects.paginate(page: params[:page])
|
|
162
|
+
created_object = @object
|
|
161
163
|
@object = nil
|
|
162
164
|
respond_to do |format|
|
|
163
|
-
|
|
165
|
+
if html_list_flow_allowed?
|
|
166
|
+
if open_created_row?(created_object, attributes)
|
|
167
|
+
format.turbo_stream { render_created_row_open_streams(created_object) }
|
|
168
|
+
end
|
|
169
|
+
format.html { render_list_frame_after_save }
|
|
170
|
+
end
|
|
164
171
|
end
|
|
165
172
|
else
|
|
166
|
-
flash.now[:header] = ["Kan #{@object.class.to_s.underscore} niet aanmaken."]
|
|
173
|
+
flash.now[:header] = [ "Kan #{@object.class.to_s.underscore} niet aanmaken." ]
|
|
167
174
|
flash.now[:error] = @object.errors.to_a
|
|
168
175
|
respond_to do |format|
|
|
169
176
|
@object.inline_forms_attribute_list = attributes
|
|
@@ -180,7 +187,7 @@ class InlineFormsController < ApplicationController
|
|
|
180
187
|
@sub_id = params[:sub_id]
|
|
181
188
|
@update_span = params[:update]
|
|
182
189
|
InlineForms.assert_plain_text_column!(object: @object, attribute: @attribute, form_element: @form_element)
|
|
183
|
-
send("#{@form_element
|
|
190
|
+
send("#{@form_element}_update", @object, @attribute)
|
|
184
191
|
# Branch on the actual save result. Previously the return value of
|
|
185
192
|
# `@object.save` was ignored and `field_show` was rendered
|
|
186
193
|
# unconditionally from the in-memory `@object`. When a save failed
|
|
@@ -262,7 +269,7 @@ class InlineFormsController < ApplicationController
|
|
|
262
269
|
def destroy
|
|
263
270
|
@update_span = params[:update]
|
|
264
271
|
@object = referenced_object
|
|
265
|
-
if
|
|
272
|
+
if destroy_permitted?
|
|
266
273
|
@object.destroy
|
|
267
274
|
# Capture after destroy: `.last` before destroy was the latest *update*
|
|
268
275
|
# (e.g. a plain_text_area edit), so undo reified the pre-edit state.
|
|
@@ -291,7 +298,9 @@ class InlineFormsController < ApplicationController
|
|
|
291
298
|
@version = PaperTrail::Version.find(params[:id])
|
|
292
299
|
@parent = revert_authorization_subject(@version)
|
|
293
300
|
authorize!(:revert, @parent || @Klass) if cancan_enabled?
|
|
294
|
-
|
|
301
|
+
# Same gate as :destroy (see destroy_permitted?): superadmin when the host
|
|
302
|
+
# has the Devise+roles system, otherwise no extra gate beyond CanCan.
|
|
303
|
+
return head :forbidden unless destroy_permitted?
|
|
295
304
|
return head :not_found unless @parent
|
|
296
305
|
|
|
297
306
|
@object = @version.reify(
|
|
@@ -343,6 +352,19 @@ class InlineFormsController < ApplicationController
|
|
|
343
352
|
|
|
344
353
|
private
|
|
345
354
|
|
|
355
|
+
# Hard-destroy gate. Generated apps restrict destroy to a Devise user with
|
|
356
|
+
# `role?(:superadmin)` (Role model + roles HABTM). Hosts without that role
|
|
357
|
+
# system (e.g. the engine's test/dummy harness, or apps using a different
|
|
358
|
+
# auth stack) have no gatekeeper here beyond CanCan's
|
|
359
|
+
# `load_and_authorize_resource`; pre-8.1.27 this crashed with
|
|
360
|
+
# `NoMethodError` on `nil.role?` instead of deciding either way.
|
|
361
|
+
def destroy_permitted?
|
|
362
|
+
user = respond_to?(:current_user, true) ? current_user : nil
|
|
363
|
+
return true unless user.respond_to?(:role?)
|
|
364
|
+
|
|
365
|
+
user.role?(:superadmin)
|
|
366
|
+
end
|
|
367
|
+
|
|
346
368
|
# Persist a reified *primary* record (Apartment, Photo, ...) for +revert+.
|
|
347
369
|
#
|
|
348
370
|
# +reify+ on a +destroy+ version returns a record with +new_record? == true+
|
|
@@ -459,13 +481,13 @@ class InlineFormsController < ApplicationController
|
|
|
459
481
|
row_html = render_to_string(
|
|
460
482
|
"inline_forms/row_close",
|
|
461
483
|
layout: false,
|
|
462
|
-
formats: [:html],
|
|
484
|
+
formats: [ :html ],
|
|
463
485
|
locals: { update_span: row_id, object: @parent, inline_forms_turbo_row: true }
|
|
464
486
|
)
|
|
465
487
|
versions_html = render_to_string(
|
|
466
488
|
"inline_forms/versions_panel",
|
|
467
489
|
layout: false,
|
|
468
|
-
formats: [:html],
|
|
490
|
+
formats: [ :html ],
|
|
469
491
|
locals: { update_span: versions_id, object: @parent, inline_forms_turbo_row: true }
|
|
470
492
|
)
|
|
471
493
|
render turbo_stream: [
|
|
@@ -523,6 +545,44 @@ class InlineFormsController < ApplicationController
|
|
|
523
545
|
render "inline_forms/create_list_frame", layout: associated_list_frame_layout
|
|
524
546
|
end
|
|
525
547
|
|
|
548
|
+
# "Open after create" (stuff/2026-07-10-nested-creation-options.md, Option A).
|
|
549
|
+
#
|
|
550
|
+
# An `:associated` (has_many) panel only exists on a persisted record, so the
|
|
551
|
+
# new form hides it and the user historically had to find and reopen the
|
|
552
|
+
# record to add children. When a *top-level* create succeeds for a class
|
|
553
|
+
# whose attribute list has an `:associated` panel, respond with Turbo
|
|
554
|
+
# Streams that refresh the list *and* open the new record's row, landing the
|
|
555
|
+
# user where the nested panel (and its "new" link) is immediately usable.
|
|
556
|
+
#
|
|
557
|
+
# Nested creates are excluded (they already return to the parent's panel),
|
|
558
|
+
# and requests without a turbo-stream Accept header fall through to the
|
|
559
|
+
# plain list-frame response.
|
|
560
|
+
def open_created_row?(created_object, attributes)
|
|
561
|
+
return false if @parent_class.present?
|
|
562
|
+
attributes.any? { |_attribute, form_element, *| form_element.to_sym == :associated }
|
|
563
|
+
end
|
|
564
|
+
|
|
565
|
+
def render_created_row_open_streams(created_object)
|
|
566
|
+
list_frame_id = @update_span
|
|
567
|
+
@ul_needed = true
|
|
568
|
+
list_html = render_to_string(partial: "inline_forms/list", formats: [ :html ])
|
|
569
|
+
|
|
570
|
+
row_id = helpers.inline_forms_row_turbo_frame_id(created_object)
|
|
571
|
+
@object = created_object
|
|
572
|
+
@update_span = row_id
|
|
573
|
+
@inline_forms_turbo_row = true
|
|
574
|
+
row_html = render_to_string("inline_forms/row_show", layout: false, formats: [ :html ])
|
|
575
|
+
|
|
576
|
+
# Streams apply in order: the first inserts the fresh list (containing the
|
|
577
|
+
# new record's closed row frame), the second swaps that row open. If the
|
|
578
|
+
# new record sorted onto another page, the second replace finds no target
|
|
579
|
+
# and degrades silently to today's list-refresh behavior.
|
|
580
|
+
render turbo_stream: [
|
|
581
|
+
turbo_stream.replace(list_frame_id, list_html),
|
|
582
|
+
turbo_stream.replace(row_id, row_html)
|
|
583
|
+
]
|
|
584
|
+
end
|
|
585
|
+
|
|
526
586
|
def associated_list_frame_layout
|
|
527
587
|
# Use full inline_forms chrome so the swapped frame is styled; Turbo extracts
|
|
528
588
|
# the matching <turbo-frame id="…"> from the response body.
|
|
@@ -579,7 +639,7 @@ class InlineFormsController < ApplicationController
|
|
|
579
639
|
# Get the class from the controller name.
|
|
580
640
|
# CountryController < InlineFormsController, so what class are we?
|
|
581
641
|
# TODO think about this a bit more.
|
|
582
|
-
def getKlass
|
|
642
|
+
def getKlass # :doc:
|
|
583
643
|
@Klass = self.controller_name.classify.constantize
|
|
584
644
|
InlineForms.validate_plain_text_configuration_for!(@Klass)
|
|
585
645
|
@Klass
|
|
@@ -596,5 +656,4 @@ class InlineFormsController < ApplicationController
|
|
|
596
656
|
def revert_params
|
|
597
657
|
params.require(:id).permit(:update)
|
|
598
658
|
end
|
|
599
|
-
|
|
600
659
|
end
|