trestle 0.9.0 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -9
  3. data/Gemfile +3 -3
  4. data/README.md +4 -2
  5. data/app/assets/bundle/trestle/bundle.css +0 -0
  6. data/app/assets/bundle/trestle/bundle.js +0 -0
  7. data/app/assets/bundle/trestle/fa-brands-400.eot +0 -0
  8. data/app/assets/bundle/trestle/fa-brands-400.svg +0 -0
  9. data/app/assets/bundle/trestle/fa-brands-400.ttf +0 -0
  10. data/app/assets/bundle/trestle/fa-brands-400.woff +0 -0
  11. data/app/assets/bundle/trestle/fa-brands-400.woff2 +0 -0
  12. data/app/assets/bundle/trestle/fa-regular-400.eot +0 -0
  13. data/app/assets/bundle/trestle/fa-regular-400.svg +0 -0
  14. data/app/assets/bundle/trestle/fa-regular-400.ttf +0 -0
  15. data/app/assets/bundle/trestle/fa-regular-400.woff +0 -0
  16. data/app/assets/bundle/trestle/fa-regular-400.woff2 +0 -0
  17. data/app/assets/bundle/trestle/fa-solid-900.eot +0 -0
  18. data/app/assets/bundle/trestle/fa-solid-900.svg +0 -0
  19. data/app/assets/bundle/trestle/fa-solid-900.ttf +0 -0
  20. data/app/assets/bundle/trestle/fa-solid-900.woff +0 -0
  21. data/app/assets/bundle/trestle/fa-solid-900.woff2 +0 -0
  22. data/app/assets/bundle/trestle/flatpickr/ar.js +0 -0
  23. data/app/assets/bundle/trestle/flatpickr/at.js +0 -0
  24. data/app/assets/bundle/trestle/flatpickr/az.js +0 -0
  25. data/app/assets/bundle/trestle/flatpickr/be.js +0 -0
  26. data/app/assets/bundle/trestle/flatpickr/bg.js +0 -0
  27. data/app/assets/bundle/trestle/flatpickr/bn.js +0 -0
  28. data/app/assets/bundle/trestle/flatpickr/bs.js +0 -0
  29. data/app/assets/bundle/trestle/flatpickr/cat.js +0 -0
  30. data/app/assets/bundle/trestle/flatpickr/cs.js +0 -0
  31. data/app/assets/bundle/trestle/flatpickr/cy.js +0 -0
  32. data/app/assets/bundle/trestle/flatpickr/da.js +0 -0
  33. data/app/assets/bundle/trestle/flatpickr/de.js +0 -0
  34. data/app/assets/bundle/trestle/flatpickr/default.js +0 -0
  35. data/app/assets/bundle/trestle/flatpickr/eo.js +0 -0
  36. data/app/assets/bundle/trestle/flatpickr/es.js +0 -0
  37. data/app/assets/bundle/trestle/flatpickr/et.js +0 -0
  38. data/app/assets/bundle/trestle/flatpickr/fa.js +0 -0
  39. data/app/assets/bundle/trestle/flatpickr/fi.js +0 -0
  40. data/app/assets/bundle/trestle/flatpickr/fo.js +0 -0
  41. data/app/assets/bundle/trestle/flatpickr/fr.js +0 -0
  42. data/app/assets/bundle/trestle/flatpickr/ga.js +0 -0
  43. data/app/assets/bundle/trestle/flatpickr/gr.js +0 -0
  44. data/app/assets/bundle/trestle/flatpickr/he.js +0 -0
  45. data/app/assets/bundle/trestle/flatpickr/hi.js +0 -0
  46. data/app/assets/bundle/trestle/flatpickr/hr.js +0 -0
  47. data/app/assets/bundle/trestle/flatpickr/hu.js +0 -0
  48. data/app/assets/bundle/trestle/flatpickr/id.js +0 -0
  49. data/app/assets/bundle/trestle/flatpickr/is.js +0 -0
  50. data/app/assets/bundle/trestle/flatpickr/it.js +0 -0
  51. data/app/assets/bundle/trestle/flatpickr/ja.js +0 -0
  52. data/app/assets/bundle/trestle/flatpickr/ka.js +0 -0
  53. data/app/assets/bundle/trestle/flatpickr/km.js +0 -0
  54. data/app/assets/bundle/trestle/flatpickr/ko.js +0 -0
  55. data/app/assets/bundle/trestle/flatpickr/kz.js +0 -0
  56. data/app/assets/bundle/trestle/flatpickr/lt.js +0 -0
  57. data/app/assets/bundle/trestle/flatpickr/lv.js +0 -0
  58. data/app/assets/bundle/trestle/flatpickr/mk.js +0 -0
  59. data/app/assets/bundle/trestle/flatpickr/mn.js +0 -0
  60. data/app/assets/bundle/trestle/flatpickr/ms.js +0 -0
  61. data/app/assets/bundle/trestle/flatpickr/my.js +0 -0
  62. data/app/assets/bundle/trestle/flatpickr/nl.js +0 -0
  63. data/app/assets/bundle/trestle/flatpickr/no.js +0 -0
  64. data/app/assets/bundle/trestle/flatpickr/pa.js +0 -0
  65. data/app/assets/bundle/trestle/flatpickr/pl.js +0 -0
  66. data/app/assets/bundle/trestle/flatpickr/pt.js +0 -0
  67. data/app/assets/bundle/trestle/flatpickr/ro.js +0 -0
  68. data/app/assets/bundle/trestle/flatpickr/ru.js +0 -0
  69. data/app/assets/bundle/trestle/flatpickr/si.js +0 -0
  70. data/app/assets/bundle/trestle/flatpickr/sk.js +0 -0
  71. data/app/assets/bundle/trestle/flatpickr/sl.js +0 -0
  72. data/app/assets/bundle/trestle/flatpickr/sq.js +0 -0
  73. data/app/assets/bundle/trestle/flatpickr/sr-cyr.js +0 -0
  74. data/app/assets/bundle/trestle/flatpickr/sr.js +0 -0
  75. data/app/assets/bundle/trestle/flatpickr/sv.js +0 -0
  76. data/app/assets/bundle/trestle/flatpickr/th.js +0 -0
  77. data/app/assets/bundle/trestle/flatpickr/tr.js +0 -0
  78. data/app/assets/bundle/trestle/flatpickr/uk.js +0 -0
  79. data/app/assets/bundle/trestle/flatpickr/uz.js +0 -0
  80. data/app/assets/bundle/trestle/flatpickr/uz_latn.js +0 -0
  81. data/app/assets/bundle/trestle/flatpickr/vn.js +0 -0
  82. data/app/assets/bundle/trestle/flatpickr/zh-tw.js +0 -0
  83. data/app/assets/bundle/trestle/flatpickr/zh.js +0 -0
  84. data/app/assets/javascripts/trestle/admin.js +1 -0
  85. data/app/assets/javascripts/trestle/i18n.js.erb +8 -0
  86. data/{lib → app/controllers/concerns}/trestle/controller/breadcrumbs.rb +1 -1
  87. data/{lib → app/controllers/concerns}/trestle/controller/callbacks.rb +0 -0
  88. data/{lib → app/controllers/concerns}/trestle/controller/dialog.rb +0 -0
  89. data/{lib → app/controllers/concerns}/trestle/controller/helpers.rb +0 -0
  90. data/{lib → app/controllers/concerns}/trestle/controller/layout.rb +0 -0
  91. data/{lib → app/controllers/concerns}/trestle/controller/location.rb +0 -0
  92. data/app/controllers/concerns/trestle/controller/title.rb +20 -0
  93. data/app/controllers/concerns/trestle/controller/toolbars.rb +30 -0
  94. data/app/controllers/concerns/trestle/resource/controller/actions.rb +133 -0
  95. data/app/controllers/concerns/trestle/resource/controller/data_methods.rb +52 -0
  96. data/app/controllers/concerns/trestle/resource/controller/redirection.rb +23 -0
  97. data/app/controllers/concerns/trestle/resource/controller/toolbar.rb +11 -0
  98. data/app/controllers/trestle/admin_controller.rb +31 -0
  99. data/app/controllers/trestle/application_controller.rb +12 -0
  100. data/app/controllers/trestle/resource_controller.rb +6 -0
  101. data/app/helpers/trestle/grid_helper.rb +51 -7
  102. data/app/helpers/trestle/hook_helper.rb +1 -25
  103. data/app/helpers/trestle/i18n_helper.rb +8 -15
  104. data/app/helpers/trestle/layout_helper.rb +20 -0
  105. data/app/helpers/trestle/navigation_helper.rb +23 -0
  106. data/app/helpers/trestle/table_helper.rb +22 -3
  107. data/app/helpers/trestle/title_helper.rb +11 -0
  108. data/app/helpers/trestle/toolbars_helper.rb +0 -11
  109. data/app/views/layouts/trestle/admin.html.erb +6 -6
  110. data/app/views/trestle/application/_dialog.html.erb +1 -1
  111. data/app/views/trestle/application/_header.html.erb +1 -3
  112. data/app/views/trestle/resource/_scopes.html.erb +17 -8
  113. data/app/views/trestle/resource/edit.html.erb +2 -2
  114. data/app/views/trestle/resource/index.html.erb +3 -3
  115. data/app/views/trestle/resource/new.html.erb +1 -1
  116. data/app/views/trestle/resource/show.html.erb +2 -2
  117. data/app/views/trestle/shared/_sidebar.html.erb +5 -6
  118. data/app/views/trestle/table/_pagination.html.erb +1 -1
  119. data/config/locales/de.rb +18 -0
  120. data/config/locales/de.yml +101 -0
  121. data/config/locales/vi.rb +18 -0
  122. data/config/locales/vi.yml +101 -0
  123. data/frontend/css/components/_fields.scss +5 -0
  124. data/frontend/css/components/_scopes.scss +66 -21
  125. data/frontend/css/components/_table.scss +20 -0
  126. data/frontend/css/layout/_content.scss +5 -2
  127. data/frontend/css/layout/_sidebar.scss +6 -1
  128. data/frontend/css/variables/_trestle.scss +5 -5
  129. data/frontend/js/components/confirmation.js +4 -2
  130. data/frontend/js/components/dialog.js +7 -1
  131. data/frontend/js/components/form.js +9 -0
  132. data/frontend/js/components/navigation.js +63 -0
  133. data/frontend/js/components/pagination.js +51 -0
  134. data/frontend/js/components/sidebar.js +8 -11
  135. data/frontend/js/components/table.js +33 -2
  136. data/frontend/js/components/tabs.js +2 -2
  137. data/frontend/js/core/events.js +7 -3
  138. data/frontend/js/index.js +1 -0
  139. data/frontend/theme/trestle/theme/bootstrap/_buttons.scss +3 -0
  140. data/lib/generators/trestle/resource/resource_generator.rb +15 -1
  141. data/lib/generators/trestle/resource/templates/admin.rb.erb +15 -8
  142. data/lib/trestle.rb +33 -36
  143. data/lib/trestle/adapters.rb +1 -1
  144. data/lib/trestle/adapters/active_record_adapter.rb +1 -1
  145. data/lib/trestle/admin.rb +18 -8
  146. data/lib/trestle/admin/builder.rb +7 -3
  147. data/lib/trestle/configurable.rb +10 -0
  148. data/lib/trestle/configuration.rb +3 -3
  149. data/lib/trestle/engine.rb +3 -10
  150. data/lib/trestle/evaluation_context.rb +11 -3
  151. data/lib/trestle/form.rb +5 -7
  152. data/lib/trestle/form/automatic.rb +2 -2
  153. data/lib/trestle/form/builder.rb +2 -3
  154. data/lib/trestle/form/field.rb +44 -17
  155. data/lib/trestle/form/fields.rb +6 -38
  156. data/lib/trestle/form/fields/check_box_helpers.rb +1 -1
  157. data/lib/trestle/form/fields/collection_select.rb +1 -1
  158. data/lib/trestle/form/fields/date_picker.rb +9 -3
  159. data/lib/trestle/form/fields/date_select.rb +1 -1
  160. data/lib/trestle/form/fields/datetime_select.rb +1 -1
  161. data/lib/trestle/form/fields/file_field.rb +1 -1
  162. data/lib/trestle/form/fields/form_group.rb +18 -5
  163. data/lib/trestle/form/fields/grouped_collection_select.rb +1 -1
  164. data/lib/trestle/form/fields/range_field.rb +2 -4
  165. data/lib/trestle/form/fields/select.rb +2 -3
  166. data/lib/trestle/form/fields/static_field.rb +7 -3
  167. data/lib/trestle/form/fields/tag_select.rb +3 -1
  168. data/lib/trestle/form/fields/time_select.rb +1 -1
  169. data/lib/trestle/form/fields/time_zone_select.rb +1 -1
  170. data/lib/trestle/form/renderer.rb +7 -3
  171. data/lib/trestle/hook.rb +5 -31
  172. data/lib/trestle/hook/helpers.rb +33 -0
  173. data/lib/trestle/hook/set.rb +32 -0
  174. data/lib/trestle/navigation.rb +3 -6
  175. data/lib/trestle/navigation/group.rb +4 -0
  176. data/lib/trestle/navigation/item.rb +4 -0
  177. data/lib/trestle/reloader.rb +23 -11
  178. data/lib/trestle/resource.rb +8 -9
  179. data/lib/trestle/resource/builder.rb +4 -3
  180. data/lib/trestle/resource/collection.rb +1 -5
  181. data/lib/trestle/resource/toolbar.rb +42 -0
  182. data/lib/trestle/scopes.rb +38 -11
  183. data/lib/trestle/scopes/block.rb +9 -8
  184. data/lib/trestle/scopes/definition.rb +22 -0
  185. data/lib/trestle/scopes/scope.rb +6 -2
  186. data/lib/trestle/tab.rb +2 -0
  187. data/lib/trestle/table.rb +17 -12
  188. data/lib/trestle/table/actions_column.rb +6 -6
  189. data/lib/trestle/table/automatic.rb +3 -3
  190. data/lib/trestle/table/builder.rb +4 -4
  191. data/lib/trestle/table/column.rb +29 -24
  192. data/lib/trestle/table/row.rb +13 -13
  193. data/lib/trestle/table/select_column.rb +19 -7
  194. data/lib/trestle/toolbar.rb +4 -11
  195. data/lib/trestle/version.rb +1 -1
  196. data/package.json +8 -8
  197. data/trestle.gemspec +6 -6
  198. data/webpack.config.js +4 -1
  199. data/yarn.lock +1871 -1800
  200. metadata +56 -21
  201. data/lib/trestle/admin/controller.rb +0 -28
  202. data/lib/trestle/application_controller.rb +0 -12
  203. data/lib/trestle/resource/controller.rb +0 -174
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trestle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Pohlenz
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-08 00:00:00.000000000 Z
11
+ date: 2021-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -56,14 +56,14 @@ dependencies:
56
56
  name: kaminari
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.1.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.1.0
69
69
  - !ruby/object:Gem::Dependency
