fix: use fieldname & fieldtype instead of name & type in quick filters
This commit is contained in:
parent
26a20e048c
commit
8ba1949d3f
@ -189,8 +189,8 @@ def get_quick_filters(doctype: str):
|
|||||||
quick_filters.append(
|
quick_filters.append(
|
||||||
{
|
{
|
||||||
"label": _(field.label),
|
"label": _(field.label),
|
||||||
"name": field.fieldname,
|
"fieldname": field.fieldname,
|
||||||
"type": field.fieldtype,
|
"fieldtype": field.fieldtype,
|
||||||
"options": options,
|
"options": options,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@ -142,6 +142,8 @@
|
|||||||
{
|
{
|
||||||
"fieldname": "telephony_medium",
|
"fieldname": "telephony_medium",
|
||||||
"fieldtype": "Select",
|
"fieldtype": "Select",
|
||||||
|
"in_list_view": 1,
|
||||||
|
"in_standard_filter": 1,
|
||||||
"label": "Telephony Medium",
|
"label": "Telephony Medium",
|
||||||
"options": "\nManual\nTwilio\nExotel"
|
"options": "\nManual\nTwilio\nExotel"
|
||||||
},
|
},
|
||||||
@ -152,7 +154,7 @@
|
|||||||
],
|
],
|
||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2025-01-11 16:27:56.992950",
|
"modified": "2025-01-17 21:46:01.558377",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "FCRM",
|
"module": "FCRM",
|
||||||
"name": "CRM Call Log",
|
"name": "CRM Call Log",
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<FormControl
|
<FormControl
|
||||||
v-if="filter.type == 'Check'"
|
v-if="filter.fieldtype == 'Check'"
|
||||||
:label="filter.label"
|
:label="filter.label"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
v-model="filter.value"
|
v-model="filter.value"
|
||||||
@change.stop="updateFilter(filter, $event.target.checked)"
|
@change.stop="updateFilter(filter, $event.target.checked)"
|
||||||
/>
|
/>
|
||||||
<FormControl
|
<FormControl
|
||||||
v-else-if="filter.type === 'Select'"
|
v-else-if="filter.fieldtype === 'Select'"
|
||||||
class="form-control cursor-pointer [&_select]:cursor-pointer"
|
class="form-control cursor-pointer [&_select]:cursor-pointer"
|
||||||
type="select"
|
type="select"
|
||||||
v-model="filter.value"
|
v-model="filter.value"
|
||||||
@ -16,16 +16,16 @@
|
|||||||
@change.stop="updateFilter(filter, $event.target.value)"
|
@change.stop="updateFilter(filter, $event.target.value)"
|
||||||
/>
|
/>
|
||||||
<Link
|
<Link
|
||||||
v-else-if="filter.type === 'Link'"
|
v-else-if="filter.fieldtype === 'Link'"
|
||||||
:value="filter.value"
|
:value="filter.value"
|
||||||
:doctype="filter.options"
|
:doctype="filter.options"
|
||||||
:placeholder="filter.label"
|
:placeholder="filter.label"
|
||||||
@change="(data) => updateFilter(filter, data)"
|
@change="(data) => updateFilter(filter, data)"
|
||||||
/>
|
/>
|
||||||
<component
|
<component
|
||||||
v-else-if="['Date', 'Datetime'].includes(filter.type)"
|
v-else-if="['Date', 'Datetime'].includes(filter.fieldtype)"
|
||||||
class="border-none"
|
class="border-none"
|
||||||
:is="filter.type === 'Date' ? DatePicker : DateTimePicker"
|
:is="filter.fieldtype === 'Date' ? DatePicker : DateTimePicker"
|
||||||
:value="filter.value"
|
:value="filter.value"
|
||||||
@change="(v) => updateFilter(filter, v)"
|
@change="(v) => updateFilter(filter, v)"
|
||||||
:placeholder="filter.label"
|
:placeholder="filter.label"
|
||||||
|
|||||||
@ -65,7 +65,7 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-for="filter in quickFilterList"
|
v-for="filter in quickFilterList"
|
||||||
:key="filter.name"
|
:key="filter.fieldname"
|
||||||
class="m-1 min-w-36"
|
class="m-1 min-w-36"
|
||||||
>
|
>
|
||||||
<QuickFilterField
|
<QuickFilterField
|
||||||
@ -595,13 +595,13 @@ const quickFilterList = computed(() => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
filters.forEach((filter) => {
|
filters.forEach((filter) => {
|
||||||
filter['value'] = filter.type == 'Check' ? false : ''
|
filter['value'] = filter.fieldtype == 'Check' ? false : ''
|
||||||
if (list.value.params?.filters[filter.name]) {
|
if (list.value.params?.filters[filter.fieldname]) {
|
||||||
let value = list.value.params.filters[filter.name]
|
let value = list.value.params.filters[filter.fieldname]
|
||||||
if (Array.isArray(value)) {
|
if (Array.isArray(value)) {
|
||||||
if (
|
if (
|
||||||
(['Check', 'Select', 'Link', 'Date', 'Datetime'].includes(
|
(['Check', 'Select', 'Link', 'Date', 'Datetime'].includes(
|
||||||
filter.type,
|
filter.fieldtype,
|
||||||
) &&
|
) &&
|
||||||
value[0]?.toLowerCase() == 'like') ||
|
value[0]?.toLowerCase() == 'like') ||
|
||||||
value[0]?.toLowerCase() != 'like'
|
value[0]?.toLowerCase() != 'like'
|
||||||
@ -626,9 +626,11 @@ const quickFilters = createResource({
|
|||||||
|
|
||||||
function applyQuickFilter(filter, value) {
|
function applyQuickFilter(filter, value) {
|
||||||
let filters = { ...list.value.params.filters }
|
let filters = { ...list.value.params.filters }
|
||||||
let field = filter.name
|
let field = filter.fieldname
|
||||||
if (value) {
|
if (value) {
|
||||||
if (['Check', 'Select', 'Link', 'Date', 'Datetime'].includes(filter.type)) {
|
if (
|
||||||
|
['Check', 'Select', 'Link', 'Date', 'Datetime'].includes(filter.fieldtype)
|
||||||
|
) {
|
||||||
filters[field] = value
|
filters[field] = value
|
||||||
} else {
|
} else {
|
||||||
filters[field] = ['LIKE', `%${value}%`]
|
filters[field] = ['LIKE', `%${value}%`]
|
||||||
|
|||||||
@ -14,22 +14,28 @@
|
|||||||
>
|
>
|
||||||
<div class="w-full">
|
<div class="w-full">
|
||||||
<button
|
<button
|
||||||
class="flex h-7 w-full items-center justify-between gap-2 rounded bg-surface-gray-2 px-2 py-1 transition-colors hover:bg-surface-gray-3 border border-transparent focus:border-outline-gray-4 focus:outline-none focus:ring-2 focus:ring-outline-gray-3"
|
class="relative flex h-7 w-full items-center justify-between gap-2 rounded bg-surface-gray-2 px-2 py-1 transition-colors hover:bg-surface-gray-3 border border-transparent focus:border-outline-gray-4 focus:outline-none focus:ring-2 focus:ring-outline-gray-3"
|
||||||
:class="inputClasses"
|
:class="inputClasses"
|
||||||
@click="() => togglePopover()"
|
@click="() => togglePopover()"
|
||||||
>
|
>
|
||||||
<div class="flex text-base leading-5 items-center truncate">
|
<div
|
||||||
|
v-if="selectedValue"
|
||||||
|
class="flex text-base leading-5 items-center truncate"
|
||||||
|
>
|
||||||
<slot name="prefix" />
|
<slot name="prefix" />
|
||||||
<span v-if="selectedValue" class="truncate">
|
<span class="truncate">
|
||||||
{{ displayValue(selectedValue) }}
|
{{ displayValue(selectedValue) }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else class="text-ink-gray-4 truncate">
|
</div>
|
||||||
{{ placeholder || '' }}
|
<div
|
||||||
</span>
|
v-else
|
||||||
|
class="absolute text-ink-gray-4 text-left truncate w-full pr-7"
|
||||||
|
>
|
||||||
|
{{ placeholder || '' }}
|
||||||
</div>
|
</div>
|
||||||
<FeatherIcon
|
<FeatherIcon
|
||||||
name="chevron-down"
|
name="chevron-down"
|
||||||
class="h-4 w-4 text-ink-gray-5"
|
class="absolute h-4 w-4 text-ink-gray-5 right-2"
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user