spiderfw 0.6.21 → 0.6.22
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +33 -0
- data/Rakefile +0 -1
- data/VERSION +1 -1
- data/apps/core/admin/_init.rb +4 -0
- data/apps/core/admin/admin.rb +20 -4
- data/apps/core/admin/controllers/admin_controller.rb +63 -4
- data/apps/core/admin/controllers/app_admin_controller.rb +15 -0
- data/apps/core/admin/data/locale/it/LC_MESSAGES/admin.mo +0 -0
- data/apps/core/admin/po/admin.pot +33 -0
- data/apps/core/admin/po/it/admin.po +34 -0
- data/apps/core/admin/public/css/admin.css +13 -0
- data/apps/core/admin/public/css/login.css +51 -0
- data/apps/core/admin/public/css/sass/admin.css +198 -0
- data/apps/core/admin/public/css/sass/bootstrap/bootstrap.css +3107 -0
- data/apps/core/admin/public/img/css/header_bg.png +0 -0
- data/apps/core/admin/public/img/css/noise.png +0 -0
- data/apps/core/admin/public/img/css/side_bg.png +0 -0
- data/apps/core/admin/public/img/icons/logout.png +0 -0
- data/apps/core/admin/public/img/icons-s845a69dd9f.png +0 -0
- data/apps/core/admin/public/js/bootstrap-alerts.js +113 -0
- data/apps/core/admin/public/js/bootstrap-buttons.js +62 -0
- data/apps/core/admin/public/js/bootstrap-dropdown.js +55 -0
- data/apps/core/admin/public/js/bootstrap-modal.js +260 -0
- data/apps/core/admin/public/js/bootstrap-popover.js +90 -0
- data/apps/core/admin/public/js/bootstrap-scrollspy.js +107 -0
- data/apps/core/admin/public/js/bootstrap-tabs.js +80 -0
- data/apps/core/admin/public/js/bootstrap-twipsy.js +321 -0
- data/apps/core/admin/public/sass/admin.scss +167 -0
- data/apps/core/admin/public/sass/bootstrap/bootstrap.scss +29 -0
- data/apps/core/admin/public/sass/bootstrap/forms.scss +478 -0
- data/apps/core/admin/public/sass/bootstrap/mixins.scss +220 -0
- data/apps/core/admin/public/sass/bootstrap/patterns.scss +1062 -0
- data/apps/core/admin/public/sass/bootstrap/reset.scss +141 -0
- data/apps/core/admin/public/sass/bootstrap/scaffolding.scss +136 -0
- data/apps/core/admin/public/sass/bootstrap/tables.scss +224 -0
- data/apps/core/admin/public/sass/bootstrap/type.scss +187 -0
- data/apps/core/admin/public/sass/bootstrap/variables.scss +60 -0
- data/apps/core/admin/public/sass/grid.scss +54 -0
- data/apps/core/admin/views/_app_info.shtml +5 -0
- data/apps/core/admin/views/admin.layout.shtml +35 -0
- data/apps/core/admin/views/index.shtml +1 -1
- data/apps/core/admin/views/login.layout.shtml +13 -0
- data/apps/core/auth/controllers/mixins/auth_helper.rb +1 -1
- data/apps/core/auth/models/super_user.rb +6 -0
- data/apps/core/auth/models/user.rb +9 -0
- data/apps/core/components/assets.rb +5 -1
- data/apps/core/components/data/locale/it/LC_MESSAGES/spider_components.mo +0 -0
- data/apps/core/components/po/it/spider_components.po +23 -9
- data/apps/core/components/po/spider_components.pot +16 -8
- data/apps/core/components/public/css/admin.css +0 -12
- data/apps/core/components/public/css/crud.css +16 -19
- data/apps/core/components/public/css/table.css +11 -5
- data/apps/core/components/public/js/less-1.1.3.min.js +16 -0
- data/apps/core/components/public/widgets/table.js +1 -1
- data/apps/core/components/widgets/admin/admin.rb +10 -0
- data/apps/core/components/widgets/admin/admin.shtml +24 -4
- data/apps/core/components/widgets/confirm/confirm.rb +2 -2
- data/apps/core/components/widgets/confirm/confirm.shtml +5 -2
- data/apps/core/components/widgets/crud/crud.rb +10 -1
- data/apps/core/components/widgets/crud/crud.shtml +18 -21
- data/apps/core/components/widgets/menu/menu.shtml +1 -2
- data/apps/core/components/widgets/switcher/switcher.rb +6 -3
- data/apps/core/components/widgets/switcher/templates/default.shtml +3 -1
- data/apps/core/components/widgets/table/table.rb +3 -2
- data/apps/core/components/widgets/table/table.shtml +44 -25
- data/apps/core/forms/data/locale/it/LC_MESSAGES/spider_forms.mo +0 -0
- data/apps/core/forms/po/it/spider_forms.po +7 -2
- data/apps/core/forms/po/spider_forms.pot +5 -1
- data/apps/core/forms/public/css/form.css +3 -3
- data/apps/core/forms/public/css/html_area.css +0 -1
- data/apps/core/forms/public/date_time.js +4 -3
- data/apps/core/forms/public/select.js +5 -4
- data/apps/core/forms/tags/element_label.erb +1 -1
- data/apps/core/forms/tags/row.erb +1 -1
- data/apps/core/forms/widgets/form/form.rb +23 -1
- data/apps/core/forms/widgets/form/form.shtml +7 -8
- data/apps/core/forms/widgets/inputs/checkbox/checkbox.shtml +3 -3
- data/apps/core/forms/widgets/inputs/date_time/date_time.shtml +3 -3
- data/apps/core/forms/widgets/inputs/file_input/file_input.rb +4 -2
- data/apps/core/forms/widgets/inputs/file_input/file_input.shtml +1 -1
- data/apps/core/forms/widgets/inputs/hidden/hidden.shtml +1 -1
- data/apps/core/forms/widgets/inputs/html_area/html_area.shtml +2 -2
- data/apps/core/forms/widgets/inputs/password/password.shtml +3 -3
- data/apps/core/forms/widgets/inputs/search_select/search_select.shtml +2 -2
- data/apps/core/forms/widgets/inputs/select/select.shtml +16 -13
- data/apps/core/forms/widgets/inputs/text/text.shtml +3 -3
- data/apps/core/forms/widgets/inputs/text_area/text_area.shtml +5 -2
- data/apps/core/forms/widgets/inputs/time_span/time_span.shtml +3 -3
- data/apps/messenger/_init.rb +10 -2
- data/apps/messenger/controllers/messenger_admin_controller.rb +53 -0
- data/apps/messenger/controllers/messenger_controller.rb +2 -0
- data/apps/messenger/controllers/mixins/messenger_helper.rb +2 -2
- data/apps/messenger/models/message.rb +1 -1
- data/apps/messenger/public/app_icon.png +0 -0
- data/apps/messenger/views/admin/_admin.layout.shtml +26 -0
- data/apps/messenger/views/admin/index.shtml +13 -0
- data/apps/messenger/views/admin/queue.shtml +28 -0
- data/apps/messenger/views/index.shtml +3 -3
- data/data/locale/it/LC_MESSAGES/spider.mo +0 -0
- data/lib/spiderfw/app.rb +10 -1
- data/lib/spiderfw/cache/template_cache.rb +21 -22
- data/lib/spiderfw/cmd/commands/app.rb +3 -3
- data/lib/spiderfw/cmd/commands/setup.rb +1 -1
- data/lib/spiderfw/config/options/spider.rb +18 -2
- data/lib/spiderfw/controller/controller.rb +9 -3
- data/lib/spiderfw/controller/dispatcher.rb +25 -12
- data/lib/spiderfw/controller/home_controller.rb +3 -3
- data/lib/spiderfw/controller/http_controller.rb +11 -0
- data/lib/spiderfw/controller/mixins/static_content.rb +3 -12
- data/lib/spiderfw/controller/mixins/visual.rb +21 -20
- data/lib/spiderfw/controller/request.rb +1 -3
- data/lib/spiderfw/http/adapters/mongrel.rb +1 -1
- data/lib/spiderfw/i18n/gettext.rb +14 -0
- data/lib/spiderfw/i18n/shtml_parser.rb +2 -2
- data/lib/spiderfw/model/base_model.rb +4 -3
- data/lib/spiderfw/model/mappers/db_mapper.rb +137 -79
- data/lib/spiderfw/model/mappers/mapper.rb +6 -2
- data/lib/spiderfw/model/migrations/drop_element.rb +1 -1
- data/lib/spiderfw/model/migrations/previous_model.rb +73 -0
- data/lib/spiderfw/model/migrations/rename_element.rb +42 -0
- data/lib/spiderfw/model/migrations.rb +14 -1
- data/lib/spiderfw/model/mixins/tree.rb +65 -19
- data/lib/spiderfw/model/model_hash.rb +9 -5
- data/lib/spiderfw/model/query.rb +8 -0
- data/lib/spiderfw/model/query_funcs.rb +23 -0
- data/lib/spiderfw/model/query_set.rb +1 -1
- data/lib/spiderfw/model/request.rb +11 -3
- data/lib/spiderfw/model/storage/db/adapters/mysql.rb +28 -1
- data/lib/spiderfw/model/storage/db/adapters/oracle.rb +10 -10
- data/lib/spiderfw/model/storage/db/db_schema.rb +20 -3
- data/lib/spiderfw/model/storage/db/db_storage.rb +39 -17
- data/lib/spiderfw/setup/app_manager.rb +69 -31
- data/lib/spiderfw/setup/setup_task.rb +76 -8
- data/lib/spiderfw/spider.rb +21 -1
- data/lib/spiderfw/templates/blocks/text.rb +4 -4
- data/lib/spiderfw/templates/blocks/text_domain.rb +25 -0
- data/lib/spiderfw/templates/blocks/widget.rb +1 -1
- data/lib/spiderfw/templates/layout.rb +160 -92
- data/lib/spiderfw/templates/resources/less.rb +10 -2
- data/lib/spiderfw/templates/resources/sass.rb +66 -9
- data/lib/spiderfw/templates/template.rb +35 -10
- data/lib/spiderfw/templates/template_blocks.rb +6 -3
- data/lib/spiderfw/utils/logger.rb +20 -0
- data/lib/spiderfw/utils/memory.rb +7 -3
- data/lib/spiderfw/widget/widget.rb +13 -7
- data/lib/spiderfw/widget/widget_attributes.rb +2 -2
- data/spider.gemspec +1 -0
- metadata +68 -11
- data/apps/core/admin/views/spider_admin.layout.shtml +0 -23
@@ -0,0 +1,141 @@
|
|
1
|
+
/* Reset.scss
|
2
|
+
* Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
|
3
|
+
* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
|
4
|
+
|
5
|
+
|
6
|
+
// ERIC MEYER RESET
|
7
|
+
// --------------------------------------------------
|
8
|
+
|
9
|
+
html, body { margin: 0; padding: 0; }
|
10
|
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, cite, code, del, dfn, em, img, q, s, samp, small, strike, strong, sub, sup, tt, var, dd, dl, dt, li, ol, ul, fieldset, form, label, legend, button, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; font-weight: normal; font-style: normal; font-size: 100%; line-height: 1; font-family: inherit; }
|
11
|
+
table { border-collapse: collapse; border-spacing: 0; }
|
12
|
+
ol, ul { list-style: none; }
|
13
|
+
q:before, q:after, blockquote:before, blockquote:after { content: ""; }
|
14
|
+
|
15
|
+
|
16
|
+
// Normalize.css
|
17
|
+
// Pulling in select resets form the normalize.css project
|
18
|
+
// --------------------------------------------------
|
19
|
+
|
20
|
+
// Display in IE6-9 and FF3
|
21
|
+
// -------------------------
|
22
|
+
// Source: http://github.com/necolas/normalize.css
|
23
|
+
html {
|
24
|
+
overflow-y: scroll;
|
25
|
+
font-size: 100%;
|
26
|
+
-webkit-text-size-adjust: 100%;
|
27
|
+
-ms-text-size-adjust: 100%;
|
28
|
+
}
|
29
|
+
// Focus states
|
30
|
+
a:focus {
|
31
|
+
outline: thin dotted;
|
32
|
+
}
|
33
|
+
// Hover & Active
|
34
|
+
a:hover,
|
35
|
+
a:active {
|
36
|
+
outline: 0;
|
37
|
+
}
|
38
|
+
|
39
|
+
// Display in IE6-9 and FF3
|
40
|
+
// -------------------------
|
41
|
+
// Source: http://github.com/necolas/normalize.css
|
42
|
+
article,
|
43
|
+
aside,
|
44
|
+
details,
|
45
|
+
figcaption,
|
46
|
+
figure,
|
47
|
+
footer,
|
48
|
+
header,
|
49
|
+
hgroup,
|
50
|
+
nav,
|
51
|
+
section {
|
52
|
+
display: block;
|
53
|
+
}
|
54
|
+
|
55
|
+
// Display block in IE6-9 and FF3
|
56
|
+
// -------------------------
|
57
|
+
// Source: http://github.com/necolas/normalize.css
|
58
|
+
audio,
|
59
|
+
canvas,
|
60
|
+
video {
|
61
|
+
display: inline-block;
|
62
|
+
*display: inline;
|
63
|
+
*zoom: 1;
|
64
|
+
}
|
65
|
+
|
66
|
+
// Prevents modern browsers from displaying 'audio' without controls
|
67
|
+
// -------------------------
|
68
|
+
// Source: http://github.com/necolas/normalize.css
|
69
|
+
audio:not([controls]) {
|
70
|
+
display: none;
|
71
|
+
}
|
72
|
+
|
73
|
+
// Prevents sub and sup affecting line-height in all browsers
|
74
|
+
// -------------------------
|
75
|
+
// Source: http://github.com/necolas/normalize.css
|
76
|
+
sub,
|
77
|
+
sup {
|
78
|
+
font-size: 75%;
|
79
|
+
line-height: 0;
|
80
|
+
position: relative;
|
81
|
+
vertical-align: baseline;
|
82
|
+
}
|
83
|
+
sup {
|
84
|
+
top: -0.5em;
|
85
|
+
}
|
86
|
+
sub {
|
87
|
+
bottom: -0.25em;
|
88
|
+
}
|
89
|
+
|
90
|
+
// Img border in a's and image quality
|
91
|
+
// -------------------------
|
92
|
+
// Source: http://github.com/necolas/normalize.css
|
93
|
+
img {
|
94
|
+
border: 0;
|
95
|
+
-ms-interpolation-mode: bicubic;
|
96
|
+
}
|
97
|
+
|
98
|
+
// Forms
|
99
|
+
// -------------------------
|
100
|
+
// Source: http://github.com/necolas/normalize.css
|
101
|
+
|
102
|
+
// Font size in all browsers, margin changes, misc consistency
|
103
|
+
button,
|
104
|
+
input,
|
105
|
+
select,
|
106
|
+
textarea {
|
107
|
+
font-size: 100%;
|
108
|
+
margin: 0;
|
109
|
+
vertical-align: baseline;
|
110
|
+
*vertical-align: middle;
|
111
|
+
}
|
112
|
+
button,
|
113
|
+
input {
|
114
|
+
line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
|
115
|
+
*overflow: visible; // Inner spacing ie IE6/7
|
116
|
+
}
|
117
|
+
button::-moz-focus-inner,
|
118
|
+
input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
|
119
|
+
border: 0;
|
120
|
+
padding: 0;
|
121
|
+
}
|
122
|
+
button,
|
123
|
+
input[type="button"],
|
124
|
+
input[type="reset"],
|
125
|
+
input[type="submit"] {
|
126
|
+
cursor: pointer; // Cursors on all buttons applied consistently
|
127
|
+
-webkit-appearance: button; // Style clicable inputs in iOS
|
128
|
+
}
|
129
|
+
input[type="search"] { // Appearance in Safari/Chrome
|
130
|
+
-webkit-appearance: textfield;
|
131
|
+
-webkit-box-sizing: content-box;
|
132
|
+
-moz-box-sizing: content-box;
|
133
|
+
box-sizing: content-box;
|
134
|
+
}
|
135
|
+
input[type="search"]::-webkit-search-decoration {
|
136
|
+
-webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
|
137
|
+
}
|
138
|
+
textarea {
|
139
|
+
overflow: auto; // Remove vertical scrollbar in IE6-9
|
140
|
+
vertical-align: top; // Readability and alignment cross-browser
|
141
|
+
}
|
@@ -0,0 +1,136 @@
|
|
1
|
+
/*
|
2
|
+
* Scaffolding.scss
|
3
|
+
* Basic and global styles for generating a grid system, structural layout, and page templates
|
4
|
+
* ------------------------------------------------------------------------------------------- */
|
5
|
+
|
6
|
+
|
7
|
+
// STRUCTURAL LAYOUT
|
8
|
+
// -----------------
|
9
|
+
|
10
|
+
body {
|
11
|
+
background-color: $white;
|
12
|
+
margin: 0;
|
13
|
+
@include sans-serif-font(normal,$basefont,$baseline);
|
14
|
+
color: $grayDark;
|
15
|
+
}
|
16
|
+
|
17
|
+
// Container (centered, fixed-width layouts)
|
18
|
+
.container {
|
19
|
+
@include fixed-container();
|
20
|
+
}
|
21
|
+
|
22
|
+
// Fluid layouts (left aligned, with sidebar, min- & max-width content)
|
23
|
+
.container-fluid {
|
24
|
+
position: relative;
|
25
|
+
min-width: 940px;
|
26
|
+
padding-left: 20px;
|
27
|
+
padding-right: 20px;
|
28
|
+
@include clearfix();
|
29
|
+
> .sidebar {
|
30
|
+
position: absolute;
|
31
|
+
top: 0;
|
32
|
+
left: 20px;
|
33
|
+
width: 220px;
|
34
|
+
}
|
35
|
+
// TODO in v2: rename this and .popover .content to be more specific
|
36
|
+
> .content {
|
37
|
+
margin-left: 240px;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
// BASE STYLES
|
43
|
+
// -----------
|
44
|
+
|
45
|
+
// Links
|
46
|
+
a {
|
47
|
+
color: $linkColor;
|
48
|
+
text-decoration: none;
|
49
|
+
line-height: inherit;
|
50
|
+
font-weight: inherit;
|
51
|
+
&:hover {
|
52
|
+
color: $linkColorHover;
|
53
|
+
text-decoration: underline;
|
54
|
+
}
|
55
|
+
}
|
56
|
+
|
57
|
+
// Quick floats
|
58
|
+
.pull-right {
|
59
|
+
float: right;
|
60
|
+
}
|
61
|
+
.pull-left {
|
62
|
+
float: left;
|
63
|
+
}
|
64
|
+
|
65
|
+
// Toggling content
|
66
|
+
.hide {
|
67
|
+
display: none;
|
68
|
+
}
|
69
|
+
.show {
|
70
|
+
display: block;
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
// GRID SYSTEM
|
75
|
+
// -----------
|
76
|
+
// To customize the grid system, bring up the variables.scss file and change the column count, size, and gutter there
|
77
|
+
|
78
|
+
.row {
|
79
|
+
@include clearfix();
|
80
|
+
margin-left: -1 * $gridGutterWidth;
|
81
|
+
}
|
82
|
+
|
83
|
+
// Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7)
|
84
|
+
// Credit to @dhg for the idea
|
85
|
+
.row > [class*="span"] {
|
86
|
+
@include gridColumn();
|
87
|
+
}
|
88
|
+
|
89
|
+
// Default columns
|
90
|
+
.span1 { @include columns(1); }
|
91
|
+
.span2 { @include columns(2); }
|
92
|
+
.span3 { @include columns(3); }
|
93
|
+
.span4 { @include columns(4); }
|
94
|
+
.span5 { @include columns(5); }
|
95
|
+
.span6 { @include columns(6); }
|
96
|
+
.span7 { @include columns(7); }
|
97
|
+
.span8 { @include columns(8); }
|
98
|
+
.span9 { @include columns(9); }
|
99
|
+
.span10 { @include columns(10); }
|
100
|
+
.span11 { @include columns(11); }
|
101
|
+
.span12 { @include columns(12); }
|
102
|
+
.span13 { @include columns(13); }
|
103
|
+
.span14 { @include columns(14); }
|
104
|
+
.span15 { @include columns(15); }
|
105
|
+
.span16 { @include columns(16); }
|
106
|
+
|
107
|
+
// For option 24-column grid
|
108
|
+
.span17 { @include columns(17); }
|
109
|
+
.span18 { @include columns(18); }
|
110
|
+
.span19 { @include columns(19); }
|
111
|
+
.span20 { @include columns(20); }
|
112
|
+
.span21 { @include columns(21); }
|
113
|
+
.span22 { @include columns(22); }
|
114
|
+
.span23 { @include columns(23); }
|
115
|
+
.span24 { @include columns(24); }
|
116
|
+
|
117
|
+
// Offset column options
|
118
|
+
.row {
|
119
|
+
> .offset1 { @include offset(1); }
|
120
|
+
> .offset2 { @include offset(2); }
|
121
|
+
> .offset3 { @include offset(3); }
|
122
|
+
> .offset4 { @include offset(4); }
|
123
|
+
> .offset5 { @include offset(5); }
|
124
|
+
> .offset6 { @include offset(6); }
|
125
|
+
> .offset7 { @include offset(7); }
|
126
|
+
> .offset8 { @include offset(8); }
|
127
|
+
> .offset9 { @include offset(9); }
|
128
|
+
> .offset10 { @include offset(10); }
|
129
|
+
> .offset11 { @include offset(11); }
|
130
|
+
> .offset12 { @include offset(12); }
|
131
|
+
}
|
132
|
+
// Unique column sizes for 16-column grid
|
133
|
+
.span-one-third { width: 300px; }
|
134
|
+
.span-two-thirds { width: 620px; }
|
135
|
+
.offset-one-third { margin-left: 340px; }
|
136
|
+
.offset-two-thirds { margin-left: 660px; }
|
@@ -0,0 +1,224 @@
|
|
1
|
+
/*
|
2
|
+
* Tables.scss
|
3
|
+
* Tables for, you guessed it, tabular data
|
4
|
+
* ---------------------------------------- */
|
5
|
+
|
6
|
+
|
7
|
+
// BASELINE STYLES
|
8
|
+
// ---------------
|
9
|
+
|
10
|
+
table {
|
11
|
+
width: 100%;
|
12
|
+
margin-bottom: $baseline;
|
13
|
+
padding: 0;
|
14
|
+
font-size: $basefont;
|
15
|
+
border-collapse: collapse;
|
16
|
+
th,
|
17
|
+
td {
|
18
|
+
padding: 10px 10px 9px;
|
19
|
+
line-height: $baseline;
|
20
|
+
text-align: left;
|
21
|
+
}
|
22
|
+
th {
|
23
|
+
padding-top: 9px;
|
24
|
+
font-weight: bold;
|
25
|
+
vertical-align: middle;
|
26
|
+
}
|
27
|
+
td {
|
28
|
+
vertical-align: top;
|
29
|
+
border-top: 1px solid #ddd;
|
30
|
+
}
|
31
|
+
// When scoped to row, fix th in tbody
|
32
|
+
tbody th {
|
33
|
+
border-top: 1px solid #ddd;
|
34
|
+
vertical-align: top;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
// CONDENSED VERSION
|
39
|
+
// -----------------
|
40
|
+
.condensed-table {
|
41
|
+
th,
|
42
|
+
td {
|
43
|
+
padding: 5px 5px 4px;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
// BORDERED VERSION
|
50
|
+
// ----------------
|
51
|
+
|
52
|
+
.bordered-table {
|
53
|
+
border: 1px solid #ddd;
|
54
|
+
border-collapse: separate; // Done so we can round those corners!
|
55
|
+
*border-collapse: collapse; /* IE7, collapse table to remove spacing */
|
56
|
+
@include border-radius(4px);
|
57
|
+
th + th,
|
58
|
+
td + td,
|
59
|
+
th + td {
|
60
|
+
border-left: 1px solid #ddd;
|
61
|
+
}
|
62
|
+
thead tr:first-child th:first-child,
|
63
|
+
tbody tr:first-child td:first-child {
|
64
|
+
@include border-radius(4px 0 0 0);
|
65
|
+
}
|
66
|
+
thead tr:first-child th:last-child,
|
67
|
+
tbody tr:first-child td:last-child {
|
68
|
+
@include border-radius(0 4px 0 0);
|
69
|
+
}
|
70
|
+
tbody tr:last-child td:first-child {
|
71
|
+
@include border-radius(0 0 0 4px);
|
72
|
+
}
|
73
|
+
tbody tr:last-child td:last-child {
|
74
|
+
@include border-radius(0 0 4px 0);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
|
79
|
+
// TABLE CELL SIZES
|
80
|
+
// ----------------
|
81
|
+
|
82
|
+
// This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for input padding and border
|
83
|
+
@mixin tableColumns($columnSpan: 1) {
|
84
|
+
width: (($gridColumnWidth - 20) * $columnSpan) + (($gridColumnWidth - 20) * ($columnSpan - 1));
|
85
|
+
}
|
86
|
+
table {
|
87
|
+
// Default columns
|
88
|
+
.span1 { @include tableColumns(1); }
|
89
|
+
.span2 { @include tableColumns(2); }
|
90
|
+
.span3 { @include tableColumns(3); }
|
91
|
+
.span4 { @include tableColumns(4); }
|
92
|
+
.span5 { @include tableColumns(5); }
|
93
|
+
.span6 { @include tableColumns(6); }
|
94
|
+
.span7 { @include tableColumns(7); }
|
95
|
+
.span8 { @include tableColumns(8); }
|
96
|
+
.span9 { @include tableColumns(9); }
|
97
|
+
.span10 { @include tableColumns(10); }
|
98
|
+
.span11 { @include tableColumns(11); }
|
99
|
+
.span12 { @include tableColumns(12); }
|
100
|
+
.span13 { @include tableColumns(13); }
|
101
|
+
.span14 { @include tableColumns(14); }
|
102
|
+
.span15 { @include tableColumns(15); }
|
103
|
+
.span16 { @include tableColumns(16); }
|
104
|
+
}
|
105
|
+
|
106
|
+
|
107
|
+
// ZEBRA-STRIPING
|
108
|
+
// --------------
|
109
|
+
|
110
|
+
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
|
111
|
+
.zebra-striped {
|
112
|
+
tbody {
|
113
|
+
tr:nth-child(odd) td,
|
114
|
+
tr:nth-child(odd) th ,
|
115
|
+
tr.odd td, tr.odd th{
|
116
|
+
background-color: #f9f9f9;
|
117
|
+
}
|
118
|
+
tr:hover td,
|
119
|
+
tr:hover th{
|
120
|
+
background-color: #f5f5f5;
|
121
|
+
}
|
122
|
+
}
|
123
|
+
}
|
124
|
+
|
125
|
+
table {
|
126
|
+
// Tablesorting styles w/ jQuery plugin
|
127
|
+
.sortable {
|
128
|
+
&:after {
|
129
|
+
content: "";
|
130
|
+
float: right;
|
131
|
+
margin-top: 7px;
|
132
|
+
border-width: 0 4px 4px;
|
133
|
+
border-style: solid;
|
134
|
+
border-color: #000 transparent;
|
135
|
+
visibility: hidden;
|
136
|
+
}
|
137
|
+
}
|
138
|
+
// Style the sorted column headers (THs)
|
139
|
+
.sorted-asc,
|
140
|
+
.sorted-desc {
|
141
|
+
background-color: rgba(141,192,219,.25);
|
142
|
+
text-shadow: 0 1px 1px rgba(255,255,255,.75);
|
143
|
+
}
|
144
|
+
// Style the ascending (reverse alphabetical) column header
|
145
|
+
.sortable:hover {
|
146
|
+
&:after {
|
147
|
+
visibility:visible;
|
148
|
+
}
|
149
|
+
}
|
150
|
+
// Style the descending (alphabetical) column header
|
151
|
+
.sorted-desc,
|
152
|
+
.sorted-desc:hover {
|
153
|
+
&:after {
|
154
|
+
visibility:visible;
|
155
|
+
@include opacity(60);
|
156
|
+
}
|
157
|
+
}
|
158
|
+
// Style the ascending (reverse alphabetical) column header
|
159
|
+
.sorted-asc {
|
160
|
+
&:after {
|
161
|
+
border-bottom: none;
|
162
|
+
border-left: 4px solid transparent;
|
163
|
+
border-right: 4px solid transparent;
|
164
|
+
border-top: 4px solid #000;
|
165
|
+
visibility:visible;
|
166
|
+
@include box-shadow(none); //can't add boxshadow to downward facing arrow :(
|
167
|
+
@include opacity(60);
|
168
|
+
}
|
169
|
+
}
|
170
|
+
// Blue Table Headings
|
171
|
+
.blue {
|
172
|
+
color: $blue;
|
173
|
+
border-bottom-color: $blue;
|
174
|
+
}
|
175
|
+
.sorted-asc.blue,
|
176
|
+
.sorted-desc.blue {
|
177
|
+
background-color: lighten($blue, 40%);
|
178
|
+
}
|
179
|
+
// Green Table Headings
|
180
|
+
.green {
|
181
|
+
color: $green;
|
182
|
+
border-bottom-color: $green;
|
183
|
+
}
|
184
|
+
.sorted-asc.green,
|
185
|
+
.sorted-desc.green {
|
186
|
+
background-color: lighten($green, 40%);
|
187
|
+
}
|
188
|
+
// Red Table Headings
|
189
|
+
.red {
|
190
|
+
color: $red;
|
191
|
+
border-bottom-color: $red;
|
192
|
+
}
|
193
|
+
.sorted-asc.red,
|
194
|
+
.sorted-desc.red {
|
195
|
+
background-color: lighten($red, 50%);
|
196
|
+
}
|
197
|
+
// Yellow Table Headings
|
198
|
+
.yellow {
|
199
|
+
color: $yellow;
|
200
|
+
border-bottom-color: $yellow;
|
201
|
+
}
|
202
|
+
.sorted-asc.yellow,
|
203
|
+
.sorted-desc.yellow {
|
204
|
+
background-color: lighten($yellow, 40%);
|
205
|
+
}
|
206
|
+
// Orange Table Headings
|
207
|
+
.orange {
|
208
|
+
color: $orange;
|
209
|
+
border-bottom-color: $orange;
|
210
|
+
}
|
211
|
+
.sorted-asc.orange,
|
212
|
+
.sorted-desc.orange {
|
213
|
+
background-color: lighten($orange, 40%);
|
214
|
+
}
|
215
|
+
// Purple Table Headings
|
216
|
+
.purple {
|
217
|
+
color: $purple;
|
218
|
+
border-bottom-color: $purple;
|
219
|
+
}
|
220
|
+
.sorted-asc.purple,
|
221
|
+
.sorted-desc.purple {
|
222
|
+
background-color: lighten($purple, 40%);
|
223
|
+
}
|
224
|
+
}
|
@@ -0,0 +1,187 @@
|
|
1
|
+
/* Typography.scss
|
2
|
+
* Headings, body text, lists, code, and more for a versatile and durable typography system
|
3
|
+
* ---------------------------------------------------------------------------------------- */
|
4
|
+
|
5
|
+
|
6
|
+
// BODY TEXT
|
7
|
+
// ---------
|
8
|
+
|
9
|
+
p {
|
10
|
+
@include shorthand-font(normal,$basefont,$baseline);
|
11
|
+
margin-bottom: $baseline / 2;
|
12
|
+
small {
|
13
|
+
font-size: $basefont - 2;
|
14
|
+
color: $grayLight;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
|
19
|
+
// HEADINGS
|
20
|
+
// --------
|
21
|
+
|
22
|
+
h1, h2, h3, h4, h5, h6 {
|
23
|
+
font-weight: bold;
|
24
|
+
color: $grayDark;
|
25
|
+
small {
|
26
|
+
color: $grayLight;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
h1 {
|
30
|
+
margin-bottom: $baseline;
|
31
|
+
font-size: 30px;
|
32
|
+
line-height: $baseline * 2;
|
33
|
+
small {
|
34
|
+
font-size: 18px;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
h2 {
|
38
|
+
font-size: 24px;
|
39
|
+
line-height: $baseline * 2;
|
40
|
+
small {
|
41
|
+
font-size: 14px;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
h3, h4, h5, h6 {
|
45
|
+
line-height: $baseline * 2;
|
46
|
+
}
|
47
|
+
h3 {
|
48
|
+
font-size: 18px;
|
49
|
+
small {
|
50
|
+
font-size: 14px;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
h4 {
|
54
|
+
font-size: 16px;
|
55
|
+
small {
|
56
|
+
font-size: 12px;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
h5 {
|
60
|
+
font-size: 14px;
|
61
|
+
}
|
62
|
+
h6 {
|
63
|
+
font-size: 13px;
|
64
|
+
color: $grayLight;
|
65
|
+
text-transform: uppercase;
|
66
|
+
}
|
67
|
+
|
68
|
+
|
69
|
+
// COLORS
|
70
|
+
// ------
|
71
|
+
|
72
|
+
// Unordered and Ordered lists
|
73
|
+
ul, ol {
|
74
|
+
margin: 0 0 $baseline 25px;
|
75
|
+
}
|
76
|
+
ul ul,
|
77
|
+
ul ol,
|
78
|
+
ol ol,
|
79
|
+
ol ul {
|
80
|
+
margin-bottom: 0;
|
81
|
+
}
|
82
|
+
ul {
|
83
|
+
list-style: disc;
|
84
|
+
}
|
85
|
+
ol {
|
86
|
+
list-style: decimal;
|
87
|
+
}
|
88
|
+
li {
|
89
|
+
line-height: $baseline;
|
90
|
+
color: $gray;
|
91
|
+
}
|
92
|
+
ul.unstyled {
|
93
|
+
list-style: none;
|
94
|
+
margin-left: 0;
|
95
|
+
}
|
96
|
+
|
97
|
+
// Description Lists
|
98
|
+
dl {
|
99
|
+
margin-bottom: $baseline;
|
100
|
+
dt, dd {
|
101
|
+
line-height: $baseline;
|
102
|
+
}
|
103
|
+
dt {
|
104
|
+
font-weight: bold;
|
105
|
+
}
|
106
|
+
dd {
|
107
|
+
margin-left: $baseline / 2;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
// MISC
|
112
|
+
// ----
|
113
|
+
|
114
|
+
// Horizontal rules
|
115
|
+
hr {
|
116
|
+
margin: 20px 0 19px;
|
117
|
+
border: 0;
|
118
|
+
border-bottom: 1px solid #eee;
|
119
|
+
}
|
120
|
+
|
121
|
+
// Emphasis
|
122
|
+
strong {
|
123
|
+
font-style: inherit;
|
124
|
+
font-weight: bold;
|
125
|
+
}
|
126
|
+
em {
|
127
|
+
font-style: italic;
|
128
|
+
font-weight: inherit;
|
129
|
+
line-height: inherit;
|
130
|
+
}
|
131
|
+
.muted {
|
132
|
+
color: $grayLight;
|
133
|
+
}
|
134
|
+
|
135
|
+
// Blockquotes
|
136
|
+
blockquote {
|
137
|
+
margin-bottom: $baseline;
|
138
|
+
border-left: 5px solid #eee;
|
139
|
+
padding-left: 15px;
|
140
|
+
p {
|
141
|
+
@include shorthand-font(300,14px,$baseline);
|
142
|
+
margin-bottom: 0;
|
143
|
+
}
|
144
|
+
small {
|
145
|
+
display: block;
|
146
|
+
@include shorthand-font(300,12px,$baseline);
|
147
|
+
color: $grayLight;
|
148
|
+
&:before {
|
149
|
+
content: '\2014 \00A0';
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
|
154
|
+
// Addresses
|
155
|
+
address {
|
156
|
+
display: block;
|
157
|
+
line-height: $baseline;
|
158
|
+
margin-bottom: $baseline;
|
159
|
+
}
|
160
|
+
|
161
|
+
// Inline and block code styles
|
162
|
+
code, pre {
|
163
|
+
padding: 0 3px 2px;
|
164
|
+
font-family: Monaco, Andale Mono, Courier New, monospace;
|
165
|
+
font-size: 12px;
|
166
|
+
@include border-radius(3px);
|
167
|
+
}
|
168
|
+
code {
|
169
|
+
background-color: lighten($orange, 40%);
|
170
|
+
color: rgba(0,0,0,.75);
|
171
|
+
padding: 1px 3px;
|
172
|
+
}
|
173
|
+
pre {
|
174
|
+
background-color: #f5f5f5;
|
175
|
+
display: block;
|
176
|
+
padding: ($baseline - 1) / 2;
|
177
|
+
margin: 0 0 $baseline;
|
178
|
+
line-height: $baseline;
|
179
|
+
font-size: 12px;
|
180
|
+
border: 1px solid #ccc;
|
181
|
+
border: 1px solid rgba(0,0,0,.15);
|
182
|
+
@include border-radius(3px);
|
183
|
+
white-space: pre;
|
184
|
+
white-space: pre-wrap;
|
185
|
+
word-wrap: break-word;
|
186
|
+
|
187
|
+
}
|