Browse Source

Jun 19 : [FIX] Bug Fixed 'code_backend_theme_enterprise'

pull/257/head
AjmalCybro 2 years ago
parent
commit
a5a1c80872
  1. 4
      code_backend_theme_enterprise/README.rst
  2. 4
      code_backend_theme_enterprise/__manifest__.py
  3. 1
      code_backend_theme_enterprise/doc/RELEASE_NOTES.md
  4. 1
      code_backend_theme_enterprise/hooks.py
  5. 1
      code_backend_theme_enterprise/requirements.txt
  6. 1
      code_backend_theme_enterprise/static/src/js/chrome/sidebar.js
  7. 101
      code_backend_theme_enterprise/static/src/js/fields/graph.js
  8. 26
      code_backend_theme_enterprise/static/src/scss/datetimepicker.scss
  9. 104
      code_backend_theme_enterprise/static/src/scss/navigation_bar.scss
  10. 104
      code_backend_theme_enterprise/static/src/scss/theme.scss
  11. 57
      code_backend_theme_enterprise/static/src/xml/sidebar.xml
  12. 31
      code_backend_theme_enterprise/static/src/xml/top_bar.xml
  13. 86
      code_backend_theme_enterprise/static/src/xml/web_navbar.xml

4
code_backend_theme_enterprise/README.rst

@ -14,11 +14,11 @@ General Public License, Version 3 (LGPL v3).
Company Company
------- -------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__ * `Cybrosys Techno Solutions <https://cybrosys.com/>`__
Credits Credits
------- -------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__ * `Cybrosys Techno Solutions <https://cybrosys.com/>`__
Credits : Abhijith KP @ Cybrosys Credits : Abhijith KP @ Cybrosys
v16 Ahammed Harshad P @ Cybrosys v16 Ahammed Harshad P @ Cybrosys

4
code_backend_theme_enterprise/__manifest__.py

