admin-theme 1.0.1

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 (32) hide show
  1. data/.gitignore +17 -0
  2. data/.travis.yml +4 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +32 -0
  5. data/README.md +115 -0
  6. data/Rakefile +9 -0
  7. data/admin-theme.gemspec +22 -0
  8. data/config/locales/en.yml +18 -0
  9. data/features/resource_generator.feature +9 -0
  10. data/features/setup_generator.feature +8 -0
  11. data/features/steps/test_admin_theme_resource_generation.rb +31 -0
  12. data/features/steps/test_admin_theme_setup.rb +36 -0
  13. data/features/support/env.rb +1 -0
  14. data/features/support/helpers.rb +39 -0
  15. data/lib/admin-theme.rb +7 -0
  16. data/lib/admin-theme/version.rb +5 -0
  17. data/lib/generators/admin_theme/resource/controllers/admin_resource_controller.erb +46 -0
  18. data/lib/generators/admin_theme/resource/resource_generator.rb +93 -0
  19. data/lib/generators/admin_theme/resource/templates/view_edit.html.erb +17 -0
  20. data/lib/generators/admin_theme/resource/templates/view_form.html.erb +14 -0
  21. data/lib/generators/admin_theme/resource/templates/view_index.html.erb +38 -0
  22. data/lib/generators/admin_theme/resource/templates/view_new.html.erb +16 -0
  23. data/lib/generators/admin_theme/resource/templates/view_show.html.erb +36 -0
  24. data/lib/generators/admin_theme/setup/controllers/admin_base_controller.rb +18 -0
  25. data/lib/generators/admin_theme/setup/controllers/admin_dashboard_controller.rb +4 -0
  26. data/lib/generators/admin_theme/setup/setup_generator.rb +37 -0
  27. data/lib/generators/admin_theme/setup/templates/layout_admin.html.erb +46 -0
  28. data/lib/generators/admin_theme/setup/templates/view_dashboard.html.erb +7 -0
  29. data/lib/generators/admin_theme/setup/templates/view_sidebar.html.erb +15 -0
  30. data/vendor/assets/stylesheets/web-app-theme.css +410 -0
  31. data/vendor/assets/stylesheets/web-app-theme/default.scss +463 -0
  32. metadata +136 -0