@@ -86,28 +86,42 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.7.1
89
+ version: 0.9.2
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.7.1
96
+ version: 0.9.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: database_cleaner
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.6.2
103
+ version: 1.8.3
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.8.3
111
+ - !ruby/object:Gem::Dependency
112
+ name: ammeter
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.1.4
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: 1.6.2
124
+ version: 1.1.4
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: bundler
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -256,16 +270,34 @@ files:
256
270
  - app/assets/bundle/trestle/flatpickr/th.js
257
271
  - app/assets/bundle/trestle/flatpickr/tr.js
258
272
  - app/assets/bundle/trestle/flatpickr/uk.js
273
+ - app/assets/bundle/trestle/flatpickr/uz.js
274
+ - app/assets/bundle/trestle/flatpickr/uz_latn.js
259
275
  - app/assets/bundle/trestle/flatpickr/vn.js
260
276
  - app/assets/bundle/trestle/flatpickr/zh-tw.js
261
277
  - app/assets/bundle/trestle/flatpickr/zh.js
262
278
  - app/assets/javascripts/trestle/admin.js
263
279
  - app/assets/javascripts/trestle/custom.js
280
+ - app/assets/javascripts/trestle/i18n.js.erb
264
281
  - app/assets/stylesheets/trestle/_custom.css
