fix: apply applyFilter feat in all listviews

This commit is contained in:
Shariq Ansari 2024-02-20 15:34:28 +05:30
parent 486eba41ed
commit 76d2120076
14 changed files with 91 additions and 19 deletions

View File

@ -18,10 +18,13 @@
class="mx-5"
v-for="row in rows"
:key="row.name"
v-slot="{ column, item }"
v-slot="{ idx, column, item }"
:row="row"
>
<ListRowItem :item="item">
<ListRowItem
:item="item"
@click="(event) => emit('applyFilter', { event, idx, column, item })"
>
<template #prefix>
<div v-if="['caller', 'receiver'].includes(column.key)">
<Avatar
@ -108,7 +111,12 @@ const props = defineProps({
},
})
const emit = defineEmits(['loadMore', 'updatePageCount', 'columnWidthUpdated'])
const emit = defineEmits([
'loadMore',
'updatePageCount',
'columnWidthUpdated',
'applyFilter',
])
const pageLengthCount = defineModel()

View File

@ -19,10 +19,13 @@
class="mx-5"
v-for="row in rows"
:key="row.name"
v-slot="{ column, item }"
v-slot="{ idx, column, item }"
:row="row"
>
<ListRowItem :item="item">
<ListRowItem
:item="item"
@click="(event) => emit('applyFilter', { event, idx, column, item })"
>
<template #prefix>
<div v-if="column.key === 'full_name'">
<Avatar
@ -138,6 +141,7 @@ const emit = defineEmits([
'updatePageCount',
'reload',
'columnWidthUpdated',
'applyFilter',
])
const pageLengthCount = defineModel()

View File

@ -16,13 +16,21 @@
class="mx-5"
v-for="row in rows"
:key="row.name"
v-slot="{ column, item }"
v-slot="{ idx, column, item }"
:row="row"
>
<div v-if="column.key === '_assign'" class="flex items-center">
<div
v-if="column.key === '_assign'"
class="flex items-center"
@click="(event) => emit('applyFilter', { event, idx, column, item })"
>
<MultipleAvatar :avatars="item" size="sm" />
</div>
<ListRowItem v-else :item="item">
<ListRowItem
v-else
:item="item"
@click="(event) => emit('applyFilter', { event, idx, column, item })"
>
<template #prefix>
<div v-if="column.key === 'status'">
<IndicatorIcon :class="item.color" />
@ -164,7 +172,12 @@ const props = defineProps({
},
})
const emit = defineEmits(['loadMore', 'updatePageCount', 'columnWidthUpdated'])
const emit = defineEmits([
'loadMore',
'updatePageCount',
'columnWidthUpdated',
'applyFilter',
])
const pageLengthCount = defineModel()
const list = defineModel('list')

View File

@ -15,10 +15,13 @@
class="mx-5"
v-for="row in rows"
:key="row.name"
v-slot="{ column, item }"
v-slot="{ idx, column, item }"
:row="row"
>
<ListRowItem :item="item">
<ListRowItem
:item="item"
@click="(event) => emit('applyFilter', { event, idx, column, item })"
>
<!-- <template #prefix>
</template> -->
@ -130,6 +133,7 @@ const emit = defineEmits([
'showEmailTemplate',
'reload',
'columnWidthUpdated',
'applyFilter',
])
const pageLengthCount = defineModel()

View File

@ -16,13 +16,21 @@
class="mx-5"
v-for="row in rows"
:key="row.name"
v-slot="{ column, item }"
v-slot="{ idx, column, item }"
:row="row"
>
<div v-if="column.key === '_assign'" class="flex items-center">
<div
v-if="column.key === '_assign'"
class="flex items-center"
@click="(event) => emit('applyFilter', { event, idx, column, item })"
>
<MultipleAvatar :avatars="item" size="sm" />
</div>
<ListRowItem v-else :item="item">
<ListRowItem
v-else
:item="item"
@click="(event) => emit('applyFilter', { event, idx, column, item })"
>
<template #prefix>
<div v-if="column.key === 'status'">
<IndicatorIcon :class="item.color" />
@ -173,7 +181,12 @@ const props = defineProps({
},
})
const emit = defineEmits(['loadMore', 'updatePageCount', 'columnWidthUpdated'])
const emit = defineEmits([
'loadMore',
'updatePageCount',
'columnWidthUpdated',
'applyFilter',
])
const pageLengthCount = defineModel()
const list = defineModel('list')

View File

@ -18,10 +18,13 @@
class="mx-5"
v-for="row in rows"
:key="row.name"
v-slot="{ column, item }"
v-slot="{ idx, column, item }"
:row="row"
>
<ListRowItem :item="item">
<ListRowItem
:item="item"
@click="(event) => emit('applyFilter', { event, idx, column, item })"
>
<template #prefix>
<div v-if="column.key === 'organization_name'">
<Avatar
@ -123,6 +126,7 @@ const emit = defineEmits([
'updatePageCount',
'reload',
'columnWidthUpdated',
'applyFilter',
])
const pageLengthCount = defineModel()

View File

@ -15,7 +15,7 @@
class="mx-5"
v-for="row in rows"
:key="row.name"
v-slot="{ column, item }"
v-slot="{ idx, column, item }"
:row="row"
>
<Tooltip
@ -30,7 +30,11 @@
{{ dateFormat(item, 'D MMM, hh:mm a') }}
</div>
</Tooltip>
<ListRowItem v-else :item="item">
<ListRowItem
v-else
:item="item"
@click="(event) => emit('applyFilter', { event, idx, column, item })"
>
<template #prefix>
<div v-if="column.key === 'status'">
<TaskStatusIcon :status="item" />
@ -153,6 +157,7 @@ const emit = defineEmits([
'showTask',
'reload',
'columnWidthUpdated',
'applyFilter',
])
const pageLengthCount = defineModel()

