@itwin/presentation-hierarchies-react 2.0.0-alpha.60 → 2.0.0-alpha.61
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 +14 -0
- 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 -10
- package/lib/presentation-hierarchies-react/UseTree.js.map +1 -1
- package/lib/presentation-hierarchies-react/internal/TreeModel.js +2 -7
- package/lib/presentation-hierarchies-react/internal/TreeModel.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 +123 -116
- 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 +1 -1
|
@@ -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(87);
|
|
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,158 +111,165 @@ 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] !== error || $[36] !== t10 || $[37] !== t11 || $[38] !== t12 || $[39] !== treeNode) {
|
|
122
122
|
t13 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
123
|
-
|
|
123
|
+
treeNode,
|
|
124
|
+
error,
|
|
124
125
|
actions: t10,
|
|
125
126
|
message: t11,
|
|
126
127
|
scrollToElement: t12
|
|
127
128
|
});
|
|
128
|
-
$[35] =
|
|
129
|
+
$[35] = error;
|
|
129
130
|
$[36] = t10;
|
|
130
131
|
$[37] = t11;
|
|
131
132
|
$[38] = t12;
|
|
132
|
-
$[39] =
|
|
133
|
-
|
|
133
|
+
$[39] = treeNode;
|
|
134
|
+
$[40] = t13;
|
|
135
|
+
} else t13 = $[40];
|
|
134
136
|
return t13;
|
|
135
137
|
}
|
|
136
|
-
if (
|
|
138
|
+
if (error.type === "NoFilterMatches") {
|
|
137
139
|
let t1;
|
|
138
|
-
if ($[
|
|
140
|
+
if ($[41] !== filterHierarchyLevel || $[42] !== getHierarchyLevelDetails || $[43] !== treeNode) {
|
|
139
141
|
t1 = () => {
|
|
140
|
-
const hierarchyLevelDetails_0 = getHierarchyLevelDetails(
|
|
142
|
+
const hierarchyLevelDetails_0 = getHierarchyLevelDetails(treeNode.id);
|
|
141
143
|
hierarchyLevelDetails_0 && filterHierarchyLevel?.(hierarchyLevelDetails_0);
|
|
142
144
|
};
|
|
143
|
-
$[40] = errorNode.id;
|
|
144
145
|
$[41] = filterHierarchyLevel;
|
|
145
146
|
$[42] = getHierarchyLevelDetails;
|
|
146
|
-
$[43] =
|
|
147
|
-
|
|
147
|
+
$[43] = treeNode;
|
|
148
|
+
$[44] = t1;
|
|
149
|
+
} else t1 = $[44];
|
|
148
150
|
let t2;
|
|
149
|
-
if ($[
|
|
151
|
+
if ($[45] !== translate) {
|
|
150
152
|
t2 = translate("noFilteredChildrenChangeFilter");
|
|
151
|
-
$[
|
|
152
|
-
$[
|
|
153
|
-
} else t2 = $[
|
|
153
|
+
$[45] = translate;
|
|
154
|
+
$[46] = t2;
|
|
155
|
+
} else t2 = $[46];
|
|
154
156
|
let t3;
|
|
155
|
-
if ($[
|
|
157
|
+
if ($[47] !== t1 || $[48] !== t2) {
|
|
156
158
|
t3 = [{
|
|
157
159
|
action: t1,
|
|
158
160
|
label: t2,
|
|
159
161
|
condition: _temp
|
|
160
162
|
}];
|
|
161
|
-
$[
|
|
162
|
-
$[
|
|
163
|
-
$[
|
|
164
|
-
} else t3 = $[
|
|
163
|
+
$[47] = t1;
|
|
164
|
+
$[48] = t2;
|
|
165
|
+
$[49] = t3;
|
|
166
|
+
} else t3 = $[49];
|
|
165
167
|
let t4;
|
|
166
|
-
if ($[
|
|
168
|
+
if ($[50] !== translate) {
|
|
167
169
|
t4 = translate("noFilteredChildren");
|
|
168
|
-
$[
|
|
169
|
-
$[
|
|
170
|
-
} else t4 = $[
|
|
170
|
+
$[50] = translate;
|
|
171
|
+
$[51] = t4;
|
|
172
|
+
} else t4 = $[51];
|
|
171
173
|
let t5;
|
|
172
|
-
if ($[
|
|
173
|
-
t5 = () => scrollToNode(
|
|
174
|
-
$[51] = errorNode;
|
|
174
|
+
if ($[52] !== scrollToNode || $[53] !== treeNode) {
|
|
175
|
+
t5 = () => scrollToNode(treeNode);
|
|
175
176
|
$[52] = scrollToNode;
|
|
176
|
-
$[53] =
|
|
177
|
-
|
|
177
|
+
$[53] = treeNode;
|
|
178
|
+
$[54] = t5;
|
|
179
|
+
} else t5 = $[54];
|
|
178
180
|
let t6;
|
|
179
|
-
if ($[
|
|
181
|
+
if ($[55] !== error || $[56] !== t3 || $[57] !== t4 || $[58] !== t5 || $[59] !== treeNode) {
|
|
180
182
|
t6 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
181
|
-
|
|
183
|
+
treeNode,
|
|
184
|
+
error,
|
|
182
185
|
actions: t3,
|
|
183
186
|
message: t4,
|
|
184
187
|
scrollToElement: t5
|
|
185
188
|
});
|
|
186
|
-
$[
|
|
187
|
-
$[
|
|
188
|
-
$[
|
|
189
|
-
$[
|
|
190
|
-
$[
|
|
191
|
-
|
|
189
|
+
$[55] = error;
|
|
190
|
+
$[56] = t3;
|
|
191
|
+
$[57] = t4;
|
|
192
|
+
$[58] = t5;
|
|
193
|
+
$[59] = treeNode;
|
|
194
|
+
$[60] = t6;
|
|
195
|
+
} else t6 = $[60];
|
|
192
196
|
return t6;
|
|
193
197
|
}
|
|
194
|
-
if (
|
|
198
|
+
if (error.type === "ChildrenLoad") {
|
|
195
199
|
let t1;
|
|
196
|
-
if ($[
|
|
197
|
-
t1 = () => reloadTree({ parentNodeId:
|
|
198
|
-
$[
|
|
199
|
-
$[
|
|
200
|
-
$[
|
|
201
|
-
} else t1 = $[
|
|
200
|
+
if ($[61] !== reloadTree || $[62] !== treeNode) {
|
|
201
|
+
t1 = () => reloadTree({ parentNodeId: treeNode.id });
|
|
202
|
+
$[61] = reloadTree;
|
|
203
|
+
$[62] = treeNode;
|
|
204
|
+
$[63] = t1;
|
|
205
|
+
} else t1 = $[63];
|
|
202
206
|
let t2;
|
|
203
|
-
if ($[
|
|
207
|
+
if ($[64] !== translate) {
|
|
204
208
|
t2 = translate("retry");
|
|
205
|
-
$[
|
|
206
|
-
$[
|
|
207
|
-
} else t2 = $[
|
|
209
|
+
$[64] = translate;
|
|
210
|
+
$[65] = t2;
|
|
211
|
+
} else t2 = $[65];
|
|
208
212
|
let t3;
|
|
209
|
-
if ($[
|
|
213
|
+
if ($[66] !== t1 || $[67] !== t2) {
|
|
210
214
|
t3 = [{
|
|
211
215
|
action: t1,
|
|
212
216
|
label: t2,
|
|
213
217
|
condition: _temp2
|
|
214
218
|
}];
|
|
215
|
-
$[
|
|
216
|
-
$[
|
|
217
|
-
$[
|
|
218
|
-
} else t3 = $[
|
|
219
|
+
$[66] = t1;
|
|
220
|
+
$[67] = t2;
|
|
221
|
+
$[68] = t3;
|
|
222
|
+
} else t3 = $[68];
|
|
219
223
|
let t4;
|
|
220
|
-
if ($[
|
|
224
|
+
if ($[69] !== translate) {
|
|
221
225
|
t4 = translate("failedToCreateHierarchy");
|
|
222
|
-
$[
|
|
223
|
-
$[
|
|
224
|
-
} else t4 = $[
|
|
226
|
+
$[69] = translate;
|
|
227
|
+
$[70] = t4;
|
|
228
|
+
} else t4 = $[70];
|
|
225
229
|
let t5;
|
|
226
|
-
if ($[
|
|
227
|
-
t5 = () => scrollToNode(
|
|
228
|
-
$[
|
|
229
|
-
$[
|
|
230
|
-
$[
|
|
231
|
-
} else t5 = $[
|
|
230
|
+
if ($[71] !== scrollToNode || $[72] !== treeNode) {
|
|
231
|
+
t5 = () => scrollToNode(treeNode);
|
|
232
|
+
$[71] = scrollToNode;
|
|
233
|
+
$[72] = treeNode;
|
|
234
|
+
$[73] = t5;
|
|
235
|
+
} else t5 = $[73];
|
|
232
236
|
let t6;
|
|
233
|
-
if ($[
|
|
237
|
+
if ($[74] !== error || $[75] !== t3 || $[76] !== t4 || $[77] !== t5 || $[78] !== treeNode) {
|
|
234
238
|
t6 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
235
|
-
|
|
239
|
+
treeNode,
|
|
240
|
+
error,
|
|
236
241
|
actions: t3,
|
|
237
242
|
message: t4,
|
|
238
243
|
scrollToElement: t5
|
|
239
244
|
});
|
|
240
|
-
$[
|
|
241
|
-
$[
|
|
242
|
-
$[
|
|
243
|
-
$[
|
|
244
|
-
$[
|
|
245
|
-
|
|
245
|
+
$[74] = error;
|
|
246
|
+
$[75] = t3;
|
|
247
|
+
$[76] = t4;
|
|
248
|
+
$[77] = t5;
|
|
249
|
+
$[78] = treeNode;
|
|
250
|
+
$[79] = t6;
|
|
251
|
+
} else t6 = $[79];
|
|
246
252
|
return t6;
|
|
247
253
|
}
|
|
248
254
|
let t1;
|
|
249
|
-
if ($[
|
|
250
|
-
t1 = () => scrollToNode(
|
|
251
|
-
$[
|
|
252
|
-
$[
|
|
253
|
-
$[
|
|
254
|
-
} else t1 = $[
|
|
255
|
+
if ($[80] !== scrollToNode || $[81] !== treeNode) {
|
|
256
|
+
t1 = () => scrollToNode(treeNode);
|
|
257
|
+
$[80] = scrollToNode;
|
|
258
|
+
$[81] = treeNode;
|
|
259
|
+
$[82] = t1;
|
|
260
|
+
} else t1 = $[82];
|
|
255
261
|
let t2;
|
|
256
|
-
if ($[
|
|
262
|
+
if ($[83] !== error.message || $[84] !== t1 || $[85] !== treeNode) {
|
|
257
263
|
t2 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
258
|
-
|
|
259
|
-
message:
|
|
264
|
+
treeNode,
|
|
265
|
+
message: error.message,
|
|
260
266
|
scrollToElement: t1
|
|
261
267
|
});
|
|
262
|
-
$[
|
|
263
|
-
$[
|
|
264
|
-
$[
|
|
265
|
-
|
|
268
|
+
$[83] = error.message;
|
|
269
|
+
$[84] = t1;
|
|
270
|
+
$[85] = treeNode;
|
|
271
|
+
$[86] = t2;
|
|
272
|
+
} else t2 = $[86];
|
|
266
273
|
return t2;
|
|
267
274
|
}
|
|
268
275
|
function _temp2() {
|
|
@@ -273,17 +280,17 @@ function _temp() {
|
|
|
273
280
|
}
|
|
274
281
|
function ErrorItemContainer(t0) {
|
|
275
282
|
const $ = c(10);
|
|
276
|
-
const {
|
|
283
|
+
const { treeNode, message, actions, scrollToElement } = t0;
|
|
277
284
|
let t1;
|
|
278
|
-
if ($[0] !==
|
|
285
|
+
if ($[0] !== message || $[1] !== scrollToElement || $[2] !== treeNode.label) {
|
|
279
286
|
t1 = /* @__PURE__ */ jsx(MessageWithLink, {
|
|
280
|
-
linkLabel:
|
|
287
|
+
linkLabel: treeNode.label,
|
|
281
288
|
scrollToElement,
|
|
282
289
|
message
|
|
283
290
|
});
|
|
284
|
-
$[0] =
|
|
285
|
-
$[1] =
|
|
286
|
-
$[2] =
|
|
291
|
+
$[0] = message;
|
|
292
|
+
$[1] = scrollToElement;
|
|
293
|
+
$[2] = treeNode.label;
|
|
287
294
|
$[3] = t1;
|
|
288
295
|
} else t1 = $[3];
|
|
289
296
|
let t2;
|
|
@@ -293,15 +300,15 @@ function ErrorItemContainer(t0) {
|
|
|
293
300
|
$[5] = t2;
|
|
294
301
|
} else t2 = $[5];
|
|
295
302
|
let t3;
|
|
296
|
-
if ($[6] !==
|
|
303
|
+
if ($[6] !== t1 || $[7] !== t2 || $[8] !== treeNode.id) {
|
|
297
304
|
t3 = /* @__PURE__ */ jsx(unstable_ErrorRegion.Item, {
|
|
298
305
|
message: t1,
|
|
299
|
-
messageId:
|
|
306
|
+
messageId: treeNode.id,
|
|
300
307
|
actions: t2
|
|
301
308
|
});
|
|
302
|
-
$[6] =
|
|
303
|
-
$[7] =
|
|
304
|
-
$[8] =
|
|
309
|
+
$[6] = t1;
|
|
310
|
+
$[7] = t2;
|
|
311
|
+
$[8] = treeNode.id;
|
|
305
312
|
$[9] = t3;
|
|
306
313
|
} else t3 = $[9];
|
|
307
314
|
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 error={error}\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 error={error}\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 error={error}\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 };
|