administrate 1.0.0.beta1 → 1.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/builds/administrate/application.css +609 -27
  3. data/app/assets/builds/administrate/application.css.map +1 -1
  4. data/app/assets/builds/administrate/application.js +16295 -2236
  5. data/app/assets/builds/administrate/application.js.map +4 -4
  6. data/app/assets/builds/administrate-internal/docs.css.map +1 -1
  7. data/app/assets/javascripts/administrate/application.js +4 -4
  8. data/app/assets/javascripts/administrate/controllers/application.js +9 -0
  9. data/app/assets/javascripts/administrate/controllers/index.js +7 -0
  10. data/app/assets/javascripts/administrate/controllers/select_controller.js +8 -0
  11. data/app/assets/javascripts/administrate/{components/table.js → controllers/table_controller.js} +9 -9
  12. data/app/assets/stylesheets/administrate/application.scss +1 -2
  13. data/app/assets/stylesheets/administrate/base/_layout.scss +5 -0
  14. data/app/assets/stylesheets/administrate/base/_typography.scss +12 -1
  15. data/app/assets/stylesheets/administrate/components/_buttons.scss +12 -10
  16. data/app/assets/stylesheets/administrate/components/_field-unit.scss +2 -3
  17. data/app/assets/stylesheets/administrate/reset/_normalize.scss +7 -1
  18. data/app/controllers/administrate/application_controller.rb +3 -2
  19. data/app/views/administrate/application/_collection.html.erb +1 -1
  20. data/app/views/administrate/application/_collection_item_actions.html.erb +3 -3
  21. data/app/views/administrate/application/_index_header.html.erb +4 -0
  22. data/app/views/administrate/application/_javascript.html.erb +1 -1
  23. data/app/views/administrate/application/edit.html.erb +15 -3
  24. data/app/views/administrate/application/index.html.erb +19 -11
  25. data/app/views/administrate/application/new.html.erb +15 -3
  26. data/app/views/administrate/application/show.html.erb +35 -23
  27. data/app/views/fields/belongs_to/_form.html.erb +3 -2
  28. data/app/views/fields/has_many/_form.html.erb +1 -1
  29. data/app/views/fields/polymorphic/_form.html.erb +1 -1
  30. data/app/views/fields/rich_text/_form.html.erb +6 -0
  31. data/app/views/fields/rich_text/_index.html.erb +18 -0
  32. data/app/views/fields/rich_text/_show.html.erb +18 -0
  33. data/app/views/fields/select/_form.html.erb +2 -1
  34. data/app/views/fields/text/_form.html.erb +1 -1
  35. data/app/views/layouts/administrate/application.html.erb +1 -2
  36. data/docs/customizing_dashboards.md +138 -4
  37. data/docs/customizing_page_views.md +25 -0
  38. data/lib/administrate/base_dashboard.rb +1 -0
  39. data/lib/administrate/engine.rb +6 -0
  40. data/lib/administrate/field/associative.rb +4 -0
  41. data/lib/administrate/field/base.rb +19 -1
  42. data/lib/administrate/field/belongs_to.rb +6 -1
  43. data/lib/administrate/field/deferred.rb +9 -1
  44. data/lib/administrate/field/has_one.rb +4 -0
  45. data/lib/administrate/field/rich_text.rb +21 -0
  46. data/lib/administrate/field/select.rb +4 -0
  47. data/lib/administrate/order.rb +25 -21
  48. data/lib/administrate/page/base.rb +1 -6
  49. data/lib/administrate/version.rb +1 -1
  50. data/lib/generators/administrate/dashboard/dashboard_generator.rb +5 -2
  51. data/lib/generators/administrate/views/index_generator.rb +1 -0
  52. data/lib/generators/administrate/views/layout_generator.rb +1 -1
  53. metadata +13 -12
  54. data/app/assets/javascripts/administrate/components/associative.js +0 -5
  55. data/app/assets/javascripts/administrate/components/select.js +0 -3
  56. data/app/assets/stylesheets/administrate/utilities/_text-color.scss +0 -3
  57. data/lib/generators/administrate/assets/assets_generator.rb +0 -12
  58. data/lib/generators/administrate/assets/javascripts_generator.rb +0 -17
  59. data/lib/generators/administrate/assets/stylesheets_generator.rb +0 -17
