activeadmin 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (255) hide show
  1. data/CHANGELOG.rdoc +15 -1
  2. data/Gemfile +41 -11
  3. data/LICENSE +5 -0
  4. data/README.rdoc +202 -87
  5. data/Rakefile +51 -15
  6. data/activeadmin.gemspec +310 -131
  7. data/cucumber.yml +1 -0
  8. data/features/comments/commenting.feature +81 -0
  9. data/features/comments/viewing_index.feature +19 -0
  10. data/features/edit_page.feature +77 -0
  11. data/features/first_boot.feature +16 -0
  12. data/features/global_navigation.feature +30 -0
  13. data/features/index/formats.feature +10 -0
  14. data/features/index/index_as_block.feature +15 -0
  15. data/features/index/index_as_blog.feature +50 -0
  16. data/features/index/index_as_grid.feature +45 -0
  17. data/features/index/index_as_table.feature +79 -0
  18. data/features/index/index_scopes.feature +52 -0
  19. data/features/index/pagination.feature +23 -0
  20. data/features/new_page.feature +75 -0
  21. data/features/registering_assets.feature +35 -0
  22. data/features/registering_resources.feature +33 -0
  23. data/features/show/default_content.feature +43 -0
  24. data/features/show/page_title.feature +33 -0
  25. data/features/sidebar_sections.feature +128 -0
  26. data/features/specifying_actions.feature +16 -0
  27. data/features/step_definitions/action_item_steps.rb +7 -0
  28. data/features/step_definitions/additional_web_steps.rb +67 -0
  29. data/features/step_definitions/asset_steps.rb +7 -0
  30. data/features/step_definitions/attribute_steps.rb +15 -0
  31. data/features/step_definitions/comment_steps.rb +8 -0
  32. data/features/step_definitions/configuration_steps.rb +31 -0
  33. data/features/step_definitions/factory_steps.rb +28 -0
  34. data/features/step_definitions/flash_steps.rb +3 -0
  35. data/features/step_definitions/format_steps.rb +7 -0
  36. data/features/step_definitions/index_scope_steps.rb +20 -0
  37. data/features/step_definitions/pagination_steps.rb +8 -0
  38. data/features/step_definitions/sidebar_steps.rb +11 -0
  39. data/features/step_definitions/tab_steps.rb +3 -0
  40. data/features/step_definitions/user_steps.rb +20 -0
  41. data/features/step_definitions/web_steps.rb +219 -0
  42. data/features/support/env.rb +88 -0
  43. data/features/support/paths.rb +48 -0
  44. data/features/users/logging_in.feature +34 -0
  45. data/features/users/logging_out.feature +13 -0
  46. data/lib/active_admin.rb +155 -79
  47. data/lib/active_admin/abstract_view_factory.rb +95 -0
  48. data/lib/active_admin/action_items.rb +4 -15
  49. data/lib/active_admin/arbre.rb +23 -0
  50. data/lib/active_admin/arbre/attributes.rb +20 -0
  51. data/lib/active_admin/arbre/class_list.rb +28 -0
  52. data/lib/active_admin/arbre/collection.rb +27 -0
  53. data/lib/active_admin/arbre/context.rb +8 -0
  54. data/lib/active_admin/arbre/core_extensions.rb +5 -0
  55. data/lib/active_admin/arbre/document.rb +42 -0
  56. data/lib/active_admin/arbre/element.rb +151 -0
  57. data/lib/active_admin/arbre/html.rb +84 -0
  58. data/lib/active_admin/arbre/html5_elements.rb +47 -0
  59. data/lib/active_admin/arbre/tag.rb +129 -0
  60. data/lib/active_admin/arbre/text_node.rb +35 -0
  61. data/lib/active_admin/callbacks.rb +87 -0
  62. data/lib/active_admin/comments.rb +73 -0
  63. data/lib/active_admin/comments/comment.rb +15 -0
  64. data/lib/active_admin/comments/configuration.rb +16 -0
  65. data/lib/active_admin/comments/namespace_helper.rb +14 -0
  66. data/lib/active_admin/comments/resource_helper.rb +17 -0
  67. data/lib/active_admin/comments/show_page_helper.rb +23 -0
  68. data/lib/active_admin/comments/views.rb +3 -0
  69. data/lib/active_admin/comments/views/active_admin_comment.rb +0 -0
  70. data/lib/active_admin/comments/views/active_admin_comments.rb +82 -0
  71. data/lib/active_admin/component.rb +22 -0
  72. data/lib/active_admin/controller_action.rb +12 -0
  73. data/lib/active_admin/dashboards.rb +0 -2
  74. data/lib/active_admin/dashboards/dashboard_controller.rb +10 -5
  75. data/lib/active_admin/dashboards/section.rb +5 -14
  76. data/lib/active_admin/devise.rb +43 -0
  77. data/lib/active_admin/dsl.rb +202 -0
  78. data/lib/active_admin/event.rb +31 -0
  79. data/lib/active_admin/form_builder.rb +68 -50
  80. data/lib/active_admin/iconic.rb +51 -0
  81. data/lib/active_admin/iconic/icons.rb +142 -0
  82. data/lib/active_admin/namespace.rb +102 -16
  83. data/lib/active_admin/renderer.rb +18 -3
  84. data/lib/active_admin/resource.rb +110 -9
  85. data/lib/active_admin/resource/belongs_to.rb +31 -0
  86. data/lib/active_admin/resource_controller.rb +45 -260
  87. data/lib/active_admin/resource_controller/action_builder.rb +21 -0
  88. data/lib/active_admin/resource_controller/actions.rb +53 -0
  89. data/lib/active_admin/resource_controller/callbacks.rb +47 -0
  90. data/lib/active_admin/resource_controller/collection.rb +142 -0
  91. data/lib/active_admin/resource_controller/filters.rb +58 -0
  92. data/lib/active_admin/resource_controller/form.rb +42 -0
  93. data/lib/active_admin/resource_controller/menu.rb +29 -0
  94. data/lib/active_admin/resource_controller/page_configurations.rb +53 -0
  95. data/lib/active_admin/resource_controller/scoping.rb +36 -0
  96. data/lib/active_admin/resource_controller/sidebars.rb +38 -0
  97. data/lib/active_admin/scope.rb +17 -0
  98. data/lib/active_admin/sidebar.rb +8 -47
  99. data/lib/active_admin/stylesheets/active_admin.scss +418 -0
  100. data/lib/active_admin/stylesheets/active_admin/_comments.scss +40 -0
  101. data/lib/active_admin/stylesheets/active_admin/_flash_messages.scss +13 -0
  102. data/lib/active_admin/stylesheets/active_admin/_forms.scss +168 -0
  103. data/lib/active_admin/stylesheets/active_admin/_header.scss +108 -0
  104. data/lib/active_admin/stylesheets/active_admin/_typography.scss +100 -0
  105. data/lib/active_admin/stylesheets/active_admin/mixins/_all.scss +8 -0
  106. data/lib/active_admin/stylesheets/active_admin/mixins/_buttons.scss +27 -0
  107. data/lib/active_admin/stylesheets/active_admin/mixins/_gradients.scss +21 -0
  108. data/lib/active_admin/stylesheets/active_admin/mixins/_icons.scss +20 -0
  109. data/lib/active_admin/stylesheets/active_admin/mixins/_reset.scss +165 -0
  110. data/lib/active_admin/stylesheets/active_admin/mixins/_rounded.scss +43 -0
  111. data/lib/active_admin/stylesheets/active_admin/mixins/_sections.scss +27 -0
  112. data/lib/active_admin/stylesheets/active_admin/mixins/_shadows.scss +21 -0
  113. data/lib/active_admin/stylesheets/active_admin/mixins/_variables.scss +12 -0
  114. data/lib/active_admin/version.rb +1 -1
  115. data/lib/active_admin/view_factory.rb +21 -0
  116. data/lib/active_admin/view_helpers.rb +17 -100
  117. data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +7 -0
  118. data/lib/active_admin/view_helpers/auto_link_helper.rb +41 -0
  119. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +29 -0
  120. data/lib/active_admin/view_helpers/display_helper.rb +38 -0
  121. data/lib/active_admin/view_helpers/filter_form_helper.rb +174 -0
  122. data/lib/active_admin/view_helpers/form_helper.rb +12 -0
  123. data/lib/active_admin/view_helpers/icon_helper.rb +12 -0
  124. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +26 -0
  125. data/lib/active_admin/view_helpers/renderer_helper.rb +29 -0
  126. data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
  127. data/lib/active_admin/view_helpers/status_tag_helper.rb +13 -0
  128. data/lib/active_admin/view_helpers/table_helper.rb +12 -0
  129. data/lib/active_admin/view_helpers/title_helper.rb +11 -0
  130. data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
  131. data/lib/active_admin/views.rb +8 -0
  132. data/lib/active_admin/views/action_items.rb +17 -0
  133. data/lib/active_admin/views/components/attributes_table.rb +66 -0
  134. data/lib/active_admin/views/components/columns.rb +49 -0
  135. data/lib/active_admin/views/components/paginated_collection.rb +74 -0
  136. data/lib/active_admin/views/components/panel.rb +26 -0
  137. data/lib/active_admin/views/components/scopes.rb +64 -0
  138. data/lib/active_admin/views/components/sidebar_section.rb +30 -0
  139. data/lib/active_admin/views/components/table_for.rb +174 -0
  140. data/lib/active_admin/views/dashboard_section_renderer.rb +19 -0
  141. data/lib/active_admin/views/header_renderer.rb +37 -0
  142. data/lib/active_admin/views/index_as_block.rb +24 -0
  143. data/lib/active_admin/views/index_as_blog.rb +89 -0
  144. data/lib/active_admin/views/index_as_grid.rb +49 -0
  145. data/lib/active_admin/views/index_as_table.rb +73 -0
  146. data/lib/active_admin/views/pages/base.rb +138 -0
  147. data/lib/active_admin/views/pages/dashboard.rb +61 -0
  148. data/lib/active_admin/views/pages/edit.rb +27 -0
  149. data/lib/active_admin/views/pages/index.rb +64 -0
  150. data/lib/active_admin/views/pages/new.rb +27 -0
  151. data/lib/active_admin/views/pages/show.rb +56 -0
  152. data/lib/active_admin/views/tabs_renderer.rb +52 -0
  153. data/lib/active_admin/views/templates/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
  154. data/lib/active_admin/views/templates/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
  155. data/lib/active_admin/views/templates/active_admin/devise/passwords/edit.html.erb +16 -0
  156. data/lib/active_admin/views/templates/active_admin/devise/passwords/new.html.erb +14 -0
  157. data/lib/active_admin/views/templates/active_admin/devise/sessions/new.html.erb +18 -0
  158. data/lib/active_admin/views/templates/active_admin/devise/shared/_links.erb +20 -0
  159. data/lib/active_admin/views/templates/active_admin/devise/unlocks/new.html.erb +12 -0
  160. data/lib/active_admin/views/templates/active_admin_dashboard/index.html.arb +1 -0
  161. data/lib/active_admin/views/templates/active_admin_default/edit.html.arb +1 -0
  162. data/lib/active_admin/views/{active_admin_default → templates/active_admin_default}/index.csv.erb +0 -0
  163. data/lib/active_admin/views/templates/active_admin_default/index.html.arb +1 -0
  164. data/lib/active_admin/views/templates/active_admin_default/new.html.arb +1 -0
  165. data/lib/active_admin/views/templates/active_admin_default/show.html.arb +1 -0
  166. data/lib/active_admin/views/{layouts → templates/layouts}/active_admin.html.erb +3 -4
  167. data/lib/active_admin/views/templates/layouts/active_admin_logged_out.html.erb +31 -0
  168. data/lib/generators/active_admin/devise/devise_generator.rb +45 -0
  169. data/lib/generators/active_admin/install/install_generator.rb +18 -3
  170. data/lib/generators/active_admin/install/templates/active_admin.js +41 -0
  171. data/lib/generators/active_admin/install/templates/{active_admin.rb → active_admin.rb.erb} +33 -3
  172. data/lib/generators/active_admin/install/templates/active_admin_vendor.js +1 -1
  173. data/lib/generators/active_admin/install/templates/dashboards.rb +3 -4
  174. data/lib/generators/active_admin/install/templates/images/admin_notes_icon.png +0 -0
  175. data/lib/generators/active_admin/install/templates/images/loading.gif +0 -0
  176. data/lib/generators/active_admin/install/templates/images/nested_menu_arrow.gif +0 -0
  177. data/lib/generators/active_admin/install/templates/images/nested_menu_arrow_dark.gif +0 -0
  178. data/lib/generators/active_admin/install/templates/images/orderable.png +0 -0
  179. data/lib/generators/active_admin/install/templates/migrations/1_create_admin_notes.rb +16 -0
  180. data/lib/generators/active_admin/install/templates/migrations/2_move_admin_notes_to_comments.rb +25 -0
  181. data/spec/integration/belongs_to_spec.rb +42 -0
  182. data/spec/integration/index_as_table_spec.rb +0 -119
  183. data/spec/integration/layout_spec.rb +3 -37
  184. data/spec/spec_helper.rb +89 -50
  185. data/spec/support/integration_example_group.rb +37 -0
  186. data/spec/support/rails_template.rb +21 -9
  187. data/spec/support/rails_template_with_data.rb +32 -0
  188. data/spec/support/templates/cucumber.rb +28 -0
  189. data/spec/unit/abstract_view_factory_spec.rb +79 -0
  190. data/spec/unit/action_builder_spec.rb +19 -7
  191. data/spec/unit/action_items_spec.rb +16 -30
  192. data/spec/unit/active_admin_spec.rb +10 -22
  193. data/spec/unit/arbre/html/element_finder_methods_spec.rb +54 -0
  194. data/spec/unit/arbre/html/element_spec.rb +224 -0
  195. data/spec/unit/arbre/html/tag_attributes_spec.rb +61 -0
  196. data/spec/unit/arbre/html/tag_spec.rb +63 -0
  197. data/spec/unit/arbre/html_spec.rb +185 -0
  198. data/spec/unit/auto_link_spec.rb +38 -0
  199. data/spec/unit/belongs_to_spec.rb +44 -0
  200. data/spec/unit/breadcrumbs_spec.rb +110 -0
  201. data/spec/unit/comments_spec.rb +53 -0
  202. data/spec/unit/component_spec.rb +18 -0
  203. data/spec/unit/components/attributes_table_spec.rb +100 -0
  204. data/spec/unit/components/columns_spec.rb +75 -0
  205. data/spec/unit/components/panel_spec.rb +31 -0
  206. data/spec/unit/components/sidebar_section_spec.rb +37 -0
  207. data/spec/unit/components/table_for_spec.rb +130 -0
  208. data/spec/unit/dashboard_controller_spec.rb +26 -0
  209. data/spec/unit/dashboard_section_spec.rb +10 -17
  210. data/spec/unit/display_name_spec.rb +29 -0
  211. data/spec/unit/event_spec.rb +41 -0
  212. data/spec/unit/filter_form_builder_spec.rb +99 -77
  213. data/spec/unit/form_builder_spec.rb +69 -69
  214. data/spec/unit/namespace_spec.rb +61 -3
  215. data/spec/unit/pretty_format_spec.rb +35 -0
  216. data/spec/unit/registration_spec.rb +40 -1
  217. data/spec/unit/renderer_spec.rb +8 -0
  218. data/spec/unit/resource_controller_spec.rb +105 -6
  219. data/spec/unit/resource_spec.rb +78 -11
  220. data/spec/unit/routing_spec.rb +82 -6
  221. data/spec/unit/scope_spec.rb +31 -0
  222. data/spec/unit/tabs_renderer_spec.rb +24 -2
  223. data/spec/unit/view_factory_spec.rb +16 -0
  224. metadata +268 -82
  225. data/.gitignore +0 -25
  226. data/active_admin.gemspec +0 -22
  227. data/lib/active_admin/action_builder.rb +0 -60
  228. data/lib/active_admin/breadcrumbs.rb +0 -26
  229. data/lib/active_admin/dashboards/renderer.rb +0 -45
  230. data/lib/active_admin/dashboards/section_renderer.rb +0 -28
  231. data/lib/active_admin/filters.rb +0 -189
  232. data/lib/active_admin/pages.rb +0 -11
  233. data/lib/active_admin/pages/base.rb +0 -92
  234. data/lib/active_admin/pages/edit.rb +0 -21
  235. data/lib/active_admin/pages/index.rb +0 -58
  236. data/lib/active_admin/pages/index/blog.rb +0 -65
  237. data/lib/active_admin/pages/index/table.rb +0 -48
  238. data/lib/active_admin/pages/index/thumbnails.rb +0 -40
  239. data/lib/active_admin/pages/new.rb +0 -21
  240. data/lib/active_admin/pages/show.rb +0 -54
  241. data/lib/active_admin/table_builder.rb +0 -162
  242. data/lib/active_admin/tabs_renderer.rb +0 -39
  243. data/lib/active_admin/views/active_admin_dashboard/index.html.erb +0 -1
  244. data/lib/active_admin/views/active_admin_default/edit.html.erb +0 -1
  245. data/lib/active_admin/views/active_admin_default/index.html.erb +0 -1
  246. data/lib/active_admin/views/active_admin_default/new.html.erb +0 -1
  247. data/lib/active_admin/views/active_admin_default/show.html.erb +0 -1
  248. data/lib/generators/active_admin/install/templates/active_admin.css +0 -325
  249. data/lib/generators/active_admin/install/templates/images/orderable.gif +0 -0
  250. data/spec/integration/index_as_blog_spec.rb +0 -65
  251. data/spec/integration/index_as_thumbnails_spec.rb +0 -43
  252. data/spec/integration/new_view_spec.rb +0 -52
  253. data/spec/integration/show_view_spec.rb +0 -91
  254. data/spec/unit/sidebar_spec.rb +0 -96
  255. data/spec/unit/table_builder_spec.rb +0 -162
