wallaby 5.0.1 → 5.1.3

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 (350) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -3
  3. data/app/assets/images/wallaby/404.png +0 -0
  4. data/app/assets/images/wallaby/422.png +0 -0
  5. data/app/assets/images/wallaby/500.png +0 -0
  6. data/app/assets/javascripts/wallaby/application.js +1 -15
  7. data/app/assets/javascripts/wallaby/auto_select.js +77 -0
  8. data/app/assets/javascripts/wallaby/base.js +17 -0
  9. data/app/assets/javascripts/wallaby/setup.js.erb +60 -0
  10. data/app/assets/stylesheets/wallaby/application.scss +1 -51
  11. data/app/assets/stylesheets/wallaby/base/_layout.scss +257 -9
  12. data/app/assets/stylesheets/wallaby/base/_layout_desktop.scss +53 -0
  13. data/app/assets/stylesheets/wallaby/base/_mixins.scss +119 -0
  14. data/app/assets/stylesheets/wallaby/base/_override.scss +10 -0
  15. data/app/assets/stylesheets/wallaby/base/_vars.scss +72 -2
  16. data/app/assets/stylesheets/wallaby/base.scss +27 -0
  17. data/app/assets/stylesheets/wallaby/components/_auto_select.scss +119 -0
  18. data/app/assets/stylesheets/wallaby/components/_auto_select_desktop.scss +7 -0
  19. data/app/assets/stylesheets/wallaby/components/_color_square.scss +8 -0
  20. data/app/assets/stylesheets/wallaby/components/_filters.scss +14 -0
  21. data/app/assets/stylesheets/wallaby/components/_links.scss +25 -0
  22. data/app/assets/stylesheets/wallaby/components/_pagination.scss +35 -91
  23. data/app/assets/stylesheets/wallaby/components/_query.scss +101 -0
  24. data/app/assets/stylesheets/wallaby/components/_text.scss +6 -6
  25. data/app/assets/stylesheets/wallaby/pages/_error.scss +108 -0
  26. data/app/assets/stylesheets/wallaby/pages/_form.scss +40 -0
  27. data/app/assets/stylesheets/wallaby/pages/_index.scss +193 -0
  28. data/app/assets/stylesheets/wallaby/pages/_index_desktop.scss +22 -0
  29. data/app/assets/stylesheets/wallaby/pages/_show.scss +21 -0
  30. data/app/controllers/wallaby/abstract_resources_controller.rb +334 -0
  31. data/app/controllers/wallaby/application_controller.rb +45 -15
  32. data/app/controllers/wallaby/base_controller.rb +30 -0
  33. data/app/controllers/wallaby/resources_controller.rb +2 -131
  34. data/app/controllers/wallaby/secure_controller.rb +38 -24
  35. data/app/routes/wallaby/resources_router.rb +40 -43
  36. data/app/security/ability.rb +4 -28
  37. data/app/views/layouts/wallaby/application.html.erb +11 -6
  38. data/app/views/layouts/wallaby/error.html.erb +26 -4
  39. data/app/views/wallaby/error.html.erb +11 -0
  40. data/app/views/wallaby/error.json.jbuilder +8 -0
  41. data/app/views/wallaby/{shared → resources}/_flash_messages.html.erb +0 -0
  42. data/app/views/wallaby/resources/_footer.html.erb +1 -0
  43. data/app/views/wallaby/resources/_form.html.erb +2 -2
  44. data/app/views/wallaby/resources/_header.html.erb +38 -0
  45. data/app/views/wallaby/resources/_imodal.html.erb +13 -0
  46. data/app/views/wallaby/resources/_index_actions.html.erb +4 -1
  47. data/app/views/wallaby/resources/_index_filters.html.erb +23 -0
  48. data/app/views/wallaby/resources/_index_pagination.html.erb +63 -0
  49. data/app/views/wallaby/resources/_index_query.html.erb +23 -0
  50. data/app/views/wallaby/resources/_logo.html.erb +1 -0
  51. data/app/views/wallaby/resources/_navs.html.erb +9 -0
  52. data/app/views/wallaby/resources/_resource_actions.html.erb +3 -3
  53. data/app/views/wallaby/resources/{shared/_resource_nav.html.erb → _resource_navs.html.erb} +6 -6
  54. data/app/views/wallaby/resources/_title.html.erb +1 -0
  55. data/app/views/wallaby/resources/_user_menu.html.erb +5 -0
  56. data/app/views/wallaby/resources/bad_request.json.jbuilder +7 -0
  57. data/app/views/wallaby/resources/edit.html.erb +16 -12
  58. data/app/views/wallaby/resources/form/_belongs_to.html.erb +63 -12
  59. data/app/views/wallaby/resources/form/_bigint.html.erb +10 -1
  60. data/app/views/wallaby/resources/form/_bigserial.html.erb +18 -0
  61. data/app/views/wallaby/resources/form/_binary.html.erb +11 -2
  62. data/app/views/wallaby/resources/form/_bit.html.erb +10 -1
  63. data/app/views/wallaby/resources/form/_bit_varying.html.erb +10 -1
  64. data/app/views/wallaby/resources/form/_blob.html.erb +21 -0
  65. data/app/views/wallaby/resources/form/_boolean.html.erb +9 -0
  66. data/app/views/wallaby/resources/form/_box.html.erb +21 -0
  67. data/app/views/wallaby/resources/form/_cidr.html.erb +13 -1
  68. data/app/views/wallaby/resources/form/_circle.html.erb +21 -0
  69. data/app/views/wallaby/resources/form/_citext.html.erb +11 -2
  70. data/app/views/wallaby/resources/form/_color.html.erb +11 -2
  71. data/app/views/wallaby/resources/form/_date.html.erb +12 -3
  72. data/app/views/wallaby/resources/form/_daterange.html.erb +14 -5
  73. data/app/views/wallaby/resources/form/_datetime.html.erb +12 -3
  74. data/app/views/wallaby/resources/form/_decimal.html.erb +10 -1
  75. data/app/views/wallaby/resources/form/_dropdown.html.erb +18 -0
  76. data/app/views/wallaby/resources/form/_email.html.erb +9 -0
  77. data/app/views/wallaby/resources/form/_file.html.erb +21 -0
  78. data/app/views/wallaby/resources/form/_float.html.erb +10 -1
  79. data/app/views/wallaby/resources/form/_has_and_belongs_to_many.html.erb +53 -7
  80. data/app/views/wallaby/resources/form/_has_many.html.erb +52 -7
  81. data/app/views/wallaby/resources/form/_has_one.html.erb +10 -2
  82. data/app/views/wallaby/resources/form/_hstore.html.erb +12 -5
  83. data/app/views/wallaby/resources/form/_inet.html.erb +13 -1
  84. data/app/views/wallaby/resources/form/_int4range.html.erb +11 -2
  85. data/app/views/wallaby/resources/form/_int8range.html.erb +11 -2
  86. data/app/views/wallaby/resources/form/_integer.html.erb +10 -1
  87. data/app/views/wallaby/resources/form/_json.html.erb +13 -6
  88. data/app/views/wallaby/resources/form/_jsonb.html.erb +13 -6
  89. data/app/views/wallaby/resources/form/_line.html.erb +21 -0
  90. data/app/views/wallaby/resources/form/_longblob.html.erb +21 -0
  91. data/app/views/wallaby/resources/form/_longtext.html.erb +30 -0
  92. data/app/views/wallaby/resources/form/_lseg.html.erb +21 -0
  93. data/app/views/wallaby/resources/form/_ltree.html.erb +17 -1
  94. data/app/views/wallaby/resources/form/_macaddr.html.erb +13 -1
  95. data/app/views/wallaby/resources/form/_markdown.html.erb +29 -0
  96. data/app/views/wallaby/resources/form/_mediumblob.html.erb +21 -0
  97. data/app/views/wallaby/resources/form/_mediumtext.html.erb +30 -0
  98. data/app/views/wallaby/resources/form/_money.html.erb +10 -1
  99. data/app/views/wallaby/resources/form/_numrange.html.erb +11 -2
  100. data/app/views/wallaby/resources/form/_password.html.erb +14 -1
  101. data/app/views/wallaby/resources/form/_path.html.erb +17 -0
  102. data/app/views/wallaby/resources/form/_point.html.erb +11 -2
  103. data/app/views/wallaby/resources/form/_polygon.html.erb +17 -0
  104. data/app/views/wallaby/resources/form/_serial.html.erb +18 -0
  105. data/app/views/wallaby/resources/form/_sti.html.erb +18 -0
  106. data/app/views/wallaby/resources/form/_string.html.erb +14 -1
  107. data/app/views/wallaby/resources/form/_text.html.erb +11 -2
  108. data/app/views/wallaby/resources/form/_time.html.erb +12 -3
  109. data/app/views/wallaby/resources/form/_tinyblob.html.erb +21 -0
  110. data/app/views/wallaby/resources/form/_tinytext.html.erb +30 -0
  111. data/app/views/wallaby/resources/form/_tsrange.html.erb +14 -5
  112. data/app/views/wallaby/resources/form/_tstzrange.html.erb +14 -5
  113. data/app/views/wallaby/resources/form/_tsvector.html.erb +9 -0
  114. data/app/views/wallaby/resources/form/_unsigned_bigint.html.erb +18 -0
  115. data/app/views/wallaby/resources/form/_unsigned_decimal.html.erb +18 -0
  116. data/app/views/wallaby/resources/form/_unsigned_float.html.erb +18 -0
  117. data/app/views/wallaby/resources/form/_unsigned_integer.html.erb +18 -0
  118. data/app/views/wallaby/resources/form/_uuid.html.erb +10 -1
  119. data/app/views/wallaby/resources/form/_xml.html.erb +11 -5
  120. data/app/views/wallaby/resources/form.json.jbuilder +5 -0
  121. data/app/views/wallaby/{core → resources}/home.html.erb +1 -1
  122. data/app/views/wallaby/resources/index/_belongs_to.html.erb +5 -1
  123. data/app/views/wallaby/resources/index/_bigint.html.erb +4 -0
  124. data/app/views/wallaby/resources/index/_bigserial.html.erb +5 -0
  125. data/app/views/wallaby/resources/index/_binary.html.erb +5 -1
  126. data/app/views/wallaby/resources/index/_bit.html.erb +4 -0
  127. data/app/views/wallaby/resources/index/_bit_varying.html.erb +4 -0
  128. data/app/views/wallaby/resources/index/_blob.html.erb +5 -0
  129. data/app/views/wallaby/resources/index/_boolean.html.erb +5 -1
  130. data/app/views/wallaby/resources/index/_box.html.erb +16 -0
  131. data/app/views/wallaby/resources/index/_cidr.html.erb +5 -1
  132. data/app/views/wallaby/resources/index/_circle.html.erb +16 -0
  133. data/app/views/wallaby/resources/index/_citext.html.erb +5 -1
  134. data/app/views/wallaby/resources/index/_color.html.erb +6 -1
  135. data/app/views/wallaby/resources/index/_date.html.erb +4 -0
  136. data/app/views/wallaby/resources/index/_daterange.html.erb +5 -1
  137. data/app/views/wallaby/resources/index/_datetime.html.erb +5 -1
  138. data/app/views/wallaby/resources/index/_decimal.html.erb +4 -0
  139. data/app/views/wallaby/resources/index/_email.html.erb +4 -0
  140. data/app/views/wallaby/resources/index/_float.html.erb +4 -0
  141. data/app/views/wallaby/resources/index/_has_and_belongs_to_many.html.erb +6 -2
  142. data/app/views/wallaby/resources/index/_has_many.html.erb +6 -2
  143. data/app/views/wallaby/resources/index/_has_one.html.erb +5 -1
  144. data/app/views/wallaby/resources/index/_hstore.html.erb +6 -2
  145. data/app/views/wallaby/resources/index/_inet.html.erb +5 -1
  146. data/app/views/wallaby/resources/index/_int4range.html.erb +4 -0
  147. data/app/views/wallaby/resources/index/_int8range.html.erb +4 -0
  148. data/app/views/wallaby/resources/index/_integer.html.erb +4 -0
  149. data/app/views/wallaby/resources/index/_json.html.erb +5 -2
  150. data/app/views/wallaby/resources/index/_jsonb.html.erb +5 -2
  151. data/app/views/wallaby/resources/index/_line.html.erb +16 -0
  152. data/app/views/wallaby/resources/index/_longblob.html.erb +5 -0
  153. data/app/views/wallaby/resources/index/_longtext.html.erb +16 -0
  154. data/app/views/wallaby/resources/index/_lseg.html.erb +16 -0
  155. data/app/views/wallaby/resources/index/_ltree.html.erb +5 -1
  156. data/app/views/wallaby/resources/index/_macaddr.html.erb +4 -0
  157. data/app/views/wallaby/resources/index/_mediumblob.html.erb +5 -0
  158. data/app/views/wallaby/resources/index/_mediumtext.html.erb +16 -0
  159. data/app/views/wallaby/resources/index/_money.html.erb +4 -0
  160. data/app/views/wallaby/resources/index/_numrange.html.erb +4 -0
  161. data/app/views/wallaby/resources/index/_password.html.erb +9 -0
  162. data/app/views/wallaby/resources/index/_path.html.erb +16 -0
  163. data/app/views/wallaby/resources/index/_point.html.erb +4 -0
  164. data/app/views/wallaby/resources/index/_polygon.html.erb +16 -0
  165. data/app/views/wallaby/resources/index/_raw.html.erb +9 -0
  166. data/app/views/wallaby/resources/index/_serial.html.erb +5 -0
  167. data/app/views/wallaby/resources/index/_sti.html.erb +16 -0
  168. data/app/views/wallaby/resources/index/_string.html.erb +5 -1
  169. data/app/views/wallaby/resources/index/_text.html.erb +5 -1
  170. data/app/views/wallaby/resources/index/_time.html.erb +4 -0
  171. data/app/views/wallaby/resources/index/_tinyblob.html.erb +5 -0
  172. data/app/views/wallaby/resources/index/_tinytext.html.erb +16 -0
  173. data/app/views/wallaby/resources/index/_tsrange.html.erb +5 -1
  174. data/app/views/wallaby/resources/index/_tstzrange.html.erb +5 -1
  175. data/app/views/wallaby/resources/index/_tsvector.html.erb +5 -1
  176. data/app/views/wallaby/resources/index/_unsigned_bigint.html.erb +5 -0
  177. data/app/views/wallaby/resources/index/_unsigned_decimal.html.erb +5 -0
  178. data/app/views/wallaby/resources/index/_unsigned_float.html.erb +5 -0
  179. data/app/views/wallaby/resources/index/_unsigned_integer.html.erb +5 -0
  180. data/app/views/wallaby/resources/index/_uuid.html.erb +5 -1
  181. data/app/views/wallaby/resources/index/_xml.html.erb +5 -1
  182. data/app/views/wallaby/resources/index.csv.erb +26 -0
  183. data/app/views/wallaby/resources/index.html.erb +47 -59
  184. data/app/views/wallaby/resources/index.json.jbuilder +5 -0
  185. data/app/views/wallaby/resources/new.html.erb +12 -11
  186. data/app/views/wallaby/resources/show/_belongs_to.html.erb +5 -1
  187. data/app/views/wallaby/resources/show/_bigint.html.erb +4 -0
  188. data/app/views/wallaby/resources/show/_bigserial.html.erb +5 -0
  189. data/app/views/wallaby/resources/show/_binary.html.erb +5 -1
  190. data/app/views/wallaby/resources/show/_bit.html.erb +4 -0
  191. data/app/views/wallaby/resources/show/_bit_varying.html.erb +4 -0
  192. data/app/views/wallaby/resources/show/_blob.html.erb +5 -0
  193. data/app/views/wallaby/resources/show/_boolean.html.erb +5 -1
  194. data/app/views/wallaby/resources/show/_box.html.erb +9 -0
  195. data/app/views/wallaby/resources/show/_cidr.html.erb +5 -1
  196. data/app/views/wallaby/resources/show/_circle.html.erb +9 -0
  197. data/app/views/wallaby/resources/show/_citext.html.erb +4 -0
  198. data/app/views/wallaby/resources/show/_color.html.erb +6 -1
  199. data/app/views/wallaby/resources/show/_date.html.erb +4 -0
  200. data/app/views/wallaby/resources/show/_daterange.html.erb +4 -0
  201. data/app/views/wallaby/resources/show/_datetime.html.erb +4 -0
  202. data/app/views/wallaby/resources/show/_decimal.html.erb +4 -0
  203. data/app/views/wallaby/resources/show/_email.html.erb +4 -0
  204. data/app/views/wallaby/resources/show/_float.html.erb +4 -0
  205. data/app/views/wallaby/resources/show/_has_and_belongs_to_many.html.erb +6 -2
  206. data/app/views/wallaby/resources/show/_has_many.html.erb +6 -2
  207. data/app/views/wallaby/resources/show/_has_one.html.erb +5 -1
  208. data/app/views/wallaby/resources/show/_hstore.html.erb +4 -0
  209. data/app/views/wallaby/resources/show/_image.html.erb +9 -0
  210. data/app/views/wallaby/resources/show/_inet.html.erb +5 -1
  211. data/app/views/wallaby/resources/show/_int4range.html.erb +4 -0
  212. data/app/views/wallaby/resources/show/_int8range.html.erb +4 -0
  213. data/app/views/wallaby/resources/show/_integer.html.erb +4 -0
  214. data/app/views/wallaby/resources/show/_json.html.erb +4 -0
  215. data/app/views/wallaby/resources/show/_jsonb.html.erb +4 -0
  216. data/app/views/wallaby/resources/show/_line.html.erb +9 -0
  217. data/app/views/wallaby/resources/show/_longblob.html.erb +5 -0
  218. data/app/views/wallaby/resources/show/_longtext.html.erb +5 -0
  219. data/app/views/wallaby/resources/show/_lseg.html.erb +9 -0
  220. data/app/views/wallaby/resources/show/_ltree.html.erb +4 -0
  221. data/app/views/wallaby/resources/show/_macaddr.html.erb +4 -0
  222. data/app/views/wallaby/resources/show/_mediumblob.html.erb +5 -0
  223. data/app/views/wallaby/resources/show/_mediumtext.html.erb +5 -0
  224. data/app/views/wallaby/resources/show/_money.html.erb +4 -0
  225. data/app/views/wallaby/resources/show/_numrange.html.erb +4 -0
  226. data/app/views/wallaby/resources/show/_password.html.erb +9 -0
  227. data/app/views/wallaby/resources/show/_path.html.erb +9 -0
  228. data/app/views/wallaby/resources/show/_point.html.erb +4 -0
  229. data/app/views/wallaby/resources/show/_polygon.html.erb +9 -0
  230. data/app/views/wallaby/resources/show/_raw.html.erb +9 -0
  231. data/app/views/wallaby/resources/show/_serial.html.erb +5 -0
  232. data/app/views/wallaby/resources/show/_sti.html.erb +5 -0
  233. data/app/views/wallaby/resources/show/_string.html.erb +4 -0
  234. data/app/views/wallaby/resources/show/_text.html.erb +4 -0
  235. data/app/views/wallaby/resources/show/_time.html.erb +4 -0
  236. data/app/views/wallaby/resources/show/_tinyblob.html.erb +5 -0
  237. data/app/views/wallaby/resources/show/_tinytext.html.erb +5 -0
  238. data/app/views/wallaby/resources/show/_tsrange.html.erb +4 -0
  239. data/app/views/wallaby/resources/show/_tstzrange.html.erb +4 -0
  240. data/app/views/wallaby/resources/show/_tsvector.html.erb +4 -0
  241. data/app/views/wallaby/resources/show/_unsigned_bigint.html.erb +5 -0
  242. data/app/views/wallaby/resources/show/_unsigned_decimal.html.erb +5 -0
  243. data/app/views/wallaby/resources/show/_unsigned_float.html.erb +5 -0
  244. data/app/views/wallaby/resources/show/_unsigned_integer.html.erb +5 -0
  245. data/app/views/wallaby/resources/show/_uuid.html.erb +4 -0
  246. data/app/views/wallaby/resources/show/_xml.html.erb +4 -0
  247. data/app/views/wallaby/resources/show.html.erb +14 -24
  248. data/app/views/wallaby/resources/show.json.jbuilder +5 -0
  249. data/config/brakeman.ignore +26 -0
  250. data/config/locales/wallaby.en.yml +91 -0
  251. data/config/massa.yml +45 -0
  252. data/config/rails_best_practices.yml +42 -0
  253. data/config/routes.rb +29 -23
  254. data/lib/adaptors/wallaby/active_record/model_decorator/fields_builder/association_builder.rb +39 -0
  255. data/lib/adaptors/wallaby/active_record/model_decorator/fields_builder/polymorphic_builder.rb +44 -0
  256. data/lib/adaptors/wallaby/active_record/model_decorator/fields_builder/sti_builder.rb +42 -0
  257. data/lib/adaptors/wallaby/active_record/model_decorator/fields_builder.rb +41 -94
  258. data/lib/adaptors/wallaby/active_record/model_decorator/title_field_finder.rb +24 -14
  259. data/lib/adaptors/wallaby/active_record/model_decorator.rb +118 -64
  260. data/lib/adaptors/wallaby/active_record/model_finder.rb +44 -15
  261. data/lib/adaptors/wallaby/active_record/model_pagination_provider.rb +30 -0
  262. data/lib/adaptors/wallaby/active_record/model_service_provider/normalizer.rb +42 -0
  263. data/lib/adaptors/wallaby/active_record/model_service_provider/permitter.rb +64 -0
  264. data/lib/adaptors/wallaby/active_record/model_service_provider/querier/transformer.rb +70 -0
  265. data/lib/adaptors/wallaby/active_record/model_service_provider/querier.rb +102 -0
  266. data/lib/adaptors/wallaby/active_record/model_service_provider/validator.rb +29 -0
  267. data/lib/adaptors/wallaby/active_record/model_service_provider.rb +137 -0
  268. data/lib/adaptors/wallaby/active_record.rb +4 -1
  269. data/lib/decorators/wallaby/abstract_resource_decorator.rb +74 -0
  270. data/lib/decorators/wallaby/resource_decorator.rb +5 -76
  271. data/lib/errors/wallaby/model_not_found.rb +5 -1
  272. data/lib/errors/wallaby/not_found.rb +4 -0
  273. data/lib/errors/wallaby/resource_not_found.rb +5 -1
  274. data/lib/forms/wallaby/form_builder.rb +42 -19
  275. data/lib/helpers/wallaby/application_helper.rb +34 -24
  276. data/lib/helpers/wallaby/base_helper.rb +52 -0
  277. data/lib/helpers/wallaby/form_helper.rb +40 -16
  278. data/lib/helpers/wallaby/index_helper.rb +59 -0
  279. data/lib/helpers/wallaby/links_helper.rb +150 -81
  280. data/lib/helpers/wallaby/resources_helper.rb +41 -46
  281. data/lib/helpers/wallaby/secure_helper.rb +36 -19
  282. data/lib/helpers/wallaby/styling_helper.rb +53 -44
  283. data/lib/interfaces/wallaby/mode.rb +19 -12
  284. data/lib/interfaces/wallaby/model_decorator.rb +176 -50
  285. data/lib/interfaces/wallaby/model_finder.rb +7 -3
  286. data/lib/interfaces/wallaby/model_pagination_provider.rb +104 -0
  287. data/lib/interfaces/wallaby/model_service_provider.rb +71 -0
  288. data/lib/paginators/wallaby/abstract_resource_paginator.rb +23 -0
  289. data/lib/paginators/wallaby/resource_paginator.rb +6 -0
  290. data/lib/parsers/wallaby/parser.rb +32 -0
  291. data/lib/responders/wallaby/abstract_responder.rb +68 -0
  292. data/lib/responders/wallaby/resources_responder.rb +6 -0
  293. data/lib/servicers/wallaby/abstract_model_servicer.rb +48 -0
  294. data/lib/servicers/wallaby/model_servicer.rb +5 -0
  295. data/lib/services/wallaby/link_options_normalizer.rb +16 -0
  296. data/lib/services/wallaby/lookup_context_wrapper.rb +23 -30
  297. data/lib/services/wallaby/map/mode_mapper.rb +19 -0
  298. data/lib/services/wallaby/map/model_class_collector.rb +41 -0
  299. data/lib/services/wallaby/map/model_class_mapper.rb +24 -0
  300. data/lib/services/wallaby/map.rb +76 -39
  301. data/lib/services/wallaby/partial_renderer.rb +60 -0
  302. data/lib/services/wallaby/prefixes_builder.rb +54 -0
  303. data/lib/services/wallaby/sorting/hash_builder.rb +16 -0
  304. data/lib/services/wallaby/sorting/link_builder.rb +45 -0
  305. data/lib/services/wallaby/sorting/next_builder.rb +54 -0
  306. data/lib/services/wallaby/url_for.rb +36 -0
  307. data/lib/tree/wallaby/node.rb +17 -0
  308. data/lib/utils/wallaby/utils.rb +67 -22
  309. data/lib/wallaby/configuration/features.rb +12 -0
  310. data/lib/wallaby/configuration/metadata.rb +12 -0
  311. data/lib/wallaby/configuration/models.rb +27 -12
  312. data/lib/wallaby/configuration/pagination.rb +12 -0
  313. data/lib/wallaby/configuration/security.rb +55 -24
  314. data/lib/wallaby/configuration.rb +38 -19
  315. data/lib/wallaby/engine.rb +84 -39
  316. data/lib/wallaby/version.rb +1 -1
  317. data/lib/wallaby.rb +22 -3
  318. metadata +200 -55
  319. data/app/assets/javascripts/wallaby/form.js +0 -8
  320. data/app/assets/stylesheets/wallaby/base/_functions.scss +0 -0
  321. data/app/assets/stylesheets/wallaby/base/_normalize.scss +0 -0
  322. data/app/assets/stylesheets/wallaby/base/_reset.scss +0 -0
  323. data/app/assets/stylesheets/wallaby/components/_forms.scss +0 -53
  324. data/app/assets/stylesheets/wallaby/components/_nav.scss +0 -19
  325. data/app/assets/stylesheets/wallaby/components/_tables.scss +0 -78
  326. data/app/assets/stylesheets/wallaby/form.scss +0 -11
  327. data/app/controllers/wallaby/core_controller.rb +0 -28
  328. data/app/views/layouts/wallaby/_footer.html.erb +0 -2
  329. data/app/views/layouts/wallaby/_header.html.erb +0 -57
  330. data/app/views/layouts/wallaby/_navs.html.erb +0 -1
  331. data/app/views/wallaby/errors/access_denied.html.erb +0 -1
  332. data/app/views/wallaby/errors/not_authenticated.html.erb +0 -1
  333. data/app/views/wallaby/errors/not_found.html.erb +0 -6
  334. data/app/views/wallaby/errors/unprocessable_entity.erb +0 -1
  335. data/config/locales/en.yml +0 -29
  336. data/lib/adaptors/wallaby/active_record/model_operator/normalizer.rb +0 -44
  337. data/lib/adaptors/wallaby/active_record/model_operator/permitter.rb +0 -50
  338. data/lib/adaptors/wallaby/active_record/model_operator/querier.rb +0 -47
  339. data/lib/adaptors/wallaby/active_record/model_operator/validator.rb +0 -16
  340. data/lib/adaptors/wallaby/active_record/model_operator.rb +0 -82
  341. data/lib/errors/wallaby/deprecated.rb +0 -4
  342. data/lib/errors/wallaby/operation_not_found.rb +0 -4
  343. data/lib/handlers/wallaby/cached_compiled_erb.rb +0 -14
  344. data/lib/helpers/wallaby/core_helper.rb +0 -50
  345. data/lib/helpers/wallaby/paginatable_helper.rb +0 -9
  346. data/lib/helpers/wallaby/sorting_helper.rb +0 -43
  347. data/lib/interfaces/wallaby/model_operator.rb +0 -31
  348. data/lib/services/wallaby/decorator_finder.rb +0 -16
  349. data/lib/services/wallaby/model_servicer.rb +0 -38
  350. data/lib/services/wallaby/servicer_finder.rb +0 -5
