trestle 0.9.3 → 0.9.6

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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.travis.yml +18 -4
  4. data/CONTRIBUTING.md +38 -0
  5. data/Gemfile +12 -4
  6. data/README.md +6 -1
  7. data/app/assets/bundle/trestle/bundle.css +9 -9
  8. data/app/assets/bundle/trestle/bundle.js +47 -45
  9. data/app/assets/bundle/trestle/fa-brands-400.eot +0 -0
  10. data/app/assets/bundle/trestle/fa-brands-400.svg +801 -654
  11. data/app/assets/bundle/trestle/fa-brands-400.ttf +0 -0
  12. data/app/assets/bundle/trestle/fa-brands-400.woff +0 -0
  13. data/app/assets/bundle/trestle/fa-brands-400.woff2 +0 -0
  14. data/app/assets/bundle/trestle/fa-regular-400.eot +0 -0
  15. data/app/assets/bundle/trestle/fa-regular-400.svg +93 -95
  16. data/app/assets/bundle/trestle/fa-regular-400.ttf +0 -0
  17. data/app/assets/bundle/trestle/fa-regular-400.woff +0 -0
  18. data/app/assets/bundle/trestle/fa-regular-400.woff2 +0 -0
  19. data/app/assets/bundle/trestle/fa-solid-900.eot +0 -0
  20. data/app/assets/bundle/trestle/fa-solid-900.svg +1175 -1079
  21. data/app/assets/bundle/trestle/fa-solid-900.ttf +0 -0
  22. data/app/assets/bundle/trestle/fa-solid-900.woff +0 -0
  23. data/app/assets/bundle/trestle/fa-solid-900.woff2 +0 -0
  24. data/app/assets/bundle/trestle/flatpickr/ar-dz.js +1 -0
  25. data/app/assets/bundle/trestle/flatpickr/ar.js +1 -1
  26. data/app/assets/bundle/trestle/flatpickr/at.js +1 -1
  27. data/app/assets/bundle/trestle/flatpickr/az.js +1 -1
  28. data/app/assets/bundle/trestle/flatpickr/be.js +1 -1
  29. data/app/assets/bundle/trestle/flatpickr/bg.js +1 -1
  30. data/app/assets/bundle/trestle/flatpickr/bn.js +1 -1
  31. data/app/assets/bundle/trestle/flatpickr/bs.js +1 -1
  32. data/app/assets/bundle/trestle/flatpickr/cat.js +1 -1
  33. data/app/assets/bundle/trestle/flatpickr/ckb.js +1 -0
  34. data/app/assets/bundle/trestle/flatpickr/cs.js +1 -1
  35. data/app/assets/bundle/trestle/flatpickr/cy.js +1 -1
  36. data/app/assets/bundle/trestle/flatpickr/da.js +1 -1
  37. data/app/assets/bundle/trestle/flatpickr/de.js +1 -1
  38. data/app/assets/bundle/trestle/flatpickr/default.js +1 -1
  39. data/app/assets/bundle/trestle/flatpickr/eo.js +1 -1
  40. data/app/assets/bundle/trestle/flatpickr/es.js +1 -1
  41. data/app/assets/bundle/trestle/flatpickr/et.js +1 -1
  42. data/app/assets/bundle/trestle/flatpickr/fa.js +1 -1
  43. data/app/assets/bundle/trestle/flatpickr/fi.js +1 -1
  44. data/app/assets/bundle/trestle/flatpickr/fo.js +1 -1
  45. data/app/assets/bundle/trestle/flatpickr/fr.js +1 -1
  46. data/app/assets/bundle/trestle/flatpickr/ga.js +1 -1
  47. data/app/assets/bundle/trestle/flatpickr/gr.js +1 -1
  48. data/app/assets/bundle/trestle/flatpickr/he.js +1 -1
  49. data/app/assets/bundle/trestle/flatpickr/hi.js +1 -1
  50. data/app/assets/bundle/trestle/flatpickr/hr.js +1 -1
  51. data/app/assets/bundle/trestle/flatpickr/hu.js +1 -1
  52. data/app/assets/bundle/trestle/flatpickr/hy.js +1 -0
  53. data/app/assets/bundle/trestle/flatpickr/id.js +1 -1
  54. data/app/assets/bundle/trestle/flatpickr/is.js +1 -1
  55. data/app/assets/bundle/trestle/flatpickr/it.js +1 -1
  56. data/app/assets/bundle/trestle/flatpickr/ja.js +1 -1
  57. data/app/assets/bundle/trestle/flatpickr/ka.js +1 -1
  58. data/app/assets/bundle/trestle/flatpickr/km.js +1 -1
  59. data/app/assets/bundle/trestle/flatpickr/ko.js +1 -1
  60. data/app/assets/bundle/trestle/flatpickr/kz.js +1 -1
  61. data/app/assets/bundle/trestle/flatpickr/lt.js +1 -1
  62. data/app/assets/bundle/trestle/flatpickr/lv.js +1 -1
  63. data/app/assets/bundle/trestle/flatpickr/mk.js +1 -1
  64. data/app/assets/bundle/trestle/flatpickr/mn.js +1 -1
  65. data/app/assets/bundle/trestle/flatpickr/ms.js +1 -1
  66. data/app/assets/bundle/trestle/flatpickr/my.js +1 -1
  67. data/app/assets/bundle/trestle/flatpickr/nl.js +1 -1
  68. data/app/assets/bundle/trestle/flatpickr/nn.js +1 -0
  69. data/app/assets/bundle/trestle/flatpickr/no.js +1 -1
  70. data/app/assets/bundle/trestle/flatpickr/pa.js +1 -1
  71. data/app/assets/bundle/trestle/flatpickr/pl.js +1 -1
  72. data/app/assets/bundle/trestle/flatpickr/pt.js +1 -1
  73. data/app/assets/bundle/trestle/flatpickr/ro.js +1 -1
  74. data/app/assets/bundle/trestle/flatpickr/ru.js +1 -1
  75. data/app/assets/bundle/trestle/flatpickr/si.js +1 -1
  76. data/app/assets/bundle/trestle/flatpickr/sk.js +1 -1
  77. data/app/assets/bundle/trestle/flatpickr/sl.js +1 -1
  78. data/app/assets/bundle/trestle/flatpickr/sq.js +1 -1
  79. data/app/assets/bundle/trestle/flatpickr/sr-cyr.js +1 -1
  80. data/app/assets/bundle/trestle/flatpickr/sr.js +1 -1
  81. data/app/assets/bundle/trestle/flatpickr/sv.js +1 -1
  82. data/app/assets/bundle/trestle/flatpickr/th.js +1 -1
  83. data/app/assets/bundle/trestle/flatpickr/tr.js +1 -1
  84. data/app/assets/bundle/trestle/flatpickr/uk.js +1 -1
  85. data/app/assets/bundle/trestle/flatpickr/uz.js +1 -0
  86. data/app/assets/bundle/trestle/flatpickr/uz_latn.js +1 -0
  87. data/app/assets/bundle/trestle/flatpickr/vn.js +1 -1
  88. data/app/assets/bundle/trestle/flatpickr/zh-tw.js +1 -1
  89. data/app/assets/bundle/trestle/flatpickr/zh.js +1 -1
  90. data/app/assets/javascripts/trestle/i18n.js.erb +1 -1
  91. data/app/controllers/trestle/admin_controller.rb +23 -25
  92. data/app/controllers/trestle/application_controller.rb +10 -12
  93. data/app/controllers/trestle/dashboard_controller.rb +11 -13
  94. data/app/controllers/trestle/resource_controller.rb +5 -7
  95. data/app/helpers/trestle/avatar_helper.rb +6 -2
  96. data/app/helpers/trestle/container_helper.rb +12 -4
  97. data/app/helpers/trestle/hook_helper.rb +1 -27
  98. data/app/helpers/trestle/layout_helper.rb +20 -0
  99. data/app/helpers/trestle/navigation_helper.rb +23 -0
  100. data/app/helpers/trestle/params_helper.rb +4 -1
  101. data/app/helpers/trestle/table_helper.rb +15 -0
  102. data/app/helpers/trestle/url_helper.rb +1 -11
  103. data/app/views/layouts/trestle/admin.html.erb +2 -2
  104. data/app/views/trestle/flash/_alert.html.erb +3 -1
  105. data/app/views/trestle/flash/_debug.html.erb +13 -8
  106. data/app/views/trestle/flash/_flash.html.erb +1 -1
  107. data/app/views/trestle/resource/_scopes.html.erb +17 -8
  108. data/app/views/trestle/resource/index.html.erb +2 -2
  109. data/app/views/trestle/shared/_sidebar.html.erb +4 -5
  110. data/app/views/trestle/table/_pagination.html.erb +1 -1
  111. data/config/locales/vi.rb +18 -0
  112. data/config/locales/vi.yml +101 -0
  113. data/config/routes.rb +1 -1
  114. data/frontend/css/components/_alerts.scss +31 -0
  115. data/frontend/css/components/_avatar.scss +14 -0
  116. data/frontend/css/components/_buttons.scss +0 -1
  117. data/frontend/css/components/_datepicker.scss +1 -0
  118. data/frontend/css/components/_fields.scss +5 -0
  119. data/frontend/css/components/_modal.scss +2 -0
  120. data/frontend/css/components/_scopes.scss +66 -21
  121. data/frontend/css/components/_table.scss +4 -0
  122. data/frontend/css/components/_tags.scss +2 -0
  123. data/frontend/css/components/_timestamp.scss +1 -1
  124. data/frontend/css/layout/_content.scss +5 -2
  125. data/frontend/css/layout/_sidebar.scss +3 -2
  126. data/frontend/css/variables/_bootstrap.scss +1 -0
  127. data/frontend/css/variables/_trestle.scss +25 -5
  128. data/frontend/js/components/dialog.js +8 -3
  129. data/frontend/js/components/navigation.js +63 -0
  130. data/frontend/js/components/pagination.js +51 -0
  131. data/frontend/js/components/sidebar.js +4 -7
  132. data/frontend/js/index.js +1 -0
  133. data/frontend/theme/trestle/theme/_defaults.scss +4 -4
  134. data/lib/generators/trestle/install/templates/_theme.scss +1 -1
  135. data/lib/generators/trestle/install/templates/trestle.rb.erb +6 -1
  136. data/lib/trestle/adapters/active_record_adapter.rb +16 -0
  137. data/lib/trestle/admin.rb +12 -2
  138. data/lib/trestle/engine.rb +3 -6
  139. data/lib/trestle/evaluation_context.rb +11 -3
  140. data/lib/trestle/form/automatic.rb +2 -0
  141. data/lib/trestle/form/field.rb +20 -13
  142. data/lib/trestle/form/fields/collection_select.rb +1 -1
  143. data/lib/trestle/form/fields/date_picker.rb +9 -3
  144. data/lib/trestle/form/fields/file_field.rb +1 -1
  145. data/lib/trestle/form/fields/form_group.rb +18 -5
  146. data/lib/trestle/form/fields/grouped_collection_select.rb +1 -1
  147. data/lib/trestle/form/fields/range_field.rb +2 -4
  148. data/lib/trestle/form/fields/select.rb +2 -3
  149. data/lib/trestle/form/fields/static_field.rb +2 -2
  150. data/lib/trestle/form/fields/tag_select.rb +1 -1
  151. data/lib/trestle/form/fields/time_zone_select.rb +1 -1
  152. data/lib/trestle/form/renderer.rb +9 -4
  153. data/lib/trestle/hook/helpers.rb +33 -0
  154. data/lib/trestle/hook/set.rb +32 -0
  155. data/lib/trestle/hook.rb +3 -29
  156. data/lib/trestle/navigation/group.rb +4 -0
  157. data/lib/trestle/registry.rb +61 -0
  158. data/lib/trestle/reloader.rb +26 -6
  159. data/lib/trestle/resource/builder.rb +3 -2
  160. data/lib/trestle/resource/collection.rb +1 -5
  161. data/lib/trestle/resource.rb +4 -3
  162. data/lib/trestle/scopes/block.rb +9 -8
  163. data/lib/trestle/scopes/definition.rb +22 -0
  164. data/lib/trestle/scopes/scope.rb +6 -2
  165. data/lib/trestle/scopes.rb +37 -8
  166. data/lib/trestle/table/automatic.rb +7 -0
  167. data/lib/trestle/version.rb +1 -1
  168. data/lib/trestle.rb +29 -14
  169. data/package.json +21 -24
  170. data/webpack.config.js +40 -49
  171. data/yarn.lock +3129 -4810
  172. metadata +22 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a0e145542ea21344ab56ce456f98a2eab365820c9cb65da1a2c64e57b7041e1
