/* =========================================================== * trumbowyg.ruby.js v1.0 * Ruby text plugin for Trumbowyg * http://alex-d.github.com/Trumbowyg * =========================================================== * Author : Fathi Anshory (0x00000F5C) * Twitter : @fscchannl * Comment : Since I use trumbowyg in my project and required it to insert ruby text, so I thought I can contribute a little. :D */ (function ($) { 'use strict'; $.extend(true, $.trumbowyg, { langs: { // jshint camelcase:false en: { ruby: 'Add ruby text', rubyModal: 'Ruby modal', rubyText: 'Ruby text' }, da: { ruby: 'Tilføj ruby tekst', rubyModal: 'Ruby modal', rubyText: 'Ruby tekst' }, fr: { ruby: 'Ajouter du texte ruby', rubyModal: 'Modale ruby', rubyText: 'Texte ruby' }, id: { ruby: 'Sisipkan teks ruby', rubyModal: 'Modal teks ruby', rubyText: 'Teks ruby' }, ko: { ruby: '루비 문자 넣기', rubyModal: '대상 문자', rubyText: '루비 문자' }, pt_br: { ruby: 'Adicionar texto ruby', rubyModal: 'Modal ruby', rubyText: 'Texto ruby' }, tr: { ruby: 'Ruby metni ekle', rubyModal: 'Ruby modal', rubyText: 'Ruby metni' }, zh_tw: { ruby: '加入 ruby 文字', rubyModal: 'Ruby 彈跳視窗', rubyText: 'Ruby 文字' }, // jshint camelcase:true }, plugins: { ruby: { init: function (trumbowyg) { var btnDef = { fn: function () { trumbowyg.saveRange(); trumbowyg.openModalInsert( trumbowyg.lang.ruby, { rubyText: { label: trumbowyg.lang.rubyText, required: false, }, modal: { label: trumbowyg.lang.rubyModal, value: trumbowyg.getRangeText(), required: true } }, function (v) { var node = $('' + v.modal + ' (' + v.rubyText + ')')[0]; trumbowyg.range.deleteContents(); trumbowyg.range.insertNode(node); trumbowyg.syncCode(); trumbowyg.$c.trigger('tbwchange'); return true; } ); } }; trumbowyg.addBtnDef('ruby', btnDef); } } } }); })(jQuery);