- Don't try to translate config

- Better error message if destroying CKEDITOR fails
- Handle failing destroy, and make sure widget is completely removed
This commit is contained in:
Nathan Gray 2013-10-10 11:57:18 +00:00
parent bab4adf6d9
commit 9fe3bda432

View File

@ -62,7 +62,8 @@ var et2_htmlarea = et2_inputWidget.extend(
'name': 'Internal configuration', 'name': 'Internal configuration',
'type':'any', 'type':'any',
'default': et2_no_init, 'default': et2_no_init,
'description': 'Internal configuration - managed by preferences & framework, passed in here' 'description': 'Internal configuration - managed by preferences & framework, passed in here',
'translate': 'no_lang'
}, },
}, },
@ -90,9 +91,9 @@ var et2_htmlarea = et2_inputWidget.extend(
transformAttributes: function(_attrs) { transformAttributes: function(_attrs) {
// Check mode, some apps jammed everything in there // Check mode, some apps jammed everything in there
if(jQuery.inArray(_attrs['mode'], this.modes) < 0) if(_attrs['mode'] && jQuery.inArray(_attrs['mode'], this.modes) < 0)
{ {
this.egw().debug("warn", "Invalid mode for '%s': %s Valid options:", _attrs['id'],_attrs['mode'], this.modes); this.egw().debug("warn", "'%s' is an invalid mode for htmlarea '%s'. Valid options:", _attrs['mode'],_attrs['id'], this.modes);
var list = _attrs['mode'].split(','); var list = _attrs['mode'].split(',');
for(var i = 0; i < list.length && i < this.legacyOptions.length; i++) for(var i = 0; i < list.length && i < this.legacyOptions.length; i++)
{ {
@ -140,9 +141,13 @@ var et2_htmlarea = et2_inputWidget.extend(
} }
catch (e) catch (e)
{ {
this.egw().debug("warn",e); this.egw().debug("warn","Removing CKEDITOR: " + e.message, this,e);
this.htmlNode = null; // Finish it
delete CKEDITOR.instances[this.dom_id];
} }
this.htmlNode.remove();
this.htmlNode = null;
this._super.apply(this, arguments);
}, },
set_value: function(_value) { set_value: function(_value) {
this._oldValue = _value; this._oldValue = _value;