123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
-
- (function() {
-
-
-
-
-
-
-
- window.dummy = function(){
-
- }
-
-
-
- CKEDITOR.scriptLoader.load('//code.jquery.com/jquery-1.11.0.min.js');
- CKEDITOR.scriptLoader.load('http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false&callback=dummy');
-
- CKEDITOR.plugins.add('leaflet', {
-
- requires: 'widget',
- init: function(editor) {
-
-
- CKEDITOR.dialog.add('leaflet', this.path + 'dialogs/leaflet.js');
-
-
-
- mapParserPath = CKEDITOR.getUrl(this.path + 'scripts/mapParser.html');
-
- editor.widgets.add('leaflet', {
-
- dialog: 'leaflet',
-
-
-
-
-
-
-
-
-
- allowedContent: 'div(!leaflet_div,align-left,align-right,align-center)[*];'
- + 'iframe(!leaflet_iframe)[*];',
-
-
- template:
- '<div id="" class="leaflet_div" data-lat="" data-lon="" data-width="" data-height="" ' +
- 'data-zoom="" data-popup-text="" data-tile="" data-minimap="" data-alignment=""></div>',
-
-
-
- downcast: function(element) {
-
-
-
- var zoomSaved = element.attributes["data-zoom"];
-
- var divId = element.attributes["id"];
-
-
- var iframeId = "leaflet_iframe-" + divId.substring(12);
-
-
-
-
- var zoomIframe = editor.document.$.getElementById(iframeId).contentDocument.getElementById("map_container").getAttribute("data-zoom");
-
- if (zoomIframe != zoomSaved) {
-
- element.attributes["data-zoom"] = zoomIframe;
-
-
- var latitude = element.attributes["data-lat"];
- var longitude = element.attributes["data-lon"];
- var width = element.attributes["data-width"];
- var height = element.attributes["data-height"];
- var zoom = element.attributes["data-zoom"];
- var popUpText = element.attributes["data-popup-text"];
- var tile = element.attributes["data-tile"];
- var minimap = element.attributes["data-minimap"];
-
- var mapParserPathFull = mapParserPath + "?lat=" + latitude + "&lon=" + longitude + "&width=" + width + "&height=" + height + "&zoom=" + zoom + "&text=" + popUpText + "&tile=" + tile + "&minimap=" + minimap;
-
-
-
- element.children[0].attributes["src"] = mapParserPathFull;
- element.children[0].attributes["data-cke-saved-src"] = mapParserPathFull;
- }
-
- return element;
- },
-
-
-
- upcast: function(element) {
-
-
-
-
- if (element.name == 'div' && element.hasClass('leaflet_div')) {
- return element;
- }
- },
- });
-
-
-
- editor.ui.addButton('leaflet', {
- label : 'Leaflet Map',
- command : 'leaflet',
- icon : this.path + 'icons/leaflet.png',
- toolbar: "insert,1"
- });
-
-
-
- if (typeof editor.config.contentsCss == 'object') {
- editor.config.contentsCss.push(CKEDITOR.getUrl(this.path + 'css/contents.css'));
- }
- else {
- editor.config.contentsCss = [editor.config.contentsCss, CKEDITOR.getUrl(this.path + 'css/contents.css')];
- }
- },
- });
- })();
|