summaryrefslogtreecommitdiff
path: root/addons/web/static/src/scss
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-10-09 02:08:17 +0200
committerChristophe Simonis <chs@odoo.com>2019-10-09 02:08:17 +0200
commitd74b4518052066446e2a1975a91ce53c745ca75a (patch)
treec08180f88a512d15e37fbec628931f02b3825f65 /addons/web/static/src/scss
parentec162dd0cb5622ab6e56db1a63dab5f531a96f4a (diff)
parentf4105eb9c7010f8693e5d2fd20c0bd9d9cc2e483 (diff)
[MERGE] forward port branch 13.0 up to f4105eb9c70
Diffstat (limited to 'addons/web/static/src/scss')
-rw-r--r--addons/web/static/src/scss/bootstrap_overridden.scss2
-rw-r--r--addons/web/static/src/scss/bootstrap_overridden_report.scss4
-rw-r--r--addons/web/static/src/scss/datepicker.scss14
-rw-r--r--addons/web/static/src/scss/fonts.scss8
-rw-r--r--addons/web/static/src/scss/kanban_view.scss1
-rw-r--r--addons/web/static/src/scss/kanban_view_mobile.scss1
-rw-r--r--addons/web/static/src/scss/list_view.scss178
-rw-r--r--addons/web/static/src/scss/list_view_extra.scss8
-rw-r--r--addons/web/static/src/scss/modal.scss11
-rw-r--r--addons/web/static/src/scss/search_panel.scss2
-rw-r--r--addons/web/static/src/scss/ui.scss1
-rw-r--r--addons/web/static/src/scss/utils.scss23
12 files changed, 158 insertions, 95 deletions
diff --git a/addons/web/static/src/scss/bootstrap_overridden.scss b/addons/web/static/src/scss/bootstrap_overridden.scss
index dc1c2bab30c..2bfbc0ea266 100644
--- a/addons/web/static/src/scss/bootstrap_overridden.scss
+++ b/addons/web/static/src/scss/bootstrap_overridden.scss
@@ -61,7 +61,7 @@ $component-active-bg: $gray-200 !default;
//
// Font, line-height, and color for body text, headings, and more.
-$font-family-sans-serif: "Noto", "Lucida Grande", Helvetica, Verdana, Arial, sans-serif !default;
+$font-family-sans-serif: o-add-unicode-support-font(("Lucida Grande", Helvetica, Verdana, Arial, sans-serif), 1) !default;
$font-size-base: $o-font-size-base !default;
$line-height-base: $o-line-height-base !default;
diff --git a/addons/web/static/src/scss/bootstrap_overridden_report.scss b/addons/web/static/src/scss/bootstrap_overridden_report.scss
index a6e1cd23b32..33af8de1637 100644
--- a/addons/web/static/src/scss/bootstrap_overridden_report.scss
+++ b/addons/web/static/src/scss/bootstrap_overridden_report.scss
@@ -1,2 +1,2 @@
-// remove Noto Color Emoji
-$font-family-sans-serif: "Noto", "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
+// remove Emoji fonts
+$font-family-sans-serif: o-add-unicode-support-font(("Lucida Grande", Helvetica, Verdana, Arial, sans-serif), 1);
diff --git a/addons/web/static/src/scss/datepicker.scss b/addons/web/static/src/scss/datepicker.scss
index 7232b8c97a8..efc09b2d790 100644
--- a/addons/web/static/src/scss/datepicker.scss
+++ b/addons/web/static/src/scss/datepicker.scss
@@ -84,6 +84,20 @@ div.dropdown-menu.bootstrap-datetimepicker-widget{
}
}
+.picker-switch {
+ span.fa {
+ margin: 0;
+ @include transition($btn-transition);
+ &.primary {
+ background-color: $o-brand-primary;
+ color: white;
+ &:hover {
+ background-color: darken($o-brand-primary, 10%);
+ }
+ }
+ }
+}
+
// This is rtl language specific fix
// it will fix the user agent stylesheet padding
// and transform the prev and next icons
diff --git a/addons/web/static/src/scss/fonts.scss b/addons/web/static/src/scss/fonts.scss
index d1387316e68..26996d89c4c 100644
--- a/addons/web/static/src/scss/fonts.scss
+++ b/addons/web/static/src/scss/fonts.scss
@@ -6,7 +6,7 @@ $lato-font-path: '../fonts/lato';
@mixin lato-font($type, $weight, $style) {
// Cyrillic: U+0400-04FF, U+0500-052F
@font-face {
- font-family: 'Noto';
+ font-family: 'Odoo Unicode Support Noto';
src: url('https://fonts.odoocdn.com/fonts/noto/NotoSans-#{$type}.woff2') format('woff2'),
url('https://fonts.odoocdn.com/fonts/noto/NotoSans-#{$type}.woff') format('woff'),
url('https://fonts.odoocdn.com/fonts/noto/NotoSans-#{$type}.ttf') format('truetype');
@@ -16,7 +16,7 @@ $lato-font-path: '../fonts/lato';
}
// Hebrew: U+0590-05FF, U+FB1D-FB4F
@font-face {
- font-family: 'Noto';
+ font-family: 'Odoo Unicode Support Noto';
src: url('https://fonts.odoocdn.com/fonts/noto/NotoSansHebrew-#{$type}.woff2') format('woff2'),
url('https://fonts.odoocdn.com/fonts/noto/NotoSansHebrew-#{$type}.woff') format('woff'),
url('https://fonts.odoocdn.com/fonts/noto/NotoSansHebrew-#{$type}.ttf') format('truetype');
@@ -26,7 +26,7 @@ $lato-font-path: '../fonts/lato';
}
// Arabic: U+0600-06FF, U+0750-077F
@font-face {
- font-family: 'Noto';
+ font-family: 'Odoo Unicode Support Noto';
src: url('https://fonts.odoocdn.com/fonts/noto/NotoSansArabic-#{$type}.woff2') format('woff2'),
url('https://fonts.odoocdn.com/fonts/noto/NotoSansArabic-#{$type}.woff') format('woff'),
url('https://fonts.odoocdn.com/fonts/noto/NotoSansArabic-#{$type}.ttf') format('truetype');
@@ -34,6 +34,7 @@ $lato-font-path: '../fonts/lato';
font-style: $style;
unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF;
}
+
@font-face {
font-family: 'Lato';
src: url('#{$lato-font-path}/Lato-#{$type}-webfont.eot');
@@ -44,7 +45,6 @@ $lato-font-path: '../fonts/lato';
font-weight: $weight;
font-style: $style;
}
-
@font-face {
font-family: 'Lato-#{$type}';
src: url('#{$lato-font-path}/Lato-#{$type}-webfont.eot');
diff --git a/addons/web/static/src/scss/kanban_view.scss b/addons/web/static/src/scss/kanban_view.scss
index a46d4632c24..03a3dbb26e3 100644
--- a/addons/web/static/src/scss/kanban_view.scss
+++ b/addons/web/static/src/scss/kanban_view.scss
@@ -6,7 +6,6 @@
@include media-breakpoint-down(sm) {
padding: 0px!important;
- overflow-x: auto;
}
.o_kanban_record, .o_kanban_quick_create {
diff --git a/addons/web/static/src/scss/kanban_view_mobile.scss b/addons/web/static/src/scss/kanban_view_mobile.scss
index e464fd88b8a..ccb6bc82a98 100644
--- a/addons/web/static/src/scss/kanban_view_mobile.scss
+++ b/addons/web/static/src/scss/kanban_view_mobile.scss
@@ -32,7 +32,6 @@
// [class] to get same specificity as elsewhere (kanban_view.less)
&[class] .o_kanban_group:not(.o_column_folded) {
@include o-position-absolute($top: $o-kanban-mobile-tabs-height, $left: 0, $bottom: 0);
- overflow-x: scroll;
width: 100%;
padding: 0;
margin-left: 0; // override the margin-left: -1px of the desktop mode
diff --git a/addons/web/static/src/scss/list_view.scss b/addons/web/static/src/scss/list_view.scss
index 0e62f071d42..c9562df798b 100644
--- a/addons/web/static/src/scss/list_view.scss
+++ b/addons/web/static/src/scss/list_view.scss
@@ -34,13 +34,13 @@
&.o_list_number {
text-align: right;
}
- &.o_list_char,
- &.o_list_text,
- &.o_list_many2one {
- white-space: pre-wrap;
- }
&.o_list_text {
word-break: break-word;
+ white-space: pre-wrap;
+ }
+ &.o_list_char.o_color_cell .o_field_color {
+ width: 17px;
+ height: 17px;
}
}
@@ -52,6 +52,9 @@
border-top: 2px solid #cacaca;
border-bottom: 1px solid #cacaca;
+ > tr > td {
+ @include o-text-overflow(table-cell);
+ }
.o_list_number {
text-align: right;
}
@@ -177,101 +180,103 @@
display: table-cell!important;
}
- //--------------------------------------------------------------------------
- // Edition
- //--------------------------------------------------------------------------
+ &.o_resizing tr > :not(.o_column_resizing) {
+ opacity: 0.5;
+ }
- &.o_editable_list {
- &.o_resizing tr > :not(.o_column_resizing) {
- opacity: 0.5;
- }
+ &.o_empty_list {
+ table-layout: fixed;
+ }
- &.o_empty_list {
- table-layout: fixed;
- }
+ th {
+ position: relative;
+ }
- th {
- position: relative;
- }
+ span.o_resize {
+ bottom: 0;
+ cursor: col-resize;
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 10px;
+ z-index: 1; // must be over the sort caret (::after pseudo-element)
+ }
- span.o_resize {
- bottom: 0;
- cursor: col-resize;
- position: absolute;
- right: 0;
- top: 0;
- width: 10px;
- z-index: 1; // must be over the sort caret (::after pseudo-element)
- }
+ .o_list_record_remove_header {
+ width: 32px;
+ }
- .o_list_record_remove_header {
- width: 32px;
- }
- &>tbody>tr>td.o_list_char,
- &>tbody>tr>td.o_list_many2one {
- white-space: nowrap;
- }
- // checkboxes in editable lists should be clickable and activate the row
- .o_data_row:not(.o_selected_row) .o_data_cell {
+ // checkboxes in editable lists should be clickable and activate the row
+ .o_data_row:not(.o_selected_row) .o_data_cell {
&.o_toggle_button_cell:not(.o_readonly_modifier) button, // registry: toggle_button
&.o_boolean_favorite_cell:not(.o_readonly_modifier) .o_favorite, // registry: boolean_favorite
- .custom-checkbox:not(.o_readonly_modifier) {
- pointer-events: none;
+ .custom-checkbox:not(.o_readonly_modifier) {
+ pointer-events: none;
+ }
+ }
+
+ .o_data_row:not(.o_selected_row) {
+ .o_list_many2one,
+ .o_list_char,
+ .o_list_number {
+ white-space: nowrap;
+ .o_field_widget:not(.o_row_handle) {
+ display: inline;
}
}
+ }
- .o_data_row.o_selected_row > .o_data_cell:not(.o_readonly_modifier):not(.o_invisible_modifier) {
- position: relative; // for o_field_translate
- background-color: white;
- .o_input {
- border: none;
+ .o_data_row.o_selected_row > .o_data_cell:not(.o_readonly_modifier):not(.o_invisible_modifier) {
+ position: relative; // for o_field_translate
+ background-color: white;
+ .o_input {
+ border: none;
+ padding: 0;
+ }
+ > .o_field_text {
+ vertical-align: top;
+ }
+ > .o_field_widget {
+ width: 100%;
+ > .o_external_button {
padding: 0;
+ border: none;
+ background-color: inherit;
+ margin-left: 5px;
+ font-size: 12px;
}
- > .o_field_text {
- vertical-align: top;
- }
- > .o_field_widget {
- width: 100%;
- > .o_external_button {
- padding: 0;
- border: none;
- background-color: inherit;
- margin-left: 5px;
- font-size: 12px;
- }
- }
- > .o_field_monetary input {
- width: 0; // override width: 100px and let flex makes this input grow
- margin: 0 4px;
- }
- > .o_field_many2manytags > .o_field_many2one {
- // reduce basis to prevent many2one input from going to the next line to often
- flex-basis: 40px;
- }
- .o_input_dropdown, .o_datepicker {
- > .o_input {
- padding-right: 15px; // to prevent caret overlapping
- }
- > .o_dropdown_button, .o_datepicker_button {
- margin-right: 5px;
- @include o-position-absolute(0, 0);
- }
+ }
+ > .o_field_monetary input {
+ width: 0; // override width: 100px and let flex makes this input grow
+ margin: 0 4px;
+ }
+ > .o_field_many2manytags > .o_field_many2one {
+ // reduce basis to prevent many2one input from going to the next line to often
+ flex-basis: 40px;
+ }
+ .o_input_dropdown, .o_datepicker {
+ > .o_input {
+ padding-right: 15px; // to prevent caret overlapping
}
- > input.o_field_translate, textarea.o_field_translate {
- padding-right: 25px;
- + span.o_field_translate {
- margin-left: -35px;
- padding: 0px 1px;
- text-align: right;
- width: 35px;
- vertical-align: top;
- font-size: 12px;
- }
+ > .o_dropdown_button, .o_datepicker_button {
+ margin-right: 5px;
+ @include o-position-absolute(0, 0);
}
- > .o_row_handle {
- visibility: hidden; // hide sequence when editing
+ }
+ > input.o_field_translate, textarea.o_field_translate {
+ padding-right: 25px;
+ + span.o_field_translate {
+ margin-left: -35px;
+ padding: 0px 1px;
+ text-align: right;
+ width: 35px;
+ vertical-align: top;
+ font-size: 12px;
}
}
+ > .o_row_handle {
+ visibility: hidden; // hide sequence when editing
+ }
}
.o_field_x2many_list_row_add, .o_group_field_row_add {
@@ -314,6 +319,11 @@
}
}
+.o_view_controller > .o_content > .o_list_view > .table-responsive {
+ // in main list views, let .o_content scroll
+ overflow: visible;
+}
+
// Buttons in ControlPanel
.o_list_buttons {
.o_list_button_save, .o_list_button_discard {
diff --git a/addons/web/static/src/scss/list_view_extra.scss b/addons/web/static/src/scss/list_view_extra.scss
index 9a16fb69347..ef51cfd65e0 100644
--- a/addons/web/static/src/scss/list_view_extra.scss
+++ b/addons/web/static/src/scss/list_view_extra.scss
@@ -12,7 +12,7 @@
}
}
- .o_list_table.o_editable_list .o_data_row.o_selected_row > .o_data_cell:not(.o_readonly_modifier) {
+ .o_list_table .o_data_row.o_selected_row > .o_data_cell:not(.o_readonly_modifier):not(.o_invisible_modifier) {
padding: .15rem;
.o_input {
border: none;
@@ -32,5 +32,11 @@
&.o_invalid_cell .o_input {
box-shadow: 0 0 0 1px theme-color('danger');
}
+ &.o_list_button {
+ padding: .25rem;
+ }
+ &.o_color_cell > .o_field_widget {
+ padding: .15rem;
+ }
}
}
diff --git a/addons/web/static/src/scss/modal.scss b/addons/web/static/src/scss/modal.scss
index e7243042d35..3463d9e20ac 100644
--- a/addons/web/static/src/scss/modal.scss
+++ b/addons/web/static/src/scss/modal.scss
@@ -27,6 +27,17 @@
.o_view_nocontent {
position: unset;
}
+
+ .o_modal_changes td {
+ &:first-child {
+ padding-right: 10px;
+ vertical-align: top;
+ white-space: nowrap;
+ }
+ &:not(:first-child) {
+ width: 100%;
+ }
+ }
}
.modal-footer {
diff --git a/addons/web/static/src/scss/search_panel.scss b/addons/web/static/src/scss/search_panel.scss
index 0c7b2266a25..0f45a14ac5a 100644
--- a/addons/web/static/src/scss/search_panel.scss
+++ b/addons/web/static/src/scss/search_panel.scss
@@ -14,7 +14,7 @@ $o-searchpanel-filter-default-color: #D59244;
.o_renderer_with_searchpanel {
flex: 1 1 100%;
overflow: auto; // make the renderer and search panel scroll individually
- max-height: 100%;
+ height: 100%;
}
.o_search_panel {
flex: 0 0 220px;
diff --git a/addons/web/static/src/scss/ui.scss b/addons/web/static/src/scss/ui.scss
index 5a46c9c01a8..3a2551b2f96 100644
--- a/addons/web/static/src/scss/ui.scss
+++ b/addons/web/static/src/scss/ui.scss
@@ -8,6 +8,7 @@
.ui-autocomplete {
z-index: $zindex-modal + 1;
+ max-width: 600px;
}
[aria-hidden="true"], [aria-hidden="1"] {
diff --git a/addons/web/static/src/scss/utils.scss b/addons/web/static/src/scss/utils.scss
index 9c3187d01bc..77d9749111f 100644
--- a/addons/web/static/src/scss/utils.scss
+++ b/addons/web/static/src/scss/utils.scss
@@ -173,6 +173,29 @@
}
}
+// Odoo defines a limited Noto font-family for a small variety of unicode
+// characters that are not necessary defined in the user system or even defined
+// but not properly readable. This function allows to add this font family in a
+// given font list.
+//
+// @param {list} $font - a list of font names ending with the generic one.
+// @param {integer} [$index] - the position where to add the support font, if
+// not given, it will be placed before the generic one.
+@function o-add-unicode-support-font($font, $index: false) {
+ @if $index == false {
+ $index: length($font);
+ }
+
+ $-with-support-font: ();
+ @for $i from 1 through length($font) {
+ @if $i == $index {
+ $-with-support-font: append($-with-support-font, 'Odoo Unicode Support Noto', $separator: comma);
+ }
+ $-with-support-font: append($-with-support-font, nth($font, $i), $separator: comma);
+ }
+
+ @return $-with-support-font;
+}
// Mixin which allows to extend the BS4 bg-variant mixin
@mixin o-bg-color-extension($color, $text-color, $with-muted) {}