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

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: fcktoolbarset.js
  12.  *  Defines the FCKToolbarSet object that is used to load and draw the 
  13.  *  toolbar.
  14.  * 
  15.  * File Authors:
  16.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  17.  */
  18. var FCKToolbarSet = FCK.ToolbarSet = new Object() ;
  19. document.getElementById( 'ExpandHandle' ).title = FCKLang.ToolbarExpand ;
  20. document.getElementById( 'CollapseHandle' ).title = FCKLang.ToolbarCollapse ;
  21. FCKToolbarSet.Toolbars = new Array() ;
  22. // Array of toolbat items that are active only on WYSIWYG mode.
  23. FCKToolbarSet.ItemsWysiwygOnly = new Array() ;
  24. // Array of toolbar items that are sensitive to the cursor position.
  25. FCKToolbarSet.ItemsContextSensitive = new Array() ;
  26. FCKToolbarSet.Expand = function()
  27. {
  28. document.getElementById( 'Collapsed' ).style.display = 'none' ;
  29. document.getElementById( 'Expanded' ).style.display = '' ;
  30. if ( ! FCKBrowserInfo.IsIE )
  31. {
  32. // I had to use "setTimeout" because Gecko was not responding in a right
  33. // way when calling window.onresize() directly.
  34. window.setTimeout( "window.onresize()", 1 ) ;
  35. }
  36. }
  37. FCKToolbarSet.Collapse = function()
  38. {
  39. document.getElementById( 'Collapsed' ).style.display = '' ;
  40. document.getElementById( 'Expanded' ).style.display = 'none' ;
  41. if ( ! FCKBrowserInfo.IsIE )
  42. {
  43. // I had to use "setTimeout" because Gecko was not responding in a right
  44. // way when calling window.onresize() directly.
  45. window.setTimeout( "window.onresize()", 1 ) ;
  46. }
  47. }
  48. FCKToolbarSet.Restart = function()
  49. {
  50. if ( !FCKConfig.ToolbarCanCollapse || FCKConfig.ToolbarStartExpanded )
  51. this.Expand() ;
  52. else
  53. this.Collapse() ;
  54. document.getElementById( 'CollapseHandle' ).style.display = FCKConfig.ToolbarCanCollapse ? '' : 'none' ;
  55. }
  56. FCKToolbarSet.Load = function( toolbarSetName )
  57. {
  58. this.DOMElement = document.getElementById( 'eToolbar' ) ;
  59. var ToolbarSet = FCKConfig.ToolbarSets[toolbarSetName] ;
  60. if (! ToolbarSet)
  61. {
  62. alert( FCKLang.UnknownToolbarSet.replace( /%1/g, toolbarSetName ) ) ;
  63. return ;
  64. }
  65. this.Toolbars = new Array() ;
  66. for ( var x = 0 ; x < ToolbarSet.length ; x++ ) 
  67. {
  68. var oToolbarItems = ToolbarSet[x] ;
  69. var oToolbar ;
  70. if ( typeof( oToolbarItems ) == 'string' )
  71. {
  72. if ( oToolbarItems == '/' )
  73. oToolbar = new FCKToolbarBreak() ;
  74. }
  75. else
  76. {
  77. var oToolbar = new FCKToolbar() ;
  78. for ( var j = 0 ; j < oToolbarItems.length ; j++ ) 
  79. {
  80. var sItem = oToolbarItems[j] ;
  81. if ( sItem == '-')
  82. oToolbar.AddSeparator() ;
  83. else
  84. {
  85. var oItem = FCKToolbarItems.GetItem( sItem ) ;
  86. if ( oItem )
  87. {
  88. oToolbar.AddItem( oItem ) ;
  89. if ( !oItem.SourceView )
  90. this.ItemsWysiwygOnly[this.ItemsWysiwygOnly.length] = oItem ;
  91. if ( oItem.ContextSensitive )
  92. this.ItemsContextSensitive[this.ItemsContextSensitive.length] = oItem ;
  93. }
  94. }
  95. }
  96. oToolbar.AddTerminator() ;
  97. }
  98. this.Toolbars[ this.Toolbars.length ] = oToolbar ;
  99. }
  100. }
  101. FCKToolbarSet.RefreshModeState = function()
  102. {
  103. if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
  104. {
  105. // Enable all buttons that are available on WYSIWYG mode only.
  106. for ( var i = 0 ; i < FCKToolbarSet.ItemsWysiwygOnly.length ; i++ )
  107. FCKToolbarSet.ItemsWysiwygOnly[i].Enable() ;
  108. // Refresh the buttons state.
  109. FCKToolbarSet.RefreshItemsState() ;
  110. }
  111. else
  112. {
  113. // Refresh the buttons state.
  114. FCKToolbarSet.RefreshItemsState() ;
  115. // Disable all buttons that are available on WYSIWYG mode only.
  116. for ( var i = 0 ; i < FCKToolbarSet.ItemsWysiwygOnly.length ; i++ )
  117. FCKToolbarSet.ItemsWysiwygOnly[i].Disable() ;
  118. }
  119. }
  120. FCKToolbarSet.RefreshItemsState = function()
  121. {
  122. for ( var i = 0 ; i < FCKToolbarSet.ItemsContextSensitive.length ; i++ )
  123. FCKToolbarSet.ItemsContextSensitive[i].RefreshState() ;
  124. /*
  125. TODO: Delete this commented block on stable version.
  126. for ( var i = 0 ; i < FCKToolbarSet.Toolbars.length ; i++ )
  127. {
  128. var oToolbar = FCKToolbarSet.Toolbars[i] ;
  129. for ( var j = 0 ; j < oToolbar.Items.length ; j++ )
  130. {
  131. oToolbar.Items[j].RefreshState() ;
  132. }
  133. }
  134. */
  135. }