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

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: fckcontextmenuitem.js
  12.  *  FCKContextMenuItem Class: represents a item in the context menu.
  13.  * 
  14.  * File Authors:
  15.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  16.  */
  17. var FCKContextMenuItem = function( contextMenu, commandName, label, hasIcon )
  18. {
  19. this.ContextMenu = contextMenu ;
  20. this.Command = FCKCommands.GetCommand( commandName ) ;
  21. this.Label = label ? label : commandName ;
  22. this.HasIcon = hasIcon ? true : false ;
  23. }
  24. function FCKContextMenuItem_OnMouseOver()
  25. {
  26. if ( this.className != 'CM_Disabled' )
  27. this.className = 'CM_Over' ;
  28. }
  29. function FCKContextMenuItem_OnMouseOut()
  30. {
  31. if ( this.className != 'CM_Disabled' )
  32. this.className = 'CM_Option' ;
  33. }
  34. function FCKContextMenuItem_OnClick()
  35. {
  36. if ( this.className != 'CM_Disabled' )
  37. {
  38. this.FCKContextMenuItem.ContextMenu.Hide() ;
  39. this.FCKContextMenuItem.Command.Execute() ;
  40. }
  41. return false ;
  42. }
  43. FCKContextMenuItem.prototype.CreateTableRow = function( targetTable )
  44. {
  45. // Creates the <TR> element.
  46. this._Row = targetTable.insertRow(-1) ;
  47. this._Row.className = 'CM_Disabled' ;
  48. this._Row.FCKContextMenuItem = this ;
  49. this._Row.onmouseover = FCKContextMenuItem_OnMouseOver ;
  50. this._Row.onmouseout = FCKContextMenuItem_OnMouseOut ;
  51. this._Row.onclick = FCKContextMenuItem_OnClick ;
  52. var oCell = this._Row.insertCell(-1) ;
  53. oCell.className = 'CM_Icon' ;
  54. if ( this.HasIcon ) oCell.innerHTML = '<img alt="" src="' + FCKConfig.SkinPath + 'toolbar/' + this.Command.Name.toLowerCase() + '.gif" width="21" height="20" unselectable="on">' ;
  55. oCell = this._Row.insertCell(-1) ;
  56. oCell.className = 'CM_Label' ;
  57. oCell.unselectable = 'on' ;
  58. oCell.noWrap = true ;
  59. oCell.innerHTML = this.Label ;
  60. }
  61. FCKContextMenuItem.prototype.SetVisible = function( isVisible )
  62. {
  63. this._Row.style.display = isVisible ? '' : 'none' ;
  64. }
  65. FCKContextMenuItem.prototype.RefreshState = function()
  66. {
  67. switch ( this.Command.GetState() )
  68. {
  69. case FCK_TRISTATE_ON :
  70. case FCK_TRISTATE_OFF :
  71. this._Row.className = 'CM_Option' ;
  72. break ;
  73. default :
  74. this._Row.className = 'CM_Disabled' ;
  75. break ;
  76. }
  77. /*
  78. Sample output.
  79. -----------------------------------------
  80. <tr class="CM_Disabled">
  81. <td class="CM_Icon"><img alt="" src="icons/cut.gif" width="21" height="20" unselectable="on"></td>
  82. <td class="CM_Label" unselectable="on">Cut</td>
  83. </tr>
  84. -----------------------------------------
  85. <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
  86. <td class="CM_Icon"></td>
  87. <td class="CM_Label">Do Something</td>
  88. </tr>
  89. */