Files
odoo_source/addons/web/static/src/scss/webclient_layout.scss
T
Julien MougenotandMathieu Duckerts-Antoine fbf347498f [REF] web: Control panel Owl
Refactoring of the control panel with the Owl framework.

The MVC structure of the control panel has been changed to a 'component <-> model'
relationship. As such:
- Removed the old control panel: view/model/controller/renderer
- Created a new Owl Component (ControlPanel)
- Created a new class: the Model (an Owl Store did not fit here) and a newly
  designed ControlPanelModel extending it

Refactored all inner subcomponents, including:
- Pager
- ActionMenus (peviously SideBar)
- Filter menu
    > Custom filter item
- Group by menu
    > Custom group by item
    > Removal of groupby_menu_mixin (and refactored graph controller in sibling commit)
- Time range menu
- Favorite menu
    > Custom favorite item
    > Moved the favorite menu registry to the favorite_menu file
- Search bar
    > Removed and splitted auto-completion dropdown logic between the new SearchBar
      Component (descriptions) and to the new ControlPanelModel (domains).

The templates (all in web/base.xml) have been adapted to the new standards. Most
of the DOM structure remains unchanged with some occasional improvements (replace
hiding with not rendering, removed pointless wrapper divs, etc.).

Part of task 2196029

Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2020-03-13 14:08:33 +00:00

85 lines
2.2 KiB
SCSS

// ------------------------------------------------------------------
// Base layout rules, use the 'webclient.scss' file for styling
// ------------------------------------------------------------------
html {
height: 100%;
.o_web_client {
height: 100%;
display: flex;
flex-flow: column nowrap;
> .o_action_manager {
direction: ltr; //Define direction attribute here so when rtlcss preprocessor run, it converts it to rtl
flex: 1 1 auto;
height: 100%;
overflow: hidden;
> .o_action {
height: 100%;
display: flex;
flex-flow: column nowrap;
> .o_control_panel {
flex: 0 0 auto;
}
> .o_content {
flex: 1 1 auto;
position: relative; // Allow to redistribute the 100% height to its child
overflow: auto;
height: 100%;
}
}
}
&.o_fullscreen {
.o_main_navbar {
display: none;
}
}
.o_main_navbar {
flex: 0 0 auto;
}
.o_control_panel {
flex: 0 0 auto;
}
.o_content {
direction: ltr; //Define direction attribute here so when rtlcss preprocessor run, it converts it to rtl
flex: 1 1 auto;
position: relative; // Allow to redistribute the 100% height to its child
> .o_view_controller {
position: absolute; // Get the 100% height of its flex parent
top: 0;
right: 0;
bottom: 0;
left: 0;
height: 100%;
direction: ltr;
}
}
}
.o_loading {
position: fixed;
bottom: 0;
right: 0;
z-index: $zindex-modal + 1;
}
}
@media print {
html .o_web_client {
.o_main_navbar {
display: none;
}
.o_content {
position: static;
overflow: visible;
height: auto;
}
}
}