comfy_bootstrap_form 4.0.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +0 -2
- data/.travis.yml +2 -0
- data/Gemfile +3 -2
- data/LICENSE.md +1 -1
- data/README.md +32 -9
- data/bootstrap_form.gemspec +6 -3
- data/lib/bootstrap_form/version.rb +1 -1
- data/lib/bootstrap_form/view_helper.rb +30 -9
- metadata +5 -60
- data/demo/README.md +0 -18
- data/demo/Rakefile +0 -6
- data/demo/app/controllers/application_controller.rb +0 -2
- data/demo/app/controllers/bootstrap_controller.rb +0 -18
- data/demo/app/models/application_record.rb +0 -3
- data/demo/app/models/user.rb +0 -3
- data/demo/app/views/bootstrap/form.html.erb +0 -127
- data/demo/app/views/layouts/application.html.erb +0 -43
- data/demo/bin/bundle +0 -3
- data/demo/bin/rails +0 -4
- data/demo/bin/rake +0 -4
- data/demo/bin/setup +0 -36
- data/demo/bin/update +0 -31
- data/demo/bin/yarn +0 -11
- data/demo/config/application.rb +0 -24
- data/demo/config/boot.rb +0 -5
- data/demo/config/database.yml +0 -21
- data/demo/config/environment.rb +0 -5
- data/demo/config/environments/development.rb +0 -60
- data/demo/config/environments/test.rb +0 -48
- data/demo/config/initializers/application_controller_renderer.rb +0 -8
- data/demo/config/initializers/assets.rb +0 -14
- data/demo/config/initializers/backtrace_silencers.rb +0 -7
- data/demo/config/initializers/cookies_serializer.rb +0 -5
- data/demo/config/initializers/filter_parameter_logging.rb +0 -4
- data/demo/config/initializers/inflections.rb +0 -16
- data/demo/config/initializers/mime_types.rb +0 -4
- data/demo/config/initializers/wrap_parameters.rb +0 -14
- data/demo/config/locales/en.yml +0 -33
- data/demo/config/puma.rb +0 -56
- data/demo/config/routes.rb +0 -5
- data/demo/config/spring.rb +0 -6
- data/demo/config/storage.yml +0 -35
- data/demo/config.ru +0 -5
- data/demo/db/schema.rb +0 -14
- data/demo/form_preview_horizontal.png +0 -0
- data/demo/form_preview_horizontal_with_errors.png +0 -0
- data/demo/form_preview_inline.png +0 -0
- data/demo/form_preview_vertical.png +0 -0
- data/demo/log/.keep +0 -0
- data/demo/package.json +0 -5
- data/demo/public/favicon.ico +0 -0
- data/test/bootstrap_form/bootstrap_options_test.rb +0 -114
- data/test/bootstrap_form/fields_test.rb +0 -304
- data/test/bootstrap_form/fields_with_errors_test.rb +0 -111
- data/test/bootstrap_form/form_builder_test.rb +0 -17
- data/test/bootstrap_form/horizontal_form_test.rb +0 -160
- data/test/bootstrap_form/inline_form_test.rb +0 -68
- data/test/bootstrap_form/input_group_test.rb +0 -56
- data/test/bootstrap_form/radios_and_checkboxes_test.rb +0 -207
- data/test/bootstrap_form/submit_test.rb +0 -59
- data/test/bootstrap_form/view_helpers_test.rb +0 -99
- data/test/gemfiles/5.2.gemfile +0 -14
- data/test/test_helper.rb +0 -48
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e1131134a470480c0db98c57088a09d3dc5875cdde69e2886c4ad58e56f85982
         | 
| 4 | 
            +
              data.tar.gz: eb630d1a2474b38262f778ec6a77dcb6adcfb359f15ac11064e32aa164efbd26
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 3159663372d2ce7266d3145ade1a927c7195e99df1954c4a535bfd402ffeaf2155df31277887d09dff6b561b3167226f7baab64605661e7d8a09950f12c65647
         | 
| 7 | 
            +
              data.tar.gz: de46cca64ea6c26c322336d544a6d4ac0c719067ae64d0b5d3dcbd77acff0570a1aa2440d343b0f87ba38abf611e7ea98c7d14cc3aa442a09b2444e880ef9cdc
         | 
    
        data/.rubocop.yml
    CHANGED
    
    
    
        data/.travis.yml
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    | @@ -3,16 +3,17 @@ source "http://rubygems.org" | |
| 3 3 | 
             
            gemspec
         | 
| 4 4 |  | 
| 5 5 | 
             
            # Uncomment and change rails version for testing purposes
         | 
| 6 | 
            -
            # gem "rails", "~> 5. | 
