angular/packages/core/src
Andrew Kushnir ced237693a refactor(core): adding hydration for content projection (#49454)
This commit adds serialization and hydration logic for content projection.

While hydration for regular elements relies on their location in the TNode tree, the content projection may move elements around, so in order to hydrate them correcty, the runtime needs some extra information. This commit adds a serialization logic that adds element locations (instructions on how to navigate to a particular element from another known location of other element) into the hydration state for the following cases:

- when a TNode is a first element in projection segment (other nodes are linked from that node)
- when a TNode's next sibling is different before and after projection (we serialize extra info about the template-based sibling)
- when a TNode's previous sibling was a content projection (i.e. `<ng-content>` slot), because we can not rely on the previous element in this case (projection happens at a later point)

PR Close #49454
2023-03-21 17:42:53 +01:00
..
change_detection refactor(core): Remove ChangeDetectorStatus & isDefaultChangeDetectionStrategy (#49299) 2023-03-06 16:57:02 +00:00
compiler feat(compiler): add support for compile-time required inputs (#49468) 2023-03-20 13:10:30 +01:00
debug refactor(core): remove unused r2 debug code (#49292) 2023-03-02 21:47:25 +00:00
di feat(core): allow removal of previously registered DestroyRef callbacks (#49493) 2023-03-21 16:58:22 +01:00
hydration refactor(core): adding hydration for content projection (#49454) 2023-03-21 17:42:53 +01:00
i18n refactor(core): make i18n error messages tree shakable (#46468) 2022-06-23 16:36:35 -07:00
interface build(bazel): add bazel targets for aio doc generation 2022-11-22 13:51:16 -07:00
linker feat(core): allow removal of previously registered DestroyRef callbacks (#49493) 2023-03-21 16:58:22 +01:00
metadata feat(compiler): add support for compile-time required inputs (#49468) 2023-03-20 13:10:30 +01:00
reflection build(bazel): add bazel targets for aio doc generation 2022-11-22 13:51:16 -07:00
render perf(core): change RendererType2.styles to accept a only a flat array (#49072) 2023-02-17 11:11:48 -08:00
render3 refactor(core): adding hydration for content projection (#49454) 2023-03-21 17:42:53 +01:00
sanitization refactor(core): remove IE11 only sanitization code (#48438) 2023-02-03 09:45:03 -08:00
signals refactor(core): adjust signature of the EffectRef (#49490) 2023-03-21 15:51:42 +01:00
testability perf(platform-browser): avoid including Testability by default in bootstrapApplication (#45885) 2022-05-10 13:34:28 -07:00
util refactor(core): add hydration logic for view containers (#49382) 2023-03-14 14:22:09 -07:00
view refactor: remove unnecessary file (#49042) 2023-02-17 11:08:33 -08:00
zone refactor(core): move Zone providers to a single provider function (#49373) 2023-03-14 09:20:53 -07:00
application_config.ts feat(core): add mergeApplicationConfig method (#49253) 2023-03-01 11:20:31 -08:00
application_init.ts refactor(core): Remove isObservable() in favor isSubscribable(). (#49295) 2023-03-08 17:58:19 +00:00
application_module.ts perf(core): make LOCALE_ID and other tokens from ApplicationModule tree-shakable (#45102) 2022-02-18 13:40:02 -08:00
application_ref.ts refactor(core): move Zone providers to a single provider function (#49373) 2023-03-14 09:20:53 -07:00
application_tokens.ts feat(core): add API to provide CSP nonce for inline stylesheets (#49444) 2023-03-17 14:08:21 +01:00
change_detection.ts perf(core): remove support for the deprecated WrappedValue (#43507) 2021-10-01 12:25:19 -04:00
console.ts refactor(core): make platform core providers tree-shakable (#45506) 2022-04-12 22:28:23 +00:00
core.externs.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
core.ts feat(core): add API to provide CSP nonce for inline stylesheets (#49444) 2023-03-17 14:08:21 +01:00
core_private_export.ts refactor(core): expose private setAlternateWeakRefImpl (#49466) 2023-03-20 12:32:20 -07:00
core_reactivity_export.ts feat(core): add Angular Signals to the public API (#49150) 2023-02-22 11:27:21 -08:00
core_reactivity_export_internal.ts refactor(core): adjust signature of the EffectRef (#49490) 2023-03-21 15:51:42 +01:00
core_render3_private_export.ts feat(platform-server): renderApplication now accepts a bootstrapping method (#49248) 2023-03-01 22:31:33 +00:00
di.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
error_details_base_url.ts docs: extract XSS security doc URL into a constant (#48082) 2022-11-17 13:21:16 -08:00
error_handler.ts refactor(core): remove unused error handler logic (#46216) 2022-06-02 13:40:16 -07:00
errors.ts refactor(core): move Zone providers to a single provider function (#49373) 2023-03-14 09:20:53 -07:00
event_emitter.ts refactor(core): ensure compatibility with noImplicitOverride (#42512) 2021-07-12 13:11:15 -07:00
linker.ts feat(core): introduce concept of DestroyRef (#49158) 2023-02-28 11:52:09 -08:00
metadata.ts refactor(core): move ModuleWithProviders type (#45722) 2022-04-27 09:05:51 -07:00
platform_core_providers.ts refactor(core): make platform core providers tree-shakable (#45506) 2022-04-12 22:28:23 +00:00
r3_symbols.ts refactor(core): rename ɵɵInjectableDef interface to ɵɵInjectableDeclaration (#41316) 2021-04-07 13:57:12 -07:00
render.ts refactor(core): clean up circular dependencies (#39722) 2020-11-18 09:15:29 -08:00
transfer_state.ts refactor(core): use lower-level API to annotate TransferState class (#49272) 2023-03-01 11:19:10 -08:00
version.ts Revert "refactor(core): optimize calls to split and slice while computing version parts (#41208)" 2021-05-12 14:13:50 -04:00
zone.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00