import { $gettext } from './gettext.js'; import ToolbarButtonset from './toolbar_buttonset.js'; import Dialog from './dialog.js'; function getElementWidth(element) { var proxy = null; // Special case: Handle i18n hidden textareas // - Hidden textareas have no dimensions thus we need to proxy the // width from the first visible element in the i18n group if ($(element).is(':hidden') && $(element).closest('.i18n_group').length > 0) { proxy = $(element) .closest('.i18n_group') .find('div.i18n:visible') .children() .first(); if (proxy.length > 0) { element = proxy; } } return $(element).css('width') || $(element).outerWidth(true); } const Toolbar = { buttonSet: ToolbarButtonset, // Initializes (adds) a toolbar the passed textarea element initialize: function(element, button_set) { var $element = $(element), wrap, toolbar; // don't initialize toolbar for wysiwyg textareas if (STUDIP.editor_enabled && $element.hasClass('wysiwyg')) { return; } // Bail out if the element is not a tetarea or a toolbar has already // been applied if (!$element.is('textarea') || $element.data('toolbar-added')) { return; } button_set = button_set || Toolbar.buttonSet; // Add flag so one element will never have more than one toolbar $element.data('toolbar-added', true); // Create toolbar element toolbar = $('