Вход Регистрация
Файл: js/editor/jscripts/tiny_mce/themes/advanced/js/image.js
Строк: 165
<?php
var ImageDialog = {
    
preInit : function() {
        var 
url;

        
tinyMCEPopup.requireLangPack();

        if (
url tinyMCEPopup.getParam("external_image_list_url"))
            
document.write('<script language="javascript" type="text/javascript" src="' tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
    },

    
init : function() {
        var 
document.forms[0], ed tinyMCEPopup.editor;

        
// Setup browse button
        
document.getElementById('srcbrowsercontainer').innerHTML getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
        if (
isVisible('srcbrowser'))
            
document.getElementById('src').style.width '180px';

        
ed.selection.getNode();

        
this.fillFileList('image_list''tinyMCEImageList');

        if (
e.nodeName == 'IMG') {
            
f.src.value ed.dom.getAttrib(e'src');
            
f.alt.value ed.dom.getAttrib(e'alt');
            
f.border.value this.getAttrib(e'border');
            
f.vspace.value this.getAttrib(e'vspace');
            
f.hspace.value this.getAttrib(e'hspace');
            
f.width.value ed.dom.getAttrib(e'width');
            
f.height.value ed.dom.getAttrib(e'height');
            
f.insert.value ed.getLang('update');
            
this.styleVal ed.dom.getAttrib(e'style');
            
selectByValue(f'image_list'f.src.value);
            
selectByValue(f'align'this.getAttrib(e'align'));
            
this.updateStyle();
        }
    },

    
fillFileList : function(idl) {
        var 
dom tinyMCEPopup.domlst dom.get(id), vcl;

        
window[l];

        if (
&& l.length 0) {
            
lst.options[lst.options.length] = new Option('''');

            
tinymce.each(l, function(o) {
                
lst.options[lst.options.length] = new Option(o[0], o[1]);
            });
        } else
            
dom.remove(dom.getParent(id'tr'));
    },

    
update : function() {
        var 
document.forms[0], nl f.elementsed tinyMCEPopup.editorargs = {}, el;

        
tinyMCEPopup.restoreSelection();

        if (
f.src.value === '') {
            if (
ed.selection.getNode().nodeName == 'IMG') {
                
ed.dom.remove(ed.selection.getNode());
                
ed.execCommand('mceRepaint');
            }

            
tinyMCEPopup.close();
            return;
        }

        if (!
ed.settings.inline_styles) {
            
args tinymce.extend(args, {
                
vspace nl.vspace.value,
                
hspace nl.hspace.value,
                
border nl.border.value,
                
align getSelectValue(f'align')
            });
        } else
            
args.style this.styleVal;

        
tinymce.extend(args, {
            
src f.src.value,
            
alt f.alt.value,
            
width f.width.value,
            
height f.height.value
        
});

        
el ed.selection.getNode();

        if (
el && el.nodeName == 'IMG') {
            
ed.dom.setAttribs(elargs);
        } else {
            
ed.execCommand('mceInsertContent'false'<img id="__mce_tmp" />', {skip_undo 1});
            
ed.dom.setAttribs('__mce_tmp'args);
            
ed.dom.setAttrib('__mce_tmp''id''');
            
ed.undoManager.add();
        }

        
tinyMCEPopup.close();
    },

    
updateStyle : function() {
        var 
dom tinyMCEPopup.domstvdocument.forms[0];

        if (
tinyMCEPopup.editor.settings.inline_styles) {
            
st tinyMCEPopup.dom.parseStyle(this.styleVal);

            
// Handle align
            
getSelectValue(f'align');
            if (
v) {
                if (
== 'left' || == 'right') {
                    
st['float'] = v;
                    
delete st['vertical-align'];
                } else {
                    
st['vertical-align'] = v;
                    
delete st['float'];
                }
            } else {
                
delete st['float'];
                
delete st['vertical-align'];
            }

            
// Handle border
            
f.border.value;
            if (
|| == '0') {
                if (
== '0')
                    
st['border'] = '0';
                else
                    
st['border'] = 'px solid black';
            } else
                
delete st['border'];

            
// Handle hspace
            
f.hspace.value;
            if (
v) {
                
delete st['margin'];
                
st['margin-left'] = 'px';
                
st['margin-right'] = 'px';
            } else {
                
delete st['margin-left'];
                
delete st['margin-right'];
            }

            
// Handle vspace
            
f.vspace.value;
            if (
v) {
                
delete st['margin'];
                
st['margin-top'] = 'px';
                
st['margin-bottom'] = 'px';
            } else {
                
delete st['margin-top'];
                
delete st['margin-bottom'];
            }

            
// Merge
            
st tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st), 'img');
            
this.styleVal dom.serializeStyle(st'img');
        }
    },

    
getAttrib : function(eat) {
        var 
ed tinyMCEPopup.editordom ed.domvv2;

        if (
ed.settings.inline_styles) {
            switch (
at) {
                case 
'align':
                    if (
dom.getStyle(e'float'))
                        return 
v;

                    if (
dom.getStyle(e'vertical-align'))
                        return 
v;

                    break;

                case 
'hspace':
                    
dom.getStyle(e'margin-left')
                    
v2 dom.getStyle(e'margin-right');
                    if (
&& == v2)
                        return 
parseInt(v.replace(/[^0-9]/g''));

                    break;

                case 
'vspace':
                    
dom.getStyle(e'margin-top')
                    
v2 dom.getStyle(e'margin-bottom');
                    if (
&& == v2)
                        return 
parseInt(v.replace(/[^0-9]/g''));

                    break;

                case 
'border':
                    
0;

                    
tinymce.each(['top''right''bottom''left'], function(sv) {
                        
sv dom.getStyle(e'border-' sv '-width');

                        
// False or not the same as prev
                        
if (!sv || (sv != && !== 0)) {
                            
0;
                            return 
false;
                        }

                        if (
sv)
                            
sv;
                    });

                    if (
v)
                        return 
parseInt(v.replace(/[^0-9]/g''));

                    break;
            }
        }

        if (
dom.getAttrib(eat))
            return 
v;

        return 
'';
    },

    
resetImageData : function() {
        var 
document.forms[0];

        
f.width.value f.height.value "";    
    },

    
updateImageData : function() {
        var 
document.forms[0], ImageDialog;

        if (
f.width.value == "")
            
f.width.value t.preloadImg.width;

        if (
f.height.value == "")
            
f.height.value t.preloadImg.height;
    },

    
getImageData : function() {
        var 
document.forms[0];

        
this.preloadImg = new Image();
        
this.preloadImg.onload this.updateImageData;
        
this.preloadImg.onerror this.resetImageData;
        
this.preloadImg.src tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value);
    }
};

ImageDialog.preInit();
tinyMCEPopup.onInit.add(ImageDialog.initImageDialog);
?>
Онлайн: 2
Реклама