@tsed/react-formio 1.9.9 → 1.10.3

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.
@@ -19,6 +19,6 @@ export * from "./pagination/pagination.component";
19
19
  export * from "./react-component/reactComponent.component";
20
20
  export * from "./select/select.component";
21
21
  export * from "./submissions-table/submissionsTable.component";
22
- export * from "./table/table.component";
22
+ export * from "./table";
23
23
  export * from "./tabs/tabs.component";
24
24
  export * from "./loader/loader.component";
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { HeaderGroup } from "react-table";
3
- export interface DefaultCellHeaderProps<Data extends Record<string, unknown> = {}> extends Record<string, unknown> {
3
+ export interface DefaultCellHeaderProps<Data extends object = any> extends Record<string, unknown> {
4
4
  column: HeaderGroup<Data>;
5
5
  }
6
6
  export declare function DefaultCellHeader<Data extends Record<string, unknown> = {}>({ column }: DefaultCellHeaderProps): JSX.Element;
@@ -0,0 +1,11 @@
1
+ export * from "./utils/useOperations.hook";
2
+ export * from "./components/cell.component";
3
+ export * from "./components/defaultArrowSort.component";
4
+ export * from "./components/defaultCellHeader.component";
5
+ export * from "./components/defaultCellHeader.component";
6
+ export * from "./components/defaultCellOperations.component";
7
+ export * from "./components/defaultOperationButton.component";
8
+ export * from "./filters/defaultColumnFilter.component";
9
+ export * from "./filters/selectColumnFilter.component";
10
+ export * from "./filters/sliderColumnFilter.component";
11
+ export * from "./table.component";
@@ -2,7 +2,7 @@ import React, { PropsWithChildren } from "react";
2
2
  import { CellProps, FilterProps, Renderer, TableOptions } from "react-table";
3
3
  import { OnClickOperation, Operation, QueryOptions } from "../../interfaces";
4
4
  import { DefaultCellHeaderProps } from "./components/defaultCellHeader.component";
5
- export interface TableProps<Data extends Record<string, unknown> = {}> extends TableOptions<Data>, Partial<QueryOptions> {
5
+ export interface TableProps<Data extends object = any> extends TableOptions<Data>, Partial<QueryOptions> {
6
6
  className?: string;
7
7
  /**
8
8
  * Call the listener when a filter / pagination / sort change.
@@ -60,10 +60,13 @@ export interface TableProps<Data extends Record<string, unknown> = {}> extends T
60
60
  * Disable pagination
61
61
  */
62
62
  disablePagination?: boolean;
63
+ manualPagination?: boolean;
64
+ manualSortBy?: boolean;
65
+ manualFilters?: boolean;
63
66
  /**
64
67
  * Configuration operation for each line.
65
68
  */
66
69
  operations?: Operation[];
67
70
  i18n?: (f: string) => string;
68
71
  }
69
- export declare function Table<Data extends Record<string, unknown>>(props: PropsWithChildren<TableProps<Data>>): JSX.Element;
72
+ export declare function Table<Data extends object = any>(props: PropsWithChildren<TableProps<Data>>): JSX.Element;
package/dist/index.js CHANGED
@@ -2272,9 +2272,9 @@ function Table(props) {
2272
2272
  pageSize: controlledPageSize || 10,
2273
2273
  sortBy: controlledSortBy || []
2274
2274
  }),
2275
- manualPagination: true,
2276
- manualSortBy: true,
2277
- manualFilters: true,
2275
+ manualPagination: props.manualPagination === undefined ? true : props.manualPagination,
2276
+ manualSortBy: props.manualSortBy === undefined ? true : props.manualPagination,
2277
+ manualFilters: props.manualFilters === undefined ? true : props.manualFilters,
2278
2278
  disableFilters: disableFilters,
2279
2279
  filterId: filterId,
2280
2280
  setFilterId: setFilterId
@@ -2330,14 +2330,16 @@ function Table(props) {
2330
2330
  colSpan: colspan
2331
2331
  }, cell.getCellProps()), cell.render("Cell"));
2332
2332
  }));