@ -19,14 +19,12 @@
# If not, see <http://www.gnu.org/licenses/>. # If not, see <http://www.gnu.org/licenses/>.
# #
############################################################################# #############################################################################
{ {
"name": "Code Backend Theme V16 Enterprise", "name": "Code Backend Theme V16 Enterprise",
"summary": "Minimalist and elegant backend theme for Odoo 16 Enterprise", "summary": "Minimalist and elegant backend theme for Odoo 16 Enterprise",
"description": """Minimalist and elegant backend theme for Odoo 16 Backend Theme Enterprise, Enterprise Theme, Backend Theme, Enterprise Backend Theme, V16 Theme""", "description": """Minimalist and elegant backend theme for Odoo 16 Backend Theme Enterprise, Enterprise Theme, Backend Theme, Enterprise Backend Theme, V16 Theme""",
"category": "Themes/Backend", "category": "Themes/Backend",
"version": "16.0.1.0.0", "version": "16.0.1.1.0",
'author': 'Cybrosys Techno Solutions', 'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions', 'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions', 'maintainer': 'Cybrosys Techno Solutions',

1
code_backend_theme_enterprise/doc/RELEASE_NOTES.md

@ -3,4 +3,5 @@
#### 22.02.2023 #### 22.02.2023
#### Version 16.0.1.0.0 #### Version 16.0.1.0.0
#### ADD #### ADD
Initial Commit for 'Code Backend Theme V16 Enterprise' Initial Commit for 'Code Backend Theme V16 Enterprise'

1
code_backend_theme_enterprise/hooks.py

@ -19,7 +19,6 @@
# If not, see <http://www.gnu.org/licenses/>. # If not, see <http://www.gnu.org/licenses/>.
# #
############################################################################# #############################################################################
import base64 import base64
from odoo import api, SUPERUSER_ID from odoo import api, SUPERUSER_ID

1
code_backend_theme_enterprise/requirements.txt

@ -0,0 +1 @@
xmltodict==0.13.0

1
code_backend_theme_enterprise/static/src/js/chrome/sidebar.js

@ -1,7 +1,6 @@
odoo.define('code_backend_theme_enterprise.SideBar', function (require) { odoo.define('code_backend_theme_enterprise.SideBar', function (require) {
"use strict"; "use strict";
//sidebar toggle effect //sidebar toggle effect
$(document).on("click", "#closeSidebar", function(event){ $(document).on("click", "#closeSidebar", function(event){
$("#closeSidebar").hide(); $("#closeSidebar").hide();

101
code_backend_theme_enterprise/static/src/js/fields/graph.js

@ -1,101 +0,0 @@
odoo.define('code_backend_theme_enterprise.graph', function (require) {
"use strict";
var GraphRenderer = require('web.GraphRenderer');
var MyCOLORS = ["#556ee6", "#f1b44c", "#50a5f1", "#ffbb78", "#34c38f", "#98df8a", "#d62728",
"#ff9896", "#9467bd", "#c5b0d5", "#8c564b", "#c49c94", "#e377c2", "#f7b6d2",
"#7f7f7f", "#c7c7c7", "#bcbd22", "#dbdb8d", "#17becf", "#9edae5"];
var MyCOLOR_NB = MyCOLORS.length;
function hexToRGBA(hex, opacity) {
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
var rgb = result.slice(1, 4).map(function (n) {
return parseInt(n, 16);
}).join(',');
return 'rgba(' + rgb + ',' + opacity + ')';
}
return GraphRenderer.include({
_getMyColor: function (index) {
return MyCOLORS[index % MyCOLOR_NB];
},
_renderBarChart: function (dataPoints) {
var self = this;
// prepare data
var data = this._prepareData(dataPoints);
data.datasets.forEach(function (dataset, index) {
// used when stacked
dataset.stack = self.state.stacked ? self.state.origins[dataset.originIndex] : undefined;
// set dataset color
var color = self._getMyColor(index);
dataset.backgroundColor = color;
});
// prepare options
var options = this._prepareOptions(data.datasets.length);
// create chart
var ctx = document.getElementById(this.chartId);
this.chart = new Chart(ctx, {
type: 'bar',
data: data,
options: options,
});
},
_renderLineChart: function (dataPoints) {
var self = this;
// prepare data
var data = this._prepareData(dataPoints);
data.datasets.forEach(function (dataset, index) {
if (self.state.processedGroupBy.length <= 1 && self.state.origins.length > 1) {
if (dataset.originIndex === 0) {
dataset.fill = 'origin';
dataset.backgroundColor = hexToRGBA(MyCOLORS[0], 0.4);
dataset.borderColor = hexToRGBA(MyCOLORS[0], 1);
} else if (dataset.originIndex === 1) {
dataset.borderColor = hexToRGBA(MyCOLORS[1], 1);
} else {
dataset.borderColor = self._getMyColor(index);
}
} else {
dataset.borderColor = self._getMyColor(index);
}
if (data.labels.length === 1) {
// shift of the real value to right. This is done to center the points in the chart
// See data.labels below in Chart parameters
dataset.data.unshift(undefined);
}
dataset.pointBackgroundColor = dataset.borderColor;
dataset.pointBorderColor = 'rgba(0,0,0,0.2)';
});
if (data.datasets.length === 1) {
const dataset = data.datasets[0];
dataset.fill = 'origin';
dataset.backgroundColor = hexToRGBA(MyCOLORS[0], 0.4);
}
// center the points in the chart (without that code they are put on the left and the graph seems empty)
data.labels = data.labels.length > 1 ?
data.labels :
Array.prototype.concat.apply([], [[['']], data.labels, [['']]]);
// prepare options
var options = this._prepareOptions(data.datasets.length);
// create chart
var ctx = document.getElementById(this.chartId);
this.chart = new Chart(ctx, {
type: 'line',
data: data,
options: options,
});
},
});
});

26
code_backend_theme_enterprise/static/src/scss/datetimepicker.scss

@ -4,9 +4,9 @@
> thead { > thead {
> tr > .prev { > tr > .prev {
color: #fff !important; color: #fff !important;
background-color: $primary_accent !important; background-color: #556ee6 !important;
&:hover{ &:hover{
background-color: darken($primary_accent, 10%) !important; background-color: darken(#556ee6, 10%) !important;
} }
> .fa{ > .fa{
color: #fff !important; color: #fff !important;
@ -14,9 +14,9 @@
} }
> tr > .next { > tr > .next {
color: #fff !important; color: #fff !important;
background-color: $primary_accent !important; background-color: #556ee6 !important;
&:hover{ &:hover{
background-color: darken($primary_accent, 10%) !important; background-color: darken(#556ee6, 10%) !important;
} }
> .fa{ > .fa{
color: #fff !important; color: #fff !important;
@ -24,18 +24,18 @@
} }
> tr > .picker-switch { > tr > .picker-switch {
color: #fff !important; color: #fff !important;
background-color: $primary_accent !important; background-color: #556ee6 !important;
&:hover{ &:hover{
background-color: darken($primary_accent, 10%) !important; background-color: darken(#556ee6, 10%) !important;
} }
} }
} }
> tbody > tr > td { > tbody > tr > td {
&.today:before { &.today:before {
border-bottom-color: $primary_accent !important; border-bottom-color: #556ee6 !important;
} }
&.active { &.active {
background-color: $primary_accent !important; background-color: #556ee6 !important;
} }
} }
} }
@ -45,10 +45,10 @@
margin: 0; margin: 0;
@include transition($btn-transition); @include transition($btn-transition);
&.primary { &.primary {
background-color: $primary_accent; background-color: #556ee6;
color: white; color: white;
&:hover { &:hover {
background-color: darken($primary_accent, 20%); background-color: darken(#556ee6, 20%);
} }
} }
} }
@ -56,13 +56,13 @@
.daterangepicker .drp-calendar .calendar-table thead tr:first-child { .daterangepicker .drp-calendar .calendar-table thead tr:first-child {
color: #FFFFFF; color: #FFFFFF;
background-color: $primary_accent; background-color: #556ee6;
} }
.daterangepicker .drp-calendar .calendar-table tbody tr td:not(.off).active, .daterangepicker .drp-calendar .calendar-table tbody tr td:not(.off).active:hover { .daterangepicker .drp-calendar .calendar-table tbody tr td:not(.off).active, .daterangepicker .drp-calendar .calendar-table tbody tr td:not(.off).active:hover {
background-color: $primary_accent; background-color: #556ee6;
} }
.daterangepicker .drp-calendar .calendar-table thead tr:first-child th.prev:hover, .daterangepicker .drp-calendar .calendar-table thead tr:first-child th.next:hover { .daterangepicker .drp-calendar .calendar-table thead tr:first-child th.prev:hover, .daterangepicker .drp-calendar .calendar-table thead tr:first-child th.next:hover {
background-color: darken($primary_accent, 20%); background-color: darken(#556ee6, 20%);
} }

104
code_backend_theme_enterprise/static/src/scss/navigation_bar.scss

@ -15,16 +15,16 @@ margin-right: 30px !important;
color: #ffffff !important; color: #ffffff !important;
} }
.o_main_navbar, .btn-primary, .btn-primary:active, .o_searchview_facet_label { .o_main_navbar, .btn-primary, .btn-primary:active, .o_searchview_facet_label {
background-color: $primary_accent !important; background-color: #556ee6 !important;
color: $inverse_accent !important; color: #ffffff !important;
} }
.o_search_panel_section_icon { .o_search_panel_section_icon {
color: $primary_accent !important; color: #556ee6 !important;
} }
.btn-secondary { .btn-secondary {
border-radius: 0; border-radius: 0;
border: solid 1px $primary_accent !important; border: solid 1px #556ee6 !important;
color: $primary_accent !important; color: #556ee6 !important;
} }
.o_list_renderer .o_list_table thead { .o_list_renderer .o_list_table thead {
position: sticky; position: sticky;
@ -32,7 +32,7 @@ color: #ffffff !important;
} }
.breadcrumb-item > a, .o_menu_item > a { .breadcrumb-item > a, .o_menu_item > a {
color: $primary_accent !important; color: #556ee6 !important;
} }
.fa-trash { .fa-trash {
@ -40,15 +40,15 @@ color: #ffffff !important;
} }
.o_main_navbar > a:hover { .o_main_navbar > a:hover {
background-color: lighten($primary_accent, 10%) !important; background-color: lighten(#556ee6, 10%) !important;
} }
.o_main_navbar > .o_menu_sections > li > a:hover, .o_main_navbar > .o_menu_systray > li > a:hover, .o_main_navbar > .o_menu_sections > li.show > a, .o_main_navbar > .o_menu_systray > li.show > a { .o_main_navbar > .o_menu_sections > li > a:hover, .o_main_navbar > .o_menu_systray > li > a:hover, .o_main_navbar > .o_menu_sections > li.show > a, .o_main_navbar > .o_menu_systray > li.show > a {
background-color: lighten($primary_accent, 10%) !important; background-color: lighten(#556ee6, 10%) !important;
} }
.o_main_navbar > .o_menu_apps > li > a:hover, .o_main_navbar > .o_menu_apps > li > a:active { .o_main_navbar > .o_menu_apps > li > a:hover, .o_main_navbar > .o_menu_apps > li > a:active {
background-color: lighten($primary_accent, 10%) !important; background-color: lighten(#556ee6, 10%) !important;
} }
.o_main_navbar > .o_menu_apps > .dropdown.show > .dropdown-menu.show { .o_main_navbar > .o_menu_apps > .dropdown.show > .dropdown-menu.show {
@ -56,7 +56,7 @@ color: #ffffff !important;
height: 93vh !important; height: 93vh !important;
} }
.o_main_navbar > .o_menu_apps > .dropdown.show > .dropdown-menu.show > a { .o_main_navbar > .o_menu_apps > .dropdown.show > .dropdown-menu.show > a {
//border-bottom: 1px solid lighten($primary_accent, 30%); //border-bottom: 1px solid lighten(#556ee6, 30%);
} }
.o_mail_discuss_sidebar { .o_mail_discuss_sidebar {
@ -64,7 +64,7 @@ color: #ffffff !important;
} }
.dropdown-toggle:after { .dropdown-toggle:after {
background-color: lighten($primary_accent, 10%) !important; background-color: lighten(#556ee6, 10%) !important;
} }
.o_external_button { .o_external_button {
@ -72,25 +72,25 @@ color: #ffffff !important;
} }
.o_field_x2many_list_row_add > a { .o_field_x2many_list_row_add > a {
color: $primary_accent !important; color: #556ee6 !important;
} }
.nav-item > a { .nav-item > a {
color: $primary_accent !important; color: #556ee6 !important;
} }
.o_main_navbar > .o_menu_apps > li > a > i { .o_main_navbar > .o_menu_apps > li > a > i {
color: $inverse_accent !important; color: #ffffff !important;
font-size: 16px !important; font-size: 16px !important;
} }
.o_form_uri > span { .o_form_uri > span {
color: $primary_accent !important; color: #556ee6 !important;
} }
.o_required_modifier.o_input { .o_required_modifier.o_input {
background-color: $inverse_accent !important; background-color: #ffffff !important;
color: $primary_accent !important; color: #556ee6 !important;
border-left: solid 3px #f46a6a !important; border-left: solid 3px #f46a6a !important;
} }
@ -102,15 +102,15 @@ color: #ffffff !important;
padding: 0px !important; padding: 0px !important;
} }
.o-no-caret > i, button[aria-pressed=true] { .o-no-caret > i, button[aria-pressed=true] {
color: $inverse_accent !important; color: #ffffff !important;
} }
.o_loading { .o_loading {
background-color: $primary_accent; background-color: #556ee6;
} }
.fas { .fas {
color: $inverse_accent !important; color: #ffffff !important;
} }
.dashboard_mainbar { .dashboard_mainbar {
@ -127,12 +127,12 @@ color: #ffffff !important;
} }
.o_required_modifier.o_input, .o_required_modifier.o_input { .o_required_modifier.o_input, .o_required_modifier.o_input {
background-color: $inverse_accent !important; background-color: #ffffff !important;
color: $primary_accent !important; color: #556ee6 !important;
border-left: solid 3px #f46a6a !important; border-left: solid 3px #f46a6a !important;
} }
.o_required_modifier .o_input, .o_required_modifier .o_input { .o_required_modifier .o_input, .o_required_modifier .o_input {
background-color: $inverse_accent !important; background-color: #ffffff !important;
} }
@ -142,81 +142,81 @@ color: #ffffff !important;
} }
.o_required_modifier > .o_input_dropdown > .ui-autocomplete-input { .o_required_modifier > .o_input_dropdown > .ui-autocomplete-input {
background-color: $inverse_accent !important; background-color: #ffffff !important;
color: $primary_accent !important; color: #556ee6 !important;
border-left: solid 3px #f46a6a !important; border-left: solid 3px #f46a6a !important;
} }
.o_datepicker.o_field_date.o_field_widget.o_required_modifier > input { .o_datepicker.o_field_date.o_field_widget.o_required_modifier > input {
background-color: $inverse_accent !important; background-color: #ffffff !important;
color: $primary_accent !important; color: #556ee6 !important;
border-left: solid 3px #f46a6a !important; border-left: solid 3px #f46a6a !important;
} }
.ui-state-active { .ui-state-active {
background-color: $primary_accent !important; background-color: #556ee6 !important;
color: $inverse_accent !important; color: #ffffff !important;
} }
.oe_search_bgnd { .oe_search_bgnd {
background-color: lighten($primary_accent, 20%) !important; background-color: lighten(#556ee6, 20%) !important;
color: $inverse_accent !important; color: #ffffff !important;
} }
.oe_search_tab { .oe_search_tab {
background-color: $primary_accent !important; background-color: #556ee6 !important;
color: $inverse_accent !important; color: #ffffff !important;
} }
.o_horizontal_separator { .o_horizontal_separator {
color: $primary_accent !important color: #556ee6 !important
} }
.o_field_widget.o_field_image .o_form_image_controls { .o_field_widget.o_field_image .o_form_image_controls {
background-color: $primary_accent !important; background-color: #556ee6 !important;
} }
.o_field_widget.o_field_image .o_form_image_controls > button { .o_field_widget.o_field_image .o_form_image_controls > button {
color: $inverse_accent !important; color: #ffffff !important;
} }
.dropdown-item.o_app.mt0:hover , .dropdown-item.o_app.mt0:hover > .a_app_menu_title{ .dropdown-item.o_app.mt0:hover , .dropdown-item.o_app.mt0:hover > .a_app_menu_title{
background-color: $primary_accent !important; background-color: #556ee6 !important;
color: $inverse_accent !important; color: #ffffff !important;
} }
.o_address_country{ .o_address_country{
display: none !important; display: none !important;
} }
div.o_boolean_toggle.custom-control.o-checkbox > input.custom-control-input:checked + label.form-check-label::before { div.o_boolean_toggle.custom-control.o-checkbox > input.custom-control-input:checked + label.form-check-label::before {
background-color: $primary_accent !important; background-color: #556ee6 !important;
} }
div.o_boolean_toggle.custom-control.o-checkbox > input.custom-control-input:checked + label.form-check-label::before { div.o_boolean_toggle.custom-control.o-checkbox > input.custom-control-input:checked + label.form-check-label::before {
background-color: $primary_accent !important; background-color: #556ee6 !important;
} }
.o_mail_systray_item .o_mail_systray_dropdown .o_mail_systray_dropdown_top .o_filter_button.active { .o_mail_systray_item .o_mail_systray_dropdown .o_mail_systray_dropdown_top .o_filter_button.active {
color: $primary_accent; color: #556ee6;
text-decoration: none; text-decoration: none;
} }
.o_mail_user_status.o_user_online { .o_mail_user_status.o_user_online {
color: #fff !important; color: #fff !important;
} }
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled::after { .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled::after {
border-left-color: $primary_accent !important; border-left-color: #556ee6 !important;
} }
.btn-link { .btn-link {
font-weight: 400; font-weight: 400;
color: $primary_accent !important; color: #556ee6 !important;
text-decoration: none; text-decoration: none;
} }
.o_thread_window_header { .o_thread_window_header {
background-color: $primary_accent !important; background-color: #556ee6 !important;
} }
.o_thread_window_close,.o_thread_window_expand{ .o_thread_window_close,.o_thread_window_expand{
color: $inverse_accent !important; color: #ffffff !important;
} }
.o_menu_sections, .o_menu_systray, .o_web_client > header{ .o_menu_sections, .o_menu_systray, .o_web_client > header{
background: $primary_accent !important; background: #556ee6 !important;
} }
.fa-building-o{ .fa-building-o{
color: white !important; color: white !important;
@ -266,14 +266,14 @@ border: solid 2px #cf4137 !important;
} }
.report_button{ .report_button{
border-radius: 0 !important; border-radius: 0 !important;
border: solid 2px $primary_accent; border: solid 2px #556ee6;
background: $primary_accent !important; background: #556ee6 !important;
} }
.report_button:hover,.report_button:active{ .report_button:hover,.report_button:active{
border-radius: 0 !important; border-radius: 0 !important;
border: solid 2px $primary_accent !important; border: solid 2px #556ee6 !important;
color: $primary_accent !important; color: #556ee6 !important;
background: $inverse_accent !important; background: #ffffff !important;
} }
.btn-primary{ .btn-primary{
border-radius: 0 !important; border-radius: 0 !important;
@ -415,7 +415,7 @@ ul.o_menu_sections{
.o_menu_toggle{ .o_menu_toggle{
scale: 1.5; scale: 1.5;
color: $f_color; color: #555b6d;
margin-top: 1px; margin-top: 1px;
} }
nav.o_main_navbar.small_nav { nav.o_main_navbar.small_nav {

104
code_backend_theme_enterprise/static/src/scss/theme.scss

@ -51,7 +51,7 @@ button.o_hr_attendance_sign_in_out_icon{
} }
.o_main_navbar .dropdown .dropdown-toggle:hover, .o_main_navbar .o_nav_entry:hover, .o_main_navbar > .o_menu_sections > div:hover, .o_main_navbar > .o_menu_sections > div > a:hover, .o_main_navbar .o_menu_systray > div:hover, .o_main_navbar .o_menu_systray > div > a:hover, .o_main_navbar .o_menu_toggle:hover, .o_main_navbar .o_navbar_apps_menu:hover, .o_main_navbar .o_menu_brand:hover, .o_main_navbar .dropdown .dropdown-toggle:focus, .o_main_navbar .o_nav_entry:focus, .o_main_navbar > .o_menu_sections > div:focus, .o_main_navbar > .o_menu_sections > div > a:focus, .o_main_navbar .o_menu_systray > div:focus, .o_main_navbar .o_menu_systray > div > a:focus, .o_main_navbar .o_menu_toggle:focus, .o_main_navbar .o_navbar_apps_menu:focus, .o_main_navbar .o_menu_brand:focus, .o_main_navbar .dropdown .focus.dropdown-toggle, .o_main_navbar .focus.o_nav_entry, .o_main_navbar > .o_menu_sections > div.focus, .o_main_navbar > .o_menu_sections > div > a.focus, .o_main_navbar .o_menu_systray > div.focus, .o_main_navbar .o_menu_systray > div > a.focus, .o_main_navbar .focus.o_menu_toggle, .o_main_navbar .focus.o_navbar_apps_menu, .o_main_navbar .focus.o_menu_brand { .o_main_navbar .dropdown .dropdown-toggle:hover, .o_main_navbar .o_nav_entry:hover, .o_main_navbar > .o_menu_sections > div:hover, .o_main_navbar > .o_menu_sections > div > a:hover, .o_main_navbar .o_menu_systray > div:hover, .o_main_navbar .o_menu_systray > div > a:hover, .o_main_navbar .o_menu_toggle:hover, .o_main_navbar .o_navbar_apps_menu:hover, .o_main_navbar .o_menu_brand:hover, .o_main_navbar .dropdown .dropdown-toggle:focus, .o_main_navbar .o_nav_entry:focus, .o_main_navbar > .o_menu_sections > div:focus, .o_main_navbar > .o_menu_sections > div > a:focus, .o_main_navbar .o_menu_systray > div:focus, .o_main_navbar .o_menu_systray > div > a:focus, .o_main_navbar .o_menu_toggle:focus, .o_main_navbar .o_navbar_apps_menu:focus, .o_main_navbar .o_menu_brand:focus, .o_main_navbar .dropdown .focus.dropdown-toggle, .o_main_navbar .focus.o_nav_entry, .o_main_navbar > .o_menu_sections > div.focus, .o_main_navbar > .o_menu_sections > div > a.focus, .o_main_navbar .o_menu_systray > div.focus, .o_main_navbar .o_menu_systray > div > a.focus, .o_main_navbar .focus.o_menu_toggle, .o_main_navbar .focus.o_navbar_apps_menu, .o_main_navbar .focus.o_menu_brand {
color: $f_color; color: #555b6d;
} }
//Top Bar //Top Bar
body { body {
@ -59,10 +59,10 @@ body {
background-color: #f8f8fb; background-color: #f8f8fb;
} }
a { a {
color: $primary_accent; color: #556ee6;
} }
a:hover { a:hover {
color: $primary_hover; color: #485ec4;
} }
a.btn { a.btn {
height: auto !important; height: auto !important;
@ -71,20 +71,20 @@ a.btn {
.o_main_navbar, .o_searchview_facet_label { .o_main_navbar, .o_searchview_facet_label {
background-color: transparent !important; background-color: transparent !important;
color: $f_color !important; color: #555b6d !important;
border:1px !important; border:1px !important;
} }
.o_menu_sections, .o_menu_systray, .o_web_client > header{ .o_menu_sections, .o_menu_systray, .o_web_client > header{
background: $bg_white !important; background: #ffffff !important;
} }
.oe_title{ .oe_title{
padding: 10px; padding: 10px;
} }
.oe_topbar_name { .oe_topbar_name {
color: $f_color !important; color: #555b6d !important;
} }
.o_main_navbar > .o_menu_apps > li > a > i { .o_main_navbar > .o_menu_apps > li > a > i {
color: $f_color !important; color: #555b6d !important;
font-size: 16px !important; font-size: 16px !important;
} }
.o_main_navbar { .o_main_navbar {
@ -114,18 +114,18 @@ background: $bg_white !important;
.top_heading li { .top_heading li {
list-style: none; list-style: none;
} }
//herereed
.o-no-caret > i, button[aria-pressed="true"] { .o-no-caret > i, button[aria-pressed="true"] {
color: $f_color !important; color: #555b6d !important;
} }
.o_main_navbar > ul > li > a, .o_main_navbar > ul > li > label { .o_main_navbar > ul > li > a, .o_main_navbar > ul > li > label {
height: 46px; height: 46px;
padding: 0 5px; padding: 0 5px;
color: $f_color !important; color: #555b6d !important;
line-height: 46px; line-height: 46px;
} }
.o_main_navbar > .o_menu_sections > li > a:hover, .o_main_navbar > .o_menu_systray > li > a:hover, .o_main_navbar > .o_menu_sections > li.show > a, .o_main_navbar > .o_menu_systray > li.show > a { .o_main_navbar > .o_menu_sections > li > a:hover, .o_main_navbar > .o_menu_systray > li > a:hover, .o_main_navbar > .o_menu_sections > li.show > a, .o_main_navbar > .o_menu_systray > li.show > a {
background-color: $bg_white !important; background-color: #ffffff !important;
} }
@ -214,7 +214,7 @@ background: $bg_white !important;
} }
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):before { .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):before {
right: -11px; right: -11px;
border-left-color: $primary_accent !important; border-left-color: #556ee6 !important;
} }
//Top Bar End //Top Bar End
@ -244,14 +244,14 @@ background: $bg_white !important;
} }
.btn-primary { .btn-primary {
color: #fff !important; color: #fff !important;
background-color: $primary_accent !important; background-color: #556ee6 !important;
border-color: $primary_accent !important; border-color: #556ee6 !important;
min-height:auto; min-height:auto;
margin: 0.25rem; margin: 0.25rem;
} }
.btn-primary:hover { .btn-primary:hover {
color: #fff !important; color: #fff !important;
background-color: $primary_hover !important; background-color: #485ec4 !important;
border-color: #4458b8 !important; border-color: #4458b8 !important;
} }
.btn-primary:active { .btn-primary:active {
@ -561,7 +561,7 @@ th.o_list_record_selector {
.o-checkbox .form-check-input:disabled:checked ~ .form-check-label::before { .o-checkbox .form-check-input:disabled:checked ~ .form-check-label::before {
background-color: $primary_accent; background-color: #556ee6;
} }
.o-checkbox input:checked + label::after { .o-checkbox input:checked + label::after {
@ -618,7 +618,7 @@ th.o_list_record_selector {
vertical-align: middle; vertical-align: middle;
border: 1px solid rgba(85,110,230,.25)!important; border: 1px solid rgba(85,110,230,.25)!important;
background-color: rgba(85,110,230,.25)!important; background-color: rgba(85,110,230,.25)!important;
color: $primary_accent !important; color: #556ee6 !important;
border-radius: 5px; border-radius: 5px;
} }
.o_radio_input{ .o_radio_input{
@ -639,10 +639,10 @@ th.o_list_record_selector {
border: #adb5bd solid 1px !important; border: #adb5bd solid 1px !important;
} }
.form-check-input:checked{ .form-check-input:checked{
background: $primary_accent !important; background: #556ee6 !important;
} }
.o_radio_input .form-check-input:checked ~ .form-check-label::after { .o_radio_input .form-check-input:checked ~ .form-check-label::after {
background: $primary_accent !important; background: #556ee6 !important;
border-radius: 30px; border-radius: 30px;
} }
// Checkbox End // Checkbox End
@ -668,6 +668,14 @@ th.o_list_record_selector {
padding-left: 16px; padding-left: 16px;
border-radius: 5px; border-radius: 5px;
} }
.o_field_widget {
display: inline;
}
.o_field_radio .o_vertical{
display: flex !important;
}
.o_form_view .o_form_statusbar { .o_form_view .o_form_statusbar {
position: relative; position: relative;
display: -webkit-box; display: -webkit-box;
@ -736,10 +744,10 @@ th.o_list_record_selector {
color: #34c38f; color: #34c38f;
} }
.o_Message_prettyBody table th { .o_Message_prettyBody table th {
color: $primary_accent !important; color: #556ee6 !important;
} }
.o_Message_prettyBody table thead tr td { .o_Message_prettyBody table thead tr td {
background-color: $primary_hover !important; background-color: #485ec4 !important;
} }
// Discuss End // Discuss End
@ -758,7 +766,7 @@ th.o_list_record_selector {
border-radius: 5px; border-radius: 5px;
} }
.o_Discuss .o_Message .o_Message_prettyBody p a { .o_Discuss .o_Message .o_Message_prettyBody p a {
background: $primary_accent !important; background: #556ee6 !important;
} }
.o_Message.o-not-discussion { .o_Message.o-not-discussion {
background-color: #eff2f7; background-color: #eff2f7;
@ -806,7 +814,7 @@ i.o_PartnerImStatusIcon_outerBackground.fa.fa-circle.fa-stack-1x {
border: none; border: none;
border-bottom: solid; border-bottom: solid;
font-weight: bold; font-weight: bold;
background: $primary_accent !important; background: #556ee6 !important;
color: #ffffff !important; color: #ffffff !important;
border-radius: 5px; border-radius: 5px;
} }
@ -847,7 +855,7 @@ ul.sidebar_menu .nav-link:hover,ul.sidebar_menu .nav-link:focus {
} }
.btn-link { .btn-link {
font-weight: 400; font-weight: 400;
color: $primary_accent !important; color: #556ee6 !important;
text-decoration: none; text-decoration: none;
} }
.o_activity_view .o_record_selector { .o_activity_view .o_record_selector {
@ -905,6 +913,11 @@ select {
bottom: auto; bottom: auto;
right: 9px; right: 9px;
} }
.o_field_widget.o_field_many2many_tags .badge, .o_field_widget.o_field_many2many_tags_avatar .badge{
height: 27px !important;
}
.o_datepicker .o_datepicker_button { .o_datepicker .o_datepicker_button {
position: absolute; position: absolute;
top: 6px; top: 6px;
@ -1127,21 +1140,21 @@ div[name="options"] .o_field_boolean .form-check{
box-shadow: none !important; box-shadow: none !important;
} }
.o_inner_box { .o_inner_box {
background-color: $primary_accent !important; background-color: #556ee6 !important;
border-radius: 5px; border-radius: 5px;
} }
.o_inner_box:hover { .o_inner_box:hover {
background-color: $primary_hover !important; background-color: #485ec4 !important;
} }
//Website app ends //Website app ends
//Purchase app starts //Purchase app starts
td.o_main { td.o_main {
background-color: $primary_accent !important; background-color: #556ee6 !important;
border-radius: 5px; border-radius: 5px;
} }
td.o_main:hover { td.o_main:hover {
background-color: $primary_hover !important; background-color: #485ec4 !important;
} }
.o_purchase_dashboard .table > thead > tr > td, .o_purchase_dashboard .table > thead > tr > td,
.o_purchase_dashboard .table tbody > tr > td { .o_purchase_dashboard .table tbody > tr > td {
@ -1255,12 +1268,12 @@ select, input {
.o_hr_attendance_sign_in_out_icon { .o_hr_attendance_sign_in_out_icon {
color: #fff !important; color: #fff !important;
background-color: $primary_accent !important; background-color: #556ee6 !important;
border-color: $primary_accent !important; border-color: #556ee6 !important;
} }
.o_hr_attendance_sign_in_out_icon:hover { .o_hr_attendance_sign_in_out_icon:hover {
color: #fff !important; color: #fff !important;
background-color: $primary_hover !important; background-color: #485ec4 !important;
border-color: #4458b8 !important; border-color: #4458b8 !important;
} }
.o_hr_attendance_sign_in_out_icon:active { .o_hr_attendance_sign_in_out_icon:active {
@ -1276,7 +1289,7 @@ select, input {
box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important; box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
} }
.o_hr_attendance_kiosk_mode h3.mt0.mb0.text-muted { .o_hr_attendance_kiosk_mode h3.mt0.mb0.text-muted {
color: $primary_accent !important; color: #556ee6 !important;
} }
.o_hr_attendance_button_employees div.mb16.mt16 { .o_hr_attendance_button_employees div.mb16.mt16 {
margin-top: 4px !important; margin-top: 4px !important;
@ -1303,10 +1316,10 @@ select, input {
//sale status icon starts //sale status icon starts
.bg-primary { .bg-primary {
background-color: $primary_accent !important; background-color: #556ee6 !important;
} }
.bg-secondary { .bg-secondary {
background-color: $secondary_accent !important; background-color: #334332 !important;
} }
.bg-success-light, .text-bg-success { .bg-success-light, .text-bg-success {
color: #1f7556 !important; color: #1f7556 !important;
@ -1574,16 +1587,12 @@ div.dropdown-menu.bootstrap-datetimepicker-widget{
} }
//groupby color ends //groupby color ends
//Mee //Mee
.o_dropdown .o_dropdown_title{ .o_dropdown .o_dropdown_title{
padding : 0px; padding : 0px;
} }
.o_searchview .o_searchview_input_container .o_searchview_facet { .o_searchview .o_searchview_input_container .o_searchview_facet {
display: -webkit-box; display: -webkit-box;
display: -webkit-flex; display: -webkit-flex;
@ -1609,10 +1618,6 @@ div.dropdown-menu.bootstrap-datetimepicker-widget{
color: #555b6d !important; color: #555b6d !important;
} }
.o_content > .o_list_renderer > .table:not(.o_list_table_grouped) > tbody > tr:not(.o_list_table_grouped) > td { .o_content > .o_list_renderer > .table:not(.o_list_table_grouped) > tbody > tr:not(.o_list_table_grouped) > td {
padding: 10px 4px; padding: 10px 4px;
} }
@ -1630,6 +1635,9 @@ div.dropdown-menu.bootstrap-datetimepicker-widget{
padding: 0 15px; padding: 0 15px;
} }
.o_form_view .o_field_widget{
margin-bottom: 0px !important;
}
.reminder_day { .reminder_day {
display: flex; display: flex;
@ -1907,7 +1915,7 @@ nav.o_main_navbar {
padding: 8px; padding: 8px;
} }
.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content .modal-header { .modal.o_technical_modal.o_modal_full .modal-dialog .modal-content .modal-header {
background: $primary_accent; background: #556ee6;
} }
.o_form_view .o_group .o_group_col_6 { .o_form_view .o_group .o_group_col_6 {
width: 100%; width: 100%;
@ -1955,7 +1963,7 @@ nav.o_main_navbar {
.o_main_navbar .dropdown .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown .dropdown-toggle, .o_main_navbar .o_menu_systray .dropdown .dropdown-toggle, .o_main_navbar .o_nav_entry, .o_main_navbar .o_menu_sections .o_nav_entry, .o_main_navbar .o_menu_systray .o_nav_entry, .o_main_navbar > .o_menu_sections > div, .o_main_navbar > .o_menu_sections > div > a, .o_main_navbar .o_menu_systray > div, .o_main_navbar .o_menu_systray > div > a, .o_main_navbar .o_menu_toggle, .o_main_navbar .o_navbar_apps_menu, .o_main_navbar .o_menu_brand .o_main_navbar .dropdown .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown .dropdown-toggle, .o_main_navbar .o_menu_systray .dropdown .dropdown-toggle, .o_main_navbar .o_nav_entry, .o_main_navbar .o_menu_sections .o_nav_entry, .o_main_navbar .o_menu_systray .o_nav_entry, .o_main_navbar > .o_menu_sections > div, .o_main_navbar > .o_menu_sections > div > a, .o_main_navbar .o_menu_systray > div, .o_main_navbar .o_menu_systray > div > a, .o_main_navbar .o_menu_toggle, .o_main_navbar .o_navbar_apps_menu, .o_main_navbar .o_menu_brand
{ {
color:$f_color; color:#555b6d;
} }
@ -1964,13 +1972,13 @@ color:$f_color;
} }
.o_main_navbar .dropdown.show > .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown.show > .dropdown-toggle, .o_main_navbar .o_menu_systray .dropdown.show > .dropdown-toggle, .o_main_navbar > .o_menu_sections > div.show > a, .o_main_navbar .o_menu_systray > div.show > a, .o_main_navbar .dropdown.show > .dropdown-toggle:hover, .o_main_navbar .o_menu_sections .dropdown.show > .dropdown-toggle:hover, .o_main_navbar .o_menu_systray .dropdown.show > .dropdown-toggle:hover, .o_main_navbar > .o_menu_sections > div.show > a:hover, .o_main_navbar .o_menu_systray > div.show > a:hover, .o_main_navbar .dropdown.show > .dropdown-toggle:focus, .o_main_navbar .o_menu_sections .dropdown.show > .dropdown-toggle:focus, .o_main_navbar .o_menu_systray .dropdown.show > .dropdown-toggle:focus, .o_main_navbar > .o_menu_sections > div.show > a:focus, .o_main_navbar .o_menu_systray > div.show > a:focus{ .o_main_navbar .dropdown.show > .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown.show > .dropdown-toggle, .o_main_navbar .o_menu_systray .dropdown.show > .dropdown-toggle, .o_main_navbar > .o_menu_sections > div.show > a, .o_main_navbar .o_menu_systray > div.show > a, .o_main_navbar .dropdown.show > .dropdown-toggle:hover, .o_main_navbar .o_menu_sections .dropdown.show > .dropdown-toggle:hover, .o_main_navbar .o_menu_systray .dropdown.show > .dropdown-toggle:hover, .o_main_navbar > .o_menu_sections > div.show > a:hover, .o_main_navbar .o_menu_systray > div.show > a:hover, .o_main_navbar .dropdown.show > .dropdown-toggle:focus, .o_main_navbar .o_menu_sections .dropdown.show > .dropdown-toggle:focus, .o_main_navbar .o_menu_systray .dropdown.show > .dropdown-toggle:focus, .o_main_navbar > .o_menu_sections > div.show > a:focus, .o_main_navbar .o_menu_systray > div.show > a:focus{
color:$f_color; color:#555b6d;
} }
.o_main_navbar .o_menu_toggle, .o_main_navbar .o_navbar_apps_menu{ .o_main_navbar .o_menu_toggle, .o_main_navbar .o_navbar_apps_menu{
color:$f_color; color:#555b6d;
} }
.o_main_navbar .dropdown .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown .dropdown-toggle, .o_main_navbar .o_menu_systray .dropdown .dropdown-toggle{ .o_main_navbar .dropdown .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown .dropdown-toggle, .o_main_navbar .o_menu_systray .dropdown .dropdown-toggle{
color:$f_color; color:#555b6d;
} }
.side_bar_icon{ .side_bar_icon{
margin:0.5%; margin:0.5%;
@ -1980,5 +1988,5 @@ color:$f_color;
justify-content:end; justify-content:end;
} }
.o_searchview .o_searchview_facet .o_facet_values{ .o_searchview .o_searchview_facet .o_facet_values{
border :1px solid white; border :1px solid #f8f8fb;
} }

57
code_backend_theme_enterprise/static/src/xml/sidebar.xml

@ -1,72 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve"> <templates id="template" xml:space="preserve">
<t t-inherit="web.NavBar" t-inherit-mode="extension" owl="1"> <t t-inherit="web.NavBar" t-inherit-mode="extension" owl="1">
<xpath expr="//nav[hasclass('o_main_navbar')]" position="replace"> <xpath expr="//nav[hasclass('o_main_navbar')]" position="after">
<nav class="o_main_navbar"
t-on-dropdown-item-selected="onNavBarDropdownItemSelection"
data-command-category="navbar">
<div class="top_heading">
<!-- Apps Menu -->
<t t-call="web.NavBar.AppsMenu">
<t t-set="apps" t-value="menuService.getApps()"/>
</t>
<!-- App Brand -->
<MenuItem t-if="currentApp"
href="getMenuItemHref(currentApp)"
payload="currentApp"
t-esc="currentApp.name"
class="o_menu_brand"
t-ref="menuBrand"
/>
</div>
<!-- Current App Sections -->
<t t-if="currentAppSections.length" t-call="web.NavBar.SectionsMenu">
<t t-set="sections" t-value="currentAppSections" />
</t>
<!-- Systray -->
<div class="o_menu_systray" role="menu">
<t t-foreach="systrayItems" t-as="item" t-key="item_index">
<NotUpdatable>
<ErrorHandler onError="error => handleItemError(error, item)">
<t t-component="item.Component" t-props="item.props" />
</ErrorHandler>
</NotUpdatable>
</t>
</div>
</nav>
<div class="sidebar_panel" id="sidebar_panel"> <div class="sidebar_panel" id="sidebar_panel">
<div class="sidebar"> <div class="sidebar">
<div class="sidebar_close"> <div class="sidebar_close">
<a id="closeSidebar" style="cursor: pointer;"> <a id="closeSidebar" style="cursor: pointer;">
<img src="/code_backend_theme_enterprise/static/src/img/icons/close.png"/> <img src="/code_backend_theme_enterprise/static/src/img/icons/close.png"/>
</a> </a>
</div> </div>
<div class="sidebar_logo"> <div class="sidebar_logo">
<img src="/web/binary/company_logo" class="logo_img"/> <img src="/web/binary/company_logo" class="logo_img"/>
</div> </div>
<h6 class="sidebar_head">MENU</h6>
<ul class="sidebar_menu">
<t t-foreach="menuService.getApps()" t-as="app" t-key="app.id">
<li>
<a role="menuitem"
t-attf-href="#menu_id={{app.id}}"
class="nav-link">
<img class="sidebar_img"
t-attf-src="data:image/png;base64,{{app.webIconData}}"/>
<span class="sidebar_app_name">
<t t-esc="app.name"/>
</span>
</a>
</li>
</t>
</ul>
</div> </div>
</div> </div>
</xpath> </xpath>
</t> </t>
</templates> </templates>

31
code_backend_theme_enterprise/static/src/xml/top_bar.xml

@ -1,27 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<templates id="template" xml:space="preserve"> <templates id="template" xml:space="preserve">
<t t-inherit="web.NavBar" t-inherit-mode="extension"
owl="1">
<xpath expr="//t[@t-call='web.NavBar.AppsMenu']" position="replace">
<t t-call="web.NavBar.AppsMenu">
<t t-set="apps" t-value="menuService.getApps()"/>
</t>
<MenuItem
t-if="currentApp"
href="getMenuItemHref(currentApp)"
payload="currentApp"
t-esc="currentApp.name"
class="o_menu_brand"
t-ref="menuBrand"
/>
</xpath>
</t>
<t t-inherit="web_enterprise.EnterpriseNavBar" t-inherit-mode="extension" <t t-inherit="web_enterprise.EnterpriseNavBar" t-inherit-mode="extension"
owl="1"> owl="1">
<xpath expr="//a" position="replace"> <xpath expr="//a" position="replace">
<a href="#" class="o_menu_toggle" accesskey="h" t-ref="menuApps" t-on-click.prevent="() => this.hm.toggle()">
<svg width="14px" height="14px" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg" >
<g t-foreach="[0, 5, 10]" t-as="Y" t-att-id="'o_menu_toggle_row_' + Y_index" fill="currentColor" t-key="'o_menu_toggle_row_' + Y_index">
<rect t-foreach="[0, 5, 10]" t-as="X" width="4" height="4" t-att-x="X" t-att-y="Y" t-key="'o_menu_toggle_cell_' + X_index"/>
</g>
</svg>
</a>
<span class="side_bar_icon"> <span class="side_bar_icon">
<a id="openSidebar" <a id="openSidebar"
style="display: block; cursor: pointer;"> style="display: block; cursor: pointer;">
@ -32,10 +20,6 @@
<i class="fa fa-arrow-circle-left fa-2x"/> <i class="fa fa-arrow-circle-left fa-2x"/>
</a> </a>
</span> </span>
<span>
<a href="#" class="fa o_menu_toggle fa-th" accesskey="h"
t-ref="menuApps" t-on-click.prevent="() => this.hm.toggle()"/>
</span>
</xpath> </xpath>
<xpath expr="//nav" position="after"> <xpath expr="//nav" position="after">
@ -69,5 +53,4 @@
</span> </span>
</xpath> </xpath>
</t> </t>
</templates> </templates>

86
code_backend_theme_enterprise/static/src/xml/web_navbar.xml

@ -1,52 +1,39 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<templates xml:space="preserve"> <templates xml:space="preserve">
<t t-name="web.NavBar" owl="1"> <t t-name="web.NavBar" owl="1">
<header> <header>
<nav <nav class="o_main_navbar"
class="o_main_navbar"
t-on-dropdown-item-selected="onNavBarDropdownItemSelection" t-on-dropdown-item-selected="onNavBarDropdownItemSelection"
data-command-category="navbar" data-command-category="navbar">
>
<!-- Apps Menu --> <!-- Apps Menu -->
<t t-call="web.NavBar.AppsMenu"> <t t-call="web.NavBar.AppsMenu">
<t t-set="apps" t-value="menuService.getApps()"/> <t t-set="apps" t-value="menuService.getApps()"/>
</t> </t>
<!-- App Brand --> <!-- App Brand -->
<DropdownItem
<MenuItem
t-if="currentApp" t-if="currentApp"
href="getMenuItemHref(currentApp)" href="getMenuItemHref(currentApp)"
payload="currentApp"
t-esc="currentApp.name" t-esc="currentApp.name"
class="o_menu_brand" class="'o_menu_brand d-none d-md-block'"
t-ref="menuBrand" dataset="{ menuXmlid: currentApp.xmlid, section: currentApp.id }"
/> onSelected="() => this.onNavBarDropdownItemSelection(currentApp)"/>
<!-- Current App Sections -->
<!-- Current
App Sections -->
<t t-if="currentAppSections.length" <t t-if="currentAppSections.length"
t-call="web.NavBar.SectionsMenu"> t-call="web.NavBar.SectionsMenu">
<t t-set="sections" t-value="currentAppSections"/> <t t-set="sections" t-value="currentAppSections"/>
</t> </t>
<!-- Systray --> <!-- Systray -->
<div class="o_menu_systray" role="menu"> <div class="o_menu_systray" role="menu">
<t t-foreach="systrayItems" t-as="item" t-key="item.key"> <t t-foreach="systrayItems" t-as="item" t-key="item.key">
<NotUpdatable>
<ErrorHandler onError="error => handleItemError(error, item)"> <ErrorHandler onError="error => handleItemError(error, item)">
<t t-component="item.Component" t-props="item.props"/> <t t-component="item.Component" t-props="item.props"/>
</ErrorHandler> </ErrorHandler>
</NotUpdatable>
</t> </t>
</div> </div>
</nav> </nav>
</header> </header>
</t> </t>
<t t-name="web.NavBar.AppsMenu" owl="1"> <t t-name="web.NavBar.AppsMenu" owl="1">
<Dropdown hotkey="'h'" title="'Home Menu'" class="o_navbar_apps_menu"> <Dropdown hotkey="'h'" title="'Home Menu'" class="o_navbar_apps_menu">
<t t-set-slot="toggler"> <t t-set-slot="toggler">
@ -58,59 +45,50 @@
<i class="fa fa-search"/> <i class="fa fa-search"/>
</div> </div>
</div> </div>
<!-- <button t-on-click.prevent="menuService.valueChage" class="main_dino" value="click">Click</button>-->
<!-- </button>-->
<input type="search" <input type="search"
autocomplete="off" autocomplete="off"
t-on-input="valueChage" t-on-input="valueChage"
placeholder="Search menus..." class="hi_dino"/> placeholder="Search menus..." class="hi_dino"/>
</div> </div>
<MenuItem <DropdownItem
t-foreach="apps" t-foreach="apps"
t-as="app" t-as="app"
t-key="app.id" t-key="app.id"
class="o_app" class="o_app"
t-att-class="{ focus: menuService.getCurrentApp() === app }" t-att-class="{ focus: menuService.getCurrentApp() === app }"
href="getMenuItemHref(app)" href="getMenuItemHref(app)"
payload="app"
t-esc="app.name" t-esc="app.name"
/> dataset="{ menuXmlid: app.xmlid, section: app.id }"
onSelected="() => this.onNavBarDropdownItemSelection(app)"/>
</Dropdown> </Dropdown>
</t> </t>
<t t-name="web.NavBar.SectionsMenu" owl="1"> <t t-name="web.NavBar.SectionsMenu" owl="1">
<div class="o_menu_sections" t-ref="appSubMenus" role="menu"> <div class="o_menu_sections" t-ref="appSubMenus" role="menu">
<t t-foreach="sections" t-as="section" t-key="section.id"> <t t-foreach="sections" t-as="section" t-key="section.id">
<t <t t-set="sectionsVisibleCount"
t-set="sectionsVisibleCount" t-value="(sections.length - currentAppSectionsExtra.length)"/>
t-value="(sections.length - currentAppSectionsExtra.length)"
/>
<t t-if="section_index lt Math.min(10, sectionsVisibleCount)"> <t t-if="section_index lt Math.min(10, sectionsVisibleCount)">
<t t-set="hotkey" t-value="((section_index + 1) % 10).toString()"/> <t t-set="hotkey" t-value="((section_index + 1) % 10).toString()"/>
</t> </t>
<t t-else=""> <t t-else="">
<t t-set="hotkey" t-value="undefined"/> <t t-set="hotkey" t-value="undefined"/>
</t> </t>
<t t-if="!section.childrenTree.length"> <t t-if="!section.childrenTree.length">
<MenuItem <DropdownItem
title="section.name" title="section.name"
class="o_nav_entry" class="o_nav_entry"
payload="section"
href="getMenuItemHref(section)" href="getMenuItemHref(section)"
hotkey="hotkey" hotkey="hotkey"
t-esc="section.name" t-esc="section.name"
/> dataset="{ menuXmlid: currentApp.xmlid, section: currentApp.id }"
onSelected="() => this.onNavBarDropdownItemSelection(currentApp)"/>
</t> </t>
<t t-else=""> <t t-else="">
<MenuDropdown <MenuDropdown
hotkey="hotkey" hotkey="hotkey"
title="section.name" title="section.name"
xmlid="section.xmlid" xmlid="section.xmlid">
>
<t t-set-slot="toggler"> <t t-set-slot="toggler">
<span t-esc="section.name" t-att-data-section="section.id"/> <span t-esc="section.name" t-att-data-section="section.id"/>
</t> </t>
@ -120,7 +98,6 @@
</MenuDropdown> </MenuDropdown>
</t> </t>
</t> </t>
<t t-if="currentAppSectionsExtra.length" <t t-if="currentAppSectionsExtra.length"
t-call="web.NavBar.SectionsMenu.MoreDropdown"> t-call="web.NavBar.SectionsMenu.MoreDropdown">
<t t-set="sections" t-value="currentAppSectionsExtra"/> <t t-set="sections" t-value="currentAppSectionsExtra"/>
@ -129,55 +106,47 @@
t-value="(sectionsVisibleCount + 1 % 10).toString()"/> t-value="(sectionsVisibleCount + 1 % 10).toString()"/>
</t> </t>
</t> </t>
</div> </div>
</t> </t>
<t t-name="web.NavBar.SectionsMenu.Dropdown.MenuSlot" owl="1"> <t t-name="web.NavBar.SectionsMenu.Dropdown.MenuSlot" owl="1">
<t t-foreach="items" t-as="item" t-key="item.id"> <t t-foreach="items" t-as="item" t-key="item.id">
<MenuItem <DropdownItem
t-if="!item.childrenTree.length" t-if="!item.childrenTree.length"
payload="item"
href="getMenuItemHref(item)" href="getMenuItemHref(item)"
class="dropdown-item" class="dropdown-item"
t-esc="item.name" t-esc="item.name"
/> dataset="{ menuXmlid: item.xmlid, section: item.id }"
onSelected="() => this.onNavBarDropdownItemSelection(item)"/>
<t t-else=""> <t t-else="">
<div class="dropdown-menu_group dropdown-header" t-esc="item.name"/> <div class="dropdown-menu_group dropdown-header" t-esc="item.name"/>
<MenuItem <DropdownItem
t-foreach="item.childrenTree" t-foreach="item.childrenTree"
t-as="subItem" t-as="subItem"
t-key="subItem.id"
class="o_dropdown_menu_group_entry dropdown-item" class="o_dropdown_menu_group_entry dropdown-item"
payload="subItem"
href="getMenuItemHref(subItem)" href="getMenuItemHref(subItem)"
t-esc="subItem.name" t-esc="subItem.name"
/> dataset="{ menuXmlid: subItem.xmlid, section: subItem.id }"
onSelected="() => this.onNavBarDropdownItemSelection(subItem)"/>
</t> </t>
</t> </t>
</t> </t>
<t t-name="web.NavBar.SectionsMenu.MoreDropdown" owl="1"> <t t-name="web.NavBar.SectionsMenu.MoreDropdown" owl="1">
<Dropdown class="o_menu_sections_more" title="'More Menu'" hotkey="hotkey"> <Dropdown class="o_menu_sections_more" title="'More Menu'" hotkey="hotkey">
<t t-set-slot="toggler"> <t t-set-slot="toggler">
<i class="fa fa-plus"/> <i class="fa fa-plus"/>
</t> </t>
<t t-foreach="sections" t-as="section" t-key="section.id"> <t t-foreach="sections" t-as="section" t-key="section.id">
<t t-if="!section.childrenTree.length"> <t t-if="!section.childrenTree.length">
<MenuItem <DropdownItem
class="o_more_dropdown_section" class="o_more_dropdown_section"
payload="section"
href="getMenuItemHref(section)" href="getMenuItemHref(section)"
t-esc="section.name" t-esc="section.name"
/> dataset="{ menuXmlid: section.xmlid, section: section.id }"
onSelected="() => this.onNavBarDropdownItemSelection(section)"/>
</t> </t>
<t t-else=""> <t t-else="">
<div <div class="o_more_dropdown_section o_more_dropdown_section_group dropdown-header bg-100"
class="o_more_dropdown_section o_more_dropdown_section_group dropdown-header bg-100" t-esc="section.name"/>
t-esc="section.name"
/>
<t t-call="web.NavBar.SectionsMenu.Dropdown.MenuSlot"> <t t-call="web.NavBar.SectionsMenu.Dropdown.MenuSlot">
<t t-set="items" t-value="section.childrenTree"/> <t t-set="items" t-value="section.childrenTree"/>
</t> </t>
@ -185,5 +154,4 @@
</t> </t>
</Dropdown> </Dropdown>
</t> </t>
</templates> </templates>

Loading…
Cancel
Save