fck_othercommands.js
上传用户:wlfwy2004
上传日期:2016-12-12
资源大小:33978k
文件大小:6k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /*
  2.  * FCKeditor - The text editor for internet
  3.  * Copyright (C) 2003-2005 Frederico Caldeira Knabben
  4.  * 
  5.  * Licensed under the terms of the GNU Lesser General Public License:
  6.  *  http://www.opensource.org/licenses/lgpl-license.php
  7.  * 
  8.  * For further information visit:
  9.  *  http://www.fckeditor.net/
  10.  * 
  11.  * File Name: fck_othercommands.js
  12.  *  Definition of other commands that are not available internaly in the
  13.  *  browser (see FCKNamedCommand).
  14.  * 
  15.  * File Authors:
  16.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  17.  */
  18. // ### General Dialog Box Commands.
  19. var FCKDialogCommand = function( name, title, url, width, height, getStateFunction, getStateParam )
  20. {
  21. this.Name = name ;
  22. this.Title = title ;
  23. this.Url = url ;
  24. this.Width = width ;
  25. this.Height = height ;
  26. this.GetStateFunction = getStateFunction ;
  27. this.GetStateParam = getStateParam ;
  28. }
  29. FCKDialogCommand.prototype.Execute = function()
  30. {
  31. FCKDialog.OpenDialog( 'FCKDialog_' + this.Name , this.Title, this.Url, this.Width, this.Height ) ;
  32. }
  33. FCKDialogCommand.prototype.GetState = function()
  34. {
  35. if ( this.GetStateFunction )
  36. return this.GetStateFunction( this.GetStateParam ) ;
  37. else
  38. return FCK_TRISTATE_OFF ;
  39. }
  40. // Generic Undefined command (usually used when a command is under development).
  41. var FCKUndefinedCommand = function()
  42. {
  43. this.Name = 'Undefined' ;
  44. }
  45. FCKUndefinedCommand.prototype.Execute = function()
  46. {
  47. alert( FCKLang.NotImplemented ) ;
  48. }
  49. FCKUndefinedCommand.prototype.GetState = function()
  50. {
  51. return FCK_TRISTATE_OFF ;
  52. }
  53. // ### FontName
  54. var FCKFontNameCommand = function()
  55. {
  56. this.Name = 'FontName' ;
  57. }
  58. FCKFontNameCommand.prototype.Execute = function( fontName )
  59. {
  60. if (fontName == null || fontName == "")
  61. {
  62. // TODO: Remove font name attribute.
  63. }
  64. else
  65. FCK.ExecuteNamedCommand( 'FontName', fontName ) ;
  66. }
  67. FCKFontNameCommand.prototype.GetState = function()
  68. {
  69. return FCK.GetNamedCommandValue( 'FontName' ) ;
  70. }
  71. // ### FontSize
  72. var FCKFontSizeCommand = function()
  73. {
  74. this.Name = 'FontSize' ;
  75. }
  76. FCKFontSizeCommand.prototype.Execute = function( fontSize )
  77. {
  78. if ( typeof( fontSize ) == 'string' ) fontSize = parseInt(fontSize) ;
  79. if ( fontSize == null || fontSize == '' )
  80. {
  81. // TODO: Remove font size attribute (Now it works with size 3. Will it work forever?)
  82. FCK.ExecuteNamedCommand( 'FontSize', 3 ) ;
  83. }
  84. else
  85. FCK.ExecuteNamedCommand( 'FontSize', fontSize ) ;
  86. }
  87. FCKFontSizeCommand.prototype.GetState = function()
  88. {
  89. return FCK.GetNamedCommandValue( 'FontSize' ) ;
  90. }
  91. // ### FormatBlock
  92. var FCKFormatBlockCommand = function()
  93. {
  94. this.Name = 'FormatBlock' ;
  95. }
  96. FCKFormatBlockCommand.prototype.Execute = function( formatName )
  97. {
  98. if ( formatName == null || formatName == '' )
  99. FCK.ExecuteNamedCommand( 'FormatBlock', '<P>' ) ;
  100. else
  101. FCK.ExecuteNamedCommand( 'FormatBlock', '<' + formatName + '>' ) ;
  102. }
  103. FCKFormatBlockCommand.prototype.GetState = function()
  104. {
  105. return FCK.GetNamedCommandValue( 'FormatBlock' ) ;
  106. }
  107. // ### Preview
  108. var FCKPreviewCommand = function()
  109. {
  110. this.Name = 'Preview' ;
  111. }
  112. FCKPreviewCommand.prototype.Execute = function()
  113. {
  114.      FCK.Preview() ;
  115. }
  116. FCKPreviewCommand.prototype.GetState = function()
  117. {
  118. return FCK_TRISTATE_OFF ;
  119. }
  120. // ### Save
  121. var FCKSaveCommand = function()
  122. {
  123. this.Name = 'Save' ;
  124. }
  125. FCKSaveCommand.prototype.Execute = function()
  126. {
  127. // Get the linked field form.
  128. var oForm = FCK.LinkedField.form ;
  129. if ( typeof( oForm.onsubmit ) == 'function' )
  130. {
  131. var bRet = oForm.onsubmit() ;
  132. if ( bRet != null && bRet === false )
  133. return ;
  134. }
  135. // Submit the form.
  136. oForm.submit() ;
  137. }
  138. FCKSaveCommand.prototype.GetState = function()
  139. {
  140. return FCK_TRISTATE_OFF ;
  141. }
  142. // ### NewPage
  143. var FCKNewPageCommand = function()
  144. {
  145. this.Name = 'NewPage' ;
  146. }
  147. FCKNewPageCommand.prototype.Execute = function()
  148. {
  149. FCKUndo.SaveUndoStep() ;
  150. FCK.SetHTML( '' ) ;
  151. // FCK.SetHTML( FCKBrowserInfo.IsGecko ? '&nbsp;' : '' ) ;
  152. // FCK.SetHTML( FCKBrowserInfo.IsGecko ? '<br _moz_editor_bogus_node="TRUE">' : '' ) ;
  153. }
  154. FCKNewPageCommand.prototype.GetState = function()
  155. {
  156. return FCK_TRISTATE_OFF ;
  157. }
  158. // ### Source button
  159. var FCKSourceCommand = function()
  160. {
  161. this.Name = 'Source' ;
  162. }
  163. FCKSourceCommand.prototype.Execute = function()
  164. {
  165. if ( FCKBrowserInfo.IsGecko )
  166. {
  167. var iWidth = screen.width * 0.65 ;
  168. var iHeight = screen.height * 0.65 ;
  169. FCKDialog.OpenDialog( 'FCKDialog_Source', FCKLang.Source, 'dialog/fck_source.html', iWidth, iHeight, null, null, true ) ;
  170. }
  171. else
  172.     FCK.SwitchEditMode() ;
  173. }
  174. FCKSourceCommand.prototype.GetState = function()
  175. {
  176. return ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_OFF : FCK_TRISTATE_ON ) ;
  177. }
  178. // ### Undo
  179. var FCKUndoCommand = function()
  180. {
  181. this.Name = 'Undo' ;
  182. }
  183. FCKUndoCommand.prototype.Execute = function()
  184. {
  185. if ( FCKBrowserInfo.IsIE )
  186. FCKUndo.Undo() ;
  187. else
  188. FCK.ExecuteNamedCommand( 'Undo' ) ;
  189. }
  190. FCKUndoCommand.prototype.GetState = function()
  191. {
  192. if ( FCKBrowserInfo.IsIE )
  193. return ( FCKUndo.Typing || FCKUndo.CurrentIndex > 0 ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
  194. else
  195. return FCK.GetNamedCommandState( 'Undo' ) ;
  196. }
  197. // ### Redo
  198. var FCKRedoCommand = function()
  199. {
  200. this.Name = 'Redo' ;
  201. }
  202. FCKRedoCommand.prototype.Execute = function()
  203. {
  204. if ( FCKBrowserInfo.IsIE )
  205. FCKUndo.Redo() ;
  206. else
  207. FCK.ExecuteNamedCommand( 'Redo' ) ;
  208. }
  209. FCKRedoCommand.prototype.GetState = function()
  210. {
  211. if ( FCKBrowserInfo.IsIE )
  212. return ( !FCKUndo.Typing && FCKUndo.CurrentIndex < ( FCKUndo.SavedData.length - 1 ) ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
  213. else
  214. return FCK.GetNamedCommandState( 'Redo' ) ;
  215. }