@natoora-libs/core 0.2.4 → 0.2.5-dev-prod-list-bulk-changes-1

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.
@@ -16,8 +16,8 @@ declare const TableDesktopFooter: FC<TableDesktopFooterProps>;
16
16
 
17
17
  type BulkChanges = {
18
18
  field: string;
19
- value: string | number | boolean;
20
- label: string | number | boolean;
19
+ value: UpdateEditableCellParams['value'];
20
+ label: UpdateEditableCellParams['label'];
21
21
  }[];
22
22
  type TableColumnConfigurationMenuProps = {
23
23
  anchorEl: HTMLElement | null;
@@ -32,7 +32,7 @@ type ExportCsvDialogProps = {
32
32
  };
33
33
  type BulkChangesDialogProps = {
34
34
  bulkChanges: BulkChanges;
35
- selectedRows: (string | number)[];
35
+ selectedRows: RowId[];
36
36
  shouldUpdateAll: boolean;
37
37
  visibleEditableColumns: HeadCell[];
38
38
  isBulkChangesDialogOpen: boolean;
@@ -43,7 +43,7 @@ type TableDesktopToolbarProps = {
43
43
  toolbarLabel?: string;
44
44
  headCells: HeadCell[];
45
45
  headerFilters: HeaderFilters;
46
- selectedRows: (string | number)[];
46
+ selectedRows: RowId[];
47
47
  isDataEmpty: boolean;
48
48
  totalDataCount?: number;
49
49
  isRowsFromAllPagesSelected: boolean;
@@ -63,7 +63,7 @@ type TableDesktopToolbarProps = {
63
63
  declare const TableDesktopToolbar: FC<TableDesktopToolbarProps>;
64
64
 
65
65
  type Order = 'asc' | 'desc';
66
- type EditableCellType = 'select' | 'checkbox' | 'text' | 'numeric';
66
+ type EditableCellType = 'select' | 'multipleSelect' | 'checkbox' | 'text' | 'numeric' | 'date' | 'time';
67
67
  type HeaderFilterObject = {
68
68
  id: number | string;
69
69
  [key: string]: number | string;
@@ -72,6 +72,13 @@ type HeaderFilterOptions = string[] | HeaderFilterObject[];
72
72
  type HeaderFilters = {
73
73
  [key: string]: HeaderFilterOptions;
74
74
  };
75
+ type UpdateEditableCellParams = {
76
+ rowId?: RowId;
77
+ columnId: string;
78
+ value: string | number | boolean | (string | number)[] | null;
79
+ label: string | number | boolean | (string | number)[] | null;
80
+ };
81
+ type RowId = string | number;
75
82
  type HeadCell = {
76
83
  id: string;
77
84
  label?: string;
@@ -82,15 +89,16 @@ type HeadCell = {
82
89
  width?: number | string;
83
90
  enabled?: boolean;
84
91
  disableSort?: boolean;
85
- RenderHeader?: ReactNode;
86
- editableCellType?: EditableCellType;
87
- validateInput?: (value: string | null) => boolean;
88
- onUpdateEditableCell?: (rowId: number, field: string, value: string | number | boolean, label: string | number | boolean) => void;
92
+ renderHeader?: ReactNode;
93
+ filterType?: 'default' | 'autocomplete' | 'boolean';
89
94
  filterOptions?: HeaderFilterOptions;
90
95
  refetchFilterOptions?: () => void;
91
96
  isFetchingFilterOptions?: boolean;
92
- isAutocompleteFilterMenu?: boolean;
93
- onAutocompleteFilterChange?: (value: string) => void;
97
+ editableCellType?: EditableCellType;
98
+ validateInput?: (value: string | null) => boolean;
99
+ onUpdateEditableCell?: (params: UpdateEditableCellParams) => void;
100
+ onAutocompleteSearch?: (value: string) => void;
101
+ allowBlankSelectOption?: boolean;
94
102
  };
95
103
  type TableDesktopProps = {
96
104
  data: any[];
@@ -115,7 +123,7 @@ type TableDesktopProps = {
115
123
  showClearFilterButton?: boolean;
116
124
  handleClickOnClearFiltersButton?: () => void;
117
125
  deleteItem?: (id: number, contentTypeName?: string, appTypeName?: string) => void;
118
- keyField?: string;
126
+ keyField?: string | ((rowData: any) => string);
119
127
  tableLayout?: 'fixed' | 'auto';
120
128
  onApplyFilters?: (updatedFilters: HeaderFilters, shouldSave: boolean) => void;
121
129
  refetchData?: () => Promise<unknown>;
@@ -123,4 +131,4 @@ type TableDesktopProps = {
123
131
  };
124
132
  declare const TableDesktop: ({ data, headCells, RenderItem, renderToolbar, renderFooter, appliedFilters, headerFilters, children, height, rowHeight, rowsPerPage, totalDataCount, isLoading, enableEditMode, disableInternalSort, updateSort, showClearFilterButton, handleClickOnClearFiltersButton, deleteItem, keyField, tableLayout, onApplyFilters, shouldShowCheckOnFilter, refetchData, }: TableDesktopProps) => react_jsx_runtime.JSX.Element;
125
133
 
126
- export { type BulkChanges as B, type EditableCellType as E, type HeadCell as H, type Order as O, type TableDesktopProps as T, type HeaderFilters as a, type HeaderFilterOptions as b, type HeaderFilterObject as c, TableDesktop as d, TableDesktopFooter as e, type TableDesktopFooterProps as f, TableDesktopToolbar as g, type TableDesktopToolbarProps as h, type TableColumnConfigurationMenuProps as i, type BulkChangesDialogProps as j, type ExportCsvDialogProps as k };
134
+ export { type BulkChanges as B, type EditableCellType as E, type HeadCell as H, type Order as O, type RowId as R, type TableDesktopProps as T, type UpdateEditableCellParams as U, type HeaderFilters as a, type HeaderFilterOptions as b, type HeaderFilterObject as c, TableDesktop as d, TableDesktopFooter as e, type TableDesktopFooterProps as f, TableDesktopToolbar as g, type TableDesktopToolbarProps as h, type TableColumnConfigurationMenuProps as i, type BulkChangesDialogProps as j, type ExportCsvDialogProps as k };
@@ -16,8 +16,8 @@ declare const TableDesktopFooter: FC<TableDesktopFooterProps>;
16
16
 
17
17
  type BulkChanges = {
18
18
  field: string;
19
- value: string | number | boolean;
20
- label: string | number | boolean;
19
+ value: UpdateEditableCellParams['value'];
20
+ label: UpdateEditableCellParams['label'];
21
21
  }[];
22
22
  type TableColumnConfigurationMenuProps = {
23
23
  anchorEl: HTMLElement | null;
@@ -32,7 +32,7 @@ type ExportCsvDialogProps = {
32
32
  };
33
33
  type BulkChangesDialogProps = {
34
34
  bulkChanges: BulkChanges;
35
- selectedRows: (string | number)[];
35
+ selectedRows: RowId[];
36
36
  shouldUpdateAll: boolean;
37
37
  visibleEditableColumns: HeadCell[];
38
38
  isBulkChangesDialogOpen: boolean;
@@ -43,7 +43,7 @@ type TableDesktopToolbarProps = {
43
43
  toolbarLabel?: string;
44
44
  headCells: HeadCell[];
45
45
  headerFilters: HeaderFilters;
46
- selectedRows: (string | number)[];
46
+ selectedRows: RowId[];
47
47
  isDataEmpty: boolean;
48
48
  totalDataCount?: number;
49
49
  isRowsFromAllPagesSelected: boolean;
@@ -63,7 +63,7 @@ type TableDesktopToolbarProps = {
63
63
  declare const TableDesktopToolbar: FC<TableDesktopToolbarProps>;
64
64
 
65
65
  type Order = 'asc' | 'desc';
66
- type EditableCellType = 'select' | 'checkbox' | 'text' | 'numeric';
66
+ type EditableCellType = 'select' | 'multipleSelect' | 'checkbox' | 'text' | 'numeric' | 'date' | 'time';
67
67
  type HeaderFilterObject = {
68
68
  id: number | string;
69
69
  [key: string]: number | string;
@@ -72,6 +72,13 @@ type HeaderFilterOptions = string[] | HeaderFilterObject[];
72
72
  type HeaderFilters = {
73
73
  [key: string]: HeaderFilterOptions;
74
74
  };
75
+ type UpdateEditableCellParams = {
76
+ rowId?: RowId;
77
+ columnId: string;
78
+ value: string | number | boolean | (string | number)[] | null;
79
+ label: string | number | boolean | (string | number)[] | null;
80
+ };
81
+ type RowId = string | number;
75
82
  type HeadCell = {
76
83
  id: string;
77
84
  label?: string;
@@ -82,15 +89,16 @@ type HeadCell = {
82
89
  width?: number | string;
83
90
  enabled?: boolean;
84
91
  disableSort?: boolean;
85
- RenderHeader?: ReactNode;
86
- editableCellType?: EditableCellType;
87
- validateInput?: (value: string | null) => boolean;
88
- onUpdateEditableCell?: (rowId: number, field: string, value: string | number | boolean, label: string | number | boolean) => void;
92
+ renderHeader?: ReactNode;
93
+ filterType?: 'default' | 'autocomplete' | 'boolean';
89
94
  filterOptions?: HeaderFilterOptions;
90
95
  refetchFilterOptions?: () => void;
91
96
  isFetchingFilterOptions?: boolean;
92
- isAutocompleteFilterMenu?: boolean;
93
- onAutocompleteFilterChange?: (value: string) => void;
97
+ editableCellType?: EditableCellType;
98
+ validateInput?: (value: string | null) => boolean;
99
+ onUpdateEditableCell?: (params: UpdateEditableCellParams) => void;
100
+ onAutocompleteSearch?: (value: string) => void;
101
+ allowBlankSelectOption?: boolean;
94
102
  };
95
103
  type TableDesktopProps = {
96
104
  data: any[];
@@ -115,7 +123,7 @@ type TableDesktopProps = {
115
123
  showClearFilterButton?: boolean;
116
124
  handleClickOnClearFiltersButton?: () => void;
117
125
  deleteItem?: (id: number, contentTypeName?: string, appTypeName?: string) => void;
118
- keyField?: string;
126
+ keyField?: string | ((rowData: any) => string);
119
127
  tableLayout?: 'fixed' | 'auto';
120
128
  onApplyFilters?: (updatedFilters: HeaderFilters, shouldSave: boolean) => void;
121
129
  refetchData?: () => Promise<unknown>;
@@ -123,4 +131,4 @@ type TableDesktopProps = {
123
131
  };
124
132
  declare const TableDesktop: ({ data, headCells, RenderItem, renderToolbar, renderFooter, appliedFilters, headerFilters, children, height, rowHeight, rowsPerPage, totalDataCount, isLoading, enableEditMode, disableInternalSort, updateSort, showClearFilterButton, handleClickOnClearFiltersButton, deleteItem, keyField, tableLayout, onApplyFilters, shouldShowCheckOnFilter, refetchData, }: TableDesktopProps) => react_jsx_runtime.JSX.Element;
125
133
 
126
- export { type BulkChanges as B, type EditableCellType as E, type HeadCell as H, type Order as O, type TableDesktopProps as T, type HeaderFilters as a, type HeaderFilterOptions as b, type HeaderFilterObject as c, TableDesktop as d, TableDesktopFooter as e, type TableDesktopFooterProps as f, TableDesktopToolbar as g, type TableDesktopToolbarProps as h, type TableColumnConfigurationMenuProps as i, type BulkChangesDialogProps as j, type ExportCsvDialogProps as k };
134
+ export { type BulkChanges as B, type EditableCellType as E, type HeadCell as H, type Order as O, type RowId as R, type TableDesktopProps as T, type UpdateEditableCellParams as U, type HeaderFilters as a, type HeaderFilterOptions as b, type HeaderFilterObject as c, TableDesktop as d, TableDesktopFooter as e, type TableDesktopFooterProps as f, TableDesktopToolbar as g, type TableDesktopToolbarProps as h, type TableColumnConfigurationMenuProps as i, type BulkChangesDialogProps as j, type ExportCsvDialogProps as k };