@@ -1,13 +1,59 @@
1
+
2
+ <%#
3
+ The following params are the variables that can be used in this partial.
4
+
5
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
6
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
7
+ @param field_name [String] name of the field
8
+ @param value [Object] value of the field
9
+ @param metadata [Hash] metadata of the field
10
+ %>
11
+ <%
12
+ decorated = decorate(value || [])
13
+ readonly = cannot? :edit, metadata[:class]
14
+ %>
1
15
  <div class="form-group <%= form.error_class field_name %>">
2
16
  <%= form.label metadata[:foreign_key], metadata[:label] %>
3
17
  <div class="row">
4
- <div class="col-xs-6 col-sm-3">
5
- <%= form.select metadata[:foreign_key], model_choices(model_decorator metadata[:class]), { }, { class: 'form-control', multiple: true } %>
6
- <p class="help-block">
7
- Press CTRL to select/deselect multiple items.
8
- <%= new_link metadata[:class], prepend: 'Or' %>
9
- </p>
10
- </div>
18
+ <% if readonly %>
19
+ <div class="col-xs-12">
20
+ <%= decorated.map(&:to_label).to_sentence %>
21
+ </div>
22
+ <% else %>
23
+ <%
24
+ wildcard = 'QUERY'
25
+ url = remote_url(metadata[:remote_url], metadata[:class], wildcard)
26
+ %>
27
+ <span class="auto_select" data-init="has_and_belongs_to_many" data-url="<%= url %>" data-wildcard="<%= wildcard %>">
28
+ <div class="col-xs-12 col-sm-6">
29
+ <%= form.text_field metadata[:foreign_key], value: nil, class: 'form-control', multiple: true, placeholder: t('labels.auto_select_hint') %>
30
+ </div>
31
+ <strong class="auto_select__count"><%= t 'labels.count' %><span></span></strong>
32
+ <ul>
33
+ <% decorated.each do |v| %>
34
+ <li>
35
+ <%= form.hidden_field metadata[:foreign_key], value: v.primary_key_value, multiple: true, id: nil %>
36
+ <a href="javascript:;"><%= v.to_label %></a>
37
+ </li>
38
+ <% end %>
39
+ </ul>
40
+ </span>
41
+ <% end %>
11
42
  </div>
