From 200c931f05948f6a26c842b31e2787b23d7d198a Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 27 Sep 2024 20:34:14 +0530 Subject: [PATCH] feat: allow link filter to work in Link Field component --- frontend/src/components/Controls/Link.vue | 6 ++++++ frontend/src/components/SectionFields.vue | 3 +++ 2 files changed, 9 insertions(+) diff --git a/frontend/src/components/Controls/Link.vue b/frontend/src/components/Controls/Link.vue index 30b0b282..3bcb3d7f 100644 --- a/frontend/src/components/Controls/Link.vue +++ b/frontend/src/components/Controls/Link.vue @@ -69,6 +69,10 @@ const props = defineProps({ type: String, required: true, }, + filters: { + type: Array, + default: () => [], + }, modelValue: { type: String, default: '', @@ -122,6 +126,7 @@ const options = createResource({ params: { txt: text.value, doctype: props.doctype, + filters: props.filters, }, transform: (data) => { let allData = data.map((option) => { @@ -152,6 +157,7 @@ function reload(val) { params: { txt: val, doctype: props.doctype, + filters: props.filters, }, }) options.reload() diff --git a/frontend/src/components/SectionFields.vue b/frontend/src/components/SectionFields.vue index 24b14f96..f2029aa2 100644 --- a/frontend/src/components/SectionFields.vue +++ b/frontend/src/components/SectionFields.vue @@ -65,6 +65,7 @@ class="form-control" :value="data[field.name] && getUser(data[field.name]).full_name" doctype="User" + :filters="field.filters" @change="(data) => emit('update', field.name, data)" :placeholder="'Select' + ' ' + field.label + '...'" :hideMe="true" @@ -88,6 +89,7 @@ class="form-control select-text" :value="data[field.name]" :doctype="field.doctype" + :filters="field.filters" :placeholder="field.placeholder" @change="(data) => emit('update', field.name, data)" :onCreate="field.create" @@ -144,6 +146,7 @@ const _fields = computed(() => { if (df?.depends_on) evaluate_depends_on(df.depends_on, field) all_fields.push({ ...field, + filters: df.link_filters && JSON.parse(df.link_filters), placeholder: field.placeholder || field.label, }) })