semantic-administrate 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Rakefile +32 -0
- data/app/assets/fonts/administrate/semantic-ui/icons.eot +0 -0
- data/app/assets/fonts/administrate/semantic-ui/icons.otf +0 -0
- data/app/assets/fonts/administrate/semantic-ui/icons.svg +2671 -0
- data/app/assets/fonts/administrate/semantic-ui/icons.ttf +0 -0
- data/app/assets/fonts/administrate/semantic-ui/icons.woff +0 -0
- data/app/assets/fonts/administrate/semantic-ui/icons.woff2 +0 -0
- data/app/assets/images/administrate/semantic-ui/flags.png +0 -0
- data/app/assets/javascripts/administrate/application.js +7 -0
- data/app/assets/javascripts/administrate/components/date_time_picker.js +6 -0
- data/app/assets/javascripts/administrate/components/has_many_form.js +3 -0
- data/app/assets/javascripts/administrate/components/table.js +23 -0
- data/app/assets/javascripts/administrate/vendor/semantic-ui.js +22943 -0
- data/app/assets/stylesheets/administrate/application.scss +27 -0
- data/app/assets/stylesheets/administrate/base/_forms.scss +106 -0
- data/app/assets/stylesheets/administrate/base/_layout.scss +10 -0
- data/app/assets/stylesheets/administrate/base/_lists.scss +19 -0
- data/app/assets/stylesheets/administrate/base/_typography.scss +48 -0
- data/app/assets/stylesheets/administrate/components/_app-container.scss +27 -0
- data/app/assets/stylesheets/administrate/components/_attributes.scss +34 -0
- data/app/assets/stylesheets/administrate/components/_buttons.scss +43 -0
- data/app/assets/stylesheets/administrate/components/_cells.scss +59 -0
- data/app/assets/stylesheets/administrate/components/_field-unit.scss +36 -0
- data/app/assets/stylesheets/administrate/components/_flashes.scss +28 -0
- data/app/assets/stylesheets/administrate/components/_form-actions.scss +3 -0
- data/app/assets/stylesheets/administrate/components/_main-content.scss +42 -0
- data/app/assets/stylesheets/administrate/components/_pagination.scss +18 -0
- data/app/assets/stylesheets/administrate/components/_search.scss +45 -0
- data/app/assets/stylesheets/administrate/components/nav-drawer.scss +156 -0
- data/app/assets/stylesheets/administrate/library/_clearfix.scss +7 -0
- data/app/assets/stylesheets/administrate/library/_data-label.scss +8 -0
- data/app/assets/stylesheets/administrate/library/_variables.scss +65 -0
- data/app/assets/stylesheets/administrate/vendor/semantic-ui.scss +37123 -0
- data/app/assets/stylesheets/docs.scss +93 -0
- data/app/controllers/administrate/application_controller.rb +162 -0
- data/app/helpers/administrate/application_helper.rb +51 -0
- data/app/views/administrate/application/_collection.html.erb +92 -0
- data/app/views/administrate/application/_flashes.html.erb +20 -0
- data/app/views/administrate/application/_form.html.erb +42 -0
- data/app/views/administrate/application/_icons.erb +13 -0
- data/app/views/administrate/application/_javascript.html.erb +21 -0
- data/app/views/administrate/application/_navigation.html.erb +19 -0
- data/app/views/administrate/application/_navigation_extra_links.html.erb +13 -0
- data/app/views/administrate/application/_navigation_footer.html.erb +44 -0
- data/app/views/administrate/application/_navigation_links.html.erb +16 -0
- data/app/views/administrate/application/_search.html.erb +25 -0
- data/app/views/administrate/application/_stylesheet.html.erb +14 -0
- data/app/views/administrate/application/edit.html.erb +36 -0
- data/app/views/administrate/application/index.html.erb +63 -0
- data/app/views/administrate/application/new.html.erb +32 -0
- data/app/views/administrate/application/show.html.erb +49 -0
- data/app/views/fields/belongs_to/_form.html.erb +26 -0
- data/app/views/fields/belongs_to/_index.html.erb +27 -0
- data/app/views/fields/belongs_to/_show.html.erb +27 -0
- data/app/views/fields/boolean/_form.html.erb +23 -0
- data/app/views/fields/boolean/_index.html.erb +19 -0
- data/app/views/fields/boolean/_show.html.erb +19 -0
- data/app/views/fields/date_time/_form.html.erb +24 -0
- data/app/views/fields/date_time/_index.html.erb +21 -0
- data/app/views/fields/date_time/_show.html.erb +21 -0
- data/app/views/fields/email/_form.html.erb +23 -0
- data/app/views/fields/email/_index.html.erb +18 -0
- data/app/views/fields/email/_show.html.erb +18 -0
- data/app/views/fields/has_many/_form.html.erb +29 -0
- data/app/views/fields/has_many/_index.html.erb +19 -0
- data/app/views/fields/has_many/_show.html.erb +35 -0
- data/app/views/fields/has_one/_form.html.erb +28 -0
- data/app/views/fields/has_one/_index.html.erb +23 -0
- data/app/views/fields/has_one/_show.html.erb +40 -0
- data/app/views/fields/number/_form.html.erb +23 -0
- data/app/views/fields/number/_index.html.erb +19 -0
- data/app/views/fields/number/_show.html.erb +19 -0
- data/app/views/fields/polymorphic/_form.html.erb +32 -0
- data/app/views/fields/polymorphic/_index.html.erb +24 -0
- data/app/views/fields/polymorphic/_show.html.erb +28 -0
- data/app/views/fields/select/_form.html.erb +31 -0
- data/app/views/fields/select/_index.html.erb +16 -0
- data/app/views/fields/select/_show.html.erb +16 -0
- data/app/views/fields/string/_form.html.erb +23 -0
- data/app/views/fields/string/_index.html.erb +18 -0
- data/app/views/fields/string/_show.html.erb +18 -0
- data/app/views/fields/text/_form.html.erb +22 -0
- data/app/views/fields/text/_index.html.erb +18 -0
- data/app/views/fields/text/_show.html.erb +19 -0
- data/app/views/layouts/administrate/application.html.erb +43 -0
- data/config/i18n-tasks.yml +18 -0
- data/config/locales/administrate.ar.yml +26 -0
- data/config/locales/administrate.bs.yml +25 -0
- data/config/locales/administrate.ca.yml +26 -0
- data/config/locales/administrate.da.yml +26 -0
- data/config/locales/administrate.de.yml +26 -0
- data/config/locales/administrate.en.yml +26 -0
- data/config/locales/administrate.es.yml +26 -0
- data/config/locales/administrate.fr.yml +26 -0
- data/config/locales/administrate.it.yml +26 -0
- data/config/locales/administrate.ja.yml +26 -0
- data/config/locales/administrate.ko.yml +26 -0
- data/config/locales/administrate.nl.yml +26 -0
- data/config/locales/administrate.pl.yml +26 -0
- data/config/locales/administrate.pt-BR.yml +27 -0
- data/config/locales/administrate.pt.yml +27 -0
- data/config/locales/administrate.ru.yml +26 -0
- data/config/locales/administrate.sv.yml +26 -0
- data/config/locales/administrate.uk.yml +26 -0
- data/config/locales/administrate.vi.yml +26 -0
- data/config/locales/administrate.zh-CN.yml +26 -0
- data/config/locales/administrate.zh-TW.yml +26 -0
- data/config/routes.rb +2 -0
- data/config/unicorn.rb +30 -0
- data/docs/adding_custom_field_types.md +79 -0
- data/docs/authentication.md +61 -0
- data/docs/customizing_attribute_partials.md +53 -0
- data/docs/customizing_controller_actions.md +42 -0
- data/docs/customizing_dashboards.md +202 -0
- data/docs/customizing_page_views.md +78 -0
- data/docs/getting_started.md +115 -0
- data/lib/administrate.rb +4 -0
- data/lib/administrate/base_dashboard.rb +72 -0
- data/lib/administrate/engine.rb +44 -0
- data/lib/administrate/field/associative.rb +33 -0
- data/lib/administrate/field/base.rb +54 -0
- data/lib/administrate/field/belongs_to.rb +36 -0
- data/lib/administrate/field/boolean.rb +15 -0
- data/lib/administrate/field/date_time.rb +21 -0
- data/lib/administrate/field/deferred.rb +35 -0
- data/lib/administrate/field/email.rb +11 -0
- data/lib/administrate/field/has_many.rb +87 -0
- data/lib/administrate/field/has_one.rb +27 -0
- data/lib/administrate/field/number.rb +35 -0
- data/lib/administrate/field/polymorphic.rb +51 -0
- data/lib/administrate/field/select.rb +21 -0
- data/lib/administrate/field/string.rb +21 -0
- data/lib/administrate/field/text.rb +21 -0
- data/lib/administrate/generator_helpers.rb +13 -0
- data/lib/administrate/namespace.rb +31 -0
- data/lib/administrate/namespace/resource.rb +28 -0
- data/lib/administrate/order.rb +45 -0
- data/lib/administrate/page.rb +4 -0
- data/lib/administrate/page/base.rb +35 -0
- data/lib/administrate/page/collection.rb +33 -0
- data/lib/administrate/page/form.rb +28 -0
- data/lib/administrate/page/show.rb +24 -0
- data/lib/administrate/resource_resolver.rb +43 -0
- data/lib/administrate/search.rb +47 -0
- data/lib/administrate/version.rb +3 -0
- data/lib/administrate/view_generator.rb +36 -0
- data/lib/generators/administrate/assets/assets_generator.rb +12 -0
- data/lib/generators/administrate/assets/javascripts_generator.rb +17 -0
- data/lib/generators/administrate/assets/stylesheets_generator.rb +17 -0
- data/lib/generators/administrate/dashboard/USAGE +9 -0
- data/lib/generators/administrate/dashboard/dashboard_generator.rb +141 -0
- data/lib/generators/administrate/dashboard/templates/controller.rb.erb +21 -0
- data/lib/generators/administrate/dashboard/templates/dashboard.rb.erb +56 -0
- data/lib/generators/administrate/field/field_generator.rb +31 -0
- data/lib/generators/administrate/field/templates/_form.html.erb +6 -0
- data/lib/generators/administrate/field/templates/_index.html.erb +1 -0
- data/lib/generators/administrate/field/templates/_show.html.erb +1 -0
- data/lib/generators/administrate/field/templates/field_object.rb.erb +7 -0
- data/lib/generators/administrate/install/install_generator.rb +49 -0
- data/lib/generators/administrate/install/templates/application_controller.rb.erb +21 -0
- data/lib/generators/administrate/routes/routes_generator.rb +91 -0
- data/lib/generators/administrate/routes/templates/routes.rb.erb +5 -0
- data/lib/generators/administrate/views/edit_generator.rb +16 -0
- data/lib/generators/administrate/views/field_generator.rb +50 -0
- data/lib/generators/administrate/views/form_generator.rb +15 -0
- data/lib/generators/administrate/views/index_generator.rb +16 -0
- data/lib/generators/administrate/views/layout_generator.rb +23 -0
- data/lib/generators/administrate/views/navigation_generator.rb +15 -0
- data/lib/generators/administrate/views/new_generator.rb +16 -0
- data/lib/generators/administrate/views/show_generator.rb +15 -0
- data/lib/generators/administrate/views/views_generator.rb +14 -0
- data/lib/tasks/administrate_tasks.rake +4 -0
- metadata +388 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
module <%= namespace.classify %>
|
2
|
+
class <%= class_name.pluralize %>Controller < <%= namespace.classify %>::ApplicationController
|
3
|
+
# To customize the behavior of this controller,
|
4
|
+
# you can overwrite any of the RESTful actions. For example:
|
5
|
+
#
|
6
|
+
# def index
|
7
|
+
# super
|
8
|
+
# @resources = <%= class_name %>.
|
9
|
+
# page(params[:page]).
|
10
|
+
# per(10)
|
11
|
+
# end
|
12
|
+
|
13
|
+
# Define a custom finder by overriding the `find_resource` method:
|
14
|
+
# def find_resource(param)
|
15
|
+
# <%= class_name %>.find_by!(slug: param)
|
16
|
+
# end
|
17
|
+
|
18
|
+
# See https://administrate-prototype.herokuapp.com/customizing_controller_actions
|
19
|
+
# for more information
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require "administrate/base_dashboard"
|
2
|
+
|
3
|
+
class <%= class_name %>Dashboard < Administrate::BaseDashboard
|
4
|
+
# ATTRIBUTE_TYPES
|
5
|
+
# a hash that describes the type of each of the model's fields.
|
6
|
+
#
|
7
|
+
# Each different type represents an Administrate::Field object,
|
8
|
+
# which determines how the attribute is displayed
|
9
|
+
# on pages throughout the dashboard.
|
10
|
+
ATTRIBUTE_TYPES = {
|
11
|
+
<% attributes.each do |attr| -%>
|
12
|
+
<%= attr %>: <%= field_type(attr) %>,
|
13
|
+
<% end -%>
|
14
|
+
}.freeze
|
15
|
+
|
16
|
+
# COLLECTION_ATTRIBUTES
|
17
|
+
# an array of attributes that will be displayed on the model's index page.
|
18
|
+
#
|
19
|
+
# By default, it's limited to four items to reduce clutter on index pages.
|
20
|
+
# Feel free to add, remove, or rearrange items.
|
21
|
+
COLLECTION_ATTRIBUTES = [
|
22
|
+
<%=
|
23
|
+
attributes.first(COLLECTION_ATTRIBUTE_LIMIT).map do |attr|
|
24
|
+
" :#{attr},"
|
25
|
+
end.join("\n")
|
26
|
+
%>
|
27
|
+
].freeze
|
28
|
+
|
29
|
+
# SHOW_PAGE_ATTRIBUTES
|
30
|
+
# an array of attributes that will be displayed on the model's show page.
|
31
|
+
SHOW_PAGE_ATTRIBUTES = [
|
32
|
+
<%=
|
33
|
+
attributes.map do |attr|
|
34
|
+
" :#{attr},"
|
35
|
+
end.join("\n")
|
36
|
+
%>
|
37
|
+
].freeze
|
38
|
+
|
39
|
+
# FORM_ATTRIBUTES
|
40
|
+
# an array of attributes that will be displayed
|
41
|
+
# on the model's form (`new` and `edit`) pages.
|
42
|
+
FORM_ATTRIBUTES = [
|
43
|
+
<%=
|
44
|
+
form_attributes.map do |attr|
|
45
|
+
" :#{attr},"
|
46
|
+
end.join("\n")
|
47
|
+
%>
|
48
|
+
].freeze
|
49
|
+
|
50
|
+
# Overwrite this method to customize how <%= file_name.pluralize.humanize.downcase %> are displayed
|
51
|
+
# across all pages of the admin dashboard.
|
52
|
+
#
|
53
|
+
# def display_resource(<%= file_name %>)
|
54
|
+
# "<%= class_name %> ##{<%= file_name %>.id}"
|
55
|
+
# end
|
56
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Administrate
|
2
|
+
module Generators
|
3
|
+
class FieldGenerator < Rails::Generators::NamedBase
|
4
|
+
source_root File.expand_path("../templates", __FILE__)
|
5
|
+
|
6
|
+
def template_field_object
|
7
|
+
template(
|
8
|
+
"field_object.rb.erb",
|
9
|
+
"app/fields/#{file_name}_field.rb",
|
10
|
+
)
|
11
|
+
end
|
12
|
+
|
13
|
+
def copy_partials
|
14
|
+
copy_partial(:show)
|
15
|
+
copy_partial(:index)
|
16
|
+
copy_partial(:form)
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def copy_partial(partial_name)
|
22
|
+
partial = "_#{partial_name}.html.erb"
|
23
|
+
|
24
|
+
copy_file(
|
25
|
+
partial,
|
26
|
+
"app/views/fields/#{file_name}_field/#{partial}",
|
27
|
+
)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= field.to_s %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= field.to_s %>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require "rails/generators/base"
|
2
|
+
require "administrate/generator_helpers"
|
3
|
+
require "administrate/namespace"
|
4
|
+
|
5
|
+
module Administrate
|
6
|
+
module Generators
|
7
|
+
class InstallGenerator < Rails::Generators::Base
|
8
|
+
include Administrate::GeneratorHelpers
|
9
|
+
source_root File.expand_path("../templates", __FILE__)
|
10
|
+
|
11
|
+
class_option :namespace, type: :string, default: "admin"
|
12
|
+
|
13
|
+
def run_routes_generator
|
14
|
+
if dashboard_resources.none?
|
15
|
+
call_generator("administrate:routes", "--namespace", namespace)
|
16
|
+
load Rails.root.join("config/routes.rb")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def create_dashboard_controller
|
21
|
+
template(
|
22
|
+
"application_controller.rb.erb",
|
23
|
+
"app/controllers/#{namespace}/application_controller.rb",
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
def run_dashboard_generators
|
28
|
+
singular_dashboard_resources.each do |resource|
|
29
|
+
call_generator "administrate:dashboard", resource,
|
30
|
+
"--namespace", namespace
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def namespace
|
37
|
+
options[:namespace]
|
38
|
+
end
|
39
|
+
|
40
|
+
def singular_dashboard_resources
|
41
|
+
dashboard_resources.map(&:to_s).map(&:singularize)
|
42
|
+
end
|
43
|
+
|
44
|
+
def dashboard_resources
|
45
|
+
Administrate::Namespace.new(namespace).resources
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# All Administrate controllers inherit from this `Admin::ApplicationController`,
|
2
|
+
# making it the ideal place to put authentication logic or other
|
3
|
+
# before_actions.
|
4
|
+
#
|
5
|
+
# If you want to add pagination or other controller-level concerns,
|
6
|
+
# you're free to overwrite the RESTful controller actions.
|
7
|
+
module <%= namespace.classify %>
|
8
|
+
class ApplicationController < Administrate::ApplicationController
|
9
|
+
before_action :authenticate_admin
|
10
|
+
|
11
|
+
def authenticate_admin
|
12
|
+
# TODO Add authentication logic here.
|
13
|
+
end
|
14
|
+
|
15
|
+
# Override this value to specify the number of elements to display at a time
|
16
|
+
# on index pages. Defaults to 20.
|
17
|
+
# def records_per_page
|
18
|
+
# params[:per_page] || 20
|
19
|
+
# end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
Rails.application.eager_load!
|
2
|
+
require "rails/generators/base"
|
3
|
+
require "administrate/namespace"
|
4
|
+
|
5
|
+
module Administrate
|
6
|
+
module Generators
|
7
|
+
class RoutesGenerator < Rails::Generators::Base
|
8
|
+
source_root File.expand_path("../templates", __FILE__)
|
9
|
+
class_option :namespace, type: :string, default: "admin"
|
10
|
+
|
11
|
+
def insert_dashboard_routes
|
12
|
+
if should_route_dashboard?
|
13
|
+
route(dashboard_routes)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def warn_about_invalid_models
|
18
|
+
namespaced_models.each do |invalid_model|
|
19
|
+
puts "WARNING: Unable to generate a dashboard for #{invalid_model}."
|
20
|
+
puts " Administrate does not yet support namespaced models."
|
21
|
+
end
|
22
|
+
|
23
|
+
models_without_tables.each do |invalid_model|
|
24
|
+
puts "WARNING: Unable to generate a dashboard for #{invalid_model}."
|
25
|
+
puts " It is not connected to a database table."
|
26
|
+
puts " Make sure your database migrations are up to date."
|
27
|
+
end
|
28
|
+
|
29
|
+
unnamed_constants.each do |invalid_model|
|
30
|
+
puts "NOTICE: Skipping dynamically generated model #{invalid_model}."
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def namespace
|
37
|
+
options[:namespace]
|
38
|
+
end
|
39
|
+
|
40
|
+
def dashboard_resources
|
41
|
+
valid_dashboard_models.map do |model|
|
42
|
+
model.to_s.pluralize.underscore
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def valid_dashboard_models
|
47
|
+
database_models - invalid_database_models
|
48
|
+
end
|
49
|
+
|
50
|
+
def database_models
|
51
|
+
ActiveRecord::Base.descendants.reject(&:abstract_class?)
|
52
|
+
end
|
53
|
+
|
54
|
+
def invalid_database_models
|
55
|
+
models_without_tables + namespaced_models + unnamed_constants
|
56
|
+
end
|
57
|
+
|
58
|
+
def models_without_tables
|
59
|
+
database_models.reject(&:table_exists?)
|
60
|
+
end
|
61
|
+
|
62
|
+
def namespaced_models
|
63
|
+
database_models.select { |model| model.to_s.include?("::") }
|
64
|
+
end
|
65
|
+
|
66
|
+
def unnamed_constants
|
67
|
+
ActiveRecord::Base.descendants.reject { |d| d.name == d.to_s }
|
68
|
+
end
|
69
|
+
|
70
|
+
def dashboard_routes
|
71
|
+
ERB.new(File.read(routes_file_path)).result(binding)
|
72
|
+
end
|
73
|
+
|
74
|
+
def routes_includes_resources?
|
75
|
+
File.read(rails_routes_file_path).include?(dashboard_routes)
|
76
|
+
end
|
77
|
+
|
78
|
+
def rails_routes_file_path
|
79
|
+
Rails.root.join("config/routes.rb")
|
80
|
+
end
|
81
|
+
|
82
|
+
def routes_file_path
|
83
|
+
File.expand_path(find_in_source_paths("routes.rb.erb"))
|
84
|
+
end
|
85
|
+
|
86
|
+
def should_route_dashboard?
|
87
|
+
routes_includes_resources? || valid_dashboard_models.any?
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require "administrate/view_generator"
|
2
|
+
|
3
|
+
module Administrate
|
4
|
+
module Generators
|
5
|
+
module Views
|
6
|
+
class EditGenerator < Administrate::ViewGenerator
|
7
|
+
source_root template_source_path
|
8
|
+
|
9
|
+
def copy_edit
|
10
|
+
copy_resource_template("edit")
|
11
|
+
copy_resource_template("_form")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require "administrate/view_generator"
|
2
|
+
|
3
|
+
module Administrate
|
4
|
+
module Generators
|
5
|
+
module Views
|
6
|
+
class FieldGenerator < Administrate::ViewGenerator
|
7
|
+
def self.template_source_path
|
8
|
+
File.expand_path(
|
9
|
+
"../../../../../app/views/fields/",
|
10
|
+
__FILE__,
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
source_root template_source_path
|
15
|
+
|
16
|
+
def copy_partials
|
17
|
+
resource_path = args.first.try(:underscore)
|
18
|
+
|
19
|
+
if resource_path == "all"
|
20
|
+
entries = Dir.entries(self.class.template_source_path)
|
21
|
+
field_types = entries.reject { |name| name[0] == "." }
|
22
|
+
|
23
|
+
field_types.each do |field_type|
|
24
|
+
copy_field_partials(field_type)
|
25
|
+
end
|
26
|
+
else
|
27
|
+
copy_field_partials(resource_path)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def copy_field_partials(resource_path)
|
34
|
+
copy_field_partial(resource_path, :index)
|
35
|
+
copy_field_partial(resource_path, :show)
|
36
|
+
copy_field_partial(resource_path, :form)
|
37
|
+
end
|
38
|
+
|
39
|
+
def copy_field_partial(resource_path, partial_name)
|
40
|
+
template_file = "#{resource_path}/_#{partial_name}.html.erb"
|
41
|
+
|
42
|
+
copy_file(
|
43
|
+
template_file,
|
44
|
+
"app/views/fields/#{template_file}",
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require "administrate/view_generator"
|
2
|
+
|
3
|
+
module Administrate
|
4
|
+
module Generators
|
5
|
+
module Views
|
6
|
+
class FormGenerator < Administrate::ViewGenerator
|
7
|
+
source_root template_source_path
|
8
|
+
|
9
|
+
def copy_form
|
10
|
+
copy_resource_template("_form")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require "administrate/view_generator"
|
2
|
+
|
3
|
+
module Administrate
|
4
|
+
module Generators
|
5
|
+
module Views
|
6
|
+
class IndexGenerator < Administrate::ViewGenerator
|
7
|
+
source_root template_source_path
|
8
|
+
|
9
|
+
def copy_template
|
10
|
+
copy_resource_template("index")
|
11
|
+
copy_resource_template("_collection")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "administrate/view_generator"
|
2
|
+
|
3
|
+
module Administrate
|
4
|
+
module Generators
|
5
|
+
module Views
|
6
|
+
class LayoutGenerator < Administrate::ViewGenerator
|
7
|
+
source_root template_source_path
|
8
|
+
|
9
|
+
def copy_template
|
10
|
+
copy_file(
|
11
|
+
"../../layouts/administrate/application.html.erb",
|
12
|
+
"app/views/layouts/admin/application.html.erb",
|
13
|
+
)
|
14
|
+
|
15
|
+
call_generator("administrate:views:navigation")
|
16
|
+
copy_resource_template("_stylesheet")
|
17
|
+
copy_resource_template("_javascript")
|
18
|
+
copy_resource_template("_flashes")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require "administrate/view_generator"
|
2
|
+
|
3
|
+
module Administrate
|
4
|
+
module Generators
|
5
|
+
module Views
|
6
|
+
class NavigationGenerator < Administrate::ViewGenerator
|
7
|
+
source_root template_source_path
|
8
|
+
|
9
|
+
def copy_navigation
|
10
|
+
copy_resource_template("_navigation")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|