@@ -0,0 +1,17 @@
1
+ module ActiveAdmin
2
+ class Scope
3
+
4
+ attr_reader :name, :scope_method, :id, :scope_block
5
+
6
+ def initialize(name, method = nil, &block)
7
+ @name = name.to_s.titleize
8
+ @scope_method = method || name.to_sym
9
+ @id = @name.gsub(' ', '').underscore
10
+ if block_given?
11
+ @scope_method = nil
12
+ @scope_block = block
13
+ end
14
+ end
15
+
16
+ end
17
+ end
@@ -1,29 +1,6 @@
1
- require 'active_admin/helpers/optional_display'
2
-
3
1
  module ActiveAdmin
4
2
  module Sidebar
5
3
 
6
- def self.included(base)
7
- base.send :extend, ClassMethods
8
- base.class_inheritable_accessor :sidebar_sections
9
- base.sidebar_sections = []
10
- end
11
-
12
- module ClassMethods
13
-
14
- def sidebar(name, options = {}, &block)
15
- self.sidebar_sections << ActiveAdmin::Sidebar::Section.new(name, options, &block)
16
- end
17
-
18
- def clear_sidebar_sections!
19
- self.sidebar_sections = []
20
- end
21
-
22
- def sidebar_sections_for(action)
23
- sidebar_sections.select{|section| section.display_on?(action) }
24
- end
25
- end
26
-
27
4
  class Section
