diff options
| author | qsm-odoo <qsm@odoo.com> | 2017-06-20 16:27:28 +0200 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2017-06-21 12:56:13 +0200 |
| commit | 85d1e76ddbac9aeedfba4710443b74cbcc6586be (patch) | |
| tree | ce266dbcf69bb3aae986bc3cdc91536c03597ef6 /addons/web/static/src/js/libs/bootstrap.js | |
| parent | 9fc7a04b4b4bc68535620fda7cfe2bafba6e0081 (diff) | |
[IMP] web, *: reorganize our libraries' extensions
* web_editor, web_tour, website_event_track
Before this commit, one JS file was responsible for all the library
extensions and fixes. There were two main problems with this system:
- The file was only available in the backend (as some extensions are
made on backend-only libraries).
- Some other modules were doing library customizations.
This commit creates one file per library to regroup their associated
customization and adds them in the right asset. These are placed in
the web module and every other module should avoid doing customizations.
This allows to have libraries consistency accross all modules and
between the backend and the frontend.
Diffstat (limited to 'addons/web/static/src/js/libs/bootstrap.js')
| -rw-r--r-- | addons/web/static/src/js/libs/bootstrap.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/addons/web/static/src/js/libs/bootstrap.js b/addons/web/static/src/js/libs/bootstrap.js new file mode 100644 index 00000000000..04ca2381d7d --- /dev/null +++ b/addons/web/static/src/js/libs/bootstrap.js @@ -0,0 +1,29 @@ +odoo.define('web.bootstrap.extensions', function () { +'use strict'; + +/** + * The bootstrap library extensions and fixes should be done here to avoid + * patching in place. + */ + +/* Bootstrap defaults overwrite */ +$.fn.tooltip.Constructor.DEFAULTS.placement = 'auto top'; +$.fn.tooltip.Constructor.DEFAULTS.html = true; +$.fn.tooltip.Constructor.DEFAULTS.trigger = 'hover focus click'; +$.fn.tooltip.Constructor.DEFAULTS.container = 'body'; +$.fn.tooltip.Constructor.DEFAULTS.delay = { show: 1000, hide: 0 }; +//overwrite bootstrap tooltip method to prevent showing 2 tooltip at the same time +var bootstrap_show_function = $.fn.tooltip.Constructor.prototype.show; +$.fn.modal.Constructor.prototype.enforceFocus = function () { }; +$.fn.tooltip.Constructor.prototype.show = function () { + $('.tooltip').remove(); + //the following fix the bug when using placement + //auto and the parent element does not exist anymore resulting in + //an error. This should be remove once we updade bootstrap to a version that fix the bug + //edit: bug has been fixed here : https://github.com/twbs/bootstrap/pull/13752 + var e = $.Event('show.bs.' + this.type); + var inDom = $.contains(document.documentElement, this.$element[0]); + if (e.isDefaultPrevented() || !inDom) return; + return bootstrap_show_function.call(this); +}; +}); |
