Skip to content

Commit 6b02187

Browse files
committed
[REF] runbot: frontend with Interaction/Component
This commit is a massive rewrite to modernize the Runbot frontend's JS using Interaction and OWL Components. In a nutshell: - no more jQuery - lint/format files (no more global variables, const/let...) - Bootstrapify a bit the stats page layout - add setup to use Interactions (requirements in assets bundle, start services...) - rewrite [data-runbot] links and copy button handling using Interaction - rewrite stats page using Interaction + Component for the chart/legend
1 parent 499106a commit 6b02187

File tree

16 files changed

+591
-10837
lines changed

16 files changed

+591
-10837
lines changed

runbot/__manifest__.py

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,59 @@
7575
'runbot/static/src/js/components/*',
7676
],
7777
'runbot.assets_frontend': [
78+
# used by website.pager
7879
'web/static/lib/odoo_ui_icons/style.css',
80+
81+
# module loader
82+
'web/static/src/module_loader.js',
83+
84+
# requirements for Interaction/InteractionService
85+
'web/static/lib/owl/owl.js',
86+
'web/static/lib/owl/odoo_module.js',
87+
'web/static/lib/luxon/luxon.js',
88+
'web/static/src/env.js',
89+
'web/static/src/session.js',
90+
'web/static/src/core/assets.js',
91+
'web/static/src/core/templates.js',
92+
'web/static/src/core/registry.js',
93+
'web/static/src/core/template_inheritance.js',
94+
'web/static/src/core/user.js',
95+
'web/static/src/core/browser/feature_detection.js',
96+
'web/static/src/core/browser/browser.js',
97+
'web/static/src/core/browser/cookie.js',
98+
'web/static/src/core/network/rpc.js',
99+
'web/static/src/core/utils/arrays.js',
100+
'web/static/src/core/utils/hooks.js',
101+
'web/static/src/core/utils/cache.js',
102+
'web/static/src/core/utils/concurrency.js',
103+
'web/static/src/core/utils/functions.js',
104+
'web/static/src/core/utils/html.js',
105+
'web/static/src/core/utils/objects.js',
106+
'web/static/src/core/utils/render.js',
107+
'web/static/src/core/utils/timing.js',
108+
'web/static/src/core/utils/ui.js',
109+
'web/static/src/core/utils/urls.js',
110+
'web/static/src/core/utils/strings.js',
111+
'web/static/src/core/utils/indexed_db.js',
112+
'web/static/src/core/l10n/translation.js',
113+
'web/static/src/core/l10n/localization.js',
114+
'web/static/src/core/l10n/dates.js',
115+
'web/static/src/core/l10n/localization_service.js',
116+
'web/static/src/core/l10n/utils.js',
117+
'web/static/src/core/l10n/utils/format_list.js',
118+
'web/static/src/core/l10n/utils/locales.js',
119+
'web/static/src/core/l10n/utils/normalize.js',
120+
'web/static/src/public/utils.js',
121+
'web/static/src/public/colibri.js',
122+
'web/static/src/public/interaction.js',
123+
'web/static/src/public/interaction_service.js',
124+
79125
'runbot/static/lib/bootstrap/css/bootstrap.css',
80126
'runbot/static/lib/fontawesome/css/font-awesome.css',
81127
'runbot/static/src/css/runbot.css',
82128

83-
'runbot/static/lib/jquery/jquery.js',
84129
'runbot/static/lib/bootstrap/js/bootstrap.bundle.js',
85-
'runbot/static/src/js/runbot.js',
130+
'runbot/static/src/public/**/*',
86131
],
87132
},
88133
'post_load': 'runbot_post_load',

runbot/controllers/frontend.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -611,12 +611,15 @@ def modules_stats(self, bundle, search=None, **post):
611611
category_per_trigger.setdefault(stat_trigger, set()).add(stat.category)
612612
step_per_trigger_category.setdefault((stat_trigger, stat.category), set()).add(stat.dynamic_step_name or stat.config_step_id.name)
613613
all_triggers = sorted(all_triggers, key=lambda t: (t.category_id.id, t.sequence, t.id))
614-
main_trigger = all_triggers[0] if all_triggers else None
615614
context = {
616615
'category_per_trigger': category_per_trigger,
617616
'step_per_trigger_category': step_per_trigger_category,
618617
'bundle': bundle,
619-
'main_trigger': main_trigger,
618+
'project': bundle.project_id,
619+
'triggers_data': {
620+
'bundle_id': bundle.id,
621+
'trigger_id': all_triggers[0].id if all_triggers else None,
622+
},
620623
'all_categories': sorted(all_categories),
621624
'all_steps': sorted(all_steps),
622625
'all_triggers': all_triggers,

runbot/static/lib/jquery/jquery.browser.js

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)