rails_admin 0.6.5 → 0.6.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.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +99 -74
  3. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +48 -55
  4. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +70 -65
  5. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +163 -147
  6. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +117 -114
  7. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +89 -107
  8. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +208 -175
  9. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +77 -78
  10. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +137 -129
  11. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +85 -101
  12. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +364 -268
  13. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +51 -52
  14. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +1782 -335
  15. data/app/assets/javascripts/rails_admin/ra.filter-box.js +1 -1
  16. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +3 -3
  17. data/app/assets/javascripts/rails_admin/ra.filtering-select.js +1 -1
  18. data/app/assets/javascripts/rails_admin/ra.remote-form.js +6 -2
  19. data/app/assets/stylesheets/rails_admin/base/theming.scss +34 -14
  20. data/app/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +47 -58
  21. data/app/assets/stylesheets/rails_admin/bootstrap/_badges.scss +57 -0
  22. data/app/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +12 -10
  23. data/app/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +163 -152
  24. data/app/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +98 -169
  25. data/app/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +151 -66
  26. data/app/assets/stylesheets/rails_admin/bootstrap/_close.scss +11 -8
  27. data/app/assets/stylesheets/rails_admin/bootstrap/_code.scss +36 -29
  28. data/app/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +16 -3
  29. data/app/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +115 -148
  30. data/app/assets/stylesheets/rails_admin/bootstrap/_forms.scss +396 -547
  31. data/app/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +237 -0
  32. data/app/assets/stylesheets/rails_admin/bootstrap/_grid.scss +74 -11
  33. data/app/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +166 -0
  34. data/app/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +48 -0
  35. data/app/assets/stylesheets/rails_admin/bootstrap/_labels.scss +66 -0
  36. data/app/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +131 -0
  37. data/app/assets/stylesheets/rails_admin/bootstrap/_media.scss +8 -7
  38. data/app/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +36 -693
  39. data/app/assets/stylesheets/rails_admin/bootstrap/_modals.scss +108 -53
  40. data/app/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +545 -383
  41. data/app/assets/stylesheets/rails_admin/bootstrap/_navs.scss +191 -358
  42. data/app/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +425 -0
  43. data/app/assets/stylesheets/rails_admin/bootstrap/_pager.scss +45 -33
  44. data/app/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +70 -105
  45. data/app/assets/stylesheets/rails_admin/bootstrap/_panels.scss +243 -0
  46. data/app/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +61 -61
  47. data/app/assets/stylesheets/rails_admin/bootstrap/_print.scss +101 -0
  48. data/app/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +56 -73
  49. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +34 -0
  50. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +150 -50
  51. data/app/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +120 -23
  52. data/app/assets/stylesheets/rails_admin/bootstrap/_tables.scss +168 -170
  53. data/app/assets/stylesheets/rails_admin/bootstrap/_theme.scss +258 -0
  54. data/app/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +27 -42
  55. data/app/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +49 -24
  56. data/app/assets/stylesheets/rails_admin/bootstrap/_type.scss +200 -143
  57. data/app/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +33 -21
  58. data/app/assets/stylesheets/rails_admin/bootstrap/_variables.scss +764 -215
  59. data/app/assets/stylesheets/rails_admin/bootstrap/_wells.scss +7 -7
  60. data/app/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +47 -60
  61. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +14 -0
  62. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +11 -0
  63. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +18 -0
  64. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +50 -0
  65. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +7 -0
  66. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +22 -0
  67. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +84 -0
  68. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +58 -0
  69. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +81 -0
  70. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +122 -0
  71. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +21 -0
  72. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +34 -0
  73. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +12 -0
  74. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +31 -0
  75. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +10 -0
  76. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  77. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +8 -0
  78. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +23 -0
  79. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +24 -0
  80. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +10 -0
  81. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +8 -0
  82. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +6 -0
  83. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +21 -0
  84. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +10 -0
  85. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +9 -0
  86. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +28 -0
  87. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +11 -0
  88. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-overflow.scss +8 -0
  89. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +219 -0
  90. data/app/assets/stylesheets/rails_admin/ra.calendar-additions.scss +17 -0
  91. data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +9 -5
  92. data/app/helpers/rails_admin/application_helper.rb +20 -19
  93. data/app/helpers/rails_admin/form_builder.rb +14 -11
  94. data/app/views/kaminari/twitter-bootstrap/_paginator.html.haml +8 -9
  95. data/app/views/layouts/rails_admin/_navigation.html.haml +5 -5
  96. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +1 -1
  97. data/app/views/layouts/rails_admin/application.html.haml +9 -8
  98. data/app/views/layouts/rails_admin/pjax.html.haml +4 -3
  99. data/app/views/rails_admin/main/_form_datetime.html.haml +2 -1
  100. data/app/views/rails_admin/main/_form_field.html.haml +1 -1
  101. data/app/views/rails_admin/main/_form_text.html.haml +1 -1
  102. data/app/views/rails_admin/main/_submit_buttons.html.haml +1 -0
  103. data/app/views/rails_admin/main/dashboard.html.haml +1 -1
  104. data/app/views/rails_admin/main/export.html.haml +19 -16
  105. data/app/views/rails_admin/main/index.html.haml +11 -7
  106. data/app/views/rails_admin/main/show.html.haml +1 -1
  107. data/lib/rails_admin/adapters/active_record.rb +2 -2
  108. data/lib/rails_admin/adapters/mongoid/property.rb +1 -1
  109. data/lib/rails_admin/config/actions/bulk_delete.rb +0 -1
  110. data/lib/rails_admin/config/actions/edit.rb +0 -2
  111. data/lib/rails_admin/config/actions/export.rb +0 -2
  112. data/lib/rails_admin/config/actions/index.rb +0 -3
  113. data/lib/rails_admin/config/actions/new.rb +0 -2
  114. data/lib/rails_admin/config/configurable.rb +1 -1
  115. data/lib/rails_admin/config/fields/base.rb +9 -0
  116. data/lib/rails_admin/config/fields/factories/enum.rb +2 -3
  117. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +4 -0
  118. data/lib/rails_admin/config/model.rb +2 -1
  119. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +2 -2
  120. data/lib/rails_admin/support/csv_converter.rb +22 -42
  121. data/lib/rails_admin/version.rb +1 -1
  122. metadata +59 -18
  123. data/app/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +0 -34
  124. data/app/assets/stylesheets/rails_admin/bootstrap/_hero-unit.scss +0 -25
  125. data/app/assets/stylesheets/rails_admin/bootstrap/_labels-badges.scss +0 -83
  126. data/app/assets/stylesheets/rails_admin/bootstrap/_layouts.scss +0 -16
  127. data/app/assets/stylesheets/rails_admin/bootstrap/_reset.scss +0 -216
  128. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-1200px-min.scss +0 -28
  129. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-767px-max.scss +0 -193
  130. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-768px-979px.scss +0 -19
  131. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-navbar.scss +0 -189
  132. data/app/assets/stylesheets/rails_admin/bootstrap/_sprites.scss +0 -197
  133. data/app/assets/stylesheets/rails_admin/bootstrap/responsive.scss +0 -48
