From 000e43840f87b88aa6d065ec7af61fa79cb3495e Mon Sep 17 00:00:00 2001 From: "Xavier BOL (xbo)" Date: Thu, 6 Oct 2022 17:11:20 +0200 Subject: [PATCH] [REF] project,hr_timesheet: review assets for project sharing Before this commit, the assets used in project sharing takes almost all assets in `web.assets_backend`, this way is not a good idea since only the kanban view and list are used and the chatter is not the backend one. So the assets could be filtered to minize the size of the bundle for project sharing to also reduce the loading when the user goes to project sharing feature. This commit reviews the assets used in the project sharing to reduce the size. task-2947516 X-original-commit: 6805f5c9b5efa55aca711951d05bd51ea2fc8c0d --- addons/hr_timesheet/__manifest__.py | 3 + addons/project/__manifest__.py | 127 ++++++++++++++++++++++++++-- 2 files changed, 124 insertions(+), 6 deletions(-) diff --git a/addons/hr_timesheet/__manifest__.py b/addons/hr_timesheet/__manifest__.py index 6847791545c..48d2e62917f 100644 --- a/addons/hr_timesheet/__manifest__.py +++ b/addons/hr_timesheet/__manifest__.py @@ -53,6 +53,9 @@ up a management by affair. 'web.qunit_suite_tests': [ 'hr_timesheet/static/tests/**/*', ], + 'project.webclient': [ + 'hr_timesheet/static/src/components/**/*', + ], }, 'license': 'LGPL-3', } diff --git a/addons/project/__manifest__.py b/addons/project/__manifest__.py index a91b3c10c8e..ea9728d7c6f 100644 --- a/addons/project/__manifest__.py +++ b/addons/project/__manifest__.py @@ -89,14 +89,129 @@ 'project/static/tests/tours/**/*', ], 'project.webclient': [ - ('include', 'web.assets_backend'), + ('include', 'web._assets_helpers'), + ('include', 'web._assets_backend_helpers'), - # Remove Longpolling bus and packages needed this bus - ('remove', 'mail/static/src/services/messaging_service.js'), + 'web/static/src/scss/pre_variables.scss', + 'web/static/lib/bootstrap/scss/_variables.scss', - ('remove', 'mail/static/src/components/dialog_manager/dialog_manager.js'), - ('remove', 'mail/static/src/components/chat_window_manager/chat_window_manager.js'), - ('remove', 'mail/static/src/views/form/*'), + ('include', 'web._assets_bootstrap'), + + 'base/static/src/css/modules.css', + + 'web/static/src/core/utils/transitions.scss', + 'web/static/src/core/**/*', + 'web/static/src/search/**/*', + 'web/static/src/webclient/icons.scss', # variables required in list_controller.scss + 'web/static/src/views/*.js', + 'web/static/src/views/*.xml', + 'web/static/src/views/*.scss', + 'web/static/src/views/fields/**/*', + 'web/static/src/views/form/**/*', + 'web/static/src/views/kanban/**/*', + 'web/static/src/views/list/**/*', + 'web/static/src/views/view_button/**/*', + 'web/static/src/views/view_dialogs/**/*', + 'web/static/src/views/widgets/**/*', + 'web/static/src/webclient/**/*', + ('remove', 'web/static/src/webclient/navbar/navbar.scss'), # already in assets_common + ('remove', 'web/static/src/webclient/clickbot/clickbot.js'), # lazy loaded + ('remove', 'web/static/src/views/form/button_box/*.scss'), + + # remove the report code and whitelist only what's needed + ('remove', 'web/static/src/webclient/actions/reports/**/*'), + 'web/static/src/webclient/actions/reports/*.js', + 'web/static/src/webclient/actions/reports/*.xml', + + 'web/static/src/env.js', + + 'web/static/lib/jquery.scrollTo/jquery.scrollTo.js', + 'web/static/lib/py.js/lib/py.js', + 'web/static/lib/py.js/lib/py_extras.js', + 'web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js', + + 'web/static/src/legacy/scss/fields.scss', + 'web/static/src/legacy/scss/views.scss', + 'web/static/src/legacy/scss/form_view.scss', + 'web/static/src/legacy/scss/list_view.scss', + 'web/static/src/legacy/scss/kanban_dashboard.scss', + 'web/static/src/legacy/scss/kanban_examples_dialog.scss', + 'web/static/src/legacy/scss/kanban_column_progressbar.scss', + 'web/static/src/legacy/scss/kanban_view.scss', + + 'base/static/src/scss/res_partner.scss', + + # Form style should be computed before + 'web/static/src/views/form/button_box/*.scss', + + 'web/static/src/legacy/action_adapters.js', + 'web/static/src/legacy/debug_manager.js', + 'web/static/src/legacy/legacy_service_provider.js', + 'web/static/src/legacy/legacy_client_actions.js', + 'web/static/src/legacy/legacy_dialog.js', + 'web/static/src/legacy/legacy_load_views.js', + 'web/static/src/legacy/legacy_promise_error_handler.js', + 'web/static/src/legacy/legacy_rpc_error_handler.js', + 'web/static/src/legacy/root_widget.js', + 'web/static/src/legacy/legacy_setup.js', + 'web/static/src/legacy/root_widget.js', + 'web/static/src/legacy/backend_utils.js', + 'web/static/src/legacy/utils.js', + 'web/static/src/legacy/web_client.js', + 'web/static/src/legacy/js/_deprecated/data.js', + 'web/static/src/legacy/js/chrome/*', + 'web/static/src/legacy/js/components/*', + 'web/static/src/legacy/js/control_panel/*', + 'web/static/src/legacy/js/core/domain.js', + 'web/static/src/legacy/js/core/mvc.js', + 'web/static/src/legacy/js/core/py_utils.js', + 'web/static/src/legacy/js/core/context.js', + 'web/static/src/legacy/js/core/misc.js', + 'web/static/src/legacy/js/fields/abstract_field.js', + 'web/static/src/legacy/js/fields/abstract_field_owl.js', + 'web/static/src/legacy/js/_deprecated/basic_fields.js', + 'web/static/src/legacy/js/fields/basic_fields.js', + 'web/static/src/legacy/js/fields/basic_fields_owl.js', + 'web/static/src/legacy/js/fields/field_utils.js', + 'web/static/src/legacy/js/fields/relational_fields.js', + 'web/static/src/legacy/js/fields/special_fields.js', + 'web/static/src/legacy/js/fields/field_registry.js', + 'web/static/src/legacy/js/fields/field_registry_owl.js', + 'web/static/src/legacy/js/fields/field_utils.js', + 'web/static/src/legacy/js/fields/field_wrapper.js', + 'web/static/src/legacy/js/views/sample_server.js', + 'web/static/src/legacy/js/views/abstract_model.js', + 'web/static/src/legacy/js/views/basic/basic_model.js', + 'web/static/src/legacy/js/views/action_model.js', + 'web/static/src/legacy/js/views/view_utils.js', + 'web/static/src/legacy/js/services/data_manager.js', + 'web/static/src/legacy/js/services/session.js', + 'web/static/src/legacy/js/tools/tools.js', + 'web/static/src/legacy/js/views/**/*', + 'web/static/src/legacy/js/widgets/data_export.js', + 'web/static/src/legacy/js/widgets/date_picker.js', + 'web/static/src/legacy/js/widgets/domain_selector_dialog.js', + 'web/static/src/legacy/js/widgets/domain_selector.js', + 'web/static/src/legacy/js/widgets/model_field_selector.js', + 'web/static/src/legacy/js/widgets/model_field_selector_popover.js', + 'web/static/src/legacy/js/env.js', + 'web/static/src/legacy/js/model.js', + 'web/static/src/legacy/js/owl_compatibility.js', + + 'web_editor/static/src/components/**/*', + 'web_editor/static/src/scss/web_editor.common.scss', + 'web_editor/static/src/scss/web_editor.backend.scss', + + 'web_editor/static/src/js/wysiwyg/dialog.js', + 'web_editor/static/src/js/frontend/loader.js', + 'web_editor/static/src/js/backend/**/*', + 'web_editor/static/src/xml/backend.xml', + + 'mail/static/src/scss/variables/*.scss', + 'mail/static/src/widgets/**/*.scss', + + 'project/static/src/components/project_task_name_with_subtask_count_char_field/*', + 'project/static/src/views/project_task_form/*.scss', 'project/static/src/project_sharing/search/favorite_menu/custom_favorite_item.xml', 'project/static/src/project_sharing/**/*',