HOME


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

    function colorPickerCallback(callback, value) {

        function setColor(value) {

            var color = new tinymce.util.Color(value), rgb = color.toRgb();



            win.fromJSON({

                r: rgb.r,

                g: rgb.g,

                b: rgb.b,

                hex: color.toHex().substr(1)

            });



            showPreview(color.toHex());

        }



        function showPreview(hexColor) {

            win.find('#preview')[0].getEl().style.background = hexColor;

        }



        var win = editor.windowManager.open({

            title: 'Color',

            items: {

                type: 'container',

                layout: 'flex',

                direction: 'row',

                align: 'stretch',

                padding: 5,

                spacing: 10,

                items: [

                    {

                        type: 'colorpicker',

                        value: value,

                        onchange: function () {

                            var rgb = this.rgb();



                            if (win) {

                                win.find('#r').value(rgb.r);

                                win.find('#g').value(rgb.g);

                                win.find('#b').value(rgb.b);

                                win.find('#hex').value(this.value().substr(1));

                                showPreview(this.value());

                            }

                        }

                    },

                    {

                        type: 'form',

                        padding: 0,

                        labelGap: 5,

                        defaults: {

                            type: 'textbox',

                            size: 7,

                            value: '0',

                            flex: 1,

                            spellcheck: false,

                            onchange: function () {

                                var colorPickerCtrl = win.find('colorpicker')[0];

                                var name, value;



                                name = this.name();

                                value = this.value();



                                if (name == "hex") {

                                    value = '#' + value;

                                    setColor(value);

                                    colorPickerCtrl.value(value);

                                    return;

                                }



                                value = {

                                    r: win.find('#r').value(),

                                    g: win.find('#g').value(),

                                    b: win.find('#b').value()

                                };



                                colorPickerCtrl.value(value);

                                setColor(value);

                            }

                        },

                        items: [

                            {name: 'r', label: 'R', autofocus: 1},

                            {name: 'g', label: 'G'},

                            {name: 'b', label: 'B'},

                            {name: 'hex', label: '#', value: '000000'},

                            {name: 'preview', type: 'container', border: 1}

                        ]

                    }

                ]

            },

            onSubmit: function () {

                callback('#' + this.toJSON().hex);

            }

        });



        setColor(value);

    }



    if (!editor.settings.color_picker_callback) {

        editor.settings.color_picker_callback = colorPickerCallback;

    }

});