import React, { Component } from 'react'; import type { StyleProp, ViewStyle } from 'react-native'; import type { CommerceTypes } from '../../../libs/fscommerce'; import type { UnwrappedProductIndexProps as ProductIndexPropType } from './ProductIndex'; import type { WithProductIndexProps } from './ProductIndexProvider'; export interface PropTyps extends ProductIndexPropType { onPress: (data: CommerceTypes.Product) => () => void; containerStyle?: StyleProp; headerWithCancelButton?: boolean; } export interface StateType { sortModalVisible: boolean; filterModalVisible: boolean; isLoading: boolean; isMoreLoading: boolean; hasFetchError: boolean; } export default class ProductIndexGrid extends Component { constructor(props: PropTyps & WithProductIndexProps); private readonly maxCount; private readonly maxPage; private readonly renderItem; private readonly renderActionBar; private readonly renderHeader; private readonly showFilterModal; private readonly closeFilterModal; private readonly showSortModal; private readonly closeSortModal; private readonly handleFilterApply; private readonly handleFilterReset; private readonly handleSortChange; private readonly reloadByQuery; private readonly reloadWithReset; private readonly handleNewData; /** * refetch commerce data and preserve existing sort/filter * * @param query */ private readonly fetchByExtraQuery; private readonly newProductQuery; private readonly renderCancelButton; private readonly renderCancelText; private readonly renderModalHeader; private readonly renderSortModal; private readonly renderModal; private readonly mergeRefinementsAndSort; private readonly mergeSelectedRefinementsAndSort; private readonly renderFilterModal; private readonly renderItemForCombinedFilterAndSort; private readonly renderItemValueForCombinedFilterAndSort; private readonly handleSortSelectedInRefine; private readonly renderNoResult; private readonly loadPage; private readonly loadPrev; private readonly loadMore; private readonly renderFooter; render(): React.ReactNode; }