1 // https://civicrm.org/licensing
3 function getInstance(item
) {
4 var name
= $(item
).attr("name"),
5 id
= $(item
).attr("id");
6 if (name
&& CKEDITOR
.instances
[name
]) {
7 return CKEDITOR
.instances
[name
];
9 if (id
&& CKEDITOR
.instances
[id
]) {
10 return CKEDITOR
.instances
[id
];
13 CRM
.wysiwyg
.supportsFileUploads
= true;
14 CRM
.wysiwyg
.create = function(item
) {
16 browseUrl
= CRM
.config
.userFrameworkResourceURL
+ "packages/kcfinder/browse.php?cms=civicrm",
17 uploadUrl
= CRM
.config
.userFrameworkResourceURL
+ "packages/kcfinder/upload.php?cms=civicrm";
19 editor
= CKEDITOR
.replace($(item
)[0]);
22 editor
.config
.filebrowserBrowseUrl
= browseUrl
+ '&type=files';
23 editor
.config
.filebrowserImageBrowseUrl
= browseUrl
+ '&type=images';
24 editor
.config
.filebrowserFlashBrowseUrl
= browseUrl
+ '&type=flash';
25 editor
.config
.filebrowserUploadUrl
= uploadUrl
+ '&type=files';
26 editor
.config
.filebrowserImageUploadUrl
= uploadUrl
+ '&type=images';
27 editor
.config
.filebrowserFlashUploadUrl
= uploadUrl
+ '&type=flash';
28 editor
.on('focus', function() {
29 $(item
).trigger('focus');
31 editor
.on('blur', function() {
32 editor
.updateElement();
33 $(item
).trigger("blur");
34 $(item
).trigger("change");
36 editor
.on('insertText', function() {
37 $(item
).trigger("keypress");
39 editor
.on('pasteState', function() {
40 $(item
).trigger("paste");
44 CRM
.wysiwyg
.destroy = function(item
) {
45 var editor
= getInstance(item
);
50 CRM
.wysiwyg
.updateElement = function(item
) {
51 var editor
= getInstance(item
);
53 editor
.updateElement();
56 CRM
.wysiwyg
.getVal = function(item
) {
57 var editor
= getInstance(item
);
59 return editor
.getData();
64 CRM
.wysiwyg
.setVal = function(item
, val
) {
65 var editor
= getInstance(item
);
67 return editor
.setData(val
);
69 return $(item
).val(val
);
72 CRM
.wysiwyg
.insert = function(item
, text
) {
73 var editor
= getInstance(item
);
75 editor
.insertText(text
);
77 CRM
.wysiwyg
._insertIntoTextarea(item
, text
);
80 CRM
.wysiwyg
.focus = function(item
) {
81 var editor
= getInstance(item
);