265
282
  - app/assets/stylesheets/trestle/admin.css
266
283
  - app/assets/stylesheets/trestle/custom.css
267
284
  - app/assets/stylesheets/trestle/icons/_font-awesome.css.erb
285
+ - app/controllers/concerns/trestle/controller/breadcrumbs.rb
286
+ - app/controllers/concerns/trestle/controller/callbacks.rb
287
+ - app/controllers/concerns/trestle/controller/dialog.rb
288
+ - app/controllers/concerns/trestle/controller/helpers.rb
289
+ - app/controllers/concerns/trestle/controller/layout.rb
290
+ - app/controllers/concerns/trestle/controller/location.rb
291
+ - app/controllers/concerns/trestle/controller/title.rb
292
+ - app/controllers/concerns/trestle/controller/toolbars.rb
293
+ - app/controllers/concerns/trestle/resource/controller/actions.rb
294
+ - app/controllers/concerns/trestle/resource/controller/data_methods.rb
295
+ - app/controllers/concerns/trestle/resource/controller/redirection.rb
296
+ - app/controllers/concerns/trestle/resource/controller/toolbar.rb
297
+ - app/controllers/trestle/admin_controller.rb
298
+ - app/controllers/trestle/application_controller.rb
268
299
  - app/controllers/trestle/dashboard_controller.rb
