infold 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +410 -21
- data/Rakefile +0 -5
- data/lib/generators/infold/controller_generator.rb +56 -0
- data/lib/generators/infold/decorator_generator.rb +31 -0
- data/lib/generators/infold/install_generator.rb +98 -0
- data/lib/generators/infold/model_generator.rb +31 -0
- data/lib/generators/infold/resource_generator.rb +12 -0
- data/lib/generators/infold/scaffold_generator.rb +16 -0
- data/lib/generators/infold/search_form_generator.rb +23 -0
- data/lib/generators/infold/templates/controller.rb.tt +70 -0
- data/lib/generators/infold/templates/decorator.rb.tt +6 -0
- data/lib/generators/infold/templates/install/app/components/admin/association_field_component.html.haml +10 -0
- data/lib/generators/infold/templates/install/app/components/admin/association_field_component.rb +25 -0
- data/lib/generators/infold/templates/install/app/components/admin/badge_component.rb +18 -0
- data/lib/generators/infold/templates/install/app/components/admin/checkbox_component.html.haml +4 -0
- data/lib/generators/infold/templates/install/app/components/admin/checkbox_component.rb +22 -0
- data/lib/generators/infold/templates/install/app/components/admin/datetime_component.html.haml +13 -0
- data/lib/generators/infold/templates/install/app/components/admin/datetime_component.rb +10 -0
- data/lib/generators/infold/templates/install/app/components/admin/fieldset_component.html.haml +12 -0
- data/lib/generators/infold/templates/install/app/components/admin/fieldset_component.rb +73 -0
- data/lib/generators/infold/{install/templates/app/components/admin/form → templates/install/app/components/admin}/file_upload_component.html.haml +2 -6
- data/lib/generators/infold/templates/install/app/components/admin/file_upload_component.rb +10 -0
- data/lib/generators/infold/templates/install/app/components/admin/input_group_component.html.haml +6 -0
- data/lib/generators/infold/templates/install/app/components/admin/input_group_component.rb +10 -0
- data/lib/generators/infold/templates/install/app/components/admin/invalid_message_component.rb +17 -0
- data/lib/generators/infold/templates/install/app/components/admin/label_component.rb +16 -0
- data/lib/generators/infold/templates/install/app/components/admin/radio_component.html.haml +4 -0
- data/lib/generators/infold/templates/install/app/components/admin/radio_component.rb +22 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/components/admin/remote_modal_component.html.haml +4 -3
- data/lib/generators/infold/templates/install/app/components/admin/remote_modal_component.rb +14 -0
- data/lib/generators/infold/templates/install/app/components/admin/select_component.rb +26 -0
- data/lib/generators/infold/templates/install/app/components/admin/sortable_component.html.haml +2 -0
- data/lib/generators/infold/templates/install/app/components/admin/sortable_component.rb +35 -0
- data/lib/generators/infold/templates/install/app/components/admin/switch_component.html.haml +3 -0
- data/lib/generators/infold/templates/install/app/components/admin/switch_component.rb +17 -0
- data/lib/generators/infold/templates/install/app/components/admin/text_component.rb +40 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/controllers/admin/admin_users/registrations_controller.rb +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/controllers/admin/admin_users/sessions_controller.rb +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/controllers/admin/base_controller.rb +3 -3
- data/lib/generators/infold/{install/templates → templates/install}/app/controllers/admin/errors_controller.rb +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/controllers/admin/turbo_devise_controller.rb +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/controllers/concerns/admin/error_handlers.rb +1 -0
- data/lib/generators/infold/{install/templates/app/forms/admin/search_form_base.rb → templates/install/app/forms/admin/base_search_form.rb} +1 -1
- data/lib/generators/infold/templates/install/app/helpers/admin_helper.rb +23 -0
- data/lib/generators/infold/templates/install/app/javascript/admin/admin.css +188 -0
- data/lib/generators/infold/templates/install/app/javascript/admin/admin.scss +195 -0
- data/{app/javascript → lib/generators/infold/templates/install/app/javascript/admin}/controllers/application.js +0 -0
- data/lib/generators/infold/{install/templates → templates/install/app}/javascript/admin/controllers/datepicker_controller.js +1 -1
- data/{app/javascript → lib/generators/infold/templates/install/app/javascript/admin}/controllers/flash_controller.js +0 -0
- data/lib/generators/infold/{install/templates → templates/install/app}/javascript/admin/controllers/index.js +0 -0
- data/lib/generators/infold/{install/templates → templates/install/app}/javascript/admin/controllers/index_page_controller.js +0 -0
- data/lib/generators/infold/{install/templates → templates/install/app}/javascript/admin/controllers/nested_form_controller.js +0 -0
- data/lib/generators/infold/{install/templates → templates/install/app}/javascript/admin/controllers/relation_search_controller.js +0 -0
- data/lib/generators/infold/{install/templates → templates/install/app}/javascript/admin/controllers/remote_modal_controller.js +7 -7
- data/lib/generators/infold/{install/templates → templates/install/app}/javascript/admin/controllers/timepicker_controller.js +0 -0
- data/lib/generators/infold/templates/install/app/javascript/admin.js +9 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/models/concerns/admin/datetime_field_concern.rb +12 -12
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/admin_users/registrations/edit.html.haml +4 -3
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/admin_users/sessions/new.html.haml +2 -2
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/common/_flash.html.haml +0 -0
- data/lib/generators/infold/templates/install/app/views/admin/common/_header_menu.html.haml +1 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/errors/bad_request.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/errors/forbidden.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/errors/internal_server_error.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/errors/not_found.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/kaminari/_first_page.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/kaminari/_gap.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/kaminari/_last_page.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/kaminari/_next_page.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/kaminari/_page.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/kaminari/_paginator.html.haml +0 -0
- data/lib/generators/infold/{install/templates → templates/install}/app/views/admin/kaminari/_prev_page.html.haml +0 -0
- data/lib/generators/infold/{install/templates/app/views/layouts/admin.haml.tt → templates/install/app/views/layouts/admin.html.haml} +8 -12
- data/lib/generators/infold/templates/install/config/infold/admin_user.yml +31 -0
- data/lib/generators/infold/{install/templates → templates/install}/config/locales/infold.en.yml +3 -2
- data/lib/generators/infold/{install/templates → templates/install}/config/locales/infold.ja.yml +1 -0
- data/lib/generators/infold/{install/templates → templates/install}/config/routes/admin.rb +0 -0
- data/lib/generators/infold/templates/model.rb.tt +34 -0
- data/lib/generators/infold/templates/resource.yml.tt +29 -0
- data/lib/generators/infold/templates/search_form.rb.tt +23 -0
- data/lib/generators/infold/templates/views/_form.haml.tt +36 -0
- data/lib/generators/infold/templates/views/_form_association.haml.tt +9 -0
- data/lib/generators/infold/templates/views/_index_row.haml.tt +12 -0
- data/lib/generators/infold/templates/views/_show_content.haml.tt +39 -0
- data/lib/generators/infold/templates/views/_show_wrapper.haml.tt +15 -0
- data/lib/generators/infold/templates/views/edit.html+turbo_frame.haml.tt +15 -0
- data/lib/generators/infold/templates/views/form.turbo_stream.haml.tt +16 -0
- data/lib/generators/infold/templates/views/index.csv.ruby.tt +19 -0
- data/lib/generators/infold/templates/views/index.haml.tt +45 -0
- data/lib/generators/infold/templates/views/index.html+turbo_frame.haml.tt +41 -0
- data/lib/generators/infold/templates/views/new.html+turbo_frame.haml.tt +15 -0
- data/lib/generators/infold/templates/views/show.html+turbo_frame.haml.tt +4 -0
- data/lib/generators/infold/views/form_generator.rb +51 -0
- data/lib/generators/infold/views/index_generator.rb +37 -0
- data/lib/generators/infold/views/show_generator.rb +33 -0
- data/lib/generators/infold/views_generator.rb +13 -0
- data/lib/generators/infold_generator.rb +11 -0
- data/lib/infold/db_schema.rb +28 -0
- data/lib/infold/field.rb +104 -0
- data/lib/infold/field_group.rb +108 -0
- data/lib/infold/property/active_storage.rb +38 -0
- data/lib/infold/property/association.rb +81 -0
- data/lib/infold/property/condition.rb +60 -0
- data/lib/infold/property/decorator.rb +30 -0
- data/lib/infold/property/default_order.rb +14 -0
- data/lib/infold/property/enum.rb +30 -0
- data/lib/infold/property/form_element.rb +56 -0
- data/lib/infold/property/show_element.rb +26 -0
- data/lib/infold/property/validation.rb +38 -0
- data/lib/infold/railtie.rb +4 -0
- data/lib/infold/resource.rb +32 -0
- data/lib/infold/table.rb +25 -0
- data/lib/infold/version.rb +1 -1
- data/lib/infold/writers/base_writer.rb +45 -0
- data/lib/infold/writers/controller_writer.rb +69 -0
- data/lib/infold/writers/decorator_writer.rb +94 -0
- data/lib/infold/writers/model_writer.rb +159 -0
- data/lib/infold/writers/search_form_writer.rb +23 -0
- data/lib/infold/writers/views/base_writer.rb +91 -0
- data/lib/infold/writers/views/form_writer.rb +39 -0
- data/lib/infold/writers/views/index_writer.rb +51 -0
- data/lib/infold/writers/views/show_writer.rb +16 -0
- data/lib/infold/yaml_reader.rb +252 -0
- data/lib/infold.rb +1 -1
- data/lib/tasks/infold_tasks.rake +0 -121
- metadata +246 -405
- data/app/assets/builds/infold.css +0 -17147
- data/app/assets/builds/infold.css.map +0 -7
- data/app/assets/builds/infold.js +0 -17202
- data/app/assets/builds/infold.js.map +0 -7
- data/app/assets/config/infold_manifest.js +0 -0
- data/app/assets/stylesheets/infold.custom.css +0 -76
- data/app/assets/stylesheets/infold.custom.css.map +0 -1
- data/app/components/infold/input_fieldset_component.html.haml +0 -14
- data/app/components/infold/input_fieldset_component.rb +0 -22
- data/app/components/infold/radio_fieldset_component.html.haml +0 -11
- data/app/components/infold/radio_fieldset_component.rb +0 -14
- data/app/components/infold/select_fieldset_component.html.haml +0 -7
- data/app/components/infold/select_fieldset_component.rb +0 -15
- data/app/controllers/infold/app_view_forms_controller.rb +0 -64
- data/app/controllers/infold/app_view_shows_controller.rb +0 -60
- data/app/controllers/infold/application_controller.rb +0 -17
- data/app/controllers/infold/apps_controller.rb +0 -68
- data/app/controllers/infold/attachment_fields_controller.rb +0 -59
- data/app/controllers/infold/builds_controller.rb +0 -21
- data/app/controllers/infold/columns_controller.rb +0 -89
- data/app/controllers/infold/csv_columns_controller.rb +0 -43
- data/app/controllers/infold/form_associations_controller.rb +0 -57
- data/app/controllers/infold/menu_directories_controller.rb +0 -19
- data/app/controllers/infold/menus_controller.rb +0 -35
- data/app/controllers/infold/models_controller.rb +0 -28
- data/app/controllers/infold/pages_controller.rb +0 -8
- data/app/controllers/infold/search_conditions_controller.rb +0 -63
- data/app/controllers/infold/search_result_fields_controller.rb +0 -62
- data/app/controllers/infold/show_associations_controller.rb +0 -54
- data/app/controllers/infold/sync_dbs_controller.rb +0 -13
- data/app/decorators/infold/app_view_form_decorator.rb +0 -56
- data/app/decorators/infold/app_view_index_decorator.rb +0 -53
- data/app/decorators/infold/app_view_modal_decorator.rb +0 -13
- data/app/decorators/infold/app_view_show_decorator.rb +0 -26
- data/app/decorators/infold/attachment_field_decorator.rb +0 -40
- data/app/decorators/infold/build_decorator.rb +0 -15
- data/app/decorators/infold/column_display_decorator.rb +0 -59
- data/app/decorators/infold/csv_column_decorator.rb +0 -5
- data/app/decorators/infold/form_association_column_decorator.rb +0 -5
- data/app/decorators/infold/form_column_decorator.rb +0 -57
- data/app/decorators/infold/model_association_decorator.rb +0 -39
- data/app/decorators/infold/model_column_decorator.rb +0 -201
- data/app/decorators/infold/model_decorator.rb +0 -27
- data/app/decorators/infold/search_condition_decorator.rb +0 -101
- data/app/decorators/infold/search_result_column_decorator.rb +0 -5
- data/app/decorators/infold/show_association_column_decorator.rb +0 -5
- data/app/decorators/infold/show_association_decorator.rb +0 -13
- data/app/decorators/infold/show_field_decorator.rb +0 -5
- data/app/helpers/infold/application_helper.rb +0 -29
- data/app/javascript/admin.scss +0 -5
- data/app/javascript/controllers/attachment_field_controller.js +0 -19
- data/app/javascript/controllers/column_controller.js +0 -20
- data/app/javascript/controllers/index.js +0 -32
- data/app/javascript/controllers/menu_controller.js +0 -26
- data/app/javascript/controllers/menu_directory_controller.js +0 -16
- data/app/javascript/controllers/modal_controller.js +0 -15
- data/app/javascript/controllers/nested_form_controller.js +0 -32
- data/app/javascript/controllers/search_condition_controller.js +0 -41
- data/app/javascript/controllers/sortable_controller.js +0 -19
- data/app/javascript/infold.js +0 -22
- data/app/javascript/infold.scss +0 -68
- data/app/javascript/stylesheets/admin/common.scss +0 -112
- data/app/javascript/stylesheets/admin/form.scss +0 -52
- data/app/javascript/stylesheets/admin/index.scss +0 -93
- data/app/javascript/stylesheets/admin/modal.scss +0 -37
- data/app/javascript/stylesheets/admin/show.scss +0 -16
- data/app/jobs/infold/application_job.rb +0 -4
- data/app/mailers/infold/application_mailer.rb +0 -6
- data/app/models/concerns/infold/app_view_search_concern.rb +0 -72
- data/app/models/concerns/infold/form_column_concern.rb +0 -63
- data/app/models/infold/app.rb +0 -41
- data/app/models/infold/app_view.rb +0 -27
- data/app/models/infold/app_view_form.rb +0 -43
- data/app/models/infold/app_view_index.rb +0 -36
- data/app/models/infold/app_view_modal.rb +0 -21
- data/app/models/infold/app_view_show.rb +0 -47
- data/app/models/infold/application_record.rb +0 -7
- data/app/models/infold/attachment_field.rb +0 -35
- data/app/models/infold/build.rb +0 -35
- data/app/models/infold/csv_column.rb +0 -9
- data/app/models/infold/enum.rb +0 -12
- data/app/models/infold/form_association.rb +0 -41
- data/app/models/infold/form_association_attachment_field.rb +0 -5
- data/app/models/infold/form_association_column.rb +0 -5
- data/app/models/infold/form_association_field.rb +0 -7
- data/app/models/infold/form_attachment_field.rb +0 -5
- data/app/models/infold/form_column.rb +0 -5
- data/app/models/infold/form_field.rb +0 -7
- data/app/models/infold/menu_item.rb +0 -45
- data/app/models/infold/model.rb +0 -40
- data/app/models/infold/model_association.rb +0 -51
- data/app/models/infold/model_column.rb +0 -127
- data/app/models/infold/project.rb +0 -29
- data/app/models/infold/schema_rb.rb +0 -178
- data/app/models/infold/search_condition.rb +0 -62
- data/app/models/infold/search_result_attachment_field.rb +0 -5
- data/app/models/infold/search_result_column.rb +0 -6
- data/app/models/infold/search_result_field.rb +0 -12
- data/app/models/infold/show_association.rb +0 -42
- data/app/models/infold/show_association_attachment_field.rb +0 -5
- data/app/models/infold/show_association_column.rb +0 -5
- data/app/models/infold/show_association_field.rb +0 -8
- data/app/models/infold/show_attachment_field.rb +0 -7
- data/app/models/infold/show_column.rb +0 -7
- data/app/models/infold/show_field.rb +0 -11
- data/app/validators/infold/ruby_code_validator.rb +0 -9
- data/app/views/infold/app_view_forms/_bulk_form.html.haml +0 -16
- data/app/views/infold/app_view_forms/_tab.html.haml +0 -12
- data/app/views/infold/app_view_forms/show.html.haml +0 -7
- data/app/views/infold/app_view_shows/_bulk_form.html.haml +0 -15
- data/app/views/infold/app_view_shows/_tab.html.haml +0 -12
- data/app/views/infold/app_view_shows/show.html.haml +0 -7
- data/app/views/infold/app_view_shows/update.turbo_stream.haml +0 -1
- data/app/views/infold/application/_flash.html.haml +0 -6
- data/app/views/infold/apps/_form.html.haml +0 -30
- data/app/views/infold/apps/_page_header.html.haml +0 -5
- data/app/views/infold/apps/_tab.html.haml +0 -13
- data/app/views/infold/apps/create.turbo_stream.haml +0 -3
- data/app/views/infold/apps/edit.html.haml +0 -6
- data/app/views/infold/apps/new.html.haml +0 -8
- data/app/views/infold/apps/update.turbo_stream.haml +0 -3
- data/app/views/infold/associations/_form.html.haml +0 -18
- data/app/views/infold/associations/edit.html.haml +0 -5
- data/app/views/infold/attachment_fields/_form.html.haml +0 -51
- data/app/views/infold/attachment_fields/edit.html.haml +0 -7
- data/app/views/infold/attachment_fields/form.turbo_stream.haml +0 -4
- data/app/views/infold/attachment_fields/index.html.haml +0 -28
- data/app/views/infold/attachment_fields/new.html.haml +0 -7
- data/app/views/infold/builds/create.turbo_stream.haml +0 -8
- data/app/views/infold/builds/new.html.haml +0 -23
- data/app/views/infold/columns/_bulk_form.html.haml +0 -18
- data/app/views/infold/columns/_row.html.haml +0 -26
- data/app/views/infold/columns/_setting.html.haml +0 -42
- data/app/views/infold/columns/bulk.turbo_stream.haml +0 -3
- data/app/views/infold/columns/edit.html.haml +0 -5
- data/app/views/infold/columns/index.html.haml +0 -9
- data/app/views/infold/columns/update.turbo_stream.haml +0 -8
- data/app/views/infold/csv_columns/_bulk_form.html.haml +0 -14
- data/app/views/infold/csv_columns/_row.html.haml +0 -10
- data/app/views/infold/csv_columns/bulk.turbo_stream.haml +0 -3
- data/app/views/infold/csv_columns/index.html.haml +0 -7
- data/app/views/infold/enums/_form.html.haml +0 -13
- data/app/views/infold/enums/_index.html.haml +0 -27
- data/app/views/infold/enums/index.html.haml +0 -5
- data/app/views/infold/form_association_attachment_fields/_form.html.haml +0 -13
- data/app/views/infold/form_association_columns/_form.html.haml +0 -20
- data/app/views/infold/form_associations/_bulk_form.html.haml +0 -16
- data/app/views/infold/form_associations/_form.html.haml +0 -19
- data/app/views/infold/form_associations/show.html.haml +0 -7
- data/app/views/infold/form_associations/update.turbo_stream.haml +0 -1
- data/app/views/infold/form_attachment_fields/_form.html.haml +0 -14
- data/app/views/infold/form_columns/_form.html.haml +0 -21
- data/app/views/infold/menu_directories/_item.html.haml +0 -20
- data/app/views/infold/menu_directories/create.turbo_stream.haml +0 -2
- data/app/views/infold/menu_directories/destroy.turbo_stream.haml +0 -5
- data/app/views/infold/menus/_app.html.haml +0 -10
- data/app/views/infold/menus/_items.html.haml +0 -7
- data/app/views/infold/menus/edit.html.haml +0 -23
- data/app/views/infold/menus/update.turbo_stream.haml +0 -3
- data/app/views/infold/models/_form.html.haml +0 -12
- data/app/views/infold/models/_tab.html.haml +0 -7
- data/app/views/infold/models/edit.html.haml +0 -9
- data/app/views/infold/models/update.turbo_stream.haml +0 -3
- data/app/views/infold/search_conditions/_bulk_form.html.haml +0 -24
- data/app/views/infold/search_conditions/_column_options.html.haml +0 -3
- data/app/views/infold/search_conditions/_form_kind_options.html.haml +0 -3
- data/app/views/infold/search_conditions/_row.html.haml +0 -31
- data/app/views/infold/search_conditions/_sign_options.html.haml +0 -3
- data/app/views/infold/search_conditions/_tab.html.haml +0 -12
- data/app/views/infold/search_conditions/bulk.turbo_stream.haml +0 -3
- data/app/views/infold/search_conditions/index.html.haml +0 -7
- data/app/views/infold/search_conditions/refresh_columns.turbo_stream.haml +0 -6
- data/app/views/infold/search_conditions/refresh_form_kinds.turbo_stream.haml +0 -4
- data/app/views/infold/search_conditions/refresh_signs.turbo_stream.haml +0 -2
- data/app/views/infold/search_result_attachment_fields/_form.html.haml +0 -12
- data/app/views/infold/search_result_columns/_form.html.haml +0 -12
- data/app/views/infold/search_result_fields/_bulk_form.html.haml +0 -23
- data/app/views/infold/search_result_fields/_row.html.haml +0 -12
- data/app/views/infold/search_result_fields/bulk.turbo_stream.haml +0 -3
- data/app/views/infold/search_result_fields/index.html.haml +0 -7
- data/app/views/infold/show_association_attachment_fields/_form.html.haml +0 -12
- data/app/views/infold/show_association_columns/_form.html.haml +0 -12
- data/app/views/infold/show_associations/_bulk_form.html.haml +0 -15
- data/app/views/infold/show_associations/_form.html.haml +0 -14
- data/app/views/infold/show_associations/show.html.haml +0 -7
- data/app/views/infold/show_associations/update.turbo_stream.haml +0 -1
- data/app/views/infold/show_attachment_fields/_form.html.haml +0 -12
- data/app/views/infold/show_columns/_form.html.haml +0 -12
- data/app/views/infold/sync_dbs/create.turbo_stream.haml +0 -1
- data/app/views/infold/sync_dbs/show.html.haml +0 -11
- data/app/views/layouts/infold/application.html.haml +0 -112
- data/config/database.yml +0 -11
- data/config/initializers/infold_assets.rb +0 -12
- data/config/initializers/infold_locale.rb +0 -1
- data/config/locales/infold/ar/app/en.yml +0 -6
- data/config/locales/infold/ar/app/ja.yml +0 -6
- data/config/locales/infold/ar/app_view/en.yml +0 -4
- data/config/locales/infold/ar/app_view/ja.yml +0 -4
- data/config/locales/infold/ar/app_view_form/en.yml +0 -10
- data/config/locales/infold/ar/app_view_form/ja.yml +0 -10
- data/config/locales/infold/ar/app_view_index/en.yml +0 -12
- data/config/locales/infold/ar/app_view_index/ja.yml +0 -12
- data/config/locales/infold/ar/app_view_modal/en.yml +0 -6
- data/config/locales/infold/ar/app_view_modal/ja.yml +0 -6
- data/config/locales/infold/ar/app_view_show/en.yml +0 -9
- data/config/locales/infold/ar/app_view_show/ja.yml +0 -9
- data/config/locales/infold/ar/csv_column/en.yml +0 -8
- data/config/locales/infold/ar/csv_column/ja.yml +0 -8
- data/config/locales/infold/ar/form_association_column/ja.yml +0 -15
- data/config/locales/infold/ar/form_column/ja.yml +0 -15
- data/config/locales/infold/ar/menu_item/ja.yml +0 -6
- data/config/locales/infold/ar/model/ja.yml +0 -11
- data/config/locales/infold/ar/model_association/en.yml +0 -6
- data/config/locales/infold/ar/model_association/ja.yml +0 -10
- data/config/locales/infold/ar/model_column/en.yml +0 -34
- data/config/locales/infold/ar/model_column/ja.yml +0 -34
- data/config/locales/infold/ar/search_condition/en.yml +0 -30
- data/config/locales/infold/ar/search_condition/ja.yml +0 -30
- data/config/locales/infold/ar/search_result_field/en.yml +0 -9
- data/config/locales/infold/ar/search_result_field/ja.yml +0 -9
- data/config/locales/infold/en.yml +0 -40
- data/config/locales/infold/ja.yml +0 -41
- data/config/routes.rb +0 -40
- data/db/infold_test.sqlite3 +0 -0
- data/db/migrate/20220419050641_create_infold_projects.rb +0 -9
- data/db/migrate/20220419051049_create_infold_models.rb +0 -15
- data/db/migrate/20220419051601_create_infold_columns.rb +0 -23
- data/db/migrate/20220419051718_create_infold_attachment_fields.rb +0 -15
- data/db/migrate/20220419052017_create_infold_model_associations.rb +0 -16
- data/db/migrate/20220419052154_create_infold_apps.rb +0 -10
- data/db/migrate/20220419052320_create_infold_app_views.rb +0 -14
- data/db/migrate/20220419052450_create_infold_search_conditions.rb +0 -14
- data/db/migrate/20220419052707_create_infold_search_result_fields.rb +0 -18
- data/db/migrate/20220419053338_create_infold_show_fields.rb +0 -18
- data/db/migrate/20220419053425_create_infold_show_association_fields.rb +0 -15
- data/db/migrate/20220419060937_create_infold_form_fields.rb +0 -19
- data/db/migrate/20220419061148_create_infold_form_association_fields.rb +0 -16
- data/db/migrate/20220419061725_create_infold_enums.rb +0 -16
- data/db/migrate/20220419062020_create_infold_menu_items.rb +0 -16
- data/db/migrate/20220419062119_create_infold_csv_columns.rb +0 -12
- data/db/schema.rb +0 -260
- data/lib/generators/infold/app/app_generator.rb +0 -134
- data/lib/generators/infold/app/templates/controller.rb.tt +0 -100
- data/lib/generators/infold/app/templates/search_form.rb.tt +0 -31
- data/lib/generators/infold/app/templates/views/_association_fields.haml.tt +0 -16
- data/lib/generators/infold/app/templates/views/_detail.haml.tt +0 -100
- data/lib/generators/infold/app/templates/views/_detail_modal_wrapper.haml.tt +0 -9
- data/lib/generators/infold/app/templates/views/_form.haml.tt +0 -66
- data/lib/generators/infold/app/templates/views/_index_row.haml.tt +0 -17
- data/lib/generators/infold/app/templates/views/_show_operation.haml.tt +0 -5
- data/lib/generators/infold/app/templates/views/edit+turbo_frame.haml.tt +0 -13
- data/lib/generators/infold/app/templates/views/edit.haml.tt +0 -10
- data/lib/generators/infold/app/templates/views/form.turbo_stream.haml.tt +0 -17
- data/lib/generators/infold/app/templates/views/index+turbo_frame.haml.tt +0 -43
- data/lib/generators/infold/app/templates/views/index.csv.ruby.tt +0 -18
- data/lib/generators/infold/app/templates/views/index.haml.tt +0 -49
- data/lib/generators/infold/app/templates/views/new+turbo_frame.haml.tt +0 -14
- data/lib/generators/infold/app/templates/views/new.haml.tt +0 -12
- data/lib/generators/infold/app/templates/views/show+turbo_frame.haml.tt +0 -4
- data/lib/generators/infold/app/templates/views/show.haml.tt +0 -9
- data/lib/generators/infold/install/install_generator.rb +0 -151
- data/lib/generators/infold/install/templates/app/components/admin/enum_badge_component.html.haml +0 -4
- data/lib/generators/infold/install/templates/app/components/admin/enum_badge_component.rb +0 -11
- data/lib/generators/infold/install/templates/app/components/admin/form/checkbox_fieldset_component.html.haml +0 -11
- data/lib/generators/infold/install/templates/app/components/admin/form/checkbox_fieldset_component.rb +0 -15
- data/lib/generators/infold/install/templates/app/components/admin/form/datetime_fieldset_component.html.haml +0 -20
- data/lib/generators/infold/install/templates/app/components/admin/form/datetime_fieldset_component.rb +0 -13
- data/lib/generators/infold/install/templates/app/components/admin/form/file_upload_component.rb +0 -12
- data/lib/generators/infold/install/templates/app/components/admin/form/input_fieldset_component.html.haml +0 -14
- data/lib/generators/infold/install/templates/app/components/admin/form/input_fieldset_component.rb +0 -24
- data/lib/generators/infold/install/templates/app/components/admin/form/radio_fieldset_component.html.haml +0 -11
- data/lib/generators/infold/install/templates/app/components/admin/form/radio_fieldset_component.rb +0 -15
- data/lib/generators/infold/install/templates/app/components/admin/form/relation_fieldset_component.html.haml +0 -17
- data/lib/generators/infold/install/templates/app/components/admin/form/relation_fieldset_component.rb +0 -21
- data/lib/generators/infold/install/templates/app/components/admin/form/select_fieldset_component.html.haml +0 -7
- data/lib/generators/infold/install/templates/app/components/admin/form/select_fieldset_component.rb +0 -16
- data/lib/generators/infold/install/templates/app/components/admin/form/switch_element_component.html.haml +0 -4
- data/lib/generators/infold/install/templates/app/components/admin/form/switch_element_component.rb +0 -12
- data/lib/generators/infold/install/templates/app/components/admin/remote_modal_component.rb +0 -21
- data/lib/generators/infold/install/templates/app/components/admin/sortable_th_component.html.haml +0 -4
- data/lib/generators/infold/install/templates/app/components/admin/sortable_th_component.rb +0 -27
- data/lib/generators/infold/install/templates/app/controllers/admin/admin_users_controller.rb +0 -62
- data/lib/generators/infold/install/templates/app/helpers/admin_helper.rb +0 -37
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/_detail.html.haml +0 -14
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/_form.html.haml +0 -6
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/_index_row.html.haml +0 -9
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/_show_operation.html.haml +0 -4
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/edit.html+turbo_frame.haml +0 -11
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/edit.html.haml +0 -10
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/form.turbo_stream.haml +0 -4
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/index.html.haml +0 -21
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/new.html+turbo_frame.haml +0 -11
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/new.html.haml +0 -10
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/show.html+turbo_frame.haml +0 -11
- data/lib/generators/infold/install/templates/app/views/admin/admin_users/show.html.haml +0 -8
- data/lib/generators/infold/install/templates/app/views/admin/common/_header_menu.html.haml +0 -0
- data/lib/generators/infold/install/templates/javascript/admin/controllers/application.js +0 -9
- data/lib/generators/infold/install/templates/javascript/admin/controllers/flash_controller.js +0 -10
- data/lib/generators/infold/install/templates/javascript/admin/stylesheets/custom.css +0 -290
- data/lib/generators/infold/install/templates/javascript/admin/stylesheets/custom.css.map +0 -1
- data/lib/generators/infold/install/templates/javascript/esbuild/admin.js +0 -10
- data/lib/generators/infold/install/templates/javascript/webpacker/admin.js +0 -9
- data/lib/generators/infold/model/model_generator.rb +0 -50
- data/lib/generators/infold/model/templates/decorator.rb.tt +0 -10
- data/lib/generators/infold/model/templates/model.rb.tt +0 -59
- data/lib/generators/infold/project/project_generator.rb +0 -66
- data/lib/generators/infold/project/templates/_header_menu.haml.tt +0 -17
- data/lib/generators/infold/project/templates/locales/form.yml.tt +0 -11
- data/lib/generators/infold/project/templates/locales/model.yml.tt +0 -43
- data/lib/generators/infold/project/templates/relation_fieldset_component.rb.tt +0 -30
- data/lib/infold/engine.rb +0 -15
@@ -1,47 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class AppViewShow < AppView
|
3
|
-
has_many :show_fields, foreign_key: :app_view_id, dependent: :destroy
|
4
|
-
has_many :show_columns, foreign_key: :app_view_id
|
5
|
-
has_many :show_attachment_fields, foreign_key: :app_view_id
|
6
|
-
has_many :show_associations, foreign_key: :app_view_id
|
7
|
-
|
8
|
-
accepts_nested_attributes_for :show_fields, allow_destroy: true
|
9
|
-
|
10
|
-
before_create :build_default_show_fields
|
11
|
-
|
12
|
-
# def save_with_associations
|
13
|
-
# seq = -1
|
14
|
-
# show_columns.sort_by(&:seq).each do |column|
|
15
|
-
# column.seq = seq += 1
|
16
|
-
# end
|
17
|
-
# seq = -1
|
18
|
-
# show_attachment_fields.sort_by(&:seq).each do |ass|
|
19
|
-
# ass.seq = seq += 1
|
20
|
-
# end
|
21
|
-
# seq = -1
|
22
|
-
# show_associations.sort_by(&:seq).each do |ass|
|
23
|
-
# ass.seq = seq += 1
|
24
|
-
# end
|
25
|
-
# self.save
|
26
|
-
# end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def build_default_show_fields
|
31
|
-
model.columns.sort_by(&:seq).each_with_index do |column, i|
|
32
|
-
show_column = show_fields.build
|
33
|
-
show_column.type = ShowColumn.name
|
34
|
-
show_column.seq = i
|
35
|
-
show_column.model_column_id = column.id
|
36
|
-
show_column.display = true
|
37
|
-
end
|
38
|
-
model.attachment_fields.each.with_index(show_fields.size) do |column, i|
|
39
|
-
show_column = show_fields.build
|
40
|
-
show_column.type = ShowAttachmentField.name
|
41
|
-
show_column.seq = i
|
42
|
-
show_column.attachment_field_id = column.id
|
43
|
-
show_column.display = true
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class AttachmentField < ApplicationRecord
|
3
|
-
self.table_name = name.gsub('Infold::', '').underscore.pluralize
|
4
|
-
|
5
|
-
belongs_to :model
|
6
|
-
has_many :search_result_attachment_fields, dependent: :destroy
|
7
|
-
has_many :form_attachment_fields, dependent: :destroy
|
8
|
-
has_many :show_attachment_fields, dependent: :destroy
|
9
|
-
has_many :form_association_attachment_fields, dependent: :destroy
|
10
|
-
has_many :show_association_attachment_fields, dependent: :destroy
|
11
|
-
|
12
|
-
enum kind: { image: 1, file: 2 }, _prefix: true
|
13
|
-
enum thumbnail: { none: 0, fill: 1, fit: 2 }, _prefix: true
|
14
|
-
|
15
|
-
after_initialize do
|
16
|
-
set_default unless persisted?
|
17
|
-
end
|
18
|
-
|
19
|
-
validates :name, presence: true
|
20
|
-
validates :kind, presence: true
|
21
|
-
validates :thumb_width, presence: true, unless: :thumbnail_none?
|
22
|
-
validates :thumb_height, presence: true, unless: :thumbnail_none?
|
23
|
-
|
24
|
-
def locale_or_name
|
25
|
-
locale.presence || name
|
26
|
-
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def set_default
|
31
|
-
self.kind ||= :image
|
32
|
-
self.thumbnail ||= :none if kind_image?
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
data/app/models/infold/build.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
|
3
|
-
module Infold
|
4
|
-
class Build
|
5
|
-
|
6
|
-
def generate_models
|
7
|
-
Rails::Generators.invoke('infold:model', ['-1'])
|
8
|
-
sleep 0.1
|
9
|
-
direct_model_ids = App.all.pluck(:model_id)
|
10
|
-
association_model_ids = Model.where(id: direct_model_ids).includes(:child_model_associations, :parent_model_associations).
|
11
|
-
map{|m| [ m.child_model_associations.pluck(:model_id), m.parent_model_associations.pluck(:parent_model_id)] }.flatten.uniq
|
12
|
-
# association先の更にassociationまでを対象にする
|
13
|
-
over_association_model_ids = Model.where(id: association_model_ids).includes(:child_model_associations, :parent_model_associations).
|
14
|
-
map{|m| [ m.child_model_associations.pluck(:model_id), m.parent_model_associations.pluck(:parent_model_id)] }.flatten.uniq
|
15
|
-
Model.where(id: (direct_model_ids + association_model_ids + over_association_model_ids).uniq).each do |model|
|
16
|
-
Rails::Generators.invoke('infold:model', [model.id.to_s], destination_root: Rails.root)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def generate_apps
|
21
|
-
Rails::Generators.invoke('infold:app', ['-1'])
|
22
|
-
sleep 0.1
|
23
|
-
App.all.each do |app|
|
24
|
-
Rails::Generators.invoke('infold:app', [app.id.to_s], destination_root: Rails.root)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def generate_project
|
29
|
-
Rails::Generators.invoke('infold:project', ['-1'])
|
30
|
-
sleep 0.1
|
31
|
-
Rails::Generators.invoke('infold:project', ['1'], destination_root: Rails.root)
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class CsvColumn < ApplicationRecord
|
3
|
-
self.table_name = name.gsub('Infold::', '').underscore.pluralize
|
4
|
-
|
5
|
-
belongs_to :app_view, class_name: AppViewIndex.name
|
6
|
-
belongs_to :model_column, optional: true
|
7
|
-
delegate :model, :model_association, to: :model_column
|
8
|
-
end
|
9
|
-
end
|
data/app/models/infold/enum.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class Enum < ApplicationRecord
|
3
|
-
self.table_name = name.gsub('Infold::', '').underscore.pluralize
|
4
|
-
|
5
|
-
belongs_to :model_column
|
6
|
-
|
7
|
-
enum color: { white: 0, light: 1, blue: 2, purple: 3, red: 4, orange: 5, green: 6, secondary: 7, dark: 8 }, _prefix: true
|
8
|
-
|
9
|
-
# validates :key, presence: true, uniqueness: { scope: :model_column }, ruby_code: true
|
10
|
-
validates :value, presence: true
|
11
|
-
end
|
12
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class FormAssociation < FormField
|
3
|
-
belongs_to :model_association
|
4
|
-
has_many :form_association_fields, dependent: :destroy
|
5
|
-
has_many :form_association_columns
|
6
|
-
has_many :form_association_attachment_fields
|
7
|
-
|
8
|
-
accepts_nested_attributes_for :form_association_fields, allow_destroy: true
|
9
|
-
|
10
|
-
delegate :limit, :has_name, :belongs_name, :required?, :model, to: :model_association
|
11
|
-
|
12
|
-
before_create :build_default_form_association_fields
|
13
|
-
|
14
|
-
def save_with_associations
|
15
|
-
seq = -1
|
16
|
-
form_association_fields.sort_by(&:seq).each do |column|
|
17
|
-
column.seq = seq += 1
|
18
|
-
end
|
19
|
-
self.save
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def build_default_form_association_fields
|
25
|
-
model_association.model.columns.sort_by(&:seq).each_with_index do |column, i|
|
26
|
-
next if column.is_foreign_key? && column == model_association.foreign_key_column
|
27
|
-
form_field = form_association_columns.build
|
28
|
-
form_field.seq = i
|
29
|
-
form_field.model_column_id = column.id
|
30
|
-
form_field.form_kind = form_field.enable_form_kinds&.first[1]
|
31
|
-
form_field.display = !column.is_primary_key? && !column.is_timestamp_field?
|
32
|
-
end
|
33
|
-
model_association.model.attachment_fields.each.with_index(form_association_columns.size) do |attachment_field, i|
|
34
|
-
form_field = form_association_attachment_fields.build
|
35
|
-
form_field.seq = i
|
36
|
-
form_field.attachment_field_id = attachment_field.id
|
37
|
-
form_field.display = true
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class MenuItem < ApplicationRecord
|
3
|
-
self.table_name = name.gsub('Infold::', '').underscore.pluralize
|
4
|
-
|
5
|
-
belongs_to :project
|
6
|
-
belongs_to :app, optional: true
|
7
|
-
belongs_to :directory, class_name: MenuItem.name, foreign_key: :directory_id, optional: true
|
8
|
-
has_many :menu_apps, class_name: MenuItem.name, foreign_key: :directory_id, dependent: :nullify
|
9
|
-
|
10
|
-
accepts_nested_attributes_for :menu_apps, allow_destroy: true
|
11
|
-
|
12
|
-
enum kind: { app: 1, directory: 2 }, _prefix: true
|
13
|
-
|
14
|
-
validates :name, presence: true, if: :name_required?
|
15
|
-
validate :check_menu_apps
|
16
|
-
|
17
|
-
def layer
|
18
|
-
kind_directory? || directory.blank? ? 1 : 2
|
19
|
-
end
|
20
|
-
|
21
|
-
def layer1?
|
22
|
-
layer == 1
|
23
|
-
end
|
24
|
-
|
25
|
-
def layer2?
|
26
|
-
layer == 2
|
27
|
-
end
|
28
|
-
|
29
|
-
private
|
30
|
-
|
31
|
-
def name_required?
|
32
|
-
kind_directory? && (persisted? || menu_apps.present?)
|
33
|
-
end
|
34
|
-
|
35
|
-
def check_menu_apps
|
36
|
-
if apps_required? && project.menu_items.select{ |i| i.kind_app? && i.directory == self }.blank?
|
37
|
-
errors.add(:menu_apps, 'を設定してください')
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def apps_required?
|
42
|
-
kind_directory? && persisted? && name.present?
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
data/app/models/infold/model.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class Model < ApplicationRecord
|
3
|
-
self.table_name = name.gsub('Infold::', '').underscore.pluralize
|
4
|
-
|
5
|
-
belongs_to :pk_column, class_name: ModelColumn.name, optional: true
|
6
|
-
belongs_to :create_timestamp_column, class_name: ModelColumn.name, optional: true
|
7
|
-
belongs_to :update_timestamp_column, class_name: ModelColumn.name, optional: true
|
8
|
-
belongs_to :label_column, class_name: ModelColumn.name, optional: true
|
9
|
-
|
10
|
-
has_many :columns, class_name: ModelColumn.name, dependent: :destroy
|
11
|
-
has_many :associations, class_name: ModelAssociation.name, dependent: :destroy
|
12
|
-
has_many :child_model_associations, class_name: ModelAssociation.name, foreign_key: 'parent_model_id', dependent: :destroy
|
13
|
-
has_many :child_models, through: :child_model_associations, source: :model
|
14
|
-
has_many :parent_model_associations, class_name: ModelAssociation.name, foreign_key: 'model_id'
|
15
|
-
has_many :parent_models, through: :parent_model_associations, source: :parent_model
|
16
|
-
has_many :apps, dependent: :destroy
|
17
|
-
has_many :attachment_fields, dependent: :destroy
|
18
|
-
|
19
|
-
accepts_nested_attributes_for :columns, allow_destroy: true
|
20
|
-
accepts_nested_attributes_for :associations, allow_destroy: true
|
21
|
-
|
22
|
-
def self_and_association_models
|
23
|
-
order = "CASE WHEN id = #{id} THEN 0 ELSE id END"
|
24
|
-
self.class.where(id: [id] + child_model_associations.map(&:model_id)).order(Arel.sql(order))
|
25
|
-
end
|
26
|
-
|
27
|
-
def locale_or_name
|
28
|
-
locale.presence || name
|
29
|
-
end
|
30
|
-
|
31
|
-
def name_pluralize
|
32
|
-
name.to_s.underscore.pluralize
|
33
|
-
end
|
34
|
-
|
35
|
-
def set_name_from_table_name
|
36
|
-
self.name = table_name&.singularize&.camelize
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class ModelAssociation < ApplicationRecord
|
3
|
-
self.table_name = name.gsub('Infold::', '').underscore.pluralize
|
4
|
-
|
5
|
-
belongs_to :model
|
6
|
-
belongs_to :model_column
|
7
|
-
belongs_to :parent_model, class_name: Model.name, optional: true
|
8
|
-
|
9
|
-
has_many :show_associations, dependent: :destroy
|
10
|
-
has_many :form_associations, dependent: :destroy
|
11
|
-
|
12
|
-
delegate :name, to: :parent_model, prefix: true
|
13
|
-
|
14
|
-
before_validation :set_model_id
|
15
|
-
|
16
|
-
enum dependent: { destroy: 1, delete_all: 2, nullify: 3 }, _prefix: true
|
17
|
-
enum has_kind: { one: 1, many: 2 }, _prefix: true
|
18
|
-
enum dependent_kind: { destroy: 1, delete_all: 2, nullify: 3, restrict_with_error: 4 }, _prefix: true
|
19
|
-
|
20
|
-
validates :parent_model_id, presence: true
|
21
|
-
validates :has_kind, presence: true
|
22
|
-
validates :dependent_kind, presence: true
|
23
|
-
|
24
|
-
def has_name
|
25
|
-
_name = model.name.underscore
|
26
|
-
has_kind_one? ? _name.singularize : _name.pluralize
|
27
|
-
end
|
28
|
-
|
29
|
-
def belongs_name
|
30
|
-
parent_model.name.underscore.singularize
|
31
|
-
end
|
32
|
-
|
33
|
-
def locale_or_has_name
|
34
|
-
locale.presence || has_name
|
35
|
-
end
|
36
|
-
|
37
|
-
def primary_key_column
|
38
|
-
parent_model.pk_column
|
39
|
-
end
|
40
|
-
|
41
|
-
def foreign_key_column
|
42
|
-
model_column
|
43
|
-
end
|
44
|
-
|
45
|
-
private
|
46
|
-
|
47
|
-
def set_model_id
|
48
|
-
self.model = model_column.model
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
@@ -1,127 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class ModelColumn < ApplicationRecord
|
3
|
-
self.table_name = name.gsub('Infold::', '').underscore.pluralize
|
4
|
-
|
5
|
-
belongs_to :model
|
6
|
-
|
7
|
-
has_one :model_association, dependent: :destroy
|
8
|
-
|
9
|
-
has_many :search_conditions, dependent: :destroy
|
10
|
-
has_many :search_result_columns, dependent: :destroy
|
11
|
-
has_many :csv_columns, dependent: :destroy
|
12
|
-
has_many :show_columns, dependent: :destroy
|
13
|
-
has_many :show_association_columns, dependent: :destroy
|
14
|
-
has_many :form_columns, dependent: :destroy
|
15
|
-
has_many :form_association_columns, dependent: :destroy
|
16
|
-
has_many :enums, dependent: :destroy
|
17
|
-
|
18
|
-
accepts_nested_attributes_for :model_association, allow_destroy: true
|
19
|
-
accepts_nested_attributes_for :enums, allow_destroy: true, reject_if: :all_blank
|
20
|
-
|
21
|
-
with_options unless: -> { validation_context == :detail } do |v|
|
22
|
-
v.validates :kind, presence: true
|
23
|
-
v.validates :enums, length: { minimum: 1, message: 'を設定してください' }, if: :kind_enum?
|
24
|
-
v.validates :model_association, presence: { message: 'を設定してください' }, if: :kind_reference?
|
25
|
-
end
|
26
|
-
|
27
|
-
with_options on: :detail do |v|
|
28
|
-
v.validates :minimum_length, allow_blank: true, numericality: { only_integer: true, greater_than_or_equal_to: 0 }
|
29
|
-
v.validates :maximum_length, allow_blank: true, numericality: { only_integer: true, greater_than: 0 }
|
30
|
-
v.validates :minimum_value, allow_blank: true, numericality: { only_integer: true }
|
31
|
-
v.validates :maximum_value, allow_blank: true, numericality: { only_integer: true }
|
32
|
-
v.validate :check_value_range
|
33
|
-
v.validate :check_enums
|
34
|
-
end
|
35
|
-
|
36
|
-
enum kind: {
|
37
|
-
string: 1,
|
38
|
-
number: 2,
|
39
|
-
date: 3,
|
40
|
-
datetime: 4,
|
41
|
-
boolean: 6,
|
42
|
-
enum: 7,
|
43
|
-
reference: 8,
|
44
|
-
}, _prefix: true
|
45
|
-
enum number_kind: { integer: 1, float: 2 }, _prefix: true
|
46
|
-
enum unit_position: { prefix: 1, suffix: 2 }, _prefix: true
|
47
|
-
enum not_null: { none: 0, app: 1, db: 2 }, _prefix: true
|
48
|
-
enum unique: { none: 0, app: 1, db: 2 }, _prefix: true
|
49
|
-
|
50
|
-
def is_foreign_key?
|
51
|
-
kind_reference?
|
52
|
-
end
|
53
|
-
|
54
|
-
def is_primary_key?
|
55
|
-
model.pk_column == self
|
56
|
-
end
|
57
|
-
|
58
|
-
def is_timestamp_field?
|
59
|
-
self == model.create_timestamp_column || self == model.update_timestamp_column
|
60
|
-
end
|
61
|
-
|
62
|
-
def locale_or_name_with_foreign_key
|
63
|
-
model_association&.locale.presence || locale_or_name
|
64
|
-
end
|
65
|
-
|
66
|
-
def name_with_foreign_key
|
67
|
-
if is_foreign_key?
|
68
|
-
association_label_name = model_association.parent_model.label_column&.name
|
69
|
-
"#{name} (#{model_association.belongs_name}.#{association_label_name || 'id'})"
|
70
|
-
else
|
71
|
-
name
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
def not_null?
|
76
|
-
not_null_app? || not_null_db?
|
77
|
-
end
|
78
|
-
|
79
|
-
def required_validate?
|
80
|
-
not_null? && !kind_boolean? && !is_primary_key? && !is_timestamp_field?
|
81
|
-
end
|
82
|
-
|
83
|
-
def unique?
|
84
|
-
unique_app? || unique_db?
|
85
|
-
end
|
86
|
-
|
87
|
-
def view_form_default_display?
|
88
|
-
!is_primary_key? && self != model.create_timestamp_column && self != model.update_timestamp_column
|
89
|
-
end
|
90
|
-
|
91
|
-
def locale_or_name
|
92
|
-
locale.presence || name
|
93
|
-
end
|
94
|
-
|
95
|
-
def has_detail_setting?
|
96
|
-
!%w(date datetime boolean).include?(kind)
|
97
|
-
end
|
98
|
-
|
99
|
-
private
|
100
|
-
|
101
|
-
def check_value_range
|
102
|
-
if kind_number?
|
103
|
-
if errors[:minimum_value].blank? && errors[:maximum_value].blank? &&
|
104
|
-
minimum_value.present? && maximum_value.present? &&
|
105
|
-
minimum_value > maximum_value
|
106
|
-
errors.add(:minimum_value, "は#{self.class.human_attribute_name(:maximum_value)}以下にしてください")
|
107
|
-
end
|
108
|
-
elsif kind_string?
|
109
|
-
if errors[:minimum_length].blank? && errors[:maximum_length].blank? &&
|
110
|
-
minimum_length.present? && maximum_length.present? &&
|
111
|
-
minimum_length > maximum_length
|
112
|
-
errors.add(:minimum_length, "は#{self.class.human_attribute_name(:maximum_length)}以下にしてください")
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
def check_enums
|
118
|
-
enums&.group_by(&:value)&.each do |duplicate_value, _enum|
|
119
|
-
errors.add(:base, "Valueが重複しています。value:#{duplicate_value}") if duplicate_value.present? && _enum.size > 1
|
120
|
-
end
|
121
|
-
|
122
|
-
enums&.group_by(&:key)&.each do |duplicate_key, _enum|
|
123
|
-
errors.add(:base, "Codeが重複しています。value:#{duplicate_key}") if duplicate_key.present? && _enum.size > 1
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
127
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Infold
|
2
|
-
class Project < ApplicationRecord
|
3
|
-
self.table_name = name.gsub('Infold::', '').underscore.pluralize
|
4
|
-
|
5
|
-
has_many :menu_items, dependent: :destroy
|
6
|
-
accepts_nested_attributes_for :menu_items, allow_destroy: true
|
7
|
-
|
8
|
-
def create_menu_items
|
9
|
-
seq = menu_items.size
|
10
|
-
App.all.where.not(id: menu_items.map(&:app_id).compact).each_with_index do |app, i|
|
11
|
-
menu_items.create!(kind: :app, app: app, directory: nil, seq: seq += i)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def root_app
|
16
|
-
menu = menu_items.select(&:layer1?).sort_by(&:seq).first
|
17
|
-
if menu.kind_directory?
|
18
|
-
menu = menu.menu_apps.sort_by(&:seq).first
|
19
|
-
end
|
20
|
-
menu&.app
|
21
|
-
end
|
22
|
-
|
23
|
-
def destroy_blank_menu_directory
|
24
|
-
menu_items.select { |menu| menu.kind_directory? && menu.menu_apps.blank? }.each do |blank_dir|
|
25
|
-
blank_dir.destroy
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|