View File

@ -5,6 +5,7 @@
</template>
</LayoutHeader>
<ViewControls
ref="viewControls"
v-model="callLogs"
v-model:loadMore="loadMore"
v-model:resizeColumn="triggerResize"
@ -25,6 +26,7 @@
@columnWidthUpdated="() => triggerResize++"
@updatePageCount="(count) => (updatedPageCount = count)"
@reload="callLogs.reload()"
@applyFilter="(data) => viewControls.applyFilter(data)"
/>
<div
v-else-if="callLogs.data"
@ -65,6 +67,7 @@ const callLogs = ref({})
const loadMore = ref(1)
const triggerResize = ref(1)
const updatedPageCount = ref(20)
const viewControls = ref(null)
const rows = computed(() => {
if (!callLogs.value?.data?.data) return []

View File

@ -10,6 +10,7 @@
</template>
</LayoutHeader>
<ViewControls
ref="viewControls"
v-model="contacts"
v-model:loadMore="loadMore"
v-model:resizeColumn="triggerResize"
@ -30,6 +31,7 @@
@columnWidthUpdated="() => triggerResize++"
@updatePageCount="(count) => (updatedPageCount = count)"
@reload="contacts.reload()"
@applyFilter="(data) => viewControls.applyFilter(data)"
/>
<div
v-else-if="contacts.data"
@ -89,6 +91,7 @@ const contacts = ref({})
const loadMore = ref(1)
const triggerResize = ref(1)
const updatedPageCount = ref(20)
const viewControls = ref(null)
const rows = computed(() => {
if (!contacts.value?.data?.data) return []

View File

@ -10,6 +10,7 @@
</template>
</LayoutHeader>
<ViewControls
ref="viewControls"
v-model="deals"
v-model:loadMore="loadMore"
v-model:resizeColumn="triggerResize"
@ -30,6 +31,7 @@
@loadMore="() => loadMore++"
@columnWidthUpdated="() => triggerResize++"
@updatePageCount="(count) => (updatedPageCount = count)"
@applyFilter="(data) => viewControls.applyFilter(data)"
/>
<div v-else-if="deals.data" class="flex h-full items-center justify-center">
<div
@ -94,6 +96,7 @@ const deals = ref({})
const loadMore = ref(1)
const triggerResize = ref(1)
const updatedPageCount = ref(20)
const viewControls = ref(null)
// Rows
const rows = computed(() => {

View File

@ -10,6 +10,7 @@
</template>
</LayoutHeader>
<ViewControls
ref="viewControls"
v-model="emailTemplates"
v-model:loadMore="loadMore"
v-model:resizeColumn="triggerResize"
@ -31,6 +32,7 @@
@updatePageCount="(count) => (updatedPageCount = count)"
@showEmailTemplate="showEmailTemplate"
@reload="emailTemplates.reload()"
@applyFilter="(data) => viewControls.applyFilter(data)"
/>
<div
v-else-if="emailTemplates.data"
@ -69,6 +71,7 @@ const emailTemplates = ref({})
const loadMore = ref(1)
const triggerResize = ref(1)
const updatedPageCount = ref(20)
const viewControls = ref(null)
const rows = computed(() => {
if (!emailTemplates.value?.data?.data) return []

View File

@ -10,6 +10,7 @@
</template>
</LayoutHeader>
<ViewControls
ref="viewControls"
v-model="leads"
v-model:loadMore="loadMore"
v-model:resizeColumn="triggerResize"
@ -31,6 +32,7 @@
@loadMore="() => loadMore++"
@columnWidthUpdated="() => triggerResize++"
@updatePageCount="(count) => (updatedPageCount = count)"
@applyFilter="(data) => viewControls.applyFilter(data)"
/>
<div v-else-if="leads.data" class="flex h-full items-center justify-center">
<div
@ -89,6 +91,7 @@ const leads = ref({})
const loadMore = ref(1)
const triggerResize = ref(1)
const updatedPageCount = ref(20)
const viewControls = ref(null)
// Rows
const rows = computed(() => {

View File

@ -14,6 +14,7 @@
</template>
</LayoutHeader>
<ViewControls
ref="viewControls"
v-model="organizations"
v-model:loadMore="loadMore"
v-model:resizeColumn="triggerResize"
@ -34,6 +35,7 @@
@columnWidthUpdated="() => triggerResize++"
@updatePageCount="(count) => (updatedPageCount = count)"
@reload="organizations.reload()"
@applyFilter="(data) => viewControls.applyFilter(data)"
/>
<div
v-else-if="organizations.data"
@ -95,6 +97,7 @@ const organizations = ref({})
const loadMore = ref(1)
const triggerResize = ref(1)
const updatedPageCount = ref(20)
const viewControls = ref(null)
const rows = computed(() => {
if (!organizations.value?.data?.data) return []

View File

@ -10,6 +10,7 @@
</template>
</LayoutHeader>
<ViewControls
ref="viewControls"
v-model="tasks"
v-model:loadMore="loadMore"
v-model:resizeColumn="triggerResize"
@ -31,6 +32,7 @@
@updatePageCount="(count) => (updatedPageCount = count)"
@showTask="showTask"
@reload="tasks.reload()"
@applyFilter="(data) => viewControls.applyFilter(data)"
/>
<div v-else-if="tasks.data" class="flex h-full items-center justify-center">
<div
@ -63,6 +65,7 @@ const tasks = ref({})
const loadMore = ref(1)
const triggerResize = ref(1)
const updatedPageCount = ref(20)
const viewControls = ref(null)
const rows = computed(() => {
if (!tasks.value?.data?.data) return []