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:
commit
ecfadead22
@ -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
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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,
|
||||
})
|
||||
})
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user