b4um_generators 0.2.10 → 0.2.14

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -2
  3. data/README.de.md +127 -1
  4. data/README.md +126 -1
  5. data/lib/b4um_generators/version.rb +1 -1
  6. data/lib/generators/b4um/attachment/attachment_generator.rb +190 -29
  7. data/lib/generators/b4um/authentication/authentication_generator.rb +63 -0
  8. data/lib/generators/b4um/help/help_generator.rb +100 -3
  9. data/lib/generators/b4um/in_place/in_place_generator.rb +1231 -0
  10. data/lib/generators/b4um/in_place/templates/_flash.html.erb +15 -0
  11. data/lib/generators/b4um/in_place/templates/b4um_in_place_helper.rb +7 -0
  12. data/lib/generators/b4um/in_place/templates/display_attachment.html.erb.tt +154 -0
  13. data/lib/generators/b4um/in_place/templates/display_attachments.html.erb.tt +165 -0
  14. data/lib/generators/b4um/in_place/templates/display_boolean.html.erb.tt +18 -0
  15. data/lib/generators/b4um/in_place/templates/display_number.html.erb.tt +18 -0
  16. data/lib/generators/b4um/in_place/templates/display_radio.html.erb.tt +23 -0
  17. data/lib/generators/b4um/in_place/templates/display_rich_text.html.erb.tt +123 -0
  18. data/lib/generators/b4um/in_place/templates/display_select.html.erb.tt +23 -0
  19. data/lib/generators/b4um/in_place/templates/display_text.html.erb.tt +18 -0
  20. data/lib/generators/b4um/in_place/templates/edit_attachment.html.erb.tt +83 -0
  21. data/lib/generators/b4um/in_place/templates/edit_attachments.html.erb.tt +65 -0
  22. data/lib/generators/b4um/in_place/templates/edit_boolean.html.erb.tt +32 -0
  23. data/lib/generators/b4um/in_place/templates/edit_number.html.erb.tt +26 -0
  24. data/lib/generators/b4um/in_place/templates/edit_radio.html.erb.tt +32 -0
  25. data/lib/generators/b4um/in_place/templates/edit_rich_text.html.erb.tt +25 -0
  26. data/lib/generators/b4um/in_place/templates/edit_select.html.erb.tt +28 -0
  27. data/lib/generators/b4um/in_place/templates/edit_text.html.erb.tt +25 -0
  28. data/lib/generators/b4um/in_place/templates/in_place.css +935 -0
  29. data/lib/generators/b4um/in_place/templates/in_place_controller.js +115 -0
  30. data/lib/generators/b4um/install/install_generator.rb +18 -13
  31. data/lib/generators/b4um/install/templates/_flash.html.erb +15 -0
  32. data/lib/generators/b4um/install/templates/_footer.html.erb +6 -1
  33. data/lib/generators/b4um/install/templates/b4um/forms.css +127 -0
  34. data/lib/generators/b4um/install/templates/image_lightbox_controller.js +29 -0
  35. data/lib/generators/b4um/install/templates/rich_text_controller.js +22 -0
  36. data/lib/generators/b4um/install/templates/scroll_to_top_controller.js +12 -0
  37. data/lib/generators/b4um/scaffold/scaffold_generator.rb +106 -0
  38. data/lib/generators/b4um/scaffold/templates/_form.html.erb.tt +29 -0
  39. data/lib/generators/b4um/scaffold/templates/_resource.html.erb.tt +35 -0
  40. data/lib/generators/b4um/scaffold/templates/_table.html.erb.tt +31 -0
  41. data/lib/generators/b4um/trix/trix_generator.rb +104 -6
  42. metadata +27 -3