300
+ - app/controllers/trestle/resource_controller.rb
269
301
  - app/helpers/trestle/avatar_helper.rb
270
302
  - app/helpers/trestle/card_helper.rb
271
303
  - app/helpers/trestle/container_helper.rb
@@ -278,6 +310,7 @@ files:
278
310
  - app/helpers/trestle/hook_helper.rb
279
311
  - app/helpers/trestle/i18n_helper.rb
280
312
  - app/helpers/trestle/icon_helper.rb
313
+ - app/helpers/trestle/layout_helper.rb
281
314
  - app/helpers/trestle/navigation_helper.rb
282
315
  - app/helpers/trestle/pagination_helper.rb
283
316
  - app/helpers/trestle/params_helper.rb
@@ -286,6 +319,7 @@ files:
286
319
  - app/helpers/trestle/tab_helper.rb
287
320
  - app/helpers/trestle/table_helper.rb
288
321
  - app/helpers/trestle/timestamp_helper.rb
322
+ - app/helpers/trestle/title_helper.rb
289
323
  - app/helpers/trestle/toolbars_helper.rb
290
324
  - app/helpers/trestle/url_helper.rb
291
325
  - app/views/kaminari/trestle/_first_page.html.erb
@@ -319,6 +353,8 @@ files:
319
353
  - app/views/trestle/table/_table.html.erb
