scaffold_logic 1.6.0

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 (121) hide show
  1. data/.document +5 -0
  2. data/Capfile +4 -0
  3. data/README.rdoc +29 -0
  4. data/Rakefile +51 -0
  5. data/VERSION +1 -0
  6. data/config/deploy.rb +41 -0
  7. data/lib/generators/scaffold_logic/layout/USAGE +7 -0
  8. data/lib/generators/scaffold_logic/layout/layout_generator.rb +38 -0
  9. data/lib/generators/scaffold_logic/layout/templates/_nav_tabs.html.erb +3 -0
  10. data/lib/generators/scaffold_logic/layout/templates/images/icons/add.png +0 -0
  11. data/lib/generators/scaffold_logic/layout/templates/images/icons/collapsed.gif +0 -0
  12. data/lib/generators/scaffold_logic/layout/templates/images/icons/delete.png +0 -0
  13. data/lib/generators/scaffold_logic/layout/templates/images/icons/drag.png +0 -0
  14. data/lib/generators/scaffold_logic/layout/templates/images/icons/edit.png +0 -0
  15. data/lib/generators/scaffold_logic/layout/templates/images/icons/expanded.gif +0 -0
  16. data/lib/generators/scaffold_logic/layout/templates/images/icons/help_icon.png +0 -0
  17. data/lib/generators/scaffold_logic/layout/templates/images/icons/link_icon.png +0 -0
  18. data/lib/generators/scaffold_logic/layout/templates/images/icons/move.png +0 -0
  19. data/lib/generators/scaffold_logic/layout/templates/images/icons/move_white.png +0 -0
  20. data/lib/generators/scaffold_logic/layout/templates/images/icons/note.png +0 -0
  21. data/lib/generators/scaffold_logic/layout/templates/images/icons/note_white.png +0 -0
  22. data/lib/generators/scaffold_logic/layout/templates/images/icons/notification_icon_sprite.png +0 -0
  23. data/lib/generators/scaffold_logic/layout/templates/images/icons/spinner.gif +0 -0
  24. data/lib/generators/scaffold_logic/layout/templates/images/icons/view.png +0 -0
  25. data/lib/generators/scaffold_logic/layout/templates/images/icons/warning.png +0 -0
  26. data/lib/generators/scaffold_logic/layout/templates/images/icons/warning_2.png +0 -0
  27. data/lib/generators/scaffold_logic/layout/templates/images/icons/warning_box.png +0 -0
  28. data/lib/generators/scaffold_logic/layout/templates/images/icons/warning_icon.png +0 -0
  29. data/lib/generators/scaffold_logic/layout/templates/images/icons/warning_white.png +0 -0
  30. data/lib/generators/scaffold_logic/layout/templates/images/layout/arrow_asc.png +0 -0
  31. data/lib/generators/scaffold_logic/layout/templates/images/layout/arrow_desc.png +0 -0
  32. data/lib/generators/scaffold_logic/layout/templates/images/layout/back.png +0 -0
  33. data/lib/generators/scaffold_logic/layout/templates/images/layout/black_bar.png +0 -0
  34. data/lib/generators/scaffold_logic/layout/templates/images/layout/breadcrumb_bg.png +0 -0
  35. data/lib/generators/scaffold_logic/layout/templates/images/layout/button_bg.png +0 -0
  36. data/lib/generators/scaffold_logic/layout/templates/images/layout/content_left_bg.png +0 -0
  37. data/lib/generators/scaffold_logic/layout/templates/images/layout/content_right_bg.png +0 -0
  38. data/lib/generators/scaffold_logic/layout/templates/images/layout/credit_cards.gif +0 -0
  39. data/lib/generators/scaffold_logic/layout/templates/images/layout/footer_bg.png +0 -0
  40. data/lib/generators/scaffold_logic/layout/templates/images/layout/h1_bg.png +0 -0
  41. data/lib/generators/scaffold_logic/layout/templates/images/layout/h2_bg.png +0 -0
  42. data/lib/generators/scaffold_logic/layout/templates/images/layout/h2_bg_for_table.png +0 -0
  43. data/lib/generators/scaffold_logic/layout/templates/images/layout/header_bg_grey.png +0 -0
  44. data/lib/generators/scaffold_logic/layout/templates/images/layout/header_bg_purple.png +0 -0
  45. data/lib/generators/scaffold_logic/layout/templates/images/layout/legend_bg.png +0 -0
  46. data/lib/generators/scaffold_logic/layout/templates/images/layout/menu_box_bg.png +0 -0
  47. data/lib/generators/scaffold_logic/layout/templates/images/layout/shadow_border.png +0 -0
  48. data/lib/generators/scaffold_logic/layout/templates/images/layout/shadow_border_2.png +0 -0
  49. data/lib/generators/scaffold_logic/layout/templates/images/layout/shadow_border_3.png +0 -0
  50. data/lib/generators/scaffold_logic/layout/templates/images/layout/shadow_border_4.png +0 -0
  51. data/lib/generators/scaffold_logic/layout/templates/images/layout/tab.png +0 -0
  52. data/lib/generators/scaffold_logic/layout/templates/images/layout/tab_active.png +0 -0
  53. data/lib/generators/scaffold_logic/layout/templates/images/layout/table_header.png +0 -0
  54. data/lib/generators/scaffold_logic/layout/templates/images/layout/text_field_bg.jpg +0 -0
  55. data/lib/generators/scaffold_logic/layout/templates/images/layout/text_field_error_bg.png +0 -0
  56. data/lib/generators/scaffold_logic/layout/templates/images/layout/th_bg.png +0 -0
  57. data/lib/generators/scaffold_logic/layout/templates/images/layout/th_bg_selected.png +0 -0
  58. data/lib/generators/scaffold_logic/layout/templates/images/src/black_bar.psd +0 -0
  59. data/lib/generators/scaffold_logic/layout/templates/images/src/branding.psd +0 -0
  60. data/lib/generators/scaffold_logic/layout/templates/images/src/legend_bg.psd +0 -0
  61. data/lib/generators/scaffold_logic/layout/templates/images/src/menu_icons.psd +0 -0
  62. data/lib/generators/scaffold_logic/layout/templates/layout.html.erb +49 -0
  63. data/lib/generators/scaffold_logic/layout/templates/layout_helper.rb +16 -0
  64. data/lib/generators/scaffold_logic/layout/templates/stylesheets/application.css +881 -0
  65. data/lib/generators/scaffold_logic/layout/templates/stylesheets/core.css +1146 -0
  66. data/lib/generators/scaffold_logic/layout/templates/stylesheets/core_ie.css +52 -0
  67. data/lib/generators/scaffold_logic/layout/templates/stylesheets/csshover3.htc +14 -0
  68. data/lib/generators/scaffold_logic/scaffold/USAGE +48 -0
  69. data/lib/generators/scaffold_logic/scaffold/scaffold_generator.rb +230 -0
  70. data/lib/generators/scaffold_logic/scaffold/templates/actions/create.rb +9 -0
  71. data/lib/generators/scaffold_logic/scaffold/templates/actions/destroy.rb +6 -0
  72. data/lib/generators/scaffold_logic/scaffold/templates/actions/edit.rb +3 -0
  73. data/lib/generators/scaffold_logic/scaffold/templates/actions/index.rb +3 -0
  74. data/lib/generators/scaffold_logic/scaffold/templates/actions/new.rb +3 -0
  75. data/lib/generators/scaffold_logic/scaffold/templates/actions/show.rb +3 -0
  76. data/lib/generators/scaffold_logic/scaffold/templates/actions/update.rb +9 -0
  77. data/lib/generators/scaffold_logic/scaffold/templates/controller.rb +7 -0
  78. data/lib/generators/scaffold_logic/scaffold/templates/helper.rb +2 -0
  79. data/lib/generators/scaffold_logic/scaffold/templates/migration.rb +16 -0
  80. data/lib/generators/scaffold_logic/scaffold/templates/model.rb +18 -0
  81. data/lib/generators/scaffold_logic/scaffold/templates/mongoid_model.rb +30 -0
  82. data/lib/generators/scaffold_logic/scaffold/templates/tests/rspec/actions/create.rb +10 -0
  83. data/lib/generators/scaffold_logic/scaffold/templates/tests/rspec/actions/destroy.rb +5 -0
  84. data/lib/generators/scaffold_logic/scaffold/templates/tests/rspec/actions/edit.rb +4 -0
  85. data/lib/generators/scaffold_logic/scaffold/templates/tests/rspec/actions/index.rb +5 -0
  86. data/lib/generators/scaffold_logic/scaffold/templates/tests/rspec/actions/new.rb +4 -0
  87. data/lib/generators/scaffold_logic/scaffold/templates/tests/rspec/actions/show.rb +4 -0
  88. data/lib/generators/scaffold_logic/scaffold/templates/tests/rspec/actions/update.rb +11 -0
  89. data/lib/generators/scaffold_logic/scaffold/templates/tests/rspec/controller.rb +12 -0
  90. data/lib/generators/scaffold_logic/scaffold/templates/tests/rspec/model.rb +5 -0
  91. data/lib/generators/scaffold_logic/scaffold/templates/tests/shoulda/actions/create.rb +13 -0
  92. data/lib/generators/scaffold_logic/scaffold/templates/tests/shoulda/actions/destroy.rb +8 -0
  93. data/lib/generators/scaffold_logic/scaffold/templates/tests/shoulda/actions/edit.rb +6 -0
  94. data/lib/generators/scaffold_logic/scaffold/templates/tests/shoulda/actions/index.rb +6 -0
  95. data/lib/generators/scaffold_logic/scaffold/templates/tests/shoulda/actions/new.rb +6 -0
  96. data/lib/generators/scaffold_logic/scaffold/templates/tests/shoulda/actions/show.rb +6 -0
  97. data/lib/generators/scaffold_logic/scaffold/templates/tests/shoulda/actions/update.rb +13 -0
  98. data/lib/generators/scaffold_logic/scaffold/templates/tests/shoulda/controller.rb +5 -0
  99. data/lib/generators/scaffold_logic/scaffold/templates/tests/shoulda/model.rb +7 -0
  100. data/lib/generators/scaffold_logic/scaffold/templates/tests/testunit/actions/create.rb +11 -0
  101. data/lib/generators/scaffold_logic/scaffold/templates/tests/testunit/actions/destroy.rb +6 -0
  102. data/lib/generators/scaffold_logic/scaffold/templates/tests/testunit/actions/edit.rb +4 -0
  103. data/lib/generators/scaffold_logic/scaffold/templates/tests/testunit/actions/index.rb +4 -0
  104. data/lib/generators/scaffold_logic/scaffold/templates/tests/testunit/actions/new.rb +4 -0
  105. data/lib/generators/scaffold_logic/scaffold/templates/tests/testunit/actions/show.rb +4 -0
  106. data/lib/generators/scaffold_logic/scaffold/templates/tests/testunit/actions/update.rb +11 -0
  107. data/lib/generators/scaffold_logic/scaffold/templates/tests/testunit/controller.rb +5 -0
  108. data/lib/generators/scaffold_logic/scaffold/templates/tests/testunit/model.rb +7 -0
  109. data/lib/generators/scaffold_logic/scaffold/templates/views/erb/_form.html.erb +39 -0
  110. data/lib/generators/scaffold_logic/scaffold/templates/views/erb/edit.html.erb +5 -0
  111. data/lib/generators/scaffold_logic/scaffold/templates/views/erb/index.html.erb +32 -0
  112. data/lib/generators/scaffold_logic/scaffold/templates/views/erb/new.html.erb +5 -0
  113. data/lib/generators/scaffold_logic/scaffold/templates/views/erb/show.html.erb +22 -0
  114. data/lib/scaffold_logic.rb +198 -0
  115. data/lib/scaffold_logic/data_import.rb +80 -0
  116. data/lib/scaffold_logic/form_helper.rb +148 -0
  117. data/lib/scaffold_logic/helper.rb +174 -0
  118. data/lib/scaffold_logic/menu_helper.rb +27 -0
  119. data/lib/scaffold_logic/tab_interface_helper.rb +125 -0
  120. data/scaffold_logic.gemspec +154 -0
  121. metadata +184 -0
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/Capfile ADDED
@@ -0,0 +1,4 @@
1
+ load 'deploy' if respond_to?(:namespace) # cap2 differentiator
2
+ Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
3
+
4
+ load 'config/deploy' # remove this line to skip loading any of the default tasks
data/README.rdoc ADDED
@@ -0,0 +1,29 @@
1
+ = ScaffoldLogic Generators
2
+
3
+ Rails 3 generator scripts for SEO Logic.
4
+
5
+ == Install
6
+
7
+ Install the gem:
8
+
9
+ gem install scaffold_logic
10
+
11
+ Include it in your Gemfile.
12
+
13
+ gem "scaffold_logic"
14
+
15
+ == Usage
16
+
17
+ To run the generator, go to your project directory and call the appropriate generator.
18
+
19
+ rails generate scaffold_logic:layout
20
+ rails generate scaffold_logic:scaffold Foo name:string
21
+
22
+ == Included Generators
23
+
24
+ * scaffold_logic:layout generates generic layout, stylesheet, and helper files.
25
+ * scaffold_logic:scaffold generates a controller and optional model/migration.
26
+
27
+ To view the README for each generator, run it with the +help+ option.
28
+
29
+ rails generate scaffold_logic:scaffold --help
data/Rakefile ADDED
@@ -0,0 +1,51 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "scaffold_logic"
8
+ gem.summary = %Q{Scaffold and UI generator for SEO Logic applications.}
9
+ gem.description = %Q{Scaffold and UI generator for SEO Logic applications.}
10
+ gem.email = "corey@seologic.com"
11
+ gem.homepage = "http://github.com/ivanoblomov/scaffold_logic"
12
+ gem.authors = ["Corey Ehmke"]
13
+ end
14
+ Jeweler::GemcutterTasks.new
15
+ rescue LoadError
16
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
17
+ end
18
+
19
+ require 'rake/testtask'
20
+ Rake::TestTask.new(:test) do |test|
21
+ test.libs << 'lib' << 'test'
22
+ test.pattern = 'test/**/test_*.rb'
23
+ test.verbose = true
24
+ end
25
+
26
+ begin
27
+ require 'rcov/rcovtask'
28
+ Rcov::RcovTask.new do |test|
29
+ test.libs << 'test'
30
+ test.pattern = 'test/**/test_*.rb'
31
+ test.verbose = true
32
+ end
33
+ rescue LoadError
34
+ task :rcov do
35
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
36
+ end
37
+ end
38
+
39
+ task :test => :check_dependencies
40
+
41
+ task :default => :test
42
+
43
+ require 'rake/rdoctask'
44
+ Rake::RDocTask.new do |rdoc|
45
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
46
+
47
+ rdoc.rdoc_dir = 'rdoc'
48
+ rdoc.title = "scaffold_logic #{version}"
49
+ rdoc.rdoc_files.include('README*')
50
+ rdoc.rdoc_files.include('lib/**/*.rb')
51
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.6.0
data/config/deploy.rb ADDED
@@ -0,0 +1,41 @@
1
+ # Deploy this gem to the gem server.
2
+ #
3
+ # Usage for a gem already on the gem server:
4
+ #
5
+ # cap deploy
6
+ #
7
+ # For a new gem:
8
+ #
9
+ # cap deploy:new
10
+
11
+ # Global Variables =================================================================================
12
+
13
+ default_run_options[:pty] = true
14
+ role :app, 'jose.seologic.com'
15
+ set :deploy_to, '/home/containers/rails/system/scaffold_logic'
16
+ set :repository, 'git@github.com:ivanoblomov/scaffold_logic.git'
17
+ set :scm, :git
18
+ set :use_sudo, false
19
+ set :user, 'cnewton'
20
+
21
+ namespace :deploy do
22
+ desc "Clone a new gem's repository on the gem server."
23
+ task :new do
24
+ run "git clone -q #{repository} #{deploy_to}"
25
+ end
26
+
27
+ task :install do
28
+ run "cd #{deploy_to}; sudo rake install"
29
+ end
30
+
31
+ # disable default behavior
32
+ task :restart do
33
+ end
34
+
35
+ task :update do
36
+ run "cd #{deploy_to}; git pull"
37
+ end
38
+ end
39
+
40
+ after 'deploy', 'deploy:install'
41
+ after 'deploy:new', 'deploy:install'
@@ -0,0 +1,7 @@
1
+ Description:
2
+ The scaffold_logic generator creates a basic layout, stylesheet and
3
+ helper which will give some structure to a starting Rails app.
4
+
5
+ Examples:
6
+
7
+ rails g scaffold_logic:layout
@@ -0,0 +1,38 @@
1
+ dir = Gem.searcher.find('scaffold_logic').full_gem_path
2
+ require "#{dir}/lib/scaffold_logic"
3
+
4
+ module ScaffoldLogic
5
+ module Generators
6
+ class LayoutGenerator < Rails::Generators::Base
7
+
8
+ argument :layout_name, :type => :string, :default => 'application', :banner => 'layout_name'
9
+
10
+ def create_layout
11
+
12
+ # CSS
13
+ copy_file "stylesheets/core.css", "public/stylesheets/core.css"
14
+ copy_file "stylesheets/core_ie.css", "public/stylesheets/core_ie.css"
15
+ copy_file "stylesheets/csshover3.htc", "public/stylesheets/csshover3.htc"
16
+ copy_file "stylesheets/application.css", "public/stylesheets/application.css"
17
+ directory "images/icons/", "public/images/icons/"
18
+ directory "images/layout/", "public/images/layout/"
19
+ directory "images/src/", "misc/images/src/"
20
+
21
+ # Helpers
22
+ copy_file "layout_helper.rb", "app/helpers/layout_helper.rb"
23
+
24
+ # Views
25
+ copy_file "layout.html.erb", "app/views/layouts/application.html.erb"
26
+ copy_file "_nav_tabs.html.erb", "app/views/shared/_nav_tabs.html.erb"
27
+ end
28
+
29
+ private
30
+
31
+ def file_name
32
+ layout_name.underscore
33
+ end
34
+ end
35
+ end
36
+ end
37
+
38
+ ScaffoldLogic::Generators::LayoutGenerator.source_root("#{Gem.searcher.find('scaffold_logic').full_gem_path}/lib/generators/scaffold_logic/layout/templates/")
@@ -0,0 +1,3 @@
1
+ <ul>
2
+ <%= tab_for( root_path, 'Home', 'home' ).html_safe -%>
3
+ </ul>
@@ -0,0 +1,49 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <title><%= yield(:title) -%></title>
5
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6
+ <meta name="description" content="<%= yield(:meta_description) -%>" />
7
+ <meta name="keywords" content="<%= yield(:meta_keywords) -%>" />
8
+ <link rel="canonical" href="<%= request.url -%>" />
9
+ <link rel="shortcut icon" href="/favicon.ico" />
10
+ <%= stylesheet_link_tag 'core', 'application', :cache => true %>
11
+ <!--[if IE]>
12
+ <%= stylesheet_link_tag 'core_ie', :media => :all -%>
13
+ <![endif]-->
14
+ <%= javascript_include_tag :defaults %>
15
+ <%= csrf_meta_tag %>
16
+ </head>
17
+ <body>
18
+ <div id="container">
19
+ <div id="header">
20
+ <div id="branding"></div>
21
+ <div id="navigation"><%= render :partial => 'shared/nav_tabs' -%></div>
22
+ </div>
23
+ <div id="page_header">
24
+ <h1><%= yield(:page_title) -%></h1>
25
+ <div id="breadcrumbs"><%= breadcrumbs -%></div>
26
+ </div>
27
+ <div id="content_area">
28
+ <div id="washout" style="display:none;"></div>
29
+
30
+ <%- flash.each do |name, msg| -%>
31
+ <%- if name == :notice -%>
32
+ <%= content_tag :div, msg, :id => "flash_#{name}", :class => "flash_#{name}", :style => "display:none;" -%>
33
+ <script type="text/javascript">
34
+ $('washout').toggle();
35
+ $('flash_notice').toggle();
36
+ <%= visual_effect(:fade, 'flash_notice', :duration => 1.0, :delay => 1.0).html_safe -%>
37
+ <%= visual_effect(:fade, 'washout', :duration => 1.0, :delay => 1.0).html_safe -%>
38
+ </script>
39
+ <%- else -%>
40
+ <%= content_tag :div, msg, :id => "flash_#{name}", :class => "flash_#{name}" -%>
41
+ <%- end -%>
42
+ <%- end -%>
43
+ <%= yield -%>
44
+ <br style="clear: both;" />
45
+ </div>
46
+ <div id="footer"><p>&copy; <%= Time.zone.now.year -%> SEO Logic. All rights reserved.</p></div>
47
+ </div>
48
+ </body>
49
+ </html>
@@ -0,0 +1,16 @@
1
+ module LayoutHelper
2
+ def set_title(title = nil, window_title = nil)
3
+ window_title ||= title
4
+ if title.nil?
5
+ content_for(:title) { APPLICATION_NAME }
6
+ content_for(:page_title) { }
7
+ else
8
+ content_for(:title) { window_title + " - #{APPLICATION_NAME}" }
9
+ content_for(:page_title) { title }
10
+ end
11
+ end
12
+
13
+ private
14
+
15
+ APPLICATION_NAME = 'FIXME'.freeze
16
+ end
@@ -0,0 +1,881 @@
1
+ /* @group General Typography */
2
+
3
+ html {
4
+ height: 100%;
5
+ }
6
+
7
+ a:link {
8
+ color: #440000;
9
+ }
10
+
11
+ a:visited {
12
+ color: #444444;
13
+ }
14
+
15
+ body {
16
+ position: relative;
17
+ width: 100%;
18
+ height: 100%;
19
+ min-width: 1030px;
20
+ font-family: "Lucida Grande", Lucida, Verdana, sans-serif;
21
+ background-color: #ffffff;
22
+ /*background: #ffffff url(/images/layout/content_left_bg.png) repeat-y;*/
23
+ }
24
+
25
+ .bold {
26
+ font-weight: bold;
27
+ }
28
+
29
+ h1 {
30
+ color: #333333;
31
+ height: 50px;
32
+ margin-left: -6px;
33
+ margin-top: -15px;
34
+ padding-top: 13px;
35
+ padding-left: 1em;
36
+ padding-bottom: 15px;
37
+ width: 75%;
38
+ font-size: 1.2em;
39
+ background: url(../images/layout/h1_bg.png) no-repeat;
40
+ }
41
+
42
+ h2 {
43
+ color: #444444;
44
+ font-weight: bold;
45
+ font-size: 1.1em;
46
+ text-transform: uppercase;
47
+ }
48
+
49
+ h2.for_table {
50
+ position: relative;
51
+ margin-top: 0em;
52
+ margin-bottom: -25px;
53
+ z-index: 1000;
54
+ padding-top: 21px;
55
+ height: 40px;
56
+ background-image: url(../images/layout/h2_bg_for_table.png);
57
+ }
58
+
59
+ ul.bulleted {
60
+ list-style-type: disc;
61
+ margin-left: 1.5em;
62
+ }
63
+
64
+ ul.no_bullets {
65
+ list-style-type: none;
66
+ }
67
+
68
+ .subtle {
69
+ color: #999999;
70
+ }
71
+
72
+ .subtle a:link, .subtle a:visited {
73
+ text-decoration: none;
74
+ color: #999999;
75
+ }
76
+
77
+ .subtle a:hover {
78
+ color: #756b7f;
79
+ /*text-decoration: underline;*/
80
+ }
81
+
82
+ /* @end */
83
+
84
+ /* @group Layout Tricks */
85
+
86
+ div#container {
87
+ min-height: 100%;
88
+ position: relative;
89
+ /*background: url(/images/layout/content_right_bg.png) repeat-y right 0;*/
90
+ }
91
+
92
+ /* @end */
93
+
94
+
95
+ /* @group Header */
96
+
97
+ div#header {
98
+ margin-top: 0em;
99
+ background: none;
100
+ background-color: #000000;
101
+ height: 10px;
102
+ background: url(/images/layout/black_bar.png) repeat-x top;
103
+ width: 100%;
104
+ border: none;
105
+ }
106
+
107
+ div#page_header {
108
+ padding-top: 63px;
109
+ padding-left: 25px;
110
+ }
111
+
112
+ div#branding {
113
+ position: absolute;
114
+ top: 0px;
115
+ right: 2px;
116
+ margin: 0em;
117
+ padding: 0em;
118
+ /*background: url(/images/layout/branding.png) no-repeat;*/
119
+ height: 100px;
120
+ width: 310px;
121
+ }
122
+
123
+ /* @end */
124
+
125
+ /* @group Navbar */
126
+
127
+ div#navigation {
128
+ font-family: "Lucida Grande", Lucida, Verdana, sans-serif;
129
+ position: absolute;
130
+ top: -9px;
131
+ width: auto;
132
+ margin-top: 0em;
133
+ margin-left: 15px;
134
+ margin-right: auto;
135
+ background: none;
136
+ border: none;
137
+ }
138
+
139
+ div#navigation ul li {
140
+ background: none;
141
+ border: none;
142
+ }
143
+
144
+ div#navigation ul li:hover {
145
+ background: none !important;
146
+ color: #ffffff;
147
+ }
148
+
149
+ div#navigation ul li:hover a:link {
150
+ background: none !important;
151
+ }
152
+
153
+ div#navigation ul li a:link {
154
+ color: #aaaaaa;
155
+ text-decoration: none;
156
+ }
157
+
158
+ div#navigation ul li a:hover {
159
+ color: #ffffff !important;
160
+ background: none;
161
+ }
162
+
163
+ div#navigation ul li a:visited {
164
+ color: #aaaaaa;
165
+ text-decoration: none;
166
+ }
167
+
168
+ /* @end */
169
+
170
+ /* @group Breadcrumbs */
171
+
172
+ ol.breadcrumbs {
173
+ margin-top: 1.25em;
174
+ margin-left: 1em;
175
+ list-style: none;
176
+ height: 1em;
177
+ width: 100%;
178
+ }
179
+
180
+ ol.breadcrumbs li {
181
+ display: block;
182
+ float: left;
183
+ margin-top: -10px;
184
+ margin-left: -1px;
185
+ margin-right: 1em;
186
+ height: 2em;
187
+ width: auto;
188
+ padding-top: 12px;
189
+ padding-right: 2em;
190
+ background: url(../images/layout/breadcrumb_bg.png) no-repeat right 3px;
191
+ text-transform: uppercase;
192
+ }
193
+
194
+ ol.breadcrumbs a:link, ol.breadcrumbs a:visited {
195
+ display: block;
196
+ text-decoration: none;
197
+ font-size: .8em;
198
+ color: #aaaaaa !important;
199
+ }
200
+
201
+ /* @end */
202
+
203
+ /* @group Content Area */
204
+
205
+ div#content_area {
206
+ padding: 10px 25px 35px 25px;
207
+ height: 100%;
208
+ font-size: 11px;
209
+ }
210
+
211
+ /* @end */
212
+
213
+ /* @group Footer */
214
+
215
+ div#footer {
216
+ position: absolute;
217
+ bottom: 0px;
218
+ height: 35px;
219
+ width: 100%;
220
+ padding: 0px;
221
+ margin: 0px !important;
222
+ background: url(/images/layout/black_bar.png) repeat-x bottom;
223
+ color: #aaaaaa;
224
+ border: none;
225
+ font-family: "Lucida Grande", Lucida, Verdana, sans-serif;
226
+ font-size: 11px;
227
+ }
228
+
229
+ div#footer p {
230
+ margin: 12px 25px 0px 25px;
231
+ }
232
+
233
+ div#footer a:link, div#footer a:visited {
234
+ text-decoration: none;
235
+ color: #aaaaaa;
236
+ }
237
+
238
+ div#footer a:hover {
239
+ text-decoration: underline;
240
+ }
241
+
242
+ /* @end */
243
+
244
+
245
+ /* @group Forms */
246
+
247
+ .instructions {
248
+ display: block;
249
+ border: 1px solid #aaaaaa;
250
+ background-color: #ffffff;
251
+ padding: 1em;
252
+ }
253
+
254
+ .faux_legend {
255
+ background: url(../images/layout/legend_bg.png) no-repeat 0 0px;
256
+ margin-top: -28px;
257
+ margin-left: -27px;
258
+ padding: 0em;
259
+ padding-left: 27px;
260
+ padding-top: 11px;
261
+ padding-bottom: 10px;
262
+ width: 319px !important;
263
+ height: 13px;
264
+ font-weight: bold;
265
+ font-size: 10px;
266
+ color: #ffffff;
267
+ text-transform: uppercase;
268
+ text-shadow: #333333 0 0 5px;
269
+ border: none;
270
+ }
271
+
272
+ legend {
273
+ background: url(../images/layout/legend_bg.png) no-repeat 0 0px;
274
+ margin-left: -27px;
275
+ padding: 0em;
276
+ padding-left: 27px;
277
+ padding-top: 11px;
278
+ padding-bottom: 10px;
279
+ width: 319px !important;
280
+ height: 13px;
281
+ font-weight: bold;
282
+ font-size: 10px;
283
+ color: #ffffff;
284
+ text-transform: uppercase;
285
+ text-shadow: #333333 0 0 5px;
286
+ border: none;
287
+ }
288
+
289
+ legend a:hover, .faux_legend a:hover {
290
+ color: #ffffff !important;
291
+ }
292
+
293
+ .form_container {
294
+ background-color: #efefef;
295
+ border: 1px solid #dddddd;
296
+ padding: 1em 1em 1em 1em;
297
+ margin-top: 2.5em;
298
+ margin-bottom: 1.5em;
299
+ text-align: left;
300
+ }
301
+
302
+ .three_column {
303
+ width: 33%;
304
+ text-align: left;
305
+ padding: 0em;
306
+ margin: 0em;
307
+ }
308
+
309
+ .faux_field {
310
+ background-color: #fafafa;
311
+ border: 1px solid #dddddd;
312
+ width: 75%;
313
+ }
314
+
315
+ .button {
316
+ color: #555555 !important;
317
+ background-color: #cccccc;
318
+ border: 1px solid #aaaaaa;
319
+ background-image: url(../images/layout/button_bg.png);
320
+ font-size: 9px;
321
+ margin-top: 10px;
322
+ margin-bottom: 10px;
323
+ }
324
+
325
+ .button a:link {
326
+ color: #555555 !important;
327
+ cursor: pointer;
328
+ }
329
+
330
+ .button a:visited {
331
+ color: #555555 !important;
332
+ cursor: pointer;
333
+ }
334
+
335
+ .button a:visited {
336
+ color: #555555 !important;
337
+ cursor: pointer;
338
+ }
339
+
340
+ .button:active {
341
+ background-color: #999999;
342
+ border: 1px solid #333333;
343
+ background-image: url(../images/layout/button_bg.png);
344
+ }
345
+
346
+ fieldset.inline {
347
+ margin-right: 1em;
348
+ float: left;
349
+ }
350
+
351
+ /* @end */
352
+
353
+ /* @group Tables */
354
+
355
+ table {
356
+ border: 1px solid #aaaaaa !important;
357
+ }
358
+
359
+ th {
360
+ /*background: #7e7587 !important;*/
361
+ font-size: .8em !important;
362
+ padding: .5em;
363
+ color: #ffffff !important;
364
+ }
365
+
366
+ th.sortable_header {
367
+ cursor: pointer;
368
+ }
369
+
370
+ th.sortable_header:hover {
371
+ background: #444444;
372
+ }
373
+
374
+ table h1 {
375
+ font-size: 1.1em;
376
+ background: none;
377
+ padding: 0px;
378
+ margin: 0px !important;
379
+ height: auto;
380
+ }
381
+
382
+ td {
383
+ font-size: .8em;
384
+ }
385
+
386
+ table.report {
387
+ }
388
+
389
+ table.report td {
390
+ text-align: right;
391
+ border: 1px solid #cccccc;
392
+ }
393
+
394
+ table.report td.metric, table.report th.metric {
395
+ width: auto;
396
+ text-align: left !important;
397
+ }
398
+
399
+ table.report td.metric {
400
+ background-color: #e0e0e0;
401
+ }
402
+
403
+ table.report td.metric a:link, table.report td.metric a:visited {
404
+ text-decoration: none;
405
+ }
406
+
407
+ table.report td.metric a:hover {
408
+ text-decoration: underline;
409
+ }
410
+
411
+ table.report td.data, table.report th.data {
412
+ width: 6%;
413
+ text-align: right;
414
+ padding-right: 1em;
415
+ }
416
+
417
+ table.report td.gained {
418
+ background-color: #ccddcc;
419
+ }
420
+
421
+ table.report td.lost {
422
+ background-color: #ddcccc;
423
+ }
424
+
425
+ table.report td.new {
426
+ background-color: #fff5cc;
427
+ color: #444444;
428
+ }
429
+
430
+ table.results th {
431
+ }
432
+
433
+ table.report th.transparent {
434
+ background: none;
435
+ border: 1px solid #eeeeee;
436
+ border-bottom: 1px solid #cccccc;
437
+ }
438
+
439
+ table.bifurcated_results th {
440
+ vertical-align: middle;
441
+ text-align: center !important;
442
+ font-size: .75em;
443
+ background-color: #888888;
444
+ color: #ffffff;
445
+ padding: .3em;
446
+ margin: 0px;
447
+ text-transform: uppercase;
448
+ }
449
+
450
+ table.standard th {
451
+ text-align: left;
452
+ color: #444444;
453
+ font-weight: bold;
454
+ text-transform: uppercase;
455
+ font-size: .8em;
456
+ padding: 1em .5em 1em .5em;
457
+ background: #7e7587 url(../images/layout/table_header.png)}
458
+
459
+ table.standard th a {
460
+ color: #ffffff !important;
461
+ text-decoration: none !important;
462
+ }
463
+
464
+ table.standard th a.arrow-desc:after{
465
+ content: "\25BC";
466
+ margin-left: 1em;
467
+ }
468
+
469
+ table.standard th a.arrow-asc:after {
470
+ content: "\25B2";
471
+ margin-left: 1em;
472
+ }
473
+
474
+ table.standard tr:hover td, table.results tr:hover td {
475
+ background-color: #cccccc !important;
476
+ }
477
+
478
+ table.results tr.summary {
479
+ font-weight: bold;
480
+ }
481
+
482
+ table.results tr td {
483
+ height: 3em;
484
+ vertical-align: top;
485
+ }
486
+
487
+ table.standard td {
488
+ }
489
+
490
+ table.standard td a:link, table.standard td a:visited {
491
+ text-decoration: none;
492
+ }
493
+
494
+ table tr.parent {
495
+ border-top: 1px solid #cccccc;
496
+ }
497
+
498
+ table.drag_highlight {
499
+ /*background-color: #aaaaaa !important;*/
500
+ border: 3px solid #999999;
501
+ }
502
+
503
+ tr.drag_highlight td {
504
+ /*background-color: #cccccc !important;*/
505
+ border: none;
506
+ border-bottom: 3px solid #999999;
507
+ }
508
+
509
+ table.with_form_fields td {
510
+ padding: 1em;
511
+ padding-bottom: 0em;
512
+ }
513
+
514
+ /* @end */
515
+
516
+ /* @group Admin Menu */
517
+
518
+ div.menu_icon {
519
+ float: left;
520
+ width: 150px;
521
+ height: 50px;
522
+ text-align: center;
523
+ padding-top: 120px;
524
+ margin-right: 2em;
525
+ margin-top: 2em;
526
+ cursor: pointer;
527
+ }
528
+
529
+ div.menu_icon h2 {
530
+ background: none;
531
+ color: #7e7587;
532
+ text-shadow: 0;
533
+ margin-bottom: 0px;
534
+ padding-bottom: 3px;
535
+ margin-top: -10px;
536
+ }
537
+
538
+ div.menu_icon#locations {
539
+ background: url(../images/menu/locations.png) no-repeat center top;
540
+ }
541
+
542
+ div.menu_icon#pages {
543
+ background: url(../images/menu/pages.png) no-repeat center top;
544
+ }
545
+
546
+ div.menu_icon#publications {
547
+ background: url(../images/menu/publications.png) no-repeat center top;
548
+ }
549
+
550
+ div.menu_icon#nav_items {
551
+ background: url(../images/menu/nav_items.png) no-repeat center top;
552
+ }
553
+
554
+ div.menu_icon#redirects {
555
+ background: url(../images/menu/redirects.png) no-repeat center top;
556
+ }
557
+
558
+ div.menu_icon#style_guide {
559
+ background: url(../images/menu/style_guide.png) no-repeat center top;
560
+ }
561
+
562
+ div.menu_icon#configuration {
563
+ background: url(../images/menu/configuration.png) no-repeat center top;
564
+ }
565
+
566
+ div.menu_icon#users {
567
+ background: url(../images/menu/users.png) no-repeat center top;
568
+ }
569
+
570
+ div.menu_icon#users:hover {
571
+ background: url(../images/menu/users_on.png) no-repeat center top;
572
+ }
573
+
574
+ div.menu_icon#messages {
575
+ background: url(../images/menu/messages.png) no-repeat center top;
576
+ }
577
+
578
+ div.menu_icon#messages:hover {
579
+ background: url(../images/menu/messages_on.png) no-repeat center top;
580
+ }
581
+
582
+ div.menu_icon#reports {
583
+ background: url(../images/menu/reports.png) no-repeat center top;
584
+ }
585
+
586
+ div.menu_icon#reports:hover {
587
+ background: url(../images/menu/reports_on.png) no-repeat center top;
588
+ }
589
+
590
+ div.menu_icon#locations:hover {
591
+ background: url(../images/menu/locations_on.png) no-repeat center top;
592
+ }
593
+
594
+ div.menu_icon#pages:hover {
595
+ background: url(../images/menu/pages_on.png) no-repeat center top;
596
+ }
597
+
598
+ div.menu_icon#publications:hover {
599
+ background: url(../images/menu/publications_on.png) no-repeat center top;
600
+ }
601
+
602
+ div.menu_icon#nav_items:hover {
603
+ background: url(../images/menu/nav_items_on.png) no-repeat center top;
604
+ }
605
+
606
+ div.menu_icon#redirects:hover {
607
+ background: url(../images/menu/redirects_on.png) no-repeat center top;
608
+ }
609
+
610
+ div.menu_icon#style_guide:hover {
611
+ background: url(../images/menu/style_guide_on.png) no-repeat center top;
612
+ }
613
+
614
+ div.menu_icon#configuration:hover {
615
+ background: url(../images/menu/configuration_on.png) no-repeat center top;
616
+ }
617
+
618
+ /* @end */
619
+
620
+
621
+ /* @group Charts */
622
+
623
+ .geochart {
624
+ border: 1px solid #cccccc;
625
+ width: 556px;
626
+ float: left;
627
+ margin-right: 1em;
628
+ }
629
+
630
+
631
+ /* @end */
632
+
633
+
634
+ /* @group Components */
635
+
636
+ .float_right {
637
+ float: right !important;
638
+ }
639
+
640
+ .link_block {
641
+ clear: both;
642
+ height: 2.75em;
643
+ margin-left: -1.1em;
644
+ margin-right: -1.1em;
645
+ margin-top: 2em;
646
+ margin-bottom: -2.5em;
647
+ border: 1px solid #bbbbbb;
648
+ background: #ffffff url(../images/layout/shadow_border_4.png) repeat-x 0 2px;
649
+ }
650
+
651
+ div.link_block.attached {
652
+ margin: -17px 0px 1em 0px;
653
+ width: 99.9%;
654
+ }
655
+
656
+ div.link_block.attached.table {
657
+ margin: -1px 0px 1em 0px;
658
+ width: 99.9%;
659
+ }
660
+
661
+ table .link_block {
662
+ height: 3.1em;
663
+ margin-top: -3px;
664
+ margin-left: -5px;
665
+ margin-right: -5px;
666
+ margin-bottom: -5px;
667
+ }
668
+
669
+ a.back_button {
670
+ display: block;
671
+ text-decoration: none !important;
672
+ padding-left: 2.25em;
673
+ margin-top: 1em;
674
+ color: #9a9a9a;
675
+ background: url(../images/layout/back.png) no-repeat 0 -1px;
676
+ text-transform: uppercase;
677
+ }
678
+
679
+ input[type='submit'].link_button {
680
+ margin-top: 2px;
681
+ height: 28px !important;
682
+ padding-top: 0em !important;
683
+ /*padding: 0em 1.5em 0em 1.25em !important;*/
684
+ background-color: #dddddd;
685
+ border: none;
686
+ border-right: 1px solid #bbbbbb;
687
+ color: #440000;
688
+ }
689
+
690
+ a.link_button {
691
+ color: #440000 !important;
692
+ }
693
+
694
+ .link_button {
695
+ display: block;
696
+ float: left;
697
+ width: auto;
698
+ height: 2em !important;
699
+ padding-top: 1em;
700
+ padding-left: 1.25em;
701
+ padding-right: 1.5em;
702
+ text-decoration: none !important;
703
+ font-weight: bold;
704
+ font-size: 10px;
705
+ text-transform: uppercase;
706
+ border-right: 1px solid #bbbbbb;
707
+ }
708
+
709
+ .link_button:hover {
710
+ background-color: #cccccc;
711
+ margin-top: .1em;
712
+ height: 1.9em !important;
713
+ }
714
+
715
+ .menu_box {
716
+ width: 45%;
717
+ height: 100px;
718
+ float: left;
719
+ }
720
+
721
+ .no_bg {
722
+ margin-top: 0em;
723
+ background-color: #ffffff;
724
+ border: none !important;
725
+ }
726
+
727
+ div.jump_links {
728
+ position: absolute;
729
+ right: 25px;
730
+ color: #444444;
731
+ text-align: right;
732
+ margin-top: 1em;
733
+ }
734
+
735
+ .jump_links a:link, .jump_links a:visited {
736
+ color: #444444;
737
+ text-decoration: none;
738
+ }
739
+
740
+ .jump_links ul {
741
+ display: inline;
742
+ float: right;
743
+ list-style-type: none;
744
+ }
745
+
746
+ .jump_links ul li {
747
+ float: left;
748
+ margin-left: .25em;
749
+ margin-top: 2px;
750
+ height: 28px;
751
+ width: 75px;
752
+ cursor: pointer;
753
+ padding: 7px 1em 1em 1em;
754
+ text-align: center;
755
+ background: url(../images/layout/tab.png) no-repeat;
756
+ font-size: 9px;
757
+ }
758
+
759
+ .jump_links ul li.active {
760
+ background: url(../images/layout/tab_active.png) no-repeat;
761
+ margin-top: 2px;
762
+ height: 32px;
763
+ font-weight: bold;
764
+ }
765
+
766
+ img.move_icon {
767
+ margin-top: 4px;
768
+ visibility: hidden;
769
+ }
770
+
771
+ tr:hover td img.move_icon {
772
+ visibility: visible;
773
+ }
774
+
775
+ /* @end */
776
+
777
+ /* @group Info Icons */
778
+
779
+ div.note {
780
+ color: #000000;
781
+ margin-top: 1em;
782
+ margin-bottom: 2em;
783
+ background-color: #eeeeee;
784
+ border: 1px solid #999999;
785
+ font-size: 1em;
786
+ }
787
+
788
+ div.note span.notification {
789
+ float: left;
790
+ display: block;
791
+ margin-top: -25px;
792
+ margin-left: -15px;
793
+ height: 45px;
794
+ width: 40px;
795
+ }
796
+
797
+ span.notification.detail {
798
+ background: url(../images/icons/notification_icon_sprite.png) no-repeat 0px 0px;
799
+ }
800
+
801
+ span.notification.info {
802
+ background: url(../images/icons/notification_icon_sprite.png) no-repeat 0px -45px;
803
+ }
804
+
805
+ span.notification.reminder {
806
+ background: url(../images/icons/notification_icon_sprite.png) no-repeat 0px -90px;
807
+ }
808
+
809
+ span.notification.error {
810
+ background: url(../images/icons/notification_icon_sprite.png) no-repeat -45px 0px;
811
+ }
812
+
813
+ span.notification.alert {
814
+ background: url(../images/icons/notification_icon_sprite.png) no-repeat -45px -45px;
815
+ }
816
+
817
+ span.notification.idea {
818
+ background: url(../images/icons/notification_icon_sprite.png) no-repeat -45px -90px;
819
+ }
820
+
821
+ span.notification.clarification {
822
+ background: url(../images/icons/notification_icon_sprite.png) no-repeat -90px 0px;
823
+ }
824
+
825
+ span.notification.question {
826
+ background: url(../images/icons/notification_icon_sprite.png) no-repeat -90px -45px;
827
+ }
828
+
829
+ span.notification.confusion {
830
+ background: url(../images/icons/notification_icon_sprite.png) no-repeat -90px -90px;
831
+ }
832
+
833
+ div.note p {
834
+ margin-top: 1.5em;
835
+ padding: 1em 1em .5em 1em;
836
+ }
837
+
838
+
839
+
840
+ /* @end */
841
+
842
+ /* @group Reports */
843
+
844
+ .negative {
845
+ color: #793441;
846
+ font-weight: bold;
847
+ }
848
+
849
+ .new {
850
+ color: #827e38;
851
+ font-weight: bold;
852
+ }
853
+
854
+ .positive {
855
+ color: #6b7c35;
856
+ font-weight: bold;
857
+ }
858
+
859
+ /* @end */
860
+
861
+
862
+ /* @group Rails Overrides */
863
+
864
+ div#flash_error {
865
+ border: 1px solid #aaaaaa;
866
+ color: #660000;
867
+ padding: 1em;
868
+ background-color: #eeeeee;
869
+ }
870
+
871
+ .errorExplanation h2 {
872
+ display: none;
873
+ }
874
+
875
+ .errorExplanation ul li {
876
+ margin-left: 1.5em;
877
+ list-style-type: disc;
878
+ }
879
+
880
+ /* @end */
881
+