ext_form 0.1.4
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 +7 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +31 -0
- data/app/assets/javascripts/ext_form/application.js +78 -0
- data/app/assets/javascripts/typeahead.js +1159 -0
- data/app/assets/stylesheets/ext_form/application.scss +15 -0
- data/app/assets/stylesheets/ext_form/application_bootstrap.css.scss +197 -0
- data/app/assets/stylesheets/ext_form/base.css.scss +32 -0
- data/config/routes.rb +2 -0
- data/lib/ext_form/builders/form_builder_base.rb +224 -0
- data/lib/ext_form/builders.rb +10 -0
- data/lib/ext_form/components/input_addons.rb +34 -0
- data/lib/ext_form/components.rb +7 -0
- data/lib/ext_form/engine.rb +14 -0
- data/lib/ext_form/helpers/form_helper.rb +222 -0
- data/lib/ext_form/helpers/form_tag_helper.rb +60 -0
- data/lib/ext_form/helpers/tags/auto_complete.rb +25 -0
- data/lib/ext_form/helpers/tags/collection_select.rb +19 -0
- data/lib/ext_form/helpers/tags/dt_picker.rb +27 -0
- data/lib/ext_form/helpers/tags/grouped_collection_select.rb +19 -0
- data/lib/ext_form/helpers/tags.rb +12 -0
- data/lib/ext_form/inputs/auto_complete.rb +11 -0
- data/lib/ext_form/inputs/base_mixin.rb +11 -0
- data/lib/ext_form/inputs/bootstrap_inputs_mixin.rb +13 -0
- data/lib/ext_form/inputs/collection_select.rb +15 -0
- data/lib/ext_form/inputs/dt_picker.rb +20 -0
- data/lib/ext_form/inputs/grouped_collection_select.rb +13 -0
- data/lib/ext_form/inputs.rb +15 -0
- data/lib/ext_form/layouts/base_layout.rb +82 -0
- data/lib/ext_form/layouts/bootstrap_layout.rb +23 -0
- data/lib/ext_form/layouts/default_layout.rb +29 -0
- data/lib/ext_form/layouts.rb +11 -0
- data/lib/ext_form/version.rb +3 -0
- data/lib/ext_form/wrappers/many_mixin.rb +18 -0
- data/lib/ext_form/wrappers/mixin.rb +49 -0
- data/lib/ext_form/wrappers/single_mixin.rb +18 -0
- data/lib/ext_form/wrappers.rb +11 -0
- data/lib/ext_form.rb +52 -0
- data/lib/generators/ext_form/USAGE +3 -0
- data/lib/generators/ext_form/install_generator.rb +113 -0
- data/lib/generators/ext_form/templates/README +15 -0
- data/lib/generators/ext_form/templates/_form.html.erb +12 -0
- data/lib/generators/ext_form/templates/_form.html.haml +12 -0
- data/lib/generators/ext_form/templates/_form.html.slim +12 -0
- data/lib/generators/ext_form/templates/config/initializers/z_ext_form.rb +70 -0
- data/lib/generators/ext_form/templates/config/initializers/z_ext_form_bootstrap.rb +59 -0
- data/lib/generators/ext_form/templates/config/locales/ext_form.en.yml +2 -0
- data/lib/tasks/ext_form_tasks.rake +4 -0
- data/spec/builders/ext_form_builder_bs_spec.rb +78 -0
- data/spec/builders/ext_form_builder_spec.rb +100 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +27 -0
- data/spec/dummy/app/assets/javascripts/order_headers.js +2 -0
- data/spec/dummy/app/assets/javascripts/order_lines.js +2 -0
- data/spec/dummy/app/assets/javascripts/shipments.js +2 -0
- data/spec/dummy/app/assets/stylesheets/application.css.scss +17 -0
- data/spec/dummy/app/assets/stylesheets/order_headers.css +4 -0
- data/spec/dummy/app/assets/stylesheets/order_lines.css +4 -0
- data/spec/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/spec/dummy/app/assets/stylesheets/shipments.css +4 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/controllers/order_headers_controller.rb +62 -0
- data/spec/dummy/app/controllers/order_lines_controller.rb +58 -0
- data/spec/dummy/app/controllers/shipments_controller.rb +58 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/helpers/order_headers_helper.rb +2 -0
- data/spec/dummy/app/helpers/order_lines_helper.rb +2 -0
- data/spec/dummy/app/helpers/shipments_helper.rb +2 -0
- data/spec/dummy/app/models/order_header.rb +9 -0
- data/spec/dummy/app/models/order_line.rb +6 -0
- data/spec/dummy/app/models/order_type.rb +2 -0
- data/spec/dummy/app/models/shipment.rb +3 -0
- data/spec/dummy/app/views/layouts/application.html.erb +17 -0
- data/spec/dummy/app/views/order_headers/_form.html.erb +53 -0
- data/spec/dummy/app/views/order_headers/edit.html.erb +3 -0
- data/spec/dummy/app/views/order_headers/index.html.erb +29 -0
- data/spec/dummy/app/views/order_headers/new.html.erb +5 -0
- data/spec/dummy/app/views/order_headers/show.html.erb +14 -0
- data/spec/dummy/app/views/order_lines/_form.html.erb +33 -0
- data/spec/dummy/app/views/order_lines/edit.html.erb +6 -0
- data/spec/dummy/app/views/order_lines/index.html.erb +33 -0
- data/spec/dummy/app/views/order_lines/new.html.erb +5 -0
- data/spec/dummy/app/views/order_lines/show.html.erb +24 -0
- data/spec/dummy/app/views/shipments/_form.html.erb +37 -0
- data/spec/dummy/app/views/shipments/edit.html.erb +6 -0
- data/spec/dummy/app/views/shipments/index.html.erb +35 -0
- data/spec/dummy/app/views/shipments/new.html.erb +5 -0
- data/spec/dummy/app/views/shipments/show.html.erb +29 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config/application.rb +28 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +29 -0
- data/spec/dummy/config/environments/production.rb +80 -0
- data/spec/dummy/config/environments/test.rb +36 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +12 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/simple_form.rb +145 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/initializers/z_ext_form.rb +70 -0
- data/spec/dummy/config/initializers/z_ext_form_bootstrap.rb +59 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/locales/ext_form.en.yml +26 -0
- data/spec/dummy/config/locales/simple_form.en.yml +26 -0
- data/spec/dummy/config/routes.rb +10 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20130822091938_create_order_headers.rb +10 -0
- data/spec/dummy/db/migrate/20130822092035_create_order_lines.rb +12 -0
- data/spec/dummy/db/migrate/20130822092136_create_shipments.rb +13 -0
- data/spec/dummy/db/migrate/20130913025429_add_order_date_to_order_headers.rb +5 -0
- data/spec/dummy/db/migrate/20130913082503_add_bill_to_customer_to_order_headers.rb +7 -0
- data/spec/dummy/db/migrate/20130914101200_create_order_types.rb +9 -0
- data/spec/dummy/db/migrate/20130914101232_add_order_type_id_to_order_headers.rb +5 -0
- data/spec/dummy/db/schema.rb +64 -0
- data/spec/dummy/db/seeds.rb +3 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/lib/templates/erb/scaffold/_form.html.erb +12 -0
- data/spec/dummy/lib/templates/slim/scaffold/_form.html.slim +12 -0
- data/spec/dummy/log/development.log +30851 -0
- data/spec/dummy/log/test.log +8888 -0
- data/spec/dummy/public/404.html +58 -0
- data/spec/dummy/public/422.html +58 -0
- data/spec/dummy/public/500.html +57 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/javascripts/nested_form.js +120 -0
- data/spec/dummy/spec/factories/order_types.rb +7 -0
- data/spec/dummy/tmp/cache/assets/development/sass/0be6a8d566db001f251fcb3d330b625bdcde50b0/select2.css.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/0f754ef2ba2bade74c446fd0dc8d2c538b2ee4ba/bootstrap-datetimepicker.cssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/43e39f3776203b555edf4427cbeca13a3e80bf4e/application.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/43e39f3776203b555edf4427cbeca13a3e80bf4e/application_bootstrap.css.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/43e39f3776203b555edf4427cbeca13a3e80bf4e/base.css.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/95877ca3fb97306427e6a8c3200a77fa726c2979/bootstrap-responsive.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/95877ca3fb97306427e6a8c3200a77fa726c2979/bootstrap.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_accordion.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_alerts.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_breadcrumbs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_button-groups.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_buttons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_carousel.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_close.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_code.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_component-animations.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_dropdowns.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_forms.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_grid.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_hero-unit.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_labels-badges.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_layouts.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_media.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_mixins.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_modals.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_navbar.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_navs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_pager.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_pagination.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_popovers.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_progress-bars.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_reset.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-1200px-min.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-767px-max.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-768px-979px.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-navbar.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-utilities.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_scaffolding.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_sprites.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_tables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_thumbnails.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_tooltip.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_type.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_utilities.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_variables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_wells.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/bootstrap.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/responsive.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/d8cdc3e1698ff449e2e9ab35ca24a00a8d724935/application.css.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/d8cdc3e1698ff449e2e9ab35ca24a00a8d724935/scaffolds.css.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/d8cdc3e1698ff449e2e9ab35ca24a00a8d724935/test_scaflds.css.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/00171108bd75279e653c1ffb5b4650b8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/05029f2e1c68338ac88af8005acab3ca +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/08318fdb5f5b783c22442a6aeb73730e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/08f00d4a1bac197d382c2269a184f9e4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0b6c06f6bcf535567c19f70f7aa5144d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0b9076b70e22dd7976e589018cdf65ca +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0e8461b429e0249b8dc74d457fcc17d3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0f074c0ea10680a3ba979bbd1d2ff756 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0f5877c1fb159c1a5f1602569a0cdde2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0f8cf3c40768cf2ab52c613a7efc30cb +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/10fcfbe6ebae11a40c8eac41939a1b9a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/126ebaa8ad57e48772c035caac2ed632 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13c6f1c4603d5736407a6b5f7889a056 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13f8355b45d7c46c05177fef3b7f6283 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/157d2eedb817dece09700185cd4101e3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/16039dc737e753516f4399dcd38d6de7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/19699f0bd9bbacb926aa665d057d7dcc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2013f24e3245656ca1e5890649a0b023 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/26bd44751cc9640593dc583d6be8410d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/272f5096d49f011351e9f4780c313741 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/32ef1c9e94a83350bad5e887c416c5b6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/367865b241c60ef0e9a85c9f9910f7d4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/37984c7de5e7d22002a378234035e51c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4201264f7710f91dc1c389a2497eda7d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4843087e4f4577291013564353d9be98 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/490b125495df24b66caa52d70f8aa64d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4c9470e682578ab5fc183f98fae5f42d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4e81b6b6eb1e1462b1eea2caee6bfcc6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/518c73ecd762cbf6d85a3ae693e08d01 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/56401bbafd08927b55572c8ef7e88883 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5865993e4fa54b7f6f0186ebaffff12b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/59f25755df49e4db5915553e3d2ef412 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5a48dae6fe5b78da3082b1347022ee01 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5f62321f43b55988b6cb95367556d822 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/61fab520b090f94084c9a7ffc402ad3c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/653178c2e0c5d134069e58196f7bf28e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/661c74f15a009d482fdad85f811e6f8e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6668d3ee30c1513097c95bcc0a27696a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/690b40f9a765547b660ac81cbd5ed378 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6bdff36d9dbeb7ae3e6802b482a04668 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6eaa97256ef2d58208ab91c60707acdb +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6fa120c855c745c904828746e82b2b07 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/715840f8887bc1e70ef3cc18b429cbc8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/754b02ea2ed1c85b7756de6452f4aeb7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/764fdaef2f219fafc8db0923a56c23a3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/78fdc1d9add39ed3fdcbf7cae3df4190 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7a7280187e89f6c4256217ea0fe1e787 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7b2d3e5e25b0901f78fbf8c9cb9570c4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/84eb79ed8e43cf9414e6ecfd38c5a19f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/87172f2d7a412d1fe87d7775d589b883 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/871fe15e38e1cf354ac33b4faf796fd3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/875849c72f053c7a7674e9fd72ee2cd4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/87a55c890eedab0cc5d1e3f2c2b2da4b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/88741eb863751c5d5adb82282f6df5cd +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8ab512c9b33ac90e699b73469d71f061 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8cc360b254f1bff91753f954e7591a9b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8ec990d84f5dedd35001397078415137 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9181401ef96921b28b49d4ec48261a4d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9409af55392b7f03edb441d5b53b931c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/94e46c0e76c8f392586af76b0f6c6e93 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/968566581a35be861fa4f8fed757dcae +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/96f8ac0ca90b5e46fb770d1695a77b2d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9b51a99e821d1802733dceac6764d18f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9d8681a4ce63f327a868f759096673e8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a004f4ca229f6e9e761d2c86226e04f4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a0a671e624f03533a82b1ec899bf3b21 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a0f669003bef02490064a16cfdb916fe +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a411f643e05384fdb860f193e1dbe8f8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a4abc5f3fc1bfe41be3470836766d110 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a82a869a86d5cbcbb101123eb6448f0c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a97cd428904e5968d05f7d3a5fd50f85 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/aa87366fe7cd02f1be035665580cf066 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ada9a8c9882e963e6b98cdcaf20af34f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/af326fcf9b4f69ff70d3610d0696b585 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/af5ab48d2f371513fb609f8bdec3ac42 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b245fe00601bf4b4c2bd6ce9286a53dc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b51a3679ccee92d6e374deac3359cc69 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/baed877d386dc374496dcd62af36bc5b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bc6f2f1da483ac27102f9412ee294dbf +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bcca522c6302f184f12fe0e8a7d7e71a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bd3936370d0f952ada5774e2230046ed +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c04a836e22ec09c7eae6eae9349efee3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c13fc73ceafa45876a901b3e775b83ae +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c2816385f6bc1d4ef24315437e9353d3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c4e265ba144f19c1f646f9d8271c0702 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d4c36568a5145e04bfbbefd37fecdde7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d63d1c956772687b2dd2c9b43533e795 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d75dd624db3682fd4fed243c5f6f2e69 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d7d3659361bd25606f9efaba128bf4c1 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d9fa58e1385bfb03f2ede65c90f36d70 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/da8e37f2c9e3ea8f443def70515d1df0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/dcff3d1cd16d434b55e09399722e68be +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e18f7bb0b671acf59ad700724547a456 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e459168835a5f27b832ace20874f7c10 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e618b87b000e1c8d606542b2a7b4936f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e6df0f40358bfc2568038d9cf71859a5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ebe8c427280f71fed250770f7d5e0af8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/edefa48dfc6b66b08d68e6438d1344b4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ee70ec49c833625099b94820cbfaf238 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/eea8d1c182d93d92a52f24a90d5c92af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/efe3e82d4fe0ca8a3427678a9cd1d070 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f024e5fd86a61ac8399d564f8202bbc8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f12542794a06e22b1dbd97250d49deb1 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f34759266a45010771006dcbb608d179 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f466a3fe42e17653acb9980dae9be11a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f86d0394f2c6bebf4ad490ce4a37d754 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fd5a31651e4fc8cf4a3199e8db16d53e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fd71e811fb40f0e16e339622af4c771f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fd843e12fcdd9539f8e3d7384a19bb31 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/19699f0bd9bbacb926aa665d057d7dcc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/59f25755df49e4db5915553e3d2ef412 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/764fdaef2f219fafc8db0923a56c23a3 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/87172f2d7a412d1fe87d7775d589b883 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/88741eb863751c5d5adb82282f6df5cd +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/96f8ac0ca90b5e46fb770d1695a77b2d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a4abc5f3fc1bfe41be3470836766d110 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/af326fcf9b4f69ff70d3610d0696b585 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d63d1c956772687b2dd2c9b43533e795 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d7d3659361bd25606f9efaba128bf4c1 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f024e5fd86a61ac8399d564f8202bbc8 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fd5a31651e4fc8cf4a3199e8db16d53e +0 -0
- data/spec/ext_form_spec.rb +12 -0
- data/spec/factories/order_header_factory.rb +22 -0
- data/spec/helpers/dt_picker_spec.rb +66 -0
- data/spec/helpers/dt_picker_tag_spec.rb +65 -0
- data/spec/helpers/form_helper_bs_spec.rb +102 -0
- data/spec/helpers/form_helper_spec.rb +109 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/support/form_helper.rb +21 -0
- metadata +787 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
FactoryGirl.define do
|
|
2
|
+
sequence :num do |n|
|
|
3
|
+
"OO#{n}"
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
factory :order_header do
|
|
7
|
+
order_number { generate(:num) }
|
|
8
|
+
customer_name { "cust_#{generate(:num)}" }
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
factory :order_line do
|
|
12
|
+
item_name 'test item'
|
|
13
|
+
quantity 100
|
|
14
|
+
price 10
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
factory :shipment do
|
|
18
|
+
shipping_date { Time.now }
|
|
19
|
+
shipping_quantity 1
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'action_view'
|
|
3
|
+
|
|
4
|
+
describe 'dt_picker spec:' do
|
|
5
|
+
|
|
6
|
+
before do
|
|
7
|
+
ExtForm.setup do |e|
|
|
8
|
+
e.layout = 'BootstrapLayout'
|
|
9
|
+
e.default_wrapper = :ext_bootstrap
|
|
10
|
+
e.default_layout = {
|
|
11
|
+
layout: '1:1',
|
|
12
|
+
spacing: '1',
|
|
13
|
+
label_width: '2',
|
|
14
|
+
max_width: '12'
|
|
15
|
+
}
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
let(:order_header) { FactoryGirl.create(:order_header) }
|
|
20
|
+
|
|
21
|
+
context 'date options' do
|
|
22
|
+
|
|
23
|
+
subject {
|
|
24
|
+
helper.ext_form_for(order_header) do |f|
|
|
25
|
+
f.input :order_date
|
|
26
|
+
end
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
it 'order_date should render date_picker' do
|
|
30
|
+
expect(subject).to match /<input.*data-format="yyyy-MM-dd" data-language="zh-CN" data-pick-time="false"/
|
|
31
|
+
expect(subject).to match /<span class="add-on"><i data-date-icon="icon-calendar" data-time-icon="icon-time"/
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
context 'time options' do
|
|
37
|
+
|
|
38
|
+
subject {
|
|
39
|
+
helper.ext_form_for(order_header) do |f|
|
|
40
|
+
f.input :order_number, as: :time_picker, input_html: {data: {start_date: '2012-2-2', end_date: '2012-3-3'}}
|
|
41
|
+
end
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
it 'order_date should render time_picker' do
|
|
45
|
+
expect(subject).to match /<input.*data-format="hh:mm:ss" data-language="zh-CN" data-pick-date="false"/
|
|
46
|
+
expect(subject).to match /data-start-date="2012-2-2"/
|
|
47
|
+
expect(subject).to match /data-end-date="2012-3-3"/
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
context 'datetime options' do
|
|
53
|
+
|
|
54
|
+
subject {
|
|
55
|
+
helper.ext_form_for(order_header) do |f|
|
|
56
|
+
f.input :order_number, as: :dt_picker
|
|
57
|
+
end
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
it 'order_date should render dt_picker' do
|
|
61
|
+
expect(subject).to match /<input.*data-format="yyyy-MM-dd hh:mm:ss" data-language="zh-CN"/
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'action_view'
|
|
3
|
+
|
|
4
|
+
describe 'dt_picker_tag spec:' do
|
|
5
|
+
|
|
6
|
+
before do
|
|
7
|
+
ExtForm.setup do |e|
|
|
8
|
+
e.layout = 'BootstrapLayout'
|
|
9
|
+
e.default_wrapper = :ext_bootstrap
|
|
10
|
+
e.default_layout = {
|
|
11
|
+
layout: '1:1',
|
|
12
|
+
spacing: '1',
|
|
13
|
+
label_width: '2',
|
|
14
|
+
max_width: '12'
|
|
15
|
+
}
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
let(:order_header) { FactoryGirl.create(:order_header) }
|
|
20
|
+
|
|
21
|
+
context 'date options' do
|
|
22
|
+
|
|
23
|
+
subject {
|
|
24
|
+
helper.dt_picker_tag('test', '2013-3-3', data: {pick_time: false, format: 'yyyy-MM-dd', language: 'zh-CN'})
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
it 'order_date should render date_picker' do
|
|
28
|
+
expect(subject).to match /<input.*data-format="yyyy-MM-dd" data-language="zh-CN" data-pick-time="false"/
|
|
29
|
+
expect(subject).to match /<span class="add-on"><i data-date-icon="icon-calendar" data-time-icon="icon-time"/
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
context 'time options' do
|
|
35
|
+
|
|
36
|
+
subject {
|
|
37
|
+
helper.dt_picker_tag('test', '2013-3-3',
|
|
38
|
+
data: {pick_date: false,
|
|
39
|
+
format: 'hh:mm:ss',
|
|
40
|
+
language: 'zh-CN',
|
|
41
|
+
start_date: '2012-2-2',
|
|
42
|
+
end_date: '2012-3-3'})
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
it 'order_date should render time_picker' do
|
|
46
|
+
expect(subject).to match /<input.*data-format="hh:mm:ss" data-language="zh-CN" data-pick-date="false"/
|
|
47
|
+
expect(subject).to match /data-start-date="2012-2-2"/
|
|
48
|
+
expect(subject).to match /data-end-date="2012-3-3"/
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
context 'datetime options' do
|
|
54
|
+
|
|
55
|
+
subject {
|
|
56
|
+
helper.dt_picker_tag('test', '2013-3-3', data: {format: 'yyyy-MM-dd hh:mm:ss', language: 'zh-CN'})
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
it 'order_date should render dt_picker' do
|
|
60
|
+
expect(subject).to match /<input.*data-format="yyyy-MM-dd hh:mm:ss" data-language="zh-CN"/
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'action_view'
|
|
3
|
+
|
|
4
|
+
describe 'form_helper_bs spec:' do
|
|
5
|
+
|
|
6
|
+
before do
|
|
7
|
+
ExtForm.setup do |e|
|
|
8
|
+
e.layout = 'BootstrapLayout'
|
|
9
|
+
e.default_wrapper = :ext_bootstrap
|
|
10
|
+
e.default_layout = {
|
|
11
|
+
layout: '1:1',
|
|
12
|
+
spacing: '1',
|
|
13
|
+
label_width: '2',
|
|
14
|
+
max_width: '12'
|
|
15
|
+
}
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
let(:order_header) { FactoryGirl.create(:order_header) }
|
|
20
|
+
|
|
21
|
+
context 'no options' do
|
|
22
|
+
|
|
23
|
+
subject {
|
|
24
|
+
helper.ext_form_for(order_header) do |f|
|
|
25
|
+
f.input :order_number
|
|
26
|
+
end
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
it 'ext_form_for should render all-inputs' do
|
|
30
|
+
expect(subject).to match /<div class="left-spacing span1">/
|
|
31
|
+
expect(subject).to match /<div class="all-inputs span10">/
|
|
32
|
+
expect(subject).to match /<div class="right-spacing span1">/
|
|
33
|
+
|
|
34
|
+
expect(subject).to match /<div class="span2"><label/
|
|
35
|
+
expect(subject).to match /<div class="span3"><input class="span3/
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
context 'correct options' do
|
|
41
|
+
|
|
42
|
+
subject {
|
|
43
|
+
helper.ext_form_for(order_header, l: bs_correct_options) do |f|
|
|
44
|
+
f.input :order_number
|
|
45
|
+
end
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
it 'ext_form_for should render all-inputs' do
|
|
49
|
+
expect(subject).not_to match /<div class="left-spacing span0">/
|
|
50
|
+
expect(subject).to match /<div class="all-inputs span12">/
|
|
51
|
+
expect(subject).not_to match /<div class="right-spacing span0">/
|
|
52
|
+
|
|
53
|
+
expect(subject).to match /<div class="span1"><label/
|
|
54
|
+
expect(subject).to match /<div class="span3"><input class="span3/
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
context 'error options' do
|
|
60
|
+
|
|
61
|
+
subject {
|
|
62
|
+
helper.ext_form_for(order_header, l: bs_error_options) do |f|
|
|
63
|
+
f.input :order_number
|
|
64
|
+
end
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
it 'ext_form_for should render all-inputs' do
|
|
68
|
+
expect(subject).to match /<div class="left-spacing span1">/
|
|
69
|
+
expect(subject).to match /<div class="all-inputs span10">/
|
|
70
|
+
expect(subject).to match /<div class="right-spacing span1">/
|
|
71
|
+
|
|
72
|
+
expect(subject).to match /<div class="span2"><label/
|
|
73
|
+
expect(subject).to match /<div class="span3"><input class="span3/
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
context 'swap layout' do
|
|
79
|
+
|
|
80
|
+
subject {
|
|
81
|
+
helper.ext_form_for(order_header, l: error_options) do |f|
|
|
82
|
+
[f.input(:order_number),
|
|
83
|
+
f.input(:customer_name),
|
|
84
|
+
|
|
85
|
+
f.inputs('1') do |ff|
|
|
86
|
+
|
|
87
|
+
[ff.input(:customer_name),
|
|
88
|
+
ff.input(:customer_name)].join.html_safe
|
|
89
|
+
end,
|
|
90
|
+
|
|
91
|
+
f.input(:order_number),
|
|
92
|
+
f.input(:customer_name)].join.html_safe
|
|
93
|
+
end
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
it 'ext_form_for and swap_layout should render all-inputs correctly' do
|
|
97
|
+
expect(subject).to match /<div class="span3"><input class="span3/
|
|
98
|
+
expect(subject).to match /<div class="span8"><input class="span8/
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'action_view'
|
|
3
|
+
|
|
4
|
+
describe 'form_helper spec:' do
|
|
5
|
+
|
|
6
|
+
before do
|
|
7
|
+
ExtForm.setup do |e|
|
|
8
|
+
e.layout = 'DefaultLayout'
|
|
9
|
+
e.default_wrapper = :ext
|
|
10
|
+
e.default_layout = {
|
|
11
|
+
layout: '1:1',
|
|
12
|
+
spacing: '10',
|
|
13
|
+
label_width: '15',
|
|
14
|
+
max_width: '100',
|
|
15
|
+
measure: '%'
|
|
16
|
+
}
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
let(:order_header) { FactoryGirl.create(:order_header) }
|
|
21
|
+
|
|
22
|
+
context 'no options' do
|
|
23
|
+
|
|
24
|
+
subject {
|
|
25
|
+
helper.ext_form_for(order_header) do |f|
|
|
26
|
+
f.input :order_number
|
|
27
|
+
end
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
it 'ext_form_for should render all-inputs' do
|
|
31
|
+
expect(subject).to match /<div class="all-inputs" style="padding-left: 10%; padding-right: 10%; width: 80\.0%;">/
|
|
32
|
+
expect(subject).to match /<div style="width: 15%; float: left;"><label/
|
|
33
|
+
expect(subject).to match /<div style="width: 25\.0%; float: left;"><input class="input-with-layout/
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
context 'percentage options' do
|
|
39
|
+
|
|
40
|
+
subject {
|
|
41
|
+
helper.ext_form_for(order_header, l: percentage_options) do |f|
|
|
42
|
+
f.input :order_number
|
|
43
|
+
end
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
it 'ext_form_for should render all-inputs' do
|
|
47
|
+
expect(subject).to match /<div class="all-inputs" style="padding-left: 5%; padding-right: 5%; width: 90\.0%;">/
|
|
48
|
+
expect(subject).to match /<div style="width: 5%; float: left;"><label/
|
|
49
|
+
expect(subject).to match /<div style="width: 25\.0%; float: left;"><input class="input-with-layout/
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
context 'px options' do
|
|
55
|
+
|
|
56
|
+
subject {
|
|
57
|
+
helper.ext_form_for(order_header, l: px_options) do |f|
|
|
58
|
+
f.input :order_number
|
|
59
|
+
end
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
it 'ext_form_for should render all-inputs' do
|
|
63
|
+
expect(subject).to match /<div class="all-inputs" style="padding-left: 30px; padding-right: 30px; width: 840\.0px;">/
|
|
64
|
+
expect(subject).to match /<div style="width: 160px; float: left;"><label/
|
|
65
|
+
expect(subject).to match /<div style="width: 120\.0px; float: left;"><input class="input-with-layout/
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
context 'error options' do
|
|
71
|
+
|
|
72
|
+
subject {
|
|
73
|
+
helper.ext_form_for(order_header, l: error_options) do |f|
|
|
74
|
+
f.input :order_number
|
|
75
|
+
end
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
it 'ext_form_for should render all-inputs' do
|
|
79
|
+
expect(subject).to match /<div class="all-inputs" style="padding-left: 10%; padding-right: 10%; width: 80\.0%;">/
|
|
80
|
+
expect(subject).to match /<div style="width: 15%; float: left;"><label/
|
|
81
|
+
expect(subject).to match /<div style="width: 25\.0%; float: left;"><input class="input-with-layout/
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
context 'swap layout' do
|
|
87
|
+
|
|
88
|
+
subject {
|
|
89
|
+
helper.ext_form_for(order_header, l: error_options) do |f|
|
|
90
|
+
[f.input(:order_number),
|
|
91
|
+
f.input(:customer_name),
|
|
92
|
+
|
|
93
|
+
f.inputs('1') do |ff|
|
|
94
|
+
|
|
95
|
+
[ff.input(:customer_name),
|
|
96
|
+
ff.input(:customer_name)].join.html_safe
|
|
97
|
+
end,
|
|
98
|
+
|
|
99
|
+
f.input(:order_number),
|
|
100
|
+
f.input(:customer_name)].join.html_safe
|
|
101
|
+
end
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
it 'ext_form_for and swap_layout should render all-inputs correctly' do
|
|
105
|
+
expect(subject).to match /<div style="width: 25\.0%; float: left;"><input class="input-with-layout/
|
|
106
|
+
expect(subject).to match /<div style="width: 65\.0%; float: left;"><input class="input-with-layout/
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
ENV['RAILS_ENV'] ||= 'test'
|
|
2
|
+
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
|
3
|
+
require 'rspec/rails'
|
|
4
|
+
require 'rspec/autorun'
|
|
5
|
+
require 'factory_girl_rails'
|
|
6
|
+
Rails.backtrace_cleaner.remove_silencers!
|
|
7
|
+
# Load support files
|
|
8
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
|
9
|
+
RSpec.configure do |config|
|
|
10
|
+
config.mock_with :rspec
|
|
11
|
+
config.use_transactional_fixtures = true
|
|
12
|
+
config.infer_base_class_for_anonymous_controllers = false
|
|
13
|
+
config.order = "random"
|
|
14
|
+
config.include FormHelper
|
|
15
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module FormHelper
|
|
2
|
+
def percentage_options
|
|
3
|
+
{spacing: '5', layout: '1:1:1', label_width: '5', max_width: '100', measure: '%'}
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def px_options
|
|
7
|
+
{spacing: '30', layout: '1:1:1', label_width: '160', max_width: '900', measure: 'px'}
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def error_options
|
|
11
|
+
{spacing: '30t', layout: '1:1:1:1', label_width: '160per', max_width: '980px', measure: 'no'}
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def bs_correct_options
|
|
15
|
+
{spacing: '0', layout: '1:1:1', label_width: '1', max_width: '12'}
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def bs_error_options
|
|
19
|
+
{spacing: '30t', layout: '1:1:1:1', label_width: '13', max_width: '15'}
|
|
20
|
+
end
|
|
21
|
+
end
|