From c1259148d2ec595d930caf0c2bac71469b7483bb Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 30 May 2025 15:01:28 -0400 Subject: [PATCH] Update InputfieldTinyMCE to add an 'InputfieldTinyMCEFocused' class to .Inputfield element when the TinyMCE input is focused --- .../InputfieldTinyMCE/InputfieldTinyMCE.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/wire/modules/Inputfield/InputfieldTinyMCE/InputfieldTinyMCE.js b/wire/modules/Inputfield/InputfieldTinyMCE/InputfieldTinyMCE.js index 58952c51..9d7462da 100644 --- a/wire/modules/Inputfield/InputfieldTinyMCE/InputfieldTinyMCE.js +++ b/wire/modules/Inputfield/InputfieldTinyMCE/InputfieldTinyMCE.js @@ -120,6 +120,7 @@ var InputfieldTinyMCE = { inline: 'InputfieldTinyMCEInline', normal: 'InputfieldTinyMCENormal', loaded: 'InputfieldTinyMCELoaded', + focused: 'InputfieldTinyMCEFocused', editor: 'InputfieldTinyMCEEditor', placeholder: 'InputfieldTinyMCEPlaceholder' }, @@ -839,6 +840,7 @@ var InputfieldTinyMCE = { * */ documentReady: function() { + var t = this; this.debug = ProcessWire.config.InputfieldTinyMCE.debug; this.isDocumentReady = true; this.log('documentReady', this.editorIds); @@ -849,6 +851,16 @@ var InputfieldTinyMCE = { this.initDocumentEvents(); var $placeholders = jQuery('.' + this.cls.placeholder + ':visible'); if($placeholders.length) this.initPlaceholders($placeholders); + + this.onSetup(function(editor) { + editor.on('focus', function(e) { + $(editor.container).closest('.' + t.cls.main).addClass(t.cls.focused); + }); + editor.on('blur', function(e) { + $(editor.container).closest('.' + t.cls.main).removeClass(t.cls.focused); + }); + }); + if(this.debug) { this.log('qty', 'normal=' + jQuery('.' + this.cls.normal).length + ', ' +