@@ -82,7 +82,8 @@ the table views and in the dropdown menu on the record forms.
82
82
  You can set multiple columns as well with direction. E.g.: `"name, email DESC"`.
83
83
 
84
84
  `:scope` - Specifies a custom scope inside a callable. Useful for preloading.
85
- Example: `.with_options(scope: -> { MyModel.includes(:rel).limit(5) })`
85
+ Example #1: `.with_options(scope: -> { MyModel.includes(:rel).limit(5) })`
86
+ Example #2: `.with_options(scope: -> (field) { field.resource.my_models.includes(:rel).limit(5) })`
86
87
 
87
88
  `:include_blank` - Specifies if the select element to be rendered should include
88
89
  blank option. Default is `true`.
@@ -113,7 +114,7 @@ association `belongs_to :country`, from your model.
113
114
 
114
115
  **Field::HasMany**
115
116
 
116
- `:collection_attributes` - Set the columns to display in the show view.
117
+ `:collection_attributes` - Set the columns to display in the show view.
117
118
  Default is COLLECTION_ATTRIBUTES in dashboard.
118
119
 
119
120
  `:limit` - The number of resources (paginated) to display in the show view. To disable pagination,
@@ -144,14 +145,14 @@ Default is `false`.
144
145
  For example:
145
146
 
146
147
  ```ruby
147
- cities: Field::HasMany.with_options(
148
+ city: Field::HasOne.with_options(
148
149
  searchable: true,
149
150
  searchable_fields: ['name'],
150
151
  )
151
152
  ```
152
153
 
153
154
  with this, you will be able to search through the column `name` from the
154
- association `has_many :cities`, from your model.
155
+ association `has_one :city`, from your model.
155
156
 
156
157
  `:class_name` (deprecated) - Specifies the name of the associated class.
157
158
 
@@ -266,6 +267,9 @@ Default is `false`.
266
267
  `:truncate` - Set the number of characters to display in the index view.
267
268
  Defaults to `50`.
268
269
 
270
+ `:input_options` - Options to customize the text area in form view.
271
+ Example: `.with_options(input_options: { rows: 20 })`
272
+
269
273
  **Field::Url**
270
274
 
271
275
  `:searchable` - Specify if the attribute should be considered when searching.
