administrate 0.20.1 → 1.0.0.beta2

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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +9 -9
  3. data/app/assets/builds/administrate/application.css +2542 -0
  4. data/app/assets/builds/administrate/application.css.map +1 -0
  5. data/app/assets/builds/administrate/application.js +22169 -0
  6. data/app/assets/builds/administrate/application.js.map +7 -0
  7. data/app/assets/builds/administrate-internal/docs.css +89 -0
  8. data/app/assets/builds/administrate-internal/docs.css.map +1 -0
  9. data/app/assets/config/administrate_manifest.js +2 -0
  10. data/app/assets/javascripts/administrate/add_jquery.js +4 -0
  11. data/app/assets/javascripts/administrate/application.js +8 -4
  12. data/app/assets/javascripts/administrate/controllers/application.js +9 -0
  13. data/app/assets/javascripts/administrate/controllers/index.js +7 -0
  14. data/app/assets/javascripts/administrate/controllers/select_controller.js +8 -0
  15. data/app/assets/javascripts/administrate/{components/table.js → controllers/table_controller.js} +9 -9
  16. data/app/assets/stylesheets/administrate/application.scss +3 -3
  17. data/app/assets/stylesheets/administrate/base/_forms.scss +4 -4
  18. data/app/assets/stylesheets/administrate/base/_layout.scss +5 -0
  19. data/app/assets/stylesheets/administrate/base/_tables.scss +1 -1
  20. data/app/assets/stylesheets/administrate/base/_typography.scss +12 -1
  21. data/app/assets/stylesheets/administrate/components/_attributes.scss +1 -0
  22. data/app/assets/stylesheets/administrate/components/_buttons.scss +12 -12
  23. data/app/assets/stylesheets/administrate/components/_cells.scss +19 -19
  24. data/app/assets/stylesheets/administrate/components/_field-unit.scss +3 -3
  25. data/app/assets/stylesheets/administrate/components/_main-content.scss +1 -1
  26. data/app/assets/stylesheets/administrate/components/_navigation.scss +3 -3
  27. data/app/assets/stylesheets/administrate/components/_search.scss +11 -11
  28. data/app/assets/stylesheets/administrate/library/_variables.scss +7 -3
  29. data/app/assets/stylesheets/administrate/reset/_normalize.scss +7 -1
  30. data/app/controllers/administrate/application_controller.rb +20 -19
  31. data/app/controllers/concerns/administrate/punditize.rb +5 -5
  32. data/app/helpers/administrate/application_helper.rb +4 -4
  33. data/app/views/administrate/application/_collection.html.erb +1 -1
  34. data/app/views/administrate/application/_collection_item_actions.html.erb +3 -3
  35. data/app/views/administrate/application/_index_header.html.erb +4 -0
  36. data/app/views/administrate/application/_javascript.html.erb +1 -1
  37. data/app/views/administrate/application/edit.html.erb +15 -3
  38. data/app/views/administrate/application/index.html.erb +19 -11
  39. data/app/views/administrate/application/new.html.erb +15 -3
  40. data/app/views/administrate/application/show.html.erb +35 -23
  41. data/app/views/fields/belongs_to/_form.html.erb +3 -2
  42. data/app/views/fields/has_many/_form.html.erb +1 -1
  43. data/app/views/fields/polymorphic/_form.html.erb +1 -1
  44. data/app/views/fields/rich_text/_form.html.erb +6 -0
  45. data/app/views/fields/rich_text/_index.html.erb +18 -0
  46. data/app/views/fields/rich_text/_show.html.erb +18 -0
  47. data/app/views/fields/select/_form.html.erb +2 -1
  48. data/app/views/fields/text/_form.html.erb +1 -1
  49. data/app/views/layouts/administrate/application.html.erb +1 -2
  50. data/docs/customizing_dashboards.md +138 -4
  51. data/docs/customizing_page_views.md +25 -0
  52. data/lib/administrate/base_dashboard.rb +6 -5
  53. data/lib/administrate/engine.rb +7 -6
  54. data/lib/administrate/field/associative.rb +5 -1
  55. data/lib/administrate/field/base.rb +21 -3
  56. data/lib/administrate/field/belongs_to.rb +7 -2
  57. data/lib/administrate/field/date.rb +1 -1
  58. data/lib/administrate/field/date_time.rb +2 -2
  59. data/lib/administrate/field/deferred.rb +10 -2
  60. data/lib/administrate/field/has_many.rb +5 -5
  61. data/lib/administrate/field/has_one.rb +10 -6
  62. data/lib/administrate/field/number.rb +2 -2
  63. data/lib/administrate/field/polymorphic.rb +3 -3
  64. data/lib/administrate/field/rich_text.rb +21 -0
  65. data/lib/administrate/field/select.rb +4 -0
  66. data/lib/administrate/generator_helpers.rb +1 -1
  67. data/lib/administrate/namespace/resource.rb +1 -1
  68. data/lib/administrate/order.rb +30 -26
  69. data/lib/administrate/page/base.rb +2 -7
  70. data/lib/administrate/page/collection.rb +2 -2
  71. data/lib/administrate/page/form.rb +1 -1
  72. data/lib/administrate/page/show.rb +1 -1
  73. data/lib/administrate/resource_resolver.rb +1 -1
  74. data/lib/administrate/search.rb +6 -7
  75. data/lib/administrate/version.rb +1 -1
  76. data/lib/administrate/view_generator.rb +3 -3
  77. data/lib/administrate.rb +18 -18
  78. data/lib/generators/administrate/dashboard/dashboard_generator.rb +12 -9
  79. data/lib/generators/administrate/field/field_generator.rb +2 -2
  80. data/lib/generators/administrate/install/install_generator.rb +2 -2
  81. data/lib/generators/administrate/routes/routes_generator.rb +5 -5
  82. data/lib/generators/administrate/views/field_generator.rb +2 -2
  83. data/lib/generators/administrate/views/index_generator.rb +1 -0
  84. data/lib/generators/administrate/views/layout_generator.rb +1 -1
  85. metadata +20 -53
  86. data/app/assets/javascripts/administrate/components/associative.js +0 -5
  87. data/app/assets/javascripts/administrate/components/select.js +0 -3
  88. data/app/assets/stylesheets/administrate/utilities/_text-color.scss +0 -3
  89. data/lib/generators/administrate/assets/assets_generator.rb +0 -12
  90. data/lib/generators/administrate/assets/javascripts_generator.rb +0 -17
  91. data/lib/generators/administrate/assets/stylesheets_generator.rb +0 -17
  92. /data/app/assets/stylesheets/{docs.scss → administrate-internal/docs.scss} +0 -0
