react-table-edit 1.4.54 → 1.4.56

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.
@@ -5,6 +5,7 @@ type IFDataProps = {
5
5
  currentPage: number;
6
6
  pageSize: number;
7
7
  totalItem: number;
8
+ gridRef: any;
8
9
  };
9
- declare const PagingComponent: ({ totalItem, pageSize, currentPage, onChangePage, pageOptions, onChangePageSize }: IFDataProps) => import("react/jsx-runtime").JSX.Element;
10
+ declare const PagingComponent: ({ totalItem, gridRef, pageSize, currentPage, onChangePage, pageOptions, onChangePageSize }: IFDataProps) => import("react/jsx-runtime").JSX.Element;
10
11
  export { PagingComponent };
@@ -0,0 +1,21 @@
1
+ import React, { KeyboardEvent } from "react";
2
+ import { IColumnTable } from "../type";
3
+ interface CellContentComponentProps {
4
+ col: IColumnTable;
5
+ row: any;
6
+ indexRow: number;
7
+ indexCol: number;
8
+ gridRef: any;
9
+ editDisable?: boolean;
10
+ idTable?: string;
11
+ formatSetting?: any;
12
+ typeDis: "edit" | "template" | "data";
13
+ displayValue: string | number | boolean | null | undefined;
14
+ content: any;
15
+ focusEditElementCell: (e: KeyboardEvent<any> | React.MouseEvent<HTMLDivElement, MouseEvent>, row: number, rol: number) => void;
16
+ handleKeyDown: (e: React.KeyboardEvent<HTMLDivElement>, row: any) => void;
17
+ handleDataChange: (row: any, col: IColumnTable, indexRow: number) => void;
18
+ handleMouseDown: (e: React.MouseEvent, type: 1 | 2, isDragHandler?: boolean) => void;
19
+ }
20
+ declare const CellContentComponent: React.FC<CellContentComponentProps>;
21
+ export default CellContentComponent;
@@ -1,5 +1,5 @@
1
1
  import React, { Dispatch, KeyboardEvent, MutableRefObject, SetStateAction } from "react";