@@ -0,0 +1,17 @@
1
+ <div class="block">
2
+ <div class="secondary-navigation">
3
+ <ul class="wat-cf">
4
+ <li class="first"><%%= link_to t("admin-theme.list"), <%= controller_routing_path %>_path %></li>
5
+ <li><%%= link_to t("admin-theme.new"), new_<%= singular_controller_routing_path %>_path %></li>
6
+ <li class="active"><%%= link_to t("admin-theme.edit"), edit_<%= singular_controller_routing_path %>_path %></li>
7
+ </ul>
8
+ </div>
9
+ <div class="content">
10
+ <h2 class="title"><%%= t("admin-theme.edit") %> <%= model_name %></h2>
11
+ <div class="inner">
12
+ <%%= form_for @<%= model_name.underscore %>, :url => <%= singular_controller_routing_path %>_path(@<%= resource_name %>), :html => { :class => :form } do |f| -%>
13
+ <%%= render :partial => "form", :locals => {:f => f} %>
14
+ <%% end -%>
15
+ </div>
16
+ </div>
17
+ </div>
@@ -0,0 +1,14 @@
1
+ <div class="group">
2
+ <%%#= f.label :example, 'Example', :class => :label %>
3
+ <%%#= f.text_field :example, :class => 'text_field' %>
4
+ <span class="description">Ex: a simple text</span>
5
+ </div>
6
+
7
+ <div class="group navform wat-cf">
8
+ <button class="button" type="submit">
9
+ <%%= image_tag("web-app-theme/icons/tick.png", :alt => ("admin-theme.save")) %>
10
+ <%%= t("admin-theme.save") %>
11
+ </button>
12
+ <span class="text_button_padding"><%%= t("admin-theme.or") %></span>
13
+ <%%= link_to t("admin-theme.cancel"), <%= controller_routing_path %>_path, :class => "text_button_padding link_button" %>
14
+ </div>
@@ -0,0 +1,38 @@
1
+ <div class="block">
2
+ <div class="secondary-navigation">
3
+ <ul class="wat-cf">
4
+ <li class="first active"><%%= link_to t("admin-theme.list"), <%= controller_routing_path %>_path %></li>
5
+ <li><%%= link_to t("admin-theme.new"), new_<%= singular_controller_routing_path %>_path %></li>
6
+ </ul>
7
+ </div>
8
+ <div class="content">
9
+ <h2 class="title"><%%= t("admin-theme.all") %> <%= plural_model_name %></h2>
10
+ <div class="inner">
11
+ <table class="table">
12
+ <tr>
13
+ <th class="first">ID</th>
14
+ <th><%%= t("admin-theme.created_at") %></th>
15
+ <th><%%= t("admin-theme.updated_at") %></th>
16
+ <th class="last">&nbsp;</th>
17
+ </tr>
18
+ <%% @<%= plural_resource_name %>.each do |<%= resource_name %>| -%>
19
+ <tr class="<%%= cycle("odd", "even") %>">
20
+ <td><%%= <%= resource_name %>.id %></td>
21
+ <td><%%= l <%= resource_name %>.created_at, :format => :'admin-theme' %></td>
22
+ <td><%%= l <%= resource_name %>.updated_at, :format => :'admin-theme' %></td>
23
+ <td class="last">
24
+ <%%= link_to t("admin-theme.show"), <%= singular_controller_routing_path %>_path(<%= resource_name %>) %> |
25
+ <%%= link_to t("admin-theme.edit"), edit_<%= singular_controller_routing_path %>_path(<%= resource_name %>) %> |
26
+ <%%= link_to t("admin-theme.delete"), <%= singular_controller_routing_path %>_path(<%= resource_name %>), :method => :delete, :data => { :confirm => t("admin-theme.confirm") } %>
27
+ </td>
28
+ </tr>
29
+ <%% end -%>
30
+ </table>
31
+ <div class="actions-bar wat-cf">
32
+ <div class="actions"></div>
33
+ <% if options.pagination %>
34
+ <%%= paginate(@<%= plural_resource_name %>, :theme => 'admin_theme') %><% end %>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </div>
@@ -0,0 +1,16 @@
1
+ <div class="block">
2
+ <div class="secondary-navigation">
3
+ <ul class="wat-cf">
4
+ <li class="first"><%%= link_to t("admin-theme.list"), <%= controller_routing_path %>_path %></li>
5
+ <li class="active"><%%= link_to t("admin-theme.new"), new_<%= singular_controller_routing_path %>_path %></li>
6
+ </ul>
7
+ </div>
8
+ <div class="content">
9
+ <h2 class="title"><%%= t("admin-theme.new")%> <%= model_name %></h2>
10
+ <div class="inner">
11
+ <%%= form_for :<%= model_name.underscore %>, :url => <%= controller_routing_path %>_path, :html => { :class => :form } do |f| -%>
12
+ <%%= render :partial => "form", :locals => {:f => f} %>
13
+ <%% end -%>
14
+ </div>
15
+ </div>
16
+ </div>
@@ -0,0 +1,36 @@
1
+ <div class="block">
2
+ <div class="secondary-navigation">
3
+ <ul class="wat-cf">
4
+ <li class="first"><%%= link_to t("admin-theme.list"), <%= controller_routing_path %>_path %></li>
5
+ <li><%%= link_to t("admin-theme.new"), new_<%= singular_controller_routing_path %>_path %></li>
6
+ <li class="active"><%%= link_to t("admin-theme.show"), <%= singular_controller_routing_path %>_path %></li>
7
+ </ul>
8
+ </div>
9
+ <div class="content">
10
+ <h2 class="title"><%= resource_name.capitalize %> #<%%= @<%= resource_name %>.id %></h2>
11
+ <div class="inner">
12
+
13
+ <p>
14
+ <b><%%= t("admin-theme.created_at") %>:</b>
15
+ <%%= l @<%= resource_name %>.created_at, :format => :'admin-theme' %>
16
+ </p>
17
+
18
+ <p>
19
+ <b><%%= t("admin-theme.updated_at") %>:</b>
20
+ <%%= l @<%= resource_name %>.updated_at, :format => :'admin-theme' %>
21
+ </p>
22
+
23
+ <div class="wat-cf">
24
+ <%%= link_to edit_<%= singular_controller_routing_path %>_path(@<%= resource_name %>), :class => "button" do %>
25
+ <%%= image_tag("web-app-theme/icons/application_edit.png", :alt => t("admin-theme.edit")) %>
26
+ <%%= t("admin-theme.edit") %>
27
+ <%% end %>
28
+ <%%= link_to <%= singular_controller_routing_path %>_path(@<%= resource_name %>), :method => "delete", :class => "button",
29
+ :data => { :confirm => t("admin-theme.confirm") } do %>
30
+ <%%= image_tag("web-app-theme/icons/cross.png", :alt => t("admin-theme.delete")) %>
31
+ <%%= t("admin-theme.delete") %>
32
+ <%% end %>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </div>
@@ -0,0 +1,18 @@
1
+ class Admin::BaseController < ApplicationController
2
+ protect_from_forgery
3
+ layout 'admin'
4
+
5
+ before_filter :show_errors
6
+
7
+ private
8
+
9
+ def show_errors
10
+ ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
11
+ if html_tag =~ /<label/
12
+ %|<div class="fieldWithErrors">#{html_tag} <span class="error">#{[instance.error_message].join(', ')}</span></div>|.html_safe
13
+ else
14
+ html_tag
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,4 @@
1
+ class Admin::DashboardController < Admin::BaseController
2
+ def show
3
+ end
4
+ end
@@ -0,0 +1,37 @@
1
+ module AdminTheme
2
+ class SetupGenerator < Rails::Generators::Base
3
+ desc "Creates the admin layout, assets, admin base and dashboard controllers."
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ class_option :app_name, :type => :string, :default => 'Admin', :desc => 'Specify the application name'
7
+
8
+ def create_views
9
+ template "layout_admin.html.erb", "app/views/layouts/admin.html.erb"
10
+ template "view_sidebar.html.erb", "app/views/admin/shared/_sidebar.html.erb"
11
+ template "view_dashboard.html.erb", "app/views/admin/dashboard/show.html.erb"
12
+ end
13
+
14
+ def create_controllers
15
+ copy_file "../controllers/admin_base_controller.rb", "app/controllers/admin/base_controller.rb"
16
+ copy_file "../controllers/admin_dashboard_controller.rb", "app/controllers/admin/dashboard_controller.rb"
17
+
18
+ inject_into_file "config/routes.rb",
19
+ " namespace :admin do
20
+ root :to => 'dashboard#show', :as => 'dashboard'
21
+ end\n\n", :after => "::Application.routes.draw do\n"
22
+ end
23
+
24
+ def create_stylesheet
25
+ create_file "app/assets/stylesheets/admin.css",
26
+ "/*
27
+ *= require web-app-theme
28
+ *= require web-app-theme/default
29
+ *= require_self
30
+ */\n"
31
+ end
32
+
33
+ def create_javascript
34
+ create_file "app/assets/javascripts/admin.js", "//= require jquery\n//= require jquery_ujs\n"
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,46 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= options.app_name %></title>
5
+ <%%= stylesheet_link_tag 'admin' %>
6
+ <%%= javascript_include_tag 'admin' %>
7
+ <%%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+ <div id="container">
11
+ <div id="header">
12
+ <h1><%%= link_to "<%= options.app_name %>", admin_dashboard_path %></h1>
13
+ <div id="user-navigation">
14
+ <ul class="wat-cf">
15
+ <li><%%= link_to "Main site", root_path, :target => "_blank" %></li>
16
+ <li><%%#= link_to "Logout", admin_logout_path, :class => "logout" %></li>
17
+ </ul>
18
+ </div>
19
+ <div id="main-navigation">
20
+ <ul class="wat-cf">
21
+ </ul>
22
+ </div>
23
+ </div>
24
+ <div id="wrapper" class="wat-cf">
25
+ <div class="flash">
26
+ <%% flash.each do |type, message| -%>
27
+ <div class="message <%%= type %>">
28
+ <p><%%= message %></p>
29
+ </div>
30
+ <%% end -%>
31
+ </div>
32
+ <div id="main">
33
+ <%%= yield %>
34
+ <div id="footer">
35
+ <div class="block">
36
+ <p>Copyright &copy; <%%= Time.now.year %> <%= options.app_name %></p>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <div id="sidebar">
41
+ <%%= render :partial => 'admin/shared/sidebar' %>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </body>
46
+ </html>
@@ -0,0 +1,7 @@
1
+ <div class="block" id="block-text">
2
+ <div class="content">
3
+ <div class="inner">
4
+ <h1>Welcome to Admin Dashboard!</h1>
5
+ </div>
6
+ </div>
7
+ </div>
@@ -0,0 +1,15 @@
1
+ <div class="block notice">
2
+ <h4>Notice</h4>
3
+ <p>
4
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
5
+ incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
6
+ ullamco laboris nisi ut aliquip ex ea commodo consequat.
7
+ </p>
8
+ </div>
9
+
10
+ <div class="block">
11
+ <h3>Links</h3>
12
+ <ul class="navigation">
13
+ <li><%%= link_to "Link 1", '#' %></li>
14
+ </ul>
15
+ </div>
@@ -0,0 +1,410 @@
1
+ * {margin:0;padding:0}
2
+ .clear { clear: both; height: 0; }
3
+
4
+ .wat-cf:after {
5
+ content: ".";
6
+ display: block;
7
+ height: 0;
8
+ clear: both;
9
+ visibility: hidden;
10
+ }
11
+
12
+ .wat-cf {display: inline-block;}
13
+
14
+ /* Hides from IE-mac \*/
15
+ * html .wat-cf {height: 1%;}
16
+ .wat-cf {display: block;}
17
+ /* End hide from IE-mac */
18
+
19
+ h1 { margin: 15px 0; font-size: 22px; font-weight: normal; }
20
+ h2 { font-size: 22px; margin: 15px 0; font-weight: normal;}
21
+ h3 { font-size: 18px; margin: 10px 0; font-weight: normal;}
22
+ h4 { font-size: 16px; margin: 10px 0; font-weight: normal;}
23
+ hr {height: 1px; border: 0; }
24
+ p { margin: 15px 0;}
25
+ a img { border: none; }
26
+
27
+ body {
28
+ font-size: 12px;
29
+ font-family: sans-serif;
30
+ }
31
+
32
+ #container {
33
+ min-width: 960px;
34
+ }
35
+
36
+ #header, #wrapper {
37
+ padding: 0 20px;
38
+ }
39
+
40
+ #header {
41
+ position: relative;
42
+ padding-top: 1px;
43
+ }
44
+
45
+ #header h1 {
46
+ margin: 0;
47
+ padding: 10px 0;
48
+ font-size: 26px;
49
+ }
50
+
51
+ #header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
52
+ text-decoration: none;
53
+ }
54
+
55
+ #main {
56
+ width: 70%;
57
+ float: left;
58
+ }
59
+
60
+ .actions-bar {
61
+ padding: 10px 1px;
62
+ }
63
+
64
+ .actions-bar .actions {
65
+ float: left;
66
+ }
67
+
68
+
69
+ .actions-bar .pagination {
70
+ float: right;
71
+ padding: 1px 0;
72
+ }
73
+
74
+ #sidebar {
75
+ width: 25%;
76
+ float: right;
77
+ }
78
+
79
+ #sidebar h3 {
80
+ padding: 10px 15px;
81
+ margin: 0;
82
+ font-size: 13px;
83
+ }
84
+
85
+ #sidebar .block {
86
+ margin-bottom: 20px;
87
+ padding-bottom: 10px;
88
+ }
89
+
90
+ #sidebar .block .content {
91
+ padding: 0 15px;
92
+ }
93
+
94
+ #sidebar ul.navigation li a:link, #sidebar ul.navigation li a:visited {
95
+ display: block;
96
+ padding: 10px 15px;
97
+ }
98
+
99
+ #sidebar .block .sidebar-block, #sidebar .notice {
100
+ padding:10px;
101
+ }
102
+
103
+ #wrapper {
104
+ padding-top: 20px;
105
+ }
106
+
107
+ #main .block {
108
+ margin-bottom: 20px;
109
+ padding-top: 1px;
110
+ }
111
+
112
+ #main .block .content .inner {
113
+ padding: 0 15px 15px;
114
+ }
115
+
116
+ #main .main p.first {
117
+ margin-top: 0;
118
+ }
119
+
120
+ #user-navigation {
121
+ position: absolute;
122
+ top: 0px;
123
+ right: 20px;
124
+ }
125
+
126
+ #main-navigation {
127
+ width: 100%;
128
+ }
129
+
130
+ #user-navigation ul, #main-navigation ul, .secondary-navigation ul, #sidebar ul.navigation {
131
+ margin: 0;
132
+ padding: 0;
133
+ list-style-type: none;
134
+ }
135
+
136
+ #user-navigation ul li, #main-navigation ul li, .secondary-navigation ul li {
137
+ float: left;
138
+ }
139
+
140
+ #main-navigation ul li {
141
+ margin-right: 5px;
142
+ }
143
+
144
+ #user-navigation ul li {
145
+ padding: 5px 10px;
146
+ }
147
+
148
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
149
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
150
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
151
+ text-decoration: none;
152
+ }
153
+
154
+ #main-navigation ul li a {
155
+ font-size: 14px;
156
+ line-height: 14px;
157
+ display: block;
158
+ padding: 8px 15px;
159
+ }
160
+
161
+ .secondary-navigation {
162
+ font-size: 13px;
163
+ border-bottom-width: 10px;
164
+ border-bottom-style: solid;
165
+ }
166
+
167
+ .secondary-navigation ul li a {
168
+ display: block;
169
+ padding: 10px 15px;
170
+ }
171
+
172
+ #footer {
173
+ padding-bottom: 20px;
174
+ }
175
+
176
+ /* pagination */
177
+
178
+ .pagination a, .pagination span, .pagination em {
179
+ padding: 2px 5px;
180
+ margin-right: 5px;
181
+ display: block;
182
+ float: left;
183
+ border-style: solid;
184
+ border-width: 1px;
185
+ }
186
+
187
+ .pagination em {
188
+ font-weight: bold;
189
+ }
190
+
191
+ .pagination a {
192
+ text-decoration: none;
193
+ }
194
+
195
+ /* tables */
196
+ .table {
197
+ width: 100%;
198
+ border-collapse: collapse;
199
+ margin-bottom: 15px;
200
+ }
201
+
202
+ .table th {
203
+ padding: 10px;
204
+ font-weight: bold;
205
+ text-align: left;
206
+ }
207
+
208
+ .table th.first {
209
+ width: 30px;
210
+ }
211
+
212
+ .table th.last {
213
+ width: 200px;
214
+ }
215
+
216
+ .table .checkbox {
217
+ margin-left: 10px;
218
+ }
219
+
220
+ .table td {
221
+ padding: 10px;
222
+ }
223
+
224
+ .table td.last {
225
+ text-align: right;
226
+ }
227
+
228
+ /* forms */
229
+
230
+ input.checkbox {
231
+ margin: 0;
232
+ padding: 0;
233
+ }
234
+
235
+ .form .group {
236
+ margin-bottom: 15px;
237
+ }
238
+
239
+ .form div.left {
240
+ width: 20%;
241
+ float: left;
242
+ }
243
+
244
+ .form div.right {
245
+ width: 75%;
246
+ float: right;
247
+ }
248
+
249
+ .form .columns .column {
250
+ width: 48%;
251
+ }
252
+
253
+ .form .columns .left {
254
+ float: left;
255
+ }
256
+
257
+ .form .columns .right {
258
+ float: right;
259
+ }
260
+
261
+ .form label.label, .form input.text_field, .form textarea.text_area {
262
+ font-size: 1.2em;
263
+ padding: 1px 0;
264
+ margin: 0;
265
+ }
266
+
267
+ .form label.right {
268
+ text-align: right;
269
+ }
270
+
271
+ .form input.checkbox, .form input.radio {
272
+ margin-right: 5px;
273
+ }
274
+
275
+ .form label.checkbox, .form label.radio {
276
+ line-height: 1.5em;
277
+ }
278
+
279
+ .form label.label {
280
+ display: block;
281
+ padding-bottom: 2px;
282
+ font-weight: bold;
283
+ }
284
+
285
+ .form div.fieldWithErrors label.label {
286
+ display: inline;
287
+ }
288
+
289
+ .form .fieldWithErrors .error {
290
+ color: red;
291
+ }
292
+
293
+ .form input.text_field, .form textarea.text_area {
294
+ width: 100%;
295
+ border-width: 1px;
296
+ border-style: solid;
297
+ }
298
+
299
+ /* lists */
300
+
301
+ ul.list {
302
+ margin: 0;
303
+ padding: 0;
304
+ list-style-type: none;
305
+ }
306
+
307
+ ul.list li {
308
+ clear: left;
309
+ padding-bottom: 5px;
310
+ }
311
+
312
+ ul.list li .left {
313
+ float: left;
314
+ }
315
+
316
+ ul.list li .left .avatar {
317
+ width: 50px;
318
+ height: 50px;
319
+ }
320
+
321
+ ul.list li .item {
322
+ margin-left: 80px;
323
+ }
324
+
325
+ ul.list li .item .avatar {
326
+ float: left;
327
+ margin: 0 5px 5px 0;
328
+ width: 30px;
329
+ height: 30px;
330
+ }
331
+
332
+ /* box */
333
+
334
+ #box {
335
+ width: 500px;
336
+ margin: 50px auto;
337
+ }
338
+
339
+ #box .block {
340
+ margin-bottom: 20px;
341
+ }
342
+
343
+ #box .block h2 {
344
+ padding: 10px 15px;
345
+ margin: 0;
346
+ }
347
+
348
+ #box .block .content {
349
+ padding: 10px 20px;
350
+ }
351
+
352
+ /* Inspired by http://particletree.com/features/rediscovering-the-button-element */
353
+
354
+ a.button:link, a.button:visited, a.button:hover, a.button:active, button.button {
355
+ color: #222;
356
+ display:block;
357
+ float:left;
358
+ margin:0 7px 0 0;
359
+ background-color: #eee;
360
+ border:1px solid #bfbfbf;
361
+ font-size: 1em;
362
+ line-height: 1.3em;
363
+ font-weight:bold;
364
+ cursor:pointer;
365
+ padding:5px 10px 6px 7px;
366
+ text-decoration: none;
367
+ }
368
+
369
+ button.button {
370
+ width:auto;
371
+ overflow:visible;
372
+ padding:4px 10px 3px 7px; /* IE6 */
373
+ }
374
+ button.button[type] {
375
+ padding:5px 10px 5px 7px; /* Firefox */
376
+ line-height:17px; /* Safari */
377
+ }
378
+
379
+ *:first-child+html button.button[type] {
380
+ padding:4px 10px 3px 7px; /* IE7 */
381
+ }
382
+
383
+ button.button img, a.button img {
384
+ margin:0 3px -3px 0 !important;
385
+ padding:0;
386
+ border:none;
387
+ width:16px;
388
+ height:16px;
389
+ }
390
+
391
+ button.button:hover, a.button:hover {
392
+ background-color:#dedede;
393
+ }
394
+
395
+ button.button:active, a.button:active {
396
+ background-color:#e5e5e5;
397
+ }
398
+ .text_button_padding{
399
+ color: #222222;
400
+ display: block;
401
+ float: left;
402
+ font-size: 1em;
403
+ line-height: 2em;
404
+ margin: 0 7px 0 0;
405
+ padding: 5px 0 6px 7px;
406
+ text-decoration: none;
407
+ }
408
+ .link_button{
409
+ cursor: pointer;
410
+ }