Merge pull request #380 from shariquerik/link-filter-in-link

feat: allow link filter to work in Link Field component
This commit is contained in:
Shariq Ansari 2024-09-27 20:56:20 +05:30 committed by GitHub
commit ecfadead22
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 27 additions and 8 deletions

View File

@ -685,6 +685,7 @@ def get_fields(doctype: str, allow_all_fieldtypes: bool = False):
"depends_on": field.depends_on,
"mandatory_depends_on": field.mandatory_depends_on,
"read_only_depends_on": field.read_only_depends_on,
"link_filters": field.get("link_filters"),
})
return _fields

View File

@ -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()

View File

@ -89,6 +89,7 @@
class="form-control flex-1"
:value="data[field.name]"
:doctype="field.options"
:filters="field.filters"
@change="(v) => (data[field.name] = v)"
:placeholder="__(field.placeholder || field.label)"
:onCreate="field.create"
@ -110,6 +111,7 @@
class="form-control"
:value="getUser(data[field.name]).full_name"
:doctype="field.options"
:filters="field.filters"
@change="(v) => (data[field.name] = v)"
:placeholder="__(field.placeholder || field.label)"
:hideMe="true"

View File

@ -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,
})
})

View File

@ -122,6 +122,7 @@ const sections = computed(() => {
} else {
_sections[_sections.length - 1].fields.push({
...field,
filters: field.link_filters && JSON.parse(field.link_filters),
display_via_depends_on: evaluate_depends_on_value(
field.depends_on,
data.doc,

View File

@ -376,10 +376,13 @@ const deal = createResource({
params: { name: props.dealId },
cache: ['deal', props.dealId],
onSuccess: async (data) => {
organization.update({
params: { doctype: 'CRM Organization', name: data.organization },
})
organization.fetch()
if (data.organization) {
organization.update({
params: { doctype: 'CRM Organization', name: data.organization },
})
organization.fetch()
}
let obj = {
doc: data,
$dialog,

View File

@ -309,10 +309,13 @@ const deal = createResource({
params: { name: props.dealId },
cache: ['deal', props.dealId],
onSuccess: async (data) => {
organization.update({
params: { doctype: 'CRM Organization', name: data.organization },
})
organization.fetch()
if (data.organization) {
organization.update({
params: { doctype: 'CRM Organization', name: data.organization },
})
organization.fetch()
}
let obj = {
doc: data,
$dialog,