@@ -436,3 +440,133 @@ en:
436
440
  ```
437
441
 
438
442
  If not defined (see `SHOW_PAGE_ATTRIBUTES` above), Administrate will default to the given strings.
443
+
444
+ ## Virtual Attributes
445
+
446
+ For all field types, you can use the `getter` option to change where the data is retrieved from or to set the data directly.
447
+
448
+ By using this, you can define an attribute in `ATTRIBUTE_TYPES` that doesn’t exist in the model, and use it for various purposes.
449
+
450
+ ### Attribute Aliases
451
+
452
+ You can create an alias for an attribute. For example:
453
+
454
+ ```ruby
455
+ ATTRIBUTE_TYPES = {
456
+ shipped_at: Field::DateTime,
457
+ shipped_on: Field::Date.with_options(
458
+ getter: :shipped_at
459
+ )
460
+ }
461
+ COLLECTION_ATTRIBUTES = [
462
+ :shipped_on
463
+ }
464
+ SHOW_PAGE_ATTRIBUTES = [
465
+ :shipped_at
466
+ }
467
+ ```
468
+
469
+ In this example, a virtual attribute `shipped_on` based on the value of `shipped_at` is defined as a `Date` type and used for display on the index page (this can help save table cell space).
470
+
471
+ ### Decorated Attributes
472
+
473
+ You can also use this to decorate data. For example:
474
+
475
+ ```ruby
476
+ ATTRIBUTE_TYPES = {
477
+ price: Field::Number,
478
+ price_including_tax: Field::Number.with_options(
479
+ getter: -> (field) {
480
+ field.resource.price * 1.1 if field.resource.price.present?
481
+ }
482
+ )
483
+ }
484
+ ```
485
+
486
+ ### Composite Attributes
487
+
488
+ You can dynamically create a virtual attribute by combining multiple attributes for display. For example:
489
+
490
+ ```ruby
491
+ ATTRIBUTE_TYPES = {
492
+ first_name: Field::String,
493
+ last_name: Field::String,
494
+ full_name: Field::String.with_options(
495
+ getter: -> (field) {
496
+ [
497
+ field.resource.first_name,
498
+ field.resource.last_name
499
+ ].compact_blank.join(' ')
500
+ }
501
+ )
502
+ }
503
+ ```
504
+
505
+ ## Virtual Fields
506
+
507
+ Custom fields can also be defined using virtual fields.
508
+
509
+ ```ruby
510
+ ATTRIBUTE_TYPES = {
511
+ id: Field::Number,
512
+ receipt: Field::ReceiptLink
513
+ }
514
+ ```
515
+
516
+ ```ruby
517
+ module Administrate
518
+ module Field
519
+ class ReceiptLink < Base
520
+ def data
521
+ resource.id
522
+ end
523
+
524
+ def filename
525
+ "receipt-#{data}.pdf"
526
+ end
527
+
528
+ def url
529
+ "/files/receipts/#{filename}"
530
+ end
531
+ end
532
+ end
533
+ end
534
+ ```
535
+
536
+ ```erb
537
+ <%= link_to field.filename, field.url %>
538
+ ```
539
+
540
+ ### Custom Actions via Virtual Field
541
+
542
+ By creating custom fields that are not dependent on specific attributes, you can insert custom views into any screen.
543
+ For example, you can add custom buttons like this:
544
+
545
+ ```ruby
546
+ ATTRIBUTE_TYPES = {
547
+ id: Field::Number,
548
+ custom_index_actions: Field::CustomActionButtons,
549
+ custom_show_actions: Field::CustomActionButtons,
550
+ }
551
+ ```
552
+
553
+ ```ruby
554
+ module Administrate
555
+ module Field
556
+ class CustomActionButtons < Base
557
+ def data
558
+ resource.id
559
+ end
560
+ end
561
+ end
562
+ end
563
+ ```
564
+
565
+ ```erb
566
+ <%# app/views/fields/custom_action_buttons/_index.html.erb %>
567
+ <% if field.data.present? %>
568
+ <%= button_to "some action 1", [:some_action_1, namespace, field.resource] %>
569
+ <%= button_to "some action 2", [:some_action_2, namespace, field.resource] %>
570
+ <%= button_to "some action 3", [:some_action_3, namespace, field.resource] %>
571
+ <% end %>
572
+ ```
@@ -94,3 +94,28 @@ rails generate administrate:views:layout
94
94
  # It only generates the sidebar partial
95
95
  # -> app/views/admin/application/_navigation.html.erb
96
96
  ```
97
+
98
+ ## Customizing for a specific layout
99
+
100
+ You can use several hook points to add elements to specific layouts or specific pages:
101
+
102
+ * header_middle
103
+ * header_last
104
+ * before_main
105
+ * main
106
+ * after_main
107
+
108
+ For example, you can add a button in the middle of the header as follows:
109
+
110
+ ```eruby
111
+ <%# app/views/admin/customers/_index_header.html.erb %>
112
+
113
+ <% content_for(:header_middle) do %>
114
+ <div>
115
+ You are logged in as <em><%= pundit_user.name %></em>.
116
+ <%= link_to("Become the Admin", become_admin_customer_path("admin")) unless pundit_user.admin? %>
117
+ </div>
118
+ <% end %>
119
+
120
+ <%= render template: 'administrate/application/_index_header', locals: local_assigns %>
121
+ ```
@@ -7,6 +7,7 @@ require "administrate/field/has_many"
7
7
  require "administrate/field/has_one"
