forked from meinereina/base64image
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplugin.js
57 lines (54 loc) · 2.31 KB
/
plugin.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
* Base64Image Plugin for CKEditor (http://github.com/nmmf/base64image)
* Created by ALL-INKL.COM - Neue Medien M�nnich - 04. Feb 2014
* Licensed under the terms of GPL, LGPL and MPL licenses.
*/
CKEDITOR.plugins.add("base64image", {
lang : ["af","ar","bg","bn","bs","ca","cs","cy","da","de","de-ch","el","en","en-au","en-ca","en-gb","eo","es","et","eu","fa","fi","fo","fr","fr-ca","gl","gu","he","hi","hr","hu","id","is","it","ja","ka","km","ko","ku","lt","lv","mk","mn","ms","nb","nl","no","pl","pt","pt-br","ro","ru","si","sk","sl","sq","sr","sr-latn","sv","th","tr","ug","uk","vi","zh","zh-cn"],
requires: "dialog",
icons : "base64image",
hidpi : true,
init : function(editor){
var pluginName = 'base64imageDialog';
editor.ui.addButton("base64image", {
label: editor.lang.common.image,
command: pluginName,
toolbar: "insert"
});
CKEDITOR.dialog.add(pluginName, this.path+"dialogs/base64image.js");
var allowed = 'img[alt,!src]{border-style,border-width,float,height,margin,margin-bottom,margin-left,margin-right,margin-top,width}',
required = 'img[alt,src]';
editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName, {
allowedContent: allowed,
requiredContent: required,
contentTransformations: [
[ 'img{width}: sizeToStyle', 'img[width]: sizeToAttribute' ],
[ 'img{float}: alignmentToStyle', 'img[align]: alignmentToAttribute' ]
]
} ) );
editor.on("doubleclick", function(evt){
if(evt.data.element && !evt.data.element.isReadOnly() && evt.data.element.getName() === "img") {
evt.data.dialog = pluginName;
editor.getSelection().selectElement(evt.data.element);
}
});
if(editor.addMenuItem) {
editor.addMenuGroup("base64imageGroup");
editor.addMenuItem("base64imageItem", {
label: editor.lang.common.image,
icon: this.path+"icons/base64image.png",
command: pluginName,
group: "base64imageGroup"
});
}
if(editor.contextMenu) {
editor.contextMenu.addListener(function(element, selection) {
if(element && element.getName() === "img") {
editor.getSelection().selectElement(element);
return { base64imageItem: CKEDITOR.TRISTATE_ON };
}
return null;
});
}
}
});