trestle 0.9.0 → 0.9.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rspec.yml +28 -0
- data/.gitignore +3 -0
- data/CONTRIBUTING.md +38 -0
- data/Gemfile +12 -5
- data/README.md +9 -2
- data/app/assets/bundle/trestle/bundle.css +9 -9
- data/app/assets/bundle/trestle/bundle.js +50 -48
- data/app/assets/bundle/trestle/fa-brands-400.eot +0 -0
- data/app/assets/bundle/trestle/fa-brands-400.svg +818 -597
- data/app/assets/bundle/trestle/fa-brands-400.ttf +0 -0
- data/app/assets/bundle/trestle/fa-brands-400.woff +0 -0
- data/app/assets/bundle/trestle/fa-brands-400.woff2 +0 -0
- data/app/assets/bundle/trestle/fa-regular-400.eot +0 -0
- data/app/assets/bundle/trestle/fa-regular-400.svg +93 -95
- data/app/assets/bundle/trestle/fa-regular-400.ttf +0 -0
- data/app/assets/bundle/trestle/fa-regular-400.woff +0 -0
- data/app/assets/bundle/trestle/fa-regular-400.woff2 +0 -0
- data/app/assets/bundle/trestle/fa-solid-900.eot +0 -0
- data/app/assets/bundle/trestle/fa-solid-900.svg +1209 -842
- data/app/assets/bundle/trestle/fa-solid-900.ttf +0 -0
- data/app/assets/bundle/trestle/fa-solid-900.woff +0 -0
- data/app/assets/bundle/trestle/fa-solid-900.woff2 +0 -0
- data/app/assets/bundle/trestle/flatpickr/ar-dz.js +1 -0
- data/app/assets/bundle/trestle/flatpickr/ar.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/at.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/az.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/be.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/bg.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/bn.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/bs.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/cat.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/ckb.js +1 -0
- data/app/assets/bundle/trestle/flatpickr/cs.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/cy.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/da.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/de.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/default.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/eo.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/es.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/et.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/fa.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/fi.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/fo.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/fr.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/ga.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/gr.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/he.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/hi.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/hr.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/hu.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/hy.js +1 -0
- data/app/assets/bundle/trestle/flatpickr/id.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/is.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/it.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/ja.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/ka.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/km.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/ko.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/kz.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/lt.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/lv.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/mk.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/mn.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/ms.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/my.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/nl.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/nn.js +1 -0
- data/app/assets/bundle/trestle/flatpickr/no.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/pa.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/pl.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/pt.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/ro.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/ru.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/si.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/sk.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/sl.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/sq.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/sr-cyr.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/sr.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/sv.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/th.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/tr.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/uk.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/uz.js +1 -0
- data/app/assets/bundle/trestle/flatpickr/uz_latn.js +1 -0
- data/app/assets/bundle/trestle/flatpickr/vn.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/zh-tw.js +1 -1
- data/app/assets/bundle/trestle/flatpickr/zh.js +1 -1
- data/app/assets/javascripts/trestle/admin.js +1 -0
- data/app/assets/javascripts/trestle/i18n.js.erb +8 -0
- data/{lib → app/controllers/concerns}/trestle/controller/breadcrumbs.rb +1 -1
- data/app/controllers/concerns/trestle/controller/title.rb +20 -0
- data/app/controllers/concerns/trestle/controller/toolbars.rb +30 -0
- data/app/controllers/concerns/trestle/resource/controller/actions.rb +133 -0
- data/app/controllers/concerns/trestle/resource/controller/data_methods.rb +52 -0
- data/app/controllers/concerns/trestle/resource/controller/redirection.rb +23 -0
- data/app/controllers/concerns/trestle/resource/controller/toolbar.rb +11 -0
- data/app/controllers/trestle/admin_controller.rb +31 -0
- data/app/controllers/trestle/application_controller.rb +12 -0
- data/app/controllers/trestle/dashboard_controller.rb +2 -2
- data/app/controllers/trestle/resource_controller.rb +6 -0
- data/app/helpers/trestle/avatar_helper.rb +6 -2
- data/app/helpers/trestle/container_helper.rb +12 -4
- data/app/helpers/trestle/grid_helper.rb +51 -7
- data/app/helpers/trestle/hook_helper.rb +1 -25
- data/app/helpers/trestle/i18n_helper.rb +8 -15
- data/app/helpers/trestle/layout_helper.rb +20 -0
- data/app/helpers/trestle/navigation_helper.rb +23 -0
- data/app/helpers/trestle/params_helper.rb +4 -1
- data/app/helpers/trestle/table_helper.rb +22 -3
- data/app/helpers/trestle/title_helper.rb +11 -0
- data/app/helpers/trestle/toolbars_helper.rb +0 -11
- data/app/helpers/trestle/url_helper.rb +1 -11
- data/app/views/layouts/trestle/admin.html.erb +6 -6
- data/app/views/trestle/application/_dialog.html.erb +1 -1
- data/app/views/trestle/application/_header.html.erb +1 -3
- data/app/views/trestle/flash/_alert.html.erb +3 -1
- data/app/views/trestle/flash/_debug.html.erb +13 -8
- data/app/views/trestle/flash/_flash.html.erb +1 -1
- data/app/views/trestle/resource/_scopes.html.erb +17 -8
- data/app/views/trestle/resource/edit.html.erb +2 -2
- data/app/views/trestle/resource/index.html.erb +3 -3
- data/app/views/trestle/resource/new.html.erb +1 -1
- data/app/views/trestle/resource/show.html.erb +2 -2
- data/app/views/trestle/shared/_sidebar.html.erb +5 -6
- data/app/views/trestle/table/_pagination.html.erb +1 -1
- data/config/locales/de.rb +18 -0
- data/config/locales/de.yml +101 -0
- data/config/locales/vi.rb +18 -0
- data/config/locales/vi.yml +101 -0
- data/config/routes.rb +1 -1
- data/frontend/css/components/_alerts.scss +31 -0
- data/frontend/css/components/_avatar.scss +14 -0
- data/frontend/css/components/_buttons.scss +0 -1
- data/frontend/css/components/_datepicker.scss +1 -0
- data/frontend/css/components/_fields.scss +6 -0
- data/frontend/css/components/_modal.scss +2 -0
- data/frontend/css/components/_scopes.scss +66 -21
- data/frontend/css/components/_table.scss +20 -0
- data/frontend/css/components/_tags.scss +2 -0
- data/frontend/css/components/_timestamp.scss +1 -1
- data/frontend/css/layout/_content.scss +5 -2
- data/frontend/css/layout/_sidebar.scss +9 -3
- data/frontend/css/variables/_bootstrap.scss +1 -0
- data/frontend/css/variables/_trestle.scss +25 -5
- data/frontend/js/components/confirmation.js +4 -2
- data/frontend/js/components/dialog.js +15 -4
- data/frontend/js/components/form.js +9 -0
- data/frontend/js/components/navigation.js +63 -0
- data/frontend/js/components/pagination.js +51 -0
- data/frontend/js/components/sidebar.js +8 -11
- data/frontend/js/components/table.js +33 -2
- data/frontend/js/components/tabs.js +3 -3
- data/frontend/js/core/events.js +7 -3
- data/frontend/js/index.js +1 -0
- data/frontend/theme/trestle/theme/_defaults.scss +4 -4
- data/frontend/theme/trestle/theme/bootstrap/_buttons.scss +3 -0
- data/lib/generators/trestle/install/install_generator.rb +6 -2
- data/lib/generators/trestle/install/templates/_custom.css +8 -0
- data/lib/generators/trestle/install/templates/_theme.scss +1 -1
- data/lib/generators/trestle/install/templates/trestle.rb.erb +8 -2
- data/lib/generators/trestle/resource/resource_generator.rb +15 -1
- data/lib/generators/trestle/resource/templates/admin.rb.erb +15 -8
- data/lib/trestle/adapters/active_record_adapter.rb +17 -1
- data/lib/trestle/adapters.rb +1 -1
- data/lib/trestle/admin/builder.rb +7 -3
- data/lib/trestle/admin.rb +18 -8
- data/lib/trestle/configurable.rb +16 -0
- data/lib/trestle/configuration.rb +7 -8
- data/lib/trestle/debug_errors.rb +24 -0
- data/lib/trestle/engine.rb +3 -10
- data/lib/trestle/evaluation_context.rb +11 -3
- data/lib/trestle/form/automatic.rb +4 -2
- data/lib/trestle/form/builder.rb +6 -7
- data/lib/trestle/form/field.rb +44 -17
- data/lib/trestle/form/fields/check_box_helpers.rb +1 -1
- data/lib/trestle/form/fields/collection_select.rb +1 -1
- data/lib/trestle/form/fields/date_picker.rb +9 -3
- data/lib/trestle/form/fields/date_select.rb +1 -1
- data/lib/trestle/form/fields/datetime_select.rb +1 -1
- data/lib/trestle/form/fields/file_field.rb +1 -1
- data/lib/trestle/form/fields/form_group.rb +18 -5
- data/lib/trestle/form/fields/grouped_collection_select.rb +1 -1
- data/lib/trestle/form/fields/range_field.rb +2 -4
- data/lib/trestle/form/fields/select.rb +2 -3
- data/lib/trestle/form/fields/static_field.rb +7 -3
- data/lib/trestle/form/fields/tag_select.rb +3 -1
- data/lib/trestle/form/fields/time_select.rb +1 -1
- data/lib/trestle/form/fields/time_zone_select.rb +1 -1
- data/lib/trestle/form/fields.rb +6 -38
- data/lib/trestle/form/renderer.rb +11 -4
- data/lib/trestle/form.rb +5 -7
- data/lib/trestle/hook/helpers.rb +33 -0
- data/lib/trestle/hook/set.rb +32 -0
- data/lib/trestle/hook.rb +5 -31
- data/lib/trestle/lazy.rb +56 -0
- data/lib/trestle/navigation/group.rb +5 -2
- data/lib/trestle/navigation/item.rb +7 -3
- data/lib/trestle/navigation.rb +3 -6
- data/lib/trestle/registry.rb +61 -0
- data/lib/trestle/reloader.rb +24 -12
- data/lib/trestle/resource/builder.rb +4 -3
- data/lib/trestle/resource/collection.rb +1 -5
- data/lib/trestle/resource/toolbar.rb +42 -0
- data/lib/trestle/resource.rb +8 -9
- data/lib/trestle/scopes/block.rb +9 -8
- data/lib/trestle/scopes/definition.rb +22 -0
- data/lib/trestle/scopes/scope.rb +6 -2
- data/lib/trestle/scopes.rb +38 -11
- data/lib/trestle/tab.rb +2 -0
- data/lib/trestle/table/actions_column.rb +6 -6
- data/lib/trestle/table/automatic.rb +10 -3
- data/lib/trestle/table/builder.rb +4 -4
- data/lib/trestle/table/column.rb +34 -25
- data/lib/trestle/table/row.rb +13 -13
- data/lib/trestle/table/select_column.rb +19 -7
- data/lib/trestle/table.rb +17 -12
- data/lib/trestle/toolbar.rb +4 -11
- data/lib/trestle/version.rb +1 -1
- data/lib/trestle.rb +62 -48
- data/package.json +21 -24
- data/trestle.gemspec +6 -6
- data/webpack.config.js +40 -49
- data/yarn.lock +3044 -4730
- metadata +66 -22
- data/.travis.yml +0 -27
- data/lib/trestle/admin/controller.rb +0 -28
- data/lib/trestle/application_controller.rb +0 -12
- data/lib/trestle/resource/controller.rb +0 -174
- /data/{lib → app/controllers/concerns}/trestle/controller/callbacks.rb +0 -0
- /data/{lib → app/controllers/concerns}/trestle/controller/dialog.rb +0 -0
- /data/{lib → app/controllers/concerns}/trestle/controller/helpers.rb +0 -0
- /data/{lib → app/controllers/concerns}/trestle/controller/layout.rb +0 -0
- /data/{lib → app/controllers/concerns}/trestle/controller/location.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8a9b6c1f4d2b83d9257ed2daa7c2bf4e4a66afd73bda0a56a26663ced8cc9b6
|
4
|
+
data.tar.gz: 5ecb674467604a6b4ce4d26a77645439f31b0b6b60ac1bf8f2e9770e054056e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5895c063366491326c7b736d92afa03298a5b0afbf3fa231986599dec66a2fd9286588a0d4d473e281f9d2977e2a4cb0b2dc3fe99b3d16bd698560f83e8e4887
|
7
|
+
data.tar.gz: e6756a7feab92d97744fdf4d460c5ddb22d3c5b8011c993e2c457bf6e60544ca77a8daf0c0edb56226514978a85f91c7905089c862ee454552b4068bdb4048e2
|
@@ -0,0 +1,28 @@
|
|
1
|
+
name: RSpec
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
strategy:
|
8
|
+
fail-fast: false
|
9
|
+
matrix:
|
10
|
+
gemfile: [ rails-5.0, rails-5.1, rails-5.2, rails-6.0, rails-6.1 ]
|
11
|
+
ruby: [ '2.7' ]
|
12
|
+
include:
|
13
|
+
- gemfile: rails-6.1
|
14
|
+
ruby: '3.0'
|
15
|
+
- gemfile: rails-7.0
|
16
|
+
ruby: '2.7'
|
17
|
+
- gemfile: rails-7.0
|
18
|
+
ruby: '3.0'
|
19
|
+
runs-on: ubuntu-latest
|
20
|
+
env:
|
21
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
22
|
+
steps:
|
23
|
+
- uses: actions/checkout@v3
|
24
|
+
- uses: ruby/setup-ruby@v1
|
25
|
+
with:
|
26
|
+
ruby-version: ${{ matrix.ruby }}
|
27
|
+
bundler-cache: true
|
28
|
+
- run: bundle exec rake
|
data/.gitignore
CHANGED
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 [GitHub Actions](https://github.com/TrestleAdmin/trestle/actions).
|
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,20 +1,27 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
group :development do
|
4
|
+
gem 'bcrypt'
|
5
|
+
gem 'faker'
|
6
|
+
end
|
5
7
|
|
6
8
|
group :test do
|
7
|
-
gem '
|
8
|
-
gem '
|
9
|
-
gem 'guard-rspec', require: false
|
9
|
+
gem 'coveralls_reborn', require: false
|
10
|
+
gem 'guard-rspec', require: false
|
10
11
|
|
11
12
|
gem 'capybara'
|
12
13
|
gem 'capybara-selenium'
|
14
|
+
gem 'rexml'
|
13
15
|
gem 'selenium-webdriver'
|
14
16
|
gem 'webdrivers'
|
15
17
|
gem 'puma'
|
18
|
+
gem 'launchy'
|
19
|
+
gem 'capybara-screenshot'
|
16
20
|
end
|
17
21
|
|
18
22
|
gem 'haml'
|
19
23
|
gem 'sassc-rails'
|
20
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
|
-
[![
|
8
|
+
[![Build Status](https://img.shields.io/github/actions/workflow/status/TrestleAdmin/trestle/rspec.yml?style=flat)](https://github.com/TrestleAdmin/trestle/actions)
|
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
|
|
@@ -28,7 +28,7 @@ Run `bundle install`, and then run the install generator to create the initial c
|
|
28
28
|
|
29
29
|
$ rails generate trestle:install
|
30
30
|
|
31
|
-
Then create your first admin resource:
|
31
|
+
Then create your first admin resource (assuming you have an existing `Article` model):
|
32
32
|
|
33
33
|
$ rails generate trestle:resource Article
|
34
34
|
|
@@ -104,6 +104,13 @@ The following plugins are currently available:
|
|
104
104
|
| *trestle-sidekiq* | [Sidekiq](http://sidekiq.org/) integration | [GitHub](https://github.com/TrestleAdmin/trestle-sidekiq) \| [RubyGems](https://rubygems.org/gems/trestle-sidekiq) |
|
105
105
|
| *trestle-active_storage* | [Active Storage](https://guides.rubyonrails.org/active_storage_overview.html) integration | [GitHub](https://github.com/richardvenneman/trestle-active_storage) \| [RubyGems](https://rubygems.org/gems/trestle-active_storage) |
|
106
106
|
| *trestle-mobility* | [Mobility](https://github.com/shioyama/mobility) integration | [GitHub](https://github.com/richardvenneman/trestle-mobility) \| [RubyGems](https://rubygems.org/gems/trestle-mobility) |
|
107
|
+
| *trestle-omniauth* | OmniAuth authentication plugin | [GitHub](https://github.com/airhorns/trestle-omniauth) \| [RubyGems](https://rubygems.org/gems/trestle-omniauth) |
|
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
|
+
|
110
|
+
|
111
|
+
## Development
|
112
|
+
|
113
|
+
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for information on developing and contributing to Trestle.
|
107
114
|
|
108
115
|
|
109
116
|
## License
|