diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/website_twitter/static/src/js/website.twitter.editor.js | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_twitter/static/src/js/website.twitter.editor.js')
| -rw-r--r-- | addons/website_twitter/static/src/js/website.twitter.editor.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/addons/website_twitter/static/src/js/website.twitter.editor.js b/addons/website_twitter/static/src/js/website.twitter.editor.js new file mode 100644 index 00000000..bc9a38a4 --- /dev/null +++ b/addons/website_twitter/static/src/js/website.twitter.editor.js @@ -0,0 +1,68 @@ +odoo.define('website_twitter.editor', function (require) { +'use strict'; + +var core = require('web.core'); +var dom = require('web.dom'); +var sOptions = require('web_editor.snippets.options'); + +var _t = core._t; + +sOptions.registry.twitter = sOptions.Class.extend({ + /** + * @override + */ + start: function () { + var self = this; + var $configuration = dom.renderButton({ + attrs: { + class: 'btn-primary d-none', + contenteditable: 'false', + }, + text: _t("Reload"), + }); + $configuration.appendTo(document.body).on('click', function (ev) { + ev.preventDefault(); + ev.stopPropagation(); + self._rpc({route: '/website_twitter/reload'}); + }); + this.$target.on('mouseover.website_twitter', function () { + var $selected = $(this); + var position = $selected.offset(); + $configuration.removeClass('d-none').offset({ + top: $selected.outerHeight() / 2 + + position.top + - $configuration.outerHeight() / 2, + left: $selected.outerWidth() / 2 + + position.left + - $configuration.outerWidth() / 2, + }); + }).on('mouseleave.website_twitter', function (e) { + var current = document.elementFromPoint(e.clientX, e.clientY); + if (current === $configuration[0]) { + return; + } + $configuration.addClass('d-none'); + }); + this.$target.on('click.website_twitter', '.lnk_configure', function (e) { + window.location = e.currentTarget.href; + }); + this.trigger_up('widgets_stop_request', { + $target: this.$target, + }); + return this._super.apply(this, arguments); + }, + /** + * @override + */ + cleanForSave: function () { + this.$target.find('.twitter_timeline').empty(); + }, + /** + * @override + */ + destroy: function () { + this._super.apply(this, arguments); + this.$target.off('.website_twitter'); + }, +}); +}); |
