sti-antd-package 0.0.36 → 0.0.38

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.
@@ -3,7 +3,7 @@ import { TableAsyncSearchItem } from "./Search";
3
3
  import { AnyObject } from "antd/es/_util/type";
4
4
  import { ColumnGroupType, ColumnType, TableRowSelection } from "antd/es/table/interface";
5
5
  import { Ref } from "react";
6
- export type DefaultColumn = (ColumnType | ColumnGroupType);
6
+ export type DefaultColumn<RecordType = AnyObject> = (ColumnType<RecordType> | ColumnGroupType<RecordType>);
7
7
  export interface DefaultParams {
8
8
  page?: number;
9
9
  per_page?: number;
@@ -11,12 +11,12 @@ export interface DefaultParams {
11
11
  sort_order?: 'asc' | 'desc';
12
12
  q?: string;
13
13
  }
14
- export type YajraColumn = ColumnType & {
14
+ export type YajraColumn<RecordType = AnyObject> = ColumnType<RecordType> & {
15
15
  dataIndex?: string | string[];
16
16
  dataIndexName?: string | string[];
17
17
  searchable?: boolean;
18
18
  orderable?: boolean;
19
- children?: YajraColumn[];
19
+ children?: YajraColumn<RecordType>[];
20
20
  };
21
21
  export interface YajraSearchParams {
22
22
  value: string;
@@ -12,16 +12,19 @@ export interface TableButtonMiddle {
12
12
  export interface TableComponentProps<T extends (BaseModel<T> | AnyObject)> {
13
13
  noPagination?: boolean;
14
14
  buttonReload?: {
15
+ text?: boolean;
15
16
  onClick?: React.MouseEventHandler<HTMLElement>;
16
17
  href?: string;
17
18
  };
18
19
  buttonAdd?: {
20
+ text?: boolean;
19
21
  disabled?: boolean;
20
22
  onClick?: React.MouseEventHandler<HTMLElement>;
21
23
  href?: string;
22
24
  };
23
25
  buttonMiddle?: TableButtonMiddle[];
24
26
  buttonDelete?: {
27
+ text?: boolean;
25
28
  disabled?: boolean;
26
29
  onClick?: (event: React.MouseEvent<HTMLElement>, selectedRowKeys: React.Key[] | undefined) => void;
27
30
  };
@@ -36,13 +36,13 @@ export interface TableAsyncSearchContextType {
36
36
  }>>;
37
37
  }
38
38
  export type TableAsyncType = "default" | "yajra";
39
- interface YajraTableProps {
39
+ interface YajraTableProps<RecordType = AnyObject> {
40
40
  type: "yajra";
41
- columns: YajraColumn[];
41
+ columns: YajraColumn<RecordType>[];
42
42
  }
43
- interface DefaultTableProps {
43
+ interface DefaultTableProps<RecordType = AnyObject> {
44
44
  type: "default";
45
- columns: DefaultColumn[];
45
+ columns: DefaultColumn<RecordType>[];
46
46
  }
47
47
  export interface TableParamsFormatter {
48
48
  current?: number;
@@ -50,7 +50,7 @@ export interface TableParamsFormatter {
50
50
  sorter?: SorterResult<AnyObject> | SorterResult<AnyObject>[];
51
51
  search?: string;
52
52
  }
53
- export type TableAsyncSearchProviderProps = (YajraTableProps | DefaultTableProps) & {
53
+ export type TableAsyncSearchProviderProps<RecordType = AnyObject> = (YajraTableProps<RecordType> | DefaultTableProps<RecordType>) & {
54
54
  type: TableAsyncType;
55
55
  noPagination?: boolean;
56
56
  name?: string;
package/dist/index.d.ts CHANGED
@@ -735,16 +735,19 @@ interface TableButtonMiddle {
735
735
  interface TableComponentProps<T extends (BaseModel<T> | AnyObject)> {
736
736
  noPagination?: boolean;
737
737
  buttonReload?: {
738
+ text?: boolean;
738
739
  onClick?: React.MouseEventHandler<HTMLElement>;
739
740
  href?: string;
740
741
  };
741
742
  buttonAdd?: {
743
+ text?: boolean;
742
744
  disabled?: boolean;
743
745
  onClick?: React.MouseEventHandler<HTMLElement>;
744
746
  href?: string;
745
747
  };
746
748
  buttonMiddle?: TableButtonMiddle[];
747
749
  buttonDelete?: {
750
+ text?: boolean;
748
751
  disabled?: boolean;
749
752
  onClick?: (event: React.MouseEvent<HTMLElement>, selectedRowKeys: React.Key[] | undefined) => void;
750
753
  };
@@ -903,13 +906,13 @@ interface TableAsyncSearchContextType {
903
906
  }>>;
904
907
  }
905
908
  type TableAsyncType = "default" | "yajra";
906
- interface YajraTableProps {
909
+ interface YajraTableProps<RecordType = AnyObject> {
907
910
  type: "yajra";
908
- columns: YajraColumn[];
911
+ columns: YajraColumn<RecordType>[];
909
912
  }
910
- interface DefaultTableProps {
913
+ interface DefaultTableProps<RecordType = AnyObject> {
911
914
  type: "default";
912
- columns: DefaultColumn[];
915
+ columns: DefaultColumn<RecordType>[];
913
916
  }
914
917
  interface TableParamsFormatter {
915
918
  current?: number;
@@ -917,7 +920,7 @@ interface TableParamsFormatter {
917
920
  sorter?: SorterResult<AnyObject> | SorterResult<AnyObject>[];
918
921
  search?: string;
919
922
  }
920
- type TableAsyncSearchProviderProps = (YajraTableProps | DefaultTableProps) & {
923
+ type TableAsyncSearchProviderProps<RecordType = AnyObject> = (YajraTableProps<RecordType> | DefaultTableProps<RecordType>) & {
921
924
  type: TableAsyncType;
922
925
  noPagination?: boolean;
923
926
  name?: string;
@@ -941,7 +944,7 @@ declare const TableRowProvider: React$1.FC<TableRowProviderProps>;
941
944
 
942
945
  declare const useTableRow: () => TableRowContextType;
943
946
 
944
- type DefaultColumn = (ColumnType | ColumnGroupType);
947
+ type DefaultColumn<RecordType = AnyObject> = (ColumnType<RecordType> | ColumnGroupType<RecordType>);
945
948
  interface DefaultParams {
946
949
  page?: number;
947
950
  per_page?: number;
@@ -949,12 +952,12 @@ interface DefaultParams {
949
952
  sort_order?: 'asc' | 'desc';
950
953
  q?: string;
951
954
  }
952
- type YajraColumn = ColumnType & {
955
+ type YajraColumn<RecordType = AnyObject> = ColumnType<RecordType> & {
953
956
  dataIndex?: string | string[];
954
957
  dataIndexName?: string | string[];
955
958
  searchable?: boolean;
956
959
  orderable?: boolean;
957
- children?: YajraColumn[];
960
+ children?: YajraColumn<RecordType>[];
958
961
  };
959
962
  interface YajraSearchParams {
960
963
  value: string;
package/dist/index.esm.js CHANGED
@@ -4106,7 +4106,9 @@ const FeedbackProvider = ({ children }) => {
4106
4106
  return (jsxRuntimeExports.jsxs(FeedbackContext.Provider, { value: value, children: [messageContext, notificationContext, children, modalContext, jsxRuntimeExports.jsx(Spin, { fullscreen: true, spinning: loading, rootClassName: styleFeedback['z-10000'] })] }));
4107
4107
  };
4108
4108
 
4109
- const TableAsyncSearchContext = createContext({});
4109
+ const TableAsyncSearchContext = createContext({
4110
+ params: () => ({}),
4111
+ });
4110
4112
  const useTableAsyncSearch = () => useContext(TableAsyncSearchContext);
4111
4113
 
4112
4114
  const TableAsyncSearchProvider = props => {
@@ -8414,9 +8416,9 @@ const TableComponent = ({ noPagination, buttonReload, buttonAdd, buttonMiddle, b
8414
8416
  classNames: classNamesClone,
8415
8417
  });
8416
8418
  };
8417
- return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(Row, { className: styleTable['row-top'], children: [jsxRuntimeExports.jsxs(Col, Object.assign({}, styleProps$1.col, { children: [buttonReload && (jsxRuntimeExports.jsx(ButtonComponent$1, { tooltip: { title: "Reload" }, icon: jsxRuntimeExports.jsx(RefIcon$1, {}), classNames: [styleTable['button']], loading: loading, onClick: buttonReload.onClick, href: buttonReload.href })), buttonAdd && (jsxRuntimeExports.jsx(ButtonComponent$1, { type: "primary", tooltip: { title: "Add" }, icon: jsxRuntimeExports.jsx(RefIcon$5, {}), classNames: [styleTable['button']], disabled: buttonAdd.disabled, onClick: buttonAdd.onClick, href: buttonAdd.href })), (_b = buttonMiddle === null || buttonMiddle === void 0 ? void 0 : buttonMiddle.map) === null || _b === void 0 ? void 0 : _b.call(buttonMiddle, buttonMiddleClone), buttonDelete && (jsxRuntimeExports.jsx(ButtonComponent$1, { type: "primary", tooltip: { title: "Delete" }, icon: jsxRuntimeExports.jsx(RefIcon$b, {}), classNames: [styleTable['button']], disabled: buttonDelete.disabled || loading, onClick: event => { var _a; (_a = buttonDelete.onClick) === null || _a === void 0 ? void 0 : _a.call(buttonDelete, event, undefined); } }))] })), jsxRuntimeExports.jsxs(Col, Object.assign({}, styleProps$1.col, { children: [search && (jsxRuntimeExports.jsx(InputComponent$1, { noItem: true, placeholder: "Search", classNames: [styleTable['input-search']], readOnly: loading, onChange: search.onChange, onPressEnter: search.onPressEnter, suffix: jsxRuntimeExports.jsx(RefIcon$2, { onClick: search.onSearch }), allowClear: {
8419
+ return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [(buttonReload || buttonAdd || buttonMiddle || buttonDelete || search || buttonFilter) && (jsxRuntimeExports.jsxs(Row, { className: styleTable['row-top'], children: [jsxRuntimeExports.jsxs(Col, Object.assign({}, styleProps$1.col, { children: [buttonReload && (jsxRuntimeExports.jsx(ButtonComponent$1, { tooltip: !buttonReload.text ? { title: 'Reload' } : undefined, icon: jsxRuntimeExports.jsx(RefIcon$1, {}), classNames: [styleTable['button']], loading: loading, onClick: buttonReload.onClick, href: buttonReload.href, children: buttonReload.text ? 'Reload' : undefined })), buttonAdd && (jsxRuntimeExports.jsx(ButtonComponent$1, { type: "primary", tooltip: !buttonAdd.text ? { title: 'Add' } : undefined, icon: jsxRuntimeExports.jsx(RefIcon$5, {}), classNames: [styleTable['button']], disabled: buttonAdd.disabled, onClick: buttonAdd.onClick, href: buttonAdd.href, children: buttonAdd.text ? 'Add' : undefined })), (_b = buttonMiddle === null || buttonMiddle === void 0 ? void 0 : buttonMiddle.map) === null || _b === void 0 ? void 0 : _b.call(buttonMiddle, buttonMiddleClone), buttonDelete && (jsxRuntimeExports.jsx(ButtonComponent$1, { type: "primary", tooltip: !buttonDelete.text ? { title: 'Delete' } : undefined, icon: jsxRuntimeExports.jsx(RefIcon$b, {}), classNames: [styleTable['button']], disabled: buttonDelete.disabled || loading, onClick: event => { var _a; (_a = buttonDelete.onClick) === null || _a === void 0 ? void 0 : _a.call(buttonDelete, event, undefined); }, children: buttonDelete.text ? 'Delete' : undefined }))] })), jsxRuntimeExports.jsxs(Col, Object.assign({}, styleProps$1.col, { children: [search && (jsxRuntimeExports.jsx(InputComponent$1, { noItem: true, placeholder: "Search", classNames: [styleTable['input-search']], readOnly: loading, onChange: search.onChange, onPressEnter: search.onPressEnter, suffix: jsxRuntimeExports.jsx(RefIcon$2, { onClick: search.onSearch }), allowClear: {
8418
8420
  clearIcon: (jsxRuntimeExports.jsx(RefIcon$e, { onClick: search.onClear })),
8419
- } })), buttonFilter] }))] }), jsxRuntimeExports.jsx(Table, { showSorterTooltip: true, tableLayout: "fixed", className: "table-data", rowClassName: rowClassName, size: size !== null && size !== void 0 ? size : 'middle', columns: columns, rowKey: rowKey !== null && rowKey !== void 0 ? rowKey : 'id', dataSource: data, expandable: expandable, pagination: !noPagination && Object.assign({ pageSizeOptions: ['10', '20', '50', '100', '200'], showSizeChanger: true, showQuickJumper: true, showTotal: (total, range) => `${range[0]}-${range[1]} of ${total} items` }, pagination), loading: loading, scroll: scroll !== null && scroll !== void 0 ? scroll : { y: 'calc(100vh - 300px)' }, sticky: sticky, components: components, summary: summary, onChange: onChange, rowSelection: rowSelectionTable, style: style })] }));
8421
+ } })), buttonFilter] }))] })), jsxRuntimeExports.jsx(Table, { showSorterTooltip: true, tableLayout: "fixed", className: "table-data", rowClassName: rowClassName, size: size !== null && size !== void 0 ? size : 'middle', columns: columns, rowKey: rowKey !== null && rowKey !== void 0 ? rowKey : 'id', dataSource: data, expandable: expandable, pagination: !noPagination && Object.assign({ pageSizeOptions: ['10', '20', '50', '100', '200'], showSizeChanger: true, showQuickJumper: true, showTotal: (total, range) => `${range[0]}-${range[1]} of ${total} items` }, pagination), loading: loading, scroll: scroll !== null && scroll !== void 0 ? scroll : { y: 'calc(100vh - 300px)' }, sticky: sticky, components: components, summary: summary, onChange: onChange, rowSelection: rowSelectionTable, style: style })] }));
8420
8422
  };
8421
8423
  var TableComponent$1 = React__default.memo(TableComponent);
8422
8424
 
package/dist/index.js CHANGED
@@ -4125,7 +4125,9 @@ const FeedbackProvider = ({ children }) => {
4125
4125
  return (jsxRuntimeExports.jsxs(FeedbackContext.Provider, { value: value, children: [messageContext, notificationContext, children, modalContext, jsxRuntimeExports.jsx(antd.Spin, { fullscreen: true, spinning: loading, rootClassName: styleFeedback['z-10000'] })] }));
4126
4126
  };
4127
4127
 
4128
- const TableAsyncSearchContext = React.createContext({});
4128
+ const TableAsyncSearchContext = React.createContext({
4129
+ params: () => ({}),
4130
+ });
4129
4131
  const useTableAsyncSearch = () => React.useContext(TableAsyncSearchContext);
4130
4132
 
4131
4133
  const TableAsyncSearchProvider = props => {
@@ -8433,9 +8435,9 @@ const TableComponent = ({ noPagination, buttonReload, buttonAdd, buttonMiddle, b
8433
8435
  classNames: classNamesClone,
8434
8436
  });
8435
8437
  };
8436
- return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(antd.Row, { className: styleTable['row-top'], children: [jsxRuntimeExports.jsxs(antd.Col, Object.assign({}, styleProps$1.col, { children: [buttonReload && (jsxRuntimeExports.jsx(ButtonComponent$1, { tooltip: { title: "Reload" }, icon: jsxRuntimeExports.jsx(RefIcon$1, {}), classNames: [styleTable['button']], loading: loading, onClick: buttonReload.onClick, href: buttonReload.href })), buttonAdd && (jsxRuntimeExports.jsx(ButtonComponent$1, { type: "primary", tooltip: { title: "Add" }, icon: jsxRuntimeExports.jsx(RefIcon$5, {}), classNames: [styleTable['button']], disabled: buttonAdd.disabled, onClick: buttonAdd.onClick, href: buttonAdd.href })), (_b = buttonMiddle === null || buttonMiddle === void 0 ? void 0 : buttonMiddle.map) === null || _b === void 0 ? void 0 : _b.call(buttonMiddle, buttonMiddleClone), buttonDelete && (jsxRuntimeExports.jsx(ButtonComponent$1, { type: "primary", tooltip: { title: "Delete" }, icon: jsxRuntimeExports.jsx(RefIcon$b, {}), classNames: [styleTable['button']], disabled: buttonDelete.disabled || loading, onClick: event => { var _a; (_a = buttonDelete.onClick) === null || _a === void 0 ? void 0 : _a.call(buttonDelete, event, undefined); } }))] })), jsxRuntimeExports.jsxs(antd.Col, Object.assign({}, styleProps$1.col, { children: [search && (jsxRuntimeExports.jsx(InputComponent$1, { noItem: true, placeholder: "Search", classNames: [styleTable['input-search']], readOnly: loading, onChange: search.onChange, onPressEnter: search.onPressEnter, suffix: jsxRuntimeExports.jsx(RefIcon$2, { onClick: search.onSearch }), allowClear: {
8438
+ return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [(buttonReload || buttonAdd || buttonMiddle || buttonDelete || search || buttonFilter) && (jsxRuntimeExports.jsxs(antd.Row, { className: styleTable['row-top'], children: [jsxRuntimeExports.jsxs(antd.Col, Object.assign({}, styleProps$1.col, { children: [buttonReload && (jsxRuntimeExports.jsx(ButtonComponent$1, { tooltip: !buttonReload.text ? { title: 'Reload' } : undefined, icon: jsxRuntimeExports.jsx(RefIcon$1, {}), classNames: [styleTable['button']], loading: loading, onClick: buttonReload.onClick, href: buttonReload.href, children: buttonReload.text ? 'Reload' : undefined })), buttonAdd && (jsxRuntimeExports.jsx(ButtonComponent$1, { type: "primary", tooltip: !buttonAdd.text ? { title: 'Add' } : undefined, icon: jsxRuntimeExports.jsx(RefIcon$5, {}), classNames: [styleTable['button']], disabled: buttonAdd.disabled, onClick: buttonAdd.onClick, href: buttonAdd.href, children: buttonAdd.text ? 'Add' : undefined })), (_b = buttonMiddle === null || buttonMiddle === void 0 ? void 0 : buttonMiddle.map) === null || _b === void 0 ? void 0 : _b.call(buttonMiddle, buttonMiddleClone), buttonDelete && (jsxRuntimeExports.jsx(ButtonComponent$1, { type: "primary", tooltip: !buttonDelete.text ? { title: 'Delete' } : undefined, icon: jsxRuntimeExports.jsx(RefIcon$b, {}), classNames: [styleTable['button']], disabled: buttonDelete.disabled || loading, onClick: event => { var _a; (_a = buttonDelete.onClick) === null || _a === void 0 ? void 0 : _a.call(buttonDelete, event, undefined); }, children: buttonDelete.text ? 'Delete' : undefined }))] })), jsxRuntimeExports.jsxs(antd.Col, Object.assign({}, styleProps$1.col, { children: [search && (jsxRuntimeExports.jsx(InputComponent$1, { noItem: true, placeholder: "Search", classNames: [styleTable['input-search']], readOnly: loading, onChange: search.onChange, onPressEnter: search.onPressEnter, suffix: jsxRuntimeExports.jsx(RefIcon$2, { onClick: search.onSearch }), allowClear: {
8437
8439
  clearIcon: (jsxRuntimeExports.jsx(RefIcon$e, { onClick: search.onClear })),
8438
- } })), buttonFilter] }))] }), jsxRuntimeExports.jsx(antd.Table, { showSorterTooltip: true, tableLayout: "fixed", className: "table-data", rowClassName: rowClassName, size: size !== null && size !== void 0 ? size : 'middle', columns: columns, rowKey: rowKey !== null && rowKey !== void 0 ? rowKey : 'id', dataSource: data, expandable: expandable, pagination: !noPagination && Object.assign({ pageSizeOptions: ['10', '20', '50', '100', '200'], showSizeChanger: true, showQuickJumper: true, showTotal: (total, range) => `${range[0]}-${range[1]} of ${total} items` }, pagination), loading: loading, scroll: scroll !== null && scroll !== void 0 ? scroll : { y: 'calc(100vh - 300px)' }, sticky: sticky, components: components, summary: summary, onChange: onChange, rowSelection: rowSelectionTable, style: style })] }));
8440
+ } })), buttonFilter] }))] })), jsxRuntimeExports.jsx(antd.Table, { showSorterTooltip: true, tableLayout: "fixed", className: "table-data", rowClassName: rowClassName, size: size !== null && size !== void 0 ? size : 'middle', columns: columns, rowKey: rowKey !== null && rowKey !== void 0 ? rowKey : 'id', dataSource: data, expandable: expandable, pagination: !noPagination && Object.assign({ pageSizeOptions: ['10', '20', '50', '100', '200'], showSizeChanger: true, showQuickJumper: true, showTotal: (total, range) => `${range[0]}-${range[1]} of ${total} items` }, pagination), loading: loading, scroll: scroll !== null && scroll !== void 0 ? scroll : { y: 'calc(100vh - 300px)' }, sticky: sticky, components: components, summary: summary, onChange: onChange, rowSelection: rowSelectionTable, style: style })] }));
8439
8441
  };
8440
8442
  var TableComponent$1 = React.memo(TableComponent);
8441
8443
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sti-antd-package",
3
3
  "description": "STI ANT Design",
4
- "version": "0.0.36",
4
+ "version": "0.0.38",
5
5
  "type": "module",
6
6
  "module": "dist/index.esm.js",
7
7
  "types": "dist/index.d.ts",