binda 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/Rakefile +2 -1
  4. data/app/assets/javascripts/binda/dist/binda.bundle.js +75 -75
  5. data/app/assets/stylesheets/binda/settings/common.scss +4 -0
  6. data/app/controllers/binda/application_controller.rb +1 -1
  7. data/app/controllers/binda/boards_controller.rb +73 -0
  8. data/app/controllers/binda/components_controller.rb +18 -44
  9. data/app/controllers/binda/field_groups_controller.rb +36 -24
  10. data/app/controllers/binda/field_settings_controller.rb +5 -5
  11. data/app/controllers/binda/manage/users_controller.rb +2 -9
  12. data/app/controllers/binda/structures_controller.rb +6 -13
  13. data/app/controllers/concerns/binda/default_helpers.rb +226 -0
  14. data/app/controllers/concerns/binda/fieldable_helpers.rb +44 -0
  15. data/app/helpers/binda/boards_helper.rb +13 -0
  16. data/app/helpers/binda/components_helper.rb +0 -5
  17. data/app/helpers/binda/field_settings_helper.rb +1 -1
  18. data/app/models/binda/asset.rb +0 -8
  19. data/app/models/binda/binda.rb +7 -0
  20. data/app/models/binda/binding.rb +4 -4
  21. data/app/models/binda/board.rb +41 -0
  22. data/app/models/binda/category.rb +7 -3
  23. data/app/models/binda/checkbox.rb +1 -3
  24. data/app/models/binda/choice.rb +31 -1
  25. data/app/models/binda/component.rb +7 -22
  26. data/app/models/binda/field_group.rb +13 -7
  27. data/app/models/binda/field_setting.rb +40 -29
  28. data/app/models/binda/gallery.rb +0 -7
  29. data/app/models/binda/radio.rb +1 -1
  30. data/app/models/binda/repeater.rb +13 -20
  31. data/app/models/binda/selection.rb +17 -0
  32. data/app/models/binda/string.rb +4 -0
  33. data/app/models/binda/structure.rb +65 -7
  34. data/app/models/concerns/binda/{component_model_helper.rb → fieldable_associations.rb} +102 -31
  35. data/app/views/binda/boards/edit.html.erb +7 -0
  36. data/app/views/binda/components/edit.html.erb +4 -1
  37. data/app/views/binda/components/index.html.erb +2 -0
  38. data/app/views/binda/components/new.html.erb +1 -1
  39. data/app/views/binda/field_groups/_form_body.html.erb +8 -8
  40. data/app/views/binda/field_groups/_form_item.html.erb +3 -3
  41. data/app/views/binda/field_groups/_form_item_choice.erb +11 -8
  42. data/app/views/binda/field_groups/_form_section.html.erb +5 -5
  43. data/app/views/binda/field_groups/_form_section_repeater.html.erb +3 -3
  44. data/app/views/binda/field_groups/edit.html.erb +1 -1
  45. data/app/views/binda/field_groups/new.html.erb +1 -1
  46. data/app/views/binda/{components → fieldable}/_form_body.html.erb +9 -9
  47. data/app/views/binda/{components → fieldable}/_form_item_asset.html.erb +0 -0
  48. data/app/views/binda/{components → fieldable}/_form_item_date.html.erb +0 -0
  49. data/app/views/binda/{components → fieldable}/_form_item_gallery.html.erb +0 -0
  50. data/app/views/binda/{components → fieldable}/_form_item_new_repeater.html.erb +5 -5
  51. data/app/views/binda/{components → fieldable}/_form_item_repeater.html.erb +8 -9
  52. data/app/views/binda/fieldable/_form_item_selections.html.erb +99 -0
  53. data/app/views/binda/fieldable/_form_item_string.html.erb +19 -0
  54. data/app/views/binda/{components → fieldable}/_form_item_text.html.erb +2 -11
  55. data/app/views/binda/fieldable/_form_section.html.erb +52 -0
  56. data/app/views/binda/fieldable/_form_section_repeater.html.erb +48 -0
  57. data/app/views/binda/fieldable/_form_sidebar.html.erb +35 -0
  58. data/app/views/binda/structures/_form_body.html.erb +6 -0
  59. data/app/views/binda/structures/_form_section.html.erb +1 -1
  60. data/app/views/binda/structures/edit.html.erb +3 -0
  61. data/app/views/binda/structures/index.html.erb +2 -0
  62. data/app/views/layouts/binda/_flash.html.erb +3 -3
  63. data/app/views/layouts/binda/_sidebar.html.erb +20 -15
  64. data/config/locales/en.yml +4 -0
  65. data/config/routes.rb +18 -21
  66. data/db/migrate/1_create_binda_tables.rb +12 -6
  67. data/lib/binda/engine.rb +5 -1
  68. data/lib/binda/version.rb +1 -1
  69. data/lib/generators/binda/install/install_generator.rb +9 -0
  70. data/lib/generators/binda/setup/setup_generator.rb +50 -7
  71. data/lib/tasks/binda.rake +78 -24
  72. metadata +100 -31
  73. data/app/controllers/binda/settings_controller.rb +0 -75
  74. data/app/controllers/concerns/binda/component_controller_helper.rb +0 -16
  75. data/app/helpers/binda/settings_helper.rb +0 -13
  76. data/app/models/binda/select.rb +0 -7
  77. data/app/models/binda/setting.rb +0 -42
  78. data/app/views/binda/components/_form_item_selectable.html.erb +0 -72
  79. data/app/views/binda/components/_form_section.html.erb +0 -42
  80. data/app/views/binda/components/_form_section_repeater.html.erb +0 -41
  81. data/app/views/binda/components/_form_sidebar.html.erb +0 -34
  82. data/app/views/binda/settings/_dashboard_form.html.erb +0 -51
  83. data/app/views/binda/settings/_form.html.erb +0 -52
  84. data/app/views/binda/settings/dashboard.html.erb +0 -9
  85. data/app/views/binda/settings/edit.html.erb +0 -8
  86. data/app/views/binda/settings/index.html.erb +0 -34
  87. data/app/views/binda/settings/new.html.erb +0 -8
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: binda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alessandro Barbieri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-26 00:00:00.000000000 Z
11
+ date: 2017-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -253,33 +253,33 @@ dependencies:
253
253
  - !ruby/object:Gem::Version