@@ -25,3 +25,20 @@
25
25
  }
26
26
  }
27
27
  }
28
+ /* span for disabled cells */
29
+ .ui-timepicker-table td span {
30
+ width: auto;
31
+ }
32
+ /* anchors for clickable cells */
33
+ .ui-timepicker-table td a {
34
+ width: auto;
35
+ }
36
+ .input-group {
37
+ .hasTimepicker {
38
+ @extend .form-control;
39
+ width: 65px !important;
40
+ }
41
+ .hasDatepicker {
42
+ @extend .form-control
43
+ }
44
+ }
@@ -48,7 +48,7 @@
48
48
  @import "rails_admin/custom/mixins";
49
49
 
50
50
  /*** Reset ***/
51
- @import "rails_admin/bootstrap/reset";
51
+ <%# @import "rails_admin/bootstrap/reset"; %>
52
52
  /*** Libraries ***/
53
53
 
54
54
  @import "rails_admin/aristo/jquery-ui-1.8.7.custom";
@@ -65,9 +65,10 @@
65
65
 
66
66
  /*** Bootstrap Theming ***/
67
67
 
68
+ @import "rails_admin/bootstrap/normalize";
68
69
  @import "rails_admin/bootstrap/scaffolding";
69
70
  @import "rails_admin/bootstrap/grid";
70
- @import "rails_admin/bootstrap/layouts";
71
+ <%# @import "rails_admin/bootstrap/layouts"; %>
71
72
  @import "rails_admin/bootstrap/type";
72
73
  @import "rails_admin/bootstrap/forms";
73
74
  @import "rails_admin/bootstrap/tables";
@@ -77,6 +78,7 @@
77
78
  @import "rails_admin/bootstrap/close";
