HOME


Mini Shell 1.0
DIR: /home/islapiiu/sites/faithlinkint/control-panel/plugins/tinymce/plugins/directionality/
Upload File :
Current File : /home/islapiiu/sites/faithlinkint/control-panel/plugins/tinymce/plugins/directionality/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('directionality', function (editor) {

    function setDir(dir) {

        var dom = editor.dom, curDir, blocks = editor.selection.getSelectedBlocks();



        if (blocks.length) {

            curDir = dom.getAttrib(blocks[0], "dir");



            tinymce.each(blocks, function (block) {

                // Add dir to block if the parent block doesn't already have that dir

                if (!dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot())) {

                    if (curDir != dir) {

                        dom.setAttrib(block, "dir", dir);

                    } else {

                        dom.setAttrib(block, "dir", null);

                    }

                }

            });



            editor.nodeChanged();

        }

    }



    function generateSelector(dir) {

        var selector = [];



        tinymce.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function (name) {

            selector.push(name + '[dir=' + dir + ']');

        });



        return selector.join(',');

    }



    editor.addCommand('mceDirectionLTR', function () {

        setDir("ltr");

    });



    editor.addCommand('mceDirectionRTL', function () {

        setDir("rtl");

    });



    editor.addButton('ltr', {

        title: 'Left to right',

        cmd: 'mceDirectionLTR',

        stateSelector: generateSelector('ltr')

    });



    editor.addButton('rtl', {

        title: 'Right to left',

        cmd: 'mceDirectionRTL',

        stateSelector: generateSelector('rtl')

    });

});