254
254
  version: '3.1'
255
255
  - !ruby/object:Gem::Dependency
256
- name: colorize
256
+ name: kaminari
257
257
  requirement: !ruby/object:Gem::Requirement
258
258
  requirements:
259
259
  - - "~>"
260
260
  - !ruby/object:Gem::Version
261
- version: '0.8'
261
+ version: '1.0'
262
262
  type: :runtime
263
263
  prerelease: false
264
264
  version_requirements: !ruby/object:Gem::Requirement
265
265
  requirements:
266
266
  - - "~>"
267
267
  - !ruby/object:Gem::Version
268
- version: '0.8'
268
+ version: '1.0'
269
269
  - !ruby/object:Gem::Dependency
270
- name: ffaker
270
+ name: colorize
271
271
  requirement: !ruby/object:Gem::Requirement
272
272
  requirements:
273
273
  - - "~>"
274
274
  - !ruby/object:Gem::Version
275
- version: '2.5'
275
+ version: '0.8'
276
276
  type: :runtime
277
277
  prerelease: false
278
278
  version_requirements: !ruby/object:Gem::Requirement
279
279
  requirements:
280
280
  - - "~>"
281
281
  - !ruby/object:Gem::Version
282
- version: '2.5'
282
+ version: '0.8'
283
283
  - !ruby/object:Gem::Dependency
284
284
  name: friendly_id
285
285
  requirement: !ruby/object:Gem::Requirement
@@ -432,6 +432,76 @@ dependencies:
432
432
  - - "~>"
433
433
  - !ruby/object:Gem::Version
434
434
  version: '0.9'
