From 4d1927caef3e29b5f946a6ef4bd1214da42a9acc Mon Sep 17 00:00:00 2001 From: Vincent Schippefilt Date: Wed, 6 Mar 2019 14:02:38 +0100 Subject: [PATCH] [REF] website_slides: adapt code after jQuery update Part of task 1896658 Co-authored-by: Aaron Bohy Co-authored-by: Christophe Matthieu Co-authored-by: Mathieu Duckerts-Antoine Co-authored-by: David Monjoie Co-authored-by: Martin Geubelle Co-authored-by: svs-odoo Co-authored-by: Vincent Schippefilt --- addons/website_slides/static/src/js/slides.js | 4 ++-- .../static/src/js/slides_course_fullscreen_player.js | 9 +++------ .../static/src/js/slides_course_join.js | 6 +++--- addons/website_slides/static/src/js/slides_embed.js | 2 +- addons/website_slides/static/src/js/slides_share.js | 2 +- .../static/src/js/slides_slide_like.js | 2 +- addons/website_slides/static/src/js/slides_upload.js | 2 +- .../static/src/js/website_slides.editor.js | 12 ++++++------ 8 files changed, 18 insertions(+), 21 deletions(-) diff --git a/addons/website_slides/static/src/js/slides.js b/addons/website_slides/static/src/js/slides.js index ca4cb1dc609..4f081013de1 100644 --- a/addons/website_slides/static/src/js/slides.js +++ b/addons/website_slides/static/src/js/slides.js @@ -28,7 +28,7 @@ publicWidget.registry.websiteSlides = publicWidget.Widget.extend({ $(el).text(displayStr); }); - return $.when.apply($, defs); + return Promise.all(defs); }, }); @@ -101,7 +101,7 @@ publicWidget.registry.websiteSlidesEmbed = publicWidget.Widget.extend({ start: function (parent) { var defs = [this._super.apply(this, arguments)]; $('iframe.o_wslides_iframe_viewer').on('ready', this._onIframeViewerReady.bind(this)); - return $.when.apply($, defs); + return Promise.all(defs); }, //-------------------------------------------------------------------------- diff --git a/addons/website_slides/static/src/js/slides_course_fullscreen_player.js b/addons/website_slides/static/src/js/slides_course_fullscreen_player.js index 5e6781e8f0a..fc37eece601 100644 --- a/addons/website_slides/static/src/js/slides_course_fullscreen_player.js +++ b/addons/website_slides/static/src/js/slides_course_fullscreen_player.js @@ -410,17 +410,14 @@ odoo.define('website_slides.fullscreen', function (require) { publicWidget.registry.websiteSlidesFullscreenPlayer = publicWidget.Widget.extend({ selector: '.o_wslides_fs_main', xmlDependencies: ['/website_slides/static/src/xml/website_slides_fullscreen.xml'], - init: function (el){ - this._super.apply(this, arguments); - }, start: function (){ - var defs = [this._super.apply(this, arguments)]; + var proms = [this._super.apply(this, arguments)]; var userId = this.$el.data('userId'); var courseId = this.$el.data('courseId'); var slideId = this.$el.data('slideId'); var fullscreen = new Fullscreen(this, courseId, slideId, userId); - defs.push(fullscreen.attachTo(this.$el)); - return $.when.apply($, defs); + proms.push(fullscreen.attachTo(this.$el)); + return Promise.all(proms); } }); diff --git a/addons/website_slides/static/src/js/slides_course_join.js b/addons/website_slides/static/src/js/slides_course_join.js index c45cb13ab1b..cdd8cc531cd 100644 --- a/addons/website_slides/static/src/js/slides_course_join.js +++ b/addons/website_slides/static/src/js/slides_course_join.js @@ -73,11 +73,11 @@ publicWidget.registry.websiteSlidesCourseJoin = publicWidget.Widget.extend({ */ start: function () { var self = this; - var defs = [this._super.apply(this, arguments)]; + var proms = [this._super.apply(this, arguments)]; $('.o_wslides_js_course_join').each(function () { - defs.push(new CourseJoinWidget(self).attachTo($(this))); + proms.push(new CourseJoinWidget(self).attachTo($(this))); }); - return $.when.apply($, defs); + return Promise.all(proms); }, }); diff --git a/addons/website_slides/static/src/js/slides_embed.js b/addons/website_slides/static/src/js/slides_embed.js index edcaca7eccb..b2b19b98e03 100644 --- a/addons/website_slides/static/src/js/slides_embed.js +++ b/addons/website_slides/static/src/js/slides_embed.js @@ -4,7 +4,7 @@ * a slide/video/document. This code can depend on pdf.js, JQuery and Bootstrap * (see website_slides.slide_embed_assets bundle, in website_slides_embed.xml) */ -$(document).ready(function () { +$(function () { if ($('#PDFViewer') && $('#PDFViewerCanvas')) { // check if presentation only diff --git a/addons/website_slides/static/src/js/slides_share.js b/addons/website_slides/static/src/js/slides_share.js index 73fd165545b..81ba1e4a806 100644 --- a/addons/website_slides/static/src/js/slides_share.js +++ b/addons/website_slides/static/src/js/slides_share.js @@ -67,7 +67,7 @@ publicWidget.registry.websiteSlidesShare = publicWidget.Widget.extend({ self._updateStatistics(key, self.slideURL); }); - return $.when.apply($, defs); + return Promise.all(defs); }, //-------------------------------------------------------------------------- diff --git a/addons/website_slides/static/src/js/slides_slide_like.js b/addons/website_slides/static/src/js/slides_slide_like.js index 406368ded25..5d343c72579 100644 --- a/addons/website_slides/static/src/js/slides_slide_like.js +++ b/addons/website_slides/static/src/js/slides_slide_like.js @@ -89,7 +89,7 @@ publicWidget.registry.websiteSlidesSlideLike = publicWidget.Widget.extend({ $('.o_wslides_js_slide_like').each(function () { defs.push(new SlideLikeWidget(self).attachTo($(this))); }); - return $.when.apply($, defs); + return Promise.all(defs); }, }); diff --git a/addons/website_slides/static/src/js/slides_upload.js b/addons/website_slides/static/src/js/slides_upload.js index 602b96992cb..ad1e024d2bf 100644 --- a/addons/website_slides/static/src/js/slides_upload.js +++ b/addons/website_slides/static/src/js/slides_upload.js @@ -241,7 +241,7 @@ var SlideUploadDialog = Dialog.extend({ * @private * @param {String} Placeholder for element. * @param {bool} true for multiple selection box, false for single selection - * @param {Function} Function to fetch data from remote location should return $.deferred object + * @param {Function} Function to fetch data from remote location should return a Promise * resolved data should be array of object with id and name. eg. [{'id': id, 'name': 'text'}, ...] * @param {String} [nameKey='name'] (optional) the name key of the returned record * ('name' if not provided) diff --git a/addons/website_slides/static/src/js/website_slides.editor.js b/addons/website_slides/static/src/js/website_slides.editor.js index 72a18bb93ee..0a997460d56 100644 --- a/addons/website_slides/static/src/js/website_slides.editor.js +++ b/addons/website_slides/static/src/js/website_slides.editor.js @@ -97,14 +97,14 @@ WebsiteNewMenu.include({ * and redirects the user to this channel. * * @private - * @returns {Deferred} Unresolved if there is a redirection + * @returns {Promise} Unresolved if there is a redirection */ _createNewSlideChannel: function () { - var def = $.Deferred(); - var dialog = new ChannelCreateDialog(this, {}); - dialog.open(); - dialog.on('closed', this, function() { - def.resolve(); + var self = this; + var def = new Promise(function (resolve) { + var dialog = new ChannelCreateDialog(self, {}); + dialog.open(); + dialog.on('closed', self, resolve); }); return def; },