9 changed files with 231 additions and 40 deletions
@ -0,0 +1,23 @@ |
|||||||
|
//= require ckeditor/config
|
||||||
|
//= require ckeditor/init
|
||||||
|
|
||||||
|
$('.i-ckeditor').each(function(){ |
||||||
|
var a, b; |
||||||
|
a = $(this), b = a.attr('id') || ('ckeditor' + (new Date).getTime()) |
||||||
|
//<![CDATA[
|
||||||
|
if (typeof CKEDITOR != 'undefined') { CKEDITOR.replace(b); } |
||||||
|
//]]>
|
||||||
|
}) |
||||||
|
|
||||||
|
$('.i-ckeditor-readonly').each(function(){ |
||||||
|
var a, b; |
||||||
|
a = $(this), b = a.attr('id') || ('ckeditor' + (new Date).getTime()) |
||||||
|
var options = {}; |
||||||
|
options.readOnly = true |
||||||
|
options.toolbar = [ |
||||||
|
{ name: 'document', items : [ 'Source', 'Maximize' ] } |
||||||
|
] |
||||||
|
options.resize_enabled = false; |
||||||
|
|
||||||
|
if (typeof CKEDITOR != 'undefined') { editor = CKEDITOR.replace(b, options); } |
||||||
|
}) |
||||||
@ -0,0 +1,117 @@ |
|||||||
|
//= require frameworks/main.ckeditor |
||||||
|
|
||||||
|
(function () { |
||||||
|
$.cachedScript = function( url, options ) { |
||||||
|
options = $.extend( options || {}, { |
||||||
|
dataType: "script", |
||||||
|
cache: true, |
||||||
|
async: true, |
||||||
|
url: url |
||||||
|
}); |
||||||
|
return $.ajaxq(url,options); |
||||||
|
} |
||||||
|
|
||||||
|
$.fn.doesExist = function() { |
||||||
|
return $(this).length > 0; |
||||||
|
}; |
||||||
|
|
||||||
|
if($('.i-ckeditor').doesExist()){ |
||||||
|
$.cachedScript("<%= asset_path 'frameworks/main.ckeditor.js' %>"); |
||||||
|
} |
||||||
|
if($('.i-ckeditor-readonly').doesExist()){ |
||||||
|
$.cachedScript("<%= asset_path 'frameworks/main.ckeditor.js' %>"); |
||||||
|
} |
||||||
|
}) |
||||||
|
|
||||||
|
/* |
||||||
|
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. |
||||||
|
For licensing, see LICENSE.html or http://ckeditor.com/license |
||||||
|
*/ |
||||||
|
|
||||||
|
CKEDITOR.editorConfig = function( config ) |
||||||
|
{ |
||||||
|
// Define changes to default configuration here. For example: |
||||||
|
// config.language = 'fr'; |
||||||
|
// config.uiColor = '#AADC6E'; |
||||||
|
|
||||||
|
/* Filebrowser routes */ |
||||||
|
// The location of an external file browser, that should be launched when "Browse Server" button is pressed. |
||||||
|
config.filebrowserBrowseUrl = "/ckeditor/attachment_files"; |
||||||
|
|
||||||
|
// The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Flash dialog. |
||||||
|
config.filebrowserFlashBrowseUrl = "/ckeditor/attachment_files"; |
||||||
|
|
||||||
|
// The location of a script that handles file uploads in the Flash dialog. |
||||||
|
config.filebrowserFlashUploadUrl = "/ckeditor/attachment_files"; |
||||||
|
|
||||||
|
// The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Link tab of Image dialog. |
||||||
|
config.filebrowserImageBrowseLinkUrl = "/ckeditor/pictures"; |
||||||
|
|
||||||
|
// The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Image dialog. |
||||||
|
config.filebrowserImageBrowseUrl = "/ckeditor/pictures"; |
||||||
|
|
||||||
|
// The location of a script that handles file uploads in the Image dialog. |
||||||
|
config.filebrowserImageUploadUrl = "/ckeditor/pictures"; |
||||||
|
|
||||||
|
// The location of a script that handles file uploads. |
||||||
|
config.filebrowserUploadUrl = "/ckeditor/attachment_files"; |
||||||
|
|
||||||
|
// Rails CSRF token |
||||||
|
config.filebrowserParams = function(){ |
||||||
|
var csrf_token, csrf_param, meta, |
||||||
|
metas = document.getElementsByTagName('meta'), |
||||||
|
params = new Object(); |
||||||
|
|
||||||
|
for ( var i = 0 ; i < metas.length ; i++ ){ |
||||||
|
meta = metas[i]; |
||||||
|
|
||||||
|
switch(meta.name) { |
||||||
|
case "csrf-token": |
||||||
|
csrf_token = meta.content; |
||||||
|
break; |
||||||
|
case "csrf-param": |
||||||
|
csrf_param = meta.content; |
||||||
|
break; |
||||||
|
default: |
||||||
|
continue; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (csrf_param !== undefined && csrf_token !== undefined) { |
||||||
|
params[csrf_param] = csrf_token; |
||||||
|
} |
||||||
|
|
||||||
|
return params; |
||||||
|
}; |
||||||
|
|
||||||
|
config.addQueryString = function( url, params ){ |
||||||
|
var queryString = []; |
||||||
|
|
||||||
|
if ( !params ) { |
||||||
|
return url; |
||||||
|
} else { |
||||||
|
for ( var i in params ) |
||||||
|
queryString.push( i + "=" + encodeURIComponent( params[ i ] ) ); |
||||||
|
} |
||||||
|
|
||||||
|
return url + ( ( url.indexOf( "?" ) != -1 ) ? "&" : "?" ) + queryString.join( "&" ); |
||||||
|
}; |
||||||
|
|
||||||
|
// Integrate Rails CSRF token into file upload dialogs (link, image, attachment and flash) |
||||||
|
CKEDITOR.on( 'dialogDefinition', function( ev ){ |
||||||
|
// Take the dialog name and its definition from the event data. |
||||||
|
var dialogName = ev.data.name; |
||||||
|
var dialogDefinition = ev.data.definition; |
||||||
|
var content, upload; |
||||||
|
|
||||||
|
if (CKEDITOR.tools.indexOf(['link', 'image', 'attachment', 'flash'], dialogName) > -1) { |
||||||
|
content = (dialogDefinition.getContents('Upload') || dialogDefinition.getContents('upload')); |
||||||
|
upload = (content == null ? null : content.get('upload')); |
||||||
|
|
||||||
|
if (upload && upload.filebrowser && upload.filebrowser['params'] === undefined) { |
||||||
|
upload.filebrowser['params'] = config.filebrowserParams(); |
||||||
|
upload.action = config.addQueryString(upload.action, upload.filebrowser['params']); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
}; |
||||||
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
Loading…
Reference in new issue