@procore/data-table 14.9.0 → 14.10.0

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.
@@ -509,6 +509,9 @@ interface ColumnDefinition<TValue = any, TRenderer = React.FC<ICellRendererParam
509
509
  autoHeight?: boolean;
510
510
  wrapText?: boolean;
511
511
  lockPosition?: ColDef['lockPosition'];
512
+ rowDrag?: boolean | ((params: {
513
+ node: RowNode;
514
+ }) => boolean);
512
515
  }
513
516
  interface ExtendedColDef extends ColDef {
514
517
  bulkEditable?: ((params: IsEditableParams) => boolean) | boolean;
@@ -1156,7 +1159,11 @@ interface IFilterProps<Opt = any, Val = number | string | null> {
1156
1159
  headerName: string;
1157
1160
  value: Val extends string ? string[] : Val extends number ? number[] : unknown[];
1158
1161
  }) => React.FunctionComponent | string;
1159
- getFilterOptions?: () => Promise<Opt[]>;
1162
+ getFilterOptions?: (params?: {
1163
+ currentOffset?: number;
1164
+ searchQuery?: string;
1165
+ }) => Promise<Opt[] | IFilterOptions<Opt>>;
1166
+ onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void;
1160
1167
  getId?: (option: Opt) => Val extends string ? string : Val extends number ? number : unknown;
1161
1168
  getLabel?: (option: Opt) => string;
1162
1169
  groupName?: string;
@@ -1188,6 +1195,8 @@ interface FilterComponentProps<Opt = any, Val = Opt[] | NumberFilterModel> {
1188
1195
  getOptions?: () => Promise<boolean>;
1189
1196
  loading: boolean;
1190
1197
  onChange: (value: Opt[] | NumberFilterModel | undefined) => void;
1198
+ onScrollBottom?: () => void;
1199
+ onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void;
1191
1200
  onRemove: () => void;
1192
1201
  options: Opt[];
1193
1202
  value: Val;
@@ -1220,6 +1229,10 @@ interface IFilterState<Opt = any, Val = number | string> {
1220
1229
  interface IServerFiltersState {
1221
1230
  [field: string]: IFilterState;
1222
1231
  }
1232
+ interface IFilterOptions<UniversalOpt = any> {
1233
+ options: UniversalOpt[];
1234
+ totalOptions: number;
1235
+ }
1223
1236
  interface IFilterStorage<UniversalOpt = any, UniversalVal = number | string> {
1224
1237
  hasDefinedFilters: boolean;
1225
1238
  hasSelectedFilters: boolean;
@@ -1227,6 +1240,7 @@ interface IFilterStorage<UniversalOpt = any, UniversalVal = number | string> {
1227
1240
  getSelected: (field: string) => IFilterState<UniversalOpt, UniversalVal>;
1228
1241
  getListFilter: (field: string) => IFilterState<UniversalOpt, UniversalVal>;
1229
1242
  selectedFilters: IServerFiltersState;
1243
+ getTotalOptions: (field: string) => number;
1230
1244
  onChangeFilterValue: ({ field, value, }: {
1231
1245
  field: string;
1232
1246
  value: any;
@@ -1235,7 +1249,7 @@ interface IFilterStorage<UniversalOpt = any, UniversalVal = number | string> {
1235
1249
  onClearAllFilters: React.MouseEventHandler<HTMLButtonElement>;
1236
1250
  possibleFilters: string[];
1237
1251
  setSelectedFilters: (filters: IServerFilter[]) => void;
1238
- waitForStoredOptions: (field: string) => Promise<void>;
1252
+ waitForStoredOptions: (field: string, search?: string) => Promise<void>;
1239
1253
  filtersState: IServerFilter[];
1240
1254
  }
1241
1255
 
@@ -509,6 +509,9 @@ interface ColumnDefinition<TValue = any, TRenderer = React.FC<ICellRendererParam
509
509
  autoHeight?: boolean;
510
510
  wrapText?: boolean;
511
511
  lockPosition?: ColDef['lockPosition'];
512
+ rowDrag?: boolean | ((params: {
513
+ node: RowNode;
514
+ }) => boolean);
512
515
  }
513
516
  interface ExtendedColDef extends ColDef {
514
517
  bulkEditable?: ((params: IsEditableParams) => boolean) | boolean;
@@ -1156,7 +1159,11 @@ interface IFilterProps<Opt = any, Val = number | string | null> {
1156
1159
  headerName: string;
1157
1160
  value: Val extends string ? string[] : Val extends number ? number[] : unknown[];
1158
1161
  }) => React.FunctionComponent | string;
1159
- getFilterOptions?: () => Promise<Opt[]>;
1162
+ getFilterOptions?: (params?: {
1163
+ currentOffset?: number;
1164
+ searchQuery?: string;
1165
+ }) => Promise<Opt[] | IFilterOptions<Opt>>;
1166
+ onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void;
1160
1167
  getId?: (option: Opt) => Val extends string ? string : Val extends number ? number : unknown;
1161
1168
  getLabel?: (option: Opt) => string;
1162
1169
  groupName?: string;
@@ -1188,6 +1195,8 @@ interface FilterComponentProps<Opt = any, Val = Opt[] | NumberFilterModel> {
1188
1195
  getOptions?: () => Promise<boolean>;
1189
1196
  loading: boolean;
1190
1197
  onChange: (value: Opt[] | NumberFilterModel | undefined) => void;
1198
+ onScrollBottom?: () => void;
1199
+ onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void;
1191
1200
  onRemove: () => void;
1192
1201
  options: Opt[];
1193
1202
  value: Val;
@@ -1220,6 +1229,10 @@ interface IFilterState<Opt = any, Val = number | string> {
1220
1229
  interface IServerFiltersState {
1221
1230
  [field: string]: IFilterState;
1222
1231
  }
1232
+ interface IFilterOptions<UniversalOpt = any> {
1233
+ options: UniversalOpt[];
1234
+ totalOptions: number;
1235
+ }
1223
1236
  interface IFilterStorage<UniversalOpt = any, UniversalVal = number | string> {
1224
1237
  hasDefinedFilters: boolean;
1225
1238
  hasSelectedFilters: boolean;
@@ -1227,6 +1240,7 @@ interface IFilterStorage<UniversalOpt = any, UniversalVal = number | string> {
1227
1240
  getSelected: (field: string) => IFilterState<UniversalOpt, UniversalVal>;
1228
1241
  getListFilter: (field: string) => IFilterState<UniversalOpt, UniversalVal>;
1229
1242
  selectedFilters: IServerFiltersState;
1243
+ getTotalOptions: (field: string) => number;
1230
1244
  onChangeFilterValue: ({ field, value, }: {
1231
1245
  field: string;
1232
1246
  value: any;
@@ -1235,7 +1249,7 @@ interface IFilterStorage<UniversalOpt = any, UniversalVal = number | string> {
1235
1249
  onClearAllFilters: React.MouseEventHandler<HTMLButtonElement>;
1236
1250
  possibleFilters: string[];
1237
1251
  setSelectedFilters: (filters: IServerFilter[]) => void;
1238
- waitForStoredOptions: (field: string) => Promise<void>;
1252
+ waitForStoredOptions: (field: string, search?: string) => Promise<void>;
1239
1253
  filtersState: IServerFilter[];
1240
1254
  }
1241
1255