HOME


Mini Shell 1.0
DIR: /home/islapiiu/sites/faithlinkint/control-panel/plugins/tinymce/plugins/save/
Upload File :
Current File : /home/islapiiu/sites/faithlinkint/control-panel/plugins/tinymce/plugins/save/plugin.js
/**
 
 * plugin.js
 
 *
 
 * Released under LGPL License.
 
 * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
 
 *
 
 * License: http://www.tinymce.com/license
 
 * Contributing: http://www.tinymce.com/contributing
 
 */



/*global tinymce:true */



tinymce.PluginManager.add('save', function (editor) {

    function save() {

        var formObj;



        formObj = tinymce.DOM.getParent(editor.id, 'form');



        if (editor.getParam("save_enablewhendirty", true) && !editor.isDirty()) {

            return;

        }



        tinymce.triggerSave();



        // Use callback instead

        if (editor.getParam("save_onsavecallback")) {

            editor.execCallback('save_onsavecallback', editor);

            editor.nodeChanged();

            return;

        }



        if (formObj) {

            editor.setDirty(false);



            if (!formObj.onsubmit || formObj.onsubmit()) {

                if (typeof formObj.submit == "function") {

                    formObj.submit();

                } else {

                    displayErrorMessage(editor.translate("Error: Form submit field collision."));

                }

            }



            editor.nodeChanged();

        } else {

            displayErrorMessage(editor.translate("Error: No form element found."));

        }

    }



    function displayErrorMessage(message) {

        editor.notificationManager.open({

            text: message,

            type: 'error'

        });

    }



    function cancel() {

        var h = tinymce.trim(editor.startContent);



        // Use callback instead

        if (editor.getParam("save_oncancelcallback")) {

            editor.execCallback('save_oncancelcallback', editor);

            return;

        }



        editor.setContent(h);

        editor.undoManager.clear();

        editor.nodeChanged();

    }



    function stateToggle() {

        var self = this;



        editor.on('nodeChange dirty', function () {

            self.disabled(editor.getParam("save_enablewhendirty", true) && !editor.isDirty());

        });

    }



    editor.addCommand('mceSave', save);

    editor.addCommand('mceCancel', cancel);



    editor.addButton('save', {

        icon: 'save',

        text: 'Save',

        cmd: 'mceSave',

        disabled: true,

        onPostRender: stateToggle

    });



    editor.addButton('cancel', {

        text: 'Cancel',

        icon: false,

        cmd: 'mceCancel',

        disabled: true,

        onPostRender: stateToggle

    });



    editor.addShortcut('Meta+S', '', 'mceSave');

});