summaryrefslogtreecommitdiff
path: root/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckspecialcombo.js
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckspecialcombo.js')
-rw-r--r--rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckspecialcombo.js376
1 files changed, 0 insertions, 376 deletions
diff --git a/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckspecialcombo.js b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckspecialcombo.js
deleted file mode 100644
index b31a8f6..0000000
--- a/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckspecialcombo.js
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKSpecialCombo Class: represents a special combo.
- */
-
-var FCKSpecialCombo = function( caption, fieldWidth, panelWidth, panelMaxHeight, parentWindow )
-{
- // Default properties values.
- this.FieldWidth = fieldWidth || 100 ;
- this.PanelWidth = panelWidth || 150 ;
- this.PanelMaxHeight = panelMaxHeight || 150 ;
- this.Label = ' ' ;
- this.Caption = caption ;
- this.Tooltip = caption ;
- this.Style = FCK_TOOLBARITEM_ICONTEXT ;
-
- this.Enabled = true ;
-
- this.Items = new Object() ;
-
- this._Panel = new FCKPanel( parentWindow || window ) ;
- this._Panel.AppendStyleSheet( FCKConfig.SkinEditorCSS ) ;
- this._PanelBox = this._Panel.MainNode.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ;
- this._PanelBox.className = 'SC_Panel' ;
- this._PanelBox.style.width = this.PanelWidth + 'px' ;
-
- this._PanelBox.innerHTML = '<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>' ;
-
- this._ItemsHolderEl = this._PanelBox.getElementsByTagName('TD')[0] ;
-
- if ( FCK.IECleanup )
- FCK.IECleanup.AddItem( this, FCKSpecialCombo_Cleanup ) ;
-
-// this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ;
-// this._Panel.Create() ;
-// this._Panel.PanelDiv.className += ' SC_Panel' ;
-// this._Panel.PanelDiv.innerHTML = '<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>' ;
-// this._ItemsHolderEl = this._Panel.PanelDiv.getElementsByTagName('TD')[0] ;
-}
-
-function FCKSpecialCombo_ItemOnMouseOver()
-{
- this.className += ' SC_ItemOver' ;
-}
-
-function FCKSpecialCombo_ItemOnMouseOut()
-{
- this.className = this.originalClass ;
-}
-
-function FCKSpecialCombo_ItemOnClick( ev, specialCombo, itemId )
-{
- this.className = this.originalClass ;
-
- specialCombo._Panel.Hide() ;
-
- specialCombo.SetLabel( this.FCKItemLabel ) ;
-
- if ( typeof( specialCombo.OnSelect ) == 'function' )
- specialCombo.OnSelect( itemId, this ) ;
-}
-
-FCKSpecialCombo.prototype.ClearItems = function ()
-{
- if ( this.Items )
- this.Items = {} ;
-
- var itemsholder = this._ItemsHolderEl ;
- while ( itemsholder.firstChild )
- itemsholder.removeChild( itemsholder.firstChild ) ;
-}
-
-FCKSpecialCombo.prototype.AddItem = function( id, html, label, bgColor )
-{
- // <div class="SC_Item" onmouseover="this.className='SC_Item SC_ItemOver';" onmouseout="this.className='SC_Item';"><b>Bold 1</b></div>
- var oDiv = this._ItemsHolderEl.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ;
- oDiv.className = oDiv.originalClass = 'SC_Item' ;
- oDiv.innerHTML = html ;
- oDiv.FCKItemLabel = label || id ;
- oDiv.Selected = false ;
-
- // In IE, the width must be set so the borders are shown correctly when the content overflows.
- if ( FCKBrowserInfo.IsIE )
- oDiv.style.width = '100%' ;
-
- if ( bgColor )
- oDiv.style.backgroundColor = bgColor ;
-
- FCKTools.AddEventListenerEx( oDiv, 'mouseover', FCKSpecialCombo_ItemOnMouseOver ) ;
- FCKTools.AddEventListenerEx( oDiv, 'mouseout', FCKSpecialCombo_ItemOnMouseOut ) ;
- FCKTools.AddEventListenerEx( oDiv, 'click', FCKSpecialCombo_ItemOnClick, [ this, id ] ) ;
-
- this.Items[ id.toString().toLowerCase() ] = oDiv ;
-
- return oDiv ;
-}
-
-FCKSpecialCombo.prototype.SelectItem = function( item )
-{
- if ( typeof item == 'string' )
- item = this.Items[ item.toString().toLowerCase() ] ;
-
- if ( item )
- {
- item.className = item.originalClass = 'SC_ItemSelected' ;
- item.Selected = true ;
- }
-}
-
-FCKSpecialCombo.prototype.SelectItemByLabel = function( itemLabel, setLabel )
-{
- for ( var id in this.Items )
- {
- var oDiv = this.Items[id] ;
-
- if ( oDiv.FCKItemLabel == itemLabel )
- {
- oDiv.className = oDiv.originalClass = 'SC_ItemSelected' ;
- oDiv.Selected = true ;
-
- if ( setLabel )
- this.SetLabel( itemLabel ) ;
- }
- }
-}
-
-FCKSpecialCombo.prototype.DeselectAll = function( clearLabel )
-{
- for ( var i in this.Items )
- {
- if ( !this.Items[i] ) continue;
- this.Items[i].className = this.Items[i].originalClass = 'SC_Item' ;
- this.Items[i].Selected = false ;
- }
-
- if ( clearLabel )
- this.SetLabel( '' ) ;
-}
-
-FCKSpecialCombo.prototype.SetLabelById = function( id )
-{
- id = id ? id.toString().toLowerCase() : '' ;
-
- var oDiv = this.Items[ id ] ;
- this.SetLabel( oDiv ? oDiv.FCKItemLabel : '' ) ;
-}
-
-FCKSpecialCombo.prototype.SetLabel = function( text )
-{
- text = ( !text || text.length == 0 ) ? '&nbsp;' : text ;
-
- if ( text == this.Label )
- return ;
-
- this.Label = text ;
-
- var labelEl = this._LabelEl ;
- if ( labelEl )
- {
- labelEl.innerHTML = text ;
-
- // It may happen that the label is some HTML, including tags. This
- // would be a problem because when the user click on those tags, the
- // combo will get the selection from the editing area. So we must
- // disable any kind of selection here.
- FCKTools.DisableSelection( labelEl ) ;
- }
-}
-
-FCKSpecialCombo.prototype.SetEnabled = function( isEnabled )
-{
- this.Enabled = isEnabled ;
-
- // In IE it can happen when the page is reloaded that _OuterTable is null, so check its existence
- if ( this._OuterTable )
- this._OuterTable.className = isEnabled ? '' : 'SC_FieldDisabled' ;
-}
-
-FCKSpecialCombo.prototype.Create = function( targetElement )
-{
- var oDoc = FCKTools.GetElementDocument( targetElement ) ;
- var eOuterTable = this._OuterTable = targetElement.appendChild( oDoc.createElement( 'TABLE' ) ) ;
- eOuterTable.cellPadding = 0 ;
- eOuterTable.cellSpacing = 0 ;
-
- eOuterTable.insertRow(-1) ;
-
- var sClass ;
- var bShowLabel ;
-
- switch ( this.Style )
- {
- case FCK_TOOLBARITEM_ONLYICON :
- sClass = 'TB_ButtonType_Icon' ;
- bShowLabel = false;
- break ;
- case FCK_TOOLBARITEM_ONLYTEXT :
- sClass = 'TB_ButtonType_Text' ;
- bShowLabel = false;
- break ;
- case FCK_TOOLBARITEM_ICONTEXT :
- bShowLabel = true;
- break ;
- }
-
- if ( this.Caption && this.Caption.length > 0 && bShowLabel )
- {
- var oCaptionCell = eOuterTable.rows[0].insertCell(-1) ;
- oCaptionCell.innerHTML = this.Caption ;
- oCaptionCell.className = 'SC_FieldCaption' ;
- }
-
- // Create the main DIV element.
- var oField = FCKTools.AppendElement( eOuterTable.rows[0].insertCell(-1), 'div' ) ;
- if ( bShowLabel )
- {
- oField.className = 'SC_Field' ;
- oField.style.width = this.FieldWidth + 'px' ;
- oField.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;"><tbody><tr><td class="SC_FieldLabel"><label>&nbsp;</label></td><td class="SC_FieldButton">&nbsp;</td></tr></tbody></table>' ;
-
- this._LabelEl = oField.getElementsByTagName('label')[0] ; // Memory Leak
- this._LabelEl.innerHTML = this.Label ;
- }
- else
- {
- oField.className = 'TB_Button_Off' ;
- //oField.innerHTML = '<span className="SC_FieldCaption">' + this.Caption + '<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;"><tbody><tr><td class="SC_FieldButton" style="border-left: none;">&nbsp;</td></tr></tbody></table>' ;
- //oField.innerHTML = '<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;"><tbody><tr><td class="SC_FieldButton" style="border-left: none;">&nbsp;</td></tr></tbody></table>' ;
-
- // Gets the correct CSS class to use for the specified style (param).
- oField.innerHTML = '<table title="' + this.Tooltip + '" class="' + sClass + '" cellspacing="0" cellpadding="0" border="0">' +
- '<tr>' +
- //'<td class="TB_Icon"><img src="' + FCKConfig.SkinPath + 'toolbar/' + this.Command.Name.toLowerCase() + '.gif" width="21" height="21"></td>' +
- '<td><img class="TB_Button_Padding" src="' + FCK_SPACER_PATH + '" /></td>' +
- '<td class="TB_Text">' + this.Caption + '</td>' +
- '<td><img class="TB_Button_Padding" src="' + FCK_SPACER_PATH + '" /></td>' +
- '<td class="TB_ButtonArrow"><img src="' + FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif" width="5" height="3"></td>' +
- '<td><img class="TB_Button_Padding" src="' + FCK_SPACER_PATH + '" /></td>' +
- '</tr>' +
- '</table>' ;
- }
-
-
- // Events Handlers
-
- FCKTools.AddEventListenerEx( oField, 'mouseover', FCKSpecialCombo_OnMouseOver, this ) ;
- FCKTools.AddEventListenerEx( oField, 'mouseout', FCKSpecialCombo_OnMouseOut, this ) ;
- FCKTools.AddEventListenerEx( oField, 'click', FCKSpecialCombo_OnClick, this ) ;
-
- FCKTools.DisableSelection( this._Panel.Document.body ) ;
-}
-
-function FCKSpecialCombo_Cleanup()
-{
- this._LabelEl = null ;
- this._OuterTable = null ;
- this._ItemsHolderEl = null ;
- this._PanelBox = null ;
-
- if ( this.Items )
- {
- for ( var key in this.Items )
- this.Items[key] = null ;
- }
-}
-
-function FCKSpecialCombo_OnMouseOver( ev, specialCombo )
-{
- if ( specialCombo.Enabled )
- {
- switch ( specialCombo.Style )
- {
- case FCK_TOOLBARITEM_ONLYICON :
- this.className = 'TB_Button_On_Over';
- break ;
- case FCK_TOOLBARITEM_ONLYTEXT :
- this.className = 'TB_Button_On_Over';
- break ;
- case FCK_TOOLBARITEM_ICONTEXT :
- this.className = 'SC_Field SC_FieldOver' ;
- break ;
- }
- }
-}
-
-function FCKSpecialCombo_OnMouseOut( ev, specialCombo )
-{
- switch ( specialCombo.Style )
- {
- case FCK_TOOLBARITEM_ONLYICON :
- this.className = 'TB_Button_Off';
- break ;
- case FCK_TOOLBARITEM_ONLYTEXT :
- this.className = 'TB_Button_Off';
- break ;
- case FCK_TOOLBARITEM_ICONTEXT :
- this.className='SC_Field' ;
- break ;
- }
-}
-
-function FCKSpecialCombo_OnClick( e, specialCombo )
-{
- // For Mozilla we must stop the event propagation to avoid it hiding
- // the panel because of a click outside of it.
-// if ( e )
-// {
-// e.stopPropagation() ;
-// FCKPanelEventHandlers.OnDocumentClick( e ) ;
-// }
-
- if ( specialCombo.Enabled )
- {
- var oPanel = specialCombo._Panel ;
- var oPanelBox = specialCombo._PanelBox ;
- var oItemsHolder = specialCombo._ItemsHolderEl ;
- var iMaxHeight = specialCombo.PanelMaxHeight ;
-
- if ( specialCombo.OnBeforeClick )
- specialCombo.OnBeforeClick( specialCombo ) ;
-
- // This is a tricky thing. We must call the "Load" function, otherwise
- // it will not be possible to retrieve "oItemsHolder.offsetHeight" (IE only).
- if ( FCKBrowserInfo.IsIE )
- oPanel.Preload( 0, this.offsetHeight, this ) ;
-
- if ( oItemsHolder.offsetHeight > iMaxHeight )
-// {
- oPanelBox.style.height = iMaxHeight + 'px' ;
-
-// if ( FCKBrowserInfo.IsGecko )
-// oPanelBox.style.overflow = '-moz-scrollbars-vertical' ;
-// }
- else
- oPanelBox.style.height = '' ;
-
-// oPanel.PanelDiv.style.width = specialCombo.PanelWidth + 'px' ;
-
- oPanel.Show( 0, this.offsetHeight, this ) ;
- }
-
-// return false ;
-}
-
-/*
-Sample Combo Field HTML output:
-
-<div class="SC_Field" style="width: 80px;">
- <table width="100%" cellpadding="0" cellspacing="0" style="table-layout: fixed;">
- <tbody>
- <tr>
- <td class="SC_FieldLabel"><label>&nbsp;</label></td>
- <td class="SC_FieldButton">&nbsp;</td>
- </tr>
- </tbody>
- </table>
-</div>
-*/