78
79
  @import "rails_admin/bootstrap/buttons";
79
80
  @import "rails_admin/bootstrap/button-groups";
81
+ @import "rails_admin/bootstrap/input-groups";
80
82
  @import "rails_admin/bootstrap/alerts";
81
83
  @import "rails_admin/bootstrap/navs";
82
84
  @import "rails_admin/bootstrap/navbar";
@@ -87,12 +89,14 @@
87
89
  @import "rails_admin/bootstrap/tooltip";
88
90
  @import "rails_admin/bootstrap/popovers";
89
91
  @import "rails_admin/bootstrap/thumbnails";
90
- @import "rails_admin/bootstrap/labels-badges";
92
+ @import "rails_admin/bootstrap/labels";
93
+ @import "rails_admin/bootstrap/badges";
91
94
  @import "rails_admin/bootstrap/progress-bars";
92
- @import "rails_admin/bootstrap/accordion";
95
+ <%# @import "rails_admin/bootstrap/accordion"; %>
93
96
  @import "rails_admin/bootstrap/carousel";
94
- @import "rails_admin/bootstrap/hero-unit";
97
+ <%# @import "rails_admin/bootstrap/hero-unit"; %>
95
98
  @import "rails_admin/bootstrap/utilities";
99
+ @import "rails_admin/bootstrap/responsive-utilities";
96
100
 
97
101
  /*** RailsAdmin Theming ***/
98
102
 
@@ -19,8 +19,8 @@ module RailsAdmin
19
19
 
20
20
  def current_action?(action, abstract_model = @abstract_model, object = @object)
21
21
  @action.custom_key == action.custom_key &&
22
- abstract_model.try(:to_param) == @abstract_model.try(:to_param) &&
23
- (@object.try(:persisted?) ? @object.id == object.try(:id) : !object.try(:persisted?))
22
+ abstract_model.try(:to_param) == @abstract_model.try(:to_param) &&
23
+ (@object.try(:persisted?) ? @object.id == object.try(:id) : !object.try(:persisted?))
24
24
  end
25
25
 
26
26
  def action(key, abstract_model = nil, object = nil)
@@ -48,7 +48,7 @@ module RailsAdmin
48
48
  end
49
49
 
50
50
  def logout_method
51
- return Devise.sign_out_via if defined?(Devise)
51
+ return [Devise.sign_out_via].flatten.first if defined?(Devise)
52
52
  :delete
53
53
  end
54
54
 
@@ -70,13 +70,12 @@ module RailsAdmin
70
70
  node_model_names = nodes_stack.collect { |c| c.abstract_model.model_name }
71
71
 
72
72
  nodes_stack.group_by(&:navigation_label).collect do |navigation_label, nodes|
73
-
74
73
  nodes = nodes.select { |n| n.parent.nil? || !n.parent.to_s.in?(node_model_names) }
75
74
  li_stack = navigation nodes_stack, nodes
76
75
 
77
76
  label = navigation_label || t('admin.misc.navigation')
78
77
 
