diff --git a/addons/website/__manifest__.py b/addons/website/__manifest__.py index afda9ebd727..618c60aeca6 100644 --- a/addons/website/__manifest__.py +++ b/addons/website/__manifest__.py @@ -39,6 +39,7 @@ 'views/snippets/s_carousel.xml', 'views/snippets/s_alert.xml', 'views/snippets/s_card.xml', + 'views/snippets/s_share.xml', 'views/website_views.xml', 'views/website_visitor_views.xml', 'views/res_config_settings_views.xml', diff --git a/temp_js b/addons/website/static/src/js/content/snippets.animation.js similarity index 98% rename from temp_js rename to addons/website/static/src/js/content/snippets.animation.js index 634470a5993..f9883534bd5 100644 --- a/temp_js +++ b/addons/website/static/src/js/content/snippets.animation.js @@ -605,38 +605,6 @@ registry.parallax = Animation.extend({ }, }); -registry.share = publicWidget.Widget.extend({ - selector: '.s_share, .oe_share', // oe_share for compatibility - - /** - * @override - */ - start: function () { - var urlRegex = /(\?(?:|.*&)(?:u|url|body)=)(.*?)(&|#|$)/; - var titleRegex = /(\?(?:|.*&)(?:title|text|subject)=)(.*?)(&|#|$)/; - var url = encodeURIComponent(window.location.href); - var title = encodeURIComponent($('title').text()); - this.$('a').each(function () { - var $a = $(this); - $a.attr('href', function (i, href) { - return href.replace(urlRegex, function (match, a, b, c) { - return a + url + c; - }).replace(titleRegex, function (match, a, b, c) { - return a + title + c; - }); - }); - if ($a.attr('target') && $a.attr('target').match(/_blank/i) && !$a.closest('.o_editable').length) { - $a.on('click', function () { - window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=550,width=600'); - return false; - }); - } - }); - - return this._super.apply(this, arguments); - }, -}); - registry.mediaVideo = publicWidget.Widget.extend({ selector: '.media_iframe_video', diff --git a/temp_scss b/addons/website/static/src/scss/website.scss similarity index 98% rename from temp_scss rename to addons/website/static/src/scss/website.scss index e60874e325b..fd74f5bd4b7 100644 --- a/temp_scss +++ b/addons/website/static/src/scss/website.scss @@ -944,33 +944,6 @@ table.table_desc tr td { } -// Share -.s_share { - > * { - display: inline-block; - vertical-align: middle; - } - .s_share_title { - margin: 0 .4rem 0 0; - } - > a + a { - margin-left: .4rem; - } - .s_share_facebook { - &, &:hover, &:focus { color: #3b5998; } - } - .s_share_twitter { - &, &:hover, &:focus { color: #1da1f2; } - } - .s_share_linkedin { - &, &:hover, &:focus { color: #0077b5; } - } - .s_share_google { - &, &:hover, &:focus { color: #db4437; } - } -} - - // Rating .s_rating { $star: "\f005"; diff --git a/addons/website/static/src/snippets/s_share/000.js b/addons/website/static/src/snippets/s_share/000.js new file mode 100644 index 00000000000..c9be8c9b5ff --- /dev/null +++ b/addons/website/static/src/snippets/s_share/000.js @@ -0,0 +1,41 @@ +odoo.define('website.s_share', function (require) { +'use strict'; + +const publicWidget = require('web.public.widget'); + +const ShareWidget = publicWidget.Widget.extend({ + selector: '.s_share, .oe_share', // oe_share for compatibility + + /** + * @override + */ + start: function () { + var urlRegex = /(\?(?:|.*&)(?:u|url|body)=)(.*?)(&|#|$)/; + var titleRegex = /(\?(?:|.*&)(?:title|text|subject)=)(.*?)(&|#|$)/; + var url = encodeURIComponent(window.location.href); + var title = encodeURIComponent($('title').text()); + this.$('a').each(function () { + var $a = $(this); + $a.attr('href', function (i, href) { + return href.replace(urlRegex, function (match, a, b, c) { + return a + url + c; + }).replace(titleRegex, function (match, a, b, c) { + return a + title + c; + }); + }); + if ($a.attr('target') && $a.attr('target').match(/_blank/i) && !$a.closest('.o_editable').length) { + $a.on('click', function () { + window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=550,width=600'); + return false; + }); + } + }); + + return this._super.apply(this, arguments); + }, +}); + +publicWidget.registry.share = ShareWidget; + +return ShareWidget; +}); diff --git a/addons/website/static/src/snippets/s_share/000.scss b/addons/website/static/src/snippets/s_share/000.scss new file mode 100644 index 00000000000..a7e12a2a4da --- /dev/null +++ b/addons/website/static/src/snippets/s_share/000.scss @@ -0,0 +1,25 @@ + +.s_share { + > * { + display: inline-block; + vertical-align: middle; + } + .s_share_title { + margin: 0 .4rem 0 0; + } + > a + a { + margin-left: .4rem; + } + .s_share_facebook { + &, &:hover, &:focus { color: #3b5998; } + } + .s_share_twitter { + &, &:hover, &:focus { color: #1da1f2; } + } + .s_share_linkedin { + &, &:hover, &:focus { color: #0077b5; } + } + .s_share_google { + &, &:hover, &:focus { color: #db4437; } + } +} diff --git a/addons/website/views/snippets/s_share.xml b/addons/website/views/snippets/s_share.xml new file mode 100644 index 00000000000..6860d0550e6 --- /dev/null +++ b/addons/website/views/snippets/s_share.xml @@ -0,0 +1,34 @@ + + + + + + + +