diff --git a/addons/web/static/src/views/view_hook.js b/addons/web/static/src/views/view_hook.js index c7e50a7ea42..8e0555c7027 100644 --- a/addons/web/static/src/views/view_hook.js +++ b/addons/web/static/src/views/view_hook.js @@ -64,7 +64,7 @@ export function useActionLinks({ resModel, reload }) { // the handler should have stopped the Event // But we still need to alert bootstrap if we need to // This function should be removed when we get rid of bootstrap as a JS framework - if (target.dataset.toggle === "collapse") { + if (target.dataset.bsToggle === "collapse") { $(target).trigger("click.bs.collapse.data-api"); } } diff --git a/addons/web/static/tests/legacy/views/abstract_view_banner_tests.js b/addons/web/static/tests/legacy/views/abstract_view_banner_tests.js index da8eaacb412..74a01c4a6f2 100644 --- a/addons/web/static/tests/legacy/views/abstract_view_banner_tests.js +++ b/addons/web/static/tests/legacy/views/abstract_view_banner_tests.js @@ -58,7 +58,7 @@ QUnit.module('LegacyViews', {
- diff --git a/addons/web/static/tests/legacy/views/kanban_tests.js b/addons/web/static/tests/legacy/views/kanban_tests.js index 83fbee025ba..86081c43c6b 100644 --- a/addons/web/static/tests/legacy/views/kanban_tests.js +++ b/addons/web/static/tests/legacy/views/kanban_tests.js @@ -6079,7 +6079,7 @@ QUnit.module('LegacyViews', { "tooltip of first column should not defined, since group_by_tooltip title and the many2one field has no value"); assert.ok(kanban.$('.o_kanban_group:eq(1) span.o_column_title:contains(hello)').length, "second column should have a title with a value from the many2one"); - assert.strictEqual(kanban.$('.o_kanban_group:eq(1) .o_kanban_header_title').data('original-title'), + assert.strictEqual(kanban.$('.o_kanban_group:eq(1) .o_kanban_header_title').data('bs-original-title'), "
Kikou
hello
", "second column should have a tooltip with the group_by_tooltip title and many2one field value"); diff --git a/addons/web_editor/static/src/js/editor/snippets.editor.js b/addons/web_editor/static/src/js/editor/snippets.editor.js index 5262374f410..1289bb89363 100644 --- a/addons/web_editor/static/src/js/editor/snippets.editor.js +++ b/addons/web_editor/static/src/js/editor/snippets.editor.js @@ -1233,7 +1233,7 @@ var SnippetsMenu = Widget.extend({ '.o_notification_manager', '.o_we_no_overlay', '.ui-autocomplete', - '.modal .close', + '.modal .btn-close', '.o_we_crop_widget', '.transfo-container', ].join(', '); diff --git a/addons/website/static/src/js/editor/snippets.options.js b/addons/website/static/src/js/editor/snippets.options.js index f189130e861..9f303cc6972 100644 --- a/addons/website/static/src/js/editor/snippets.options.js +++ b/addons/website/static/src/js/editor/snippets.options.js @@ -1584,11 +1584,11 @@ options.registry.Carousel = options.Class.extend({ _assignUniqueID: function () { const id = 'myCarousel' + Date.now(); this.$target.attr('id', id); - this.$target.find('[data-target]').attr('data-target', '#' + id); + this.$target.find('[data-bs-target]').attr('data-bs-target', '#' + id); _.each(this.$target.find('[data-slide], [data-slide-to]'), function (el) { var $el = $(el); - if ($el.attr('data-target')) { - $el.attr('data-target', '#' + id); + if ($el.attr('data-bs-target')) { + $el.attr('data-bs-target', '#' + id); } else if ($el.attr('href')) { $el.attr('href', '#' + id); } @@ -1604,7 +1604,7 @@ options.registry.Carousel = options.Class.extend({ this.$controls.removeClass('d-none'); const $active = $items.filter('.active'); this.$indicators.append($('
  • ', { - 'data-target': '#' + this.$target.attr('id'), + 'data-bs-target': '#' + this.$target.attr('id'), 'data-slide-to': $items.length, })); this.$indicators.append(' '); @@ -1924,11 +1924,11 @@ options.registry.collapse = options.Class.extend({ const tablistId = setUniqueId($tablist, 'myCollapse'); $panel.attr('data-parent', '#' + tablistId); - $panel.data('parent', '#' + tablistId); + $panel.data('bs-parent', '#' + tablistId); const panelId = setUniqueId($panel, 'myCollapseTab'); - $tab.attr('data-target', '#' + panelId); - $tab.data('target', '#' + panelId); + $tab.attr('data-bs-target', '#' + panelId); + $tab.data('bs-target', '#' + panelId); }, }); diff --git a/addons/website/static/src/js/editor/wysiwyg.js b/addons/website/static/src/js/editor/wysiwyg.js index 023bce0971d..3b1712db571 100644 --- a/addons/website/static/src/js/editor/wysiwyg.js +++ b/addons/website/static/src/js/editor/wysiwyg.js @@ -53,7 +53,7 @@ const WebsiteWysiwyg = Wysiwyg.extend({ const $editableWindow = this.$editable[0].ownerDocument.defaultView; // Dropdown menu initialization: handle dropdown openings by hand var $dropdownMenuToggles = $editableWindow.$('.o_mega_menu_toggle, #top_menu_container .dropdown-toggle'); - $dropdownMenuToggles.removeAttr('data-toggle').dropdown('dispose'); + $dropdownMenuToggles.removeAttr('data-bs-toggle').dropdown('dispose'); $dropdownMenuToggles.on('click.wysiwyg_megamenu', ev => { this.odooEditor.observerUnactive(); var $toggle = $(ev.currentTarget); @@ -236,7 +236,7 @@ const WebsiteWysiwyg = Wysiwyg.extend({ _restoreMegaMenus: function () { var $megaMenuToggles = this.$('.o_mega_menu_toggle'); $megaMenuToggles.off('.wysiwyg_megamenu') - .attr('data-toggle', 'dropdown') + .attr('data-bs-toggle', 'dropdown') .dropdown({}); return toggleDropdown($megaMenuToggles, false); }, diff --git a/addons/website/static/src/snippets/s_image_gallery/options.js b/addons/website/static/src/snippets/s_image_gallery/options.js index 74f68657a2c..1384a57493a 100644 --- a/addons/website/static/src/snippets/s_image_gallery/options.js +++ b/addons/website/static/src/snippets/s_image_gallery/options.js @@ -22,7 +22,7 @@ options.registry.gallery = options.Class.extend({ this.$target.on('image_changed', 'img', function (ev) { var $img = $(ev.currentTarget); var index = self.$target.find('.carousel-item.active').index(); - self.$('.carousel:first li[data-target]:eq(' + index + ')') + self.$('.carousel:first li[data-bs-target]:eq(' + index + ')') .css('background-image', 'url(' + $img.attr('src') + ')'); }); @@ -365,8 +365,8 @@ options.registry.gallery = options.Class.extend({ this.$target.find('.carousel').attr('id', 'slideshow_' + uuid); _.each(this.$target.find('[data-slide], [data-slide-to]'), function (el) { var $el = $(el); - if ($el.attr('data-target')) { - $el.attr('data-target', '#slideshow_' + uuid); + if ($el.attr('data-bs-target')) { + $el.attr('data-bs-target', '#slideshow_' + uuid); } else if ($el.attr('href')) { $el.attr('href', '#slideshow_' + uuid); } diff --git a/addons/website_event_exhibitor/views/event_templates_sponsor.xml b/addons/website_event_exhibitor/views/event_templates_sponsor.xml index b67fd1db6fb..d4989441513 100644 --- a/addons/website_event_exhibitor/views/event_templates_sponsor.xml +++ b/addons/website_event_exhibitor/views/event_templates_sponsor.xml @@ -17,8 +17,8 @@ + t-att-data-bs-content="popover_content" + data-bs-html="true" data-bs-trigger="focus" data-bs-toggle="popover" data-bs-placement="bottom"> diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml index 8cf62e00109..fa5d51b0019 100644 --- a/addons/website_forum/views/website_forum.xml +++ b/addons/website_forum/views/website_forum.xml @@ -652,7 +652,7 @@
  • + data-bs-toggle="popover" data-bs-trigger="hover" data-bs-content="Please wait for a moderator to validate your previous post before continuing."> New Post
    New Post @@ -1425,7 +1425,7 @@
    + t-att-data-bs-content="bio_popover_data"> diff --git a/addons/website_slides/static/tests/tours/slides_course_member.js b/addons/website_slides/static/tests/tours/slides_course_member.js index 1444012b5ad..e241a9333cb 100644 --- a/addons/website_slides/static/tests/tours/slides_course_member.js +++ b/addons/website_slides/static/tests/tours/slides_course_member.js @@ -123,7 +123,7 @@ tour.register('course_member', { { trigger: 'a:contains("Basics of Gardening")' }, { - trigger: 'button[data-target="#ratingpopupcomposer"]' + trigger: 'button[data-bs-target="#ratingpopupcomposer"]' }, { trigger: 'div.o_portal_chatter_composer_input i.fa:eq(2)', extra_trigger: 'div.modal_shown',