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.
- checksums.yaml +4 -4
- data/Rakefile +9 -9
- data/app/assets/builds/administrate/application.css +2542 -0
- data/app/assets/builds/administrate/application.css.map +1 -0
- data/app/assets/builds/administrate/application.js +22169 -0
- data/app/assets/builds/administrate/application.js.map +7 -0
- data/app/assets/builds/administrate-internal/docs.css +89 -0
- data/app/assets/builds/administrate-internal/docs.css.map +1 -0
- data/app/assets/config/administrate_manifest.js +2 -0
- data/app/assets/javascripts/administrate/add_jquery.js +4 -0
- data/app/assets/javascripts/administrate/application.js +8 -4
- data/app/assets/javascripts/administrate/controllers/application.js +9 -0
- data/app/assets/javascripts/administrate/controllers/index.js +7 -0
- data/app/assets/javascripts/administrate/controllers/select_controller.js +8 -0
- data/app/assets/javascripts/administrate/{components/table.js → controllers/table_controller.js} +9 -9
- data/app/assets/stylesheets/administrate/application.scss +3 -3
- data/app/assets/stylesheets/administrate/base/_forms.scss +4 -4
- data/app/assets/stylesheets/administrate/base/_layout.scss +5 -0
- data/app/assets/stylesheets/administrate/base/_tables.scss +1 -1
- data/app/assets/stylesheets/administrate/base/_typography.scss +12 -1
- data/app/assets/stylesheets/administrate/components/_attributes.scss +1 -0
- data/app/assets/stylesheets/administrate/components/_buttons.scss +12 -12
- data/app/assets/stylesheets/administrate/components/_cells.scss +19 -19
- data/app/assets/stylesheets/administrate/components/_field-unit.scss +3 -3
- data/app/assets/stylesheets/administrate/components/_main-content.scss +1 -1
- data/app/assets/stylesheets/administrate/components/_navigation.scss +3 -3
- data/app/assets/stylesheets/administrate/components/_search.scss +11 -11
- data/app/assets/stylesheets/administrate/library/_variables.scss +7 -3
- data/app/assets/stylesheets/administrate/reset/_normalize.scss +7 -1
- data/app/controllers/administrate/application_controller.rb +20 -19
- data/app/controllers/concerns/administrate/punditize.rb +5 -5
- data/app/helpers/administrate/application_helper.rb +4 -4
- data/app/views/administrate/application/_collection.html.erb +1 -1
- data/app/views/administrate/application/_collection_item_actions.html.erb +3 -3
- data/app/views/administrate/application/_index_header.html.erb +4 -0
- data/app/views/administrate/application/_javascript.html.erb +1 -1
- data/app/views/administrate/application/edit.html.erb +15 -3
- data/app/views/administrate/application/index.html.erb +19 -11
- data/app/views/administrate/application/new.html.erb +15 -3
- data/app/views/administrate/application/show.html.erb +35 -23
- data/app/views/fields/belongs_to/_form.html.erb +3 -2
- data/app/views/fields/has_many/_form.html.erb +1 -1
- data/app/views/fields/polymorphic/_form.html.erb +1 -1
- data/app/views/fields/rich_text/_form.html.erb +6 -0
- data/app/views/fields/rich_text/_index.html.erb +18 -0
- data/app/views/fields/rich_text/_show.html.erb +18 -0
- data/app/views/fields/select/_form.html.erb +2 -1
- data/app/views/fields/text/_form.html.erb +1 -1
- data/app/views/layouts/administrate/application.html.erb +1 -2
- data/docs/customizing_dashboards.md +138 -4
- data/docs/customizing_page_views.md +25 -0
- data/lib/administrate/base_dashboard.rb +6 -5
- data/lib/administrate/engine.rb +7 -6
- data/lib/administrate/field/associative.rb +5 -1
- data/lib/administrate/field/base.rb +21 -3
- data/lib/administrate/field/belongs_to.rb +7 -2
- data/lib/administrate/field/date.rb +1 -1
- data/lib/administrate/field/date_time.rb +2 -2
- data/lib/administrate/field/deferred.rb +10 -2
- data/lib/administrate/field/has_many.rb +5 -5
- data/lib/administrate/field/has_one.rb +10 -6
- data/lib/administrate/field/number.rb +2 -2
- data/lib/administrate/field/polymorphic.rb +3 -3
- data/lib/administrate/field/rich_text.rb +21 -0
- data/lib/administrate/field/select.rb +4 -0
- data/lib/administrate/generator_helpers.rb +1 -1
- data/lib/administrate/namespace/resource.rb +1 -1
- data/lib/administrate/order.rb +30 -26
- data/lib/administrate/page/base.rb +2 -7
- data/lib/administrate/page/collection.rb +2 -2
- data/lib/administrate/page/form.rb +1 -1
- data/lib/administrate/page/show.rb +1 -1
- data/lib/administrate/resource_resolver.rb +1 -1
- data/lib/administrate/search.rb +6 -7
- data/lib/administrate/version.rb +1 -1
- data/lib/administrate/view_generator.rb +3 -3
- data/lib/administrate.rb +18 -18
- data/lib/generators/administrate/dashboard/dashboard_generator.rb +12 -9
- data/lib/generators/administrate/field/field_generator.rb +2 -2
- data/lib/generators/administrate/install/install_generator.rb +2 -2
- data/lib/generators/administrate/routes/routes_generator.rb +5 -5
- data/lib/generators/administrate/views/field_generator.rb +2 -2
- data/lib/generators/administrate/views/index_generator.rb +1 -0
- data/lib/generators/administrate/views/layout_generator.rb +1 -1
- metadata +20 -53
- data/app/assets/javascripts/administrate/components/associative.js +0 -5
- data/app/assets/javascripts/administrate/components/select.js +0 -3
- data/app/assets/stylesheets/administrate/utilities/_text-color.scss +0 -3
- data/lib/generators/administrate/assets/assets_generator.rb +0 -12
- data/lib/generators/administrate/assets/javascripts_generator.rb +0 -17
- data/lib/generators/administrate/assets/stylesheets_generator.rb +0 -17
- /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: {
|
22
|
-
|
23
|
-
float: {
|
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/#{
|
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.
|
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,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/
|
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.
|
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-
|
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/
|
153
|
-
- app/assets/javascripts/administrate/
|
154
|
-
- app/assets/javascripts/administrate/
|
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.
|
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,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
|
File without changes
|