79
- %(<li class='nav-header'>#{capitalize_first_letter label}</li>#{li_stack}) if li_stack.present?
78
+ %(<li class='dropdown-header'>#{capitalize_first_letter label}</li>#{li_stack}) if li_stack.present?
80
79
  end.join.html_safe
81
80
  end
82
81
 
@@ -96,7 +95,6 @@ module RailsAdmin
96
95
  url = url_for(action: :index, controller: 'rails_admin/main', model_name: model_param)
97
96
  level_class = " nav-level-#{level}" if level > 0
98
97
  nav_icon = node.navigation_icon ? %(<i class="#{node.navigation_icon}"></i>).html_safe : ''
99
-
100
98
  li = content_tag :li, 'data-model' => model_param do
101
99
  link_to nav_icon + capitalize_first_letter(node.label_plural), url, class: "pjax#{level_class}"
102
100
  end
@@ -109,21 +107,24 @@ module RailsAdmin
109
107
  (parent_actions ||= []) << action
110
108
  end while action.breadcrumb_parent && (action = action(*action.breadcrumb_parent)) # rubocop:disable Loop
111
109
 
112
- content_tag(:ul, class: 'breadcrumb') do
110
+ content_tag(:ol, class: 'breadcrumb') do
113
111
  parent_actions.collect do |a|
114
112
  am = a.send(:eval, 'bindings[:abstract_model]')
115
113
  o = a.send(:eval, 'bindings[:object]')
116
114
  content_tag(:li, class: current_action?(a, am, o) && 'active') do
117
115
  crumb = begin
118
- if a.http_methods.include?(:get)
119
- link_to url_for(action: a.action_name, controller: 'rails_admin/main', model_name: am.try(:to_param), id: (o.try(:persisted?) && o.try(:id) || nil)), class: 'pjax' do
120
- wording_for(:breadcrumb, a, am, o)
116
+ if !current_action?(a, am, o)
117
+ if a.http_methods.include?(:get)
118
+ link_to url_for(action: a.action_name, controller: 'rails_admin/main', model_name: am.try(:to_param), id: (o.try(:persisted?) && o.try(:id) || nil)), class: 'pjax' do
119
+ wording_for(:breadcrumb, a, am, o)
120
+ end
121
+ else
122
+ content_tag(:span, wording_for(:breadcrumb, a, am, o))
121
123
  end
122
124
  else
123
- content_tag(:span, wording_for(:breadcrumb, a, am, o))
125
+ wording_for(:breadcrumb, a, am, o)
124
126
  end
125
127
  end
126
- crumb += content_tag(:span, '/', class: 'divider') unless current_action?(a, am, o)
127
128
  crumb
128
129
  end
129
130
  end.reverse.join.html_safe
@@ -151,13 +152,13 @@ module RailsAdmin
151
152
  return '' if actions.empty?
152
153
  content_tag :li, class: 'dropdown', style: 'float:right' do
153
154
  content_tag(:a, class: 'dropdown-toggle', :'data-toggle' => 'dropdown', href: '#') { t('admin.misc.bulk_menu_title').html_safe + '<b class="caret"></b>'.html_safe } +
154
- content_tag(:ul, class: 'dropdown-menu', style: 'left:auto; right:0;') do
155
- actions.collect do |action|
156
- content_tag :li do
157
- link_to wording_for(:bulk_link, action), '#', onclick: "jQuery('#bulk_action').val('#{action.action_name}'); jQuery('#bulk_form').submit(); return false;"
158
- end
159
- end.join.html_safe
160
- end
155
+ content_tag(:ul, class: 'dropdown-menu', style: 'left:auto; right:0;') do
156
+ actions.collect do |action|
157
+ content_tag :li do
158
+ link_to wording_for(:bulk_link, action), '#', onclick: "jQuery('#bulk_action').val('#{action.action_name}'); jQuery('#bulk_form').submit(); return false;"
159
+ end
160
+ end.join.html_safe
161
+ end
161
162
  end.html_safe
162
163
  end
163
164
  end
@@ -12,10 +12,10 @@ module RailsAdmin
12
12
  )
13
13
 
14
14
  object_infos +
15
- visible_groups(options[:model_config], generator_action(options[:action], options[:nested_in])).collect do |fieldset|
16
- fieldset_for fieldset, options[:nested_in]
17
- end.join.html_safe +
18
- (options[:nested_in] ? '' : @template.render(partial: 'rails_admin/main/submit_buttons'))
15
+ visible_groups(options[:model_config], generator_action(options[:action], options[:nested_in])).collect do |fieldset|
16
+ fieldset_for fieldset, options[:nested_in]
17
+ end.join.html_safe +
18
+ (options[:nested_in] ? '' : @template.render(partial: 'rails_admin/main/submit_buttons'))
19
19
  end
20
20
  end
21
21
 
@@ -34,8 +34,9 @@ module RailsAdmin
34
34
  if field.label
35
35
  # do not show nested field if the target is the origin
36
36
  unless nested_field_association?(field, nested_in)
37
- @template.content_tag(:div, class: "control-group #{field.type_css_class} #{field.css_class} #{'error' if field.errors.present?}", id: "#{dom_id(field)}_field") do
38
- label(field.method_name, capitalize_first_letter(field.label), class: 'control-label') + (field.nested_form ? field_for(field) : input_for(field))
37
+ @template.content_tag(:div, class: "form-group control-group #{field.type_css_class} #{field.css_class} #{'error' if field.errors.present?}", id: "#{dom_id(field)}_field") do
38
+ label(field.method_name, capitalize_first_letter(field.label), class: 'col-sm-2 control-label') +
39
+ (field.nested_form ? field_for(field) : input_for(field))
39
40
  end
40
41
  end
41
42
  else
@@ -44,19 +45,21 @@ module RailsAdmin
44
45
  end
45
46
 
46
47
  def input_for(field)
47
- @template.content_tag(:div, class: 'controls') do
48
+ css = 'col-sm-10 controls'
49
+ css += ' has-error' if field.errors.present?
50
+ @template.content_tag(:div, class: css) do
48
51
  field_for(field) +
49
- errors_for(field) +
50
- help_for(field)
52
+ errors_for(field) +
53
+ help_for(field)
51
54
  end
52
55
  end
53
56
 
54
57
  def errors_for(field)
55
- field.errors.present? ? @template.content_tag(:span, field.errors.to_sentence, class: 'help-inline') : ''.html_safe
58
+ field.errors.present? ? @template.content_tag(:span, field.errors.to_sentence, class: 'help-inline text-danger') : ''.html_safe
56
59
  end
57
60
 
58
61
  def help_for(field)
59
- field.help.present? ? @template.content_tag(:p, field.help, class: 'help-block') : ''.html_safe
62
+ field.help.present? ? @template.content_tag(:span, field.help, class: 'help-block') : ''.html_safe
60
63
  end
61
64
 
62
65
  def field_for(field)
@@ -1,10 +1,9 @@
1
1
  = paginator.render do
2
- .pagination
3
- %ul
4
- = prev_page_tag
5
- - each_page do |page|
6
- - if page.left_outer? or page.right_outer? or page.inside_window?
7
- = page_tag page
8
- - elsif !page.was_truncated?
9
- = gap_tag
10
- = next_page_tag
2
+ %ul.pagination
3
+ = prev_page_tag
4
+ - each_page do |page|
5
+ - if page.left_outer? or page.right_outer? or page.inside_window?
6
+ = page_tag page
7
+ - elsif !page.was_truncated?
8
+ = gap_tag
9
+ = next_page_tag
@@ -1,7 +1,7 @@
1
- .navbar-inner
2
- .container-fluid
3
- %a.brand.pjax{href: dashboard_path}
1
+ .container-fluid
2
+ .navbar-header
3
+ %a.navbar-brand.pjax{href: dashboard_path}
4
4
  = _get_plugin_name[0] || 'Rails'
5
5
  %small= _get_plugin_name[1] || 'Admin'
6
- .nav-collapse
7
- = render partial: 'layouts/rails_admin/secondary_navigation'
6
+ .collapse.navbar-collapse
7
+ = render partial: 'layouts/rails_admin/secondary_navigation'
@@ -1,4 +1,4 @@
1
- %ul.nav.pull-right.root_links
1
+ %ul.nav.navbar-nav.navbar-right.root_links
2
2
  - actions(:root).each do |action|
3
3
  %li{class: "#{action.action_name}_root_link"}= link_to wording_for(:menu, action), { action: action.action_name, controller: 'rails_admin/main' }, class: "pjax"
4
4
  - if main_app_root_path = (main_app.root_path rescue false)
@@ -1,6 +1,7 @@
1
1
  !!! 5
2
2
  %html
3
3
  %head
4
+ %meta{content: "IE=edge", "http-equiv" => "X-UA-Compatible"}
4
5
  %meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
5
6
  %meta{content: "NONE,NOARCHIVE", name: "robots"}
6
7
  = csrf_meta_tag
@@ -11,14 +12,14 @@
11
12
  RailsAdmin.I18n.init(JSON.parse("#{j I18n.t("admin.js").to_json}"))
12
13
  %body.rails_admin
13
14
  #loading.label.label-warning{style: 'display:none; position:fixed; right:20px; bottom:20px; z-index:100000'}= t('admin.loading')
14
- .navbar.navbar-fixed-top
15
+ %nav.navbar.navbar-default.navbar-fixed-top
15
16
  = render "layouts/rails_admin/navigation"
16
17
  .container-fluid
17
- .row-fluid
18
- .span3
19
- .well.sidebar-nav
20
- %ul.nav.nav-list= main_navigation
21
- %ul.nav.nav-list= static_navigation
22
- .span9
23
- .row-fluid
18
+ .row
19
+ .col-sm-3.col-md-2.reset-left
20
+ .sidebar-nav
21
+ %ul.nav.nav-pills.nav-stacked= main_navigation
22
+ %ul.nav.nav-pills.nav-stacked= static_navigation
23
+ .col-sm-9.col-sm-offset-3.col-md-10.col-md-offset-2
24
+ .row
24
25
  .content{:'data-pjax-container' => true}= render template: 'layouts/rails_admin/pjax'
@@ -1,13 +1,14 @@
1
1
  :javascript
2
- $('.nav.nav-list li.active').removeClass('active');
3
- $('.nav.nav-list li[data-model="#{@abstract_model.to_param}"]').addClass('active');
2
+ $('.nav.nav-pills li.active').removeClass('active');
3
+ $('.nav.nav-pills li[data-model="#{@abstract_model.to_param}"]').addClass('active');
4
4
 
5
5
  %title= "#{@abstract_model.try(:pretty_name) || @page_name} | #{[_get_plugin_name[0] || 'Rails', _get_plugin_name[1] || 'Admin'].join(' ')}"
6
6
  .page-header
7
7
  %h1= @page_name
8
8
  - flash && flash.each do |key, value|
9
+ - key = 'danger' if key.to_s == 'error'
9
10
  .alert{class: "alert-#{key}"}
10
- %a.close{href: '#', :'data-dismiss' => "alert"}×
11
+ %a.close{href: '#', :'data-dismiss' => "alert"} &times;
11
12
  = value
12
13
  = breadcrumb
13
14
  %ul.nav.nav-tabs
@@ -1 +1,2 @@
1
- = form.send field.view_helper, field.method_name, field.html_attributes.reverse_merge({ value: field.form_value }).reverse_merge({ data: { datetimepicker: true, options: field.js_plugin_options.to_json } })
1
+ .input-group
2
+ = form.send field.view_helper, field.method_name, field.html_attributes.reverse_merge({ value: field.form_value }).reverse_merge({ data: { datetimepicker: true, options: field.js_plugin_options.to_json } })
@@ -1 +1 @@
1
- = form.send field.view_helper, field.method_name, field.html_attributes.reverse_merge({ value: field.form_value, checked: field.form_value.in?([true, '1'])})
1
+ = form.send field.view_helper, field.method_name, field.html_attributes.reverse_merge({ value: field.form_value, checked: field.form_value.in?([true, '1']), class: 'form-control'})
@@ -1 +1 @@
1
- = form.text_area field.method_name, field.html_attributes.reverse_merge(data: { richtext: false, options: {}.to_json }).reverse_merge({ value: field.form_value })
1
+ = form.text_area field.method_name, field.html_attributes.reverse_merge(data: { richtext: false, options: {}.to_json }).reverse_merge({ value: field.form_value, class: 'form-control' })
@@ -1,4 +1,5 @@
1
1
  %input{type: :hidden, name: 'return_to', value: (params[:return_to].presence || request.referer)}
2
+ %br
2
3
  .form-actions
3
4
  %button.btn.btn-primary{type: "submit", name: "_save", :'data-disable-with' => t("admin.form.save")}
4
5
  %i.icon-white.icon-ok
@@ -24,7 +24,7 @@
24
24
  - count = @count[abstract_model.pretty_name]
25
25
  - percent = count > 0 ? (@max <= 1 ? count : ((Math.log(count+1) * 100.0) / Math.log(@max+1)).to_i) : -1
26
26
  .progress{style: "margin-bottom:0px", class: "progress-#{get_indicator(percent)} #{active && 'active progress-striped'}" }
27
- .bar.animate-width-to{:'data-animate-length' => ([1.0, percent].max.to_i * 20), :'data-animate-width-to' => "#{[2.0, percent].max.to_i}%", style: "width:2%"}
27
+ .progress-bar.animate-width-to{:class => "progress-bar-#{get_indicator(percent)}", :'data-animate-length' => ([1.0, percent].max.to_i * 20), :'data-animate-width-to' => "#{[2.0, percent].max.to_i}%", style: "width:2%"}
28
28
  = @count[abstract_model.pretty_name]
29
29
  %td.links
30
30
  %ul.inline= menu_for :collection, abstract_model, nil, true
@@ -5,17 +5,18 @@
5
5
 
6
6
  %input{name: "send_data", type: "hidden", value: "true"}/
7
7
  %fieldset{id: 'fields_to_export'}
8
- %div.control-group
9
- %div.controls
10
- %label.checkbox{for: 'check_all'}
11
- = t('admin.export.select_all_fields')
12
- = check_box_tag 'all', 'all', true, { id: 'check_all' }
13
8
  %legend
14
9
  %i.icon-chevron-down
15
10
  = t('admin.export.select')
16
11
  .control-group
17
- %label.control-label{rel: 'tooltip', :'data-original-title' => t('admin.export.click_to_reverse_selection'), onclick: 'jQuery(this).siblings(".controls").find("input").click()'}= t('admin.export.fields_from', name: @model_config.label_plural.downcase)
18
12
  .controls
13
+ .col-sm-2
14
+ %label.col-sm-10.checkbox{for: 'check_all'}
15
+ = check_box_tag 'all', 'all', true, { id: 'check_all' }
16
+ = t('admin.export.select_all_fields')
17
+ .control-group
18
+ %label.col-sm-2.control-label{rel: 'tooltip', :'data-original-title' => t('admin.export.click_to_reverse_selection'), onclick: 'jQuery(this).siblings(".controls").find("input").click()'}= t('admin.export.fields_from', name: @model_config.label_plural.downcase)
19
+ .col-sm-10.controls
19
20
  - visible_fields.select{ |f| !f.association? || f.association.polymorphic? }.each do |field|
20
21
  - list = field.virtual? ? 'methods' : 'only'
21
22
  - if field.association? && field.association.polymorphic?
@@ -34,8 +35,8 @@
34
35
  - visible_fields.select{ |f| f.association? && !f.association.polymorphic? }.each do |field|
35
36
  - fields = field.associated_model_config.export.with(controller: self.controller, view: self, object: (associated_model = field.associated_model_config.abstract_model.model).new).visible_fields.select{ |f| !f.association? }
36
37
  .control-group
37
- %label.control-label{rel: 'tooltip', :'data-original-title' => t('admin.export.click_to_reverse_selection'), onclick: 'jQuery(this).siblings(".controls").find("input").click()'}= t('admin.export.fields_from_associated', name: field.label.downcase)
38
- .controls
38
+ %label.col-sm-2.control-label{rel: 'tooltip', :'data-original-title' => t('admin.export.click_to_reverse_selection'), onclick: 'jQuery(this).siblings(".controls").find("input").click()'}= t('admin.export.fields_from_associated', name: field.label.downcase)
39
+ .col-sm-10.controls
39
40
  - fields.each do |associated_model_field|
40
41
  - list = associated_model_field.virtual? ? 'methods' : 'only'
41
42
  %label.checkbox{for: "schema_include_#{field.name}_#{list}_#{associated_model_field.name}"}
@@ -48,24 +49,26 @@
48
49
  = t('admin.export.options_for', name: 'csv')
49
50
  .control-group
50
51
  - guessed_encoding = @abstract_model.encoding
51
- %label.control-label{for: "csv_options_encoding_to"}= t('admin.export.csv.encoding_to')
52
- .controls
52
+ %label.col-sm-2.control-label{for: "csv_options_encoding_to"}= t('admin.export.csv.encoding_to')
53
+ .col-sm-10.controls
53
54
  -# from http://books.google.com/support/partner/bin/answer.py?answer=30990 :
54
- = select_tag 'csv_options[encoding_to]', options_for_select(["", "UTF-8", "UTF-16LE", "UTF-16BE", "UTF-32LE", "UTF-32BE", "UTF-7", "ISO-8859-1", "ISO-8859-15", "IBM-850", "MacRoman", "Windows-1252", "ISO-8859-3", "IBM-852", "ISO-8859-2", "MacCE", "Windows-1250", "IBM-855", "ISO-8859-5", "ISO-IR-111", "KOI8-R", "MacCyrillic", "Windows-1251", "CP-866", "KOI-U", "MacUkranian", "GB2312", "GBK", "GB18030", "HZ", "ISO-2022-CN", "Big5", "Big5-HKSCS", "EUC-TW", "EUC-JP", "ISO-2022-JP", "Shift_JIS", "EUC-KR", "UHC", "JOHAB", "ISO-2022-KR"])
55
+ = select_tag 'csv_options[encoding_to]', options_for_select(RailsAdmin::CSVConverter::TARGET_ENCODINGS), include_blank: true
55
56
  %p.help-block= t('admin.export.csv.encoding_to_help', name: guessed_encoding)
56
57
 
57
58
  .control-group
58
- %label.control-label{for: "csv_options_skip_header"}= t('admin.export.csv.skip_header')
59
- .controls
60
- = check_box_tag 'csv_options[skip_header]', 'true'
59
+ %label.col-sm-2.control-label{for: "csv_options_skip_header"}= t('admin.export.csv.skip_header')
60
+ .col-sm-10.controls
61
+ %label.checkbox
62
+ = check_box_tag 'csv_options[skip_header]', 'true'
61
63
  %p.help-block= t('admin.export.csv.skip_header_help')
62
64
 
63
65
  .control-group
64
- %label.control-label{for: "csv_options_generator_col_sep"}= t('admin.export.csv.col_sep')
65
- .controls
66
+ %label.col-sm-2.control-label{for: "csv_options_generator_col_sep"}= t('admin.export.csv.col_sep')
67
+ .col-sm-10.controls
66
68
  = select_tag 'csv_options[generator][col_sep]', options_for_select({ '' => t('admin.export.csv.default_col_sep'), "<comma> ','" => ',', "<semicolon> ';'" => ';', '<tabs>' => "'\t'" })
67
69
  %p.help-block= t('admin.export.csv.col_sep_help', value: t('admin.export.csv.default_col_sep'))
68
70
 
71
+ %br
69
72
  .form-actions
70
73
  %input{type: :hidden, name: 'return_to', value: (params[:return_to].presence || request.referer)}
71
74
  %button.btn.btn-primary{type: "submit", name: 'csv'}
@@ -96,10 +96,12 @@
96
96
  .well
97
97
  %span#filters_box
98
98
  %hr.filters_box{style: "display:#{@ordered_filters.empty? ? 'none' : 'block'}"}
99
- %input.input-small{name: "query", type: "search", value: query, placeholder: t("admin.misc.filter")}
100
- %button.btn.btn-primary{type: "submit", :'data-disable-with' => "<i class='icon-white icon-refresh'></i> ".html_safe + t("admin.misc.refresh")}
101
- %i.icon-white.icon-refresh
102
- = t("admin.misc.refresh")
99
+ .input-group
100
+ %input.form-control.input-small{name: "query", type: "search", value: query, placeholder: t("admin.misc.filter")}
101
+ %span.input-group-btn
102
+ %button.btn.btn-primary{type: "submit", :'data-disable-with' => "<i class='icon-white icon-refresh'></i> ".html_safe + t("admin.misc.refresh")}
103
+ %i.icon-white.icon-refresh
104
+ = t("admin.misc.refresh")
103
105
  - if export_action
104
106
  %span{style: 'float:right'}= link_to wording_for(:link, export_action), export_path(params.except('set').except('page')), class: 'btn btn-info'
105
107
 
@@ -108,7 +110,7 @@
108
110
  - @model_config.list.scopes.each_with_index do |scope, index|
109
111
  - scope = '_all' if scope.nil?
110
112
  %li{class: "#{'active' if scope.to_s == params[:scope] || (params[:scope].blank? && index == 0)}"}
111
- %a{href: index_path(params.merge(scope: scope, page: nil))}= I18n.t("admin.scopes.#{@abstract_model.to_param}.#{scope}", default: I18n.t("admin.scopes.#{scope}", default: scope.to_s.titleize))
113
+ %a{href: index_path(params.merge(scope: scope, page: nil)), class: 'pjax'}= I18n.t("admin.scopes.#{@abstract_model.to_param}.#{scope}", default: I18n.t("admin.scopes.#{scope}", default: scope.to_s.titleize))
112
114
 
113
115
  = form_tag bulk_action_path(model_name: @abstract_model.to_param), method: :post, id: "bulk_form", class: "form" do
114
116
  = hidden_field_tag :bulk_action
@@ -146,8 +148,10 @@
146
148
  %ul.inline= menu_for :member, @abstract_model, object, true
147
149
  - if @objects.respond_to?(:total_count)
148
150
  - total_count = @objects.total_count.to_i
149
- = paginate(@objects, theme: 'twitter-bootstrap', remote: true)
150
- = link_to(t("admin.misc.show_all"), index_path(params.merge(all: true)), class: "show-all btn clearfix pjax") unless total_count > 100 || total_count <= @objects.to_a.size
151
+ .row
152
+ .col-md-6= paginate(@objects, theme: 'twitter-bootstrap', remote: true)
153
+ .row
154
+ .col-md-6= link_to(t("admin.misc.show_all"), index_path(params.merge(all: true)), class: "show-all btn btn-default clearfix pjax") unless total_count > 100 || total_count <= @objects.to_a.size
151
155
  .clearfix.total-count= "#{total_count} #{@model_config.pluralize(total_count).downcase}"
152
156
  - else
153
157
  .clearfix.total-count= "#{@objects.size} #{@model_config.pluralize(@objects.size).downcase}"