Skip to content

Commit e3c379a

Browse files
committed
feat(app): improve renderer focus effects
1 parent 51a5017 commit e3c379a

File tree

3 files changed

+22
-21
lines changed

3 files changed

+22
-21
lines changed

packages/app/modules/editor/components/NodeEditorBlock.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ onKeyStroke(
5555
'Enter',
5656
(e) => {
5757
e.preventDefault()
58-
// focusBlock(-1)
5958
},
6059
{ target: content }
6160
)

packages/app/modules/editor/components/NodeEditorBlockComponent.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<script setup lang="ts">
22
import MBlock from './NodeEditorBlock.vue'
3-
import { useContext } from '../composable/context'
43
import { createComponentObject } from '@plugins/gc'
54
import { NodeWithId } from '../types/node'
65
import { useNodeEditor } from '../composable/node-editor'

packages/app/modules/editor/components/NodeEditorRenderer.vue

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -125,29 +125,32 @@ watch(() => props.modelValue, loadComponent, {
125125
</script>
126126

127127
<template>
128-
<transition
129-
enter-active-class="transition duration-200"
130-
leave-active-class="transition duration-200"
131-
enter-from-class="absolute opacity-0 translate-x-2"
132-
leave-to-class="absolute opacity-0 translate-x-2"
133-
>
128+
<div class="relative">
134129
<div v-if="loading" class="text-t-secondary text-sm">Loading...</div>
135130

136131
<div v-else-if="error" class="text-danger text-sm">
137132
{{ error.message }}
138133
</div>
139134

140-
<component :is="componentData" v-else-if="textHaveVariable && !editMode" @click="onFocus" />
141-
142-
<div
143-
v-else
144-
ref="el"
145-
contenteditable
146-
class="outline-none"
147-
:autofocus="textHaveVariable"
148-
@input="onInput"
149-
@blur="onBlur"
150-
v-html="innerModel"
151-
></div>
152-
</transition>
135+
<template v-else>
136+
<component
137+
:is="componentData"
138+
v-if="textHaveVariable"
139+
class="absolute left-0 top-0"
140+
:class="[textHaveVariable && editMode ? 'opacity-0' : '']"
141+
/>
142+
143+
<div
144+
ref="el"
145+
contenteditable
146+
class="outline-none"
147+
:class="[textHaveVariable && !editMode ? 'opacity-0' : '']"
148+
@input="onInput"
149+
@blur="onBlur"
150+
@focus="editMode = true"
151+
@click="editMode = true"
152+
v-html="innerModel"
153+
/>
154+
</template>
155+
</div>
153156
</template>

0 commit comments

Comments
 (0)