12
43
  <%= form.error_messages field_name %>
44
+ <p class="help-block">
45
+ <%= new_link metadata[:class] %>
46
+ </p>
13
47
  </div>
48
+
49
+ <% #load script for only once
50
+ unless @has_and_belongs_to_many_init
51
+ @has_and_belongs_to_many_init = true
52
+ content_for :custom_javascript do
53
+ javascript_tag do %>
54
+ jQuery(document).off(readyPrefix('.has_and_belongs_to_many')).on(readyPrefix('.has_and_belongs_to_many'), function () {
55
+ $('[data-init="has_and_belongs_to_many"]').auto_select();
56
+ });
57
+ <% end
58
+ end
59
+ end %>
@@ -1,13 +1,58 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <%
11
+ decorated = decorate(value || [])
12
+ readonly = cannot? :edit, metadata[:class]
13
+ %>
1
14
  <div class="form-group <%= form.error_class field_name %>">
2
15
  <%= form.label metadata[:foreign_key], metadata[:label] %>
3
16
  <div class="row">
4
- <div class="col-xs-6 col-sm-3">
5
- <%= form.select metadata[:foreign_key], model_choices(model_decorator metadata[:class]), { }, { class: 'form-control', multiple: true } %>
6
- <p class="help-block">
7
- Press CTRL to select/deselect multiple items.
8
- <%= new_link metadata[:class], prepend: 'Or' %>
9
- </p>
10
- </div>
17
+ <% if readonly %>
18
+ <div class="col-xs-12">
19
+ <%= decorated.map(&:to_label).to_sentence %>
20
+ </div>
21
+ <% else %>
22
+ <%
23
+ wildcard = 'QUERY'
24
+ url = remote_url(metadata[:remote_url], metadata[:class], wildcard)
25
+ %>
26
+ <span class="auto_select" data-init="has_many" data-url="<%= url %>" data-wildcard="<%= wildcard %>">
27
+ <div class="col-xs-12 col-sm-6">
28
+ <%= form.text_field metadata[:foreign_key], value: nil, class: 'form-control', multiple: true, placeholder: t('labels.auto_select_hint') %>
29
+ </div>
30
+ <strong class="auto_select__count"><%= t 'labels.count' %><span></span></strong>
31
+ <ul>
32
+ <% decorated.each do |v| %>
33
+ <li>
34
+ <%= form.hidden_field metadata[:foreign_key], value: v.primary_key_value, multiple: true, id: nil %>
35
+ <a href="javascript:;"><%= v.to_label %></a>
36
+ </li>
37
+ <% end %>
38
+ </ul>
39
+ </span>
40
+ <% end %>
11
41
  </div>
