ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 6395


Ignore:
Timestamp:
Apr 7, 2008, 11:26:34 PM (12 years ago)
Author:
ebihara
Message:

#333:プレビューモード時の文字色変更ボタン押下時、ポップアップウィンドウではなくプルダウンでメニューを表示するようにした

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/trunk/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js

    r6349 r6395  
    66
    77(function() {
     8
     9    tinymce.create('tinymce.ui.OpenPNEColorButton:tinymce.ui.ColorSplitButton', {
     10        renderHTML : function() {
     11            var s = this.settings, h = '<a id="' + this.id + '" href="javascript:;" class="mceButton mceButtonEnabled ' + s['class']
     12                + '" onmousedown="return false;" onclick="return false;" title="' + tinymce.DOM.encode(s.title) + '">';
     13
     14            if (s.image) {
     15                h += '<img class="mceIcon" src="' + s.image + '" /></a>';
     16            } else {
     17                h += '<span class="mceIcon ' + s['class'] + '"></span></a>';
     18            }
     19
     20            return h;
     21        },
     22
     23        postRender : function() {
     24            tinymce.dom.Event.add(this.id, 'click', this.showMenu, this);
     25        },
     26
     27        setColor : function(c) {
     28            this.value = c;
     29            this.hideMenu();
     30            this.settings.onselect(c);
     31        }
     32    });
     33
    834    tinymce.PluginManager.requireLangPack('openpne');
     35
     36    var config = pne_mce_editor_get_config();
    937
    1038    tinymce.create('tinymce.plugins.OpenPNEPlugin', {
     
    1442            // change the editor setting
    1543            ed.settings.content_css = url + "/css/editor.css";
    16 
    17             var config = pne_mce_editor_get_config();
    1844
    1945            // command
     
    4874            for (var key in config) {
    4975                var value = config[key];
    50                 if (value.isEnabled) {
     76                if (value.isEnabled && key != "op_color") {
    5177                    ed.addButton(key, {title : '{#openpne.' + key + '}', image: value.imageURL, cmd : 'mceOpenPNE_' + key});
    5278                }
     
    7096        },
    7197
     98        createControl: function(n, cm) {
     99            var c = null;
     100            if (n == "op_color" && config["op_color"].isEnabled) {
     101                c = this._createOpenPNEColorButton("op_color", { title : "{#openpne.op_color}", image: config["op_color"].imageURL, cmd : "ForeColor"}, cm);
     102            }
     103            return c;
     104        },
     105
    72106        getInfo : function() {
    73107            return {
     
    76110                version : "1.0"
    77111            }
     112        },
     113
     114        _createOpenPNEColorButton : function(id, s, cm) {
     115            var t = cm, ed = t.editor, cmd, c;
     116
     117            if (t.get(id)) {
     118                return null;
     119            }
     120
     121            s.title = ed.translate(s.title);
     122            s.scope = s.scope || ed;
     123
     124            if (!s.onclick) {
     125                s.onclick = function(v) { ed.execCommand(s.cmd, s.ui || false, v || s.value); };
     126            }
     127
     128            if (!s.onselect) {
     129                s.onselect = function(v) { ed.execCommand(s.cmd, s.ui || false, v || s.value); };
     130            }
     131
     132            id = t.prefix + id;
     133
     134            s = tinymce.extend({ title : s.title, 'class' : 'mce_' + id, 'menu_class' : ed.getParam('skin') + 'Skin', scope : s.scope, more_colors_title : ed.getLang('more_colors') }, s);
     135
     136            c = new tinymce.ui.OpenPNEColorButton(id, s);
     137            ed.onMouseDown.add(c.hideMenu, c);
     138
     139            ed.onRemove.add(function() {
     140                c.destroy();
     141            });
     142
     143            return t.add(c);
    78144        },
    79145
Note: See TracChangeset for help on using the changeset viewer.