spiderfw 0.6.30 → 0.6.31
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.
- checksums.yaml +15 -7
- data/CHANGELOG +11 -0
- data/VERSION +1 -1
- data/apps/app_server/config/options.rb +1 -1
- data/apps/core/auth/controllers/login_controller.rb +3 -0
- data/apps/core/components/assets.rb +61 -3
- data/apps/core/components/public/bootstrap_3/img/glyphicons-halflings-regular.eot +0 -0
- data/apps/core/components/public/bootstrap_3/img/glyphicons-halflings-regular.svg +229 -0
- data/apps/core/components/public/bootstrap_3/img/glyphicons-halflings-regular.ttf +0 -0
- data/apps/core/components/public/bootstrap_3/img/glyphicons-halflings-regular.woff +0 -0
- data/apps/core/components/public/bootstrap_3/js/affix.js +140 -0
- data/apps/core/components/public/bootstrap_3/js/alert.js +92 -0
- data/apps/core/components/public/bootstrap_3/js/button.js +110 -0
- data/apps/core/components/public/bootstrap_3/js/carousel.js +210 -0
- data/apps/core/components/public/bootstrap_3/js/collapse.js +180 -0
- data/apps/core/components/public/bootstrap_3/js/dropdown.js +151 -0
- data/apps/core/components/public/bootstrap_3/js/modal.js +277 -0
- data/apps/core/components/public/bootstrap_3/js/popover.js +113 -0
- data/apps/core/components/public/bootstrap_3/js/scrollspy.js +158 -0
- data/apps/core/components/public/bootstrap_3/js/tab.js +128 -0
- data/apps/core/components/public/bootstrap_3/js/tooltip.js +456 -0
- data/apps/core/components/public/bootstrap_3/js/transition.js +48 -0
- data/apps/core/components/public/bootstrap_3/scss/_alerts.scss +67 -0
- data/apps/core/components/public/bootstrap_3/scss/_badges.scss +57 -0
- data/apps/core/components/public/bootstrap_3/scss/_breadcrumbs.scss +26 -0
- data/apps/core/components/public/bootstrap_3/scss/_button-groups.scss +240 -0
- data/apps/core/components/public/bootstrap_3/scss/_buttons.scss +159 -0
- data/apps/core/components/public/bootstrap_3/scss/_carousel.scss +243 -0
- data/apps/core/components/public/bootstrap_3/scss/_close.scss +35 -0
- data/apps/core/components/public/bootstrap_3/scss/_code.scss +62 -0
- data/apps/core/components/public/bootstrap_3/scss/_component-animations.scss +35 -0
- data/apps/core/components/public/bootstrap_3/scss/_dropdowns.scss +214 -0
- data/apps/core/components/public/bootstrap_3/scss/_forms.scss +489 -0
- data/apps/core/components/public/bootstrap_3/scss/_glyphicons.scss +237 -0
- data/apps/core/components/public/bootstrap_3/scss/_grid.scss +84 -0
- data/apps/core/components/public/bootstrap_3/scss/_input-groups.scss +166 -0
- data/apps/core/components/public/bootstrap_3/scss/_jumbotron.scss +48 -0
- data/apps/core/components/public/bootstrap_3/scss/_labels.scss +66 -0
- data/apps/core/components/public/bootstrap_3/scss/_list-group.scss +129 -0
- data/apps/core/components/public/bootstrap_3/scss/_media.scss +56 -0
- data/apps/core/components/public/bootstrap_3/scss/_mixins.scss +39 -0
- data/apps/core/components/public/bootstrap_3/scss/_modals.scss +147 -0
- data/apps/core/components/public/bootstrap_3/scss/_navbar.scss +658 -0
- data/apps/core/components/public/bootstrap_3/scss/_navs.scss +242 -0
- data/apps/core/components/public/bootstrap_3/scss/_normalize.scss +425 -0
- data/apps/core/components/public/bootstrap_3/scss/_pager.scss +55 -0
- data/apps/core/components/public/bootstrap_3/scss/_pagination.scss +88 -0
- data/apps/core/components/public/bootstrap_3/scss/_panels.scss +240 -0
- data/apps/core/components/public/bootstrap_3/scss/_popovers.scss +133 -0
- data/apps/core/components/public/bootstrap_3/scss/_print.scss +101 -0
- data/apps/core/components/public/bootstrap_3/scss/_progress-bars.scss +89 -0
- data/apps/core/components/public/bootstrap_3/scss/_responsive-embed.scss +34 -0
- data/apps/core/components/public/bootstrap_3/scss/_responsive-utilities.scss +174 -0
- data/apps/core/components/public/bootstrap_3/scss/_scaffolding.scss +150 -0
- data/apps/core/components/public/bootstrap_3/scss/_tables.scss +233 -0
- data/apps/core/components/public/bootstrap_3/scss/_theme.scss +247 -0
- data/apps/core/components/public/bootstrap_3/scss/_thumbnails.scss +38 -0
- data/apps/core/components/public/bootstrap_3/scss/_tooltip.scss +95 -0
- data/apps/core/components/public/bootstrap_3/scss/_type.scss +298 -0
- data/apps/core/components/public/bootstrap_3/scss/_utilities.scss +56 -0
- data/apps/core/components/public/bootstrap_3/scss/_variables.scss +853 -0
- data/apps/core/components/public/bootstrap_3/scss/_wells.scss +29 -0
- data/apps/core/components/public/bootstrap_3/scss/bootstrap.scss +50 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_alerts.scss +14 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_background-variant.scss +11 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_border-radius.scss +18 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_buttons.scss +50 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_center-block.scss +7 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_clearfix.scss +22 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_forms.scss +84 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_gradients.scss +58 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_grid-framework.scss +87 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_grid.scss +122 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_hide-text.scss +21 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_image.scss +33 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_labels.scss +12 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_list-group.scss +31 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_nav-divider.scss +10 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_nav-vertical-align.scss +9 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_opacity.scss +8 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_pagination.scss +23 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_panels.scss +20 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_progress-bar.scss +8 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_reset-filter.scss +8 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_resize.scss +6 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_responsive-visibility.scss +21 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_size.scss +10 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_tab-focus.scss +9 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_table-row.scss +28 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_text-emphasis.scss +11 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_text-overflow.scss +8 -0
- data/apps/core/components/public/bootstrap_3/scss/mixins/_vendor-prefixes.scss +224 -0
- data/apps/core/components/public/js/jquery/plugins/bsmselect/js/jquery.bsmselect.js +1 -1
- data/apps/core/components/widgets/month_calendar/month_calendar.shtml +3 -3
- data/apps/core/components/widgets/table/table.rb +6 -2
- data/apps/core/components/widgets/table/table.shtml +4 -4
- data/apps/core/forms/widgets/form/form.rb +1 -1
- data/apps/core/forms/widgets/inputs/select/select.rb +13 -2
- data/apps/messenger/lib/backends/mobyt.rb +6 -2
- data/apps/messenger/lib/backends/skebby.rb +1 -1
- data/apps/webdav/controllers/webdav_controller.rb +16 -7
- data/lib/spiderfw/controller/http_controller.rb +4 -1
- data/lib/spiderfw/env.rb +0 -1
- data/lib/spiderfw/http/adapters/rack.rb +3 -1
- data/lib/spiderfw/model/base_model.rb +7 -3
- data/lib/spiderfw/model/storage/connection_pool.rb +6 -2
- data/lib/spiderfw/model/storage/db/db_storage.rb +25 -9
- data/lib/spiderfw/site.rb +1 -1
- metadata +308 -149
@@ -0,0 +1,174 @@
|
|
1
|
+
//
|
2
|
+
// Responsive: Utility classes
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// IE10 in Windows (Phone) 8
|
7
|
+
//
|
8
|
+
// Support for responsive views via media queries is kind of borked in IE10, for
|
9
|
+
// Surface/desktop in split view and for Windows Phone 8. This particular fix
|
10
|
+
// must be accompanied by a snippet of JavaScript to sniff the user agent and
|
11
|
+
// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
|
12
|
+
// our Getting Started page for more information on this bug.
|
13
|
+
//
|
14
|
+
// For more information, see the following:
|
15
|
+
//
|
16
|
+
// Issue: https://github.com/twbs/bootstrap/issues/10497
|
17
|
+
// Docs: http://getbootstrap.com/getting-started/#support-ie10-width
|
18
|
+
// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
|
19
|
+
// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
|
20
|
+
|
21
|
+
@-ms-viewport {
|
22
|
+
width: device-width;
|
23
|
+
}
|
24
|
+
|
25
|
+
|
26
|
+
// Visibility utilities
|
27
|
+
// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0
|
28
|
+
|
29
|
+
@include responsive-invisibility('.visible-xs, .visible-sm, .visible-md, .visible-lg');
|
30
|
+
|
31
|
+
.visible-xs-block,
|
32
|
+
.visible-xs-inline,
|
33
|
+
.visible-xs-inline-block,
|
34
|
+
.visible-sm-block,
|
35
|
+
.visible-sm-inline,
|
36
|
+
.visible-sm-inline-block,
|
37
|
+
.visible-md-block,
|
38
|
+
.visible-md-inline,
|
39
|
+
.visible-md-inline-block,
|
40
|
+
.visible-lg-block,
|
41
|
+
.visible-lg-inline,
|
42
|
+
.visible-lg-inline-block {
|
43
|
+
display: none !important;
|
44
|
+
}
|
45
|
+
|
46
|
+
@media (max-width: $screen-xs-max) {
|
47
|
+
@include responsive-visibility('.visible-xs');
|
48
|
+
}
|
49
|
+
.visible-xs-block {
|
50
|
+
@media (max-width: $screen-xs-max) {
|
51
|
+
display: block !important;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
.visible-xs-inline {
|
55
|
+
@media (max-width: $screen-xs-max) {
|
56
|
+
display: inline !important;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
.visible-xs-inline-block {
|
60
|
+
@media (max-width: $screen-xs-max) {
|
61
|
+
display: inline-block !important;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
66
|
+
@include responsive-visibility('.visible-sm');
|
67
|
+
}
|
68
|
+
.visible-sm-block {
|
69
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
70
|
+
display: block !important;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
.visible-sm-inline {
|
74
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
75
|
+
display: inline !important;
|
76
|
+
}
|
77
|
+
}
|
78
|
+
.visible-sm-inline-block {
|
79
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
80
|
+
display: inline-block !important;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
85
|
+
@include responsive-visibility('.visible-md');
|
86
|
+
}
|
87
|
+
.visible-md-block {
|
88
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
89
|
+
display: block !important;
|
90
|
+
}
|
91
|
+
}
|
92
|
+
.visible-md-inline {
|
93
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
94
|
+
display: inline !important;
|
95
|
+
}
|
96
|
+
}
|
97
|
+
.visible-md-inline-block {
|
98
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
99
|
+
display: inline-block !important;
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
@media (min-width: $screen-lg-min) {
|
104
|
+
@include responsive-visibility('.visible-lg');
|
105
|
+
}
|
106
|
+
.visible-lg-block {
|
107
|
+
@media (min-width: $screen-lg-min) {
|
108
|
+
display: block !important;
|
109
|
+
}
|
110
|
+
}
|
111
|
+
.visible-lg-inline {
|
112
|
+
@media (min-width: $screen-lg-min) {
|
113
|
+
display: inline !important;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
.visible-lg-inline-block {
|
117
|
+
@media (min-width: $screen-lg-min) {
|
118
|
+
display: inline-block !important;
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
122
|
+
@media (max-width: $screen-xs-max) {
|
123
|
+
@include responsive-invisibility('.hidden-xs');
|
124
|
+
}
|
125
|
+
|
126
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
127
|
+
@include responsive-invisibility('.hidden-sm');
|
128
|
+
}
|
129
|
+
|
130
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
131
|
+
@include responsive-invisibility('.hidden-md');
|
132
|
+
}
|
133
|
+
|
134
|
+
@media (min-width: $screen-lg-min) {
|
135
|
+
@include responsive-invisibility('.hidden-lg');
|
136
|
+
}
|
137
|
+
|
138
|
+
|
139
|
+
// Print utilities
|
140
|
+
//
|
141
|
+
// Media queries are placed on the inside to be mixin-friendly.
|
142
|
+
|
143
|
+
// Note: Deprecated .visible-print as of v3.2.0
|
144
|
+
|
145
|
+
@include responsive-invisibility('.visible-print');
|
146
|
+
|
147
|
+
@media print {
|
148
|
+
@include responsive-visibility('.visible-print');
|
149
|
+
}
|
150
|
+
.visible-print-block {
|
151
|
+
display: none !important;
|
152
|
+
|
153
|
+
@media print {
|
154
|
+
display: block !important;
|
155
|
+
}
|
156
|
+
}
|
157
|
+
.visible-print-inline {
|
158
|
+
display: none !important;
|
159
|
+
|
160
|
+
@media print {
|
161
|
+
display: inline !important;
|
162
|
+
}
|
163
|
+
}
|
164
|
+
.visible-print-inline-block {
|
165
|
+
display: none !important;
|
166
|
+
|
167
|
+
@media print {
|
168
|
+
display: inline-block !important;
|
169
|
+
}
|
170
|
+
}
|
171
|
+
|
172
|
+
@media print {
|
173
|
+
@include responsive-invisibility('.hidden-print');
|
174
|
+
}
|
@@ -0,0 +1,150 @@
|
|
1
|
+
//
|
2
|
+
// Scaffolding
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// Reset the box-sizing
|
7
|
+
//
|
8
|
+
// Heads up! This reset may cause conflicts with some third-party widgets.
|
9
|
+
// For recommendations on resolving such conflicts, see
|
10
|
+
// http://getbootstrap.com/getting-started/#third-box-sizing
|
11
|
+
* {
|
12
|
+
@include box-sizing(border-box);
|
13
|
+
}
|
14
|
+
*:before,
|
15
|
+
*:after {
|
16
|
+
@include box-sizing(border-box);
|
17
|
+
}
|
18
|
+
|
19
|
+
|
20
|
+
// Body reset
|
21
|
+
|
22
|
+
html {
|
23
|
+
font-size: 62.5%;
|
24
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
25
|
+
}
|
26
|
+
|
27
|
+
body {
|
28
|
+
font-family: $font-family-base;
|
29
|
+
font-size: $font-size-base;
|
30
|
+
line-height: $line-height-base;
|
31
|
+
color: $text-color;
|
32
|
+
background-color: $body-bg;
|
33
|
+
}
|
34
|
+
|
35
|
+
// Reset fonts for relevant elements
|
36
|
+
input,
|
37
|
+
button,
|
38
|
+
select,
|
39
|
+
textarea {
|
40
|
+
font-family: inherit;
|
41
|
+
font-size: inherit;
|
42
|
+
line-height: inherit;
|
43
|
+
}
|
44
|
+
|
45
|
+
|
46
|
+
// Links
|
47
|
+
|
48
|
+
a {
|
49
|
+
color: $link-color;
|
50
|
+
text-decoration: none;
|
51
|
+
|
52
|
+
&:hover,
|
53
|
+
&:focus {
|
54
|
+
color: $link-hover-color;
|
55
|
+
text-decoration: underline;
|
56
|
+
}
|
57
|
+
|
58
|
+
&:focus {
|
59
|
+
@include tab-focus();
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
// Figures
|
65
|
+
//
|
66
|
+
// We reset this here because previously Normalize had no `figure` margins. This
|
67
|
+
// ensures we don't break anyone's use of the element.
|
68
|
+
|
69
|
+
figure {
|
70
|
+
margin: 0;
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
// Images
|
75
|
+
|
76
|
+
img {
|
77
|
+
vertical-align: middle;
|
78
|
+
}
|
79
|
+
|
80
|
+
// Responsive images (ensure images don't scale beyond their parents)
|
81
|
+
.img-responsive {
|
82
|
+
@include img-responsive();
|
83
|
+
}
|
84
|
+
|
85
|
+
// Rounded corners
|
86
|
+
.img-rounded {
|
87
|
+
border-radius: $border-radius-large;
|
88
|
+
}
|
89
|
+
|
90
|
+
// Image thumbnails
|
91
|
+
//
|
92
|
+
// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
|
93
|
+
.img-thumbnail {
|
94
|
+
padding: $thumbnail-padding;
|
95
|
+
line-height: $line-height-base;
|
96
|
+
background-color: $thumbnail-bg;
|
97
|
+
border: 1px solid $thumbnail-border;
|
98
|
+
border-radius: $thumbnail-border-radius;
|
99
|
+
@include transition(all .2s ease-in-out);
|
100
|
+
|
101
|
+
// Keep them at most 100% wide
|
102
|
+
@include img-responsive(inline-block);
|
103
|
+
}
|
104
|
+
|
105
|
+
// Perfect circle
|
106
|
+
.img-circle {
|
107
|
+
border-radius: 50%; // set radius in percents
|
108
|
+
}
|
109
|
+
|
110
|
+
|
111
|
+
// Horizontal rules
|
112
|
+
|
113
|
+
hr {
|
114
|
+
margin-top: $line-height-computed;
|
115
|
+
margin-bottom: $line-height-computed;
|
116
|
+
border: 0;
|
117
|
+
border-top: 1px solid $hr-border;
|
118
|
+
}
|
119
|
+
|
120
|
+
|
121
|
+
// Only display content to screen readers
|
122
|
+
//
|
123
|
+
// See: http://a11yproject.com/posts/how-to-hide-content/
|
124
|
+
|
125
|
+
.sr-only {
|
126
|
+
position: absolute;
|
127
|
+
width: 1px;
|
128
|
+
height: 1px;
|
129
|
+
margin: -1px;
|
130
|
+
padding: 0;
|
131
|
+
overflow: hidden;
|
132
|
+
clip: rect(0,0,0,0);
|
133
|
+
border: 0;
|
134
|
+
}
|
135
|
+
|
136
|
+
// Use in conjunction with .sr-only to only display content when it's focused.
|
137
|
+
// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
|
138
|
+
// Credit: HTML5 Boilerplate
|
139
|
+
|
140
|
+
.sr-only-focusable {
|
141
|
+
&:active,
|
142
|
+
&:focus {
|
143
|
+
position: static;
|
144
|
+
width: auto;
|
145
|
+
height: auto;
|
146
|
+
margin: 0;
|
147
|
+
overflow: visible;
|
148
|
+
clip: auto;
|
149
|
+
}
|
150
|
+
}
|
@@ -0,0 +1,233 @@
|
|
1
|
+
//
|
2
|
+
// Tables
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
table {
|
7
|
+
max-width: 100%;
|
8
|
+
background-color: $table-bg;
|
9
|
+
}
|
10
|
+
th {
|
11
|
+
text-align: left;
|
12
|
+
}
|
13
|
+
|
14
|
+
|
15
|
+
// Baseline styles
|
16
|
+
|
17
|
+
.table {
|
18
|
+
width: 100%;
|
19
|
+
margin-bottom: $line-height-computed;
|
20
|
+
// Cells
|
21
|
+
> thead,
|
22
|
+
> tbody,
|
23
|
+
> tfoot {
|
24
|
+
> tr {
|
25
|
+
> th,
|
26
|
+
> td {
|
27
|
+
padding: $table-cell-padding;
|
28
|
+
line-height: $line-height-base;
|
29
|
+
vertical-align: top;
|
30
|
+
border-top: 1px solid $table-border-color;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
// Bottom align for column headings
|
35
|
+
> thead > tr > th {
|
36
|
+
vertical-align: bottom;
|
37
|
+
border-bottom: 2px solid $table-border-color;
|
38
|
+
}
|
39
|
+
// Remove top border from thead by default
|
40
|
+
> caption + thead,
|
41
|
+
> colgroup + thead,
|
42
|
+
> thead:first-child {
|
43
|
+
> tr:first-child {
|
44
|
+
> th,
|
45
|
+
> td {
|
46
|
+
border-top: 0;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
// Account for multiple tbody instances
|
51
|
+
> tbody + tbody {
|
52
|
+
border-top: 2px solid $table-border-color;
|
53
|
+
}
|
54
|
+
|
55
|
+
// Nesting
|
56
|
+
.table {
|
57
|
+
background-color: $body-bg;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
|
62
|
+
// Condensed table w/ half padding
|
63
|
+
|
64
|
+
.table-condensed {
|
65
|
+
> thead,
|
66
|
+
> tbody,
|
67
|
+
> tfoot {
|
68
|
+
> tr {
|
69
|
+
> th,
|
70
|
+
> td {
|
71
|
+
padding: $table-condensed-cell-padding;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
|
78
|
+
// Bordered version
|
79
|
+
//
|
80
|
+
// Add borders all around the table and between all the columns.
|
81
|
+
|
82
|
+
.table-bordered {
|
83
|
+
border: 1px solid $table-border-color;
|
84
|
+
> thead,
|
85
|
+
> tbody,
|
86
|
+
> tfoot {
|
87
|
+
> tr {
|
88
|
+
> th,
|
89
|
+
> td {
|
90
|
+
border: 1px solid $table-border-color;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
> thead > tr {
|
95
|
+
> th,
|
96
|
+
> td {
|
97
|
+
border-bottom-width: 2px;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
|
103
|
+
// Zebra-striping
|
104
|
+
//
|
105
|
+
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
|
106
|
+
|
107
|
+
.table-striped {
|
108
|
+
> tbody > tr:nth-child(odd) {
|
109
|
+
> td,
|
110
|
+
> th {
|
111
|
+
background-color: $table-bg-accent;
|
112
|
+
}
|
113
|
+
}
|
114
|
+
}
|
115
|
+
|
116
|
+
|
117
|
+
// Hover effect
|
118
|
+
//
|
119
|
+
// Placed here since it has to come after the potential zebra striping
|
120
|
+
|
121
|
+
.table-hover {
|
122
|
+
> tbody > tr:hover {
|
123
|
+
> td,
|
124
|
+
> th {
|
125
|
+
background-color: $table-bg-hover;
|
126
|
+
}
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
|
131
|
+
// Table cell sizing
|
132
|
+
//
|
133
|
+
// Reset default table behavior
|
134
|
+
|
135
|
+
table col[class*="col-"] {
|
136
|
+
position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
|
137
|
+
float: none;
|
138
|
+
display: table-column;
|
139
|
+
}
|
140
|
+
table {
|
141
|
+
td,
|
142
|
+
th {
|
143
|
+
&[class*="col-"] {
|
144
|
+
position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
|
145
|
+
float: none;
|
146
|
+
display: table-cell;
|
147
|
+
}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
|
152
|
+
// Table backgrounds
|
153
|
+
//
|
154
|
+
// Exact selectors below required to override `.table-striped` and prevent
|
155
|
+
// inheritance to nested tables.
|
156
|
+
|
157
|
+
// Generate the contextual variants
|
158
|
+
@include table-row-variant('active', $table-bg-active);
|
159
|
+
@include table-row-variant('success', $state-success-bg);
|
160
|
+
@include table-row-variant('info', $state-info-bg);
|
161
|
+
@include table-row-variant('warning', $state-warning-bg);
|
162
|
+
@include table-row-variant('danger', $state-danger-bg);
|
163
|
+
|
164
|
+
|
165
|
+
// Responsive tables
|
166
|
+
//
|
167
|
+
// Wrap your tables in `.table-responsive` and we'll make them mobile friendly
|
168
|
+
// by enabling horizontal scrolling. Only applies <768px. Everything above that
|
169
|
+
// will display normally.
|
170
|
+
|
171
|
+
.table-responsive {
|
172
|
+
@media screen and (max-width: $screen-xs-max) {
|
173
|
+
width: 100%;
|
174
|
+
margin-bottom: ($line-height-computed * 0.75);
|
175
|
+
overflow-y: hidden;
|
176
|
+
overflow-x: scroll;
|
177
|
+
-ms-overflow-style: -ms-autohiding-scrollbar;
|
178
|
+
border: 1px solid $table-border-color;
|
179
|
+
-webkit-overflow-scrolling: touch;
|
180
|
+
|
181
|
+
// Tighten up spacing
|
182
|
+
> .table {
|
183
|
+
margin-bottom: 0;
|
184
|
+
|
185
|
+
// Ensure the content doesn't wrap
|
186
|
+
> thead,
|
187
|
+
> tbody,
|
188
|
+
> tfoot {
|
189
|
+
> tr {
|
190
|
+
> th,
|
191
|
+
> td {
|
192
|
+
white-space: nowrap;
|
193
|
+
}
|
194
|
+
}
|
195
|
+
}
|
196
|
+
}
|
197
|
+
|
198
|
+
// Special overrides for the bordered tables
|
199
|
+
> .table-bordered {
|
200
|
+
border: 0;
|
201
|
+
|
202
|
+
// Nuke the appropriate borders so that the parent can handle them
|
203
|
+
> thead,
|
204
|
+
> tbody,
|
205
|
+
> tfoot {
|
206
|
+
> tr {
|
207
|
+
> th:first-child,
|
208
|
+
> td:first-child {
|
209
|
+
border-left: 0;
|
210
|
+
}
|
211
|
+
> th:last-child,
|
212
|
+
> td:last-child {
|
213
|
+
border-right: 0;
|
214
|
+
}
|
215
|
+
}
|
216
|
+
}
|
217
|
+
|
218
|
+
// Only nuke the last row's bottom-border in `tbody` and `tfoot` since
|
219
|
+
// chances are there will be only one `tr` in a `thead` and that would
|
220
|
+
// remove the border altogether.
|
221
|
+
> tbody,
|
222
|
+
> tfoot {
|
223
|
+
> tr:last-child {
|
224
|
+
> th,
|
225
|
+
> td {
|
226
|
+
border-bottom: 0;
|
227
|
+
}
|
228
|
+
}
|
229
|
+
}
|
230
|
+
|
231
|
+
}
|
232
|
+
}
|
233
|
+
}
|