rails_admin_mydash 0.1.4 → 0.1.6
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/README.md +14 -4
- data/app/views/rails_admin/main/dashboard.html.haml +46 -42
- data/lib/rails_admin_mydash/config/actions/dashboard.rb +22 -7
- data/lib/rails_admin_mydash/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b67b99bbf01affa133bba7810b3acf636cf4bd31
|
4
|
+
data.tar.gz: a6a54c5e092385610db8b80e610f5d7d8b59617f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 919e091bf8e8e5cddc4eb636ae0ef4b1837a4e6043dcc9c5433b8353ca84f55b748ba246dac749c2bf2bdeae23f7b857e5ab0895a17a2208ab2fb752cdcb5214
|
7
|
+
data.tar.gz: 06012d90886d783d6a0e7ae24411849063c74d9a5a82691667508caba30242430c7e24b9de60441506448a133cba5f13b933fa2c1158c1531baf324e43a6d593
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# RailsAdminMydash [](https://badge.fury.io/rb/rails_admin_mydash)
|
2
2
|
|
3
|
-
A rails_admin alternative dashboard.
|
3
|
+
A rails_admin alternative dashboard. It overrides the default dashboard component.
|
4
4
|
|
5
5
|
Features:
|
6
6
|
|
@@ -8,13 +8,15 @@ Features:
|
|
8
8
|
|
9
9
|
- show optionally admin notices (to show informations to the users)
|
10
10
|
|
11
|
-
- auditing / history table
|
11
|
+
- show auditing / history table if enabled
|
12
12
|
|
13
|
-
-
|
13
|
+
- hid breadcrump and nav tabs on the dashboard
|
14
|
+
|
15
|
+
- disable counters progress bars (minor performance improvement)
|
14
16
|
|
15
17
|
## Installation
|
16
18
|
|
17
|
-
- Add the gem to Gemfile (after
|
19
|
+
- Add the gem to Gemfile (**after** rails_admin gem): `gem 'rails_admin_mydash'`
|
18
20
|
|
19
21
|
- Execute `bundle`
|
20
22
|
|
@@ -37,6 +39,14 @@ end
|
|
37
39
|
|
38
40
|
- Add some messages: `AdminNotice.new( message: 'Just a test', published: true ).save`
|
39
41
|
|
42
|
+
## Options
|
43
|
+
|
44
|
+
- *admin_notices* [String]: model to use to show admin messages
|
45
|
+
|
46
|
+
- *last_records* [Integer]: number of records to show per model
|
47
|
+
|
48
|
+
- *models* [String array]: list of models to show (es. `['Category', 'Post', 'Tag']`)
|
49
|
+
|
40
50
|
## Notes
|
41
51
|
|
42
52
|
- For each record to show a *name* field or method is used
|
@@ -1,43 +1,47 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
/ %div.panel-body
|
6
|
-
%table.table
|
7
|
-
- @admin_notices.each do |notice|
|
8
|
-
%tr
|
9
|
-
%td= notice.message
|
10
|
-
|
11
|
-
- if @abstract_models
|
12
|
-
%table.table.table-condensed.table-striped.dashboard-table
|
13
|
-
%thead
|
14
|
-
%tr
|
15
|
-
%th.shrink.model-name= t 'admin.table_headers.model_name'
|
16
|
-
%th.shrink.records= t 'admin.table_headers.records'
|
17
|
-
%th.last-records= t 'admin.table_headers.last_records'
|
18
|
-
%th.shrink.controls
|
19
|
-
%tbody
|
20
|
-
- @abstract_models.each do |abstract_model|
|
21
|
-
- if authorized? :index, abstract_model
|
22
|
-
- index_path = index_path(model_name: abstract_model.to_param)
|
23
|
-
- row_class = "#{cycle("odd", "even")}#{" link" if index_path} #{abstract_model.param_key}_links"
|
24
|
-
%tr{class: row_class, :"data-link" => index_path}
|
25
|
-
%td.c1
|
26
|
-
%span.show= link_to capitalize_first_letter(abstract_model.config.label_plural), index_path, class: 'pjax'
|
27
|
-
%td.c2
|
28
|
-
- if @count[abstract_model.model.name]
|
29
|
-
= @count[abstract_model.model.name]
|
30
|
-
%td.c3
|
31
|
-
- if @last_rows[abstract_model.model.name]
|
32
|
-
%div.last-records-list
|
33
|
-
- @last_rows[abstract_model.model.name].each do |row|
|
34
|
-
- if row.respond_to?( :name ) && ( show_action = action(:show, abstract_model, row) )
|
35
|
-
%div.last-records-item= link_to(row.name, url_for(action: show_action.action_name, model_name: abstract_model.to_param, id: row.id), class: 'pjax')
|
36
|
-
%td.c4.links
|
37
|
-
%ul.inline.list-inline= menu_for :collection, abstract_model, nil, true
|
1
|
+
:css
|
2
|
+
.content > .breadcrumb { display: none; }
|
3
|
+
.content > .nav-tabs { display: none; }
|
4
|
+
td.c2 { text-align: center; }
|
38
5
|
|
39
|
-
|
40
|
-
|
41
|
-
.
|
42
|
-
%
|
43
|
-
|
6
|
+
%div#mydash
|
7
|
+
- if @admin_notices
|
8
|
+
%div.panel.panel-info
|
9
|
+
%div.panel-heading
|
10
|
+
%h3.panel-title= t 'admin.dashboard.notices'
|
11
|
+
/ %div.panel-body
|
12
|
+
%table.table
|
13
|
+
- @admin_notices.each do |notice|
|
14
|
+
%tr
|
15
|
+
%td= notice.message
|
16
|
+
- if @abstract_models
|
17
|
+
%table.table.table-condensed.table-striped.dashboard-table
|
18
|
+
%thead
|
19
|
+
%tr
|
20
|
+
%th.shrink.model-name= t 'admin.table_headers.model_name'
|
21
|
+
%th.shrink.records= t 'admin.table_headers.records'
|
22
|
+
%th.last-records= t 'admin.table_headers.last_records'
|
23
|
+
%th.shrink.controls
|
24
|
+
%tbody
|
25
|
+
- @abstract_models.each do |abstract_model|
|
26
|
+
- if authorized? :index, abstract_model
|
27
|
+
- index_path = index_path(model_name: abstract_model.to_param)
|
28
|
+
- row_class = "#{cycle("odd", "even")}#{" link" if index_path} #{abstract_model.param_key}_links"
|
29
|
+
%tr{class: row_class, :"data-link" => index_path}
|
30
|
+
%td.c1
|
31
|
+
%span.show= link_to capitalize_first_letter(abstract_model.config.label_plural), index_path, class: 'pjax'
|
32
|
+
%td.c2
|
33
|
+
- if @count[abstract_model.model.name]
|
34
|
+
= @count[abstract_model.model.name]
|
35
|
+
%td.c3
|
36
|
+
- if @last_rows[abstract_model.model.name]
|
37
|
+
%div.last-records-list
|
38
|
+
- @last_rows[abstract_model.model.name].each do |row|
|
39
|
+
- if row.respond_to?( :name ) && ( show_action = action(:show, abstract_model, row) )
|
40
|
+
%div.last-records-item= link_to(row.name, url_for(action: show_action.action_name, model_name: abstract_model.to_param, id: row.id), class: 'pjax')
|
41
|
+
%td.c4.links
|
42
|
+
%ul.inline.list-inline= menu_for :collection, abstract_model, nil, true
|
43
|
+
- if @auditing_adapter && authorized?(:history_index)
|
44
|
+
#block-tables.block
|
45
|
+
.content
|
46
|
+
%h2= t("admin.actions.history_index.menu")
|
47
|
+
= render partial: 'mydashboard_history'
|
@@ -1,6 +1,8 @@
|
|
1
1
|
RailsAdmin::Config::Actions::Dashboard.class_eval do
|
2
2
|
RailsAdmin::Config::Actions.register(self)
|
3
3
|
|
4
|
+
MAX_NOTICES = 10
|
5
|
+
|
4
6
|
register_instance_option :root? do
|
5
7
|
true
|
6
8
|
end
|
@@ -14,13 +16,16 @@ RailsAdmin::Config::Actions::Dashboard.class_eval do
|
|
14
16
|
@history = @auditing_adapter && @auditing_adapter.latest || []
|
15
17
|
@count = {}
|
16
18
|
@last_rows = {}
|
17
|
-
@abstract_models = RailsAdmin::Config.visible_models(controller: self).collect(&:abstract_model)
|
19
|
+
@abstract_models = RailsAdmin::Config.visible_models( controller: self ).collect( &:abstract_model )
|
20
|
+
if @action.models
|
21
|
+
@abstract_models.keep_if { |model| @action.models.include? model.to_s }
|
22
|
+
end
|
18
23
|
@abstract_models.each do |t|
|
19
|
-
scope = @authorization_adapter && @authorization_adapter.query(:index, t)
|
20
|
-
@count[t.model.name] = t.count({}, scope)
|
21
|
-
@last_rows[t.model.name] = t.all({ limit:
|
24
|
+
scope = @authorization_adapter && @authorization_adapter.query( :index, t )
|
25
|
+
@count[t.model.name] = t.count( {}, scope )
|
26
|
+
@last_rows[t.model.name] = t.all( { limit: @action.last_records, sort: t.model.primary_key, sort_reverse: false }, scope )
|
22
27
|
end
|
23
|
-
@admin_notices = @action.admin_notices.constantize.where( published: true ).order( id: :desc ).limit(
|
28
|
+
@admin_notices = @action.admin_notices.constantize.where( published: true ).order( id: :desc ).limit( MAX_NOTICES ) if @action.admin_notices
|
24
29
|
render @action.template_name, status: @status_code || :ok
|
25
30
|
end
|
26
31
|
end
|
@@ -33,11 +38,21 @@ RailsAdmin::Config::Actions::Dashboard.class_eval do
|
|
33
38
|
'icon-home'
|
34
39
|
end
|
35
40
|
|
36
|
-
|
37
|
-
|
41
|
+
# Options
|
42
|
+
|
43
|
+
register_instance_option :statistics? do # for compatibility
|
44
|
+
false
|
38
45
|
end
|
39
46
|
|
40
47
|
register_instance_option :admin_notices do
|
41
48
|
false
|
42
49
|
end
|
50
|
+
|
51
|
+
register_instance_option :last_records do
|
52
|
+
3
|
53
|
+
end
|
54
|
+
|
55
|
+
register_instance_option :models do
|
56
|
+
nil
|
57
|
+
end
|
43
58
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_admin_mydash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mattia Roccoberton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01
|
11
|
+
date: 2017-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: An alternative dashboard for rails_admin
|
14
14
|
email:
|