435
+ - !ruby/object:Gem::Dependency
436
+ name: bullet
437
+ requirement: !ruby/object:Gem::Requirement
438
+ requirements:
439
+ - - "~>"
440
+ - !ruby/object:Gem::Version
441
+ version: '5.6'
442
+ type: :development
443
+ prerelease: false
444
+ version_requirements: !ruby/object:Gem::Requirement
445
+ requirements:
446
+ - - "~>"
447
+ - !ruby/object:Gem::Version
448
+ version: '5.6'
449
+ - !ruby/object:Gem::Dependency
450
+ name: rails-perftest
451
+ requirement: !ruby/object:Gem::Requirement
452
+ requirements:
453
+ - - "~>"
454
+ - !ruby/object:Gem::Version
455
+ version: '0.0'
456
+ type: :development
457
+ prerelease: false
458
+ version_requirements: !ruby/object:Gem::Requirement
459
+ requirements:
460
+ - - "~>"
461
+ - !ruby/object:Gem::Version
462
+ version: '0.0'
463
+ - !ruby/object:Gem::Dependency
464
+ name: ruby-prof
465
+ requirement: !ruby/object:Gem::Requirement
466
+ requirements:
467
+ - - "~>"
468
+ - !ruby/object:Gem::Version
469
+ version: 0.15.9
470
+ type: :development
471
+ prerelease: false
472
+ version_requirements: !ruby/object:Gem::Requirement
473
+ requirements:
474
+ - - "~>"
475
+ - !ruby/object:Gem::Version
476
+ version: 0.15.9
477
+ - !ruby/object:Gem::Dependency
478
+ name: test-unit
479
+ requirement: !ruby/object:Gem::Requirement
480
+ requirements:
481
+ - - "~>"
482
+ - !ruby/object:Gem::Version
483
+ version: '3.1'
484
+ type: :development
485
+ prerelease: false
486
+ version_requirements: !ruby/object:Gem::Requirement
487
+ requirements:
488
+ - - "~>"
489
+ - !ruby/object:Gem::Version
490
+ version: '3.1'
491
+ - !ruby/object:Gem::Dependency
492
+ name: minitest-rails
493
+ requirement: !ruby/object:Gem::Requirement
494
+ requirements:
495
+ - - "~>"
496
+ - !ruby/object:Gem::Version
497
+ version: '3.0'
498
+ type: :development
499
+ prerelease: false
500
+ version_requirements: !ruby/object:Gem::Requirement
501
+ requirements:
502
+ - - "~>"
503
+ - !ruby/object:Gem::Version
504
+ version: '3.0'
435
505
  description: A modular CMS for Ruby on Rails 5 with an intuitive out-of-the-box interface
436
506
  to manage and customize components. Use Binda if you want to speed up your setup
437
507
  process and concentrate directly on what your application is about. Please read
@@ -480,6 +550,7 @@ files:
480
550
  - app/controllers/binda/application_controller.rb
481
551
  - app/controllers/binda/assets_controller.rb
482
552
  - app/controllers/binda/bindings_controller.rb
553
+ - app/controllers/binda/boards_controller.rb
483
554
  - app/controllers/binda/categories_controller.rb
484
555
  - app/controllers/binda/choices_controller.rb
485
556
  - app/controllers/binda/components_controller.rb
@@ -488,7 +559,6 @@ files:
488
559
  - app/controllers/binda/galleries_controller.rb
489
560
  - app/controllers/binda/manage/users_controller.rb
490
561
  - app/controllers/binda/repeaters_controller.rb
491
- - app/controllers/binda/settings_controller.rb
492
562
  - app/controllers/binda/structures_controller.rb
493
563
  - app/controllers/binda/users/confirmations_controller.rb
494
564
  - app/controllers/binda/users/omniauth_callbacks_controller.rb
@@ -496,10 +566,12 @@ files:
496
566
  - app/controllers/binda/users/registrations_controller.rb
497
567
  - app/controllers/binda/users/sessions_controller.rb
498
568
  - app/controllers/binda/users/unlocks_controller.rb
499
- - app/controllers/concerns/binda/component_controller_helper.rb
569
+ - app/controllers/concerns/binda/default_helpers.rb
570
+ - app/controllers/concerns/binda/fieldable_helpers.rb
500
571
  - app/helpers/binda/application_helper.rb
501
572
  - app/helpers/binda/assets_helper.rb
502
573
  - app/helpers/binda/bindings_helper.rb
574
+ - app/helpers/binda/boards_helper.rb
503
575
  - app/helpers/binda/categories_helper.rb
504
576
  - app/helpers/binda/components_helper.rb
505
577
  - app/helpers/binda/dates_helper.rb
@@ -507,14 +579,15 @@ files:
507
579
  - app/helpers/binda/field_settings_helper.rb
508
580
  - app/helpers/binda/galleries_helper.rb
509
581
  - app/helpers/binda/repeaters_helper.rb
510
- - app/helpers/binda/settings_helper.rb
511
582
  - app/helpers/binda/structures_helper.rb
512
583
  - app/helpers/binda/texts_helper.rb
513
584
  - app/jobs/binda/application_job.rb
514
585
  - app/mailers/binda/application_mailer.rb
515
586
  - app/models/binda/application_record.rb
516
587
  - app/models/binda/asset.rb
588
+ - app/models/binda/binda.rb
517
589
  - app/models/binda/binding.rb
590
+ - app/models/binda/board.rb
518
591
  - app/models/binda/category.rb
519
592
  - app/models/binda/checkbox.rb
