changes of boursecu
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { computed, inject, onMounted, provide, ref, type ComponentPublicInstance, type InjectionKey } from 'vue'
|
||||
import { useIntersectionObserver } from '@vueuse/core'
|
||||
import { useDesktopBreakpoint } from '@/layouts/composables/useAppLayout'
|
||||
import { getProductsCatalog, getProductsCatalogRef } from '@/composables/useProductsCatalog'
|
||||
import { loading, loadingMore } from '@/utils'
|
||||
import {
|
||||
BOURSECU_TRANSACTION_TABS,
|
||||
@@ -23,6 +24,7 @@ import {
|
||||
transactionItems,
|
||||
transactionPagination,
|
||||
transactionStatusFilter,
|
||||
transactionProductFilter,
|
||||
transactionTableOutput,
|
||||
transactionTradeSide,
|
||||
transactionsBoursecuMode,
|
||||
@@ -37,6 +39,9 @@ export interface TransactionsPageContext {
|
||||
dateFromFilter: typeof transactionDateFromFilter
|
||||
dateToFilter: typeof transactionDateToFilter
|
||||
statusFilter: typeof transactionStatusFilter
|
||||
productFilter: typeof transactionProductFilter
|
||||
productOptions: ReturnType<typeof computed<{ value: number; label: string }[]>>
|
||||
showProductFilter: ReturnType<typeof computed<boolean>>
|
||||
mobileObserverEl: ReturnType<typeof ref<HTMLElement | null>>
|
||||
desktopObserverEl: ReturnType<typeof ref<HTMLElement | null>>
|
||||
activeTabId: typeof transactionActiveTabId
|
||||
@@ -77,6 +82,19 @@ export function useTransactionsPageProvider(options?: { boursecu?: boolean }) {
|
||||
|
||||
const statusOptions = computed(() => getBoursecuStatusOptionsForTab(activeTab.value))
|
||||
|
||||
const productOptions = computed(() =>
|
||||
getProductsCatalogRef().value
|
||||
.filter((product) => product.active && product.show)
|
||||
.map((product) => ({
|
||||
value: product.id,
|
||||
label: product.title,
|
||||
})),
|
||||
)
|
||||
|
||||
const showProductFilter = computed(
|
||||
() => transactionsBoursecuMode.value && activeTab.value.id !== 'deposit',
|
||||
)
|
||||
|
||||
const emptyText = computed(() => {
|
||||
if (!transactionsBoursecuMode.value) {
|
||||
return 'تراکنشی موجود نیست'
|
||||
@@ -160,6 +178,9 @@ export function useTransactionsPageProvider(options?: { boursecu?: boolean }) {
|
||||
)
|
||||
|
||||
onMounted(async () => {
|
||||
if (isBoursecu) {
|
||||
await getProductsCatalog()
|
||||
}
|
||||
await initTransactionsPageData(isBoursecu)
|
||||
})
|
||||
|
||||
@@ -172,6 +193,9 @@ export function useTransactionsPageProvider(options?: { boursecu?: boolean }) {
|
||||
dateFromFilter: transactionDateFromFilter,
|
||||
dateToFilter: transactionDateToFilter,
|
||||
statusFilter: transactionStatusFilter,
|
||||
productFilter: transactionProductFilter,
|
||||
productOptions,
|
||||
showProductFilter,
|
||||
mobileObserverEl,
|
||||
desktopObserverEl,
|
||||
activeTabId: transactionActiveTabId,
|
||||
|
||||
Reference in New Issue
Block a user