[FIX] web_editor: disable button when html field loading
Commit bed33e1ca2 forgot to include the case
where the html field is in a modal
This commit accounts for that case
closes #24500
This commit is contained in:
@@ -194,8 +194,6 @@ var FieldTextHtml = widget.extend({
|
||||
},
|
||||
start: function () {
|
||||
var self = this;
|
||||
// Do not Forward port in >= 11.0
|
||||
this.$formButtons = this.getParent().$buttons;
|
||||
this.callback = _.uniqueId('FieldTextHtml_');
|
||||
window.odoo[this.callback+"_editor"] = function (EditorBar) {
|
||||
setTimeout(function () {
|
||||
@@ -293,13 +291,32 @@ var FieldTextHtml = widget.extend({
|
||||
src += "&datarecord="+ encodeURIComponent(JSON.stringify(datarecord));
|
||||
return src;
|
||||
},
|
||||
_toggleFormButtons: function(enable) {
|
||||
if (this.$formButtons) {
|
||||
if (enable) {
|
||||
this.$formButtons.find('button').removeClass('o_disabled').attr('disabled', false);
|
||||
} else {
|
||||
this.$formButtons.find('button').addClass('o_disabled').attr('disabled', true);
|
||||
}
|
||||
}
|
||||
},
|
||||
initialize_content: function () {
|
||||
var self = this;
|
||||
|
||||
// Do not Forward port in >= 11.0
|
||||
function getModalButtons() {
|
||||
var $modal = self.getParent().getParent();
|
||||
if ($modal && $modal.$footer) {
|
||||
return $modal.$footer;
|
||||
}
|
||||
}
|
||||
|
||||
this.$formButtons = this.getParent().$buttons || getModalButtons();
|
||||
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
|
||||
// Do not Forward port in >= 11.0
|
||||
this.$formButtons.find('button').addClass('o_disabled').attr('disabled', true);
|
||||
this._toggleFormButtons(false);
|
||||
this.document = null;
|
||||
this.$body = $();
|
||||
this.$content = $();
|
||||
@@ -327,7 +344,7 @@ var FieldTextHtml = widget.extend({
|
||||
this.render_value();
|
||||
// reactivate all the buttons when the field's content (the iframe) is loaded
|
||||
// Do not Forward port in >= 11.0
|
||||
this.$formButtons.find('button').removeClass('o_disabled').attr('disabled', false);
|
||||
this._toggleFormButtons(true);
|
||||
setTimeout(function () {
|
||||
self.add_button();
|
||||
setTimeout(self.resize,0);
|
||||
@@ -426,7 +443,7 @@ var FieldTextHtml = widget.extend({
|
||||
},
|
||||
destroy: function () {
|
||||
// Do not Forward port in >= 11.0
|
||||
this.$formButtons.find('button').removeClass('o_disabled').attr('disabled', false);
|
||||
this._toggleFormButtons(true);
|
||||
$(window).off('resize', this.resize);
|
||||
delete window.odoo[this.callback+"_editor"];
|
||||
delete window.odoo[this.callback+"_content"];
|
||||
|
||||
Reference in New Issue
Block a user