administrate 0.20.1 → 1.0.0.beta2

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