@itwin/presentation-hierarchies-react 2.0.0-alpha.60 → 2.0.0-alpha.62
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/CHANGELOG.md +43 -0
- package/README.md +7 -23
- package/lib/presentation-hierarchies-react/FlatTreeNode.d.ts +1 -1
- package/lib/presentation-hierarchies-react/FlatTreeNode.d.ts.map +1 -1
- package/lib/presentation-hierarchies-react/FlatTreeNode.js +11 -8
- package/lib/presentation-hierarchies-react/FlatTreeNode.js.map +1 -1
- package/lib/presentation-hierarchies-react/TreeNode.d.ts +2 -2
- package/lib/presentation-hierarchies-react/TreeNode.d.ts.map +1 -1
- package/lib/presentation-hierarchies-react/UseTree.d.ts +4 -4
- package/lib/presentation-hierarchies-react/UseTree.d.ts.map +1 -1
- package/lib/presentation-hierarchies-react/UseTree.js +11 -11
- package/lib/presentation-hierarchies-react/UseTree.js.map +1 -1
- package/lib/presentation-hierarchies-react/internal/TreeActions.js +2 -7
- package/lib/presentation-hierarchies-react/internal/TreeActions.js.map +1 -1
- package/lib/presentation-hierarchies-react/internal/TreeLoader.js.map +1 -1
- package/lib/presentation-hierarchies-react/internal/TreeModel.js +2 -9
- package/lib/presentation-hierarchies-react/internal/TreeModel.js.map +1 -1
- package/lib/presentation-hierarchies-react/internal/UseUnifiedSelection.js.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/ErrorItemRenderer.d.ts +8 -6
- package/lib/presentation-hierarchies-react/stratakit/ErrorItemRenderer.d.ts.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/ErrorItemRenderer.js +80 -79
- package/lib/presentation-hierarchies-react/stratakit/ErrorItemRenderer.js.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/RootErrorRenderer.d.ts +1 -7
- package/lib/presentation-hierarchies-react/stratakit/RootErrorRenderer.d.ts.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/RootErrorRenderer.js.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/TreeErrorRenderer.d.ts +1 -1
- package/lib/presentation-hierarchies-react/stratakit/TreeErrorRenderer.js +49 -35
- package/lib/presentation-hierarchies-react/stratakit/TreeErrorRenderer.js.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/TreeNodeRenderer.js +14 -8
- package/lib/presentation-hierarchies-react/stratakit/TreeNodeRenderer.js.map +1 -1
- package/package.json +16 -39
|
@@ -15,16 +15,16 @@ import { Anchor, Text } from "@stratakit/bricks";
|
|
|
15
15
|
* @alpha
|
|
16
16
|
*/
|
|
17
17
|
function ErrorItemRenderer(t0) {
|
|
18
|
-
const $ = c(
|
|
19
|
-
const {
|
|
18
|
+
const $ = c(84);
|
|
19
|
+
const { treeNode, error, getHierarchyLevelDetails, filterHierarchyLevel, reloadTree, scrollToNode } = t0;
|
|
20
20
|
const translate = useTranslation();
|
|
21
|
-
if (
|
|
22
|
-
const limit =
|
|
21
|
+
if (error.type === "ResultSetTooLarge") {
|
|
22
|
+
const limit = error.resultSetSizeLimit;
|
|
23
23
|
let t1;
|
|
24
|
-
if ($[0] !==
|
|
25
|
-
t1 = () => getHierarchyLevelDetails(
|
|
26
|
-
$[0] =
|
|
27
|
-
$[1] =
|
|
24
|
+
if ($[0] !== getHierarchyLevelDetails || $[1] !== treeNode) {
|
|
25
|
+
t1 = () => getHierarchyLevelDetails(treeNode.id)?.setSizeLimit(MAX_LIMIT_OVERRIDE);
|
|
26
|
+
$[0] = getHierarchyLevelDetails;
|
|
27
|
+
$[1] = treeNode;
|
|
28
28
|
$[2] = t1;
|
|
29
29
|
} else t1 = $[2];
|
|
30
30
|
const onOverrideLimit = t1;
|
|
@@ -61,14 +61,14 @@ function ErrorItemRenderer(t0) {
|
|
|
61
61
|
$[12] = t5;
|
|
62
62
|
} else t5 = $[12];
|
|
63
63
|
let t6;
|
|
64
|
-
if ($[13] !==
|
|
64
|
+
if ($[13] !== filterHierarchyLevel || $[14] !== getHierarchyLevelDetails || $[15] !== treeNode) {
|
|
65
65
|
t6 = () => {
|
|
66
|
-
const hierarchyLevelDetails = getHierarchyLevelDetails(
|
|
66
|
+
const hierarchyLevelDetails = getHierarchyLevelDetails(treeNode.id);
|
|
67
67
|
hierarchyLevelDetails && filterHierarchyLevel?.(hierarchyLevelDetails);
|
|
68
68
|
};
|
|
69
|
-
$[13] =
|
|
70
|
-
$[14] =
|
|
71
|
-
$[15] =
|
|
69
|
+
$[13] = filterHierarchyLevel;
|
|
70
|
+
$[14] = getHierarchyLevelDetails;
|
|
71
|
+
$[15] = treeNode;
|
|
72
72
|
$[16] = t6;
|
|
73
73
|
} else t6 = $[16];
|
|
74
74
|
let t7;
|
|
@@ -78,10 +78,10 @@ function ErrorItemRenderer(t0) {
|
|
|
78
78
|
$[18] = t7;
|
|
79
79
|
} else t7 = $[18];
|
|
80
80
|
let t8;
|
|
81
|
-
if ($[19] !==
|
|
82
|
-
t8 = () => !!filterHierarchyLevel && !!
|
|
83
|
-
$[19] =
|
|
84
|
-
$[20] =
|
|
81
|
+
if ($[19] !== filterHierarchyLevel || $[20] !== treeNode) {
|
|
82
|
+
t8 = () => !!filterHierarchyLevel && !!treeNode.isFilterable;
|
|
83
|
+
$[19] = filterHierarchyLevel;
|
|
84
|
+
$[20] = treeNode;
|
|
85
85
|
$[21] = t8;
|
|
86
86
|
} else t8 = $[21];
|
|
87
87
|
let t9;
|
|
@@ -111,38 +111,38 @@ function ErrorItemRenderer(t0) {
|
|
|
111
111
|
$[31] = t11;
|
|
112
112
|
} else t11 = $[31];
|
|
113
113
|
let t12;
|
|
114
|
-
if ($[32] !==
|
|
115
|
-
t12 = () => scrollToNode(
|
|
116
|
-
$[32] =
|
|
117
|
-
$[33] =
|
|
114
|
+
if ($[32] !== scrollToNode || $[33] !== treeNode) {
|
|
115
|
+
t12 = () => scrollToNode(treeNode);
|
|
116
|
+
$[32] = scrollToNode;
|
|
117
|
+
$[33] = treeNode;
|
|
118
118
|
$[34] = t12;
|
|
119
119
|
} else t12 = $[34];
|
|
120
120
|
let t13;
|
|
121
|
-
if ($[35] !==
|
|
121
|
+
if ($[35] !== t10 || $[36] !== t11 || $[37] !== t12 || $[38] !== treeNode) {
|
|
122
122
|
t13 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
123
|
-
|
|
123
|
+
treeNode,
|
|
124
124
|
actions: t10,
|
|
125
125
|
message: t11,
|
|
126
126
|
scrollToElement: t12
|
|
127
127
|
});
|
|
128
|
-
$[35] =
|
|
129
|
-
$[36] =
|
|
130
|
-
$[37] =
|
|
131
|
-
$[38] =
|
|
128
|
+
$[35] = t10;
|
|
129
|
+
$[36] = t11;
|
|
130
|
+
$[37] = t12;
|
|
131
|
+
$[38] = treeNode;
|
|
132
132
|
$[39] = t13;
|
|
133
133
|
} else t13 = $[39];
|
|
134
134
|
return t13;
|
|
135
135
|
}
|
|
136
|
-
if (
|
|
136
|
+
if (error.type === "NoFilterMatches") {
|
|
137
137
|
let t1;
|
|
138
|
-
if ($[40] !==
|
|
138
|
+
if ($[40] !== filterHierarchyLevel || $[41] !== getHierarchyLevelDetails || $[42] !== treeNode) {
|
|
139
139
|
t1 = () => {
|
|
140
|
-
const hierarchyLevelDetails_0 = getHierarchyLevelDetails(
|
|
140
|
+
const hierarchyLevelDetails_0 = getHierarchyLevelDetails(treeNode.id);
|
|
141
141
|
hierarchyLevelDetails_0 && filterHierarchyLevel?.(hierarchyLevelDetails_0);
|
|
142
142
|
};
|
|
143
|
-
$[40] =
|
|
144
|
-
$[41] =
|
|
145
|
-
$[42] =
|
|
143
|
+
$[40] = filterHierarchyLevel;
|
|
144
|
+
$[41] = getHierarchyLevelDetails;
|
|
145
|
+
$[42] = treeNode;
|
|
146
146
|
$[43] = t1;
|
|
147
147
|
} else t1 = $[43];
|
|
148
148
|
let t2;
|
|
@@ -169,34 +169,34 @@ function ErrorItemRenderer(t0) {
|
|
|
169
169
|
$[50] = t4;
|
|
170
170
|
} else t4 = $[50];
|
|
171
171
|
let t5;
|
|
172
|
-
if ($[51] !==
|
|
173
|
-
t5 = () => scrollToNode(
|
|
174
|
-
$[51] =
|
|
175
|
-
$[52] =
|
|
172
|
+
if ($[51] !== scrollToNode || $[52] !== treeNode) {
|
|
173
|
+
t5 = () => scrollToNode(treeNode);
|
|
174
|
+
$[51] = scrollToNode;
|
|
175
|
+
$[52] = treeNode;
|
|
176
176
|
$[53] = t5;
|
|
177
177
|
} else t5 = $[53];
|
|
178
178
|
let t6;
|
|
179
|
-
if ($[54] !==
|
|
179
|
+
if ($[54] !== t3 || $[55] !== t4 || $[56] !== t5 || $[57] !== treeNode) {
|
|
180
180
|
t6 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
181
|
-
|
|
181
|
+
treeNode,
|
|
182
182
|
actions: t3,
|
|
183
183
|
message: t4,
|
|
184
184
|
scrollToElement: t5
|
|
185
185
|
});
|
|
186
|
-
$[54] =
|
|
187
|
-
$[55] =
|
|
188
|
-
$[56] =
|
|
189
|
-
$[57] =
|
|
186
|
+
$[54] = t3;
|
|
187
|
+
$[55] = t4;
|
|
188
|
+
$[56] = t5;
|
|
189
|
+
$[57] = treeNode;
|
|
190
190
|
$[58] = t6;
|
|
191
191
|
} else t6 = $[58];
|
|
192
192
|
return t6;
|
|
193
193
|
}
|
|
194
|
-
if (
|
|
194
|
+
if (error.type === "ChildrenLoad") {
|
|
195
195
|
let t1;
|
|
196
|
-
if ($[59] !==
|
|
197
|
-
t1 = () => reloadTree({ parentNodeId:
|
|
198
|
-
$[59] =
|
|
199
|
-
$[60] =
|
|
196
|
+
if ($[59] !== reloadTree || $[60] !== treeNode) {
|
|
197
|
+
t1 = () => reloadTree({ parentNodeId: treeNode.id });
|
|
198
|
+
$[59] = reloadTree;
|
|
199
|
+
$[60] = treeNode;
|
|
200
200
|
$[61] = t1;
|
|
201
201
|
} else t1 = $[61];
|
|
202
202
|
let t2;
|
|
@@ -223,46 +223,47 @@ function ErrorItemRenderer(t0) {
|
|
|
223
223
|
$[68] = t4;
|
|
224
224
|
} else t4 = $[68];
|
|
225
225
|
let t5;
|
|
226
|
-
if ($[69] !==
|
|
227
|
-
t5 = () => scrollToNode(
|
|
228
|
-
$[69] =
|
|
229
|
-
$[70] =
|
|
226
|
+
if ($[69] !== scrollToNode || $[70] !== treeNode) {
|
|
227
|
+
t5 = () => scrollToNode(treeNode);
|
|
228
|
+
$[69] = scrollToNode;
|
|
229
|
+
$[70] = treeNode;
|
|
230
230
|
$[71] = t5;
|
|
231
231
|
} else t5 = $[71];
|
|
232
232
|
let t6;
|
|
233
|
-
if ($[72] !==
|
|
233
|
+
if ($[72] !== t3 || $[73] !== t4 || $[74] !== t5 || $[75] !== treeNode) {
|
|
234
234
|
t6 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
235
|
-
|
|
235
|
+
treeNode,
|
|
236
236
|
actions: t3,
|
|
237
237
|
message: t4,
|
|
238
238
|
scrollToElement: t5
|
|
239
239
|
});
|
|
240
|
-
$[72] =
|
|
241
|
-
$[73] =
|
|
242
|
-
$[74] =
|
|
243
|
-
$[75] =
|
|
240
|
+
$[72] = t3;
|
|
241
|
+
$[73] = t4;
|
|
242
|
+
$[74] = t5;
|
|
243
|
+
$[75] = treeNode;
|
|
244
244
|
$[76] = t6;
|
|
245
245
|
} else t6 = $[76];
|
|
246
246
|
return t6;
|
|
247
247
|
}
|
|
248
248
|
let t1;
|
|
249
|
-
if ($[77] !==
|
|
250
|
-
t1 = () => scrollToNode(
|
|
251
|
-
$[77] =
|
|
252
|
-
$[78] =
|
|
249
|
+
if ($[77] !== scrollToNode || $[78] !== treeNode) {
|
|
250
|
+
t1 = () => scrollToNode(treeNode);
|
|
251
|
+
$[77] = scrollToNode;
|
|
252
|
+
$[78] = treeNode;
|
|
253
253
|
$[79] = t1;
|
|
254
254
|
} else t1 = $[79];
|
|
255
255
|
let t2;
|
|
256
|
-
if ($[80] !==
|
|
256
|
+
if ($[80] !== error.message || $[81] !== t1 || $[82] !== treeNode) {
|
|
257
257
|
t2 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
258
|
-
|
|
259
|
-
message:
|
|
258
|
+
treeNode,
|
|
259
|
+
message: error.message,
|
|
260
260
|
scrollToElement: t1
|
|
261
261
|
});
|
|
262
|
-
$[80] =
|
|
262
|
+
$[80] = error.message;
|
|
263
263
|
$[81] = t1;
|
|
264
|
-
$[82] =
|
|
265
|
-
|
|
264
|
+
$[82] = treeNode;
|
|
265
|
+
$[83] = t2;
|
|
266
|
+
} else t2 = $[83];
|
|
266
267
|
return t2;
|
|
267
268
|
}
|
|
268
269
|
function _temp2() {
|
|
@@ -273,17 +274,17 @@ function _temp() {
|
|
|
273
274
|
}
|
|
274
275
|
function ErrorItemContainer(t0) {
|
|
275
276
|
const $ = c(10);
|
|
276
|
-
const {
|
|
277
|
+
const { treeNode, message, actions, scrollToElement } = t0;
|
|
277
278
|
let t1;
|
|
278
|
-
if ($[0] !==
|
|
279
|
+
if ($[0] !== message || $[1] !== scrollToElement || $[2] !== treeNode.label) {
|
|
279
280
|
t1 = /* @__PURE__ */ jsx(MessageWithLink, {
|
|
280
|
-
linkLabel:
|
|
281
|
+
linkLabel: treeNode.label,
|
|
281
282
|
scrollToElement,
|
|
282
283
|
message
|
|
283
284
|
});
|
|
284
|
-
$[0] =
|
|
285
|
-
$[1] =
|
|
286
|
-
$[2] =
|
|
285
|
+
$[0] = message;
|
|
286
|
+
$[1] = scrollToElement;
|
|
287
|
+
$[2] = treeNode.label;
|
|
287
288
|
$[3] = t1;
|
|
288
289
|
} else t1 = $[3];
|
|
289
290
|
let t2;
|
|
@@ -293,15 +294,15 @@ function ErrorItemContainer(t0) {
|
|
|
293
294
|
$[5] = t2;
|
|
294
295
|
} else t2 = $[5];
|
|
295
296
|
let t3;
|
|
296
|
-
if ($[6] !==
|
|
297
|
+
if ($[6] !== t1 || $[7] !== t2 || $[8] !== treeNode.id) {
|
|
297
298
|
t3 = /* @__PURE__ */ jsx(unstable_ErrorRegion.Item, {
|
|
298
299
|
message: t1,
|
|
299
|
-
messageId:
|
|
300
|
+
messageId: treeNode.id,
|
|
300
301
|
actions: t2
|
|
301
302
|
});
|
|
302
|
-
$[6] =
|
|
303
|
-
$[7] =
|
|
304
|
-
$[8] =
|
|
303
|
+
$[6] = t1;
|
|
304
|
+
$[7] = t2;
|
|
305
|
+
$[8] = treeNode.id;
|
|
305
306
|
$[9] = t3;
|
|
306
307
|
} else t3 = $[9];
|
|
307
308
|
return t3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorItemRenderer.js","names":["Anchor","Text","unstable_ErrorRegion","ErrorRegion","MAX_LIMIT_OVERRIDE","useTranslation","JSX","useErrorNodes","HierarchyLevelDetails","TreeRendererProps","TreeNode","ErrorItemRendererProps","Pick","errorNode","ReturnType","reloadTree","options","parentNodeId","scrollToNode","filterHierarchyLevel","hierarchyLevelDetails","ErrorItemRenderer","t0","$","_c","getHierarchyLevelDetails","translate","error","type","limit","resultSetSizeLimit","t1","id","setSizeLimit","onOverrideLimit","t2","t3","replace","toString","t4","t5","action","label","condition","t6","t7","t8","isFilterable","t9","t10","t11","t12","t13","hierarchyLevelDetails_0","_temp","_temp2","message","ErrorItemContainerProps","actions","MessageWithLinkProps","ErrorItemContainer","scrollToElement","filter","_temp3","map","_temp4","linkLabel","MessageWithLink","split","splitMessage","Symbol","for","display","whiteSpace","flexWrap"],"sources":["../../../src/presentation-hierarchies-react/stratakit/ErrorItemRenderer.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { Anchor, Text } from \"@stratakit/bricks\";\nimport { unstable_ErrorRegion as ErrorRegion } from \"@stratakit/structures\";\nimport { MAX_LIMIT_OVERRIDE } from \"../internal/Utils.js\";\nimport { useTranslation } from \"../LocalizationContext.js\";\n\nimport type { JSX } from \"react\";\nimport type { useErrorNodes } from \"../FlatTreeNode.js\";\nimport type { HierarchyLevelDetails, TreeRendererProps } from \"../Renderers.js\";\nimport type { TreeNode } from \"../TreeNode.js\";\n\n/** @alpha */\nexport interface ErrorItemRendererProps extends Pick<TreeRendererProps, \"getHierarchyLevelDetails\"> {\n /** A node containing an error. */\n errorNode: ReturnType<typeof useErrorNodes>[number];\n /** A callback to reload a hierarchy level when an error occurs and `retry` button is clicked. */\n reloadTree: (options: { parentNodeId: string | undefined }) => void;\n /** A callback to scroll to the node associated with the error. */\n scrollToNode: (errorNode: TreeNode) => void;\n /** A callback to initiate filtering of the given hierarchy level. */\n filterHierarchyLevel?: (hierarchyLevelDetails: HierarchyLevelDetails) => void;\n}\n\n/**\n * Renders StrataKit `<ErrorRegion.Item />` for all supported error types:\n * - `ResultSetTooLarge` - renders `resultLimitExceeded` message with actions to increase limit or apply filtering\n * - `NoFilterMatches` - renders `noFilteredChildren` message with action to change filter\n * - `ChildrenLoad` - renders `failedToCreateHierarchy` message with action to retry loading\n * - `Unknown` - renders message set on error object.\n *\n * @alpha\n */\nexport function ErrorItemRenderer({\n errorNode,\n getHierarchyLevelDetails,\n filterHierarchyLevel,\n reloadTree,\n scrollToNode,\n}: ErrorItemRendererProps): JSX.Element {\n const translate = useTranslation();\n\n if (errorNode.error.type === \"ResultSetTooLarge\") {\n const limit = errorNode.error.resultSetSizeLimit;\n const onOverrideLimit = () => getHierarchyLevelDetails(errorNode.id)?.setSizeLimit(MAX_LIMIT_OVERRIDE);\n return (\n <ErrorItemContainer\n errorNode={errorNode}\n actions={[\n {\n action: () => {\n onOverrideLimit();\n },\n label: translate(\"increaseHierarchyLimit\").replace(\"{{limit}}\", MAX_LIMIT_OVERRIDE.toString()),\n condition: () => limit < MAX_LIMIT_OVERRIDE,\n },\n {\n action: () => {\n const hierarchyLevelDetails = getHierarchyLevelDetails(errorNode.id);\n hierarchyLevelDetails && filterHierarchyLevel?.(hierarchyLevelDetails);\n },\n label: translate(\"increaseHierarchyLimitWithFiltering\"),\n condition: () => !!filterHierarchyLevel && !!errorNode.isFilterable,\n },\n ]}\n message={translate(\"resultLimitExceeded\").replace(\"{{limit}}\", limit.toString())}\n scrollToElement={() => scrollToNode(errorNode)}\n />\n );\n }\n if (errorNode.error.type === \"NoFilterMatches\") {\n return (\n <ErrorItemContainer\n errorNode={errorNode}\n actions={[\n {\n action: () => {\n const hierarchyLevelDetails = getHierarchyLevelDetails(errorNode.id);\n hierarchyLevelDetails && filterHierarchyLevel?.(hierarchyLevelDetails);\n },\n label: translate(\"noFilteredChildrenChangeFilter\"),\n condition: () => true,\n },\n ]}\n message={translate(\"noFilteredChildren\")}\n scrollToElement={() => scrollToNode(errorNode)}\n />\n );\n }\n if (errorNode.error.type === \"ChildrenLoad\") {\n return (\n <ErrorItemContainer\n errorNode={errorNode}\n actions={[\n {\n action: () => reloadTree({ parentNodeId: errorNode.id }),\n label: translate(\"retry\"),\n condition: () => true,\n },\n ]}\n message={translate(\"failedToCreateHierarchy\")}\n scrollToElement={() => scrollToNode(errorNode)}\n />\n );\n }\n\n return (\n <ErrorItemContainer\n errorNode={errorNode}\n message={errorNode.error.message}\n scrollToElement={() => scrollToNode(errorNode)}\n />\n );\n}\n\ntype ErrorItemContainerProps = {\n errorNode: TreeNode;\n message: string;\n actions?: { action: () => void; label: string; condition: () => boolean }[];\n} & Pick<MessageWithLinkProps, \"scrollToElement\">;\n\nfunction ErrorItemContainer({ errorNode, message, actions, scrollToElement }: ErrorItemContainerProps) {\n return (\n <ErrorRegion.Item\n message={<MessageWithLink linkLabel={errorNode.label} scrollToElement={scrollToElement} message={message} />}\n messageId={errorNode.id}\n actions={actions\n ?.filter(({ condition }) => condition())\n .map(({ label, action }) => (\n <Text key={label} variant=\"body-sm\">\n <Anchor onClick={action} render={<button />}>\n {label}\n </Anchor>\n </Text>\n ))}\n />\n );\n}\n\ninterface MessageWithLinkProps {\n scrollToElement: () => void;\n message: string;\n linkLabel?: string;\n}\n\nfunction MessageWithLink({ linkLabel, scrollToElement, message }: MessageWithLinkProps) {\n const splitMessage = message.split(\"{{node}}\", 2);\n return (\n <div style={{ display: \"flex\", whiteSpace: \"pre\", flexWrap: \"wrap\" }}>\n {splitMessage[0]}\n <Anchor onClick={scrollToElement} render={<button />}>\n {linkLabel}\n </Anchor>\n {splitMessage[1] ? splitMessage[1] : null}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ErrorItemRenderer.js","names":["Anchor","Text","unstable_ErrorRegion","ErrorRegion","MAX_LIMIT_OVERRIDE","useTranslation","JSX","HierarchyLevelDetails","TreeRendererProps","ErrorInfo","TreeNode","ErrorItemRendererProps","Pick","treeNode","Omit","error","reloadTree","options","parentNodeId","scrollToNode","filterHierarchyLevel","hierarchyLevelDetails","ErrorItemRenderer","t0","$","_c","getHierarchyLevelDetails","translate","type","limit","resultSetSizeLimit","t1","id","setSizeLimit","onOverrideLimit","t2","t3","replace","toString","t4","t5","action","label","condition","t6","t7","t8","isFilterable","t9","t10","t11","t12","t13","hierarchyLevelDetails_0","_temp","_temp2","message","ErrorItemContainerProps","actions","MessageWithLinkProps","ErrorItemContainer","scrollToElement","filter","_temp3","map","_temp4","linkLabel","MessageWithLink","split","splitMessage","Symbol","for","display","whiteSpace","flexWrap"],"sources":["../../../src/presentation-hierarchies-react/stratakit/ErrorItemRenderer.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { Anchor, Text } from \"@stratakit/bricks\";\nimport { unstable_ErrorRegion as ErrorRegion } from \"@stratakit/structures\";\nimport { MAX_LIMIT_OVERRIDE } from \"../internal/Utils.js\";\nimport { useTranslation } from \"../LocalizationContext.js\";\n\nimport type { JSX } from \"react\";\nimport type { HierarchyLevelDetails, TreeRendererProps } from \"../Renderers.js\";\nimport type { ErrorInfo, TreeNode } from \"../TreeNode.js\";\n\n/** @alpha */\nexport interface ErrorItemRendererProps extends Pick<TreeRendererProps, \"getHierarchyLevelDetails\"> {\n /** The tree node associated with the error. Used for displaying the node label in error messages and for scrolling to the node. */\n treeNode: Omit<TreeNode, \"errors\">;\n /** The error to render. */\n error: ErrorInfo;\n /** A callback to reload a hierarchy level when an error occurs and `retry` button is clicked. */\n reloadTree: (options: { parentNodeId: string | undefined }) => void;\n /** A callback to scroll to the node associated with the error. */\n scrollToNode: (treeNode: Omit<TreeNode, \"errors\">) => void;\n /** A callback to initiate filtering of the given hierarchy level. */\n filterHierarchyLevel?: (hierarchyLevelDetails: HierarchyLevelDetails) => void;\n}\n\n/**\n * Renders StrataKit `<ErrorRegion.Item />` for all supported error types:\n * - `ResultSetTooLarge` - renders `resultLimitExceeded` message with actions to increase limit or apply filtering\n * - `NoFilterMatches` - renders `noFilteredChildren` message with action to change filter\n * - `ChildrenLoad` - renders `failedToCreateHierarchy` message with action to retry loading\n * - `Unknown` - renders message set on error object.\n *\n * @alpha\n */\nexport function ErrorItemRenderer({\n treeNode,\n error,\n getHierarchyLevelDetails,\n filterHierarchyLevel,\n reloadTree,\n scrollToNode,\n}: ErrorItemRendererProps): JSX.Element {\n const translate = useTranslation();\n\n if (error.type === \"ResultSetTooLarge\") {\n const limit = error.resultSetSizeLimit;\n const onOverrideLimit = () => getHierarchyLevelDetails(treeNode.id)?.setSizeLimit(MAX_LIMIT_OVERRIDE);\n return (\n <ErrorItemContainer\n treeNode={treeNode}\n actions={[\n {\n action: () => {\n onOverrideLimit();\n },\n label: translate(\"increaseHierarchyLimit\").replace(\"{{limit}}\", MAX_LIMIT_OVERRIDE.toString()),\n condition: () => limit < MAX_LIMIT_OVERRIDE,\n },\n {\n action: () => {\n const hierarchyLevelDetails = getHierarchyLevelDetails(treeNode.id);\n hierarchyLevelDetails && filterHierarchyLevel?.(hierarchyLevelDetails);\n },\n label: translate(\"increaseHierarchyLimitWithFiltering\"),\n condition: () => !!filterHierarchyLevel && !!treeNode.isFilterable,\n },\n ]}\n message={translate(\"resultLimitExceeded\").replace(\"{{limit}}\", limit.toString())}\n scrollToElement={() => scrollToNode(treeNode)}\n />\n );\n }\n if (error.type === \"NoFilterMatches\") {\n return (\n <ErrorItemContainer\n treeNode={treeNode}\n actions={[\n {\n action: () => {\n const hierarchyLevelDetails = getHierarchyLevelDetails(treeNode.id);\n hierarchyLevelDetails && filterHierarchyLevel?.(hierarchyLevelDetails);\n },\n label: translate(\"noFilteredChildrenChangeFilter\"),\n condition: () => true,\n },\n ]}\n message={translate(\"noFilteredChildren\")}\n scrollToElement={() => scrollToNode(treeNode)}\n />\n );\n }\n if (error.type === \"ChildrenLoad\") {\n return (\n <ErrorItemContainer\n treeNode={treeNode}\n actions={[\n { action: () => reloadTree({ parentNodeId: treeNode.id }), label: translate(\"retry\"), condition: () => true },\n ]}\n message={translate(\"failedToCreateHierarchy\")}\n scrollToElement={() => scrollToNode(treeNode)}\n />\n );\n }\n return (\n <ErrorItemContainer treeNode={treeNode} message={error.message} scrollToElement={() => scrollToNode(treeNode)} />\n );\n}\n\ntype ErrorItemContainerProps = {\n treeNode: Omit<TreeNode, \"errors\">;\n message: string;\n actions?: { action: () => void; label: string; condition: () => boolean }[];\n} & Pick<MessageWithLinkProps, \"scrollToElement\">;\n\nfunction ErrorItemContainer({ treeNode, message, actions, scrollToElement }: ErrorItemContainerProps) {\n return (\n <ErrorRegion.Item\n message={<MessageWithLink linkLabel={treeNode.label} scrollToElement={scrollToElement} message={message} />}\n messageId={treeNode.id}\n actions={actions\n ?.filter(({ condition }) => condition())\n .map(({ label, action }) => (\n <Text key={label} variant=\"body-sm\">\n <Anchor onClick={action} render={<button />}>\n {label}\n </Anchor>\n </Text>\n ))}\n />\n );\n}\n\ninterface MessageWithLinkProps {\n scrollToElement: () => void;\n message: string;\n linkLabel?: string;\n}\n\nfunction MessageWithLink({ linkLabel, scrollToElement, message }: MessageWithLinkProps) {\n const splitMessage = message.split(\"{{node}}\", 2);\n return (\n <div style={{ display: \"flex\", whiteSpace: \"pre\", flexWrap: \"wrap\" }}>\n {splitMessage[0]}\n <Anchor onClick={scrollToElement} render={<button />}>\n {linkLabel}\n </Anchor>\n {splitMessage[1] ? splitMessage[1] : null}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ErrorInfo } from "../TreeNode.js";
|
|
2
1
|
import { RootErrorRendererProps } from "../Renderers.js";
|
|
3
2
|
import { JSX } from "react";
|
|
4
3
|
|
|
@@ -6,12 +5,7 @@ import { JSX } from "react";
|
|
|
6
5
|
/**
|
|
7
6
|
* @alpha
|
|
8
7
|
*/
|
|
9
|
-
type StrataKitRootErrorRendererProps =
|
|
10
|
-
/**
|
|
11
|
-
* Root error to be displayed
|
|
12
|
-
*/
|
|
13
|
-
error: ErrorInfo;
|
|
14
|
-
} & RootErrorRendererProps;
|
|
8
|
+
type StrataKitRootErrorRendererProps = RootErrorRendererProps;
|
|
15
9
|
/**
|
|
16
10
|
* A component that renders root node error state.
|
|
17
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootErrorRenderer.d.ts","names":[],"sources":["../../../src/presentation-hierarchies-react/stratakit/RootErrorRenderer.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RootErrorRenderer.d.ts","names":[],"sources":["../../../src/presentation-hierarchies-react/stratakit/RootErrorRenderer.tsx"],"mappings":";;;;;;AAiBA;KAAY,+BAAA,GAAkC,sBAAA;;;;AAO9C;;iBAAgB,0BAAA,CAAA;EACd,KAAA;EACA,wBAAA;EACA;AAAA,GACC,+BAAA,GAAkC,GAAA,CAAI,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootErrorRenderer.js","names":["Button","Text","Icon","useTranslation","errorSvg","JSX","RootErrorRendererProps","
|
|
1
|
+
{"version":3,"file":"RootErrorRenderer.js","names":["Button","Text","Icon","useTranslation","errorSvg","JSX","RootErrorRendererProps","StrataKitRootErrorRendererProps","StrataKitRootErrorRenderer","t0","$","_c","error","getHierarchyLevelDetails","reloadTree","translate","type","t1","undefined","setSizeLimit","onOverrideLimit","t2","resultSetSizeLimit","replace","toString","t3","t4","action","label","condition","_temp","t5","parentNodeId","state","_temp2","RootErrorContainerProps","message","actions","RootErrorContainer","Symbol","for","height","display","flexDirection","justifyContent","alignItems","gap","textAlign","filter","_temp3","map","_temp4","t6"],"sources":["../../../src/presentation-hierarchies-react/stratakit/RootErrorRenderer.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { Button, Text } from \"@stratakit/bricks\";\nimport { Icon } from \"@stratakit/foundations\";\nimport { useTranslation } from \"../LocalizationContext.js\";\n\nimport errorSvg from \"@stratakit/icons/status-error.svg\";\n\nimport type { JSX } from \"react\";\nimport type { RootErrorRendererProps } from \"../Renderers.js\";\n\n/**\n * @alpha\n */\nexport type StrataKitRootErrorRendererProps = RootErrorRendererProps;\n\n/**\n * A component that renders root node error state.\n *\n * @alpha\n */\nexport function StrataKitRootErrorRenderer({\n error,\n getHierarchyLevelDetails,\n reloadTree,\n}: StrataKitRootErrorRendererProps): JSX.Element {\n const translate = useTranslation();\n\n if (error.type === \"ResultSetTooLarge\") {\n const onOverrideLimit = () => getHierarchyLevelDetails(undefined)?.setSizeLimit(\"unbounded\");\n return (\n <RootErrorContainer\n message={translate(\"rootResultLimitExceeded\").replace(\"{{limit}}\", error.resultSetSizeLimit.toString())}\n actions={[\n { action: onOverrideLimit, label: translate(\"increaseHierarchyLimitToUnlimited\"), condition: () => true },\n ]}\n />\n );\n }\n\n return (\n <RootErrorContainer\n message={translate(\"failedToCreateRootHierarchy\")}\n actions={[\n {\n action: () => reloadTree({ parentNodeId: undefined, state: \"reset\" }),\n label: translate(\"retry\"),\n condition: () => true,\n },\n ]}\n />\n );\n}\n\ninterface RootErrorContainerProps {\n message: string;\n actions?: { action: () => void; label: string; condition: () => boolean }[];\n}\n\nfunction RootErrorContainer({ actions, message }: RootErrorContainerProps) {\n return (\n <div\n style={{\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n gap: \"0.5rem\",\n }}\n >\n <Icon href={errorSvg} size=\"large\" />\n <Text variant={\"body-sm\"} style={{ textAlign: \"center\" }}>\n {message}\n </Text>\n {actions\n ?.filter(({ condition }) => condition())\n .map((action) => {\n return (\n <Button key={action.label} onClick={() => action.action()}>\n {action.label}\n </Button>\n );\n })}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ interface TreeErrorRendererOwnProps {
|
|
|
20
20
|
renderError?: (props: ErrorItemRendererProps) => ReactElement;
|
|
21
21
|
}
|
|
22
22
|
/** @alpha */
|
|
23
|
-
type TreeErrorRendererProps = TreeErrorRendererOwnProps & Omit<ErrorItemRendererProps, "
|
|
23
|
+
type TreeErrorRendererProps = TreeErrorRendererOwnProps & Omit<ErrorItemRendererProps, "treeNode" | "error">;
|
|
24
24
|
/**
|
|
25
25
|
* A component that renders error display dropdown using the `unstable_ErrorRegion` component from `@stratakit/structures`.
|
|
26
26
|
* As input, the component uses a list of `ErrorNode` objects, which are generally created using the `useErrorNodes` hook.
|
|
@@ -12,50 +12,64 @@ import { unstable_ErrorRegion } from "@stratakit/structures";
|
|
|
12
12
|
* @alpha
|
|
13
13
|
*/
|
|
14
14
|
function TreeErrorRenderer(t0) {
|
|
15
|
-
const $ = c(
|
|
15
|
+
const $ = c(13);
|
|
16
16
|
const { treeLabel, errorNodes, renderError, ...errorItemRendererProps } = t0;
|
|
17
17
|
const translate = useTranslation();
|
|
18
|
-
const errorItems = errorNodes.
|
|
19
|
-
|
|
20
|
-
errorNode,
|
|
18
|
+
const errorItems = errorNodes.flatMap((errorNode) => errorNode.errors.map((error) => {
|
|
19
|
+
if (renderError) return cloneElement(renderError({
|
|
20
|
+
treeNode: errorNode,
|
|
21
|
+
error,
|
|
21
22
|
...errorItemRendererProps
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
}), { key: `${errorNode.id}:${error.id}` });
|
|
24
|
+
return /* @__PURE__ */ jsx(ErrorItemRenderer, {
|
|
25
|
+
treeNode: errorNode,
|
|
26
|
+
error,
|
|
27
|
+
...errorItemRendererProps
|
|
28
|
+
}, `${errorNode.id}:${error.id}`);
|
|
29
|
+
}));
|
|
26
30
|
let t1;
|
|
27
|
-
if ($[0]
|
|
28
|
-
t1 =
|
|
29
|
-
$[0] =
|
|
30
|
-
|
|
31
|
+
if ($[0] !== errorNodes) {
|
|
32
|
+
t1 = errorNodes.reduce(_temp, 0);
|
|
33
|
+
$[0] = errorNodes;
|
|
34
|
+
$[1] = t1;
|
|
35
|
+
} else t1 = $[1];
|
|
36
|
+
const totalErrorCount = t1;
|
|
31
37
|
let t2;
|
|
32
|
-
if ($[
|
|
33
|
-
t2 =
|
|
34
|
-
$[
|
|
35
|
-
|
|
36
|
-
$[3] = t2;
|
|
37
|
-
} else t2 = $[3];
|
|
38
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
39
|
+
t2 = { width: "100%" };
|
|
40
|
+
$[2] = t2;
|
|
41
|
+
} else t2 = $[2];
|
|
38
42
|
let t3;
|
|
39
|
-
if ($[
|
|
40
|
-
t3 =
|
|
41
|
-
$[
|
|
42
|
-
$[
|
|
43
|
-
$[
|
|
44
|
-
} else t3 = $[
|
|
43
|
+
if ($[3] !== translate || $[4] !== treeLabel) {
|
|
44
|
+
t3 = translate("issuesForTree").replace("{{tree_label}}", treeLabel);
|
|
45
|
+
$[3] = translate;
|
|
46
|
+
$[4] = treeLabel;
|
|
47
|
+
$[5] = t3;
|
|
48
|
+
} else t3 = $[5];
|
|
45
49
|
let t4;
|
|
46
|
-
if ($[
|
|
47
|
-
t4 =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
if ($[6] !== totalErrorCount || $[7] !== translate) {
|
|
51
|
+
t4 = totalErrorCount === 0 ? translate("noIssuesFound") : translate("issuesFound").replace("{{number_of_issues}}", totalErrorCount.toString());
|
|
52
|
+
$[6] = totalErrorCount;
|
|
53
|
+
$[7] = translate;
|
|
54
|
+
$[8] = t4;
|
|
55
|
+
} else t4 = $[8];
|
|
56
|
+
let t5;
|
|
57
|
+
if ($[9] !== errorItems || $[10] !== t3 || $[11] !== t4) {
|
|
58
|
+
t5 = /* @__PURE__ */ jsx(unstable_ErrorRegion.Root, {
|
|
59
|
+
style: t2,
|
|
60
|
+
"aria-label": t3,
|
|
61
|
+
label: t4,
|
|
51
62
|
items: errorItems
|
|
52
63
|
});
|
|
53
|
-
$[
|
|
54
|
-
$[
|
|
55
|
-
$[
|
|
56
|
-
$[
|
|
57
|
-
} else
|
|
58
|
-
return
|
|
64
|
+
$[9] = errorItems;
|
|
65
|
+
$[10] = t3;
|
|
66
|
+
$[11] = t4;
|
|
67
|
+
$[12] = t5;
|
|
68
|
+
} else t5 = $[12];
|
|
69
|
+
return t5;
|
|
70
|
+
}
|
|
71
|
+
function _temp(sum, n) {
|
|
72
|
+
return sum + n.errors.length;
|
|
59
73
|
}
|
|
60
74
|
//#endregion
|
|
61
75
|
export { TreeErrorRenderer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeErrorRenderer.js","names":["cloneElement","unstable_ErrorRegion","ErrorRegion","useTranslation","ErrorItemRenderer","JSX","ReactElement","useErrorNodes","ErrorItemRendererProps","TreeErrorRendererOwnProps","treeLabel","errorNodes","ReturnType","renderError","props","TreeErrorRendererProps","Omit","TreeErrorRenderer","t0","$","_c","errorItemRendererProps","translate","errorItems","
|
|
1
|
+
{"version":3,"file":"TreeErrorRenderer.js","names":["cloneElement","useMemo","unstable_ErrorRegion","ErrorRegion","useTranslation","ErrorItemRenderer","JSX","ReactElement","useErrorNodes","ErrorItemRendererProps","TreeErrorRendererOwnProps","treeLabel","errorNodes","ReturnType","renderError","props","TreeErrorRendererProps","Omit","TreeErrorRenderer","t0","$","_c","errorItemRendererProps","translate","errorItems","flatMap","errorNode","errors","map","error","treeNode","key","id","t1","reduce","_temp","totalErrorCount","t2","Symbol","for","width","t3","replace","t4","toString","t5","sum","n","length"],"sources":["../../../src/presentation-hierarchies-react/stratakit/TreeErrorRenderer.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { cloneElement, useMemo } from \"react\";\nimport { unstable_ErrorRegion as ErrorRegion } from \"@stratakit/structures\";\nimport { useTranslation } from \"../LocalizationContext.js\";\nimport { ErrorItemRenderer } from \"./ErrorItemRenderer.js\";\n\nimport type { JSX, ReactElement } from \"react\";\nimport type { useErrorNodes } from \"../FlatTreeNode.js\";\nimport type { ErrorItemRendererProps } from \"./ErrorItemRenderer.js\";\n\n/**\n * Interface containing building blocks for `TreeErrorRenderer`.\n *\n * @alpha\n */\ninterface TreeErrorRendererOwnProps {\n /**\n * A user friendly display label of the tree. Should be unique within the consuming application,\n * as it's used for creating a unique accessible label for the error region.\n */\n treeLabel: string;\n /** List of error nodes to render errors for. */\n errorNodes: ReturnType<typeof useErrorNodes>;\n /** Callback to render custom error messages. Component should be wrapped in `unstable_ErrorRegion.Item` from `@stratakit/structures` package. */\n renderError?: (props: ErrorItemRendererProps) => ReactElement;\n}\n\n/** @alpha */\nexport type TreeErrorRendererProps = TreeErrorRendererOwnProps & Omit<ErrorItemRendererProps, \"treeNode\" | \"error\">;\n\n/**\n * A component that renders error display dropdown using the `unstable_ErrorRegion` component from `@stratakit/structures`.\n * As input, the component uses a list of `ErrorNode` objects, which are generally created using the `useErrorNodes` hook.\n *\n * @alpha\n */\nexport function TreeErrorRenderer({\n treeLabel,\n errorNodes,\n renderError,\n ...errorItemRendererProps\n}: TreeErrorRendererProps): JSX.Element {\n const translate = useTranslation();\n const errorItems = errorNodes.flatMap((errorNode) =>\n errorNode.errors.map((error) => {\n if (renderError) {\n return cloneElement(renderError({ treeNode: errorNode, error, ...errorItemRendererProps }), {\n key: `${errorNode.id}:${error.id}`,\n });\n }\n return (\n <ErrorItemRenderer\n key={`${errorNode.id}:${error.id}`}\n treeNode={errorNode}\n error={error}\n {...errorItemRendererProps}\n />\n );\n }),\n );\n\n const totalErrorCount = useMemo(() => errorNodes.reduce((sum, n) => sum + n.errors.length, 0), [errorNodes]);\n\n return (\n <ErrorRegion.Root\n style={{ width: \"100%\" }}\n aria-label={translate(\"issuesForTree\").replace(\"{{tree_label}}\", treeLabel)}\n label={\n totalErrorCount === 0\n ? translate(\"noIssuesFound\")\n : translate(\"issuesFound\").replace(\"{{number_of_issues}}\", totalErrorCount.toString())\n }\n items={errorItems}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAwCA,SAAOkB,kBAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAA2B,MAAA,EAAAV,WAAAC,YAAAE,aAAA,GAAAQ,2BAAAH;CAMhC,MAAAI,YAAkBnB,gBAAgB;CAClC,MAAAoB,aAAmBZ,WAAUa,SAASC,cACpCA,UAASC,OAAOC,KAAKC,UAAA;AACnB,MAAIf,YAAW,QACNd,aAAac,YAAY;GAAAgB,UAAYJ;GAASG;GAAA,GAAYP;GAAwB,CAAC,EAAE,EAAAS,KACrF,GAAGL,UAASM,GAAG,GAAIH,MAAKG,MAC9B,CAAC;AACH,SAEC,oBAAC,mBAAD;GAEYN,UAAAA;GACHG;GAAK,GACRP;GACJ,EAJK,GAAGI,UAASM,GAAG,GAAIH,MAAKG,KAI7B;GAGR,CAAC;CAAC,IAAAC;AAAA,KAAAb,EAAA,OAAAR,YAAA;AAEoCqB,OAAArB,WAAUsB,OAAQC,OAAmC,EAAE;AAAAf,IAAA,KAAAR;AAAAQ,IAAA,KAAAa;OAAAA,MAAAb,EAAA;CAA7F,MAAAgB,kBAAsCH;CAAuE,IAAAI;AAAA,KAAAjB,EAAA,OAAAkB,OAAAC,IAAA,4BAAA,EAAA;AAIlGF,OAAA,EAAAG,OAAS,QAAQ;AAAApB,IAAA,KAAAiB;OAAAA,MAAAjB,EAAA;CAAA,IAAAqB;AAAA,KAAArB,EAAA,OAAAG,aAAAH,EAAA,OAAAT,WAAA;AACZ8B,OAAAlB,UAAU,gBAAgB,CAAAmB,QAAS,kBAAkB/B,UAAU;AAAAS,IAAA,KAAAG;AAAAH,IAAA,KAAAT;AAAAS,IAAA,KAAAqB;OAAAA,MAAArB,EAAA;CAAA,IAAAuB;AAAA,KAAAvB,EAAA,OAAAgB,mBAAAhB,EAAA,OAAAG,WAAA;AAEzEoB,OAAAP,oBAAoB,IAChBb,UAAU,gBAC0E,GAApFA,UAAU,cAAc,CAAAmB,QAAS,wBAAwBN,gBAAeQ,UAAW,CAAC;AAAAxB,IAAA,KAAAgB;AAAAhB,IAAA,KAAAG;AAAAH,IAAA,KAAAuB;OAAAA,MAAAvB,EAAA;CAAA,IAAAyB;AAAA,KAAAzB,EAAA,OAAAI,cAAAJ,EAAA,QAAAqB,MAAArB,EAAA,QAAAuB,IAAA;AAN5FE,OAAA,oBAAA,qBAAA,MAAA;GACS,OAAAR;GACK,cAAAI;GAEV,OAAAE;GAIKnB,OAAAA;GACP,CAAA;AAAAJ,IAAA,KAAAI;AAAAJ,IAAA,MAAAqB;AAAArB,IAAA,MAAAuB;AAAAvB,IAAA,MAAAyB;OAAAA,MAAAzB,EAAA;AAAA,QATFyB;;AA5BG,SAAAV,MAAAW,KAAAC,GAAA;AAAA,QAyB+DD,MAAMC,EAACpB,OAAOqB"}
|
|
@@ -53,7 +53,7 @@ const StrataKitTreeNodeRenderer = memo(forwardRef(function HierarchyNode(props,
|
|
|
53
53
|
const label = treeItemProps.label ?? node.label;
|
|
54
54
|
let t0;
|
|
55
55
|
bb0: {
|
|
56
|
-
if (node.
|
|
56
|
+
if (node.errors.some(_temp)) {
|
|
57
57
|
let t1;
|
|
58
58
|
if ($[9] !== translate) {
|
|
59
59
|
t1 = translate("retry");
|
|
@@ -116,7 +116,7 @@ const StrataKitTreeNodeRenderer = memo(forwardRef(function HierarchyNode(props,
|
|
|
116
116
|
const menuActionItems = t1;
|
|
117
117
|
let t2;
|
|
118
118
|
bb2: {
|
|
119
|
-
if (node.
|
|
119
|
+
if (node.errors.some(_temp2)) {
|
|
120
120
|
t2 = void 0;
|
|
121
121
|
break bb2;
|
|
122
122
|
}
|
|
@@ -165,19 +165,19 @@ const StrataKitTreeNodeRenderer = memo(forwardRef(function HierarchyNode(props,
|
|
|
165
165
|
$[31] = t9;
|
|
166
166
|
} else t9 = $[31];
|
|
167
167
|
const t10 = t9;
|
|
168
|
-
const t11 = node.
|
|
168
|
+
const t11 = node.errors.length > 0 ? node.errors[0].id : void 0;
|
|
169
169
|
let t12;
|
|
170
170
|
if ($[32] !== contextMenuActions || $[33] !== treeItemProps) {
|
|
171
|
-
t12 = (
|
|
172
|
-
if (treeItemProps.onContextMenu) treeItemProps.onContextMenu(
|
|
171
|
+
t12 = (e_1) => {
|
|
172
|
+
if (treeItemProps.onContextMenu) treeItemProps.onContextMenu(e_1);
|
|
173
173
|
if (!contextMenuActions) return;
|
|
174
|
-
|
|
174
|
+
e_1.preventDefault();
|
|
175
175
|
const actions = injectActionVariant(contextMenuActions, "context-menu");
|
|
176
176
|
if (actions.length === 0) return;
|
|
177
177
|
setContextMenuProps({
|
|
178
178
|
position: {
|
|
179
|
-
x:
|
|
180
|
-
y:
|
|
179
|
+
x: e_1.clientX,
|
|
180
|
+
y: e_1.clientY
|
|
181
181
|
},
|
|
182
182
|
actions
|
|
183
183
|
});
|
|
@@ -528,6 +528,12 @@ function LabelEditor(t0) {
|
|
|
528
528
|
function injectActionVariant(actions, variant) {
|
|
529
529
|
return actions.filter((action) => isValidElement(action)).map((action) => cloneElement(action, { variant }));
|
|
530
530
|
}
|
|
531
|
+
function _temp(e) {
|
|
532
|
+
return e.type === "ChildrenLoad";
|
|
533
|
+
}
|
|
534
|
+
function _temp2(e_0) {
|
|
535
|
+
return e_0.type !== "Unknown" || !e_0.isNodeExpandable;
|
|
536
|
+
}
|
|
531
537
|
//#endregion
|
|
532
538
|
export { PlaceholderNode, StrataKitTreeNodeRenderer };
|
|
533
539
|
|