rails_admin 2.2.1 → 3.0.0.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (328) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -11
  3. data/README.md +37 -31
  4. data/Rakefile +2 -2
  5. data/app/assets/javascripts/rails_admin.js +21 -0
  6. data/app/assets/stylesheets/rails_admin/custom/mixins.scss +1 -1
  7. data/app/assets/stylesheets/rails_admin/custom/variables.scss +1 -1
  8. data/app/assets/stylesheets/rails_admin.scss.erb +76 -0
  9. data/app/controllers/rails_admin/application_controller.rb +4 -3
  10. data/app/controllers/rails_admin/main_controller.rb +43 -24
  11. data/app/helpers/rails_admin/application_helper.rb +69 -52
  12. data/app/helpers/rails_admin/form_builder.rb +5 -4
  13. data/app/helpers/rails_admin/main_helper.rb +27 -43
  14. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.erb +5 -0
  15. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.erb +9 -0
  16. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.erb +9 -0
  17. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.erb +13 -0
  18. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.erb +9 -0
  19. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.erb +9 -0
  20. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.erb +6 -0
  21. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.erb +9 -0
  22. data/app/views/layouts/rails_admin/_head.html.erb +17 -0
  23. data/app/views/layouts/rails_admin/_navigation.html.erb +21 -0
  24. data/app/views/layouts/rails_admin/_secondary_navigation.html.erb +24 -0
  25. data/app/views/layouts/rails_admin/_sidebar_navigation.html.erb +9 -0
  26. data/app/views/layouts/rails_admin/application.html.erb +27 -0
  27. data/app/views/layouts/rails_admin/modal.js.erb +7 -0
  28. data/app/views/layouts/rails_admin/pjax.html.erb +20 -0
  29. data/app/views/rails_admin/main/_dashboard_history.html.erb +45 -0
  30. data/app/views/rails_admin/main/_delete_notice.html.erb +35 -0
  31. data/app/views/rails_admin/main/_form_action_text.html.erb +7 -0
  32. data/app/views/rails_admin/main/_form_boolean.html.erb +16 -0
  33. data/app/views/rails_admin/main/{_form_ck_editor.html.haml → _form_ck_editor.html.erb} +3 -3
  34. data/app/views/rails_admin/main/_form_code_mirror.html.erb +9 -0
  35. data/app/views/rails_admin/main/_form_colorpicker.html.erb +1 -0
  36. data/app/views/rails_admin/main/_form_datetime.html.erb +9 -0
  37. data/app/views/rails_admin/main/_form_enumeration.html.erb +21 -0
  38. data/app/views/rails_admin/main/_form_field.html.erb +1 -0
  39. data/app/views/rails_admin/main/_form_file_upload.html.erb +17 -0
  40. data/app/views/rails_admin/main/{_form_filtering_multiselect.html.haml → _form_filtering_multiselect.html.erb} +11 -11
  41. data/app/views/rails_admin/main/{_form_filtering_select.html.haml → _form_filtering_select.html.erb} +13 -12
  42. data/app/views/rails_admin/main/_form_froala.html.erb +8 -0
  43. data/app/views/rails_admin/main/_form_multiple_file_upload.html.erb +20 -0
  44. data/app/views/rails_admin/main/_form_nested_many.html.erb +21 -0
  45. data/app/views/rails_admin/main/_form_nested_one.html.erb +21 -0
  46. data/app/views/rails_admin/main/_form_polymorphic_association.html.erb +27 -0
  47. data/app/views/rails_admin/main/_form_simple_mde.html.erb +8 -0
  48. data/app/views/rails_admin/main/_form_text.html.erb +1 -0
  49. data/app/views/rails_admin/main/_form_wysihtml5.html.erb +8 -0
  50. data/app/views/rails_admin/main/_submit_buttons.html.erb +25 -0
  51. data/app/views/rails_admin/main/bulk_delete.html.erb +19 -0
  52. data/app/views/rails_admin/main/dashboard.html.erb +64 -0
  53. data/app/views/rails_admin/main/delete.html.erb +21 -0
  54. data/app/views/rails_admin/main/edit.html.erb +3 -0
  55. data/app/views/rails_admin/main/export.html.erb +146 -0
  56. data/app/views/rails_admin/main/history.html.erb +78 -0
  57. data/app/views/rails_admin/main/index.html.erb +193 -0
  58. data/app/views/rails_admin/main/new.html.erb +3 -0
  59. data/app/views/rails_admin/main/show.html.erb +28 -0
  60. data/config/initializers/active_record_extensions.rb +3 -1
  61. data/config/initializers/mongoid_extensions.rb +1 -1
  62. data/config/locales/rails_admin.en.yml +6 -1
  63. data/lib/generators/rails_admin/install_generator.rb +51 -3
  64. data/lib/generators/rails_admin/templates/environment.js +6 -0
  65. data/lib/generators/rails_admin/templates/initializer.erb +2 -1
  66. data/lib/generators/rails_admin/templates/rails_admin.js.erb +2 -0
  67. data/lib/generators/rails_admin/templates/rails_admin.scss +1 -0
  68. data/lib/generators/rails_admin/templates/webpack.config.js +32 -0
  69. data/lib/rails_admin/abstract_model.rb +24 -10
  70. data/lib/rails_admin/adapters/active_record/association.rb +20 -1
  71. data/lib/rails_admin/adapters/active_record/object_extension.rb +29 -0
  72. data/lib/rails_admin/adapters/active_record/property.rb +1 -1
  73. data/lib/rails_admin/adapters/active_record.rb +27 -23
  74. data/lib/rails_admin/adapters/mongoid/association.rb +38 -9
  75. data/lib/rails_admin/adapters/mongoid/bson.rb +4 -5
  76. data/lib/rails_admin/adapters/mongoid/extension.rb +3 -1
  77. data/lib/rails_admin/adapters/mongoid/object_extension.rb +32 -0
  78. data/lib/rails_admin/adapters/mongoid/property.rb +2 -2
  79. data/lib/rails_admin/adapters/mongoid.rb +27 -19
  80. data/lib/rails_admin/config/actions/base.rb +7 -2
  81. data/lib/rails_admin/config/actions/bulk_delete.rb +2 -2
  82. data/lib/rails_admin/config/actions/dashboard.rb +4 -3
  83. data/lib/rails_admin/config/actions/delete.rb +5 -9
  84. data/lib/rails_admin/config/actions/edit.rb +7 -7
  85. data/lib/rails_admin/config/actions/export.rb +2 -2
  86. data/lib/rails_admin/config/actions/history_index.rb +2 -2
  87. data/lib/rails_admin/config/actions/history_show.rb +2 -2
  88. data/lib/rails_admin/config/actions/index.rb +5 -7
  89. data/lib/rails_admin/config/actions/new.rb +9 -9
  90. data/lib/rails_admin/config/actions/show.rb +1 -1
  91. data/lib/rails_admin/config/actions/show_in_app.rb +6 -2
  92. data/lib/rails_admin/config/actions.rb +4 -4
  93. data/lib/rails_admin/config/configurable.rb +2 -2
  94. data/lib/rails_admin/config/fields/association.rb +15 -12
  95. data/lib/rails_admin/config/fields/base.rb +44 -24
  96. data/lib/rails_admin/config/fields/factories/active_storage.rb +1 -0
  97. data/lib/rails_admin/config/fields/factories/association.rb +6 -8
  98. data/lib/rails_admin/config/fields/factories/carrierwave.rb +2 -1
  99. data/lib/rails_admin/config/fields/factories/devise.rb +2 -1
  100. data/lib/rails_admin/config/fields/factories/dragonfly.rb +2 -1
  101. data/lib/rails_admin/config/fields/factories/paperclip.rb +2 -1
  102. data/lib/rails_admin/config/fields/factories/shrine.rb +1 -1
  103. data/lib/rails_admin/config/fields/group.rb +1 -2
  104. data/lib/rails_admin/config/fields/types/active_record_enum.rb +2 -0
  105. data/lib/rails_admin/config/fields/types/active_storage.rb +9 -7
  106. data/lib/rails_admin/config/fields/types/all.rb +1 -0
  107. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +4 -12
  108. data/lib/rails_admin/config/fields/types/boolean.rb +32 -8
  109. data/lib/rails_admin/config/fields/types/carrierwave.rb +1 -0
  110. data/lib/rails_admin/config/fields/types/citext.rb +13 -0
  111. data/lib/rails_admin/config/fields/types/color.rb +6 -2
  112. data/lib/rails_admin/config/fields/types/date.rb +5 -8
  113. data/lib/rails_admin/config/fields/types/datetime.rb +18 -21
  114. data/lib/rails_admin/config/fields/types/decimal.rb +9 -2
  115. data/lib/rails_admin/config/fields/types/dragonfly.rb +3 -1
  116. data/lib/rails_admin/config/fields/types/enum.rb +1 -1
  117. data/lib/rails_admin/config/fields/types/file_upload.rb +4 -3
  118. data/lib/rails_admin/config/fields/types/float.rb +9 -2
  119. data/lib/rails_admin/config/fields/types/has_many_association.rb +1 -5
  120. data/lib/rails_admin/config/fields/types/has_one_association.rb +1 -13
  121. data/lib/rails_admin/config/fields/types/integer.rb +2 -6
  122. data/lib/rails_admin/config/fields/types/multiple_active_storage.rb +8 -6
  123. data/lib/rails_admin/config/fields/types/multiple_carrierwave.rb +1 -0
  124. data/lib/rails_admin/config/fields/types/multiple_file_upload.rb +4 -3
  125. data/lib/rails_admin/config/fields/types/numeric.rb +18 -0
  126. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +3 -2
  127. data/lib/rails_admin/config/fields/types/string.rb +1 -1
  128. data/lib/rails_admin/config/fields/types/time.rb +1 -4
  129. data/lib/rails_admin/config/fields/types/timestamp.rb +0 -4
  130. data/lib/rails_admin/config/fields/types.rb +1 -1
  131. data/lib/rails_admin/config/fields.rb +3 -1
  132. data/lib/rails_admin/config/has_fields.rb +5 -6
  133. data/lib/rails_admin/config/hideable.rb +1 -1
  134. data/lib/rails_admin/config/inspectable.rb +1 -3
  135. data/lib/rails_admin/config/model.rb +10 -10
  136. data/lib/rails_admin/config/sections/base.rb +2 -3
  137. data/lib/rails_admin/config/sections/list.rb +4 -15
  138. data/lib/rails_admin/config/sections.rb +1 -1
  139. data/lib/rails_admin/config.rb +73 -38
  140. data/lib/rails_admin/engine.rb +36 -23
  141. data/lib/rails_admin/extension.rb +6 -14
  142. data/lib/rails_admin/extensions/cancancan/authorization_adapter.rb +4 -2
  143. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +12 -7
  144. data/lib/rails_admin/extensions/pundit/authorization_adapter.rb +6 -7
  145. data/lib/rails_admin/support/csv_converter.rb +12 -13
  146. data/lib/rails_admin/support/datetime.rb +40 -74
  147. data/lib/rails_admin/support/esmodule_preprocessor.rb +32 -0
  148. data/lib/rails_admin/support/hash_helper.rb +6 -5
  149. data/lib/rails_admin/version.rb +8 -4
  150. data/lib/rails_admin.rb +1 -4
  151. data/lib/tasks/rails_admin.rake +3 -3
  152. data/package.json +28 -0
  153. data/src/rails_admin/base.js +21 -0
  154. data/src/rails_admin/filter-box.js +405 -0
  155. data/src/rails_admin/filtering-multiselect.js +394 -0
  156. data/src/rails_admin/filtering-select.js +302 -0
  157. data/src/rails_admin/i18n.js +19 -0
  158. data/src/rails_admin/nested-form-hooks.js +100 -0
  159. data/src/rails_admin/remote-form.js +190 -0
  160. data/src/rails_admin/sidescroll.js +20 -0
  161. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/README.txt +0 -0
  162. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/mixins.scss +0 -0
  163. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/theming.scss +93 -34
  164. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/variables.scss +0 -0
  165. data/src/rails_admin/styles/base.scss +64 -0
  166. data/src/rails_admin/styles/filtering-multiselect.scss +53 -0
  167. data/src/rails_admin/styles/filtering-select.scss +70 -0
  168. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/themes/cerulean/mixins.scss +0 -0
  169. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/themes/cerulean/theming.scss +23 -21
  170. data/src/rails_admin/styles/themes/cerulean/variables.scss +830 -0
  171. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/themes/default/mixins.scss +1 -1
  172. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/themes/default/theming.scss +0 -0
  173. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/themes/default/variables.scss +1 -1
  174. data/src/rails_admin/styles/widgets.scss +35 -0
  175. data/src/rails_admin/ui.js +172 -0
  176. data/src/rails_admin/vendor/jquery.pjax.js +899 -0
  177. data/src/rails_admin/vendor/jquery_nested_form.js +122 -0
  178. data/src/rails_admin/widgets.js +512 -0
  179. data/vendor/assets/fonts/rails_admin/fa-solid-900.eot +0 -0
  180. data/vendor/assets/fonts/rails_admin/fa-solid-900.svg +5034 -0
  181. data/vendor/assets/fonts/rails_admin/fa-solid-900.ttf +0 -0
  182. data/vendor/assets/fonts/rails_admin/fa-solid-900.woff +0 -0
  183. data/vendor/assets/fonts/rails_admin/fa-solid-900.woff2 +0 -0
  184. data/vendor/assets/javascripts/rails_admin/jquery-ui/data.js +41 -0
  185. data/vendor/assets/javascripts/rails_admin/jquery-ui/effect.js +1637 -0
  186. data/vendor/assets/javascripts/rails_admin/jquery-ui/ie.js +17 -0
  187. data/vendor/assets/javascripts/rails_admin/jquery-ui/keycode.js +47 -0
  188. data/vendor/assets/javascripts/rails_admin/jquery-ui/position.js +500 -0
  189. data/vendor/assets/javascripts/rails_admin/jquery-ui/safe-active-element.js +42 -0
  190. data/vendor/assets/javascripts/rails_admin/jquery-ui/scroll-parent.js +47 -0
  191. data/vendor/assets/javascripts/rails_admin/jquery-ui/unique-id.js +51 -0
  192. data/vendor/assets/javascripts/rails_admin/jquery-ui/version.js +17 -0
  193. data/vendor/assets/javascripts/rails_admin/jquery-ui/widget.js +735 -0
  194. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/autocomplete.js +689 -0
  195. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/menu.js +680 -0
  196. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/mouse.js +230 -0
  197. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/sortable.js +1561 -0
  198. data/vendor/assets/javascripts/rails_admin/jquery3.js +10872 -0
  199. data/vendor/assets/stylesheets/rails_admin/font-awesome.scss +4476 -2216
  200. metadata +118 -262
  201. data/app/assets/images/rails_admin/aristo/images/bg_fallback.png +0 -0
  202. data/app/assets/images/rails_admin/aristo/images/icon_sprite.png +0 -0
  203. data/app/assets/images/rails_admin/aristo/images/progress_bar.gif +0 -0
  204. data/app/assets/images/rails_admin/aristo/images/slider_handles.png +0 -0
  205. data/app/assets/images/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  206. data/app/assets/images/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  207. data/app/assets/images/rails_admin/bullet_black.png +0 -0
  208. data/app/assets/images/rails_admin/bullet_white.png +0 -0
  209. data/app/assets/images/rails_admin/calendar.png +0 -0
  210. data/app/assets/images/rails_admin/clock.png +0 -0
  211. data/app/assets/images/rails_admin/logo.png +0 -0
  212. data/app/assets/images/rails_admin/magnifier.png +0 -0
  213. data/app/assets/images/rails_admin/multiselect/icon_sprite.png +0 -0
  214. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-dark.png +0 -0
  215. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-light.png +0 -0
  216. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-dark.png +0 -0
  217. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-light.png +0 -0
  218. data/app/assets/javascripts/rails_admin/jquery-ui.js.erb +0 -8
  219. data/app/assets/javascripts/rails_admin/jquery.migrate.js +0 -3
  220. data/app/assets/javascripts/rails_admin/ra.filter-box.js +0 -246
  221. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +0 -331
  222. data/app/assets/javascripts/rails_admin/ra.filtering-select.js +0 -294
  223. data/app/assets/javascripts/rails_admin/ra.i18n.js +0 -28
  224. data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.js +0 -59
  225. data/app/assets/javascripts/rails_admin/ra.remote-form.js +0 -155
  226. data/app/assets/javascripts/rails_admin/ra.sidescroll.js +0 -31
  227. data/app/assets/javascripts/rails_admin/ra.widgets.js +0 -379
  228. data/app/assets/javascripts/rails_admin/rails_admin.js +0 -21
  229. data/app/assets/javascripts/rails_admin/ui.js +0 -135
  230. data/app/assets/stylesheets/rails_admin/aristo/images/bg_fallback.png +0 -0
  231. data/app/assets/stylesheets/rails_admin/aristo/images/icon_sprite.png +0 -0
  232. data/app/assets/stylesheets/rails_admin/aristo/images/progress_bar.gif +0 -0
  233. data/app/assets/stylesheets/rails_admin/aristo/images/slider_handles.png +0 -0
  234. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  235. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  236. data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.scss +0 -733
  237. data/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +0 -153
  238. data/app/assets/stylesheets/rails_admin/ra.filtering-multiselect.scss +0 -88
  239. data/app/assets/stylesheets/rails_admin/ra.sidescroll.scss +0 -29
  240. data/app/assets/stylesheets/rails_admin/ra.widgets.scss +0 -17
  241. data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +0 -110
  242. data/app/assets/stylesheets/rails_admin/themes/cerulean/variables.scss +0 -857
  243. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.haml +0 -2
  244. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.haml +0 -4
  245. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.haml +0 -4
  246. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.haml +0 -9
  247. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.haml +0 -4
  248. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.haml +0 -4
  249. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.haml +0 -4
  250. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.haml +0 -4
  251. data/app/views/layouts/rails_admin/_head.html.haml +0 -7
  252. data/app/views/layouts/rails_admin/_navigation.html.haml +0 -12
  253. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +0 -10
  254. data/app/views/layouts/rails_admin/_sidebar_navigation.html.haml +0 -3
  255. data/app/views/layouts/rails_admin/application.html.haml +0 -16
  256. data/app/views/layouts/rails_admin/pjax.html.haml +0 -12
  257. data/app/views/rails_admin/main/_dashboard_history.html.haml +0 -21
  258. data/app/views/rails_admin/main/_delete_notice.html.haml +0 -24
  259. data/app/views/rails_admin/main/_form_action_text.html.haml +0 -7
  260. data/app/views/rails_admin/main/_form_boolean.html.haml +0 -3
  261. data/app/views/rails_admin/main/_form_code_mirror.html.haml +0 -9
  262. data/app/views/rails_admin/main/_form_colorpicker.html.haml +0 -1
  263. data/app/views/rails_admin/main/_form_datetime.html.haml +0 -5
  264. data/app/views/rails_admin/main/_form_enumeration.html.haml +0 -19
  265. data/app/views/rails_admin/main/_form_field.html.haml +0 -1
  266. data/app/views/rails_admin/main/_form_file_upload.html.haml +0 -17
  267. data/app/views/rails_admin/main/_form_froala.html.haml +0 -8
  268. data/app/views/rails_admin/main/_form_multiple_file_upload.html.haml +0 -16
  269. data/app/views/rails_admin/main/_form_nested_many.html.haml +0 -15
  270. data/app/views/rails_admin/main/_form_nested_one.html.haml +0 -17
  271. data/app/views/rails_admin/main/_form_polymorphic_association.html.haml +0 -26
  272. data/app/views/rails_admin/main/_form_simple_mde.haml +0 -8
  273. data/app/views/rails_admin/main/_form_text.html.haml +0 -1
  274. data/app/views/rails_admin/main/_form_wysihtml5.html.haml +0 -8
  275. data/app/views/rails_admin/main/_submit_buttons.html.haml +0 -16
  276. data/app/views/rails_admin/main/bulk_delete.html.haml +0 -11
  277. data/app/views/rails_admin/main/dashboard.html.haml +0 -34
  278. data/app/views/rails_admin/main/delete.html.haml +0 -18
  279. data/app/views/rails_admin/main/edit.html.haml +0 -2
  280. data/app/views/rails_admin/main/export.html.haml +0 -92
  281. data/app/views/rails_admin/main/history.html.haml +0 -51
  282. data/app/views/rails_admin/main/index.html.haml +0 -126
  283. data/app/views/rails_admin/main/new.html.haml +0 -2
  284. data/app/views/rails_admin/main/show.html.haml +0 -15
  285. data/config/initializers/haml.rb +0 -5
  286. data/lib/rails_admin/adapters/active_record/abstract_object.rb +0 -38
  287. data/lib/rails_admin/adapters/mongoid/abstract_object.rb +0 -42
  288. data/lib/rails_admin/bootstrap-sass/compass_functions.rb +0 -28
  289. data/lib/rails_admin/bootstrap-sass/sass_functions.rb +0 -16
  290. data/lib/rails_admin/bootstrap-sass.rb +0 -49
  291. data/lib/rails_admin/config/lazy_model.rb +0 -68
  292. data/lib/rails_admin/extensions/history/auditing_adapter.rb +0 -37
  293. data/lib/rails_admin/extensions/history/history.rb +0 -44
  294. data/lib/rails_admin/extensions/history.rb +0 -3
  295. data/lib/rails_admin/support/i18n.rb +0 -43
  296. data/vendor/assets/fonts/rails_admin/FontAwesome.otf +0 -0
  297. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.eot +0 -0
  298. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.svg +0 -2671
  299. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.ttf +0 -0
  300. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.woff +0 -0
  301. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.woff2 +0 -0
  302. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_background.png +0 -0
  303. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
  304. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
  305. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
  306. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
  307. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
  308. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
  309. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
  310. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
  311. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
  312. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
  313. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
  314. data/vendor/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
  315. data/vendor/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
  316. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
  317. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
  318. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
  319. data/vendor/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
  320. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
  321. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
  322. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
  323. data/vendor/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
  324. data/vendor/assets/images/rails_admin/colorpicker/select.png +0 -0
  325. data/vendor/assets/images/rails_admin/colorpicker/select2.png +0 -0
  326. data/vendor/assets/images/rails_admin/colorpicker/slider.png +0 -0
  327. data/vendor/assets/javascripts/rails_admin/jquery.colorpicker.js +0 -484
  328. data/vendor/assets/stylesheets/rails_admin/jquery.colorpicker.scss +0 -182
