Плагин TinyMCE под Joomla, чтобы ограничить и сократить ограничение числа символов - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь принять и создать собственный плагин "maxstop" для TinyMCE, чтобы ограничить / сократить число символов в зависимости от решения из https://stackoverflow.com/a/53599500/2637838

Среда - Joomla 3.9.1, TinyMCE 4.5.9 - мойОсновная идея кода -

tinymce.PluginManager.add('maxstop', function (editor) {

            max_chars: 10, // max. allowed chars

            setup: function (ed) {                              
                var allowedKeys = [8, 13, 16, 17, 18, 20, 33, 34, 35, 36, 37, 38, 39, 40, 46];
                ed.on('keydown', function (e) {
                    if (allowedKeys.indexOf(e.keyCode) != -1) return true;
                    if (tinymce_getContentLength() + 1 > this.settings.max_chars) {
                        e.preventDefault();
                        e.stopPropagation();
                        return false;
                    }
                    return true;
                });
                ed.on('keyup', function (e) {
                    tinymce_updateCharCounter(this, tinymce_getContentLength());
                });                             
            },

            init_instance_callback: function () { // initialize counter div
                $('#' + this.id).prev().append('<div class="char_count" style="text-align:right"></div>');
                tinymce_updateCharCounter(this, tinymce_getContentLength());
            },

            paste_preprocess: function (plugin, args) {                             
                var editor = tinymce.get(tinymce.activeEditor.id);
                var len = editor.contentDocument.body.innerText.length;                             
                if (len + args.content.length > editor.settings.max_chars) {
                    alert('Pasting this exceeds the maximum allowed number of ' + editor.settings.max_chars + ' characters for the input.');
                    args.content = '';
                }                                   
                tinymce_updateCharCounter(editor, len + args.content.length);                               
            }

        function tinymce_updateCharCounter(el, len) {
            $('#' + el.id).prev().find('.char_count').text(len + '/' + el.settings.max_chars);
        }

        function tinymce_getContentLength() {
            return tinymce.get(tinymce.activeEditor.id).contentDocument.body.innerText.length;
        }

        });

Но приведенный выше код в качестве плагина для TinyMCE под Joomla не работает.Просто никакой реакции.

Спасибо за подсказки и идеи кода, что еще можно попробовать,

...