phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] news_admin/js/fckeditor/editor/dialog/fck_image fck_i


From: skwashd
Subject: [Phpgroupware-cvs] news_admin/js/fckeditor/editor/dialog/fck_image fck_image.js, 1.1
Date: Tue, 24 May 2005 16:32:00 +0200

Update of news_admin/js/fckeditor/editor/dialog/fck_image

Added Files:
     Branch: MAIN
            fck_image.js 

Log Message:
I am working on a much better version of news_admin, this is just a taste of 
what is coming.

Adding FCKeditor, which has the following issues:
* Images and files support FCKd
* Spellcheck FCKing up

Didn't include non php code or samples other unneeded crap

====================================================
Index: fck_image.js
/*
 * FCKeditor - The text editor for internet
 * Copyright (C) 2003-2004 Frederico Caldeira Knabben
 *
 * Licensed under the terms of the GNU Lesser General Public License:
 *              http://www.opensource.org/licenses/lgpl-license.php
 *
 * For further information visit:
 *              http://www.fckeditor.net/
 *
 * File Name: fck_image.js
 *      Scripts related to the Link dialog window (see fck_link.html).
 *
 * Version:  2.0 RC3
 * Modified: 2005-02-19 17:12:36
 *
 * File Authors:
 *              Frederico Caldeira Knabben (address@hidden)
 */

var oEditor = window.parent.InnerDialogLoaded() ;
var FCK         = oEditor.FCK ;

//#### Dialog Tabs

// Set the dialog tabs.
window.parent.AddTab( 'Info', oEditor.FCKLang.DlgImgInfoTab ) ;
// TODO : Enable File Upload (1/3).
//window.parent.AddTab( 'Upload', 'Upload', true ) ;
window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;

// Function called when a dialog tag is selected.
function OnDialogTabChange( tabCode )
{
        ShowE('divInfo'         , ( tabCode == 'Info' ) ) ;
// TODO : Enable File Upload (2/3).
//      ShowE('divUpload'       , ( tabCode == 'Upload' ) ) ;
        ShowE('divAdvanced'     , ( tabCode == 'Advanced' ) ) ;
}

var bImageButton = ( document.location.search.length > 0 && 
document.location.search.substr(1) == 'ImageButton' ) ;

// Get the selected image (if available).
var oImage = FCK.Selection.GetSelectedElement() ;

if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && 
oImage.type == 'image' ) )
        oImage = null ;

var oImageOriginal ;

function UpdateOriginal( resetSize )
{
        oImageOriginal = document.createElement( 'IMG' ) ;      // new Image() ;

        if ( resetSize )
        {
                oImageOriginal.onload = function()
                {
                        this.onload = null ;
                        ResetSizes() ;
                }
        }

        oImageOriginal.src = GetE('imgPreview').src ;
}

window.onload = function()
{
        // Translate the dialog box texts.
        oEditor.FCKLanguageManager.TranslatePage(document) ;

        GetE('btnLockSizes').title = oEditor.FCKLang.DlgImgLockRatio ;
        GetE('btnResetSize').title = oEditor.FCKLang.DlgBtnResetSize ;

        // Load the selected element information (if any).
        LoadSelection() ;

        // Show/Hide the "Browse Server" button.
        GetE('tdBrowse').style.display = oEditor.FCKConfig.ImageBrowser ? '' : 
'none' ;

        UpdateOriginal() ;

        window.parent.SetAutoSize( true ) ;

        // Activate the "OK" button.
        window.parent.SetOkButton( true ) ;
}

function LoadSelection()
{
        if ( ! oImage ) return ;

        var sUrl = GetAttribute( oImage, 'src', '' ) ;

        // TODO: Wait stable version and remove the following commented lines.
//      if ( sUrl.startsWith( FCK.BaseUrl ) )
//              sUrl = sUrl.remove( 0, FCK.BaseUrl.length ) ;

        GetE('txtUrl').value    = sUrl ;
        GetE('txtAlt').value    = GetAttribute( oImage, 'alt', '' ) ;
        GetE('txtVSpace').value = GetAttribute( oImage, 'vspace', '' ) ;
        GetE('txtHSpace').value = GetAttribute( oImage, 'hspace', '' ) ;
        GetE('txtBorder').value = GetAttribute( oImage, 'border', '' ) ;
        GetE('cmbAlign').value  = GetAttribute( oImage, 'align', '' ) ;

        if ( oImage.style.pixelWidth > 0 )
                GetE('txtWidth').value  = oImage.style.pixelWidth ;
        else
                GetE('txtWidth').value  = GetAttribute( oImage, "width", '' ) ;

        if ( oImage.style.pixelHeight > 0 )
                GetE('txtHeight').value  = oImage.style.pixelHeight ;
        else
                GetE('txtHeight').value = GetAttribute( oImage, "height", '' ) ;

        // Get Advances Attributes
        GetE('txtAttId').value                  = oImage.id ;
        GetE('cmbAttLangDir').value             = oImage.dir ;
        GetE('txtAttLangCode').value    = oImage.lang ;
        GetE('txtAttTitle').value               = oImage.title ;
        GetE('txtAttClasses').value             = 
oImage.getAttribute('class',2) || '' ;
        GetE('txtLongDesc').value               = oImage.longDesc ;

        if ( oEditor.FCKBrowserInfo.IsIE )
                GetE('txtAttStyle').value       = oImage.style.cssText ;
        else
                GetE('txtAttStyle').value       = 
oImage.getAttribute('style',2) ;

        UpdatePreview() ;
}