8
8
  require "administrate/field/number"
9
9
  require "administrate/field/polymorphic"
10
+ require "administrate/field/rich_text"
10
11
  require "administrate/field/select"
11
12
  require "administrate/field/string"
12
13
  require "administrate/field/text"
@@ -24,6 +24,12 @@ module Administrate
24
24
  ]
25
25
  end
26
26
 
27
+ initializer "administrate.action_text" do
28
+ ActiveSupport.on_load :action_text_rich_text do
29
+ require "administrate/field/rich_text"
30
+ end
31
+ end
32
+
27
33
  def self.add_javascript(script)
28
34
  @@javascripts << script
29
35
  end
@@ -46,6 +46,10 @@ module Administrate
46
46
  end
47
47
  end
48
48
 
49
+ def html_controller
50
+ "select"
51
+ end
52
+
49
53
  private
50
54
 
51
55
  def associated_dashboard
@@ -34,20 +34,38 @@ module Administrate
34
34
 
35
35
  def initialize(attribute, data, page, options = {})
36
36
  @attribute = attribute
37
- @data = data
38
37
  @page = page
39
38
  @resource = options.delete(:resource)
40
39
  @options = options
40
+ @data = read_value(data)
41
41
  end
42
42
 
43
43
  def html_class
44
44
  self.class.html_class
45
45
  end
46
46
 
47
+ def html_controller
48
+ nil
49
+ end
50
+
47
51
  def name
48
52
  attribute.to_s
49
53
  end
50
54
 
55
+ def read_value(data)
56
+ if options.key?(:getter)
57
+ if options[:getter].respond_to?(:call)
58
+ options[:getter].call(self)
59
+ else
60
+ resource.try(options[:getter])
61
+ end
62
+ elsif data.nil?
63
+ resource.try(attribute)
64
+ else
65
+ data
66
+ end
67
+ end
68
+
51
69
  def to_partial_path
52
70
  "/fields/#{self.class.field_type}/#{page}"
53
71
  end
@@ -41,7 +41,12 @@ module Administrate
41
41
  private
42
42
 
43
43
  def candidate_resources
44
- scope = options[:scope] ? options[:scope].call : associated_class.all
44
+ scope =
45
+ if options[:scope]
46
+ options[:scope].arity.positive? ? options[:scope].call(self) : options[:scope].call
47
+ else
48
+ associated_class.all
49
+ end
45
50
 
46
51
  order = options.delete(:order)
47
52
  order ? scope.reorder(order) : scope
@@ -21,6 +21,10 @@ module Administrate
21
21
  options == other.options
22
22
  end
23
23
 
24
+ def getter
25
+ options.fetch(:getter, nil)
26
+ end
27
+
24
28
  def associative?
25
29
  deferred_class.associative?
26
30
  end
@@ -30,7 +34,11 @@ module Administrate
30
34
  end
31
35
 
32
36
  def searchable?
33
- options.fetch(:searchable, deferred_class.searchable?)
37
+ if options.key?(:getter)
38
+ false
39
+ else
40
+ options.fetch(:searchable, deferred_class.searchable?)
41
+ end
34
42
  end
35
43
 
36
44
  def searchable_field
@@ -48,6 +48,10 @@ module Administrate
48
48
  data.try(:persisted?)
49
49
  end
50
50
 
51
+ def html_controller
52
+ "select"
53
+ end
54
+
51
55
  private
52
56
 
53
57
  def resolver
