@symbiote-native/angular 3.0.1 → 3.1.0
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/build/angular/callback-host.d.ts +2 -5
- package/build/angular/callback-host.js +11 -36
- package/build/angular/callback-host.js.map +1 -1
- package/build/angular/change-detection-flush.d.ts +1 -0
- package/build/angular/change-detection-flush.js +58 -14
- package/build/angular/change-detection-flush.js.map +1 -1
- package/build/angular/components/flat-list/index.d.ts +4 -2
- package/build/angular/components/flat-list/index.js +28 -78
- package/build/angular/components/flat-list/index.js.map +1 -1
- package/build/angular/components/image-shared.d.ts +8 -2
- package/build/angular/components/modal/index.d.ts +1 -0
- package/build/angular/components/modal/index.js +23 -16
- package/build/angular/components/modal/index.js.map +1 -1
- package/build/angular/components/section-list/index.d.ts +3 -1
- package/build/angular/components/section-list/index.js +10 -2
- package/build/angular/components/section-list/index.js.map +1 -1
- package/build/angular/components/virtualized-list/directives.js +7 -4
- package/build/angular/components/virtualized-list/directives.js.map +1 -1
- package/build/angular/components/virtualized-list/index.d.ts +10 -2
- package/build/angular/components/virtualized-list/index.js +45 -25
- package/build/angular/components/virtualized-list/index.js.map +1 -1
- package/build/angular/components/virtualized-section-list/index.d.ts +5 -1
- package/build/angular/components/virtualized-section-list/index.js +10 -2
- package/build/angular/components/virtualized-section-list/index.js.map +1 -1
- package/build/angular/descriptor-to-angular/index.js +6 -3
- package/build/angular/descriptor-to-angular/index.js.map +1 -1
- package/build/angular/element-props.d.ts +16 -5
- package/build/angular/elements.d.ts +5 -21
- package/build/angular/elements.js +18 -26
- package/build/angular/elements.js.map +1 -1
- package/build/angular/index.d.ts +0 -1
- package/build/angular/index.js +5 -7
- package/build/angular/index.js.map +1 -1
- package/build/angular/primitives/shared.js +5 -1
- package/build/angular/primitives/shared.js.map +1 -1
- package/build/angular/renderer/index.d.ts +11 -0
- package/build/angular/renderer/index.js +97 -12
- package/build/angular/renderer/index.js.map +1 -1
- package/build/angular/runtime-matching.d.ts +0 -1
- package/build/angular/runtime-matching.js +6 -29
- package/build/angular/runtime-matching.js.map +1 -1
- package/package.json +6 -6
- package/src/callback-host.ts +10 -43
- package/src/change-detection-flush.ts +67 -14
- package/src/components/flat-list/index.ts +22 -54
- package/src/components/modal/index.ts +22 -16
- package/src/components/section-list/index.ts +4 -0
- package/src/components/virtualized-list/directives.ts +10 -8
- package/src/components/virtualized-list/index.ts +38 -13
- package/src/components/virtualized-section-list/index.ts +6 -0
- package/src/descriptor-to-angular/index.ts +6 -3
- package/src/element-props.ts +22 -13
- package/src/elements.ts +21 -56
- package/src/index.ts +5 -7
- package/src/primitives/shared.ts +5 -1
- package/src/renderer/index.ts +107 -11
- package/src/runtime-matching.ts +6 -30
- package/build/angular/style-host.d.ts +0 -11
- package/build/angular/style-host.js +0 -86
- package/build/angular/style-host.js.map +0 -1
- package/src/style-host.ts +0 -94
|
@@ -32,7 +32,18 @@ function isRecord(value) {
|
|
|
32
32
|
// same fold as the function prop `onValueChange`. See `listen()`. The two names live in a leaf
|
|
33
33
|
// module so `elements.ts`'s ControlValueAccessor can name them without importing this cyclic file.
|
|
34
34
|
import { VALUE_CHANGE_EVENT, VALUE_CHANGE_PROP } from './value-change';
|
|
35
|
-
import { createCallbackWrapper, flushViewFor, isWrappableCallback, } from '../change-detection-flush';
|
|
35
|
+
import { createCallbackWrapper, flushViewFor, isWrappableCallback, markReadBackNode, } from '../change-detection-flush';
|
|
36
|
+
// The tags whose behavior reads the app's answer back inside the event's own turn - the three
|
|
37
|
+
// behaviors `../change-detection-flush` names, plus the multiline spelling of the input. Marked at
|
|
38
|
+
// creation so a flush finds their view lazily instead of a directive instance per element.
|
|
39
|
+
const READ_BACK_TAGS = new Set([
|
|
40
|
+
'text-input',
|
|
41
|
+
'text-input-multiline',
|
|
42
|
+
'switch',
|
|
43
|
+
'refresh-control',
|
|
44
|
+
]);
|
|
45
|
+
// The property binding an RN StyleProp travels as; see `SymbioteElement.style`.
|
|
46
|
+
const STYLE_PROP_BINDING = 'styleProp';
|
|
36
47
|
// The app callbacks an engine behavior READS BACK inside the same microtask turn, as an Angular
|
|
37
48
|
// `(event)` binding — `valueChange` is handled in `listen` on its own, since it also needs the field
|
|
38
49
|
// unwrapped. Zoneless change detection is a macrotask, so without a flush the behavior reads the
|
|
@@ -164,6 +175,8 @@ export class SymbioteRenderer {
|
|
|
164
175
|
// render.ts (unmount), so per-node cleanup is a no-op.
|
|
165
176
|
this.destroyNode = null;
|
|
166
177
|
this.pendingStyle = {};
|
|
178
|
+
this.matchCandidateSize = 0;
|
|
179
|
+
this.matchedKeys = [];
|
|
167
180
|
/**
|
|
168
181
|
* Style objects this renderer has already published, so a list of identical rows sends ONE.
|
|
169
182
|
*
|
|
@@ -183,6 +196,11 @@ export class SymbioteRenderer {
|
|
|
183
196
|
* this simply stops sharing — it never stops being correct.
|
|
184
197
|
*/
|
|
185
198
|
this.publishedStyles = [];
|
|
199
|
+
// Key count of each entry above, index for index: how a key-by-key match knows it is complete.
|
|
200
|
+
this.publishedSizes = [];
|
|
201
|
+
// The FIRST key picks the candidate: a row alternates styles (row, cell, cell, input), so the
|
|
202
|
+
// front entry is usually the neighbour's.
|
|
203
|
+
this.isChoosingCandidate = false;
|
|
186
204
|
// Ivy compiles every class= / [class.foo] / [ngClass] form down to per-token addClass/
|
|
187
205
|
// removeClass calls (never a single setAttribute('class', ...) call), so a per-node token set
|
|
188
206
|
// is accumulated here and re-joined into one string on every change, then handed to
|
|
@@ -239,10 +257,19 @@ export class SymbioteRenderer {
|
|
|
239
257
|
flushStyling() {
|
|
240
258
|
const styled = this.pendingStyleNode;
|
|
241
259
|
if (styled !== undefined) {
|
|
242
|
-
const style = this.pendingStyle;
|
|
243
260
|
this.pendingStyleNode = undefined;
|
|
244
|
-
|
|
245
|
-
|
|
261
|
+
const candidate = this.matchCandidate;
|
|
262
|
+
if (candidate !== undefined &&
|
|
263
|
+
this.matchedKeys.length === this.matchCandidateSize) {
|
|
264
|
+
this.matchCandidate = undefined;
|
|
265
|
+
routeProp(styled, 'style', candidate);
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
this.materializeMatch();
|
|
269
|
+
const style = this.pendingStyle;
|
|
270
|
+
this.pendingStyle = {};
|
|
271
|
+
routeProp(styled, 'style', this.canonicalStyle(style));
|
|
272
|
+
}
|
|
246
273
|
}
|
|
247
274
|
const classed = this.pendingClassNode;
|
|
248
275
|
if (classed !== undefined) {
|
|
@@ -285,26 +312,78 @@ export class SymbioteRenderer {
|
|
|
285
312
|
if (at > 0) {
|
|
286
313
|
this.publishedStyles.splice(at, 1);
|
|
287
314
|
this.publishedStyles.unshift(known);
|
|
315
|
+
this.publishedSizes.unshift(this.publishedSizes.splice(at, 1)[0]);
|
|
288
316
|
}
|
|
289
317
|
return known;
|
|
290
318
|
}
|
|
291
319
|
this.publishedStyles.unshift(style);
|
|
292
|
-
|
|
320
|
+
this.publishedSizes.unshift(Object.keys(style).length);
|
|
321
|
+
if (this.publishedStyles.length > STYLE_CACHE) {
|
|
293
322
|
this.publishedStyles.pop();
|
|
323
|
+
this.publishedSizes.pop();
|
|
324
|
+
}
|
|
294
325
|
return style;
|
|
295
326
|
}
|
|
296
|
-
/**
|
|
297
|
-
|
|
327
|
+
/** Open this node's style run (closing any other); a no-op when it is already the open one. */
|
|
328
|
+
openRun(el) {
|
|
298
329
|
if (this.pendingStyleNode === el)
|
|
299
|
-
return
|
|
330
|
+
return;
|
|
300
331
|
this.flushStyling();
|
|
332
|
+
this.pendingStyleNode = el;
|
|
301
333
|
// Seeded from what is STANDING, because Angular sends only the keys that changed — an update
|
|
302
334
|
// that moves one key must not drop the rest.
|
|
303
335
|
const current = getExplicitStyle(el);
|
|
304
|
-
|
|
305
|
-
|
|
336
|
+
if (isRecord(current)) {
|
|
337
|
+
this.pendingStyle = { ...current };
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
this.isChoosingCandidate = true;
|
|
341
|
+
this.matchedKeys.length = 0;
|
|
342
|
+
}
|
|
343
|
+
chooseCandidate(key, value) {
|
|
344
|
+
this.isChoosingCandidate = false;
|
|
345
|
+
if (value === undefined)
|
|
346
|
+
return;
|
|
347
|
+
for (let at = 0; at < this.publishedStyles.length; at += 1) {
|
|
348
|
+
const known = this.publishedStyles[at];
|
|
349
|
+
if (!Object.is(known[key], value))
|
|
350
|
+
continue;
|
|
351
|
+
this.matchCandidate = known;
|
|
352
|
+
this.matchCandidateSize = this.publishedSizes[at] ?? 0;
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
/** Stop matching: write the keys matched so far into the accumulator the run goes on with. */
|
|
357
|
+
materializeMatch() {
|
|
358
|
+
this.isChoosingCandidate = false;
|
|
359
|
+
const candidate = this.matchCandidate;
|
|
360
|
+
if (candidate === undefined)
|
|
361
|
+
return;
|
|
362
|
+
this.matchCandidate = undefined;
|
|
363
|
+
for (const key of this.matchedKeys)
|
|
364
|
+
this.pendingStyle[key] = candidate[key];
|
|
365
|
+
}
|
|
366
|
+
/** The accumulator for this node's style run, opening one (and closing any other) if needed. */
|
|
367
|
+
openStyleRun(el) {
|
|
368
|
+
this.openRun(el);
|
|
369
|
+
this.materializeMatch();
|
|
306
370
|
return this.pendingStyle;
|
|
307
371
|
}
|
|
372
|
+
writeStyle(el, key, value) {
|
|
373
|
+
this.openRun(el);
|
|
374
|
+
if (this.isChoosingCandidate)
|
|
375
|
+
this.chooseCandidate(key, value);
|
|
376
|
+
const candidate = this.matchCandidate;
|
|
377
|
+
if (candidate !== undefined &&
|
|
378
|
+
value !== undefined &&
|
|
379
|
+
Object.is(candidate[key], value) &&
|
|
380
|
+
!this.matchedKeys.includes(key)) {
|
|
381
|
+
this.matchedKeys.push(key);
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
this.materializeMatch();
|
|
385
|
+
this.pendingStyle[key] = value;
|
|
386
|
+
}
|
|
308
387
|
createElement(name) {
|
|
309
388
|
// `name` is the component's host tag — a symbiote intrinsic (`view`,
|
|
310
389
|
// `text`, …), a public ergonomic alias (`View`, `Text`), or a raw Fabric view
|
|
@@ -344,6 +423,8 @@ export class SymbioteRenderer {
|
|
|
344
423
|
if (isDebug()) {
|
|
345
424
|
dlog(`angular createElement ${name} -> ${descriptor.component}`);
|
|
346
425
|
}
|
|
426
|
+
if (READ_BACK_TAGS.has(engineName))
|
|
427
|
+
markReadBackNode(node);
|
|
347
428
|
return toPublicInstance(node);
|
|
348
429
|
}
|
|
349
430
|
createComment() {
|
|
@@ -526,7 +607,7 @@ export class SymbioteRenderer {
|
|
|
526
607
|
return;
|
|
527
608
|
countAngular('rendererWrites');
|
|
528
609
|
noteAngularStyleWrite(style);
|
|
529
|
-
this.
|
|
610
|
+
this.writeStyle(el, style, value);
|
|
530
611
|
this.surface.requestCommit();
|
|
531
612
|
}
|
|
532
613
|
removeStyle(el, style) {
|
|
@@ -582,7 +663,11 @@ export class SymbioteRenderer {
|
|
|
582
663
|
}
|
|
583
664
|
}
|
|
584
665
|
this.flushStyling();
|
|
585
|
-
|
|
666
|
+
// `[styleProp]` IS `style`, carried as a plain property so an RN array or press-state callback
|
|
667
|
+
// reaches the engine whole instead of Angular's styling engine. Binding it beside `[style]` on one
|
|
668
|
+
// element makes the later write win - they are one prop.
|
|
669
|
+
const propName = name === STYLE_PROP_BINDING ? 'style' : name;
|
|
670
|
+
routeProp(el, propName, this.wrapCallback(el, propName, value));
|
|
586
671
|
this.surface.requestCommit();
|
|
587
672
|
}
|
|
588
673
|
// AN `on*` PROP IS CALLED BY THE ENGINE, so Angular is told nothing and a plain field mutation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,15 +27,13 @@
|
|
|
27
27
|
// something marks the view. That moved to `SymbioteRenderer.setProperty`, which
|
|
28
28
|
// every path reaches whether a directive claimed the binding or not.
|
|
29
29
|
// the style shadow `[style]` and `[class]` are no longer claimed by an input, so `ɵɵstyleMap` and
|
|
30
|
-
// `ɵɵclassMap` resolve them per KEY
|
|
31
|
-
//
|
|
32
|
-
//
|
|
30
|
+
// `ɵɵclassMap` resolve them per KEY, as on a DOM element. An RN array or
|
|
31
|
+
// press-state callback travels as `[styleProp]` instead (`SymbioteElement.style`).
|
|
32
|
+
// the view flush the read-back tags' synchronous re-check finds the node's view lazily
|
|
33
|
+
// (`change-detection-flush.ts`) instead of injecting a `ChangeDetectorRef`.
|
|
33
34
|
//
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
// the engine's value event and register a view flush) and `refresh-control`. `SymbioteCallbackHost`
|
|
37
|
-
// and the two form accessors match on ATTRIBUTES rather than on a tag, so they land only where they
|
|
38
|
-
// are needed and are never withheld.
|
|
35
|
+
// Every tag directive is withheld. `SymbioteCallbackHost` and the two form accessors match on
|
|
36
|
+
// ATTRIBUTES rather than on a tag, so they land only where they are needed and are never withheld.
|
|
39
37
|
/**
|
|
40
38
|
* Take these directives out of Angular's runtime matcher, leaving ngtsc's view of them untouched.
|
|
41
39
|
*
|
|
@@ -53,30 +51,9 @@ export function withholdFromRuntimeMatching(types) {
|
|
|
53
51
|
const selectors = Reflect.get(definition, 'selectors');
|
|
54
52
|
if (!Array.isArray(selectors))
|
|
55
53
|
continue;
|
|
56
|
-
// Ivy holds a `CssSelectorList` — one array per alternative, whose first entry is the tag name
|
|
57
|
-
// when the alternative names one. Recorded before the emptying, because afterwards there is
|
|
58
|
-
// nothing to read and the guard below would have no subject.
|
|
59
|
-
for (const alternative of selectors)
|
|
60
|
-
if (Array.isArray(alternative)) {
|
|
61
|
-
const tag = alternative[0];
|
|
62
|
-
if (typeof tag === 'string' && tag.length > 0)
|
|
63
|
-
withheldTags.add(tag);
|
|
64
|
-
}
|
|
65
54
|
// Emptied in place rather than replaced: the def holds this array, and reading `ɵdir` under JIT
|
|
66
55
|
// is what compiles the directive, so the object in hand is the one the matcher will walk.
|
|
67
56
|
selectors.length = 0;
|
|
68
57
|
}
|
|
69
58
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Every TAG that lost its directive, for the guard that keeps `SymbioteStyleHost` covering them.
|
|
72
|
-
*
|
|
73
|
-
* A withheld tag whose style is claimed by nothing sends an RN style ARRAY into Angular's styling
|
|
74
|
-
* engine, which throws inside change detection — a device failure with no compile-time tell. So the
|
|
75
|
-
* set is recorded here at the moment it is emptied rather than maintained as a second list, and
|
|
76
|
-
* `style-host-covers-withheld-tags.test.ts` reads it.
|
|
77
|
-
*/
|
|
78
|
-
const withheldTags = new Set();
|
|
79
|
-
export function tagsWithheldFromRuntimeMatching() {
|
|
80
|
-
return withheldTags;
|
|
81
|
-
}
|
|
82
59
|
//# sourceMappingURL=runtime-matching.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-matching.js","sourceRoot":"","sources":["../../src/runtime-matching.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,2FAA2F;AAC3F,kGAAkG;AAClG,oGAAoG;AACpG,uFAAuF;AACvF,sGAAsG;AACtG,2DAA2D;AAC3D,EAAE;AACF,oFAAoF;AACpF,qGAAqG;AACrG,gGAAgG;AAChG,EAAE;AACF,uGAAuG;AACvG,sGAAsG;AACtG,+FAA+F;AAC/F,sGAAsG;AACtG,sGAAsG;AACtG,8DAA8D;AAC9D,EAAE;AACF,+FAA+F;AAC/F,EAAE;AACF,gGAAgG;AAChG,oGAAoG;AACpG,6FAA6F;AAC7F,8FAA8F;AAC9F,oGAAoG;AACpG,yFAAyF;AACzF,qGAAqG;AACrG,
|
|
1
|
+
{"version":3,"file":"runtime-matching.js","sourceRoot":"","sources":["../../src/runtime-matching.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,2FAA2F;AAC3F,kGAAkG;AAClG,oGAAoG;AACpG,uFAAuF;AACvF,sGAAsG;AACtG,2DAA2D;AAC3D,EAAE;AACF,oFAAoF;AACpF,qGAAqG;AACrG,gGAAgG;AAChG,EAAE;AACF,uGAAuG;AACvG,sGAAsG;AACtG,+FAA+F;AAC/F,sGAAsG;AACtG,sGAAsG;AACtG,8DAA8D;AAC9D,EAAE;AACF,+FAA+F;AAC/F,EAAE;AACF,gGAAgG;AAChG,oGAAoG;AACpG,6FAA6F;AAC7F,8FAA8F;AAC9F,oGAAoG;AACpG,yFAAyF;AACzF,qGAAqG;AACrG,6FAA6F;AAC7F,uGAAuG;AACvG,4FAA4F;AAC5F,gGAAgG;AAChG,EAAE;AACF,8FAA8F;AAC9F,mGAAmG;AAEnG;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAyB;IACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,UAAU;YAAE,SAAS;QACzC,MAAM,UAAU,GAAY,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS;QACpE,MAAM,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS;QACxC,gGAAgG;QAChG,0FAA0F;QAC1F,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbiote-native/angular",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "SymbioteNative's Angular adapter — a Renderer2/RendererFactory2 with DOM-less bootstrap driving real native iOS/Android views through the same engine as the other adapters.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -66,14 +66,14 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@angular/compiler-cli": "~22.0.8",
|
|
68
68
|
"@react-native/typescript-config": "0.86.0",
|
|
69
|
-
"@symbiote-native/
|
|
70
|
-
"@symbiote-native/
|
|
69
|
+
"@symbiote-native/components": "3.1.0",
|
|
70
|
+
"@symbiote-native/css-parser": "0.5.0"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
73
|
"@angular/core": ">=20",
|
|
74
74
|
"@angular/forms": ">=20",
|
|
75
75
|
"react-native": ">=0.86",
|
|
76
|
-
"@symbiote-native/engine": "^1.
|
|
76
|
+
"@symbiote-native/engine": "^1.2.0"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@angular/compiler": "~22.0.8",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
"@types/babel__core": "^7.20.5",
|
|
84
84
|
"@types/node": "^26.0.0",
|
|
85
85
|
"typescript": "~6.0.0",
|
|
86
|
-
"@symbiote-native/
|
|
87
|
-
"@symbiote-native/
|
|
86
|
+
"@symbiote-native/test-utils": "0.4.1",
|
|
87
|
+
"@symbiote-native/engine": "1.2.0"
|
|
88
88
|
},
|
|
89
89
|
"scripts": {
|
|
90
90
|
"clean": "rm -rf build",
|
package/src/callback-host.ts
CHANGED
|
@@ -1,29 +1,14 @@
|
|
|
1
|
-
// The directive that
|
|
1
|
+
// The directive that CLAIMS an `on*` prop binding on a tag, and nothing more.
|
|
2
2
|
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
3
|
+
// Unclaimed, `[onPress]="fn"` on an element is NG0306 in dev mode (`setDomProperty` refuses `on*`
|
|
4
|
+
// DOM properties, `render3/instructions/shared.ts:296-298`), so something has to own the name. The
|
|
5
|
+
// renderer wraps the value on its way through and marks the view with `markForCheck` when the engine
|
|
6
|
+
// calls it. That view is found from the node when the callback FIRES (`change-detection-flush.ts`),
|
|
7
|
+
// so this directive injects no `ChangeDetectorRef`.
|
|
7
8
|
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
// (`core/engine/cpp/tests/js/angular-directive-cost.itest.ts
|
|
11
|
-
//
|
|
12
|
-
// MATCHING IS THE CHEAPER QUESTION THAN INJECTING, and that had to be measured rather than assumed,
|
|
13
|
-
// because the selector below is dozens of alternatives and Angular tries a component's whole
|
|
14
|
-
// directive list against every element it creates. The ladder's `cb-probe` arm carries this exact
|
|
15
|
-
// string WITHOUT matching anything — the state of every element on the benchmark row — so the two
|
|
16
|
-
// halves are priced against each other in one process, rotated, with a resolution bar:
|
|
17
|
-
//
|
|
18
|
-
// carrying the selector 4.3 5.9 -2.0 5.7 -1.5 ms inside the bar in four of five
|
|
19
|
-
// the ChangeDetectorRef 9.7 23.5 13.6 31.3 23.8 ms
|
|
20
|
-
// the CALLBACK HOST -3.9 -9.3 -25.5 -25.6 -25.3 ms all five negative, three outside
|
|
21
|
-
//
|
|
22
|
-
// WHAT IS NOT VERIFIED, said plainly: the ladder's arm carries ONE element directive beside this one,
|
|
23
|
-
// where a real screen carries two dozen, and the `ng-elements` bench arm could not confirm the change
|
|
24
|
-
// at app scale — the machine it was measured on swung its untouched CONTROL from 229 to 566 ms, so
|
|
25
|
-
// nothing quoted off it would have carried a verdict either way. The controlled A/B is the evidence
|
|
26
|
-
// here; the bench-arm confirmation is owed.
|
|
9
|
+
// Carrying the selector is free: Angular tries it against every element it creates, and the
|
|
10
|
+
// ladder's `cb-probe` arm priced that inside the resolution bar in four runs of five
|
|
11
|
+
// (`core/engine/cpp/tests/js/angular-directive-cost.itest.ts`).
|
|
27
12
|
//
|
|
28
13
|
// IT HOLDS NO INPUTS, which is what keeps the change off the public surface. The `on*` props stay
|
|
29
14
|
// declared on `SymbioteElement` and its subclasses, so every type and every forward is unchanged;
|
|
@@ -35,19 +20,13 @@
|
|
|
35
20
|
// here would close a cycle, since that file is what puts this directive in `SYMBIOTE_ELEMENTS`.
|
|
36
21
|
|
|
37
22
|
import {
|
|
38
|
-
ChangeDetectorRef,
|
|
39
23
|
Directive,
|
|
40
24
|
ElementRef,
|
|
41
25
|
Renderer2,
|
|
42
26
|
type OnChanges,
|
|
43
|
-
type OnDestroy,
|
|
44
27
|
type SimpleChanges,
|
|
45
28
|
inject,
|
|
46
29
|
} from '@angular/core';
|
|
47
|
-
import {
|
|
48
|
-
registerViewMarker,
|
|
49
|
-
unregisterViewMarker,
|
|
50
|
-
} from './change-detection-flush';
|
|
51
30
|
|
|
52
31
|
/**
|
|
53
32
|
* Every `on*` input any element directive declares, except the one that fires per FRAME.
|
|
@@ -200,16 +179,9 @@ export const CALLBACK_INPUT_NAMES: readonly string[] = CALLBACK_INPUTS;
|
|
|
200
179
|
],
|
|
201
180
|
standalone: true,
|
|
202
181
|
})
|
|
203
|
-
export class SymbioteCallbackHost implements OnChanges
|
|
182
|
+
export class SymbioteCallbackHost implements OnChanges {
|
|
204
183
|
private readonly renderer = inject(Renderer2);
|
|
205
184
|
private readonly host = inject(ElementRef);
|
|
206
|
-
private readonly detector = inject(ChangeDetectorRef);
|
|
207
|
-
|
|
208
|
-
constructor() {
|
|
209
|
-
const node: unknown = this.host.nativeElement;
|
|
210
|
-
if (typeof node === 'object' && node !== null)
|
|
211
|
-
registerViewMarker(node, this.detector);
|
|
212
|
-
}
|
|
213
185
|
|
|
214
186
|
ngOnChanges(changes: SimpleChanges): void {
|
|
215
187
|
// The renderer wraps the value on its way through, so this forwards it raw — same shape as the
|
|
@@ -221,9 +193,4 @@ export class SymbioteCallbackHost implements OnChanges, OnDestroy {
|
|
|
221
193
|
changes[name]?.currentValue,
|
|
222
194
|
);
|
|
223
195
|
}
|
|
224
|
-
|
|
225
|
-
ngOnDestroy(): void {
|
|
226
|
-
const node: unknown = this.host.nativeElement;
|
|
227
|
-
if (typeof node === 'object' && node !== null) unregisterViewMarker(node);
|
|
228
|
-
}
|
|
229
196
|
}
|
|
@@ -32,17 +32,62 @@
|
|
|
32
32
|
// notification, so it cannot open that window at all. It is also the narrower answer — the only
|
|
33
33
|
// view that has to be re-checked is the one holding the binding.
|
|
34
34
|
//
|
|
35
|
-
//
|
|
36
|
-
// `
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
//
|
|
35
|
+
// THE VIEW IS FOUND FROM THE NODE, at the moment an event needs it, not injected per element. Ivy
|
|
36
|
+
// patches `__ngContext__` onto every view's root elements and every directive host, so the nearest
|
|
37
|
+
// patched ancestor names the LView that declares the element - the one holding its `[value]`. A
|
|
38
|
+
// `ViewRef` over that LView is what `inject(ChangeDetectorRef)` would have handed out, built only
|
|
39
|
+
// for the element that fired, which is what let the read-back tags drop their directive instance
|
|
40
|
+
// (`element-directive-free.test.ts`). Projected content resolves to the view it is PROJECTED into,
|
|
41
|
+
// Angular's own discovery limit; the listener's `markForCheck` still reaches the declaring view.
|
|
40
42
|
//
|
|
41
43
|
// When a fourth behavior starts reading an app value back, it needs a name in the renderer's
|
|
42
44
|
// `READ_BACK_*` sets — the census is `queueMicrotask` / `afterCommit` in
|
|
43
45
|
// `core/components/src/behaviors`.
|
|
46
|
+
import {
|
|
47
|
+
ɵViewRef as ViewRef,
|
|
48
|
+
ɵgetLContext as getLContext,
|
|
49
|
+
} from '@angular/core';
|
|
50
|
+
import {
|
|
51
|
+
isSymbioteNode,
|
|
52
|
+
parentOf,
|
|
53
|
+
reportUncaughtError,
|
|
54
|
+
} from '@symbiote-native/engine';
|
|
55
|
+
|
|
44
56
|
const viewFlushes = new WeakMap<object, () => void>();
|
|
45
57
|
|
|
58
|
+
// Nodes whose view is found lazily when they flush. Anything else keeps the no-op an unregistered
|
|
59
|
+
// node always had - `flushViewFor` also runs after every wrapped `on*` prop, and a press must not
|
|
60
|
+
// start paying a synchronous re-check it never needed.
|
|
61
|
+
const readBackNodes = new WeakSet<object>();
|
|
62
|
+
|
|
63
|
+
export function markReadBackNode(node: object): void {
|
|
64
|
+
readBackNodes.add(node);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Ivy's monkey-patch key (`render3/interfaces/context.ts`, `MONKEY_PATCH_KEY_NAME`).
|
|
68
|
+
const NG_CONTEXT = '__ngContext__';
|
|
69
|
+
|
|
70
|
+
/** The LView-backed ref for the view that declares `node`, or undefined outside any view. */
|
|
71
|
+
function viewRefOf(node: object): ViewRef<unknown> | undefined {
|
|
72
|
+
let patched: object | undefined = node;
|
|
73
|
+
while (patched !== undefined && !(NG_CONTEXT in patched))
|
|
74
|
+
patched = isSymbioteNode(patched) ? parentOf(patched) : undefined;
|
|
75
|
+
if (patched === undefined) return undefined;
|
|
76
|
+
const lView = getLContext(patched)?.lView;
|
|
77
|
+
return lView === undefined || lView === null ? undefined : new ViewRef(lView);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// REPORTED, NOT RETHROWN: this is the one change detection outside `ApplicationRef.tick()`'s error
|
|
81
|
+
// boundary, called from inside a native event dispatch where a throw becomes `RCTFatal`. Same
|
|
82
|
+
// channel `SymbioteErrorHandler` reports through.
|
|
83
|
+
function detectChangesReported(view: ViewRef<unknown>): void {
|
|
84
|
+
try {
|
|
85
|
+
view.detectChanges();
|
|
86
|
+
} catch (error: unknown) {
|
|
87
|
+
reportUncaughtError(error, { origin: 'angular flush' });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
46
91
|
const ON_PREFIX = /^on[A-Z]/;
|
|
47
92
|
|
|
48
93
|
// The one `onX` that fires per FRAME rather than per gesture — with sticky headers RN pins
|
|
@@ -135,14 +180,12 @@ export function createCallbackWrapper(node: unknown): ICallbackWrapper {
|
|
|
135
180
|
* element on JavaScriptCore (`core/engine/cpp/tests/js/angular-directive-cost.itest.ts`), so a
|
|
136
181
|
* thousand-row screen paid for ten thousand `ViewRef`s to serve none.
|
|
137
182
|
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
183
|
+
* Only a composed component's host directive registers here (`primitives/shared.ts`); a TAG's
|
|
184
|
+
* view is found from the node when its callback fires (`markViewFor`), so no element pays an
|
|
185
|
+
* injection for a callback it may never carry.
|
|
141
186
|
*
|
|
142
|
-
* Separate from `viewFlushes` deliberately
|
|
143
|
-
*
|
|
144
|
-
* ancestor, that one re-checks ONE view synchronously. Collapsing them into a single entry would make
|
|
145
|
-
* whichever directive registered last decide which of the two an element gets.
|
|
187
|
+
* Separate from `viewFlushes` deliberately: this one SCHEDULES and reaches every ancestor, that one
|
|
188
|
+
* re-checks ONE view synchronously.
|
|
146
189
|
*/
|
|
147
190
|
const viewMarkers = new WeakMap<object, IViewMarker>();
|
|
148
191
|
|
|
@@ -156,7 +199,10 @@ export function unregisterViewMarker(node: object): void {
|
|
|
156
199
|
|
|
157
200
|
export function markViewFor(node: unknown): void {
|
|
158
201
|
if (typeof node !== 'object' || node === null) return;
|
|
159
|
-
|
|
202
|
+
// A composed component's host directive registers its own ref; a TAG registers nothing and has its
|
|
203
|
+
// view found here, only when a callback actually fires (see the header).
|
|
204
|
+
const marker = viewMarkers.get(node) ?? viewRefOf(node);
|
|
205
|
+
marker?.markForCheck();
|
|
160
206
|
}
|
|
161
207
|
|
|
162
208
|
export function registerViewFlush(node: object, flush: () => void): void {
|
|
@@ -169,5 +215,12 @@ export function unregisterViewFlush(node: object): void {
|
|
|
169
215
|
|
|
170
216
|
export function flushViewFor(node: unknown): void {
|
|
171
217
|
if (typeof node !== 'object' || node === null) return;
|
|
172
|
-
viewFlushes.get(node)
|
|
218
|
+
const registered = viewFlushes.get(node);
|
|
219
|
+
if (registered !== undefined) {
|
|
220
|
+
registered();
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
if (!readBackNodes.has(node)) return;
|
|
224
|
+
const view = viewRefOf(node);
|
|
225
|
+
if (view !== undefined) detectChangesReported(view);
|
|
173
226
|
}
|