320
354
  - config/locales/cs.rb
321
355
  - config/locales/cs.yml
356
+ - config/locales/de.rb
357
+ - config/locales/de.yml
322
358
  - config/locales/en.rb
323
359
  - config/locales/en.yml
324
360
  - config/locales/es-MX.yml
@@ -335,6 +371,8 @@ files:
335
371
  - config/locales/pl.yml
336
372
  - config/locales/pt-BR.rb
337
373
  - config/locales/pt-BR.yml
374
+ - config/locales/vi.rb
375
+ - config/locales/vi.yml
338
376
  - config/locales/zh-CN.rb
339
377
  - config/locales/zh-CN.yml
340
378
  - config/routes.rb
@@ -386,6 +424,8 @@ files:
386
424
  - frontend/js/components/file.js
387
425
  - frontend/js/components/form.js
388
426
  - frontend/js/components/gallery.js
427
+ - frontend/js/components/navigation.js
428
+ - frontend/js/components/pagination.js
389
429
  - frontend/js/components/select.js
390
430
  - frontend/js/components/sidebar.js
391
431
  - frontend/js/components/table.js
@@ -447,19 +487,11 @@ files:
447
487
  - lib/trestle/adapters/sequel_adapter.rb
448
488
  - lib/trestle/admin.rb
449
489
  - lib/trestle/admin/builder.rb
450
- - lib/trestle/admin/controller.rb
451
- - lib/trestle/application_controller.rb
452
490
  - lib/trestle/attribute.rb
453
491
  - lib/trestle/breadcrumb.rb
454
492
  - lib/trestle/builder.rb
455
493
  - lib/trestle/configurable.rb
456
494
  - lib/trestle/configuration.rb
457
- - lib/trestle/controller/breadcrumbs.rb
458
- - lib/trestle/controller/callbacks.rb
459
- - lib/trestle/controller/dialog.rb
460
- - lib/trestle/controller/helpers.rb
461
- - lib/trestle/controller/layout.rb
462
- - lib/trestle/controller/location.rb
463
495
  - lib/trestle/display.rb