@@ -0,0 +1,21 @@
1
+ require "administrate/field/base"
2
+
3
+ module Administrate
4
+ module Field
5
+ class RichText < Administrate::Field::Base
6
+ def to_s
7
+ data&.to_plain_text
8
+ end
9
+
10
+ def truncate
11
+ to_s.truncate(truncation_length)
12
+ end
13
+
14
+ private
15
+
16
+ def truncation_length
17
+ options.fetch(:truncate, 50)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -35,6 +35,10 @@ module Administrate
35
35
  def active_record_enum_values
36
36
  resource.class.defined_enums[attribute.to_s].map(&:first)
37
37
  end
38
+
39
+ def html_controller
40
+ "select"
41
+ end
38
42
  end
39
43
  end
40
44
  end
@@ -75,7 +75,7 @@ module Administrate
75
75
 
76
76
  def order_by_belongs_to(relation)
77
77
  if ordering_by_association_column?(relation)
78
- order_by_attribute(relation)
78
+ order_by_association_attribute(relation)
79
79
  else
80
80
  order_by_id(relation)
81
81
  end
@@ -83,26 +83,16 @@ module Administrate
83
83
 
84
84
  def order_by_has_one(relation)
85
85
  if ordering_by_association_column?(relation)
86
- order_by_attribute(relation)
86
+ order_by_association_attribute(relation)
87
87
  else
88
88
  order_by_association_id(relation)
89
89
  end
90
90
  end
91
91
 
92
- def order_by_attribute(relation)
93
- relation.joins(
94
- attribute.to_sym
95
- ).reorder(order_by_attribute_query)
96
- end
97
-
98
92
  def order_by_id(relation)
99
93
  relation.reorder(order_by_id_query(relation))
100
94
  end
101
95
 
102
- def order_by_association_id(relation)
103
- relation.reorder(order_by_association_id_query)
104
- end
105
-
106
96
  def ordering_by_association_column?(relation)
107
97
  association_attribute &&
