trestle 0.9.6 → 0.9.9

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yml +30 -0
  3. data/.gitignore +4 -0
  4. data/CONTRIBUTING.md +1 -1
  5. data/README.md +1 -1
  6. data/app/assets/bundle/trestle/bundle.css +7 -7
  7. data/app/assets/bundle/trestle/bundle.js +14 -28
  8. data/app/controllers/concerns/trestle/controller/toolbars.rb +1 -1
  9. data/app/controllers/concerns/trestle/resource/controller/actions.rb +5 -5
  10. data/app/controllers/concerns/trestle/resource/controller/redirection.rb +5 -3
  11. data/app/controllers/trestle/admin_controller.rb +4 -0
  12. data/app/helpers/trestle/card_helper.rb +2 -2
  13. data/app/helpers/trestle/navigation_helper.rb +3 -1
  14. data/app/helpers/trestle/toolbars_helper.rb +1 -1
  15. data/app/views/trestle/flash/_flash.html.erb +1 -1
  16. data/app/views/trestle/resource/_scopes.html.erb +1 -1
  17. data/config/locales/vi.yml +1 -1
  18. data/frontend/css/components/_fields.scss +1 -0
  19. data/frontend/css/components/_toolbars.scss +1 -19
  20. data/frontend/css/core/_mixins.scss +1 -4
  21. data/frontend/css/layout/_content.scss +1 -1
  22. data/frontend/js/components/tabs.js +1 -1
  23. data/lib/generators/trestle/install/install_generator.rb +6 -2
  24. data/lib/generators/trestle/install/templates/_custom.css +8 -0
  25. data/lib/generators/trestle/install/templates/trestle.rb.erb +2 -1
  26. data/lib/trestle/adapters/active_record_adapter.rb +1 -1
  27. data/lib/trestle/admin/builder.rb +7 -0
  28. data/lib/trestle/admin.rb +12 -6
  29. data/lib/trestle/configurable.rb +8 -2
  30. data/lib/trestle/configuration.rb +4 -5
  31. data/lib/trestle/debug_errors.rb +24 -0
  32. data/lib/trestle/form/automatic.rb +3 -1
  33. data/lib/trestle/form/builder.rb +4 -4
  34. data/lib/trestle/hook/helpers.rb +1 -1
  35. data/lib/trestle/lazy.rb +56 -0
  36. data/lib/trestle/navigation/group.rb +1 -2
  37. data/lib/trestle/navigation/item.rb +3 -3
  38. data/lib/trestle/reloader.rb +2 -11
  39. data/lib/trestle/resource/builder.rb +1 -8
  40. data/lib/trestle/resource.rb +2 -2
  41. data/lib/trestle/scopes/block.rb +7 -7
  42. data/lib/trestle/scopes/definition.rb +2 -2
  43. data/lib/trestle/scopes/scope.rb +4 -0
  44. data/lib/trestle/table/column.rb +5 -1
  45. data/lib/trestle/version.rb +1 -1
  46. data/lib/trestle.rb +6 -0
  47. data/package.json +2 -2
  48. data/trestle.gemspec +7 -7
  49. data/webpack.config.js +8 -1
  50. data/yarn.lock +1633 -2889
  51. metadata +25 -22
  52. data/.travis.yml +0 -39
@@ -1,16 +1,16 @@
1
1
  module Trestle
2
2
  class Scopes
3
3
  class Block
4
- attr_reader :block
4
+ attr_reader :block, :options
5
5
 
6
- def initialize(&block)
7
- @block = block
6
+ def initialize(options={}, &block)
7
+ @options, @block = options, block
8
8
  end
9
9
 
10
10
  # Evaluates the scope block within the given admin context
11
11
  # and returns an array of the scopes that were defined.
12
12
  def scopes(context)
13
- context = Evaluator.new(context)
13
+ context = Evaluator.new(context, options)
14
14
  context.instance_exec(context, &block)
15
15
  context.scopes
16
16
  end
@@ -20,8 +20,8 @@ module Trestle
20
20
 
21
21
  attr_reader :scopes
22
22
 
23
- def initialize(context=nil)
24
- @context = context
23
+ def initialize(context=nil, defaults={})
24
+ @context, @defaults = context, defaults
25
25
  @scopes = []
26
26
  end
27
27
 
@@ -31,7 +31,7 @@ module Trestle
31
31
  scope = nil
32
32
  end
33
33
 
34
- scopes << Scope.new(@context, name, options, &(scope || block))
34
+ scopes << Scope.new(@context, name, @defaults.merge(options), &(scope || block))
35
35
  end
36
36
  end
37
37
  end
@@ -8,8 +8,8 @@ module Trestle
8
8
  @options = {}
9
9
  end
10
10
 
11
- def append(&block)
12
- @blocks << Block.new(&block)
11
+ def append(options={}, &block)
12
+ @blocks << Block.new(options, &block)
13
13
  end
14
14
 
15
15
  # Evaluates each of the scope blocks within the given admin context