464
496
  - lib/trestle/engine.rb
465
497
  - lib/trestle/evaluation_context.rb
@@ -504,6 +536,8 @@ files:
504
536
  - lib/trestle/form/fields/week_field.rb
505
537
  - lib/trestle/form/renderer.rb
506
538
  - lib/trestle/hook.rb
539
+ - lib/trestle/hook/helpers.rb
540
+ - lib/trestle/hook/set.rb
507
541
  - lib/trestle/model_name.rb
508
542
  - lib/trestle/navigation.rb
509
543
  - lib/trestle/navigation/block.rb
@@ -515,9 +549,10 @@ files:
515
549
  - lib/trestle/resource/adapter_methods.rb
516
550
  - lib/trestle/resource/builder.rb
517
551
  - lib/trestle/resource/collection.rb
518
- - lib/trestle/resource/controller.rb
552
+ - lib/trestle/resource/toolbar.rb
519
553
  - lib/trestle/scopes.rb
520
554
  - lib/trestle/scopes/block.rb
555
+ - lib/trestle/scopes/definition.rb
521
556
  - lib/trestle/scopes/scope.rb
522
557
  - lib/trestle/tab.rb
523
558
  - lib/trestle/table.rb
@@ -541,7 +576,7 @@ homepage: https://www.trestle.io
541
576
  licenses:
542
577
  - LGPL-3.0
543
578
  metadata: {}
544
- post_install_message:
579
+ post_install_message:
545
580
  rdoc_options: []
546
581
  require_paths:
547
582
  - lib
@@ -556,8 +591,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
556
591
  - !ruby/object:Gem::Version
557
592
  version: '0'
558
593
  requirements: []
559
- rubygems_version: 3.0.6
560
- signing_key:
594
+ rubygems_version: 3.0.8
595
+ signing_key:
561
596
  specification_version: 4
562
597
  summary: A modern, responsive admin framework for Ruby on Rails
563
598
  test_files: []