| 6 | 
            +
            # gem "rails", "~> 5.1.0"
         | 
| 7 7 |  | 
| 8 8 | 
             
            group :development do
         | 
| 9 | 
            -
              gem "rubocop",  | 
| 9 | 
            +
              gem "rubocop", require: false
         | 
| 10 10 | 
             
            end
         | 
| 11 11 |  | 
| 12 12 | 
             
            group :test do
         | 
| 13 13 | 
             
              gem "coveralls", require: false
         | 
| 14 14 | 
             
              gem "diffy"
         | 
| 15 15 | 
             
              gem "equivalent-xml"
         | 
| 16 | 
            +
              # gem "minitest", "~> 5.10.3"
         | 
| 16 17 | 
             
              gem "minitest"
         | 
| 17 18 | 
             
              gem "sqlite3"
         | 
| 18 19 | 
             
            end
         | 
    
        data/LICENSE.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -13,7 +13,7 @@ | |
| 13 13 |  | 
| 14 14 | 
             
            ## Requirements
         | 
| 15 15 |  | 
| 16 | 
            -
            - Rails 5. | 
| 16 | 
            +
            - Rails 5.0+
         | 
| 17 17 | 
             
            - Bootstrap 4.0.0+
         | 
| 18 18 |  | 
| 19 19 | 
             
            ## Installation
         | 
| @@ -68,6 +68,32 @@ Feel free to take a look at the [Demo App](/demo) to see how everything renders. | |
| 68 68 | 
             
            Specifically see [form.html.erb](/demo/app/views/bootstrap/form.html.erb) template
         | 
| 69 69 | 
             
            for all kinds of different form configurations you can have.
         | 
| 70 70 |  | 
| 71 | 
            +
            ## Form helpers
         | 
| 72 | 
            +
             | 
| 73 | 
            +
            #### boostrap_form_with
         | 
| 74 | 
            +
             | 
| 75 | 
            +
            Wrapper around `form_with` helper that's available in Rails 5.1 and above.
         | 
| 76 | 
            +
            Here's an example:
         | 
| 77 | 
            +
             | 
| 78 | 
            +
            ```erb
         | 
| 79 | 
            +
            <%= bootstrap_form_with model: @person, scope: :user do |form| %>
         | 
| 80 | 
            +
              <%= form.email_field :email %>
         | 
| 81 | 
            +
              <%= form.submit %>
         | 
| 82 | 
            +
            <% end %>
         | 
| 83 | 
            +
            ```
         | 
| 84 | 
            +
             | 
| 85 | 
            +
            #### bootstrap_form_for
         | 
| 86 | 
            +
             | 
| 87 | 
            +
            Wrapper around `form_for` helper that's available in all Rails 5 versions.
         | 
| 88 | 
            +
            Here's an example:
         | 
| 89 | 
            +
             | 
| 90 | 
            +
            ```erb
         | 
| 91 | 
            +
            <%= bootstrap_form_with @person, as: :user do |form| %>
         | 
| 92 | 
            +
              <%= form.email_field :email %>
         | 
| 93 | 
            +
              <%= form.submit %>
         | 
| 94 | 
            +
            <% end %>
         | 
| 95 | 
            +
            ```
         | 
| 96 | 
            +
             | 
| 71 97 | 
             
            ## Supported form field helpers
         | 
| 72 98 |  | 
| 73 99 | 
             
            This gem wraps most of the default form field helpers. Here's the current list:
         | 
| @@ -262,14 +288,11 @@ If you want to use something like a button, or other html content do this: | |
| 262 288 |  | 
| 263 289 | 
             
            ### Gotchas
         | 
| 264 290 |  | 
| 265 | 
            -
             | 
| 266 | 
            -
             | 
| 267 | 
            -
             | 
| 268 | 
            -
             | 
| 269 | 
            -
             | 
| 270 | 
            -
              display: block
         | 
| 271 | 
            -
            }
         | 