@@ -0,0 +1,19 @@
1
+ import moment from "moment";
2
+
3
+ export default {
4
+ locale: null,
5
+ translations: null,
6
+ init(locale, translations) {
7
+ this.locale = locale;
8
+ this.translations = translations;
9
+ moment.locale(this.locale);
10
+ if (typeof this.translations === "string") {
11
+ this.translations = JSON.parse(this.translations);
12
+ }
13
+ },
14
+ t(key) {
15
+ var humanize;
16
+ humanize = key.charAt(0).toUpperCase() + key.replace(/_/g, " ").slice(1);
17
+ return this.translations[key] || humanize;
18
+ },
19
+ };
@@ -0,0 +1,100 @@
1
+ import jQuery from "jquery";
2
+
3
+ (function ($) {
4
+ $(document).ready(function () {
5
+ return (window.nestedFormEvents.insertFields = function (
6
+ content,
7
+ assoc,
8
+ link
9
+ ) {
10
+ var tab_content;
11
+ tab_content = $(link).closest(".controls").siblings(".tab-content");
12
+ tab_content.append(content);
13
+ return tab_content.children().last();
14
+ });
15
+ });
16
+
17
+ $(document).on("nested:fieldAdded", "form", function (content) {
18
+ var controls, field, nav, new_tab, one_to_one, parent_group, toggler;
19
+ field = content.field
20
+ .addClass("tab-pane")
21
+ .attr("id", "unique-id-" + new Date().getTime());
22
+ new_tab = $("<li></li>").append(
23
+ $("<a></a>")
24
+ .attr("data-toggle", "tab")
25
+ .attr("href", "#" + field.attr("id"))
26
+ .text(field.children(".object-infos").data("object-label"))
27
+ );
28
+ parent_group = field.closest(".control-group");
29
+ controls = parent_group.children(".controls");
30
+ one_to_one = controls.data("nestedone") !== void 0;
31
+ nav = controls.children(".nav");
32
+ content = parent_group.children(".tab-content");
33
+ toggler = controls.find(".toggler");
34
+ nav.append(new_tab);
35
+
36
+ const event = new CustomEvent("rails_admin.dom_ready", { detail: field });
37
+ document.dispatchEvent(event);
38
+
39
+ new_tab.children("a").tab("show");
40
+ if (!one_to_one) {
41
+ nav.filter(":hidden").show("slow");
42
+ }
43
+ content.filter(":hidden").show("slow");
44
+ toggler
45
+ .addClass("active")
46
+ .removeClass("disabled")
47
+ .children("i")
48
+ .addClass("fa-chevron-down")
49
+ .removeClass("fa-chevron-right");
50
+ if (one_to_one) {
51
+ controls
52
+ .find(".add_nested_fields")
53
+ .removeClass("add_nested_fields")
54
+ .text(field.children(".object-infos").data("object-label"));
55
+ }
56
+ });
57
+
58
+ $(document).on("nested:fieldRemoved", "form", function (content) {
59
+ var add_button,
60
+ controls,
61
+ current_li,
62
+ field,
63
+ nav,
64
+ one_to_one,
65
+ parent_group,
66
+ toggler;
67
+ field = content.field;
68
+ nav = field
69
+ .closest(".control-group")
70
+ .children(".controls")
71
+ .children(".nav");
72
+ current_li = nav.children("li").has('a[href="#' + field.attr("id") + '"]');
73
+ parent_group = field.closest(".control-group");
74
+ controls = parent_group.children(".controls");
75
+ one_to_one = controls.data("nestedone") !== void 0;
76
+ toggler = controls.find(".toggler");
77
+ (current_li.next().length ? current_li.next() : current_li.prev())
78
+ .children("a:first")
79
+ .tab("show");
80
+ current_li.remove();
81
+ if (nav.children().length === 0) {
82
+ nav.filter(":visible").hide("slow");
83
+ toggler
84
+ .removeClass("active")
85
+ .addClass("disabled")
86
+ .children("i")
87
+ .removeClass("fa-chevron-down")
88
+ .addClass("fa-chevron-right");
89
+ }
90
+ if (one_to_one) {
91
+ add_button = toggler.next();
92
+ add_button
93
+ .addClass("add_nested_fields")
94
+ .html(add_button.data("add-label"));
95
+ }
96
+ field.find("[required]").each(function () {
97
+ $(this).prop("required", false);
98
+ });
99
+ });
100
+ })(jQuery);
@@ -0,0 +1,190 @@
1
+ import Rails from "@rails/ujs";
2
+ import jQuery from "jquery";
3
+ import "jquery-ui/ui/widget";
4
+
5
+ (function ($) {
6
+ $.widget("ra.remoteForm", {
7
+ _create: function () {
8
+ var widget = this;
9
+ var dom_widget = widget.element;
10
+
11
+ var edit_url =
12
+ dom_widget.find("select").first().data("options") &&
13
+ dom_widget.find("select").first().data("options")["edit-url"];
14
+ if (typeof edit_url != "undefined" && edit_url.length) {
15
+ dom_widget.on(
16
+ "dblclick",
17
+ ".ra-multiselect option:not(:disabled)",
18
+ function (e) {
19
+ widget._bindModalOpening(e, edit_url.replace("__ID__", this.value));
20
+ }
21
+ );
22
+ }
23
+
24
+ dom_widget
25
+ .find(".create")
26
+ .unbind()
27
+ .bind("click", function (e) {
28
+ widget._bindModalOpening(e, $(this).data("link"));
29
+ });
30
+
31
+ dom_widget
32
+ .find(".update")
33
+ .unbind()
34
+ .bind("click", function (e) {
35
+ var value = dom_widget.find("select").val();
36
+ if (value) {
37
+ widget._bindModalOpening(
38
+ e,
39
+ $(this).data("link").replace("__ID__", value)
40
+ );
41
+ } else {
42
+ e.preventDefault();
43
+ }
44
+ });
45
+ },
46
+
47
+ _bindModalOpening: function (e, url) {
48
+ e.preventDefault();
49
+ var widget = this;
50
+ if ($("#modal").length) return false;
51
+
52
+ var dialog = this._getModal();
53
+
54
+ setTimeout(function () {
55
+ // fix race condition with modal insertion in the dom (Chrome => Team/add a new fan => #modal not found when it should have). Somehow .on('show') is too early, tried it too.
56
+ $.ajax({
57
+ url: url,
58
+ beforeSend: function (xhr) {
59
+ xhr.setRequestHeader("Accept", "text/javascript");
60
+ },
61
+ success: function (data, status, xhr) {
62
+ dialog.find(".modal-body").html(data);
63
+ widget._bindFormEvents();
64
+ },
65
+ error: function (xhr, status, error) {
66
+ dialog.find(".modal-body").html(xhr.responseText);
67
+ },
68
+ dataType: "text",
69
+ });
70
+ }, 200);
71
+ },
72
+
73
+ _bindFormEvents: function () {
74
+ var widget = this,
75
+ dialog = this._getModal(),
76
+ form = dialog.find("form"),
77
+ saveButtonText = dialog.find(":submit[name=_save]").html(),
78
+ cancelButtonText = dialog.find(":submit[name=_continue]").html();
79
+ dialog.find(".form-actions").remove();
80
+
81
+ form.attr("data-remote", true).attr("data-type", "json");
82
+ dialog.find(".modal-header-title").text(form.data("title"));
83
+ dialog
84
+ .find(".cancel-action")
85
+ .unbind()
86
+ .click(function () {
87
+ dialog.modal("hide");
88
+ return false;
89
+ })
90
+ .html(cancelButtonText);
91
+
92
+ dialog
93
+ .find(".save-action")
94
+ .unbind()
95
+ .click(function () {
96
+ Rails.fire(form[0], "submit");
97
+ return false;
98
+ })
99
+ .html(saveButtonText);
100
+
101
+ const event = new CustomEvent("rails_admin.dom_ready", { detail: form });
102
+ document.dispatchEvent(event);
103
+
104
+ form.bind("ajax:complete", function (event) {
105
+ var data = event.detail[0],
106
+ status = event.detail[1];
107
+ if (status == "OK") {
108
+ var json = $.parseJSON(data.responseText);
109
+ var option =
110
+ '<option value="' +
111
+ json.id +
112
+ '" selected>' +
113
+ json.label +
114
+ "</option>";
115
+ var select = widget.element.find("select").filter(":hidden");
116
+
117
+ if (widget.element.find(".filtering-select").length) {
118
+ // select input
119
+ var input = widget.element
120
+ .find(".filtering-select")
121
+ .children(".ra-filtering-select-input");
122
+ input.val(json.label);
123
+ if (!select.find("option[value=" + json.id + "]").length) {
124
+ // not a replace
125
+ select.html(option).val(json.id);
126
+ widget.element.find(".update").removeClass("disabled");
127
+ }
128
+ } else {
129
+ // multi-select input
130
+ var input = widget.element.find(".ra-filtering-select-input");
131
+ var multiselect = widget.element.find(".ra-multiselect");
132
+ if (multiselect.find("option[value=" + json.id + "]").length) {
133
+ // replace
134
+ select.find("option[value=" + json.id + "]").text(json.label);
135
+ multiselect
136
+ .find("option[value= " + json.id + "]")
137
+ .text(json.label);
138
+ } else {
139
+ // add
140
+ select.append(option);
141
+ multiselect
142
+ .find("select.ra-multiselect-selection")
143
+ .append(option);
144
+ }
145
+ }
146
+ widget._trigger("success");
147
+ dialog.modal("hide");
148
+ } else {
149
+ dialog.find(".modal-body").html(data.responseText);
150
+ widget._bindFormEvents();
151
+ }
152
+ });
153
+ },
154
+
155
+ _getModal: function () {
156
+ var widget = this;
157
+ if (!widget.dialog) {
158
+ widget.dialog = $(
159
+ '<div id="modal" class="modal fade">\
160
+ <div class="modal-dialog">\
161
+ <div class="modal-content">\
162
+ <div class="modal-header">\
163
+ <a href="#" class="close" data-dismiss="modal">&times;</a>\
164
+ <h3 class="modal-header-title">...</h3>\
165
+ </div>\
166
+ <div class="modal-body">\
167
+ ...\
168
+ </div>\
169
+ <div class="modal-footer">\
170
+ <a href="#" class="btn cancel-action">...</a>\
171
+ <a href="#" class="btn btn-primary save-action">...</a>\
172
+ </div>\
173
+ </div>\
174
+ </div>\
175
+ </div>'
176
+ )
177
+ .modal({
178
+ keyboard: true,
179
+ backdrop: true,
180
+ show: true,
181
+ })
182
+ .on("hidden.bs.modal", function () {
183
+ widget.dialog.remove(); // We don't want to reuse closed modals
184
+ widget.dialog = null;
185
+ });
186
+ }
187
+ return this.dialog;
188
+ },
189
+ });
190
+ })(jQuery);
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ {
4
+ document.addEventListener("rails_admin.dom_ready", () => {
5
+ const scroller = document.getElementById("sidescroll");
6
+ if (!scroller) {
7
+ return;
8
+ }
9
+
10
+ scroller.querySelectorAll("tr").forEach((tr, index) => {
11
+ let firstPosition;
12
+ tr.querySelectorAll("th.sticky, td.sticky").forEach((td, idx) => {
13
+ if (idx === 0) {
14
+ firstPosition = td.offsetLeft;
15
+ }
16
+ td.style.left = `${td.offsetLeft - firstPosition}px`;
17
+ });
18
+ });
19
+ });
20
+ }
@@ -6,7 +6,6 @@
6
6
  $avatar-size: 30px;