@@ -13,14 +13,14 @@ module Administrate
13
13
  time: "Field::Time",
14
14
  text: "Field::Text",
15
15
  string: "Field::String",
16
- uuid: "Field::String",
16
+ uuid: "Field::String"
17
17
  }
18
18
 
19
19
  ATTRIBUTE_OPTIONS_MAPPING = {
20
20
  # procs must be defined in one line!
21
- enum: { searchable: false,
22
- collection: ->(field) { field.resource.class.send(field.attribute.to_s.pluralize).keys } },
23
- float: { decimals: 2 },
21
+ enum: {searchable: false,
22
+ collection: ->(field) { field.resource.class.send(field.attribute.to_s.pluralize).keys }},
23
+ float: {decimals: 2}
24
24
  }
25
25
 
26
26
  DEFAULT_FIELD_TYPE = "Field::String.with_options(searchable: false)"
@@ -31,21 +31,24 @@ module Administrate
31
31
  :namespace,
32
32
  type: :string,
33
33
  desc: "Namespace where the admin dashboards live",
34
- default: "admin",
34
+ default: "admin"
35
35
  )
36
36
 
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)
@@ -72,7 +75,7 @@ module Administrate
72
75
  primary_key,
73
76
  *attrs.sort,
74
77
  created_at,
75
- updated_at,
78
+ updated_at
76
79
  ].compact
77
80
  end
78
81
 
@@ -116,7 +119,7 @@ module Administrate
116
119
 
117
120
  def enum_column?(attr)
