Ayuda

0

[solved] How tho remove ControlPanel from a specific view ?

Avatar
niconep

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 !

Avatar
Descartar
3 Respuestas
0
Avatar
ccfuns
Best Answer

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

Avatar
Descartar
0
Avatar
niconep
Best Answer

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:


arch: {}
attrs: {}
create: "false"
js_class: "kanban_homepage"
...
withControlPanel: true
withSearchPanel: true


So ma temporary solution (wrong ?) is to set this 2 variables in the init method.


Regards

1 Comentario
Avatar
Descartar
Avatar
Ravi Gadhia
-

Hi

is it solved?

0
Avatar
Ravi Gadhia
Best Answer



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

var KanbanViewWithoutControlPanel = kanbanView.extend({
config: _.extend({}, kanbanView.prototype.config, {
        // determines if a control panel should be instantiated
        withControlPanel: false,
        // determines if a search panel could be instantiated
        // withSearchPanel: false,
    }),
});

viewRegistry.add('kanban_without_control_panel', KanbanViewWithoutControlPanel);
<kanban js_class="kanban_without_control_panel">
Avatar
Descartar