skala
Juan Carlos Raña 14 years ago
commit df4e316872
  1. 62
      main/inc/lib/fckeditor/editor/plugins/insertHtml/fckplugin.js
  2. 114
      main/inc/lib/fckeditor/editor/plugins/insertHtml/insertHtml.html
  3. 216
      main/inc/lib/fckeditor/editor/plugins/insertHtml/insertHtml.js

@ -1,44 +1,44 @@
/*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
*
* File Name: fckplugin.js
* Plugin to add some HTML, a single snippet; a choice from multiple snippets; or manually entered HTML
*
*
* File Authors:
* Paul Moers (http://www.saulmade.nl/FCKeditor/FCKPlugins.php)
*/
// insertHtmlObject constructor
var insertHtmlToolbarCommand = function()
{
}
// insertHtmlObject constructor
var insertHtmlToolbarCommand = function()
{
}
// register the command
FCKCommands.RegisterCommand('insertHtml', new insertHtmlToolbarCommand());
// register the command
FCKCommands.RegisterCommand('insertHtml', new insertHtmlToolbarCommand());
// create the toolbar button
var insertHtmlButton = new FCKToolbarButton('insertHtml', FCKConfig.insertHtml_buttonTooltip || FCKLang.inserHTML_buttonTooltip);
insertHtmlButton.IconPath = FCKPlugins.Items['insertHtml'].Path + 'images/toolbarIcon_default.gif'; // or pick any other in folder 'images'
FCKToolbarItems.RegisterItem('insertHtml', insertHtmlButton);
// create the toolbar button
var insertHtmlButton = new FCKToolbarButton('insertHtml', FCKConfig.insertHtml_buttonTooltip || FCKLang.inserHTML_buttonTooltip);
insertHtmlButton.IconPath = FCKPlugins.Items['insertHtml'].Path + 'images/toolbarIcon_default.gif'; // or pick any other in folder 'images'
FCKToolbarItems.RegisterItem('insertHtml', insertHtmlButton);
// manage the plugins' button behavior
insertHtmlToolbarCommand.prototype.GetState = function()
{
return FCK_TRISTATE_OFF;
}
// manage the plugins' button behavior
insertHtmlToolbarCommand.prototype.GetState = function()
{
return FCK_TRISTATE_OFF;
}
// insertHtml's button click function
insertHtmlToolbarCommand.prototype.Execute = function()
{
if (FCKConfig.insertHtml_showDialog || !FCKConfig.insertHtml_snippets || (FCKConfig.insertHtml_snippets && !FCKConfig.insertHtml_snippets.length))
{
var dialog = new FCKDialogCommand('insertHtml', FCKLang.insertHtml_dialogTitle, FCKPlugins.Items['insertHtml'].Path + 'insertHtml.html', 200, 100);
dialog.Execute();
}
else
{
FCK.InsertHtml(FCKConfig.insertHtml_snippet);
FCK.EditorWindow.parent.FCKUndo.SaveUndoStep();
}
}
// insertHtml's button click function
insertHtmlToolbarCommand.prototype.Execute = function()
{
if (FCKConfig.insertHtml_showDialog || !FCKConfig.insertHtml_snippets || (FCKConfig.insertHtml_snippets && !FCKConfig.insertHtml_snippets.length))
{
var dialog = new FCKDialogCommand('insertHtml', FCKLang.insertHtml_dialogTitle, FCKPlugins.Items['insertHtml'].Path + 'insertHtml.html', 200, 100);
dialog.Execute();
}
else
{
FCK.InsertHtml(FCKConfig.insertHtml_snippet);
FCK.EditorWindow.parent.FCKUndo.SaveUndoStep();
}
}

