CRM-16354 update ckeditor
[civicrm-core.git] / js / wysiwyg / crm.ckeditor.js
1 // https://civicrm.org/licensing
2 (function($, _) {
3 function getInstance(item) {
4 var name = $(item).attr("name");
5 return CKEDITOR.instances[name];
6 }
7
8 CRM.wysiwyg = {
9 supportsFileUploads: true,
10 create: function(item) {
11 var browseUrl = CRM.config.userFrameworkResourceUrl + "packages/kcfinder/browse.php";
12 var uploadUrl = CRM.config.userFrameworkResourceUrl + "packages/kcfinder/upload.php";
13 var editor = CKEDITOR.replace($(item)[0]);
14 if (editor) {
15 editor.config.filebrowserBrowseUrl = browseUrl+'?cms=civicrm&type=files';
16 editor.config.filebrowserImageBrowseUrl = browseUrl+'?cms=civicrm&type=images';
17 editor.config.filebrowserFlashBrowseUrl = browseUrl+'?cms=civicrm&type=flash';
18 editor.config.filebrowserUploadUrl = uploadUrl+'?cms=civicrm&type=files';
19 editor.config.filebrowserImageUploadUrl = uploadUrl+'?cms=civicrm&type=images';
20 editor.config.filebrowserFlashUploadUrl = uploadUrl+'?cms=civicrm&type=flash';
21 }
22 },
23 destroy: function(item) {
24 var editor = getInstance(item);
25 if (editor) {
26 editor.destroy();
27 }
28 },
29 updateElement: function(item) {
30 var editor = getInstance(item);
31 if (editor) {
32 editor.updateElement();
33 }
34 },
35 val: function(item) {
36 var editor = getInstance(item);
37 if (editor) {
38 return editor.getData();
39 } else {
40 return $(item).val();
41 }
42 },
43 };
44 })(CRM.$, CRM._);