trestle 0.9.3 → 0.9.6

Sign up to get free protection for your applications and to get access to all the features.
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).