@@ -1,28 +0,0 @@
1
- module Trestle
2
- class Admin
3
- class Controller < Trestle::ApplicationController
4
- def index
5
- end
6
-
7
- class << self
8
- attr_reader :admin
9
-
10
- private
11
- def local_prefixes
12
- return admin.view_path_prefixes if admin
13
- [controller_path.sub(/\/$/, "")]
14
- end
15
- end
16
-
17
- def admin
18
- @_admin ||= self.class.admin.new(self)
19
- end
20
- helper_method :admin
21
-
22
- protected
23
- def breadcrumbs
24
- @breadcrumbs ||= admin.breadcrumbs.dup
25
- end
26
- end
27
- end
28
- end
@@ -1,12 +0,0 @@
1
- module Trestle
2
- class ApplicationController < ActionController::Base
3
- protect_from_forgery
4
-
5
- include Controller::Breadcrumbs
6
- include Controller::Callbacks
7
- include Controller::Dialog
8
- include Controller::Helpers
9
- include Controller::Layout
10
- include Controller::Location
11
- end
12
- end
@@ -1,174 +0,0 @@
1
- module Trestle
2
- class Resource
3
- class Controller < Admin::Controller
4
- before_action :load_collection, only: [:index]
5
- before_action :load_instance, only: [:show, :edit, :update, :destroy]
6
-
7
- def index
8
- respond_to do |format|
9
- format.html
10
- format.json { render json: collection }
11
-
12
- yield format if block_given?
13
- end
14
- end
15
-
16
- def new
17
- self.instance = admin.build_instance(params.key?(admin.parameter_name) ? admin.permitted_params(params) : {}, params)
18
-
19
- respond_to do |format|
20
- format.html
21
- format.json { render json: instance }
22
-
23
- yield format if block_given?
24
- end
25
- end
26
-
27
- def create
28
- self.instance = admin.build_instance(admin.permitted_params(params), params)
29
-
30
- if admin.save_instance(instance, params)
31
- respond_to do |format|
32
- format.html do
33
- flash[:message] = flash_message("create.success", title: "Success!", message: "The %{lowercase_model_name} was successfully created.")
34
- redirect_to_return_location(:create, instance, default: admin.instance_path(instance))
35
- end
36
- format.json { render json: instance, status: :created, location: admin.instance_path(instance) }
37
-
38
- yield format if block_given?
39
- end
40
- else
41
- respond_to do |format|
42
- format.html do
43
- flash.now[:error] = flash_message("create.failure", title: "Warning!", message: "Please correct the errors below.")
44
- render "new", status: :unprocessable_entity
45
- end
46
- format.json { render json: instance.errors, status: :unprocessable_entity }
47
-
48
- yield format if block_given?
49
- end
50
- end
51
- end
52
-
53
- def show
54
- if admin.singular? && instance.nil?
55
- respond_to do |format|
56
- format.html { redirect_to action: :new }
57
- format.json { head :not_found }
58
-
59
- yield format if block_given?
60
- end
61
- else
62
- respond_to do |format|
63
- format.html
64
- format.json { render json: instance }
65
-
66
- yield format if block_given?
67
- end
68
- end
69
- end
70
-
71
- def edit
72
- if admin.singular? && instance.nil?
73
- respond_to do |format|
74
- format.html { redirect_to action: :new }
75
- format.json { head :not_found }
76
-
77
- yield format if block_given?
78
- end
79
- else
80
- respond_to do |format|
81
- format.html
82
- format.json { render json: instance }
83
-
84
- yield format if block_given?
85
- end
86
- end
87
- end
88
-
89
- def update
90
- admin.update_instance(instance, admin.permitted_params(params), params)
91
-
92
- if admin.save_instance(instance, params)
93
- respond_to do |format|
94
- format.html do
95
- flash[:message] = flash_message("update.success", title: "Success!", message: "The %{lowercase_model_name} was successfully updated.")
96
- redirect_to_return_location(:update, instance, default: admin.instance_path(instance))
97
- end
98
- format.json { render json: instance, status: :ok }
99
-
100
- yield format if block_given?
101
- end
102
- else
103
- respond_to do |format|
104
- format.html do
105
- flash.now[:error] = flash_message("update.failure", title: "Warning!", message: "Please correct the errors below.")
106
- render "show", status: :unprocessable_entity
107
- end
108
- format.json { render json: instance.errors, status: :unprocessable_entity }
109
-
110
- yield format if block_given?
111
- end
112
- end
113
- end
114
-
115
- def destroy
116
- success = admin.delete_instance(instance, params)
117
-
118
- respond_to do |format|
119
- format.html do
120
- if success
121
- flash[:message] = flash_message("destroy.success", title: "Success!", message: "The %{lowercase_model_name} was successfully deleted.")
122
- redirect_to_return_location(:destroy, instance, default: admin.path(:index))
123
- else
124
- flash[:error] = flash_message("destroy.failure", title: "Warning!", message: "Could not delete %{lowercase_model_name}.")
125
-
126
- if self.instance = admin.find_instance(params)
127
- redirect_to_return_location(:update, instance, default: admin.instance_path(instance))
128
- else
129
- redirect_to_return_location(:destroy, instance, default: admin.path(:index))
130
- end
131
- end
132
- end
133
- format.json { head :no_content }
134
-
135
- yield format if block_given?
136
- end
137
- end
138
-
139
- protected
140
- def load_instance
141
- self.instance = admin.find_instance(params)
142
- end
143
-
144
- def load_collection
145
- self.collection = admin.prepare_collection(params)
146
- end
147
-
148
- attr_accessor :instance, :collection
149
- helper_method :instance, :collection
150
-
151
- def flash_message(type, title:, message:)
152
- {
153
- title: admin.t("flash.#{type}.title", default: title),
154
- message: admin.t("flash.#{type}.message", default: message)
155
- }
156
- end
157
-
158
- def redirect_to_return_location(action, instance, default:)
159
- if admin.return_locations[action] && !dialog_request?
160
- location = instance_exec(instance, &admin.return_locations[action])
161
-
162
- case location
163
- when :back
164
- redirect_back fallback_location: default, turbolinks: false
165
- else
166
- redirect_to location, turbolinks: false
167
- end
168
- else
169
- redirect_to default, turbolinks: false
170
- end
171
- end
172
- end
173
- end
174
- end