}
ngModel.$render = function(value) {
- CRM.wysiwyg.setVal(elm, ngModel.$viewValue);
+ editor.done(function() {
+ CRM.wysiwyg.setVal(elm, ngModel.$viewValue);
+ });
};
}
};
CRM.wysiwyg.supportsFileUploads = true;
CRM.wysiwyg.create = function(item) {
var editor,
+ deferred = $.Deferred(),
browseUrl = CRM.config.userFrameworkResourceURL + "packages/kcfinder/browse.php?cms=civicrm",
uploadUrl = CRM.config.userFrameworkResourceURL + "packages/kcfinder/upload.php?cms=civicrm";
if ($(item).length) {
filebrowserUploadUrl: uploadUrl + '&type=files',
filebrowserImageUploadUrl: uploadUrl + '&type=images',
filebrowserFlashUploadUrl: uploadUrl + '&type=flash',
- customConfig: CRM.config.CKEditorCustomConfig
+ customConfig: CRM.config.CKEditorCustomConfig,
+ on: {
+ instanceReady: function() {
+ deferred.resolve();
+ }
+ }
});
}
if (editor) {
editor.on('maximize', function (e) {
$('#civicrm-menu').toggle(e.data === 2);
});
+ } else {
+ deferred.reject();
}
+ return deferred;
};
CRM.wysiwyg.destroy = function(item) {
var editor = getInstance(item);
// A wysiwyg implementation can extend this by overriding as many of these functions as needed
CRM.wysiwyg = {
supportsFileUploads: false,
- create: _.noop,
+ create: function() {
+ return $.Deferred().resolve();
+ },
destroy: _.noop,
updateElement: _.noop,
getVal: function(item) {