fckshowblocks.js
上传用户:ah_jiwei
上传日期:2022-07-24
资源大小:54044k
文件大小:2k
源码类别:

数据库编程

开发平台:

Visual C++

  1. /*
  2.  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
  3.  * Copyright (C) 2003-2007 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.  * FCKShowBlockCommand Class: the "Show Blocks" command.
  22.  */
  23. var FCKShowBlockCommand = function( name, defaultState )
  24. {
  25. this.Name = name ;
  26. if ( defaultState != undefined )
  27. this._SavedState = defaultState ;
  28. else
  29. this._SavedState = null ;
  30. }
  31. FCKShowBlockCommand.prototype.Execute = function()
  32. {
  33. var state = this.GetState() ;
  34. if ( state == FCK_TRISTATE_DISABLED )
  35. return ;
  36. var body = FCK.EditorDocument.body ;
  37. if ( state == FCK_TRISTATE_ON )
  38. body.className = body.className.replace( /(^| )FCK__ShowBlocks/g, '' ) ;
  39. else
  40. body.className += ' FCK__ShowBlocks' ;
  41. FCK.Events.FireEvent( 'OnSelectionChange' ) ;
  42. }
  43. FCKShowBlockCommand.prototype.GetState = function()
  44. {
  45. if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
  46. return FCK_TRISTATE_DISABLED ;
  47. // On some cases FCK.EditorDocument.body is not yet available, so try/catch.
  48. try
  49. {
  50. if ( /FCK__ShowBlocks(?:s|$)/.test( FCK.EditorDocument.body.className ) )
  51. return FCK_TRISTATE_ON ;
  52. }
  53. catch (e)
  54. {}
  55. return FCK_TRISTATE_OFF ;
  56. }
  57. FCKShowBlockCommand.prototype.SaveState = function()
  58. {
  59. this._SavedState = this.GetState() ;
  60. }
  61. FCKShowBlockCommand.prototype.RestoreState = function()
  62. {
  63. if ( this._SavedState != null && this.GetState() != this._SavedState )
  64. this.Execute() ;
  65. }