12
42
  <%= form.error_messages field_name %>
43
+ <p class="help-block">
44
+ <%= new_link metadata[:class] %>
45
+ </p>
13
46
  </div>
47
+
48
+ <% #load script for only once
49
+ unless @has_many_init
50
+ @has_many_init = true
51
+ content_for :custom_javascript do
52
+ javascript_tag do %>
53
+ jQuery(document).off(readyPrefix('.has_many')).on(readyPrefix('.has_many'), function () {
54
+ $('[data-init="has_many"]').auto_select();
55
+ });
56
+ <% end
57
+ end
58
+ end %>
@@ -1,7 +1,15 @@
1
- <% # TODO: consider to pass new_link default params to create %>
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
2
10
  <div class="form-group <%= form.error_class field_name %>">
3
11
  <%= form.label field_name, metadata[:label] %>
4
12
  <div>
5
- <%= value.present? ? edit_link(value) : new_link(metadata[:class]) %>
13
+ <%= value.present? ? edit_link(value, options: { readonly: true }) : new_link(metadata[:class]) %>
6
14
  </div>
7
15
  </div>
@@ -1,9 +1,18 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
12
  <%= form.text_area field_name, value: value.to_s[%r(\A{(.*)}\Z), 1], class: 'form-control', data: { init: 'codemirror', mode: 'ruby' } %>