7
7
 
8
8
  body.rails_admin {
9
-
10
9
  .thumbnail {
11
10
  display: inline-block;
12
11
  }
@@ -26,6 +25,13 @@ body.rails_admin {
26
25
  margin-left: ($avatar-size + 5px);
27
26
  }
28
27
  }
28
+
29
+ > span {
30
+ color: $navbar-default-link-color;
31
+ line-height: $navbar-height;
32
+ padding-left: $navbar-padding-horizontal;
33
+ padding-right: $navbar-padding-horizontal;
34
+ }
29
35
  }
30
36
  }
31
37
 
@@ -71,7 +77,7 @@ body.rails_admin {
71
77
  .form-horizontal {
72
78
  /* hide hidden fields controls by default */
73
79
  .control-group .hidden_type {
74
- display:none;
80
+ display: none;
75
81
  }
76
82
 
77
83
  .control-group {
@@ -87,7 +93,7 @@ body.rails_admin {
87
93
  }
88
94
 
89
95
  legend {
90
- cursor:pointer;
96
+ cursor: pointer;
91
97
  i {
92
98
  vertical-align: inherit !important;
93
99
  }
@@ -100,7 +106,7 @@ body.rails_admin {
100
106
  }
101
107
  .remove_nested_fields,
102
108
  .remove_nested_one_fields {
103
- position:absolute;
109
+ position: absolute;
104
110
  }
105
111
  p {
106
112
  font-size: 12px;
@@ -109,7 +115,8 @@ body.rails_admin {
109
115
  .help-block {
110
116
  // margin-top: 0px;
111
117
  }
112
- .input-prepend, .input-append {
118
+ .input-prepend,
119
+ .input-append {
113
120
  margin-bottom: 0px;
114
121
  label {
115
122
  margin-bottom: 0px;
@@ -121,14 +128,15 @@ body.rails_admin {
121
128
  }
122
129
 
123
130
  /* We want input size to be used, unfixate input width */
124
- input, textarea {
125
- width:auto;
131
+ input,
132
+ textarea {
133
+ width: revert;
126
134
  }
127
135
  .help-block {
128
- clear:left;
136
+ clear: left;
129
137
  }
130
- input[type=file] {
131
- display:block;
138
+ input[type="file"] {
139
+ display: block;
132
140
  }
133
141
 
134
142
  /* nested forms */
@@ -151,13 +159,13 @@ body.rails_admin {
151
159
 
152
160
  & > .remove_nested_fields,
153
161
  & > .remove_nested_one_fields {
154
- display:block;
162
+ display: block;
155
163
  opacity: 0;
156
164
  position: absolute;
157
165
  top: 0px;
158
166
  left: 5px;
159
- -webkit-transition: opacity .15s ease;
160
- transition: opacity .15s ease;
167
+ -webkit-transition: opacity 0.15s ease;
168
+ transition: opacity 0.15s ease;
161
169
  }
162
170
  &:hover > .remove_nested_fields,
163
171
  &:hover > .remove_nested_one_fields,
@@ -179,7 +187,7 @@ body.rails_admin {
179
187
 
180
188
  /* triple nesting!*/
181
189
  .tab-content .tab-content .tab-content .tab-pane {
182
- border-color:lighten(#049cdb, 30%);
190
+ border-color: lighten(#049cdb, 30%);
183
191
  margin-left: 20px;
184
192
 
185
193
  .form-group {
@@ -188,8 +196,8 @@ body.rails_admin {
188
196
  }
189
197
 
190
198
  /* totally awesome! nesting on 4 levels! */
191
- .tab-content .tab-content .tab-content .tab-content .tab-pane {
192
- border-color:lighten(#049cdb, 40%);
199
+ .tab-content .tab-content .tab-content .tab-content .tab-pane {
200
+ border-color: lighten(#049cdb, 40%);
193
201
  margin-left: 30px;
194
202
 
195
203
  .form-group {
@@ -206,13 +214,13 @@ body.rails_admin {
206
214
  /* nested nav */
207
215
  .nav {
208
216
  .nav-level-1 {
209
- padding-left:30px;
217
+ padding-left: 30px;
210
218
  }
211
219
  .nav-level-2 {
212
- padding-left:60px;
220
+ padding-left: 60px;
213
221
  }
214
222
  .nav-level-3 {
215
- padding-left:90px;
223
+ padding-left: 90px;
216
224
  }
217
225
  }
218
226
 
@@ -225,6 +233,14 @@ body.rails_admin {
225
233
  }
226
234
  }
227
235
 
236
+ #sidescroll {
237
+ margin-bottom: 20px;
238
+ overflow-x: auto;
239
+ .table {
240
+ margin-bottom: 0;
241
+ }
242
+ }
243
+
228
244
  /* Table cells behaviour */
229
245
  .table {
230
246
  // Cells
@@ -238,18 +254,21 @@ body.rails_admin {
238
254
  }
239
255
  }
240
256
  .thumbnail {
241
- float:left;
257
+ float: left;
242
258
  & + * {
243
- clear:left;
259
+ clear: left;
244
260
  }
245
261
  }
246
262
  /* backport of Bootstrap 1.4 table headers */
247
263
  .header {
248
264
  cursor: pointer;
265
+ padding-right: 18px;
249
266
  &:after {
250
267
  content: "";
251
268
  float: right;
252
269
  margin-top: 7px;
270
+ margin-left: 8px;
271
+ margin-right: -16px;
253
272
  border-width: 0 4px 4px;
254
273
  border-style: solid;
255
274
  border-color: #000 transparent;
@@ -258,18 +277,18 @@ body.rails_admin {
258
277
  }
259
278
  .headerSortUp,
260
279
  .headerSortDown {
261
- background-color: rgba(141,192,219,.25);
262
- text-shadow: 0 1px 1px rgba(255,255,255,.75);
280
+ background-color: rgba(141, 192, 219, 0.25);
281
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
263
282
  }
264
283
  .header:hover {
265
284
  &:after {
266
- visibility:visible;
285
+ visibility: visible;
267
286
  }
268
287
  }
269
288
  .headerSortDown,
270
289
  .headerSortDown:hover {
271
290
  &:after {
272
- visibility:visible;
291
+ visibility: visible;
273
292
  @include opacity(60);
274
293
  }
275
294
  }
@@ -279,44 +298,84 @@ body.rails_admin {
279
298
  border-left: 4px solid transparent;
280
299
  border-right: 4px solid transparent;
281
300
  border-top: 4px solid #000;
282
- visibility:visible;
301
+ visibility: visible;
283
302
  @include box-shadow(none);
284
303
  @include opacity(60);
285
304
  }
286
305
  }
287
306
 
307
+ th {
308
+ white-space: nowrap;
309
+ }
310
+
288
311
  /* text-overflow when cell content > 150px */
289
312
  td {
290
313
  white-space: nowrap;
291
314
  overflow: hidden;
292
315
  text-overflow: ellipsis;
293
- max-width:150px;
316
+ max-width: 150px;
317
+ }
318
+
319
+ th,
320
+ td {
321
+ padding: 5px 10px;
322
+ }
323
+
324
+ .sticky {
325
+ position: sticky;
326
+ }
327
+
328
+ th.last,
329
+ td.last {
330
+ position: sticky;
331
+ right: 0px;
294
332
  }
295
333
 
296
334
  /* icons */
297
335
  td.links {
298
336
  max-width: none;
299
337
  .list-inline {
300
- margin:0px;
301
- li { display:inline-block; }
338
+ margin: 0px;
339
+ li {
340
+ display: inline-block;
341
+ }
302
342
  }
303
343
  }
304
344
 
305
345
  /* Shrink to content width */
306
346
  .shrink {
307
- width:1px;
308
- white-space:nowrap;
347
+ width: 1px;
348
+ white-space: nowrap;
309
349
  }
310
350
 
311
351
  /* History */
312
352
  th.created_at {
313
- width:160px;
353
+ width: 160px;
314
354
  }
315
355
  th.username {
316
- width:140px;
356
+ width: 140px;
317
357
  }
318
358
  th.item {
319
- width:60px;
359
+ width: 60px;
360
+ }
361
+ }
362
+
363
+ // Remove transparency on sticky cells.
364
+ $table-bg-default: if(
365
+ $table-bg == transparent,
366
+ if($body-bg == transparent, #fff, $body-bg),
367
+ $table-bg
368
+ ) !default;
369
+ .table-striped > tbody > tr:nth-child(even) > td,
370
+ .table-striped > thead > tr > th {
371
+ background-color: $table-bg-default;
372
+ }
373
+ $table-bg-header-sort: #e2eff6 !default;
374
+ .table .sticky,
375
+ .table .last {
376
+ &.headerSortUp,
377
+ &.headerSortDown {
378
+ background-color: $table-bg-header-sort;
320
379
  }
321
380
  }
322
381
  }
@@ -0,0 +1,64 @@
1
+ @charset "UTF-8";
2
+
3
+ /*** Variables ***/
4
+
5
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/_variables";
6
+ @import "base/variables";
7
+ @import "themes/default/variables";
8
+
9
+ /*** Mixins ***/
10
+
11
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/mixins";
12
+ @import "base/mixins";
13
+ @import "themes/default/mixins";
14
+
15
+ /*** Libraries ***/
16
+
17
+ @import "~eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build";
18
+ @import "./filtering-select";
19
+ @import "./filtering-multiselect";
20
+ @import "./widgets";
21
+
22
+ /*** Font-awesome ***/
23
+
24
+ $fa-font-path: "~@fortawesome/fontawesome-free/webfonts";
25
+ @import "~@fortawesome/fontawesome-free/scss/solid";
26
+ @import "~@fortawesome/fontawesome-free/scss/fontawesome";
27
+
28
+ /*** Bootstrap Theming ***/
29
+
30
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/normalize";
31
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/scaffolding";
32
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/grid";
33
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/type";
34
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/forms";
35
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/tables";
36
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/dropdowns";
37
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/wells";
38
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/component-animations";
39
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/close";
40
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/buttons";
41
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/button-groups";
42
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/input-groups";
43
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/alerts";
44
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/navs";
45
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/navbar";
46
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/breadcrumbs";
47
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/pagination";
48
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/pager";
49
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/modals";
50
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/tooltip";
51
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/popovers";
52
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/thumbnails";
53
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/labels";
54
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/panels";
55
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/badges";
56
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/progress-bars";
57
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/carousel";
58
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/utilities";
59
+ @import "~bootstrap-sass/assets/stylesheets/bootstrap/responsive-utilities";
60
+
61
+ /*** RailsAdmin Theming ***/
62
+
63
+ @import "base/theming";
64
+ @import "themes/default/theming";