UNPKG

fit-ui

Version:

Object Oriented framework for building rich User Interfaces

59 lines (55 loc) 2.53 kB
/* * 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,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' ] ] } ) ); // DISABLED as it does not work properly with Fit.UI's implementation of CKEditor - see https://github.com/Jemt/Fit.UI/issues/131 // editor.on("doubleclick", function(evt){ // if(evt.data.element && !evt.data.element.isReadOnly() && evt.data.element.getName() === "img") { // evt.data.dialog = pluginName; // Tells CKEditor to open this plugin's dialog // 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; }); } } });