118
121
  klass.respond_to?(:defined_enums) &&
119
- klass.defined_enums.keys.include?(attr)
122
+ klass.defined_enums.key?(attr)
120
123
  end
121
124
 
122
125
  def column_types(attr)
@@ -6,7 +6,7 @@ module Administrate
6
6
  def template_field_object
7
7
  template(
8
8
  "field_object.rb.erb",
9
- "app/fields/#{file_name}_field.rb",
9
+ "app/fields/#{file_name}_field.rb"
10
10
  )
11
11
  end
12
12
 
@@ -23,7 +23,7 @@ module Administrate
23
23
 
24
24
  copy_file(
25
25
  partial,
26
- "app/views/fields/#{file_name}_field/#{partial}",
26
+ "app/views/fields/#{file_name}_field/#{partial}"
27
27
  )
28
28
  end
29
29
  end
@@ -18,7 +18,7 @@ module Administrate
18
18
  :namespace,
19
19
  type: :string,
20
20
  desc: "Namespace where the admin dashboards will live",
21
- default: "admin",
21
+ default: "admin"
22
22
  )
23
23
 
24
24
  def run_routes_generator
@@ -31,7 +31,7 @@ module Administrate
31
31
  def create_dashboard_controller
32
32
  template(
33
33
  "application_controller.rb.erb",
34
- "app/controllers/#{namespace}/application_controller.rb",
34
+ "app/controllers/#{namespace}/application_controller.rb"
35
35
  )
36
36
  end
37
37
 
@@ -18,7 +18,7 @@ module Administrate
18
18
  :namespace,
19
19
  type: :string,
20
20
  desc: "Namespace where the admin dashboards live",
21
- default: "admin",
21
+ default: "admin"
22
22
  )
23
23
 
24
24
  def insert_dashboard_routes
@@ -61,10 +61,10 @@ module Administrate
61
61
  end
62
62
 
63
63
  def database_models
64
- ActiveRecord::Base.descendants.
65
- reject(&:abstract_class?).
66
- reject { |k| k < Administrate::Generators::TestRecord }.
67
- sort_by(&:to_s)
64
+ ActiveRecord::Base.descendants
65
+ .reject(&:abstract_class?)
66
+ .reject { |k| k < Administrate::Generators::TestRecord }
67
+ .sort_by(&:to_s)
68
68
  end
69
69
 
70
70
  def invalid_dashboard_models
@@ -7,7 +7,7 @@ module Administrate
7
7
  def self.template_source_path
8
8
  File.expand_path(
9
9
  "../../../../../app/views/fields/",
10
- __FILE__,
10
+ __FILE__
11
11
  )
12
12
  end
13
13
 
@@ -41,7 +41,7 @@ module Administrate
41
41
 
42
42
  copy_file(
43
43
  template_file,
44
- "app/views/fields/#{template_file}",
44
+ "app/views/fields/#{template_file}"
45
45
  )
46
46
  end
47
47
  end
@@ -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: 0.20.1
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-01-24 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
@@ -71,20 +71,6 @@ dependencies:
71
71
  - - "<"
72
72
  - !ruby/object:Gem::Version
73
73
  version: '8.0'
74
- - !ruby/object:Gem::Dependency
75
- name: jquery-rails
76
- requirement: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - "~>"
79
- - !ruby/object:Gem::Version
80
- version: 4.6.0
81
- type: :runtime
82
- prerelease: false
83
- version_requirements: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - "~>"
86
- - !ruby/object:Gem::Version
87
- version: 4.6.0
88
74
  - !ruby/object:Gem::Dependency
89
75
  name: kaminari
90
76
  requirement: !ruby/object:Gem::Requirement
@@ -99,34 +85,6 @@ dependencies:
99
85
  - - "~>"
100
86
  - !ruby/object:Gem::Version
101
87
  version: 1.2.2
