memcached-manager 0.0.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.
- data/.rspec +2 -0
- data/.travis.yml +19 -0
- data/Gemfile +24 -0
- data/Gemfile.lock +133 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +72 -0
- data/Rakefile +57 -0
- data/VERSION +1 -0
- data/config.ru +8 -0
- data/features/api/create_memcached_key.feature +6 -0
- data/features/api/delete_memcached_key.feature +6 -0
- data/features/api/list_memcached_keys.feature +6 -0
- data/features/api/set_memcached_info.feature +5 -0
- data/features/api/show_memcached_key.feature +10 -0
- data/features/api/show_memcached_stats.feature +5 -0
- data/features/api/update_memcached_key.feature +7 -0
- data/features/step_definitions/api/create_memcached_key.rb +21 -0
- data/features/step_definitions/api/delete_memcached_key.rb +7 -0
- data/features/step_definitions/api/list_memcached_keys.rb +16 -0
- data/features/step_definitions/api/show_memcached_key.rb +18 -0
- data/features/step_definitions/api/show_memcached_stats.rb +3 -0
- data/features/step_definitions/api/update_memcached_key.rb +18 -0
- data/features/step_definitions/set_memcached_info.rb +25 -0
- data/features/step_definitions/webapp/create_memcached_key.rb +10 -0
- data/features/step_definitions/webapp/delete_memcached_key.rb +16 -0
- data/features/step_definitions/webapp/edit_memcached_key.rb +3 -0
- data/features/step_definitions/webapp/list_memcached_keys.rb +4 -0
- data/features/step_definitions/webapp/show_memcached_key.rb +4 -0
- data/features/step_definitions/webapp/show_memcached_stats.rb +5 -0
- data/features/support/env.rb +27 -0
- data/features/support/hooks.rb +3 -0
- data/features/webapp/create_memcached_key.feature +9 -0
- data/features/webapp/delete_memcached_key.feature +8 -0
- data/features/webapp/edit_memcached_key.feature +9 -0
- data/features/webapp/list_memcached_keys.feature +8 -0
- data/features/webapp/show_memcached_key.feature +7 -0
- data/features/webapp/show_memcached_stats.feature +6 -0
- data/lib/api.rb +85 -0
- data/lib/extensions/api_response.rb +15 -0
- data/lib/extensions/errors.rb +19 -0
- data/lib/extensions/memcached_connection.rb +15 -0
- data/lib/extensions/memcached_inspector.rb +49 -0
- data/lib/extensions/memcached_settings.rb +18 -0
- data/lib/extensions.rb +14 -0
- data/lib/public/images/glyphicons-halflings-white.png +0 -0
- data/lib/public/images/glyphicons-halflings.png +0 -0
- data/lib/public/javascripts/angular/controllers.js +86 -0
- data/lib/public/javascripts/angular/routes.js +66 -0
- data/lib/public/javascripts/angular/services/notification.js +16 -0
- data/lib/public/javascripts/angular/services/resources.js +20 -0
- data/lib/public/javascripts/angular/services/response.js +10 -0
- data/lib/public/javascripts/angular-resource.min.js +10 -0
- data/lib/public/javascripts/angular-ui-states.min.js +7 -0
- data/lib/public/javascripts/angular.min.js +161 -0
- data/lib/public/javascripts/application.js +18 -0
- data/lib/public/javascripts/jquery-1.9.1.min.js +5 -0
- data/lib/public/javascripts/noty/jquery.noty.js +547 -0
- data/lib/public/javascripts/noty/layouts/top.js +34 -0
- data/lib/public/javascripts/noty/themes/default.js +156 -0
- data/lib/public/javascripts/noty_config.js +25 -0
- data/lib/public/stylesheets/app.css +50 -0
- data/lib/public/stylesheets/base.css +269 -0
- data/lib/public/stylesheets/icons.css +492 -0
- data/lib/public/stylesheets/layout.css +58 -0
- data/lib/public/stylesheets/skeleton.css +242 -0
- data/lib/public/templates/edit.html.erb +6 -0
- data/lib/public/templates/keys.html.erb +36 -0
- data/lib/public/templates/new.html.erb +6 -0
- data/lib/public/templates/show.html.erb +2 -0
- data/lib/public/templates/stats.html.erb +8 -0
- data/lib/views/index.erb +13 -0
- data/lib/views/layout.erb +52 -0
- data/lib/webapp.rb +14 -0
- data/memcached-manager.gemspec +145 -0
- data/spec/javascripts/angular/controllers/list_keys_controller_spec.js +26 -0
- data/spec/javascripts/angular/services/notification_spec.js +45 -0
- data/spec/javascripts/angular/services/resource_spec.js +41 -0
- data/spec/javascripts/angular/services/response_spec.js +26 -0
- data/spec/javascripts/helpers/SpecHelper.js +2 -0
- data/spec/javascripts/helpers/angular-mocks.js +1962 -0
- data/spec/javascripts/support/jasmine.yml +96 -0
- data/spec/javascripts/support/jasmine_helper.rb +11 -0
- data/spec/lib/extensions/api_response_spec.rb +28 -0
- data/spec/lib/extensions/error_spec.rb +23 -0
- data/spec/lib/extensions/memcached_connection_spec.rb +25 -0
- data/spec/lib/extensions/memcached_inspector_spec.rb +41 -0
- data/spec/lib/extensions/memcached_settings_spec.rb +53 -0
- data/spec/spec_helper.rb +41 -0
- metadata +252 -0
@@ -0,0 +1,156 @@
|
|
1
|
+
;(function($) {
|
2
|
+
|
3
|
+
$.noty.themes.defaultTheme = {
|
4
|
+
name: 'defaultTheme',
|
5
|
+
helpers: {
|
6
|
+
borderFix: function() {
|
7
|
+
if (this.options.dismissQueue) {
|
8
|
+
var selector = this.options.layout.container.selector + ' ' + this.options.layout.parent.selector;
|
9
|
+
switch (this.options.layout.name) {
|
10
|
+
case 'top':
|
11
|
+
$(selector).css({borderRadius: '0px 0px 0px 0px'});
|
12
|
+
$(selector).last().css({borderRadius: '0px 0px 5px 5px'}); break;
|
13
|
+
case 'topCenter': case 'topLeft': case 'topRight':
|
14
|
+
case 'bottomCenter': case 'bottomLeft': case 'bottomRight':
|
15
|
+
case 'center': case 'centerLeft': case 'centerRight': case 'inline':
|
16
|
+
$(selector).css({borderRadius: '0px 0px 0px 0px'});
|
17
|
+
$(selector).first().css({'border-top-left-radius': '5px', 'border-top-right-radius': '5px'});
|
18
|
+
$(selector).last().css({'border-bottom-left-radius': '5px', 'border-bottom-right-radius': '5px'}); break;
|
19
|
+
case 'bottom':
|
20
|
+
$(selector).css({borderRadius: '0px 0px 0px 0px'});
|
21
|
+
$(selector).first().css({borderRadius: '5px 5px 0px 0px'}); break;
|
22
|
+
default: break;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
},
|
27
|
+
modal: {
|
28
|
+
css: {
|
29
|
+
position: 'fixed',
|
30
|
+
width: '100%',
|
31
|
+
height: '100%',
|
32
|
+
backgroundColor: '#000',
|
33
|
+
zIndex: 10000,
|
34
|
+
opacity: 0.6,
|
35
|
+
display: 'none',
|
36
|
+
left: 0,
|
37
|
+
top: 0
|
38
|
+
}
|
39
|
+
},
|
40
|
+
style: function() {
|
41
|
+
|
42
|
+
this.$bar.css({
|
43
|
+
overflow: 'hidden',
|
44
|
+
background: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAoCAYAAAAPOoFWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPZJREFUeNq81tsOgjAMANB2ov7/7ypaN7IlIwi9rGuT8QSc9EIDAsAznxvY4pXPKr05RUE5MEVB+TyWfCEl9LZApYopCmo9C4FKSMtYoI8Bwv79aQJU4l6hXXCZrQbokJEksxHo9KMOgc6w1atHXM8K9DVC7FQnJ0i8iK3QooGgbnyKgMDygBWyYFZoqx4qS27KqLZJjA1D0jK6QJcYEQEiWv9PGkTsbqxQ8oT+ZtZB6AkdsJnQDnMoHXHLGKOgDYuCWmYhEERCI5gaamW0bnHdA3k2ltlIN+2qKRyCND0bhqSYCyTB3CAOc4WusBEIpkeBuPgJMAAX8Hs1NfqHRgAAAABJRU5ErkJggg==') repeat-x scroll left top #fff"
|
45
|
+
});
|
46
|
+
|
47
|
+
this.$message.css({
|
48
|
+
fontSize: '13px',
|
49
|
+
lineHeight: '16px',
|
50
|
+
textAlign: 'center',
|
51
|
+
padding: '8px 10px 9px',
|
52
|
+
width: 'auto',
|
53
|
+
position: 'relative'
|
54
|
+
});
|
55
|
+
|
56
|
+
this.$closeButton.css({
|
57
|
+
position: 'absolute',
|
58
|
+
top: 4, right: 4,
|
59
|
+
width: 10, height: 10,
|
60
|
+
background: "url(data:image/png;base64,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)",
|
61
|
+
display: 'none',
|
62
|
+
cursor: 'pointer'
|
63
|
+
});
|
64
|
+
|
65
|
+
this.$buttons.css({
|
66
|
+
padding: 5,
|
67
|
+
textAlign: 'right',
|
68
|
+
borderTop: '1px solid #ccc',
|
69
|
+
backgroundColor: '#fff'
|
70
|
+
});
|
71
|
+
|
72
|
+
this.$buttons.find('button').css({
|
73
|
+
marginLeft: 5
|
74
|
+
});
|
75
|
+
|
76
|
+
this.$buttons.find('button:first').css({
|
77
|
+
marginLeft: 0
|
78
|
+
});
|
79
|
+
|
80
|
+
this.$bar.bind({
|
81
|
+
mouseenter: function() { $(this).find('.noty_close').stop().fadeTo('normal',1); },
|
82
|
+
mouseleave: function() { $(this).find('.noty_close').stop().fadeTo('normal',0); }
|
83
|
+
});
|
84
|
+
|
85
|
+
switch (this.options.layout.name) {
|
86
|
+
case 'top':
|
87
|
+
this.$bar.css({
|
88
|
+
borderRadius: '0px 0px 5px 5px',
|
89
|
+
borderBottom: '2px solid #eee',
|
90
|
+
borderLeft: '2px solid #eee',
|
91
|
+
borderRight: '2px solid #eee',
|
92
|
+
boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)"
|
93
|
+
});
|
94
|
+
break;
|
95
|
+
case 'topCenter': case 'center': case 'bottomCenter': case 'inline':
|
96
|
+
this.$bar.css({
|
97
|
+
borderRadius: '5px',
|
98
|
+
border: '1px solid #eee',
|
99
|
+
boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)"
|
100
|
+
});
|
101
|
+
this.$message.css({fontSize: '13px', textAlign: 'center'});
|
102
|
+
break;
|
103
|
+
case 'topLeft': case 'topRight':
|
104
|
+
case 'bottomLeft': case 'bottomRight':
|
105
|
+
case 'centerLeft': case 'centerRight':
|
106
|
+
this.$bar.css({
|
107
|
+
borderRadius: '5px',
|
108
|
+
border: '1px solid #eee',
|
109
|
+
boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)"
|
110
|
+
});
|
111
|
+
this.$message.css({fontSize: '13px', textAlign: 'left'});
|
112
|
+
break;
|
113
|
+
case 'bottom':
|
114
|
+
this.$bar.css({
|
115
|
+
borderRadius: '5px 5px 0px 0px',
|
116
|
+
borderTop: '2px solid #eee',
|
117
|
+
borderLeft: '2px solid #eee',
|
118
|
+
borderRight: '2px solid #eee',
|
119
|
+
boxShadow: "0 -2px 4px rgba(0, 0, 0, 0.1)"
|
120
|
+
});
|
121
|
+
break;
|
122
|
+
default:
|
123
|
+
this.$bar.css({
|
124
|
+
border: '2px solid #eee',
|
125
|
+
boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)"
|
126
|
+
});
|
127
|
+
break;
|
128
|
+
}
|
129
|
+
|
130
|
+
switch (this.options.type) {
|
131
|
+
case 'alert': case 'notification':
|
132
|
+
this.$bar.css({backgroundColor: '#FFF', borderColor: '#CCC', color: '#444'}); break;
|
133
|
+
case 'warning':
|
134
|
+
this.$bar.css({backgroundColor: '#FFEAA8', borderColor: '#FFC237', color: '#826200'});
|
135
|
+
this.$buttons.css({borderTop: '1px solid #FFC237'}); break;
|
136
|
+
case 'error':
|
137
|
+
this.$bar.css({backgroundColor: 'red', borderColor: 'darkred', color: '#FFF'});
|
138
|
+
this.$message.css({fontWeight: 'bold'});
|
139
|
+
this.$buttons.css({borderTop: '1px solid darkred'}); break;
|
140
|
+
case 'information':
|
141
|
+
this.$bar.css({backgroundColor: '#57B7E2', borderColor: '#0B90C4', color: '#FFF'});
|
142
|
+
this.$buttons.css({borderTop: '1px solid #0B90C4'}); break;
|
143
|
+
case 'success':
|
144
|
+
this.$bar.css({backgroundColor: 'lightgreen', borderColor: '#50C24E', color: 'darkgreen'});
|
145
|
+
this.$buttons.css({borderTop: '1px solid #50C24E'});break;
|
146
|
+
default:
|
147
|
+
this.$bar.css({backgroundColor: '#FFF', borderColor: '#CCC', color: '#444'}); break;
|
148
|
+
}
|
149
|
+
},
|
150
|
+
callback: {
|
151
|
+
onShow: function() { $.noty.themes.defaultTheme.helpers.borderFix.apply(this); },
|
152
|
+
onClose: function() { $.noty.themes.defaultTheme.helpers.borderFix.apply(this); }
|
153
|
+
}
|
154
|
+
};
|
155
|
+
|
156
|
+
})(jQuery);
|
@@ -0,0 +1,25 @@
|
|
1
|
+
$.noty.defaults = {
|
2
|
+
layout: 'top',
|
3
|
+
theme: 'defaultTheme',
|
4
|
+
type: 'alert',
|
5
|
+
text: '',
|
6
|
+
dismissQueue: true, // If you want to use queue feature set this true
|
7
|
+
template: '<div class="noty_message"><span class="noty_text"></span><div class="noty_close"></div></div>',
|
8
|
+
animation: {
|
9
|
+
open: {height: 'toggle'},
|
10
|
+
close: {height: 'toggle'},
|
11
|
+
easing: 'swing',
|
12
|
+
speed: 1000 // opening & closing animation speed
|
13
|
+
},
|
14
|
+
timeout: true, // delay for closing event. Set false for sticky notifications
|
15
|
+
force: false, // adds notification to the beginning of queue when set to true
|
16
|
+
modal: false,
|
17
|
+
closeWith: ['click'], // ['click', 'button', 'hover']
|
18
|
+
callback: {
|
19
|
+
onShow: function() {},
|
20
|
+
afterShow: function() {},
|
21
|
+
onClose: function() {},
|
22
|
+
afterClose: function() {}
|
23
|
+
},
|
24
|
+
buttons: false // an array of buttons
|
25
|
+
};
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/*
|
2
|
+
* Ui-view: keys
|
3
|
+
* */
|
4
|
+
|
5
|
+
.key {
|
6
|
+
padding: 10px;
|
7
|
+
margin: 0px;
|
8
|
+
height: 40px;
|
9
|
+
border-top: 1px solid #eee;
|
10
|
+
display: block;
|
11
|
+
background-color: #f5f5f5;
|
12
|
+
}
|
13
|
+
|
14
|
+
.key:hover {
|
15
|
+
background-color: #eee;
|
16
|
+
}
|
17
|
+
|
18
|
+
#key-text {
|
19
|
+
float: left;
|
20
|
+
width: 60%;
|
21
|
+
margin-left: 10px;
|
22
|
+
}
|
23
|
+
|
24
|
+
#key-new {
|
25
|
+
float: right;
|
26
|
+
width: 30%;
|
27
|
+
}
|
28
|
+
|
29
|
+
.key-info {
|
30
|
+
float: left;
|
31
|
+
width: 85%;
|
32
|
+
}
|
33
|
+
|
34
|
+
.pointer {
|
35
|
+
cursor: pointer;
|
36
|
+
}
|
37
|
+
|
38
|
+
.key-actions {
|
39
|
+
float: right;
|
40
|
+
padding-top: 10px;
|
41
|
+
width: 15%;
|
42
|
+
}
|
43
|
+
|
44
|
+
.clear {
|
45
|
+
clear: both;
|
46
|
+
}
|
47
|
+
|
48
|
+
.key-title {
|
49
|
+
font-weight: 800;
|
50
|
+
}
|
@@ -0,0 +1,269 @@
|
|
1
|
+
/*
|
2
|
+
* Skeleton V1.2
|
3
|
+
* Copyright 2011, Dave Gamache
|
4
|
+
* www.getskeleton.com
|
5
|
+
* Free to use under the MIT license.
|
6
|
+
* http://www.opensource.org/licenses/mit-license.php
|
7
|
+
* 6/20/2012
|
8
|
+
*/
|
9
|
+
|
10
|
+
|
11
|
+
/* Table of Content
|
12
|
+
==================================================
|
13
|
+
#Reset & Basics
|
14
|
+
#Basic Styles
|
15
|
+
#Site Styles
|
16
|
+
#Typography
|
17
|
+
#Links
|
18
|
+
#Lists
|
19
|
+
#Images
|
20
|
+
#Buttons
|
21
|
+
#Forms
|
22
|
+
#Misc */
|
23
|
+
|
24
|
+
|
25
|
+
/* #Reset & Basics (Inspired by E. Meyers)
|
26
|
+
================================================== */
|
27
|
+
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
|
28
|
+
margin: 0;
|
29
|
+
padding: 0;
|
30
|
+
border: 0;
|
31
|
+
font-size: 100%;
|
32
|
+
font: inherit;
|
33
|
+
vertical-align: baseline; }
|
34
|
+
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
|
35
|
+
display: block; }
|
36
|
+
body {
|
37
|
+
line-height: 1; }
|
38
|
+
ol, ul {
|
39
|
+
list-style: none; }
|
40
|
+
blockquote, q {
|
41
|
+
quotes: none; }
|
42
|
+
blockquote:before, blockquote:after,
|
43
|
+
q:before, q:after {
|
44
|
+
content: '';
|
45
|
+
content: none; }
|
46
|
+
table {
|
47
|
+
border-collapse: collapse;
|
48
|
+
border-spacing: 0; }
|
49
|
+
|
50
|
+
|
51
|
+
/* #Basic Styles
|
52
|
+
================================================== */
|
53
|
+
body {
|
54
|
+
background: #fff;
|
55
|
+
font: 14px/21px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
56
|
+
color: #444;
|
57
|
+
-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
|
58
|
+
-webkit-text-size-adjust: 100%;
|
59
|
+
}
|
60
|
+
|
61
|
+
|
62
|
+
/* #Typography
|
63
|
+
================================================== */
|
64
|
+
h1, h2, h3, h4, h5, h6 {
|
65
|
+
color: #181818;
|
66
|
+
font-family: "Georgia", "Times New Roman", serif;
|
67
|
+
font-weight: normal; }
|
68
|
+
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
|
69
|
+
h1 { font-size: 46px; line-height: 50px; margin-bottom: 14px;}
|
70
|
+
h2 { font-size: 35px; line-height: 40px; margin-bottom: 10px; }
|
71
|
+
h3 { font-size: 28px; line-height: 34px; margin-bottom: 8px; }
|
72
|
+
h4 { font-size: 21px; line-height: 30px; margin-bottom: 4px; }
|
73
|
+
h5 { font-size: 17px; line-height: 24px; }
|
74
|
+
h6 { font-size: 14px; line-height: 21px; }
|
75
|
+
.subheader { color: #777; }
|
76
|
+
|
77
|
+
p { margin: 0 0 20px 0; }
|
78
|
+
p img { margin: 0; }
|
79
|
+
p.lead { font-size: 21px; line-height: 27px; color: #777; }
|
80
|
+
|
81
|
+
em { font-style: italic; }
|
82
|
+
strong { font-weight: bold; color: #333; }
|
83
|
+
small { font-size: 80%; }
|
84
|
+
|
85
|
+
/* Blockquotes */
|
86
|
+
blockquote, blockquote p { font-size: 17px; line-height: 24px; color: #777; font-style: italic; }
|
87
|
+
blockquote { margin: 0 0 20px; padding: 9px 20px 0 19px; border-left: 1px solid #ddd; }
|
88
|
+
blockquote cite { display: block; font-size: 12px; color: #555; }
|
89
|
+
blockquote cite:before { content: "\2014 \0020"; }
|
90
|
+
blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { color: #555; }
|
91
|
+
|
92
|
+
hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 10px 0 30px; height: 0; }
|
93
|
+
|
94
|
+
|
95
|
+
/* #Links
|
96
|
+
================================================== */
|
97
|
+
a, a:visited { color: #333; text-decoration: underline; outline: 0; }
|
98
|
+
a:hover, a:focus { color: #000; }
|
99
|
+
p a, p a:visited { line-height: inherit; }
|
100
|
+
|
101
|
+
|
102
|
+
/* #Lists
|
103
|
+
================================================== */
|
104
|
+
ul, ol { margin-bottom: 20px; }
|
105
|
+
ul { list-style: none outside; }
|
106
|
+
ol { list-style: decimal; }
|
107
|
+
ol, ul.square, ul.circle, ul.disc { margin-left: 30px; }
|
108
|
+
ul.square { list-style: square outside; }
|
109
|
+
ul.circle { list-style: circle outside; }
|
110
|
+
ul.disc { list-style: disc outside; }
|
111
|
+
ul ul, ul ol,
|
112
|
+
ol ol, ol ul { margin: 4px 0 5px 30px; font-size: 90%; }
|
113
|
+
ul ul li, ul ol li,
|
114
|
+
ol ol li, ol ul li { margin-bottom: 6px; }
|
115
|
+
li { line-height: 18px; margin-bottom: 12px; }
|
116
|
+
ul.large li { line-height: 21px; }
|
117
|
+
li p { line-height: 21px; }
|
118
|
+
|
119
|
+
/* #Images
|
120
|
+
================================================== */
|
121
|
+
|
122
|
+
img.scale-with-grid {
|
123
|
+
max-width: 100%;
|
124
|
+
height: auto; }
|
125
|
+
|
126
|
+
|
127
|
+
/* #Buttons
|
128
|
+
================================================== */
|
129
|
+
|
130
|
+
.button,
|
131
|
+
button,
|
132
|
+
input[type="submit"],
|
133
|
+
input[type="reset"],
|
134
|
+
input[type="button"] {
|
135
|
+
background: #eee; /* Old browsers */
|
136
|
+
background: #eee -moz-linear-gradient(top, rgba(255,255,255,.2) 0%, rgba(0,0,0,.2) 100%); /* FF3.6+ */
|
137
|
+
background: #eee -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.2)), color-stop(100%,rgba(0,0,0,.2))); /* Chrome,Safari4+ */
|
138
|
+
background: #eee -webkit-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Chrome10+,Safari5.1+ */
|
139
|
+
background: #eee -o-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Opera11.10+ */
|
140
|
+
background: #eee -ms-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* IE10+ */
|
141
|
+
background: #eee linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* W3C */
|
142
|
+
border: 1px solid #aaa;
|
143
|
+
border-top: 1px solid #ccc;
|
144
|
+
border-left: 1px solid #ccc;
|
145
|
+
-moz-border-radius: 3px;
|
146
|
+
-webkit-border-radius: 3px;
|
147
|
+
border-radius: 3px;
|
148
|
+
color: #444;
|
149
|
+
display: inline-block;
|
150
|
+
font-size: 11px;
|
151
|
+
font-weight: bold;
|
152
|
+
text-decoration: none;
|
153
|
+
text-shadow: 0 1px rgba(255, 255, 255, .75);
|
154
|
+
cursor: pointer;
|
155
|
+
margin-bottom: 20px;
|
156
|
+
line-height: normal;
|
157
|
+
padding: 8px 10px;
|
158
|
+
font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; }
|
159
|
+
|
160
|
+
.button:hover,
|
161
|
+
button:hover,
|
162
|
+
input[type="submit"]:hover,
|
163
|
+
input[type="reset"]:hover,
|
164
|
+
input[type="button"]:hover {
|
165
|
+
color: #222;
|
166
|
+
background: #ddd; /* Old browsers */
|
167
|
+
background: #ddd -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); /* FF3.6+ */
|
168
|
+
background: #ddd -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.3)), color-stop(100%,rgba(0,0,0,.3))); /* Chrome,Safari4+ */
|
169
|
+
background: #ddd -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Chrome10+,Safari5.1+ */
|
170
|
+
background: #ddd -o-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Opera11.10+ */
|
171
|
+
background: #ddd -ms-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* IE10+ */
|
172
|
+
background: #ddd linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* W3C */
|
173
|
+
border: 1px solid #888;
|
174
|
+
border-top: 1px solid #aaa;
|
175
|
+
border-left: 1px solid #aaa; }
|
176
|
+
|
177
|
+
.button:active,
|
178
|
+
button:active,
|
179
|
+
input[type="submit"]:active,
|
180
|
+
input[type="reset"]:active,
|
181
|
+
input[type="button"]:active {
|
182
|
+
border: 1px solid #666;
|
183
|
+
background: #ccc; /* Old browsers */
|
184
|
+
background: #ccc -moz-linear-gradient(top, rgba(255,255,255,.35) 0%, rgba(10,10,10,.4) 100%); /* FF3.6+ */
|
185
|
+
background: #ccc -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.35)), color-stop(100%,rgba(10,10,10,.4))); /* Chrome,Safari4+ */
|
186
|
+
background: #ccc -webkit-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Chrome10+,Safari5.1+ */
|
187
|
+
background: #ccc -o-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Opera11.10+ */
|
188
|
+
background: #ccc -ms-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* IE10+ */
|
189
|
+
background: #ccc linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* W3C */ }
|
190
|
+
|
191
|
+
.button.full-width,
|
192
|
+
button.full-width,
|
193
|
+
input[type="submit"].full-width,
|
194
|
+
input[type="reset"].full-width,
|
195
|
+
input[type="button"].full-width {
|
196
|
+
width: 100%;
|
197
|
+
padding-left: 0 !important;
|
198
|
+
padding-right: 0 !important;
|
199
|
+
text-align: center; }
|
200
|
+
|
201
|
+
/* Fix for odd Mozilla border & padding issues */
|
202
|
+
button::-moz-focus-inner,
|
203
|
+
input::-moz-focus-inner {
|
204
|
+
border: 0;
|
205
|
+
padding: 0;
|
206
|
+
}
|
207
|
+
|
208
|
+
|
209
|
+
/* #Forms
|
210
|
+
================================================== */
|
211
|
+
|
212
|
+
form {
|
213
|
+
margin-bottom: 20px; }
|
214
|
+
fieldset {
|
215
|
+
margin-bottom: 20px; }
|
216
|
+
input[type="text"],
|
217
|
+
input[type="password"],
|
218
|
+
input[type="email"],
|
219
|
+
textarea,
|
220
|
+
select {
|
221
|
+
border: 1px solid #ccc;
|
222
|
+
padding: 6px 4px;
|
223
|
+
outline: none;
|
224
|
+
-moz-border-radius: 2px;
|
225
|
+
-webkit-border-radius: 2px;
|
226
|
+
border-radius: 2px;
|
227
|
+
font: 13px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
228
|
+
color: #777;
|
229
|
+
margin: 0;
|
230
|
+
width: 210px;
|
231
|
+
max-width: 100%;
|
232
|
+
display: block;
|
233
|
+
margin-bottom: 20px;
|
234
|
+
background: #fff; }
|
235
|
+
select {
|
236
|
+
padding: 0; }
|
237
|
+
input[type="text"]:focus,
|
238
|
+
input[type="password"]:focus,
|
239
|
+
input[type="email"]:focus,
|
240
|
+
textarea:focus {
|
241
|
+
border: 1px solid #aaa;
|
242
|
+
color: #444;
|
243
|
+
-moz-box-shadow: 0 0 3px rgba(0,0,0,.2);
|
244
|
+
-webkit-box-shadow: 0 0 3px rgba(0,0,0,.2);
|
245
|
+
box-shadow: 0 0 3px rgba(0,0,0,.2); }
|
246
|
+
textarea {
|
247
|
+
min-height: 60px; }
|
248
|
+
label,
|
249
|
+
legend {
|
250
|
+
display: block;
|
251
|
+
font-weight: bold;
|
252
|
+
font-size: 13px; }
|
253
|
+
select {
|
254
|
+
width: 220px; }
|
255
|
+
input[type="checkbox"] {
|
256
|
+
display: inline; }
|
257
|
+
label span,
|
258
|
+
legend span {
|
259
|
+
font-weight: normal;
|
260
|
+
font-size: 13px;
|
261
|
+
color: #444; }
|
262
|
+
|
263
|
+
/* #Misc
|
264
|
+
================================================== */
|
265
|
+
.remove-bottom { margin-bottom: 0 !important; }
|
266
|
+
.half-bottom { margin-bottom: 10px !important; }
|
267
|
+
.add-bottom { margin-bottom: 20px !important; }
|
268
|
+
|
269
|
+
|