108
98
  column_exist?(
@@ -115,16 +105,26 @@ module Administrate
115
105
  end
116
106
 
117
107
  def order_by_id_query(relation)
118
- relation.arel_table[foreign_key(relation)].public_send(direction)
108
+ relation.arel_table[association_foreign_key(relation)].public_send(direction)
109
+ end
110
+
111
+ def order_by_association_id(relation)
112
+ order_by_association_column(relation, association_primary_key(relation))
113
+ end
114
+
115
+ def order_by_association_attribute(relation)
116
+ order_by_association_column(relation, association_attribute)
119
117
  end
120
118
 
121
- def order_by_association_id_query
122
- Arel::Table.new(association_table_name)[:id].public_send(direction)
119
+ def order_by_association_column(relation, column_name)
120
+ relation.joins(
121
+ attribute.to_sym
122
+ ).reorder(order_by_association_column_query(relation, column_name))
123
123
  end
124
124
 
125
- def order_by_attribute_query
126
- table = Arel::Table.new(association_table_name)
127
- table[association_attribute].public_send(direction)
125
+ def order_by_association_column_query(relation, column)
126
+ table = Arel::Table.new(association_table_name(relation))
127
+ table[column].public_send(direction)
128
128
  end
129
129
 
130
130
  def relation_type(relation)
@@ -135,12 +135,16 @@ module Administrate
135
135
  relation.klass.reflect_on_association(attribute.to_s)
136
136
  end
137
137
 
138
- def foreign_key(relation)
138
+ def association_foreign_key(relation)
139
139
  reflect_association(relation).foreign_key
140
140
  end
141
141
 
142
- def association_table_name
143
- attribute.tableize
142
+ def association_primary_key(relation)
143
+ reflect_association(relation).association_primary_key
144
+ end
145
+
146
+ def association_table_name(relation)
147
+ reflect_association(relation).table_name
144
148
  end
145
149
  end
146
150
  end
@@ -30,13 +30,8 @@ module Administrate
30
30
  private
31
31
 
32
32
  def attribute_field(dashboard, resource, attribute_name, page)
33
- value = get_attribute_value(resource, attribute_name)
34
33
  field = dashboard.attribute_type_for(attribute_name)
35
- field.new(attribute_name, value, page, resource: resource)
36
- end
37
-
38
- def get_attribute_value(resource, attribute_name)
39
- resource.public_send(attribute_name)
34
+ field.new(attribute_name, nil, page, resource: resource)
40
35
  end
41
36
 
42
37
  attr_reader :dashboard, :options
@@ -1,3 +1,3 @@
1
1
  module Administrate
2
- VERSION = "1.0.0.beta1".freeze
2
+ VERSION = "1.0.0.beta2".freeze
3
3
  end
@@ -37,15 +37,18 @@ module Administrate
37
37
  source_root File.expand_path("../templates", __FILE__)
38
38
 
39
39
  def create_dashboard_definition
40
+ scope = regular_class_path.join("/")
41
+
40
42
  template(
41
43
  "dashboard.rb.erb",
42
- Rails.root.join("app/dashboards/#{file_name}_dashboard.rb")
44
+ Rails.root.join("app/dashboards/#{scope}/#{file_name}_dashboard.rb")
43
45
  )
44
46
  end
45
47
 
46
48
  def create_resource_controller
49
+ scope = "#{namespace}/#{regular_class_path.join("/")}"
47
50
  destination = Rails.root.join(
48
- "app/controllers/#{namespace}/#{file_name.pluralize}_controller.rb"
51
+ "app/controllers/#{scope}/#{file_name.pluralize}_controller.rb"
49
52
  )
50
53
 
51
54
  template("controller.rb.erb", destination)
@@ -9,6 +9,7 @@ module Administrate
9
9
  def copy_template
10
10
  copy_resource_template("index")
11
11
  copy_resource_template("_collection")
12
+ copy_resource_template("_index_header")
12
13
  end
13
14
  end
14
15
  end
@@ -9,7 +9,7 @@ module Administrate
9
9
  def copy_template
10
10
  copy_file(
11
11
  "../../layouts/administrate/application.html.erb",
12
- "app/views/layouts/admin/application.html.erb"
12
+ "app/views/layouts/#{namespace}/application.html.erb"
13
13
  )
14
14
 
15
15
  call_generator("administrate:views:navigation")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: administrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta1
4
+ version: 1.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Charlton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-02-05 00:00:00.000000000 Z
12
+ date: 2024-10-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -115,9 +115,10 @@ files:
115
115
  - app/assets/config/administrate_manifest.js
116
116
  - app/assets/javascripts/administrate/add_jquery.js
117
117
  - app/assets/javascripts/administrate/application.js
118
- - app/assets/javascripts/administrate/components/associative.js
119
- - app/assets/javascripts/administrate/components/select.js
120
- - app/assets/javascripts/administrate/components/table.js
118
+ - app/assets/javascripts/administrate/controllers/application.js
119
+ - app/assets/javascripts/administrate/controllers/index.js
120
+ - app/assets/javascripts/administrate/controllers/select_controller.js
121
+ - app/assets/javascripts/administrate/controllers/table_controller.js
121
122
  - app/assets/stylesheets/administrate-internal/docs.scss
122
123
  - app/assets/stylesheets/administrate/application.scss
123
124
  - app/assets/stylesheets/administrate/base/_forms.scss
@@ -140,7 +141,6 @@ files:
140
141
  - app/assets/stylesheets/administrate/library/_data-label.scss
141
142
  - app/assets/stylesheets/administrate/library/_variables.scss
142
143
  - app/assets/stylesheets/administrate/reset/_normalize.scss
143
- - app/assets/stylesheets/administrate/utilities/_text-color.scss
144
144
  - app/controllers/administrate/application_controller.rb
145
145
  - app/controllers/concerns/administrate/punditize.rb
146
146
  - app/helpers/administrate/application_helper.rb
@@ -190,6 +190,9 @@ files:
190
190
  - app/views/fields/polymorphic/_form.html.erb
191
191
  - app/views/fields/polymorphic/_index.html.erb
192
192
  - app/views/fields/polymorphic/_show.html.erb
193
+ - app/views/fields/rich_text/_form.html.erb
194
+ - app/views/fields/rich_text/_index.html.erb
195
+ - app/views/fields/rich_text/_show.html.erb
193
196
  - app/views/fields/select/_form.html.erb
194
197
  - app/views/fields/select/_index.html.erb
195
198
  - app/views/fields/select/_show.html.erb
@@ -264,6 +267,7 @@ files:
264
267
  - lib/administrate/field/number.rb
265
268
  - lib/administrate/field/password.rb
266
269
  - lib/administrate/field/polymorphic.rb
270
+ - lib/administrate/field/rich_text.rb
267
271
  - lib/administrate/field/select.rb
268
272
  - lib/administrate/field/string.rb
269
273
  - lib/administrate/field/text.rb
@@ -283,9 +287,6 @@ files:
283
287
  - lib/administrate/search.rb
284
288
  - lib/administrate/version.rb
285
289
  - lib/administrate/view_generator.rb
286
- - lib/generators/administrate/assets/assets_generator.rb
287
- - lib/generators/administrate/assets/javascripts_generator.rb
288
- - lib/generators/administrate/assets/stylesheets_generator.rb
289
290
  - lib/generators/administrate/dashboard/USAGE
290
291
  - lib/generators/administrate/dashboard/dashboard_generator.rb
291
292
  - lib/generators/administrate/dashboard/templates/controller.rb.erb
@@ -325,11 +326,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
325
326
  version: '0'
326
327
  required_rubygems_version: !ruby/object:Gem::Requirement
327
328
  requirements:
328
- - - ">"
329
+ - - ">="
329
330
  - !ruby/object:Gem::Version
330
- version: 1.3.1
331
+ version: '0'
331
332
  requirements: []
332
- rubygems_version: 3.4.20
333
+ rubygems_version: 3.5.6
333
334
  signing_key:
334
335
  specification_version: 4
335
336
  summary: A Rails engine for creating super-flexible admin dashboards
@@ -1,5 +0,0 @@
1
- $(function() {
2
- $('.field-unit--belongs-to select').selectize({});
3
- $(".field-unit--has-many select").selectize({});
4
- $('.field-unit--polymorphic select').selectize({});
5
- });
@@ -1,3 +0,0 @@
1
- $(function() {
2
- $('.field-unit--select select').selectize({});
3
- });
@@ -1,3 +0,0 @@
1
- .text-color-red {
2
- color: $red;
3
- }
@@ -1,12 +0,0 @@
1
- require "administrate/view_generator"
2
-
3
- module Administrate
4
- module Generators
5
- class AssetsGenerator < Administrate::ViewGenerator
6
- def copy_assets
7
- call_generator("administrate:assets:javascripts")
8
- call_generator("administrate:assets:stylesheets")
9
- end
10
- end
11
- end
12
- end
@@ -1,17 +0,0 @@
1
- require "rails/generators/base"
2
-
3
- module Administrate
4
- module Generators
5
- module Assets
6
- class JavascriptsGenerator < Rails::Generators::Base
7
- JAVASCRIPTS_PATH = "app/assets/javascripts/administrate"
8
-
9
- source_root File.expand_path("../../../../../", __FILE__)
10
-
11
- def copy_javascripts
12
- directory JAVASCRIPTS_PATH, JAVASCRIPTS_PATH
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- require "rails/generators/base"
2
-
3
- module Administrate
4
- module Generators
5
- module Assets
6
- class StylesheetsGenerator < Rails::Generators::Base
7
- STYLESHEETS_PATH = "app/assets/stylesheets/administrate"
8
-
9
- source_root File.expand_path("../../../../../", __FILE__)
10
-
11
- def copy_stylesheets
12
- directory STYLESHEETS_PATH, STYLESHEETS_PATH
13
- end
14
- end
15
- end
16
- end
17
- end