mega-safe-tool 0.0.1

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 (171) hide show
  1. checksums.yaml +7 -0
  2. data/formtastic-6.0.0/Appraisals +23 -0
  3. data/formtastic-6.0.0/CONTRIBUTING.md +27 -0
  4. data/formtastic-6.0.0/Gemfile +8 -0
  5. data/formtastic-6.0.0/MIT-LICENSE +20 -0
  6. data/formtastic-6.0.0/README.md +600 -0
  7. data/formtastic-6.0.0/RELEASE_PROCESS +7 -0
  8. data/formtastic-6.0.0/Rakefile +54 -0
  9. data/formtastic-6.0.0/bin/appraisal +8 -0
  10. data/formtastic-6.0.0/formtastic.gemspec +45 -0
  11. data/formtastic-6.0.0/gemfiles/rails_72.gemfile +9 -0
  12. data/formtastic-6.0.0/gemfiles/rails_80.gemfile +9 -0
  13. data/formtastic-6.0.0/gemfiles/rails_81.gemfile +9 -0
  14. data/formtastic-6.0.0/gemfiles/rails_edge.gemfile +9 -0
  15. data/formtastic-6.0.0/lib/formtastic/action_class_finder.rb +19 -0
  16. data/formtastic-6.0.0/lib/formtastic/actions/base.rb +157 -0
  17. data/formtastic-6.0.0/lib/formtastic/actions/button_action.rb +68 -0
  18. data/formtastic-6.0.0/lib/formtastic/actions/buttonish.rb +18 -0
  19. data/formtastic-6.0.0/lib/formtastic/actions/input_action.rb +71 -0
  20. data/formtastic-6.0.0/lib/formtastic/actions/link_action.rb +89 -0
  21. data/formtastic-6.0.0/lib/formtastic/actions.rb +15 -0
  22. data/formtastic-6.0.0/lib/formtastic/deprecation.rb +6 -0
  23. data/formtastic-6.0.0/lib/formtastic/form_builder.rb +109 -0
  24. data/formtastic-6.0.0/lib/formtastic/helpers/action_helper.rb +115 -0
  25. data/formtastic-6.0.0/lib/formtastic/helpers/actions_helper.rb +169 -0
  26. data/formtastic-6.0.0/lib/formtastic/helpers/enum.rb +14 -0
  27. data/formtastic-6.0.0/lib/formtastic/helpers/errors_helper.rb +139 -0
  28. data/formtastic-6.0.0/lib/formtastic/helpers/fieldset_wrapper.rb +85 -0
  29. data/formtastic-6.0.0/lib/formtastic/helpers/file_column_detection.rb +17 -0
  30. data/formtastic-6.0.0/lib/formtastic/helpers/form_helper.rb +204 -0
  31. data/formtastic-6.0.0/lib/formtastic/helpers/input_helper.rb +349 -0
  32. data/formtastic-6.0.0/lib/formtastic/helpers/inputs_helper.rb +421 -0
  33. data/formtastic-6.0.0/lib/formtastic/helpers/reflection.rb +38 -0
  34. data/formtastic-6.0.0/lib/formtastic/helpers.rb +16 -0
  35. data/formtastic-6.0.0/lib/formtastic/html_attributes.rb +33 -0
  36. data/formtastic-6.0.0/lib/formtastic/i18n.rb +33 -0
  37. data/formtastic-6.0.0/lib/formtastic/input_class_finder.rb +19 -0
  38. data/formtastic-6.0.0/lib/formtastic/inputs/base/aria.rb +26 -0
  39. data/formtastic-6.0.0/lib/formtastic/inputs/base/associations.rb +32 -0
  40. data/formtastic-6.0.0/lib/formtastic/inputs/base/choices.rb +109 -0
  41. data/formtastic-6.0.0/lib/formtastic/inputs/base/collections.rb +158 -0
  42. data/formtastic-6.0.0/lib/formtastic/inputs/base/database.rb +20 -0
  43. data/formtastic-6.0.0/lib/formtastic/inputs/base/datetime_pickerish.rb +86 -0
  44. data/formtastic-6.0.0/lib/formtastic/inputs/base/errors.rb +59 -0
  45. data/formtastic-6.0.0/lib/formtastic/inputs/base/fileish.rb +24 -0
  46. data/formtastic-6.0.0/lib/formtastic/inputs/base/hints.rb +32 -0
  47. data/formtastic-6.0.0/lib/formtastic/inputs/base/html.rb +54 -0
  48. data/formtastic-6.0.0/lib/formtastic/inputs/base/labelling.rb +53 -0
  49. data/formtastic-6.0.0/lib/formtastic/inputs/base/naming.rb +43 -0
  50. data/formtastic-6.0.0/lib/formtastic/inputs/base/numeric.rb +51 -0
  51. data/formtastic-6.0.0/lib/formtastic/inputs/base/options.rb +18 -0
  52. data/formtastic-6.0.0/lib/formtastic/inputs/base/placeholder.rb +18 -0
  53. data/formtastic-6.0.0/lib/formtastic/inputs/base/stringish.rb +39 -0
  54. data/formtastic-6.0.0/lib/formtastic/inputs/base/timeish.rb +246 -0
  55. data/formtastic-6.0.0/lib/formtastic/inputs/base/validations.rb +250 -0
  56. data/formtastic-6.0.0/lib/formtastic/inputs/base/wrapping.rb +51 -0
  57. data/formtastic-6.0.0/lib/formtastic/inputs/base.rb +79 -0
  58. data/formtastic-6.0.0/lib/formtastic/inputs/boolean_input.rb +119 -0
  59. data/formtastic-6.0.0/lib/formtastic/inputs/check_boxes_input.rb +198 -0
  60. data/formtastic-6.0.0/lib/formtastic/inputs/color_input.rb +42 -0
  61. data/formtastic-6.0.0/lib/formtastic/inputs/country_input.rb +90 -0
  62. data/formtastic-6.0.0/lib/formtastic/inputs/datalist_input.rb +42 -0
  63. data/formtastic-6.0.0/lib/formtastic/inputs/date_picker_input.rb +94 -0
  64. data/formtastic-6.0.0/lib/formtastic/inputs/date_select_input.rb +35 -0
  65. data/formtastic-6.0.0/lib/formtastic/inputs/datetime_picker_input.rb +104 -0
  66. data/formtastic-6.0.0/lib/formtastic/inputs/datetime_select_input.rb +13 -0
  67. data/formtastic-6.0.0/lib/formtastic/inputs/email_input.rb +42 -0
  68. data/formtastic-6.0.0/lib/formtastic/inputs/file_input.rb +43 -0
  69. data/formtastic-6.0.0/lib/formtastic/inputs/hidden_input.rb +63 -0
  70. data/formtastic-6.0.0/lib/formtastic/inputs/number_input.rb +89 -0
  71. data/formtastic-6.0.0/lib/formtastic/inputs/password_input.rb +42 -0
  72. data/formtastic-6.0.0/lib/formtastic/inputs/phone_input.rb +43 -0
  73. data/formtastic-6.0.0/lib/formtastic/inputs/radio_input.rb +164 -0
  74. data/formtastic-6.0.0/lib/formtastic/inputs/range_input.rb +96 -0
  75. data/formtastic-6.0.0/lib/formtastic/inputs/search_input.rb +42 -0
  76. data/formtastic-6.0.0/lib/formtastic/inputs/select_input.rb +236 -0
  77. data/formtastic-6.0.0/lib/formtastic/inputs/string_input.rb +37 -0
  78. data/formtastic-6.0.0/lib/formtastic/inputs/text_input.rb +49 -0
  79. data/formtastic-6.0.0/lib/formtastic/inputs/time_picker_input.rb +100 -0
  80. data/formtastic-6.0.0/lib/formtastic/inputs/time_select_input.rb +39 -0
  81. data/formtastic-6.0.0/lib/formtastic/inputs/time_zone_input.rb +59 -0
  82. data/formtastic-6.0.0/lib/formtastic/inputs/url_input.rb +42 -0
  83. data/formtastic-6.0.0/lib/formtastic/inputs.rb +43 -0
  84. data/formtastic-6.0.0/lib/formtastic/localized_string.rb +18 -0
  85. data/formtastic-6.0.0/lib/formtastic/localizer.rb +151 -0
  86. data/formtastic-6.0.0/lib/formtastic/namespaced_class_finder.rb +98 -0
  87. data/formtastic-6.0.0/lib/formtastic/version.rb +4 -0
  88. data/formtastic-6.0.0/lib/formtastic.rb +48 -0
  89. data/formtastic-6.0.0/lib/generators/formtastic/form/form_generator.rb +111 -0
  90. data/formtastic-6.0.0/lib/generators/formtastic/input/input_generator.rb +47 -0
  91. data/formtastic-6.0.0/lib/generators/formtastic/install/install_generator.rb +23 -0
  92. data/formtastic-6.0.0/lib/generators/formtastic/stylesheets/stylesheets_generator.rb +15 -0
  93. data/formtastic-6.0.0/lib/generators/templates/_form.html.erb +11 -0
  94. data/formtastic-6.0.0/lib/generators/templates/_form.html.haml +8 -0
  95. data/formtastic-6.0.0/lib/generators/templates/_form.html.slim +8 -0
  96. data/formtastic-6.0.0/lib/generators/templates/formtastic.css +289 -0
  97. data/formtastic-6.0.0/lib/generators/templates/formtastic.rb +118 -0
  98. data/formtastic-6.0.0/lib/generators/templates/input.rb +19 -0
  99. data/formtastic-6.0.0/lib/locale/en.yml +10 -0
  100. data/formtastic-6.0.0/sample/basic_inputs.html +224 -0
  101. data/formtastic-6.0.0/sample/config.ru +69 -0
  102. data/formtastic-6.0.0/sample/index.html +14 -0
  103. data/formtastic-6.0.0/script/integration-template.rb +76 -0
  104. data/formtastic-6.0.0/script/integration.sh +32 -0
  105. data/formtastic-6.0.0/spec/action_class_finder_spec.rb +12 -0
  106. data/formtastic-6.0.0/spec/actions/button_action_spec.rb +63 -0
  107. data/formtastic-6.0.0/spec/actions/generic_action_spec.rb +521 -0
  108. data/formtastic-6.0.0/spec/actions/input_action_spec.rb +59 -0
  109. data/formtastic-6.0.0/spec/actions/link_action_spec.rb +92 -0
  110. data/formtastic-6.0.0/spec/builder/custom_builder_spec.rb +132 -0
  111. data/formtastic-6.0.0/spec/builder/error_proc_spec.rb +27 -0
  112. data/formtastic-6.0.0/spec/builder/semantic_fields_for_spec.rb +213 -0
  113. data/formtastic-6.0.0/spec/fast_spec_helper.rb +12 -0
  114. data/formtastic-6.0.0/spec/generators/formtastic/form/form_generator_spec.rb +132 -0
  115. data/formtastic-6.0.0/spec/generators/formtastic/input/input_generator_spec.rb +125 -0
  116. data/formtastic-6.0.0/spec/generators/formtastic/install/install_generator_spec.rb +48 -0
  117. data/formtastic-6.0.0/spec/generators/formtastic/stylesheets/stylesheets_generator_spec.rb +22 -0
  118. data/formtastic-6.0.0/spec/helpers/action_helper_spec.rb +338 -0
  119. data/formtastic-6.0.0/spec/helpers/actions_helper_spec.rb +143 -0
  120. data/formtastic-6.0.0/spec/helpers/form_helper_spec.rb +224 -0
  121. data/formtastic-6.0.0/spec/helpers/input_helper_spec.rb +991 -0
  122. data/formtastic-6.0.0/spec/helpers/inputs_helper_spec.rb +669 -0
  123. data/formtastic-6.0.0/spec/helpers/reflection_helper_spec.rb +32 -0
  124. data/formtastic-6.0.0/spec/helpers/semantic_errors_helper_spec.rb +220 -0
  125. data/formtastic-6.0.0/spec/i18n_spec.rb +210 -0
  126. data/formtastic-6.0.0/spec/input_class_finder_spec.rb +10 -0
  127. data/formtastic-6.0.0/spec/inputs/base/collections_spec.rb +119 -0
  128. data/formtastic-6.0.0/spec/inputs/base/validations_spec.rb +481 -0
  129. data/formtastic-6.0.0/spec/inputs/boolean_input_spec.rb +254 -0
  130. data/formtastic-6.0.0/spec/inputs/check_boxes_input_spec.rb +547 -0
  131. data/formtastic-6.0.0/spec/inputs/color_input_spec.rb +85 -0
  132. data/formtastic-6.0.0/spec/inputs/country_input_spec.rb +133 -0
  133. data/formtastic-6.0.0/spec/inputs/custom_input_spec.rb +51 -0
  134. data/formtastic-6.0.0/spec/inputs/datalist_input_spec.rb +61 -0
  135. data/formtastic-6.0.0/spec/inputs/date_picker_input_spec.rb +449 -0
  136. data/formtastic-6.0.0/spec/inputs/date_select_input_spec.rb +249 -0
  137. data/formtastic-6.0.0/spec/inputs/datetime_picker_input_spec.rb +490 -0
  138. data/formtastic-6.0.0/spec/inputs/datetime_select_input_spec.rb +209 -0
  139. data/formtastic-6.0.0/spec/inputs/email_input_spec.rb +85 -0
  140. data/formtastic-6.0.0/spec/inputs/file_input_spec.rb +89 -0
  141. data/formtastic-6.0.0/spec/inputs/hidden_input_spec.rb +135 -0
  142. data/formtastic-6.0.0/spec/inputs/include_blank_spec.rb +78 -0
  143. data/formtastic-6.0.0/spec/inputs/label_spec.rb +181 -0
  144. data/formtastic-6.0.0/spec/inputs/number_input_spec.rb +815 -0
  145. data/formtastic-6.0.0/spec/inputs/password_input_spec.rb +99 -0
  146. data/formtastic-6.0.0/spec/inputs/phone_input_spec.rb +85 -0
  147. data/formtastic-6.0.0/spec/inputs/placeholder_spec.rb +71 -0
  148. data/formtastic-6.0.0/spec/inputs/radio_input_spec.rb +326 -0
  149. data/formtastic-6.0.0/spec/inputs/range_input_spec.rb +505 -0
  150. data/formtastic-6.0.0/spec/inputs/readonly_spec.rb +50 -0
  151. data/formtastic-6.0.0/spec/inputs/search_input_spec.rb +84 -0
  152. data/formtastic-6.0.0/spec/inputs/select_input_spec.rb +661 -0
  153. data/formtastic-6.0.0/spec/inputs/string_input_spec.rb +326 -0
  154. data/formtastic-6.0.0/spec/inputs/text_input_spec.rb +187 -0
  155. data/formtastic-6.0.0/spec/inputs/time_picker_input_spec.rb +455 -0
  156. data/formtastic-6.0.0/spec/inputs/time_select_input_spec.rb +261 -0
  157. data/formtastic-6.0.0/spec/inputs/time_zone_input_spec.rb +143 -0
  158. data/formtastic-6.0.0/spec/inputs/url_input_spec.rb +85 -0
  159. data/formtastic-6.0.0/spec/inputs/with_options_spec.rb +43 -0
  160. data/formtastic-6.0.0/spec/localizer_spec.rb +130 -0
  161. data/formtastic-6.0.0/spec/namespaced_class_finder_spec.rb +90 -0
  162. data/formtastic-6.0.0/spec/schema.rb +22 -0
  163. data/formtastic-6.0.0/spec/spec.opts +2 -0
  164. data/formtastic-6.0.0/spec/spec_helper.rb +466 -0
  165. data/formtastic-6.0.0/spec/support/custom_macros.rb +570 -0
  166. data/formtastic-6.0.0/spec/support/deprecation.rb +7 -0
  167. data/formtastic-6.0.0/spec/support/shared_examples.rb +13 -0
  168. data/formtastic-6.0.0/spec/support/specialized_class_finder_shared_example.rb +27 -0
  169. data/formtastic-6.0.0/spec/support/test_environment.rb +46 -0
  170. data/mega-safe-tool.gemspec +11 -0
  171. metadata +209 -0
