From 6814273fa4e02304b887a4c78d33dd6330d66293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20D=C3=ADaz?= Date: Mon, 14 Oct 2019 13:25:43 +0200 Subject: [PATCH] [FIX] web_widget_x2many_2d_matrix: Force render in list mode on mobile --- web_widget_x2many_2d_matrix/README.rst | 2 ++ .../readme/ROADMAP.rst | 2 ++ .../static/description/index.html | 1 + .../static/src/js/2d_matrix_view.js | 23 +++++++++++++++++++ web_widget_x2many_2d_matrix/views/assets.xml | 1 + 5 files changed, 29 insertions(+) create mode 100644 web_widget_x2many_2d_matrix/static/src/js/2d_matrix_view.js diff --git a/web_widget_x2many_2d_matrix/README.rst b/web_widget_x2many_2d_matrix/README.rst index c0693fcf4..0cedb55ca 100644 --- a/web_widget_x2many_2d_matrix/README.rst +++ b/web_widget_x2many_2d_matrix/README.rst @@ -168,6 +168,8 @@ Known issues / Roadmap * Support extra invisible fields inside each cell. +* Support kanban mode. Current behaviour forces list mode. + Changelog ========= diff --git a/web_widget_x2many_2d_matrix/readme/ROADMAP.rst b/web_widget_x2many_2d_matrix/readme/ROADMAP.rst index b5c8e912a..1dc1a84da 100644 --- a/web_widget_x2many_2d_matrix/readme/ROADMAP.rst +++ b/web_widget_x2many_2d_matrix/readme/ROADMAP.rst @@ -12,3 +12,5 @@ is merged. * Support extra invisible fields inside each cell. + +* Support kanban mode. Current behaviour forces list mode. diff --git a/web_widget_x2many_2d_matrix/static/description/index.html b/web_widget_x2many_2d_matrix/static/description/index.html index c964858dc..beac91d17 100644 --- a/web_widget_x2many_2d_matrix/static/description/index.html +++ b/web_widget_x2many_2d_matrix/static/description/index.html @@ -526,6 +526,7 @@ to click on m2o to open related records. will enter into the 1st cell until https://github.com/odoo/odoo/pull/26490 is merged.
  • Support extra invisible fields inside each cell.
  • +
  • Support kanban mode. Current behaviour forces list mode.
  • diff --git a/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_view.js b/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_view.js new file mode 100644 index 000000000..b5f440d0e --- /dev/null +++ b/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_view.js @@ -0,0 +1,23 @@ +/* Copyright 2019 Alexandre Díaz + * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */ + +odoo.define('web_widget_x2many_2d_matrix.X2Many2dMatrixView', function (require) { + "use strict"; + + var BasicView = require('web.BasicView'); + + BasicView.include({ + _processField: function (viewType, field, attrs) { + // Workaround for kanban mode rendering. + // Source of the issue: https://github.com/OCA/OCB/blob/12.0/addons/web/static/src/js/views/basic/basic_view.js#L303 . + // See https://github.com/OCA/web/pull/1404#pullrequestreview-305813206 . + // In the long term we should a way to handle kanban mode + // better (eg: a specific renderer). + if (attrs.widget === 'x2many_2d_matrix') { + attrs.mode = 'tree'; + } + return this._super(viewType, field, attrs); + }, + }); + +}); diff --git a/web_widget_x2many_2d_matrix/views/assets.xml b/web_widget_x2many_2d_matrix/views/assets.xml index b26566e55..80231c8c5 100644 --- a/web_widget_x2many_2d_matrix/views/assets.xml +++ b/web_widget_x2many_2d_matrix/views/assets.xml @@ -6,6 +6,7 @@