Вход Регистрация
Файл: mailist/wys/jscripts/tiny_mce/plugins/save/editor_plugin_src.js
Строк: 241
<?php
/**
 * $Id: editor_plugin_src.js 251 2007-04-10 20:16:15Z spocke $
 *
 * @author Moxiecode
 * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
 */

/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('save');

var 
TinyMCE_SavePlugin = {
    
getInfo : function() {
        return {
            
longname 'Save',
            
author 'Moxiecode Systems AB',
            
authorurl 'http://tinymce.moxiecode.com',
            
infourl 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',
            
version tinyMCE.majorVersion "." tinyMCE.minorVersion
        
};
    },

    
initInstance : function(inst) {
        
inst.addShortcut('ctrl''s''lang_save_desc''mceSave');
    },

    
/**
     * Returns the HTML contents of the save control.
     */
    
getControlHTML : function(cn) {
        switch (
cn) {
            case 
"save":
                return 
tinyMCE.getButtonHTML(cn'lang_save_desc''{$pluginurl}/images/save.gif''mceSave');

            case 
"cancel":
                return 
tinyMCE.getButtonHTML(cn'lang_cancel_desc''{$pluginurl}/images/cancel.gif''mceCancel');
        }

        return 
"";
    },

    
/**
     * Executes the save command.
     */
    
execCommand : function(editor_idelementcommanduser_interfacevalue) {
        
// Handle commands
        
switch (command) {
            case 
"mceSave":
                return 
this._save(editor_idelementcommanduser_interfacevalue);

            case 
"mceCancel":
                return 
this._cancel(editor_idelementcommanduser_interfacevalue);
        }

        
// Pass to next handler in chain
        
return false;
    },

    
_save : function(editor_idelementcommanduser_interfacevalue) {
        var 
instformObjosielementId;

        if (
tinyMCE.getParam("fullscreen_is_enabled"))
            return 
true;

        
inst tinyMCE.selectedInstance;
        
formObj inst.formElement.form;

        if (
tinyMCE.getParam("save_enablewhendirty") && !inst.isDirty())
            return 
true;

        if (
formObj) {
            
tinyMCE.triggerSave();

            
// Use callback instead
            
if ((os tinyMCE.getParam("save_onsavecallback"))) {
                if (eval(
os '(inst);')) {
                    
inst.startContent tinyMCE.trim(inst.getBody().innerHTML);
                    
/*inst.undoLevels = new Array();
                    inst.undoIndex = 0;
                    inst.typingUndoIndex = -1;
                    inst.undoRedo = true;
                    inst.undoLevels[inst.undoLevels.length] = inst.startContent;*/
                    
tinyMCE.triggerNodeChange(falsetrue);
                }

                return 
true;
            }

            
// Disable all UI form elements that TinyMCE created
            
for (i=0i<formObj.elements.lengthi++) {
                
elementId formObj.elements[i].name formObj.elements[i].name formObj.elements[i].id;

                if (
elementId.indexOf('mce_editor_') == 0)
                    
formObj.elements[i].disabled true;
            }

            
inst.isNotDirty true;

            if (
formObj.onsubmit == null || formObj.onsubmit() != false)
                
inst.formElement.form.submit();

            
tinyMCE.triggerNodeChange(falsetrue);
        } else
            
alert("Error: No form element found.");

        return 
true;
    },

    
_cancel : function(editor_idelementcommanduser_interfacevalue) {
        var 
inst tinyMCE.getInstanceById(editor_id), ostinyMCE.trim(inst.startContent);

        
// Use callback instead
        
if ((os tinyMCE.getParam("save_oncancelcallback"))) {
            if (eval(
os '(inst);'))
                return 
true;
        }

        
inst.setHTML(h);

        
inst.undoRedo.undoLevels = [];
        
inst.undoRedo.add({ content });
        
inst.undoRedo.undoIndex 0;
        
inst.undoRedo.typingUndoIndex = -1;

        
tinyMCE.triggerNodeChange(falsetrue);

        return 
true;
    },

    
handleNodeChange : function(editor_idnodeundo_indexundo_levelsvisual_aidany_selection) {
        var 
inst;

        if (
tinyMCE.getParam("fullscreen_is_enabled")) {
            
tinyMCE.switchClass(editor_id '_save''mceButtonDisabled');
            return 
true;
        }

        if (
tinyMCE.getParam("save_enablewhendirty")) {
            
inst tinyMCE.getInstanceById(editor_id);

            if (
inst.isDirty()) {
                
tinyMCE.switchClass(editor_id '_save''mceButtonNormal');
                return 
true;
            }

            
tinyMCE.switchClass(editor_id '_save''mceButtonDisabled');
        }

        return 
true;
    }
};

tinyMCE.addPlugin("save"TinyMCE_SavePlugin);
?>
Онлайн: 0
Реклама