//#### The OK button was hit.
function Ok()
{
        if ( GetE('txtUrl').value.length == 0 )
        {
                window.parent.SetSelectedTab( 'Info' ) ;
                GetE('txtUrl').focus() ;

                alert( oEditor.FCKLang.DlgImgAlertUrl ) ;

                return false ;
        }

        if ( oImage && bImageButton && oImage.tagName == 'IMG' )
        {
                if ( confirm( 'Do you want to transform the selected image on a 
image button?' ) )
                        oImage = null ;
        }
        else if ( oImage && !bImageButton && oImage.tagName == 'INPUT' )
        {
                if ( confirm( 'Do you want to transform the selected image 
button on a simple image?' ) )
                        oImage = null ;
        }

        if ( !oImage )
        {
                if ( bImageButton )
                {
                        oImage = FCK.EditorDocument.createElement( 'INPUT' ) ;
                        oImage.type = 'image' ;
                        oImage = FCK.InsertElementAndGetIt( oImage ) ;
                }
                else
                        oImage = FCK.CreateElement( 'IMG' ) ;
        }

        UpdateImage( oImage ) ;

        return true ;
}

function UpdateImage( e, skipId )
{
        e.src = GetE('txtUrl').value ;
        SetAttribute( e, "alt"   , GetE('txtAlt').value ) ;
        SetAttribute( e, "width" , GetE('txtWidth').value ) ;
        SetAttribute( e, "height", GetE('txtHeight').value ) ;
        SetAttribute( e, "vspace", GetE('txtVSpace').value ) ;
        SetAttribute( e, "hspace", GetE('txtHSpace').value ) ;
        SetAttribute( e, "border", GetE('txtBorder').value ) ;
        SetAttribute( e, "align" , GetE('cmbAlign').value ) ;

        // Advances Attributes

        if ( ! skipId )
                SetAttribute( e, 'id', GetE('txtAttId').value ) ;

        SetAttribute( e, 'dir'          , GetE('cmbAttLangDir').value ) ;
        SetAttribute( e, 'lang'         , GetE('txtAttLangCode').value ) ;
        SetAttribute( e, 'title'        , GetE('txtAttTitle').value ) ;
        SetAttribute( e, 'class'        , GetE('txtAttClasses').value ) ;
        SetAttribute( e, 'longDesc'     , GetE('txtLongDesc').value ) ;

        if ( oEditor.FCKBrowserInfo.IsIE )
                e.style.cssText = GetE('txtAttStyle').value ;
        else
                SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
}

function UpdatePreview()
{
        if ( GetE('txtUrl').value.length == 0 )
                GetE('imgPreview').style.display = 'none' ;
        else
                UpdateImage( GetE('imgPreview'), true ) ;
}

var bLockRatio = true ;

function SwitchLock( lockButton )
{
        bLockRatio = !bLockRatio ;
        lockButton.className = bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ;
        lockButton.title = bLockRatio ? 'Lock sizes' : 'Unlock sizes' ;

        if ( bLockRatio )
        {
                if ( GetE('txtWidth').value.length > 0 )
                        OnSizeChanged( 'Width', GetE('txtWidth').value ) ;
                else
                        OnSizeChanged( 'Height', GetE('txtHeight').value ) ;
        }
}

// Fired when the width or height input texts change
function OnSizeChanged( dimension, value )
{
        // Verifies if the aspect ration has to be mantained
        if ( oImageOriginal && bLockRatio )
        {
                if ( value.length == 0 || isNaN( value ) )
                {
                        GetE('txtHeight').value = GetE('txtWidth').value = '' ;
                        return ;
                }

                if ( dimension == 'Width' )
                        GetE('txtHeight').value = Math.round( 
oImageOriginal.height * ( value  / oImageOriginal.width ) ) ;
                else
                        GetE('txtWidth').value  = Math.round( 
oImageOriginal.width  * ( value / oImageOriginal.height ) ) ;
        }

        UpdatePreview() ;
}

// Fired when the Reset Size button is clicked
function ResetSizes()
{
        if ( ! oImageOriginal ) return ;

        GetE('txtWidth').value  = oImageOriginal.width ;
        GetE('txtHeight').value = oImageOriginal.height ;

        UpdatePreview() ;
}

function BrowseServer()
{
        // Set the browser window feature.
        var iWidth      = oEditor.FCKConfig.ImageBrowserWindowWidth ;
        var iHeight     = oEditor.FCKConfig.ImageBrowserWindowHeight ;

        var iLeft = (screen.width  - iWidth) / 2 ;
        var iTop  = (screen.height - iHeight) / 2 ;

        var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ;
        sOptions += ",width=" + iWidth ;
        sOptions += ",height=" + iHeight ;
        sOptions += ",left=" + iLeft ;
        sOptions += ",top=" + iTop ;

        // Open the browser window.
        var oWindow = window.open( oEditor.FCKConfig.ImageBrowserURL, 
"FCKBrowseWindow", sOptions ) ;
}

function SetUrl( url, width, height, alt )
{
        GetE('txtUrl').value = url ;
        GetE('txtWidth').value = width ? width : '' ;
        GetE('txtHeight').value = height ? height : '' ;

        if ( alt )
                GetE('txtAlt').value = alt;

        UpdatePreview() ;
        UpdateOriginal( true ) ;
}






reply via email to

[Prev in Thread] Current Thread [Next in Thread]