From 1048111a1873bda0e20bd2efc50ef2e59f853b89 Mon Sep 17 00:00:00 2001 From: "Xavier Bol (xbo)" Date: Mon, 28 Aug 2023 15:36:43 +0200 Subject: [PATCH] [IMP] hr_org_chart,web: define icon class on i tag for view button icon Before this commit, the icon of the hierarchy view should be rotate of 90 deg to have an appropriate icon for the view. The problem is since the icon class is added on button classes, the button will also be rotated with the icon instead of just the icon. This commit defines a `i` tag inside the `button` element to select the view to be able to apply css rotation only on the icon instead of the whole button. task-3376776 --- .../static/src/views/hierarchy/hierarchy_view.js | 2 +- .../static/src/views/hierarchy/hierarchy_view.scss | 3 +++ .../web/static/src/search/control_panel/control_panel.xml | 6 ++++-- addons/web/static/tests/search/control_panel.js | 3 ++- 4 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.scss diff --git a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.js b/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.js index 4bec22bdcbf..abf7e4dca95 100644 --- a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.js +++ b/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.js @@ -10,7 +10,7 @@ import { HierarchyRenderer } from "./hierarchy_renderer"; export const hierarchyView = { type: "hierarchy", display_name: _t("Hierarchy"), - icon: "fa fa-share-alt", + icon: "fa fa-share-alt o_hierarchy_icon", isMobileFriendly: false, multiRecord: true, ArchParser: HierarchyArchParser, diff --git a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.scss b/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.scss new file mode 100644 index 00000000000..b3085cb535f --- /dev/null +++ b/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.scss @@ -0,0 +1,3 @@ +.o_control_panel_navigation .o_switch_view .o_hierarchy_icon { // button in view switcher + rotate: 90deg; +} diff --git a/addons/web/static/src/search/control_panel/control_panel.xml b/addons/web/static/src/search/control_panel/control_panel.xml index 781ef6ee03b..cc232e1007f 100644 --- a/addons/web/static/src/search/control_panel/control_panel.xml +++ b/addons/web/static/src/search/control_panel/control_panel.xml @@ -61,10 +61,12 @@ diff --git a/addons/web/static/tests/search/control_panel.js b/addons/web/static/tests/search/control_panel.js index 7bd23c4f64e..ec7075f0340 100644 --- a/addons/web/static/tests/search/control_panel.js +++ b/addons/web/static/tests/search/control_panel.js @@ -100,8 +100,9 @@ QUnit.module("Search", (hooks) => { assert.strictEqual(views[0].getAttribute("data-tooltip"), "List"); assert.hasClass(views[0], "active"); + assert.containsOnce(views[0], ".oi-view-list"); assert.strictEqual(views[1].getAttribute("data-tooltip"), "Kanban"); - assert.hasClass(views[1], "oi-view-kanban"); + assert.containsOnce(views[1], ".oi-view-kanban"); controlPanel.env.services.action.switchView = (viewType) => { assert.step(viewType);