Hello,
I created a custom kanban view and I want to hide the control panel (header) from this view onl.
What would be the best way to do this ?
Thanks !
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
Hello,
I created a custom kanban view and I want to hide the control panel (header) from this view onl.
What would be the best way to do this ?
Thanks !
Hi,
By using patching method, we can modify the control panel in Odoo. For that, use the following code:
/** @odoo-module */
import { ControlPanel } from "@web/search/control_panel/control_panel";
import { patch } from "@web/core/utils/patch";
import { useRef, onPatched, onMounted, useState } from "@odoo/owl";
patch(ControlPanel.prototype,{
setup() {
super.setup();
onMounted(() => {
#you can specify the condition for which view you need to remove the control panel
if (this.env.searchModel.vew == 'form') {
this.root.el.style.setProperty("display", "none", "important");
}
});
},
});
Hope it helps.
The structure of withControlPanel is wrong,
You should write like this :
var KanbanViewWithoutControlPanel = KanbanView.extend({
withControlPanel: false
});
You can find the structure of related parameters from this path :
/odoo/addons/web/static/src/js/views/abstract_view.js
Ravi,
Thank you for your answser and pointing out the correct documentation.
Unfortunately it does not work : the control panel is still there. Here's what I'm doing
odoo.define('my.KanbanViewWithoutControlPanel', function (require) {
"use strict";
var viewRegistry = require('web.view_registry')
var KanbanView = require('web.KanbanView')
var KanbanViewWithoutControlPanel = KanbanView.extend({
config: _.extend({}, KanbanView.prototype.config, {
withControlPanel: false,
}),
});
viewRegistry.add('kanban_without_control_panel', KanbanViewWithoutControlPanel)
});
And in my view
<kanban js_class="kanban_without_control_panel">...
There is no error. The js file is correctly loaded.
I modified the JS to print out the current view in the console .
init: function (viewInfo, params) {
this._super.apply(this, arguments);
console.log(this)
},
The output shows that the view is called, but the control panel is still enabled:
So ma temporary solution (wrong ?) is to set this 2 variables in the init method.
Regards
Hi
is it solved?
extend kanban view using "js_class" attribute (https://www.odoo.com/documentation/13.0/reference/javascript_cheatsheet.html#customizing-an-existing-view)
override withControlPanel to false
<kanban js_class="kanban_without_control_panel">
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
0
Dec 16
|
3941 | ||
|
0
Mar 15
|
6763 | ||
|
1
Mar 15
|
18566 | ||
|
0
Nov 24
|
555 | ||
|
1
Dec 23
|
7488 |