-
Notifications
You must be signed in to change notification settings - Fork 84
/
form.haml
72 lines (70 loc) · 2.42 KB
/
form.haml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
%link{ href: 'https://cdn.quilljs.com/1.3.6/quill.snow.css', rel: 'stylesheet' }
= form_for @entry, action, method: method do |f|
- unless @entry.errors.empty?
#error
.title= t('error')
%ul
- @entry.errors.each do |error|
%li= error
.field
= f.label :title, caption: t("#{@name}.title")
%br
= f.text_field :title
.field
= f.label :markup, caption: :Markup
%br
= f.select :markup, options: Markup.engine_list.map {|e| [e[1], e[0]] }
.field
= f.label :body, caption: t("#{@name}.body")
%ul.preview-edit
%li.selected
= label_tag :edit, for: 'preview-edit', caption: 'Edit'
= radio_button_tag :ipreview, value: 'edit', checked: true, id: 'preview-edit'
%li
= label_tag :preview, for: 'preview-preview', caption: 'Preview'
= radio_button_tag :ipreview, value: 'preview', id: 'preview-preview'
#editor
%textarea.editor{ id: "#{@name}_body", name: "#{@name}[body]", rows: 10, cols: 50 }= @entry.raw_body
#preview
.field
= f.label :slug, caption: t("#{@name}.slug")
%br
= f.text_field :slug
.field
= f.label :category, caption: t("#{@name}.category")
%br
- if Category.any?
= f.select :category_id, collection: Category.all, fields: %i[title id], include_blank: t('not_select')
- else
= t('no_category')
.field
= f.label :tag_collection, caption: t("#{@name}.tags")
%br
= f.text_field :tag_collection
- @field_names.each do |field_name|
.field
= label_tag "#{@name}_fields_#{field_name.name}", caption: field_name.name
%br
:ruby
value_for_field = if @entry.new?
params[@name] ? params[@name]['fields'][field_name.name] : ''
else
@entry.send(field_name.name)
end
= text_field_tag "#{@name}[fields][#{field_name.name}]", id: "#{@name}_fields_#{field_name.name}", value: value_for_field
.field
= f.label :draft, caption: t("#{@name}.draft")
%br
= f.check_box :draft
.field
= f.label :created_at, caption: t("#{@name}.created_at")
%br
= f.text_field :created_at
= f.hidden_field :updated_at
%p
%input{ type: :submit, value: t('preview'), name: :preview, formtarget: :_blank }
%input{ type: :submit, value: label, name: :edit }
:css
.ql-snow.ql-toolbar:after, .ql-snow .ql-toolbar:after {
clear: none;
}