biovision-base 0.8.171029 → 0.9.171227
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +49 -0
- data/app/assets/images/biovision/base/icons/breadcrumb-hover.svg +1 -0
- data/app/assets/images/biovision/base/icons/breadcrumb.svg +1 -0
- data/app/assets/images/biovision/base/placeholders/file.svg +1 -0
- data/app/assets/javascripts/biovision/base/biovision-sliders.js +64 -0
- data/app/assets/stylesheets/biovision/base/admin.scss +66 -53
- data/app/assets/stylesheets/biovision/base/biovision.scss +107 -55
- data/app/assets/stylesheets/biovision/base/layout.scss +64 -54
- data/app/assets/stylesheets/biovision/base/tootik.scss +70 -56
- data/app/assets/stylesheets/biovision/base/track.scss +2 -10
- data/app/controllers/admin/feedback_requests_controller.rb +23 -0
- data/app/controllers/admin/media_files_controller.rb +25 -0
- data/app/controllers/admin/media_folders_controller.rb +31 -0
- data/app/controllers/errors_controller.rb +43 -0
- data/app/controllers/feedback_requests_controller.rb +23 -0
- data/app/controllers/media_files_controller.rb +104 -0
- data/app/controllers/media_folders_controller.rb +85 -0
- data/app/helpers/biovision_users_helper.rb +7 -0
- data/app/helpers/media_helper.rb +26 -0
- data/app/mailers/feedback_mailer.rb +10 -0
- data/app/models/editable_page.rb +1 -1
- data/app/models/feedback_request.rb +31 -0
- data/app/models/media_file.rb +48 -0
- data/app/models/media_folder.rb +114 -0
- data/app/models/metric.rb +4 -1
- data/app/models/privilege_group.rb +1 -1
- data/app/uploaders/media_file_uploader.rb +30 -0
- data/app/uploaders/media_snapshot_uploader.rb +32 -0
- data/app/views/admin/feedback_requests/_nav_item.html.erb +2 -0
- data/app/views/admin/feedback_requests/entity/_in_list.html.erb +18 -0
- data/app/views/admin/feedback_requests/index.html.erb +16 -0
- data/app/views/admin/index/_biovision_base.html.erb +6 -0
- data/app/views/admin/index/_custom_dashboard.html.erb +0 -0
- data/app/views/admin/index/dashboard/_biovision_feedback.html.erb +9 -0
- data/app/views/admin/index/dashboard/_biovision_region.html.erb +8 -0
- data/app/views/admin/index/dashboard/_biovision_track.html.erb +8 -0
- data/app/views/admin/index/dashboard/_biovision_user.html.erb +13 -0
- data/app/views/admin/index/dashboard/_editorial.html.erb +12 -0
- data/app/views/admin/index/dashboard/_settings.html.erb +9 -0
- data/app/views/admin/index/index.html.erb +2 -22
- data/app/views/admin/media_files/_nav_item.html.erb +2 -0
- data/app/views/admin/media_files/entity/_in_list.html.erb +26 -0
- data/app/views/admin/media_files/index.html.erb +17 -0
- data/app/views/admin/media_files/show.html.erb +60 -0
- data/app/views/admin/media_folders/_nav_item.html.erb +2 -0
- data/app/views/admin/media_folders/entity/_in_list.html.erb +32 -0
- data/app/views/admin/media_folders/files.html.erb +28 -0
- data/app/views/admin/media_folders/index.html.erb +21 -0
- data/app/views/admin/media_folders/show.html.erb +79 -0
- data/app/views/application/error.html.erb +9 -0
- data/app/views/editable_pages/_editable_page.html.erb +1 -8
- data/app/views/editable_pages/entity/_metadata.html.erb +14 -0
- data/app/views/editable_pages/form/_ckeditor.html.erb +1 -1
- data/app/views/errors/error.html.erb +7 -0
- data/app/views/feedback_mailer/new_feedback_request.html.erb +12 -0
- data/app/views/feedback_mailer/new_feedback_request.text.erb +5 -0
- data/app/views/feedback_requests/_form.html.erb +60 -0
- data/app/views/feedback_requests/create.js.erb +10 -0
- data/app/views/media_files/_form.html.erb +75 -0
- data/app/views/media_files/ckeditor.html.erb +8 -0
- data/app/views/media_files/edit.html.erb +19 -0
- data/app/views/media_files/edit.js.erb +1 -0
- data/app/views/media_files/new.html.erb +15 -0
- data/app/views/media_files/new.js.erb +1 -0
- data/app/views/media_folders/_form.html.erb +54 -0
- data/app/views/media_folders/edit.html.erb +22 -0
- data/app/views/media_folders/edit.js.erb +1 -0
- data/app/views/media_folders/new.html.erb +19 -0
- data/app/views/media_folders/new.js.erb +1 -0
- data/app/views/shared/_meta_texts.html.erb +3 -0
- data/app/views/shared/_pagination.jbuilder +3 -3
- data/app/views/shared/admin/_toggleable.html.erb +7 -0
- data/app/views/shared/editable_pages/_body.html.erb +1 -10
- data/app/views/shared/forms/_default_ajax_handler.html.erb +13 -0
- data/app/views/shared/forms/_list_of_errors.js.erb +19 -0
- data/config/locales/common-en.yml +152 -0
- data/config/locales/common-ru.yml +41 -0
- data/config/locales/feedback-en.yml +30 -0
- data/config/locales/feedback-ru.yml +36 -0
- data/config/locales/media-ru.yml +92 -0
- data/config/routes.rb +34 -0
- data/db/migrate/20170301000002_create_metric_values.rb +1 -1
- data/db/migrate/20170301000102_create_agents.rb +1 -1
- data/db/migrate/20170302000001_create_users.rb +2 -2
- data/db/migrate/20170302000002_create_user_profiles.rb +1 -1
- data/db/migrate/20170302000003_create_tokens.rb +2 -2
- data/db/migrate/20170302000005_create_codes.rb +3 -3
- data/db/migrate/20170302000102_create_user_privileges.rb +3 -3
- data/db/migrate/20170302000104_create_privilege_group_privileges.rb +2 -2
- data/db/migrate/20170425000002_create_foreign_users.rb +3 -3
- data/db/migrate/20170629120000_create_login_attempts.rb +2 -2
- data/db/migrate/20171202000000_create_media_folders.rb +28 -0
- data/db/migrate/20171202000001_create_media_files.rb +27 -0
- data/db/migrate/20171211000000_create_feedback_requests.rb +26 -0
- data/db/migrate/20171217222222_add_fields_to_feedback_requests.rb +10 -0
- data/db/migrate/20171223333333_amend_foreign_keys.rb +72 -0
- data/lib/biovision/base/base_methods.rb +1 -1
- data/lib/biovision/base/engine.rb +1 -1
- data/lib/biovision/base/version.rb +1 -1
- metadata +94 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1bb51fe50abffa84bf05497d98302f8024cb97c8174dd1107c209405cdb36bd8
|
4
|
+
data.tar.gz: 18998efeae8acc7888f2a4942117a233c346e66d3591f845938976ee94f3231e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14e334effd38045f5a5b0f69f08587d8910ad9b5d64a409b802005ebcaa814e98b35153ce36e74c289463d5f6e4bd383d525063ec6e87cc0dd0c3aafcf71c939
|
7
|
+
data.tar.gz: a00cbf51d51d0fbb5dc51028daab2909bc93ce74ec2a57ca6b633d7ef336b2d7a518b8afadfdfd5e09a3126f2d95e90e5502e7717e76498befafad15074ee393
|
data/README.md
CHANGED
@@ -19,6 +19,55 @@ Biovision::Base
|
|
19
19
|
|
20
20
|
Каждый день в 4 часа ночи будут очищаться старые жетоны.
|
21
21
|
|
22
|
+
Использование листалок
|
23
|
+
----------------------
|
24
|
+
|
25
|
+
Если контейнеру задать класс `biovision-slider` и добавить в него кнопки
|
26
|
+
с классами `prev` и `next`, а также список (`ul`), то при условии, что подгружен
|
27
|
+
файл `biovision/base/biovision-sliders.js`, к этому контейнеру применится
|
28
|
+
поведение листалки.
|
29
|
+
|
30
|
+
Параметры, которые можно задать через data-атрибуты:
|
31
|
+
|
32
|
+
* `delay` — задержка перед пролистыванием. По умолчанию — `125` (мс)
|
33
|
+
* `type` — тип. По умолчанию — `opacity` (пока это единственный вариант)
|
34
|
+
|
35
|
+
```html
|
36
|
+
<div class="biovision-slider" data-delay="250" data-type="opacity">
|
37
|
+
<button class="prev"></button>
|
38
|
+
<ul>
|
39
|
+
<li>Slide 1</li>
|
40
|
+
<li>Slide 2</li>
|
41
|
+
<li>Slide 3</li>
|
42
|
+
</ul>
|
43
|
+
<button class="next"></button>
|
44
|
+
</div>
|
45
|
+
```
|
46
|
+
|
47
|
+
```scss
|
48
|
+
.biovision-slider {
|
49
|
+
display: flex;
|
50
|
+
|
51
|
+
button {
|
52
|
+
background: lime;
|
53
|
+
flex: none;
|
54
|
+
width: 2rem;
|
55
|
+
}
|
56
|
+
|
57
|
+
ul {
|
58
|
+
display: flex;
|
59
|
+
flex: 1;
|
60
|
+
overflow: hidden;
|
61
|
+
}
|
62
|
+
|
63
|
+
li {
|
64
|
+
flex: none;
|
65
|
+
transition: .125s;
|
66
|
+
width: 20rem;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
```
|
70
|
+
|
22
71
|
## Installation
|
23
72
|
Add this line to your application's Gemfile:
|
24
73
|
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg height="12px" version="1.1" viewBox="0 0 6 12" width="6px" xmlns="http://www.w3.org/2000/svg"><polyline points="4,1 1,5.5 4,10" fill="none" stroke="#f77" /></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg height="12px" version="1.1" viewBox="0 0 6 12" width="6px" xmlns="http://www.w3.org/2000/svg"><polyline points="1,1 4,5.5 1,10" fill="none" stroke="#777" /></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable-background="new 0 0 24 24" height="24px" id="Layer_1" version="1.1" viewBox="0 0 24 24" width="24px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><path d="M13,12c1.1,0,2-0.9,2-2V5.5C15,5.2,14.8,5,14.5,5S14,5.2,14,5.5V10c0,0.6-0.4,1-1,1s-1-0.4-1-1V3c0-1.1,0.9-2,2-2 s2,0.9,2,2h1c0-1.7-1.3-3-3-3s-3,1.3-3,3v7C11,11.1,11.9,12,13,12z"/><path d="M19.9,1h-2.4C17.8,1.6,18,2.3,18,3h1v19H2V3h8c0-0.7,0.2-1.4,0.6-2H1.1C0.5,1,0,1.5,0,2.1v20.8C0,23.5,0.5,24,1.1,24h18.8 c0.6,0,1.1-0.5,1.1-1.1V2.1C21,1.5,20.5,1,19.9,1z"/><g><rect height="1" width="4" x="5" y="8"/><rect height="1" width="4" x="5" y="10"/><rect height="1" width="4" x="5" y="12"/><rect height="1" width="11" x="5" y="14"/><rect height="1" width="11" x="5" y="16"/><rect height="1" width="11" x="5" y="18"/></g></g></svg>
|
@@ -0,0 +1,64 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
document.addEventListener('DOMContentLoaded', function () {
|
4
|
+
const sliders = document.querySelectorAll('.biovision-slider');
|
5
|
+
const sliding = {
|
6
|
+
opacity: {
|
7
|
+
left: function(list, delay) {
|
8
|
+
const li = list.querySelector('li:last-of-type');
|
9
|
+
const restore_opacity = function () {
|
10
|
+
li.style.opacity = '';
|
11
|
+
};
|
12
|
+
|
13
|
+
li.style.opacity = '0';
|
14
|
+
list.prepend(li);
|
15
|
+
setTimeout(restore_opacity, delay);
|
16
|
+
},
|
17
|
+
right: function(list, delay) {
|
18
|
+
const li = list.querySelector('li:first-of-type');
|
19
|
+
const move = function () {
|
20
|
+
list.append(li);
|
21
|
+
li.style.opacity = '';
|
22
|
+
};
|
23
|
+
|
24
|
+
li.style.opacity = '0';
|
25
|
+
setTimeout(move, delay);
|
26
|
+
}
|
27
|
+
}
|
28
|
+
};
|
29
|
+
|
30
|
+
Array.prototype.slice.call(sliders).forEach(function(slider) {
|
31
|
+
const delay = slider.getAttribute('data-delay') || 125;
|
32
|
+
const list = slider.querySelector('ul');
|
33
|
+
let type = slider.getAttribute('data-type') || 'opacity';
|
34
|
+
|
35
|
+
if (!sliding.hasOwnProperty(type)) {
|
36
|
+
console.log('Invalid sliding type: ' + type);
|
37
|
+
type = 'opacity';
|
38
|
+
}
|
39
|
+
|
40
|
+
const slide_right = function () {
|
41
|
+
sliding[type].right(list, delay << 1);
|
42
|
+
};
|
43
|
+
|
44
|
+
const slide_left = function () {
|
45
|
+
sliding[type].left(list, delay);
|
46
|
+
};
|
47
|
+
|
48
|
+
slider.querySelector('button.prev').addEventListener('click', slide_left);
|
49
|
+
slider.querySelector('button.next').addEventListener('click', slide_right);
|
50
|
+
});
|
51
|
+
});
|
52
|
+
|
53
|
+
/*
|
54
|
+
|
55
|
+
<script>
|
56
|
+
'use strict';
|
57
|
+
|
58
|
+
document.addEventListener('DOMContentLoaded', function () {
|
59
|
+
const slider = document.getElementById('crew-slider');
|
60
|
+
});
|
61
|
+
</script>
|
62
|
+
|
63
|
+
|
64
|
+
*/
|
@@ -1,3 +1,7 @@
|
|
1
|
+
* {
|
2
|
+
box-sizing: border-box;
|
3
|
+
}
|
4
|
+
|
1
5
|
html {
|
2
6
|
background-attachment: fixed;
|
3
7
|
background-blend-mode: screen;
|
@@ -10,10 +14,6 @@ html {
|
|
10
14
|
-webkit-text-size-adjust: none;
|
11
15
|
}
|
12
16
|
|
13
|
-
* {
|
14
|
-
box-sizing: border-box;
|
15
|
-
}
|
16
|
-
|
17
17
|
a:link,
|
18
18
|
a:visited {
|
19
19
|
color: $link-color;
|
@@ -74,25 +74,20 @@ body {
|
|
74
74
|
flex-wrap: wrap;
|
75
75
|
margin: 0;
|
76
76
|
padding: 0;
|
77
|
+
}
|
77
78
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
a:link,
|
85
|
-
a:visited {
|
86
|
-
@include button-nav;
|
87
|
-
}
|
88
|
-
}
|
79
|
+
li {
|
80
|
+
display: inline-block;
|
81
|
+
list-style: none;
|
82
|
+
margin: 0 .25rem;
|
83
|
+
text-align: center;
|
89
84
|
}
|
90
|
-
}
|
91
|
-
}
|
92
85
|
|
93
|
-
|
94
|
-
|
95
|
-
|
86
|
+
a:link,
|
87
|
+
a:visited {
|
88
|
+
@include button-nav;
|
89
|
+
}
|
90
|
+
}
|
96
91
|
}
|
97
92
|
|
98
93
|
> footer {
|
@@ -133,32 +128,6 @@ article {
|
|
133
128
|
margin: 0 0 1.6rem 0;
|
134
129
|
padding: 0;
|
135
130
|
|
136
|
-
dt {
|
137
|
-
border-top: $border-secondary;
|
138
|
-
font: 400 $font-size-increased $font-family-main;
|
139
|
-
margin: .8rem 0 0 0;
|
140
|
-
padding: .4rem 0;
|
141
|
-
}
|
142
|
-
|
143
|
-
dd {
|
144
|
-
margin: .2rem 0;
|
145
|
-
padding: 0;
|
146
|
-
|
147
|
-
input,
|
148
|
-
textarea {
|
149
|
-
font-size: $font-size-normal;
|
150
|
-
}
|
151
|
-
|
152
|
-
input:not([type=checkbox]):not([type=radio]):not([size]):not([max]),
|
153
|
-
textarea {
|
154
|
-
width: 100%;
|
155
|
-
}
|
156
|
-
|
157
|
-
input,
|
158
|
-
textarea {
|
159
|
-
max-width: 100%;
|
160
|
-
}
|
161
|
-
}
|
162
131
|
|
163
132
|
ul {
|
164
133
|
margin: 0;
|
@@ -169,16 +138,49 @@ article {
|
|
169
138
|
margin: 0;
|
170
139
|
padding: 0;
|
171
140
|
position: relative;
|
141
|
+
}
|
172
142
|
|
173
|
-
|
174
|
-
|
175
|
-
}
|
143
|
+
label {
|
144
|
+
font-weight: normal;
|
176
145
|
}
|
177
146
|
}
|
178
147
|
}
|
179
148
|
|
149
|
+
dt {
|
150
|
+
border-top: $border-secondary;
|
151
|
+
font: 400 $font-size-increased $font-family-main;
|
152
|
+
margin: .8rem 0 0 0;
|
153
|
+
padding: .4rem 0;
|
154
|
+
}
|
155
|
+
|
156
|
+
dd {
|
157
|
+
margin: .2rem 0;
|
158
|
+
padding: 0;
|
159
|
+
|
160
|
+
input,
|
161
|
+
textarea {
|
162
|
+
font-size: $font-size-normal;
|
163
|
+
min-width: 1ch;
|
164
|
+
}
|
165
|
+
|
166
|
+
input:not([type=checkbox]):not([type=radio]):not([size]):not([max]),
|
167
|
+
textarea {
|
168
|
+
width: 100%;
|
169
|
+
}
|
170
|
+
|
171
|
+
input,
|
172
|
+
textarea {
|
173
|
+
max-width: 100%;
|
174
|
+
}
|
175
|
+
}
|
176
|
+
|
177
|
+
> nav {
|
178
|
+
margin: 1.6rem 0;
|
179
|
+
}
|
180
|
+
|
180
181
|
> section {
|
181
182
|
border-top: .1rem solid $text-color-secondary;
|
183
|
+
margin: 2.4rem auto;
|
182
184
|
padding: .8rem 0 0 0;
|
183
185
|
}
|
184
186
|
}
|
@@ -187,10 +189,14 @@ nav.admin-breadcrumbs {
|
|
187
189
|
margin-bottom: .8rem;
|
188
190
|
padding: .4rem;
|
189
191
|
|
190
|
-
a
|
191
|
-
|
192
|
-
|
193
|
-
|
192
|
+
a {
|
193
|
+
background: image_url('biovision/base/icons/breadcrumb.svg') no-repeat bottom .1rem right / .6rem 1.2rem;
|
194
|
+
padding-right: 1rem;
|
195
|
+
transition: background .25s;
|
196
|
+
|
197
|
+
&:hover {
|
198
|
+
background-image: image_url('biovision/base/icons/breadcrumb-hover.svg');
|
199
|
+
}
|
194
200
|
}
|
195
201
|
}
|
196
202
|
|
@@ -212,3 +218,10 @@ nav.admin-breadcrumbs {
|
|
212
218
|
}
|
213
219
|
}
|
214
220
|
}
|
221
|
+
|
222
|
+
#media-folder-snapshot {
|
223
|
+
img {
|
224
|
+
max-height: 8rem;
|
225
|
+
max-width: 8rem;
|
226
|
+
}
|
227
|
+
}
|
@@ -92,11 +92,9 @@ article.entity-page {
|
|
92
92
|
}
|
93
93
|
|
94
94
|
tfoot {
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
text-align: center;
|
99
|
-
}
|
95
|
+
td {
|
96
|
+
padding: .8rem 0;
|
97
|
+
text-align: center;
|
100
98
|
}
|
101
99
|
}
|
102
100
|
|
@@ -111,12 +109,12 @@ article.entity-page {
|
|
111
109
|
list-style: none;
|
112
110
|
margin: 0;
|
113
111
|
padding: 0;
|
114
|
-
|
115
|
-
label {
|
116
|
-
font-weight: normal;
|
117
|
-
}
|
118
112
|
}
|
119
113
|
}
|
114
|
+
|
115
|
+
label {
|
116
|
+
font-weight: normal;
|
117
|
+
}
|
120
118
|
}
|
121
119
|
|
122
120
|
.tree {
|
@@ -212,6 +210,7 @@ ul.actions {
|
|
212
210
|
line-height: 1.6rem;
|
213
211
|
list-style: none;
|
214
212
|
margin: .4rem;
|
213
|
+
padding: 0;
|
215
214
|
|
216
215
|
&.danger {
|
217
216
|
margin-left: 3.2rem;
|
@@ -223,22 +222,23 @@ ul.actions {
|
|
223
222
|
flex-basis: 3.6rem;
|
224
223
|
justify-content: space-between;
|
225
224
|
}
|
225
|
+
}
|
226
226
|
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
227
|
+
a,
|
228
|
+
button {
|
229
|
+
box-sizing: border-box;
|
230
|
+
display: inline-block;
|
231
|
+
font-size: 1.2rem;
|
232
|
+
height: 1.6rem;
|
233
|
+
line-height: 1.6rem;
|
234
|
+
margin: 0;
|
235
|
+
padding: 0;
|
236
|
+
width: 1.6rem;
|
237
|
+
}
|
237
238
|
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
}
|
239
|
+
img {
|
240
|
+
max-height: 1.6rem;
|
241
|
+
max-width: 1.6rem;
|
242
242
|
}
|
243
243
|
}
|
244
244
|
|
@@ -322,35 +322,40 @@ ul.actions {
|
|
322
322
|
.dashboard {
|
323
323
|
display: flex;
|
324
324
|
flex-wrap: wrap;
|
325
|
-
justify-content: space-between;
|
326
325
|
|
327
326
|
nav {
|
328
|
-
box-shadow: $block-shadow;
|
329
327
|
margin: .4rem;
|
330
|
-
|
328
|
+
width: 31rem;
|
329
|
+
}
|
331
330
|
|
332
|
-
|
333
|
-
|
334
|
-
|
331
|
+
.heading {
|
332
|
+
display: block;
|
333
|
+
font: 500 1.8rem/1.5 $font-family-heading;
|
334
|
+
text-align: center;
|
335
|
+
}
|
335
336
|
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
position: relative;
|
337
|
+
ul {
|
338
|
+
box-shadow: $block-shadow;
|
339
|
+
margin: .4rem;
|
340
|
+
padding: 0;
|
341
|
+
}
|
342
342
|
|
343
|
-
|
344
|
-
|
345
|
-
|
343
|
+
li {
|
344
|
+
background: $row-background-odd;
|
345
|
+
list-style: none;
|
346
|
+
margin: 0;
|
347
|
+
padding: .8rem;
|
348
|
+
position: relative;
|
346
349
|
|
347
|
-
|
348
|
-
|
349
|
-
font-size: $font-size-decreased;
|
350
|
-
}
|
351
|
-
}
|
350
|
+
&:nth-last-of-type(even) {
|
351
|
+
background: $row-background-even;
|
352
352
|
}
|
353
353
|
}
|
354
|
+
|
355
|
+
.description {
|
356
|
+
color: $text-color-secondary;
|
357
|
+
font-size: $font-size-decreased;
|
358
|
+
}
|
354
359
|
}
|
355
360
|
|
356
361
|
form {
|
@@ -371,16 +376,16 @@ form {
|
|
371
376
|
dl {
|
372
377
|
margin: 0;
|
373
378
|
padding: 0;
|
379
|
+
}
|
374
380
|
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
381
|
+
dd,
|
382
|
+
dt {
|
383
|
+
margin: 0;
|
384
|
+
padding: 0;
|
385
|
+
}
|
380
386
|
|
381
|
-
|
382
|
-
|
383
|
-
}
|
387
|
+
dt:not(:first-of-type) {
|
388
|
+
margin-top: .8rem;
|
384
389
|
}
|
385
390
|
|
386
391
|
ul.flags {
|
@@ -393,12 +398,59 @@ form {
|
|
393
398
|
padding: 0;
|
394
399
|
}
|
395
400
|
}
|
396
|
-
|
397
|
-
button {
|
398
|
-
@include button-action;
|
399
|
-
}
|
400
401
|
}
|
401
402
|
|
402
403
|
.hidden {
|
403
404
|
display: none !important;
|
404
405
|
}
|
406
|
+
|
407
|
+
.visually-hidden {
|
408
|
+
height: .1rem;
|
409
|
+
left: -10000rem;
|
410
|
+
opacity: .05;
|
411
|
+
overflow: hidden;
|
412
|
+
position: absolute;
|
413
|
+
width: .1rem;
|
414
|
+
}
|
415
|
+
|
416
|
+
.proportional-container {
|
417
|
+
padding: 0;
|
418
|
+
position: relative;
|
419
|
+
|
420
|
+
> * {
|
421
|
+
bottom: 0;
|
422
|
+
left: 0;
|
423
|
+
position: absolute;
|
424
|
+
right: 0;
|
425
|
+
top: 0;
|
426
|
+
}
|
427
|
+
|
428
|
+
&::before {
|
429
|
+
content: '\A';
|
430
|
+
display: block;
|
431
|
+
}
|
432
|
+
|
433
|
+
&.r-1x1::before {
|
434
|
+
padding-top: 100%;
|
435
|
+
}
|
436
|
+
|
437
|
+
&.r-5x4::before {
|
438
|
+
padding-top: 80%;
|
439
|
+
}
|
440
|
+
|
441
|
+
&.r-4x3::before {
|
442
|
+
padding-top: 75%;
|
443
|
+
}
|
444
|
+
|
445
|
+
&.r-3x2::before {
|
446
|
+
padding-top: 66.67%;
|
447
|
+
}
|
448
|
+
|
449
|
+
&.r-16x9::before {
|
450
|
+
padding-top: 56.25%;
|
451
|
+
}
|
452
|
+
|
453
|
+
&.r-2x1::before {
|
454
|
+
padding-top: 50%;
|
455
|
+
}
|
456
|
+
}
|
@@ -69,26 +69,26 @@ body {
|
|
69
69
|
margin: 0 auto;
|
70
70
|
max-width: $content-width;
|
71
71
|
padding: .4rem;
|
72
|
+
}
|
73
|
+
|
74
|
+
.authentication {
|
75
|
+
> div {
|
76
|
+
display: flex;
|
77
|
+
align-items: center;
|
78
|
+
}
|
72
79
|
|
73
|
-
.
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
&.plate {
|
87
|
-
.logout {
|
88
|
-
@include button-action;
|
89
|
-
margin-left: 1rem;
|
90
|
-
}
|
91
|
-
}
|
80
|
+
.links {
|
81
|
+
a:link,
|
82
|
+
a:visited {
|
83
|
+
@include button-nav;
|
84
|
+
margin: 0 .4rem;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
.plate {
|
89
|
+
.logout {
|
90
|
+
@include button-action;
|
91
|
+
margin-left: 1rem;
|
92
92
|
}
|
93
93
|
}
|
94
94
|
}
|
@@ -100,10 +100,10 @@ body {
|
|
100
100
|
|
101
101
|
> div {
|
102
102
|
align-items: center;
|
103
|
+
}
|
103
104
|
|
104
|
-
|
105
|
-
|
106
|
-
}
|
105
|
+
.logo {
|
106
|
+
margin-right: auto;
|
107
107
|
}
|
108
108
|
}
|
109
109
|
|
@@ -115,21 +115,21 @@ body {
|
|
115
115
|
> div {
|
116
116
|
color: $text-color-secondary;
|
117
117
|
font-size: $font-size-decreased;
|
118
|
+
}
|
118
119
|
|
119
|
-
|
120
|
-
|
120
|
+
nav {
|
121
|
+
margin: 0 auto;
|
122
|
+
}
|
121
123
|
|
122
|
-
|
123
|
-
|
124
|
-
|
124
|
+
ul {
|
125
|
+
margin: 0;
|
126
|
+
padding: 0;
|
127
|
+
}
|
125
128
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
}
|
131
|
-
}
|
132
|
-
}
|
129
|
+
li {
|
130
|
+
list-style: none;
|
131
|
+
margin: 0;
|
132
|
+
padding: 0;
|
133
133
|
}
|
134
134
|
}
|
135
135
|
}
|
@@ -144,30 +144,28 @@ body {
|
|
144
144
|
}
|
145
145
|
|
146
146
|
form {
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
padding: .4rem 0 0 0;
|
155
|
-
}
|
147
|
+
dt {
|
148
|
+
font: 500 $font-size-increased $font-family-main;
|
149
|
+
|
150
|
+
&:not(:first-of-type) {
|
151
|
+
border-top: $border-secondary;
|
152
|
+
margin: .8rem 0 0 0;
|
153
|
+
padding: .4rem 0 0 0;
|
156
154
|
}
|
155
|
+
}
|
157
156
|
|
158
|
-
|
159
|
-
|
157
|
+
dd {
|
158
|
+
padding: .2rem 0;
|
160
159
|
|
161
|
-
|
162
|
-
|
163
|
-
|
160
|
+
ul {
|
161
|
+
margin: 0 auto;
|
162
|
+
padding: 0;
|
164
163
|
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
}
|
164
|
+
li {
|
165
|
+
list-style: none;
|
166
|
+
margin: 0;
|
167
|
+
padding: 0;
|
168
|
+
position: relative;
|
171
169
|
}
|
172
170
|
}
|
173
171
|
}
|
@@ -181,3 +179,15 @@ form {
|
|
181
179
|
width: 100%;
|
182
180
|
}
|
183
181
|
}
|
182
|
+
|
183
|
+
.breadcrumbs {
|
184
|
+
a {
|
185
|
+
background: image_url('biovision/base/icons/breadcrumb.svg') no-repeat bottom .1rem right / .6rem 1.2rem;
|
186
|
+
padding-right: 1rem;
|
187
|
+
transition: background .25s;
|
188
|
+
|
189
|
+
&:hover {
|
190
|
+
background-image: image_url('biovision/base/icons/breadcrumb-hover.svg');
|
191
|
+
}
|
192
|
+
}
|
193
|
+
}
|