This commit removes all the 'extend' initially introduced to avoid code
repetition and ensure visual consistency across Bootstrap and Owl dropdowns.
Despite achieving the desired results, using 'extend' in this context
was seriously impacting the bundle generation time, probably due to an
underestimated amount of Apps' legacy-code applied on these elements.
In order to achieve the same results, the chosen strategy is to add
Bootstrap default classes directly into Owl dropdowns.
Also, it moves code related to bootstrap dropdown in 'webclient.scss',
leaving 'core/dropdown/dropdown.scss' for Owl code only.
Due to the discrepancies between Bootstrap and Owl html
structure, the '.dropdown-item' class could not have been added
directly to Owl's '.o_dropdown_item' itself, without refactoring
the Dropdown component structure.
// ==== Bootstrap 4.6 default Structure ================================
<div class="dropdown-menu">
<button class="dropdown-item" type="button">Action</button>
<a class="dropdown-item" href="#">Another action</a>
</div>
// ==== OWL default Structure before this commit =======================
<ul class="o_dropdown_menu">
<li class="o_dropdown_item">
<span>Action</span>
</li>
<li class="o_dropdown_item">
<a href="#">Another action</a>
</li>
</ul>
// ==== OWL Structure after this commit ================================
<div class="o-dropdown--menu dropdown-menu">
<span class="dropdown-item">Action</span>
<a class="dropdown-item" href="#">Another action</a>
</div>
// ==== web.assets_backend.css Bundle Generation Comparison ============
With all modules installed (enterprise edition over runbot):
Before this commit, bundle took ~2.5s and ~4s to generate and weighted ~322kB (~2.5MB uncompressed)
After this commit, it takes between ~1.2s and ~1.6s and weights ~257kB (~1.6MB uncompressed)
closes odoo/odoo#77649
X-original-commit: 84715436d87bb05b421bc9ccaacda67d07571690
Related: odoo/enterprise#21370
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Co-authored-by: Stefano Rigano <sri@odoo.com>
Co-authored-by: François Georis <fge@odoo.com>
Co-authored-by: Bruno Boi <boi@odoo.com>
Open Source Job Board
Organize your job postings and applications
Organize your job board, promote your job announces and keep track of application submissions easily. Follow every applicant and build up a database of skills and profiles.
Create Awsome Job Description Pages
Get rid of old WYSIWYG editors
Get a clean and professional look for your job annouces. Odoo's unique 'edit inline' approach makes website and job descriptions creation surprisingly easy.
Drag & Drop well designed 'Building Blocks' to create beautifull job descriptions and announces that emphasizes the quality of your company.
Post Your Jobs on Best Job Boards
LinkedIn, Monster, Craigslist, Careerbuilder,...
Connect automatically to most famous job board websites; linkedIn, Monster, Craigslist, ... Every job position has a new email address automatically assigned to route applications automatically to the right job position.
Whether applicants contact you by email or using an online form, you get all the data indexed automatically (resumes, motivation letter) and you can answer in just a click, reusing templates of answers.
Customize Your Recruitment Process
Define your own stages and interviewers
Use the kanban view and customize the steps of your recruitments process; pre-qualification, first interview, second interview, negociaiton, ...
Get accurate statistics on your recruitment pipeline. Get reports to compare the performance of your different investments on external job boards.
Streamline Your Recruitment Process
Index resumes, track applicants, search profiles
Follow applicants in your recruitment process with the smart kanban view. Save time by automating some communications with email templates.
Documents like resumes and motivation letters are indexed automatically, allowing you to easily find for specific skills and build up a database of profiles.
Integrated Surveys
Define your own online or offline surveys
Create your own interview canvas based on our best practices. Use the survey designer to adapt questions to your own process. Ask the applicant to fill in the survey online, or the interviewer to use it during real interviews.
Fully Integrated With Others Apps
Get hundreds of open source apps for free
CMS
Easily create awesome websites with no technical knowledge required.
Blogs
Write news, attract new visitors, build customer loyalty.
Online Events
Schedule, organize, promote or sell events online; conferences, webinars, trainings, etc.