phx-react 1.3.1797 → 1.3.1798
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.
- package/dist/cjs/components/TableReport/TableReport.d.ts +2 -2
- package/dist/cjs/components/TableReport/TableReport.js +51 -21
- package/dist/cjs/components/TableReport/TableReport.js.map +1 -1
- package/dist/cjs/components/TableReport/component/ExpandedRows.d.ts +23 -0
- package/dist/cjs/components/TableReport/component/ExpandedRows.js +163 -0
- package/dist/cjs/components/TableReport/component/ExpandedRows.js.map +1 -0
- package/dist/cjs/components/TableReport/component/PaginaitonSelected.js +4 -1
- package/dist/cjs/components/TableReport/component/PaginaitonSelected.js.map +1 -1
- package/dist/cjs/components/TableReport/component/Pagination.js +4 -1
- package/dist/cjs/components/TableReport/component/Pagination.js.map +1 -1
- package/dist/cjs/components/TableReport/component/Row.d.ts +6 -1
- package/dist/cjs/components/TableReport/component/Row.js +10 -2
- package/dist/cjs/components/TableReport/component/Row.js.map +1 -1
- package/dist/cjs/components/TableReport/component/Search.js +7 -3
- package/dist/cjs/components/TableReport/component/Search.js.map +1 -1
- package/dist/cjs/components/TableReport/component/TableBodyRows.d.ts +33 -0
- package/dist/cjs/components/TableReport/component/TableBodyRows.js +68 -0
- package/dist/cjs/components/TableReport/component/TableBodyRows.js.map +1 -0
- package/dist/cjs/components/TableReport/component/TruncatedTooltip.d.ts +16 -0
- package/dist/cjs/components/TableReport/component/TruncatedTooltip.js +46 -0
- package/dist/cjs/components/TableReport/component/TruncatedTooltip.js.map +1 -0
- package/dist/cjs/components/TableReport/types.d.ts +6 -4
- package/dist/cjs/components/TableReport/utils.d.ts +4 -4
- package/dist/cjs/components/TableReport/utils.js +11 -9
- package/dist/cjs/components/TableReport/utils.js.map +1 -1
- package/dist/esm/components/TableReport/TableReport.d.ts +2 -2
- package/dist/esm/components/TableReport/TableReport.js +52 -22
- package/dist/esm/components/TableReport/TableReport.js.map +1 -1
- package/dist/esm/components/TableReport/component/ExpandedRows.d.ts +23 -0
- package/dist/esm/components/TableReport/component/ExpandedRows.js +160 -0
- package/dist/esm/components/TableReport/component/ExpandedRows.js.map +1 -0
- package/dist/esm/components/TableReport/component/PaginaitonSelected.js +4 -1
- package/dist/esm/components/TableReport/component/PaginaitonSelected.js.map +1 -1
- package/dist/esm/components/TableReport/component/Pagination.js +4 -1
- package/dist/esm/components/TableReport/component/Pagination.js.map +1 -1
- package/dist/esm/components/TableReport/component/Row.d.ts +6 -1
- package/dist/esm/components/TableReport/component/Row.js +10 -2
- package/dist/esm/components/TableReport/component/Row.js.map +1 -1
- package/dist/esm/components/TableReport/component/Search.js +7 -3
- package/dist/esm/components/TableReport/component/Search.js.map +1 -1
- package/dist/esm/components/TableReport/component/TableBodyRows.d.ts +33 -0
- package/dist/esm/components/TableReport/component/TableBodyRows.js +65 -0
- package/dist/esm/components/TableReport/component/TableBodyRows.js.map +1 -0
- package/dist/esm/components/TableReport/component/TruncatedTooltip.d.ts +16 -0
- package/dist/esm/components/TableReport/component/TruncatedTooltip.js +43 -0
- package/dist/esm/components/TableReport/component/TruncatedTooltip.js.map +1 -0
- package/dist/esm/components/TableReport/types.d.ts +6 -4
- package/dist/esm/components/TableReport/utils.d.ts +4 -4
- package/dist/esm/components/TableReport/utils.js +11 -9
- package/dist/esm/components/TableReport/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RowChildrenConfig } from './ExpandedRows';
|
|
3
|
+
import { TBodyComponent, TMergeConfig, TSelectedAllPeople, TTableData } from '../types';
|
|
4
|
+
interface TableBodyRowsProps {
|
|
5
|
+
border: boolean;
|
|
6
|
+
brSetSelectedPeople(value: TTableData): void;
|
|
7
|
+
expandedRowKeys: Array<string>;
|
|
8
|
+
getRowChildren(data: TTableData): RowChildrenConfig | null;
|
|
9
|
+
getRowKey(data: TTableData, dataIdx: number): string;
|
|
10
|
+
handleClick(data: TTableData, isHighlightRow: boolean): void;
|
|
11
|
+
isHighLight(data: TTableData): boolean;
|
|
12
|
+
mergeConfig: TMergeConfig;
|
|
13
|
+
readonly: boolean;
|
|
14
|
+
rowClassName(keyIdx: number, dataIdx: number): string;
|
|
15
|
+
rowHighlightReadonly: boolean;
|
|
16
|
+
rows: Array<TTableData>;
|
|
17
|
+
selectedAllPeople?: TSelectedAllPeople;
|
|
18
|
+
selectedPeople: Array<TTableData>;
|
|
19
|
+
spacing: boolean;
|
|
20
|
+
tableKey: string;
|
|
21
|
+
textCenter: boolean;
|
|
22
|
+
thBody: Array<string>;
|
|
23
|
+
thBodyComponent?: TBodyComponent;
|
|
24
|
+
toggleRowExpanded(rowKey: string): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Renders table report body rows and their optional expanded child rows.
|
|
28
|
+
*
|
|
29
|
+
* @param props - Body row data, table configuration, and row interaction handlers.
|
|
30
|
+
* @returns Table body row elements.
|
|
31
|
+
*/
|
|
32
|
+
declare function TableBodyRows({ rows, ...config }: TableBodyRowsProps): React.JSX.Element;
|
|
33
|
+
export default TableBodyRows;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
const types_1 = require("../../types");
|
|
6
|
+
const ExpandedRows_1 = tslib_1.__importDefault(require("./ExpandedRows"));
|
|
7
|
+
const Row_1 = tslib_1.__importDefault(require("./Row"));
|
|
8
|
+
const RowMerge_1 = tslib_1.__importDefault(require("./RowMerge"));
|
|
9
|
+
/**
|
|
10
|
+
* Renders one body cell using either merge-row or normal-row behavior.
|
|
11
|
+
*
|
|
12
|
+
* @param props - Cell data, table configuration, and expansion state.
|
|
13
|
+
* @returns A table body cell component.
|
|
14
|
+
*/
|
|
15
|
+
function TableBodyCell({ bodyKey, border, brSetSelectedPeople, data, dataIdx, isExpanded, isHighlight, keyIdx, mergeConfig, readonly, rowChildren, rowClassName, rowHighlightReadonly, rowKey, selectedAllPeople, selectedPeople, tableKey, thBodyComponent, toggleRowExpanded, }) {
|
|
16
|
+
const commonProps = {
|
|
17
|
+
border,
|
|
18
|
+
bodyKey,
|
|
19
|
+
brSetSelectedPeople,
|
|
20
|
+
className: rowClassName(keyIdx, dataIdx),
|
|
21
|
+
data,
|
|
22
|
+
dataIdx,
|
|
23
|
+
highlightReadonly: rowHighlightReadonly,
|
|
24
|
+
selectedAllPeople,
|
|
25
|
+
isHighlight,
|
|
26
|
+
selectedPeople,
|
|
27
|
+
keyIdx,
|
|
28
|
+
thBodyComponent,
|
|
29
|
+
readonly,
|
|
30
|
+
tableKey,
|
|
31
|
+
};
|
|
32
|
+
if (mergeConfig.isMergeRowData) {
|
|
33
|
+
return react_1.default.createElement(RowMerge_1.default, { ...commonProps, mergeConfig: mergeConfig });
|
|
34
|
+
}
|
|
35
|
+
return (react_1.default.createElement(Row_1.default, { ...commonProps, expandable: rowChildren && keyIdx === rowChildren.columnIndex
|
|
36
|
+
? {
|
|
37
|
+
enable: true,
|
|
38
|
+
isExpanded,
|
|
39
|
+
onToggle: () => toggleRowExpanded(rowKey),
|
|
40
|
+
}
|
|
41
|
+
: undefined }));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Renders one parent table row and its expanded children.
|
|
45
|
+
*
|
|
46
|
+
* @param props - Row data, table configuration, and expansion handlers.
|
|
47
|
+
* @returns One parent row with optional expanded rows.
|
|
48
|
+
*/
|
|
49
|
+
function TableBodyRow({ data, dataIdx, expandedRowKeys, getRowChildren, getRowKey, handleClick, isHighLight, mergeConfig, thBody, ...restProps }) {
|
|
50
|
+
const rowChildren = getRowChildren(data);
|
|
51
|
+
const rowKey = getRowKey(data, dataIdx);
|
|
52
|
+
const isExpanded = expandedRowKeys.includes(rowKey);
|
|
53
|
+
const isHighlight = isHighLight(data);
|
|
54
|
+
return (react_1.default.createElement(react_1.default.Fragment, { key: rowKey },
|
|
55
|
+
react_1.default.createElement("tr", { className: (0, types_1.classNames)('group', isHighlight && 'bg-gray-100 font-semibold'), onClick: () => handleClick(data, isHighlight) }, thBody.map((bodyKey, keyIdx) => (react_1.default.createElement(TableBodyCell, { key: keyIdx, ...restProps, bodyKey: bodyKey, data: data, dataIdx: dataIdx, isExpanded: isExpanded, isHighlight: isHighlight, keyIdx: keyIdx, mergeConfig: mergeConfig, rowChildren: rowChildren, rowKey: rowKey })))),
|
|
56
|
+
!mergeConfig.isMergeRowData && rowChildren && isExpanded && (react_1.default.createElement(ExpandedRows_1.default, { border: restProps.border, dataIdx: dataIdx, rowChildren: rowChildren, selectedAllPeople: restProps.selectedAllPeople, spacing: restProps.spacing, textCenter: restProps.textCenter, thBody: thBody }))));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Renders table report body rows and their optional expanded child rows.
|
|
60
|
+
*
|
|
61
|
+
* @param props - Body row data, table configuration, and row interaction handlers.
|
|
62
|
+
* @returns Table body row elements.
|
|
63
|
+
*/
|
|
64
|
+
function TableBodyRows({ rows, ...config }) {
|
|
65
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, rows.map((data, dataIdx) => (react_1.default.createElement(TableBodyRow, { key: config.getRowKey(data, dataIdx), ...config, data: data, dataIdx: dataIdx })))));
|
|
66
|
+
}
|
|
67
|
+
exports.default = TableBodyRows;
|
|
68
|
+
//# sourceMappingURL=TableBodyRows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableBodyRows.js","sourceRoot":"","sources":["../../../../../src/components/TableReport/component/TableBodyRows.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
interface TruncatedTooltipProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
content?: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Renders plain truncated text, and wraps it with PHXTooltip only when the text overflows.
|
|
9
|
+
*
|
|
10
|
+
* @param children - Text content to render and measure.
|
|
11
|
+
* @param className - Optional class names for the measured text element.
|
|
12
|
+
* @param content - Optional custom tooltip content.
|
|
13
|
+
* @returns Text content with tooltip behavior only when truncated.
|
|
14
|
+
*/
|
|
15
|
+
declare function TruncatedTooltip({ children, className, content }: TruncatedTooltipProps): React.JSX.Element;
|
|
16
|
+
export default TruncatedTooltip;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
+
const ToolTip_1 = tslib_1.__importDefault(require("../../ToolTip/ToolTip"));
|
|
6
|
+
const types_1 = require("../../types");
|
|
7
|
+
/**
|
|
8
|
+
* Renders plain truncated text, and wraps it with PHXTooltip only when the text overflows.
|
|
9
|
+
*
|
|
10
|
+
* @param children - Text content to render and measure.
|
|
11
|
+
* @param className - Optional class names for the measured text element.
|
|
12
|
+
* @param content - Optional custom tooltip content.
|
|
13
|
+
* @returns Text content with tooltip behavior only when truncated.
|
|
14
|
+
*/
|
|
15
|
+
function TruncatedTooltip({ children, className, content }) {
|
|
16
|
+
const contentRef = (0, react_1.useRef)(null);
|
|
17
|
+
const [isTruncated, setIsTruncated] = (0, react_1.useState)(false);
|
|
18
|
+
const tooltipContent = content !== null && content !== void 0 ? content : (typeof children === 'string' || typeof children === 'number' ? String(children) : null);
|
|
19
|
+
/**
|
|
20
|
+
* Updates whether the rendered text is visually truncated.
|
|
21
|
+
*
|
|
22
|
+
* @returns void.
|
|
23
|
+
*/
|
|
24
|
+
const updateTruncatedState = () => {
|
|
25
|
+
const element = contentRef.current;
|
|
26
|
+
if (!element)
|
|
27
|
+
return;
|
|
28
|
+
setIsTruncated(element.scrollWidth > element.clientWidth);
|
|
29
|
+
};
|
|
30
|
+
(0, react_1.useEffect)(() => {
|
|
31
|
+
updateTruncatedState();
|
|
32
|
+
const element = contentRef.current;
|
|
33
|
+
if (!element || typeof ResizeObserver === 'undefined')
|
|
34
|
+
return;
|
|
35
|
+
const resizeObserver = new ResizeObserver(updateTruncatedState);
|
|
36
|
+
resizeObserver.observe(element);
|
|
37
|
+
return () => resizeObserver.disconnect();
|
|
38
|
+
}, [children]);
|
|
39
|
+
const textElement = (react_1.default.createElement("span", { ref: contentRef, className: (0, types_1.classNames)('block min-w-0 overflow-hidden text-ellipsis', className) }, children));
|
|
40
|
+
if (!tooltipContent || !isTruncated) {
|
|
41
|
+
return textElement;
|
|
42
|
+
}
|
|
43
|
+
return (react_1.default.createElement(ToolTip_1.default, { className: 'block w-full min-w-0 text-gray-900', content: tooltipContent }, textElement));
|
|
44
|
+
}
|
|
45
|
+
exports.default = TruncatedTooltip;
|
|
46
|
+
//# sourceMappingURL=TruncatedTooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TruncatedTooltip.js","sourceRoot":"","sources":["../../../../../src/components/TableReport/component/TruncatedTooltip.tsx"],"names":[],"mappings":";;;AAAA,uDAAqE;AACrE,4EAA8C;AAC9C,uCAAwC;AAQxC;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAyB;IAC/E,MAAM,UAAU,GAAG,IAAA,cAAM,EAAkB,IAAI,CAAC,CAAA;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAErD,MAAM,cAAc,GAClB,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAErG;;;;OAIG;IACH,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QAClC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,cAAc,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAC3D,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,oBAAoB,EAAE,CAAA;QACtB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QAClC,IAAI,CAAC,OAAO,IAAI,OAAO,cAAc,KAAK,WAAW;YAAE,OAAM;QAE7D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,oBAAoB,CAAC,CAAA;QAC/D,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAE/B,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;IAC1C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,WAAW,GAAG,CAClB,wCAAM,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,IAAA,kBAAU,EAAC,6CAA6C,EAAE,SAAS,CAAC,IACnG,QAAQ,CACJ,CACR,CAAA;IAED,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,OAAO,CACL,8BAAC,iBAAU,IAAC,SAAS,EAAC,oCAAoC,EAAC,OAAO,EAAE,cAAc,IAC/E,WAAW,CACD,CACd,CAAA;AACH,CAAC;AAED,kBAAe,gBAAgB,CAAA"}
|
|
@@ -10,10 +10,16 @@ export interface THeader {
|
|
|
10
10
|
children?: Array<THeader>;
|
|
11
11
|
}
|
|
12
12
|
export type TTableData = Record<string, any>;
|
|
13
|
+
export interface RowChildrenData {
|
|
14
|
+
headers: Array<string>;
|
|
15
|
+
body: Array<string>;
|
|
16
|
+
data: Array<Record<string, any>>;
|
|
17
|
+
}
|
|
13
18
|
export interface TBodyComponent {
|
|
14
19
|
[key: string]: (value: any, itemBody: any) => {
|
|
15
20
|
value: any;
|
|
16
21
|
row?: number;
|
|
22
|
+
children?: RowChildrenData;
|
|
17
23
|
};
|
|
18
24
|
}
|
|
19
25
|
export interface TMergeConfig {
|
|
@@ -48,10 +54,6 @@ export interface TSelectedAllPeople {
|
|
|
48
54
|
hideSelectedAction?: boolean;
|
|
49
55
|
}
|
|
50
56
|
export interface NavigationUrlApply {
|
|
51
|
-
router: AppRouterInstance;
|
|
52
|
-
searchParams: ReadonlyURLSearchParams;
|
|
53
|
-
}
|
|
54
|
-
export interface NavigationUrlApplyTableReport {
|
|
55
57
|
router?: AppRouterInstance;
|
|
56
58
|
searchParams: ReadonlyURLSearchParams;
|
|
57
59
|
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { ReadonlyURLSearchParams } from 'next/navigation';
|
|
2
2
|
import { TBodyComponent, THeader, TMergeConfig, TTableData } from './types';
|
|
3
|
-
import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
|
4
3
|
export declare const getMaxDepth: (headers: Array<THeader>) => number;
|
|
5
4
|
export declare const buildHeaderRows: (headers: Array<THeader>, level?: number, rows?: any[], maxDepth?: number, startIndex?: number) => any[];
|
|
6
5
|
export declare const countLeaf: (header: THeader) => number;
|
|
7
6
|
export declare const renderCell: (data: TTableData, columnKey: string, thComponent?: TBodyComponent) => {
|
|
8
7
|
value: any;
|
|
9
8
|
row: number;
|
|
9
|
+
children: import("./types").RowChildrenData | null;
|
|
10
10
|
};
|
|
11
11
|
export declare const findColumnKeyMerge: (mergeConfig: TMergeConfig, columnIndex: number) => string;
|
|
12
12
|
export declare function buildRowSpan(tableData: Array<TTableData>, mergeConfig: TMergeConfig): TTableData[];
|
|
13
13
|
export declare const applyUrlQuery: {
|
|
14
14
|
get: (searchParams: ReadonlyURLSearchParams, key: string) => string | null;
|
|
15
|
-
set: (
|
|
15
|
+
set: (routerPush: (href: string) => void, searchParams: ReadonlyURLSearchParams, data: Array<{
|
|
16
16
|
key: string;
|
|
17
17
|
value: string;
|
|
18
18
|
}>) => void;
|
|
19
|
-
delete: (
|
|
20
|
-
multipleMethod: (
|
|
19
|
+
delete: (routerPush: (href: string) => void, searchParams: ReadonlyURLSearchParams, key: Array<string>) => void;
|
|
20
|
+
multipleMethod: (routerPush: (href: string) => void, searchParams: ReadonlyURLSearchParams, data: Array<{
|
|
21
21
|
key: string;
|
|
22
22
|
value: string;
|
|
23
23
|
method: "get" | "set" | "delete";
|
|
@@ -43,12 +43,14 @@ exports.countLeaf = countLeaf;
|
|
|
43
43
|
const renderCell = (data, columnKey, thComponent) => {
|
|
44
44
|
const value = data[columnKey];
|
|
45
45
|
if (thComponent && (thComponent === null || thComponent === void 0 ? void 0 : thComponent[columnKey])) {
|
|
46
|
+
const componentCell = thComponent[columnKey](value, data);
|
|
46
47
|
return {
|
|
47
|
-
value:
|
|
48
|
-
row:
|
|
48
|
+
value: componentCell.value,
|
|
49
|
+
row: componentCell.row || 1,
|
|
50
|
+
children: (componentCell === null || componentCell === void 0 ? void 0 : componentCell.children) || null,
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
|
-
return { value: value !== null && value !== void 0 ? value : '', row: 1 };
|
|
53
|
+
return { value: value !== null && value !== void 0 ? value : '', row: 1, children: null };
|
|
52
54
|
};
|
|
53
55
|
exports.renderCell = renderCell;
|
|
54
56
|
const findColumnKeyMerge = (mergeConfig, columnIndex) => {
|
|
@@ -81,22 +83,22 @@ exports.applyUrlQuery = {
|
|
|
81
83
|
const params = new URLSearchParams(searchParams.toString());
|
|
82
84
|
return params.get(key);
|
|
83
85
|
},
|
|
84
|
-
set: (
|
|
86
|
+
set: (routerPush, searchParams, data) => {
|
|
85
87
|
const params = new URLSearchParams(searchParams.toString());
|
|
86
88
|
for (const item of data) {
|
|
87
89
|
const { key, value } = item;
|
|
88
90
|
params.set(key, value);
|
|
89
91
|
}
|
|
90
|
-
|
|
92
|
+
routerPush(`?${params.toString()}`);
|
|
91
93
|
},
|
|
92
|
-
delete: (
|
|
94
|
+
delete: (routerPush, searchParams, key) => {
|
|
93
95
|
const params = new URLSearchParams(searchParams.toString());
|
|
94
96
|
for (const item of key) {
|
|
95
97
|
params.delete(item);
|
|
96
98
|
}
|
|
97
|
-
|
|
99
|
+
routerPush(`?${params.toString()}`);
|
|
98
100
|
},
|
|
99
|
-
multipleMethod: (
|
|
101
|
+
multipleMethod: (routerPush, searchParams, data) => {
|
|
100
102
|
const params = new URLSearchParams(searchParams.toString());
|
|
101
103
|
for (const item of data) {
|
|
102
104
|
const { key, value, method } = item;
|
|
@@ -107,7 +109,7 @@ exports.applyUrlQuery = {
|
|
|
107
109
|
params[method](key, value);
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
|
-
|
|
112
|
+
routerPush(`?${params.toString()}`);
|
|
111
113
|
},
|
|
112
114
|
};
|
|
113
115
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/TableReport/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/TableReport/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { NavigationUrlApply, TBodyComponent, THeader, TMergeConfig, TPagination, TSearch, TSelectedAllPeople, TTableData } from './types';
|
|
3
3
|
export interface TableReportProps {
|
|
4
4
|
tableData: Array<TTableData>;
|
|
5
5
|
thHeader: Array<THeader>;
|
|
@@ -24,7 +24,7 @@ export interface TableReportProps {
|
|
|
24
24
|
textCenter?: boolean;
|
|
25
25
|
isHeaderBgWhite?: boolean;
|
|
26
26
|
isResetPagination?: boolean;
|
|
27
|
-
configUrlApply?:
|
|
27
|
+
configUrlApply?: NavigationUrlApply;
|
|
28
28
|
onSelectionChange?: (selectedRows: any[]) => void;
|
|
29
29
|
forceClearSelection?: boolean | string;
|
|
30
30
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import React, { useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
3
3
|
import { classNames } from '../types';
|
|
4
|
-
import { applyUrlQuery, buildHeaderRows, buildRowSpan, getMaxDepth } from './utils';
|
|
5
|
-
import
|
|
6
|
-
import Row from './component/Row';
|
|
4
|
+
import { applyUrlQuery, buildHeaderRows, buildRowSpan, getMaxDepth, renderCell } from './utils';
|
|
5
|
+
import TableBodyRows from './component/TableBodyRows';
|
|
7
6
|
import Search from './component/Search';
|
|
8
7
|
import { PHXEmptyRecord } from '../EmptyRecord';
|
|
9
8
|
import { PHXSkeleton } from '../Skeleton';
|
|
@@ -12,34 +11,63 @@ import Header from './component/Header';
|
|
|
12
11
|
import SelectedAction from '../TableV3/SelectedAction';
|
|
13
12
|
import { MagnifyingGlassIcon } from '@heroicons/react/24/solid';
|
|
14
13
|
import { PHXEmptySearch } from '../EmptySearch';
|
|
15
|
-
import {
|
|
14
|
+
import { PHXUseDirectLink } from '../../hooks/direct-link';
|
|
16
15
|
export function PHXTableReport({ tableData, thHeader, thBody, thBodyComponent, mergeConfig = { isMergeRowData: false, columnPosition: [] }, rowHighlightConfig, search = {
|
|
17
16
|
enable: false,
|
|
18
17
|
loading: false,
|
|
19
18
|
}, loading, pagination, readonly = false, onClick, type = 'default', selectedAllPeople, tableKey = 'table-report', border = true, spacing = true, textCenter = true, isHeaderBgWhite = false, isResetPagination = false, configUrlApply, onSelectionChange, forceClearSelection = false, }) {
|
|
20
19
|
const checkbox = useRef();
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
router: (configUrlApply === null || configUrlApply === void 0 ? void 0 : configUrlApply.router) || router,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
return;
|
|
31
|
-
};
|
|
32
|
-
const updateConfigUrlApply = getConfigUrlApply();
|
|
20
|
+
/**
|
|
21
|
+
* Falls back to the shared direct-link hook when a router instance is not provided.
|
|
22
|
+
*
|
|
23
|
+
* @returns A direct-link navigation callback.
|
|
24
|
+
*/
|
|
25
|
+
const directLink = PHXUseDirectLink();
|
|
33
26
|
const [isSearch, setIsSearch] = useState(false);
|
|
34
27
|
const [selectedPeople, setSelectedPeople] = useState([]);
|
|
35
28
|
const [checked, setChecked] = useState(false);
|
|
36
29
|
const [indeterminate, setIndeterminate] = useState(false);
|
|
30
|
+
const [expandedRowKeys, setExpandedRowKeys] = useState([]);
|
|
37
31
|
const [currentPage, setCurrentPage] = useState(1);
|
|
38
32
|
const [offset, setOffset] = useState(0);
|
|
39
33
|
const maxDepth = getMaxDepth(thHeader);
|
|
40
34
|
const rows = buildHeaderRows(thHeader, 0, [], maxDepth, 0);
|
|
41
35
|
const rowClassName = (keyIdx, dataIdx) => classNames('text-xs whitespace-nowrap text-gray-900', textCenter ? 'text-center' : 'pl-8 text-left', spacing ? 'px-2 py-2.5' : '', keyIdx !== 0 && border && 'border-l', dataIdx !== 0 && 'border-t', dataIdx === tableData.length - 1 && keyIdx === 0 && !(pagination === null || pagination === void 0 ? void 0 : pagination.enable) && 'rounded-bl-lg', dataIdx === tableData.length - 1 && keyIdx === thBody.length - 1 && !(pagination === null || pagination === void 0 ? void 0 : pagination.enable) && 'rounded-br-lg');
|
|
42
|
-
const isHighLight = (data) => !!(rowHighlightConfig && data[rowHighlightConfig.key] === rowHighlightConfig.value);
|
|
36
|
+
const isHighLight = (data) => !!((rowHighlightConfig === null || rowHighlightConfig === void 0 ? void 0 : rowHighlightConfig.key) && data[rowHighlightConfig.key] === rowHighlightConfig.value);
|
|
37
|
+
/**
|
|
38
|
+
* Resolves a stable key for expansion state tracking.
|
|
39
|
+
*
|
|
40
|
+
* @param data - Current table row data.
|
|
41
|
+
* @param dataIdx - Current row index.
|
|
42
|
+
* @returns Stable row key.
|
|
43
|
+
*/
|
|
44
|
+
const getRowKey = (data, dataIdx) => String(data.id || data._id || data.key || `${tableKey}-${dataIdx}`);
|
|
45
|
+
/**
|
|
46
|
+
* Finds the first body column that declares child rows.
|
|
47
|
+
*
|
|
48
|
+
* @param data - Current table row data.
|
|
49
|
+
* @returns Child row configuration, or null when the row has no children.
|
|
50
|
+
*/
|
|
51
|
+
const getRowChildren = (data) => {
|
|
52
|
+
var _a;
|
|
53
|
+
for (const [columnIndex, bodyKey] of thBody.entries()) {
|
|
54
|
+
const children = renderCell(data, bodyKey, thBodyComponent).children;
|
|
55
|
+
if (!((_a = children === null || children === void 0 ? void 0 : children.data) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
return { columnIndex, children };
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Toggles the expanded state for one table row.
|
|
64
|
+
*
|
|
65
|
+
* @param rowKey - Stable row key to toggle.
|
|
66
|
+
* @returns void.
|
|
67
|
+
*/
|
|
68
|
+
const toggleRowExpanded = (rowKey) => {
|
|
69
|
+
setExpandedRowKeys((current) => current.includes(rowKey) ? current.filter((item) => item !== rowKey) : [...current, rowKey]);
|
|
70
|
+
};
|
|
43
71
|
const handleClick = (data, isHighlightRow) => {
|
|
44
72
|
if (isHighlightRow && !(rowHighlightConfig === null || rowHighlightConfig === void 0 ? void 0 : rowHighlightConfig.readonly)) {
|
|
45
73
|
if (onClick) {
|
|
@@ -69,14 +97,15 @@ export function PHXTableReport({ tableData, thHeader, thBody, thBodyComponent, m
|
|
|
69
97
|
}
|
|
70
98
|
}, [forceClearSelection]);
|
|
71
99
|
useEffect(() => {
|
|
100
|
+
var _a;
|
|
72
101
|
if (isResetPagination) {
|
|
73
102
|
setCurrentPage(1);
|
|
74
103
|
setOffset(0);
|
|
75
104
|
if (pagination === null || pagination === void 0 ? void 0 : pagination.onChange) {
|
|
76
105
|
pagination.onChange(1);
|
|
77
106
|
}
|
|
78
|
-
if (
|
|
79
|
-
applyUrlQuery.set(
|
|
107
|
+
if (configUrlApply) {
|
|
108
|
+
applyUrlQuery.set(((_a = configUrlApply === null || configUrlApply === void 0 ? void 0 : configUrlApply.router) === null || _a === void 0 ? void 0 : _a.push) || directLink, configUrlApply.searchParams, [
|
|
80
109
|
{ key: `pagi-${tableKey}`, value: '1' },
|
|
81
110
|
]);
|
|
82
111
|
}
|
|
@@ -94,7 +123,7 @@ export function PHXTableReport({ tableData, thHeader, thBody, thBodyComponent, m
|
|
|
94
123
|
return (React.createElement(React.Fragment, null,
|
|
95
124
|
loading ? (React.createElement(PHXSkeleton, { type: 'table' })) : (React.createElement(React.Fragment, null, tableData.length > 0 || (tableData.length === 0 && isSearch) ? (React.createElement("div", { className: 'overflow-hidden rounded-lg bg-white shadow-[0rem_.3125rem_.3125rem_-.15625rem_rgba(0,0,0,.03),0rem_.1875rem_.1875rem_-.09375rem_rgba(0,0,0,.02),0rem_.125rem_.125rem_-.0625rem_rgba(0,0,0,.02),0rem_.0625rem_.0625rem_-.03125rem_rgba(0,0,0,.03),0rem_.03125rem_.03125rem_0rem_rgba(0,0,0,.04),0rem_0rem_0rem_.0625rem_rgba(0,0,0,.06)] ring-1 ring-gray-300' },
|
|
96
125
|
search && search.enable && (React.createElement("div", { className: classNames('relative flex h-9 flex-row items-center rounded-tl-lg rounded-tr-lg px-3 ring-1 ring-gray-300', isSearch ? 'border-none' : 'justify-end', type === 'in-card' ? 'bg-gray-50' : 'bg-white') },
|
|
97
|
-
React.createElement(Search, { isSearch: isSearch, search: search, setIsSearch: setIsSearch, type: type, setCurrentPage: setCurrentPage, setOffset: setOffset, paginationChange: pagination === null || pagination === void 0 ? void 0 : pagination.onChange, tableKey: tableKey, configUrlApply:
|
|
126
|
+
React.createElement(Search, { isSearch: isSearch, search: search, setIsSearch: setIsSearch, type: type, setCurrentPage: setCurrentPage, setOffset: setOffset, paginationChange: pagination === null || pagination === void 0 ? void 0 : pagination.onChange, tableKey: tableKey, configUrlApply: configUrlApply }),
|
|
98
127
|
React.createElement("button", { className: classNames('ml-1 flex rounded-lg bg-white px-2 py-1 text-xs font-normal text-gray-900 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 active:bg-gray-200 active:pb-[0.2rem] active:pt-[0.3rem] active:shadow-[0rem_0.125rem_0.1rem_0rem_#0004_inset] sm:ml-0', isSearch ? 'pointer-events-none opacity-0' : 'opacity-100'), onClick: () => setIsSearch(true), type: 'button' },
|
|
99
128
|
React.createElement(MagnifyingGlassIcon, { className: 'h-4 w-4' })),
|
|
100
129
|
React.createElement("div", { className: 'absolute bottom-0 left-0 h-[1px] w-full bg-white' }))),
|
|
@@ -104,9 +133,10 @@ export function PHXTableReport({ tableData, thHeader, thBody, thBodyComponent, m
|
|
|
104
133
|
React.createElement("table", { className: 'min-w-full divide-y divide-gray-300' },
|
|
105
134
|
React.createElement("thead", null,
|
|
106
135
|
React.createElement(Header, { isHeaderBgWhite: isHeaderBgWhite, border: border, checkbox: checkbox, checked: checked, rows: rows, search: search, selectedAllPeople: selectedAllPeople, tableKey: tableKey, toggleAll: toggleAll, spacing: spacing, textCenter: textCenter })),
|
|
107
|
-
React.createElement("tbody", null,
|
|
136
|
+
React.createElement("tbody", null,
|
|
137
|
+
React.createElement(TableBodyRows, { border: border, brSetSelectedPeople: brSetSelectedPeople, expandedRowKeys: expandedRowKeys, getRowChildren: getRowChildren, getRowKey: getRowKey, handleClick: handleClick, isHighLight: isHighLight, mergeConfig: mergeConfig, readonly: readonly, rowClassName: rowClassName, rowHighlightReadonly: !!(rowHighlightConfig === null || rowHighlightConfig === void 0 ? void 0 : rowHighlightConfig.readonly), rows: buildRowSpan(tableData, mergeConfig), selectedAllPeople: selectedAllPeople, selectedPeople: selectedPeople, spacing: spacing, tableKey: tableKey, textCenter: textCenter, thBody: thBody, thBodyComponent: thBodyComponent, toggleRowExpanded: toggleRowExpanded }))))))) : (React.createElement("div", { className: 'overflow-hidden rounded-lg' },
|
|
108
138
|
React.createElement(PHXEmptySearch, null)))),
|
|
109
|
-
tableData.length > 0 && pagination && (pagination === null || pagination === void 0 ? void 0 : pagination.enable) && (React.createElement(Pagination, { pagination: pagination, currentPage: currentPage, setCurrentPage: setCurrentPage, offset: offset, setOffset: setOffset, tableKey: tableKey, configUrlApply:
|
|
139
|
+
tableData.length > 0 && pagination && (pagination === null || pagination === void 0 ? void 0 : pagination.enable) && (React.createElement(Pagination, { pagination: pagination, currentPage: currentPage, setCurrentPage: setCurrentPage, offset: offset, setOffset: setOffset, tableKey: tableKey, configUrlApply: configUrlApply })))) : (React.createElement("div", { className: 'overflow-hidden rounded-lg border' },
|
|
110
140
|
React.createElement(PHXEmptyRecord, null))))),
|
|
111
141
|
selectedAllPeople && selectedAllPeople.enable && (React.createElement(SelectedAction, { selectedBtn: selectedAllPeople.selectedAction.actions, selectedPeople: selectedPeople, slectedTitle: selectedAllPeople.selectedAction.label, toggleAll: toggleAll }))));
|
|
112
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableReport.js","sourceRoot":"","sources":["../../../../src/components/TableReport/TableReport.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"TableReport.js","sourceRoot":"","sources":["../../../../src/components/TableReport/TableReport.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RowChildrenData, TSelectedAllPeople } from '../types';
|
|
3
|
+
export interface RowChildrenConfig {
|
|
4
|
+
columnIndex: number;
|
|
5
|
+
children: RowChildrenData;
|
|
6
|
+
}
|
|
7
|
+
interface ExpandedRowsProps {
|
|
8
|
+
rowChildren: RowChildrenConfig;
|
|
9
|
+
dataIdx: number;
|
|
10
|
+
thBody: Array<string>;
|
|
11
|
+
selectedAllPeople?: TSelectedAllPeople;
|
|
12
|
+
border: boolean;
|
|
13
|
+
spacing: boolean;
|
|
14
|
+
textCenter: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Renders expanded child rows below a parent table row.
|
|
18
|
+
*
|
|
19
|
+
* @param props - Child row data and parent table alignment options.
|
|
20
|
+
* @returns Expanded header and data rows.
|
|
21
|
+
*/
|
|
22
|
+
declare function ExpandedRows({ rowChildren, dataIdx, thBody, selectedAllPeople, border, spacing, textCenter, }: ExpandedRowsProps): React.JSX.Element;
|
|
23
|
+
export default ExpandedRows;
|