[FIX] web_editor: Fieldtexthtml wait until iframe loaded to save
In the case where: - you are too fast editing a mass mailing, trigger an onchange (e.g. mailing_model) and then save You can use the edit/save shortcuts to make yourself believe you are Flash Gordon - your internet is too slow (Down: 4Mb/s, Up: 500kb/s, Latency: 20ms) Before ths commit, the onchange will return *before* the field (the iframe actually) is loaded. This onchange contains a signal *in* the body_html of the field to allow communication with the iframe. If you save before the iframe is loaded, this body_html keyword will be saved. After this commit we deactivate the save button until the iframe is loaded. We could have gone for a python user error on the value of the body_html too. But it would have added a supplementary click and potential reloading OPW 783616
This commit is contained in:
@@ -293,6 +293,8 @@ var FieldTextHtml = widget.extend({
|
||||
var self = this;
|
||||
this.$el.closest('.modal-body').css('max-height', 'none');
|
||||
this.$iframe = this.$el.find('iframe');
|
||||
// deactivate any button to avoid saving a not ready iframe
|
||||
$('.o_cp_buttons, .o_statusbar_buttons').find('button').addClass('o_disabled').attr('disabled', true);
|
||||
this.document = null;
|
||||
this.$body = $();
|
||||
this.$content = $();
|
||||
@@ -318,6 +320,8 @@ var FieldTextHtml = widget.extend({
|
||||
this.lang = this.lang ? this.lang[1] : this.view.dataset.context.lang;
|
||||
this._dirty_flag = false;
|
||||
this.render_value();
|
||||
// reactivate all the buttons when the field's content (the iframe) is loaded
|
||||
$('.o_cp_buttons, .o_statusbar_buttons').find('button').removeClass('o_disabled').attr('disabled', false);
|
||||
setTimeout(function () {
|
||||
self.add_button();
|
||||
setTimeout(self.resize,0);
|
||||
|
||||
Reference in New Issue
Block a user