2
- import { ICellInfo, IColumnTable } from "../type";
2
+ import { ICellInfo, IColumnTable, IFTableEditButton, IFTableEditToolbar } from "../type";
3
3
  interface CellComponentProps {
4
4
  col: IColumnTable;
5
5
  row: any;
@@ -31,8 +31,8 @@ interface CellComponentProps {
31
31
  visibleContentColumns: any[];
32
32
  tableElement?: any;
33
33
  totalCount: number;
34
- toolbarSetting?: any;
35
- buttonSetting?: any;
34
+ toolbarSetting?: IFTableEditToolbar;
35
+ buttonSetting?: IFTableEditButton;
36
36
  fieldUniKey?: string[];
37
37
  idTable?: string;
38
38
  isCopying: MutableRefObject<boolean>;
@@ -45,6 +45,7 @@ interface CellComponentProps {
45
45
  maxCol: number;
46
46
  } | undefined>>;
47
47
  setStartCell: Dispatch<SetStateAction<ICellInfo>>;
48
+ handeCopyCell: (indexColCopy: number, indexRowCopy: number, maxRowPaste: number) => Promise<void>;
48
49
  focusEditElementCell: (e: KeyboardEvent<any> | React.MouseEvent<HTMLDivElement, MouseEvent>, row: number, rol: number) => void;
49
50
  rowChange?: (row: any, indexRow: number, field: string) => void;
50
51
  handleDataChange: (row: any, col: IColumnTable, indexRow: number) => void;
@@ -0,0 +1,68 @@
1
+ import React, { Dispatch, MutableRefObject, SetStateAction } from "react";
2
+ import { ICellInfo, IColumnTable, IFFilterTable, IFOrderTable, IFTableEditButton, IFTableEditFormat, IFTableEditPaging, IFTableEditToolbar, IHeaderColumnTable } from "../type";
3
+ interface TableComponentProps {
4
+ idTable?: string;
5
+ dataSource: any[];
6
+ contentColumns: IColumnTable[];
7
+ headerColumns: IHeaderColumnTable[][];
8
+ visibleColumns: IColumnTable[];
9
+ selectedRows: any[];
10
+ selectedCell?: {
11
+ minRow: number;
12
+ maxRow: number;
13
+ minCol: number;
14
+ maxCol: number;
15
+ };
16
+ startCell: ICellInfo;
17
+ editCell?: ICellInfo;
18
+ gridRef: any;
19
+ objHeaderWidthFixLeft: Record<string, number>;
20
+ objHeaderWidthFixRight: Record<string, number>;
21
+ objWidthFixLeft: Record<number, number>;
22
+ objWidthFixRight: Record<number, number>;
23
+ lastObjWidthFixLeft: number;
24
+ fisrtObjWidthFixRight: number;
25
+ totalCount: number;
26
+ isMulti?: boolean;
27
+ selectEnable?: boolean;
28
+ editDisable?: boolean;
29
+ addDisable?: boolean;
30
+ defaultValue?: any;
31
+ fieldKey: string;
32
+ fieldUniKey?: string[];
33
+ formatSetting?: IFTableEditFormat;
34
+ toolbarSetting?: IFTableEditToolbar;
35
+ buttonSetting?: IFTableEditButton;
36
+ tableElement: any;
37
+ isCopying: MutableRefObject<boolean>;
38
+ typeDragging: MutableRefObject<number>;
39
+ visibleContentColumns: IColumnTable[];
40
+ filterBy: IFFilterTable[];
41
+ orderBy: IFOrderTable[];
42
+ optionsFilter: any;
43
+ allowFilter?: boolean;
44
+ allowOrder?: boolean;
45
+ searchSetting?: any;
46
+ searchTerm?: string;
47
+ pagingClient?: boolean;
48
+ pagingSetting?: IFTableEditPaging;
49
+ haveSum?: boolean;
50
+ rowChange?: (row: any, indexRow: number, field: string) => void;
51
+ setSelectedRows: Dispatch<SetStateAction<any[]>>;
52
+ handleDataChange: (row: any, col: IColumnTable, indexRow: number) => void;
53
+ changeDataSource: (newData: any[]) => void;
54
+ handleCommandClick: (id: string, rowData: any, index: number) => void;
55
+ handleDuplicate: () => void;
56
+ handleKeyDown: (e: React.KeyboardEvent<HTMLDivElement>, row: any) => void;
57
+ onDuplicate?: ((newData: any, index: number) => void);
58
+ setSelectedCell: (cell: any) => void;
59
+ setStartCell: (cell: any) => void;
60
+ focusEditElementCell: (e: any, row: number, col: number) => void;
61
+ setFilterBy: (val: any[]) => void;
62
+ setOrderBy: (val: any[]) => void;
63
+ saveSettingColumn?: (cols: any[]) => void;
64
+ checkRowMatch: (row: any, filterBy: any[], searchTerm: string, keyField: string[]) => boolean;
65
+ handeCopyCell: (indexColCopy: number, indexRowCopy: number, maxRowPaste: number) => Promise<void>;
66
+ }
67
+ declare const TableComponent: React.FC<TableComponentProps>;
68
+ export default TableComponent;
@@ -2,7 +2,6 @@ import { KeyboardEvent } from "react";
2
2
  import { ICellInfo, IColumnTable, IFTableEditPaging } from "../type";
3
3
  export interface KeyHandlerParams {
4
4
  row: any;
5
- dataSource: any[];
6
5
  startCell: ICellInfo;
7
6
  contentColumns: IColumnTable[];
8
7
  pagingClient?: boolean;
@@ -11,17 +10,16 @@ export interface KeyHandlerParams {
11
10
  editDisable?: boolean;
12
11
  addDisable?: boolean;
13
12
  pagingSetting?: IFTableEditPaging;
14
- changeDataSource: (data: any[], numberOfRows?: number) => void;
15
- rowChange?: (row: any, indexRow: number, field: string) => void;
16
13
  handleDuplicate: () => void;
17
14
  handleAdd: () => void;
18
15
  addMoveNewCell: () => void;
19
16
  handleFocusCell: (row: number, col: number, type: 0 | 1) => void;
17
+ handeCopyCell: (indexColCopy: number, indexRowCopy: number, maxRowPaste: number) => Promise<void>;
20
18
  }
21
19
  export declare const handleArrowRight: (e: KeyboardEvent<any>, params: KeyHandlerParams) => void;
22
20
  export declare const handleArrowLeft: (e: KeyboardEvent<any>, params: KeyHandlerParams) => void;
23
- export declare const handleArrowUp: (e: KeyboardEvent<any>, params: KeyHandlerParams) => void;
24
- export declare const handleArrowDown: (e: KeyboardEvent<any>, params: KeyHandlerParams) => void;
21
+ export declare const handleArrowUp: (e: KeyboardEvent<any>, params: KeyHandlerParams) => Promise<void>;
22
+ export declare const handleArrowDown: (e: KeyboardEvent<any>, params: KeyHandlerParams) => Promise<void>;
25
23
  export declare const handleTab: (e: KeyboardEvent<any>, params: KeyHandlerParams) => void;
26
24
  export declare const handleEnter: (e: KeyboardEvent<any>, params: KeyHandlerParams) => void;
27
25
  export declare const handleCtrlD: (e: KeyboardEvent<any>, params: KeyHandlerParams) => void;
@@ -8,7 +8,7 @@ type ITextAlign = "center" | "left" | "right";
8
8
  * Lưu ý:
9
9
  * - Các loại 'text', 'numeric', 'datetime' không được dùng cho view.
10
10
  */
11
- type IColumnType = "#" | "command" | "text" | "numeric" | "datetime" | "date" | "checkbox" | "select" | "form" | "formInline" | "color" | "selectTree";
11
+ export type IColumnType = "#" | "command" | "text" | "numeric" | "datetime" | "date" | "checkbox" | "select" | "form" | "formInline" | "color" | "selectTree";
12
12
  /** Loại lọc của cột */
13
13
  type IFilterType = "text" | "numeric" | "date" | "select";
14
14
  export type ICellInfo = {
@@ -200,7 +200,7 @@ export type IColumnTable = {
200
200
  /** Template hiển thị khi không ở chế độ edit */
201
201
  template?: (row: any, indexRow: number) => JSX.Element | string | number | undefined;
202
202
  /** Xác định loại edit dựa trên điều kiện */
203
- typeCondition?: (row: any) => string;
203
+ typeCondition?: (row: any) => IColumnType;
204
204
  /** Sự kiện khi paste dữ liệu */
205
205
  onPaste?: (dataRow: any, dataPaste: any) => void;
206
206
  /** Xác thực dữ liệu được paste */
package/dist/index.d.ts CHANGED
@@ -204,7 +204,7 @@ type IColumnTable = {
204
204
  /** Template hiển thị khi không ở chế độ edit */
205
205
  template?: (row: any, indexRow: number) => JSX.Element | string | number | undefined;
206
206
  /** Xác định loại edit dựa trên điều kiện */
207
- typeCondition?: (row: any) => string;
207
+ typeCondition?: (row: any) => IColumnType;
208
208
  /** Sự kiện khi paste dữ liệu */
209
209
  onPaste?: (dataRow: any, dataPaste: any) => void;
210
210
  /** Xác thực dữ liệu được paste */
@@ -789,4 +789,4 @@ type IFProps = {
789
789
  declare const Wizard: React.ForwardRefExoticComponent<IFProps & React.RefAttributes<unknown>>;
790
790
 
791
791
  export { ExportExcelComponent, FindNodeByPath, InputStyleComponent, ModalImportComponent, SelectTable, SelectTableTree, TableView, TabsMenuComponent, Wizard, calculateTableStructure, checkDecimalSeparator, checkThousandSeparator, TableEdit as default, formartNumberic, formatDateTime, generateUUID, isNullOrUndefined, messageBoxConfirm, messageBoxConfirmAsync, messageBoxConfirmDelete, messageBoxError, messageHtmlBoxConfirm, messageHtmlBoxConfirmAsync, messageHtmlBoxError, notificationError, notificationSuccess, roundNumber, useOnClickOutside };
792
- export type { FromItemsField, ICellInfo, IColumnTable, IColumnsAgg, ICommandItem, IFColumnSelectTable, IFColumnSelectTableTree, IFCurrentPage, IFCurrentPageConfig, IFFilterTable, IFOrderTable, IFPageSize, IFSettingColumns, IFTableEditButton, IFTableEditFormat, IFTableEditPaging, IFTableEditSearchSetting, IFTableEditToolbar, IFTableSelectFormat, IFTableTreeSelectFormat, IFToolbarOptions, IHeaderColumnTable, ISettingFormElement, ISettingNumericElement, ISettingSelectElement };
792
+ export type { FromItemsField, ICellInfo, IColumnTable, IColumnType, IColumnsAgg, ICommandItem, IFColumnSelectTable, IFColumnSelectTableTree, IFCurrentPage, IFCurrentPageConfig, IFFilterTable, IFOrderTable, IFPageSize, IFSettingColumns, IFTableEditButton, IFTableEditFormat, IFTableEditPaging, IFTableEditSearchSetting, IFTableEditToolbar, IFTableSelectFormat, IFTableTreeSelectFormat, IFToolbarOptions, IHeaderColumnTable, ISettingFormElement, ISettingNumericElement, ISettingSelectElement };