4
13
  <%= form.error_messages field_name %>
5
14
  <p class="help-block">
6
- Format: <code>"KEY1" => "VALUE1", "KEY2" => "VALUE2"</code>
15
+ <%= t 'hints.hstore_html' %>
7
16
  </p>
8
17
  </div>
9
18
 
@@ -11,12 +20,10 @@
11
20
  <% @codemirror_init = true %>
12
21
  <% content_for :custom_javascript do %>
13
22
  <% javascript_tag do %>
14
- jQuery(function($) {
23
+ jQuery(document).off(readyPrefix('.codemirror_init')).on(readyPrefix('.codemirror_init'), function () {
15
24
  $('textarea[data-init="codemirror"]').each(function (index, element) {
16
25
  CodeMirror.fromTextArea(element, {
17
- mode: $(element).data('mode'),
18
- theme: "default",
19
- lineNumbers: true
26
+ mode: $(element).data('mode')
20
27
  });
21
28
  })
22
29
  })
@@ -1,9 +1,21 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
12
  <div class="row">
4
- <div class="col-xs-6 col-sm-3">
13
+ <div class="col-xs-6 col-sm-4">
5
14
  <%= form.text_field field_name, class: 'form-control' %>
6
15
  </div>
7
16
  </div>
8
17
  <%= form.error_messages field_name %>
18
+ <p class="help-block">
19
+ <%= t 'hints.inet_html' %>
20
+ </p>
9
21
  </div>
@@ -1,13 +1,22 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
12
  <div class="row">
4
- <div class="col-xs-6 col-sm-3">
13
+ <div class="col-xs-6 col-sm-4">
5
14
  <div class="input-group">
6
15
  <span class="input-group-addon">F</span>
7
16
  <%= form.number_field field_name, value: value.try(:first), multiple: true, class: 'form-control' %>
8
17
  </div>
9
18
  </div>
10
- <div class="col-xs-6 col-sm-3">
19
+ <div class="col-xs-6 col-sm-4">
11
20
  <div class="input-group">
12
21
  <span class="input-group-addon">T</span>
13
22
  <%= form.number_field field_name, value: value.try(:last), multiple: true, class: 'form-control' %>
@@ -1,13 +1,22 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
12
  <div class="row">
4
- <div class="col-xs-6 col-sm-3">
13
+ <div class="col-xs-6 col-sm-4">
5
14
  <div class="input-group">
6
15
  <span class="input-group-addon">F</span>
7
16
  <%= form.number_field field_name, value: value.try(:first), multiple: true, class: 'form-control' %>
8
17
  </div>
9
18
  </div>
10
- <div class="col-xs-6 col-sm-3">
19
+ <div class="col-xs-6 col-sm-4">
11
20
  <div class="input-group">
12
21
  <span class="input-group-addon">T</span>
13
22
  <%= form.number_field field_name, value: value.try(:last), multiple: true, class: 'form-control' %>
@@ -1,7 +1,16 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
12
  <div class="row">
4
- <div class="col-xs-6 col-sm-3">
13
+ <div class="col-xs-6 col-sm-4">
5
14
  <%= form.number_field field_name, class: 'form-control' %>
6
15
  </div>
7
16
  </div>
@@ -1,6 +1,16 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <% form_value = value.is_a?(String) ? value : (JSON.pretty_generate(value) rescue nil) %>
1
11
  <div class="form-group <%= form.error_class field_name %>">
2
12
  <%= form.label field_name, metadata[:label] %>
3
- <%= form.text_area field_name, value: (JSON.pretty_generate(value) rescue nil), class: 'form-control', data: { init: 'codemirror', mode: 'javascript' } %>
13
+ <%= form.text_area field_name, value: form_value, class: 'form-control', data: { init: 'codemirror', mode: 'javascript' } %>
4
14
  <%= form.error_messages field_name %>
5
15
  </div>
6
16
 
@@ -8,14 +18,11 @@
8
18
  <% @codemirror_init = true %>
9
19
  <% content_for :custom_javascript do %>
10
20
  <% javascript_tag do %>
11
- jQuery(function($) {
21
+ jQuery(document).off(readyPrefix('.codemirror_init')).on(readyPrefix('.codemirror_init'), function () {
12
22
  $('textarea[data-init="codemirror"]').each(function (index, element) {
13
23
  CodeMirror.fromTextArea(element, {
14
- mode: $(element).data('mode'),
15
- theme: "default",
16
- lineNumbers: true
24
+ mode: $(element).data('mode')
17
25
  });
18
-
19
26
  })
20
27
  })
21
28
  <% end %>
@@ -1,6 +1,16 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <% form_value = value.is_a?(String) ? value : (JSON.pretty_generate(value) rescue nil) %>
1
11
  <div class="form-group <%= form.error_class field_name %>">
2
12
  <%= form.label field_name, metadata[:label] %>
3
- <%= form.text_area field_name, value: (JSON.pretty_generate(value) rescue nil), class: 'form-control', data: { init: 'codemirror', mode: 'javascript' } %>
13
+ <%= form.text_area field_name, value: form_value, class: 'form-control', data: { init: 'codemirror', mode: 'javascript' } %>
4
14
  <%= form.error_messages field_name %>
5
15
  </div>
6
16
 
@@ -8,14 +18,11 @@
8
18
  <% @codemirror_init = true %>
9
19
  <% content_for :custom_javascript do %>
10
20
  <% javascript_tag do %>
11
- jQuery(function($) {
21
+ jQuery(document).off(readyPrefix('.codemirror_init')).on(readyPrefix('.codemirror_init'), function () {
12
22
  $('textarea[data-init="codemirror"]').each(function (index, element) {
13
23
  CodeMirror.fromTextArea(element, {
14
- mode: $(element).data('mode'),
15
- theme: "default",
16
- lineNumbers: true
24
+ mode: $(element).data('mode')
17
25
  });
18
-
19
26
  })
20
27
  })
21
28
  <% end %>
@@ -0,0 +1,21 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <div class="form-group <%= form.error_class field_name %>">
11
+ <%= form.label field_name, metadata[:label] %>
12
+ <div class="row">
13
+ <div class="col-xs-6 col-sm-4">
14
+ <%= form.text_field field_name, class: 'form-control' %>
15
+ </div>
16
+ </div>
17
+ <%= form.error_messages field_name %>
18
+ <p class="help-block">
19
+ <%= t 'hints.line_html' %>
20
+ </p>
21
+ </div>
@@ -0,0 +1,21 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <div class="form-group <%= form.error_class field_name %>">
11
+ <%= form.label field_name, metadata[:label] %>
12
+ <div class="row">
13
+ <div class="col-sm-12">
14
+ <%= form.label field_name, class: 'btn btn-default' do %>
15
+ <%= form.file_field field_name, class: 'hidden' %>
16
+ <%= fa_icon 'upload' %> <%= t 'labels.upload' %>
17
+ <% end %>
18
+ </div>
19
+ </div>
20
+ <%= form.error_messages field_name %>
21
+ </div>
@@ -0,0 +1,30 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <div class="form-group <%= form.error_class field_name %>">
11
+ <%= form.label field_name, metadata[:label] %>
12
+ <%= form.text_area field_name, class: 'form-control', data: { init: 'summernote' } %>
13
+ <%= form.error_messages field_name %>
14
+ </div>
15
+
16
+ <% unless @summernote_init %>
17
+ <% @summernote_init = true %>
18
+ <% content_for :custom_javascript do %>
19
+ <% javascript_tag do %>
20
+ jQuery(document).off(readyPrefix('.summernote')).on(readyPrefix('.summernote'), function () {
21
+ $('textarea[data-init="summernote"]').summernote({
22
+ height: 150,
23
+ codemirror: { // codemirror options
24
+ theme: 'base16-dark'
25
+ }
26
+ })
27
+ })
28
+ <% end %>
29
+ <% end %>
30
+ <% end %>
@@ -0,0 +1,21 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <div class="form-group <%= form.error_class field_name %>">
11
+ <%= form.label field_name, metadata[:label] %>
12
+ <div class="row">
13
+ <div class="col-xs-6 col-sm-4">
14
+ <%= form.text_field field_name, class: 'form-control' %>
15
+ </div>
16
+ </div>
17
+ <%= form.error_messages field_name %>
18
+ <p class="help-block">
19
+ <%= t 'hints.lseg_html' %>
20
+ </p>
21
+ </div>
@@ -1,5 +1,21 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
- <%= form.text_field field_name, class: 'form-control' %>
12
+ <div class="row">
13
+ <div class="col-xs-12">
14
+ <%= form.text_field field_name, class: 'form-control' %>
15
+ </div>
16
+ </div>
4
17
  <%= form.error_messages field_name %>
18
+ <p class="help-block">
19
+ <%= t 'hints.ltree_html' %>
20
+ </p>
5
21
  </div>
@@ -1,9 +1,21 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
12
  <div class="row">
4
- <div class="col-xs-6 col-sm-3">
13
+ <div class="col-xs-6 col-sm-4">
5
14
  <%= form.text_field field_name, class: 'form-control' %>
6
15
  </div>
7
16
  </div>
8
17
  <%= form.error_messages field_name %>
18
+ <p class="help-block">
19
+ <%= t 'hints.macaddr_html' %>
20
+ </p>
9
21
  </div>
@@ -0,0 +1,29 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <div class="form-group <%= form.error_class field_name %>">
11
+ <%= form.label field_name, metadata[:label] %>
12
+ <%= form.text_area field_name, class: 'form-control', data: { init: 'codemirror', mode: 'gfm' } %>
13
+ <%= form.error_messages field_name %>
14
+ </div>
15
+
16
+ <% unless @codemirror_init %>
17
+ <% @codemirror_init = true %>
18
+ <% content_for :custom_javascript do %>
19
+ <% javascript_tag do %>
20
+ jQuery(document).off(readyPrefix('.codemirror_init')).on(readyPrefix('.codemirror_init'), function () {
21
+ $('textarea[data-init="codemirror"]').each(function (index, element) {
22
+ CodeMirror.fromTextArea(element, {
23
+ mode: $(element).data('mode')
24
+ });
25
+ })
26
+ })
27
+ <% end %>
28
+ <% end %>
29
+ <% end %>
@@ -0,0 +1,21 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <div class="form-group <%= form.error_class field_name %>">
11
+ <%= form.label field_name, metadata[:label] %>
12
+ <div class="row">
13
+ <div class="col-sm-12">
14
+ <%= form.label field_name, class: 'btn btn-default' do %>
15
+ <%= form.file_field field_name, class: 'hidden' %>
16
+ <%= fa_icon 'upload' %> <%= t 'labels.upload' %>
17
+ <% end %>
18
+ </div>
19
+ </div>
20
+ <%= form.error_messages field_name %>
21
+ </div>
@@ -0,0 +1,30 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
10
+ <div class="form-group <%= form.error_class field_name %>">
11
+ <%= form.label field_name, metadata[:label] %>
12
+ <%= form.text_area field_name, class: 'form-control', data: { init: 'summernote' } %>
13
+ <%= form.error_messages field_name %>
14
+ </div>
15
+
16
+ <% unless @summernote_init %>
17
+ <% @summernote_init = true %>
18
+ <% content_for :custom_javascript do %>
19
+ <% javascript_tag do %>
20
+ jQuery(document).off(readyPrefix('.summernote')).on(readyPrefix('.summernote'), function () {
21
+ $('textarea[data-init="summernote"]').summernote({
22
+ height: 150,
23
+ codemirror: { // codemirror options
24
+ theme: 'base16-dark'
25
+ }
26
+ })
27
+ })
28
+ <% end %>
29
+ <% end %>
30
+ <% end %>
@@ -1,7 +1,16 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
12
  <div class="row">
4
- <div class="col-xs-6 col-sm-3">
13
+ <div class="col-xs-6 col-sm-4">
5
14
  <div class="input-group">
6
15
  <span class="input-group-addon">$</span>
7
16
  <%= form.text_field field_name, class: 'form-control' %>
@@ -1,13 +1,22 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
12
  <div class="row">
4
- <div class="col-xs-6 col-sm-3">
13
+ <div class="col-xs-6 col-sm-4">
5
14
  <div class="input-group">
6
15
  <span class="input-group-addon">F</span>
7
16
  <%= form.number_field field_name, value: value.try(:first), multiple: true, class: 'form-control' %>
8
17
  </div>
9
18
  </div>
10
- <div class="col-xs-6 col-sm-3">
19
+ <div class="col-xs-6 col-sm-4">
11
20
  <div class="input-group">
12
21
  <span class="input-group-addon">T</span>
13
22
  <%= form.number_field field_name, value: value.try(:last), multiple: true, class: 'form-control' %>
@@ -1,5 +1,18 @@
1
+ <%#
2
+ The following params are the variables that can be used in this partial.
3
+
4
+ @param form [Wallaby::FormBuilder] custom form object that adds a few helper methods and delegate missing methods to the view
5
+ @param object [Wallaby::ResourceDecorator] decorator instance which wraps the resource (e.g. ActiveRecord) instance
6
+ @param field_name [String] name of the field
7
+ @param value [Object] value of the field
8
+ @param metadata [Hash] metadata of the field
9
+ %>
1
10
  <div class="form-group <%= form.error_class field_name %>">
2
11
  <%= form.label field_name, metadata[:label] %>
3
- <%= form.password_field field_name, class: 'form-control', value: '' %>
12
+ <div class="row">
13
+ <div class="col-xs-12">
14
+ <%= form.password_field field_name, class: 'form-control', value: '' %>
15
+ </div>
16
+ </div>
4
17
  <%= form.error_messages field_name %>
5
18
  </div>