select submitter name on edit

pull/133/head
Alex Turchyn 2 years ago
parent 7ba3a604bd
commit c1ab4fafb2

@ -30,7 +30,7 @@
:class="{ 'ml-1': !withRequired, 'absolute': !iconInline, 'inline align-bottom': iconInline }" :class="{ 'ml-1': !withRequired, 'absolute': !iconInline, 'inline align-bottom': iconInline }"
:width="iconWidth" :width="iconWidth"
:stroke-width="iconStrokeWidth" :stroke-width="iconStrokeWidth"
@click="focusContenteditable" @click="[focusContenteditable(), selectOnEditClick && selectContent()]"
/> />
</div> </div>
</template> </template>
@ -64,6 +64,11 @@ export default {
required: false, required: false,
default: false default: false
}, },
selectOnEditClick: {
type: Boolean,
required: false,
default: false
},
iconStrokeWidth: { iconStrokeWidth: {
type: Number, type: Number,
required: false, required: false,
@ -85,6 +90,19 @@ export default {
} }
}, },
methods: { methods: {
selectContent () {
const el = this.$refs.contenteditable
const range = document.createRange()
range.selectNodeContents(el)
const sel = window.getSelection()
sel.removeAllRanges()
sel.addRange(range)
},
onBlur (e) { onBlur (e) {
setTimeout(() => { setTimeout(() => {
this.value = this.$refs.contenteditable.innerText.trim() || this.modelValue this.value = this.$refs.contenteditable.innerText.trim() || this.modelValue

@ -25,6 +25,7 @@
v-model="selectedSubmitter.name" v-model="selectedSubmitter.name"
class="cursor-text" class="cursor-text"
:icon-inline="true" :icon-inline="true"
:select-on-edit-click="true"
:icon-width="18" :icon-width="18"
@update:model-value="$emit('name-change', selectedSubmitter)" @update:model-value="$emit('name-change', selectedSubmitter)"
/> />

Loading…
Cancel
Save