@@ -0,0 +1,65 @@
1
+ <%%= turbo_frame_tag dom_id(@<%= singular_table_name %>, :<%= @field %>) do %>
2
+ <div class="resource-field in-place-field">
3
+ <strong class="resource-label"><%= @field.humanize %>:</strong>
4
+
5
+ <span class="resource-value">
6
+ <div
7
+ data-controller="in-place"
8
+ data-in-place-outside-save-value="false"
9
+ data-in-place-cancel-url-value="<%%= <%= singular_table_name %>_path(@<%= singular_table_name %>) %>"
10
+ >
11
+ <%%= form_with model: @<%= singular_table_name %>,
12
+ class: "form in-place-gallery-form",
13
+ multipart: true do |form| %>
14
+
15
+ <%%= hidden_field_tag :in_place_field, "<%= @field %>" %>
16
+
17
+ <%% if @<%= singular_table_name %>.errors[:<%= @field %>].any? %>
18
+ <div class="in-place-error">
19
+ <%%= @<%= singular_table_name %>.errors.full_messages_for(:<%= @field %>).to_sentence %>
20
+ </div>
21
+ <%% end %>
22
+
23
+ <div class="in-place-gallery">
24
+ <%% @<%= singular_table_name %>.<%= @field %>.each do |attachment| %>
25
+ <div class="in-place-gallery__item">
26
+ <%%= image_tag attachment,
27
+ class: "in-place-gallery__image",
28
+ alt: attachment.filename.to_s %>
29
+
30
+ <%%= check_box_tag "<%= singular_table_name %>[remove_<%= @field %>_ids][]",
31
+ attachment.id,
32
+ false,
33
+ id: "remove_<%= @field %>_#{attachment.id}",
34
+ class: "in-place-gallery__remove",
35
+ data: { action: "change->in-place#save" } %>
36
+
37
+ <%%= label_tag "remove_<%= @field %>_#{attachment.id}",
38
+ "&times;".html_safe,
39
+ class: "in-place-gallery__remove-button",
40
+ title: "Remove image",
41
+ aria: { label: "Remove image" } %>
42
+ </div>
43
+ <%% end %>
44
+
45
+ <div class="in-place-gallery__add">
46
+ <%%= form.file_field :<%= @field %>,
47
+ multiple: true,
48
+ accept: "image/*",
49
+ class: "in-place-gallery__file",
50
+ data: { action: "change->in-place#save" } %>
51
+
52
+ <label
53
+ for="<%= singular_table_name %>_<%= @field %>"
54
+ class="in-place-gallery__add-button"
55
+ >
56
+ <span class="in-place-gallery__add-icon">+</span>
57
+ <span>Add image</span>
58
+ </label>
59
+ </div>
60
+ </div>
61
+ <%% end %>
62
+ </div>
63
+ </span>
64
+ </div>
65
+ <%% end %>
@@ -0,0 +1,32 @@
1
+ <%%= turbo_frame_tag dom_id(@<%= singular_table_name %>, :<%= @field %>) do %>
2
+ <div class="resource-field in-place-field">
3
+ <strong class="resource-label"><%= @field.humanize %>:</strong>
4
+
5
+ <span class="resource-value">
6
+ <div
7
+ data-controller="in-place"
8
+ data-in-place-cancel-url-value="<%%= <%= singular_table_name %>_path(@<%= singular_table_name %>) %>"
9
+ >
10
+ <%%= form_with model: @<%= singular_table_name %>, class: "form in-place-form" do |form| %>
11
+ <%%= hidden_field_tag :in_place_field, "<%= @field %>" %>
12
+
13
+ <%% if @<%= singular_table_name %>.errors[:<%= @field %>].any? %>
14
+ <div class="in-place-error">
15
+ <%%= @<%= singular_table_name %>.errors.full_messages_for(:<%= @field %>).to_sentence %>
16
+ </div>
17
+ <%% end %>
18
+
19
+ <div class="in-place-boolean">
20
+ <%%= form.check_box :<%= @field %>,
21
+ class: "in-place-switch",
22
+ data: { action: "change->in-place#save" } %>
23
+
24
+ <%%= form.label :<%= @field %>,
25
+ @<%= singular_table_name %>.<%= @field %>? ? "Yes" : "No",
26
+ class: "in-place-boolean__label" %>
27
+ </div>
28
+ <%% end %>
29
+ </div>
30
+ </span>
31
+ </div>
32
+ <%% end %>
@@ -0,0 +1,26 @@
1
+ <%%= turbo_frame_tag dom_id(@<%= singular_table_name %>, :<%= @field %>) do %>
2
+ <div class="resource-field in-place-field">
3
+ <strong class="resource-label"><%= @field.humanize %>:</strong>
4
+
5
+ <span class="resource-value">
6
+ <div
7
+ data-controller="in-place"
8
+ data-in-place-cancel-url-value="<%%= <%= singular_table_name %>_path(@<%= singular_table_name %>) %>"
9
+ >
10
+ <%%= form_with model: @<%= singular_table_name %>, class: "form in-place-form" do |form| %>
11
+ <%%= hidden_field_tag :in_place_field, "<%= @field %>" %>
12
+
13
+ <%% if @<%= singular_table_name %>.errors[:<%= @field %>].any? %>
14
+ <div class="in-place-error">
15
+ <%%= @<%= singular_table_name %>.errors.full_messages_for(:<%= @field %>).to_sentence %>
16
+ </div>
17
+ <%% end %>
18
+
19
+ <%%= form.number_field :<%= @field %>,
20
+ step: "any",
21
+ class: "in-place-number" %>
22
+ <%% end %>
23
+ </div>
24
+ </span>
25
+ </div>
26
+ <%% end %>
@@ -0,0 +1,32 @@
1
+ <%%= turbo_frame_tag dom_id(@<%= singular_table_name %>, :<%= @field %>) do %>
2
+ <div
3
+ class="resource-field in-place-form in-place-radio"
4
+ data-controller="in-place"
5
+ data-in-place-cancel-url-value="<%%= <%= singular_table_name %>_path(@<%= singular_table_name %>) %>"
6
+ >
7
+ <strong class="resource-label"><%= @field.humanize %>:</strong>
8
+
9
+ <%%= form_with model: @<%= singular_table_name %> do |form| %>
10
+
11
+ <%%= hidden_field_tag :in_place_field, "<%= @field %>" %>
12
+
13
+ <%% if @<%= singular_table_name %>.errors[:<%= @field %>].any? %>
14
+ <div class="in-place-error">
15
+ <%%= @<%= singular_table_name %>.errors.full_messages_for(:<%= @field %>).to_sentence %>
16
+ </div>
17
+ <%% end %>
18
+
19
+ <div class="in-place-radio__options">
20
+ <%% <%= radio_configuration[:values].inspect %>.each do |choice| %>
21
+ <label class="in-place-radio__option">
22
+ <%%= form.radio_button :<%= @field %>,
23
+ choice[:value],
24
+ data: { action: "change->in-place#save" } %>
25
+
26
+ <span><%%= choice[:label] %></span>
27
+ </label>
28
+ <%% end %>
29
+ </div>
30
+ <%% end %>
31
+ </div>
32
+ <%% end %>
@@ -0,0 +1,25 @@
1
+ <%%= turbo_frame_tag dom_id(@<%= singular_table_name %>, :<%= @field %>) do %>
2
+ <div
3
+ data-controller="in-place"
4
+ data-in-place-cancel-url-value="<%%= <%= singular_table_name %>_path(@<%= singular_table_name %>) %>"
5
+ >
6
+ <%%= form_with model: @<%= singular_table_name %>, class: "form" do |form| %>
7
+ <%%= hidden_field_tag :in_place_field, "<%= @field %>" %>
8
+
9
+ <%% if @<%= singular_table_name %>.errors[:<%= @field %>].any? %>
10
+ <div class="in-place-error">
11
+ <%%= @<%= singular_table_name %>.errors.full_messages_for(:<%= @field %>).to_sentence %>
12
+ </div>
13
+ <%% end %>
14
+
15
+ <div class="form-field form-field--rich-text">
16
+ <%%= form.rich_text_area :<%= @field %>,
17
+ class: "form-textarea",
18
+ placeholder: " " %>
19
+
20
+ <%%= form.label :<%= @field %>,
21
+ class: "form-label" %>
22
+ </div>
23
+ <%% end %>
24
+ </div>
25
+ <%% end %>
@@ -0,0 +1,28 @@
1
+ <%%= turbo_frame_tag dom_id(@<%= singular_table_name %>, :<%= @field %>) do %>
2
+ <div
3
+ class="resource-field in-place-form in-place-select"
4
+ data-controller="in-place"
5
+ data-in-place-cancel-url-value="<%%= <%= singular_table_name %>_path(@<%= singular_table_name %>) %>"
6
+ >
7
+ <strong class="resource-label"><%= @field.humanize %>:</strong>
8
+
9
+ <%%= form_with model: @<%= singular_table_name %> do |form| %>
10
+
11
+ <%%= hidden_field_tag :in_place_field, "<%= @field %>" %>
12
+
13
+ <%% if @<%= singular_table_name %>.errors[:<%= @field %>].any? %>
14
+ <div class="in-place-error">
15
+ <%%= @<%= singular_table_name %>.errors.full_messages_for(:<%= @field %>).to_sentence %>
16
+ </div>
17
+ <%% end %>
18
+
19
+ <%%= form.select :<%= @field %>,
20
+ <%= select_configuration[:values].inspect %>.map { |choice|
21
+ [choice[:label], choice[:value]]
22
+ },
23
+ {},
24
+ class: "in-place-select__input",
25
+ data: { action: "change->in-place#save" } %>
26
+ <%% end %>
27
+ </div>
28
+ <%% end %>
@@ -0,0 +1,25 @@
1
+ <%%= turbo_frame_tag dom_id(@<%= singular_table_name %>, :<%= @field %>) do %>
2
+ <div
3
+ data-controller="in-place"
4
+ data-in-place-cancel-url-value="<%%= <%= singular_table_name %>_path(@<%= singular_table_name %>) %>"
5
+ >
6
+ <%%= form_with model: @<%= singular_table_name %>, class: "form" do |form| %>
7
+ <%%= hidden_field_tag :in_place_field, "<%= @field %>" %>
8
+
9
+ <%% if @<%= singular_table_name %>.errors[:<%= @field %>].any? %>
10
+ <div class="in-place-error">
11
+ <%%= @<%= singular_table_name %>.errors.full_messages_for(:<%= @field %>).to_sentence %>
12
+ </div>
13
+ <%% end %>
14
+
15
+ <div class="form-field">
16
+ <%%= form.text_field :<%= @field %>,
17
+ class: "form-input",
18
+ placeholder: " " %>
19
+
20
+ <%%= form.label :<%= @field %>,
21
+ class: "form-label" %>
22
+ </div>
23
+ <%% end %>
24
+ </div>
25
+ <%% end %>