From 04e0b8b57fe393cfea5e9c47b5799a1c74988d9d Mon Sep 17 00:00:00 2001 From: Stuart Romanek Date: Wed, 16 Jul 2025 09:52:06 -0400 Subject: [PATCH 1/7] suppress widget controls for rt in some scenarios --- .../ui/apos/components/AposAreaWidget.vue | 15 ++++++++--- .../components/AposRichTextWidgetEditor.vue | 25 ++++++++++++++++++- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue index d9e1e3fcaa..4460604102 100644 --- a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue +++ b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue @@ -135,6 +135,7 @@ :doc-id="docId" :focused="isFocused" @update="$emit('update', $event)" + @suppressWidgetControls="suppressWidgetControls" /> { this.showPlaceholder = true; }); + }, + onSelectionUpdate: ({ editor }) => { + this.$nextTick(() => { + if (!editor.view.state.selection.empty) { + this.suppressWidgetControls = true; + } + }); } }); apos.bus.$on('apos-refreshing', this.onAposRefreshing); @@ -501,6 +523,7 @@ export default { } else { this.suppressInsertMenu = false; } + this.suppressWidgetControls = true; }, doSuppressInsertMenu() { this.suppressInsertMenu = true; From c285de2e814e0158ad71046297c8b2dedd800fdc Mon Sep 17 00:00:00 2001 From: Stuart Romanek Date: Wed, 16 Jul 2025 13:55:55 -0400 Subject: [PATCH 2/7] cleanup --- .../ui/apos/components/AposRichTextWidgetEditor.vue | 7 ------- 1 file changed, 7 deletions(-) diff --git a/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposRichTextWidgetEditor.vue b/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposRichTextWidgetEditor.vue index aef7e73b40..70e4aac8b0 100644 --- a/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposRichTextWidgetEditor.vue +++ b/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposRichTextWidgetEditor.vue @@ -216,11 +216,6 @@ export default { }; }, computed: { - selectionIsEmpty() { - if (this.editor) { - return this.editor.view.state.selection.empty; - } - }, tableOptions() { const options = this.moduleOptions.tableOptions || {}; @@ -385,9 +380,7 @@ export default { }, watch: { suppressWidgetControls(newVal) { - console.log('suppressWidgetControls changed'); if (newVal) { - console.log('emit suppress'); this.$emit('suppressWidgetControls') } }, From 7d91329ebbea192266d87f7eb065c21ef53188b8 Mon Sep 17 00:00:00 2001 From: Stuart Romanek Date: Wed, 16 Jul 2025 13:56:57 -0400 Subject: [PATCH 3/7] more cleanup --- .../@apostrophecms/area/ui/apos/components/AposAreaWidget.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue index 4460604102..e3d3ceed18 100644 --- a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue +++ b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue @@ -440,7 +440,6 @@ export default { }, methods: { suppressWidgetControls() { - console.log('hide those controls!!!'); this.isSuppressingWidgetControls = true; }, getFocusForMenu({ menuId, isOpen }) { From edd59d2b2d1fc9e56e4653194c2289e197e79b49 Mon Sep 17 00:00:00 2001 From: Stuart Romanek Date: Wed, 16 Jul 2025 16:14:34 -0400 Subject: [PATCH 4/7] lint --- .../@apostrophecms/area/ui/apos/components/AposAreaWidget.vue | 2 +- .../ui/apos/components/AposRichTextWidgetEditor.vue | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue index e3d3ceed18..a367312fce 100644 --- a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue +++ b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue @@ -135,7 +135,7 @@ :doc-id="docId" :focused="isFocused" @update="$emit('update', $event)" - @suppressWidgetControls="suppressWidgetControls" + @suppress-widget-controls="suppressWidgetControls" /> Date: Thu, 17 Jul 2025 09:27:43 -0400 Subject: [PATCH 5/7] remove unneeded method --- .../area/ui/apos/components/AposAreaWidget.vue | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue index a367312fce..26933bca49 100644 --- a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue +++ b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue @@ -135,7 +135,7 @@ :doc-id="docId" :focused="isFocused" @update="$emit('update', $event)" - @suppress-widget-controls="suppressWidgetControls" + @suppress-widget-controls="isSuppressingWidgetControls = true" /> Date: Wed, 23 Jul 2025 09:30:26 -0400 Subject: [PATCH 6/7] clear suppresswidgetcontrol flag on breadcrumb click, changelog --- CHANGELOG.md | 3 ++- .../@apostrophecms/area/ui/apos/components/AposAreaWidget.vue | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e940e74b9b..a68cc595b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,8 @@ ### Changes -- Changes handling of `order` and `groups` in the `admin-bar` module to respect, rather that reverse, the order of items +* Changes handling of `order` and `groups` in the `admin-bar` module to respect, rather that reverse, the order of items +* Interacting with the text inside a rich text widget will hide the widget controls to prevent awkawrd text selection. ### Fixes diff --git a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue index 26933bca49..c4b5977755 100644 --- a/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue +++ b/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue @@ -25,7 +25,7 @@ class="apos-area-widget-controls apos-area-widget__label" :class="labelsClasses" > -
    +
    1. -
        +