optimize form render with many fields
This commit is contained in:
@@ -205,7 +205,7 @@
|
||||
<div
|
||||
v-if="withFieldsList"
|
||||
class="relative w-80 flex-none mt-1 pr-4 pl-0.5 hidden md:block"
|
||||
:class="drawField ? 'overflow-hidden' : 'overflow-auto'"
|
||||
:class="drawField ? 'overflow-hidden' : 'overflow-y-auto overflow-x-hidden'"
|
||||
>
|
||||
<div
|
||||
v-if="drawField"
|
||||
@@ -888,9 +888,11 @@ export default {
|
||||
})
|
||||
},
|
||||
save () {
|
||||
if (this.$el.closest('template-builder')) {
|
||||
this.$el.closest('template-builder').dataset.template = JSON.stringify(this.template)
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
if (this.$el.closest('template-builder')) {
|
||||
this.$el.closest('template-builder').dataset.template = JSON.stringify(this.template)
|
||||
}
|
||||
})
|
||||
|
||||
this.pushUndo()
|
||||
|
||||
|
||||
@@ -72,6 +72,8 @@
|
||||
<span
|
||||
v-else
|
||||
class="dropdown dropdown-end"
|
||||
@mouseenter="renderDropdown = true"
|
||||
@touchstart="renderDropdown = true"
|
||||
>
|
||||
<label
|
||||
tabindex="0"
|
||||
@@ -84,6 +86,7 @@
|
||||
/>
|
||||
</label>
|
||||
<ul
|
||||
v-if="renderDropdown"
|
||||
tabindex="0"
|
||||
class="mt-1.5 dropdown-content menu menu-xs p-2 shadow bg-base-100 rounded-box w-52 z-10"
|
||||
draggable="true"
|
||||
@@ -331,7 +334,8 @@ export default {
|
||||
data () {
|
||||
return {
|
||||
isNameFocus: false,
|
||||
showPaymentModal: false
|
||||
showPaymentModal: false,
|
||||
renderDropdown: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<template>
|
||||
<div v-if="mobileView">
|
||||
<div
|
||||
v-if="mobileView"
|
||||
@mouseenter="renderDropdown = true"
|
||||
@touchstart="renderDropdown = true"
|
||||
>
|
||||
<div class="flex space-x-2 items-end">
|
||||
<div class="group/contenteditable-container bg-base-100 rounded-md p-2 border border-base-300 w-full flex justify-between items-end">
|
||||
<div class="flex items-center space-x-2">
|
||||
@@ -29,7 +33,7 @@
|
||||
/>
|
||||
</label>
|
||||
<ul
|
||||
v-if="editable"
|
||||
v-if="editable && renderDropdown"
|
||||
tabindex="0"
|
||||
class="rounded-md min-w-max mb-2"
|
||||
:class="menuClasses"
|
||||
@@ -85,6 +89,8 @@
|
||||
<div
|
||||
v-else
|
||||
class="dropdown"
|
||||
@mouseenter="renderDropdown = true"
|
||||
@touchstart="renderDropdown = true"
|
||||
>
|
||||
<label
|
||||
v-if="compact"
|
||||
@@ -125,7 +131,7 @@
|
||||
</span>
|
||||
</label>
|
||||
<ul
|
||||
v-if="editable || !compact"
|
||||
v-if="(editable || !compact) && renderDropdown"
|
||||
tabindex="0"
|
||||
:class="menuClasses"
|
||||
@click="closeDropdown"
|
||||
@@ -222,6 +228,11 @@ export default {
|
||||
}
|
||||
},
|
||||
emits: ['update:model-value', 'remove', 'new-submitter', 'name-change'],
|
||||
data () {
|
||||
return {
|
||||
renderDropdown: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
colors () {
|
||||
return [
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<template>
|
||||
<span class="dropdown">
|
||||
<span
|
||||
class="dropdown"
|
||||
@mouseenter="renderDropdown = true"
|
||||
@touchstart="renderDropdown = true"
|
||||
>
|
||||
<slot>
|
||||
<label
|
||||
tabindex="0"
|
||||
@@ -15,7 +19,7 @@
|
||||
</label>
|
||||
</slot>
|
||||
<ul
|
||||
v-if="editable"
|
||||
v-if="editable && renderDropdown"
|
||||
tabindex="0"
|
||||
class="dropdown-content menu menu-xs p-2 shadow rounded-box w-52 z-10 mb-3"
|
||||
:class="menuClasses"
|
||||
@@ -78,6 +82,11 @@ export default {
|
||||
}
|
||||
},
|
||||
emits: ['update:model-value'],
|
||||
data () {
|
||||
return {
|
||||
renderDropdown: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
fieldNames () {
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user