@ -2,74 +2,74 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>insertHtml</title>
<title>insertHtml</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex, nofollow" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex, nofollow" />
<script src="insertHtml.js" type="text/javascript"></script>
<script src="../../dialog/common/fck_dialog_common.js" type="text/javascript"></script>
<script src="insertHtml.js" type="text/javascript"></script>
<script src="../../dialog/common/fck_dialog_common.js" type="text/javascript"></script>
<style>
<style>
#snippets
{
width: 200px;
margin-right: 10px;
}
#insertHtmlHelp,
{
margin-right: 0px; /* no extra right margin needed in IE */
}
.snippet
{
background: white;
padding: 3px 5px;
margin: 3px 0px;
border: 1px solid #dcdcdc;
}
.snippet.PopupSelectionBox
{
}
#snippets
{
width: 200px;
margin-right: 10px;
}
#insertHtmlHelp,
{
margin-right: 0px; /* no extra right margin needed in IE */
}
.snippet
{
background: white;
padding: 3px 5px;
margin: 3px 0px;
border: 1px solid #dcdcdc;
}
.snippet.PopupSelectionBox
{
}
#insertHtmlHelp
{
margin: 0px 15px 6px 0px;
display: block;
}
#insertHtmlHelp,
{
margin-right: 5px; /* no extra right margin needed in IE */
}
#insertHtmlHelp
{
margin: 0px 15px 6px 0px;
display: block;
}
#insertHtmlHelp,
{
margin-right: 5px; /* no extra right margin needed in IE */
}
#insertHtmlTextArea
{
overflow: auto;
margin: 0px 25px 40px 0px;
}
#insertHtmlTextArea,
{
margin-right: 0px; /* no extra right margin needed in IE */
}
#insertHtmlTextArea
{
overflow: auto;
margin: 0px 25px 40px 0px;
}
#insertHtmlTextArea,
{
margin-right: 0px; /* no extra right margin needed in IE */
}
</style>
</style>
</head>
<body style="padding-bottom: 0px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<span fcklang="inserHtml_help" id="insertHtmlHelp">
Enter any HTML below and click 'ok' to insert it at the location of the cursor in the editor.
</span>
</td>
</tr>
<tr>
<td id="content">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<span fcklang="inserHtml_help" id="insertHtmlHelp">
Enter any HTML below and click 'ok' to insert it at the location of the cursor in the editor.
</span>
</td>
</tr>
<tr>
<td id="content">
</td>
</tr>
</table>
</body>
</html>