4
- data.tar.gz: 9957f9704925389b5adf30d148dee1f41843fd450bd1d5442b40a296b6daf21f
3
+ metadata.gz: 69b3e74515d0dfde0380b92c8e9f5f37beb1d23cf8c31178d1000ef7f7a1adcc
4
+ data.tar.gz: a6337acb54910fea72323ae457adfe8f5b3031e858455d7d886185e1dcffaf7b
5
5
  SHA512:
6
- metadata.gz: c43a3a0a73533519d3fcaac45788fb1bb41c1bf746d5d0b2c4516c172f90f73cf51a1cc88560f0e546e76b3b0d269550ee91e39a5176ec63ba9933fc1f33e6c5
7
- data.tar.gz: c415ad3ce71f604c39af7dd052556b1b53da73b5c4214ae60802f7024edc38cb761548ee78373f780987a95c8fdb9b753fc7dbfff1b270c400515f6454151f9d
6
+ metadata.gz: e69c0b5908c0aae5c257775c5937785df476d31ac288996f4725f1b3e0a023a0efb19126f28d8dce42deafbd82ceb8556bc6aecd9e428ed8893b9b8679c0e9cd
7
+ data.tar.gz: 63fa852e9ee84ed0a8aa02afae5d34e1a83d7621965a0310f44aa4f5b11f68fa83e3c31d2aced72bb721b34fc8fbf862b19287d6315b38dd25d2065ebe243380
data/.gitignore CHANGED
@@ -16,4 +16,7 @@
16
16
  /spec/dummy/*.sqlite3-journal
17
17
  /spec/dummy/log/*.log
18
18
  /spec/dummy/tmp/*
19
+ /spec/dummy/config/credentials.yml.enc
20
+ /spec/dummy/config/master.key
21
+ /spec/dummy/public/assets/
19
22
  /node_modules
data/.travis.yml CHANGED
@@ -1,3 +1,6 @@
1
+ os: linux
2
+ dist: bionic
3
+
1
4
  language: ruby
2
5
 
3
6
  cache: bundler
@@ -7,19 +10,30 @@ before_install:
7
10
  - gem install bundler
8
11
 
9
12
  rvm:
10
- - 2.6.5
13
+ - 2.6.10
14
+ - 2.7.6
11
15
 
12
16
  gemfile:
13
17
  - gemfiles/rails-5.0.gemfile
14
18
  - gemfiles/rails-5.1.gemfile
15
19
  - gemfiles/rails-5.2.gemfile
16
20
  - gemfiles/rails-6.0.gemfile
21
+ - gemfiles/rails-6.1.gemfile
17
22
 
18
23
  addons:
19
24
  chrome: stable
20
25
 
21
26
  jobs:
22
27
  include:
23
- gemfile: gemfiles/rails-4.2.gemfile
24
- before_install:
25
- - gem install bundler -v '< 2'
28
+ - gemfile: gemfiles/rails-4.2.gemfile
29
+ before_install:
30
+ - gem install bundler -v '< 2'
31
+
32
+ - gemfile: gemfiles/rails-6.1.gemfile
33
+ rvm: 3.0.4
34
+
35
+ - gemfile: gemfiles/rails-7.0.gemfile
36
+ rvm: 2.7.6
37
+
38
+ - gemfile: gemfiles/rails-7.0.gemfile
39
+ rvm: 3.0.4
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,38 @@
1
+ # Contributing to Trestle
2
+
3
+ ## Table of Contents
4
+
5
+ 1. [Running the Test Suite](#running-the-test-suite)
6
+ 2. [Sandbox Application](#sandbox-application)
7
+ 3. [Contributor License Agreement](#contributor-license-agreement)
8
+
9
+
10
+ ## Running the Test Suite
11
+
12
+ After checking out the repository and installing dependencies by running `bundle`, the full RSpec test suite can be run with:
13
+
14
+ ```sh
15
+ $ bundle exec rake
16
+ ```
17
+
18
+ When submitting a pull request, please ensure that all of the tests are passing. Builds will be automatically checked for a passing test suite by [Travis CI](https://travis-ci.com/github/TrestleAdmin/trestle).
19
+
20
+
21
+ ## Sandbox Application
22
+
23
+ The Trestle repo includes a sandbox application with some example admins and pages to demo most of the available functionality.
24
+
25
+ The following commands will set up the database (including sample seed data) and start a rails server:
26
+
27
+ ```sh
28
+ $ cd sandbox
29
+ $ bundle exec rails db:setup
30
+ $ bundle exec rails server
31
+ ```
32
+
33
+ You can then browse to http://localhost:3000/admin to access the sandbox.
34
+
35
+
36
+ ## Contributor License Agreement
37
+
38
+ We ask that all contributors please sign the [Contributor License Agreement](https://cla-assistant.io/TrestleAdmin/trestle). If you have not previously signed the agreement, you will be prompted to when creating your first pull request.
data/Gemfile CHANGED
@@ -1,19 +1,27 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in trestle.gemspec
4
- gemspec
3
+ group :development do
4
+ gem 'bcrypt'
5
+ gem 'faker'
6
+ end
5
7
 
6
8
  group :test do
7
- gem 'coveralls', require: false
8
- gem 'guard-rspec', require: false
9
+ gem 'coveralls_reborn', require: false
10
+ gem 'guard-rspec', require: false
9
11
 
10
12
  gem 'capybara'
11
13
  gem 'capybara-selenium'
14
+ gem 'rexml'
12
15
  gem 'selenium-webdriver'
13
16
  gem 'webdrivers'
14
17
  gem 'puma'
18
+ gem 'launchy'
19
+ gem 'capybara-screenshot'
15
20
  end
16
21
 
17
22
  gem 'haml'
18
23
  gem 'sassc-rails'
19
24
  gem 'sqlite3', '~> 1.4'
25
+
26
+ # Specify your gem's dependencies in trestle.gemspec
27
+ gemspec
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  # Trestle
6
6
 
7
7
  [![RubyGem](https://img.shields.io/gem/v/trestle.svg?style=flat&colorB=4065a9)](https://rubygems.org/gems/trestle)
8
- [![Travis](https://img.shields.io/travis/TrestleAdmin/trestle.svg?style=flat)](https://travis-ci.org/TrestleAdmin/trestle)
8
+ [![Travis](https://img.shields.io/travis/TrestleAdmin/trestle.svg?style=flat)](https://travis-ci.com/github/TrestleAdmin/trestle)
9
9
  [![Coveralls](https://img.shields.io/coveralls/TrestleAdmin/trestle.svg?style=flat)](https://coveralls.io/github/TrestleAdmin/trestle)
10
10
  [![Code Climate](https://api.codeclimate.com/v1/badges/c529a7a9c500ed81baed/maintainability)](https://codeclimate.com/github/TrestleAdmin/trestle)
11
11
 
@@ -108,6 +108,11 @@ The following plugins are currently available:
108
108
  | *trestle-auth-otp* | 2FA/OTP user authentication | [GitHub](https://github.com/McRipper/trestle-auth-otp) \| [RubyGems](https://rubygems.org/gems/trestle-auth-otp) |
109
109
 
110
110
 
111
+ ## Development
112
+
113
+ Please see [CONTRIBUTING.md](CONTRIBUTING.md) for information on developing and contributing to Trestle.
114
+
115
+
111
116
  ## License
112
117
 
113
118
  The gem is available as open source under the terms of the [LGPLv3 License](https://opensource.org/licenses/LGPL-3.0).