Skip to content

Commit 98a2e1a

Browse files
committed
Core: TextEditor - auto close keyboard toolbar on destory/pageout
Fixes #3503
1 parent 2b2c64c commit 98a2e1a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/core/components/text-editor/text-editor-class.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ class TextEditor extends Framework7Class {
8787
self.onInput = self.onInput.bind(self);
8888
self.onPaste = self.onPaste.bind(self);
8989
self.onSelectionChange = self.onSelectionChange.bind(self);
90+
self.closeKeyboardToolbar = self.closeKeyboardToolbar.bind(self);
9091

9192
// Handle Events
9293
self.attachEvents = function attachEvents() {
@@ -95,6 +96,7 @@ class TextEditor extends Framework7Class {
9596
}
9697
if (self.params.mode === 'keyboard-toolbar') {
9798
self.$keyboardToolbarEl.on('click', 'button', self.onButtonClick);
99+
self.$el.parents('.page').on('page:beforeout', self.closeKeyboardToolbar);
98100
}
99101
if (self.params.mode === 'popover' && self.popover) {
100102
self.popover.$el.on('click', 'button', self.onButtonClick);
@@ -111,6 +113,7 @@ class TextEditor extends Framework7Class {
111113
}
112114
if (self.params.mode === 'keyboard-toolbar') {
113115
self.$keyboardToolbarEl.off('click', 'button', self.onButtonClick);
116+
self.$el.parents('.page').off('page:beforeout', self.closeKeyboardToolbar);
114117
}
115118
if (self.params.mode === 'popover' && self.popover) {
116119
self.popover.$el.off('click', 'button', self.onButtonClick);
@@ -491,6 +494,9 @@ class TextEditor extends Framework7Class {
491494
self.$el.trigger('texteditor:beforedestroy');
492495
self.emit('local::beforeDestroy textEditorBeforeDestroy', self);
493496
self.detachEvents();
497+
if (self.params.mode === 'keyboard-toolbar' && self.$keyboardToolbarEl) {
498+
self.$keyboardToolbarEl.remove();
499+
}
494500
if (self.popover) {
495501
self.popover.close(false);
496502
self.popover.destroy();

0 commit comments

Comments
 (0)