@ -1,111 +1,111 @@
var dialog = window.parent;
var editorWindow = dialog.InnerDialogLoaded();
var editorInstance = editorWindow.FCK;
var FCKConfig = editorWindow.FCKConfig;
var FCKTools = editorWindow.FCKTools;
var FCKBrowserInfo = editorWindow.FCKBrowserInfo;
// onload
window.onload = function()
{
var description, snippet;
// show snippets to choose from
if (typeof(FCKConfig.insertHtml_snippets) == 'object')
{
var snippetsDiv, snippetDiv, numberOfSnippets = 0;
snippetsDiv = document.createElement('div');
snippetsDiv.id = 'snippets';
for (description in FCKConfig.insertHtml_snippets)
{
snippetDiv = document.createElement('div');
snippetDiv.innerHTML = description;
snippetDiv.className = 'snippet';
snippetDiv.snippet = FCKConfig.insertHtml_snippets[description];
snippetDiv.onmouseover = function(){this.className += ' PopupSelectionBox'};
snippetDiv.onmouseout = function(){this.className = this.className.replace(/\s?PopupSelectionBox\s?/, '')};
if (FCKConfig.insertHtml_showTextarea)
{
snippetDiv.onclick = function(){
document.getElementById('insertHtmlTextArea').value = this.snippet;
};
}
else
{
snippetDiv.onclick = function(){
editorInstance.InsertHtml(this.snippet);
editorWindow.FCKUndo.SaveUndoStep();
dialog.CloseDialog();
};
}
snippetsDiv.appendChild(snippetDiv);
numberOfSnippets++;
}
document.getElementById('content').appendChild(snippetsDiv);
// load dialog
}
// show textarea
if (FCKConfig.insertHtml_showTextarea || !FCKConfig.insertHtml_snippets || !numberOfSnippets)
{
insertHtmlTextArea = document.createElement('textarea');
insertHtmlTextArea.id = 'insertHtmlTextArea';
document.getElementById('content').appendChild(insertHtmlTextArea);
// set the size of the textarea
insertHtmlTextArea.style.width = (FCKConfig.insertHtml_textareaWidth || 300) + 'px';
insertHtmlTextArea.style.height = (FCKConfig.insertHtml_textareaHeight || 100) + 'px';
// load default content
if (typeof(FCKConfig.insertHtml_snippets) == 'object')
{
for (description in FCKConfig.insertHtml_snippets)
{
snippet = FCKConfig.insertHtml_snippets[description];
break;
}
}
else
{
//snippet = FCKConfig.insertHtml_snippets;//Chamilo replaced by below (by now)
snippet = "";//Insert your tex here
}
insertHtmlTextArea.value = snippet;
}
// resize around snippets and/or textarea
// for IE this must be done before translating the dialog or the dialog will be to wide; also IE needs an approximate resize before autofitting or the dialog width will be to large
if (FCKBrowserInfo.IsIE) dialog.Sizer.ResizeDialog(parseInt(FCKConfig.insertHtml_textareaWidth || 300), parseInt(FCKConfig.insertHtml_textareaHeight || 100) + 130);
dialog.SetAutoSize(true);
// recenter dialog
setTimeout(function(){ // after a dummy delay, needed for webkit
var topWindowSize = FCKTools.GetViewPaneSize(dialog.top.window);
dialog.frameElement.style.left = Math.round((topWindowSize.Width - dialog.frameElement.offsetWidth) / 2) + 'px';
dialog.frameElement.style.top = Math.round((topWindowSize.Height - dialog.frameElement.offsetHeight) / 2).toString() + 'px';;
}, 0);
// translate the dialog box texts
editorWindow.FCKLanguageManager.TranslatePage(document);
// activate the "OK" button
dialog.SetOkButton(true);
}
// dialog's 'ok' button function to insert the Html
function Ok()
{
if (insertHtmlTextArea.value)
{
editorInstance.InsertHtml(insertHtmlTextArea.value);
editorWindow.FCKUndo.SaveUndoStep();
return true; // makes the dialog to close
}
}
var dialog = window.parent;
var editorWindow = dialog.InnerDialogLoaded();
var editorInstance = editorWindow.FCK;
var FCKConfig = editorWindow.FCKConfig;
var FCKTools = editorWindow.FCKTools;
var FCKBrowserInfo = editorWindow.FCKBrowserInfo;
// onload
window.onload = function()
{
var description, snippet;
// show snippets to choose from
if (typeof(FCKConfig.insertHtml_snippets) == 'object')
{
var snippetsDiv, snippetDiv, numberOfSnippets = 0;
snippetsDiv = document.createElement('div');
snippetsDiv.id = 'snippets';
for (description in FCKConfig.insertHtml_snippets)
{
snippetDiv = document.createElement('div');
snippetDiv.innerHTML = description;
snippetDiv.className = 'snippet';
snippetDiv.snippet = FCKConfig.insertHtml_snippets[description];
snippetDiv.onmouseover = function(){this.className += ' PopupSelectionBox'};
snippetDiv.onmouseout = function(){this.className = this.className.replace(/\s?PopupSelectionBox\s?/, '')};
if (FCKConfig.insertHtml_showTextarea)
{
snippetDiv.onclick = function(){
document.getElementById('insertHtmlTextArea').value = this.snippet;
};
}
else
{
snippetDiv.onclick = function(){
editorInstance.InsertHtml(this.snippet);
editorWindow.FCKUndo.SaveUndoStep();
dialog.CloseDialog();
};
}
snippetsDiv.appendChild(snippetDiv);
numberOfSnippets++;
}
document.getElementById('content').appendChild(snippetsDiv);
// load dialog
}
// show textarea
if (FCKConfig.insertHtml_showTextarea || !FCKConfig.insertHtml_snippets || !numberOfSnippets)
{
insertHtmlTextArea = document.createElement('textarea');
insertHtmlTextArea.id = 'insertHtmlTextArea';
document.getElementById('content').appendChild(insertHtmlTextArea);
// set the size of the textarea
insertHtmlTextArea.style.width = (FCKConfig.insertHtml_textareaWidth || 300) + 'px';
insertHtmlTextArea.style.height = (FCKConfig.insertHtml_textareaHeight || 100) + 'px';
// load default content
if (typeof(FCKConfig.insertHtml_snippets) == 'object')
{
for (description in FCKConfig.insertHtml_snippets)
{
snippet = FCKConfig.insertHtml_snippets[description];
break;
}
}
else
{
//snippet = FCKConfig.insertHtml_snippets;//Chamilo replaced by below (by now)
snippet = "";//Insert your tex here
}
insertHtmlTextArea.value = snippet;
}
// resize around snippets and/or textarea
// for IE this must be done before translating the dialog or the dialog will be to wide; also IE needs an approximate resize before autofitting or the dialog width will be to large
if (FCKBrowserInfo.IsIE) dialog.Sizer.ResizeDialog(parseInt(FCKConfig.insertHtml_textareaWidth || 300), parseInt(FCKConfig.insertHtml_textareaHeight || 100) + 130);
dialog.SetAutoSize(true);
// recenter dialog
setTimeout(function(){ // after a dummy delay, needed for webkit
var topWindowSize = FCKTools.GetViewPaneSize(dialog.top.window);
dialog.frameElement.style.left = Math.round((topWindowSize.Width - dialog.frameElement.offsetWidth) / 2) + 'px';
dialog.frameElement.style.top = Math.round((topWindowSize.Height - dialog.frameElement.offsetHeight) / 2).toString() + 'px';;
}, 0);
// translate the dialog box texts
editorWindow.FCKLanguageManager.TranslatePage(document);
// activate the "OK" button
dialog.SetOkButton(true);
}
// dialog's 'ok' button function to insert the Html
function Ok()
{
if (insertHtmlTextArea.value)
{
editorInstance.InsertHtml(insertHtmlTextArea.value);
editorWindow.FCKUndo.SaveUndoStep();
return true; // makes the dialog to close
}
}

Loading…
Cancel
Save