fckcommands.js
上传用户:dbstep
上传日期:2022-08-06
资源大小:2803k
文件大小:10k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

ASP/ASPX

  1. /*
  2.  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
  3.  * Copyright (C) 2003-2009 Frederico Caldeira Knabben
  4.  *
  5.  * == BEGIN LICENSE ==
  6.  *
  7.  * Licensed under the terms of any of the following licenses at your
  8.  * choice:
  9.  *
  10.  *  - GNU General Public License Version 2 or later (the "GPL")
  11.  *    http://www.gnu.org/licenses/gpl.html
  12.  *
  13.  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
  14.  *    http://www.gnu.org/licenses/lgpl.html
  15.  *
  16.  *  - Mozilla Public License Version 1.1 or later (the "MPL")
  17.  *    http://www.mozilla.org/MPL/MPL-1.1.html
  18.  *
  19.  * == END LICENSE ==
  20.  *
  21.  * Define all commands available in the editor.
  22.  */
  23. var FCKCommands = FCK.Commands = new Object() ;
  24. FCKCommands.LoadedCommands = new Object() ;
  25. FCKCommands.RegisterCommand = function( commandName, command )
  26. {
  27. this.LoadedCommands[ commandName ] = command ;
  28. }
  29. FCKCommands.GetCommand = function( commandName )
  30. {
  31. var oCommand = FCKCommands.LoadedCommands[ commandName ] ;
  32. if ( oCommand )
  33. return oCommand ;
  34. switch ( commandName )
  35. {
  36. case 'Bold' :
  37. case 'Italic' :
  38. case 'Underline' :
  39. case 'StrikeThrough':
  40. case 'Subscript' :
  41. case 'Superscript' : oCommand = new FCKCoreStyleCommand( commandName ) ; break ;
  42. case 'RemoveFormat' : oCommand = new FCKRemoveFormatCommand() ; break ;
  43. case 'DocProps' : oCommand = new FCKDialogCommand( 'DocProps' , FCKLang.DocProps , 'dialog/fck_docprops.html' , 400, 380, FCKCommands.GetFullPageState ) ; break ;
  44. case 'Templates' : oCommand = new FCKDialogCommand( 'Templates' , FCKLang.DlgTemplatesTitle , 'dialog/fck_template.html' , 380, 450 ) ; break ;
  45. case 'Link' : oCommand = new FCKDialogCommand( 'Link' , FCKLang.DlgLnkWindowTitle , 'dialog/fck_link.html' , 400, 300 ) ; break ;
  46. case 'Unlink' : oCommand = new FCKUnlinkCommand() ; break ;
  47. case 'VisitLink' : oCommand = new FCKVisitLinkCommand() ; break ;
  48. case 'Anchor' : oCommand = new FCKDialogCommand( 'Anchor' , FCKLang.DlgAnchorTitle , 'dialog/fck_anchor.html' , 370, 160 ) ; break ;
  49. case 'AnchorDelete' : oCommand = new FCKAnchorDeleteCommand() ; break ;
  50. case 'BulletedList' : oCommand = new FCKDialogCommand( 'BulletedList', FCKLang.BulletedListProp , 'dialog/fck_listprop.html?UL' , 370, 160 ) ; break ;
  51. case 'NumberedList' : oCommand = new FCKDialogCommand( 'NumberedList', FCKLang.NumberedListProp , 'dialog/fck_listprop.html?OL' , 370, 160 ) ; break ;
  52. case 'About' : oCommand = new FCKDialogCommand( 'About' , FCKLang.About , 'dialog/fck_about.html' , 420, 330, function(){ return FCK_TRISTATE_OFF ; } ) ; break ;
  53. case 'Find' : oCommand = new FCKDialogCommand( 'Find' , FCKLang.DlgFindAndReplaceTitle, 'dialog/fck_replace.html' , 340, 230, null, null, 'Find' ) ; break ;
  54. case 'Replace' : oCommand = new FCKDialogCommand( 'Replace' , FCKLang.DlgFindAndReplaceTitle, 'dialog/fck_replace.html' , 340, 230, null, null, 'Replace' ) ; break ;
  55. case 'Image' : oCommand = new FCKDialogCommand( 'Image' , FCKLang.DlgImgTitle , 'dialog/fck_image.html' , 450, 390 ) ; break ;
  56. case 'Flash' : oCommand = new FCKDialogCommand( 'Flash' , FCKLang.DlgFlashTitle , 'dialog/fck_flash.html' , 450, 390 ) ; break ;
  57. case 'SpecialChar' : oCommand = new FCKDialogCommand( 'SpecialChar', FCKLang.DlgSpecialCharTitle , 'dialog/fck_specialchar.html' , 400, 290 ) ; break ;
  58. case 'Smiley' : oCommand = new FCKDialogCommand( 'Smiley' , FCKLang.DlgSmileyTitle , 'dialog/fck_smiley.html' , FCKConfig.SmileyWindowWidth, FCKConfig.SmileyWindowHeight ) ; break ;
  59. case 'Table' : oCommand = new FCKDialogCommand( 'Table' , FCKLang.DlgTableTitle , 'dialog/fck_table.html' , 480, 250 ) ; break ;
  60. case 'TableProp' : oCommand = new FCKDialogCommand( 'Table' , FCKLang.DlgTableTitle , 'dialog/fck_table.html?Parent', 480, 250 ) ; break ;
  61. case 'TableCellProp': oCommand = new FCKDialogCommand( 'TableCell' , FCKLang.DlgCellTitle , 'dialog/fck_tablecell.html' , 550, 240 ) ; break ;
  62. case 'Style' : oCommand = new FCKStyleCommand() ; break ;
  63. case 'FontName' : oCommand = new FCKFontNameCommand() ; break ;
  64. case 'FontSize' : oCommand = new FCKFontSizeCommand() ; break ;
  65. case 'FontFormat' : oCommand = new FCKFormatBlockCommand() ; break ;
  66. case 'Source' : oCommand = new FCKSourceCommand() ; break ;
  67. case 'Preview' : oCommand = new FCKPreviewCommand() ; break ;
  68. case 'Save' : oCommand = new FCKSaveCommand() ; break ;
  69. case 'NewPage' : oCommand = new FCKNewPageCommand() ; break ;
  70. case 'PageBreak' : oCommand = new FCKPageBreakCommand() ; break ;
  71. case 'Rule' : oCommand = new FCKRuleCommand() ; break ;
  72. case 'Nbsp' : oCommand = new FCKNbsp() ; break ;
  73. case 'TextColor' : oCommand = new FCKTextColorCommand('ForeColor') ; break ;
  74. case 'BGColor' : oCommand = new FCKTextColorCommand('BackColor') ; break ;
  75. case 'Paste' : oCommand = new FCKPasteCommand() ; break ;
  76. case 'PasteText' : oCommand = new FCKPastePlainTextCommand() ; break ;
  77. case 'PasteWord' : oCommand = new FCKPasteWordCommand() ; break ;
  78. case 'JustifyLeft' : oCommand = new FCKJustifyCommand( 'left' ) ; break ;
  79. case 'JustifyCenter' : oCommand = new FCKJustifyCommand( 'center' ) ; break ;
  80. case 'JustifyRight' : oCommand = new FCKJustifyCommand( 'right' ) ; break ;
  81. case 'JustifyFull' : oCommand = new FCKJustifyCommand( 'justify' ) ; break ;
  82. case 'Indent' : oCommand = new FCKIndentCommand( 'indent', FCKConfig.IndentLength ) ; break ;
  83. case 'Outdent' : oCommand = new FCKIndentCommand( 'outdent', FCKConfig.IndentLength * -1 ) ; break ;
  84. case 'Blockquote' : oCommand = new FCKBlockQuoteCommand() ; break ;
  85. case 'CreateDiv' : oCommand = new FCKDialogCommand( 'CreateDiv', FCKLang.CreateDiv, 'dialog/fck_div.html', 380, 210, null, null, true ) ; break ;
  86. case 'EditDiv' : oCommand = new FCKDialogCommand( 'EditDiv', FCKLang.EditDiv, 'dialog/fck_div.html', 380, 210, null, null, false ) ; break ;
  87. case 'DeleteDiv' : oCommand = new FCKDeleteDivCommand() ; break ;
  88. case 'TableInsertRowAfter' : oCommand = new FCKTableCommand('TableInsertRowAfter') ; break ;
  89. case 'TableInsertRowBefore' : oCommand = new FCKTableCommand('TableInsertRowBefore') ; break ;
  90. case 'TableDeleteRows' : oCommand = new FCKTableCommand('TableDeleteRows') ; break ;
  91. case 'TableInsertColumnAfter' : oCommand = new FCKTableCommand('TableInsertColumnAfter') ; break ;
  92. case 'TableInsertColumnBefore' : oCommand = new FCKTableCommand('TableInsertColumnBefore') ; break ;
  93. case 'TableDeleteColumns' : oCommand = new FCKTableCommand('TableDeleteColumns') ; break ;
  94. case 'TableInsertCellAfter' : oCommand = new FCKTableCommand('TableInsertCellAfter') ; break ;
  95. case 'TableInsertCellBefore' : oCommand = new FCKTableCommand('TableInsertCellBefore') ; break ;
  96. case 'TableDeleteCells' : oCommand = new FCKTableCommand('TableDeleteCells') ; break ;
  97. case 'TableMergeCells' : oCommand = new FCKTableCommand('TableMergeCells') ; break ;
  98. case 'TableMergeRight' : oCommand = new FCKTableCommand('TableMergeRight') ; break ;
  99. case 'TableMergeDown' : oCommand = new FCKTableCommand('TableMergeDown') ; break ;
  100. case 'TableHorizontalSplitCell' : oCommand = new FCKTableCommand('TableHorizontalSplitCell') ; break ;
  101. case 'TableVerticalSplitCell' : oCommand = new FCKTableCommand('TableVerticalSplitCell') ; break ;
  102. case 'TableDelete' : oCommand = new FCKTableCommand('TableDelete') ; break ;
  103. case 'Form' : oCommand = new FCKDialogCommand( 'Form' , FCKLang.Form , 'dialog/fck_form.html' , 380, 210 ) ; break ;
  104. case 'Checkbox' : oCommand = new FCKDialogCommand( 'Checkbox' , FCKLang.Checkbox , 'dialog/fck_checkbox.html' , 380, 200 ) ; break ;
  105. case 'Radio' : oCommand = new FCKDialogCommand( 'Radio' , FCKLang.RadioButton , 'dialog/fck_radiobutton.html' , 380, 200 ) ; break ;
  106. case 'TextField' : oCommand = new FCKDialogCommand( 'TextField' , FCKLang.TextField , 'dialog/fck_textfield.html' , 380, 210 ) ; break ;
  107. case 'Textarea' : oCommand = new FCKDialogCommand( 'Textarea' , FCKLang.Textarea , 'dialog/fck_textarea.html' , 380, 210 ) ; break ;
  108. case 'HiddenField' : oCommand = new FCKDialogCommand( 'HiddenField', FCKLang.HiddenField , 'dialog/fck_hiddenfield.html' , 380, 190 ) ; break ;
  109. case 'Button' : oCommand = new FCKDialogCommand( 'Button' , FCKLang.Button , 'dialog/fck_button.html' , 380, 210 ) ; break ;
  110. case 'Select' : oCommand = new FCKDialogCommand( 'Select' , FCKLang.SelectionField, 'dialog/fck_select.html' , 400, 340 ) ; break ;
  111. case 'ImageButton' : oCommand = new FCKDialogCommand( 'ImageButton', FCKLang.ImageButton , 'dialog/fck_image.html?ImageButton', 450, 390 ) ; break ;
  112. case 'SpellCheck' : oCommand = new FCKSpellCheckCommand() ; break ;
  113. case 'FitWindow' : oCommand = new FCKFitWindow() ; break ;
  114. case 'Undo' : oCommand = new FCKUndoCommand() ; break ;
  115. case 'Redo' : oCommand = new FCKRedoCommand() ; break ;
  116. case 'Copy' : oCommand = new FCKCutCopyCommand( false ) ; break ;
  117. case 'Cut' : oCommand = new FCKCutCopyCommand( true ) ; break ;
  118. case 'SelectAll' : oCommand = new FCKSelectAllCommand() ; break ;
  119. case 'InsertOrderedList' : oCommand = new FCKListCommand( 'insertorderedlist', 'ol' ) ; break ;
  120. case 'InsertUnorderedList' : oCommand = new FCKListCommand( 'insertunorderedlist', 'ul' ) ; break ;
  121. case 'ShowBlocks' : oCommand = new FCKShowBlockCommand( 'ShowBlocks', FCKConfig.StartupShowBlocks ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ) ; break ;
  122. // Generic Undefined command (usually used when a command is under development).
  123. case 'Undefined' : oCommand = new FCKUndefinedCommand() ; break ;
  124. // By default we assume that it is a named command.
  125. default:
  126. if ( FCKRegexLib.NamedCommands.test( commandName ) )
  127. oCommand = new FCKNamedCommand( commandName ) ;
  128. else
  129. {
  130. alert( FCKLang.UnknownCommand.replace( /%1/g, commandName ) ) ;
  131. return null ;
  132. }
  133. }
  134. FCKCommands.LoadedCommands[ commandName ] = oCommand ;
  135. return oCommand ;
  136. }
  137. // Gets the state of the "Document Properties" button. It must be enabled only
  138. // when "Full Page" editing is available.
  139. FCKCommands.GetFullPageState = function()
  140. {
  141. return FCKConfig.FullPage ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
  142. }
  143. FCKCommands.GetBooleanState = function( isDisabled )
  144. {
  145. return isDisabled ? FCK_TRISTATE_DISABLED : FCK_TRISTATE_OFF ;
  146. }