520
593
  - app/models/binda/choice.rb
@@ -525,12 +598,12 @@ files:
525
598
  - app/models/binda/gallery.rb
526
599
  - app/models/binda/radio.rb
527
600
  - app/models/binda/repeater.rb
528
- - app/models/binda/select.rb
529
- - app/models/binda/setting.rb
601
+ - app/models/binda/selection.rb
602
+ - app/models/binda/string.rb
530
603
  - app/models/binda/structure.rb
531
604
  - app/models/binda/text.rb
532
605
  - app/models/binda/user.rb
533
- - app/models/concerns/binda/component_model_helper.rb
606
+ - app/models/concerns/binda/fieldable_associations.rb
534
607
  - app/uploaders/binda/asset/image_uploader.rb
535
608
  - app/views/binda/assets/_form.html.erb
536
609
  - app/views/binda/assets/edit.html.erb
@@ -542,21 +615,11 @@ files:
542
615
  - app/views/binda/bindings/index.html.erb
543
616
  - app/views/binda/bindings/new.html.erb
544
617
  - app/views/binda/bindings/show.html.erb
618
+ - app/views/binda/boards/edit.html.erb
545
619
  - app/views/binda/categories/_form.html.erb
546
620
  - app/views/binda/categories/edit.html.erb
547
621
  - app/views/binda/categories/index.html.erb
548
622
  - app/views/binda/categories/new.html.erb
549
- - app/views/binda/components/_form_body.html.erb
550
- - app/views/binda/components/_form_item_asset.html.erb
551
- - app/views/binda/components/_form_item_date.html.erb
552
- - app/views/binda/components/_form_item_gallery.html.erb
553
- - app/views/binda/components/_form_item_new_repeater.html.erb
554
- - app/views/binda/components/_form_item_repeater.html.erb
555
- - app/views/binda/components/_form_item_selectable.html.erb
556
- - app/views/binda/components/_form_item_text.html.erb
557
- - app/views/binda/components/_form_section.html.erb
558
- - app/views/binda/components/_form_section_repeater.html.erb
559
- - app/views/binda/components/_form_sidebar.html.erb
560
623
  - app/views/binda/components/edit.html.erb
561
624
  - app/views/binda/components/index.html.erb
562
625
  - app/views/binda/components/new.html.erb
@@ -572,6 +635,18 @@ files:
572
635
  - app/views/binda/field_settings/edit.html.erb
573
636
  - app/views/binda/field_settings/index.html.erb
574
637
  - app/views/binda/field_settings/new.html.erb
638
+ - app/views/binda/fieldable/_form_body.html.erb
639
+ - app/views/binda/fieldable/_form_item_asset.html.erb
640
+ - app/views/binda/fieldable/_form_item_date.html.erb
641
+ - app/views/binda/fieldable/_form_item_gallery.html.erb
642
+ - app/views/binda/fieldable/_form_item_new_repeater.html.erb
643
+ - app/views/binda/fieldable/_form_item_repeater.html.erb
644
+ - app/views/binda/fieldable/_form_item_selections.html.erb
645
+ - app/views/binda/fieldable/_form_item_string.html.erb
646
+ - app/views/binda/fieldable/_form_item_text.html.erb
647
+ - app/views/binda/fieldable/_form_section.html.erb
648
+ - app/views/binda/fieldable/_form_section_repeater.html.erb
649
+ - app/views/binda/fieldable/_form_sidebar.html.erb
575
650
  - app/views/binda/galleries/_form.html.erb
576
651
  - app/views/binda/galleries/edit.html.erb
577
652
  - app/views/binda/galleries/index.html.erb
@@ -584,12 +659,6 @@ files:
584
659
  - app/views/binda/manage/users/index.json.jbuilder
585
660
  - app/views/binda/manage/users/new.html.erb
586
661
  - app/views/binda/manage/users/show.json.jbuilder
587
- - app/views/binda/settings/_dashboard_form.html.erb
588
- - app/views/binda/settings/_form.html.erb
589
- - app/views/binda/settings/dashboard.html.erb
590
- - app/views/binda/settings/edit.html.erb
591
- - app/views/binda/settings/index.html.erb
592
- - app/views/binda/settings/new.html.erb
593
662
  - app/views/binda/structures/_form_body.html.erb
594
663
  - app/views/binda/structures/_form_section.html.erb
595
664
  - app/views/binda/structures/edit.html.erb
