pixel-sharan 1.13.91 → 1.13.95
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/lib/StyleGuide/ColorPalette/colorPaletteList.js +20 -0
- package/lib/StyleGuide/ColorPalette/colorPaletteList.js.map +1 -1
- package/lib/assets/icons/add_new_file.svg.js +1 -1
- package/lib/assets/icons/add_new_file.svg.js.map +1 -1
- package/lib/assets/icons/amazon_icon.svg.js +6 -0
- package/lib/assets/icons/amazon_icon.svg.js.map +1 -0
- package/lib/assets/icons/filter_active.svg.js +1 -1
- package/lib/assets/icons/filter_active.svg.js.map +1 -1
- package/lib/assets/icons/google_icon.svg.js +6 -0
- package/lib/assets/icons/google_icon.svg.js.map +1 -0
- package/lib/assets/icons/huawei_icon.svg.js +6 -0
- package/lib/assets/icons/huawei_icon.svg.js.map +1 -0
- package/lib/assets/icons/oneplus_icon.svg.js +6 -0
- package/lib/assets/icons/oneplus_icon.svg.js.map +1 -0
- package/lib/assets/icons/optimize_stepgroup.svg.js +1 -3
- package/lib/assets/icons/optimize_stepgroup.svg.js.map +1 -1
- package/lib/assets/icons/samsung_icon.svg.js +6 -0
- package/lib/assets/icons/samsung_icon.svg.js.map +1 -0
- package/lib/assets/icons/upload_file.svg.js +1 -1
- package/lib/assets/icons/upload_file.svg.js.map +1 -1
- package/lib/assets/icons/xiaomi_icon.svg.js +6 -0
- package/lib/assets/icons/xiaomi_icon.svg.js.map +1 -0
- package/lib/components/AttachmentButton/AttachmentButton.js +1 -1
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js +4 -6
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js.map +1 -1
- package/lib/components/Comments/Comments.js +22 -23
- package/lib/components/Comments/Comments.js.map +1 -1
- package/lib/components/Comments/childComment/ChildComment.js +25 -27
- package/lib/components/Comments/childComment/ChildComment.js.map +1 -1
- package/lib/components/Comments/mentionUser/MentionUser.js +3 -1
- package/lib/components/Comments/mentionUser/MentionUser.js.map +1 -1
- package/lib/components/Comments/type.d.ts +1 -0
- package/lib/components/Drawer/Drawer.js +2 -1
- package/lib/components/Drawer/Drawer.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFile.d.ts +1 -0
- package/lib/components/Excel/ExcelFile/ExcelFile.js +4 -2
- package/lib/components/Excel/ExcelFile/ExcelFile.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js +33 -21
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.js +3 -3
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.d.ts +1 -0
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js +4 -3
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js.map +1 -1
- package/lib/components/Icon/iconList.js +13 -1
- package/lib/components/Icon/iconList.js.map +1 -1
- package/lib/components/Input/Input.js +0 -1
- package/lib/components/Input/Input.js.map +1 -1
- package/lib/components/InputWithDropdown/InputWithDropdown.js +3 -1
- package/lib/components/InputWithDropdown/InputWithDropdown.js.map +1 -1
- package/lib/components/InputWithDropdown/types.d.ts +1 -0
- package/lib/components/MenuOption/MenuOption.js +2 -2
- package/lib/components/MenuOption/MenuOption.js.map +1 -1
- package/lib/components/NoDataContent/NoDataContent.js +5 -1
- package/lib/components/NoDataContent/NoDataContent.js.map +1 -1
- package/lib/components/NoDataContent/type.d.ts +1 -0
- package/lib/components/ScriptGenerationLoader/ScriptGenerationLoader.js +47 -13
- package/lib/components/ScriptGenerationLoader/ScriptGenerationLoader.js.map +1 -1
- package/lib/components/ScriptGenerationLoader/types.d.ts +5 -1
- package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js +1 -1
- package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js.map +1 -1
- package/lib/components/SequentialConnectingBranch/types.d.ts +1 -0
- package/lib/components/StepsLandingTable/StepLandingTable.js +2 -1
- package/lib/components/StepsLandingTable/StepLandingTable.js.map +1 -1
- package/lib/components/TableTreeFn/Components/TableBody.d.ts +3 -0
- package/lib/components/TableTreeFn/Components/TableBody.js +68 -0
- package/lib/components/TableTreeFn/Components/TableBody.js.map +1 -0
- package/lib/components/TableTreeFn/Components/TableCell.d.ts +4 -0
- package/lib/components/TableTreeFn/Components/TableCell.js +160 -0
- package/lib/components/TableTreeFn/Components/TableCell.js.map +1 -0
- package/lib/components/TableTreeFn/Components/TableHead.d.ts +4 -0
- package/lib/components/TableTreeFn/Components/TableHead.js +79 -0
- package/lib/components/TableTreeFn/Components/TableHead.js.map +1 -0
- package/lib/components/TableTreeFn/Components/TableRow.d.ts +4 -0
- package/lib/components/TableTreeFn/Components/TableRow.js +54 -0
- package/lib/components/TableTreeFn/Components/TableRow.js.map +1 -0
- package/lib/components/TableTreeFn/TableTreeFn.d.ts +5 -0
- package/lib/components/TableTreeFn/TableTreeFn.js +256 -0
- package/lib/components/TableTreeFn/TableTreeFn.js.map +1 -0
- package/lib/components/TableTreeFn/Utils/addLastChild.d.ts +2 -0
- package/lib/components/TableTreeFn/Utils/addLastChild.js +28 -0
- package/lib/components/TableTreeFn/Utils/addLastChild.js.map +1 -0
- package/lib/components/TableTreeFn/Utils/addNewRow.d.ts +14 -0
- package/lib/components/TableTreeFn/Utils/addNewRow.js +77 -0
- package/lib/components/TableTreeFn/Utils/addNewRow.js.map +1 -0
- package/lib/components/TableTreeFn/Utils/formatDataCell.d.ts +2 -0
- package/lib/components/TableTreeFn/Utils/formatDataCell.js +18 -0
- package/lib/components/TableTreeFn/Utils/formatDataCell.js.map +1 -0
- package/lib/components/TableTreeFn/Utils/getAllChildIds.d.ts +2 -0
- package/lib/components/TableTreeFn/Utils/getAllChildIds.js +12 -0
- package/lib/components/TableTreeFn/Utils/getAllChildIds.js.map +1 -0
- package/lib/components/TableTreeFn/Utils/renderSpaces.d.ts +0 -0
- package/lib/components/TableTreeFn/Utils/renderSpaces.js +2 -0
- package/lib/components/TableTreeFn/Utils/renderSpaces.js.map +1 -0
- package/lib/components/TableTreeFn/data.d.ts +247 -0
- package/lib/components/TableTreeFn/data.js +528 -0
- package/lib/components/TableTreeFn/data.js.map +1 -0
- package/lib/components/TableTreeFn/index.d.ts +1 -0
- package/lib/components/TableTreeFn/index.js +2 -0
- package/lib/components/TableTreeFn/index.js.map +1 -0
- package/lib/components/TableTreeFn/types.d.ts +141 -0
- package/lib/components/TableTreeFn/types.js +2 -0
- package/lib/components/TableTreeFn/types.js.map +1 -0
- package/lib/index.cjs +886 -131
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +125 -48
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/styles.css +1 -1
- package/lib/styles.css.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -0,0 +1,256 @@
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
2
|
+
import { forwardRef, useState, useRef, useCallback, useEffect, useLayoutEffect } from 'react';
|
3
|
+
import TableHead from './Components/TableHead.js';
|
4
|
+
import TableBody from './Components/TableBody.js';
|
5
|
+
import { addLastChild } from './Utils/addLastChild.js';
|
6
|
+
|
7
|
+
const TableTreeFn = /*#__PURE__*/forwardRef(({
|
8
|
+
treeData,
|
9
|
+
columnsData,
|
10
|
+
selected = [],
|
11
|
+
select = null,
|
12
|
+
onChange,
|
13
|
+
onClick,
|
14
|
+
onExpand,
|
15
|
+
loadMore = () => {},
|
16
|
+
tableBorder,
|
17
|
+
height = 'calc(100vh - 134px)',
|
18
|
+
newNode,
|
19
|
+
onAddConfirm = _name => {},
|
20
|
+
onAddCancel = () => {},
|
21
|
+
handleEditFieldError,
|
22
|
+
loading = false,
|
23
|
+
rootNode,
|
24
|
+
getContentLength,
|
25
|
+
pagination = true,
|
26
|
+
selectedNode,
|
27
|
+
tableHeaderBgColor = 'var(--border-color)',
|
28
|
+
hideOnDisable = false,
|
29
|
+
freezeColumns,
|
30
|
+
scriptLengthTruncate = 25,
|
31
|
+
addModuleInputWidth = 150,
|
32
|
+
addModuleSelectWidth,
|
33
|
+
onScroll,
|
34
|
+
disableEditLabelConfirmIcon = false,
|
35
|
+
transparentHeader = false,
|
36
|
+
navigateTreeNode = null
|
37
|
+
}, ref) => {
|
38
|
+
const [expanding, setExpanding] = useState(null);
|
39
|
+
const [isLoading, setIsLoading] = useState(null);
|
40
|
+
const observerRef = useRef(null);
|
41
|
+
const containerRef = useRef(null); // Reference for scroll container
|
42
|
+
const [prevScrollTop, setPrevScrollTop] = useState(null);
|
43
|
+
const previousTreeDataRef = useRef([]);
|
44
|
+
//new loadMoreAbove function
|
45
|
+
const loadMoreAbove = () => {
|
46
|
+
if (loading || isLoading === 'above') return;
|
47
|
+
console.log('calling above');
|
48
|
+
setIsLoading('above');
|
49
|
+
setPrevScrollTop(containerRef.current?.scrollTop ?? null);
|
50
|
+
loadMore('above');
|
51
|
+
};
|
52
|
+
const loadMoreBelow = () => {
|
53
|
+
if (loading || isLoading === 'below') return;
|
54
|
+
console.log('calling below');
|
55
|
+
setIsLoading('below');
|
56
|
+
// Trigger the loadMore callback for data loading from below
|
57
|
+
loadMore('below');
|
58
|
+
};
|
59
|
+
//new handle Scroll function
|
60
|
+
const handleScroll = useCallback(() => {
|
61
|
+
const container = containerRef.current;
|
62
|
+
const previousTreeData = previousTreeDataRef.current;
|
63
|
+
if (!loading && container && isLoading === 'above' && previousTreeData.length > 0 && prevScrollTop !== null) {
|
64
|
+
let addedRowsCount = 0;
|
65
|
+
if (getContentLength) {
|
66
|
+
addedRowsCount = getContentLength;
|
67
|
+
} else {
|
68
|
+
for (let i = 0; i < treeData.length; i++) {
|
69
|
+
if (previousTreeData[0] === treeData[i]) break;
|
70
|
+
addedRowsCount++;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
let retries = 0;
|
74
|
+
const maxRetries = 30;
|
75
|
+
const tryRestoreScroll = () => {
|
76
|
+
const allRows = Array.from(container.querySelectorAll('.ff-table-tree-row'));
|
77
|
+
// Total added height of new rows
|
78
|
+
let totalAddedHeight = 0;
|
79
|
+
for (let i = 0; i < addedRowsCount; i++) {
|
80
|
+
const height = allRows[i]?.getBoundingClientRect().height || 0;
|
81
|
+
totalAddedHeight += height;
|
82
|
+
}
|
83
|
+
const canScroll = container.scrollHeight > container.clientHeight;
|
84
|
+
const validHeights = totalAddedHeight > 0;
|
85
|
+
if (validHeights && canScroll) {
|
86
|
+
container.scrollTop = prevScrollTop + totalAddedHeight;
|
87
|
+
previousTreeDataRef.current = treeData;
|
88
|
+
} else if (retries < maxRetries) {
|
89
|
+
retries++;
|
90
|
+
requestAnimationFrame(tryRestoreScroll);
|
91
|
+
} else {
|
92
|
+
previousTreeDataRef.current = treeData;
|
93
|
+
console.warn('Failed to restore scroll position after max retries');
|
94
|
+
}
|
95
|
+
};
|
96
|
+
console.log(`Attempting to restore scroll position after loading more data. Added rows count: ${addedRowsCount}, retries: ${retries}`);
|
97
|
+
// Start scroll adjustment
|
98
|
+
requestAnimationFrame(tryRestoreScroll);
|
99
|
+
}
|
100
|
+
}, [loading, isLoading, treeData, getContentLength, prevScrollTop]);
|
101
|
+
useEffect(() => {
|
102
|
+
const scrollContainer = document.getElementById('ff-table-tree-scroll-container');
|
103
|
+
const lastNode = document.getElementById('ff-table-tree-last-node');
|
104
|
+
const firstNode = document.getElementById('ff-table-tree-first-node');
|
105
|
+
if (!scrollContainer || !lastNode || !firstNode || !treeData?.length || !pagination) return;
|
106
|
+
const isLastResourceBelow = !!treeData[treeData.length - 1]?.lastResource;
|
107
|
+
const isLastResourceAbove = !!treeData[0]?.lastResource;
|
108
|
+
// Clean up old observer before creating a new one
|
109
|
+
observerRef.current?.disconnect();
|
110
|
+
const observerCallback = entries => {
|
111
|
+
entries.forEach(entry => {
|
112
|
+
const nodeId = entry.target.id;
|
113
|
+
const direction = nodeId === 'ff-table-tree-last-node' ? 'below' : 'above';
|
114
|
+
console.log('entries', entry);
|
115
|
+
if (entry.isIntersecting) {
|
116
|
+
if (direction === 'below' && !isLastResourceBelow) {
|
117
|
+
console.log('LoadMoreBelow from observer');
|
118
|
+
loadMoreBelow();
|
119
|
+
} else if (direction === 'above' && !isLastResourceAbove) {
|
120
|
+
console.log('LoadMoreAbove from observer');
|
121
|
+
loadMoreAbove();
|
122
|
+
}
|
123
|
+
}
|
124
|
+
});
|
125
|
+
};
|
126
|
+
observerRef.current = new IntersectionObserver(observerCallback, {
|
127
|
+
root: scrollContainer,
|
128
|
+
rootMargin: '30px',
|
129
|
+
threshold: 1
|
130
|
+
});
|
131
|
+
if (!isLastResourceBelow) observerRef.current.observe(lastNode);
|
132
|
+
if (!isLastResourceAbove) observerRef.current.observe(firstNode);
|
133
|
+
if (previousTreeDataRef.current.length === 0) {
|
134
|
+
previousTreeDataRef.current = treeData;
|
135
|
+
}
|
136
|
+
return () => {
|
137
|
+
observerRef.current?.disconnect();
|
138
|
+
};
|
139
|
+
}, [treeData, loadMore, isLoading]);
|
140
|
+
// new useLayoutEffect to handle loading state
|
141
|
+
useLayoutEffect(() => {
|
142
|
+
if (!loading && isLoading === 'above' && pagination) {
|
143
|
+
const raf = requestAnimationFrame(() => {
|
144
|
+
handleScroll();
|
145
|
+
setIsLoading(null);
|
146
|
+
});
|
147
|
+
return () => {
|
148
|
+
cancelAnimationFrame(raf);
|
149
|
+
};
|
150
|
+
} else if (!loading) {
|
151
|
+
previousTreeDataRef.current = treeData;
|
152
|
+
setIsLoading(null);
|
153
|
+
}
|
154
|
+
return undefined;
|
155
|
+
}, [loading, onScroll]);
|
156
|
+
useEffect(() => {
|
157
|
+
if (!loading && expanding) {
|
158
|
+
setExpanding(null);
|
159
|
+
previousTreeDataRef.current = treeData;
|
160
|
+
}
|
161
|
+
}, [loading]);
|
162
|
+
const handleToggleExpand = useCallback(node => {
|
163
|
+
if (expanding) return;
|
164
|
+
setExpanding(node.key);
|
165
|
+
onExpand?.(node);
|
166
|
+
}, [onExpand, expanding]);
|
167
|
+
useEffect(() => {
|
168
|
+
const scrollDiv = containerRef.current;
|
169
|
+
if (scrollDiv && onScroll) {
|
170
|
+
scrollDiv.addEventListener('scroll', onScroll);
|
171
|
+
}
|
172
|
+
return () => {
|
173
|
+
if (scrollDiv && onScroll) {
|
174
|
+
scrollDiv.removeEventListener('scroll', onScroll);
|
175
|
+
}
|
176
|
+
};
|
177
|
+
}, [onScroll]);
|
178
|
+
const handleCheckBoxChange = useCallback((e, node) => {
|
179
|
+
if (expanding) return;
|
180
|
+
onChange?.(e, node);
|
181
|
+
}, [onChange, expanding]);
|
182
|
+
const handleRowClick = useCallback((e, node) => {
|
183
|
+
if (expanding) return;
|
184
|
+
onClick?.(e, node);
|
185
|
+
}, [onClick, expanding]);
|
186
|
+
useEffect(() => {
|
187
|
+
console.log(`Navigating to tree nodeFromUseEffect: ${navigateTreeNode}`);
|
188
|
+
if (navigateTreeNode) {
|
189
|
+
const node = document.getElementById(navigateTreeNode);
|
190
|
+
if (node) {
|
191
|
+
node.scrollIntoView({
|
192
|
+
behavior: 'smooth',
|
193
|
+
block: 'nearest'
|
194
|
+
});
|
195
|
+
}
|
196
|
+
}
|
197
|
+
}, [navigateTreeNode]);
|
198
|
+
const DEFAULT_COLUMN_WIDTH = 400;
|
199
|
+
const calculateFrozenWidth = (columnData, freezeColumns) => {
|
200
|
+
return columnData.slice(0, freezeColumns).reduce((acc, col) => acc + parseInt(col.width || `${DEFAULT_COLUMN_WIDTH}`, 10), 0);
|
201
|
+
};
|
202
|
+
let frozenWidth;
|
203
|
+
if (freezeColumns) {
|
204
|
+
frozenWidth = calculateFrozenWidth(columnsData, freezeColumns);
|
205
|
+
}
|
206
|
+
return jsx("div", {
|
207
|
+
className: "tree-table-wrap",
|
208
|
+
ref: ref,
|
209
|
+
children: jsx("div", {
|
210
|
+
className: `table-scrollable ${treeData.length ? '' : 'table-empty'}`,
|
211
|
+
ref: containerRef,
|
212
|
+
id: "ff-table-tree-scroll-container",
|
213
|
+
style: {
|
214
|
+
'--table-height': treeData.length ? height : 'auto',
|
215
|
+
'--frozen-column-width': freezeColumns ? `${frozenWidth}px` : '0px',
|
216
|
+
border: tableBorder
|
217
|
+
},
|
218
|
+
children: jsxs("table", {
|
219
|
+
className: "tree-table",
|
220
|
+
children: [jsx(TableHead, {
|
221
|
+
columnsData: columnsData,
|
222
|
+
rootNode: rootNode,
|
223
|
+
onCheckBoxChange: handleCheckBoxChange,
|
224
|
+
selected: selected,
|
225
|
+
selectedNode: selectedNode,
|
226
|
+
tableHeaderBgColor: tableHeaderBgColor,
|
227
|
+
hideOnDisable: hideOnDisable,
|
228
|
+
transparentHeader: transparentHeader
|
229
|
+
}), jsx(TableBody, {
|
230
|
+
flattenedTreeData: addLastChild(treeData),
|
231
|
+
rootNode: rootNode?.node,
|
232
|
+
columnsData: columnsData,
|
233
|
+
selected: selected,
|
234
|
+
select: select,
|
235
|
+
onRowClick: handleRowClick,
|
236
|
+
onToggleExpand: handleToggleExpand,
|
237
|
+
onCheckBoxChange: handleCheckBoxChange,
|
238
|
+
newNode: newNode,
|
239
|
+
onAddConfirm: onAddConfirm,
|
240
|
+
onAddCancel: onAddCancel,
|
241
|
+
handleEditFieldError: handleEditFieldError,
|
242
|
+
expanding: expanding,
|
243
|
+
selectedNode: selectedNode,
|
244
|
+
hideOnDisable: hideOnDisable,
|
245
|
+
scriptLengthTruncate: scriptLengthTruncate,
|
246
|
+
addModuleInputWidth: addModuleInputWidth,
|
247
|
+
addModuleSelectWidth: addModuleSelectWidth,
|
248
|
+
disableEditLabelConfirmIcon: disableEditLabelConfirmIcon
|
249
|
+
})]
|
250
|
+
})
|
251
|
+
})
|
252
|
+
});
|
253
|
+
});
|
254
|
+
|
255
|
+
export { TableTreeFn as default };
|
256
|
+
//# sourceMappingURL=TableTreeFn.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TableTreeFn.js","sources":["../../../src/components/TableTreeFn/TableTreeFn.tsx"],"sourcesContent":[null],"names":["TableTreeFn","forwardRef","treeData","columnsData","selected","select","onChange","onClick","onExpand","loadMore","tableBorder","height","newNode","onAddConfirm","_name","onAddCancel","handleEditFieldError","loading","rootNode","getContentLength","pagination","selectedNode","tableHeaderBgColor","hideOnDisable","freezeColumns","scriptLengthTruncate","addModuleInputWidth","addModuleSelectWidth","onScroll","disableEditLabelConfirmIcon","transparentHeader","navigateTreeNode","ref","expanding","setExpanding","useState","isLoading","setIsLoading","observerRef","useRef","containerRef","prevScrollTop","setPrevScrollTop","previousTreeDataRef","loadMoreAbove","console","log","current","scrollTop","loadMoreBelow","handleScroll","useCallback","container","previousTreeData","length","addedRowsCount","i","retries","maxRetries","tryRestoreScroll","allRows","Array","from","querySelectorAll","totalAddedHeight","getBoundingClientRect","canScroll","scrollHeight","clientHeight","validHeights","requestAnimationFrame","warn","useEffect","scrollContainer","document","getElementById","lastNode","firstNode","isLastResourceBelow","lastResource","isLastResourceAbove","disconnect","observerCallback","entries","forEach","entry","nodeId","target","id","direction","isIntersecting","IntersectionObserver","root","rootMargin","threshold","observe","useLayoutEffect","raf","cancelAnimationFrame","undefined","handleToggleExpand","node","key","scrollDiv","addEventListener","removeEventListener","handleCheckBoxChange","e","handleRowClick","scrollIntoView","behavior","block","DEFAULT_COLUMN_WIDTH","calculateFrozenWidth","columnData","slice","reduce","acc","col","parseInt","width","frozenWidth","_jsx","className","children","style","border","_jsxs","TableHead","onCheckBoxChange","TableBody","flattenedTreeData","addLastChild","onRowClick","onToggleExpand"],"mappings":"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"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
const addLastChild = treeData => {
|
2
|
+
const childMap = new Map();
|
3
|
+
const updatedTreeData = treeData.map(node => {
|
4
|
+
const newNode = {
|
5
|
+
...node
|
6
|
+
};
|
7
|
+
if (node.parentId) {
|
8
|
+
const children = childMap.get(node.parentId) ?? [];
|
9
|
+
children.push(newNode);
|
10
|
+
childMap.set(node.parentId, children);
|
11
|
+
}
|
12
|
+
return newNode;
|
13
|
+
});
|
14
|
+
childMap.forEach(children => {
|
15
|
+
const lastChildNode = children.at(-1);
|
16
|
+
if (lastChildNode) {
|
17
|
+
lastChildNode.lastChild = true;
|
18
|
+
}
|
19
|
+
const prevLastChild = children.at(-2);
|
20
|
+
if (prevLastChild) {
|
21
|
+
prevLastChild.lastChild = false;
|
22
|
+
}
|
23
|
+
});
|
24
|
+
return updatedTreeData;
|
25
|
+
};
|
26
|
+
|
27
|
+
export { addLastChild };
|
28
|
+
//# sourceMappingURL=addLastChild.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"addLastChild.js","sources":["../../../../src/components/TableTreeFn/Utils/addLastChild.ts"],"sourcesContent":[null],"names":["addLastChild","treeData","childMap","Map","updatedTreeData","map","node","newNode","parentId","children","get","push","set","forEach","lastChildNode","at","lastChild","prevLastChild"],"mappings":"AAEO,MAAMA,YAAY,GAAIC,QAAyB,IAAqB;AACzE,EAAA,MAAMC,QAAQ,GAAG,IAAIC,GAAG,EAA2B;AAEnD,EAAA,MAAMC,eAAe,GAAGH,QAAQ,CAACI,GAAG,CAAEC,IAAI,IAAI;AAC5C,IAAA,MAAMC,OAAO,GAAG;MAAE,GAAGD;KAAM;IAC3B,IAAIA,IAAI,CAACE,QAAQ,EAAE;MACjB,MAAMC,QAAQ,GAAGP,QAAQ,CAACQ,GAAG,CAACJ,IAAI,CAACE,QAAQ,CAAC,IAAI,EAAE;AAClDC,MAAAA,QAAQ,CAACE,IAAI,CAACJ,OAAO,CAAC;MACtBL,QAAQ,CAACU,GAAG,CAACN,IAAI,CAACE,QAAQ,EAAEC,QAAQ,CAAC;AACvC;AACA,IAAA,OAAOF,OAAO;AAChB,GAAC,CAAC;AAEFL,EAAAA,QAAQ,CAACW,OAAO,CAAEJ,QAAQ,IAAI;IAC5B,MAAMK,aAAa,GAAGL,QAAQ,CAACM,EAAE,CAAC,EAAE,CAAC;AACrC,IAAA,IAAID,aAAa,EAAE;MACjBA,aAAa,CAACE,SAAS,GAAG,IAAI;AAChC;IACA,MAAMC,aAAa,GAAGR,QAAQ,CAACM,EAAE,CAAC,EAAE,CAAC;AACrC,IAAA,IAAIE,aAAa,EAAE;MACjBA,aAAa,CAACD,SAAS,GAAG,KAAK;AACjC;AACF,GAAC,CAAC;AAEF,EAAA,OAAOZ,eAAe;AACxB;;;;"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { TreeNodeProps } from '../../../ComponentProps/TreeNodeProps';
|
2
|
+
export declare const addNewRow: (treeData: TreeNodeProps[], newNode: {
|
3
|
+
action?: "addAbove" | "addBelow" | "addInside";
|
4
|
+
sourceId?: string;
|
5
|
+
payloadSourceId?: string;
|
6
|
+
error?: string;
|
7
|
+
value?: string;
|
8
|
+
label?: string;
|
9
|
+
options?: [];
|
10
|
+
selectedOption?: string;
|
11
|
+
type?: "input" | "inputWithDropdown";
|
12
|
+
confirmIconTooltip?: string;
|
13
|
+
cancelIconTooltip?: string;
|
14
|
+
}, rootNode: TreeNodeProps) => TreeNodeProps[];
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import { addLastChild } from './addLastChild.js';
|
2
|
+
|
3
|
+
const addNewRow = (treeData, newNode, rootNode) => {
|
4
|
+
const {
|
5
|
+
sourceId,
|
6
|
+
action,
|
7
|
+
value = '',
|
8
|
+
error = '',
|
9
|
+
label,
|
10
|
+
type,
|
11
|
+
options,
|
12
|
+
selectedOption,
|
13
|
+
confirmIconTooltip,
|
14
|
+
cancelIconTooltip,
|
15
|
+
payloadSourceId
|
16
|
+
} = newNode;
|
17
|
+
if (!sourceId || !action) return treeData;
|
18
|
+
const convertedOptions = options?.map(option => ({
|
19
|
+
label: option,
|
20
|
+
value: option
|
21
|
+
}));
|
22
|
+
const convertedSelectedOption = selectedOption ? {
|
23
|
+
label: selectedOption,
|
24
|
+
value: selectedOption
|
25
|
+
} : undefined;
|
26
|
+
const nodeMap = new Map(treeData.map(node => [node.key, node]));
|
27
|
+
if (rootNode) {
|
28
|
+
nodeMap.set(rootNode.key, rootNode);
|
29
|
+
}
|
30
|
+
const sourceNode = nodeMap.get(sourceId);
|
31
|
+
if (!sourceNode) return treeData;
|
32
|
+
let payloadSourceNode;
|
33
|
+
if (payloadSourceId) {
|
34
|
+
payloadSourceNode = nodeMap.get(payloadSourceId);
|
35
|
+
}
|
36
|
+
const updatedTreeData = [...treeData];
|
37
|
+
const sourceIndex = treeData.findIndex(node => node.key === sourceId);
|
38
|
+
const newNodeBase = {
|
39
|
+
hierarchy: payloadSourceNode?.hierarchy ?? sourceNode.hierarchy,
|
40
|
+
sourceId: sourceNode.key,
|
41
|
+
isNewNode: true,
|
42
|
+
key: 'new-node',
|
43
|
+
value,
|
44
|
+
error,
|
45
|
+
label,
|
46
|
+
type,
|
47
|
+
options: convertedOptions,
|
48
|
+
selectedOption: convertedSelectedOption,
|
49
|
+
confirmIconTooltip,
|
50
|
+
cancelIconTooltip
|
51
|
+
};
|
52
|
+
let parentId;
|
53
|
+
switch (action) {
|
54
|
+
case 'addAbove':
|
55
|
+
updatedTreeData.splice(sourceIndex, 0, newNodeBase);
|
56
|
+
break;
|
57
|
+
case 'addBelow':
|
58
|
+
parentId = payloadSourceNode?.parentId;
|
59
|
+
updatedTreeData.splice(sourceIndex + 1, 0, {
|
60
|
+
...newNodeBase,
|
61
|
+
parentId
|
62
|
+
});
|
63
|
+
break;
|
64
|
+
case 'addInside':
|
65
|
+
parentId = payloadSourceNode?.key;
|
66
|
+
updatedTreeData.splice(sourceIndex + 1, 0, {
|
67
|
+
...newNodeBase,
|
68
|
+
hierarchy: newNodeBase.hierarchy + 1,
|
69
|
+
parentId
|
70
|
+
});
|
71
|
+
break;
|
72
|
+
}
|
73
|
+
return addLastChild(updatedTreeData);
|
74
|
+
};
|
75
|
+
|
76
|
+
export { addNewRow };
|
77
|
+
//# sourceMappingURL=addNewRow.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"addNewRow.js","sources":["../../../../src/components/TableTreeFn/Utils/addNewRow.ts"],"sourcesContent":[null],"names":["addNewRow","treeData","newNode","rootNode","sourceId","action","value","error","label","type","options","selectedOption","confirmIconTooltip","cancelIconTooltip","payloadSourceId","convertedOptions","map","option","convertedSelectedOption","undefined","nodeMap","Map","node","key","set","sourceNode","get","payloadSourceNode","updatedTreeData","sourceIndex","findIndex","newNodeBase","hierarchy","isNewNode","parentId","splice","addLastChild"],"mappings":";;AAGO,MAAMA,SAAS,GAAGA,CACvBC,QAAyB,EACzBC,OAYC,EACDC,QAAuB,KACrB;EACF,MAAM;IACJC,QAAQ;IACRC,MAAM;AACNC,IAAAA,KAAK,GAAG,EAAE;AACVC,IAAAA,KAAK,GAAG,EAAE;IACVC,KAAK;IACLC,IAAI;IACJC,OAAO;IACPC,cAAc;IACdC,kBAAkB;IAClBC,iBAAiB;AACjBC,IAAAA;AAAe,GAChB,GAAGZ,OAAO;AAEX,EAAA,IAAI,CAACE,QAAQ,IAAI,CAACC,MAAM,EAAE,OAAOJ,QAAQ;AAEzC,EAAA,MAAMc,gBAAgB,GAAGL,OAAO,EAAEM,GAAG,CAAEC,MAAM,KAAM;AACjDT,IAAAA,KAAK,EAAES,MAAM;AACbX,IAAAA,KAAK,EAAEW;AACR,GAAA,CAAC,CAAC;EACH,MAAMC,uBAAuB,GAAGP,cAAc,GAC1C;AAAEH,IAAAA,KAAK,EAAEG,cAAc;AAAEL,IAAAA,KAAK,EAAEK;AAAc,GAAE,GAChDQ,SAAS;AAEb,EAAA,MAAMC,OAAO,GAAG,IAAIC,GAAG,CAACpB,QAAQ,CAACe,GAAG,CAAEM,IAAI,IAAK,CAACA,IAAI,CAACC,GAAG,EAAED,IAAI,CAAC,CAAC,CAAC;AACjE,EAAA,IAAInB,QAAQ,EAAE;IACZiB,OAAO,CAACI,GAAG,CAACrB,QAAQ,CAACoB,GAAG,EAAEpB,QAAQ,CAAC;AACrC;AACA,EAAA,MAAMsB,UAAU,GAAGL,OAAO,CAACM,GAAG,CAACtB,QAAQ,CAAC;AAExC,EAAA,IAAI,CAACqB,UAAU,EAAE,OAAOxB,QAAQ;AAEhC,EAAA,IAAI0B,iBAAiB;AACrB,EAAA,IAAIb,eAAe,EAAE;AACnBa,IAAAA,iBAAiB,GAAGP,OAAO,CAACM,GAAG,CAACZ,eAAe,CAAC;AAClD;AAEA,EAAA,MAAMc,eAAe,GAAG,CAAC,GAAG3B,QAAQ,CAAC;AACrC,EAAA,MAAM4B,WAAW,GAAG5B,QAAQ,CAAC6B,SAAS,CAAER,IAAI,IAAKA,IAAI,CAACC,GAAG,KAAKnB,QAAQ,CAAC;AAEvE,EAAA,MAAM2B,WAAW,GAAG;AAClBC,IAAAA,SAAS,EAAEL,iBAAiB,EAAEK,SAAS,IAAIP,UAAU,CAACO,SAAS;IAC/D5B,QAAQ,EAAEqB,UAAU,CAACF,GAAG;AACxBU,IAAAA,SAAS,EAAE,IAAI;AACfV,IAAAA,GAAG,EAAE,UAAU;IACfjB,KAAK;IACLC,KAAK;IACLC,KAAK;IACLC,IAAI;AACJC,IAAAA,OAAO,EAAEK,gBAAgB;AACzBJ,IAAAA,cAAc,EAAEO,uBAAuB;IACvCN,kBAAkB;AAClBC,IAAAA;GACD;AAED,EAAA,IAAIqB,QAAQ;AACZ,EAAA,QAAQ7B,MAAM;AACZ,IAAA,KAAK,UAAU;MACbuB,eAAe,CAACO,MAAM,CAACN,WAAW,EAAE,CAAC,EAAEE,WAAW,CAAC;AACnD,MAAA;AACF,IAAA,KAAK,UAAU;MACbG,QAAQ,GAAGP,iBAAiB,EAAEO,QAAQ;MACtCN,eAAe,CAACO,MAAM,CAACN,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE;AAAC,QAAA,GAAGE,WAAW;AAAEG,QAAAA;AAAQ,OAAC,CAAC;AACtE,MAAA;AACF,IAAA,KAAK,WAAW;MACdA,QAAQ,GAAGP,iBAAiB,EAAEJ,GAAG;MAEjCK,eAAe,CAACO,MAAM,CAACN,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE;AACzC,QAAA,GAAGE,WAAW;AACdC,QAAAA,SAAS,EAAED,WAAW,CAACC,SAAS,GAAG,CAAC;AACpCE,QAAAA;AACD,OAAA,CAAC;AACF,MAAA;AAGJ;EAEA,OAAOE,YAAY,CAACR,eAAe,CAAC;AACtC;;;;"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { truncateText } from '../../../utils/truncateText/truncateText.js';
|
3
|
+
|
4
|
+
const formatCellData = (content, maxLength) => {
|
5
|
+
if (typeof content === 'string') {
|
6
|
+
return truncateText(content, maxLength);
|
7
|
+
}
|
8
|
+
if (/*#__PURE__*/React__default.isValidElement(content)) {
|
9
|
+
return /*#__PURE__*/React__default.cloneElement(content, {}, formatCellData(content.props.children, maxLength));
|
10
|
+
}
|
11
|
+
if (Array.isArray(content)) {
|
12
|
+
return content.map(child => formatCellData(child, maxLength));
|
13
|
+
}
|
14
|
+
return content;
|
15
|
+
};
|
16
|
+
|
17
|
+
export { formatCellData };
|
18
|
+
//# sourceMappingURL=formatDataCell.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"formatDataCell.js","sources":["../../../../src/components/TableTreeFn/Utils/formatDataCell.ts"],"sourcesContent":[null],"names":["formatCellData","content","maxLength","truncateText","React","isValidElement","cloneElement","props","children","Array","isArray","map","child"],"mappings":";;;MAGaA,cAAc,GAAGA,CAC5BC,OAAwB,EACxBC,SAAiB,KACE;AACnB,EAAA,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;AAC/B,IAAA,OAAOE,YAAY,CAACF,OAAO,EAAEC,SAAS,CAAC;AACzC;AAEA,EAAA,iBAAIE,cAAK,CAACC,cAAc,CAACJ,OAAO,CAAC,EAAE;AACjC,IAAA,oBAAOG,cAAK,CAACE,YAAY,CACvBL,OAAO,EACP,EAAE,EACFD,cAAc,CAACC,OAAO,CAACM,KAAK,CAACC,QAAQ,EAAEN,SAAS,CAAC,CAClD;AACH;AAEA,EAAA,IAAIO,KAAK,CAACC,OAAO,CAACT,OAAO,CAAC,EAAE;AAC1B,IAAA,OAAOA,OAAO,CAACU,GAAG,CAAEC,KAAK,IAAKZ,cAAc,CAACY,KAAK,EAAEV,SAAS,CAAC,CAAC;AACjE;AAEA,EAAA,OAAOD,OAAO;AAChB;;;;"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
const getAllChildIds = (nodeId, data) => {
|
2
|
+
let result = [nodeId];
|
3
|
+
// Traverse the tree and find children based on parentId
|
4
|
+
data.forEach(({ node }) => {
|
5
|
+
if (node.parentId === nodeId) {
|
6
|
+
result = result.concat(getAllChildIds(node.id, data)); // Add children recursively
|
7
|
+
}
|
8
|
+
});
|
9
|
+
return result;
|
10
|
+
};
|
11
|
+
export default getAllChildIds;
|
12
|
+
//# sourceMappingURL=getAllChildIds.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getAllChildIds.js","sourceRoot":"","sources":["../../../../src/components/TableTreeFn/Utils/getAllChildIds.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,IAAW,EAAY,EAAE;IAC/D,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAEtB,wDAAwD;IACxD,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QACxB,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B;QACpF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"renderSpaces.js","sourceRoot":"","sources":["../../../../src/components/TableTreeFn/Utils/renderSpaces.ts"],"names":[],"mappings":""}
|