@teleporthq/teleport-uidl-resolver 0.43.46 → 0.43.48
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/__tests__/abilities/utils.ts +160 -0
- package/dist/cjs/resolvers/abilities/utils.d.ts.map +1 -1
- package/dist/cjs/resolvers/abilities/utils.js +82 -54
- package/dist/cjs/resolvers/abilities/utils.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/resolvers/abilities/utils.d.ts.map +1 -1
- package/dist/esm/resolvers/abilities/utils.js +83 -55
- package/dist/esm/resolvers/abilities/utils.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/resolvers/abilities/utils.ts +171 -62
|
@@ -208,6 +208,114 @@ describe('insertLink', () => {
|
|
|
208
208
|
})
|
|
209
209
|
})
|
|
210
210
|
|
|
211
|
+
it('resolves a navlink whose route value carries a folder prefix', () => {
|
|
212
|
+
// A details page's route value is folder-qualified (`add-event/Add-Event`)
|
|
213
|
+
// while the navlink still names the page (`Add-Event`). Matching only on
|
|
214
|
+
// the whole value missed every one of them and silently fabricated
|
|
215
|
+
// `/add-event` — a path with no file behind it.
|
|
216
|
+
const node = elementNode('container')
|
|
217
|
+
const navlink = navlinkMockedDefinition()
|
|
218
|
+
navlink.content.routeName = { type: 'static', content: 'Guild-Details' }
|
|
219
|
+
node.content.abilities = { link: navlink }
|
|
220
|
+
|
|
221
|
+
const result = insertLinks(
|
|
222
|
+
node,
|
|
223
|
+
{
|
|
224
|
+
projectRouteDefinition: {
|
|
225
|
+
type: 'route',
|
|
226
|
+
defaultValue: 'home',
|
|
227
|
+
values: [{ value: 'guild-details/Guild-Details', pageOptions: { navLink: '/guilds' } }],
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
false
|
|
231
|
+
)
|
|
232
|
+
|
|
233
|
+
expect(result.content.attrs.transitionTo.content).toBe('/guilds')
|
|
234
|
+
})
|
|
235
|
+
|
|
236
|
+
it('does not guess when two folders hold a page of the same name', () => {
|
|
237
|
+
const node = elementNode('container')
|
|
238
|
+
const navlink = navlinkMockedDefinition()
|
|
239
|
+
navlink.content.routeName = { type: 'static', content: 'Details' }
|
|
240
|
+
node.content.abilities = { link: navlink }
|
|
241
|
+
|
|
242
|
+
const result = insertLinks(
|
|
243
|
+
node,
|
|
244
|
+
{
|
|
245
|
+
projectRouteDefinition: {
|
|
246
|
+
type: 'route',
|
|
247
|
+
defaultValue: 'home',
|
|
248
|
+
values: [
|
|
249
|
+
{ value: 'events/Details', pageOptions: { navLink: '/events/detail' } },
|
|
250
|
+
{ value: 'guilds/Details', pageOptions: { navLink: '/guilds/detail' } },
|
|
251
|
+
],
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
false
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
// Ambiguous → the pre-existing fallback, not an arbitrary pick.
|
|
258
|
+
expect(result.content.attrs.transitionTo.content).toBe('/details')
|
|
259
|
+
})
|
|
260
|
+
|
|
261
|
+
it('refuses to link a dynamic route that has no record id to fill it', () => {
|
|
262
|
+
// `/rsvp-event/[id]` is a TEMPLATE. Without a differentiator there is no id
|
|
263
|
+
// to substitute, so neither the template (a literal `[id]` in the address
|
|
264
|
+
// bar) nor the bare prefix (`/rsvp-event`, which matches no file) is
|
|
265
|
+
// navigable. Run 798e2775 shipped the bare prefix in the global footer of
|
|
266
|
+
// all 17 pages.
|
|
267
|
+
const node = elementNode('container')
|
|
268
|
+
const navlink = navlinkMockedDefinition()
|
|
269
|
+
navlink.content.routeName = { type: 'static', content: 'Add-Event' }
|
|
270
|
+
node.content.abilities = { link: navlink }
|
|
271
|
+
|
|
272
|
+
const result = insertLinks(
|
|
273
|
+
node,
|
|
274
|
+
{
|
|
275
|
+
projectRouteDefinition: {
|
|
276
|
+
type: 'route',
|
|
277
|
+
defaultValue: 'home',
|
|
278
|
+
values: [{ value: 'add-event/Add-Event', pageOptions: { navLink: '/add-event/[id]' } }],
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
false
|
|
282
|
+
)
|
|
283
|
+
|
|
284
|
+
expect(result.content.attrs.transitionTo.content).toBe('#')
|
|
285
|
+
})
|
|
286
|
+
|
|
287
|
+
it('still builds the record URL for a dynamic route WITH a differentiator', () => {
|
|
288
|
+
// The row-scoped case must keep working — it is the reason dynamic routes
|
|
289
|
+
// exist, and it is what the guard above must not touch.
|
|
290
|
+
const node = elementNode('container')
|
|
291
|
+
const navlink = navlinkMockedDefinition()
|
|
292
|
+
navlink.content.routeName = { type: 'static', content: 'Event-Details' }
|
|
293
|
+
navlink.content.differentiatorValue = {
|
|
294
|
+
type: 'dynamic',
|
|
295
|
+
content: { referenceType: 'global', refPath: ['Current User', 'id'] },
|
|
296
|
+
} as never
|
|
297
|
+
node.content.abilities = { link: navlink }
|
|
298
|
+
|
|
299
|
+
const result = insertLinks(
|
|
300
|
+
node,
|
|
301
|
+
{
|
|
302
|
+
projectRouteDefinition: {
|
|
303
|
+
type: 'route',
|
|
304
|
+
defaultValue: 'home',
|
|
305
|
+
values: [
|
|
306
|
+
{ value: 'event-details/Event-Details', pageOptions: { navLink: '/event-details' } },
|
|
307
|
+
],
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
false
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
expect(result.content.attrs.transitionTo).toEqual({
|
|
314
|
+
type: 'expr',
|
|
315
|
+
content: '`/event-details/' + '$' + '{' + 'currentUser?.id}' + '`',
|
|
316
|
+
})
|
|
317
|
+
})
|
|
318
|
+
|
|
211
319
|
it('marks the link wrapper display:contents when the flex parent uses a project-referenced style', () => {
|
|
212
320
|
const child = elementNode('container')
|
|
213
321
|
child.content.abilities = { link: navlinkMockedDefinition() }
|
|
@@ -255,6 +363,58 @@ describe('insertLink', () => {
|
|
|
255
363
|
expect(wrapper.content.elementType).toBe('navlink')
|
|
256
364
|
expect(wrapper.content.style?.display).toBeUndefined()
|
|
257
365
|
})
|
|
366
|
+
|
|
367
|
+
it('sees through box-less ancestors to the real flex parent', () => {
|
|
368
|
+
/* The regression this exists for. A linked card almost never sits directly
|
|
369
|
+
inside its grid — it sits inside a repeater, inside a data provider,
|
|
370
|
+
inside a fragment, none of which draw a box. Asking the IMMEDIATE parent
|
|
371
|
+
"are you a flex container?" answered no, the wrapper was left as a normal
|
|
372
|
+
box, and it became the flex item instead of the card: every card lost its
|
|
373
|
+
`flex: 0 0 <width>` and collapsed to content width. The published grid
|
|
374
|
+
stopped matching the editor, which renders no wrapper at all. */
|
|
375
|
+
const card = elementNode('container')
|
|
376
|
+
card.content.abilities = { link: navlinkMockedDefinition() }
|
|
377
|
+
|
|
378
|
+
const fragment = elementNode('fragment', {}, [card])
|
|
379
|
+
const grid = elementNode('container', {}, [fragment])
|
|
380
|
+
grid.content.referencedStyles = {
|
|
381
|
+
TQ_row: {
|
|
382
|
+
id: 'TQ_row',
|
|
383
|
+
type: 'style-map',
|
|
384
|
+
content: { mapType: 'project-referenced', referenceId: 'tq-scroll-row' },
|
|
385
|
+
},
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
const result = insertLinks(grid, flexProjectStyleSetOptions('flex'), false)
|
|
389
|
+
const resolvedFragment = result.content.children[0] as UIDLElementNode
|
|
390
|
+
const wrapper = resolvedFragment.content.children[0] as UIDLElementNode
|
|
391
|
+
|
|
392
|
+
expect(wrapper.content.elementType).toBe('navlink')
|
|
393
|
+
expect(wrapper.content.style?.display).toEqual({ type: 'static', content: 'contents' })
|
|
394
|
+
})
|
|
395
|
+
|
|
396
|
+
it('still ignores box-less ancestors when the real parent is not flex/grid', () => {
|
|
397
|
+
// The transparency walk must not manufacture a flex parent that isn't there.
|
|
398
|
+
const card = elementNode('container')
|
|
399
|
+
card.content.abilities = { link: navlinkMockedDefinition() }
|
|
400
|
+
|
|
401
|
+
const fragment = elementNode('fragment', {}, [card])
|
|
402
|
+
const block = elementNode('container', {}, [fragment])
|
|
403
|
+
block.content.referencedStyles = {
|
|
404
|
+
TQ_row: {
|
|
405
|
+
id: 'TQ_row',
|
|
406
|
+
type: 'style-map',
|
|
407
|
+
content: { mapType: 'project-referenced', referenceId: 'tq-scroll-row' },
|
|
408
|
+
},
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
const result = insertLinks(block, flexProjectStyleSetOptions('block'), false)
|
|
412
|
+
const resolvedFragment = result.content.children[0] as UIDLElementNode
|
|
413
|
+
const wrapper = resolvedFragment.content.children[0] as UIDLElementNode
|
|
414
|
+
|
|
415
|
+
expect(wrapper.content.elementType).toBe('navlink')
|
|
416
|
+
expect(wrapper.content.style?.display).toBeUndefined()
|
|
417
|
+
})
|
|
258
418
|
})
|
|
259
419
|
|
|
260
420
|
describe('insertLink with link-type prop', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/abilities/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,YAAY,EAEZ,eAAe,EAEf,kBAAkB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/abilities/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,YAAY,EAEZ,eAAe,EAEf,kBAAkB,EAEnB,MAAM,4BAA4B,CAAA;AAuDnC,eAAO,MAAM,WAAW,SAChB,eAAe,WACZ,gBAAgB,iBACX,OAAO,eACR,eAAe,oBACV,OAAO,MAAM,EAAE,kBAAkB,CAAC,KACnD,eAoUF,CAAA;AA6FD,eAAO,MAAM,cAAc,SAAU,YAAY,WAAW,gBAAgB,KAAG,eAS9E,CAAA"}
|
|
@@ -44,120 +44,101 @@ var isAttributeSafeForAnchor = function (attrName) {
|
|
|
44
44
|
attrName.startsWith('data-') ||
|
|
45
45
|
ANCHOR_SAFE_ARIA_ATTRIBUTES.has(attrName));
|
|
46
46
|
};
|
|
47
|
-
// display values that turn a node into a flex/grid container, making its direct
|
|
48
|
-
// children into flex/grid items.
|
|
49
|
-
var FLEX_OR_GRID_DISPLAYS = new Set(['flex', 'inline-flex', 'grid', 'inline-grid']);
|
|
50
|
-
var isStaticFlexOrGridDisplay = function (display) { return (display === null || display === void 0 ? void 0 : display.type) === 'static' && FLEX_OR_GRID_DISPLAYS.has(String(display.content)); };
|
|
51
47
|
/* When a styled element also carries a link, the link is realised as a wrapper
|
|
52
|
-
<a>/navlink around it. If the parent is a flex/grid container, that
|
|
53
|
-
would become the flex/grid item instead of the styled child, dropping
|
|
54
|
-
child's sizing (e.g. a `flex: 0 0 …` card width). Detecting that here lets
|
|
55
|
-
caller mark the wrapper `display: contents` so the styled child stays the
|
|
56
|
-
flex/grid item.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
var parentIsFlexOrGridContainer = function (parentNode, options) {
|
|
61
|
-
var _a, _b;
|
|
62
|
-
if (!parentNode) {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
if (isStaticFlexOrGridDisplay((_a = parentNode.content.style) === null || _a === void 0 ? void 0 : _a.display)) {
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
var referencedStyles = parentNode.content.referencedStyles;
|
|
69
|
-
var styleSetDefinitions = (_b = options.projectStyleSet) === null || _b === void 0 ? void 0 : _b.styleSetDefinitions;
|
|
70
|
-
if (!referencedStyles || !styleSetDefinitions) {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
return Object.values(referencedStyles).some(function (referencedStyle) {
|
|
74
|
-
var _a;
|
|
75
|
-
if (referencedStyle.content.mapType !== 'project-referenced') {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
var styleSet = styleSetDefinitions[referencedStyle.content.referenceId];
|
|
79
|
-
return isStaticFlexOrGridDisplay((_a = styleSet === null || styleSet === void 0 ? void 0 : styleSet.content) === null || _a === void 0 ? void 0 : _a.display);
|
|
80
|
-
});
|
|
81
|
-
};
|
|
48
|
+
<a>/navlink around it. If the layout parent is a flex/grid container, that
|
|
49
|
+
wrapper would become the flex/grid item instead of the styled child, dropping
|
|
50
|
+
the child's sizing (e.g. a `flex: 0 0 …` card width). Detecting that here lets
|
|
51
|
+
the caller mark the wrapper `display: contents` so the styled child stays the
|
|
52
|
+
real flex/grid item.
|
|
53
|
+
|
|
54
|
+
The container test lives in LayoutTopology because this is not the only place
|
|
55
|
+
that inserts a wrapper between a container and its items. */
|
|
56
|
+
var parentIsFlexOrGridContainer = function (parentNode, options) { var _a; return teleport_shared_1.LayoutTopology.isFlexOrGridContainer(parentNode, (_a = options.projectStyleSet) === null || _a === void 0 ? void 0 : _a.styleSetDefinitions); };
|
|
82
57
|
var insertLinks = function (node, options, linkInParent, parentNode, propDefinitions) {
|
|
83
58
|
var _a, _b, _c;
|
|
84
59
|
if (linkInParent === void 0) { linkInParent = false; }
|
|
85
60
|
var _d = node.content, abilities = _d.abilities, children = _d.children, elementType = _d.elementType, semanticType = _d.semanticType, _e = _d.attrs, attrs = _e === void 0 ? {} : _e;
|
|
86
61
|
var linkInNode = linkInParent || !!(abilities === null || abilities === void 0 ? void 0 : abilities.link);
|
|
62
|
+
/* What this node's descendants should treat as their layout parent. A node
|
|
63
|
+
that draws no box (a fragment) passes its OWN layout parent through, so a
|
|
64
|
+
card sitting inside `grid > data-provider > fragment > repeater` still sees
|
|
65
|
+
the grid. Passing `node` blindly here is what let a link wrapper become the
|
|
66
|
+
flex item of a card grid and collapse every card to content width. */
|
|
67
|
+
var layoutParent = teleport_shared_1.LayoutTopology.resolveLayoutParent(node, parentNode);
|
|
87
68
|
node.content.children = children === null || children === void 0 ? void 0 : children.map(function (child) {
|
|
88
69
|
var _a;
|
|
89
70
|
if (child.type === 'element') {
|
|
90
|
-
return (0, exports.insertLinks)(child, options, linkInNode,
|
|
71
|
+
return (0, exports.insertLinks)(child, options, linkInNode, layoutParent, propDefinitions);
|
|
91
72
|
}
|
|
92
73
|
if (child.type === 'repeat') {
|
|
93
|
-
child.content.node = (0, exports.insertLinks)(child.content.node, options, linkInNode,
|
|
74
|
+
child.content.node = (0, exports.insertLinks)(child.content.node, options, linkInNode, layoutParent, propDefinitions);
|
|
94
75
|
}
|
|
95
76
|
if (child.type === 'conditional' && child.content.node.type === 'element') {
|
|
96
|
-
child.content.node = (0, exports.insertLinks)(child.content.node, options, linkInNode,
|
|
77
|
+
child.content.node = (0, exports.insertLinks)(child.content.node, options, linkInNode, layoutParent, propDefinitions);
|
|
97
78
|
}
|
|
98
79
|
if (child.type === 'slot' && ((_a = child.content.fallback) === null || _a === void 0 ? void 0 : _a.type) === 'element') {
|
|
99
|
-
child.content.fallback = (0, exports.insertLinks)(child.content.fallback, options, linkInNode,
|
|
80
|
+
child.content.fallback = (0, exports.insertLinks)(child.content.fallback, options, linkInNode, layoutParent, propDefinitions);
|
|
100
81
|
}
|
|
101
82
|
if (child.type === 'cms-list') {
|
|
102
83
|
var _b = child.content.nodes, success = _b.success, error = _b.error, loading = _b.loading;
|
|
103
84
|
if (success) {
|
|
104
|
-
child.content.nodes.success = (0, exports.insertLinks)(success, options, false,
|
|
85
|
+
child.content.nodes.success = (0, exports.insertLinks)(success, options, false, layoutParent, propDefinitions);
|
|
105
86
|
}
|
|
106
87
|
if (error) {
|
|
107
|
-
child.content.nodes.error = (0, exports.insertLinks)(error, options, false,
|
|
88
|
+
child.content.nodes.error = (0, exports.insertLinks)(error, options, false, layoutParent, propDefinitions);
|
|
108
89
|
}
|
|
109
90
|
if (loading) {
|
|
110
|
-
child.content.nodes.loading = (0, exports.insertLinks)(loading, options, false,
|
|
91
|
+
child.content.nodes.loading = (0, exports.insertLinks)(loading, options, false, layoutParent, propDefinitions);
|
|
111
92
|
}
|
|
112
93
|
}
|
|
113
94
|
if (child.type === 'cms-list-repeater') {
|
|
114
95
|
var _c = child.content.nodes, list = _c.list, empty = _c.empty, loading = _c.loading;
|
|
115
96
|
if (list) {
|
|
116
|
-
child.content.nodes.list = (0, exports.insertLinks)(list, options, false,
|
|
97
|
+
child.content.nodes.list = (0, exports.insertLinks)(list, options, false, layoutParent, propDefinitions);
|
|
117
98
|
}
|
|
118
99
|
if (empty) {
|
|
119
|
-
child.content.nodes.empty = (0, exports.insertLinks)(empty, options, false,
|
|
100
|
+
child.content.nodes.empty = (0, exports.insertLinks)(empty, options, false, layoutParent, propDefinitions);
|
|
120
101
|
}
|
|
121
102
|
if (loading) {
|
|
122
|
-
child.content.nodes.loading = (0, exports.insertLinks)(loading, options, false,
|
|
103
|
+
child.content.nodes.loading = (0, exports.insertLinks)(loading, options, false, layoutParent, propDefinitions);
|
|
123
104
|
}
|
|
124
105
|
}
|
|
125
106
|
if (child.type === 'cms-mixed-type') {
|
|
126
107
|
if (child.content.mappings) {
|
|
127
108
|
Object.keys(child.content.mappings).forEach(function (key) {
|
|
128
|
-
child.content.mappings[key] = (0, exports.insertLinks)(child.content.mappings[key], options, false,
|
|
109
|
+
child.content.mappings[key] = (0, exports.insertLinks)(child.content.mappings[key], options, false, layoutParent, propDefinitions);
|
|
129
110
|
});
|
|
130
111
|
}
|
|
131
112
|
var _d = child.content.nodes, fallback = _d.fallback, error = _d.error;
|
|
132
113
|
if (fallback) {
|
|
133
|
-
child.content.nodes.fallback = (0, exports.insertLinks)(fallback, options, false,
|
|
114
|
+
child.content.nodes.fallback = (0, exports.insertLinks)(fallback, options, false, layoutParent, propDefinitions);
|
|
134
115
|
}
|
|
135
116
|
if (error) {
|
|
136
|
-
child.content.nodes.error = (0, exports.insertLinks)(error, options, false,
|
|
117
|
+
child.content.nodes.error = (0, exports.insertLinks)(error, options, false, layoutParent, propDefinitions);
|
|
137
118
|
}
|
|
138
119
|
}
|
|
139
120
|
if (child.type === 'cms-item') {
|
|
140
121
|
var _e = child.content.nodes, success = _e.success, error = _e.error, loading = _e.loading;
|
|
141
122
|
if (success) {
|
|
142
|
-
child.content.nodes.success = (0, exports.insertLinks)(success, options, false,
|
|
123
|
+
child.content.nodes.success = (0, exports.insertLinks)(success, options, false, layoutParent, propDefinitions);
|
|
143
124
|
}
|
|
144
125
|
if (error) {
|
|
145
|
-
child.content.nodes.error = (0, exports.insertLinks)(error, options, false,
|
|
126
|
+
child.content.nodes.error = (0, exports.insertLinks)(error, options, false, layoutParent, propDefinitions);
|
|
146
127
|
}
|
|
147
128
|
if (loading) {
|
|
148
|
-
child.content.nodes.loading = (0, exports.insertLinks)(loading, options, false,
|
|
129
|
+
child.content.nodes.loading = (0, exports.insertLinks)(loading, options, false, layoutParent, propDefinitions);
|
|
149
130
|
}
|
|
150
131
|
}
|
|
151
132
|
if (child.type === 'data-source-list' || child.type === 'data-source-item') {
|
|
152
133
|
var _f = child.content.nodes, success = _f.success, error = _f.error, loading = _f.loading;
|
|
153
134
|
if (success) {
|
|
154
|
-
child.content.nodes.success = (0, exports.insertLinks)(success, options, false,
|
|
135
|
+
child.content.nodes.success = (0, exports.insertLinks)(success, options, false, layoutParent, propDefinitions);
|
|
155
136
|
}
|
|
156
137
|
if (error) {
|
|
157
|
-
child.content.nodes.error = (0, exports.insertLinks)(error, options, false,
|
|
138
|
+
child.content.nodes.error = (0, exports.insertLinks)(error, options, false, layoutParent, propDefinitions);
|
|
158
139
|
}
|
|
159
140
|
if (loading) {
|
|
160
|
-
child.content.nodes.loading = (0, exports.insertLinks)(loading, options, false,
|
|
141
|
+
child.content.nodes.loading = (0, exports.insertLinks)(loading, options, false, layoutParent, propDefinitions);
|
|
161
142
|
}
|
|
162
143
|
}
|
|
163
144
|
return child;
|
|
@@ -360,6 +341,16 @@ var createLinkAttributes = function (link, options) {
|
|
|
360
341
|
transitionTo: buildDifferentiatorTransitionTo(baseRoute, differentiatorValue),
|
|
361
342
|
};
|
|
362
343
|
}
|
|
344
|
+
// No differentiator + a dynamic destination = nothing navigable. See
|
|
345
|
+
// UNRESOLVABLE_NAVLINK_HREF. Checked HERE rather than inside
|
|
346
|
+
// `resolveNavlink` so the differentiator branch above still receives the
|
|
347
|
+
// real `/prefix/[id]` template it needs to substitute the row id into.
|
|
348
|
+
if (baseRoute.type === 'static' &&
|
|
349
|
+
teleport_shared_1.RoutePaths.pathHasDynamicSegment(String(baseRoute.content))) {
|
|
350
|
+
return {
|
|
351
|
+
transitionTo: { type: 'static', content: UNRESOLVABLE_NAVLINK_HREF },
|
|
352
|
+
};
|
|
353
|
+
}
|
|
363
354
|
return {
|
|
364
355
|
transitionTo: baseRoute,
|
|
365
356
|
};
|
|
@@ -382,6 +373,43 @@ var createLinkAttributes = function (link, options) {
|
|
|
382
373
|
throw new Error("createLinkNode called with invalid link type '".concat(link.type, "'"));
|
|
383
374
|
}
|
|
384
375
|
};
|
|
376
|
+
/**
|
|
377
|
+
* A route whose `value` is folder-qualified (`add-character/Add-Character`)
|
|
378
|
+
* still answers to its bare page name in a navlink's `routeName`
|
|
379
|
+
* (`Add-Character`) — the folder prefix is part of the ROUTE, not of the page's
|
|
380
|
+
* identity. Matching only on the whole value made every such lookup miss and
|
|
381
|
+
* fall through to the fabricated `/${friendlyURL}` below.
|
|
382
|
+
*
|
|
383
|
+
* Resolved only when the last segment identifies the route UNAMBIGUOUSLY; with
|
|
384
|
+
* two pages of the same name in different folders there is no way to tell which
|
|
385
|
+
* one was meant, so we keep the old miss rather than guess.
|
|
386
|
+
*/
|
|
387
|
+
var findRouteByName = function (values, routeName) {
|
|
388
|
+
var exact = values.find(function (routeItem) { return routeItem.value === routeName; });
|
|
389
|
+
if (exact) {
|
|
390
|
+
return exact;
|
|
391
|
+
}
|
|
392
|
+
// `value` is typed `string | number | boolean` — only a string route can carry
|
|
393
|
+
// a folder prefix, so anything else can never match by last segment.
|
|
394
|
+
var byLastSegment = values.filter(function (routeItem) {
|
|
395
|
+
return typeof routeItem.value === 'string' && routeItem.value.split('/').pop() === routeName;
|
|
396
|
+
});
|
|
397
|
+
return byLastSegment.length === 1 ? byLastSegment[0] : undefined;
|
|
398
|
+
};
|
|
399
|
+
/**
|
|
400
|
+
* A DYNAMIC route (`/rsvp-event/[id]`) is not a URL — it is a template that
|
|
401
|
+
* needs one record's id. A navlink with no `differentiatorValue` has no id to
|
|
402
|
+
* put there, so neither spelling is navigable: the template ships a literal
|
|
403
|
+
* `[id]` in the address bar, and the bare prefix (`/rsvp-event`) matches no file
|
|
404
|
+
* and 404s. `#` is the platform's existing representation for a link that
|
|
405
|
+
* cannot be resolved — the element still renders, it just does not navigate,
|
|
406
|
+
* which is strictly better than a link that provably fails.
|
|
407
|
+
*
|
|
408
|
+
* This is the last line of defence, not the fix: a nav or CTA link pointing at a
|
|
409
|
+
* single-record page is a planning defect, and the generator that produced the
|
|
410
|
+
* UIDL is where it should be prevented.
|
|
411
|
+
*/
|
|
412
|
+
var UNRESOLVABLE_NAVLINK_HREF = '#';
|
|
385
413
|
var resolveNavlink = function (route, options) {
|
|
386
414
|
var _a, _b;
|
|
387
415
|
if (options.skipNavlinkResolver) {
|
|
@@ -397,7 +425,7 @@ var resolveNavlink = function (route, options) {
|
|
|
397
425
|
}
|
|
398
426
|
var friendlyURL = teleport_shared_1.StringUtils.camelCaseToDashCase(teleport_shared_1.StringUtils.removeIllegalCharacters(routeName.toString()));
|
|
399
427
|
var transitionRoute = options.projectRouteDefinition
|
|
400
|
-
? options.projectRouteDefinition.values.
|
|
428
|
+
? findRouteByName(options.projectRouteDefinition.values, routeName.toString())
|
|
401
429
|
: null;
|
|
402
430
|
if (!transitionRoute) {
|
|
403
431
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/resolvers/abilities/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/resolvers/abilities/utils.ts"],"names":[],"mappings":"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"}
|