28
5
  include ActiveAdmin::OptionalDisplay
29
6
 
@@ -39,6 +16,14 @@ module ActiveAdmin
39
16
  name.to_s.downcase.underscore + '_sidebar_section'
40
17
  end
41
18
 
19
+ def icon?
20
+ options[:icon]
21
+ end
22
+
23
+ def icon
24
+ options[:icon] if icon?
25
+ end
26
+
42
27
  # The title gets displayed within the section in the view
43
28
  def title
44
29
  name.to_s.titlecase
@@ -50,29 +35,5 @@ module ActiveAdmin
50
35
  end
51
36
  end
52
37
 
53
- class Renderer < ActiveAdmin::Renderer
54
- def to_html(sidebar_sections)
55
- sidebar_sections.collect do |section|
56
- title = content_tag :h3, section.title
57
- content = content_tag :div, sidebar_content(section)
58
-
59
- content_tag :div, :class => 'sidebar_section', :id => section.id do
60
- title + content
61
- end
62
- end.join
63
- end
64
-
65
- # If a block exists, render the block. Otherwise render a partial
66
- def sidebar_content(section)
67
- if section.block
68
- instance_eval(&section.block)
69
- else
70
- capture do
71
- render section.partial_name
72
- end
73
- end
74
- end
75
- end
76
-
77
38
  end
