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

Changeset 5745


Ignore:
Timestamp:
Mar 13, 2008, 11:03:29 PM (12 years ago)
Author:
ebihara
Message:

#333:OpenPNEプラグインをTinyMCE3.x系の形式に変更

Location:
OpenPNE/branches/work/ebihara/prj_deco_diary/public_html/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/ebihara/prj_deco_diary/public_html/js/pne.js

    r5740 r5745  
    1212    tinyMCE.execCommand("mceToggleEditor", false, id);
    1313
    14     if (tinyMCE.getInstanceById(id).enabled) {
     14    if (tinyMCE.get(id).isHidden()) {
     15        document.getElementById('mce_editor_buttonmenu').style.display = "block";
     16    } else {
    1517        document.getElementById('mce_editor_buttonmenu').style.display = "none";
    16     } else {
    17         document.getElementById('mce_editor_buttonmenu').style.display = "block";
    1818    }
    1919}
     
    2727        plugins : "openpne",
    2828        theme_advanced_toolbar_location : "top",
    29         theme_advanced_buttons1 : "openpne_b,openpne_u,openpne_s,openpne_i,openpne_large,openpne_small,openpne_color,openpne_album,openpne_e    moji_docomo,openpne_emoji_au,openpne_emoji_softbank",
     29        theme_advanced_buttons1 : "openpne_b,openpne_u,openpne_s,openpne_i,openpne_large,openpne_small,openpne_color,openpne_album,openpne_emoji_docomo,openpne_emoji_au,openpne_emoji_softbank",
    3030        theme_advanced_buttons2 : "",
    3131        theme_advanced_buttons3 : ""
  • OpenPNE/branches/work/ebihara/prj_deco_diary/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js

    r5744 r5745  
    55 */
    66
    7 var TinyMCE_OpenPNEPlugin = {
     7(function() {
     8        tinymce.create('tinymce.plugins.OpenPNEPlugin', {
     9                init : function(ed, url) {
    810
    9         getInfo : function() {
    10                 return {
    11                         longname : 'OpenPNE plugin',
    12                         author : 'Kousuke Ebihara',
    13                         version : "1.0"
    14                 };
    15         },
     11            // command
     12                        ed.addCommand('mceOpenPNE_b', function() {
     13                tinyMCE.execCommand("Bold");
     14                        });
     15                        ed.addCommand('mceOpenPNE_u', function() {
     16                tinyMCE.execCommand("Underline");
     17                        });
     18                        ed.addCommand('mceOpenPNE_s', function() {
     19                tinyMCE.execCommand("Strikethrough");
     20                        });
     21                        ed.addCommand('mceOpenPNE_i', function() {
     22                tinyMCE.execCommand("Italic");
     23                        });
     24                        ed.addCommand('mceOpenPNE_large', function() {
     25                tinyMCE.execCommand("Fontsize", false, 7);
     26                        });
     27                        ed.addCommand('mceOpenPNE_small', function() {
     28                tinyMCE.execCommand("Fontsize", false, 2);
     29                        });
    1630
    17         getControlHTML : function(cn) {
    18                 switch (cn) {
    19                         case "openpne_b":
    20                                 return tinyMCE.getButtonHTML(cn, 'b', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_b');
    21                         case "openpne_u":
    22                                 return tinyMCE.getButtonHTML(cn, 'u', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_u');
    23                         case "openpne_s":
    24                                 return tinyMCE.getButtonHTML(cn, 's', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_s');
    25                         case "openpne_i":
    26                                 return tinyMCE.getButtonHTML(cn, 'i', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_i');
    27                         case "openpne_large":
    28                                 return tinyMCE.getButtonHTML(cn, 'large', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_large');
    29                         case "openpne_small":
    30                                 return tinyMCE.getButtonHTML(cn, 'small', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_small');
    31                         case "openpne_color":
    32                                 return tinyMCE.getButtonHTML(cn, 'color', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_color');
    33                         case "openpne_album":
    34                                 return tinyMCE.getButtonHTML(cn, 'album', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_album');
    35                         case "openpne_emoji_docomo":
    36                                 return tinyMCE.getButtonHTML(cn, 'emoji_docomo', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_emoji_docomo');
    37                         case "openpne_emoji_au":
    38                                 return tinyMCE.getButtonHTML(cn, 'emoji_au', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_emoji_au');
    39                         case "openpne_emoji_softbank":
    40                                 return tinyMCE.getButtonHTML(cn, 'emoji_softbank', 'http://www.openpne.jp/favicon.ico', 'mceOpenPNE_emoji_softbank');
    41                 }
     31            // button
     32                        ed.addButton('openpne_b', {
     33                                title : 'Bold',
     34                                cmd : 'mceOpenPNE_b',
     35                        });
     36                        ed.addButton('openpne_u', {
     37                                title : 'Underline',
     38                                cmd : 'mceOpenPNE_u',
     39                        });
     40                        ed.addButton('openpne_s', {
     41                                title : 'Strikethrough',
     42                                cmd : 'mceOpenPNE_s',
     43                        });
     44                        ed.addButton('openpne_i', {
     45                                title : 'Italic',
     46                                cmd : 'mceOpenPNE_i',
     47                        });
     48                        ed.addButton('openpne_large', {
     49                                title : 'Large Font',
     50                                cmd : 'mceOpenPNE_large',
     51                        });
     52                        ed.addButton('openpne_small', {
     53                                title : 'Small Font',
     54                                cmd : 'mceOpenPNE_small',
     55                        });
    4256
    43                 return "";
    44         },
     57            // event
     58                        ed.onBeforeSetContent.add(function(ed, o) {
     59                        });
     60                        ed.onPostProcess.add(function(ed, o) {
     61                        });
     62                },
    4563
    46         execCommand : function(editor_id, element, command, user_interface, value) {
    47         var ins = "";
    48         var editor = tinyMCE.getInstanceById(editor_id);
    49                 switch (command) {
    50         case "openpneReplaceContent":
    51             if (!value)
    52                 value = '';
     64                createControl : function(n, cm) {
     65                        return null;
     66                },
    5367
    54             editor.getWin().focus();
     68                getInfo : function() {
     69                        return {
     70                                longname : 'OpenPNE plugin',
     71                                author : 'Kousuke Ebihara',
     72                                version : "1.0"
     73                        };
     74        }
     75        });
    5576
    56             var selectedText = "";
    57 
    58             if (tinyMCE.isIE) {
    59                 var rng = editor.getDoc().selection.createRange();
    60                 selectedText = rng.htmlText;
    61             } else
    62                 selectedText = editor.getSel().toString();
    63 //console.debug(selectedText);
    64             if (selectedText.length > 0) {
    65                 value = tinyMCE.replaceVar(value, "selection", selectedText);
    66                 tinyMCE.execCommand('mceInsertContent', false, value);
    67             }
    68 
    69             editor._addBogusBR();
    70             tinyMCE.triggerNodeChange();
    71             return true;
    72         case "mceOpenPNE_b":
    73             tinyMCE.execCommand("Bold");
    74             return true;
    75         case "mceOpenPNE_u":
    76             tinyMCE.execCommand("Underline");
    77             return true;
    78         case "mceOpenPNE_s":
    79             tinyMCE.execCommand("Strikethrough");
    80             return true;
    81         case "mceOpenPNE_i":
    82             tinyMCE.execCommand("Italic");
    83             return true;
    84         case "mceOpenPNE_large":
    85             tinyMCE.execCommand("Fontsize", false, 7);
    86             return true;
    87         case "mceOpenPNE_small":
    88             tinyMCE.execCommand("Fontsize", false, 2);
    89             return true;
    90         case "mceOpenPNE_color":
    91             break;
    92         case "mceOpenPNE_album":
    93             break;
    94         case "mceOpenPNE_emoji_docomo":
    95             break;
    96         case "mceOpenPNE_emoji_au":
    97             break;
    98         case "mceOpenPNE_emoji_softbank":
    99             break;
    100                 }
    101 
    102         if (ins) {
    103             tinyMCE.execInstanceCommand(editor_id, "openpneReplaceContent", false, ins);
    104             return true;
    105         }
    106 
    107                 return false;
    108         },
    109 
    110         cleanup : function(type, content, inst) {
    111                 switch (type) {
    112                         case "get_from_editor":
    113                 content = content.replace(/(<\/?)strong>/g, "$1op:b>");
    114                                 break;
    115 
    116                         case "insert_to_editor":
    117                 content = content.replace(/(<\/?)op:b>/g, "$1strong>");
    118                                 break;
    119                 }
    120 
    121                 return content;
    122         }
    123 };
    124 
    125 tinyMCE.addPlugin("openpne", TinyMCE_OpenPNEPlugin);
    126 
     77        // Register plugin
     78        tinymce.PluginManager.add('openpne', tinymce.plugins.OpenPNEPlugin);
     79})();
Note: See TracChangeset for help on using the changeset viewer.