@@ -0,0 +1,289 @@
1
+ /* -------------------------------------------------------------------------------------------------
2
+
3
+ It's *strongly* suggested that you don't modify this file. Instead, load a new stylesheet after
4
+ this one in your layouts (eg formtastic_changes.css) and override the styles to suit your needs.
5
+ This will allow you to update formtastic.css with new releases without clobbering your own changes.
6
+
7
+ This stylesheet forms part of the Formtastic Rails gem
8
+ (c) Justin French
9
+
10
+ --------------------------------------------------------------------------------------------------*/
11
+
12
+ /* NORMALIZE AND RESET - obviously inspired by Yahoo's reset.css, but scoped to just .formtastic
13
+ --------------------------------------------------------------------------------------------------*/
14
+ .formtastic,
15
+ .formtastic ul,
16
+ .formtastic ol,
17
+ .formtastic li,
18
+ .formtastic fieldset,
19
+ .formtastic legend,
20
+ .formtastic input,
21
+ .formtastic button,
22
+ .formtastic textarea,
23
+ .formtastic select,
24
+ .formtastic p {
25
+ margin:0;
26
+ padding:0;
27
+ }
28
+
29
+ .formtastic fieldset {
30
+ border:0;
31
+ }
32
+
33
+ .formtastic em,
34
+ .formtastic strong {
35
+ font-style:normal;
36
+ font-weight:normal;
37
+ }
38
+
39
+ .formtastic ol,
40
+ .formtastic ul {
41
+ list-style:none;
42
+ }
43
+
44
+ .formtastic abbr,
45
+ .formtastic acronym {
46
+ border:0;
47
+ font-variant:normal;
48
+ }
49
+
50
+ .formtastic input,
51
+ .formtastic button,
52
+ .formtastic textarea {
53
+ font-family:sans-serif;
54
+ font-size:inherit;
55
+ font-weight:inherit;
56
+ }
57
+
58
+ .formtastic input,
59
+ .formtastic textarea,
60
+ .formtastic select {
61
+ font-size:100%;
62
+ }
63
+
64
+ .formtastic legend {
65
+ white-space:normal;
66
+ color:#000;
67
+ }
68
+
69
+
70
+ /* SEMANTIC ERRORS
71
+ --------------------------------------------------------------------------------------------------*/
72
+ .formtastic .errors {
73
+ color:#cc0000;
74
+ margin:0.5em 0 1.5em 25%;
75
+ list-style:square;
76
+ }
77
+
78
+ .formtastic .errors li {
79
+ padding:0;
80
+ border:none;
81
+ display:list-item;
82
+ }
83
+
84
+
85
+ /* BUTTONS & ACTIONS
86
+ --------------------------------------------------------------------------------------------------*/
87
+ .formtastic .buttons,
88
+ .formtastic .actions {
89
+ overflow:hidden; /* clear containing floats */
90
+ padding-left:25%;
91
+ }
92
+
93
+ .formtastic .button,
94
+ .formtastic .action {
95
+ float:left;
96
+ padding-right:0.5em;
97
+ }
98
+
99
+ .formtastic .button_action button {
100
+ padding:3px 8px;
101
+ }
102
+
103
+ .formtastic .link_action a {
104
+ display:block;
105
+ padding:3px 0;
106
+ }
107
+
108
+
109
+ /* INPUTS
110
+ --------------------------------------------------------------------------------------------------*/
111
+ .formtastic .inputs {
112
+ overflow:hidden; /* clear containing floats */
113
+ }
114
+
115
+ .formtastic .input {
116
+ overflow:hidden; /* clear containing floats */
117
+ padding:0.5em 0; /* padding and negative margin juggling is for Firefox */
118
+ margin-top:-0.5em;
119
+ margin-bottom:1em;
120
+ }
121
+
122
+
123
+ /* LEFT ALIGNED LABELS
124
+ --------------------------------------------------------------------------------------------------*/
125
+ .formtastic .input .label {
126
+ display:block;
127
+ width:25%;
128
+ float:left;
129
+ padding-top:.2em;
130
+ }
131
+
132
+ .formtastic .fragments .label,
133
+ .formtastic .choices .label {
134
+ position:absolute;
135
+ width:95%;
136
+ left:0px;
137
+ }
138
+
139
+ .formtastic .fragments .label label,
140
+ .formtastic .choices .label label {
141
+ position:absolute;
142
+ }
143
+
144
+ /* NESTED FIELDSETS AND LEGENDS (radio, check boxes and date/time inputs use nested fieldsets)
145
+ --------------------------------------------------------------------------------------------------*/
146
+ .formtastic .choices {
147
+ position:relative;
148
+ }
149
+
150
+ .formtastic .choices-group {
151
+ float:left;
152
+ width:74%;
153
+ margin:0;
154
+ padding:0 0 0 25%;
155
+ }
156
+
157
+ .formtastic .choice {
158
+ padding:0;
159
+ border:0;
160
+ }
161
+
162
+
163
+ /* INLINE HINTS
164
+ --------------------------------------------------------------------------------------------------*/
165
+ .formtastic .input .inline-hints {
166
+ color:#666;
167
+ margin:0.5em 0 0 25%;
168
+ }
169
+
170
+
171
+ /* INLINE ERRORS
172
+ --------------------------------------------------------------------------------------------------*/
173
+ .formtastic .inline-errors {
174
+ color:#cc0000;
175
+ margin:0.5em 0 0 25%;
176
+ }
177
+
178
+ .formtastic .errors {
179
+ color:#cc0000;
180
+ margin:0.5em 0 0 25%;
181
+ list-style:square;
182
+ }
183
+
184
+ .formtastic .errors li {
185
+ padding:0;
186
+ border:none;
187
+ display:list-item;
188
+ }
189
+
190
+
191
+ /* STRING, NUMERIC, PASSWORD, EMAIL, URL, PHONE, SEARCH (ETC) OVERRIDES
192
+ --------------------------------------------------------------------------------------------------*/
193
+ .formtastic .stringish input {
194
+ width:72%;
195
+ }
196
+
197
+ .formtastic .stringish input[size],
198
+ .formtastic .stringish input[max] {
199
+ width:auto;
200
+ max-width:72%;
201
+ }
202
+
203
+
204
+ /* TEXTAREA OVERRIDES
205
+ --------------------------------------------------------------------------------------------------*/
206
+ .formtastic .text textarea {
207
+ width:72%;
208
+ }
209
+
210
+ .formtastic .text textarea[cols] {
211
+ width:auto;
212
+ max-width:72%;
213
+ }
214
+
215
+
216
+ /* HIDDEN OVERRIDES
217
+ --------------------------------------------------------------------------------------------------*/
218
+ .formtastic .hidden {
219
+ display:none;
220
+ }
221
+
222
+
223
+ /* BOOLEAN LABELS
224
+ --------------------------------------------------------------------------------------------------*/
225
+ .formtastic .boolean label {
226
+ margin-left:25%;
227
+ display:block;
228
+ }
229
+
230
+
231
+ /* CHOICE GROUPS
232
+ --------------------------------------------------------------------------------------------------*/
233
+ .formtastic .choices-group {
234
+ margin-bottom:-0.5em;
235
+ }
236
+
237
+ .formtastic .choice {
238
+ margin:0.1em 0 0.5em 0;
239
+ }
240
+
241
+ .formtastic .choice label {
242
+ float:none;
243
+ width:100%;
244
+ line-height:100%;
245
+ padding-top:0;
246
+ margin-bottom:0.6em;
247
+ }
248
+
249
+
250
+ /* ADJUSTMENTS FOR INPUTS INSIDE LABELS (boolean input, radio input, check_boxes input)
251
+ --------------------------------------------------------------------------------------------------*/
252
+ .formtastic .choice label input,
253
+ .formtastic .boolean label input {
254
+ margin:0 0.3em 0 0.1em;
255
+ line-height:100%;
256
+ }
257
+
258
+
259
+ /* FRAGMENTED INPUTS (DATE/TIME/DATETIME)
260
+ --------------------------------------------------------------------------------------------------*/
261
+ .formtastic .fragments {
262
+ position:relative;
263
+ }
264
+
265
+ .formtastic .fragments-group {
266
+ float:left;
267
+ width:74%;
268
+ margin:0;
269
+ padding:0 0 0 25%;
270
+ }
271
+
272
+ .formtastic .fragment {
273
+ float:left;
274
+ width:auto;
275
+ margin:0 .3em 0 0;
276
+ padding:0;
277
+ border:0;
278
+ }
279
+
280
+ .formtastic .fragment label {
281
+ display:none;
282
+ }
283
+
284
+ .formtastic .fragment label input {
285
+ display:inline;
286
+ margin:0;
287
+ padding:0;
288
+ }
289
+
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Set the default text field size when input is a string. Default is nil.
4
+ # Formtastic::FormBuilder.default_text_field_size = 50
5
+
6
+ # Set the default text area height when input is a text. Default is 20.
7
+ # Formtastic::FormBuilder.default_text_area_height = 5
8
+
9
+ # Set the default text area width when input is a text. Default is nil.
10
+ # Formtastic::FormBuilder.default_text_area_width = 50
11
+
12
+ # Should all fields be considered "required" by default?
13
+ # Defaults to true.
14
+ # Formtastic::FormBuilder.all_fields_required_by_default = true
15
+
16
+ # Should select fields have a blank option/prompt by default?
17
+ # Defaults to true.
18
+ # Formtastic::FormBuilder.include_blank_for_select_by_default = true
19
+
20
+ # Set the string that will be appended to the labels/fieldsets which are required.
21
+ # It accepts string or procs and the default is a localized version of
22
+ # '<abbr title="required">*</abbr>'. In other words, if you configure formtastic.required
23
+ # in your locale, it will replace the abbr title properly. But if you don't want to use
24
+ # abbr tag, you can simply give a string as below.
25
+ # Formtastic::FormBuilder.required_string = "(required)"
26
+
27
+ # Set the string that will be appended to the labels/fieldsets which are optional.
28
+ # Defaults to an empty string ("") and also accepts procs (see required_string above).
29
+ # Formtastic::FormBuilder.optional_string = "(optional)"
30
+
31
+ # Set the way inline errors will be displayed.
32
+ # Defaults to :sentence, valid options are :sentence, :list, :first and :none
33
+ # Formtastic::FormBuilder.inline_errors = :sentence
34
+ # Formtastic uses the following classes as default for hints, inline_errors and error list
35
+
36
+ # If you override the class here, please ensure to override it in your stylesheets as well.
37
+ # Formtastic::FormBuilder.default_hint_class = "inline-hints"
38
+ # Formtastic::FormBuilder.default_inline_error_class = "inline-errors"
39
+ # Formtastic::FormBuilder.default_error_list_class = "errors"
40
+
41
+ # Set the method to call on label text to transform or format it for human-friendly
42
+ # reading when formtastic is used without object. Defaults to :humanize.
43
+ # Formtastic::FormBuilder.label_str_method = :humanize
44
+
45
+ # Set the array of methods to try calling on parent objects in :select and :radio inputs
46
+ # for the text inside each @<option>@ tag or alongside each radio @<input>@. The first method
47
+ # that is found on the object will be used.
48
+ # Defaults to ["to_label", "display_name", "full_name", "name", "title", "username", "login", "value", "to_s"]
49
+ # Formtastic::FormBuilder.collection_label_methods = [
50
+ # "to_label", "display_name", "full_name", "name", "title", "username", "login", "value", "to_s"]
51
+
52
+ # Specifies if labels/hints for input fields automatically be looked up using I18n.
53
+ # Default value: true. Overridden for specific fields by setting value to true,
54
+ # i.e. :label => true, or :hint => true (or opposite depending on initialized value)
55
+ # Formtastic::FormBuilder.i18n_lookups_by_default = false
56
+
57
+ # Specifies if I18n lookups of the default I18n Localizer should be cached to improve performance.
58
+ # Defaults to true.
59
+ # Formtastic::FormBuilder.i18n_cache_lookups = false
60
+
61
+ # Specifies the class to use for localization lookups. You can create your own
62
+ # class and use it instead by subclassing Formtastic::Localizer (which is the default).
63
+ # Formtastic::FormBuilder.i18n_localizer = MyOwnLocalizer
64
+
65
+ # You can add custom inputs or override parts of Formtastic by subclassing Formtastic::FormBuilder and
66
+ # specifying that class here. Defaults to Formtastic::FormBuilder.
67
+ # Formtastic::Helpers::FormHelper.builder = MyCustomBuilder
68
+
69
+ # All formtastic forms have a class that indicates that they are just that. You
70
+ # can change it to any class you want.
71
+ # Formtastic::Helpers::FormHelper.default_form_class = 'formtastic'
72
+
73
+ # Formtastic will infer a class name from the model, array, string or symbol you pass to the
74
+ # form builder. You can customize the way that class is presented by overriding
75
+ # this proc.
76
+ # Formtastic::Helpers::FormHelper.default_form_model_class_proc = proc { |model_class_name| model_class_name }
77
+
78
+ # Allows to set a custom field_error_proc wrapper. By default this wrapper
79
+ # is disabled since `formtastic` already adds an error class to the LI tag
80
+ # containing the input.
81
+ # Formtastic::Helpers::FormHelper.formtastic_field_error_proc = proc { |html_tag, instance_tag| html_tag }
82
+
83
+ # You can opt-in to Formtastic's use of the HTML5 `required` attribute on `<input>`, `<select>`
84
+ # and `<textarea>` tags by setting this to true (defaults to false).
85
+ # Formtastic::FormBuilder.use_required_attribute = false
86
+
87
+ # You can opt-in to new HTML5 browser validations (for things like email and url inputs) by setting
88
+ # this to true. Doing so will omit the `novalidate` attribute from the `<form>` tag.
89
+ # See http://diveintohtml5.org/forms.html#validation for more info.
90
+ # Formtastic::FormBuilder.perform_browser_validations = true
91
+
92
+ # By creating custom input class finder, you can change how input classes are looked up.
93
+ # For example you can make it to search for TextInputFilter instead of TextInput.
94
+ # See https://github.com/formtastic/formtastic/wiki/Custom-Class-Finders
95
+ # Formtastic::FormBuilder.input_class_finder = Formtastic::InputClassFinder
96
+
97
+ # Define custom namespaces in which to look up your Input classes. Default is
98
+ # to look up in the global scope and in Formtastic::Inputs.
99
+ # Formtastic::FormBuilder.input_namespaces = [ ::Object, ::MyInputsModule, ::Formtastic::Inputs ]
100
+
101
+ # By creating custom action class finder, you can change how action classes are looked up.
102
+ # For example you can make it to search for MyButtonAction instead of ButtonAction.
103
+ # See https://github.com/formtastic/formtastic/wiki/Custom-Class-Finders
104
+ # Formtastic::FormBuilder.action_class_finder = Formtastic::ActionClassFinder
105
+
106
+ # Define custom namespaces in which to look up your Action classes. Default is
107
+ # to look up in the global scope and in Formtastic::Actions.
108
+ # Formtastic::FormBuilder.action_namespaces = [ ::Object, ::MyActionsModule, ::Formtastic::Actions ]
109
+
110
+ # Which columns to skip when automatically rendering a form without any fields specified.
111
+ # Formtastic::FormBuilder.skipped_columns = [:created_at, :updated_at, :created_on, :updated_on, :lock_version, :version]
112
+
113
+ # You can opt-in to accessibility features for the `semantic_errors` helper by setting
114
+ # this to true. Doing so will render the attributes in the error summary list
115
+ # as `<li> <a>` links to the inputs that have errors. the inline error sentence's id is added to
116
+ # the errored input's aria-describedby. This ensures that the errored input is read out with
117
+ # the inline error sentence's error explanation, aria-invalid is set to true for errored inputs
118
+ # Formtastic::FormBuilder.semantic_errors_link_to_inputs = true
@@ -0,0 +1,19 @@
1
+ class <%= name.camelize %>Input <%= @extension_sentence %>
2
+ <%- if !options[:extend] -%>
3
+ include Formtastic::Inputs::Base
4
+ <%- end -%>
5
+
6
+ <%- if !options[:extend] || (options[:extend] == "extend") -%>
7
+ def to_html
8
+ # Add your custom input definition here.
9
+ <%- if options[:extend] == "extend" -%>
10
+ super
11
+ <%- end -%>
12
+ end
13
+
14
+ <%- else -%>
15
+ def input_html_options
16
+ # Add your custom input extension here.
17
+ end
18
+ <%- end -%>
19
+ end
@@ -0,0 +1,10 @@
1
+ en:
2
+ formtastic:
3
+ :yes: 'Yes'
4
+ :no: 'No'
5
+ :create: 'Create %{model}'
6
+ :update: 'Update %{model}'
7
+ :submit: 'Submit %{model}'
8
+ :cancel: 'Cancel %{model}'
9
+ :reset: 'Reset %{model}'
10
+ :required: 'required'
@@ -0,0 +1,224 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta content="noindex,nofollow" name="robots">
5
+ <meta charset="utf-8">
6
+ <title>Formtastic</title>
7
+
8
+ <link href="/formtastic.css" rel="stylesheet" type="text/css" />
9
+ <!--[if IE 6]><link href="/formtastic_ie6.css" rel="stylesheet" type="text/css" /><![endif]-->
10
+ <!--[if IE 7]><link href="/formtastic_ie7.css" rel="stylesheet" type="text/css" /><![endif]-->
11
+
12
+ <style>
13
+ body {
14
+ font-family: helvetica, arial;
15
+ font-size: 12px;
16
+ }
17
+ </style>
18
+ </head>
19
+ </html>
20
+ <body>
21
+ <h1>Formtastic</h1>
22
+
23
+ <form action="basic_inputs.html" class="formtastic gem" id="new_gem" method="get">
24
+ <fieldset class="inputs">
25
+ <ol>
26
+ <li class="input string stringish optional" id="gem_summary_input">
27
+ <label class="label" for="gem_summary">Summary</label>
28
+ <input id="gem_summary" name="gem[summary]" type="text" value="A Rails form builder plugin/gem with semantically rich and accessible markup" maxlength="255">
29
+ </li>
30
+
31
+ <li class="input text optional" id="gem_description_input">
32
+ <label class="label" for="gem_description">Description</label>
33
+ <textarea id="gem_description" rows="5">A Rails form builder plugin/gem with semantically rich and accessible markup</textarea>
34
+ </li>
35
+
36
+ <li class="input url stringish optional" id="gem_url_input">
37
+ <label class="label" for="gem_url">URL</label>
38
+ <input id="gem_url" name="gem[url]" type="url">
39
+ <p class="inline-hints">Example: https://github.com/formtastic/formtastic</p>
40
+ </li>
41
+
42
+ <li class="input password stringish required" id="gem_password_input">
43
+ <label class="label" for="gem_password">Password<abbr title="required">*</abbr></label>
44
+ <input id="gem_password" name="gem[password]" type="password">
45
+ <p class="inline-errors">can't be blank</p>
46
+ </li>
47
+
48
+ <li class="input password stringish required" id="gem_password_input">
49
+ <label class="label" for="gem_password_confirmation">Password confirmation<abbr title="required">*</abbr></label>
50
+ <input id="gem_password_confirmation" name="gem[password_confirmation]" type="password">
51
+ <p class="inline-errors">can't be blank</p>
52
+ </li>
53
+
54
+ <li class="input numeric stringish optional" id="gem_downloads_input">
55
+ <label class="label" for="gem_downloads">Downloads</label>
56
+ <input id="gem_downloads" name="gem[downloads]" type="numeric" value="209,354">
57
+ </li>
58
+
59
+ <li class="input file optional" id="gem_file_input">
60
+ <label class="label" for="gem_file">File</label>
61
+ <input id="gem_file" name="gem[file]" type="file" value="value">
62
+ </li>
63
+
64
+ <li class="input email stringish optional" id="gem_email_input">
65
+ <label class="label" for="gem_email">Email</label>
66
+ <input id="gem_email" name="gem[email]" type="email">
67
+ </li>
68
+
69
+ <li class="input phone stringish optional" id="gem_phone_input">
70
+ <label class="label" for="gem_phone">Phone</label>
71
+ <input id="gem_phone" name="gem[phone]" type="phone">
72
+ </li>
73
+
74
+ <li class="input search stringish optional" id="gem_search_input">
75
+ <label class="label" for="gem_search">Search</label>
76
+ <input id="gem_search" name="gem[search]" type="search">
77
+ </li>
78
+
79
+ <li class="input date optional">
80
+ <fieldset class="fragments">
81
+ <legend class="label"><label>First release</label></legend>
82
+ <ol class="fragments-group">
83
+ <li class="fragment">
84
+ <label>Year</label>
85
+ <select id="gem_first_release_1i" name="gem[first_release][1i]">
86
+ <option>2009</option>
87
+ </select>
88
+ </li>
89
+ <li class="fragment">
90
+ <label>Month</label>
91
+ <select id="gem_first_release_2i" name="gem[first_release][2i]">
92
+ <option>October</option>
93
+ </select>
94
+ </li>
95
+ <li class="fragment">
96
+ <label>Day</label>
97
+ <select id="gem_first_release_3i" name="gem[first_release][3i]">
98
+ <option>15</option>
99
+ </select>
100
+ </li>
101
+ </ol>
102
+ </fieldset>
103
+ </li>
104
+
105
+ <li class="input date_picker optional">
106
+ <label class="label" for="gem_expiry">Expiry date</label>
107
+ <input id="gem_expiry" name="gem[gem_expiry]" type="date" size="10" maxlength="10" min="2012-01-01" max="2012-12-31" step="1" value="2012-01-01">
108
+ </li>
109
+
110
+ <li class="input datetime_picker optional">
111
+ <label class="label" for="gem_expiry">Expiry datetime-local</label>
112
+ <input id="gem_expiry" name="gem[gem_expiry]" type="datetime-local" size="16" maxlength="16" min="2012-01-01T00:00" max="2012-12-31T23:59" step="1800">
113
+ </li>
114
+
115
+ <li class="input datetime_picker optional">
116
+ <label class="label" for="gem_expiry">Expiry datetime</label>
117
+ <input id="gem_expiry" name="gem[gem_expiry]" type="datetime" size="16" maxlength="16" min="2012-01-01T00:00" max="2012-12-31T23:59" step="1800">
118
+ </li>
119
+
120
+ <li class="input time_picker optional">
121
+ <label class="label" for="gem_expiry">Expiry time</label>
122
+ <input id="gem_expiry" name="gem[gem_expiry]" type="time" size="5" maxlength="5" min="T00:00" max="23:59" step="60">
123
+ </li>
124
+
125
+ <li class="input string stringish optional autofocus" id="gem_autofocus_input">
126
+ <label class="label" for="gem_autofocus">Autofocus</label>
127
+ <input id="gem_autofocus" name="gem[autofocus]" type="text" value="The focus is set to this field" autofocus="autofocus">
128
+ </li>
129
+
130
+ <li class="input boolean optional" id="gem_terms_and_conditions_input">
131
+ <label for="gem_terms_and_conditions">
132
+ <input id="gem_terms_and_conditions" name="gem[terms_and_conditions]" type="checkbox" value="1" checked="checked">
133
+ I agree to your draconian terms of service even though I didn't read them
134
+ </label>
135
+ </li>
136
+
137
+ <li class="input select optional" id="gem_awesomeness_input">
138
+ <label class="label" for="gem_awesomeness">Select</label>
139
+ <select id="gem_awesomeness" name="gem[awesomeness]">
140
+ <option value="5">First choice</option>
141
+ <option value="4">Second choice</option>
142
+ </select>
143
+ </li>
144
+
145
+ <li class="input radio optional">
146
+ <fieldset class="choices">
147
+ <legend class="label"><label>Rate</label></legend>
148
+ <ol class="choices-group">
149
+ <li class="choice">
150
+ <label><input id="gem_rate_five" name="gem[rate]" type="radio" checked="checked"> Five</label></label>
151
+ </li>
152
+ <li class="choice">
153
+ <label><input id="gem_rate_four" name="gem[rate]" type="radio"> Four</label></label>
154
+ </li>
155
+ <li class="choice">
156
+ <label><input id="gem_rate_three" name="gem[rate]" type="radio"> Three</label></label>
157
+ </li>
158
+ <li class="choice">
159
+ <label><input id="gem_rate_two" name="gem[rate]" type="radio"> Two</label></label>
160
+ </li>
161
+ <li class="choice">
162
+ <label><input id="gem_rate_one" name="gem[rate]" type="radio"> One</label></label>
163
+ </li>
164
+ </ol>
165
+ </fieldset>
166
+ </li>
167
+
168
+ <li class="input check_boxes optional">
169
+ <fieldset class="choices">
170
+ <legend class="label"><label>Browsers</label></legend>
171
+ <ol class="choices-group">
172
+ <li class="choice">
173
+ <label><input id="gem_browser_google_chrome" name="gem[browser][]" type="checkbox"> Google Chrome</label></label>
174
+ </li>
175
+ <li class="choice">
176
+ <label><input id="gem_browser_apple_safari" name="gem[browser][]" type="checkbox"> Apple Safari</label></label>
177
+ </li>
178
+ <li class="choice">
179
+ <label><input id="gem_browser_mozilla_firefox" name="gem[browser][]" type="checkbox"> Mozilla Firefox</label></label>
180
+ </li>
181
+ <li class="choice">
182
+ <label><input id="gem_browser_opera" name="gem[browser][]" type="checkbox"> Opera</label></label>
183
+ </li>
184
+ <li class="choice">
185
+ <label><input id="gem_browser_internet_explorer" name="gem[browser][]" type="checkbox"> Internet Explorer (Although you really can't call it a browser can you? This is some long text to force wrapping.)</label></label>
186
+ </li>
187
+ </ol>
188
+ </fieldset>
189
+ </li>
190
+ </ol>
191
+ </fieldset>
192
+
193
+ <fieldset class="buttons">
194
+ <ol>
195
+ <li class="button commit">
196
+ <input class="create" id="gem_submit" type="submit">
197
+ </li>
198
+ </ol>
199
+ </fieldset>
200
+
201
+ <fieldset class="actions">
202
+ <ol>
203
+ <li class="action input_action">
204
+ <input id="gem_submit" type="submit" value="Create Thing">
205
+ </li>
206
+ </ol>
207
+ </fieldset>
208
+
209
+ <fieldset class="actions">
210
+ <ol>
211
+ <li class="action button_action">
212
+ <button id="gem_submit" type="submit">Create Thing</button>
213
+ </li>
214
+ <li class="action button_action">
215
+ <button id="gem_submit" type="reset">Reset</button>
216
+ </li>
217
+ <li class="action link_action">
218
+ <a href="#">Cancel</a>
219
+ </li>
220
+ </ol>
221
+ </fieldset>
222
+ </form>
223
+ </body>
224
+ </html>