mig-schema-table 4.4.4 → 4.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,14 @@
1
1
  import { default as React } from 'react';
2
2
  import { oas31 } from 'openapi3-ts';
3
- import { TColumnFilterValue } from '../../index';
4
3
 
5
- export interface IFilterMenuComponentProps {
6
- columnFilterValue: TColumnFilterValue;
7
- onChange: (newValue: TColumnFilterValue | undefined, persistState?: boolean) => void;
4
+ export interface IFilterMenuComponentProps<T = any> {
5
+ columnFilterValue?: T;
6
+ onChange: (newValue: T | undefined, persistState?: boolean) => void;
8
7
  onInputKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
9
8
  propIsRequired: boolean;
10
9
  propName: string;
11
10
  propSchema?: oas31.SchemaObject;
12
11
  translate: (key: string, ...args: Array<string | number>) => string;
13
12
  }
14
- declare const FilterMenuComponent: React.MemoExoticComponent<({ columnFilterValue, onChange, onInputKeyDown, propIsRequired, propName, propSchema, translate, }: IFilterMenuComponentProps) => import("react/jsx-runtime").JSX.Element>;
13
+ declare const FilterMenuComponent: React.MemoExoticComponent<(<T>({ columnFilterValue, onChange, onInputKeyDown, propIsRequired, propName, propSchema, translate, }: IFilterMenuComponentProps<T>) => import("react/jsx-runtime").JSX.Element)>;
15
14
  export default FilterMenuComponent;
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { oas31 } from 'openapi3-ts';
3
- import { TColumnFilterValue } from '../index';
4
3
  import { IColumnConfig } from '../../types';
5
4
 
6
5
  export interface IThMenuConfig<T> {
@@ -12,14 +11,14 @@ export interface IThMenuConfig<T> {
12
11
  type TThMenuProps<T> = IThMenuConfig<T> & {
13
12
  isSortable: boolean;
14
13
  isFilterable: boolean;
15
- onChange: (newValue: TColumnFilterValue | undefined, persistState?: boolean) => void;
14
+ onChange: (newValue: T | undefined, persistState?: boolean) => void;
16
15
  onClose: (e: MouseEvent | React.MouseEvent) => void;
17
16
  onInputKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
18
17
  propIsRequired: boolean;
19
18
  propSchema: oas31.SchemaObject;
20
19
  setFilterSortColumn: (sortColumn: string, sortAsc: boolean) => void;
21
20
  translate: (key: string, ...args: Array<string | number>) => string;
22
- value: TColumnFilterValue;
21
+ value: T | null;
23
22
  };
24
23
  declare const MemoizedThMenu: <T>({ isSortable, isFilterable, onChange, onClose, onInputKeyDown, propConfig, propIsRequired, propName, propSchema, referenceElement, setFilterSortColumn, translate, value, }: TThMenuProps<T>) => import("react/jsx-runtime").JSX.Element | null;
25
24
  export default MemoizedThMenu;
@@ -5,16 +5,14 @@ import { IColumnConfig, IRenderData } from '../types';
5
5
  import { ENumberColumnFilterOperation } from '../inc/constant';
6
6
  import { default as InfiniteLoader } from 'react-window-infinite-loader';
7
7
 
8
- export interface IGetDataProps {
9
- searchQuery: string;
10
- columnFilterMap: {
11
- [propName: string]: TColumnFilterValue;
12
- };
13
- sortColumn?: string;
14
- sortAsc: boolean;
15
- }
16
8
  export interface IColumnFilterMap {
17
- [propName: string]: TColumnFilterValue;
9
+ [propName: string]: unknown;
10
+ }
11
+ export interface ITableDataState {
12
+ columnFilterMap?: IColumnFilterMap;
13
+ searchQuery?: string;
14
+ sortColumn?: string;
15
+ sortAsc?: boolean;
18
16
  }
19
17
  export interface ICustomElementProps {
20
18
  renderData?: IRenderData[];
@@ -34,7 +32,7 @@ export interface ISchemaTableProps<T> {
34
32
  customElementProps?: {
35
33
  [controlProp: string]: unknown;
36
34
  };
37
- data: T[] | ((getDataProps: IGetDataProps) => Promise<T[]>);
35
+ data: T[] | ((getDataProps: ITableDataState) => Promise<T[]>);
38
36
  defaultColumnFilters?: IColumnFilterMap;
39
37
  defaultSortAsc?: boolean;
40
38
  defaultSortColumn?: keyof T;
@@ -78,6 +76,5 @@ export interface INumberColumnFilterValue {
78
76
  [ENumberColumnFilterOperation.EQ]: number;
79
77
  filterEmpty?: boolean;
80
78
  }
81
- export type TColumnFilterValue = string | boolean | number | IDateColumnFilterValue | INumberColumnFilterValue | null;
82
79
  declare const MemoizedSchemaTable: <T>({ Heading, checkedIndexes, config, CustomElement, customElementProps, data, defaultColumnFilters, defaultSortAsc, defaultSortColumn, disabledCheckedIndexes, enableAutoFocus, enableRowCounter, getRowClassName, getRowSelected, infiniteLoaderRef, isColumnFilterable, isExportable, isResizable, isSearchable, isSortable, maxHeight, setCheckedIndexes, onRowClick, onRowDoubleClick, onSearchEnter, rowHeight, schema, searchPlaceholder, settingsStorageKey, style, translate, useFilterStateHash, width, tableRef, loadMoreItems, itemCount, displayTimezone, }: ISchemaTableProps<T>) => import("react/jsx-runtime").JSX.Element;
83
80
  export default MemoizedSchemaTable;
@@ -1,8 +1,8 @@
1
- import { default as SchemaTable, IGetDataProps, ISchemaTableProps, TColumnFilterValue } from './SchemaTable';
1
+ import { default as SchemaTable, ITableDataState, ISchemaTableProps } from './SchemaTable';
2
2
  import { IColumnConfig, IRenderData, ITdBodyProps } from './types';
3
3
  import { default as Th } from './SchemaTable/Th';
4
4
  import { DEFAULT_DATE_FORMAT, DEFAULT_DATE_TIME_FORMAT, EColumnFilterStatus, MINIMUM_COLUMN_WIDTH, RESIZER_WIDTH } from './inc/constant';
5
5
  import { IFilterMenuComponentProps } from './SchemaTable/ThMenu/FilterMenuComponent';
6
6
 
7
- export type { IColumnConfig, IFilterMenuComponentProps, IGetDataProps, IRenderData, ISchemaTableProps, ITdBodyProps, TColumnFilterValue, };
7
+ export type { IColumnConfig, IFilterMenuComponentProps, ITableDataState, IRenderData, ISchemaTableProps, ITdBodyProps, };
8
8
  export { DEFAULT_DATE_FORMAT, DEFAULT_DATE_TIME_FORMAT, EColumnFilterStatus, MINIMUM_COLUMN_WIDTH, RESIZER_WIDTH, SchemaTable, Th, };
@@ -1,12 +1,11 @@
1
1
  import { IColumnConfig, IRenderData } from '../types.ts';
2
2
  import { ReferenceObject, SchemaObject } from 'openapi3-ts/oas31';
3
- import { IColumnFilterMap } from '../SchemaTable';
3
+ import { ITableDataState } from '../SchemaTable';
4
4
  import { Dispatch, SetStateAction } from 'react';
5
5
  import { IThMenuConfig } from '../SchemaTable/ThMenu';
6
6
  import * as React from "react";
7
7
  export interface ISchemaTableContext<T = any> {
8
8
  checkedIndexes?: number[];
9
- columnFilterMap: IColumnFilterMap;
10
9
  columnNames: string[];
11
10
  columnWidths: number[];
12
11
  config?: {
@@ -32,8 +31,7 @@ export interface ISchemaTableContext<T = any> {
32
31
  setDropTargetIndex: (dropTargetIndex: number) => void;
33
32
  setFilterSortColumn: (sortColumn: string, sortAsc: boolean) => void;
34
33
  settingsStorageKey?: string;
35
- sortAsc?: boolean;
36
- sortColumn?: string;
34
+ tableDataState: ITableDataState;
37
35
  sortedRenderData?: IRenderData[];
38
36
  sourceData?: T[] | null;
39
37
  translate: (key: string, ...args: Array<string | number>) => string;
@@ -1,5 +1,4 @@
1
1
  import { default as React } from 'react';
2
- import { TColumnFilterValue } from './SchemaTable';
3
2
  import { IFilterMenuComponentProps } from './SchemaTable/ThMenu/FilterMenuComponent';
4
3
 
5
4
  export interface ITdBodyProps<T> {
@@ -12,17 +11,13 @@ export interface IColumnConfig<T> {
12
11
  align?: "start" | "center" | "end";
13
12
  dateFormat?: string;
14
13
  defaultSortDesc?: boolean;
15
- filter?: (rowData: T, columnFilterValue: TColumnFilterValue) => boolean;
14
+ filter?: (rowData: T, columnFilterValue: unknown) => boolean;
16
15
  hidden?: boolean;
17
16
  hoverTitle?: string;
18
17
  isFilterable?: boolean;
19
18
  order?: number;
20
- TdBody?: React.ComponentType<ITdBodyProps<T> & {
21
- [tdBodyProp: string]: any;
22
- }>;
23
- tdBodyProps?: {
24
- [tdBodyProp: string]: any;
25
- };
19
+ TdBody?: React.ComponentType<ITdBodyProps<T> & Record<string, unknown>>;
20
+ tdBodyProps?: Record<string, unknown>;
26
21
  renderData?: (rowData: T, dataIndex: number) => string;
27
22
  showTimezones?: false;
28
23
  sort?: (a: T, b: T, sortAsc: boolean) => number;