| 272 | 
            -
            ```
         | 
| 291 | 
            +
            - In Rails 5.1 `form_with` does not generate ids for inputs. If you want them
         | 
| 292 | 
            +
              you'll need to override this method: [actionview/lib/action_view/helpers/form_helper.rb#L745](https://github.com/rails/rails/blob/bdc581616b760d1e2be3795c6f0f3ab4b1e125a5/actionview/lib/action_view/helpers/form_helper.rb#L745)
         | 
| 293 | 
            +
            - For inline radio buttons and check boxes you need to add custom css for error
         | 
| 294 | 
            +
              messages show up. See: [twbs/bootstrap/issues/25540](https://github.com/twbs/bootstrap/issues/25540)
         | 
| 295 | 
            +
              For now adding `.invalid-feeback { display: block }` will work.
         | 
| 273 296 |  | 
| 274 297 | 
             
            ## Screenshots
         | 
| 275 298 |  | 
    
        data/bootstrap_form.gemspec
    CHANGED
    
    | @@ -6,7 +6,7 @@ require "bootstrap_form/version" | |
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name        = "comfy_bootstrap_form"
         | 
| 8 8 | 
             
              s.version     = BootstrapForm::VERSION
         | 
| 9 | 
            -
              s.authors     = ["Oleg Khabarov" | 
| 9 | 
            +
              s.authors     = ["Oleg Khabarov"]
         | 
| 10 10 | 
             
              s.email       = ["oleg@khabarov.ca"]
         | 
| 11 11 | 
             
              s.homepage    = "https://github.com/comfy/comfy-bootstrap-form"
         | 
| 12 12 | 
             
              s.summary     = "Rails form builder that makes it easy to style forms using "\
         | 
| @@ -15,11 +15,14 @@ Gem::Specification.new do |s| | |
| 15 15 | 
             
                              "easy to create beautiful-looking forms using Bootstrap 4"
         | 
| 16 16 | 
             
              s.license     = "MIT"
         | 
| 17 17 |  | 
| 18 | 
            -
              s.files | 
| 18 | 
            +
              s.files = `git ls-files -z`.split("\x0").reject do |f|
         | 
| 19 | 
            +
                f.match(%r{^(test|demo)/})
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
             | 
| 19 22 | 
             
              s.bindir        = "exe"
         | 
| 20 23 | 
             
              s.require_paths = ["lib"]
         | 
| 21 24 |  | 
| 22 25 | 
             
              s.required_ruby_version = ">= 2.2.2"
         | 
| 23 26 |  | 
| 24 | 
            -
              s.add_dependency "rails", ">= 5. | 
| 27 | 
            +
              s.add_dependency "rails", ">= 5.0.0"
         | 
| 25 28 | 
             
            end
         | 
| @@ -3,26 +3,47 @@ module BootstrapForm | |
| 3 3 |  | 
| 4 4 | 
             
                # Wrapper for `form_with`. Passing in Bootstrap form builder.
         | 
| 5 5 | 
             
                def bootstrap_form_with(**options, &block)
         | 
| 6 | 
            -
                   | 
| 7 | 
            -
                    css_classes       = options.delete(:class) || ""
         | 
| 8 | 
            -
                    bootstrap_options = options[:bootstrap] || {}
         | 
| 6 | 
            +
                  bootstrap_options = options[:bootstrap] || {}
         | 
| 9 7 |  | 
| 10 | 
            -
             | 
| 11 | 
            -
                      css_classes << " form-inline"
         | 
| 12 | 
            -
                    end
         | 
| 8 | 
            +
                  css_classes = options.delete(:class)
         | 
| 13 9 |  | 
| 14 | 
            -
             | 
| 15 | 
            -
                     | 
| 10 | 
            +
                  if bootstrap_options[:layout].to_s == "inline"
         | 
| 11 | 
            +
                    css_classes = [css_classes, "form-inline"].compact.join(" ")
         | 
| 12 | 
            +
                  end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  form_options = options.reverse_merge(builder: BootstrapForm::FormBuilder)
         | 
| 15 | 
            +
                  form_options.merge!(class: css_classes) unless css_classes.blank?
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                  supress_form_field_errors do
         | 
| 16 18 | 
             
                    form_with(**form_options, &block)
         | 
| 17 19 | 
             
                  end
         | 
| 18 20 | 
             
                end
         | 
| 19 21 |  | 
| 22 | 
            +
                def bootstrap_form_for(record, options = {}, &block)
         | 
| 23 | 
            +
                  options[:html] ||= {}
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                  bootstrap_options = options[:bootstrap] || {}
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                  css_classes = options[:html].delete(:class)
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                  if bootstrap_options[:layout].to_s == "inline"
         | 
| 30 | 
            +
                    css_classes = [css_classes, "form-inline"].compact.join(" ")
         | 
| 31 | 
            +
                  end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                  options.reverse_merge!(builder: BootstrapForm::FormBuilder)
         | 
| 34 | 
            +
                  options[:html].merge!(class: css_classes) unless css_classes.blank?
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                  supress_form_field_errors do
         | 
| 37 | 
            +
                    form_for(record, options, &block)
         | 
| 38 | 
            +
                  end
         | 
| 39 | 
            +
                end
         | 
| 40 | 
            +
             | 
| 20 41 | 
             
              private
         | 
| 21 42 |  | 
| 22 43 | 
             
                # By default, Rails will wrap form fields with extra html to indicate
         | 
| 23 44 | 
             
                # inputs with errors. We need to handle this in the builder to render
         | 
| 24 45 | 
             
                # Bootstrap specific markup. So we need to bypass this.
         | 
| 25 | 
            -
                def  | 
| 46 | 
            +
                def supress_form_field_errors
         | 
| 26 47 | 
             
                  original_proc = ActionView::Base.field_error_proc
         | 
| 27 48 | 
             
                  ActionView::Base.field_error_proc = proc { |input, _instance| input }
         | 
| 28 49 | 
             
                  yield
         | 
    
        metadata
    CHANGED
    
    | @@ -1,15 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: comfy_bootstrap_form
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 4.0. | 
| 4 | 
            +
              version: 4.0.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Oleg Khabarov
         | 
| 8 | 
            -
            - Stephen Potenza
         | 
| 9 8 | 
             
            autorequire: 
         | 
| 10 9 | 
             
            bindir: exe
         | 
| 11 10 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2018-02- | 
| 11 | 
            +
            date: 2018-02-09 00:00:00.000000000 Z
         | 
| 13 12 | 
             
            dependencies:
         | 
| 14 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 14 | 
             
              name: rails
         | 
| @@ -17,14 +16,14 @@ dependencies: | |
| 17 16 | 
             
                requirements:
         | 
| 18 17 | 
             
                - - ">="
         | 
| 19 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            -
                    version: 5. | 
| 19 | 
            +
                    version: 5.0.0
         | 
| 21 20 | 
             
              type: :runtime
         | 
| 22 21 | 
             
              prerelease: false
         | 
| 23 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 24 23 | 
             
                requirements:
         | 
| 25 24 | 
             
                - - ">="
         | 
| 26 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 27 | 
            -
                    version: 5. | 
| 26 | 
            +
                    version: 5.0.0
         | 
| 28 27 | 
             
            description: bootstrap_form is a rails form builder that makes it super easy to create
         | 
| 29 28 | 
             
              beautiful-looking forms using Bootstrap 4
         | 
| 30 29 | 
             
            email:
         | 
| @@ -42,66 +41,12 @@ files: | |
| 42 41 | 
             
            - README.md
         | 
| 43 42 | 
             
            - Rakefile
         | 
| 44 43 | 
             
            - bootstrap_form.gemspec
         | 
| 45 | 
            -
            - demo/README.md
         | 
| 46 | 
            -
            - demo/Rakefile
         | 
| 47 | 
            -
            - demo/app/controllers/application_controller.rb
         | 
| 48 | 
            -
            - demo/app/controllers/bootstrap_controller.rb
         | 
| 49 | 
            -
            - demo/app/models/application_record.rb
         | 
| 50 | 
            -
            - demo/app/models/user.rb
         | 
| 51 | 
            -
            - demo/app/views/bootstrap/form.html.erb
         | 
| 52 | 
            -
            - demo/app/views/layouts/application.html.erb
         | 
| 53 | 
            -
            - demo/bin/bundle
         | 
| 54 | 
            -
            - demo/bin/rails
         | 
| 55 | 
            -
            - demo/bin/rake
         | 
| 56 | 
            -
            - demo/bin/setup
         | 
| 57 | 
            -
            - demo/bin/update
         | 
| 58 | 
            -
            - demo/bin/yarn
         | 
| 59 | 
            -
            - demo/config.ru
         | 
| 60 | 
            -
            - demo/config/application.rb
         | 
| 61 | 
            -
            - demo/config/boot.rb
         | 
| 62 | 
            -
            - demo/config/database.yml
         | 
| 63 | 
            -
            - demo/config/environment.rb
         | 
| 64 | 
            -
            - demo/config/environments/development.rb
         | 
| 65 | 
            -
            - demo/config/environments/test.rb
         | 
| 66 | 
            -
            - demo/config/initializers/application_controller_renderer.rb
         | 
| 67 | 
            -
            - demo/config/initializers/assets.rb
         | 
| 68 | 
            -
            - demo/config/initializers/backtrace_silencers.rb
         | 
| 69 | 
            -
            - demo/config/initializers/cookies_serializer.rb
         | 
| 70 | 
            -
            - demo/config/initializers/filter_parameter_logging.rb
         | 
| 71 | 
            -
            - demo/config/initializers/inflections.rb
         | 
| 72 | 
            -
            - demo/config/initializers/mime_types.rb
         | 
| 73 | 
            -
            - demo/config/initializers/wrap_parameters.rb
         | 
| 74 | 
            -
            - demo/config/locales/en.yml
         | 
| 75 | 
            -
            - demo/config/puma.rb
         | 
| 76 | 
            -
            - demo/config/routes.rb
         | 
| 77 | 
            -
            - demo/config/spring.rb
         | 
| 78 | 
            -
            - demo/config/storage.yml
         | 
| 79 | 
            -
            - demo/db/schema.rb
         | 
| 80 | 
            -
            - demo/form_preview_horizontal.png
         | 
| 81 | 
            -
            - demo/form_preview_horizontal_with_errors.png
         | 
| 82 | 
            -
            - demo/form_preview_inline.png
         | 
| 83 | 
            -
            - demo/form_preview_vertical.png
         | 
| 84 | 
            -
            - demo/log/.keep
         | 
| 85 | 
            -
            - demo/package.json
         | 
| 86 | 
            -
            - demo/public/favicon.ico
         | 
| 87 44 | 
             
            - lib/bootstrap_form.rb
         | 
| 88 45 | 
             
            - lib/bootstrap_form/bootstrap_options.rb
         | 
| 89 46 | 
             
            - lib/bootstrap_form/form_builder.rb
         | 
| 90 47 | 
             
            - lib/bootstrap_form/version.rb
         | 
| 91 48 | 
             
            - lib/bootstrap_form/view_helper.rb
         | 
| 92 49 | 
             
            - lib/comfy_bootstrap_form.rb
         | 
| 93 | 
            -
            - test/bootstrap_form/bootstrap_options_test.rb
         | 
| 94 | 
            -
            - test/bootstrap_form/fields_test.rb
         | 
| 95 | 
            -
            - test/bootstrap_form/fields_with_errors_test.rb
         | 
| 96 | 
            -
            - test/bootstrap_form/form_builder_test.rb
         | 
| 97 | 
            -
            - test/bootstrap_form/horizontal_form_test.rb
         | 
| 98 | 
            -
            - test/bootstrap_form/inline_form_test.rb
         | 
| 99 | 
            -
            - test/bootstrap_form/input_group_test.rb
         | 
| 100 | 
            -
            - test/bootstrap_form/radios_and_checkboxes_test.rb
         | 
| 101 | 
            -
            - test/bootstrap_form/submit_test.rb
         | 
| 102 | 
            -
            - test/bootstrap_form/view_helpers_test.rb
         | 
| 103 | 
            -
            - test/gemfiles/5.2.gemfile
         | 
| 104 | 
            -
            - test/test_helper.rb
         | 
| 105 50 | 
             
            homepage: https://github.com/comfy/comfy-bootstrap-form
         | 
| 106 51 | 
             
            licenses:
         | 
| 107 52 | 
             
            - MIT
         | 
| @@ -122,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 122 67 | 
             
                  version: '0'
         | 
| 123 68 | 
             
            requirements: []
         | 
| 124 69 | 
             
            rubyforge_project: 
         | 
| 125 | 
            -
            rubygems_version: 2.7. | 
| 70 | 
            +
            rubygems_version: 2.7.5
         | 
| 126 71 | 
             
            signing_key: 
         | 
| 127 72 | 
             
            specification_version: 4
         | 
| 128 73 | 
             
            summary: Rails form builder that makes it easy to style forms using Bootstrap 4
         | 
    
        data/demo/README.md
    DELETED
    
    | @@ -1,18 +0,0 @@ | |
| 1 | 
            -
            # DEMO APP (Rails 5.2)
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            ### Usage
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            - `rake db:schema:load`
         | 
| 6 | 
            -
            - `rails s`
         | 
| 7 | 
            -
            - Navigate to http://localhost:3000
         | 
| 8 | 
            -
            - Start changing stuff in [/demo/app/views/bootstrap/form.html.erb](/demo/app/views/bootstrap/form.html.erb)
         | 
| 9 | 
            -
             | 
| 10 | 
            -
            ### Following files were added or changed:
         | 
| 11 | 
            -
             | 
| 12 | 
            -
            - db/schema.rb
         | 
| 13 | 
            -
            - config/{application, routes, boot}.rb
         | 
| 14 | 
            -
            - config/environments/{development, test}.rb
         | 
| 15 | 
            -
            - app/models/user.rb
         | 
| 16 | 
            -
            - app/controllers/bootstrap_controller.rb
         | 
| 17 | 
            -
            - app/views/layouts/application.html.erb
         | 
| 18 | 
            -
            - app/views/bootstrap/form.html.erb
         | 
    
        data/demo/Rakefile
    DELETED
    
    
| @@ -1,18 +0,0 @@ | |
| 1 | 
            -
            class BootstrapController < ApplicationController
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              def form
         | 
| 4 | 
            -
                @user = User.new(test: "Lorem ipsum")
         | 
| 5 | 
            -
             | 
| 6 | 
            -
                @user_with_error = User.new
         | 
| 7 | 
            -
                @user_with_error.errors.add(:username, "Username already taken")
         | 
| 8 | 
            -
                @user_with_error.errors.add(:email, "Invalid email address")
         | 
| 9 | 
            -
                @user_with_error.errors.add(:password, "Another user already uses this password")
         | 
| 10 | 
            -
                @user_with_error.errors.add(:color, "Red is the worst color. Choose another.")
         | 
| 11 | 
            -
                @user_with_error.errors.add(:bio, "Too much information")
         | 
| 12 | 
            -
                @user_with_error.errors.add(:locale, "It's fine, but here's another error")
         | 
| 13 | 
            -
                @user_with_error.errors.add(:terms, "You never agreed to Terms and Conditions")
         | 
| 14 | 
            -
                @user_with_error.errors.add(:test, "Generic error message")
         | 
| 15 | 
            -
             | 
| 16 | 
            -
              end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            end
         | 
    
        data/demo/app/models/user.rb
    DELETED
    
    
| @@ -1,127 +0,0 @@ | |
| 1 | 
            -
            <h3>Horizontal Form</h3>
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            <%= bootstrap_form_with model: @user, scope: "user_a", url: "/", bootstrap: {layout: :horizontal} do |form| %>
         | 
| 4 | 
            -
              <%= form.email_field :username, placeholder: "AzureDiamond", bootstrap: {prepend: "@"} %>
         | 
| 5 | 
            -
              <%= form.email_field :email, placeholder: "you@example.com" %>
         | 
| 6 | 
            -
              <%= form.password_field :password, placeholder: "hunter2", bootstrap: {help: "Password should be at least 12 characters long"}  %>
         | 
| 7 | 
            -
              <%= form.collection_radio_buttons :color, ["red", "green", "blue"], :to_s, :titleize, bootstrap: {check_inline: true, help: "Choose your favorite color"} %>
         | 
| 8 | 
            -
              <%= form.text_area :bio, placeholder: "Tell us your life story" %>
         | 
| 9 | 
            -
              <%= form.select :locale, [["English", "en"], ["French", "fr"]], {}, bootstrap: {label: {text: "Language"}} %>
         | 
| 10 | 
            -
              <%= form.check_box :terms, bootstrap: {label: {text: "I agree to Terms and Conditions"}, help: "By clicking Agree you're also acknowledging that Apple may sew your mouth to a ... "} %>
         | 
| 11 | 
            -
              <%= form.primary "Press to Register" do %>
         | 
| 12 | 
            -
                <a href="/" class="btn btn-link">Maybe Later</a>
         | 
| 13 | 
            -
              <% end %>
         | 
| 14 | 
            -
            <% end %>
         | 
| 15 | 
            -
             | 
| 16 | 
            -
            <h3>Horizontal Form With Errors</h3>
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            <%= bootstrap_form_with model: @user_with_error, scope: "user_b", url: "/", bootstrap: {layout: :horizontal} do |form| %>
         | 
| 19 | 
            -
              <%= form.email_field :username, placeholder: "AzureDiamond", bootstrap: {prepend: "@"} %>
         | 
| 20 | 
            -
              <%= form.email_field :email, placeholder: "you@example.com" %>
         | 
| 21 | 
            -
              <%= form.password_field :password, placeholder: "hunter2", bootstrap: {help: "Password should be at least 12 characters long"}  %>
         | 
| 22 | 
            -
              <%= form.collection_radio_buttons :color, ["red", "green", "blue"], :to_s, :titleize, bootstrap: {check_inline: true, help: "Choose your favorite color"} %>
         | 
| 23 | 
            -
              <%= form.text_area :bio, placeholder: "Tell us your life story" %>
         | 
| 24 | 
            -
              <%= form.select :locale, [["English", "en"], ["French", "fr"]], {}, bootstrap: {label: {text: "Language"}} %>
         | 
| 25 | 
            -
              <%= form.check_box :terms, bootstrap: {label: {text: "I agree to Terms and Conditions"}, help: "By clicking Agree you're also acknowledging that Apple may sew your mouth to a ... "} %>
         | 
| 26 | 
            -
              <%= form.primary "Press to Register" do %>
         | 
| 27 | 
            -
                <a href="/" class="btn btn-link">Maybe Later</a>
         | 
| 28 | 
            -
              <% end %>
         | 
| 29 | 
            -
            <% end %>
         | 
| 30 | 
            -
             | 
| 31 | 
            -
            <h3>Inline Form</h3>
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            <%= bootstrap_form_with scope: :login, url: "/", bootstrap: {layout: :inline, label: {hide: true}} do |form| %>
         | 
| 34 | 
            -
              <%= form.email_field :username, placeholder: "Username", bootstrap: {prepend: "@"} %>
         | 
| 35 | 
            -
              <%= form.password_field :password, placeholder: "Password" %>
         | 
| 36 | 
            -
              <%= form.check_box :remember_me %>
         | 
| 37 | 
            -
              <%= form.primary "Sign in", class: "ml-3" %>
         | 
| 38 | 
            -
            <% end %>
         | 
| 39 | 
            -
             | 
| 40 | 
            -
            <div class="row">
         | 
| 41 | 
            -
              <div class="col-6">
         | 
| 42 | 
            -
                <h3>Vertical Form</h3>
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                <%= bootstrap_form_with model: @user, scope: "user_c", url: "/" do |form| %>
         | 
| 45 | 
            -
                  <%= form.email_field :username, placeholder: "AzureDiamond", bootstrap: {prepend: "@"} %>
         | 
| 46 | 
            -
                  <%= form.email_field :email, placeholder: "you@example.com" %>
         | 
| 47 | 
            -
                  <%= form.password_field :password, placeholder: "hunter2", bootstrap: {help: "Password should be at least 12 characters long"}  %>
         | 
| 48 | 
            -
                  <%= form.collection_radio_buttons :color, ["red", "green", "blue"], :to_s, :titleize, bootstrap: {check_inline: true, help: "Choose your favorite color"} %>
         | 
| 49 | 
            -
                  <%= form.text_area :bio, placeholder: "Tell us your life story" %>
         | 
| 50 | 
            -
                  <%= form.select :locale, [["English", "en"], ["French", "fr"]], {}, bootstrap: {label: {text: "Language"}} %>
         | 
| 51 | 
            -
                  <%= form.check_box :terms, bootstrap: {label: {text: "I agree to Terms and Conditions"}, help: "By clicking Agree you're also acknowledging that Apple may sew your mouth to a ... "} %>
         | 
| 52 | 
            -
                  <%= form.primary "Press to Register" do %>
         | 
| 53 | 
            -
                    <a href="/" class="btn btn-link">Maybe Later</a>
         | 
| 54 | 
            -
                  <% end %>
         | 
| 55 | 
            -
                <% end %>
         | 
| 56 | 
            -
              </div>
         | 
| 57 | 
            -
              <div class="col-6">
         | 
| 58 | 
            -
                <h3>With Errors</h3>
         | 
| 59 | 
            -
             | 
| 60 | 
            -
                <%= bootstrap_form_with model: @user_with_error, scope: "user_c", url: "/" do |form| %>
         | 
| 61 | 
            -
                  <%= form.email_field :username, placeholder: "AzureDiamond", bootstrap: {prepend: "@"} %>
         | 
| 62 | 
            -
                  <%= form.email_field :email, placeholder: "you@example.com" %>
         | 
| 63 | 
            -
                  <%= form.password_field :password, placeholder: "hunter2", bootstrap: {help: "Password should be at least 12 characters long"}  %>
         | 
| 64 | 
            -
                  <%= form.collection_radio_buttons :color, ["red", "green", "blue"], :to_s, :titleize, bootstrap: {check_inline: true, help: "Choose your favorite color"} %>
         | 
| 65 | 
            -
                  <%= form.text_area :bio, placeholder: "Tell us your life story" %>
         | 
| 66 | 
            -
                  <%= form.select :locale, [["English", "en"], ["French", "fr"]], {}, bootstrap: {label: {text: "Language"}} %>
         | 
| 67 | 
            -
                  <%= form.check_box :terms, bootstrap: {label: {text: "I agree to Terms and Conditions"}, help: "By clicking Agree you're also acknowledging that Apple may sew your mouth to a ... "} %>
         | 
| 68 | 
            -
                  <%= form.primary "Press to Register" do %>
         | 
| 69 | 
            -
                    <a href="/" class="btn btn-link">Maybe Later</a>
         | 
| 70 | 
            -
                  <% end %>
         | 
| 71 | 
            -
                <% end %>
         | 
| 72 | 
            -
              </div>
         | 
| 73 | 
            -
            </div>
         | 
| 74 | 
            -
             | 
| 75 | 
            -
            <div class="row">
         | 
| 76 | 
            -
              <div class="col-6">
         | 
| 77 | 
            -
                <h3>Checkboxes and Radio buttons</h3>
         | 
| 78 | 
            -
                <% @user.test = "b" %>
         | 
| 79 | 
            -
                <%= bootstrap_form_with model: @user, scope: "user_d", url: "/" do |form| %>
         | 
| 80 | 
            -
                  <%= form.collection_radio_buttons :test, [["a", "Label A"], ["b", "Label B"]], :first, :second %>
         | 
| 81 | 
            -
                  <%= form.collection_check_boxes :test, [["e", "Label E"], ["f", "Label F"]], :first, :second, bootstrap: {help: "help text"} %>
         | 
| 82 | 
            -
                  <%= form.collection_radio_buttons :test, ["u", "v", "w"], :to_s, :to_s, bootstrap: {inline: true, label: {text: "Custom Label"}} %>
         | 
| 83 | 
            -
                  <%= form.collection_check_boxes :test, ["x", "y", "z"], :to_s, :to_s, bootstrap: {inline: true, help: "help text", label: {hide: true}} %>
         | 
| 84 | 
            -
                <% end %>
         | 
| 85 | 
            -
              </div>
         | 
| 86 | 
            -
              <div class="col-6">
         | 
| 87 | 
            -
                <h3>With Errors</h3>
         | 
| 88 | 
            -
                <% @user_with_error.test = "b" %>
         | 
| 89 | 
            -
                <%= bootstrap_form_with model: @user_with_error, scope: "user_e", url: "/" do |form| %>
         | 
| 90 | 
            -
                  <%= form.collection_radio_buttons :test, [["a", "Label A"], ["b", "Label B"]], :first, :second %>
         | 
| 91 | 
            -
                  <%= form.collection_check_boxes :test, [["e", "Label E"], ["f", "Label F"]], :first, :second, bootstrap: {help: "help text"} %>
         | 
| 92 | 
            -
                  <%= form.collection_radio_buttons :test, ["u", "v", "w"], :to_s, :to_s, bootstrap: {inline: true, label: {text: "Custom Label"}} %>
         | 
| 93 | 
            -
                  <%= form.collection_check_boxes :test, ["x", "y", "z"], :to_s, :to_s, bootstrap: {inline: true, help: "help text", label: {hide: true}} %>
         | 
| 94 | 
            -
                <% end %>
         | 
| 95 | 
            -
              </div>
         | 
| 96 | 
            -
            </div>
         | 
| 97 | 
            -
             | 
| 98 | 
            -
            <div class="row">
         | 
| 99 | 
            -
              <div class="col-6">
         | 
| 100 | 
            -
                <h3>Input Group</h3>
         | 
| 101 | 
            -
             | 
| 102 | 
            -
                <%= bootstrap_form_with model: @user, scope: "user_f", url: "/" do |form| %>
         | 
| 103 | 
            -
                  <%= form.email_field :email, placeholder: "Enter Email", bootstrap: {prepend: "Prepend", append: "Append", help: "help text"} %>
         | 
| 104 | 
            -
                  <% prepend_button = capture do %>
         | 
| 105 | 
            -
                    <button class="btn btn-success">Go</button>
         | 
| 106 | 
            -
                  <% end %>
         | 
| 107 | 
            -
                  <% append_button = capture do %>
         | 
| 108 | 
            -
                    <button class="btn btn-danger">Stop</button>
         | 
| 109 | 
            -
                  <% end %>
         | 
| 110 | 
            -
                  <%= form.email_field :email, placeholder: "Enter Email", bootstrap: {label: {hide: true}, prepend: {html: prepend_button}, append: {html: append_button}} %>
         | 
| 111 | 
            -
                <% end %>
         | 
| 112 | 
            -
              </div>
         | 
| 113 | 
            -
              <div class="col-6">
         | 
| 114 | 
            -
                <h3>With Errors</h3>
         | 
| 115 | 
            -
             | 
| 116 | 
            -
                <%= bootstrap_form_with model: @user_with_error, scope: "user_g", url: "/" do |form| %>
         | 
| 117 | 
            -
                  <%= form.email_field :email, placeholder: "Enter Email", bootstrap: {prepend: "Prepend", append: "Append", help: "help text"} %>
         | 
| 118 | 
            -
                  <% prepend_button = capture do %>
         | 
| 119 | 
            -
                    <button class="btn btn-success">Go</button>
         | 
| 120 | 
            -
                  <% end %>
         | 
| 121 | 
            -
                  <% append_button = capture do %>
         | 
| 122 | 
            -
                    <button class="btn btn-danger">Stop</button>
         | 
| 123 | 
            -
                  <% end %>
         | 
| 124 | 
            -
                  <%= form.email_field :email, placeholder: "Enter Email", bootstrap: {label: {hide: true}, prepend: {html: prepend_button}, append: {html: append_button}} %>
         | 
| 125 | 
            -
                <% end %>
         | 
| 126 | 
            -
              <div>
         | 
| 127 | 
            -
            </div>
         |