102
- - !ruby/object:Gem::Dependency
103
- name: sassc-rails
104
- requirement: !ruby/object:Gem::Requirement
105
- requirements:
106
- - - "~>"
107
- - !ruby/object:Gem::Version
108
- version: '2.1'
109
- type: :runtime
110
- prerelease: false
111
- version_requirements: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - "~>"
114
- - !ruby/object:Gem::Version
115
- version: '2.1'
116
- - !ruby/object:Gem::Dependency
117
- name: selectize-rails
118
- requirement: !ruby/object:Gem::Requirement
119
- requirements:
120
- - - "~>"
121
- - !ruby/object:Gem::Version
122
- version: '0.6'
123
- type: :runtime
124
- prerelease: false
125
- version_requirements: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: '0.6'
130
88
  description: |
131
89
  Administrate is heavily inspired by projects like Rails Admin and ActiveAdmin,
132
90
  but aims to provide a better user experience for site admins,
@@ -148,10 +106,20 @@ extensions: []
148
106
  extra_rdoc_files: []
149
107
  files:
150
108
  - Rakefile
109
+ - app/assets/builds/administrate-internal/docs.css
110
+ - app/assets/builds/administrate-internal/docs.css.map
111
+ - app/assets/builds/administrate/application.css
112
+ - app/assets/builds/administrate/application.css.map
113
+ - app/assets/builds/administrate/application.js
114
+ - app/assets/builds/administrate/application.js.map
115
+ - app/assets/config/administrate_manifest.js
116
+ - app/assets/javascripts/administrate/add_jquery.js
151
117
  - app/assets/javascripts/administrate/application.js
152
- - app/assets/javascripts/administrate/components/associative.js
153
- - app/assets/javascripts/administrate/components/select.js
154
- - 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
122
+ - app/assets/stylesheets/administrate-internal/docs.scss
155
123
  - app/assets/stylesheets/administrate/application.scss
156
124
  - app/assets/stylesheets/administrate/base/_forms.scss
157
125
  - app/assets/stylesheets/administrate/base/_layout.scss
@@ -173,8 +141,6 @@ files:
173
141
  - app/assets/stylesheets/administrate/library/_data-label.scss
174
142
  - app/assets/stylesheets/administrate/library/_variables.scss
175
143
  - app/assets/stylesheets/administrate/reset/_normalize.scss
176
- - app/assets/stylesheets/administrate/utilities/_text-color.scss
177
- - app/assets/stylesheets/docs.scss
178
144
  - app/controllers/administrate/application_controller.rb
179
145
  - app/controllers/concerns/administrate/punditize.rb
180
146
  - app/helpers/administrate/application_helper.rb
@@ -224,6 +190,9 @@ files:
224
190
  - app/views/fields/polymorphic/_form.html.erb
225
191
  - app/views/fields/polymorphic/_index.html.erb
226
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
227
196
  - app/views/fields/select/_form.html.erb
228
197
  - app/views/fields/select/_index.html.erb
229
198
  - app/views/fields/select/_show.html.erb
@@ -298,6 +267,7 @@ files:
298
267
  - lib/administrate/field/number.rb
299
268
  - lib/administrate/field/password.rb
300
269
  - lib/administrate/field/polymorphic.rb
270
+ - lib/administrate/field/rich_text.rb
301
271
  - lib/administrate/field/select.rb
302
272
  - lib/administrate/field/string.rb
303
273
  - lib/administrate/field/text.rb
@@ -317,9 +287,6 @@ files:
317
287
  - lib/administrate/search.rb
318
288
  - lib/administrate/version.rb
319
289
  - lib/administrate/view_generator.rb
320
- - lib/generators/administrate/assets/assets_generator.rb
321
- - lib/generators/administrate/assets/javascripts_generator.rb
322
- - lib/generators/administrate/assets/stylesheets_generator.rb
323
290
  - lib/generators/administrate/dashboard/USAGE
324
291
  - lib/generators/administrate/dashboard/dashboard_generator.rb
325
292
  - lib/generators/administrate/dashboard/templates/controller.rb.erb
@@ -363,7 +330,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
363
330
  - !ruby/object:Gem::Version
364
331
  version: '0'
365
332
  requirements: []
366
- rubygems_version: 3.4.20
333
+ rubygems_version: 3.5.6
367
334
  signing_key:
368
335
  specification_version: 4
369
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