78
39
  end
@@ -0,0 +1,418 @@
1
+ /* Active Admin CSS */
2
+
3
+ // Bring in all the shared goodness
4
+ @import "active_admin/mixins/all";
5
+
6
+ // Reset Away!
7
+ @include global-reset;
8
+
9
+ // Partials
10
+ @import "active_admin/typography";
11
+ @import "active_admin/header";
12
+ @import "active_admin/forms";
13
+ @import "active_admin/comments";
14
+ @import "active_admin/flash_messages";
15
+
16
+ body {
17
+ font-family: Helvetica, Arial, sans-serif;
18
+ line-height: 150%;
19
+ font-size: 72%;
20
+ background: #fff;
21
+ margin: 0;
22
+ padding: 0;
23
+ color: $text-color;
24
+ }
25
+
26
+ // ----------------------------------- Page Title Bar
27
+ #title_bar {
28
+ @include section-header;
29
+ position: relative;
30
+ margin: 0;
31
+ padding: 10px $horizontal-page-margin;
32
+
33
+ h2 {
34
+ margin: 12px 0 5px 0;
35
+ padding: 0;
36
+ font-size: 2.6em;
37
+ font-weight: bold;
38
+ }
39
+
40
+ .action_items {
41
+ position: absolute;
42
+ right: $horizontal-page-margin;
43
+ top: 28px;
44
+
45
+ a {
46
+ @include light-button;
47
+ @include icon(#777, 0.8em);
48
+ @include gradient(#f9f9f9, #dddbdb);
49
+ padding: .8em 1.5em .7em 1.5em;
50
+ border: 1px solid #f8f8f8;
51
+ span.icon { vertical-align: bottom; margin-right: 4px;}
52
+ &:hover{ @include icon-color(#000); }
53
+ &:active { border: inherit; }
54
+ }
55
+ }
56
+ }
57
+
58
+ // ----------------------------------- Main Structure
59
+ #content {
60
+ margin: 0;
61
+ padding: 25px $horizontal-page-margin;
62
+
63
+ #main_content_wrapper {
64
+ float: left;
65
+ width: 100%;
66
+
67
+ #main_content{
68
+ margin-right: 300px;
69
+ }
70
+ }
71
+
72
+ &.without_sidebar #main_content_wrapper #main_content{ margin-right: 0; }
73
+
74
+ #sidebar {
75
+ float: left;
76
+ width: 270px;
77
+ margin-left: -270px;
78
+ }
79
+ }
80
+
81
+ // ----------------------------------- Footer
82
+ #footer {
83
+ padding: 30px 30px;
84
+ font-size: 0.8em;
85
+ clear: both;
86
+
87
+ p {
88
+ padding-top: 10px
89
+ }
90
+ }
91
+
92
+ // ----------------------------------- Links
93
+ a, a:link, a:visited {
94
+ color: $link-color;
95
+ text-decoration: underline;
96
+ }
97
+ a:hover { text-decoration: none; }
98
+
99
+ // ----------------------------------- Buttons
100
+
101
+ td, p {
102
+ @include icon(#B3BCC1, 0.8em);
103
+ span.icon { margin: 0 3px; }
104
+ }
105
+
106
+ a.view_link, a.edit_link, a.delete_link {
107
+ margin-right: 7px;
108
+ white-space: nowrap;
109
+ }
110
+
111
+ a.button, input[type=submit] { @include dark-button; }
112
+
113
+ // ----------------------------------- Breadcrumbs
114
+ .breadcrumb {
115
+ text-transform: uppercase;
116
+ font-size: 0.9em;
117
+ font-weight: normal;
118
+
119
+ a, a:link {
120
+ color: #8a949e ;
121
+ text-decoration: none;
122
+ }
123
+
124
+ a:hover { text-decoration: underline; }
125
+
126
+ .breadcrumb_sep {
127
+ margin: 0 2px;
128
+ color: #aab2ba;
129
+ }
130
+ }
131
+
132
+ // ----------------------------------- Sections & Panels
133
+ // Helper class to apply to elements to make them sections
134
+ .section, .panel{ @include section; }
135
+
136
+ // ----------------------------------- Tables
137
+ table {
138
+ width: 100%;
139
+ margin-bottom: 10px;
140
+ border: 0;
141
+ border-spacing: 0;
142
+
143
+
144
+ th {
145
+ @include section-header;
146
+ text-align: left;
147
+ padding-left: $cell-horizontal-padding;
148
+ padding-right: $cell-horizontal-padding;
149
+
150
+ a, a:link, a:visited {
151
+ color: $section-header-text-color;
152
+ text-decoration: none;
153
+ display: block;
154
+ }
155
+
156
+ &.sortable a {
157
+ background: url('/images/active_admin/orderable.png') no-repeat 0 4px; padding-left: 13px;
158
+ }
159
+
160
+ &.sorted-asc a { background-position: 0 -27px; }
161
+ &.sorted-desc a { background-position: 0 -56px;}
162
+
163
+ &.sorted-asc, &.sorted-desc {
164
+ @include gradient(darken($secondary-gradient-start, 5%), darken($secondary-gradient-stop, 5%));
165
+ border-bottom: 1px solid $secondary-gradient-stop;
166
+ }
167
+ }
168
+
169
+ tr.even td { background: $table-stripe-color; }
170
+
171
+ td {
172
+ padding: 10px $cell-horizontal-padding 8px $cell-horizontal-padding;
173
+ border-bottom: 1px solid #e8e8e8;
174
+ vertical-align: top;
175
+ }
176
+ }
177
+
178
+ // ----------------------------------- Tables inside Panels
179
+
180
+ .panel_contents table {
181
+ margin-top: 5px;
182
+ th {
183
+ padding-top: 10px;
184
+ background: none;
185
+ color: $primary-color;
186
+ @include no-shadow;
187
+ @include text-shadow;
188
+ text-transform: uppercase;
189
+ border-bottom: 1px solid #ccc;
190
+ }
191
+ tr.odd td { background: darken($table-stripe-color, 3%); }
192
+ tr.even td { background: $table-stripe-color; }
193
+ }
194
+
195
+ // ----------------------------------- Sidebar Sections
196
+ .sidebar_section { @include section; }
197
+
198
+ // -------------------------------------- Pagination
199
+ .pagination_information {
200
+ float: right;
201
+ margin-bottom: 5px;
202
+ font-size: 0.95em;
203
+ color: #b3bcc1;
204
+ b { color: #5c6469; }
205
+ }
206
+
207
+ // -------------------------------------- Index Footer (Under Table)
208
+ #index_footer { padding-top: 5px; text-align: right; font-size: 0.85em; }
209
+
210
+ .pagination {
211
+ display: inline;
212
+ font-size: 0.9;
213
+ margin-left: 10px;
214
+
215
+ a { @include light-button; }
216
+ em { @include default-button; }
217
+ a, em {
218
+ @include rounded(0px);
219
+ margin-right: 4px;
220
+ padding: 2px 5px;
221
+ }
222
+ .previous_page, .next_page { display:none; }
223
+ }
224
+
225
+ // -------------------------------------- Index as Grid
226
+ table.index_grid td { border: none; background: none; padding: 0 20px 20px 0; margin: 0;}
227
+
228
+
229
+ // -------------------------------------- Filter Forms
230
+ form {
231
+ .buttons {
232
+ margin-top: 15px;
233
+ input[type=submit] { margin-right: 10px; }
234
+ }
235
+ .filter_form_field {
236
+ margin-bottom: 10px;
237
+ clear: both;
238
+
239
+
240
+ label {
241
+ display: block;
242
+ text-transform: uppercase;
243
+ color: $section-header-text-color;
244
+ font-size: 0.9em;
245
+ font-weight: bold;
246
+ }
247
+ .datepicker { width: 80px; }
248
+ &.filter_numeric { input[type=text] { width: 80px; margin-left: 5px; } }
249
+ &.filter_check_boxes {
250
+ label { margin-bottom: 3px; }
251
+ .check_boxes_wrapper label {
252
+ font-weight: normal;
253
+ margin-bottom: 3px;
254
+ text-transform: none;
255
+ font-size: 1.0em;
256
+ input { vertical-align: baseline; }
257
+ }
258
+ }
259
+ }
260
+ a.clear_filters_btn { @include light-button; }
261
+ }
262
+
263
+
264
+ // -------------------------------------- Logged Out
265
+ body.logged_out {
266
+ background: #e8e9ea;
267
+
268
+ #content_wrapper{
269
+ width: 500px;
270
+ margin: 70px auto;
271
+ #content {
272
+ @include shadow;
273
+ background: #fff;
274
+ padding: 13px 30px;
275
+ }
276
+ }
277
+
278
+ h2 {
279
+ @include section-header;
280
+ @include primary-gradient;
281
+ @include text-shadow(#000);
282
+ color: #fff;
283
+ margin: -13px -30px 20px -30px;
284
+ }
285
+
286
+ .flash {
287
+ @include no-shadow;
288
+ @include text-shadow(#fff);
289
+ padding: 0;
290
+ color: #666;
291
+ background: none;
292
+ }
293
+
294
+ #login {
295
+ /* Login Form */
296
+ form {
297
+ fieldset {
298
+ @include no-shadow;
299
+ background: none;
300
+ padding: 0;
301
+ li { padding: 10px 0; }
302
+
303
+ input[type=text], input[type=email], input[type=password] {
304
+ width: 70%;
305
+ }
306
+ &.buttons { margin-left: 20%; }
307
+ margin-bottom: 0;
308
+ }
309
+ }
310
+
311
+ a { float: right; margin-top: -32px; }
312
+ }
313
+
314
+ }
315
+
316
+ // -------------------------------------- Date Picker
317
+ .ui-datepicker {
318
+ @include primary-gradient;
319
+ padding: 5px 5px 0 5px;
320
+ color: #fff;
321
+ display: none;
322
+ a {
323
+ color: #fff;
324
+ text-decoration: none;
325
+ &:hover {
326
+ cursor: pointer;
327
+ }
328
+ &.ui-datepicker-prev { float: left; }
329
+ &.ui-datepicker-next { float: right; }
330
+ }
331
+ .ui-datepicker-title { text-align: center; display: block;}
332
+ table {
333
+ td, th { padding: 1px 3px; }
334
+ td { border: none; }
335
+ }
336
+ }
337
+
338
+ // -------------------------------------- Dashboard
339
+ table.dashboard {
340
+ width: 100%;
341
+ td { border-bottom: none; }
342
+ .dashboard_section { @include section; }
343
+ }
344
+
345
+ // -------------------------------------- Resource Attributes Table
346
+ .attributes_table table {
347
+ th, td {
348
+ padding: 8px $cell-horizontal-padding 6px $cell-horizontal-padding;
349
+ vertical-align: top;
350
+ border-bottom: 1px solid #e8e8e8;
351
+ }
352
+ th {
353
+ @include no-shadow;
354
+ background: none;
355
+ width: 150px;
356
+ font-size: 0.9em;
357
+ padding-left: 0;
358
+ text-transform: uppercase;
359
+ color: $primary-color;
360
+ @include text-shadow;
361
+ }
362
+ td {
363
+ .empty {
364
+ color: #bbb;
365
+ font-size: 0.8em;
366
+ text-transform: uppercase;
367
+ letter-spacing: 0.2em;
368
+ }
369
+ }
370
+ }
371
+
372
+ .sidebar_section .attributes_table th { width: 50px; }
373
+
374
+ // -------------------------------------- Status Tags
375
+ .status {
376
+ background: darken($secondary-color, 15%);
377
+ color: #fff;
378
+ text-transform: uppercase;
379
+ letter-spacing: 0.15em;
380
+ padding: 3px 5px 2px 5px;
381
+ font-size: 0.8em;
382
+
383
+ &.published, &.complete, &.completed, &.green { background: #8daa92; }
384
+ &.error, &.errored, &.red { background: #d45f53;}
385
+ }
386
+
387
+
388
+ // -------------------------------------- Scopes
389
+ .scopes {
390
+ float: left;
391
+ margin-bottom: 10px;
392
+ font-size: 1.0em;
393
+
394
+ .scope {
395
+ padding: 4px 8px 3px 8px;
396
+ margin-right: 4px;
397
+ a { text-decoration: none; font-weight: bold; color: #888; }
398
+ a:hover { text-decoration: underline; ; }
399
+ &.selected {
400
+ @include rounded(5px);
401
+ @include inset-shadow(0,1px,0,#ccc);
402
+ @include text-shadow;
403
+ background: #efefef;
404
+ color: #666;
405
+ em { font-weight: bold; font-style: normal;
406
+ }
407
+ }
408
+ .count{ color: #aaa; font-size: 0.9em; }
409
+ }
410
+ .scopes_seperator { display: none; }
411
+ }
412
+
413
+ // -------------------------------------- Columns
414
+ .columns {
415
+ clear: both;
416
+ padding: 0;
417
+ .column { float: left; }
418
+ }