diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-10-09 02:08:17 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-10-09 02:08:17 +0200 |
| commit | d74b4518052066446e2a1975a91ce53c745ca75a (patch) | |
| tree | c08180f88a512d15e37fbec628931f02b3825f65 /addons/web/static/src/scss | |
| parent | ec162dd0cb5622ab6e56db1a63dab5f531a96f4a (diff) | |
| parent | f4105eb9c7010f8693e5d2fd20c0bd9d9cc2e483 (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.scss | 2 | ||||
| -rw-r--r-- | addons/web/static/src/scss/bootstrap_overridden_report.scss | 4 | ||||
| -rw-r--r-- | addons/web/static/src/scss/datepicker.scss | 14 | ||||
| -rw-r--r-- | addons/web/static/src/scss/fonts.scss | 8 | ||||
| -rw-r--r-- | addons/web/static/src/scss/kanban_view.scss | 1 | ||||
| -rw-r--r-- | addons/web/static/src/scss/kanban_view_mobile.scss | 1 | ||||
| -rw-r--r-- | addons/web/static/src/scss/list_view.scss | 178 | ||||
| -rw-r--r-- | addons/web/static/src/scss/list_view_extra.scss | 8 | ||||
| -rw-r--r-- | addons/web/static/src/scss/modal.scss | 11 | ||||
| -rw-r--r-- | addons/web/static/src/scss/search_panel.scss | 2 | ||||
| -rw-r--r-- | addons/web/static/src/scss/ui.scss | 1 | ||||
| -rw-r--r-- | addons/web/static/src/scss/utils.scss | 23 |
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) {} |
