Track filtering and searching for data table

Reviewed By: mweststrate

Differential Revision: D48116067

fbshipit-source-id: 2dee2cfd68a23e1153b3f10ff229009777e936da
This commit is contained in:
Andrey Goncharov
2023-08-09 08:01:44 -07:00
committed by Facebook GitHub Bot
parent b30f7492cd
commit 2834d3300a
2 changed files with 7 additions and 1 deletions

View File

@@ -13,7 +13,7 @@ import {MutableRefObject, Reducer, RefObject} from 'react';
import {DataSourceVirtualizer} from '../../data-source/index';
import produce, {castDraft, immerable, original} from 'immer';
import {theme} from '../theme';
import {DataSource, _DataSourceView} from 'flipper-plugin-core';
import {DataSource, getFlipperLib, _DataSourceView} from 'flipper-plugin-core';
export type OnColumnResize = (id: string, size: number | Percentage) => void;
export type Sorting<T = any> = {
@@ -485,6 +485,7 @@ export function createDataTableManager<T>(
dispatch({type: 'sortColumn', column, direction});
},
setSearchValue(value, addToHistory = false) {
getFlipperLib().logger.track('usage', 'data-table:filter:search');
dispatch({type: 'setSearchValue', value, addToHistory});
},
toggleSearchValue() {
@@ -506,9 +507,11 @@ export function createDataTableManager<T>(
dispatch({type: 'setShowNumberedHistory', showNumberedHistory});
},
addColumnFilter(column, value, options = {}) {
getFlipperLib().logger.track('usage', 'data-table:filter:add-column');
dispatch({type: 'addColumnFilter', column, value, options});
},
removeColumnFilter(column, label) {
getFlipperLib().logger.track('usage', 'data-table:filter:remove-column');
dispatch({type: 'removeColumnFilter', column, label});
},
setFilterExceptions(exceptions: string[] | undefined) {

View File

@@ -14,12 +14,15 @@ import {createDataSource} from 'flipper-plugin-core';
import {computeDataTableFilter, DataTableManager} from '../DataTableManager';
import {Button} from 'antd';
import {sleep} from 'flipper-common';
import {TestUtils, _setFlipperLibImplementation} from 'flipper-plugin-core';
type Todo = {
title: string;
done: boolean;
};
_setFlipperLibImplementation(TestUtils.createMockFlipperLib());
function createTestDataSource() {
return createDataSource<Todo>([
{