@itwin/presentation-hierarchies-react 2.0.0-alpha.61 → 2.0.0-alpha.63
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 +96 -0
- package/README.md +62 -53
- package/lib/presentation-hierarchies-react/UseTree.js +1 -2
- package/lib/presentation-hierarchies-react/UseTree.js.map +1 -1
- package/lib/presentation-hierarchies-react/Utils.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 +0 -2
- 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.js +133 -132
- package/lib/presentation-hierarchies-react/stratakit/ErrorItemRenderer.js.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/RootErrorRenderer.js +5 -4
- package/lib/presentation-hierarchies-react/stratakit/RootErrorRenderer.js.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/TreeAction.d.ts +4 -2
- package/lib/presentation-hierarchies-react/stratakit/TreeAction.d.ts.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/TreeAction.js +37 -13
- package/lib/presentation-hierarchies-react/stratakit/TreeAction.js.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/TreeNodeRenameAction.d.ts +1 -0
- package/lib/presentation-hierarchies-react/stratakit/TreeNodeRenameAction.d.ts.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/TreeNodeRenderer.d.ts.map +1 -1
- package/lib/presentation-hierarchies-react/stratakit/TreeNodeRenderer.js +152 -140
- package/lib/presentation-hierarchies-react/stratakit/TreeNodeRenderer.js.map +1 -1
- package/package.json +43 -59
|
@@ -2,8 +2,8 @@ import { MAX_LIMIT_OVERRIDE } from "../internal/Utils.js";
|
|
|
2
2
|
import { useTranslation } from "../LocalizationContext.js";
|
|
3
3
|
import { c } from "react-compiler-runtime";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { Link, Typography } from "@mui/material";
|
|
5
6
|
import { unstable_ErrorRegion } from "@stratakit/structures";
|
|
6
|
-
import { Anchor, Text } from "@stratakit/bricks";
|
|
7
7
|
//#region src/presentation-hierarchies-react/stratakit/ErrorItemRenderer.tsx
|
|
8
8
|
/**
|
|
9
9
|
* Renders StrataKit `<ErrorRegion.Item />` for all supported error types:
|
|
@@ -15,7 +15,7 @@ import { Anchor, Text } from "@stratakit/bricks";
|
|
|
15
15
|
* @alpha
|
|
16
16
|
*/
|
|
17
17
|
function ErrorItemRenderer(t0) {
|
|
18
|
-
const $ = c(
|
|
18
|
+
const $ = c(84);
|
|
19
19
|
const { treeNode, error, getHierarchyLevelDetails, filterHierarchyLevel, reloadTree, scrollToNode } = t0;
|
|
20
20
|
const translate = useTranslation();
|
|
21
21
|
if (error.type === "ResultSetTooLarge") {
|
|
@@ -118,158 +118,152 @@ function ErrorItemRenderer(t0) {
|
|
|
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
|
-
error,
|
|
125
124
|
actions: t10,
|
|
126
125
|
message: t11,
|
|
127
126
|
scrollToElement: t12
|
|
128
127
|
});
|
|
129
|
-
$[35] =
|
|
130
|
-
$[36] =
|
|
131
|
-
$[37] =
|
|
132
|
-
$[38] =
|
|
133
|
-
$[39] =
|
|
134
|
-
|
|
135
|
-
} else t13 = $[40];
|
|
128
|
+
$[35] = t10;
|
|
129
|
+
$[36] = t11;
|
|
130
|
+
$[37] = t12;
|
|
131
|
+
$[38] = treeNode;
|
|
132
|
+
$[39] = t13;
|
|
133
|
+
} else t13 = $[39];
|
|
136
134
|
return t13;
|
|
137
135
|
}
|
|
138
136
|
if (error.type === "NoFilterMatches") {
|
|
139
137
|
let t1;
|
|
140
|
-
if ($[
|
|
138
|
+
if ($[40] !== filterHierarchyLevel || $[41] !== getHierarchyLevelDetails || $[42] !== treeNode) {
|
|
141
139
|
t1 = () => {
|
|
142
140
|
const hierarchyLevelDetails_0 = getHierarchyLevelDetails(treeNode.id);
|
|
143
141
|
hierarchyLevelDetails_0 && filterHierarchyLevel?.(hierarchyLevelDetails_0);
|
|
144
142
|
};
|
|
145
|
-
$[
|
|
146
|
-
$[
|
|
147
|
-
$[
|
|
148
|
-
$[
|
|
149
|
-
} else t1 = $[
|
|
143
|
+
$[40] = filterHierarchyLevel;
|
|
144
|
+
$[41] = getHierarchyLevelDetails;
|
|
145
|
+
$[42] = treeNode;
|
|
146
|
+
$[43] = t1;
|
|
147
|
+
} else t1 = $[43];
|
|
150
148
|
let t2;
|
|
151
|
-
if ($[
|
|
149
|
+
if ($[44] !== translate) {
|
|
152
150
|
t2 = translate("noFilteredChildrenChangeFilter");
|
|
153
|
-
$[
|
|
154
|
-
$[
|
|
155
|
-
} else t2 = $[
|
|
151
|
+
$[44] = translate;
|
|
152
|
+
$[45] = t2;
|
|
153
|
+
} else t2 = $[45];
|
|
156
154
|
let t3;
|
|
157
|
-
if ($[
|
|
155
|
+
if ($[46] !== t1 || $[47] !== t2) {
|
|
158
156
|
t3 = [{
|
|
159
157
|
action: t1,
|
|
160
158
|
label: t2,
|
|
161
159
|
condition: _temp
|
|
162
160
|
}];
|
|
163
|
-
$[
|
|
164
|
-
$[
|
|
165
|
-
$[
|
|
166
|
-
} else t3 = $[
|
|
161
|
+
$[46] = t1;
|
|
162
|
+
$[47] = t2;
|
|
163
|
+
$[48] = t3;
|
|
164
|
+
} else t3 = $[48];
|
|
167
165
|
let t4;
|
|
168
|
-
if ($[
|
|
166
|
+
if ($[49] !== translate) {
|
|
169
167
|
t4 = translate("noFilteredChildren");
|
|
170
|
-
$[
|
|
171
|
-
$[
|
|
172
|
-
} else t4 = $[
|
|
168
|
+
$[49] = translate;
|
|
169
|
+
$[50] = t4;
|
|
170
|
+
} else t4 = $[50];
|
|
173
171
|
let t5;
|
|
174
|
-
if ($[
|
|
172
|
+
if ($[51] !== scrollToNode || $[52] !== treeNode) {
|
|
175
173
|
t5 = () => scrollToNode(treeNode);
|
|
176
|
-
$[
|
|
177
|
-
$[
|
|
178
|
-
$[
|
|
179
|
-
} else t5 = $[
|
|
174
|
+
$[51] = scrollToNode;
|
|
175
|
+
$[52] = treeNode;
|
|
176
|
+
$[53] = t5;
|
|
177
|
+
} else t5 = $[53];
|
|
180
178
|
let t6;
|
|
181
|
-
if ($[
|
|
179
|
+
if ($[54] !== t3 || $[55] !== t4 || $[56] !== t5 || $[57] !== treeNode) {
|
|
182
180
|
t6 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
183
181
|
treeNode,
|
|
184
|
-
error,
|
|
185
182
|
actions: t3,
|
|
186
183
|
message: t4,
|
|
187
184
|
scrollToElement: t5
|
|
188
185
|
});
|
|
189
|
-
$[
|
|
190
|
-
$[
|
|
191
|
-
$[
|
|
192
|
-
$[
|
|
193
|
-
$[
|
|
194
|
-
|
|
195
|
-
} else t6 = $[60];
|
|
186
|
+
$[54] = t3;
|
|
187
|
+
$[55] = t4;
|
|
188
|
+
$[56] = t5;
|
|
189
|
+
$[57] = treeNode;
|
|
190
|
+
$[58] = t6;
|
|
191
|
+
} else t6 = $[58];
|
|
196
192
|
return t6;
|
|
197
193
|
}
|
|
198
194
|
if (error.type === "ChildrenLoad") {
|
|
199
195
|
let t1;
|
|
200
|
-
if ($[
|
|
196
|
+
if ($[59] !== reloadTree || $[60] !== treeNode) {
|
|
201
197
|
t1 = () => reloadTree({ parentNodeId: treeNode.id });
|
|
202
|
-
$[
|
|
203
|
-
$[
|
|
204
|
-
$[
|
|
205
|
-
} else t1 = $[
|
|
198
|
+
$[59] = reloadTree;
|
|
199
|
+
$[60] = treeNode;
|
|
200
|
+
$[61] = t1;
|
|
201
|
+
} else t1 = $[61];
|
|
206
202
|
let t2;
|
|
207
|
-
if ($[
|
|
203
|
+
if ($[62] !== translate) {
|
|
208
204
|
t2 = translate("retry");
|
|
209
|
-
$[
|
|
210
|
-
$[
|
|
211
|
-
} else t2 = $[
|
|
205
|
+
$[62] = translate;
|
|
206
|
+
$[63] = t2;
|
|
207
|
+
} else t2 = $[63];
|
|
212
208
|
let t3;
|
|
213
|
-
if ($[
|
|
209
|
+
if ($[64] !== t1 || $[65] !== t2) {
|
|
214
210
|
t3 = [{
|
|
215
211
|
action: t1,
|
|
216
212
|
label: t2,
|
|
217
213
|
condition: _temp2
|
|
218
214
|
}];
|
|
219
|
-
$[
|
|
220
|
-
$[
|
|
221
|
-
$[
|
|
222
|
-
} else t3 = $[
|
|
215
|
+
$[64] = t1;
|
|
216
|
+
$[65] = t2;
|
|
217
|
+
$[66] = t3;
|
|
218
|
+
} else t3 = $[66];
|
|
223
219
|
let t4;
|
|
224
|
-
if ($[
|
|
220
|
+
if ($[67] !== translate) {
|
|
225
221
|
t4 = translate("failedToCreateHierarchy");
|
|
226
|
-
$[
|
|
227
|
-
$[
|
|
228
|
-
} else t4 = $[
|
|
222
|
+
$[67] = translate;
|
|
223
|
+
$[68] = t4;
|
|
224
|
+
} else t4 = $[68];
|
|
229
225
|
let t5;
|
|
230
|
-
if ($[
|
|
226
|
+
if ($[69] !== scrollToNode || $[70] !== treeNode) {
|
|
231
227
|
t5 = () => scrollToNode(treeNode);
|
|
232
|
-
$[
|
|
233
|
-
$[
|
|
234
|
-
$[
|
|
235
|
-
} else t5 = $[
|
|
228
|
+
$[69] = scrollToNode;
|
|
229
|
+
$[70] = treeNode;
|
|
230
|
+
$[71] = t5;
|
|
231
|
+
} else t5 = $[71];
|
|
236
232
|
let t6;
|
|
237
|
-
if ($[
|
|
233
|
+
if ($[72] !== t3 || $[73] !== t4 || $[74] !== t5 || $[75] !== treeNode) {
|
|
238
234
|
t6 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
239
235
|
treeNode,
|
|
240
|
-
error,
|
|
241
236
|
actions: t3,
|
|
242
237
|
message: t4,
|
|
243
238
|
scrollToElement: t5
|
|
244
239
|
});
|
|
245
|
-
$[
|
|
246
|
-
$[
|
|
247
|
-
$[
|
|
248
|
-
$[
|
|
249
|
-
$[
|
|
250
|
-
|
|
251
|
-
} else t6 = $[79];
|
|
240
|
+
$[72] = t3;
|
|
241
|
+
$[73] = t4;
|
|
242
|
+
$[74] = t5;
|
|
243
|
+
$[75] = treeNode;
|
|
244
|
+
$[76] = t6;
|
|
245
|
+
} else t6 = $[76];
|
|
252
246
|
return t6;
|
|
253
247
|
}
|
|
254
248
|
let t1;
|
|
255
|
-
if ($[
|
|
249
|
+
if ($[77] !== scrollToNode || $[78] !== treeNode) {
|
|
256
250
|
t1 = () => scrollToNode(treeNode);
|
|
257
|
-
$[
|
|
258
|
-
$[
|
|
259
|
-
$[
|
|
260
|
-
} else t1 = $[
|
|
251
|
+
$[77] = scrollToNode;
|
|
252
|
+
$[78] = treeNode;
|
|
253
|
+
$[79] = t1;
|
|
254
|
+
} else t1 = $[79];
|
|
261
255
|
let t2;
|
|
262
|
-
if ($[
|
|
256
|
+
if ($[80] !== error.message || $[81] !== t1 || $[82] !== treeNode) {
|
|
263
257
|
t2 = /* @__PURE__ */ jsx(ErrorItemContainer, {
|
|
264
258
|
treeNode,
|
|
265
259
|
message: error.message,
|
|
266
260
|
scrollToElement: t1
|
|
267
261
|
});
|
|
268
|
-
$[
|
|
269
|
-
$[
|
|
270
|
-
$[
|
|
271
|
-
$[
|
|
272
|
-
} else t2 = $[
|
|
262
|
+
$[80] = error.message;
|
|
263
|
+
$[81] = t1;
|
|
264
|
+
$[82] = treeNode;
|
|
265
|
+
$[83] = t2;
|
|
266
|
+
} else t2 = $[83];
|
|
273
267
|
return t2;
|
|
274
268
|
}
|
|
275
269
|
function _temp2() {
|
|
@@ -315,11 +309,12 @@ function ErrorItemContainer(t0) {
|
|
|
315
309
|
}
|
|
316
310
|
function _temp4(t0) {
|
|
317
311
|
const { label, action } = t0;
|
|
318
|
-
return /* @__PURE__ */ jsx(
|
|
319
|
-
variant: "
|
|
320
|
-
|
|
312
|
+
return /* @__PURE__ */ jsx(Typography, {
|
|
313
|
+
variant: "caption",
|
|
314
|
+
render: /* @__PURE__ */ jsx("div", {}),
|
|
315
|
+
children: /* @__PURE__ */ jsx(Link, {
|
|
316
|
+
render: /* @__PURE__ */ jsx("button", { type: "button" }),
|
|
321
317
|
onClick: action,
|
|
322
|
-
render: /* @__PURE__ */ jsx("button", {}),
|
|
323
318
|
children: label
|
|
324
319
|
})
|
|
325
320
|
}, label);
|
|
@@ -329,57 +324,63 @@ function _temp3(t0) {
|
|
|
329
324
|
return condition();
|
|
330
325
|
}
|
|
331
326
|
function MessageWithLink(t0) {
|
|
332
|
-
const $ = c(
|
|
327
|
+
const $ = c(13);
|
|
333
328
|
const { linkLabel, scrollToElement, message } = t0;
|
|
329
|
+
let firstPart;
|
|
334
330
|
let t1;
|
|
335
331
|
if ($[0] !== message) {
|
|
336
|
-
|
|
332
|
+
const splitMessage = message.split("{{node}}", 2);
|
|
333
|
+
firstPart = splitMessage[0].trimEnd();
|
|
334
|
+
t1 = splitMessage[1]?.trimStart();
|
|
337
335
|
$[0] = message;
|
|
338
|
-
$[1] =
|
|
339
|
-
|
|
340
|
-
|
|
336
|
+
$[1] = firstPart;
|
|
337
|
+
$[2] = t1;
|
|
338
|
+
} else {
|
|
339
|
+
firstPart = $[1];
|
|
340
|
+
t1 = $[2];
|
|
341
|
+
}
|
|
342
|
+
const secondPart = t1;
|
|
341
343
|
let t2;
|
|
342
|
-
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
343
|
-
t2 = {
|
|
344
|
-
display: "flex",
|
|
345
|
-
whiteSpace: "pre",
|
|
346
|
-
flexWrap: "wrap"
|
|
347
|
-
};
|
|
348
|
-
$[2] = t2;
|
|
349
|
-
} else t2 = $[2];
|
|
350
|
-
let t3;
|
|
351
344
|
if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
352
|
-
|
|
353
|
-
$[3] =
|
|
354
|
-
} else
|
|
345
|
+
t2 = /* @__PURE__ */ jsx("button", { type: "button" });
|
|
346
|
+
$[3] = t2;
|
|
347
|
+
} else t2 = $[3];
|
|
348
|
+
let t3;
|
|
349
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
350
|
+
t3 = { verticalAlign: "baseline" };
|
|
351
|
+
$[4] = t3;
|
|
352
|
+
} else t3 = $[4];
|
|
355
353
|
let t4;
|
|
356
|
-
if ($[
|
|
357
|
-
t4 = /* @__PURE__ */ jsx(
|
|
354
|
+
if ($[5] !== linkLabel || $[6] !== scrollToElement) {
|
|
355
|
+
t4 = /* @__PURE__ */ jsx(Link, {
|
|
356
|
+
render: t2,
|
|
358
357
|
onClick: scrollToElement,
|
|
359
|
-
|
|
358
|
+
variant: "caption",
|
|
359
|
+
style: t3,
|
|
360
360
|
children: linkLabel
|
|
361
361
|
});
|
|
362
|
-
$[
|
|
363
|
-
$[
|
|
364
|
-
$[
|
|
365
|
-
} else t4 = $[
|
|
366
|
-
const t5 =
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
});
|
|
377
|
-
$[
|
|
378
|
-
$[
|
|
379
|
-
$[
|
|
380
|
-
$[
|
|
381
|
-
|
|
382
|
-
|
|
362
|
+
$[5] = linkLabel;
|
|
363
|
+
$[6] = scrollToElement;
|
|
364
|
+
$[7] = t4;
|
|
365
|
+
} else t4 = $[7];
|
|
366
|
+
const t5 = secondPart ? " " : "";
|
|
367
|
+
const t6 = secondPart ? secondPart : null;
|
|
368
|
+
let t7;
|
|
369
|
+
if ($[8] !== firstPart || $[9] !== t4 || $[10] !== t5 || $[11] !== t6) {
|
|
370
|
+
t7 = /* @__PURE__ */ jsxs("div", { children: [
|
|
371
|
+
firstPart,
|
|
372
|
+
" ",
|
|
373
|
+
t4,
|
|
374
|
+
t5,
|
|
375
|
+
t6
|
|
376
|
+
] });
|
|
377
|
+
$[8] = firstPart;
|
|
378
|
+
$[9] = t4;
|
|
379
|
+
$[10] = t5;
|
|
380
|
+
$[11] = t6;
|
|
381
|
+
$[12] = t7;
|
|
382
|
+
} else t7 = $[12];
|
|
383
|
+
return t7;
|
|
383
384
|
}
|
|
384
385
|
//#endregion
|
|
385
386
|
export { ErrorItemRenderer };
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"version":3,"file":"ErrorItemRenderer.js","names":["Link","Typography","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","firstPart","splitMessage","split","trimEnd","trimStart","secondPart","Symbol","for","verticalAlign"],"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 { Link, Typography } from \"@mui/material\";\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 <Typography key={label} variant=\"caption\" render={<div />}>\n <Link render={<button type=\"button\" />} onClick={action}>\n {label}\n </Link>\n </Typography>\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 const firstPart = splitMessage[0].trimEnd();\n const secondPart = splitMessage[1]?.trimStart();\n return (\n <div>\n {firstPart}{\" \"}\n <Link\n render={<button type=\"button\" />}\n onClick={scrollToElement}\n variant=\"caption\"\n style={{ verticalAlign: \"baseline\" }}\n >\n {linkLabel}\n </Link>\n {secondPart ? \" \" : \"\"}\n {secondPart ? secondPart : null}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useTranslation } from "../LocalizationContext.js";
|
|
2
2
|
import { c } from "react-compiler-runtime";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
import { Button,
|
|
5
|
-
import { Icon } from "@stratakit/
|
|
4
|
+
import { Button, Typography } from "@mui/material";
|
|
5
|
+
import { Icon } from "@stratakit/mui";
|
|
6
6
|
import errorSvg from "@stratakit/icons/status-error.svg";
|
|
7
7
|
//#region src/presentation-hierarchies-react/stratakit/RootErrorRenderer.tsx
|
|
8
8
|
/**
|
|
@@ -139,8 +139,8 @@ function RootErrorContainer(t0) {
|
|
|
139
139
|
} else t3 = $[2];
|
|
140
140
|
let t4;
|
|
141
141
|
if ($[3] !== message) {
|
|
142
|
-
t4 = /* @__PURE__ */ jsx(
|
|
143
|
-
variant: "
|
|
142
|
+
t4 = /* @__PURE__ */ jsx(Typography, {
|
|
143
|
+
variant: "caption",
|
|
144
144
|
style: t3,
|
|
145
145
|
children: message
|
|
146
146
|
});
|
|
@@ -172,6 +172,7 @@ function RootErrorContainer(t0) {
|
|
|
172
172
|
function _temp4(action) {
|
|
173
173
|
return /* @__PURE__ */ jsx(Button, {
|
|
174
174
|
onClick: () => action.action(),
|
|
175
|
+
size: "small",
|
|
175
176
|
children: action.label
|
|
176
177
|
}, action.label);
|
|
177
178
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootErrorRenderer.js","names":["Button","
|
|
1
|
+
{"version":3,"file":"RootErrorRenderer.js","names":["Button","Typography","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, Typography } from \"@mui/material\";\nimport { Icon } from \"@stratakit/mui\";\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 <Typography variant=\"caption\" style={{ textAlign: \"center\" }}>\n {message}\n </Typography>\n {actions\n ?.filter(({ condition }) => condition())\n .map((action) => {\n return (\n <Button key={action.label} onClick={() => action.action()} size=\"small\">\n {action.label}\n </Button>\n );\n })}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentPropsWithoutRef, NamedExoticComponent } from "react";
|
|
2
2
|
import { Tree } from "@stratakit/structures";
|
|
3
3
|
|
|
4
4
|
//#region src/presentation-hierarchies-react/stratakit/TreeAction.d.ts
|
|
@@ -23,7 +23,9 @@ interface TreeActionBaseAttributes {
|
|
|
23
23
|
hide?: boolean;
|
|
24
24
|
}
|
|
25
25
|
/** @alpha */
|
|
26
|
-
type TreeActionBaseProps =
|
|
26
|
+
type TreeActionBaseProps = Omit<ComponentPropsWithoutRef<typeof Tree.ItemAction>, "onClick"> & TreeActionBaseAttributes & {
|
|
27
|
+
/** Callback invoked when the action is clicked. */onClick: () => void;
|
|
28
|
+
};
|
|
27
29
|
/**
|
|
28
30
|
* Base component used to render tree actions. It is designed to allow rendering same action in different contexts: inline, dropdown, context menu.
|
|
29
31
|
* Should be used together with `StrataKitTreeNodeRenderer` and returned from `getInlineActions`, `getMenuActions` and `getContextMenuActions` callbacks.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeAction.d.ts","names":[],"sources":["../../../src/presentation-hierarchies-react/stratakit/TreeAction.tsx"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"TreeAction.d.ts","names":[],"sources":["../../../src/presentation-hierarchies-react/stratakit/TreeAction.tsx"],"mappings":";;;;;;AAiBA;;;UAAiB,wBAAA;EAaX;AAIN;;;;;;EATE,OAAA;EAUwB;;;;EALxB,IAAA;AAAA;;KAIU,mBAAA,GAAsB,IAAA,CAAK,wBAAA,QAAgC,IAAA,CAAK,UAAA,gBAC1E,wBAAA;EAES,mDAAP,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;cAsBS,cAAA,EAAgB,oBAAA,CAAqB,mBAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { c } from "react-compiler-runtime";
|
|
2
2
|
import { memo } from "react";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
import {
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { ListItemIcon, MenuItem, Typography } from "@mui/material";
|
|
5
|
+
import { Icon } from "@stratakit/mui";
|
|
6
|
+
import { Tree } from "@stratakit/structures";
|
|
5
7
|
//#region src/presentation-hierarchies-react/stratakit/TreeAction.tsx
|
|
6
8
|
/**
|
|
7
9
|
* Base component used to render tree actions. It is designed to allow rendering same action in different contexts: inline, dropdown, context menu.
|
|
@@ -23,7 +25,7 @@ import { DropdownMenu, Tree } from "@stratakit/structures";
|
|
|
23
25
|
* @alpha
|
|
24
26
|
*/
|
|
25
27
|
const TreeActionBase = memo(function TreeActionBase(t0) {
|
|
26
|
-
const $ = c(
|
|
28
|
+
const $ = c(21);
|
|
27
29
|
let actionProps;
|
|
28
30
|
let dot;
|
|
29
31
|
let hide;
|
|
@@ -59,27 +61,49 @@ const TreeActionBase = memo(function TreeActionBase(t0) {
|
|
|
59
61
|
return t2;
|
|
60
62
|
}
|
|
61
63
|
if (variant === "context-menu") {
|
|
64
|
+
const { label, icon, onClick } = actionProps;
|
|
62
65
|
let t2;
|
|
63
|
-
if ($[9] !==
|
|
64
|
-
t2 = /* @__PURE__ */ jsx(
|
|
65
|
-
$[9] =
|
|
66
|
+
if ($[9] !== icon) {
|
|
67
|
+
t2 = icon ? /* @__PURE__ */ jsx(ListItemIcon, { children: typeof icon === "string" ? /* @__PURE__ */ jsx(Icon, { href: icon }) : icon }) : null;
|
|
68
|
+
$[9] = icon;
|
|
66
69
|
$[10] = t2;
|
|
67
70
|
} else t2 = $[10];
|
|
68
|
-
|
|
71
|
+
let t3;
|
|
72
|
+
if ($[11] !== label) {
|
|
73
|
+
t3 = /* @__PURE__ */ jsx(Typography, {
|
|
74
|
+
variant: "caption",
|
|
75
|
+
children: label
|
|
76
|
+
});
|
|
77
|
+
$[11] = label;
|
|
78
|
+
$[12] = t3;
|
|
79
|
+
} else t3 = $[12];
|
|
80
|
+
let t4;
|
|
81
|
+
if ($[13] !== onClick || $[14] !== t2 || $[15] !== t3) {
|
|
82
|
+
t4 = /* @__PURE__ */ jsxs(MenuItem, {
|
|
83
|
+
dense: true,
|
|
84
|
+
onClick,
|
|
85
|
+
children: [t2, t3]
|
|
86
|
+
});
|
|
87
|
+
$[13] = onClick;
|
|
88
|
+
$[14] = t2;
|
|
89
|
+
$[15] = t3;
|
|
90
|
+
$[16] = t4;
|
|
91
|
+
} else t4 = $[16];
|
|
92
|
+
return t4;
|
|
69
93
|
}
|
|
70
94
|
const t2 = variant === "inline" ? visible : void 0;
|
|
71
95
|
let t3;
|
|
72
|
-
if ($[
|
|
96
|
+
if ($[17] !== actionProps || $[18] !== dot || $[19] !== t2) {
|
|
73
97
|
t3 = /* @__PURE__ */ jsx(Tree.ItemAction, {
|
|
74
98
|
...actionProps,
|
|
75
99
|
dot,
|
|
76
100
|
visible: t2
|
|
77
101
|
});
|
|
78
|
-
$[
|
|
79
|
-
$[
|
|
80
|
-
$[
|
|
81
|
-
$[
|
|
82
|
-
} else t3 = $[
|
|
102
|
+
$[17] = actionProps;
|
|
103
|
+
$[18] = dot;
|
|
104
|
+
$[19] = t2;
|
|
105
|
+
$[20] = t3;
|
|
106
|
+
} else t3 = $[20];
|
|
83
107
|
return t3;
|
|
84
108
|
});
|
|
85
109
|
//#endregion
|