odoo.define('web_editor.backend', function (require) { 'use strict'; var AbstractField = require('web.AbstractField'); var basic_fields = require('web.basic_fields'); var config = require('web.config'); var core = require('web.core'); var session = require('web.session'); var field_registry = require('web.field_registry'); var transcoder = require('web_editor.transcoder'); var TranslatableFieldMixin = basic_fields.TranslatableFieldMixin; var QWeb = core.qweb; var _t = core._t; /** * FieldTextHtmlSimple Widget * Intended to display HTML content. This widget uses the summernote editor * improved by odoo. * */ var FieldTextHtmlSimple = basic_fields.DebouncedField.extend(TranslatableFieldMixin, { className: 'oe_form_field oe_form_field_html_text', supportedFieldTypes: ['html'], //-------------------------------------------------------------------------- // Public //-------------------------------------------------------------------------- /** * Summernote doesn't notify for changes done in code mode. We override * commitChanges to manually switch back to normal mode before committing * changes, so that the widget is aware of the changes done in code mode. * * @override */ commitChanges: function () { // switch to WYSIWYG mode if currently in code mode to get all changes if (config.debug && this.mode === 'edit') { var layoutInfo = this.$textarea.data('layoutInfo'); $.summernote.pluginEvents.codeview(undefined, undefined, layoutInfo, false); } this._super.apply(this, arguments); }, /** * @override */ isSet: function () { return this.value && this.value !== "