Вход Регистрация
Файл: public/js/3rd_party/ckeditor/plugins/iframe/dialogs/iframe.js
Строк: 148
<?php

/*
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/

(function()
{
    
// Map 'true' and 'false' values to match W3C's specifications
    // http://www.w3.org/TR/REC-html40/present/frames.html#h-16.5
    
var checkboxValues =
    {
        
scrolling : { 'true' : 'yes', 'false' : 'no' },
        
frameborder : { 'true' : '1', 'false' : '0' }
    };

    function 
loadValue( iframeNode )
    {
        var 
isCheckbox = this instanceof CKEDITOR.ui.dialog.checkbox;
        if ( 
iframeNode.hasAttribute( this.id ) )
        {
            var 
value = iframeNode.getAttribute( this.id );
            if ( 
isCheckbox )
                
this.setValue( checkboxValues[ this.id ][ 'true' ] == value.toLowerCase() );
            else
                
this.setValue( value );
        }
    }

    function 
commitValue( iframeNode )
    {
        var 
isRemove = this.getValue() === '',
            
isCheckbox = this instanceof CKEDITOR.ui.dialog.checkbox,
            
value = this.getValue();
        if ( 
isRemove )
            
iframeNode.removeAttribute( this.att || this.id );
        else if ( 
isCheckbox )
            
iframeNode.setAttribute( this.id, checkboxValues[ this.id ][ value ] );
        else
            
iframeNode.setAttribute( this.att || this.id, value );
    }

    
CKEDITOR.dialog.add( 'iframe', function( editor )
    {
        var 
iframeLang = editor.lang.iframe,
            
commonLang = editor.lang.common,
            
dialogadvtab = editor.plugins.dialogadvtab;
        return {
            
title : iframeLang.title,
            
minWidth : 350,
            
minHeight : 260,
            
onShow : function()
            {
                
// Clear previously saved elements.
                
this.fakeImage = this.iframeNode = null;

                var 
fakeImage = this.getSelectedElement();
                if ( 
fakeImage && fakeImage.data( 'cke-real-element-type' ) && fakeImage.data( 'cke-real-element-type' ) == 'iframe' )
                {
                    
this.fakeImage = fakeImage;

                    var 
iframeNode = editor.restoreRealElement( fakeImage );
                    
this.iframeNode = iframeNode;

                    
this.setupContent( iframeNode );
                }
            },
            
onOk : function()
            {
                var 
iframeNode;
                if ( !
this.fakeImage )
                    
iframeNode = new CKEDITOR.dom.element( 'iframe' );
                else
                    
iframeNode = this.iframeNode;

                
// A subset of the specified attributes/styles
                // should also be applied on the fake element to
                // have better visual effect. (#5240)
                
var extraStyles = {}, extraAttributes = {};
                
this.commitContent( iframeNode, extraStyles, extraAttributes );

                
// Refresh the fake image.
                
var newFakeImage = editor.createFakeElement( iframeNode, 'cke_iframe', 'iframe', true );
                
newFakeImage.setAttributes( extraAttributes );
                
newFakeImage.setStyles( extraStyles );
                if ( 
this.fakeImage )
                {
                    
newFakeImage.replace( this.fakeImage );
                    
editor.getSelection().selectElement( newFakeImage );
                }
                else
                    
editor.insertElement( newFakeImage );
            },
            
contents : [
                {
                    
id : 'info',
                    
label : commonLang.generalTab,
                    
accessKey : 'I',
                    
elements :
                    [
                        {
                            
type : 'vbox',
                            
padding : 0,
                            
children :
                            [
                                {
                                    
id : 'src',
                                    
type : 'text',
                                    
label : commonLang.url,
                                    
required : true,
                                    
validate : CKEDITOR.dialog.validate.notEmpty( iframeLang.noUrl ),
                                    
setup : loadValue,
                                    
commit : commitValue
                                
}
                            ]
                        },
                        {
                            
type : 'hbox',
                            
children :
                            [
                                {
                                    
id : 'width',
                                    
type : 'text',
                                    
style : 'width:100%',
                                    
labelLayout : 'vertical',
                                    
label : commonLang.width,
                                    
validate : CKEDITOR.dialog.validate.htmlLength( commonLang.invalidHtmlLength.replace( '%1', commonLang.width ) ),
                                    
setup : loadValue,
                                    
commit : commitValue
                                
},
                                {
                                    
id : 'height',
                                    
type : 'text',
                                    
style : 'width:100%',
                                    
labelLayout : 'vertical',
                                    
label : commonLang.height,
                                    
validate : CKEDITOR.dialog.validate.htmlLength( commonLang.invalidHtmlLength.replace( '%1', commonLang.height ) ),
                                    
setup : loadValue,
                                    
commit : commitValue
                                
},
                                {
                                    
id : 'align',
                                    
type : 'select',
                                    
'default' : '',
                                    
items :
                                    [
                                        [ 
commonLang.notSet , '' ],
                                        [ 
commonLang.alignLeft , 'left' ],
                                        [ 
commonLang.alignRight , 'right' ],
                                        [ 
commonLang.alignTop , 'top' ],
                                        [ 
commonLang.alignMiddle , 'middle' ],
                                        [ 
commonLang.alignBottom , 'bottom' ]
                                    ],
                                    
style : 'width:100%',
                                    
labelLayout : 'vertical',
                                    
label : commonLang.align,
                                    
setup : function( iframeNode, fakeImage )
                                    {
                                        
loadValue.apply( this, arguments );
                                        if ( 
fakeImage )
                                        {
                                            var 
fakeImageAlign = fakeImage.getAttribute( 'align' );
                                            
this.setValue( fakeImageAlign && fakeImageAlign.toLowerCase() || '' );
                                        }
                                    },
                                    
commit : function( iframeNode, extraStyles, extraAttributes )
                                    {
                                        
commitValue.apply( this, arguments );
                                        if ( 
this.getValue() )
                                            
extraAttributes.align = this.getValue();
                                    }
                                }
                            ]
                        },
                        {
                            
type : 'hbox',
                            
widths : [ '50%', '50%' ],
                            
children :
                            [
                                {
                                    
id : 'scrolling',
                                    
type : 'checkbox',
                                    
label : iframeLang.scrolling,
                                    
setup : loadValue,
                                    
commit : commitValue
                                
},
                                {
                                    
id : 'frameborder',
                                    
type : 'checkbox',
                                    
label : iframeLang.border,
                                    
setup : loadValue,
                                    
commit : commitValue
                                
}
                            ]
                        },
                        {
                            
type : 'hbox',
                            
widths : [ '50%', '50%' ],
                            
children :
                            [
                                {
                                    
id : 'name',
                                    
type : 'text',
                                    
label : commonLang.name,
                                    
setup : loadValue,
                                    
commit : commitValue
                                
},
                                {
                                    
id : 'title',
                                    
type : 'text',
                                    
label : commonLang.advisoryTitle,
                                    
setup : loadValue,
                                    
commit : commitValue
                                
}
                            ]
                        },
                        {
                            
id : 'longdesc',
                            
type : 'text',
                            
label : commonLang.longDescr,
                            
setup : loadValue,
                            
commit : commitValue
                        
}
                    ]
                },
                
dialogadvtab && dialogadvtab.createAdvancedTab( editor, { id:1, classes:1, styles:1 })
            ]
        };
    });
})();
?>
Онлайн: 2
Реклама