2333
- })) : null), isLoading ? React__default['default'].createElement(Loader, null) : null, !data.length ? React__default['default'].createElement(EmptyData, null) : null, !isLoading && data.length && !disablePagination ? React__default['default'].createElement(Pagination$1, Object.assign({}, tableInstance, {
2333
+ })) : null), isLoading ? React__default['default'].createElement(Loader, null) : null, !data.length ? React__default['default'].createElement(EmptyData, null) : null, !isLoading && data.length && !disablePagination ? React__default['default'].createElement("div", {
2334
+ className: "overflow-hidden"
2335
+ }, React__default['default'].createElement(Pagination$1, Object.assign({}, tableInstance, {
2334
2336
  className: "text-sm",
2335
2337
  pageIndex: pageIndex,
2336
2338
  pageSize: pageSize,
2337
2339
  pageSizes: pageSizes,
2338
2340
  setPageSize: setPageSize,
2339
2341
  i18n: i18n
2340
- })) : null, children);
2342
+ }))) : null, children);
2341
2343
  }
2342
2344
 
2343
2345
  function ActionsTable(_ref) {
@@ -22789,6 +22791,40 @@ function SubmissionsTable(_ref) {
22789
22791
  }));
22790
22792
  }
22791
22793
 
22794
+ function SliderColumnFilter(_ref) {
22795
+ var _ref$column = _ref.column,
22796
+ filterValue = _ref$column.filterValue,
22797
+ setFilter = _ref$column.setFilter,
22798
+ preFilteredRows = _ref$column.preFilteredRows,
22799
+ id = _ref$column.id;
22800
+
22801
+ var _React$useMemo = React__default['default'].useMemo(function () {
22802
+ var min = preFilteredRows.length ? preFilteredRows[0].values[id] : 0;
22803
+ var max = preFilteredRows.length ? preFilteredRows[0].values[id] : 0;
22804
+ preFilteredRows.forEach(function (row) {
22805
+ min = Math.min(row.values[id], min);
22806
+ max = Math.max(row.values[id], max);
22807
+ });
22808
+ return [min, max];
22809
+ }, [id, preFilteredRows]),
22810
+ min = _React$useMemo[0],
22811
+ max = _React$useMemo[1];
22812
+
22813
+ return React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement("input", {
22814
+ type: 'range',
22815
+ min: min,
22816
+ max: max,
22817
+ value: filterValue || min,
22818
+ onChange: function onChange(e) {
22819
+ setFilter(parseInt(e.target.value, 10));
22820
+ }
22821
+ }), React__default['default'].createElement("button", {
22822
+ onClick: function onClick() {
22823
+ return setFilter(undefined);
22824
+ }
22825
+ }, "Off"));
22826
+ }
22827
+
22792
22828
  function ButtonTab(_ref) {
22793
22829
  var icon = _ref.icon,
22794
22830
  back = _ref.back,
@@ -22943,6 +22979,12 @@ exports.ActionsTable = ActionsTable;
22943
22979
  exports.Alert = Alert;
22944
22980
  exports.ButtonTab = ButtonTab;
22945
22981
  exports.Card = Card;
22982
+ exports.Cell = Cell;
22983
+ exports.DefaultArrowSort = DefaultArrowSort;
22984
+ exports.DefaultCellHeader = DefaultCellHeader;
22985
+ exports.DefaultCellOperations = DefaultCellOperations;
22986
+ exports.DefaultColumnFilter = DefaultColumnFilter;
22987
+ exports.DefaultOperationButton = DefaultOperationButton;
22946
22988
  exports.Form = Form;
22947
22989
  exports.FormAccess = FormAccess;
22948
22990
  exports.FormAction = FormAction;
@@ -22961,6 +23003,8 @@ exports.Pagination = Pagination;
22961
23003
  exports.ReactComponent = ReactComponent;
22962
23004
  exports.RemoveModal = RemoveModal;
22963
23005
  exports.Select = Select;
23006
+ exports.SelectColumnFilter = SelectColumnFilter;
23007
+ exports.SliderColumnFilter = SliderColumnFilter;
22964
23008
  exports.SubmissionsTable = SubmissionsTable;
22965
23009
  exports.Table = Table;
22966
23010
  exports.Tabs = Tabs;
@@ -23063,6 +23107,7 @@ exports.submissionAccessUser = submissionAccessUser;
23063
23107
  exports.submissionReducer = submissionReducer;
23064
23108
  exports.submissionsReducer = submissionsReducer;
23065
23109
  exports.useModal = useModal;
23110
+ exports.useOperations = useOperations;
23066
23111
  exports.useTooltip = useTooltip;
23067
23112
  exports.userForms = userForms;
23068
23113
  exports.userRoles = userRoles;