@@ -1,75 +0,0 @@
1
- require_dependency "binda/application_controller"
2
-
3
- module Binda
4
- class SettingsController < ApplicationController
5
- before_action :set_setting, only: [:show, :edit, :update, :destroy]
6
-
7
- def index
8
- @settings = Setting.all
9
- end
10
-
11
- def show
12
- redirect_to action: :edit
13
- end
14
-
15
- def new
16
- @setting = Setting.new
17
- end
18
-
19
- def edit
20
- end
21
-
22
- def create
23
- @setting = Setting.new(setting_params)
24
-
25
- if @setting.save
26
- redirect_to setting_path( @setting.slug ), notice: 'Setting was successfully created.'
27
- else
28
- render :new
29
- end
30
- end
31
-
32
- def update
33
- if @setting.update(setting_params)
34
- redirect_to setting_path( @setting.slug ), notice: 'Setting was successfully updated.'
35
- else
36
- render :edit
37
- end
38
- end
39
-
40
- def destroy
41
- @setting.destroy
42
- redirect_to settings_url, notice: 'Setting was successfully destroyed.'
43
- end
44
-
45
- def dashboard
46
- @settings = Setting.all
47
- @dashboard = Setting
48
- end
49
-
50
- def update_dashboard
51
- dashboard_params[:settings].each do |id|
52
- setting = Setting.find(id)
53
- unless setting.update( dashboard_params[:settings][id.to_s] )
54
- return redirect_to dashboard_path, flash: { error: setting.errors }
55
- end
56
- end
57
- redirect_to dashboard_path, flash: { notice: 'Dashboard was successfully updated.' }
58
- end
59
-
60
- private
61
- # Use callbacks to share common setup or constraints between actions.
62
- def set_setting
63
- @setting = Setting.friendly.find(params[:id])
64
- end
65
-
66
- def dashboard_params
67
- params.require(:dashboard).permit( settings: [ :id, :name, :content, :slug, :position, :is_true ] )
68
- end
69
-
70
- # Only allow a trusted parameter "white list" through.
71
- def setting_params
72
- params.require(:setting).permit(:name, :content, :slug, :position, :dashboard )
73
- end
74
- end
75
- end
@@ -1,16 +0,0 @@
1
- module Binda
2
- module ComponentControllerHelper
3
- extend ActiveSupport::Concern
4
-
5
- def get_components( slug, ask_for_published = true, custom_order = '' )
6
- if ask_for_published && custom_order.blank?
7
- Binda::Structure.friendly.find( slug ).components.published.order('position')
8
- elsif custom_order.blank?
9
- Binda::Structure.friendly.find( slug ).components.order('position')
10
- else
11
- Binda::Structure.friendly.find( slug ).components.order( custom_order )
12
- end
13
- end
14
-
15
- end
16
- end
@@ -1,13 +0,0 @@
1
- module Binda
2
- module SettingsHelper
3
-
4
- def get_website_name
5
- Setting.friendly.find('website-name').content
6
- end
7
-
8
- def get_website_description
9
- Setting.friendly.find('website-description').content
10
- end
11
-
12
- end
13
- end
@@ -1,7 +0,0 @@
1
- module Binda
2
- class Select < ApplicationRecord
3
-
4
- has_many :choices, as: :selectable
5
-
6
- end
7
- end
@@ -1,42 +0,0 @@
1
- module Binda
2
- class Setting < ApplicationRecord
3
-
4
- # Associations
5
- # has_many :bindings
6
- # has_many :assets, class_name: 'Admin::Asset', through: :bindings
7
-
8
- # Validations
9
- validates :name, presence: true
10
-
11
-
12
- # Slug
13
- extend FriendlyId
14
- friendly_id :name, use: [:slugged, :finders]
15
-
16
-
17
- # CUSTOM METHODS
18
- # --------------
19
- # https://github.com/norman/friendly_id/issues/436
20
- def should_generate_new_friendly_id?
21
- slug.blank?
22
- end
23
-
24
- def self.website_name
25
- self.all.find { |s| s.slug == 'website-name' }
26
- end
27
-
28
- def self.website_description
29
- self.all.find { |s| s.slug == 'website-description' }
30
- end
31
-
32
- def self.maintenance_mode
33
- self.all.find { |s| s.slug == 'maintenance-mode' }
34
- end
35
-
36
- def self.is_maintenance_mode
37
- # maybe this should have question mark at the end...
38
- self.maintenance_mode.is_true
39
- end
40
-
41
- end
42
- end
@@ -1,72 +0,0 @@
1
- <%# HEADING %>
2
- <h5 class="form-item--<%= field_setting.field_type.underscore %>-caption"><%= field_setting.name.capitalize %></h5>
3
-
4
- <% unless field_setting.description.blank? %>
5
- <small class="text-muted"><%= field_setting.description %></small>
6
- <% end %>
7
-
8
- <% if field_setting.choices.any? %>
9
-
10
- <%# - - - - - - - - - - - - %>
11
- <%# RADIO %>
12
- <%# - - - - - - - - - - - - %>
13
- <% if field_setting.field_type === 'radio' %>
14
- <% current = @component.find_or_create_a_field_by( field_setting.id, 'radio' ) %>
15
- <%= f.simple_fields_for "radios_attributes[]", current do |ff| %>
16
- <% if ff.object.choices.any? %>
17
- <%= ff.input :choice_ids, as: :radio_buttons, collection: field_setting.choices.order(:label), label_method: :label, value_method: :id, checked: ff.object.choices.first.id, include_blank: false %>
18
- <% else %>
19
- <%= ff.input :choice_ids, as: :radio_buttons, collection: field_setting.choices.order(:label), label_method: :label, value_method: :id, checked: field_setting.default_choice.id, include_blank: false %>
20
- <% end %>
21
- <%= ff.input :field_setting_id, as: :hidden, input_html: { value: field_setting.id } %>
22
- <%= ff.input :id, as: :hidden, input_html: { value: ff.object.id } %>
23
- <%= ff.input :fieldable_id, as: :hidden %>
24
- <%= ff.input :fieldable_type, as: :hidden %>
25
- <% end %>
26
-
27
-
28
- <%# - - - - - - - - - - - - %>
29
- <%# SELECT %>
30
- <%# - - - - - - - - - - - - %>
31
- <% elsif field_setting.field_type === 'select' %>
32
- <% current = @component.find_or_create_a_field_by( field_setting.id, 'select' ) %>
33
- <%= f.simple_fields_for "selects_attributes[]", current do |ff| %>
34
- <% if ff.object.choices.any? %>
35
- <%= ff.input :choice_ids, as: :select, collection: field_setting.choices.order(:label), label_method: :label, value_method: :id, selected: ff.object.choice_ids, include_blank: false %>
36
- <% else %>
37
- <%= ff.input :choice_ids, as: :select, collection: field_setting.choices.order(:label), label_method: :label, value_method: :id, selected: field_setting.default_choice.id, include_blank: false %>
38
- <% end %>
39
- <%= ff.input :field_setting_id, as: :hidden, input_html: { value: field_setting.id } %>
40
- <%= ff.input :id, as: :hidden, input_html: { value: ff.object.id } %>
41
- <%= ff.input :fieldable_id, as: :hidden %>
42
- <%= ff.input :fieldable_type, as: :hidden %>
43
- <% end %>
44
-
45
-
46
- <%# - - - - - - - - - - - - %>
47
- <%# CHECKBOX %>
48
- <%# - - - - - - - - - - - - %>
49
- <% elsif field_setting.field_type === 'checkbox' %>
50
- <% current = @component.find_or_create_a_field_by( field_setting.id, 'checkbox' ) %>
51
- <%= f.simple_fields_for "checkboxes_attributes[]", current do |ff| %>
52
- <% if ff.object.choices.any? %>
53
- <%= ff.input :choice_ids, as: :check_boxes, collection: field_setting.choices.order(:label), label_method: :label, value_method: :id, checked: ff.object.choice_ids, include_blank: false %>
54
- <% else %>
55
- <%= ff.input :choice_ids, as: :check_boxes, collection: field_setting.choices.order(:label), label_method: :label, value_method: :id, checked: field_setting.default_choice.id, include_blank: false %>
56
- <% end %>
57
- <%= ff.input :field_setting_id, as: :hidden, input_html: { value: field_setting.id } %>
58
- <%= ff.input :id, as: :hidden, input_html: { value: ff.object.id } %>
59
- <%= ff.input :fieldable_id, as: :hidden %>
60
- <%= ff.input :fieldable_type, as: :hidden %>
61
- <% end %>
62
- <% end %>
63
-
64
- <% else %>
65
- <p>Sorry, no choice is available.
66
- <% if current_user.is_superadmin %>
67
- Please ensure you setup at least two possible choices in the <a href="<%= edit_structure_field_group_path( structure_id: @structure.id, id: field_setting.field_group.id )%>">field group setup</a>.
68
- <% else %>
69
- Please contact the administrator.
70
- <% end %>
71
- </p>
72
- <% end %>