diff --git a/etemplate/js/et2_widget_htmlarea.js b/etemplate/js/et2_widget_htmlarea.js index 4fc6b909ef..df067037f0 100644 --- a/etemplate/js/et2_widget_htmlarea.js +++ b/etemplate/js/et2_widget_htmlarea.js @@ -145,6 +145,8 @@ var et2_htmlarea = et2_inputWidget.extend( } }, set_value: function(_value) { + this._oldValue = _value; + try { //this.htmlNode.ckeditorGet().setData(_value); var ckeditor = CKEDITOR.instances[this.dom_id]; diff --git a/etemplate/js/etemplate2.js b/etemplate/js/etemplate2.js index 48230de26e..5e1f93f19f 100644 --- a/etemplate/js/etemplate2.js +++ b/etemplate/js/etemplate2.js @@ -301,6 +301,24 @@ etemplate2.prototype.load = function(_name, _url, _data, _callback) }; +/** + * Check if template contains any dirty (unsaved) content + * + * @returns {Boolean} + */ +etemplate2.prototype.isDirty = function() +{ + var dirty = false; + this.widgetContainer.iterateOver(function(_widget) { + if (_widget.isDirty && _widget.isDirty()) + { + dirty = true; + } + }); + + return dirty; +}; + etemplate2.prototype.submit = function(button) { // Get the form values