1
0
forked from test/crm

fix: removed SearchComplete component and replaced it with Link component

This commit is contained in:
Shariq Ansari 2023-12-31 17:48:16 +05:30
parent 5b05a4e519
commit fc4c144abe
2 changed files with 2 additions and 87 deletions

View File

@ -44,7 +44,7 @@
/>
</div>
<div id="value" class="!min-w-[140px]">
<SearchComplete
<Link
v-if="typeLink.includes(f.field.fieldtype)"
class="form-control"
:value="f.value"
@ -105,7 +105,7 @@
<script setup>
import NestedPopover from '@/components/NestedPopover.vue'
import FilterIcon from '@/components/Icons/FilterIcon.vue'
import SearchComplete from '@/components/SearchComplete.vue'
import Link from '@/components/Controls/Link.vue'
import {
FeatherIcon,
Autocomplete,

View File

@ -1,85 +0,0 @@
<template>
<Autocomplete
placeholder="Select an option"
:options="options"
:value="selection"
@update:query="(q) => onUpdateQuery(q)"
@change="(v) => (selection = v)"
/>
</template>
<script setup>
import { Autocomplete, createListResource } from 'frappe-ui'
import { computed, ref, watch } from 'vue'
const props = defineProps({
value: {
type: String,
required: false,
default: '',
},
doctype: {
type: String,
required: true,
},
searchField: {
type: String,
required: false,
default: 'name',
},
labelField: {
type: String,
required: false,
default: 'name',
},
valueField: {
type: String,
required: false,
default: 'name',
},
pageLength: {
type: Number,
required: false,
default: 10,
},
})
watch(
() => props.doctype,
(value) => {
r.doctype = value
r.reload()
}
)
const r = createListResource({
doctype: props.doctype,
pageLength: props.pageLength,
cache: ['link_doctype', props.doctype],
auto: true,
fields: [props.labelField, props.searchField, props.valueField],
onSuccess: () => {
selection.value = props.value
? options.value.find((o) => o.value === props.value)
: null
},
})
const options = computed(
() =>
r.data?.map((result) => ({
label: result[props.labelField],
value: result[props.valueField],
})) || []
)
const selection = ref(null)
function onUpdateQuery(query) {
r.update({
filters: {
[props.searchField]: ['like', `%${query}%`],
},
})
r.reload()
}
</script>