feat(Grid): support for field overrides and Autocomplete

This commit is contained in:
Hussain Nagaria 2025-10-08 12:06:09 +05:30
parent 4148640472
commit d69b86bcaf

View File

@ -271,6 +271,15 @@
:disabled="Boolean(field.read_only)" :disabled="Boolean(field.read_only)"
@change="fieldChange(flt($event.target.value), field, row)" @change="fieldChange(flt($event.target.value), field, row)"
/> />
<Autocomplete
v-else-if="field.fieldtype === 'Autocomplete'"
class="text-sm text-ink-gray-8"
v-model="row[field.fieldname]"
@change="(s) => fieldChange(s.value, field, row)"
:options="field.options"
:placeholder="field.placeholder"
:disabled="Boolean(field.read_only)"
/>
<FormControl <FormControl
v-else v-else
class="text-sm text-ink-gray-8" class="text-sm text-ink-gray-8"
@ -360,6 +369,7 @@ import {
DatePicker, DatePicker,
Tooltip, Tooltip,
dayjs, dayjs,
Autocomplete
} from 'frappe-ui' } from 'frappe-ui'
import Draggable from 'vuedraggable' import Draggable from 'vuedraggable'
import { ref, reactive, computed, inject, provide } from 'vue' import { ref, reactive, computed, inject, provide } from 'vue'
@ -381,6 +391,10 @@ const props = defineProps({
type: String, type: String,
required: true, required: true,
}, },
overrides: {
type: Object,
default: () => ({}),
}
}) })
const triggerOnChange = inject('triggerOnChange', () => {}) const triggerOnChange = inject('triggerOnChange', () => {})
@ -449,11 +463,18 @@ function getFieldObj(field) {
}) })
} }
return { const fieldObjWithFilters ={
...field, ...field,
filters: field.link_filters && JSON.parse(field.link_filters), filters: field.link_filters && JSON.parse(field.link_filters),
placeholder: field.placeholder || field.label, placeholder: field.placeholder || field.label,
} }
return {
...fieldObjWithFilters,
...props.overrides.fields?.find(
(f) => f.fieldname === field.fieldname,
),
}
} }
const gridTemplateColumns = computed(() => { const gridTemplateColumns = computed(() => {