/** * Change default icons to marerial icons */ function changeToMaterial() { var materialIconAssoc = { 'mce-i-code': 'code', 'mce-i-none': 'format_color_text', 'mce-i-bold': 'format_bold', 'mce-i-italic': 'format_italic', 'mce-i-underline': 'format_underlined', 'mce-i-strikethrough': 'format_strikethrough', 'mce-i-blockquote': 'format_quote', 'mce-i-link': 'link', 'mce-i-alignleft': 'format_align_left', 'mce-i-aligncenter': 'format_align_center', 'mce-i-alignright': 'format_align_right', 'mce-i-alignjustify': 'format_align_justify', 'mce-i-bullist': 'format_list_bulleted', 'mce-i-numlist': 'format_list_numbered', 'mce-i-image': 'image', 'mce-i-table': 'grid_on', 'mce-i-media': 'video_library', 'mce-i-browse': 'attachment', 'mce-i-checkbox': '' }; $.each(materialIconAssoc, function(index, value) { $('.' + index).replaceWith(value); }); } function tinySetup(config) { if (typeof tinyMCE === 'undefined') { setTimeout(function() { tinySetup(config); }, 100); return; } if (!config) { config = {}; } if (typeof config.editor_selector != 'undefined') { config.selector = '.' + config.editor_selector; } var default_config = { selector: '.rte', plugins: 'align colorpicker link image filemanager table media placeholder lists advlist code table autoresize', browser_spellcheck: true, toolbar1: 'code,colorpicker,bold,italic,underline,strikethrough,blockquote,link,align,bullist,numlist,table,image,media,formatselect', toolbar2: '', external_filemanager_path: baseAdminDir + 'filemanager/', filemanager_title: 'File manager', external_plugins: { filemanager: baseAdminDir + 'filemanager/plugin.min.js' }, language: iso_user, content_style: lang_is_rtl === '1' ? 'body {direction:rtl;}' : '', skin: 'prestashop', mobile: { theme: 'mobile', plugins: ['lists', 'align', 'link', 'table', 'placeholder', 'advlist', 'code'], toolbar: 'undo code colorpicker bold italic underline strikethrough blockquote link align bullist numlist table formatselect styleselect', }, menubar: false, statusbar: false, relative_urls: false, convert_urls: false, entity_encoding: 'raw', extended_valid_elements: 'em[class|name|id],@[role|data-*|aria-*]', valid_children: '+*[*]', valid_elements: '*[*]', init_instance_callback: 'changeToMaterial', rel_list: [{title: 'nofollow', value: 'nofollow'}] }; if (typeof window.defaultTinyMceConfig !== 'undefined') { Object.assign(default_config, window.defaultTinyMceConfig); } $.each(default_config, function(index, el) { if (config[index] === undefined) config[index] = el; }); var plugins_arr = config['plugins'].split(/[ ,]/); var old_plugins_array = ['iespell', 'inlinepopups', 'style', 'xhtmlxtras', 'safari']; $.each(plugins_arr, function(index, data) { if (data == 'advhr') plugins_arr[index] = 'hr'; else if (data == 'advlink') plugins_arr[index] = 'link'; else if (data == 'advimage') { plugins_arr[index] = 'image'; plugins_arr.push('filemanager'); } else if (data == 'emotions') plugins_arr[index] = 'emoticons'; else if (old_plugins_array.indexOf(data) >= 0) { plugins_arr.splice(index, 1); } }); var plugins = plugins_arr.join(','); config.plugins = plugins; // Change icons in popups $('body').on('click', '.mce-btn, .mce-open, .mce-menu-item', function() { changeToMaterial(); }); tinyMCE.init(config); }