@@ -23,6 +23,10 @@ module Trestle
23
23
  @options[:default] == true
24
24
  end
25
25
 
26
+ def count?
27
+ @options[:count] != false
28
+ end
29
+
26
30
  def apply(collection)
27
31
  if @block
28
32
  if @block.arity == 1
@@ -108,7 +108,7 @@ module Trestle
108
108
 
109
109
  def column_value(instance)
110
110
  if @column.block
111
- if defined?(Haml) && Haml::Helpers.block_is_haml?(@column.block)
111
+ if block_is_legacy_haml?
112
112
  # In order for table column blocks to work properly within Haml templates,
113
113
  # the _hamlout local variable needs to be defined in the scope of the block,
114
114
  # so that the Haml version of the capture method is used. Because we
@@ -131,6 +131,10 @@ module Trestle
131
131
  instance.send(@column.field)
132
132
  end
133
133
  end
134
+
135
+ def block_is_legacy_haml?
136
+ defined?(Haml) && Haml::Helpers.respond_to?(:block_is_haml?) && Haml::Helpers.block_is_haml?(@column.block)
137
+ end
134
138
  end
135
139
  end
136
140
  end
@@ -1,3 +1,3 @@
1
1
  module Trestle
2
- VERSION = "0.9.6"
2
+ VERSION = "0.9.9"
3
3
  end
data/lib/trestle.rb CHANGED
@@ -11,6 +11,8 @@ module Trestle
11
11
  require_relative "trestle/adapters"
12
12
  require_relative "trestle/attribute"
13
13
  require_relative "trestle/breadcrumb"
14
+ require_relative "trestle/debug_errors"
15
+ require_relative "trestle/lazy"
14
16
  require_relative "trestle/configurable"
15
17
  require_relative "trestle/configuration"
16
18
  require_relative "trestle/display"
@@ -83,6 +85,10 @@ module Trestle
83
85
  [locale]
84
86
  end
85
87
  end
88
+
89
+ def self.deprecator
90
+ @deprecator ||= ActiveSupport::Deprecation.new
91
+ end
86
92
  end
87
93
 
88
94
  require_relative "trestle/engine" if defined?(Rails)
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trestle",
3
- "version": "0.9.6",
3
+ "version": "0.9.7",
4
4
  "description": "A modern, responsive admin framework for Ruby on Rails",
5
5
  "homepage": "https://trestle.io",
6
6
  "repository": "https://github.com/TrestleAdmin/trestle.git",
@@ -22,9 +22,9 @@
22
22
  "css-minimizer-webpack-plugin": "^3.0.2",
23
23
  "expose-loader": "^3.0.0",
24
24
  "mini-css-extract-plugin": "^2.0.0",
25
- "node-sass": "^7.0.1",
26
25
  "postcss": "^8.3.5",
27
26
  "postcss-loader": "^6.1.1",
27
+ "sass": "^1.76.0",
28
28
  "sass-loader": "^12.1.0",
29
29
  "webpack": "^5.42.0",
30
30
  "webpack-cli": "^4.7.2"
data/trestle.gemspec CHANGED
@@ -20,18 +20,18 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.required_ruby_version = ">= 2.2.2"
22
22
 
23
- spec.add_dependency "railties", ">= 4.2.0"
24
- spec.add_dependency "activemodel", ">= 4.2.0"
23
+ spec.add_dependency "railties", ">= 5.2.0"
24
+ spec.add_dependency "activemodel", ">= 5.2.0"
25
25
  spec.add_dependency "sprockets-rails", ">= 2.0.0"
26
26
  spec.add_dependency "kaminari", ">= 1.1.0"
27
27
 
28
- spec.add_development_dependency "rspec-rails", "~> 3.5"
29
- spec.add_development_dependency "rspec-html-matchers", "~> 0.9.2"
30
- spec.add_development_dependency "database_cleaner", "~> 1.8.3"
31
- spec.add_development_dependency "ammeter", "~> 1.1.4"
28
+ spec.add_development_dependency "rspec-rails", ">= 5.1.2"
29
+ spec.add_development_dependency "rspec-html-matchers", "~> 0.10.0"
30
+ spec.add_development_dependency "database_cleaner", "~> 2.0.2"
31
+ spec.add_development_dependency "ammeter", "~> 1.1.5"
32
32
 
33
33
  spec.add_development_dependency "bundler"
34
34
  spec.add_development_dependency "rake"
35
- spec.add_development_dependency "sqlite3", "~> 1.3.6"
35
+ spec.add_development_dependency "sqlite3"
36
36
  spec.add_development_dependency "turbolinks"
37
37
  end
data/webpack.config.js CHANGED
@@ -54,7 +54,14 @@ module.exports = {
54
54
  }
55
55
  }
56
56
  },
57
- { loader: 'sass-loader' }
57
+ {
58
+ loader: 'sass-loader',
59
+ options: {
60
+ sassOptions: {
61
+ quietDeps: true
62
+ }
63
+ }
64
+ }
58
65
  ]
59
66
  },
60
67
  {