var is_popup = null; /** * @brief Get emoticon list by name * @params String emoticon name */ function getEmoticons(emoName) { var params = {component:'emoticon', emoticon:emoName, method:'getEmoticonList'}; var resp_tags = 'error message emoticons'.split(' '); exec_xml('editor', 'procEditorCall', params, completeGetEmoticons, resp_tags); } /** * @brief Load callback */ function completeGetEmoticons(ret_obj) { var emoticons = ret_obj.emoticons.item; var html = []; for(var i=0;i') .width( parseInt(emoticons[i].width, 10)) .height(parseInt(emoticons[i].height, 10)) .attr({ 'src': emoticons[i].url, 'data-src': emoticons[i].url, 'alt': emoticons[i].alt }); if( emoticons[i].svg ) { $img.attr({ 'data-svg': emoticons[i].svg }); if( typeof SVGRect !== "undefined" ) { $img.attr({ 'src': emoticons[i].svg }); } } $div = $('
'); html[html.length] = $div.append($img).html(); $img = null; $div = null; } $('#emoticons').html(html.join('')); setFixedPopupSize(); } /** * @brief Insert a selected emoticon into the document * @params Event jQuery event */ function insertEmoticon(obj) { var $img, $div, html, iframe, win = is_popup?opener:window; if(!win) return; $img = $('').addClass("emoticon").width($(obj).width()).height($(obj).height()).attr({'src': $(obj).attr('data-src'), 'alt': $(obj).attr('alt')}); //https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web#Troubleshooting_and_cross-browser_support if($(obj).attr('data-svg')) { $img.attr('srcset', $(obj).attr('data-svg')); } $div = $('
'); html = $div.append($img).html(); win.editorFocus(win.editorPrevSrl); win.editorRelKeys[win.editorPrevSrl].pasteHTML(html); if (is_popup) window.focus(); rhymix_alert(lang_success_added); return false; } $(function(){ is_popup = window._isPoped; // load default emoticon set getEmoticons('Twemoji'); $('ul.rx_tab>li a').click(function(){ $list = $( this ).parent('li'); $list.siblings('.rx_active').removeClass('rx_active'); $list.addClass('rx_active'); }); });