mirror of
https://github.com/UnickSoft/graphonline.git
synced 2025-07-03 08:15:38 +00:00
104 lines
3.5 KiB
JavaScript
Executable File
104 lines
3.5 KiB
JavaScript
Executable File
/**
|
|
* @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
|
|
* For licensing, see LICENSE.html or http://ckeditor.com/license
|
|
*/
|
|
|
|
/**
|
|
* @fileOverview The "resizewithwindow" plugin is an alternative to the 'resize' plugin.
|
|
* Managing the ckeditor height through a percentage of a window does not work.
|
|
* This plugin provides an alternative.
|
|
*
|
|
* The plugin 'resize' must be disabled for this plugin to work correctly.
|
|
*
|
|
* Also you need to add the following css to your css files:
|
|
* .cke_chrome {
|
|
* padding: 0 !important;
|
|
* }
|
|
* Otherwise the height of the ckeditor content is not calculated correctly.
|
|
* That is a point of improvement.
|
|
*
|
|
* Currently only tested with the Kama skin.
|
|
*/
|
|
|
|
CKEDITOR.plugins.add( 'resizewithwindow', {
|
|
init: function( editor ) {
|
|
var baseEditorInnerGrey;
|
|
|
|
editor.on( 'instanceReady', function() {
|
|
jQuery( function() {
|
|
jQuery( window ).resize( function() {
|
|
resizeTriggered();
|
|
});
|
|
resizeTriggered();
|
|
})
|
|
});
|
|
|
|
editor.on( 'afterCommandExec', function( ev ) {
|
|
if (ev.data.name == 'toolbarCollapse' || ev.data.name == 'maximize' || ev.data.name == 'source') {
|
|
resizeTriggered();
|
|
}
|
|
});
|
|
|
|
editor.on( 'dataReady', function( ev ) {
|
|
resizeTriggered();
|
|
});
|
|
|
|
editor.on( 'triggerResize', function( ev ) {
|
|
resizeTriggered();
|
|
});
|
|
|
|
/**
|
|
* Resizes editor components that in the vertical direction that do not
|
|
* do so automatically.
|
|
*/
|
|
function resizeTriggered() {
|
|
var maximizestate = editor.getCommand( 'maximize' ).state;
|
|
var referencedheight = 50;
|
|
|
|
if ( maximizestate == CKEDITOR.TRISTATE_ON ) {
|
|
referencedheight = jQuery( window ).height();
|
|
} else {
|
|
var textarea = editor.element.$;
|
|
var editorFrame = jQuery( textarea ).parents( "div:first" );
|
|
baseEditorInnerGrey = jQuery( ".cke_inner", editorFrame );
|
|
referencedheight = editorFrame.height();
|
|
}
|
|
|
|
var content = jQuery( ".cke_contents", baseEditorInnerGrey );
|
|
var toolbar = jQuery( ".cke_top", baseEditorInnerGrey );
|
|
|
|
// Browser quirks: this correction prevents a vertical scroll bar in the window.
|
|
var extraheightCorrection = 8;
|
|
var htmlStyle = document.documentElement.style;
|
|
|
|
if ( 'MozAppearance' in htmlStyle ) {
|
|
extraheightCorrection = 11;
|
|
}
|
|
if ( 'WebkitAppearance' in htmlStyle ) {
|
|
extraheightCorrection = 12;
|
|
}
|
|
if ( 'behavior' in htmlStyle || '-ms-scroll-limit' in htmlStyle ) {
|
|
extraheightCorrection = 10;
|
|
}
|
|
baseEditorInnerGrey.height( referencedheight - extraheightCorrection );
|
|
|
|
var toolbarHeight = toolbar.outerHeight( true );
|
|
// The text area height depends on the enabling of the charcount plugin.
|
|
// Correct the height of the text area in java script because css does not work.
|
|
var heightCorrection = 13;
|
|
if ( editor.config.extraPlugins.indexOf( 'wordcount' ) > -1 ) {
|
|
var wordcount = jQuery( ".cke_bottom", baseEditorInnerGrey );
|
|
heightCorrection = wordcount.outerHeight( true );
|
|
// Extra height correction is needed on the content component.
|
|
// Otherwise the characters of the wordcount component will not
|
|
// stay within the grey (in case of the kama skin) background
|
|
// component.
|
|
heightCorrection += 7;
|
|
}
|
|
var newHeight = referencedheight - ( toolbarHeight + heightCorrection );
|
|
content.height( newHeight + "px" );
|
|
content.find('iframe:first').width( "100%" );
|
|
}
|
|
}
|
|
});
|