summaryrefslogtreecommitdiff
path: root/addons/web/static/src/scss/form_view.scss
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/web/static/src/scss/form_view.scss
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/web/static/src/scss/form_view.scss')
-rw-r--r--addons/web/static/src/scss/form_view.scss996
1 files changed, 996 insertions, 0 deletions
diff --git a/addons/web/static/src/scss/form_view.scss b/addons/web/static/src/scss/form_view.scss
new file mode 100644
index 00000000..23db8ea8
--- /dev/null
+++ b/addons/web/static/src/scss/form_view.scss
@@ -0,0 +1,996 @@
+// Define left and right padding according to screen resolution
+@mixin o-form-sheet-inner-left-padding {
+ padding-left: $o-horizontal-padding;
+ @include media-breakpoint-between(lg, xl, $o-extra-grid-breakpoints) {
+ padding-left: $o-horizontal-padding*2;
+ }
+}
+@mixin o-form-sheet-inner-right-padding {
+ padding-right: $o-horizontal-padding;
+ @include media-breakpoint-between(lg, xl, $o-extra-grid-breakpoints) {
+ padding-right: $o-horizontal-padding*2;
+ }
+}
+// Compensate margins
+@mixin o-form-sheet-negative-margin {
+ margin-left: -$o-horizontal-padding;
+ margin-right: -$o-horizontal-padding;
+ @include media-breakpoint-between(lg, xl, $o-extra-grid-breakpoints) {
+ margin-left: -$o-horizontal-padding*2;
+ margin-right: -$o-horizontal-padding*2;
+ }
+}
+
+.o_form_view {
+ background-color: $o-view-background-color;
+
+ // Utility classes
+ .oe_form_box_info {
+ @include o-webclient-padding($top: 5px, $bottom: 5px);
+ > p {
+ margin: auto;
+ }
+ }
+ .oe_text_center {
+ text-align: center;
+ }
+ .oe_grey {
+ opacity: 0.5;
+ }
+ .oe_inline {
+ width: auto!important;
+ @include media-breakpoint-up(vsm, $o-extra-grid-breakpoints) {
+ &.o_inner_group {
+ width: 1px!important;
+ }
+ }
+ }
+ .oe_left {
+ @extend .oe_inline;
+ float: left!important;
+ }
+ .oe_right {
+ @extend .oe_inline;
+ float: right!important;
+ }
+
+ @include media-breakpoint-up(vsm, $o-extra-grid-breakpoints) {
+ .o_row {
+ &, &.o_field_widget { // Some field may want to use o_row as root and these rules must prevalue
+ display: flex;
+ width: auto!important;
+ }
+
+ align-items: baseline;
+ min-width: 50px;
+ margin: 0 (-$o-form-spacing-unit/2);
+
+ > div, > span, > button, > label, > a, > input, > select { // > * did not add a level of priority to the rule
+ flex: 0 0 auto;
+ width: auto!important;
+ margin-right: $o-form-spacing-unit/2;
+ margin-left: $o-form-spacing-unit/2;
+ }
+
+ > .o_row {
+ margin: 0;
+ }
+ > .btn {
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+ > .o_field_boolean {
+ align-self: center;
+ }
+ }
+ }
+
+ .o_row > div > .o_field_widget {
+ width: 100%;
+ }
+
+ // Readonly specific rules
+ &.o_form_readonly {
+ .oe_edit_only {
+ display: none!important;
+ }
+
+ .o_row:not(.o_row_readonly) {
+ &, & > div {
+ display: inline-block;
+ }
+ }
+
+ .o_field_color_picker_preview > li > a {
+ cursor: default;
+ }
+ }
+
+ .o_form_uri {
+ display: inline-block;
+ color: $link-color;
+ &:hover {
+ color: darken($link-color, 15%);
+ }
+ > span {
+ color: $o-main-text-color;
+ &:hover {
+ color: $o-main-text-color;
+ }
+ }
+ > span:first-child {
+ color: $link-color;
+ &:hover {
+ color: darken($link-color, 15%);
+ }
+ }
+ }
+
+ // Editable specific rules
+ &.o_form_editable {
+ .oe_read_only {
+ display: none!important;
+ }
+
+ .oe_title {
+ max-width: map-get($container-max-widths, md) - (2 * $o-horizontal-padding);
+ }
+
+ @include media-breakpoint-up(vsm, $o-extra-grid-breakpoints) {
+ .o_row {
+ > .o_field_widget, > div {
+ flex: 1 1 auto;
+ width: 0!important; // 3rd flex argument does not work with input (must be auto and real width 0)
+
+ &.o_field_boolean, &.o_priority {
+ flex: 0 0 auto;
+ width: auto!important;
+ }
+ }
+ }
+ }
+ }
+
+ // No sheet
+ &.o_form_nosheet {
+ display: block;
+ @include o-webclient-padding($top: $o-sheet-vpadding, $bottom: $o-sheet-vpadding);
+
+ .o_form_statusbar {
+ margin: (-$o-sheet-vpadding) (-$o-horizontal-padding) $o-sheet-vpadding (-$o-horizontal-padding);
+ }
+ }
+
+ // Non-chatter rules
+ .o_form_sheet_bg {
+ position: relative;
+ }
+
+ // Statusbar
+ .o_form_statusbar {
+ position: relative; // Needed for the "More" dropdown
+ display: flex;
+ justify-content: space-between;
+ padding-left: $o-horizontal-padding;
+ border-bottom: 1px solid gray('400');
+ background-color: $o-view-background-color;
+
+ > .o_statusbar_buttons, > .o_statusbar_status {
+ display: flex;
+ align-items: center;
+ align-content: space-around;
+ }
+
+ > .o_field_widget {
+ align-self: center;
+ margin-bottom: 0px;
+ }
+
+ > .o_statusbar_buttons {
+ flex-flow: row wrap;
+
+ > .btn {
+ $o-statusbar-buttons-vmargin: 4px;
+ min-height: $o-statusbar-height - 2 * $o-statusbar-buttons-vmargin;
+ margin: $o-statusbar-buttons-vmargin 3px $o-statusbar-buttons-vmargin 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ }
+ }
+
+ > .o_statusbar_status {
+ margin-left: auto;
+ flex-flow: row-reverse wrap-reverse;
+ align-self: stretch;
+ align-items: stretch;
+
+ > .o_arrow_button {
+ min-height: $o-statusbar-height;
+ font-size: 11px;
+ font-weight: bold;
+ position: relative;
+ padding-left: $o-statusbar-arrow-width*2;
+ color: gray('700');
+ border-width: 0 0 0;
+ border-radius: 0;
+ transition: all 0.1s ease 0s;
+
+ &:first-child {
+ padding-right: $o-horizontal-padding; // Compensate container padding
+ overflow-x: hidden; // to prevent horizontal scroll due to last arrow
+ }
+ &:last-child {
+ padding-left: $o-horizontal-padding - 1;
+ border-left: 1px solid gray('400');
+ }
+
+ &:active {
+ box-shadow: none;
+ }
+
+ &.disabled {
+ opacity: 1.0;
+ color: $text-muted;
+ pointer-events: none;
+ border-left: 1px solid gray('300');
+ }
+
+ &:not(:first-child):before, &:not(:first-child):after {
+ content: " ";
+ display: block;
+ @include o-position-absolute(0, -$o-statusbar-arrow-width + 1);
+
+ border-top: floor($o-statusbar-height/2) solid transparent;
+ border-bottom: ceil($o-statusbar-height/2) solid transparent;
+ border-right: none;
+ border-left: $o-statusbar-arrow-width solid $o-view-background-color;
+ transition: border 0.2s ease 0s;
+ -moz-transform: scale(0.9999); // Smooth the triangle on firefox
+ }
+
+ &:not(.disabled) {
+ &:hover, &:active, &:focus {
+ color: $o-brand-primary;
+ background-color: gray('200');
+
+ &:after {
+ border-left-color: gray('200');
+ }
+ }
+ }
+
+ &:not(:first-child):before {
+ right: -$o-statusbar-arrow-width;
+ border-left-color: gray('300');
+ }
+
+ &.btn-primary.disabled {
+ color: $o-brand-odoo;
+ font-size: 11px;
+ background-color: gray('200');
+ cursor: default;
+
+ &:after {
+ border-left-color: gray('200');
+ }
+ }
+ }
+
+ }
+
+ // Touch device mode
+ > .o_statusbar_buttons > .btn-group, > .o_statusbar_status {
+ > .dropdown-toggle {
+ &:after {
+ @include o-caret-down;
+ margin-left: $o-form-spacing-unit;
+ }
+ }
+
+ > .dropdown-menu {
+ padding: 5px 0 2px 0;
+ min-width: 100px;
+
+ .dropdown-item.btn {
+ min-width: 100%;
+ margin-bottom: 3px;
+ }
+ }
+ }
+ }
+
+ // Button box
+ .oe_button_box {
+ position: relative;
+ display: block;
+ margin-bottom: $o-sheet-vpadding;
+ margin-top: -$o-sheet-vpadding;
+ @include o-form-sheet-negative-margin;
+ text-align: right;
+ // Use box-shadow instead of border-bottom because some button boxes are
+ // empty in some cases and we do not want to see a floating border in
+ // that cases.
+ box-shadow: inset 0 -1px 0 gray('400');
+
+ &.o_full .oe_stat_button:not(.o_invisible_modifier) ~ .oe_stat_button {
+ border-left: 1px solid gray('400');
+ }
+ &.o_not_full .oe_stat_button {
+ border-left: 1px solid gray('400');
+ }
+
+ > .btn.oe_stat_button, > .o_dropdown_more {
+ flex: 0 0 auto;
+ width: percentage(1/3); // Adapt the number of visible buttons for each screen width
+ @include media-breakpoint-up(md) {
+ width: percentage(1/5);
+ }
+ @include media-breakpoint-up(lg) {
+ width: percentage(1/7);
+ }
+ @include media-breakpoint-up(xl) {
+ width: percentage(1/8);
+ }
+ }
+
+ .btn.oe_stat_button {
+ color: $o-main-text-color;
+ height: $o-statbutton-height;
+ // Use !important to avoid touch_device style
+ padding: 0 $o-statbutton-spacing 0 0 !important; // padding-left will be achieved through margin-left of content
+ text-align: left;
+ white-space: nowrap;
+ background-color: transparent;
+ opacity: 0.8;
+ border-radius: 0px;
+ margin-bottom: 0; // If the button comes from a field
+
+ &:hover, &:focus {
+ background-color: rgba(black, 0.03);
+ color: inherit;
+ opacity: 1;
+ }
+
+ > .o_button_icon {
+ margin-left: $o-statbutton-spacing; // To create the button padding left (firefox bug)
+ display: inline-block;
+ vertical-align: middle;
+ line-height: $o-statbutton-height;
+ width: 30%;
+
+ &:before {
+ font-size: 22px;
+ vertical-align: middle;
+ }
+ }
+
+ > .o_field_percent_pie {
+ margin-left: $o-statbutton-spacing; // To create the button padding left (firefox bug)
+ }
+
+ // Some buttons only display text without using StatInfo template
+ > span {
+ @include o-text-overflow(block);
+ white-space: normal; // text on several lines if needed
+ }
+
+ > .o_stat_info, > span { // contains the value and text
+ display: inline-block;
+ vertical-align: middle;
+ font-weight: 500;
+
+ max-width: 70%;
+ padding-right: $o-statbutton-spacing;
+ line-height: 1.3;
+
+ > .o_stat_value, > .o_stat_text {
+ @include o-text-overflow(block);
+ }
+
+ .o_stat_value {
+ font-weight: 700;
+ color: $o-brand-odoo;
+ line-height: 1.2;
+ }
+ .o_stat_text {
+ line-height: 1.2;
+ }
+ }
+
+ &:not(:hover) .o_stat_info > .o_hover {
+ display: none !important;
+ }
+ &:hover .o_stat_info > .o_not_hover {
+ display: none !important
+ }
+
+ &.o_button_more {
+ text-align: center;
+ &:after {
+ margin-left: 5px;
+ @include o-caret-down;
+ }
+ &[aria-expanded="true"]:after {
+ margin-left: 5px;
+ @include o-caret-up;
+ }
+ }
+ }
+
+ > .o_dropdown_more {
+ @include o-position-absolute(100%, 0);
+ min-width: 0;
+ border: none;
+ border: 1px solid gray('300');
+ margin: 0;
+ padding: 0;
+ @include media-breakpoint-down(sm) {
+ // avoid b4 drowdown inline style
+ position: relative !important;
+ transform: none !important;
+ will-change: inherit!important;
+ margin-bottom: 20px;
+ width: 100%;
+ border-width: 0px;
+ }
+ > .btn.oe_stat_button {
+ width: 100%;
+ border: none;
+ border-bottom: 1px solid gray('300');
+
+ @include media-breakpoint-down(sm) {
+ display: inline-block;
+ width: percentage(1/3);
+ }
+ }
+ }
+
+ @mixin dropdownButtonsFix {
+ .btn.oe_stat_button.dropdown-item {
+ height: 44px !important;
+ padding: 5px 0 5px 0 !important;
+ border-left: none !important;
+
+ > .o_button_icon {
+ line-height: normal;
+ }
+ }
+ }
+
+ // IE 11 only
+ @media all and (-ms-high-contrast:none) {
+ @include dropdownButtonsFix
+ }
+
+ // Edge only
+ @supports (display:-ms-grid) {
+ @include dropdownButtonsFix
+ }
+ }
+
+ // Title
+ .oe_title {
+ > h1, > h2, > h3 {
+ width: 100%; // Needed because inline-block when is a hx.o_row
+ margin-top: 0;
+ margin-bottom: 0;
+ line-height: inherit;
+
+ &.d-flex > .o_input {
+ height: max-content;
+ }
+ }
+ .o_priority > .o_priority_star {
+ font-size: inherit;
+ }
+ }
+
+ // Avatar
+ .oe_avatar {
+ float: right;
+ margin-bottom: 10px;
+
+ > img {
+ max-width: $o-avatar-size;
+ max-height: $o-avatar-size;
+ vertical-align: top;
+ border: 1px solid $o-main-color-muted;
+ }
+ }
+
+ // Groups
+ .o_group {
+ display: inline-block;
+ width: 100%;
+ margin: 10px 0;
+
+ // o_group contains nested groups
+ @for $i from 1 through $o-form-group-cols {
+ .o_group_col_#{$i} {
+ display: inline-block;
+ width: floor(100% / 12 * $i);
+ vertical-align: top;
+ }
+ }
+
+ &.o_inner_group {
+ display: inline-table;
+
+ > tbody > tr > td {
+ &.o_td_label {
+ width: 0%;
+ padding: 0 15px 0 0;
+ min-width: 150px;
+ }
+ vertical-align: top;
+
+ span, .o_field_boolean, .oe_avatar, .o_form_uri {
+ &.o_field_widget {
+ width: auto;
+ }
+ }
+ }
+ }
+
+ .o_form_label {
+ font-weight: normal;
+ }
+
+ .o_field_widget {
+ width: 100%;
+
+ > .btn {
+ flex: 0 0 auto;
+ padding: 0 10px;
+ }
+ }
+
+ :not(.o_row):not(.o_data_cell) > .o_field_widget,
+ .o_row > .o_field_widget:last-child { // Note: this does not take care
+ // of an invisible last-child but
+ // it does not really matter
+ // Makes extra buttons (e.g. m2o external button) overflow on the
+ // right padding of the parent element
+ > .o_input_dropdown {
+ flex: 1 0 auto;
+ }
+ }
+
+ &.o_label_nowrap .o_form_label {
+ white-space: nowrap;
+ }
+
+ .o_td_label .o_form_label {
+ font-weight: bold;
+ margin-right: 0px;
+ }
+ }
+
+ // Separators
+ .o_horizontal_separator {
+ font-size: $h2-font-size;
+ margin: $o-form-spacing-unit 0;
+ &:empty {
+ height: $o-form-spacing-unit * 2;
+ }
+ }
+
+ // Notebooks
+ .o_notebook {
+ clear: both; // For the notebook not to have alongside floating elements
+ margin-top: $o-form-spacing-unit * 2;
+
+ .tab-content > .tab-pane {
+ padding: $o-horizontal-padding 0;
+ }
+ }
+
+ // Labels
+ .o_form_label {
+ margin: 0 $o-form-spacing-unit 0 0;
+ font-size: $font-size-base; // The label muse have the same size whatever their position
+ line-height: $line-height-base;
+ font-weight: bold;
+ }
+
+ // Form fields
+ .o_field_widget {
+ margin-bottom: $o-form-spacing-unit;
+ }
+ .o_field_widget, .btn {
+ .o_field_widget {
+ margin-bottom: 0px;
+ }
+ }
+
+ // Translate icon
+ span.o_field_translate {
+ padding: 0 $o-form-spacing-unit 0 0 !important;
+ vertical-align: top;
+ position: relative;
+ margin-left: -35px;
+ width: 35px !important; // important is usefull for textarea
+ display: inline-block;
+ text-align: right;
+ border: none; // usefull for textarea
+ }
+ input, textarea {
+ &.o_field_translate {
+ padding-right: 25px;
+ }
+ }
+ iframe.wysiwyg_iframe + .o_field_translate {
+ right: 30px !important;
+ top: 7px !important;
+ }
+
+ // Text field with oe_inline class
+ .o_field_text.oe_inline {
+ width: 100%!important;
+ @include media-breakpoint-up(vsm, $o-extra-grid-breakpoints) {
+ width: 45%!important;
+ }
+ }
+
+ // One2Many, Many2Many outside of group
+ .o_field_widget {
+ &.o_field_one2many, &.o_field_many2many {
+ width: 100%;
+ > div {
+ width: 100%;
+ }
+ }
+ }
+
+ // Specific style classes
+ .o_group.o_inner_group.oe_subtotal_footer {
+ @extend .oe_right;
+
+ > tbody > tr > td {
+ padding: 0;
+
+ &.o_td_label {
+ text-align: right;
+ }
+
+ .o_form_label {
+ padding-right: 20px;
+
+ min-width: 0;
+ white-space: nowrap;
+ &:after {
+ content: ":";
+ }
+ }
+
+ .o_field_widget {
+ text-align: right;
+ justify-content: flex-end;
+ width: 100%;
+ }
+ }
+
+ > tbody > tr:first-child > td {
+ padding-top: 4px;
+ }
+
+ .oe_subtotal_footer_separator {
+ width: 100%;
+ text-align: right;
+ border-top: 1px solid gray('300');
+ font-weight: bold;
+ font-size: 1.3em;
+ }
+ }
+
+ .o_address_format {
+ width: 100%;
+ .o_address_street, .o_address_country {
+ display: flex;
+ }
+
+ .o_address_city {
+ margin-right: 2%;
+ }
+ .o_address_state {
+ margin-right: 2%;
+ }
+ &.o_zip_city {
+ .o_address_zip {
+ margin-right: 2%;
+ }
+ .o_address_city {
+ margin-right: 0;
+ }
+ .o_address_state {
+ display: block;
+ margin-right: 0;
+ }
+ }
+ &.o_city_state {
+ .o_address_state {
+ margin-right: 0;
+ }
+ .o_address_zip {
+ display: block;
+ margin-right: 0;
+ }
+ }
+ > span.o_field_widget {
+ width: auto;
+ }
+ }
+ &.o_form_editable .o_address_format {
+ .o_address_city {
+ width: 38%;
+ }
+ div.o_address_state {
+ width: 33%;
+ }
+ input.o_address_zip {
+ width: 25%;
+ }
+ &.o_zip_city {
+ .o_address_zip {
+ width: 38%;
+ }
+ .o_address_city {
+ width: 60%;
+ }
+ .o_address_state {
+ width: 100%;
+ }
+ }
+ &.o_city_state {
+ .o_address_city {
+ width: 50%;
+ }
+ .o_address_state {
+ width: 48%;
+ }
+ .o_address_zip {
+ width: 100%;
+ }
+ }
+ }
+
+ // Boolean
+ .o_field_boolean {
+ margin-right: $o-form-spacing-unit;
+ }
+
+ // Timezone widget warning
+ .o_tz_warning {
+ color: theme-color('danger');
+ cursor: help;
+ position: absolute;
+ margin-left: 10px;
+ margin-top: 5px;
+ }
+
+ // One2Many Kanban views
+ .o_field_widget .o_kanban_view.o_kanban_ungrouped {
+ padding: 0;
+ .o_kanban_record {
+ box-shadow: none;
+ }
+ }
+
+ // One2Many List views
+ .o_field_widget .o_list_view {
+ margin-bottom: 10px;
+
+ > tfoot > tr > td {
+ padding: 3px;
+ color: $o-main-text-color;
+ }
+ }
+ &.o_form_readonly .o_field_widget .o_list_view .o_row_handle {
+ display: none; // Hide the handler in non-edit mode
+ }
+ .o_field_widget.o_readonly_modifier .o_list_view .o_row_handle {
+ display: none; // Hide the handler on readonly fields
+ }
+
+ &.oe_form_configuration {
+ .o_group .o_form_label {
+ white-space: nowrap;
+ }
+ h2 {
+ margin-top: 32px !important;
+ }
+ }
+ &.o_company_document_layout {
+ .report_layout_container {
+ display: inline-block;
+ div {
+ display: inline-block;
+ img {
+ margin-left: 0 !important;
+ }
+ }
+ }
+ img[name="logo"] {
+ max-height: 100px;
+ max-width: 300px;
+ }
+ }
+}
+
+// Overridden style when form view in modal
+.modal .modal-dialog {
+ .o_form_view {
+ .o_statusbar_buttons > .btn {
+ /**
+ * Override to prevent the status bar from increasing height when
+ * inside dialog due to the original margin on those buttons. This
+ * prevents the other status buttons, those on the far right of the
+ * bar, from having a gap between their bottom and the bottom border
+ * of the status bar itself.
+ */
+ margin-top: 2px;
+ margin-bottom: 2px;
+ }
+
+ .o_form_sheet_bg {
+ padding: 0;
+
+ > .o_form_statusbar, > .alert {
+ /**
+ * Override to prevent the status bar from overflowing on its
+ * far right. The original value is a negative margin that
+ * is supposed to compensate unwanted padding of the original
+ * view but the view inside dialog already has this padding
+ * removed.
+ */
+ margin-left: 0;
+ margin-right: 0;
+ }
+
+ > .o_form_sheet {
+ box-shadow: none;
+ width: 100%;
+ margin: 0 auto;
+ max-width: none;
+ /**
+ * Override to prevent double border, because the borders of the
+ * dialog itself or the borders of other surrounding elements
+ * (status bar, dialog footer) already act as a border for the
+ * sheet when inside dialog.
+ */
+ border: none;
+ }
+ }
+ }
+ &:not(.modal-lg) .o_form_view {
+ .o_group {
+ width: 100%;
+ }
+ }
+ .o_onboarding_payment_acquirer_wizard {
+ a[type="action"] {
+ color: $link-color;
+ cursor: pointer;
+ }
+ }
+}
+
+@media print {
+ .oe_button_box, .o_form_statusbar {
+ display: none !important;
+ }
+}
+
+// Buttons in ControlPanel
+.o_control_panel .o_form_buttons_view > button:first-child {
+ float: left; // Unfortunately needed for the bounce effect
+ margin-right: 4px;
+}
+
+
+// XXS form view specific rules
+@mixin form-break-table {
+ display: block;
+ margin-bottom: $o-form-spacing-unit * 4;
+
+ > tbody {
+ display: block;
+
+ > tr {
+ display: flex;
+ flex-flow: row wrap;
+
+ > td {
+ flex: 1 0 auto;
+ display: block;
+ max-width: 100%;
+ padding: 0;
+
+ width: auto!important; // !important is required to override the width computed in JS
+ &.o_td_label {
+ width: 94%!important; // The label must be on its own line except if the form field is small enough (checkbox)
+ line-height: $o-label-font-size-factor;
+ }
+
+ .o_field_widget {
+ margin-bottom: $o-form-spacing-unit * 2;
+
+ > .o_field_widget {
+ margin-bottom: 0;
+ }
+
+ &.o_field_boolean {
+ margin-right: 0;
+ }
+ }
+
+ .o_input_dropdown {
+ width: auto;
+ max-width: 100%;
+ }
+ }
+ }
+ }
+}
+.o_form_view.o_xxs_form_view {
+ .oe_title {
+ word-break: break-all;
+ }
+ .o_group {
+ &.o_inner_group {
+ @include form-break-table;
+ }
+ }
+}
+
+// Settings form views
+.o_settings_container {
+ display: flex;
+ flex: 0 1 auto;
+ flex-flow: row wrap;
+
+ .o_form_label.o_light_label, .o_light_label .o_form_label {
+ font-weight: normal;
+ }
+ .o_setting_box:visible:nth-child(odd) {
+ clear: left;
+ }
+ .text-muted {
+ color: #aaaaaa;
+ }
+ .o_setting_box {
+ margin-bottom: 8px;
+ margin-top: 8px;
+ .o_setting_left_pane {
+ width: 24px;
+ float: left;
+ .o_enterprise_label {
+ position: absolute;
+ top: 0px;
+ right: 40px;
+ }
+ }
+ .o_setting_right_pane {
+ margin-left: 30px;
+ border-left: 1px solid #bbbbbb;
+ padding-left: 10px;
+ .o_input_dropdown > .o_input {
+ width: 100%;
+ }
+ .o_field_widget {
+ width: 50%;
+ flex: 0 0 auto;
+
+ &.o_field_many2manytags > .o_field_widget {
+ flex: 1 0 50px;
+ }
+ }
+ button.btn-link:first-child {
+ padding: 0;
+ }
+ a.oe-link {
+ font-size: 12px;
+ }
+ }
+ }
+}