X-Git-Url: https://scm.cri.ensmp.fr/git/ckeditor.git/blobdiff_plain/256592bf803e851aa7fc953e08a6e9e58d970f8c..871bad8291b6dbc29d489d95d185458caab25158:/skins/ckeditor/_source/plugins/preview/plugin.js
diff --git a/skins/ckeditor/_source/plugins/preview/plugin.js b/skins/ckeditor/_source/plugins/preview/plugin.js
new file mode 100644
index 0000000..a31ebfa
--- /dev/null
+++ b/skins/ckeditor/_source/plugins/preview/plugin.js
@@ -0,0 +1,109 @@
+/*
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+/**
+ * @file Preview plugin.
+ */
+
+(function()
+{
+ var previewCmd =
+ {
+ modes : { wysiwyg:1, source:1 },
+ canUndo : false,
+ readOnly : 1,
+ exec : function( editor )
+ {
+ var sHTML,
+ config = editor.config,
+ baseTag = config.baseHref ? '' : '',
+ isCustomDomain = CKEDITOR.env.isCustomDomain();
+
+ if ( config.fullPage )
+ {
+ sHTML = editor.getData()
+ .replace( /
/, '$&' + baseTag )
+ .replace( /[^>]*(?=<\/title>)/, '$& — ' + editor.lang.preview );
+ }
+ else
+ {
+ var bodyHtml = '';
+
+ sHTML =
+ editor.config.docType +
+ '' +
+ '' +
+ baseTag +
+ '' + editor.lang.preview + '' +
+ CKEDITOR.tools.buildStyleHtml( editor.config.contentsCss ) +
+ '' + bodyHtml +
+ editor.getData() +
+ '';
+ }
+
+ var iWidth = 640, // 800 * 0.8,
+ iHeight = 420, // 600 * 0.7,
+ iLeft = 80; // (800 - 0.8 * 800) /2 = 800 * 0.1.
+ try
+ {
+ var screen = window.screen;
+ iWidth = Math.round( screen.width * 0.8 );
+ iHeight = Math.round( screen.height * 0.7 );
+ iLeft = Math.round( screen.width * 0.1 );
+ }
+ catch ( e ){}
+
+ var sOpenUrl = '';
+ if ( isCustomDomain )
+ {
+ window._cke_htmlToLoad = sHTML;
+ sOpenUrl = 'javascript:void( (function(){' +
+ 'document.open();' +
+ 'document.domain="' + document.domain + '";' +
+ 'document.write( window.opener._cke_htmlToLoad );' +
+ 'document.close();' +
+ 'window.opener._cke_htmlToLoad = null;' +
+ '})() )';
+ }
+
+ var oWindow = window.open( sOpenUrl, null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' +
+ iWidth + ',height=' + iHeight + ',left=' + iLeft );
+
+ if ( !isCustomDomain )
+ {
+ oWindow.document.open();
+ oWindow.document.write( sHTML );
+ oWindow.document.close();
+ }
+ }
+ };
+
+ var pluginName = 'preview';
+
+ // Register a plugin named "preview".
+ CKEDITOR.plugins.add( pluginName,
+ {
+ init : function( editor )
+ {
+ editor.addCommand( pluginName, previewCmd );
+ editor.ui.addButton( 'Preview',
+ {
+ label : editor.lang.preview,
+ command : pluginName
+ });
+ }
+ });
+})();