spiderfw 0.6.26.pre1 → 0.6.26
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +4 -0
- data/VERSION +1 -1
- data/apps/app_server/lib/git_app.rb +1 -1
- data/apps/core/admin/admin.rb +2 -1
- data/apps/core/components/public/bootstrap/LICENSE +0 -0
- data/apps/core/components/public/bootstrap/README.md +3 -2
- data/apps/core/components/public/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/apps/core/components/public/bootstrap/img/glyphicons-halflings.png +0 -0
- data/apps/core/components/public/bootstrap/js/README.md +2 -2
- data/apps/core/components/public/bootstrap/js/bootstrap-alert.js +8 -5
- data/apps/core/components/public/bootstrap/js/bootstrap-button.js +5 -3
- data/apps/core/components/public/bootstrap/js/bootstrap-carousel.js +5 -2
- data/apps/core/components/public/bootstrap/js/bootstrap-collapse.js +2 -2
- data/apps/core/components/public/bootstrap/js/bootstrap-dropdown.js +2 -2
- data/apps/core/components/public/bootstrap/js/bootstrap-modal.js +6 -5
- data/apps/core/components/public/bootstrap/js/bootstrap-popover.js +2 -2
- data/apps/core/components/public/bootstrap/js/bootstrap-scrollspy.js +2 -2
- data/apps/core/components/public/bootstrap/js/bootstrap-tab.js +2 -2
- data/apps/core/components/public/bootstrap/js/bootstrap-tooltip.js +2 -2
- data/apps/core/components/public/bootstrap/js/bootstrap-transition.js +3 -3
- data/apps/core/components/public/bootstrap/js/bootstrap-typeahead.js +2 -2
- data/apps/core/components/public/bootstrap/js/tests/index.html +0 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-alert.js +2 -2
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-button.js +25 -2
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-collapse.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-dropdown.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-modal.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-popover.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-scrollspy.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tab.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tooltip.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-transition.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-typeahead.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/vendor/jquery.js +0 -0
- data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.css +0 -0
- data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.js +0 -0
- data/apps/core/components/public/bootstrap/scss/_accordion.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_alerts.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_breadcrumbs.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_button-groups.scss +1 -1
- data/apps/core/components/public/bootstrap/scss/_buttons.scss +25 -7
- data/apps/core/components/public/bootstrap/scss/_carousel.scss +1 -1
- data/apps/core/components/public/bootstrap/scss/_close.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_code.scss +13 -0
- data/apps/core/components/public/bootstrap/scss/_component-animations.scss +2 -2
- data/apps/core/components/public/bootstrap/scss/_dropdowns.scss +2 -3
- data/apps/core/components/public/bootstrap/scss/_forms.scss +50 -44
- data/apps/core/components/public/bootstrap/scss/_grid.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_hero-unit.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_labels.scss +23 -7
- data/apps/core/components/public/bootstrap/scss/_layouts.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_mixins.scss +83 -68
- data/apps/core/components/public/bootstrap/scss/_modals.scss +11 -0
- data/apps/core/components/public/bootstrap/scss/_navbar.scss +11 -3
- data/apps/core/components/public/bootstrap/scss/_navs.scss +27 -17
- data/apps/core/components/public/bootstrap/scss/_pager.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_pagination.scss +38 -47
- data/apps/core/components/public/bootstrap/scss/_popovers.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_print.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_progress-bars.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_reset.scss +1 -1
- data/apps/core/components/public/bootstrap/scss/_scaffolding.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_sprites.scss +7 -5
- data/apps/core/components/public/bootstrap/scss/_tables.scss +14 -3
- data/apps/core/components/public/bootstrap/scss/_thumbnails.scss +2 -2
- data/apps/core/components/public/bootstrap/scss/_tooltip.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_type.scss +3 -2
- data/apps/core/components/public/bootstrap/scss/_utilities.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/_variables.scss +12 -4
- data/apps/core/components/public/bootstrap/scss/_wells.scss +0 -0
- data/apps/core/components/public/bootstrap/scss/bootstrap.css +290 -820
- data/apps/core/components/public/bootstrap/scss/bootstrap.scss +1 -1
- data/apps/core/components/public/bootstrap/scss/{bootstrap-responsive.css → responsive.css} +42 -31
- data/apps/core/components/public/bootstrap/scss/{bootstrap-responsive.scss → responsive.scss} +10 -6
- data/apps/core/components/public/css/table_base.css +0 -4
- data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/jquery.ui.sortable.js +10 -2
- data/apps/core/components/public/js/plugins/sortable.js +4 -4
- data/apps/core/components/public/js/spider.js +3 -1
- data/apps/core/components/widgets/confirm/confirm.rb +20 -7
- data/apps/core/components/widgets/table/table.shtml +1 -1
- data/apps/core/forms/public/html_area.js +5 -4
- data/apps/core/forms/public/input.js +28 -28
- data/apps/core/forms/public/search_select.js +131 -131
- data/apps/core/forms/public/select.js +16 -16
- data/apps/core/forms/widgets/form/form.rb +11 -7
- data/apps/core/forms/widgets/inputs/date_time/date_time.rb +1 -1
- data/apps/core/forms/widgets/inputs/html_area/html_area.shtml +2 -2
- data/apps/core/forms/widgets/inputs/input/input.rb +3 -1
- data/apps/messenger/lib/backends/mobyt.rb +11 -0
- data/apps/messenger/test/features/sms_mobyt.feature +24 -0
- data/apps/messenger/test/features/step_definitions/sms_mobyt.rb +21 -0
- data/apps/messenger/views/index.shtml +2 -2
- data/apps/soap/controllers/soap_controller.rb +5 -2
- data/lib/spiderfw/app.rb +13 -0
- data/lib/spiderfw/config/configuration.rb +4 -1
- data/lib/spiderfw/config/options/spider.rb +1 -1
- data/lib/spiderfw/controller/http_controller.rb +2 -0
- data/lib/spiderfw/http/adapters/rack.rb +1 -1
- data/lib/spiderfw/i18n/cldr.rb +1 -1
- data/lib/spiderfw/model/base_model.rb +5 -0
- data/lib/spiderfw/model/mappers/mapper.rb +3 -1
- data/lib/spiderfw/model/mixins/tree.rb +11 -1
- data/lib/spiderfw/model/model.rb +7 -5
- data/lib/spiderfw/model/query_set.rb +6 -0
- data/lib/spiderfw/setup/app_server_client.rb +1 -1
- data/lib/spiderfw/spider.rb +9 -9
- data/lib/spiderfw/templates/layout.rb +5 -3
- data/lib/spiderfw/templates/resources/sass.rb +31 -3
- data/lib/spiderfw/templates/template.rb +10 -9
- data/lib/spiderfw/widget/widget.rb +2 -2
- metadata +13 -17
- data/apps/core/components/public/bootstrap/scss/_custom.css +0 -0
- data/apps/core/components/public/bootstrap/scss/_patterns.scss +0 -13
- data/apps/core/components/public/bootstrap/scss/config.rb +0 -36
@@ -28,6 +28,12 @@ legend {
|
|
28
28
|
color: $grayDark;
|
29
29
|
border: 0;
|
30
30
|
border-bottom: 1px solid #eee;
|
31
|
+
|
32
|
+
// Small
|
33
|
+
small {
|
34
|
+
font-size: $baseLineHeight * .75;
|
35
|
+
color: $grayLight;
|
36
|
+
}
|
31
37
|
}
|
32
38
|
|
33
39
|
// Set font for forms
|
@@ -38,6 +44,12 @@ select,
|
|
38
44
|
textarea {
|
39
45
|
@include font-sans-serif($baseFontSize,normal,$baseLineHeight);
|
40
46
|
}
|
47
|
+
input,
|
48
|
+
button,
|
49
|
+
select,
|
50
|
+
textarea {
|
51
|
+
@include font-sans-serif(); // And only set font-family here for those that need it (note the missing label element)
|
52
|
+
}
|
41
53
|
|
42
54
|
// Identify controls by their labels
|
43
55
|
label {
|
@@ -75,22 +87,26 @@ label select {
|
|
75
87
|
}
|
76
88
|
|
77
89
|
// Mini reset for unique input types
|
78
|
-
input[type=image],
|
79
|
-
input[type=checkbox],
|
80
|
-
input[type=radio] {
|
90
|
+
input[type="image"],
|
91
|
+
input[type="checkbox"],
|
92
|
+
input[type="radio"] {
|
81
93
|
width: auto;
|
82
94
|
height: auto;
|
83
95
|
padding: 0;
|
84
96
|
margin: 3px 0;
|
85
97
|
*margin-top: 0; /* IE7 */
|
86
98
|
line-height: normal;
|
87
|
-
border: none;
|
88
99
|
cursor: pointer;
|
89
|
-
border-radius
|
100
|
+
@include border-radius(0); // Nuke border-radius for IE9 only
|
101
|
+
border: 0 \9; /* IE9 and down */
|
102
|
+
}
|
103
|
+
input[type="image"] {
|
104
|
+
border: 0;
|
90
105
|
}
|
91
106
|
|
92
107
|
// Reset the file input to browser defaults
|
93
108
|
input[type="file"] {
|
109
|
+
width: auto;
|
94
110
|
padding: initial;
|
95
111
|
line-height: initial;
|
96
112
|
border: initial;
|
@@ -115,6 +131,11 @@ input[type="file"] {
|
|
115
131
|
line-height: 28px;
|
116
132
|
}
|
117
133
|
|
134
|
+
// Reset line-height for IE
|
135
|
+
input[type="file"] {
|
136
|
+
line-height: 18px \9;
|
137
|
+
}
|
138
|
+
|
118
139
|
// Chrome on Linux and Mobile Safari need background-color
|
119
140
|
select {
|
120
141
|
width: 220px; // default input width + 10px of padding that doesn't get applied
|
@@ -132,6 +153,7 @@ input[type="image"] {
|
|
132
153
|
@include box-shadow(none);
|
133
154
|
}
|
134
155
|
|
156
|
+
// Make textarea height behave
|
135
157
|
textarea {
|
136
158
|
height: auto;
|
137
159
|
}
|
@@ -165,6 +187,7 @@ input[type="hidden"] {
|
|
165
187
|
}
|
166
188
|
|
167
189
|
// Radios and checkboxes on same line
|
190
|
+
// TODO v3: Convert .inline to .control-inline
|
168
191
|
.radio.inline,
|
169
192
|
.checkbox.inline {
|
170
193
|
display: inline-block;
|
@@ -175,11 +198,6 @@ input[type="hidden"] {
|
|
175
198
|
.checkbox.inline + .checkbox.inline {
|
176
199
|
margin-left: 10px; // space out consecutive inline controls
|
177
200
|
}
|
178
|
-
// But don't forget to remove their padding on first-child
|
179
|
-
.controls > .radio.inline:first-child,
|
180
|
-
.controls > .checkbox.inline:first-child {
|
181
|
-
padding-top: 0;
|
182
|
-
}
|
183
201
|
|
184
202
|
|
185
203
|
|
@@ -201,8 +219,8 @@ textarea:focus {
|
|
201
219
|
outline: thin dotted \9; /* IE6-8 */
|
202
220
|
}
|
203
221
|
input[type="file"]:focus,
|
222
|
+
input[type="radio"]:focus,
|
204
223
|
input[type="checkbox"]:focus,
|
205
|
-
|
206
224
|
select:focus {
|
207
225
|
@include box-shadow(none); // override for file inputs
|
208
226
|
@include tab-focus();
|
@@ -261,33 +279,6 @@ textarea[readonly] {
|
|
261
279
|
// FORM FIELD FEEDBACK STATES
|
262
280
|
// --------------------------
|
263
281
|
|
264
|
-
// Mixin for form field states
|
265
|
-
@mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
|
266
|
-
// Set the text color
|
267
|
-
> label,
|
268
|
-
.help-block,
|
269
|
-
.help-inline {
|
270
|
-
color: $textColor;
|
271
|
-
}
|
272
|
-
// Style inputs accordingly
|
273
|
-
input,
|
274
|
-
select,
|
275
|
-
textarea {
|
276
|
-
color: $textColor;
|
277
|
-
border-color: $borderColor;
|
278
|
-
&:focus {
|
279
|
-
border-color: darken($borderColor, 10%);
|
280
|
-
@include box-shadow(0 0 6px lighten($borderColor, 20%));
|
281
|
-
}
|
282
|
-
}
|
283
|
-
// Give a small background color for input-prepend/-append
|
284
|
-
.input-prepend .add-on,
|
285
|
-
.input-append .add-on {
|
286
|
-
color: $textColor;
|
287
|
-
background-color: $backgroundColor;
|
288
|
-
border-color: $textColor;
|
289
|
-
}
|
290
|
-
}
|
291
282
|
// Warning
|
292
283
|
.control-group.warning {
|
293
284
|
@include formFieldState($warningText, $warningText, $warningBackground);
|
@@ -345,6 +336,7 @@ select:focus:required:invalid {
|
|
345
336
|
// ---------
|
346
337
|
|
347
338
|
.help-block {
|
339
|
+
display: block; // account for any element using help-block
|
348
340
|
margin-top: 5px;
|
349
341
|
margin-bottom: 0;
|
350
342
|
color: $grayLight;
|
@@ -413,6 +405,7 @@ select:focus:required:invalid {
|
|
413
405
|
@include border-radius(3px 0 0 3px);
|
414
406
|
}
|
415
407
|
.uneditable-input {
|
408
|
+
border-left-color: #eee;
|
416
409
|
border-right-color: #ccc;
|
417
410
|
}
|
418
411
|
.add-on {
|
@@ -462,6 +455,10 @@ select:focus:required:invalid {
|
|
462
455
|
display: inline-block;
|
463
456
|
margin-bottom: 0;
|
464
457
|
}
|
458
|
+
// Re-hide hidden elements due to specifity
|
459
|
+
.hide {
|
460
|
+
display: none;
|
461
|
+
}
|
465
462
|
}
|
466
463
|
.form-search label,
|
467
464
|
.form-inline label,
|
@@ -478,21 +475,30 @@ select:focus:required:invalid {
|
|
478
475
|
.form-inline .input-prepend .add-on {
|
479
476
|
vertical-align: middle;
|
480
477
|
}
|
478
|
+
// Inline checkbox/radio labels
|
479
|
+
.form-search .radio,
|
480
|
+
.form-inline .radio,
|
481
|
+
.form-search .checkbox,
|
482
|
+
.form-inline .checkbox {
|
483
|
+
margin-bottom: 0;
|
484
|
+
vertical-align: middle;
|
485
|
+
}
|
481
486
|
|
482
487
|
// Margin to space out fieldsets
|
483
488
|
.control-group {
|
484
489
|
margin-bottom: $baseLineHeight / 2;
|
485
490
|
}
|
486
491
|
|
492
|
+
// Legend collapses margin, so next element is responsible for spacing
|
493
|
+
legend + .control-group {
|
494
|
+
margin-top: $baseLineHeight;
|
495
|
+
-webkit-margin-top-collapse: separate;
|
496
|
+
}
|
497
|
+
|
487
498
|
// Horizontal-specific styles
|
488
499
|
// --------------------------
|
489
500
|
|
490
501
|
.form-horizontal {
|
491
|
-
// Legend collapses margin, so we're relegated to padding
|
492
|
-
legend + .control-group {
|
493
|
-
margin-top: $baseLineHeight;
|
494
|
-
-webkit-margin-top-collapse: separate;
|
495
|
-
}
|
496
502
|
// Increase spacing between groups
|
497
503
|
.control-group {
|
498
504
|
margin-bottom: $baseLineHeight;
|
@@ -513,4 +519,4 @@ select:focus:required:invalid {
|
|
513
519
|
.form-actions {
|
514
520
|
padding-left: 160px;
|
515
521
|
}
|
516
|
-
}
|
522
|
+
}
|
File without changes
|
File without changes
|
@@ -1,16 +1,32 @@
|
|
1
1
|
// LABELS
|
2
2
|
// ------
|
3
3
|
|
4
|
+
// Base
|
4
5
|
.label {
|
5
|
-
padding:
|
6
|
-
font-size: $baseFontSize * .
|
6
|
+
padding: 2px 4px 3px;
|
7
|
+
font-size: $baseFontSize * .85;
|
7
8
|
font-weight: bold;
|
8
9
|
color: $white;
|
9
|
-
text-
|
10
|
+
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
10
11
|
background-color: $grayLight;
|
11
12
|
@include border-radius(3px);
|
12
13
|
}
|
13
|
-
|
14
|
-
|
15
|
-
.label
|
16
|
-
|
14
|
+
|
15
|
+
// Hover state
|
16
|
+
.label:hover {
|
17
|
+
color: $white;
|
18
|
+
text-decoration: none;
|
19
|
+
}
|
20
|
+
|
21
|
+
// Colors
|
22
|
+
.label-important { background-color: $errorText; }
|
23
|
+
.label-important:hover { background-color: darken($errorText, 10%); }
|
24
|
+
|
25
|
+
.label-warning { background-color: $orange; }
|
26
|
+
.label-warning:hover { background-color: darken($orange, 10%); }
|
27
|
+
|
28
|
+
.label-success { background-color: $successText; }
|
29
|
+
.label-success:hover { background-color: darken($successText, 10%); }
|
30
|
+
|
31
|
+
.label-info { background-color: $infoText; }
|
32
|
+
.label-info:hover { background-color: darken($infoText, 10%); }
|
File without changes
|
@@ -25,7 +25,7 @@
|
|
25
25
|
// ------------------
|
26
26
|
@mixin tab-focus() {
|
27
27
|
// Default
|
28
|
-
outline: thin dotted;
|
28
|
+
outline: thin dotted #333;
|
29
29
|
// Webkit
|
30
30
|
outline: 5px auto -webkit-focus-ring-color;
|
31
31
|
outline-offset: -2px;
|
@@ -89,6 +89,15 @@
|
|
89
89
|
}
|
90
90
|
}
|
91
91
|
|
92
|
+
// Text overflow
|
93
|
+
// -------------------------
|
94
|
+
// Requires inline-block or block for proper styling
|
95
|
+
@mixin text-overflow() {
|
96
|
+
overflow: hidden;
|
97
|
+
text-overflow: ellipsis;
|
98
|
+
white-space: nowrap;
|
99
|
+
}
|
100
|
+
|
92
101
|
|
93
102
|
|
94
103
|
// FONTS
|
@@ -127,9 +136,6 @@
|
|
127
136
|
|
128
137
|
|
129
138
|
|
130
|
-
|
131
|
-
|
132
|
-
|
133
139
|
// GRID SYSTEM
|
134
140
|
// --------------------------------------------------
|
135
141
|
|
@@ -167,31 +173,16 @@
|
|
167
173
|
@include gridSystem-gridColumn($gridGutterWidth);
|
168
174
|
}
|
169
175
|
// Default columns
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
.span5 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 5); }
|
175
|
-
.span6 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 6); }
|
176
|
-
.span7 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 7); }
|
177
|
-
.span8 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 8); }
|
178
|
-
.span9 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 9); }
|
179
|
-
.span10 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 10); }
|
180
|
-
.span11 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 11); }
|
181
|
-
.span12,
|
176
|
+
@for $i from 1 through $gridColumns {
|
177
|
+
.span#{$i} { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $i); }
|
178
|
+
}
|
179
|
+
|
182
180
|
.container { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 12); }
|
181
|
+
|
183
182
|
// Offset column options
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
.offset4 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 4); }
|
188
|
-
.offset5 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 5); }
|
189
|
-
.offset6 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 6); }
|
190
|
-
.offset7 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 7); }
|
191
|
-
.offset8 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 8); }
|
192
|
-
.offset9 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 9); }
|
193
|
-
.offset10 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 10); }
|
194
|
-
.offset11 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 11); }
|
183
|
+
@for $i from 1 through $gridColumns - 1 {
|
184
|
+
.offset#{$i} { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, $i); }
|
185
|
+
}
|
195
186
|
}
|
196
187
|
|
197
188
|
// Fluid grid system
|
@@ -218,18 +209,9 @@
|
|
218
209
|
margin-left: 0;
|
219
210
|
}
|
220
211
|
// Default columns
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
.span4 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 4); }
|
225
|
-
.span5 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 5); }
|
226
|
-
.span6 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 6); }
|
227
|
-
.span7 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 7); }
|
228
|
-
.span8 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 8); }
|
229
|
-
.span9 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 9); }
|
230
|
-
.span10 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 10); }
|
231
|
-
.span11 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 11); }
|
232
|
-
.span12 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 12); }
|
212
|
+
@for $i from 1 through $gridColumns {
|
213
|
+
> .span#{$i} { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, $i); }
|
214
|
+
}
|
233
215
|
}
|
234
216
|
}
|
235
217
|
|
@@ -244,18 +226,9 @@
|
|
244
226
|
input,
|
245
227
|
textarea,
|
246
228
|
.uneditable-input {
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
&.span4 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 4); }
|
251
|
-
&.span5 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 5); }
|
252
|
-
&.span6 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 6); }
|
253
|
-
&.span7 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 7); }
|
254
|
-
&.span8 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 8); }
|
255
|
-
&.span9 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 9); }
|
256
|
-
&.span10 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 10); }
|
257
|
-
&.span11 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 11); }
|
258
|
-
&.span12 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 12); }
|
229
|
+
@for $i from 1 through $gridColumns {
|
230
|
+
&.span#{$i} { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $i); }
|
231
|
+
}
|
259
232
|
}
|
260
233
|
}
|
261
234
|
|
@@ -264,8 +237,52 @@
|
|
264
237
|
|
265
238
|
|
266
239
|
|
240
|
+
// Make a Grid
|
241
|
+
// -------------------------
|
242
|
+
// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior
|
243
|
+
@mixin makeRow() {
|
244
|
+
margin-left: $gridGutterWidth * -1;
|
245
|
+
@include clearfix();
|
246
|
+
}
|
247
|
+
@mixin makeColumn($columns: 1) {
|
248
|
+
float: left;
|
249
|
+
margin-left: $gridGutterWidth;
|
250
|
+
width: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1));
|
251
|
+
}
|
252
|
+
|
267
253
|
|
268
254
|
|
255
|
+
// Form field states (used in forms.less)
|
256
|
+
// --------------------------------------------------
|
257
|
+
|
258
|
+
// Mixin for form field states
|
259
|
+
@mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
|
260
|
+
// Set the text color
|
261
|
+
> label,
|
262
|
+
.help-block,
|
263
|
+
.help-inline {
|
264
|
+
color: $textColor;
|
265
|
+
}
|
266
|
+
// Style inputs accordingly
|
267
|
+
input,
|
268
|
+
select,
|
269
|
+
textarea {
|
270
|
+
color: $textColor;
|
271
|
+
border-color: $borderColor;
|
272
|
+
&:focus {
|
273
|
+
border-color: darken($borderColor, 10%);
|
274
|
+
@include box-shadow(0 0 6px lighten($borderColor, 20%));
|
275
|
+
}
|
276
|
+
}
|
277
|
+
// Give a small background color for input-prepend/-append
|
278
|
+
.input-prepend .add-on,
|
279
|
+
.input-append .add-on {
|
280
|
+
color: $textColor;
|
281
|
+
background-color: $backgroundColor;
|
282
|
+
border-color: $textColor;
|
283
|
+
}
|
284
|
+
}
|
285
|
+
|
269
286
|
|
270
287
|
|
271
288
|
// CSS3 PROPERTIES
|
@@ -323,12 +340,12 @@
|
|
323
340
|
-o-transform: translate($x, $y);
|
324
341
|
transform: translate($x, $y);
|
325
342
|
}
|
326
|
-
@mixin
|
327
|
-
-webkit-transform:
|
328
|
-
-moz-transform:
|
329
|
-
-ms-transform:
|
330
|
-
-o-transform:
|
331
|
-
transform:
|
343
|
+
@mixin translate3d($x: 0, $y: 0, $z: 0) {
|
344
|
+
-webkit-transform: translate($x, $y, $z);
|
345
|
+
-moz-transform: translate($x, $y, $z);
|
346
|
+
-ms-transform: translate($x, $y, $z);
|
347
|
+
-o-transform: translate($x, $y, $z);
|
348
|
+
transform: translate($x, $y, $z);
|
332
349
|
}
|
333
350
|
|
334
351
|
// Background clipping
|
@@ -405,27 +422,25 @@
|
|
405
422
|
// Gradients
|
406
423
|
@mixin gradient-horizontal($startColor: #555, $endColor: #333) {
|
407
424
|
background-color: $endColor;
|
408
|
-
background-image: -khtml-gradient(linear, left top, right top, from($startColor), to($endColor)); // Konqueror
|
409
425
|
background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
|
410
426
|
background-image: -ms-linear-gradient(left, $startColor, $endColor); // IE10
|
411
|
-
background-image: -webkit-gradient(linear,
|
427
|
+
background-image: -webkit-gradient(linear, 0 0, 100% 0, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
|
412
428
|
background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
|
413
429
|
background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
|
414
430
|
background-image: linear-gradient(left, $startColor, $endColor); // Le standard
|
415
431
|
background-repeat: repeat-x;
|
416
|
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=1); // IE9 and down
|
432
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=1), $startColor, $endColor; // IE9 and down
|
417
433
|
}
|
418
434
|
@mixin gradient-vertical($startColor: #555, $endColor: #333) {
|
419
|
-
background-color: $endColor;
|
420
|
-
background-image: -khtml-gradient(linear, left top, left bottom, from($startColor), to($endColor)); // Konqueror
|
435
|
+
background-color: mix($startColor, $endColor, 60%);
|
421
436
|
background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
|
422
437
|
background-image: -ms-linear-gradient(top, $startColor, $endColor); // IE10
|
423
|
-
background-image: -webkit-gradient(linear,
|
438
|
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
|
424
439
|
background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+
|
425
440
|
background-image: -o-linear-gradient(top, $startColor, $endColor); // Opera 11.10
|
426
|
-
|
441
|
+
background-image: linear-gradient(top, $startColor, $endColor); // The standard
|
427
442
|
background-repeat: repeat-x;
|
428
|
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=0); // IE9 and down
|
443
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=0),$startColor,$endColor; // IE9 and down
|
429
444
|
}
|
430
445
|
@mixin gradient-directional($startColor: #555, $endColor: #333, $deg: 45deg) {
|
431
446
|
background-color: $endColor;
|
@@ -437,7 +452,7 @@
|
|
437
452
|
background-image: linear-gradient($deg, $startColor, $endColor); // The standard
|
438
453
|
}
|
439
454
|
@mixin gradient-vertical-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
|
440
|
-
background-color: $endColor;
|
455
|
+
background-color: mix($midColor, $endColor, 80%);
|
441
456
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
|
442
457
|
background-image: -webkit-linear-gradient($startColor, $midColor $colorStop, $endColor);
|
443
458
|
background-image: -moz-linear-gradient(top, $startColor, $midColor $colorStop, $endColor);
|
@@ -445,10 +460,10 @@
|
|
445
460
|
background-image: -o-linear-gradient($startColor, $midColor $colorStop, $endColor);
|
446
461
|
background-image: linear-gradient($startColor, $midColor $colorStop, $endColor);
|
447
462
|
background-repeat: no-repeat;
|
448
|
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=0); // IE9 and down, gets no color-stop at all the proper fallback
|
463
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=0), $startColor, $endColor; // IE9 and down, gets no color-stop at all the proper fallback
|
449
464
|
}
|
450
465
|
@mixin gradient-radial($centerColor: #555, $outsideColor: #333) {
|
451
|
-
background-color: $
|
466
|
+
background-color: $outerColor;
|
452
467
|
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($centerColor), to($outsideColor));
|
453
468
|
background-image: -webkit-radial-gradient(circle, $centerColor, $outsideColor);
|
454
469
|
background-image: -moz-radial-gradient(circle, $centerColor, $outsideColor);
|
@@ -1,6 +1,7 @@
|
|
1
1
|
// MODALS
|
2
2
|
// ------
|
3
3
|
|
4
|
+
// Recalculate z-index where appropriate
|
4
5
|
.modal-open {
|
5
6
|
.dropdown-menu { z-index: $zindexDropdown + $zindexModal; }
|
6
7
|
.dropdown.open { *z-index: $zindexDropdown + $zindexModal; }
|
@@ -8,6 +9,7 @@
|
|
8
9
|
.tooltip { z-index: $zindexTooltip + $zindexModal; }
|
9
10
|
}
|
10
11
|
|
12
|
+
// Background
|
11
13
|
.modal-backdrop {
|
12
14
|
position: fixed;
|
13
15
|
top: 0;
|
@@ -25,6 +27,7 @@
|
|
25
27
|
@include opacity(80);
|
26
28
|
}
|
27
29
|
|
30
|
+
// Base modal
|
28
31
|
.modal {
|
29
32
|
position: fixed;
|
30
33
|
top: 50%;
|
@@ -53,9 +56,17 @@
|
|
53
56
|
// Close icon
|
54
57
|
.close { margin-top: 2px; }
|
55
58
|
}
|
59
|
+
|
60
|
+
// Body (where all modal content resises)
|
56
61
|
.modal-body {
|
57
62
|
padding: 15px;
|
58
63
|
}
|
64
|
+
// Remove bottom margin if need be
|
65
|
+
.modal-body .modal-form {
|
66
|
+
margin-bottom: 0;
|
67
|
+
}
|
68
|
+
|
69
|
+
// Footer (for actions)
|
59
70
|
.modal-footer {
|
60
71
|
padding: 14px 15px 15px;
|
61
72
|
margin-bottom: 0;
|
@@ -81,7 +81,7 @@
|
|
81
81
|
margin-top: 5px; // make buttons vertically centered in navbar
|
82
82
|
}
|
83
83
|
.btn-group .btn {
|
84
|
-
margin-top: 0;
|
84
|
+
margin-top: 0; // then undo the margin here so we don't accidentally double it
|
85
85
|
}
|
86
86
|
}
|
87
87
|
|
@@ -104,6 +104,14 @@
|
|
104
104
|
input[type="radio"] {
|
105
105
|
margin-top: 3px;
|
106
106
|
}
|
107
|
+
.input-append,
|
108
|
+
.input-prepend {
|
109
|
+
margin-top: 6px;
|
110
|
+
white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
|
111
|
+
input {
|
112
|
+
margin-top: 0; // remove the margin on top since it's on the parent
|
113
|
+
}
|
114
|
+
}
|
107
115
|
}
|
108
116
|
|
109
117
|
// Navbar search
|
@@ -133,7 +141,7 @@
|
|
133
141
|
background-color: $grayLight;
|
134
142
|
background-color: rgba(255,255,255,.5);
|
135
143
|
}
|
136
|
-
// Focus states (we use .focused since
|
144
|
+
// Focus states (we use .focused since IE7-8 and down doesn't support :focus)
|
137
145
|
&:focus,
|
138
146
|
&.focused {
|
139
147
|
padding: 5px 10px;
|
@@ -194,7 +202,7 @@
|
|
194
202
|
}
|
195
203
|
// Hover
|
196
204
|
.navbar .nav > li > a:hover {
|
197
|
-
background-color: transparent
|
205
|
+
background-color: $navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active
|
198
206
|
color: $navbarLinkColorHover;
|
199
207
|
text-decoration: none;
|
200
208
|
}
|
@@ -21,6 +21,21 @@
|
|
21
21
|
background-color: $grayLighter;
|
22
22
|
}
|
23
23
|
|
24
|
+
// Nav headers (for dropdowns and lists)
|
25
|
+
.nav .nav-header {
|
26
|
+
display: block;
|
27
|
+
padding: 3px 15px;
|
28
|
+
font-size: 11px;
|
29
|
+
font-weight: bold;
|
30
|
+
line-height: $baseLineHeight;
|
31
|
+
color: $grayLight;
|
32
|
+
text-shadow: 0 1px 0 rgba(255,255,255,.5);
|
33
|
+
text-transform: uppercase;
|
34
|
+
}
|
35
|
+
// Space them out when they follow another list item (link)
|
36
|
+
.nav li + .nav-header {
|
37
|
+
margin-top: 9px;
|
38
|
+
}
|
24
39
|
|
25
40
|
|
26
41
|
// NAV LIST
|
@@ -33,28 +48,20 @@
|
|
33
48
|
}
|
34
49
|
.nav-list > li > a,
|
35
50
|
.nav-list .nav-header {
|
36
|
-
display: block;
|
37
|
-
padding: 3px 15px;
|
38
51
|
margin-left: -15px;
|
39
52
|
margin-right: -15px;
|
40
53
|
text-shadow: 0 1px 0 rgba(255,255,255,.5);
|
41
54
|
}
|
42
|
-
.nav-list
|
43
|
-
|
44
|
-
font-weight: bold;
|
45
|
-
line-height: $baseLineHeight;
|
46
|
-
color: $grayLight;
|
47
|
-
text-transform: uppercase;
|
48
|
-
}
|
49
|
-
.nav-list > li + .nav-header {
|
50
|
-
margin-top: 9px;
|
55
|
+
.nav-list > li > a {
|
56
|
+
padding: 3px 15px;
|
51
57
|
}
|
52
|
-
.nav-list .active > a
|
58
|
+
.nav-list .active > a,
|
59
|
+
.nav-list .active > a:hover {
|
53
60
|
color: $white;
|
54
61
|
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
|
55
62
|
background-color: $linkColor;
|
56
63
|
}
|
57
|
-
.nav-list
|
64
|
+
.nav-list [class^="icon-"] {
|
58
65
|
margin-right: 2px;
|
59
66
|
}
|
60
67
|
|
@@ -204,7 +211,7 @@
|
|
204
211
|
// -------------------------
|
205
212
|
.nav-tabs .active .dropdown-toggle .caret,
|
206
213
|
.nav-pills .active .dropdown-toggle .caret {
|
207
|
-
border-top-color:
|
214
|
+
border-top-color: $grayDark;
|
208
215
|
}
|
209
216
|
|
210
217
|
// Active:hover dropdown links
|
@@ -232,7 +239,7 @@
|
|
232
239
|
|
233
240
|
// Dropdowns in stacked tabs
|
234
241
|
.tabs-stacked .open > a:hover {
|
235
|
-
border-color:
|
242
|
+
border-color: $grayLight;
|
236
243
|
}
|
237
244
|
|
238
245
|
|
@@ -248,6 +255,9 @@
|
|
248
255
|
.tabbable {
|
249
256
|
@include clearfix();
|
250
257
|
}
|
258
|
+
.tab-content {
|
259
|
+
overflow: hidden; // prevent content from running below tabs
|
260
|
+
}
|
251
261
|
|
252
262
|
// Remove border on bottom, left, right
|
253
263
|
.tabs-below .nav-tabs,
|
@@ -284,8 +294,8 @@
|
|
284
294
|
border-top-color: #ddd;
|
285
295
|
}
|
286
296
|
}
|
287
|
-
.tabs-below .tabs .active > a,
|
288
|
-
.tabs-below .tabs .active > a:hover {
|
297
|
+
.tabs-below .nav-tabs .active > a,
|
298
|
+
.tabs-below .nav-tabs .active > a:hover {
|
289
299
|
border-color: transparent #ddd #ddd #ddd;
|
290
300
|
}
|
291
301
|
|
File without changes
|