|
38 | 38 | end |
39 | 39 |
|
40 | 40 | form do |f| |
| 41 | + def add_field(form, name, type, data, override_options = {}) |
| 42 | + options = { as: type, input_html: { data: data }, hint: data.inspect } |
| 43 | + options.merge! override_options |
| 44 | + form.input name, options |
| 45 | + end |
| 46 | + |
41 | 47 | f.inputs 'Post' do |
42 | 48 | f.input :author |
43 | 49 | f.input :title |
44 | | - f.input :description, input_html: { data: { if: 'blank', then: 'setValue no title', target: '#post_category' } } |
45 | | - f.input :category |
46 | | - f.input :published, input_html: { data: { if: 'not_checked', then: 'hide', target: '.group1' } } |
47 | | - f.input :dt, wrapper_html: { class: 'group1' } |
48 | | - f.input :position, wrapper_html: { class: 'group1' } |
| 50 | + |
| 51 | + f.input :data_test, as: :string |
| 52 | + |
| 53 | + # --- if |
| 54 | + df111 = { if: 'checked', then: 'addClass red', target: '#post_data_field_111_input label' } |
| 55 | + add_field(f, :data_field_111, :boolean, df111) |
| 56 | + |
| 57 | + df121 = { if: 'not_checked', then: 'addClass red', target: '#post_data_field_121_input label' } |
| 58 | + add_field(f, :data_field_121, :boolean, df121) |
| 59 | + |
| 60 | + df131 = { if: 'blank', then: 'addClass red', target: '#post_data_field_131_input label' } |
| 61 | + add_field(f, :data_field_131, :string, df131) |
| 62 | + |
| 63 | + df132 = { if: 'blank', then: 'addClass red', target: '#post_data_field_132_input label' } |
| 64 | + add_field(f, :data_field_132, :text, df132) |
| 65 | + |
| 66 | + df141 = { if: 'not_blank', then: 'addClass red', target: '#post_data_field_141_input label' } |
| 67 | + add_field(f, :data_field_141, :string, df141) |
| 68 | + |
| 69 | + df142 = { if: 'not_blank', then: 'addClass red', target: '#post_data_field_142_input label' } |
| 70 | + add_field(f, :data_field_142, :text, df142) |
| 71 | + |
| 72 | + df151 = { if: 'changed', then: 'addClass red', target: '#post_data_field_151_input label' } |
| 73 | + add_field(f, :data_field_151, :boolean, df151) |
| 74 | + |
| 75 | + df152 = { if: 'changed', then: 'addClass red', target: '#post_data_field_152_input label' } |
| 76 | + add_field(f, :data_field_152, :string, df152) |
| 77 | + |
| 78 | + df153 = { if: 'changed', then: 'addClass red', target: '#post_data_field_153_input label' } |
| 79 | + add_field(f, :data_field_153, :text, df153) |
| 80 | + |
| 81 | + # --- eq |
| 82 | + df161 = { eq: '161', then: 'addClass red', target: '#post_data_field_161_input label' } |
| 83 | + add_field(f, :data_field_161, :string, df161) |
| 84 | + |
| 85 | + df162 = { eq: '162', then: 'addClass red', target: '#post_data_field_162_input label' } |
| 86 | + add_field(f, :data_field_162, :select, df162, collection: [161, 162, 163]) |
| 87 | + |
| 88 | + df163 = { eq: '163', then: 'addClass red', target: '#post_data_field_163_input label' } |
| 89 | + add_field(f, :data_field_163, :text, df163) |
| 90 | + |
| 91 | + # --- not |
| 92 | + df181 = { not: '181', then: 'addClass red', target: '#post_data_field_181_input label' } |
| 93 | + add_field(f, :data_field_181, :string, df181) |
| 94 | + |
| 95 | + df182 = { not: '182', then: 'addClass red', target: '#post_data_field_182_input label' } |
| 96 | + add_field(f, :data_field_182, :select, df182, collection: [181, 182, 183]) |
| 97 | + |
| 98 | + df183 = { not: '183', then: 'addClass red', target: '#post_data_field_183_input label' } |
| 99 | + add_field(f, :data_field_183, :text, df183) |
| 100 | + |
| 101 | + # --- function |
| 102 | + df201 = { function: 'test_fun', then: 'addClass red', target: '#post_data_field_201_input label' } |
| 103 | + add_field(f, :data_field_201, :string, df201) |
| 104 | + |
| 105 | + df202 = { function: 'missing_fun', then: 'addClass red', target: '#post_data_field_202_input label' } |
| 106 | + add_field(f, :data_field_202, :string, df202) |
| 107 | + |
| 108 | + df203 = { function: 'test_fun2' } |
| 109 | + add_field(f, :data_field_203, :boolean, df203) |
| 110 | + |
| 111 | + # --- addClass |
| 112 | + df211 = { if: 'checked', then: 'addClass red', target: '#post_data_field_211_input label' } |
| 113 | + add_field(f, :data_field_211, :boolean, df211) |
| 114 | + |
| 115 | + # --- callback |
| 116 | + df221 = { if: 'checked', then: 'callback test_callback', args: 'test_callback_arg' } |
| 117 | + add_field(f, :data_field_221, :boolean, df221) |
| 118 | + |
| 119 | + df222 = { if: 'checked', then: 'callback missing_callback', args: 'callback arg' } |
| 120 | + add_field(f, :data_field_222, :boolean, df222) |
| 121 | + |
| 122 | + # --- setValue |
| 123 | + df231 = { if: 'checked', then: 'setValue data test', target: '#post_data_test' } |
| 124 | + add_field(f, :data_field_231, :boolean, df231) |
| 125 | + |
| 126 | + # --- hide |
| 127 | + df241 = { if: 'checked', then: 'hide', target: '#post_data_field_241_input .inline-hints' } |
| 128 | + add_field(f, :data_field_241, :boolean, df241) |
| 129 | + |
| 130 | + # --- fade |
| 131 | + df251 = { if: 'checked', then: 'fade', target: '#post_data_field_251_input .inline-hints' } |
| 132 | + add_field(f, :data_field_251, :boolean, df251) |
| 133 | + |
| 134 | + # --- slide |
| 135 | + df261 = { if: 'checked', then: 'slide', target: '#post_data_field_261_input .inline-hints' } |
| 136 | + add_field(f, :data_field_261, :boolean, df261) |
| 137 | + |
| 138 | + # --- gtarget |
| 139 | + df301 = { if: 'checked', then: 'addClass red', gtarget: 'body.active_admin' } |
| 140 | + add_field(f, :data_field_301, :boolean, df301) |
| 141 | + |
| 142 | + # This will not work - here only for testing: |
| 143 | + df302 = { if: 'checked', then: 'addClass red', target: 'body.active_admin' } |
| 144 | + add_field(f, :data_field_302, :boolean, df302) |
| 145 | + |
| 146 | + # --- |
49 | 147 | end |
50 | 148 |
|
51 | 149 | f.inputs 'Tags' do |
|
0 commit comments