?? fckeditorcode_gecko_2.js
字號:
var FCKStyleDef=function(name,element){this.Name=name;this.Element=element.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes=new Object();};FCKStyleDef.prototype.AddAttribute=function(name,value){this.Attributes[name]=value;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '</'+this.Element+'>';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCKSelection.GetSelectedElement());else this._RemoveMe(FCKSelection.GetParentElement());}
FCKStyleDef.prototype.ApplyToSelection=function(){if (FCKSelection.GetType()=='Text'&&!this.IsObjectElement){var oSelection=FCK.EditorWindow.getSelection();var e=FCK.EditorDocument.createElement(this.Element);for (var i=0;i<oSelection.rangeCount;i++){e.appendChild(oSelection.getRangeAt(i).extractContents());};this._AddAttributes(e);this._RemoveDuplicates(e);var oRange=oSelection.getRangeAt(0);oRange.insertNode(e);}else{var oControl=FCKSelection.GetSelectedElement();if (oControl.tagName==this.Element) this._AddAttributes(oControl);};};FCKStyleDef.prototype._AddAttributes=function(targetElement){for (var a in this.Attributes) targetElement.setAttribute(a,this.Attributes[a],0);};FCKStyleDef.prototype._RemoveDuplicates=function(parent){for (var i=0;i<parent.childNodes.length;i++){var oChild=parent.childNodes[i];if (oChild.nodeType!=1) continue;this._RemoveDuplicates(oChild);if (this.IsEqual(oChild)) FCKTools.RemoveOuterTags(oChild);};};FCKStyleDef.prototype.IsEqual=function(e){if (e.tagName!=this.Element) return false;for (var a in this.Attributes){if (e.getAttribute(a)!=this.Attributes[a]) return false;};return true;};FCKStyleDef.prototype._RemoveMe=function(elementToCheck){if (!elementToCheck) return;var oParent=elementToCheck.parentNode;if (elementToCheck.nodeType==1&&this.IsEqual(elementToCheck)){if (this.IsObjectElement){for (var a in this.Attributes) elementToCheck.removeAttribute(a,0);return;}else FCKTools.RemoveOuterTags(elementToCheck);};this._RemoveMe(oParent);}
var FCKStylesLoader=function(){this.Styles=new Object();this.StyleGroups=new Object();this.Loaded=false;this.HasObjectElements=false;};FCKStylesLoader.prototype.Load=function(stylesXmlUrl){var oXml=new FCKXml();oXml.LoadUrl(stylesXmlUrl);var aStyleNodes=oXml.SelectNodes('Styles/Style');for (var i=0;i<aStyleNodes.length;i++){var sElement=aStyleNodes[i].attributes.getNamedItem('element').value.toUpperCase();var oStyleDef=new FCKStyleDef(aStyleNodes[i].attributes.getNamedItem('name').value,sElement);if (oStyleDef.IsObjectElement) this.HasObjectElements=true;var aAttNodes=oXml.SelectNodes('Attribute',aStyleNodes[i]);for (var j=0;j<aAttNodes.length;j++){var sAttName=aAttNodes[j].attributes.getNamedItem('name').value;var sAttValue=aAttNodes[j].attributes.getNamedItem('value').value;if (sAttName.toLowerCase()=='style'){var oTempE=document.createElement('SPAN');oTempE.style.cssText=sAttValue;sAttValue=oTempE.style.cssText;};oStyleDef.AddAttribute(sAttName,sAttValue);};this.Styles[oStyleDef.Name]=oStyleDef;var aGroup=this.StyleGroups[sElement];if (aGroup==null){this.StyleGroups[sElement]=new Array();aGroup=this.StyleGroups[sElement];};aGroup[aGroup.length]=oStyleDef;};this.Loaded=true;}
var FCKNamedCommand=function(commandName){this.Name=commandName;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};
var FCKDialogCommand=function(name,title,url,width,height,getStateFunction,getStateParam){this.Name=name;this.Title=title;this.Url=url;this.Width=width;this.Height=height;this.GetStateFunction=getStateFunction;this.GetStateParam=getStateParam;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK_TRISTATE_OFF;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(fontName){if (fontName==null||fontName==""){}else FCK.ExecuteNamedCommand('FontName',fontName);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(fontSize){if (typeof(fontSize)=='string') fontSize=parseInt(fontSize);if (fontSize==null||fontSize==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',fontSize);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(formatName){if (formatName==null||formatName=='') FCK.ExecuteNamedCommand('FormatBlock','<P>');else FCK.ExecuteNamedCommand('FormatBlock','<'+formatName+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var oForm=FCK.LinkedField.form;if (typeof(oForm.onsubmit)=='function'){var bRet=oForm.onsubmit();if (bRet!=null&&bRet===false) return;};oForm.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var iWidth=screen.width*0.65;var iHeight=screen.height*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',iWidth,iHeight,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.Typing||FCKUndo.CurrentIndex>0?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (!FCKUndo.Typing&&FCKUndo.CurrentIndex<(FCKUndo.SavedData.length-1)?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Redo');}
var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker=='SpellerPages');};FCKSpellCheckCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);};FCKSpellCheckCommand.prototype.GetState=function(){return this.IsEnabled?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;}
var FCKTextColorCommand=function(type){this.Name=type=='ForeColor'?'TextColor':'BGColor';this.Type=type;this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);};FCKTextColorCommand.prototype.Execute=function(panelX,panelY,relElement){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(panelX,panelY,relElement);};FCKTextColorCommand.prototype.SetColor=function(color){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',color);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',color);else FCK.ExecuteNamedCommand('BackColor',color);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};function FCKTextColorCommand_OnMouseOver() { this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut() { this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(targetDocument,targetDiv){function CreateSelectionDiv(){var oDiv=targetDocument.createElement("DIV");oDiv.className='ColorDeselected';oDiv.onmouseover=FCKTextColorCommand_OnMouseOver;oDiv.onmouseout=FCKTextColorCommand_OnMouseOut;return oDiv;};var oTable=targetDiv.appendChild(targetDocument.createElement("TABLE"));oTable.style.tableLayout='fixed';oTable.cellPadding=0;oTable.cellSpacing=0;oTable.border=0;oTable.width=150;var oCell=oTable.insertRow(-1).insertCell(-1);oCell.colSpan=8;var oDiv=oCell.appendChild(CreateSelectionDiv());oDiv.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\ <tr>\ <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\ <td nowrap width="100%" align="center" unselectable="on">'+FCKLang.ColorAutomatic+'</td>\ </tr>\ </table>';oDiv.Command=this;oDiv.onclick=FCKTextColorCommand_AutoOnClick;var aColors=FCKConfig.FontColors.toString().split(',');var iCounter=0;while (iCounter<aColors.length){var oRow=oTable.insertRow(-1);for (var i=0;i<8&&iCounter<aColors.length;i++,iCounter++){var oDiv=oRow.insertCell(-1).appendChild(CreateSelectionDiv());oDiv.Color=aColors[iCounter];oDiv.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #'+aColors[iCounter]+'"></div></div>';oDiv.Command=this;oDiv.onclick=FCKTextColorCommand_OnClick;};};var oCell=oTable.insertRow(-1).insertCell(-1);oCell.colSpan=8;var oDiv=oCell.appendChild(CreateSelectionDiv());oDiv.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';oDiv.Command=this;oDiv.onclick=FCKTextColorCommand_MoreOnClick;}
var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};
var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return FCK_TRISTATE_DISABLED;else return FCK.GetNamedCommandState('Paste');};
var FCKTableCommand=function(command){this.Name=command;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -